Changes in directory llvm/lib/Target/X86:
X86ISelLowering.cpp updated: 1.334 -> 1.335 --- Log message: fastcc functions that return double values now return them in xmm0 on x86-32. This implements CodeGen/X86/fp-stack-ret.ll:test[23] --- Diffs of the changes: (+3 -1) X86ISelLowering.cpp | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) Index: llvm/lib/Target/X86/X86ISelLowering.cpp diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.334 llvm/lib/Target/X86/X86ISelLowering.cpp:1.335 --- llvm/lib/Target/X86/X86ISelLowering.cpp:1.334 Sun Feb 25 03:14:25 2007 +++ llvm/lib/Target/X86/X86ISelLowering.cpp Sun Feb 25 03:31:16 2007 @@ -434,7 +434,7 @@ static void GetRetValueLocs(const MVT::ValueType *VTs, unsigned NumVTs, unsigned *ResultRegs, const X86Subtarget *Subtarget, - unsigned CallingConv) { + unsigned CC) { if (NumVTs == 0) return; if (NumVTs == 2) { @@ -456,6 +456,8 @@ case MVT::f64: if (Subtarget->is64Bit()) Reg = X86::XMM0; // FP values in X86-64 go in XMM0. + else if (CC == CallingConv::Fast) + 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. break; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits