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