brintos

brintos / llvm-project-archived public Read only

0
0
Text · 57.0 KiB · 2ec1d96 Raw
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