summaryrefslogtreecommitdiff
path: root/test/Sema/builtins-x86.c
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2015-01-19 01:18:22 +0000
committerCraig Topper <craig.topper@gmail.com>2015-01-19 01:18:22 +0000
commitc8a78ec8fa48df65f4a351fbaec63fdc1880209b (patch)
treeb70d17542c3a1d43690f0051e48da4f9bc74b35b /test/Sema/builtins-x86.c
parent52753a66c8ee3dbe9b5771560246c0ae5a5704b9 (diff)
downloadclang-c8a78ec8fa48df65f4a351fbaec63fdc1880209b.tar.gz
[x86] Teach Sema to check size of comparison immediate on avx512 cmpps/cmppd buitins.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@226422 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Sema/builtins-x86.c')
-rw-r--r--test/Sema/builtins-x86.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/Sema/builtins-x86.c b/test/Sema/builtins-x86.c
index 9929e6135c..71004e1e2b 100644
--- a/test/Sema/builtins-x86.c
+++ b/test/Sema/builtins-x86.c
@@ -3,6 +3,12 @@
typedef float __m128 __attribute__((__vector_size__(16)));
typedef double __m128d __attribute__((__vector_size__(16)));
+typedef float __m512 __attribute__((__vector_size__(64)));
+typedef double __m512d __attribute__((__vector_size__(64)));
+
+typedef unsigned char __mmask8;
+typedef unsigned short __mmask16;
+
__m128 test__builtin_ia32_cmpps(__m128 __a, __m128 __b) {
__builtin_ia32_cmpps(__a, __b, 32); // expected-error {{argument should be a value from 0 to 31}}
}
@@ -18,3 +24,11 @@ __m128 test__builtin_ia32_cmpss(__m128 __a, __m128 __b) {
__m128d test__builtin_ia32_cmpsd(__m128d __a, __m128d __b) {
__builtin_ia32_cmpsd(__a, __b, 32); // expected-error {{argument should be a value from 0 to 31}}
}
+
+__mmask16 test__builtin_ia32_cmpps512_mask(__m512d __a, __m512d __b) {
+ __builtin_ia32_cmpps512_mask(__a, __b, 32, -1, 0); // expected-error {{argument should be a value from 0 to 31}}
+}
+
+__mmask8 test__builtin_ia32_cmppd512_mask(__m512d __a, __m512d __b) {
+ __builtin_ia32_cmppd512_mask(__a, __b, 32, -1, 0); // expected-error {{argument should be a value from 0 to 31}}
+}