https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64402
Bernd Edlinger <bernd.edlinger at hotmail dot de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bernd.edlinger at hotmail dot de --- Comment #2 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- can you try this? Index: mep.c =================================================================== --- mep.c (Revision 231696) +++ mep.c (Arbeitskopie) @@ -3004,11 +3004,9 @@ emit_insn (gen_mep_enable_int ()); if (mep_prevent_lp_restore) - { - emit_jump_insn (gen_eh_return_internal ()); - emit_barrier (); - } - else if (interrupt_handler) + return; + + if (interrupt_handler) emit_jump_insn (gen_mep_reti ()); else emit_jump_insn (gen_return_internal (gen_rtx_REG (SImode, lp_temp))); @@ -3025,6 +3023,8 @@ } emit_insn (gen_eh_epilogue (operands[0])); + emit_jump_insn (gen_eh_return_internal ()); + emit_barrier (); } void