ia64.md (UNSPECV_SETJMP_RECEIVER): New.
authorRichard Henderson <rth@redhat.com>
Tue, 18 Mar 2003 19:07:03 +0000 (11:07 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 18 Mar 2003 19:07:03 +0000 (11:07 -0800)
        * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
        (builtin_setjmp_receiver): Delay call to ia64_reload_gp
        until after reload.

From-SVN: r64546

gcc/ChangeLog
gcc/config/ia64/ia64.md

index bd1f10ad5bedb7f206e4da4756fb7915e5ee830d..d00d7d0e272c9c1e132ff84f527a03feedfb582a 100644 (file)
@@ -1,3 +1,9 @@
+2003-03-18  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
+       (builtin_setjmp_receiver): Delay call to ia64_reload_gp
+       until after reload.
+
 2003-03-18  Richard Henderson  <rth@redhat.com>
 
        * builtins.c (expand_builtin_unop): New target_mode operand;
index 8ad262111e8c88709c7bdba1dc2f226a437b70af..51e3e287765173689b75464fe58275812f087c83 100644 (file)
@@ -83,6 +83,7 @@
    (UNSPECV_SET_BSP            4)
    (UNSPECV_PSAC_ALL           5)      ; pred.safe_across_calls
    (UNSPECV_PSAC_NORMAL                6)
+   (UNSPECV_SETJMP_RECEIVER    7)
   ])
 \f
 ;; ::::::::::::::::::::
   DONE;
 })
 
-(define_expand "builtin_setjmp_receiver"
-  [(use (match_operand:DI 0 "" ""))]
+(define_insn_and_split "builtin_setjmp_receiver"
+  [(unspec_volatile [(match_operand:DI 0 "" "")] UNSPECV_SETJMP_RECEIVER)]
   ""
+  "#"
+  "reload_completed"
+  [(const_int 0)]
 {
   ia64_reload_gp ();
   DONE;