https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67657
--- Comment #7 from Oleg Endo <olegendo at gcc dot gnu.org> --- Created attachment 36357 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36357&action=edit Proposed patch Although a "mov @r2+,r2" is actually possible and valid (r2 will contain the value loaded from memory, AFAIR), it doesn't make sense to keep the post-inc, as the result will be overwritten anyway. The patch catches those cases in the peepholes and removes the post-inc. I'm now testing this on sh-elf.