diff options
author | Chris Lattner <sabre@nondot.org> | 2010-08-30 22:03:23 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-08-30 22:03:23 +0000 |
commit | a48fbe8c5372f68a5e3ebe3bb2a85c2562dd3195 (patch) | |
tree | 2dff8d48dcdc8eb96954c77bed8cc28b5f2d633f /clang | |
parent | ff3c05419ecd592da0d744c5bc1f308350e79641 (diff) | |
download | bcm5719-llvm-a48fbe8c5372f68a5e3ebe3bb2a85c2562dd3195.tar.gz bcm5719-llvm-a48fbe8c5372f68a5e3ebe3bb2a85c2562dd3195.zip |
Fix PR8029, a x86-32 ABI regression in introduced in r112211
llvm-svn: 112537
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/CodeGen/TargetInfo.cpp | 1 | ||||
-rw-r--r-- | clang/test/CodeGen/x86_32-arguments.c | 7 |
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; } + |