https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83402
--- Comment #8 from Paul Clarke <pc at us dot ibm.com> ---
(In reply to Steven Munroe from comment #7)
> Please try the same test with AT11 gcc7. I know I hit this!
voila!
$ /opt/at11.0/bin/gcc -o 83402 83402.c -DNO_WARN_X86_INTRINSICS -Wall
-mcpu=power8 -O3
In file included from
/opt/at11.0/lib/gcc/powerpc64le-linux-gnu/7.3.1/include/emmintrin.h:62:0,
from 83402.c:2:
/opt/at11.0/lib/gcc/powerpc64le-linux-gnu/7.3.1/include/emmintrin.h: In
function ‘main’:
/opt/at11.0/lib/gcc/powerpc64le-linux-gnu/7.3.1/include/emmintrin.h:1513:20:
error: argument 1 must be a 5-bit signed literal
lshift = (__v4su) vec_splat_s32(__B);
^
$ rpm -q advance-toolchain-at11.0-devel
advance-toolchain-at11.0-devel-11.0-3.ppc64le
Now the question is whether to bother fixing this:
1. in GCC 8's rs6000/emmintrin.h, since it's not really "broken" there, and
backport that AT 11 (sounds a little silly)
2. backport the GCC 8 change that fixes this to AT 11 (sounds hard)
3. change only AT 11's emmintrin.h
Any strong opinions? Otherwise, I'm leaning toward option (3).