[Bug target/83402] PPC64 implementation of ./rs6000/emmintrin.h gives out of range for _mm_slli_epi32
munroesj at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Apr 3 18:03:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83402
--- Comment #5 from Steven Munroe <munroesj at gcc dot gnu.org> ---
You need to look at the generated asm code. And see what the compiler is doing.
Basically it should be generating a vspltisw vr,si for vec_splat_s32.
But if the immediate signed int (si) is greater than 15, should failure with:
error: argument 1 must be a 5-bit signed literal
The vec_splats should work for any value as it will load a const vector from
storage.
Perhaps the compiler is generating bad code and not reporting it.
Or the compiler is too smart and converting the vec_splat_s32 to the more
general vec_splats under the covers.
Look at the source Paul!
More information about the Gcc-bugs
mailing list