From: Richard Henderson Date: Tue, 18 Mar 2003 19:07:03 +0000 (-0800) Subject: ia64.md (UNSPECV_SETJMP_RECEIVER): New. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b39eb2f99a9aafe47a46b1da77261f7a586209f2;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bd1f10ad5be..d00d7d0e272 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-03-18 Richard Henderson + + * 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 * builtins.c (expand_builtin_unop): New target_mode operand; 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;