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!

Reply via email to