blob: 326d2a3a7a16721082a1631185e40b1cf4257655 [file] [log] [blame]
Craig Topperdd84ec52014-12-27 07:00:08 +00001// RUN: %clang_cc1 -triple=x86_64-apple-darwin -fsyntax-only -verify %s
2
Craig Topper8dd7d0d2015-02-13 06:04:48 +00003typedef long long __m128i __attribute__((__vector_size__(16)));
Craig Topperdd84ec52014-12-27 07:00:08 +00004typedef float __m128 __attribute__((__vector_size__(16)));
5typedef double __m128d __attribute__((__vector_size__(16)));
6
Craig Toppera3306ca2015-01-19 01:18:22 +00007typedef float __m512 __attribute__((__vector_size__(64)));
8typedef double __m512d __attribute__((__vector_size__(64)));
9
10typedef unsigned char __mmask8;
11typedef unsigned short __mmask16;
12
Craig Topperdd84ec52014-12-27 07:00:08 +000013__m128 test__builtin_ia32_cmpps(__m128 __a, __m128 __b) {
14 __builtin_ia32_cmpps(__a, __b, 32); // expected-error {{argument should be a value from 0 to 31}}
15}
16
17__m128d test__builtin_ia32_cmppd(__m128d __a, __m128d __b) {
18 __builtin_ia32_cmppd(__a, __b, 32); // expected-error {{argument should be a value from 0 to 31}}
19}
20
21__m128 test__builtin_ia32_cmpss(__m128 __a, __m128 __b) {
22 __builtin_ia32_cmpss(__a, __b, 32); // expected-error {{argument should be a value from 0 to 31}}
23}
24
25__m128d test__builtin_ia32_cmpsd(__m128d __a, __m128d __b) {
26 __builtin_ia32_cmpsd(__a, __b, 32); // expected-error {{argument should be a value from 0 to 31}}
27}
Craig Toppera3306ca2015-01-19 01:18:22 +000028
29__mmask16 test__builtin_ia32_cmpps512_mask(__m512d __a, __m512d __b) {
30 __builtin_ia32_cmpps512_mask(__a, __b, 32, -1, 0); // expected-error {{argument should be a value from 0 to 31}}
31}
32
33__mmask8 test__builtin_ia32_cmppd512_mask(__m512d __a, __m512d __b) {
34 __builtin_ia32_cmppd512_mask(__a, __b, 32, -1, 0); // expected-error {{argument should be a value from 0 to 31}}
35}
Craig Topper8dd7d0d2015-02-13 06:04:48 +000036
37__m128i test__builtin_ia32_vpcomub(__m128i __a, __m128i __b) {
38 __builtin_ia32_vpcomub(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
39}
40
41__m128i test__builtin_ia32_vpcomuw(__m128i __a, __m128i __b) {
42 __builtin_ia32_vpcomuw(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
43}
44
45__m128i test__builtin_ia32_vpcomud(__m128i __a, __m128i __b) {
46 __builtin_ia32_vpcomud(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
47}
48
49__m128i test__builtin_ia32_vpcomuq(__m128i __a, __m128i __b) {
50 __builtin_ia32_vpcomuq(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
51}
52
53__m128i test__builtin_ia32_vpcomb(__m128i __a, __m128i __b) {
54 __builtin_ia32_vpcomub(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
55}
56
57__m128i test__builtin_ia32_vpcomw(__m128i __a, __m128i __b) {
58 __builtin_ia32_vpcomuw(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
59}
60
61__m128i test__builtin_ia32_vpcomd(__m128i __a, __m128i __b) {
62 __builtin_ia32_vpcomud(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
63}
64
65__m128i test__builtin_ia32_vpcomq(__m128i __a, __m128i __b) {
66 __builtin_ia32_vpcomuq(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
67}