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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
In particular, the wrong combination is I think:
Trying 77 -> 78:
   77: r164:SI=r125:QI#0&0xff
      REG_DEAD r125:QI
   78: r124:SI=r164:SI+r162:SI
      REG_DEAD r164:SI
      REG_DEAD r162:SI
Successfully matched this instruction:
(set (reg:SI 124 [ _15 ])
    (plus:SI (reg:SI 162)
        (subreg:SI (reg:QI 125 [ _18 ]) 0)))
That is simply not equivalent, even if we know that the value assigned to
pseudo 125 is constant 0xff and we loaded it into SImode register somewhere.

Reply via email to