OSDN Git Service

* config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of
authorjiez <jiez@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 12 Oct 2006 08:52:58 +0000 (08:52 +0000)
committerjiez <jiez@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 12 Oct 2006 08:52:58 +0000 (08:52 +0000)
emit_insn to emit eh_return_internal instruction.
(eh_return_internal): Explicitly set pc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117662 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/bfin/bfin.md

index 6fd39c7..4edb41e 100644 (file)
@@ -1,3 +1,9 @@
+2006-10-12  Jie Zhang  <jie.zhang@analog.com>
+
+       * 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  <rguenther@suse.de>
 
        PR tree-optimization/28230
index 03747e8..425f995 100644 (file)
   ""
 {
   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"