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 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 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 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