aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-12-23 19:08:23 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-12-23 19:08:23 -0800
commitc5b3a39ef4e75784e8210b2f7f8d8f258c0d37d0 (patch)
tree7b281aa721ff87a531840ea5d2ae34b1f1e98e03 /gcc
parent72ac12bf6f0bbb3a61e74412fadb287cf9c3ced6 (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/alpha/alpha.md13
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