https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64405
ktkachov at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Status|UNCONFIRMED |NEW Last reconfirmed| |2015-01-09 CC| |ktkachov at gcc dot gnu.org Ever confirmed|0 |1 Known to fail| |4.9.3, 5.0 --- Comment #2 from ktkachov at gcc dot gnu.org --- Confirmed. The culprit seems to be output_return_instruction where the final switch statement in the default case checks the architecture level to choose whether to use bx or mov pc but in the ARM_FT_INTERWORKED case doesn't and just emits bx lr. This can be fixed easily I guess. I'll prepare a patch when I get some time/