Do not reload reg2 under V.4 or eabi.

From-SVN: r8858
This commit is contained in:
Michael Meissner 1995-02-03 22:41:38 +00:00
parent 29bd4eb3e0
commit 911f679c13
1 changed files with 27 additions and 7 deletions

View File

@ -4631,16 +4631,26 @@
"bl %z0")
;; Call to function which may be in another module. Restore the TOC
;; pointer (r2) after the call.
;; pointer (r2) after the call unless this is System V.
(define_insn ""
[(call (mem:SI (match_operand:SI 0 "call_operand" "l,s"))
(match_operand 1 "" "fg,fg"))
(clobber (match_scratch:SI 2 "=l,l"))]
""
"@
{brl|blrl}\;{l|lwz} 2,20(1)
bl %z0\;%."
"*
{
if (GET_CODE (operands[0]) == REG)
{
#ifndef USING_SVR4_H
return \"{brl|blrl}\;{l|lwz} 2,20(1)\";
#else
return \"{brl|blrl}\";
#endif
}
return \"bl %z0\;%.\";
}"
[(set_attr "length" "8")])
(define_insn ""
@ -4657,9 +4667,19 @@
(match_operand 2 "" "fg,fg")))
(clobber (match_scratch:SI 3 "=l,l"))]
""
"@
{brl|blrl}\;{l|lwz} 2,20(1)
bl %z1\;%."
"*
{
if (GET_CODE (operands[1]) == REG)
{
#ifndef USING_SVR4_H
return \"{brl|blrl}\;{l|lwz} 2,20(1)\";
#else
return \"{brl|blrl}\";
#endif
}
return \"bl %z1\;%.\";
}"
[(set_attr "length" "8")])
;; Call subroutine returning any type.