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

--- Comment #7 from Xi Ruoyao <xry111 at gcc dot gnu.org> ---
Things are already wrong in 255r:

(jump_insn 17 16 42 4 (set (pc)
        (if_then_else (ne (reg:DI 90)
                (const_int 0 [0]))
            (label_ref 20)
            (pc))) "t.c":4:23 discrim 1 -1
     (int_list:REG_BR_PROB 536870916 (nil))
 -> 20)
(note 42 17 18 5 [bb 5] NOTE_INSN_BASIC_BLOCK)
(insn 18 42 19 5 (set (reg:SI 91)
        (zero_extend:SI (mem:QI (plus:DI (reg/v/f:DI 82 [ filename ])
                    (const_int 1 [0x1])) [0 MEM <char[1:2]> [(void
*)filename_3(D)]+1 S1 A8]))) "t.c":4:23 discrim 1 -1
     (nil))
(insn 19 18 20 5 (set (reg:DI 92)
        (plus:DI (subreg:DI (reg:SI 91) 0)
            (const_int 0 [0]))) "t.c":4:23 discrim 1 -1
     (nil))
(code_label 20 19 43 6 3 (nil) [1 uses])
(note 43 20 21 6 [bb 6] NOTE_INSN_BASIC_BLOCK)
(insn 21 43 22 6 (set (reg:DI 80 [ _1 ])
        (sign_extend:DI (subreg:SI (reg:DI 92) 0))) "t.c":4:23 discrim 1 -1
     (nil))

Note that the jump_insn jumps over insn 19 which initializes the vreg 92 (which
would become r13).

Reply via email to