The PR shows the compiler crashing with -mvsx -mlittle -O0. This turns
out to be caused by a failure to make of the higher bits in an index
endian conversion.
2020-04-24 Segher Boessenkool <segher@kernel.crashing.org>
PR target/94710
* config/rs6000/vector.md (vec_shr_<mode> for VEC_L): Correct little
endian byteshift_val calculation.
+2020-04-24 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/94710
+ * config/rs6000/vector.md (vec_shr_<mode> for VEC_L): Correct little
+ endian byteshift_val calculation.
+
2020-04-24 Andrew Stubbs <ams@codesourcery.com>
* config/gcn/gcn.md (*mov<mode>_insn): Only split post-reload.
emit_move_insn (zero_reg, CONST0_RTX (<MODE>mode));
if (!BYTES_BIG_ENDIAN)
{
- byteshift_val = 16 - byteshift_val;
+ /* Note, byteshift_val can be 0! */
+ byteshift_val = -byteshift_val & 15;
op1 = zero_reg;
op2 = operands[1];
}