https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77377

--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
It looks that cse2 pass attaches wrong REG_EQUAL note:

(insn 8 4 13 2 (set (reg:SI 93)
        (mem/u/j:SI (plus:SI (reg:SI 87)
                (const:SI (plus:SI (unspec:SI [
                                (symbol_ref/u:SI ("*.LC0") [flags 0x2])
                            ] UNSPEC_GOTOFF)
                        (const_int 16 [0x10])))) [1  S4 A128])) 82
{*movsi_internal}
     (expr_list:REG_EQUAL (const_vector:V4SI [
                (const_int 3 [0x3])
                (const_int 2 [0x2])
                (const_int 1 [0x1])
                (const_int 0 [0])
            ])
        (expr_list:REG_DEAD (reg:SI 87)
            (nil))))
(insn 13 8 14 2 (set (reg/i:SI 0 ax)
        (reg:SI 93)) pr59037.c:12 82 {*movsi_internal}
     (expr_list:REG_EQUAL (const_vector:V4SI [
                (const_int 3 [0x3])
                (const_int 2 [0x2])
                (const_int 1 [0x1])
                (const_int 0 [0])
            ])
        (expr_list:REG_DEAD (reg:SI 93)
            (nil))))

Reply via email to