https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124605
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |arm
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Last reconfirmed| |2026-03-22
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Trying 7 -> 8:
7: r117:SI=r118:SI<<0x10
REG_DEAD r118:SI
8: r116:SI=r117:SI 0>>0x10
REG_DEAD r117:SI
Successfully matched this instruction:
(set (reg:SI 116 [ _3 ])
(zero_extend:SI (subreg:HI (reg:SI 118 [ aD.4668 ]) 0)))
rejecting combination of insns 7 and 8
original costs 4 + 4 = 8
replacement cost 99
So just a cost model issue.
I have no idea why 99 though.