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

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
```
trying to combine definition of r150 in:
    3: r150:DI=r167:DI
      REG_DEAD r167:DI
into:
   14: pc={(r150:DI!=0)?L88:pc}
      REG_BR_PROB 536870913
successfully matched this instruction to *branchdi:
(set (pc)
    (if_then_else (ne (reg:DI 167 [ BS_ARG_3 ])
            (const_int 0 [0]))
        (label_ref:DI 88)
        (pc)))
   40: pc={(r150:DI==0)?L45:pc}
      REG_BR_PROB 519276089
successfully matched this instruction to *branchdi:
(set (pc)
    (if_then_else (eq (reg:DI 167 [ BS_ARG_3 ])
            (const_int 0 [0]))
        (label_ref:DI 45)
        (pc)))
  111: r160:DI=leu(r150:DI,0x4f)
successfully matched this instruction to *sleu_didi:
(set (reg:DI 160)
    (leu:DI (reg:DI 167 [ BS_ARG_3 ])
        (const_int 79 [0x4f])))
  113: r150:DI=r150:DI&r164:DI
      REG_DEAD r164:DI
successfully matched this instruction to *anddi3:
(set (reg/v:DI 150 [ BS_ARG_3 ])
    (and:DI (reg:DI 167 [ BS_ARG_3 ])
        (reg:DI 164)))
   44: r137:DI=r150:DI
successfully matched this instruction to *movdi_64bit:
(set (reg:DI 137 [ iftmp.3_10 ])
    (reg:DI 167 [ BS_ARG_3 ]))
original cost = 4 + 16 + 16 + 4 + 4 + 4 (weighted: 153.228505), replacement
cost = 16 + 16 + 4 + 4 + 4 (weighted: 149.228505); keeping replacement
no viable insn position assignment for 111 insn
```


This seems to be correct to reject this though.

Reply via email to