http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53689
--- Comment #1 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-07-06 17:59:34 UTC --- (In reply to comment #0) > Under target (sh-elf) big-endian SuperH-2 (SH7604) (options -m2 -mb > -fno-omit-frame-pointer). > > When defining an interrupt handler: > static void __attribute__ ((interrupt_handler)) > foo(void) > { > } > > GCC 4.5.3 emits the following: > > 00000000 <_foo>: > 0: 2f e6 mov.l r14,@-r15 > 2: 6e f3 mov r15,r14 > 4: 6f e3 mov r14,r15 > 6: 00 2b rte > 8: 6e f6 mov.l @r15+,r14 > Please notice that GCC 4.5.x is no longer supported. The last official GCC 4.5.x version is GCC 4.5.4 which was released on 2012-07-02. I've checked this case with SVN rev 189268 (GCC 4.8) and this problem is not present.