aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-02-10 16:12:51 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1993-02-10 16:12:51 -0500
commit4ba7b922dd2f6d22a009352d85223d0e44283d02 (patch)
tree9ae95d5684b3e2e513d35a326c8512b7014618d5 /gcc
parent130d2d725d8c26a325c46d413e041d9ffb70ba73 (diff)
downloadgcc-4ba7b922dd2f6d22a009352d85223d0e44283d02.zip
gcc-4ba7b922dd2f6d22a009352d85223d0e44283d02.tar.gz
gcc-4ba7b922dd2f6d22a009352d85223d0e44283d02.tar.bz2
(call insns): Always reload gp after a full call.
Use current_file_function_operand to see when we can use BSR. From-SVN: r3458
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/alpha/alpha.md22
1 files changed, 6 insertions, 16 deletions
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index a49b621..849f404 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -2198,12 +2198,7 @@
(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 ""
@@ -2213,31 +2208,26 @@
(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"