1673c5308Schenli // RUN: %clang_cc1 -triple loongarch64 -target-feature +lsx -verify %s
2*4c3de45eSleecheechen // RUN: not %clang_cc1 -triple loongarch64 -DFEATURE_CHECK -emit-llvm %s -o /dev/null 2>&1 \
3*4c3de45eSleecheechen // RUN: | FileCheck %s
4673c5308Schenli
5673c5308Schenli typedef signed char v16i8 __attribute__((vector_size(16), aligned(16)));
6673c5308Schenli typedef signed char v16i8_b __attribute__((vector_size(16), aligned(1)));
7673c5308Schenli typedef unsigned char v16u8 __attribute__((vector_size(16), aligned(16)));
8673c5308Schenli typedef unsigned char v16u8_b __attribute__((vector_size(16), aligned(1)));
9673c5308Schenli typedef short v8i16 __attribute__((vector_size(16), aligned(16)));
10673c5308Schenli typedef short v8i16_h __attribute__((vector_size(16), aligned(2)));
11673c5308Schenli typedef unsigned short v8u16 __attribute__((vector_size(16), aligned(16)));
12673c5308Schenli typedef unsigned short v8u16_h __attribute__((vector_size(16), aligned(2)));
13673c5308Schenli typedef int v4i32 __attribute__((vector_size(16), aligned(16)));
14673c5308Schenli typedef int v4i32_w __attribute__((vector_size(16), aligned(4)));
15673c5308Schenli typedef unsigned int v4u32 __attribute__((vector_size(16), aligned(16)));
16673c5308Schenli typedef unsigned int v4u32_w __attribute__((vector_size(16), aligned(4)));
17673c5308Schenli typedef long long v2i64 __attribute__((vector_size(16), aligned(16)));
18673c5308Schenli typedef long long v2i64_d __attribute__((vector_size(16), aligned(8)));
19673c5308Schenli typedef unsigned long long v2u64 __attribute__((vector_size(16), aligned(16)));
20673c5308Schenli typedef unsigned long long v2u64_d __attribute__((vector_size(16), aligned(8)));
21673c5308Schenli typedef float v4f32 __attribute__((vector_size(16), aligned(16)));
22673c5308Schenli typedef float v4f32_w __attribute__((vector_size(16), aligned(4)));
23673c5308Schenli typedef double v2f64 __attribute__((vector_size(16), aligned(16)));
24673c5308Schenli typedef double v2f64_d __attribute__((vector_size(16), aligned(8)));
25673c5308Schenli
26673c5308Schenli typedef long long __m128i __attribute__((__vector_size__(16), __may_alias__));
27673c5308Schenli typedef float __m128 __attribute__((__vector_size__(16), __may_alias__));
28673c5308Schenli typedef double __m128d __attribute__((__vector_size__(16), __may_alias__));
29673c5308Schenli
30*4c3de45eSleecheechen #ifdef FEATURE_CHECK
test_feature(v16i8 _1)31*4c3de45eSleecheechen void test_feature(v16i8 _1) {
32*4c3de45eSleecheechen // CHECK: error: '__builtin_lsx_vslli_b' needs target feature lsx
33*4c3de45eSleecheechen (void)__builtin_lsx_vslli_b(_1, 1);
34*4c3de45eSleecheechen }
35*4c3de45eSleecheechen #endif
36*4c3de45eSleecheechen
vslli_b(v16i8 _1,int var)37673c5308Schenli v16i8 vslli_b(v16i8 _1, int var) {
38673c5308Schenli v16i8 res = __builtin_lsx_vslli_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
39673c5308Schenli res |= __builtin_lsx_vslli_b(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
40673c5308Schenli res |= __builtin_lsx_vslli_b(_1, var); // expected-error {{argument to '__builtin_lsx_vslli_b' must be a constant integer}}
41673c5308Schenli return res;
42673c5308Schenli }
43673c5308Schenli
vslli_h(v8i16 _1,int var)44673c5308Schenli v8i16 vslli_h(v8i16 _1, int var) {
45673c5308Schenli v8i16 res = __builtin_lsx_vslli_h(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
46673c5308Schenli res |= __builtin_lsx_vslli_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
47673c5308Schenli res |= __builtin_lsx_vslli_h(_1, var); // expected-error {{argument to '__builtin_lsx_vslli_h' must be a constant integer}}
48673c5308Schenli return res;
49673c5308Schenli }
50673c5308Schenli
vslli_w(v4i32 _1,int var)51673c5308Schenli v4i32 vslli_w(v4i32 _1, int var) {
52673c5308Schenli v4i32 res = __builtin_lsx_vslli_w(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
53673c5308Schenli res |= __builtin_lsx_vslli_w(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
54673c5308Schenli res |= __builtin_lsx_vslli_w(_1, var); // expected-error {{argument to '__builtin_lsx_vslli_w' must be a constant integer}}
55673c5308Schenli return res;
56673c5308Schenli }
57673c5308Schenli
vslli_d(v2i64 _1,int var)58673c5308Schenli v2i64 vslli_d(v2i64 _1, int var) {
59673c5308Schenli v2i64 res = __builtin_lsx_vslli_d(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
60673c5308Schenli res |= __builtin_lsx_vslli_d(_1, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
61673c5308Schenli res |= __builtin_lsx_vslli_d(_1, var); // expected-error {{argument to '__builtin_lsx_vslli_d' must be a constant integer}}
62673c5308Schenli return res;
63673c5308Schenli }
64673c5308Schenli
vsrai_b(v16i8 _1,int var)65673c5308Schenli v16i8 vsrai_b(v16i8 _1, int var) {
66673c5308Schenli v16i8 res = __builtin_lsx_vsrai_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
67673c5308Schenli res |= __builtin_lsx_vsrai_b(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
68673c5308Schenli res |= __builtin_lsx_vsrai_b(_1, var); // expected-error {{argument to '__builtin_lsx_vsrai_b' must be a constant integer}}
69673c5308Schenli return res;
70673c5308Schenli }
71673c5308Schenli
vsrai_h(v8i16 _1,int var)72673c5308Schenli v8i16 vsrai_h(v8i16 _1, int var) {
73673c5308Schenli v8i16 res = __builtin_lsx_vsrai_h(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
74673c5308Schenli res |= __builtin_lsx_vsrai_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
75673c5308Schenli res |= __builtin_lsx_vsrai_h(_1, var); // expected-error {{argument to '__builtin_lsx_vsrai_h' must be a constant integer}}
76673c5308Schenli return res;
77673c5308Schenli }
78673c5308Schenli
vsrai_w(v4i32 _1,int var)79673c5308Schenli v4i32 vsrai_w(v4i32 _1, int var) {
80673c5308Schenli v4i32 res = __builtin_lsx_vsrai_w(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
81673c5308Schenli res |= __builtin_lsx_vsrai_w(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
82673c5308Schenli res |= __builtin_lsx_vsrai_w(_1, var); // expected-error {{argument to '__builtin_lsx_vsrai_w' must be a constant integer}}
83673c5308Schenli return res;
84673c5308Schenli }
85673c5308Schenli
vsrai_d(v2i64 _1,int var)86673c5308Schenli v2i64 vsrai_d(v2i64 _1, int var) {
87673c5308Schenli v2i64 res = __builtin_lsx_vsrai_d(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
88673c5308Schenli res |= __builtin_lsx_vsrai_d(_1, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
89673c5308Schenli res |= __builtin_lsx_vsrai_d(_1, var); // expected-error {{argument to '__builtin_lsx_vsrai_d' must be a constant integer}}
90673c5308Schenli return res;
91673c5308Schenli }
92673c5308Schenli
vsrari_b(v16i8 _1,int var)93673c5308Schenli v16i8 vsrari_b(v16i8 _1, int var) {
94673c5308Schenli v16i8 res = __builtin_lsx_vsrari_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
95673c5308Schenli res |= __builtin_lsx_vsrari_b(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
96673c5308Schenli res |= __builtin_lsx_vsrari_b(_1, var); // expected-error {{argument to '__builtin_lsx_vsrari_b' must be a constant integer}}
97673c5308Schenli return res;
98673c5308Schenli }
99673c5308Schenli
vsrari_h(v8i16 _1,int var)100673c5308Schenli v8i16 vsrari_h(v8i16 _1, int var) {
101673c5308Schenli v8i16 res = __builtin_lsx_vsrari_h(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
102673c5308Schenli res |= __builtin_lsx_vsrari_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
103673c5308Schenli res |= __builtin_lsx_vsrari_h(_1, var); // expected-error {{argument to '__builtin_lsx_vsrari_h' must be a constant integer}}
104673c5308Schenli return res;
105673c5308Schenli }
106673c5308Schenli
vsrari_w(v4i32 _1,int var)107673c5308Schenli v4i32 vsrari_w(v4i32 _1, int var) {
108673c5308Schenli v4i32 res = __builtin_lsx_vsrari_w(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
109673c5308Schenli res |= __builtin_lsx_vsrari_w(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
110673c5308Schenli res |= __builtin_lsx_vsrari_w(_1, var); // expected-error {{argument to '__builtin_lsx_vsrari_w' must be a constant integer}}
111673c5308Schenli return res;
112673c5308Schenli }
113673c5308Schenli
vsrari_d(v2i64 _1,int var)114673c5308Schenli v2i64 vsrari_d(v2i64 _1, int var) {
115673c5308Schenli v2i64 res = __builtin_lsx_vsrari_d(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
116673c5308Schenli res |= __builtin_lsx_vsrari_d(_1, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
117673c5308Schenli res |= __builtin_lsx_vsrari_d(_1, var); // expected-error {{argument to '__builtin_lsx_vsrari_d' must be a constant integer}}
118673c5308Schenli return res;
119673c5308Schenli }
120673c5308Schenli
vsrli_b(v16i8 _1,int var)121673c5308Schenli v16i8 vsrli_b(v16i8 _1, int var) {
122673c5308Schenli v16i8 res = __builtin_lsx_vsrli_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
123673c5308Schenli res |= __builtin_lsx_vsrli_b(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
124673c5308Schenli res |= __builtin_lsx_vsrli_b(_1, var); // expected-error {{argument to '__builtin_lsx_vsrli_b' must be a constant integer}}
125673c5308Schenli return res;
126673c5308Schenli }
127673c5308Schenli
vsrli_h(v8i16 _1,int var)128673c5308Schenli v8i16 vsrli_h(v8i16 _1, int var) {
129673c5308Schenli v8i16 res = __builtin_lsx_vsrli_h(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
130673c5308Schenli res |= __builtin_lsx_vsrli_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
131673c5308Schenli res |= __builtin_lsx_vsrli_h(_1, var); // expected-error {{argument to '__builtin_lsx_vsrli_h' must be a constant integer}}
132673c5308Schenli return res;
133673c5308Schenli }
134673c5308Schenli
vsrli_w(v4i32 _1,int var)135673c5308Schenli v4i32 vsrli_w(v4i32 _1, int var) {
136673c5308Schenli v4i32 res = __builtin_lsx_vsrli_w(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
137673c5308Schenli res |= __builtin_lsx_vsrli_w(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
138673c5308Schenli res |= __builtin_lsx_vsrli_w(_1, var); // expected-error {{argument to '__builtin_lsx_vsrli_w' must be a constant integer}}
139673c5308Schenli return res;
140673c5308Schenli }
141673c5308Schenli
vsrli_d(v2i64 _1,int var)142673c5308Schenli v2i64 vsrli_d(v2i64 _1, int var) {
143673c5308Schenli v2i64 res = __builtin_lsx_vsrli_d(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
144673c5308Schenli res |= __builtin_lsx_vsrli_d(_1, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
145673c5308Schenli res |= __builtin_lsx_vsrli_d(_1, var); // expected-error {{argument to '__builtin_lsx_vsrli_d' must be a constant integer}}
146673c5308Schenli return res;
147673c5308Schenli }
148673c5308Schenli
vsrlri_b(v16i8 _1,int var)149673c5308Schenli v16i8 vsrlri_b(v16i8 _1, int var) {
150673c5308Schenli v16i8 res = __builtin_lsx_vsrlri_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
151673c5308Schenli res |= __builtin_lsx_vsrlri_b(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
152673c5308Schenli res |= __builtin_lsx_vsrlri_b(_1, var); // expected-error {{argument to '__builtin_lsx_vsrlri_b' must be a constant integer}}
153673c5308Schenli return res;
154673c5308Schenli }
155673c5308Schenli
vsrlri_h(v8i16 _1,int var)156673c5308Schenli v8i16 vsrlri_h(v8i16 _1, int var) {
157673c5308Schenli v8i16 res = __builtin_lsx_vsrlri_h(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
158673c5308Schenli res |= __builtin_lsx_vsrlri_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
159673c5308Schenli res |= __builtin_lsx_vsrlri_h(_1, var); // expected-error {{argument to '__builtin_lsx_vsrlri_h' must be a constant integer}}
160673c5308Schenli return res;
161673c5308Schenli }
162673c5308Schenli
vsrlri_w(v4i32 _1,int var)163673c5308Schenli v4i32 vsrlri_w(v4i32 _1, int var) {
164673c5308Schenli v4i32 res = __builtin_lsx_vsrlri_w(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
165673c5308Schenli res |= __builtin_lsx_vsrlri_w(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
166673c5308Schenli res |= __builtin_lsx_vsrlri_w(_1, var); // expected-error {{argument to '__builtin_lsx_vsrlri_w' must be a constant integer}}
167673c5308Schenli return res;
168673c5308Schenli }
169673c5308Schenli
vsrlri_d(v2i64 _1,int var)170673c5308Schenli v2i64 vsrlri_d(v2i64 _1, int var) {
171673c5308Schenli v2i64 res = __builtin_lsx_vsrlri_d(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
172673c5308Schenli res |= __builtin_lsx_vsrlri_d(_1, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
173673c5308Schenli res |= __builtin_lsx_vsrlri_d(_1, var); // expected-error {{argument to '__builtin_lsx_vsrlri_d' must be a constant integer}}
174673c5308Schenli return res;
175673c5308Schenli }
176673c5308Schenli
vbitclri_b(v16u8 _1,int var)177673c5308Schenli v16u8 vbitclri_b(v16u8 _1, int var) {
178673c5308Schenli v16u8 res = __builtin_lsx_vbitclri_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
179673c5308Schenli res |= __builtin_lsx_vbitclri_b(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
180673c5308Schenli res |= __builtin_lsx_vbitclri_b(_1, var); // expected-error {{argument to '__builtin_lsx_vbitclri_b' must be a constant integer}}
181673c5308Schenli return res;
182673c5308Schenli }
183673c5308Schenli
vbitclri_h(v8u16 _1,int var)184673c5308Schenli v8u16 vbitclri_h(v8u16 _1, int var) {
185673c5308Schenli v8u16 res = __builtin_lsx_vbitclri_h(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
186673c5308Schenli res |= __builtin_lsx_vbitclri_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
187673c5308Schenli res |= __builtin_lsx_vbitclri_h(_1, var); // expected-error {{argument to '__builtin_lsx_vbitclri_h' must be a constant integer}}
188673c5308Schenli return res;
189673c5308Schenli }
190673c5308Schenli
vbitclri_w(v4u32 _1,int var)191673c5308Schenli v4u32 vbitclri_w(v4u32 _1, int var) {
192673c5308Schenli v4u32 res = __builtin_lsx_vbitclri_w(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
193673c5308Schenli res |= __builtin_lsx_vbitclri_w(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
194673c5308Schenli res |= __builtin_lsx_vbitclri_w(_1, var); // expected-error {{argument to '__builtin_lsx_vbitclri_w' must be a constant integer}}
195673c5308Schenli return res;
196673c5308Schenli }
197673c5308Schenli
vbitclri_d(v2u64 _1,int var)198673c5308Schenli v2u64 vbitclri_d(v2u64 _1, int var) {
199673c5308Schenli v2u64 res = __builtin_lsx_vbitclri_d(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
200673c5308Schenli res |= __builtin_lsx_vbitclri_d(_1, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
201673c5308Schenli res |= __builtin_lsx_vbitclri_d(_1, var); // expected-error {{argument to '__builtin_lsx_vbitclri_d' must be a constant integer}}
202673c5308Schenli return res;
203673c5308Schenli }
204673c5308Schenli
vbitseti_b(v16u8 _1,int var)205673c5308Schenli v16u8 vbitseti_b(v16u8 _1, int var) {
206673c5308Schenli v16u8 res = __builtin_lsx_vbitseti_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
207673c5308Schenli res |= __builtin_lsx_vbitseti_b(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
208673c5308Schenli res |= __builtin_lsx_vbitseti_b(_1, var); // expected-error {{argument to '__builtin_lsx_vbitseti_b' must be a constant integer}}
209673c5308Schenli return res;
210673c5308Schenli }
211673c5308Schenli
vbitseti_h(v8u16 _1,int var)212673c5308Schenli v8u16 vbitseti_h(v8u16 _1, int var) {
213673c5308Schenli v8u16 res = __builtin_lsx_vbitseti_h(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
214673c5308Schenli res |= __builtin_lsx_vbitseti_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
215673c5308Schenli res |= __builtin_lsx_vbitseti_h(_1, var); // expected-error {{argument to '__builtin_lsx_vbitseti_h' must be a constant integer}}
216673c5308Schenli return res;
217673c5308Schenli }
218673c5308Schenli
vbitseti_w(v4u32 _1,int var)219673c5308Schenli v4u32 vbitseti_w(v4u32 _1, int var) {
220673c5308Schenli v4u32 res = __builtin_lsx_vbitseti_w(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
221673c5308Schenli res |= __builtin_lsx_vbitseti_w(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
222673c5308Schenli res |= __builtin_lsx_vbitseti_w(_1, var); // expected-error {{argument to '__builtin_lsx_vbitseti_w' must be a constant integer}}
223673c5308Schenli return res;
224673c5308Schenli }
225673c5308Schenli
vbitseti_d(v2u64 _1,int var)226673c5308Schenli v2u64 vbitseti_d(v2u64 _1, int var) {
227673c5308Schenli v2u64 res = __builtin_lsx_vbitseti_d(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
228673c5308Schenli res |= __builtin_lsx_vbitseti_d(_1, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
229673c5308Schenli res |= __builtin_lsx_vbitseti_d(_1, var); // expected-error {{argument to '__builtin_lsx_vbitseti_d' must be a constant integer}}
230673c5308Schenli return res;
231673c5308Schenli }
232673c5308Schenli
vbitrevi_b(v16u8 _1,int var)233673c5308Schenli v16u8 vbitrevi_b(v16u8 _1, int var) {
234673c5308Schenli v16u8 res = __builtin_lsx_vbitrevi_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
235673c5308Schenli res |= __builtin_lsx_vbitrevi_b(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
236673c5308Schenli res |= __builtin_lsx_vbitrevi_b(_1, var); // expected-error {{argument to '__builtin_lsx_vbitrevi_b' must be a constant integer}}
237673c5308Schenli return res;
238673c5308Schenli }
239673c5308Schenli
vbitrevi_h(v8u16 _1,int var)240673c5308Schenli v8u16 vbitrevi_h(v8u16 _1, int var) {
241673c5308Schenli v8u16 res = __builtin_lsx_vbitrevi_h(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
242673c5308Schenli res |= __builtin_lsx_vbitrevi_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
243673c5308Schenli res |= __builtin_lsx_vbitrevi_h(_1, var); // expected-error {{argument to '__builtin_lsx_vbitrevi_h' must be a constant integer}}
244673c5308Schenli return res;
245673c5308Schenli }
246673c5308Schenli
vbitrevi_w(v4u32 _1,int var)247673c5308Schenli v4u32 vbitrevi_w(v4u32 _1, int var) {
248673c5308Schenli v4u32 res = __builtin_lsx_vbitrevi_w(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
249673c5308Schenli res |= __builtin_lsx_vbitrevi_w(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
250673c5308Schenli res |= __builtin_lsx_vbitrevi_w(_1, var); // expected-error {{argument to '__builtin_lsx_vbitrevi_w' must be a constant integer}}
251673c5308Schenli return res;
252673c5308Schenli }
253673c5308Schenli
vbitrevi_d(v2u64 _1,int var)254673c5308Schenli v2u64 vbitrevi_d(v2u64 _1, int var) {
255673c5308Schenli v2u64 res = __builtin_lsx_vbitrevi_d(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
256673c5308Schenli res |= __builtin_lsx_vbitrevi_d(_1, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
257673c5308Schenli res |= __builtin_lsx_vbitrevi_d(_1, var); // expected-error {{argument to '__builtin_lsx_vbitrevi_d' must be a constant integer}}
258673c5308Schenli return res;
259673c5308Schenli }
260673c5308Schenli
vaddi_bu(v16i8 _1,int var)261673c5308Schenli v16i8 vaddi_bu(v16i8 _1, int var) {
262673c5308Schenli v16i8 res = __builtin_lsx_vaddi_bu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
263673c5308Schenli res |= __builtin_lsx_vaddi_bu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
264673c5308Schenli res |= __builtin_lsx_vaddi_bu(_1, var); // expected-error {{argument to '__builtin_lsx_vaddi_bu' must be a constant integer}}
265673c5308Schenli return res;
266673c5308Schenli }
267673c5308Schenli
vaddi_hu(v8i16 _1,int var)268673c5308Schenli v8i16 vaddi_hu(v8i16 _1, int var) {
269673c5308Schenli v8i16 res = __builtin_lsx_vaddi_hu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
270673c5308Schenli res |= __builtin_lsx_vaddi_hu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
271673c5308Schenli res |= __builtin_lsx_vaddi_hu(_1, var); // expected-error {{argument to '__builtin_lsx_vaddi_hu' must be a constant integer}}
272673c5308Schenli return res;
273673c5308Schenli }
274673c5308Schenli
vaddi_wu(v4i32 _1,int var)275673c5308Schenli v4i32 vaddi_wu(v4i32 _1, int var) {
276673c5308Schenli v4i32 res = __builtin_lsx_vaddi_wu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
277673c5308Schenli res |= __builtin_lsx_vaddi_wu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
278673c5308Schenli res |= __builtin_lsx_vaddi_wu(_1, var); // expected-error {{argument to '__builtin_lsx_vaddi_wu' must be a constant integer}}
279673c5308Schenli return res;
280673c5308Schenli }
281673c5308Schenli
vaddi_du(v2i64 _1,int var)282673c5308Schenli v2i64 vaddi_du(v2i64 _1, int var) {
283673c5308Schenli v2i64 res = __builtin_lsx_vaddi_du(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
284673c5308Schenli res |= __builtin_lsx_vaddi_du(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
285673c5308Schenli res |= __builtin_lsx_vaddi_du(_1, var); // expected-error {{argument to '__builtin_lsx_vaddi_du' must be a constant integer}}
286673c5308Schenli return res;
287673c5308Schenli }
288673c5308Schenli
vsubi_bu(v16i8 _1,int var)289673c5308Schenli v16i8 vsubi_bu(v16i8 _1, int var) {
290673c5308Schenli v16i8 res = __builtin_lsx_vsubi_bu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
291673c5308Schenli res |= __builtin_lsx_vsubi_bu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
292673c5308Schenli res |= __builtin_lsx_vsubi_bu(_1, var); // expected-error {{argument to '__builtin_lsx_vsubi_bu' must be a constant integer}}
293673c5308Schenli return res;
294673c5308Schenli }
295673c5308Schenli
vsubi_hu(v8i16 _1,int var)296673c5308Schenli v8i16 vsubi_hu(v8i16 _1, int var) {
297673c5308Schenli v8i16 res = __builtin_lsx_vsubi_hu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
298673c5308Schenli res |= __builtin_lsx_vsubi_hu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
299673c5308Schenli res |= __builtin_lsx_vsubi_hu(_1, var); // expected-error {{argument to '__builtin_lsx_vsubi_hu' must be a constant integer}}
300673c5308Schenli return res;
301673c5308Schenli }
302673c5308Schenli
vsubi_wu(v4i32 _1,int var)303673c5308Schenli v4i32 vsubi_wu(v4i32 _1, int var) {
304673c5308Schenli v4i32 res = __builtin_lsx_vsubi_wu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
305673c5308Schenli res |= __builtin_lsx_vsubi_wu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
306673c5308Schenli res |= __builtin_lsx_vsubi_wu(_1, var); // expected-error {{argument to '__builtin_lsx_vsubi_wu' must be a constant integer}}
307673c5308Schenli return res;
308673c5308Schenli }
309673c5308Schenli
vsubi_du(v2i64 _1,int var)310673c5308Schenli v2i64 vsubi_du(v2i64 _1, int var) {
311673c5308Schenli v2i64 res = __builtin_lsx_vsubi_du(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
312673c5308Schenli res |= __builtin_lsx_vsubi_du(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
313673c5308Schenli res |= __builtin_lsx_vsubi_du(_1, var); // expected-error {{argument to '__builtin_lsx_vsubi_du' must be a constant integer}}
314673c5308Schenli return res;
315673c5308Schenli }
316673c5308Schenli
vmaxi_b(v16i8 _1,int var)317673c5308Schenli v16i8 vmaxi_b(v16i8 _1, int var) {
318673c5308Schenli v16i8 res = __builtin_lsx_vmaxi_b(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
319673c5308Schenli res |= __builtin_lsx_vmaxi_b(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
320673c5308Schenli res |= __builtin_lsx_vmaxi_b(_1, var); // expected-error {{argument to '__builtin_lsx_vmaxi_b' must be a constant integer}}
321673c5308Schenli return res;
322673c5308Schenli }
323673c5308Schenli
vmaxi_h(v8i16 _1,int var)324673c5308Schenli v8i16 vmaxi_h(v8i16 _1, int var) {
325673c5308Schenli v8i16 res = __builtin_lsx_vmaxi_h(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
326673c5308Schenli res |= __builtin_lsx_vmaxi_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
327673c5308Schenli res |= __builtin_lsx_vmaxi_h(_1, var); // expected-error {{argument to '__builtin_lsx_vmaxi_h' must be a constant integer}}
328673c5308Schenli return res;
329673c5308Schenli }
330673c5308Schenli
vmaxi_w(v4i32 _1,int var)331673c5308Schenli v4i32 vmaxi_w(v4i32 _1, int var) {
332673c5308Schenli v4i32 res = __builtin_lsx_vmaxi_w(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
333673c5308Schenli res |= __builtin_lsx_vmaxi_w(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
334673c5308Schenli res |= __builtin_lsx_vmaxi_w(_1, var); // expected-error {{argument to '__builtin_lsx_vmaxi_w' must be a constant integer}}
335673c5308Schenli return res;
336673c5308Schenli }
337673c5308Schenli
vmaxi_d(v2i64 _1,int var)338673c5308Schenli v2i64 vmaxi_d(v2i64 _1, int var) {
339673c5308Schenli v2i64 res = __builtin_lsx_vmaxi_d(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
340673c5308Schenli res |= __builtin_lsx_vmaxi_d(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
341673c5308Schenli res |= __builtin_lsx_vmaxi_d(_1, var); // expected-error {{argument to '__builtin_lsx_vmaxi_d' must be a constant integer}}
342673c5308Schenli return res;
343673c5308Schenli }
344673c5308Schenli
vmaxi_bu(v16u8 _1,int var)345673c5308Schenli v16u8 vmaxi_bu(v16u8 _1, int var) {
346673c5308Schenli v16u8 res = __builtin_lsx_vmaxi_bu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
347673c5308Schenli res |= __builtin_lsx_vmaxi_bu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
348673c5308Schenli res |= __builtin_lsx_vmaxi_bu(_1, var); // expected-error {{argument to '__builtin_lsx_vmaxi_bu' must be a constant integer}}
349673c5308Schenli return res;
350673c5308Schenli }
351673c5308Schenli
vmaxi_hu(v8u16 _1,int var)352673c5308Schenli v8u16 vmaxi_hu(v8u16 _1, int var) {
353673c5308Schenli v8u16 res = __builtin_lsx_vmaxi_hu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
354673c5308Schenli res |= __builtin_lsx_vmaxi_hu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
355673c5308Schenli res |= __builtin_lsx_vmaxi_hu(_1, var); // expected-error {{argument to '__builtin_lsx_vmaxi_hu' must be a constant integer}}
356673c5308Schenli return res;
357673c5308Schenli }
358673c5308Schenli
vmaxi_wu(v4u32 _1,int var)359673c5308Schenli v4u32 vmaxi_wu(v4u32 _1, int var) {
360673c5308Schenli v4u32 res = __builtin_lsx_vmaxi_wu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
361673c5308Schenli res |= __builtin_lsx_vmaxi_wu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
362673c5308Schenli res |= __builtin_lsx_vmaxi_wu(_1, var); // expected-error {{argument to '__builtin_lsx_vmaxi_wu' must be a constant integer}}
363673c5308Schenli return res;
364673c5308Schenli }
365673c5308Schenli
vmaxi_du(v2u64 _1,int var)366673c5308Schenli v2u64 vmaxi_du(v2u64 _1, int var) {
367673c5308Schenli v2u64 res = __builtin_lsx_vmaxi_du(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
368673c5308Schenli res |= __builtin_lsx_vmaxi_du(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
369673c5308Schenli res |= __builtin_lsx_vmaxi_du(_1, var); // expected-error {{argument to '__builtin_lsx_vmaxi_du' must be a constant integer}}
370673c5308Schenli return res;
371673c5308Schenli }
372673c5308Schenli
vmini_b(v16i8 _1,int var)373673c5308Schenli v16i8 vmini_b(v16i8 _1, int var) {
374673c5308Schenli v16i8 res = __builtin_lsx_vmini_b(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
375673c5308Schenli res |= __builtin_lsx_vmini_b(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
376673c5308Schenli res |= __builtin_lsx_vmini_b(_1, var); // expected-error {{argument to '__builtin_lsx_vmini_b' must be a constant integer}}
377673c5308Schenli return res;
378673c5308Schenli }
379673c5308Schenli
vmini_h(v8i16 _1,int var)380673c5308Schenli v8i16 vmini_h(v8i16 _1, int var) {
381673c5308Schenli v8i16 res = __builtin_lsx_vmini_h(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
382673c5308Schenli res |= __builtin_lsx_vmini_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
383673c5308Schenli res |= __builtin_lsx_vmini_h(_1, var); // expected-error {{argument to '__builtin_lsx_vmini_h' must be a constant integer}}}
384673c5308Schenli return res;
385673c5308Schenli }
386673c5308Schenli
vmini_w(v4i32 _1,int var)387673c5308Schenli v4i32 vmini_w(v4i32 _1, int var) {
388673c5308Schenli v4i32 res = __builtin_lsx_vmini_w(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
389673c5308Schenli res |= __builtin_lsx_vmini_w(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
390673c5308Schenli res |= __builtin_lsx_vmini_w(_1, var); // expected-error {{argument to '__builtin_lsx_vmini_w' must be a constant integer}}
391673c5308Schenli return res;
392673c5308Schenli }
393673c5308Schenli
vmini_d(v2i64 _1,int var)394673c5308Schenli v2i64 vmini_d(v2i64 _1, int var) {
395673c5308Schenli v2i64 res = __builtin_lsx_vmini_d(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
396673c5308Schenli res |= __builtin_lsx_vmini_d(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
397673c5308Schenli res |= __builtin_lsx_vmini_d(_1, var); // expected-error {{argument to '__builtin_lsx_vmini_d' must be a constant integer}}
398673c5308Schenli return res;
399673c5308Schenli }
400673c5308Schenli
vmini_bu(v16u8 _1,int var)401673c5308Schenli v16u8 vmini_bu(v16u8 _1, int var) {
402673c5308Schenli v16u8 res = __builtin_lsx_vmini_bu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
403673c5308Schenli res |= __builtin_lsx_vmini_bu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
404673c5308Schenli res |= __builtin_lsx_vmini_bu(_1, var); // expected-error {{argument to '__builtin_lsx_vmini_bu' must be a constant integer}}
405673c5308Schenli return res;
406673c5308Schenli }
407673c5308Schenli
vmini_hu(v8u16 _1,int var)408673c5308Schenli v8u16 vmini_hu(v8u16 _1, int var) {
409673c5308Schenli v8u16 res = __builtin_lsx_vmini_hu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
410673c5308Schenli res |= __builtin_lsx_vmini_hu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
411673c5308Schenli res |= __builtin_lsx_vmini_hu(_1, var); // expected-error {{argument to '__builtin_lsx_vmini_hu' must be a constant integer}}
412673c5308Schenli return res;
413673c5308Schenli }
414673c5308Schenli
vmini_wu(v4u32 _1,int var)415673c5308Schenli v4u32 vmini_wu(v4u32 _1, int var) {
416673c5308Schenli v4u32 res = __builtin_lsx_vmini_wu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
417673c5308Schenli res |= __builtin_lsx_vmini_wu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
418673c5308Schenli res |= __builtin_lsx_vmini_wu(_1, var); // expected-error {{argument to '__builtin_lsx_vmini_wu' must be a constant integer}}
419673c5308Schenli return res;
420673c5308Schenli }
421673c5308Schenli
vmini_du(v2u64 _1,int var)422673c5308Schenli v2u64 vmini_du(v2u64 _1, int var) {
423673c5308Schenli v2u64 res = __builtin_lsx_vmini_du(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
424673c5308Schenli res |= __builtin_lsx_vmini_du(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
425673c5308Schenli res |= __builtin_lsx_vmini_du(_1, var); // expected-error {{argument to '__builtin_lsx_vmini_du' must be a constant integer}}
426673c5308Schenli return res;
427673c5308Schenli }
428673c5308Schenli
vseqi_b(v16i8 _1,int var)429673c5308Schenli v16i8 vseqi_b(v16i8 _1, int var) {
430673c5308Schenli v16i8 res = __builtin_lsx_vseqi_b(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
431673c5308Schenli res |= __builtin_lsx_vseqi_b(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
432673c5308Schenli res |= __builtin_lsx_vseqi_b(_1, var); // expected-error {{argument to '__builtin_lsx_vseqi_b' must be a constant integer}}
433673c5308Schenli return res;
434673c5308Schenli }
435673c5308Schenli
vseqi_h(v8i16 _1,int var)436673c5308Schenli v8i16 vseqi_h(v8i16 _1, int var) {
437673c5308Schenli v8i16 res = __builtin_lsx_vseqi_h(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
438673c5308Schenli res |= __builtin_lsx_vseqi_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
439673c5308Schenli res |= __builtin_lsx_vseqi_h(_1, var); // expected-error {{argument to '__builtin_lsx_vseqi_h' must be a constant integer}}
440673c5308Schenli return res;
441673c5308Schenli }
442673c5308Schenli
vseqi_w(v4i32 _1,int var)443673c5308Schenli v4i32 vseqi_w(v4i32 _1, int var) {
444673c5308Schenli v4i32 res = __builtin_lsx_vseqi_w(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
445673c5308Schenli res |= __builtin_lsx_vseqi_w(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
446673c5308Schenli res |= __builtin_lsx_vseqi_w(_1, var); // expected-error {{argument to '__builtin_lsx_vseqi_w' must be a constant integer}}
447673c5308Schenli return res;
448673c5308Schenli }
449673c5308Schenli
vseqi_d(v2i64 _1,int var)450673c5308Schenli v2i64 vseqi_d(v2i64 _1, int var) {
451673c5308Schenli v2i64 res = __builtin_lsx_vseqi_d(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
452673c5308Schenli res |= __builtin_lsx_vseqi_d(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
453673c5308Schenli res |= __builtin_lsx_vseqi_d(_1, var); // expected-error {{argument to '__builtin_lsx_vseqi_d' must be a constant integer}}
454673c5308Schenli return res;
455673c5308Schenli }
456673c5308Schenli
vslti_b(v16i8 _1,int var)457673c5308Schenli v16i8 vslti_b(v16i8 _1, int var) {
458673c5308Schenli v16i8 res = __builtin_lsx_vslti_b(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
459673c5308Schenli res |= __builtin_lsx_vslti_b(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
460673c5308Schenli res |= __builtin_lsx_vslti_b(_1, var); // expected-error {{argument to '__builtin_lsx_vslti_b' must be a constant integer}}
461673c5308Schenli return res;
462673c5308Schenli }
463673c5308Schenli
vslti_h(v8i16 _1,int var)464673c5308Schenli v8i16 vslti_h(v8i16 _1, int var) {
465673c5308Schenli v8i16 res = __builtin_lsx_vslti_h(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
466673c5308Schenli res |= __builtin_lsx_vslti_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
467673c5308Schenli res |= __builtin_lsx_vslti_h(_1, var); // expected-error {{argument to '__builtin_lsx_vslti_h' must be a constant integer}}
468673c5308Schenli return res;
469673c5308Schenli }
470673c5308Schenli
vslti_w(v4i32 _1,int var)471673c5308Schenli v4i32 vslti_w(v4i32 _1, int var) {
472673c5308Schenli v4i32 res = __builtin_lsx_vslti_w(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
473673c5308Schenli res |= __builtin_lsx_vslti_w(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
474673c5308Schenli res |= __builtin_lsx_vslti_w(_1, var); // expected-error {{argument to '__builtin_lsx_vslti_w' must be a constant integer}}
475673c5308Schenli return res;
476673c5308Schenli }
477673c5308Schenli
vslti_d(v2i64 _1,int var)478673c5308Schenli v2i64 vslti_d(v2i64 _1, int var) {
479673c5308Schenli v2i64 res = __builtin_lsx_vslti_d(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
480673c5308Schenli res |= __builtin_lsx_vslti_d(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
481673c5308Schenli res |= __builtin_lsx_vslti_d(_1, var); // expected-error {{argument to '__builtin_lsx_vslti_d' must be a constant integer}}
482673c5308Schenli return res;
483673c5308Schenli }
484673c5308Schenli
vslti_bu(v16u8 _1,int var)485673c5308Schenli v16i8 vslti_bu(v16u8 _1, int var) {
486673c5308Schenli v16i8 res = __builtin_lsx_vslti_bu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
487673c5308Schenli res |= __builtin_lsx_vslti_bu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
488673c5308Schenli res |= __builtin_lsx_vslti_bu(_1, var); // expected-error {{argument to '__builtin_lsx_vslti_bu' must be a constant integer}}
489673c5308Schenli return res;
490673c5308Schenli }
491673c5308Schenli
vslti_hu(v8u16 _1,int var)492673c5308Schenli v8i16 vslti_hu(v8u16 _1, int var) {
493673c5308Schenli v8i16 res = __builtin_lsx_vslti_hu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
494673c5308Schenli res |= __builtin_lsx_vslti_hu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
495673c5308Schenli res |= __builtin_lsx_vslti_hu(_1, var); // expected-error {{argument to '__builtin_lsx_vslti_hu' must be a constant integer}}
496673c5308Schenli return res;
497673c5308Schenli }
498673c5308Schenli
vslti_wu(v4u32 _1,int var)499673c5308Schenli v4i32 vslti_wu(v4u32 _1, int var) {
500673c5308Schenli v4i32 res = __builtin_lsx_vslti_wu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
501673c5308Schenli res |= __builtin_lsx_vslti_wu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
502673c5308Schenli res |= __builtin_lsx_vslti_wu(_1, var); // expected-error {{argument to '__builtin_lsx_vslti_wu' must be a constant integer}}
503673c5308Schenli return res;
504673c5308Schenli }
505673c5308Schenli
vslti_du(v2u64 _1,int var)506673c5308Schenli v2i64 vslti_du(v2u64 _1, int var) {
507673c5308Schenli v2i64 res = __builtin_lsx_vslti_du(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
508673c5308Schenli res |= __builtin_lsx_vslti_du(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
509673c5308Schenli res |= __builtin_lsx_vslti_du(_1, var); // expected-error {{argument to '__builtin_lsx_vslti_du' must be a constant integer}}
510673c5308Schenli return res;
511673c5308Schenli }
512673c5308Schenli
vslei_b(v16i8 _1,int var)513673c5308Schenli v16i8 vslei_b(v16i8 _1, int var) {
514673c5308Schenli v16i8 res = __builtin_lsx_vslei_b(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
515673c5308Schenli res |= __builtin_lsx_vslei_b(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
516673c5308Schenli res |= __builtin_lsx_vslei_b(_1, var); // expected-error {{argument to '__builtin_lsx_vslei_b' must be a constant integer}}
517673c5308Schenli return res;
518673c5308Schenli }
519673c5308Schenli
vslei_h(v8i16 _1,int var)520673c5308Schenli v8i16 vslei_h(v8i16 _1, int var) {
521673c5308Schenli v8i16 res = __builtin_lsx_vslei_h(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
522673c5308Schenli res |= __builtin_lsx_vslei_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
523673c5308Schenli res |= __builtin_lsx_vslei_h(_1, var); // expected-error {{argument to '__builtin_lsx_vslei_h' must be a constant integer}}
524673c5308Schenli return res;
525673c5308Schenli }
526673c5308Schenli
vslei_w(v4i32 _1,int var)527673c5308Schenli v4i32 vslei_w(v4i32 _1, int var) {
528673c5308Schenli v4i32 res = __builtin_lsx_vslei_w(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
529673c5308Schenli res |= __builtin_lsx_vslei_w(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
530673c5308Schenli res |= __builtin_lsx_vslei_w(_1, var); // expected-error {{argument to '__builtin_lsx_vslei_w' must be a constant integer}}
531673c5308Schenli return res;
532673c5308Schenli }
533673c5308Schenli
vslei_d(v2i64 _1,int var)534673c5308Schenli v2i64 vslei_d(v2i64 _1, int var) {
535673c5308Schenli v2i64 res = __builtin_lsx_vslei_d(_1, -17); // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
536673c5308Schenli res |= __builtin_lsx_vslei_d(_1, 16); // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
537673c5308Schenli res |= __builtin_lsx_vslei_d(_1, var); // expected-error {{argument to '__builtin_lsx_vslei_d' must be a constant integer}}
538673c5308Schenli return res;
539673c5308Schenli }
540673c5308Schenli
vslei_bu(v16u8 _1,int var)541673c5308Schenli v16i8 vslei_bu(v16u8 _1, int var) {
542673c5308Schenli v16i8 res = __builtin_lsx_vslei_bu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
543673c5308Schenli res |= __builtin_lsx_vslei_bu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
544673c5308Schenli res |= __builtin_lsx_vslei_bu(_1, var); // expected-error {{argument to '__builtin_lsx_vslei_bu' must be a constant integer}}
545673c5308Schenli return res;
546673c5308Schenli }
547673c5308Schenli
vslei_hu(v8u16 _1,int var)548673c5308Schenli v8i16 vslei_hu(v8u16 _1, int var) {
549673c5308Schenli v8i16 res = __builtin_lsx_vslei_hu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
550673c5308Schenli res |= __builtin_lsx_vslei_hu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
551673c5308Schenli res |= __builtin_lsx_vslei_hu(_1, var); // expected-error {{argument to '__builtin_lsx_vslei_hu' must be a constant integer}}
552673c5308Schenli return res;
553673c5308Schenli }
554673c5308Schenli
vslei_wu(v4u32 _1,int var)555673c5308Schenli v4i32 vslei_wu(v4u32 _1, int var) {
556673c5308Schenli v4i32 res = __builtin_lsx_vslei_wu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
557673c5308Schenli res |= __builtin_lsx_vslei_wu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
558673c5308Schenli res |= __builtin_lsx_vslei_wu(_1, var); // expected-error {{argument to '__builtin_lsx_vslei_wu' must be a constant integer}}
559673c5308Schenli return res;
560673c5308Schenli }
561673c5308Schenli
vslei_du(v2u64 _1,int var)562673c5308Schenli v2i64 vslei_du(v2u64 _1, int var) {
563673c5308Schenli v2i64 res = __builtin_lsx_vslei_du(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
564673c5308Schenli res |= __builtin_lsx_vslei_du(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
565673c5308Schenli res |= __builtin_lsx_vslei_du(_1, var); // expected-error {{argument to '__builtin_lsx_vslei_du' must be a constant integer}}
566673c5308Schenli return res;
567673c5308Schenli }
568673c5308Schenli
vsat_b(v16i8 _1,int var)569673c5308Schenli v16i8 vsat_b(v16i8 _1, int var) {
570673c5308Schenli v16i8 res = __builtin_lsx_vsat_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
571673c5308Schenli res |= __builtin_lsx_vsat_b(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
572673c5308Schenli res |= __builtin_lsx_vsat_b(_1, var); // expected-error {{argument to '__builtin_lsx_vsat_b' must be a constant integer}}
573673c5308Schenli return res;
574673c5308Schenli }
575673c5308Schenli
vsat_h(v8i16 _1,int var)576673c5308Schenli v8i16 vsat_h(v8i16 _1, int var) {
577673c5308Schenli v8i16 res = __builtin_lsx_vsat_h(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
578673c5308Schenli res |= __builtin_lsx_vsat_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
579673c5308Schenli res |= __builtin_lsx_vsat_h(_1, var); // expected-error {{argument to '__builtin_lsx_vsat_h' must be a constant integer}}
580673c5308Schenli return res;
581673c5308Schenli }
582673c5308Schenli
vsat_w(v4i32 _1,int var)583673c5308Schenli v4i32 vsat_w(v4i32 _1, int var) {
584673c5308Schenli v4i32 res = __builtin_lsx_vsat_w(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
585673c5308Schenli res |= __builtin_lsx_vsat_w(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
586673c5308Schenli res |= __builtin_lsx_vsat_w(_1, var); // expected-error {{argument to '__builtin_lsx_vsat_w' must be a constant integer}}
587673c5308Schenli return res;
588673c5308Schenli }
589673c5308Schenli
vsat_d(v2i64 _1,int var)590673c5308Schenli v2i64 vsat_d(v2i64 _1, int var) {
591673c5308Schenli v2i64 res = __builtin_lsx_vsat_d(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
592673c5308Schenli res |= __builtin_lsx_vsat_d(_1, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
593673c5308Schenli res |= __builtin_lsx_vsat_d(_1, var); // expected-error {{argument to '__builtin_lsx_vsat_d' must be a constant integer}}
594673c5308Schenli return res;
595673c5308Schenli }
596673c5308Schenli
vsat_bu(v16u8 _1,int var)597673c5308Schenli v16u8 vsat_bu(v16u8 _1, int var) {
598673c5308Schenli v16u8 res = __builtin_lsx_vsat_bu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
599673c5308Schenli res |= __builtin_lsx_vsat_bu(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
600673c5308Schenli res |= __builtin_lsx_vsat_bu(_1, var); // expected-error {{argument to '__builtin_lsx_vsat_bu' must be a constant integer}}
601673c5308Schenli return res;
602673c5308Schenli }
603673c5308Schenli
vsat_hu(v8u16 _1,int var)604673c5308Schenli v8u16 vsat_hu(v8u16 _1, int var) {
605673c5308Schenli v8u16 res = __builtin_lsx_vsat_hu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
606673c5308Schenli res |= __builtin_lsx_vsat_hu(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
607673c5308Schenli res |= __builtin_lsx_vsat_hu(_1, var); // expected-error {{argument to '__builtin_lsx_vsat_hu' must be a constant integer}}
608673c5308Schenli return res;
609673c5308Schenli }
610673c5308Schenli
vsat_wu(v4u32 _1,int var)611673c5308Schenli v4u32 vsat_wu(v4u32 _1, int var) {
612673c5308Schenli v4u32 res = __builtin_lsx_vsat_wu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
613673c5308Schenli res |= __builtin_lsx_vsat_wu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
614673c5308Schenli res |= __builtin_lsx_vsat_wu(_1, var); // expected-error {{argument to '__builtin_lsx_vsat_wu' must be a constant integer}}
615673c5308Schenli return res;
616673c5308Schenli }
617673c5308Schenli
vsat_du(v2u64 _1,int var)618673c5308Schenli v2u64 vsat_du(v2u64 _1, int var) {
619673c5308Schenli v2u64 res = __builtin_lsx_vsat_du(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
620673c5308Schenli res |= __builtin_lsx_vsat_du(_1, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
621673c5308Schenli res |= __builtin_lsx_vsat_du(_1, var); // expected-error {{argument to '__builtin_lsx_vsat_du' must be a constant integer}}
622673c5308Schenli return res;
623673c5308Schenli }
624673c5308Schenli
vreplvei_b(v16i8 _1,int var)625673c5308Schenli v16i8 vreplvei_b(v16i8 _1, int var) {
626673c5308Schenli v16i8 res = __builtin_lsx_vreplvei_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
627673c5308Schenli res |= __builtin_lsx_vreplvei_b(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
628673c5308Schenli res |= __builtin_lsx_vreplvei_b(_1, var); // expected-error {{argument to '__builtin_lsx_vreplvei_b' must be a constant integer}}
629673c5308Schenli return res;
630673c5308Schenli }
631673c5308Schenli
vreplvei_h(v8i16 _1,int var)632673c5308Schenli v8i16 vreplvei_h(v8i16 _1, int var) {
633673c5308Schenli v8i16 res = __builtin_lsx_vreplvei_h(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
634673c5308Schenli res |= __builtin_lsx_vreplvei_h(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
635673c5308Schenli res |= __builtin_lsx_vreplvei_h(_1, var); // expected-error {{argument to '__builtin_lsx_vreplvei_h' must be a constant integer}}
636673c5308Schenli return res;
637673c5308Schenli }
638673c5308Schenli
vreplvei_w(v4i32 _1,int var)639673c5308Schenli v4i32 vreplvei_w(v4i32 _1, int var) {
640673c5308Schenli v4i32 res = __builtin_lsx_vreplvei_w(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 3]}}
641673c5308Schenli res |= __builtin_lsx_vreplvei_w(_1, 4); // expected-error {{argument value 4 is outside the valid range [0, 3]}}
642673c5308Schenli res |= __builtin_lsx_vreplvei_w(_1, var); // expected-error {{argument to '__builtin_lsx_vreplvei_w' must be a constant integer}}
643673c5308Schenli return res;
644673c5308Schenli }
645673c5308Schenli
vreplvei_d(v2i64 _1,int var)646673c5308Schenli v2i64 vreplvei_d(v2i64 _1, int var) {
647673c5308Schenli v2i64 res = __builtin_lsx_vreplvei_d(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 1]}}
648673c5308Schenli res |= __builtin_lsx_vreplvei_d(_1, 2); // expected-error {{argument value 2 is outside the valid range [0, 1]}}
649673c5308Schenli res |= __builtin_lsx_vreplvei_d(_1, var); // expected-error {{argument to '__builtin_lsx_vreplvei_d' must be a constant integer}}
650673c5308Schenli return res;
651673c5308Schenli }
652673c5308Schenli
vandi_b(v16u8 _1,int var)653673c5308Schenli v16u8 vandi_b(v16u8 _1, int var) {
654673c5308Schenli v16u8 res = __builtin_lsx_vandi_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
655673c5308Schenli res |= __builtin_lsx_vandi_b(_1, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
656673c5308Schenli res |= __builtin_lsx_vandi_b(_1, var); // expected-error {{argument to '__builtin_lsx_vandi_b' must be a constant integer}}
657673c5308Schenli return res;
658673c5308Schenli }
659673c5308Schenli
vori_b(v16u8 _1,int var)660673c5308Schenli v16u8 vori_b(v16u8 _1, int var) {
661673c5308Schenli v16u8 res = __builtin_lsx_vori_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
662673c5308Schenli res |= __builtin_lsx_vori_b(_1, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
663673c5308Schenli res |= __builtin_lsx_vori_b(_1, var); // expected-error {{argument to '__builtin_lsx_vori_b' must be a constant integer}}
664673c5308Schenli return res;
665673c5308Schenli }
666673c5308Schenli
vnori_b(v16u8 _1,int var)667673c5308Schenli v16u8 vnori_b(v16u8 _1, int var) {
668673c5308Schenli v16u8 res = __builtin_lsx_vnori_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
669673c5308Schenli res |= __builtin_lsx_vnori_b(_1, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
670673c5308Schenli res |= __builtin_lsx_vnori_b(_1, var); // expected-error {{argument to '__builtin_lsx_vnori_b' must be a constant integer}}
671673c5308Schenli return res;
672673c5308Schenli }
673673c5308Schenli
vxori_b(v16u8 _1,int var)674673c5308Schenli v16u8 vxori_b(v16u8 _1, int var) {
675673c5308Schenli v16u8 res = __builtin_lsx_vxori_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
676673c5308Schenli res |= __builtin_lsx_vxori_b(_1, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
677673c5308Schenli res |= __builtin_lsx_vxori_b(_1, var); // expected-error {{argument to '__builtin_lsx_vxori_b' must be a constant integer}}
678673c5308Schenli return res;
679673c5308Schenli }
680673c5308Schenli
vbitseli_b(v16u8 _1,v16u8 _2,int var)681673c5308Schenli v16u8 vbitseli_b(v16u8 _1, v16u8 _2, int var) {
682673c5308Schenli v16u8 res = __builtin_lsx_vbitseli_b(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
683673c5308Schenli res |= __builtin_lsx_vbitseli_b(_1, _2, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
684673c5308Schenli res |= __builtin_lsx_vbitseli_b(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vbitseli_b' must be a constant integer}}
685673c5308Schenli return res;
686673c5308Schenli }
687673c5308Schenli
vshuf4i_b(v16i8 _1,int var)688673c5308Schenli v16i8 vshuf4i_b(v16i8 _1, int var) {
689673c5308Schenli v16i8 res = __builtin_lsx_vshuf4i_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
690673c5308Schenli res |= __builtin_lsx_vshuf4i_b(_1, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
691673c5308Schenli res |= __builtin_lsx_vshuf4i_b(_1, var); // expected-error {{argument to '__builtin_lsx_vshuf4i_b' must be a constant integer}}
692673c5308Schenli return res;
693673c5308Schenli }
694673c5308Schenli
vshuf4i_h(v8i16 _1,int var)695673c5308Schenli v8i16 vshuf4i_h(v8i16 _1, int var) {
696673c5308Schenli v8i16 res = __builtin_lsx_vshuf4i_h(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
697673c5308Schenli res |= __builtin_lsx_vshuf4i_h(_1, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
698673c5308Schenli res |= __builtin_lsx_vshuf4i_h(_1, var); // expected-error {{argument to '__builtin_lsx_vshuf4i_h' must be a constant integer}}
699673c5308Schenli return res;
700673c5308Schenli }
701673c5308Schenli
vshuf4i_w(v4i32 _1,int var)702673c5308Schenli v4i32 vshuf4i_w(v4i32 _1, int var) {
703673c5308Schenli v4i32 res = __builtin_lsx_vshuf4i_w(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
704673c5308Schenli res |= __builtin_lsx_vshuf4i_w(_1, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
705673c5308Schenli res |= __builtin_lsx_vshuf4i_w(_1, var); // expected-error {{argument to '__builtin_lsx_vshuf4i_w' must be a constant integer}}
706673c5308Schenli return res;
707673c5308Schenli }
708673c5308Schenli
vpickve2gr_b(v16i8 _1,int var)709673c5308Schenli int vpickve2gr_b(v16i8 _1, int var) {
710673c5308Schenli int res = __builtin_lsx_vpickve2gr_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
711673c5308Schenli res |= __builtin_lsx_vpickve2gr_b(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
712673c5308Schenli res |= __builtin_lsx_vpickve2gr_b(_1, var); // expected-error {{argument to '__builtin_lsx_vpickve2gr_b' must be a constant integer}}
713673c5308Schenli return res;
714673c5308Schenli }
715673c5308Schenli
vpickve2gr_h(v8i16 _1,int var)716673c5308Schenli int vpickve2gr_h(v8i16 _1, int var) {
717673c5308Schenli int res = __builtin_lsx_vpickve2gr_h(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
718673c5308Schenli res |= __builtin_lsx_vpickve2gr_h(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
719673c5308Schenli res |= __builtin_lsx_vpickve2gr_h(_1, var); // expected-error {{argument to '__builtin_lsx_vpickve2gr_h' must be a constant integer}}
720673c5308Schenli return res;
721673c5308Schenli }
722673c5308Schenli
vpickve2gr_w(v4i32 _1,int var)723673c5308Schenli int vpickve2gr_w(v4i32 _1, int var) {
724673c5308Schenli int res = __builtin_lsx_vpickve2gr_w(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 3]}}
725673c5308Schenli res |= __builtin_lsx_vpickve2gr_w(_1, 4); // expected-error {{argument value 4 is outside the valid range [0, 3]}}
726673c5308Schenli res |= __builtin_lsx_vpickve2gr_w(_1, var); // expected-error {{argument to '__builtin_lsx_vpickve2gr_w' must be a constant integer}}
727673c5308Schenli return res;
728673c5308Schenli }
729673c5308Schenli
vpickve2gr_d(v2i64 _1,int var)730673c5308Schenli long vpickve2gr_d(v2i64 _1, int var) {
731673c5308Schenli long res = __builtin_lsx_vpickve2gr_d(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 1]}}
732673c5308Schenli res |= __builtin_lsx_vpickve2gr_d(_1, 2); // expected-error {{argument value 2 is outside the valid range [0, 1]}}
733673c5308Schenli res |= __builtin_lsx_vpickve2gr_d(_1, var); // expected-error {{argument to '__builtin_lsx_vpickve2gr_d' must be a constant integer}}
734673c5308Schenli return res;
735673c5308Schenli }
736673c5308Schenli
vpickve2gr_bu(v16i8 _1,int var)737673c5308Schenli unsigned int vpickve2gr_bu(v16i8 _1, int var) {
738673c5308Schenli unsigned int res = __builtin_lsx_vpickve2gr_bu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
739673c5308Schenli res |= __builtin_lsx_vpickve2gr_bu(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
740673c5308Schenli res |= __builtin_lsx_vpickve2gr_bu(_1, var); // expected-error {{argument to '__builtin_lsx_vpickve2gr_bu' must be a constant integer}}
741673c5308Schenli return res;
742673c5308Schenli }
743673c5308Schenli
vpickve2gr_hu(v8i16 _1,int var)744673c5308Schenli unsigned int vpickve2gr_hu(v8i16 _1, int var) {
745673c5308Schenli unsigned int res = __builtin_lsx_vpickve2gr_hu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
746673c5308Schenli res |= __builtin_lsx_vpickve2gr_hu(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
747673c5308Schenli res |= __builtin_lsx_vpickve2gr_hu(_1, var); // expected-error {{argument to '__builtin_lsx_vpickve2gr_hu' must be a constant integer}}
748673c5308Schenli return res;
749673c5308Schenli }
750673c5308Schenli
vpickve2gr_wu(v4i32 _1,int var)751673c5308Schenli unsigned int vpickve2gr_wu(v4i32 _1, int var) {
752673c5308Schenli unsigned int res = __builtin_lsx_vpickve2gr_wu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 3]}}
753673c5308Schenli res |= __builtin_lsx_vpickve2gr_wu(_1, 4); // expected-error {{argument value 4 is outside the valid range [0, 3]}}
754673c5308Schenli res |= __builtin_lsx_vpickve2gr_wu(_1, var); // expected-error {{argument to '__builtin_lsx_vpickve2gr_wu' must be a constant integer}}
755673c5308Schenli return res;
756673c5308Schenli }
757673c5308Schenli
vpickve2gr_du(v2i64 _1,int var)758673c5308Schenli unsigned long int vpickve2gr_du(v2i64 _1, int var) {
759673c5308Schenli unsigned long int res = __builtin_lsx_vpickve2gr_du(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 1]}}
760673c5308Schenli res |= __builtin_lsx_vpickve2gr_du(_1, 2); // expected-error {{argument value 2 is outside the valid range [0, 1]}}
761673c5308Schenli res |= __builtin_lsx_vpickve2gr_du(_1, var); // expected-error {{argument to '__builtin_lsx_vpickve2gr_du' must be a constant integer}}
762673c5308Schenli return res;
763673c5308Schenli }
764673c5308Schenli
vinsgr2vr_b(v16i8 _1,int var)765673c5308Schenli v16i8 vinsgr2vr_b(v16i8 _1, int var) {
766673c5308Schenli v16i8 res = __builtin_lsx_vinsgr2vr_b(_1, 1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
767673c5308Schenli res |= __builtin_lsx_vinsgr2vr_b(_1, 1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
768673c5308Schenli res |= __builtin_lsx_vinsgr2vr_b(_1, 1, var); // expected-error {{argument to '__builtin_lsx_vinsgr2vr_b' must be a constant integer}}
769673c5308Schenli return res;
770673c5308Schenli }
771673c5308Schenli
vinsgr2vr_h(v8i16 _1,int var)772673c5308Schenli v8i16 vinsgr2vr_h(v8i16 _1, int var) {
773673c5308Schenli v8i16 res = __builtin_lsx_vinsgr2vr_h(_1, 1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
774673c5308Schenli res |= __builtin_lsx_vinsgr2vr_h(_1, 1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
775673c5308Schenli res |= __builtin_lsx_vinsgr2vr_h(_1, 1, var); // expected-error {{argument to '__builtin_lsx_vinsgr2vr_h' must be a constant integer}}
776673c5308Schenli return res;
777673c5308Schenli }
778673c5308Schenli
vinsgr2vr_w(v4i32 _1,int var)779673c5308Schenli v4i32 vinsgr2vr_w(v4i32 _1, int var) {
780673c5308Schenli v4i32 res = __builtin_lsx_vinsgr2vr_w(_1, 1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 3]}}
781673c5308Schenli res |= __builtin_lsx_vinsgr2vr_w(_1, 1, 4); // expected-error {{argument value 4 is outside the valid range [0, 3]}}
782673c5308Schenli res |= __builtin_lsx_vinsgr2vr_w(_1, 1, var); // expected-error {{argument to '__builtin_lsx_vinsgr2vr_w' must be a constant integer}}
783673c5308Schenli return res;
784673c5308Schenli }
785673c5308Schenli
vinsgr2vr_d(v2i64 _1,int var)786673c5308Schenli v2i64 vinsgr2vr_d(v2i64 _1, int var) {
787673c5308Schenli v2i64 res = __builtin_lsx_vinsgr2vr_d(_1, 1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 1]}}
788673c5308Schenli res |= __builtin_lsx_vinsgr2vr_d(_1, 1, 2); // expected-error {{argument value 2 is outside the valid range [0, 1]}}
789673c5308Schenli res |= __builtin_lsx_vinsgr2vr_d(_1, 1, var); // expected-error {{argument to '__builtin_lsx_vinsgr2vr_d' must be a constant integer}}
790673c5308Schenli return res;
791673c5308Schenli }
792673c5308Schenli
vsllwil_h_b(v16i8 _1,int var)793673c5308Schenli v8i16 vsllwil_h_b(v16i8 _1, int var) {
794673c5308Schenli v8i16 res = __builtin_lsx_vsllwil_h_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
795673c5308Schenli res |= __builtin_lsx_vsllwil_h_b(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
796673c5308Schenli res |= __builtin_lsx_vsllwil_h_b(_1, var); // expected-error {{argument to '__builtin_lsx_vsllwil_h_b' must be a constant integer}}
797673c5308Schenli return res;
798673c5308Schenli }
799673c5308Schenli
vsllwil_w_h(v8i16 _1,int var)800673c5308Schenli v4i32 vsllwil_w_h(v8i16 _1, int var) {
801673c5308Schenli v4i32 res = __builtin_lsx_vsllwil_w_h(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
802673c5308Schenli res |= __builtin_lsx_vsllwil_w_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
803673c5308Schenli res |= __builtin_lsx_vsllwil_w_h(_1, var); // expected-error {{argument to '__builtin_lsx_vsllwil_w_h' must be a constant integer}}
804673c5308Schenli return res;
805673c5308Schenli }
806673c5308Schenli
vsllwil_d_w(v4i32 _1,int var)807673c5308Schenli v2i64 vsllwil_d_w(v4i32 _1, int var) {
808673c5308Schenli v2i64 res = __builtin_lsx_vsllwil_d_w(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
809673c5308Schenli res |= __builtin_lsx_vsllwil_d_w(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
810673c5308Schenli res |= __builtin_lsx_vsllwil_d_w(_1, var); // expected-error {{argument to '__builtin_lsx_vsllwil_d_w' must be a constant integer}}
811673c5308Schenli return res;
812673c5308Schenli }
813673c5308Schenli
vsllwil_hu_bu(v16u8 _1,int var)814673c5308Schenli v8u16 vsllwil_hu_bu(v16u8 _1, int var) {
815673c5308Schenli v8u16 res = __builtin_lsx_vsllwil_hu_bu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
816673c5308Schenli res |= __builtin_lsx_vsllwil_hu_bu(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
817673c5308Schenli res |= __builtin_lsx_vsllwil_hu_bu(_1, var); // expected-error {{argument to '__builtin_lsx_vsllwil_hu_bu' must be a constant integer}}
818673c5308Schenli return res;
819673c5308Schenli }
820673c5308Schenli
vsllwil_wu_hu(v8u16 _1,int var)821673c5308Schenli v4u32 vsllwil_wu_hu(v8u16 _1, int var) {
822673c5308Schenli v4u32 res = __builtin_lsx_vsllwil_wu_hu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
823673c5308Schenli res |= __builtin_lsx_vsllwil_wu_hu(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
824673c5308Schenli res |= __builtin_lsx_vsllwil_wu_hu(_1, var); // expected-error {{argument to '__builtin_lsx_vsllwil_wu_hu' must be a constant integer}}
825673c5308Schenli return res;
826673c5308Schenli }
827673c5308Schenli
vsllwil_du_wu(v4u32 _1,int var)828673c5308Schenli v2u64 vsllwil_du_wu(v4u32 _1, int var) {
829673c5308Schenli v2u64 res = __builtin_lsx_vsllwil_du_wu(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
830673c5308Schenli res |= __builtin_lsx_vsllwil_du_wu(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
831673c5308Schenli res |= __builtin_lsx_vsllwil_du_wu(_1, var); // expected-error {{argument to '__builtin_lsx_vsllwil_du_wu' must be a constant integer}}
832673c5308Schenli return res;
833673c5308Schenli }
834673c5308Schenli
vfrstpi_b(v16i8 _1,v16i8 _2,int var)835673c5308Schenli v16i8 vfrstpi_b(v16i8 _1, v16i8 _2, int var) {
836673c5308Schenli v16i8 res = __builtin_lsx_vfrstpi_b(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
837673c5308Schenli res |= __builtin_lsx_vfrstpi_b(_1, _2, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
838673c5308Schenli res |= __builtin_lsx_vfrstpi_b(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vfrstpi_b' must be a constant integer}}
839673c5308Schenli return res;
840673c5308Schenli }
841673c5308Schenli
vfrstpi_h(v8i16 _1,v8i16 _2,int var)842673c5308Schenli v8i16 vfrstpi_h(v8i16 _1, v8i16 _2, int var) {
843673c5308Schenli v8i16 res = __builtin_lsx_vfrstpi_h(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
844673c5308Schenli res |= __builtin_lsx_vfrstpi_h(_1, _2, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
845673c5308Schenli res |= __builtin_lsx_vfrstpi_h(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vfrstpi_h' must be a constant integer}}
846673c5308Schenli return res;
847673c5308Schenli }
848673c5308Schenli
vshuf4i_d(v2i64 _1,v2i64 _2,int var)849673c5308Schenli v2i64 vshuf4i_d(v2i64 _1, v2i64 _2, int var) {
850673c5308Schenli v2i64 res = __builtin_lsx_vshuf4i_d(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
851673c5308Schenli res |= __builtin_lsx_vshuf4i_d(_1, _2, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
852673c5308Schenli res |= __builtin_lsx_vshuf4i_d(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vshuf4i_d' must be a constant integer}}
853673c5308Schenli return res;
854673c5308Schenli }
855673c5308Schenli
vbsrl_v(v16i8 _1,int var)856673c5308Schenli v16i8 vbsrl_v(v16i8 _1, int var) {
857673c5308Schenli v16i8 res = __builtin_lsx_vbsrl_v(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
858673c5308Schenli res |= __builtin_lsx_vbsrl_v(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
859673c5308Schenli res |= __builtin_lsx_vbsrl_v(_1, var); // expected-error {{argument to '__builtin_lsx_vbsrl_v' must be a constant integer}}
860673c5308Schenli return res;
861673c5308Schenli }
862673c5308Schenli
vbsll_v(v16i8 _1,int var)863673c5308Schenli v16i8 vbsll_v(v16i8 _1, int var) {
864673c5308Schenli v16i8 res = __builtin_lsx_vbsll_v(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
865673c5308Schenli res |= __builtin_lsx_vbsll_v(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
866673c5308Schenli res |= __builtin_lsx_vbsll_v(_1, var); // expected-error {{argument to '__builtin_lsx_vbsll_v' must be a constant integer}}
867673c5308Schenli return res;
868673c5308Schenli }
869673c5308Schenli
vextrins_b(v16i8 _1,v16i8 _2,int var)870673c5308Schenli v16i8 vextrins_b(v16i8 _1, v16i8 _2, int var) {
871673c5308Schenli v16i8 res = __builtin_lsx_vextrins_b(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
872673c5308Schenli res |= __builtin_lsx_vextrins_b(_1, _2, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
873673c5308Schenli res |= __builtin_lsx_vextrins_b(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vextrins_b' must be a constant integer}}
874673c5308Schenli return res;
875673c5308Schenli }
876673c5308Schenli
vextrins_h(v8i16 _1,v8i16 _2,int var)877673c5308Schenli v8i16 vextrins_h(v8i16 _1, v8i16 _2, int var) {
878673c5308Schenli v8i16 res = __builtin_lsx_vextrins_h(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
879673c5308Schenli res |= __builtin_lsx_vextrins_h(_1, _2, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
880673c5308Schenli res |= __builtin_lsx_vextrins_h(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vextrins_h' must be a constant integer}}
881673c5308Schenli return res;
882673c5308Schenli }
883673c5308Schenli
vextrins_w(v4i32 _1,v4i32 _2,int var)884673c5308Schenli v4i32 vextrins_w(v4i32 _1, v4i32 _2, int var) {
885673c5308Schenli v4i32 res = __builtin_lsx_vextrins_w(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
886673c5308Schenli res |= __builtin_lsx_vextrins_w(_1, _2, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
887673c5308Schenli res |= __builtin_lsx_vextrins_w(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vextrins_w' must be a constant integer}}
888673c5308Schenli return res;
889673c5308Schenli }
890673c5308Schenli
vextrins_d(v2i64 _1,v2i64 _2,int var)891673c5308Schenli v2i64 vextrins_d(v2i64 _1, v2i64 _2, int var) {
892673c5308Schenli v2i64 res = __builtin_lsx_vextrins_d(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
893673c5308Schenli res |= __builtin_lsx_vextrins_d(_1, _2, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
894673c5308Schenli res |= __builtin_lsx_vextrins_d(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vextrins_d' must be a constant integer}}
895673c5308Schenli return res;
896673c5308Schenli }
897673c5308Schenli
vstelm_b_idx(v16i8 _1,void * _2,int var)898673c5308Schenli void vstelm_b_idx(v16i8 _1, void *_2, int var) {
899673c5308Schenli __builtin_lsx_vstelm_b(_1, _2, 1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
900673c5308Schenli __builtin_lsx_vstelm_b(_1, _2, 1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
901673c5308Schenli __builtin_lsx_vstelm_b(_1, _2, 1, var); // expected-error {{argument to '__builtin_lsx_vstelm_b' must be a constant integer}}
902673c5308Schenli }
903673c5308Schenli
vstelm_h_idx(v8i16 _1,void * _2,int var)904673c5308Schenli void vstelm_h_idx(v8i16 _1, void *_2, int var) {
905673c5308Schenli __builtin_lsx_vstelm_h(_1, _2, 2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
906673c5308Schenli __builtin_lsx_vstelm_h(_1, _2, 2, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
907673c5308Schenli __builtin_lsx_vstelm_h(_1, _2, 2, var); // expected-error {{argument to '__builtin_lsx_vstelm_h' must be a constant integer}}
908673c5308Schenli }
909673c5308Schenli
vstelm_w_idx(v4i32 _1,void * _2,int var)910673c5308Schenli void vstelm_w_idx(v4i32 _1, void *_2, int var) {
911673c5308Schenli __builtin_lsx_vstelm_w(_1, _2, 4, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 3]}}
912673c5308Schenli __builtin_lsx_vstelm_w(_1, _2, 4, 4); // expected-error {{argument value 4 is outside the valid range [0, 3]}}
913673c5308Schenli __builtin_lsx_vstelm_w(_1, _2, 4, var); // expected-error {{argument to '__builtin_lsx_vstelm_w' must be a constant integer}}
914673c5308Schenli }
915673c5308Schenli
vstelm_d_idx(v2i64 _1,void * _2,int var)916673c5308Schenli void vstelm_d_idx(v2i64 _1, void *_2, int var) {
917673c5308Schenli __builtin_lsx_vstelm_d(_1, _2, 8, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 1]}}
918673c5308Schenli __builtin_lsx_vstelm_d(_1, _2, 8, 2); // expected-error {{argument value 2 is outside the valid range [0, 1]}}
919673c5308Schenli __builtin_lsx_vstelm_d(_1, _2, 8, var); // expected-error {{argument to '__builtin_lsx_vstelm_d' must be a constant integer}}
920673c5308Schenli }
921673c5308Schenli
vstelm_b(v16i8 _1,void * _2,int var)922673c5308Schenli void vstelm_b(v16i8 _1, void *_2, int var) {
923673c5308Schenli __builtin_lsx_vstelm_b(_1, _2, -129, 1); // expected-error {{argument value -129 is outside the valid range [-128, 127]}}
924673c5308Schenli __builtin_lsx_vstelm_b(_1, _2, 128, 1); // expected-error {{argument value 128 is outside the valid range [-128, 127]}}
925673c5308Schenli __builtin_lsx_vstelm_b(_1, _2, var, 1); // expected-error {{argument to '__builtin_lsx_vstelm_b' must be a constant integer}}
926673c5308Schenli }
927673c5308Schenli
vstelm_h(v8i16 _1,void * _2,int var)928673c5308Schenli void vstelm_h(v8i16 _1, void *_2, int var) {
929673c5308Schenli __builtin_lsx_vstelm_h(_1, _2, -258, 1); // expected-error {{argument value -258 is outside the valid range [-256, 254]}}
930673c5308Schenli __builtin_lsx_vstelm_h(_1, _2, 256, 1); // expected-error {{argument value 256 is outside the valid range [-256, 254]}}
931673c5308Schenli __builtin_lsx_vstelm_h(_1, _2, var, 1); // expected-error {{argument to '__builtin_lsx_vstelm_h' must be a constant integer}}
932673c5308Schenli }
933673c5308Schenli
vstelm_w(v4i32 _1,void * _2,int var)934673c5308Schenli void vstelm_w(v4i32 _1, void *_2, int var) {
935673c5308Schenli __builtin_lsx_vstelm_w(_1, _2, -516, 1); // expected-error {{argument value -516 is outside the valid range [-512, 508]}}
936673c5308Schenli __builtin_lsx_vstelm_w(_1, _2, 512, 1); // expected-error {{argument value 512 is outside the valid range [-512, 508]}}
937673c5308Schenli __builtin_lsx_vstelm_w(_1, _2, var, 1); // expected-error {{argument to '__builtin_lsx_vstelm_w' must be a constant integer}}
938673c5308Schenli }
939673c5308Schenli
vstelm_d(v2i64 _1,void * _2,int var)940673c5308Schenli void vstelm_d(v2i64 _1, void *_2, int var) {
941673c5308Schenli __builtin_lsx_vstelm_d(_1, _2, -1032, 1); // expected-error {{argument value -1032 is outside the valid range [-1024, 1016]}}
942673c5308Schenli __builtin_lsx_vstelm_d(_1, _2, 1024, 1); // expected-error {{argument value 1024 is outside the valid range [-1024, 1016]}}
943673c5308Schenli __builtin_lsx_vstelm_d(_1, _2, var, 1); // expected-error {{argument to '__builtin_lsx_vstelm_d' must be a constant integer}}
944673c5308Schenli }
945673c5308Schenli
vldrepl_b(void * _1,int var)946673c5308Schenli v16i8 vldrepl_b(void *_1, int var) {
947673c5308Schenli v16i8 res = __builtin_lsx_vldrepl_b(_1, -2049); // expected-error {{argument value -2049 is outside the valid range [-2048, 2047]}}
948673c5308Schenli res |= __builtin_lsx_vldrepl_b(_1, 2048); // expected-error {{argument value 2048 is outside the valid range [-2048, 2047]}}
949673c5308Schenli res |= __builtin_lsx_vldrepl_b(_1, var); // expected-error {{argument to '__builtin_lsx_vldrepl_b' must be a constant integer}}
950673c5308Schenli return res;
951673c5308Schenli }
952673c5308Schenli
vldrepl_h(void * _1,int var)953673c5308Schenli v8i16 vldrepl_h(void *_1, int var) {
954673c5308Schenli v8i16 res = __builtin_lsx_vldrepl_h(_1, -2050); // expected-error {{argument value -2050 is outside the valid range [-2048, 2046]}}
955673c5308Schenli res |= __builtin_lsx_vldrepl_h(_1, 2048); // expected-error {{argument value 2048 is outside the valid range [-2048, 2046]}}
956673c5308Schenli res |= __builtin_lsx_vldrepl_h(_1, var); // expected-error {{argument to '__builtin_lsx_vldrepl_h' must be a constant integer}}
957673c5308Schenli return res;
958673c5308Schenli }
959673c5308Schenli
vldrepl_w(void * _1,int var)960673c5308Schenli v4i32 vldrepl_w(void *_1, int var) {
961673c5308Schenli v4i32 res = __builtin_lsx_vldrepl_w(_1, -2052); // expected-error {{argument value -2052 is outside the valid range [-2048, 2044]}}
962673c5308Schenli res |= __builtin_lsx_vldrepl_w(_1, 2048); // expected-error {{argument value 2048 is outside the valid range [-2048, 2044]}}
963673c5308Schenli res |= __builtin_lsx_vldrepl_w(_1, var); // expected-error {{argument to '__builtin_lsx_vldrepl_w' must be a constant integer}}
964673c5308Schenli return res;
965673c5308Schenli }
966673c5308Schenli
vldrepl_d(void * _1,int var)967673c5308Schenli v2i64 vldrepl_d(void *_1, int var) {
968673c5308Schenli v2i64 res = __builtin_lsx_vldrepl_d(_1, -2056); // expected-error {{argument value -2056 is outside the valid range [-2048, 2040]}}
969673c5308Schenli res |= __builtin_lsx_vldrepl_d(_1, 2048); // expected-error {{argument value 2048 is outside the valid range [-2048, 2040]}}
970673c5308Schenli res |= __builtin_lsx_vldrepl_d(_1, var); // expected-error {{argument to '__builtin_lsx_vldrepl_d' must be a constant integer}}
971673c5308Schenli return res;
972673c5308Schenli }
973673c5308Schenli
vrotri_b(v16i8 _1,int var)974673c5308Schenli v16i8 vrotri_b(v16i8 _1, int var) {
975673c5308Schenli v16i8 res = __builtin_lsx_vrotri_b(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
976673c5308Schenli res |= __builtin_lsx_vrotri_b(_1, 8); // expected-error {{argument value 8 is outside the valid range [0, 7]}}
977673c5308Schenli res |= __builtin_lsx_vrotri_b(_1, var); // expected-error {{argument to '__builtin_lsx_vrotri_b' must be a constant integer}}
978673c5308Schenli return res;
979673c5308Schenli }
980673c5308Schenli
vrotri_h(v8i16 _1,int var)981673c5308Schenli v8i16 vrotri_h(v8i16 _1, int var) {
982673c5308Schenli v8i16 res = __builtin_lsx_vrotri_h(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
983673c5308Schenli res |= __builtin_lsx_vrotri_h(_1, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
984673c5308Schenli res |= __builtin_lsx_vrotri_h(_1, var); // expected-error {{argument to '__builtin_lsx_vrotri_h' must be a constant integer}}
985673c5308Schenli return res;
986673c5308Schenli }
987673c5308Schenli
vrotri_w(v4i32 _1,int var)988673c5308Schenli v4i32 vrotri_w(v4i32 _1, int var) {
989673c5308Schenli v4i32 res = __builtin_lsx_vrotri_w(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
990673c5308Schenli res |= __builtin_lsx_vrotri_w(_1, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
991673c5308Schenli res |= __builtin_lsx_vrotri_w(_1, var); // expected-error {{argument to '__builtin_lsx_vrotri_w' must be a constant integer}}
992673c5308Schenli return res;
993673c5308Schenli }
994673c5308Schenli
vrotri_d(v2i64 _1,int var)995673c5308Schenli v2i64 vrotri_d(v2i64 _1, int var) {
996673c5308Schenli v2i64 res = __builtin_lsx_vrotri_d(_1, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
997673c5308Schenli res |= __builtin_lsx_vrotri_d(_1, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
998673c5308Schenli res |= __builtin_lsx_vrotri_d(_1, var); // expected-error {{argument to '__builtin_lsx_vrotri_d' must be a constant integer}}
999673c5308Schenli return res;
1000673c5308Schenli }
1001673c5308Schenli
vsrlni_b_h(v16i8 _1,v16i8 _2,int var)1002673c5308Schenli v16i8 vsrlni_b_h(v16i8 _1, v16i8 _2, int var) {
1003673c5308Schenli v16i8 res = __builtin_lsx_vsrlni_b_h(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
1004673c5308Schenli res |= __builtin_lsx_vsrlni_b_h(_1, _2, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
1005673c5308Schenli res |= __builtin_lsx_vsrlni_b_h(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrlni_b_h' must be a constant integer}}
1006673c5308Schenli return res;
1007673c5308Schenli }
1008673c5308Schenli
vsrlni_h_w(v8i16 _1,v8i16 _2,int var)1009673c5308Schenli v8i16 vsrlni_h_w(v8i16 _1, v8i16 _2, int var) {
1010673c5308Schenli v8i16 res = __builtin_lsx_vsrlni_h_w(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
1011673c5308Schenli res |= __builtin_lsx_vsrlni_h_w(_1, _2, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
1012673c5308Schenli res |= __builtin_lsx_vsrlni_h_w(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrlni_h_w' must be a constant integer}}
1013673c5308Schenli return res;
1014673c5308Schenli }
1015673c5308Schenli
vsrlni_w_d(v4i32 _1,v4i32 _2,int var)1016673c5308Schenli v4i32 vsrlni_w_d(v4i32 _1, v4i32 _2, int var) {
1017673c5308Schenli v4i32 res = __builtin_lsx_vsrlni_w_d(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
1018673c5308Schenli res |= __builtin_lsx_vsrlni_w_d(_1, _2, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
1019673c5308Schenli res |= __builtin_lsx_vsrlni_w_d(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrlni_w_d' must be a constant integer}}
1020673c5308Schenli return res;
1021673c5308Schenli }
1022673c5308Schenli
vsrlni_d_q(v2i64 _1,v2i64 _2,int var)1023673c5308Schenli v2i64 vsrlni_d_q(v2i64 _1, v2i64 _2, int var) {
1024673c5308Schenli v2i64 res = __builtin_lsx_vsrlni_d_q(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 127]}}
1025673c5308Schenli res |= __builtin_lsx_vsrlni_d_q(_1, _2, 128); // expected-error {{argument value 128 is outside the valid range [0, 127]}}
1026673c5308Schenli res |= __builtin_lsx_vsrlni_d_q(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrlni_d_q' must be a constant integer}}
1027673c5308Schenli return res;
1028673c5308Schenli }
1029673c5308Schenli
vsrlrni_b_h(v16i8 _1,v16i8 _2,int var)1030673c5308Schenli v16i8 vsrlrni_b_h(v16i8 _1, v16i8 _2, int var) {
1031673c5308Schenli v16i8 res = __builtin_lsx_vsrlrni_b_h(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
1032673c5308Schenli res |= __builtin_lsx_vsrlrni_b_h(_1, _2, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
1033673c5308Schenli res |= __builtin_lsx_vsrlrni_b_h(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrlrni_b_h' must be a constant integer}}
1034673c5308Schenli return res;
1035673c5308Schenli }
1036673c5308Schenli
vsrlrni_h_w(v8i16 _1,v8i16 _2,int var)1037673c5308Schenli v8i16 vsrlrni_h_w(v8i16 _1, v8i16 _2, int var) {
1038673c5308Schenli v8i16 res = __builtin_lsx_vsrlrni_h_w(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
1039673c5308Schenli res |= __builtin_lsx_vsrlrni_h_w(_1, _2, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
1040673c5308Schenli res |= __builtin_lsx_vsrlrni_h_w(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrlrni_h_w' must be a constant integer}}
1041673c5308Schenli return res;
1042673c5308Schenli }
1043673c5308Schenli
vsrlrni_w_d(v4i32 _1,v4i32 _2,int var)1044673c5308Schenli v4i32 vsrlrni_w_d(v4i32 _1, v4i32 _2, int var) {
1045673c5308Schenli v4i32 res = __builtin_lsx_vsrlrni_w_d(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
1046673c5308Schenli res |= __builtin_lsx_vsrlrni_w_d(_1, _2, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
1047673c5308Schenli res |= __builtin_lsx_vsrlrni_w_d(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrlrni_w_d' must be a constant integer}}
1048673c5308Schenli return res;
1049673c5308Schenli }
1050673c5308Schenli
vsrlrni_d_q(v2i64 _1,v2i64 _2,int var)1051673c5308Schenli v2i64 vsrlrni_d_q(v2i64 _1, v2i64 _2, int var) {
1052673c5308Schenli v2i64 res = __builtin_lsx_vsrlrni_d_q(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 127]}}
1053673c5308Schenli res |= __builtin_lsx_vsrlrni_d_q(_1, _2, 128); // expected-error {{argument value 128 is outside the valid range [0, 127]}}
1054673c5308Schenli res |= __builtin_lsx_vsrlrni_d_q(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrlrni_d_q' must be a constant integer}}
1055673c5308Schenli return res;
1056673c5308Schenli }
1057673c5308Schenli
vssrlni_b_h(v16i8 _1,v16i8 _2,int var)1058673c5308Schenli v16i8 vssrlni_b_h(v16i8 _1, v16i8 _2, int var) {
1059673c5308Schenli v16i8 res = __builtin_lsx_vssrlni_b_h(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
1060673c5308Schenli res |= __builtin_lsx_vssrlni_b_h(_1, _2, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
1061673c5308Schenli res |= __builtin_lsx_vssrlni_b_h(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlni_b_h' must be a constant integer}}
1062673c5308Schenli return res;
1063673c5308Schenli }
1064673c5308Schenli
vssrlni_h_w(v8i16 _1,v8i16 _2,int var)1065673c5308Schenli v8i16 vssrlni_h_w(v8i16 _1, v8i16 _2, int var) {
1066673c5308Schenli v8i16 res = __builtin_lsx_vssrlni_h_w(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
1067673c5308Schenli res |= __builtin_lsx_vssrlni_h_w(_1, _2, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
1068673c5308Schenli res |= __builtin_lsx_vssrlni_h_w(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlni_h_w' must be a constant integer}}
1069673c5308Schenli return res;
1070673c5308Schenli }
1071673c5308Schenli
vssrlni_w_d(v4i32 _1,v4i32 _2,int var)1072673c5308Schenli v4i32 vssrlni_w_d(v4i32 _1, v4i32 _2, int var) {
1073673c5308Schenli v4i32 res = __builtin_lsx_vssrlni_w_d(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
1074673c5308Schenli res |= __builtin_lsx_vssrlni_w_d(_1, _2, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
1075673c5308Schenli res |= __builtin_lsx_vssrlni_w_d(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlni_w_d' must be a constant integer}}
1076673c5308Schenli return res;
1077673c5308Schenli }
1078673c5308Schenli
vssrlni_d_q(v2i64 _1,v2i64 _2,int var)1079673c5308Schenli v2i64 vssrlni_d_q(v2i64 _1, v2i64 _2, int var) {
1080673c5308Schenli v2i64 res = __builtin_lsx_vssrlni_d_q(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 127]}}
1081673c5308Schenli res |= __builtin_lsx_vssrlni_d_q(_1, _2, 128); // expected-error {{argument value 128 is outside the valid range [0, 127]}}
1082673c5308Schenli res |= __builtin_lsx_vssrlni_d_q(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlni_d_q' must be a constant integer}}
1083673c5308Schenli return res;
1084673c5308Schenli }
1085673c5308Schenli
vssrlni_bu_h(v16u8 _1,v16i8 _2,int var)1086673c5308Schenli v16u8 vssrlni_bu_h(v16u8 _1, v16i8 _2, int var) {
1087673c5308Schenli v16u8 res = __builtin_lsx_vssrlni_bu_h(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
1088673c5308Schenli res |= __builtin_lsx_vssrlni_bu_h(_1, _2, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
1089673c5308Schenli res |= __builtin_lsx_vssrlni_bu_h(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlni_bu_h' must be a constant integer}}
1090673c5308Schenli return res;
1091673c5308Schenli }
1092673c5308Schenli
vssrlni_hu_w(v8u16 _1,v8i16 _2,int var)1093673c5308Schenli v8u16 vssrlni_hu_w(v8u16 _1, v8i16 _2, int var) {
1094673c5308Schenli v8u16 res = __builtin_lsx_vssrlni_hu_w(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
1095673c5308Schenli res |= __builtin_lsx_vssrlni_hu_w(_1, _2, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
1096673c5308Schenli res |= __builtin_lsx_vssrlni_hu_w(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlni_hu_w' must be a constant integer}}
1097673c5308Schenli return res;
1098673c5308Schenli }
1099673c5308Schenli
vssrlni_wu_d(v4u32 _1,v4i32 _2,int var)1100673c5308Schenli v4u32 vssrlni_wu_d(v4u32 _1, v4i32 _2, int var) {
1101673c5308Schenli v4u32 res = __builtin_lsx_vssrlni_wu_d(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
1102673c5308Schenli res |= __builtin_lsx_vssrlni_wu_d(_1, _2, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
1103673c5308Schenli res |= __builtin_lsx_vssrlni_wu_d(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlni_wu_d' must be a constant integer}}
1104673c5308Schenli return res;
1105673c5308Schenli }
1106673c5308Schenli
vssrlni_du_q(v2u64 _1,v2i64 _2,int var)1107673c5308Schenli v2u64 vssrlni_du_q(v2u64 _1, v2i64 _2, int var) {
1108673c5308Schenli v2u64 res = __builtin_lsx_vssrlni_du_q(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 127]}}
1109673c5308Schenli res |= __builtin_lsx_vssrlni_du_q(_1, _2, 128); // expected-error {{argument value 128 is outside the valid range [0, 127]}}
1110673c5308Schenli res |= __builtin_lsx_vssrlni_du_q(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlni_du_q' must be a constant integer}}
1111673c5308Schenli return res;
1112673c5308Schenli }
1113673c5308Schenli
vssrlrni_b_h(v16i8 _1,v16i8 _2,int var)1114673c5308Schenli v16i8 vssrlrni_b_h(v16i8 _1, v16i8 _2, int var) {
1115673c5308Schenli v16i8 res = __builtin_lsx_vssrlrni_b_h(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
1116673c5308Schenli res |= __builtin_lsx_vssrlrni_b_h(_1, _2, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
1117673c5308Schenli res |= __builtin_lsx_vssrlrni_b_h(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlrni_b_h' must be a constant integer}}
1118673c5308Schenli return res;
1119673c5308Schenli }
1120673c5308Schenli
vssrlrni_h_w(v8i16 _1,v8i16 _2,int var)1121673c5308Schenli v8i16 vssrlrni_h_w(v8i16 _1, v8i16 _2, int var) {
1122673c5308Schenli v8i16 res = __builtin_lsx_vssrlrni_h_w(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
1123673c5308Schenli res |= __builtin_lsx_vssrlrni_h_w(_1, _2, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
1124673c5308Schenli res |= __builtin_lsx_vssrlrni_h_w(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlrni_h_w' must be a constant integer}}
1125673c5308Schenli return res;
1126673c5308Schenli }
1127673c5308Schenli
vssrlrni_w_d(v4i32 _1,v4i32 _2,int var)1128673c5308Schenli v4i32 vssrlrni_w_d(v4i32 _1, v4i32 _2, int var) {
1129673c5308Schenli v4i32 res = __builtin_lsx_vssrlrni_w_d(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
1130673c5308Schenli res |= __builtin_lsx_vssrlrni_w_d(_1, _2, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
1131673c5308Schenli res |= __builtin_lsx_vssrlrni_w_d(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlrni_w_d' must be a constant integer}}
1132673c5308Schenli return res;
1133673c5308Schenli }
1134673c5308Schenli
vssrlrni_d_q(v2i64 _1,v2i64 _2,int var)1135673c5308Schenli v2i64 vssrlrni_d_q(v2i64 _1, v2i64 _2, int var) {
1136673c5308Schenli v2i64 res = __builtin_lsx_vssrlrni_d_q(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 127]}}
1137673c5308Schenli res |= __builtin_lsx_vssrlrni_d_q(_1, _2, 128); // expected-error {{argument value 128 is outside the valid range [0, 127]}}
1138673c5308Schenli res |= __builtin_lsx_vssrlrni_d_q(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlrni_d_q' must be a constant integer}}
1139673c5308Schenli return res;
1140673c5308Schenli }
1141673c5308Schenli
vssrlrni_bu_h(v16u8 _1,v16i8 _2,int var)1142673c5308Schenli v16u8 vssrlrni_bu_h(v16u8 _1, v16i8 _2, int var) {
1143673c5308Schenli v16u8 res = __builtin_lsx_vssrlrni_bu_h(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
1144673c5308Schenli res |= __builtin_lsx_vssrlrni_bu_h(_1, _2, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
1145673c5308Schenli res |= __builtin_lsx_vssrlrni_bu_h(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlrni_bu_h' must be a constant integer}}
1146673c5308Schenli return res;
1147673c5308Schenli }
1148673c5308Schenli
vssrlrni_hu_w(v8u16 _1,v8i16 _2,int var)1149673c5308Schenli v8u16 vssrlrni_hu_w(v8u16 _1, v8i16 _2, int var) {
1150673c5308Schenli v8u16 res = __builtin_lsx_vssrlrni_hu_w(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
1151673c5308Schenli res |= __builtin_lsx_vssrlrni_hu_w(_1, _2, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
1152673c5308Schenli res |= __builtin_lsx_vssrlrni_hu_w(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlrni_hu_w' must be a constant integer}}
1153673c5308Schenli return res;
1154673c5308Schenli }
1155673c5308Schenli
vssrlrni_wu_d(v4u32 _1,v4i32 _2,int var)1156673c5308Schenli v4u32 vssrlrni_wu_d(v4u32 _1, v4i32 _2, int var) {
1157673c5308Schenli v4u32 res = __builtin_lsx_vssrlrni_wu_d(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
1158673c5308Schenli res |= __builtin_lsx_vssrlrni_wu_d(_1, _2, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
1159673c5308Schenli res |= __builtin_lsx_vssrlrni_wu_d(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlrni_wu_d' must be a constant integer}}
1160673c5308Schenli return res;
1161673c5308Schenli }
1162673c5308Schenli
vssrlrni_du_q(v2u64 _1,v2i64 _2,int var)1163673c5308Schenli v2u64 vssrlrni_du_q(v2u64 _1, v2i64 _2, int var) {
1164673c5308Schenli v2u64 res = __builtin_lsx_vssrlrni_du_q(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 127]}}
1165673c5308Schenli res |= __builtin_lsx_vssrlrni_du_q(_1, _2, 128); // expected-error {{argument value 128 is outside the valid range [0, 127]}}
1166673c5308Schenli res |= __builtin_lsx_vssrlrni_du_q(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrlrni_du_q' must be a constant integer}}
1167673c5308Schenli return res;
1168673c5308Schenli }
1169673c5308Schenli
vsrani_b_h(v16i8 _1,v16i8 _2,int var)1170673c5308Schenli v16i8 vsrani_b_h(v16i8 _1, v16i8 _2, int var) {
1171673c5308Schenli v16i8 res = __builtin_lsx_vsrani_b_h(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
1172673c5308Schenli res |= __builtin_lsx_vsrani_b_h(_1, _2, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
1173673c5308Schenli res |= __builtin_lsx_vsrani_b_h(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrani_b_h' must be a constant integer}}
1174673c5308Schenli return res;
1175673c5308Schenli }
1176673c5308Schenli
vsrani_h_w(v8i16 _1,v8i16 _2,int var)1177673c5308Schenli v8i16 vsrani_h_w(v8i16 _1, v8i16 _2, int var) {
1178673c5308Schenli v8i16 res = __builtin_lsx_vsrani_h_w(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
1179673c5308Schenli res |= __builtin_lsx_vsrani_h_w(_1, _2, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
1180673c5308Schenli res |= __builtin_lsx_vsrani_h_w(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrani_h_w' must be a constant integer}}
1181673c5308Schenli return res;
1182673c5308Schenli }
1183673c5308Schenli
vsrani_w_d(v4i32 _1,v4i32 _2,int var)1184673c5308Schenli v4i32 vsrani_w_d(v4i32 _1, v4i32 _2, int var) {
1185673c5308Schenli v4i32 res = __builtin_lsx_vsrani_w_d(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
1186673c5308Schenli res |= __builtin_lsx_vsrani_w_d(_1, _2, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
1187673c5308Schenli res |= __builtin_lsx_vsrani_w_d(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrani_w_d' must be a constant integer}}
1188673c5308Schenli return res;
1189673c5308Schenli }
1190673c5308Schenli
vsrani_d_q(v2i64 _1,v2i64 _2,int var)1191673c5308Schenli v2i64 vsrani_d_q(v2i64 _1, v2i64 _2, int var) {
1192673c5308Schenli v2i64 res = __builtin_lsx_vsrani_d_q(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 127]}}
1193673c5308Schenli res |= __builtin_lsx_vsrani_d_q(_1, _2, 128); // expected-error {{argument value 128 is outside the valid range [0, 127]}}
1194673c5308Schenli res |= __builtin_lsx_vsrani_d_q(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrani_d_q' must be a constant integer}}
1195673c5308Schenli return res;
1196673c5308Schenli }
1197673c5308Schenli
vsrarni_b_h(v16i8 _1,v16i8 _2,int var)1198673c5308Schenli v16i8 vsrarni_b_h(v16i8 _1, v16i8 _2, int var) {
1199673c5308Schenli v16i8 res = __builtin_lsx_vsrarni_b_h(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
1200673c5308Schenli res |= __builtin_lsx_vsrarni_b_h(_1, _2, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
1201673c5308Schenli res |= __builtin_lsx_vsrarni_b_h(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrarni_b_h' must be a constant integer}}
1202673c5308Schenli return res;
1203673c5308Schenli }
1204673c5308Schenli
vsrarni_h_w(v8i16 _1,v8i16 _2,int var)1205673c5308Schenli v8i16 vsrarni_h_w(v8i16 _1, v8i16 _2, int var) {
1206673c5308Schenli v8i16 res = __builtin_lsx_vsrarni_h_w(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
1207673c5308Schenli res |= __builtin_lsx_vsrarni_h_w(_1, _2, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
1208673c5308Schenli res |= __builtin_lsx_vsrarni_h_w(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrarni_h_w' must be a constant integer}}
1209673c5308Schenli return res;
1210673c5308Schenli }
1211673c5308Schenli
vsrarni_w_d(v4i32 _1,v4i32 _2,int var)1212673c5308Schenli v4i32 vsrarni_w_d(v4i32 _1, v4i32 _2, int var) {
1213673c5308Schenli v4i32 res = __builtin_lsx_vsrarni_w_d(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
1214673c5308Schenli res |= __builtin_lsx_vsrarni_w_d(_1, _2, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
1215673c5308Schenli res |= __builtin_lsx_vsrarni_w_d(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrarni_w_d' must be a constant integer}}
1216673c5308Schenli return res;
1217673c5308Schenli }
1218673c5308Schenli
vsrarni_d_q(v2i64 _1,v2i64 _2,int var)1219673c5308Schenli v2i64 vsrarni_d_q(v2i64 _1, v2i64 _2, int var) {
1220673c5308Schenli v2i64 res = __builtin_lsx_vsrarni_d_q(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 127]}}
1221673c5308Schenli res |= __builtin_lsx_vsrarni_d_q(_1, _2, 128); // expected-error {{argument value 128 is outside the valid range [0, 127]}}
1222673c5308Schenli res |= __builtin_lsx_vsrarni_d_q(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vsrarni_d_q' must be a constant integer}}
1223673c5308Schenli return res;
1224673c5308Schenli }
1225673c5308Schenli
vssrani_b_h(v16i8 _1,v16i8 _2,int var)1226673c5308Schenli v16i8 vssrani_b_h(v16i8 _1, v16i8 _2, int var) {
1227673c5308Schenli v16i8 res = __builtin_lsx_vssrani_b_h(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
1228673c5308Schenli res |= __builtin_lsx_vssrani_b_h(_1, _2, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
1229673c5308Schenli res |= __builtin_lsx_vssrani_b_h(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrani_b_h' must be a constant integer}}
1230673c5308Schenli return res;
1231673c5308Schenli }
1232673c5308Schenli
vssrani_h_w(v8i16 _1,v8i16 _2,int var)1233673c5308Schenli v8i16 vssrani_h_w(v8i16 _1, v8i16 _2, int var) {
1234673c5308Schenli v8i16 res = __builtin_lsx_vssrani_h_w(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
1235673c5308Schenli res |= __builtin_lsx_vssrani_h_w(_1, _2, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
1236673c5308Schenli res |= __builtin_lsx_vssrani_h_w(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrani_h_w' must be a constant integer}}
1237673c5308Schenli return res;
1238673c5308Schenli }
1239673c5308Schenli
vssrani_w_d(v4i32 _1,v4i32 _2,int var)1240673c5308Schenli v4i32 vssrani_w_d(v4i32 _1, v4i32 _2, int var) {
1241673c5308Schenli v4i32 res = __builtin_lsx_vssrani_w_d(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
1242673c5308Schenli res |= __builtin_lsx_vssrani_w_d(_1, _2, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
1243673c5308Schenli res |= __builtin_lsx_vssrani_w_d(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrani_w_d' must be a constant integer}}
1244673c5308Schenli return res;
1245673c5308Schenli }
1246673c5308Schenli
vssrani_d_q(v2i64 _1,v2i64 _2,int var)1247673c5308Schenli v2i64 vssrani_d_q(v2i64 _1, v2i64 _2, int var) {
1248673c5308Schenli v2i64 res = __builtin_lsx_vssrani_d_q(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 127]}}
1249673c5308Schenli res |= __builtin_lsx_vssrani_d_q(_1, _2, 128); // expected-error {{argument value 128 is outside the valid range [0, 127]}}
1250673c5308Schenli res |= __builtin_lsx_vssrani_d_q(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrani_d_q' must be a constant integer}}
1251673c5308Schenli return res;
1252673c5308Schenli }
1253673c5308Schenli
vssrani_bu_h(v16u8 _1,v16i8 _2,int var)1254673c5308Schenli v16u8 vssrani_bu_h(v16u8 _1, v16i8 _2, int var) {
1255673c5308Schenli v16u8 res = __builtin_lsx_vssrani_bu_h(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
1256673c5308Schenli res |= __builtin_lsx_vssrani_bu_h(_1, _2, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
1257673c5308Schenli res |= __builtin_lsx_vssrani_bu_h(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrani_bu_h' must be a constant integer}}
1258673c5308Schenli return res;
1259673c5308Schenli }
1260673c5308Schenli
vssrani_hu_w(v8u16 _1,v8i16 _2,int var)1261673c5308Schenli v8u16 vssrani_hu_w(v8u16 _1, v8i16 _2, int var) {
1262673c5308Schenli v8u16 res = __builtin_lsx_vssrani_hu_w(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
1263673c5308Schenli res |= __builtin_lsx_vssrani_hu_w(_1, _2, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
1264673c5308Schenli res |= __builtin_lsx_vssrani_hu_w(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrani_hu_w' must be a constant integer}}
1265673c5308Schenli return res;
1266673c5308Schenli }
1267673c5308Schenli
vssrani_wu_d(v4u32 _1,v4i32 _2,int var)1268673c5308Schenli v4u32 vssrani_wu_d(v4u32 _1, v4i32 _2, int var) {
1269673c5308Schenli v4u32 res = __builtin_lsx_vssrani_wu_d(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
1270673c5308Schenli res |= __builtin_lsx_vssrani_wu_d(_1, _2, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
1271673c5308Schenli res |= __builtin_lsx_vssrani_wu_d(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrani_wu_d' must be a constant integer}}
1272673c5308Schenli return res;
1273673c5308Schenli }
1274673c5308Schenli
vssrani_du_q(v2u64 _1,v2i64 _2,int var)1275673c5308Schenli v2u64 vssrani_du_q(v2u64 _1, v2i64 _2, int var) {
1276673c5308Schenli v2u64 res = __builtin_lsx_vssrani_du_q(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 127]}}
1277673c5308Schenli res |= __builtin_lsx_vssrani_du_q(_1, _2, 128); // expected-error {{argument value 128 is outside the valid range [0, 127]}}
1278673c5308Schenli res |= __builtin_lsx_vssrani_du_q(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrani_du_q' must be a constant integer}}
1279673c5308Schenli return res;
1280673c5308Schenli }
1281673c5308Schenli
vssrarni_b_h(v16i8 _1,v16i8 _2,int var)1282673c5308Schenli v16i8 vssrarni_b_h(v16i8 _1, v16i8 _2, int var) {
1283673c5308Schenli v16i8 res = __builtin_lsx_vssrarni_b_h(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
1284673c5308Schenli res |= __builtin_lsx_vssrarni_b_h(_1, _2, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
1285673c5308Schenli res |= __builtin_lsx_vssrarni_b_h(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrarni_b_h' must be a constant integer}}
1286673c5308Schenli return res;
1287673c5308Schenli }
1288673c5308Schenli
vssrarni_h_w(v8i16 _1,v8i16 _2,int var)1289673c5308Schenli v8i16 vssrarni_h_w(v8i16 _1, v8i16 _2, int var) {
1290673c5308Schenli v8i16 res = __builtin_lsx_vssrarni_h_w(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
1291673c5308Schenli res |= __builtin_lsx_vssrarni_h_w(_1, _2, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
1292673c5308Schenli res |= __builtin_lsx_vssrarni_h_w(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrarni_h_w' must be a constant integer}}
1293673c5308Schenli return res;
1294673c5308Schenli }
1295673c5308Schenli
vssrarni_w_d(v4i32 _1,v4i32 _2,int var)1296673c5308Schenli v4i32 vssrarni_w_d(v4i32 _1, v4i32 _2, int var) {
1297673c5308Schenli v4i32 res = __builtin_lsx_vssrarni_w_d(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
1298673c5308Schenli res |= __builtin_lsx_vssrarni_w_d(_1, _2, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
1299673c5308Schenli res |= __builtin_lsx_vssrarni_w_d(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrarni_w_d' must be a constant integer}}
1300673c5308Schenli return res;
1301673c5308Schenli }
1302673c5308Schenli
vssrarni_d_q(v2i64 _1,v2i64 _2,int var)1303673c5308Schenli v2i64 vssrarni_d_q(v2i64 _1, v2i64 _2, int var) {
1304673c5308Schenli v2i64 res = __builtin_lsx_vssrarni_d_q(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 127]}}
1305673c5308Schenli res |= __builtin_lsx_vssrarni_d_q(_1, _2, 128); // expected-error {{argument value 128 is outside the valid range [0, 127]}}
1306673c5308Schenli res |= __builtin_lsx_vssrarni_d_q(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrarni_d_q' must be a constant integer}}
1307673c5308Schenli return res;
1308673c5308Schenli }
1309673c5308Schenli
vssrarni_bu_h(v16u8 _1,v16i8 _2,int var)1310673c5308Schenli v16u8 vssrarni_bu_h(v16u8 _1, v16i8 _2, int var) {
1311673c5308Schenli v16u8 res = __builtin_lsx_vssrarni_bu_h(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
1312673c5308Schenli res |= __builtin_lsx_vssrarni_bu_h(_1, _2, 16); // expected-error {{argument value 16 is outside the valid range [0, 15]}}
1313673c5308Schenli res |= __builtin_lsx_vssrarni_bu_h(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrarni_bu_h' must be a constant integer}}
1314673c5308Schenli return res;
1315673c5308Schenli }
1316673c5308Schenli
vssrarni_hu_w(v8u16 _1,v8i16 _2,int var)1317673c5308Schenli v8u16 vssrarni_hu_w(v8u16 _1, v8i16 _2, int var) {
1318673c5308Schenli v8u16 res = __builtin_lsx_vssrarni_hu_w(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
1319673c5308Schenli res |= __builtin_lsx_vssrarni_hu_w(_1, _2, 32); // expected-error {{argument value 32 is outside the valid range [0, 31]}}
1320673c5308Schenli res |= __builtin_lsx_vssrarni_hu_w(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrarni_hu_w' must be a constant integer}}
1321673c5308Schenli return res;
1322673c5308Schenli }
1323673c5308Schenli
vssrarni_wu_d(v4u32 _1,v4i32 _2,int var)1324673c5308Schenli v4u32 vssrarni_wu_d(v4u32 _1, v4i32 _2, int var) {
1325673c5308Schenli v4u32 res = __builtin_lsx_vssrarni_wu_d(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
1326673c5308Schenli res |= __builtin_lsx_vssrarni_wu_d(_1, _2, 64); // expected-error {{argument value 64 is outside the valid range [0, 63]}}
1327673c5308Schenli res |= __builtin_lsx_vssrarni_wu_d(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrarni_wu_d' must be a constant integer}}
1328673c5308Schenli return res;
1329673c5308Schenli }
1330673c5308Schenli
vssrarni_du_q(v2u64 _1,v2i64 _2,int var)1331673c5308Schenli v2u64 vssrarni_du_q(v2u64 _1, v2i64 _2, int var) {
1332673c5308Schenli v2u64 res = __builtin_lsx_vssrarni_du_q(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 127]}}
1333673c5308Schenli res |= __builtin_lsx_vssrarni_du_q(_1, _2, 128); // expected-error {{argument value 128 is outside the valid range [0, 127]}}
1334673c5308Schenli res |= __builtin_lsx_vssrarni_du_q(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vssrarni_du_q' must be a constant integer}}
1335673c5308Schenli return res;
1336673c5308Schenli }
1337673c5308Schenli
vpermi_w(v4i32 _1,v4i32 _2,int var)1338673c5308Schenli v4i32 vpermi_w(v4i32 _1, v4i32 _2, int var) {
1339673c5308Schenli v4i32 res = __builtin_lsx_vpermi_w(_1, _2, -1); // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
1340673c5308Schenli res |= __builtin_lsx_vpermi_w(_1, _2, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
1341673c5308Schenli res |= __builtin_lsx_vpermi_w(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vpermi_w' must be a constant integer}}
1342673c5308Schenli return res;
1343673c5308Schenli }
1344673c5308Schenli
vld(void * _1,int var)1345673c5308Schenli v16i8 vld(void *_1, int var) {
1346673c5308Schenli v16i8 res = __builtin_lsx_vld(_1, -2049); // expected-error {{argument value -2049 is outside the valid range [-2048, 2047]}}
1347673c5308Schenli res |= __builtin_lsx_vld(_1, 2048); // expected-error {{argument value 2048 is outside the valid range [-2048, 2047]}}
1348673c5308Schenli res |= __builtin_lsx_vld(_1, var); // expected-error {{argument to '__builtin_lsx_vld' must be a constant integer}}
1349673c5308Schenli return res;
1350673c5308Schenli }
1351673c5308Schenli
vst(v16i8 _1,void * _2,int var)1352673c5308Schenli void vst(v16i8 _1, void *_2, int var) {
1353673c5308Schenli __builtin_lsx_vst(_1, _2, -2049); // expected-error {{argument value -2049 is outside the valid range [-2048, 2047]}}
1354673c5308Schenli __builtin_lsx_vst(_1, _2, 2048); // expected-error {{argument value 2048 is outside the valid range [-2048, 2047]}}
1355673c5308Schenli __builtin_lsx_vst(_1, _2, var); // expected-error {{argument to '__builtin_lsx_vst' must be a constant integer}}
1356673c5308Schenli }
1357673c5308Schenli
vldi(int var)1358673c5308Schenli v2i64 vldi(int var) {
1359673c5308Schenli v2i64 res = __builtin_lsx_vldi(-4097); // expected-error {{argument value -4097 is outside the valid range [-4096, 4095]}}
1360673c5308Schenli res |= __builtin_lsx_vldi(4096); // expected-error {{argument value 4096 is outside the valid range [-4096, 4095]}}
1361673c5308Schenli res |= __builtin_lsx_vldi(var); // expected-error {{argument to '__builtin_lsx_vldi' must be a constant integer}}
1362673c5308Schenli return res;
1363673c5308Schenli }
1364673c5308Schenli
vrepli_b(int var)1365673c5308Schenli v16i8 vrepli_b(int var) {
1366673c5308Schenli v16i8 res = __builtin_lsx_vrepli_b(-513); // expected-error {{argument value -513 is outside the valid range [-512, 511]}}
1367673c5308Schenli res |= __builtin_lsx_vrepli_b(512); // expected-error {{argument value 512 is outside the valid range [-512, 511]}}
1368673c5308Schenli res |= __builtin_lsx_vrepli_b(var); // expected-error {{argument to '__builtin_lsx_vrepli_b' must be a constant integer}}
1369673c5308Schenli return res;
1370673c5308Schenli }
1371673c5308Schenli
vrepli_d(int var)1372673c5308Schenli v2i64 vrepli_d(int var) {
1373673c5308Schenli v2i64 res = __builtin_lsx_vrepli_d(-513); // expected-error {{argument value -513 is outside the valid range [-512, 511]}}
1374673c5308Schenli res |= __builtin_lsx_vrepli_d(512); // expected-error {{argument value 512 is outside the valid range [-512, 511]}}
1375673c5308Schenli res |= __builtin_lsx_vrepli_d(var); // expected-error {{argument to '__builtin_lsx_vrepli_d' must be a constant integer}}
1376673c5308Schenli return res;
1377673c5308Schenli }
1378673c5308Schenli
vrepli_h(int var)1379673c5308Schenli v8i16 vrepli_h(int var) {
1380673c5308Schenli v8i16 res = __builtin_lsx_vrepli_h(-513); // expected-error {{argument value -513 is outside the valid range [-512, 511]}}
1381673c5308Schenli res |= __builtin_lsx_vrepli_h(512); // expected-error {{argument value 512 is outside the valid range [-512, 511]}}
1382673c5308Schenli res |= __builtin_lsx_vrepli_h(var); // expected-error {{argument to '__builtin_lsx_vrepli_h' must be a constant integer}}
1383673c5308Schenli return res;
1384673c5308Schenli }
1385673c5308Schenli
vrepli_w(int var)1386673c5308Schenli v4i32 vrepli_w(int var) {
1387673c5308Schenli v4i32 res = __builtin_lsx_vrepli_w(-513); // expected-error {{argument value -513 is outside the valid range [-512, 511]}}
1388673c5308Schenli res |= __builtin_lsx_vrepli_w(512); // expected-error {{argument value 512 is outside the valid range [-512, 511]}}
1389673c5308Schenli res |= __builtin_lsx_vrepli_w(var); // expected-error {{argument to '__builtin_lsx_vrepli_w' must be a constant integer}}
1390673c5308Schenli return res;
1391673c5308Schenli }
1392