Changes in directory llvm/lib/Target/X86:
X86ISelLowering.cpp updated: 1.333 -> 1.334 --- Log message: allow vectors to be passed to stdcall/fastcall functions --- Diffs of the changes: (+10 -18) X86ISelLowering.cpp | 28 ++++++++++------------------ 1 files changed, 10 insertions(+), 18 deletions(-) Index: llvm/lib/Target/X86/X86ISelLowering.cpp diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.333 llvm/lib/Target/X86/X86ISelLowering.cpp:1.334 --- llvm/lib/Target/X86/X86ISelLowering.cpp:1.333 Sun Feb 25 03:12:39 2007 +++ llvm/lib/Target/X86/X86ISelLowering.cpp Sun Feb 25 03:14:25 2007 @@ -645,8 +645,7 @@ unsigned NumIntRegs, unsigned NumXMMRegs, unsigned MaxNumIntRegs, unsigned &ObjSize, unsigned &ObjIntRegs, - unsigned &ObjXMMRegs, - bool AllowVectors = true) { + unsigned &ObjXMMRegs) { ObjSize = 0; ObjIntRegs = 0; ObjXMMRegs = 0; @@ -696,14 +695,11 @@ case MVT::v2i64: case MVT::v4f32: case MVT::v2f64: - if (AllowVectors) { - if (NumXMMRegs < 4) - ObjXMMRegs = 1; - else - ObjSize = 16; - break; - } else - assert(0 && "Unhandled argument type [vector]!"); + if (NumXMMRegs < 4) + ObjXMMRegs = 1; + else + ObjSize = 16; + break; } } @@ -764,8 +760,7 @@ HowToPassCallArgument(ObjectVT, ArgInRegs[i], NumIntRegs, NumXMMRegs, 3, - ObjSize, ObjIntRegs, ObjXMMRegs, - !isStdCall); + ObjSize, ObjIntRegs, ObjXMMRegs); if (ObjSize > 4) ArgIncrement = ObjSize; @@ -884,8 +879,7 @@ HowToPassCallArgument(Arg.getValueType(), ArgInRegs[i], NumIntRegs, NumXMMRegs, 3, - ObjSize, ObjIntRegs, ObjXMMRegs, - CC != CallingConv::X86_StdCall); + ObjSize, ObjIntRegs, ObjXMMRegs); if (ObjSize > 4) ArgIncrement = ObjSize; @@ -918,8 +912,7 @@ HowToPassCallArgument(Arg.getValueType(), ArgInRegs[i], NumIntRegs, NumXMMRegs, 3, - ObjSize, ObjIntRegs, ObjXMMRegs, - CC != CallingConv::X86_StdCall); + ObjSize, ObjIntRegs, ObjXMMRegs); if (ObjSize > 4) ArgIncrement = ObjSize; @@ -1574,8 +1567,7 @@ true, // Use as much registers as possible NumIntRegs, NumXMMRegs, (isFastCall ? 2 : FASTCC_NUM_INT_ARGS_INREGS), - ObjSize, ObjIntRegs, ObjXMMRegs, - !isFastCall); + ObjSize, ObjIntRegs, ObjXMMRegs); if (ObjSize > 4) ArgIncrement = ObjSize; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits