Make audio_mix.c C89-compatible

This commit is contained in:
twinaphex 2017-01-24 16:59:03 +01:00
parent 6e59a2cce1
commit e3842d4169

View File

@ -44,19 +44,18 @@ void audio_mix_volume_SSE2(float *out, const float *in, float vol, size_t sample
for (i = 0; i + 16 <= samples; i += 16, out += 16, in += 16) for (i = 0; i + 16 <= samples; i += 16, out += 16, in += 16)
{ {
unsigned j; unsigned j;
__m128 input[4] = { __m128 input[4];
_mm_loadu_ps(out + 0), __m128 additive[4];
_mm_loadu_ps(out + 4),
_mm_loadu_ps(out + 8), input[0] = _mm_loadu_ps(out + 0);
_mm_loadu_ps(out + 12), input[1] = _mm_loadu_ps(out + 4);
}; input[2] = _mm_loadu_ps(out + 8);
input[3] = _mm_loadu_ps(out + 12);
__m128 additive[4] = { additive[0] = _mm_mul_ps(volume, _mm_loadu_ps(in + 0));
_mm_mul_ps(volume, _mm_loadu_ps(in + 0)), additive[1] = _mm_mul_ps(volume, _mm_loadu_ps(in + 4));
_mm_mul_ps(volume, _mm_loadu_ps(in + 4)), additive[2] = _mm_mul_ps(volume, _mm_loadu_ps(in + 8));
_mm_mul_ps(volume, _mm_loadu_ps(in + 8)), additive[3] = _mm_mul_ps(volume, _mm_loadu_ps(in + 12));
_mm_mul_ps(volume, _mm_loadu_ps(in + 12)),
};
for (j = 0; j < 4; j++) for (j = 0; j < 4; j++)
_mm_storeu_ps(out + 4 * j, _mm_add_ps(input[j], additive[j])); _mm_storeu_ps(out + 4 * j, _mm_add_ps(input[j], additive[j]));