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

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
```
Trying 11, 10, 12 -> 13:
   11: r113:SI=0x1
   10: {r111:SI=r107:SI&0x7;clobber flags:CC;}
      REG_DEAD r107:SI
      REG_UNUSED flags:CC
   12: {r112:SI=r113:SI<<r111:SI#0;clobber flags:CC;}
      REG_DEAD r113:SI
      REG_DEAD r111:SI
      REG_UNUSED flags:CC
      REG_EQUAL 0x1<<r111:SI#0
   13: r114:QI=~r112:SI#0
      REG_DEAD r112:SI
Failed to match this instruction:
(set (reg:QI 114 [ _7 ])
    (rotate:QI (const_int -2 [0xfffffffffffffffe])
        (subreg:QI (and:SI (reg/v:SI 107 [ nrD.2860 ])
                (const_int 7 [0x7])) 0)))
Splitting with gen_split_686 (i386.md:18158)
Successfully matched this instruction:
(set (reg:QI 117)
    (const_int -2 [0xfffffffffffffffe]))
Successfully matched this instruction:
(set (reg:QI 114 [ _7 ])
    (rotate:QI (reg:QI 117)
        (subreg:QI (reg/v:SI 107 [ nrD.2860 ]) 0)))
allowing combination of insns 10, 11, 12 and 13
original costs 4 + 4 + 4 + 4 = 16
replacement costs 4 + 4 = 8
deferring deletion of insn with uid = 11.
deferring deletion of insn with uid = 10.
modifying insn i2    12: r117:QI=0xfffffffffffffffe
deferring rescan insn with uid = 12.
modifying insn i3    13: {r114:QI=r117:QI<-<r107:SI#0;clobber flags:CC;}
      REG_UNUSED flags:CC
      REG_DEAD r117:QI
      REG_DEAD r107:SI
deferring rescan insn with uid = 13.
```
Before there was no REG_DEAD for 117. 

But the REG_DEAD there is correct and not wrong.

Reply via email to