http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47192
Mikael Pettersson <mikpe at it dot uu.se> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mikpe at it dot uu.se --- Comment #1 from Mikael Pettersson <mikpe at it dot uu.se> 2011-01-06 19:19:21 UTC --- I can reproduce this with both 4.5.2 and 4.4.6 based crosses to m68k-{elf,linux}. The -mcpu=51qe option seems to cause mis-scheduling of the epilogue. With -Os -S -mcpu=51qe: .L3: lea (-2,%fp),%a0 move.l -8(%fp),%d2 unlk %fp move.w (%a0),stc.1197 rts Without the -mcpu= option: .L3: move.w -2(%fp),stc.1199 move.l -8(%fp),%d2 unlk %fp rts