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

--- Comment #8 from liwei at loongson dot cn ---
(In reply to Xi Ruoyao from comment #7)
> 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).

Thanks for the reply, i am trying to debug inline_string_cmp again to explain
the problem in more detail.

Reply via email to