mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-28 00:50:37 +00:00
Treat floating point ST1 the same as ST0 when lowering for a call result
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55135 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c8d3a62092
commit
7e66510a2e
@ -969,7 +969,8 @@ LowerCallResult(SDValue Chain, SDValue InFlag, SDNode *TheCall,
|
|||||||
// If this is a call to a function that returns an fp value on the floating
|
// If this is a call to a function that returns an fp value on the floating
|
||||||
// point stack, but where we prefer to use the value in xmm registers, copy
|
// point stack, but where we prefer to use the value in xmm registers, copy
|
||||||
// it out as F80 and use a truncate to move it from fp stack reg to xmm reg.
|
// it out as F80 and use a truncate to move it from fp stack reg to xmm reg.
|
||||||
if (RVLocs[i].getLocReg() == X86::ST0 &&
|
if ((RVLocs[i].getLocReg() == X86::ST0 ||
|
||||||
|
RVLocs[i].getLocReg() == X86::ST1) &&
|
||||||
isScalarFPTypeInSSEReg(RVLocs[i].getValVT())) {
|
isScalarFPTypeInSSEReg(RVLocs[i].getValVT())) {
|
||||||
CopyVT = MVT::f80;
|
CopyVT = MVT::f80;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user