Skip to content

Commit 767e190

Browse files
committed
diff squared
1 parent 10a6098 commit 767e190

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

src/VecSim/spaces/L2/L2_AVX2_FMA_SQ8.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,9 @@ static inline void L2StepSQ8_FMA(const float *&pVect1, const uint8_t *&pVect2, _
3131

3232
// Calculate squared difference - simple and efficient approach
3333
__m256 diff = _mm256_sub_ps(v1, v2_dequant);
34-
__m256 diff_squared = _mm256_mul_ps(diff, diff);
35-
36-
// Add to running sum
37-
sum256 = _mm256_add_ps(sum256, diff_squared);
34+
35+
// Use FMA for diff² + sum in one instruction
36+
sum256 = _mm256_fmadd_ps(diff, diff, sum256);
3837
}
3938

4039
template <unsigned char residual> // 0..15

0 commit comments

Comments
 (0)