aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-03-18 11:07:03 -0800
committerRichard Henderson <rth@gcc.gnu.org>2003-03-18 11:07:03 -0800
commitb39eb2f99a9aafe47a46b1da77261f7a586209f2 (patch)
tree9e5c9b234d1a3b3e46af18ac7a5a86da20152a64
parent6c537d03e67f44a2af2e72645492b36e47d00b2f (diff)
downloadgcc-b39eb2f99a9aafe47a46b1da77261f7a586209f2.zip
gcc-b39eb2f99a9aafe47a46b1da77261f7a586209f2.tar.gz
gcc-b39eb2f99a9aafe47a46b1da77261f7a586209f2.tar.bz2
ia64.md (UNSPECV_SETJMP_RECEIVER): New.
* config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New. (builtin_setjmp_receiver): Delay call to ia64_reload_gp until after reload. From-SVN: r64546
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/ia64/ia64.md8
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bd1f10a..d00d7d0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
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;
use it to convert the result to the correct mode.
(expand_builtin): Update all callers.
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md
index 8ad2621..51e3e28 100644
--- a/gcc/config/ia64/ia64.md
+++ b/gcc/config/ia64/ia64.md
@@ -83,6 +83,7 @@
(UNSPECV_SET_BSP 4)
(UNSPECV_PSAC_ALL 5) ; pred.safe_across_calls
(UNSPECV_PSAC_NORMAL 6)
+ (UNSPECV_SETJMP_RECEIVER 7)
])
;; ::::::::::::::::::::
@@ -5329,9 +5330,12 @@
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;