diff options
Diffstat (limited to 'Alc/mixer_sse.c')
-rw-r--r-- | Alc/mixer_sse.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/Alc/mixer_sse.c b/Alc/mixer_sse.c index e189971a..2da2b6b8 100644 --- a/Alc/mixer_sse.c +++ b/Alc/mixer_sse.c @@ -20,16 +20,12 @@ static __inline void ApplyCoeffs(ALuint Offset, ALfloat (*RESTRICT Values)[2], { const ALuint o0 = (Offset++)&HRIR_MASK; const ALuint o1 = (Offset++)&HRIR_MASK; + __m128 coeffs = _mm_load_ps(&Coeffs[c][0]); __m128 vals = { 0.0f, 0.0f, 0.0f, 0.0f }; - __m128 coeffs = { 0.0f, 0.0f, 0.0f, 0.0f }; - vals = _mm_loadl_pi(vals, (__m64*)&Values[o0][0]); vals = _mm_loadh_pi(vals, (__m64*)&Values[o1][0]); - coeffs = _mm_loadl_pi(coeffs, (__m64*)&Coeffs[c ][0]); - coeffs = _mm_loadh_pi(coeffs, (__m64*)&Coeffs[c+1][0]); vals = _mm_add_ps(vals, _mm_mul_ps(coeffs, lrlr)); - _mm_storel_pi((__m64*)&Values[o0][0], vals); _mm_storeh_pi((__m64*)&Values[o1][0], vals); } |