https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113779
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- > So what's the catch here? Why gcc hates move.l (ax)+,(ay)+ so much? At one point of time (before I think GCC 9 or 8 or so), GCC's IV-OPTs optimization does not take into account post/pre increment, but now it does. BUT if the target cost model does not take those into account, then IV-OPTs could decide not to use them. Now m68k is a target which not many GCC developers look at fixing, so it is up to someone to look into why the post increment is no longer being used.