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.
This commit is contained in:
Chris Robinson
2014-05-18 06:35:33 -07:00
parent a5631e05cc
commit bd2721dc7a
+4 -4
View File
@@ -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,