(call insns): Always reload gp after a full call.
authorRichard Kenner <kenner@gcc.gnu.org>
Wed, 10 Feb 1993 21:12:51 +0000 (16:12 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Wed, 10 Feb 1993 21:12:51 +0000 (16:12 -0500)
Use current_file_function_operand to see when we can use BSR.

From-SVN: r3458

gcc/config/alpha/alpha.md

index a49b621dcafb583e70ed49c2c728d57537569466..849f4042ad8425dbf6ba90afdb32e6e93a9f8968 100644 (file)
    (use (match_operand:DI 1 "" ""))
    (clobber (reg:DI 26))]
   ""
-  "*
-{ if (alpha_gp_dead_after (insn))
-    return \"jsr $26,($27),%1\";
-  else 
-    return \"jsr $26,($27),%1\;ldgp $29,0($26)\";
-}"
+  "jsr $26,($27),%1\;ldgp $29,0($26)"
   [(set_attr "type" "jsr")])
       
 (define_insn ""
    (use (match_operand:DI 2 "" ""))
    (clobber (reg:DI 26))]
   ""
-  "*
-{ if (alpha_gp_dead_after (insn))
-    return \"jsr $26,($27),%2\";
-  else 
-    return \"jsr $26,($27),%2\;ldgp $29,0($26)\";
-}"
+  "jsr $26,($27),%2\;ldgp $29,0($26)"
   [(set_attr "type" "jsr")])
 
 (define_insn ""
-  [(call (mem:DI (match_operand 1 "current_function_operand" "i"))
+  [(call (mem:DI (match_operand 1 "current_file_function_operand" "i"))
         (match_operand 0 "" ""))
    (use (match_dup 1))
    (clobber (reg:DI 26))]
   ""
-  "bsr $26,%F1"
+  "bsr $26,%1..ng"
   [(set_attr "type" "ibr")])
       
 (define_insn ""
   [(set (match_operand 0 "register_operand" "=rf")
-       (call (mem:DI (match_operand 1 "current_function_operand" "i"))
+       (call (mem:DI (match_operand 1 "current_file_function_operand" "i"))
              (match_operand 2 "" "")))
    (use (match_dup 1))
    (clobber (reg:DI 26))]
   ""
-  "bsr $26,%F1"
+  "bsr $26,%1..ng"
   [(set_attr "type" "ibr")])
 
 (define_insn "jump"