diff options
author | Richard Henderson <rth@redhat.com> | 2001-12-23 19:08:23 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-12-23 19:08:23 -0800 |
commit | c5b3a39ef4e75784e8210b2f7f8d8f258c0d37d0 (patch) | |
tree | 7b281aa721ff87a531840ea5d2ae34b1f1e98e03 | |
parent | 72ac12bf6f0bbb3a61e74412fadb287cf9c3ced6 (diff) | |
download | gcc-c5b3a39ef4e75784e8210b2f7f8d8f258c0d37d0.zip gcc-c5b3a39ef4e75784e8210b2f7f8d8f258c0d37d0.tar.gz gcc-c5b3a39ef4e75784e8210b2f7f8d8f258c0d37d0.tar.bz2 |
alpha.md (UNSPEC_SIBCALL): New.
* config/alpha/alpha.md (UNSPEC_SIBCALL): New.
(sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it.
(sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise.
From-SVN: r48295
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.md | 13 |
2 files changed, 13 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1b84b71..8ea8d35 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2001-12-23 Richard Henderson <rth@redhat.com> + + * config/alpha/alpha.md (UNSPEC_SIBCALL): New. + (sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it. + (sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise. + 2001-12-23 Joseph S. Myers <jsm28@cam.ac.uk> * c-typeck.c (c_start_case): Don't strip conversions from the diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md index 605c56c..7ab782a 100644 --- a/gcc/config/alpha/alpha.md +++ b/gcc/config/alpha/alpha.md @@ -38,6 +38,7 @@ (UNSPEC_LDGP2 10) (UNSPEC_LITERAL 11) (UNSPEC_LITUSE 12) + (UNSPEC_SIBCALL 13) ]) ;; UNSPEC_VOLATILE: @@ -4582,7 +4583,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" (define_expand "sibcall" [(parallel [(call (mem:DI (match_operand 0 "" "")) (match_operand 1 "" "")) - (use (reg:DI 29))])] + (unspec [(reg:DI 29)] UNSPEC_SIBCALL)])] "TARGET_ABI_OSF" { if (GET_CODE (operands[0]) != MEM) @@ -4710,7 +4711,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" [(parallel [(set (match_operand 0 "" "") (call (mem:DI (match_operand 1 "" "")) (match_operand 2 "" ""))) - (use (reg:DI 29))])] + (unspec [(reg:DI 29)] UNSPEC_SIBCALL)])] "TARGET_ABI_OSF" { if (GET_CODE (operands[1]) != MEM) @@ -4920,7 +4921,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" (define_insn "*sibcall_osf_1_er" [(call (mem:DI (match_operand:DI 0 "symbolic_operand" "R,s")) (match_operand 1 "" "")) - (use (reg:DI 29))] + (unspec [(reg:DI 29)] UNSPEC_SIBCALL)] "TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF" "@ br $31,$%0..ng @@ -4931,7 +4932,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" (define_insn "*sibcall_osf_1" [(call (mem:DI (match_operand:DI 0 "symbolic_operand" "R,s")) (match_operand 1 "" "")) - (use (reg:DI 29))] + (unspec [(reg:DI 29)] UNSPEC_SIBCALL)] "! TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF" "@ br $31,$%0..ng @@ -6932,7 +6933,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" [(set (match_operand 0 "" "") (call (mem:DI (match_operand:DI 1 "symbolic_operand" "R,s")) (match_operand 2 "" ""))) - (use (reg:DI 29))] + (unspec [(reg:DI 29)] UNSPEC_SIBCALL)] "TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF" "@ br $31,$%1..ng @@ -6944,7 +6945,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" [(set (match_operand 0 "" "") (call (mem:DI (match_operand:DI 1 "symbolic_operand" "R,s")) (match_operand 2 "" ""))) - (use (reg:DI 29))] + (unspec [(reg:DI 29)] UNSPEC_SIBCALL)] "! TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF" "@ br $31,$%1..ng |