https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67781
--- Comment #5 from Mikael Pettersson <mikpelinux at gmail dot com> --- m68k is also affected, so it looks like all big-endian targets have this bug: --- shift.s-m68k-r210842 2015-12-12 18:50:53.358503028 +0100 +++ shift.s-m68k-r210843 2015-12-12 18:54:43.938357653 +0100 @@ -9,10 +9,7 @@ .type main, @function main: link.w %fp,#0 - move.l s,%d0 - lsl.l #8,%d0 - or.b s+4,%d0 - move.l %d0,-(%sp) + move.l s,-(%sp) pea .LC0 jsr printf clr.l %d0