alpha.md (UNSPEC_SIBCALL): New.
authorRichard Henderson <rth@redhat.com>
Mon, 24 Dec 2001 03:08:23 +0000 (19:08 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Mon, 24 Dec 2001 03:08:23 +0000 (19:08 -0800)
        * 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

gcc/ChangeLog
gcc/config/alpha/alpha.md

index 1b84b71906883233114803326cb0285dcf79259c..8ea8d35738edf2719cc0a57b087fe7243802666d 100644 (file)
@@ -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
index 605c56ca082f51bfe454eacd002b74387ac8bf80..7ab782a36e7868c343c115ac5640c6b3c9695806 100644 (file)
@@ -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