diff options
author | Chris Robinson <[email protected]> | 2014-05-18 06:35:33 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2014-05-18 06:35:33 -0700 |
commit | bd2721dc7a2bd3376e01ff32c18737a6fa38ff42 (patch) | |
tree | a7818cef82ac7080c2c947021b5df5ef362d9c53 /Alc/mixer_sse.c | |
parent | a5631e05cc0273289cd5e2e86e554c9559cf2016 (diff) |
Use _mm_setr_ps instead of _mm_set_ps
Apparently _mm_set_ps loads in reverse order compared to _mm_load_ps, so
_mm_setr_ps should give what we really want.
Diffstat (limited to 'Alc/mixer_sse.c')
-rw-r--r-- | Alc/mixer_sse.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Alc/mixer_sse.c b/Alc/mixer_sse.c index e8bc6076..250181fe 100644 --- a/Alc/mixer_sse.c +++ b/Alc/mixer_sse.c @@ -25,7 +25,7 @@ static inline void ApplyCoeffsStep(ALuint Offset, ALfloat (*restrict Values)[2], const ALfloat (*restrict CoeffStep)[2], ALfloat left, ALfloat right) { - const __m128 lrlr = _mm_set_ps(left, right, left, right); + const __m128 lrlr = _mm_setr_ps(left, right, left, right); __m128 coeffs, deltas, imp0, imp1; __m128 vals = _mm_setzero_ps(); ALuint i; @@ -86,7 +86,7 @@ static inline void ApplyCoeffs(ALuint Offset, ALfloat (*restrict Values)[2], ALfloat (*restrict Coeffs)[2], ALfloat left, ALfloat right) { - const __m128 lrlr = _mm_set_ps(left, right, left, right); + const __m128 lrlr = _mm_setr_ps(left, right, left, right); __m128 vals = _mm_setzero_ps(); __m128 coeffs; ALuint i; @@ -157,7 +157,7 @@ void MixDirect_SSE(DirectParams *params, const ALfloat *restrict data, ALuint sr /* Mix with applying gain steps in aligned multiples of 4. */ if(BufferSize-pos > 3 && Counter-pos > 3) { - gain = _mm_set_ps( + gain = _mm_setr_ps( DrySend, DrySend * Step, DrySend * Step * Step, @@ -220,7 +220,7 @@ void MixSend_SSE(SendParams *params, const ALfloat *restrict data, { if(BufferSize-pos > 3 && Counter-pos > 3) { - gain = _mm_set_ps( + gain = _mm_setr_ps( WetGain, WetGain * Step, WetGain * Step * Step, |