https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82683
--- Comment #5 from Segher Boessenkool <segher at gcc dot gnu.org> --- Oh, it does show the intermediate results: Trying 18 -> 19: Successfully matched this instruction: (set (reg/f:DI 78 [ _7 ]) (plus:DI (ashift:DI (reg:DI 83 [ _26 ]) (const_int 2 [0x2])) (reg/f:DI 76 [ _4 ]))) allowing combination of insns 18 and 19 original costs 4 + 4 = 8 replacement cost 8 deferring deletion of insn with uid = 18. modifying insn i3 19: r78:DI=r83:DI<<0x2+r76:DI REG_DEAD r83:DI REG_DEAD r76:DI deferring rescan insn with uid = 19. (How do you dump things? You forgot a -all?)