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

--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Ah, but that actually isn't the problem, rather just useless clutter.
The problem is that
(jump_insn 10 7 32 2 (parallel [
            (set (pc)
                (if_then_else (eq (and:DI (reg:DI 9 9 [121])
                            (const_int 2146435072 [0x7ff00000]))
                        (const_int 0 [0]))
                    (label_ref:SI 40)
                    (pc)))
            (clobber (reg:DI 9 9 [125]))
            (clobber (reg:CC 100 0))
        ]) "pr109566-3.c":6:6 229 {*branch_anddi3_dot}
     (int_list:REG_BR_PROB 708669604 (nil))
 -> 40)
is split into:
(insn 43 7 44 2 (parallel [
            (set (reg:CC 100 0)
                (compare:CC (and:DI (ashift:DI (reg:DI 9 9 [121])
                            (const_int 33 [0x21]))
                        (const_int -9007199254740992 [0xffe0000000000000]))
                    (const_int 0 [0])))
            (clobber (reg:DI 9 9 [125]))
        ]) "pr109566-3.c":6:6 -1
     (nil))
(jump_insn 44 43 32 2 (set (pc)
        (if_then_else (eq:CCEQ (reg:CC 100 0)
                (const_int 0 [0]))
            (label_ref 40)
            (pc))) "pr109566-3.c":6:6 -1
     (int_list:REG_BR_PROB 708669604 (nil))
 -> 40)
and the first instruction isn't recognized.

Reply via email to