summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-08-30 22:03:23 +0000
committerChris Lattner <sabre@nondot.org>2010-08-30 22:03:23 +0000
commita48fbe8c5372f68a5e3ebe3bb2a85c2562dd3195 (patch)
tree2dff8d48dcdc8eb96954c77bed8cc28b5f2d633f
parentff3c05419ecd592da0d744c5bc1f308350e79641 (diff)
downloadbcm5719-llvm-a48fbe8c5372f68a5e3ebe3bb2a85c2562dd3195.tar.gz
bcm5719-llvm-a48fbe8c5372f68a5e3ebe3bb2a85c2562dd3195.zip
Fix PR8029, a x86-32 ABI regression in introduced in r112211
llvm-svn: 112537
-rw-r--r--clang/lib/CodeGen/TargetInfo.cpp1
-rw-r--r--clang/test/CodeGen/x86_32-arguments.c7
2 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp
index d2bd33258cd..bf261200bc3 100644
--- a/clang/lib/CodeGen/TargetInfo.cpp
+++ b/clang/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/clang/test/CodeGen/x86_32-arguments.c b/clang/test/CodeGen/x86_32-arguments.c
index 19a0f5214e1..75dfb82b32a 100644
--- a/clang/test/CodeGen/x86_32-arguments.c
+++ b/clang/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; }
+
OpenPOWER on IntegriCloud