1 // REQUIRES: systemz-registered-target
2 // RUN: %clang_cc1 -target-cpu z13 -triple s390x-linux-gnu \
3 // RUN: -fzvector -flax-vector-conversions=none \
4 // RUN: -Wall -Wno-unused -Werror -fsyntax-only -verify %s
5
6 #include <vecintrin.h>
7
8 volatile vector signed char vsc;
9 volatile vector signed short vss;
10 volatile vector signed int vsi;
11 volatile vector signed long long vsl;
12 volatile vector unsigned char vuc;
13 volatile vector unsigned short vus;
14 volatile vector unsigned int vui;
15 volatile vector unsigned long long vul;
16 volatile vector bool char vbc;
17 volatile vector bool short vbs;
18 volatile vector bool int vbi;
19 volatile vector bool long long vbl;
20 volatile vector double vd;
21
22 volatile signed char sc;
23 volatile signed short ss;
24 volatile signed int si;
25 volatile signed long long sl;
26 volatile unsigned char uc;
27 volatile unsigned short us;
28 volatile unsigned int ui;
29 volatile unsigned long long ul;
30 volatile double d;
31
32 const void * volatile cptr;
33 const signed char * volatile cptrsc;
34 const signed short * volatile cptrss;
35 const signed int * volatile cptrsi;
36 const signed long long * volatile cptrsl;
37 const unsigned char * volatile cptruc;
38 const unsigned short * volatile cptrus;
39 const unsigned int * volatile cptrui;
40 const unsigned long long * volatile cptrul;
41 const float * volatile cptrf;
42 const double * volatile cptrd;
43
44 void * volatile ptr;
45 signed char * volatile ptrsc;
46 signed short * volatile ptrss;
47 signed int * volatile ptrsi;
48 signed long long * volatile ptrsl;
49 unsigned char * volatile ptruc;
50 unsigned short * volatile ptrus;
51 unsigned int * volatile ptrui;
52 unsigned long long * volatile ptrul;
53 float * volatile ptrf;
54 double * volatile ptrd;
55
56 volatile unsigned int len;
57 volatile int idx;
58 int cc;
59
test_core(void)60 void test_core(void) {
61 len = __lcbb(cptr, idx); // expected-error {{no matching function}}
62 // expected-note@vecintrin.h:* {{must be a constant power of 2 from 64 to 4096}}
63 len = __lcbb(cptr, 200); // expected-error {{no matching function}}
64 // expected-note@vecintrin.h:* {{must be a constant power of 2 from 64 to 4096}}
65 len = __lcbb(cptr, 32); // expected-error {{no matching function}}
66 // expected-note@vecintrin.h:* {{must be a constant power of 2 from 64 to 4096}}
67 len = __lcbb(cptr, 8192); // expected-error {{no matching function}}
68 // expected-note@vecintrin.h:* {{must be a constant power of 2 from 64 to 4096}}
69
70 vsl = vec_permi(vsl, vsl, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vpdi' must be a constant integer}}
71 // expected-note@vecintrin.h:* 3 {{candidate function not viable}}
72 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
73 vsl = vec_permi(vsl, vsl, -1); // expected-error {{no matching function}}
74 // expected-note@vecintrin.h:* 3 {{candidate function not viable}}
75 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
76 vsl = vec_permi(vsl, vsl, 4); // expected-error {{no matching function}}
77 // expected-note@vecintrin.h:* 3 {{candidate function not viable}}
78 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
79 vul = vec_permi(vul, vul, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vpdi' must be a constant integer}}
80 // expected-note@vecintrin.h:* 2 {{candidate function not viable}}
81 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
82 vul = vec_permi(vul, vul, -1); // expected-error {{no matching function}}
83 // expected-note@vecintrin.h:* 2 {{candidate function not viable}}
84 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
85 vul = vec_permi(vul, vul, 4); // expected-error {{no matching function}}
86 // expected-note@vecintrin.h:* 2 {{candidate function not viable}}
87 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
88 vbl = vec_permi(vbl, vbl, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vpdi' must be a constant integer}}
89 // expected-note@vecintrin.h:* 2 {{candidate function not viable}}
90 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
91 vbl = vec_permi(vbl, vbl, -1); // expected-error {{no matching function}}
92 // expected-note@vecintrin.h:* 2 {{candidate function not viable}}
93 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
94 vbl = vec_permi(vbl, vbl, 4); // expected-error {{no matching function}}
95 // expected-note@vecintrin.h:* 2 {{candidate function not viable}}
96 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
97 vd = vec_permi(vd, vd, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vpdi' must be a constant integer}}
98 // expected-note@vecintrin.h:* 3 {{candidate function not viable}}
99 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
100 vd = vec_permi(vd, vd, -1); // expected-error {{no matching function}}
101 // expected-note@vecintrin.h:* 3 {{candidate function not viable}}
102 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
103 vd = vec_permi(vd, vd, 4); // expected-error {{no matching function}}
104 // expected-note@vecintrin.h:* 3 {{candidate function not viable}}
105 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
106
107 vsi = vec_gather_element(vsi, vui, cptrsi, idx); // expected-error {{no matching function}}
108 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
109 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
110 vsi = vec_gather_element(vsi, vui, cptrsi, -1); // expected-error {{no matching function}}
111 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
112 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
113 vsi = vec_gather_element(vsi, vui, cptrsi, 4); // expected-error {{no matching function}}
114 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
115 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
116 vui = vec_gather_element(vui, vui, cptrui, idx); // expected-error {{no matching function}}
117 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
118 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
119 vui = vec_gather_element(vui, vui, cptrui, -1); // expected-error {{no matching function}}
120 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
121 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
122 vui = vec_gather_element(vui, vui, cptrui, 4); // expected-error {{no matching function}}
123 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
124 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
125 vbi = vec_gather_element(vbi, vui, cptrui, idx); // expected-error {{no matching function}}
126 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
127 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
128 vbi = vec_gather_element(vbi, vui, cptrui, -1); // expected-error {{no matching function}}
129 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
130 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
131 vbi = vec_gather_element(vbi, vui, cptrui, 4); // expected-error {{no matching function}}
132 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
133 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
134 vsl = vec_gather_element(vsl, vul, cptrsl, idx); // expected-error {{no matching function}}
135 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
136 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
137 vsl = vec_gather_element(vsl, vul, cptrsl, -1); // expected-error {{no matching function}}
138 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
139 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
140 vsl = vec_gather_element(vsl, vul, cptrsl, 2); // expected-error {{no matching function}}
141 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
142 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
143 vul = vec_gather_element(vul, vul, cptrul, idx); // expected-error {{no matching function}}
144 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
145 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
146 vul = vec_gather_element(vul, vul, cptrul, -1); // expected-error {{no matching function}}
147 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
148 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
149 vul = vec_gather_element(vul, vul, cptrul, 2); // expected-error {{no matching function}}
150 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
151 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
152 vbl = vec_gather_element(vbl, vul, cptrul, idx); // expected-error {{no matching function}}
153 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
154 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
155 vbl = vec_gather_element(vbl, vul, cptrul, -1); // expected-error {{no matching function}}
156 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
157 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
158 vbl = vec_gather_element(vbl, vul, cptrul, 2); // expected-error {{no matching function}}
159 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
160 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
161 vd = vec_gather_element(vd, vul, cptrd, idx); // expected-error {{no matching function}}
162 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
163 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
164 vd = vec_gather_element(vd, vul, cptrd, -1); // expected-error {{no matching function}}
165 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
166 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
167 vd = vec_gather_element(vd, vul, cptrd, 2); // expected-error {{no matching function}}
168 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
169 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
170
171 vec_scatter_element(vsi, vui, ptrsi, idx); // expected-error {{no matching function}}
172 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
173 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
174 vec_scatter_element(vsi, vui, ptrsi, -1); // expected-error {{no matching function}}
175 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
176 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
177 vec_scatter_element(vsi, vui, ptrsi, 4); // expected-error {{no matching function}}
178 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
179 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
180 vec_scatter_element(vui, vui, ptrui, idx); // expected-error {{no matching function}}
181 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
182 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
183 vec_scatter_element(vui, vui, ptrui, -1); // expected-error {{no matching function}}
184 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
185 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
186 vec_scatter_element(vui, vui, ptrui, 4); // expected-error {{no matching function}}
187 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
188 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
189 vec_scatter_element(vbi, vui, ptrui, idx); // expected-error {{no matching function}}
190 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
191 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
192 vec_scatter_element(vbi, vui, ptrui, -1); // expected-error {{no matching function}}
193 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
194 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
195 vec_scatter_element(vbi, vui, ptrui, 4); // expected-error {{no matching function}}
196 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
197 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
198 vec_scatter_element(vsl, vul, ptrsl, idx); // expected-error {{no matching function}}
199 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
200 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
201 vec_scatter_element(vsl, vul, ptrsl, -1); // expected-error {{no matching function}}
202 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
203 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
204 vec_scatter_element(vsl, vul, ptrsl, 2); // expected-error {{no matching function}}
205 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
206 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
207 vec_scatter_element(vul, vul, ptrul, idx); // expected-error {{no matching function}}
208 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
209 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
210 vec_scatter_element(vul, vul, ptrul, -1); // expected-error {{no matching function}}
211 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
212 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
213 vec_scatter_element(vul, vul, ptrul, 2); // expected-error {{no matching function}}
214 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
215 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
216 vec_scatter_element(vbl, vul, ptrul, idx); // expected-error {{no matching function}}
217 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
218 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
219 vec_scatter_element(vbl, vul, ptrul, -1); // expected-error {{no matching function}}
220 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
221 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
222 vec_scatter_element(vbl, vul, ptrul, 2); // expected-error {{no matching function}}
223 // expected-note@vecintrin.h:* 5 {{candidate function not viable}}
224 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
225 vec_scatter_element(vd, vul, ptrd, idx); // expected-error {{no matching function}}
226 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
227 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
228 vec_scatter_element(vd, vul, ptrd, -1); // expected-error {{no matching function}}
229 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
230 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
231 vec_scatter_element(vd, vul, ptrd, 2); // expected-error {{no matching function}}
232 // expected-note@vecintrin.h:* 6 {{candidate function not viable}}
233 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
234
235 vsc = vec_load_bndry(cptrsc, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vlbb' must be a constant integer}}
236 // expected-note@vecintrin.h:* 9 {{must be a constant power of 2 from 64 to 4096}}
237 vsc = vec_load_bndry(cptrsc, 200); // expected-error {{no matching function}} expected-error {{argument value -1 is outside the valid range [0, 15]}}
238 // expected-note@vecintrin.h:* 9 {{must be a constant power of 2 from 64 to 4096}}
239 vsc = vec_load_bndry(cptrsc, 32); // expected-error {{no matching function}} expected-error {{argument value -1 is outside the valid range [0, 15]}}
240 // expected-note@vecintrin.h:* 9 {{must be a constant power of 2 from 64 to 4096}}
241 vsc = vec_load_bndry(cptrsc, 8192); // expected-error {{no matching function}} expected-error {{argument value -1 is outside the valid range [0, 15]}}
242 // expected-note@vecintrin.h:* 9 {{must be a constant power of 2 from 64 to 4096}}
243 vuc = vec_load_bndry(cptruc, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vlbb' must be a constant integer}}
244 // expected-note@vecintrin.h:* 9 {{must be a constant power of 2 from 64 to 4096}}
245 vss = vec_load_bndry(cptrss, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vlbb' must be a constant integer}}
246 // expected-note@vecintrin.h:* 9 {{must be a constant power of 2 from 64 to 4096}}
247 vus = vec_load_bndry(cptrus, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vlbb' must be a constant integer}}
248 // expected-note@vecintrin.h:* 9 {{must be a constant power of 2 from 64 to 4096}}
249 vsi = vec_load_bndry(cptrsi, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vlbb' must be a constant integer}}
250 // expected-note@vecintrin.h:* 9 {{must be a constant power of 2 from 64 to 4096}}
251 vui = vec_load_bndry(cptrui, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vlbb' must be a constant integer}}
252 // expected-note@vecintrin.h:* 9 {{must be a constant power of 2 from 64 to 4096}}
253 vsl = vec_load_bndry(cptrsl, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vlbb' must be a constant integer}}
254 // expected-note@vecintrin.h:* 9 {{must be a constant power of 2 from 64 to 4096}}
255 vul = vec_load_bndry(cptrul, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vlbb' must be a constant integer}}
256 // expected-note@vecintrin.h:* 9 {{must be a constant power of 2 from 64 to 4096}}
257
258 vuc = vec_genmask(idx); // expected-error {{no matching function}}
259 // expected-note@vecintrin.h:* {{must be a constant integer}}
260
261 vuc = vec_genmasks_8(0, idx); // expected-error {{no matching function}}
262 // expected-note@vecintrin.h:* {{must be a constant integer}}
263 vuc = vec_genmasks_8(idx, 0); // expected-error {{no matching function}}
264 // expected-note@vecintrin.h:* {{must be a constant integer}}
265 vuc = vec_genmasks_8(idx, idx); // expected-error {{no matching function}}
266 // expected-note@vecintrin.h:* {{must be a constant integer}}
267 vus = vec_genmasks_16(0, idx); // expected-error {{no matching function}}
268 // expected-note@vecintrin.h:* {{must be a constant integer}}
269 vus = vec_genmasks_16(idx, 0); // expected-error {{no matching function}}
270 // expected-note@vecintrin.h:* {{must be a constant integer}}
271 vus = vec_genmasks_16(idx, idx); // expected-error {{no matching function}}
272 // expected-note@vecintrin.h:* {{must be a constant integer}}
273 vui = vec_genmasks_32(0, idx); // expected-error {{no matching function}}
274 // expected-note@vecintrin.h:* {{must be a constant integer}}
275 vui = vec_genmasks_32(idx, 0); // expected-error {{no matching function}}
276 // expected-note@vecintrin.h:* {{must be a constant integer}}
277 vui = vec_genmasks_32(idx, idx); // expected-error {{no matching function}}
278 // expected-note@vecintrin.h:* {{must be a constant integer}}
279 vul = vec_genmasks_64(0, idx); // expected-error {{no matching function}}
280 // expected-note@vecintrin.h:* {{must be a constant integer}}
281 vul = vec_genmasks_64(idx, 0); // expected-error {{no matching function}}
282 // expected-note@vecintrin.h:* {{must be a constant integer}}
283 vul = vec_genmasks_64(idx, idx); // expected-error {{no matching function}}
284 // expected-note@vecintrin.h:* {{must be a constant integer}}
285
286 vsc = vec_splat(vsc, idx); // expected-error {{no matching function}}
287 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
288 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 15}}
289 vsc = vec_splat(vsc, -1); // expected-error {{no matching function}}
290 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
291 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 15}}
292 vsc = vec_splat(vsc, 16); // expected-error {{no matching function}}
293 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
294 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 15}}
295 vuc = vec_splat(vuc, idx); // expected-error {{no matching function}}
296 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
297 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 15}}
298 vuc = vec_splat(vuc, -1); // expected-error {{no matching function}}
299 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
300 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 15}}
301 vuc = vec_splat(vuc, 16); // expected-error {{no matching function}}
302 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
303 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 15}}
304 vbc = vec_splat(vbc, idx); // expected-error {{no matching function}}
305 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
306 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 15}}
307 vbc = vec_splat(vbc, -1); // expected-error {{no matching function}}
308 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
309 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 15}}
310 vbc = vec_splat(vbc, 16); // expected-error {{no matching function}}
311 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
312 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 15}}
313 vss = vec_splat(vss, idx); // expected-error {{no matching function}}
314 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
315 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 7}}
316 vss = vec_splat(vss, -1); // expected-error {{no matching function}}
317 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
318 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 7}}
319 vss = vec_splat(vss, 8); // expected-error {{no matching function}}
320 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
321 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 7}}
322 vus = vec_splat(vus, idx); // expected-error {{no matching function}}
323 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
324 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 7}}
325 vus = vec_splat(vus, -1); // expected-error {{no matching function}}
326 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
327 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 7}}
328 vus = vec_splat(vus, 8); // expected-error {{no matching function}}
329 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
330 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 7}}
331 vbs = vec_splat(vbs, idx); // expected-error {{no matching function}}
332 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
333 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 7}}
334 vbs = vec_splat(vbs, -1); // expected-error {{no matching function}}
335 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
336 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 7}}
337 vbs = vec_splat(vbs, 8); // expected-error {{no matching function}}
338 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
339 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 7}}
340 vsi = vec_splat(vsi, idx); // expected-error {{no matching function}}
341 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
342 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
343 vsi = vec_splat(vsi, -1); // expected-error {{no matching function}}
344 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
345 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
346 vsi = vec_splat(vsi, 4); // expected-error {{no matching function}}
347 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
348 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
349 vui = vec_splat(vui, idx); // expected-error {{no matching function}}
350 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
351 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
352 vui = vec_splat(vui, -1); // expected-error {{no matching function}}
353 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
354 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
355 vui = vec_splat(vui, 4); // expected-error {{no matching function}}
356 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
357 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
358 vbi = vec_splat(vbi, idx); // expected-error {{no matching function}}
359 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
360 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
361 vbi = vec_splat(vbi, -1); // expected-error {{no matching function}}
362 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
363 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
364 vbi = vec_splat(vbi, 4); // expected-error {{no matching function}}
365 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
366 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 3}}
367 vsl = vec_splat(vsl, idx); // expected-error {{no matching function}}
368 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
369 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
370 vsl = vec_splat(vsl, -1); // expected-error {{no matching function}}
371 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
372 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
373 vsl = vec_splat(vsl, 2); // expected-error {{no matching function}}
374 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
375 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
376 vul = vec_splat(vul, idx); // expected-error {{no matching function}}
377 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
378 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
379 vul = vec_splat(vul, -1); // expected-error {{no matching function}}
380 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
381 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
382 vul = vec_splat(vul, 2); // expected-error {{no matching function}}
383 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
384 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
385 vbl = vec_splat(vbl, idx); // expected-error {{no matching function}}
386 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
387 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
388 vbl = vec_splat(vbl, -1); // expected-error {{no matching function}}
389 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
390 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
391 vbl = vec_splat(vbl, 2); // expected-error {{no matching function}}
392 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
393 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 1}}
394 vd = vec_splat(vd, idx); // expected-error {{no matching function}}
395 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
396 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
397 vd = vec_splat(vd, -1); // expected-error {{no matching function}}
398 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
399 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
400 vd = vec_splat(vd, 2); // expected-error {{no matching function}}
401 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
402 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 1}}
403
404 vsc = vec_splat_s8(idx); // expected-error {{no matching function}}
405 // expected-note@vecintrin.h:* {{must be a constant integer}}
406 vuc = vec_splat_u8(idx); // expected-error {{no matching function}}
407 // expected-note@vecintrin.h:* {{must be a constant integer}}
408 vss = vec_splat_s16(idx); // expected-error {{no matching function}}
409 // expected-note@vecintrin.h:* {{must be a constant integer}}
410 vus = vec_splat_u16(idx); // expected-error {{no matching function}}
411 // expected-note@vecintrin.h:* {{must be a constant integer}}
412 vsi = vec_splat_s32(idx); // expected-error {{no matching function}}
413 // expected-note@vecintrin.h:* {{must be a constant integer}}
414 vui = vec_splat_u32(idx); // expected-error {{no matching function}}
415 // expected-note@vecintrin.h:* {{must be a constant integer}}
416 vsl = vec_splat_s64(idx); // expected-error {{no matching function}}
417 // expected-note@vecintrin.h:* {{must be a constant integer}}
418 vul = vec_splat_u64(idx); // expected-error {{no matching function}}
419 // expected-note@vecintrin.h:* {{must be a constant integer}}
420 }
421
test_integer(void)422 void test_integer(void) {
423 vsc = vec_rl_mask(vsc, vuc, idx); // expected-error {{no matching function}} \
424 // expected-error {{argument to '__builtin_s390_verimb' must be a constant integer}} \
425 // expected-error {{argument to '__builtin_s390_verimh' must be a constant integer}} \
426 // expected-error {{argument to '__builtin_s390_verimf' must be a constant integer}} \
427 // expected-error {{argument to '__builtin_s390_verimg' must be a constant integer}}
428 // expected-note@vecintrin.h:* 7 {{candidate function not viable}}
429 // expected-note@vecintrin.h:* 1 {{must be a constant integer}}
430 vuc = vec_rl_mask(vuc, vuc, idx); // expected-error {{no matching function}} \
431 // expected-error {{argument to '__builtin_s390_verimb' must be a constant integer}} \
432 // expected-error {{argument to '__builtin_s390_verimh' must be a constant integer}} \
433 // expected-error {{argument to '__builtin_s390_verimf' must be a constant integer}} \
434 // expected-error {{argument to '__builtin_s390_verimg' must be a constant integer}}
435 // expected-note@vecintrin.h:* 7 {{candidate function not viable}}
436 // expected-note@vecintrin.h:* 1 {{must be a constant integer}}
437 vss = vec_rl_mask(vss, vus, idx); // expected-error {{no matching function}} \
438 // expected-error {{argument to '__builtin_s390_verimb' must be a constant integer}} \
439 // expected-error {{argument to '__builtin_s390_verimh' must be a constant integer}} \
440 // expected-error {{argument to '__builtin_s390_verimf' must be a constant integer}} \
441 // expected-error {{argument to '__builtin_s390_verimg' must be a constant integer}}
442 // expected-note@vecintrin.h:* 7 {{candidate function not viable}}
443 // expected-note@vecintrin.h:* 1 {{must be a constant integer}}
444 vus = vec_rl_mask(vus, vus, idx); // expected-error {{no matching function}} \
445 // expected-error {{argument to '__builtin_s390_verimb' must be a constant integer}} \
446 // expected-error {{argument to '__builtin_s390_verimh' must be a constant integer}} \
447 // expected-error {{argument to '__builtin_s390_verimf' must be a constant integer}} \
448 // expected-error {{argument to '__builtin_s390_verimg' must be a constant integer}}
449 // expected-note@vecintrin.h:* 7 {{candidate function not viable}}
450 // expected-note@vecintrin.h:* 1 {{must be a constant integer}}
451 vsi = vec_rl_mask(vsi, vui, idx); // expected-error {{no matching function}} \
452 // expected-error {{argument to '__builtin_s390_verimb' must be a constant integer}} \
453 // expected-error {{argument to '__builtin_s390_verimh' must be a constant integer}} \
454 // expected-error {{argument to '__builtin_s390_verimf' must be a constant integer}} \
455 // expected-error {{argument to '__builtin_s390_verimg' must be a constant integer}}
456 // expected-note@vecintrin.h:* 7 {{candidate function not viable}}
457 // expected-note@vecintrin.h:* 1 {{must be a constant integer}}
458 vui = vec_rl_mask(vui, vui, idx); // expected-error {{no matching function}} \
459 // expected-error {{argument to '__builtin_s390_verimb' must be a constant integer}} \
460 // expected-error {{argument to '__builtin_s390_verimh' must be a constant integer}} \
461 // expected-error {{argument to '__builtin_s390_verimf' must be a constant integer}} \
462 // expected-error {{argument to '__builtin_s390_verimg' must be a constant integer}}
463 // expected-note@vecintrin.h:* 7 {{candidate function not viable}}
464 // expected-note@vecintrin.h:* 1 {{must be a constant integer}}
465 vsl = vec_rl_mask(vsl, vul, idx); // expected-error {{no matching function}} \
466 // expected-error {{argument to '__builtin_s390_verimb' must be a constant integer}} \
467 // expected-error {{argument to '__builtin_s390_verimh' must be a constant integer}} \
468 // expected-error {{argument to '__builtin_s390_verimf' must be a constant integer}} \
469 // expected-error {{argument to '__builtin_s390_verimg' must be a constant integer}}
470 // expected-note@vecintrin.h:* 7 {{candidate function not viable}}
471 // expected-note@vecintrin.h:* 1 {{must be a constant integer}}
472 vul = vec_rl_mask(vul, vul, idx); // expected-error {{no matching function}} \
473 // expected-error {{argument to '__builtin_s390_verimb' must be a constant integer}} \
474 // expected-error {{argument to '__builtin_s390_verimh' must be a constant integer}} \
475 // expected-error {{argument to '__builtin_s390_verimf' must be a constant integer}} \
476 // expected-error {{argument to '__builtin_s390_verimg' must be a constant integer}}
477 // expected-note@vecintrin.h:* 7 {{candidate function not viable}}
478 // expected-note@vecintrin.h:* 1 {{must be a constant integer}}
479
480 vsc = vec_sld(vsc, vsc, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
481 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
482 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 15}}
483 vsc = vec_sld(vsc, vsc, -1); // expected-error {{no matching function}} expected-error {{argument value -1 is outside the valid range [0, 15]}}
484 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
485 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 15}}
486 vsc = vec_sld(vsc, vsc, 16); // expected-error {{no matching function}} expected-error {{argument value 16 is outside the valid range [0, 15]}}
487 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
488 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 15}}
489 vuc = vec_sld(vuc, vuc, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
490 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
491 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 15}}
492 vuc = vec_sld(vuc, vuc, -1); // expected-error {{no matching function}} expected-error {{argument value -1 is outside the valid range [0, 15]}}
493 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
494 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 15}}
495 vuc = vec_sld(vuc, vuc, 16); // expected-error {{no matching function}} expected-error {{argument value 16 is outside the valid range [0, 15]}}
496 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
497 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 15}}
498 vss = vec_sld(vss, vss, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
499 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
500 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 15}}
501 vus = vec_sld(vus, vus, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
502 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
503 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 15}}
504 vsi = vec_sld(vsi, vsi, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
505 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
506 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 15}}
507 vui = vec_sld(vui, vui, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
508 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
509 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 15}}
510 vsl = vec_sld(vsl, vsl, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
511 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
512 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 15}}
513 vul = vec_sld(vul, vul, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
514 // expected-note@vecintrin.h:* 11 {{candidate function not viable}}
515 // expected-note@vecintrin.h:* 2 {{must be a constant integer from 0 to 15}}
516 vd = vec_sld(vd, vd, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
517 // expected-note@vecintrin.h:* 12 {{candidate function not viable}}
518 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 15}}
519
520 vsc = vec_sldw(vsc, vsc, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
521 // expected-note@vecintrin.h:* 8 {{candidate function not viable}}
522 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
523 vsc = vec_sldw(vsc, vsc, -1); // expected-error {{no matching function}} expected-error {{argument value -4 is outside the valid range [0, 15]}}
524 // expected-note@vecintrin.h:* 8 {{candidate function not viable}}
525 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
526 vsc = vec_sldw(vsc, vsc, 4); // expected-error {{no matching function}} expected-error {{argument value 16 is outside the valid range [0, 15]}}
527 // expected-note@vecintrin.h:* 8 {{candidate function not viable}}
528 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
529 vuc = vec_sldw(vuc, vuc, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
530 // expected-note@vecintrin.h:* 8 {{candidate function not viable}}
531 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
532 vuc = vec_sldw(vuc, vuc, -1); // expected-error {{no matching function}} expected-error {{argument value -4 is outside the valid range [0, 15]}}
533 // expected-note@vecintrin.h:* 8 {{candidate function not viable}}
534 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
535 vuc = vec_sldw(vuc, vuc, 4); // expected-error {{no matching function}} expected-error {{argument value 16 is outside the valid range [0, 15]}}
536 // expected-note@vecintrin.h:* 8 {{candidate function not viable}}
537 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
538 vss = vec_sldw(vss, vss, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
539 // expected-note@vecintrin.h:* 8 {{candidate function not viable}}
540 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
541 vus = vec_sldw(vus, vus, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
542 // expected-note@vecintrin.h:* 8 {{candidate function not viable}}
543 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
544 vsi = vec_sldw(vsi, vsi, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
545 // expected-note@vecintrin.h:* 8 {{candidate function not viable}}
546 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
547 vui = vec_sldw(vui, vui, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
548 // expected-note@vecintrin.h:* 8 {{candidate function not viable}}
549 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
550 vsl = vec_sldw(vsl, vsl, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
551 // expected-note@vecintrin.h:* 8 {{candidate function not viable}}
552 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
553 vul = vec_sldw(vul, vul, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
554 // expected-note@vecintrin.h:* 8 {{candidate function not viable}}
555 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
556 vd = vec_sldw(vd, vd, idx); // expected-error {{no matching function}} expected-error {{argument to '__builtin_s390_vsldb' must be a constant integer}}
557 // expected-note@vecintrin.h:* 8 {{candidate function not viable}}
558 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 3}}
559 }
560
test_float(void)561 void test_float(void) {
562 vd = vec_ctd(vsl, idx); // expected-error {{no matching function}}
563 // expected-note@vecintrin.h:* 1 {{candidate function not viable}}
564 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 31}}
565 vd = vec_ctd(vsl, -1); // expected-error {{no matching function}}
566 // expected-note@vecintrin.h:* 1 {{candidate function not viable}}
567 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 31}}
568 vd = vec_ctd(vsl, 32); // expected-error {{no matching function}}
569 // expected-note@vecintrin.h:* 1 {{candidate function not viable}}
570 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 31}}
571 vd = vec_ctd(vul, idx); // expected-error {{no matching function}}
572 // expected-note@vecintrin.h:* 1 {{candidate function not viable}}
573 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 31}}
574 vd = vec_ctd(vul, -1); // expected-error {{no matching function}}
575 // expected-note@vecintrin.h:* 1 {{candidate function not viable}}
576 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 31}}
577 vd = vec_ctd(vul, 32); // expected-error {{no matching function}}
578 // expected-note@vecintrin.h:* 1 {{candidate function not viable}}
579 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 31}}
580
581 vsl = vec_ctsl(vd, idx); // expected-error {{no matching function}}
582 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 31}}
583 vsl = vec_ctsl(vd, -1); // expected-error {{no matching function}}
584 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 31}}
585 vsl = vec_ctsl(vd, 32); // expected-error {{no matching function}}
586 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 31}}
587 vul = vec_ctul(vd, idx); // expected-error {{no matching function}}
588 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 31}}
589 vul = vec_ctul(vd, -1); // expected-error {{no matching function}}
590 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 31}}
591 vul = vec_ctul(vd, 32); // expected-error {{no matching function}}
592 // expected-note@vecintrin.h:* 1 {{must be a constant integer from 0 to 31}}
593
594 vbl = vec_fp_test_data_class(vd, idx, &cc); // expected-error {{must be a constant integer}}
595 vbl = vec_fp_test_data_class(vd, -1, &cc); // expected-error-re {{argument value {{.*}} is outside the valid range}}
596 vbl = vec_fp_test_data_class(vd, 4096, &cc); // expected-error-re {{argument value {{.*}} is outside the valid range}}
597 }
598