xref: /aosp_15_r20/external/clang/test/Sema/builtins-x86.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -triple=x86_64-apple-darwin -fsyntax-only -verify %s
2*67e74705SXin Li 
3*67e74705SXin Li typedef long long __m128i __attribute__((__vector_size__(16)));
4*67e74705SXin Li typedef float __m128 __attribute__((__vector_size__(16)));
5*67e74705SXin Li typedef double __m128d __attribute__((__vector_size__(16)));
6*67e74705SXin Li 
7*67e74705SXin Li typedef float __m512 __attribute__((__vector_size__(64)));
8*67e74705SXin Li typedef double __m512d __attribute__((__vector_size__(64)));
9*67e74705SXin Li 
10*67e74705SXin Li typedef unsigned char __mmask8;
11*67e74705SXin Li typedef unsigned short __mmask16;
12*67e74705SXin Li 
test__builtin_ia32_cmpps(__m128 __a,__m128 __b)13*67e74705SXin Li __m128 test__builtin_ia32_cmpps(__m128 __a, __m128 __b) {
14*67e74705SXin Li   __builtin_ia32_cmpps(__a, __b, 32); // expected-error {{argument should be a value from 0 to 31}}
15*67e74705SXin Li }
16*67e74705SXin Li 
test__builtin_ia32_cmppd(__m128d __a,__m128d __b)17*67e74705SXin Li __m128d test__builtin_ia32_cmppd(__m128d __a, __m128d __b) {
18*67e74705SXin Li   __builtin_ia32_cmppd(__a, __b, 32); // expected-error {{argument should be a value from 0 to 31}}
19*67e74705SXin Li }
20*67e74705SXin Li 
test__builtin_ia32_cmpss(__m128 __a,__m128 __b)21*67e74705SXin Li __m128 test__builtin_ia32_cmpss(__m128 __a, __m128 __b) {
22*67e74705SXin Li   __builtin_ia32_cmpss(__a, __b, 32); // expected-error {{argument should be a value from 0 to 31}}
23*67e74705SXin Li }
24*67e74705SXin Li 
test__builtin_ia32_cmpsd(__m128d __a,__m128d __b)25*67e74705SXin Li __m128d test__builtin_ia32_cmpsd(__m128d __a, __m128d __b) {
26*67e74705SXin Li   __builtin_ia32_cmpsd(__a, __b, 32); // expected-error {{argument should be a value from 0 to 31}}
27*67e74705SXin Li }
28*67e74705SXin Li 
test__builtin_ia32_cmpps512_mask(__m512d __a,__m512d __b)29*67e74705SXin Li __mmask16 test__builtin_ia32_cmpps512_mask(__m512d __a, __m512d __b) {
30*67e74705SXin Li   __builtin_ia32_cmpps512_mask(__a, __b, 32, -1, 0); // expected-error {{argument should be a value from 0 to 31}}
31*67e74705SXin Li }
32*67e74705SXin Li 
test__builtin_ia32_cmppd512_mask(__m512d __a,__m512d __b)33*67e74705SXin Li __mmask8 test__builtin_ia32_cmppd512_mask(__m512d __a, __m512d __b) {
34*67e74705SXin Li   __builtin_ia32_cmppd512_mask(__a, __b, 32, -1, 0); // expected-error {{argument should be a value from 0 to 31}}
35*67e74705SXin Li }
36*67e74705SXin Li 
test__builtin_ia32_vpcomub(__m128i __a,__m128i __b)37*67e74705SXin Li __m128i test__builtin_ia32_vpcomub(__m128i __a, __m128i __b) {
38*67e74705SXin Li   __builtin_ia32_vpcomub(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
39*67e74705SXin Li }
40*67e74705SXin Li 
test__builtin_ia32_vpcomuw(__m128i __a,__m128i __b)41*67e74705SXin Li __m128i test__builtin_ia32_vpcomuw(__m128i __a, __m128i __b) {
42*67e74705SXin Li   __builtin_ia32_vpcomuw(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
43*67e74705SXin Li }
44*67e74705SXin Li 
test__builtin_ia32_vpcomud(__m128i __a,__m128i __b)45*67e74705SXin Li __m128i test__builtin_ia32_vpcomud(__m128i __a, __m128i __b) {
46*67e74705SXin Li   __builtin_ia32_vpcomud(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
47*67e74705SXin Li }
48*67e74705SXin Li 
test__builtin_ia32_vpcomuq(__m128i __a,__m128i __b)49*67e74705SXin Li __m128i test__builtin_ia32_vpcomuq(__m128i __a, __m128i __b) {
50*67e74705SXin Li   __builtin_ia32_vpcomuq(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
51*67e74705SXin Li }
52*67e74705SXin Li 
test__builtin_ia32_vpcomb(__m128i __a,__m128i __b)53*67e74705SXin Li __m128i test__builtin_ia32_vpcomb(__m128i __a, __m128i __b) {
54*67e74705SXin Li   __builtin_ia32_vpcomub(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
55*67e74705SXin Li }
56*67e74705SXin Li 
test__builtin_ia32_vpcomw(__m128i __a,__m128i __b)57*67e74705SXin Li __m128i test__builtin_ia32_vpcomw(__m128i __a, __m128i __b) {
58*67e74705SXin Li   __builtin_ia32_vpcomuw(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
59*67e74705SXin Li }
60*67e74705SXin Li 
test__builtin_ia32_vpcomd(__m128i __a,__m128i __b)61*67e74705SXin Li __m128i test__builtin_ia32_vpcomd(__m128i __a, __m128i __b) {
62*67e74705SXin Li   __builtin_ia32_vpcomud(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
63*67e74705SXin Li }
64*67e74705SXin Li 
test__builtin_ia32_vpcomq(__m128i __a,__m128i __b)65*67e74705SXin Li __m128i test__builtin_ia32_vpcomq(__m128i __a, __m128i __b) {
66*67e74705SXin Li   __builtin_ia32_vpcomuq(__a, __b, 8); // expected-error {{argument should be a value from 0 to 7}}
67*67e74705SXin Li }
68