Bug#163647: gcc-3.2: xmmintrin.h, _MM_TRANSPOSE4_PS is broken
Stephen Kennedy writes:
> Package: gcc-3.2
> Version: 1:3.2.1-0pre3
> Severity: normal
> Tags: patch
>
>
> the code in _MM_TRANSPOSE4_PS is incorrect.
>
> The bug has been reported upstream as PR/6890.
>
> --- xmmintrin.h.old Fri May 31 18:43:57 2002
> +++ xmmintrin.h Fri May 31 18:31:55 2002
> @@ -1049,8 +1049,8 @@
> do { \
> __v4sf __r0 = (row0), __r1 = (row1), __r2 = (row2), __r3 = (row3); \
> __v4sf __t0 = __builtin_ia32_shufps (__r0, __r1, 0x44); \
> - __v4sf __t1 = __builtin_ia32_shufps (__r0, __r1, 0xEE); \
> - __v4sf __t2 = __builtin_ia32_shufps (__r2, __r3, 0x44); \
> + __v4sf __t2 = __builtin_ia32_shufps (__r0, __r1, 0xEE); \
> + __v4sf __t1 = __builtin_ia32_shufps (__r2, __r3, 0x44); \
> __v4sf __t3 = __builtin_ia32_shufps (__r2, __r3, 0xEE); \
> (row0) = __builtin_ia32_shufps (__t0, __t1, 0x88); \
> (row1) = __builtin_ia32_shufps (__t0, __t1, 0xDD); \
Please could you add a small testcase to the report?
Reply to: