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

--- Comment #10 from Segher Boessenkool <segher at gcc dot gnu.org> ---
The input to combine has

(insn 49 10 50 2 (parallel [
            (set (reg:CCC 17 flags)
                (ne:CCC (reg:SI 82 [ a.1_2 ])
                    (const_int 0 [0])))
            (set (reg:SI 92)
                (neg:SI (reg:SI 82 [ a.1_2 ])))
        ]) "107172.c":4:10 680 {*negsi_ccc_1}
     (expr_list:REG_DEAD (reg:SI 82 [ a.1_2 ])
        (expr_list:REG_UNUSED (reg:SI 92)
            (nil))))
(insn 50 49 51 2 (parallel [
            (set (reg:SI 93)
                (neg:SI (ltu:SI (reg:CCC 17 flags)
                        (const_int 0 [0]))))
            (clobber (reg:CC 17 flags))
        ]) "107172.c":4:10 1258 {*x86_movsicc_0_m1_neg}
     (expr_list:REG_DEAD (reg:CCC 17 flags)
        (expr_list:REG_UNUSED (reg:CC 17 flags)
            (nil))))

This is incorrect already: insn 49 has to do a cmp, not a ne, for it to be
valid.  It was created by the ce1 pass.

Reply via email to