https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108516
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|target |rtl-optimization --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #1) > Confirmed: > > Trying 16 -> 6: > 16: r86:QI#0=zero_extract(r87:HI,0x8,0x8) > REG_DEAD r87:HI > 6: r84:SI=zero_extend(r86:QI) > REG_DEAD r86:QI > Failed to match this instruction: > (set (reg:SI 84 [ s.e2 ]) > (zero_extract:SI (reg:HI 87) > (const_int 8 [0x8]) > (const_int 8 [0x8]))) Hmm, is this even valid RTL that combine is producing ... If there was a subreg to SI mode there from the HI mode reg, it would match correctly.