aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/mixer_sse41.c
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/mixer_sse41.c')
-rw-r--r--Alc/mixer_sse41.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/Alc/mixer_sse41.c b/Alc/mixer_sse41.c
index b9ef608a..90438e13 100644
--- a/Alc/mixer_sse41.c
+++ b/Alc/mixer_sse41.c
@@ -114,10 +114,9 @@ const ALfloat *Resample_fir4_32_SSE41(const ALfloat *src, ALuint frac, ALuint in
k1 = _mm_mul_ps(k1, val1);
k2 = _mm_mul_ps(k2, val2);
k3 = _mm_mul_ps(k3, val3);
- _MM_TRANSPOSE4_PS(k0, k1, k2, k3);
- out = _mm_add_ps(k0, k1);
- out = _mm_add_ps(out, k2);
- out = _mm_add_ps(out, k3);
+ k0 = _mm_hadd_ps(k0, k1);
+ k2 = _mm_hadd_ps(k2, k3);
+ out = _mm_hadd_ps(k0, k2);
_mm_store_ps(&dst[i], out);