diff options
-rw-r--r-- | lib/CodeGen/TargetInfo.cpp | 1 | ||||
-rw-r--r-- | test/CodeGen/x86_32-arguments.c | 7 |
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/CodeGen/TargetInfo.cpp b/lib/CodeGen/TargetInfo.cpp index d2bd33258c..bf261200bc 100644 --- a/lib/CodeGen/TargetInfo.cpp +++ b/lib/CodeGen/TargetInfo.cpp @@ -598,7 +598,6 @@ ABIArgInfo X86_32ABIInfo::classifyArgumentType(QualType Ty) const { (Size == 64 && VT->getNumElements() == 1)) return ABIArgInfo::getDirect(llvm::IntegerType::get(getVMContext(), Size)); - return ABIArgInfo::getIndirect(0); } return ABIArgInfo::getDirect(); diff --git a/test/CodeGen/x86_32-arguments.c b/test/CodeGen/x86_32-arguments.c index 19a0f5214e..75dfb82b32 100644 --- a/test/CodeGen/x86_32-arguments.c +++ b/test/CodeGen/x86_32-arguments.c @@ -221,3 +221,10 @@ typedef unsigned short v2i16 __attribute__((__vector_size__(4))); // rdar://8359483 v2i16 f54(v2i16 arg) { return arg+arg; } + +typedef int v4i32 __attribute__((__vector_size__(16))); + +// CHECK: define <2 x i64> @f55(<4 x i32> %arg) +// PR8029 +v4i32 f55(v4i32 arg) { return arg+arg; } + |