]> granicus.if.org Git - clang/commitdiff
Fix PR8029, a x86-32 ABI regression in introduced in r112211
authorChris Lattner <sabre@nondot.org>
Mon, 30 Aug 2010 22:03:23 +0000 (22:03 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 30 Aug 2010 22:03:23 +0000 (22:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112537 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/TargetInfo.cpp
test/CodeGen/x86_32-arguments.c

index d2bd33258cd81cf4ec73b16a567a60f404154ef5..bf261200bc3b63dfbe59b8fe860e1ccea221a5b4 100644 (file)
@@ -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();
index 19a0f5214e1251739f60d76f4d37df86ec336199..75dfb82b32ad159410fc304a2abb66a33b15d305 100644 (file)
@@ -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; }
+