[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: