[openal] [PATCH V2] Add some mixer SSE2/4.1 optimisations
Chris Robinson
chris.kcat at gmail.com
Tue Jun 3 06:09:29 EDT 2014
On 06/03/2014 12:33 AM, Timothy Arceri wrote:
> + pos_arr[0] = _mm_cvtsi128_si32(pos4);
> + pos_arr[1] = _mm_cvtsi128_si32(_mm_shuffle_epi32(pos4, _MM_SHUFFLE(1,1,1,1)));
> + pos_arr[2] = _mm_cvtsi128_si32(_mm_shuffle_epi32(pos4, _MM_SHUFFLE(2,2,2,2)));
> + pos_arr[3] = _mm_cvtsi128_si32(_mm_shuffle_epi32(pos4, _MM_SHUFFLE(3,3,3,3)));
I'm quite surprised SSE2 doesn't seem to have an _mm_store_epi32 method.
Or is it somewhere I'm not seeing? I wonder if it would be worth doing
_mm_store_ps((float*)pos_arr, _mm_castsi128_ps(pos4))
despite the ugly aliasing (assuming it would work, of course).
More information about the openal
mailing list