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