https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113690
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|rtl-optimization |target --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (gdb) p debug_rtx(tem) (expr_list:REG_EQUAL (mult:V1TI (reg:V1TI 101 [ _12 ]) (const_int 3 [0x3])) (nil)) That seems wrong ... It was introduced by stv1 pass with: (insn 32 31 33 2 (set (reg:V1TI 132 [ _20 ]) (reg:V1TI 101 [ _12 ])) "t5.c":9:5 2025 {movv1ti_internal} (expr_list:REG_DEAD (reg:V1TI 130 [ BIT_FIELD_REF <v, 128, 128> ]) (expr_list:REG_DEAD (reg:V1TI 129 [ BIT_FIELD_REF <v, 128, 128> ]) (expr_list:REG_UNUSED (reg:CC 17 flags) (expr_list:REG_EQUAL (mult:V1TI (reg:V1TI 101 [ _12 ]) (const_int 3 [0x3])) (nil)))))) Which was before it: (insn 32 31 33 2 (set (reg:TI 132 [ _20 ]) (reg:TI 101 [ _12 ])) "t5.c":9:5 83 {*movti_internal} (expr_list:REG_DEAD (reg:TI 130 [ BIT_FIELD_REF <v, 128, 128> ]) (expr_list:REG_DEAD (reg:TI 129 [ BIT_FIELD_REF <v, 128, 128> ]) (expr_list:REG_UNUSED (reg:CC 17 flags) (expr_list:REG_EQUAL (mult:TI (reg:TI 101 [ _12 ]) (const_int 3 [0x3])) (nil)))))) it should have been replaced with `(const_vect (const_int 3))`. So this is a target specific pass which is causing the issue.