fix CodeGen/X86/2007-02-25-FastCCStack.ll, a regression from my patch last

night:  fastcc returns should only go in XMM0 if we have SSE2 or above.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34613 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2007-02-25 22:23:46 +00:00
parent f82435d4d7
commit 7e22977c0f

View File

@ -456,7 +456,7 @@ static void GetRetValueLocs(const MVT::ValueType *VTs, unsigned NumVTs,
case MVT::f64: case MVT::f64:
if (Subtarget->is64Bit()) if (Subtarget->is64Bit())
Reg = X86::XMM0; // FP values in X86-64 go in XMM0. Reg = X86::XMM0; // FP values in X86-64 go in XMM0.
else if (CC == CallingConv::Fast) else if (CC == CallingConv::Fast && Subtarget->hasSSE2())
Reg = X86::XMM0; // FP values in X86-32 with fastcc go in XMM0. Reg = X86::XMM0; // FP values in X86-32 with fastcc go in XMM0.
else else
Reg = X86::ST0; // FP values in X86-32 go in ST0. Reg = X86::ST0; // FP values in X86-32 go in ST0.