Commit 911f679c by Michael Meissner

Do not reload reg2 under V.4 or eabi.

From-SVN: r8858
parent 29bd4eb3
......@@ -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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment