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 // [email protected]:* {{must be a constant power of 2 from 64 to 4096}}
63 len = __lcbb(cptr, 200); // expected-error {{no matching function}}
64 // [email protected]:* {{must be a constant power of 2 from 64 to 4096}}
65 len = __lcbb(cptr, 32); // expected-error {{no matching function}}
66 // [email protected]:* {{must be a constant power of 2 from 64 to 4096}}
67 len = __lcbb(cptr, 8192); // expected-error {{no matching function}}
68 // [email protected]:* {{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 // [email protected]:* 3 {{candidate function not viable}}
72 // [email protected]:* 1 {{must be a constant integer from 0 to 3}}
73 vsl = vec_permi(vsl, vsl, -1); // expected-error {{no matching function}}
74 // [email protected]:* 3 {{candidate function not viable}}
75 // [email protected]:* 1 {{must be a constant integer from 0 to 3}}
76 vsl = vec_permi(vsl, vsl, 4); // expected-error {{no matching function}}
77 // [email protected]:* 3 {{candidate function not viable}}
78 // [email protected]:* 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 // [email protected]:* 2 {{candidate function not viable}}
81 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
82 vul = vec_permi(vul, vul, -1); // expected-error {{no matching function}}
83 // [email protected]:* 2 {{candidate function not viable}}
84 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
85 vul = vec_permi(vul, vul, 4); // expected-error {{no matching function}}
86 // [email protected]:* 2 {{candidate function not viable}}
87 // [email protected]:* 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 // [email protected]:* 2 {{candidate function not viable}}
90 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
91 vbl = vec_permi(vbl, vbl, -1); // expected-error {{no matching function}}
92 // [email protected]:* 2 {{candidate function not viable}}
93 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
94 vbl = vec_permi(vbl, vbl, 4); // expected-error {{no matching function}}
95 // [email protected]:* 2 {{candidate function not viable}}
96 // [email protected]:* 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 // [email protected]:* 3 {{candidate function not viable}}
99 // [email protected]:* 1 {{must be a constant integer from 0 to 3}}
100 vd = vec_permi(vd, vd, -1); // expected-error {{no matching function}}
101 // [email protected]:* 3 {{candidate function not viable}}
102 // [email protected]:* 1 {{must be a constant integer from 0 to 3}}
103 vd = vec_permi(vd, vd, 4); // expected-error {{no matching function}}
104 // [email protected]:* 3 {{candidate function not viable}}
105 // [email protected]:* 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 // [email protected]:* 6 {{candidate function not viable}}
109 // [email protected]:* 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 // [email protected]:* 6 {{candidate function not viable}}
112 // [email protected]:* 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 // [email protected]:* 6 {{candidate function not viable}}
115 // [email protected]:* 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 // [email protected]:* 5 {{candidate function not viable}}
118 // [email protected]:* 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 // [email protected]:* 5 {{candidate function not viable}}
121 // [email protected]:* 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 // [email protected]:* 5 {{candidate function not viable}}
124 // [email protected]:* 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 // [email protected]:* 5 {{candidate function not viable}}
127 // [email protected]:* 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 // [email protected]:* 5 {{candidate function not viable}}
130 // [email protected]:* 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 // [email protected]:* 5 {{candidate function not viable}}
133 // [email protected]:* 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 // [email protected]:* 6 {{candidate function not viable}}
136 // [email protected]:* 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 // [email protected]:* 6 {{candidate function not viable}}
139 // [email protected]:* 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 // [email protected]:* 6 {{candidate function not viable}}
142 // [email protected]:* 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 // [email protected]:* 5 {{candidate function not viable}}
145 // [email protected]:* 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 // [email protected]:* 5 {{candidate function not viable}}
148 // [email protected]:* 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 // [email protected]:* 5 {{candidate function not viable}}
151 // [email protected]:* 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 // [email protected]:* 5 {{candidate function not viable}}
154 // [email protected]:* 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 // [email protected]:* 5 {{candidate function not viable}}
157 // [email protected]:* 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 // [email protected]:* 5 {{candidate function not viable}}
160 // [email protected]:* 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 // [email protected]:* 6 {{candidate function not viable}}
163 // [email protected]:* 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 // [email protected]:* 6 {{candidate function not viable}}
166 // [email protected]:* 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 // [email protected]:* 6 {{candidate function not viable}}
169 // [email protected]:* 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 // [email protected]:* 6 {{candidate function not viable}}
173 // [email protected]:* 1 {{must be a constant integer from 0 to 3}}
174 vec_scatter_element(vsi, vui, ptrsi, -1); // expected-error {{no matching function}}
175 // [email protected]:* 6 {{candidate function not viable}}
176 // [email protected]:* 1 {{must be a constant integer from 0 to 3}}
177 vec_scatter_element(vsi, vui, ptrsi, 4); // expected-error {{no matching function}}
178 // [email protected]:* 6 {{candidate function not viable}}
179 // [email protected]:* 1 {{must be a constant integer from 0 to 3}}
180 vec_scatter_element(vui, vui, ptrui, idx); // expected-error {{no matching function}}
181 // [email protected]:* 5 {{candidate function not viable}}
182 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
183 vec_scatter_element(vui, vui, ptrui, -1); // expected-error {{no matching function}}
184 // [email protected]:* 5 {{candidate function not viable}}
185 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
186 vec_scatter_element(vui, vui, ptrui, 4); // expected-error {{no matching function}}
187 // [email protected]:* 5 {{candidate function not viable}}
188 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
189 vec_scatter_element(vbi, vui, ptrui, idx); // expected-error {{no matching function}}
190 // [email protected]:* 5 {{candidate function not viable}}
191 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
192 vec_scatter_element(vbi, vui, ptrui, -1); // expected-error {{no matching function}}
193 // [email protected]:* 5 {{candidate function not viable}}
194 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
195 vec_scatter_element(vbi, vui, ptrui, 4); // expected-error {{no matching function}}
196 // [email protected]:* 5 {{candidate function not viable}}
197 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
198 vec_scatter_element(vsl, vul, ptrsl, idx); // expected-error {{no matching function}}
199 // [email protected]:* 6 {{candidate function not viable}}
200 // [email protected]:* 1 {{must be a constant integer from 0 to 1}}
201 vec_scatter_element(vsl, vul, ptrsl, -1); // expected-error {{no matching function}}
202 // [email protected]:* 6 {{candidate function not viable}}
203 // [email protected]:* 1 {{must be a constant integer from 0 to 1}}
204 vec_scatter_element(vsl, vul, ptrsl, 2); // expected-error {{no matching function}}
205 // [email protected]:* 6 {{candidate function not viable}}
206 // [email protected]:* 1 {{must be a constant integer from 0 to 1}}
207 vec_scatter_element(vul, vul, ptrul, idx); // expected-error {{no matching function}}
208 // [email protected]:* 5 {{candidate function not viable}}
209 // [email protected]:* 2 {{must be a constant integer from 0 to 1}}
210 vec_scatter_element(vul, vul, ptrul, -1); // expected-error {{no matching function}}
211 // [email protected]:* 5 {{candidate function not viable}}
212 // [email protected]:* 2 {{must be a constant integer from 0 to 1}}
213 vec_scatter_element(vul, vul, ptrul, 2); // expected-error {{no matching function}}
214 // [email protected]:* 5 {{candidate function not viable}}
215 // [email protected]:* 2 {{must be a constant integer from 0 to 1}}
216 vec_scatter_element(vbl, vul, ptrul, idx); // expected-error {{no matching function}}
217 // [email protected]:* 5 {{candidate function not viable}}
218 // [email protected]:* 2 {{must be a constant integer from 0 to 1}}
219 vec_scatter_element(vbl, vul, ptrul, -1); // expected-error {{no matching function}}
220 // [email protected]:* 5 {{candidate function not viable}}
221 // [email protected]:* 2 {{must be a constant integer from 0 to 1}}
222 vec_scatter_element(vbl, vul, ptrul, 2); // expected-error {{no matching function}}
223 // [email protected]:* 5 {{candidate function not viable}}
224 // [email protected]:* 2 {{must be a constant integer from 0 to 1}}
225 vec_scatter_element(vd, vul, ptrd, idx); // expected-error {{no matching function}}
226 // [email protected]:* 6 {{candidate function not viable}}
227 // [email protected]:* 1 {{must be a constant integer from 0 to 1}}
228 vec_scatter_element(vd, vul, ptrd, -1); // expected-error {{no matching function}}
229 // [email protected]:* 6 {{candidate function not viable}}
230 // [email protected]:* 1 {{must be a constant integer from 0 to 1}}
231 vec_scatter_element(vd, vul, ptrd, 2); // expected-error {{no matching function}}
232 // [email protected]:* 6 {{candidate function not viable}}
233 // [email protected]:* 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 // [email protected]:* 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 // [email protected]:* 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 // [email protected]:* 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 // [email protected]:* 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 // [email protected]:* 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 // [email protected]:* 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 // [email protected]:* 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 // [email protected]:* 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 // [email protected]:* 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 // [email protected]:* 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 // [email protected]:* 9 {{must be a constant power of 2 from 64 to 4096}}
257
258 vuc = vec_genmask(idx); // expected-error {{no matching function}}
259 // [email protected]:* {{must be a constant integer}}
260
261 vuc = vec_genmasks_8(0, idx); // expected-error {{no matching function}}
262 // [email protected]:* {{must be a constant integer}}
263 vuc = vec_genmasks_8(idx, 0); // expected-error {{no matching function}}
264 // [email protected]:* {{must be a constant integer}}
265 vuc = vec_genmasks_8(idx, idx); // expected-error {{no matching function}}
266 // [email protected]:* {{must be a constant integer}}
267 vus = vec_genmasks_16(0, idx); // expected-error {{no matching function}}
268 // [email protected]:* {{must be a constant integer}}
269 vus = vec_genmasks_16(idx, 0); // expected-error {{no matching function}}
270 // [email protected]:* {{must be a constant integer}}
271 vus = vec_genmasks_16(idx, idx); // expected-error {{no matching function}}
272 // [email protected]:* {{must be a constant integer}}
273 vui = vec_genmasks_32(0, idx); // expected-error {{no matching function}}
274 // [email protected]:* {{must be a constant integer}}
275 vui = vec_genmasks_32(idx, 0); // expected-error {{no matching function}}
276 // [email protected]:* {{must be a constant integer}}
277 vui = vec_genmasks_32(idx, idx); // expected-error {{no matching function}}
278 // [email protected]:* {{must be a constant integer}}
279 vul = vec_genmasks_64(0, idx); // expected-error {{no matching function}}
280 // [email protected]:* {{must be a constant integer}}
281 vul = vec_genmasks_64(idx, 0); // expected-error {{no matching function}}
282 // [email protected]:* {{must be a constant integer}}
283 vul = vec_genmasks_64(idx, idx); // expected-error {{no matching function}}
284 // [email protected]:* {{must be a constant integer}}
285
286 vsc = vec_splat(vsc, idx); // expected-error {{no matching function}}
287 // [email protected]:* 12 {{candidate function not viable}}
288 // [email protected]:* 1 {{must be a constant integer from 0 to 15}}
289 vsc = vec_splat(vsc, -1); // expected-error {{no matching function}}
290 // [email protected]:* 12 {{candidate function not viable}}
291 // [email protected]:* 1 {{must be a constant integer from 0 to 15}}
292 vsc = vec_splat(vsc, 16); // expected-error {{no matching function}}
293 // [email protected]:* 12 {{candidate function not viable}}
294 // [email protected]:* 1 {{must be a constant integer from 0 to 15}}
295 vuc = vec_splat(vuc, idx); // expected-error {{no matching function}}
296 // [email protected]:* 11 {{candidate function not viable}}
297 // [email protected]:* 2 {{must be a constant integer from 0 to 15}}
298 vuc = vec_splat(vuc, -1); // expected-error {{no matching function}}
299 // [email protected]:* 11 {{candidate function not viable}}
300 // [email protected]:* 2 {{must be a constant integer from 0 to 15}}
301 vuc = vec_splat(vuc, 16); // expected-error {{no matching function}}
302 // [email protected]:* 11 {{candidate function not viable}}
303 // [email protected]:* 2 {{must be a constant integer from 0 to 15}}
304 vbc = vec_splat(vbc, idx); // expected-error {{no matching function}}
305 // [email protected]:* 11 {{candidate function not viable}}
306 // [email protected]:* 2 {{must be a constant integer from 0 to 15}}
307 vbc = vec_splat(vbc, -1); // expected-error {{no matching function}}
308 // [email protected]:* 11 {{candidate function not viable}}
309 // [email protected]:* 2 {{must be a constant integer from 0 to 15}}
310 vbc = vec_splat(vbc, 16); // expected-error {{no matching function}}
311 // [email protected]:* 11 {{candidate function not viable}}
312 // [email protected]:* 2 {{must be a constant integer from 0 to 15}}
313 vss = vec_splat(vss, idx); // expected-error {{no matching function}}
314 // [email protected]:* 12 {{candidate function not viable}}
315 // [email protected]:* 1 {{must be a constant integer from 0 to 7}}
316 vss = vec_splat(vss, -1); // expected-error {{no matching function}}
317 // [email protected]:* 12 {{candidate function not viable}}
318 // [email protected]:* 1 {{must be a constant integer from 0 to 7}}
319 vss = vec_splat(vss, 8); // expected-error {{no matching function}}
320 // [email protected]:* 12 {{candidate function not viable}}
321 // [email protected]:* 1 {{must be a constant integer from 0 to 7}}
322 vus = vec_splat(vus, idx); // expected-error {{no matching function}}
323 // [email protected]:* 11 {{candidate function not viable}}
324 // [email protected]:* 2 {{must be a constant integer from 0 to 7}}
325 vus = vec_splat(vus, -1); // expected-error {{no matching function}}
326 // [email protected]:* 11 {{candidate function not viable}}
327 // [email protected]:* 2 {{must be a constant integer from 0 to 7}}
328 vus = vec_splat(vus, 8); // expected-error {{no matching function}}
329 // [email protected]:* 11 {{candidate function not viable}}
330 // [email protected]:* 2 {{must be a constant integer from 0 to 7}}
331 vbs = vec_splat(vbs, idx); // expected-error {{no matching function}}
332 // [email protected]:* 11 {{candidate function not viable}}
333 // [email protected]:* 2 {{must be a constant integer from 0 to 7}}
334 vbs = vec_splat(vbs, -1); // expected-error {{no matching function}}
335 // [email protected]:* 11 {{candidate function not viable}}
336 // [email protected]:* 2 {{must be a constant integer from 0 to 7}}
337 vbs = vec_splat(vbs, 8); // expected-error {{no matching function}}
338 // [email protected]:* 11 {{candidate function not viable}}
339 // [email protected]:* 2 {{must be a constant integer from 0 to 7}}
340 vsi = vec_splat(vsi, idx); // expected-error {{no matching function}}
341 // [email protected]:* 12 {{candidate function not viable}}
342 // [email protected]:* 1 {{must be a constant integer from 0 to 3}}
343 vsi = vec_splat(vsi, -1); // expected-error {{no matching function}}
344 // [email protected]:* 12 {{candidate function not viable}}
345 // [email protected]:* 1 {{must be a constant integer from 0 to 3}}
346 vsi = vec_splat(vsi, 4); // expected-error {{no matching function}}
347 // [email protected]:* 12 {{candidate function not viable}}
348 // [email protected]:* 1 {{must be a constant integer from 0 to 3}}
349 vui = vec_splat(vui, idx); // expected-error {{no matching function}}
350 // [email protected]:* 11 {{candidate function not viable}}
351 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
352 vui = vec_splat(vui, -1); // expected-error {{no matching function}}
353 // [email protected]:* 11 {{candidate function not viable}}
354 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
355 vui = vec_splat(vui, 4); // expected-error {{no matching function}}
356 // [email protected]:* 11 {{candidate function not viable}}
357 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
358 vbi = vec_splat(vbi, idx); // expected-error {{no matching function}}
359 // [email protected]:* 11 {{candidate function not viable}}
360 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
361 vbi = vec_splat(vbi, -1); // expected-error {{no matching function}}
362 // [email protected]:* 11 {{candidate function not viable}}
363 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
364 vbi = vec_splat(vbi, 4); // expected-error {{no matching function}}
365 // [email protected]:* 11 {{candidate function not viable}}
366 // [email protected]:* 2 {{must be a constant integer from 0 to 3}}
367 vsl = vec_splat(vsl, idx); // expected-error {{no matching function}}
368 // [email protected]:* 12 {{candidate function not viable}}
369 // [email protected]:* 1 {{must be a constant integer from 0 to 1}}
370 vsl = vec_splat(vsl, -1); // expected-error {{no matching function}}
371 // [email protected]:* 12 {{candidate function not viable}}
372 // [email protected]:* 1 {{must be a constant integer from 0 to 1}}
373 vsl = vec_splat(vsl, 2); // expected-error {{no matching function}}
374 // [email protected]:* 12 {{candidate function not viable}}
375 // [email protected]:* 1 {{must be a constant integer from 0 to 1}}
376 vul = vec_splat(vul, idx); // expected-error {{no matching function}}
377 // [email protected]:* 11 {{candidate function not viable}}
378 // [email protected]:* 2 {{must be a constant integer from 0 to 1}}
379 vul = vec_splat(vul, -1); // expected-error {{no matching function}}
380 // [email protected]:* 11 {{candidate function not viable}}
381 // [email protected]:* 2 {{must be a constant integer from 0 to 1}}
382 vul = vec_splat(vul, 2); // expected-error {{no matching function}}
383 // [email protected]:* 11 {{candidate function not viable}}
384 // [email protected]:* 2 {{must be a constant integer from 0 to 1}}
385 vbl = vec_splat(vbl, idx); // expected-error {{no matching function}}
386 // [email protected]:* 11 {{candidate function not viable}}
387 // [email protected]:* 2 {{must be a constant integer from 0 to 1}}
388 vbl = vec_splat(vbl, -1); // expected-error {{no matching function}}
389 // [email protected]:* 11 {{candidate function not viable}}
390 // [email protected]:* 2 {{must be a constant integer from 0 to 1}}
391 vbl = vec_splat(vbl, 2); // expected-error {{no matching function}}
392 // [email protected]:* 11 {{candidate function not viable}}
393 // [email protected]:* 2 {{must be a constant integer from 0 to 1}}
394 vd = vec_splat(vd, idx); // expected-error {{no matching function}}
395 // [email protected]:* 12 {{candidate function not viable}}
396 // [email protected]:* 1 {{must be a constant integer from 0 to 1}}
397 vd = vec_splat(vd, -1); // expected-error {{no matching function}}
398 // [email protected]:* 12 {{candidate function not viable}}
399 // [email protected]:* 1 {{must be a constant integer from 0 to 1}}
400 vd = vec_splat(vd, 2); // expected-error {{no matching function}}
401 // [email protected]:* 12 {{candidate function not viable}}
402 // [email protected]:* 1 {{must be a constant integer from 0 to 1}}
403
404 vsc = vec_splat_s8(idx); // expected-error {{no matching function}}
405 // [email protected]:* {{must be a constant integer}}
406 vuc = vec_splat_u8(idx); // expected-error {{no matching function}}
407 // [email protected]:* {{must be a constant integer}}
408 vss = vec_splat_s16(idx); // expected-error {{no matching function}}
409 // [email protected]:* {{must be a constant integer}}
410 vus = vec_splat_u16(idx); // expected-error {{no matching function}}
411 // [email protected]:* {{must be a constant integer}}
412 vsi = vec_splat_s32(idx); // expected-error {{no matching function}}
413 // [email protected]:* {{must be a constant integer}}
414 vui = vec_splat_u32(idx); // expected-error {{no matching function}}
415 // [email protected]:* {{must be a constant integer}}
416 vsl = vec_splat_s64(idx); // expected-error {{no matching function}}
417 // [email protected]:* {{must be a constant integer}}
418 vul = vec_splat_u64(idx); // expected-error {{no matching function}}
419 // [email protected]:* {{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 // [email protected]:* 7 {{candidate function not viable}}
429 // [email protected]:* 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 // [email protected]:* 7 {{candidate function not viable}}
436 // [email protected]:* 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 // [email protected]:* 7 {{candidate function not viable}}
443 // [email protected]:* 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 // [email protected]:* 7 {{candidate function not viable}}
450 // [email protected]:* 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 // [email protected]:* 7 {{candidate function not viable}}
457 // [email protected]:* 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 // [email protected]:* 7 {{candidate function not viable}}
464 // [email protected]:* 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 // [email protected]:* 7 {{candidate function not viable}}
471 // [email protected]:* 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 // [email protected]:* 7 {{candidate function not viable}}
478 // [email protected]:* 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 // [email protected]:* 12 {{candidate function not viable}}
482 // [email protected]:* 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 // [email protected]:* 12 {{candidate function not viable}}
485 // [email protected]:* 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 // [email protected]:* 12 {{candidate function not viable}}
488 // [email protected]:* 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 // [email protected]:* 11 {{candidate function not viable}}
491 // [email protected]:* 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 // [email protected]:* 11 {{candidate function not viable}}
494 // [email protected]:* 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 // [email protected]:* 11 {{candidate function not viable}}
497 // [email protected]:* 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 // [email protected]:* 12 {{candidate function not viable}}
500 // [email protected]:* 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 // [email protected]:* 11 {{candidate function not viable}}
503 // [email protected]:* 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 // [email protected]:* 12 {{candidate function not viable}}
506 // [email protected]:* 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 // [email protected]:* 11 {{candidate function not viable}}
509 // [email protected]:* 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 // [email protected]:* 12 {{candidate function not viable}}
512 // [email protected]:* 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 // [email protected]:* 11 {{candidate function not viable}}
515 // [email protected]:* 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 // [email protected]:* 12 {{candidate function not viable}}
518 // [email protected]:* 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 // [email protected]:* 8 {{candidate function not viable}}
522 // [email protected]:* 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 // [email protected]:* 8 {{candidate function not viable}}
525 // [email protected]:* 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 // [email protected]:* 8 {{candidate function not viable}}
528 // [email protected]:* 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 // [email protected]:* 8 {{candidate function not viable}}
531 // [email protected]:* 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 // [email protected]:* 8 {{candidate function not viable}}
534 // [email protected]:* 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 // [email protected]:* 8 {{candidate function not viable}}
537 // [email protected]:* 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 // [email protected]:* 8 {{candidate function not viable}}
540 // [email protected]:* 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 // [email protected]:* 8 {{candidate function not viable}}
543 // [email protected]:* 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 // [email protected]:* 8 {{candidate function not viable}}
546 // [email protected]:* 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 // [email protected]:* 8 {{candidate function not viable}}
549 // [email protected]:* 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 // [email protected]:* 8 {{candidate function not viable}}
552 // [email protected]:* 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 // [email protected]:* 8 {{candidate function not viable}}
555 // [email protected]:* 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 // [email protected]:* 8 {{candidate function not viable}}
558 // [email protected]:* 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 // [email protected]:* 1 {{candidate function not viable}}
564 // [email protected]:* 1 {{must be a constant integer from 0 to 31}}
565 vd = vec_ctd(vsl, -1); // expected-error {{no matching function}}
566 // [email protected]:* 1 {{candidate function not viable}}
567 // [email protected]:* 1 {{must be a constant integer from 0 to 31}}
568 vd = vec_ctd(vsl, 32); // expected-error {{no matching function}}
569 // [email protected]:* 1 {{candidate function not viable}}
570 // [email protected]:* 1 {{must be a constant integer from 0 to 31}}
571 vd = vec_ctd(vul, idx); // expected-error {{no matching function}}
572 // [email protected]:* 1 {{candidate function not viable}}
573 // [email protected]:* 1 {{must be a constant integer from 0 to 31}}
574 vd = vec_ctd(vul, -1); // expected-error {{no matching function}}
575 // [email protected]:* 1 {{candidate function not viable}}
576 // [email protected]:* 1 {{must be a constant integer from 0 to 31}}
577 vd = vec_ctd(vul, 32); // expected-error {{no matching function}}
578 // [email protected]:* 1 {{candidate function not viable}}
579 // [email protected]:* 1 {{must be a constant integer from 0 to 31}}
580
581 vsl = vec_ctsl(vd, idx); // expected-error {{no matching function}}
582 // [email protected]:* 1 {{must be a constant integer from 0 to 31}}
583 vsl = vec_ctsl(vd, -1); // expected-error {{no matching function}}
584 // [email protected]:* 1 {{must be a constant integer from 0 to 31}}
585 vsl = vec_ctsl(vd, 32); // expected-error {{no matching function}}
586 // [email protected]:* 1 {{must be a constant integer from 0 to 31}}
587 vul = vec_ctul(vd, idx); // expected-error {{no matching function}}
588 // [email protected]:* 1 {{must be a constant integer from 0 to 31}}
589 vul = vec_ctul(vd, -1); // expected-error {{no matching function}}
590 // [email protected]:* 1 {{must be a constant integer from 0 to 31}}
591 vul = vec_ctul(vd, 32); // expected-error {{no matching function}}
592 // [email protected]:* 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