(call_internal*): Use hard register 19 (r3) in clobber

instead of match_scratch.

From-SVN: r3604
This commit is contained in:
Jim Wilson 1993-03-02 13:02:47 -08:00
parent e770968be5
commit b6744f97de

View File

@ -2154,14 +2154,19 @@
;; We need a call saved register allocated for the match_scratch, so we use ;; We need a call saved register allocated for the match_scratch, so we use
;; 'l' because all local registers are call saved. ;; 'l' because all local registers are call saved.
;; ??? I would prefer to use a match_scratch here, but match_scratch allocated
;; registers can't be used for spills. In a function with lots of calls,
;; local-alloc may allocate all local registers to a match_scratch, leaving
;; no local registers available for spills.
(define_insn "call_internal" (define_insn "call_internal"
[(call (match_operand:SI 0 "general_operand" "g") [(call (match_operand:SI 0 "general_operand" "g")
(match_operand:SI 1 "immediate_operand" "i")) (match_operand:SI 1 "immediate_operand" "i"))
(use (match_operand:SI 2 "address_operand" "p")) (use (match_operand:SI 2 "address_operand" "p"))
(clobber (match_scratch:SI 3 "=&l"))] (clobber (reg:SI 19))]
"" ""
"* return i960_output_call_insn (operands[0], operands[1], operands[2], "* return i960_output_call_insn (operands[0], operands[1], operands[2],
operands[3], insn);" insn);"
[(set_attr "type" "call")]) [(set_attr "type" "call")])
(define_expand "call_value" (define_expand "call_value"
@ -2184,10 +2189,10 @@
(call (match_operand:SI 1 "general_operand" "g") (call (match_operand:SI 1 "general_operand" "g")
(match_operand:SI 2 "immediate_operand" "i"))) (match_operand:SI 2 "immediate_operand" "i")))
(use (match_operand:SI 3 "address_operand" "p")) (use (match_operand:SI 3 "address_operand" "p"))
(clobber (match_scratch:SI 4 "=&l"))] (clobber (reg:SI 19))]
"" ""
"* return i960_output_call_insn (operands[1], operands[2], operands[3], "* return i960_output_call_insn (operands[1], operands[2], operands[3],
operands[4], insn);" insn);"
[(set_attr "type" "call")]) [(set_attr "type" "call")])
(define_insn "return" (define_insn "return"