1 // RUN: %clang_cc1 -triple=x86_64-apple-darwin -fsyntax-only -verify %s
2 
3 typedef long long __m128i __attribute__((__vector_size__(16)));
4 typedef float __m128 __attribute__((__vector_size__(16)));
5 typedef double __m128d __attribute__((__vector_size__(16)));
6 
7 typedef float __m512 __attribute__((__vector_size__(64)));
8 typedef double __m512d __attribute__((__vector_size__(64)));
9 
10 typedef unsigned char __mmask8;
11 typedef unsigned short __mmask16;
12 
test__builtin_ia32_cmpps(__m128 __a,__m128 __b)13 __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 
test__builtin_ia32_cmppd(__m128d __a,__m128d __b)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 
test__builtin_ia32_cmpss(__m128 __a,__m128 __b)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 
test__builtin_ia32_cmpsd(__m128d __a,__m128d __b)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 }
28 
test__builtin_ia32_cmpps512_mask(__m512d __a,__m512d __b)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 
test__builtin_ia32_cmppd512_mask(__m512d __a,__m512d __b)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 }
36 
test__builtin_ia32_vpcomub(__m128i __a,__m128i __b)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 
test__builtin_ia32_vpcomuw(__m128i __a,__m128i __b)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 
test__builtin_ia32_vpcomud(__m128i __a,__m128i __b)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 
test__builtin_ia32_vpcomuq(__m128i __a,__m128i __b)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 
test__builtin_ia32_vpcomb(__m128i __a,__m128i __b)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 
test__builtin_ia32_vpcomw(__m128i __a,__m128i __b)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 
test__builtin_ia32_vpcomd(__m128i __a,__m128i __b)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 
test__builtin_ia32_vpcomq(__m128i __a,__m128i __b)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 }
68