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)
{
unsigned j;
__m128 input[4] = {
_mm_loadu_ps(out + 0),
_mm_loadu_ps(out + 4),
_mm_loadu_ps(out + 8),
_mm_loadu_ps(out + 12),
};
__m128 input[4];
__m128 additive[4];
__m128 additive[4] = {
_mm_mul_ps(volume, _mm_loadu_ps(in + 0)),
_mm_mul_ps(volume, _mm_loadu_ps(in + 4)),
_mm_mul_ps(volume, _mm_loadu_ps(in + 8)),
_mm_mul_ps(volume, _mm_loadu_ps(in + 12)),
};
input[0] = _mm_loadu_ps(out + 0);
input[1] = _mm_loadu_ps(out + 4);
input[2] = _mm_loadu_ps(out + 8);
input[3] = _mm_loadu_ps(out + 12);
additive[0] = _mm_mul_ps(volume, _mm_loadu_ps(in + 0));
additive[1] = _mm_mul_ps(volume, _mm_loadu_ps(in + 4));
additive[2] = _mm_mul_ps(volume, _mm_loadu_ps(in + 8));
additive[3] = _mm_mul_ps(volume, _mm_loadu_ps(in + 12));
for (j = 0; j < 4; j++)
_mm_storeu_ps(out + 4 * j, _mm_add_ps(input[j], additive[j]));