diff options
| author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-03-18 19:07:03 +0000 |
|---|---|---|
| committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-03-18 19:07:03 +0000 |
| commit | 8bc66e4dec6da4b79fc8c5d3069b19093a32ae9b (patch) | |
| tree | 9e5c9b234d1a3b3e46af18ac7a5a86da20152a64 | |
| parent | efb070c849858043126e2bf238b3a4f07ab7922e (diff) | |
| download | ppe42-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/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/config/ia64/ia64.md | 8 |
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; |

