On 10/25/2018 05:17 PM, Segher Boessenkool wrote:
> On Thu, Oct 25, 2018 at 02:07:33PM -0500, Paul Clarke wrote:
>> Various clean-ups for 32bit support.
>>
>> Implement various corrections in the compatibility implementations of the
>> x86 vector intrinsics found after enabling 32bit mode for the associated
>> test cases.  (Actual enablement coming in a subsequent patch.)
> 
> So what happened on 32-bit before?  (After you get rid of the #ifdef of
> course).  It isn't clear to me.

Most of the changes are to remove dependency on int128 support, because with 
'-m32', errors were reported:
/opt/at12.0/lib/gcc/powerpc64-linux-gnu/8.2.1/include/xmmintrin.h:992:61: 
error: ‘__int128’ is not supported on this target
   return ((__m64) __builtin_unpack_vector_int128 ((__vector __int128)result, 
0));

Prompted the many changes like:
> -  vm1 = (__vector signed short)__builtin_pack_vector_int128 (__m2, __m1);
> +  vm1 = (__vector signed short) (__vector unsigned long long) { __m2, __m1 };

./xmmintrin.h:1620:21: warning: conversion from ‘long long unsigned int’ to 
‘long unsigned int’ changes value from ‘2269495618449464’ to ‘539504696’ 
[-Woverflow]
   unsigned long p = 0x0008101820283038UL; // permute control for sign bits
                    ^~~~~~~~~~~~~~~~~~~~
prompting:
> -  unsigned long p = 0x0008101820283038UL; // permute control for sign bits
> +  unsigned long long p = 0x0008101820283038UL; // permute control for sign 
> bits

But if you are asking what happened with the GCC testsuite, then since all of 
the tests were marked "lp64", they were just ignored as UNSUPPORTED with -m32.

PC

Reply via email to