From 1e96b1c34fc5653ab1cd75b8e19034f5f56a1f84 Mon Sep 17 00:00:00 2001 From: Jie Zhang Date: Thu, 12 Oct 2006 08:52:58 +0000 Subject: [PATCH] bfin.md (eh_return): Call emit_jump_insn instead of emit_insn to emit eh_return_internal instruction. * config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of emit_insn to emit eh_return_internal instruction. (eh_return_internal): Explicitly set pc. From-SVN: r117662 --- gcc/ChangeLog | 6 ++++++ gcc/config/bfin/bfin.md | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6fd39c76efd..4edb41e588e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-10-12 Jie Zhang + + * config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of + emit_insn to emit eh_return_internal instruction. + (eh_return_internal): Explicitly set pc. + 2006-10-11 Richard Guenther PR tree-optimization/28230 diff --git a/gcc/config/bfin/bfin.md b/gcc/config/bfin/bfin.md index 03747e8c85f..425f99580c7 100644 --- a/gcc/config/bfin/bfin.md +++ b/gcc/config/bfin/bfin.md @@ -2337,13 +2337,14 @@ "" { emit_move_insn (EH_RETURN_HANDLER_RTX, operands[0]); - emit_insn (gen_eh_return_internal ()); + emit_jump_insn (gen_eh_return_internal ()); emit_barrier (); DONE; }) (define_insn_and_split "eh_return_internal" - [(unspec_volatile [(reg:SI REG_P2)] UNSPEC_VOLATILE_EH_RETURN)] + [(set (pc) + (unspec_volatile [(reg:SI REG_P2)] UNSPEC_VOLATILE_EH_RETURN))] "" "#" "reload_completed"