summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-18 19:07:03 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-18 19:07:03 +0000
commit8bc66e4dec6da4b79fc8c5d3069b19093a32ae9b (patch)
tree9e5c9b234d1a3b3e46af18ac7a5a86da20152a64
parentefb070c849858043126e2bf238b3a4f07ab7922e (diff)
downloadppe42-gcc-8bc66e4dec6da4b79fc8c5d3069b19093a32ae9b.tar.gz
ppe42-gcc-8bc66e4dec6da4b79fc8c5d3069b19093a32ae9b.zip
* config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
(builtin_setjmp_receiver): Delay call to ia64_reload_gp until after reload. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64546 138bc75d-0d04-0410-961f-82ee72b054a4
-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 bd1f10ad5be..d00d7d0e272 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 8ad262111e8..51e3e287765 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;
OpenPOWER on IntegriCloud