https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88416
Segher Boessenkool <segher at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |NEW --- Comment #2 from Segher Boessenkool <segher at gcc dot gnu.org> --- We started with (insn 11 10 29 2 (set (reg:DI 85) (mem:DI (post_inc:DI (reg/f:DI 7 sp)) [0 S8 A8])) "/home/segher/tot/lib/gcc/x86_64-pc-linux-gnu/9.0.0/include/ia32intrin.h":262:10 52 {*popdi1} (nil)) (debug_insn 29 11 12 2 (var_location:DI D#1 (reg:DI 85)) -1 (nil)) (insn 12 29 13 2 (set (reg:DI 83 [ _4 ]) (reg:DI 85)) "/home/segher/tot/lib/gcc/x86_64-pc-linux-gnu/9.0.0/include/ia32intrin.h":262:10 66 {*movdi_internal} (expr_list:REG_DEAD (reg:DI 85) (nil))) and then we combined 11 into 12: Trying 11 -> 12: 11: r85:DI=[sp:DI++] 12: r83:DI=r85:DI REG_DEAD r85:DI Successfully matched this instruction: (set (reg:DI 83 [ _4 ]) (mem:DI (post_inc:DI (reg/f:DI 7 sp)) [0 S8 A8])) allowing combination of insns 11 and 12 original costs 8 + 4 = 12 replacement cost 8 deferring rescan insn with uid = 29. deferring deletion of insn with uid = 11. modifying insn i3 12: r83:DI=[sp:DI++] deferring rescan insn with uid = 12. writing 29 as (debug_insn 29 11 12 2 (var_location:DI D#1 (mem:DI (post_inc:DI (reg/f:DI 7 sp) ) [0 S8 A8])) -1 (nil)) and df_insn_refs_verify chokes on that for some reason. I dunno. Unassigning.