diff options
author | dim <dim@FreeBSD.org> | 2012-04-14 14:01:31 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2012-04-14 14:01:31 +0000 |
commit | 50b73317314e889cf39c7b1d6cbf419fa7502f22 (patch) | |
tree | be1815eb79b42ff482a8562b13c2dcbf0c5dcbee /test/CodeGen/asm.c | |
parent | dc04cb328508e61aad809d9b53b12f9799a00e7d (diff) | |
download | FreeBSD-src-50b73317314e889cf39c7b1d6cbf419fa7502f22.zip FreeBSD-src-50b73317314e889cf39c7b1d6cbf419fa7502f22.tar.gz |
Vendor import of clang trunk r154661:
http://llvm.org/svn/llvm-project/cfe/trunk@r154661
Diffstat (limited to 'test/CodeGen/asm.c')
-rw-r--r-- | test/CodeGen/asm.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/test/CodeGen/asm.c b/test/CodeGen/asm.c index 019eb9c..84f26e1 100644 --- a/test/CodeGen/asm.c +++ b/test/CodeGen/asm.c @@ -63,7 +63,6 @@ void t10(int r) { // CHECK:PR3908 $1 $3 $2 $0 } - // PR3373 unsigned t11(signed char input) { unsigned output; @@ -101,9 +100,6 @@ unsigned long t15(int x, struct large *P) { return x; } - - - // bitfield destination of an asm. struct S { int a : 4; @@ -113,7 +109,6 @@ void t14(struct S *P) { __asm__("abc %0" : "=r"(P->a) ); } - // PR4938 int t16() { int a,b; @@ -145,7 +140,6 @@ int t18(unsigned data) { // CHECK-NEXT: extractvalue } - // PR6780 int t19(unsigned data) { int a, b; @@ -156,7 +150,6 @@ int t19(unsigned data) { // CHECK: = call {{.*}}asm "x$(abc$|def$|ghi$)z" } - // PR6845 - Mismatching source/dest fp types. double t20(double x) { register long double result; @@ -209,9 +202,8 @@ void *t24(char c) { return addr; } - // PR10299 - fpsr, fpcr -void test(void) +void t25(void) { __asm__ __volatile__( \ "finit" \ @@ -222,3 +214,9 @@ void test(void) "fpsr","fpcr" \ ); } + +// rdar://10510405 - AVX registers +typedef long long __m256i __attribute__((__vector_size__(32))); +void t26 (__m256i *p) { + __asm__ volatile("vmovaps %0, %%ymm0" :: "m" (*(__m256i*)p) : "ymm0"); +} |