102 std::assume_aligned<GSFConstants::alignment>(distancesIn);
128 for (
int i = 16;
i <
n;
i += 16) {
131 indices1 = indices1 + increment;
133 vselect(minIndices1, indices1, minIndices1, lt1);
134 vmin(minValues1, values1, minValues1);
137 indices2 = indices2 + increment;
139 vselect(minIndices2, indices2, minIndices2, lt2);
140 vmin(minValues2, values2, minValues2);
143 indices3 = indices3 + increment;
145 vselect(minIndices3, indices3, minIndices3, lt3);
146 vmin(minValues3, values3, minValues3);
149 indices4 = indices4 + increment;
151 vselect(minIndices4, indices4, minIndices4, lt4);
152 vmin(minValues4, values4, minValues4);
157 vstore(minValues, minValues1);
158 vstore(minValues + 4, minValues2);
159 vstore(minValues + 8, minValues3);
160 vstore(minValues + 12, minValues4);
161 vstore(minIndices, minIndices1);
162 vstore(minIndices + 4, minIndices2);
163 vstore(minIndices + 8, minIndices3);
164 vstore(minIndices + 12, minIndices4);
167 int32_t minIndex = minIndices[0];
168 for (
size_t i = 1;
i < 16; ++
i) {
169 const float value = minValues[
i];
170 const int32_t
index = minIndices[
i];