parent
29bd4eb3e0
commit
911f679c13
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue