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.

Reply via email to