Hi! On Mon, Mar 27, 2023 at 04:09:39PM +0800, Kewen.Lin wrote: > As PR109069 shows, commit r12-6537-g080a06fcb076b3 which > introduces define_insn_and_split sldoi_to_mov adopts > easy_vector_constant for const vector of interest, but it's > wrong since predicate easy_vector_constant doesn't guarantee > each byte in the const vector is the same.
> * config/rs6000/altivec.md (sldoi_to_mov<mode>): Replace predicate > easy_vector_constant with const_vector_each_byte_same, add > handlings in preparation for !easy_vector_constant, and update > VECTOR_UNIT_ALTIVEC_OR_VSX_P with VECTOR_MEM_ALTIVEC_OR_VSX_P. > * config/rs6000/predicates.md (const_vector_each_byte_same): New > predicate. Okay for trunk. Let's backport this to 13 once 13.1 has been released, this patch is not very trivial so there is some risk. Thanks! Segher