https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101325
--- Comment #5 from Christophe Lyon <clyon at gcc dot gnu.org> --- Before the patch, combine says: allowing combination of insns 8 and 14 original costs 4 + 2 = 6 replacement cost 4 deferring deletion of insn with uid = 8. modifying insn i3 14: r0:SI=zero_extend(r117:HI) REG_DEAD r117:HI deferring rescan insn with uid = 14. starting the processing of deferred insns rescanning insn with uid = 7. rescanning insn with uid = 14. ending the processing of deferred insns After the patch: allowing combination of insns 8 and 14 original costs 4 + 2 = 6 replacement cost 4 deferring deletion of insn with uid = 8. modifying insn i3 14: r0:SI=r117:HI#0&0x1 REG_DEAD r117:HI deferring rescan insn with uid = 14. starting the processing of deferred insns rescanning insn with uid = 7. rescanning insn with uid = 14. ending the processing of deferred insns