diff options
author | Richard Henderson <rth@redhat.com> | 2003-03-18 11:07:03 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2003-03-18 11:07:03 -0800 |
commit | b39eb2f99a9aafe47a46b1da77261f7a586209f2 (patch) | |
tree | 9e5c9b234d1a3b3e46af18ac7a5a86da20152a64 | |
parent | 6c537d03e67f44a2af2e72645492b36e47d00b2f (diff) | |
download | gcc-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/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 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; |