https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117938
--- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Uroš Bizjak from comment #8) > (In reply to Andrew Pinski from comment #7) > > > It is the moving insn that is the issue. > Please see _.325r.late_combine2 dump, there are *two* equal instructions (as > reported in Comment #5). The compiler is not moving the insn, but copying > it. (insn 338) is exact copy of (insn 176), including REG_ARGS_SIZE expr. Oh I think I know why you are thinking there is a copying happening is because they exact copies before late_combine2 too. Just the insn that is being moved is all of the way at the end of the function so it might look like it was being copied but really it was just moving incorrectly.