Commit c5b3a39e by Richard Henderson Committed by Richard Henderson

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
parent 72ac12bf
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> 2001-12-23 Joseph S. Myers <jsm28@cam.ac.uk>
* c-typeck.c (c_start_case): Don't strip conversions from the * c-typeck.c (c_start_case): Don't strip conversions from the
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
(UNSPEC_LDGP2 10) (UNSPEC_LDGP2 10)
(UNSPEC_LITERAL 11) (UNSPEC_LITERAL 11)
(UNSPEC_LITUSE 12) (UNSPEC_LITUSE 12)
(UNSPEC_SIBCALL 13)
]) ])
;; UNSPEC_VOLATILE: ;; UNSPEC_VOLATILE:
...@@ -4582,7 +4583,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" ...@@ -4582,7 +4583,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
(define_expand "sibcall" (define_expand "sibcall"
[(parallel [(call (mem:DI (match_operand 0 "" "")) [(parallel [(call (mem:DI (match_operand 0 "" ""))
(match_operand 1 "" "")) (match_operand 1 "" ""))
(use (reg:DI 29))])] (unspec [(reg:DI 29)] UNSPEC_SIBCALL)])]
"TARGET_ABI_OSF" "TARGET_ABI_OSF"
{ {
if (GET_CODE (operands[0]) != MEM) if (GET_CODE (operands[0]) != MEM)
...@@ -4710,7 +4711,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" ...@@ -4710,7 +4711,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
[(parallel [(set (match_operand 0 "" "") [(parallel [(set (match_operand 0 "" "")
(call (mem:DI (match_operand 1 "" "")) (call (mem:DI (match_operand 1 "" ""))
(match_operand 2 "" ""))) (match_operand 2 "" "")))
(use (reg:DI 29))])] (unspec [(reg:DI 29)] UNSPEC_SIBCALL)])]
"TARGET_ABI_OSF" "TARGET_ABI_OSF"
{ {
if (GET_CODE (operands[1]) != MEM) if (GET_CODE (operands[1]) != MEM)
...@@ -4920,7 +4921,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" ...@@ -4920,7 +4921,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
(define_insn "*sibcall_osf_1_er" (define_insn "*sibcall_osf_1_er"
[(call (mem:DI (match_operand:DI 0 "symbolic_operand" "R,s")) [(call (mem:DI (match_operand:DI 0 "symbolic_operand" "R,s"))
(match_operand 1 "" "")) (match_operand 1 "" ""))
(use (reg:DI 29))] (unspec [(reg:DI 29)] UNSPEC_SIBCALL)]
"TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF" "TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF"
"@ "@
br $31,$%0..ng br $31,$%0..ng
...@@ -4931,7 +4932,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" ...@@ -4931,7 +4932,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
(define_insn "*sibcall_osf_1" (define_insn "*sibcall_osf_1"
[(call (mem:DI (match_operand:DI 0 "symbolic_operand" "R,s")) [(call (mem:DI (match_operand:DI 0 "symbolic_operand" "R,s"))
(match_operand 1 "" "")) (match_operand 1 "" ""))
(use (reg:DI 29))] (unspec [(reg:DI 29)] UNSPEC_SIBCALL)]
"! TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF" "! TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF"
"@ "@
br $31,$%0..ng br $31,$%0..ng
...@@ -6932,7 +6933,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" ...@@ -6932,7 +6933,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
[(set (match_operand 0 "" "") [(set (match_operand 0 "" "")
(call (mem:DI (match_operand:DI 1 "symbolic_operand" "R,s")) (call (mem:DI (match_operand:DI 1 "symbolic_operand" "R,s"))
(match_operand 2 "" ""))) (match_operand 2 "" "")))
(use (reg:DI 29))] (unspec [(reg:DI 29)] UNSPEC_SIBCALL)]
"TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF" "TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF"
"@ "@
br $31,$%1..ng br $31,$%1..ng
...@@ -6944,7 +6945,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" ...@@ -6944,7 +6945,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
[(set (match_operand 0 "" "") [(set (match_operand 0 "" "")
(call (mem:DI (match_operand:DI 1 "symbolic_operand" "R,s")) (call (mem:DI (match_operand:DI 1 "symbolic_operand" "R,s"))
(match_operand 2 "" ""))) (match_operand 2 "" "")))
(use (reg:DI 29))] (unspec [(reg:DI 29)] UNSPEC_SIBCALL)]
"! TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF" "! TARGET_EXPLICIT_RELOCS && TARGET_ABI_OSF"
"@ "@
br $31,$%1..ng br $31,$%1..ng
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment