fix CodeGen/X86/2007-02-25-FastCCStack.ll, a regression from my patch last
authorChris Lattner <sabre@nondot.org>
Sun, 25 Feb 2007 22:23:46 +0000 (22:23 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 25 Feb 2007 22:23:46 +0000 (22:23 +0000)
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

lib/Target/X86/X86ISelLowering.cpp

index ffd24ee80b0c81d7b8a2075385c4af021c41e09e..50acc30b6b78a9779bb00eb0d5209104e069d5cb 100644 (file)
@@ -456,7 +456,7 @@ static void GetRetValueLocs(const MVT::ValueType *VTs, unsigned NumVTs,
   case MVT::f64:
     if (Subtarget->is64Bit())
       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.
     else
       Reg = X86::ST0;          // FP values in X86-32 go in ST0.