From d774ae9ed11730123f526d2918734ad659643f69 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 26 Aug 2010 20:05:13 +0000 Subject: fix 2xi16 to pass as i32 instead of <2 x i16>. The former passes in memory (as required) the later now passes in an xmm register. This fixes gcc.dg/compat/vector_1 on x86-32. llvm-svn: 112211 --- clang/test/CodeGen/x86_32-arguments.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'clang/test/CodeGen') diff --git a/clang/test/CodeGen/x86_32-arguments.c b/clang/test/CodeGen/x86_32-arguments.c index 01c3e236f3b..4f2a6a3a38e 100644 --- a/clang/test/CodeGen/x86_32-arguments.c +++ b/clang/test/CodeGen/x86_32-arguments.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fblocks -triple i386-apple-darwin9 -emit-llvm -o %t %s +// RUN: %clang_cc1 -w -fblocks -triple i386-apple-darwin9 -emit-llvm -o %t %s // RUN: FileCheck < %t %s // CHECK: define signext i8 @f0() @@ -214,3 +214,9 @@ struct __attribute__((aligned(32))) s53 { int y; }; void f53(struct s53 x) {} + +typedef unsigned short v2i16 __attribute__((__vector_size__(4))); + +// CHECK: define i32 @f54(i32 %arg.coerce) +v2i16 f54(v2i16 arg) { return arg+arg; } + -- cgit v1.2.3