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

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The peephole2, if we go that way, would need to change something like:
(insn 8 7 10 3 (parallel [
            (set (reg/v:SI 0 ax [orig:82 i ] [82])
                (plus:SI (reg/v:SI 0 ax [orig:82 i ] [82])
                    (const_int -1 [0xffffffffffffffff])))
            (clobber (reg:CC 17 flags))
        ]) "pr93002-2.c":7:11 185 {*addsi_1}
     (expr_list:REG_UNUSED (reg:CC 17 flags)
        (nil)))
(insn 10 8 11 3 (set (reg:CCZ 17 flags)
        (compare:CCZ (reg/v:SI 0 ax [orig:82 i ] [82])
            (const_int -1 [0xffffffffffffffff]))) "pr93002-2.c":7:9 11
{*cmpsi_1}
     (nil))
(jump_insn 11 10 22 3 (set (pc)
        (if_then_else (ne (reg:CCZ 17 flags)
                (const_int 0 [0]))
            (label_ref:DI 9)
            (pc))) "pr93002-2.c":7:9 708 {*jcc}
     (expr_list:REG_DEAD (reg:CCZ 17 flags)
        (int_list:REG_BR_PROB 1063004412 (nil)))
 -> 9)
into:
(insn 8 7 11 3 (parallel [
            (set (reg:CCC 17 flags)
                 (compare:CCC (plus:SI (reg/v:SI 0 ax [orig:82 i ] [82])
                    (const_int -1 [0xffffffffffffffff]))
                (const_int -1 [0xffffffffffffffff])))
            (set (reg/v:SI 0 ax [orig:82 i ] [82])
                (plus:SI (reg/v:SI 0 ax [orig:82 i ] [82])
                    (const_int -1 [0xffffffffffffffff]))))
        ]) "pr93002-2.c":7:11 ...)
(jump_insn 11 8 22 3 (set (pc)
        (if_then_else (eq (reg:CCC 17 flags)
                (const_int 0 [0]))
            (label_ref:DI 9)
            (pc))) "pr93002-2.c":7:9 708 {*jcc}
     (expr_list:REG_DEAD (reg:CCZ 17 flags)
        (int_list:REG_BR_PROB 1063004412 (nil)))
 -> 9)

Reply via email to