master
    1/*===---- vecintrin.h - Vector intrinsics ----------------------------------===
    2 *
    3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
    4 * See https://llvm.org/LICENSE.txt for license information.
    5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
    6 *
    7 *===-----------------------------------------------------------------------===
    8 */
    9
   10#ifndef _VECINTRIN_H
   11#define _VECINTRIN_H
   12
   13#if defined(__s390x__) && defined(__VEC__)
   14
   15#define __ATTRS_ai __attribute__((__always_inline__))
   16#define __ATTRS_o __attribute__((__overloadable__))
   17#define __ATTRS_o_ai __attribute__((__overloadable__, __always_inline__))
   18
   19#define __constant(PARM) \
   20  __attribute__((__enable_if__ ((PARM) == (PARM), \
   21     "argument must be a constant integer")))
   22#define __constant_range(PARM, LOW, HIGH) \
   23  __attribute__((__enable_if__ ((PARM) >= (LOW) && (PARM) <= (HIGH), \
   24     "argument must be a constant integer from " #LOW " to " #HIGH)))
   25#define __constant_pow2_range(PARM, LOW, HIGH) \
   26  __attribute__((__enable_if__ ((PARM) >= (LOW) && (PARM) <= (HIGH) && \
   27                                ((PARM) & ((PARM) - 1)) == 0, \
   28     "argument must be a constant power of 2 from " #LOW " to " #HIGH)))
   29
   30/*-- __lcbb -----------------------------------------------------------------*/
   31
   32extern __ATTRS_o unsigned int
   33__lcbb(const void *__ptr, unsigned short __len)
   34  __constant_pow2_range(__len, 64, 4096);
   35
   36#define __lcbb(X, Y) ((__typeof__((__lcbb)((X), (Y)))) \
   37  __builtin_s390_lcbb((X), __builtin_constant_p((Y))? \
   38                           ((Y) == 64 ? 0 : \
   39                            (Y) == 128 ? 1 : \
   40                            (Y) == 256 ? 2 : \
   41                            (Y) == 512 ? 3 : \
   42                            (Y) == 1024 ? 4 : \
   43                            (Y) == 2048 ? 5 : \
   44                            (Y) == 4096 ? 6 : 0) : 0))
   45
   46/*-- vec_extract ------------------------------------------------------------*/
   47
   48static inline __ATTRS_o_ai signed char
   49vec_extract(__vector signed char __vec, int __index) {
   50  return __vec[__index & 15];
   51}
   52
   53static inline __ATTRS_o_ai unsigned char
   54vec_extract(__vector __bool char __vec, int __index) {
   55  return __vec[__index & 15];
   56}
   57
   58static inline __ATTRS_o_ai unsigned char
   59vec_extract(__vector unsigned char __vec, int __index) {
   60  return __vec[__index & 15];
   61}
   62
   63static inline __ATTRS_o_ai signed short
   64vec_extract(__vector signed short __vec, int __index) {
   65  return __vec[__index & 7];
   66}
   67
   68static inline __ATTRS_o_ai unsigned short
   69vec_extract(__vector __bool short __vec, int __index) {
   70  return __vec[__index & 7];
   71}
   72
   73static inline __ATTRS_o_ai unsigned short
   74vec_extract(__vector unsigned short __vec, int __index) {
   75  return __vec[__index & 7];
   76}
   77
   78static inline __ATTRS_o_ai signed int
   79vec_extract(__vector signed int __vec, int __index) {
   80  return __vec[__index & 3];
   81}
   82
   83static inline __ATTRS_o_ai unsigned int
   84vec_extract(__vector __bool int __vec, int __index) {
   85  return __vec[__index & 3];
   86}
   87
   88static inline __ATTRS_o_ai unsigned int
   89vec_extract(__vector unsigned int __vec, int __index) {
   90  return __vec[__index & 3];
   91}
   92
   93static inline __ATTRS_o_ai signed long long
   94vec_extract(__vector signed long long __vec, int __index) {
   95  return __vec[__index & 1];
   96}
   97
   98static inline __ATTRS_o_ai unsigned long long
   99vec_extract(__vector __bool long long __vec, int __index) {
  100  return __vec[__index & 1];
  101}
  102
  103static inline __ATTRS_o_ai unsigned long long
  104vec_extract(__vector unsigned long long __vec, int __index) {
  105  return __vec[__index & 1];
  106}
  107
  108#if __ARCH__ >= 12
  109static inline __ATTRS_o_ai float
  110vec_extract(__vector float __vec, int __index) {
  111  return __vec[__index & 3];
  112}
  113#endif
  114
  115static inline __ATTRS_o_ai double
  116vec_extract(__vector double __vec, int __index) {
  117  return __vec[__index & 1];
  118}
  119
  120/*-- vec_insert -------------------------------------------------------------*/
  121
  122static inline __ATTRS_o_ai __vector signed char
  123vec_insert(signed char __scalar, __vector signed char __vec, int __index) {
  124  __vec[__index & 15] = __scalar;
  125  return __vec;
  126}
  127
  128// This prototype is deprecated.
  129static inline __ATTRS_o_ai __vector unsigned char
  130vec_insert(unsigned char __scalar, __vector __bool char __vec, int __index) {
  131  __vector unsigned char __newvec = (__vector unsigned char)__vec;
  132  __newvec[__index & 15] = (unsigned char)__scalar;
  133  return __newvec;
  134}
  135
  136static inline __ATTRS_o_ai __vector unsigned char
  137vec_insert(unsigned char __scalar, __vector unsigned char __vec, int __index) {
  138  __vec[__index & 15] = __scalar;
  139  return __vec;
  140}
  141
  142static inline __ATTRS_o_ai __vector signed short
  143vec_insert(signed short __scalar, __vector signed short __vec, int __index) {
  144  __vec[__index & 7] = __scalar;
  145  return __vec;
  146}
  147
  148// This prototype is deprecated.
  149static inline __ATTRS_o_ai __vector unsigned short
  150vec_insert(unsigned short __scalar, __vector __bool short __vec,
  151           int __index) {
  152  __vector unsigned short __newvec = (__vector unsigned short)__vec;
  153  __newvec[__index & 7] = (unsigned short)__scalar;
  154  return __newvec;
  155}
  156
  157static inline __ATTRS_o_ai __vector unsigned short
  158vec_insert(unsigned short __scalar, __vector unsigned short __vec,
  159           int __index) {
  160  __vec[__index & 7] = __scalar;
  161  return __vec;
  162}
  163
  164static inline __ATTRS_o_ai __vector signed int
  165vec_insert(signed int __scalar, __vector signed int __vec, int __index) {
  166  __vec[__index & 3] = __scalar;
  167  return __vec;
  168}
  169
  170// This prototype is deprecated.
  171static inline __ATTRS_o_ai __vector unsigned int
  172vec_insert(unsigned int __scalar, __vector __bool int __vec, int __index) {
  173  __vector unsigned int __newvec = (__vector unsigned int)__vec;
  174  __newvec[__index & 3] = __scalar;
  175  return __newvec;
  176}
  177
  178static inline __ATTRS_o_ai __vector unsigned int
  179vec_insert(unsigned int __scalar, __vector unsigned int __vec, int __index) {
  180  __vec[__index & 3] = __scalar;
  181  return __vec;
  182}
  183
  184static inline __ATTRS_o_ai __vector signed long long
  185vec_insert(signed long long __scalar, __vector signed long long __vec,
  186           int __index) {
  187  __vec[__index & 1] = __scalar;
  188  return __vec;
  189}
  190
  191// This prototype is deprecated.
  192static inline __ATTRS_o_ai __vector unsigned long long
  193vec_insert(unsigned long long __scalar, __vector __bool long long __vec,
  194           int __index) {
  195  __vector unsigned long long __newvec = (__vector unsigned long long)__vec;
  196  __newvec[__index & 1] = __scalar;
  197  return __newvec;
  198}
  199
  200static inline __ATTRS_o_ai __vector unsigned long long
  201vec_insert(unsigned long long __scalar, __vector unsigned long long __vec,
  202           int __index) {
  203  __vec[__index & 1] = __scalar;
  204  return __vec;
  205}
  206
  207#if __ARCH__ >= 12
  208static inline __ATTRS_o_ai __vector float
  209vec_insert(float __scalar, __vector float __vec, int __index) {
  210  __vec[__index & 1] = __scalar;
  211  return __vec;
  212}
  213#endif
  214
  215static inline __ATTRS_o_ai __vector double
  216vec_insert(double __scalar, __vector double __vec, int __index) {
  217  __vec[__index & 1] = __scalar;
  218  return __vec;
  219}
  220
  221/*-- vec_promote ------------------------------------------------------------*/
  222
  223static inline __ATTRS_o_ai __vector signed char
  224vec_promote(signed char __scalar, int __index) {
  225  const __vector signed char __zero = (__vector signed char)0;
  226  __vector signed char __vec = __builtin_shufflevector(__zero, __zero,
  227    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1);
  228  __vec[__index & 15] = __scalar;
  229  return __vec;
  230}
  231
  232static inline __ATTRS_o_ai __vector unsigned char
  233vec_promote(unsigned char __scalar, int __index) {
  234  const __vector unsigned char __zero = (__vector unsigned char)0;
  235  __vector unsigned char __vec = __builtin_shufflevector(__zero, __zero,
  236    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1);
  237  __vec[__index & 15] = __scalar;
  238  return __vec;
  239}
  240
  241static inline __ATTRS_o_ai __vector signed short
  242vec_promote(signed short __scalar, int __index) {
  243  const __vector signed short __zero = (__vector signed short)0;
  244  __vector signed short __vec = __builtin_shufflevector(__zero, __zero,
  245                                -1, -1, -1, -1, -1, -1, -1, -1);
  246  __vec[__index & 7] = __scalar;
  247  return __vec;
  248}
  249
  250static inline __ATTRS_o_ai __vector unsigned short
  251vec_promote(unsigned short __scalar, int __index) {
  252  const __vector unsigned short __zero = (__vector unsigned short)0;
  253  __vector unsigned short __vec = __builtin_shufflevector(__zero, __zero,
  254                                  -1, -1, -1, -1, -1, -1, -1, -1);
  255  __vec[__index & 7] = __scalar;
  256  return __vec;
  257}
  258
  259static inline __ATTRS_o_ai __vector signed int
  260vec_promote(signed int __scalar, int __index) {
  261  const __vector signed int __zero = (__vector signed int)0;
  262  __vector signed int __vec = __builtin_shufflevector(__zero, __zero,
  263                                                      -1, -1, -1, -1);
  264  __vec[__index & 3] = __scalar;
  265  return __vec;
  266}
  267
  268static inline __ATTRS_o_ai __vector unsigned int
  269vec_promote(unsigned int __scalar, int __index) {
  270  const __vector unsigned int __zero = (__vector unsigned int)0;
  271  __vector unsigned int __vec = __builtin_shufflevector(__zero, __zero,
  272                                                        -1, -1, -1, -1);
  273  __vec[__index & 3] = __scalar;
  274  return __vec;
  275}
  276
  277static inline __ATTRS_o_ai __vector signed long long
  278vec_promote(signed long long __scalar, int __index) {
  279  const __vector signed long long __zero = (__vector signed long long)0;
  280  __vector signed long long __vec = __builtin_shufflevector(__zero, __zero,
  281                                                            -1, -1);
  282  __vec[__index & 1] = __scalar;
  283  return __vec;
  284}
  285
  286static inline __ATTRS_o_ai __vector unsigned long long
  287vec_promote(unsigned long long __scalar, int __index) {
  288  const __vector unsigned long long __zero = (__vector unsigned long long)0;
  289  __vector unsigned long long __vec = __builtin_shufflevector(__zero, __zero,
  290                                                              -1, -1);
  291  __vec[__index & 1] = __scalar;
  292  return __vec;
  293}
  294
  295#if __ARCH__ >= 12
  296static inline __ATTRS_o_ai __vector float
  297vec_promote(float __scalar, int __index) {
  298  const __vector float __zero = (__vector float)0.0f;
  299  __vector float __vec = __builtin_shufflevector(__zero, __zero,
  300                                                 -1, -1, -1, -1);
  301  __vec[__index & 3] = __scalar;
  302  return __vec;
  303}
  304#endif
  305
  306static inline __ATTRS_o_ai __vector double
  307vec_promote(double __scalar, int __index) {
  308  const __vector double __zero = (__vector double)0.0;
  309  __vector double __vec = __builtin_shufflevector(__zero, __zero, -1, -1);
  310  __vec[__index & 1] = __scalar;
  311  return __vec;
  312}
  313
  314/*-- vec_insert_and_zero ----------------------------------------------------*/
  315
  316static inline __ATTRS_o_ai __vector signed char
  317vec_insert_and_zero(const signed char *__ptr) {
  318  __vector signed char __vec = (__vector signed char)0;
  319  __vec[7] = *__ptr;
  320  return __vec;
  321}
  322
  323static inline __ATTRS_o_ai __vector unsigned char
  324vec_insert_and_zero(const unsigned char *__ptr) {
  325  __vector unsigned char __vec = (__vector unsigned char)0;
  326  __vec[7] = *__ptr;
  327  return __vec;
  328}
  329
  330static inline __ATTRS_o_ai __vector signed short
  331vec_insert_and_zero(const signed short *__ptr) {
  332  __vector signed short __vec = (__vector signed short)0;
  333  __vec[3] = *__ptr;
  334  return __vec;
  335}
  336
  337static inline __ATTRS_o_ai __vector unsigned short
  338vec_insert_and_zero(const unsigned short *__ptr) {
  339  __vector unsigned short __vec = (__vector unsigned short)0;
  340  __vec[3] = *__ptr;
  341  return __vec;
  342}
  343
  344static inline __ATTRS_o_ai __vector signed int
  345vec_insert_and_zero(const signed int *__ptr) {
  346  __vector signed int __vec = (__vector signed int)0;
  347  __vec[1] = *__ptr;
  348  return __vec;
  349}
  350
  351static inline __ATTRS_o_ai __vector unsigned int
  352vec_insert_and_zero(const unsigned int *__ptr) {
  353  __vector unsigned int __vec = (__vector unsigned int)0;
  354  __vec[1] = *__ptr;
  355  return __vec;
  356}
  357
  358static inline __ATTRS_o_ai __vector signed long long
  359vec_insert_and_zero(const signed long long *__ptr) {
  360  __vector signed long long __vec = (__vector signed long long)0;
  361  __vec[0] = *__ptr;
  362  return __vec;
  363}
  364
  365static inline __ATTRS_o_ai __vector unsigned long long
  366vec_insert_and_zero(const unsigned long long *__ptr) {
  367  __vector unsigned long long __vec = (__vector unsigned long long)0;
  368  __vec[0] = *__ptr;
  369  return __vec;
  370}
  371
  372#if __ARCH__ >= 12
  373static inline __ATTRS_o_ai __vector float
  374vec_insert_and_zero(const float *__ptr) {
  375  __vector float __vec = (__vector float)0.0f;
  376  __vec[1] = *__ptr;
  377  return __vec;
  378}
  379#endif
  380
  381static inline __ATTRS_o_ai __vector double
  382vec_insert_and_zero(const double *__ptr) {
  383  __vector double __vec = (__vector double)0.0;
  384  __vec[0] = *__ptr;
  385  return __vec;
  386}
  387
  388/*-- vec_perm ---------------------------------------------------------------*/
  389
  390static inline __ATTRS_o_ai __vector signed char
  391vec_perm(__vector signed char __a, __vector signed char __b,
  392         __vector unsigned char __c) {
  393  return (__vector signed char)__builtin_s390_vperm(
  394           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  395}
  396
  397static inline __ATTRS_o_ai __vector unsigned char
  398vec_perm(__vector unsigned char __a, __vector unsigned char __b,
  399         __vector unsigned char __c) {
  400  return (__vector unsigned char)__builtin_s390_vperm(
  401           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  402}
  403
  404static inline __ATTRS_o_ai __vector __bool char
  405vec_perm(__vector __bool char __a, __vector __bool char __b,
  406         __vector unsigned char __c) {
  407  return (__vector __bool char)__builtin_s390_vperm(
  408           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  409}
  410
  411static inline __ATTRS_o_ai __vector signed short
  412vec_perm(__vector signed short __a, __vector signed short __b,
  413         __vector unsigned char __c) {
  414  return (__vector signed short)__builtin_s390_vperm(
  415           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  416}
  417
  418static inline __ATTRS_o_ai __vector unsigned short
  419vec_perm(__vector unsigned short __a, __vector unsigned short __b,
  420         __vector unsigned char __c) {
  421  return (__vector unsigned short)__builtin_s390_vperm(
  422           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  423}
  424
  425static inline __ATTRS_o_ai __vector __bool short
  426vec_perm(__vector __bool short __a, __vector __bool short __b,
  427         __vector unsigned char __c) {
  428  return (__vector __bool short)__builtin_s390_vperm(
  429           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  430}
  431
  432static inline __ATTRS_o_ai __vector signed int
  433vec_perm(__vector signed int __a, __vector signed int __b,
  434         __vector unsigned char __c) {
  435  return (__vector signed int)__builtin_s390_vperm(
  436           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  437}
  438
  439static inline __ATTRS_o_ai __vector unsigned int
  440vec_perm(__vector unsigned int __a, __vector unsigned int __b,
  441         __vector unsigned char __c) {
  442  return (__vector unsigned int)__builtin_s390_vperm(
  443           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  444}
  445
  446static inline __ATTRS_o_ai __vector __bool int
  447vec_perm(__vector __bool int __a, __vector __bool int __b,
  448         __vector unsigned char __c) {
  449  return (__vector __bool int)__builtin_s390_vperm(
  450           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  451}
  452
  453static inline __ATTRS_o_ai __vector signed long long
  454vec_perm(__vector signed long long __a, __vector signed long long __b,
  455         __vector unsigned char __c) {
  456  return (__vector signed long long)__builtin_s390_vperm(
  457           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  458}
  459
  460static inline __ATTRS_o_ai __vector unsigned long long
  461vec_perm(__vector unsigned long long __a, __vector unsigned long long __b,
  462         __vector unsigned char __c) {
  463  return (__vector unsigned long long)__builtin_s390_vperm(
  464           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  465}
  466
  467static inline __ATTRS_o_ai __vector __bool long long
  468vec_perm(__vector __bool long long __a, __vector __bool long long __b,
  469         __vector unsigned char __c) {
  470  return (__vector __bool long long)__builtin_s390_vperm(
  471           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  472}
  473
  474static inline __ATTRS_o_ai __vector signed __int128
  475vec_perm(__vector signed __int128 __a, __vector signed __int128 __b,
  476         __vector unsigned char __c) {
  477  return (__vector signed __int128)__builtin_s390_vperm(
  478           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  479}
  480
  481static inline __ATTRS_o_ai __vector unsigned __int128
  482vec_perm(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
  483         __vector unsigned char __c) {
  484  return (__vector unsigned __int128)__builtin_s390_vperm(
  485           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  486}
  487
  488static inline __ATTRS_o_ai __vector __bool __int128
  489vec_perm(__vector __bool __int128 __a, __vector __bool __int128 __b,
  490         __vector unsigned char __c) {
  491  return (__vector __bool __int128)__builtin_s390_vperm(
  492           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  493}
  494
  495#if __ARCH__ >= 12
  496static inline __ATTRS_o_ai __vector float
  497vec_perm(__vector float __a, __vector float __b,
  498         __vector unsigned char __c) {
  499  return (__vector float)__builtin_s390_vperm(
  500           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  501}
  502#endif
  503
  504static inline __ATTRS_o_ai __vector double
  505vec_perm(__vector double __a, __vector double __b,
  506         __vector unsigned char __c) {
  507  return (__vector double)__builtin_s390_vperm(
  508           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
  509}
  510
  511/*-- vec_permi --------------------------------------------------------------*/
  512
  513// This prototype is deprecated.
  514extern __ATTRS_o __vector signed long long
  515vec_permi(__vector signed long long __a, __vector signed long long __b,
  516          int __c)
  517  __constant_range(__c, 0, 3);
  518
  519// This prototype is deprecated.
  520extern __ATTRS_o __vector unsigned long long
  521vec_permi(__vector unsigned long long __a, __vector unsigned long long __b,
  522          int __c)
  523  __constant_range(__c, 0, 3);
  524
  525// This prototype is deprecated.
  526extern __ATTRS_o __vector __bool long long
  527vec_permi(__vector __bool long long __a, __vector __bool long long __b,
  528          int __c)
  529  __constant_range(__c, 0, 3);
  530
  531// This prototype is deprecated.
  532extern __ATTRS_o __vector double
  533vec_permi(__vector double __a, __vector double __b, int __c)
  534  __constant_range(__c, 0, 3);
  535
  536#define vec_permi(X, Y, Z) ((__typeof__((vec_permi)((X), (Y), (Z)))) \
  537  __builtin_s390_vpdi((__vector unsigned long long)(X), \
  538                      (__vector unsigned long long)(Y), \
  539                      (((Z) & 2) << 1) | ((Z) & 1)))
  540
  541/*-- vec_bperm --------------------------------------------------------------*/
  542
  543#if __ARCH__ >= 12
  544static inline __ATTRS_ai __vector unsigned long long
  545vec_bperm(__vector unsigned __int128 __a, __vector unsigned char __b) {
  546  return __builtin_s390_vbperm((__vector unsigned char)__a, __b);
  547}
  548#endif
  549
  550/*-- vec_bperm_u128 ---------------------------------------------------------*/
  551
  552#if __ARCH__ >= 12
  553// This prototype is deprecated.
  554static inline __ATTRS_ai __vector unsigned long long
  555vec_bperm_u128(__vector unsigned char __a, __vector unsigned char __b) {
  556  return __builtin_s390_vbperm(__a, __b);
  557}
  558#endif
  559
  560/*-- vec_revb ---------------------------------------------------------------*/
  561
  562static inline __ATTRS_o_ai __vector signed short
  563vec_revb(__vector signed short __vec) {
  564  return (__vector signed short)
  565         __builtin_s390_vlbrh((__vector unsigned short)__vec);
  566}
  567
  568static inline __ATTRS_o_ai __vector unsigned short
  569vec_revb(__vector unsigned short __vec) {
  570  return __builtin_s390_vlbrh(__vec);
  571}
  572
  573static inline __ATTRS_o_ai __vector signed int
  574vec_revb(__vector signed int __vec) {
  575  return (__vector signed int)
  576         __builtin_s390_vlbrf((__vector unsigned int)__vec);
  577}
  578
  579static inline __ATTRS_o_ai __vector unsigned int
  580vec_revb(__vector unsigned int __vec) {
  581  return __builtin_s390_vlbrf(__vec);
  582}
  583
  584static inline __ATTRS_o_ai __vector signed long long
  585vec_revb(__vector signed long long __vec) {
  586  return (__vector signed long long)
  587         __builtin_s390_vlbrg((__vector unsigned long long)__vec);
  588}
  589
  590static inline __ATTRS_o_ai __vector unsigned long long
  591vec_revb(__vector unsigned long long __vec) {
  592  return __builtin_s390_vlbrg(__vec);
  593}
  594
  595static inline __ATTRS_o_ai __vector signed __int128
  596vec_revb(__vector signed __int128 __vec) {
  597  return (__vector signed __int128)
  598         __builtin_s390_vlbrq((unsigned __int128)__vec);
  599}
  600
  601static inline __ATTRS_o_ai __vector unsigned __int128
  602vec_revb(__vector unsigned __int128 __vec) {
  603  return (__vector unsigned __int128)
  604         __builtin_s390_vlbrq((unsigned __int128)__vec);
  605}
  606
  607#if __ARCH__ >= 12
  608static inline __ATTRS_o_ai __vector float
  609vec_revb(__vector float __vec) {
  610  return (__vector float)
  611         __builtin_s390_vlbrf((__vector unsigned int)__vec);
  612}
  613#endif
  614
  615static inline __ATTRS_o_ai __vector double
  616vec_revb(__vector double __vec) {
  617  return (__vector double)
  618         __builtin_s390_vlbrg((__vector unsigned long long)__vec);
  619}
  620
  621/*-- vec_reve ---------------------------------------------------------------*/
  622
  623static inline __ATTRS_o_ai __vector signed char
  624vec_reve(__vector signed char __vec) {
  625  return (__vector signed char) { __vec[15], __vec[14], __vec[13], __vec[12],
  626                                  __vec[11], __vec[10], __vec[9], __vec[8],
  627                                  __vec[7], __vec[6], __vec[5], __vec[4],
  628                                  __vec[3], __vec[2], __vec[1], __vec[0] };
  629}
  630
  631static inline __ATTRS_o_ai __vector unsigned char
  632vec_reve(__vector unsigned char __vec) {
  633  return (__vector unsigned char) { __vec[15], __vec[14], __vec[13], __vec[12],
  634                                    __vec[11], __vec[10], __vec[9], __vec[8],
  635                                    __vec[7], __vec[6], __vec[5], __vec[4],
  636                                    __vec[3], __vec[2], __vec[1], __vec[0] };
  637}
  638
  639static inline __ATTRS_o_ai __vector __bool char
  640vec_reve(__vector __bool char __vec) {
  641  return (__vector __bool char) { __vec[15], __vec[14], __vec[13], __vec[12],
  642                                  __vec[11], __vec[10], __vec[9], __vec[8],
  643                                  __vec[7], __vec[6], __vec[5], __vec[4],
  644                                  __vec[3], __vec[2], __vec[1], __vec[0] };
  645}
  646
  647static inline __ATTRS_o_ai __vector signed short
  648vec_reve(__vector signed short __vec) {
  649  return (__vector signed short) { __vec[7], __vec[6], __vec[5], __vec[4],
  650                                   __vec[3], __vec[2], __vec[1], __vec[0] };
  651}
  652
  653static inline __ATTRS_o_ai __vector unsigned short
  654vec_reve(__vector unsigned short __vec) {
  655  return (__vector unsigned short) { __vec[7], __vec[6], __vec[5], __vec[4],
  656                                     __vec[3], __vec[2], __vec[1], __vec[0] };
  657}
  658
  659static inline __ATTRS_o_ai __vector __bool short
  660vec_reve(__vector __bool short __vec) {
  661  return (__vector __bool short) { __vec[7], __vec[6], __vec[5], __vec[4],
  662                                   __vec[3], __vec[2], __vec[1], __vec[0] };
  663}
  664
  665static inline __ATTRS_o_ai __vector signed int
  666vec_reve(__vector signed int __vec) {
  667  return (__vector signed int) { __vec[3], __vec[2], __vec[1], __vec[0] };
  668}
  669
  670static inline __ATTRS_o_ai __vector unsigned int
  671vec_reve(__vector unsigned int __vec) {
  672  return (__vector unsigned int) { __vec[3], __vec[2], __vec[1], __vec[0] };
  673}
  674
  675static inline __ATTRS_o_ai __vector __bool int
  676vec_reve(__vector __bool int __vec) {
  677  return (__vector __bool int) { __vec[3], __vec[2], __vec[1], __vec[0] };
  678}
  679
  680static inline __ATTRS_o_ai __vector signed long long
  681vec_reve(__vector signed long long __vec) {
  682  return (__vector signed long long) { __vec[1], __vec[0] };
  683}
  684
  685static inline __ATTRS_o_ai __vector unsigned long long
  686vec_reve(__vector unsigned long long __vec) {
  687  return (__vector unsigned long long) { __vec[1], __vec[0] };
  688}
  689
  690static inline __ATTRS_o_ai __vector __bool long long
  691vec_reve(__vector __bool long long __vec) {
  692  return (__vector __bool long long) { __vec[1], __vec[0] };
  693}
  694
  695#if __ARCH__ >= 12
  696static inline __ATTRS_o_ai __vector float
  697vec_reve(__vector float __vec) {
  698  return (__vector float) { __vec[3], __vec[2], __vec[1], __vec[0] };
  699}
  700#endif
  701
  702static inline __ATTRS_o_ai __vector double
  703vec_reve(__vector double __vec) {
  704  return (__vector double) { __vec[1], __vec[0] };
  705}
  706
  707/*-- vec_sel ----------------------------------------------------------------*/
  708
  709static inline __ATTRS_o_ai __vector signed char
  710vec_sel(__vector signed char __a, __vector signed char __b,
  711        __vector unsigned char __c) {
  712  return (((__vector signed char)__c & __b) |
  713          (~(__vector signed char)__c & __a));
  714}
  715
  716static inline __ATTRS_o_ai __vector signed char
  717vec_sel(__vector signed char __a, __vector signed char __b,
  718        __vector __bool char __c) {
  719  return (((__vector signed char)__c & __b) |
  720          (~(__vector signed char)__c & __a));
  721}
  722
  723static inline __ATTRS_o_ai __vector __bool char
  724vec_sel(__vector __bool char __a, __vector __bool char __b,
  725        __vector unsigned char __c) {
  726  return (((__vector __bool char)__c & __b) |
  727          (~(__vector __bool char)__c & __a));
  728}
  729
  730static inline __ATTRS_o_ai __vector __bool char
  731vec_sel(__vector __bool char __a, __vector __bool char __b,
  732        __vector __bool char __c) {
  733  return (__c & __b) | (~__c & __a);
  734}
  735
  736static inline __ATTRS_o_ai __vector unsigned char
  737vec_sel(__vector unsigned char __a, __vector unsigned char __b,
  738        __vector unsigned char __c) {
  739  return (__c & __b) | (~__c & __a);
  740}
  741
  742static inline __ATTRS_o_ai __vector unsigned char
  743vec_sel(__vector unsigned char __a, __vector unsigned char __b,
  744        __vector __bool char __c) {
  745  return (((__vector unsigned char)__c & __b) |
  746          (~(__vector unsigned char)__c & __a));
  747}
  748
  749static inline __ATTRS_o_ai __vector signed short
  750vec_sel(__vector signed short __a, __vector signed short __b,
  751        __vector unsigned short __c) {
  752  return (((__vector signed short)__c & __b) |
  753          (~(__vector signed short)__c & __a));
  754}
  755
  756static inline __ATTRS_o_ai __vector signed short
  757vec_sel(__vector signed short __a, __vector signed short __b,
  758        __vector __bool short __c) {
  759  return (((__vector signed short)__c & __b) |
  760          (~(__vector signed short)__c & __a));
  761}
  762
  763static inline __ATTRS_o_ai __vector __bool short
  764vec_sel(__vector __bool short __a, __vector __bool short __b,
  765        __vector unsigned short __c) {
  766  return (((__vector __bool short)__c & __b) |
  767          (~(__vector __bool short)__c & __a));
  768}
  769
  770static inline __ATTRS_o_ai __vector __bool short
  771vec_sel(__vector __bool short __a, __vector __bool short __b,
  772        __vector __bool short __c) {
  773  return (__c & __b) | (~__c & __a);
  774}
  775
  776static inline __ATTRS_o_ai __vector unsigned short
  777vec_sel(__vector unsigned short __a, __vector unsigned short __b,
  778        __vector unsigned short __c) {
  779  return (__c & __b) | (~__c & __a);
  780}
  781
  782static inline __ATTRS_o_ai __vector unsigned short
  783vec_sel(__vector unsigned short __a, __vector unsigned short __b,
  784        __vector __bool short __c) {
  785  return (((__vector unsigned short)__c & __b) |
  786          (~(__vector unsigned short)__c & __a));
  787}
  788
  789static inline __ATTRS_o_ai __vector signed int
  790vec_sel(__vector signed int __a, __vector signed int __b,
  791        __vector unsigned int __c) {
  792  return (((__vector signed int)__c & __b) |
  793          (~(__vector signed int)__c & __a));
  794}
  795
  796static inline __ATTRS_o_ai __vector signed int
  797vec_sel(__vector signed int __a, __vector signed int __b,
  798        __vector __bool int __c) {
  799  return (((__vector signed int)__c & __b) |
  800          (~(__vector signed int)__c & __a));
  801}
  802
  803static inline __ATTRS_o_ai __vector __bool int
  804vec_sel(__vector __bool int __a, __vector __bool int __b,
  805        __vector unsigned int __c) {
  806  return (((__vector __bool int)__c & __b) |
  807          (~(__vector __bool int)__c & __a));
  808}
  809
  810static inline __ATTRS_o_ai __vector __bool int
  811vec_sel(__vector __bool int __a, __vector __bool int __b,
  812        __vector __bool int __c) {
  813  return (__c & __b) | (~__c & __a);
  814}
  815
  816static inline __ATTRS_o_ai __vector unsigned int
  817vec_sel(__vector unsigned int __a, __vector unsigned int __b,
  818        __vector unsigned int __c) {
  819  return (__c & __b) | (~__c & __a);
  820}
  821
  822static inline __ATTRS_o_ai __vector unsigned int
  823vec_sel(__vector unsigned int __a, __vector unsigned int __b,
  824        __vector __bool int __c) {
  825  return (((__vector unsigned int)__c & __b) |
  826          (~(__vector unsigned int)__c & __a));
  827}
  828
  829static inline __ATTRS_o_ai __vector signed long long
  830vec_sel(__vector signed long long __a, __vector signed long long __b,
  831        __vector unsigned long long __c) {
  832  return (((__vector signed long long)__c & __b) |
  833          (~(__vector signed long long)__c & __a));
  834}
  835
  836static inline __ATTRS_o_ai __vector signed long long
  837vec_sel(__vector signed long long __a, __vector signed long long __b,
  838        __vector __bool long long __c) {
  839  return (((__vector signed long long)__c & __b) |
  840          (~(__vector signed long long)__c & __a));
  841}
  842
  843static inline __ATTRS_o_ai __vector __bool long long
  844vec_sel(__vector __bool long long __a, __vector __bool long long __b,
  845        __vector unsigned long long __c) {
  846  return (((__vector __bool long long)__c & __b) |
  847          (~(__vector __bool long long)__c & __a));
  848}
  849
  850static inline __ATTRS_o_ai __vector __bool long long
  851vec_sel(__vector __bool long long __a, __vector __bool long long __b,
  852        __vector __bool long long __c) {
  853  return (__c & __b) | (~__c & __a);
  854}
  855
  856static inline __ATTRS_o_ai __vector unsigned long long
  857vec_sel(__vector unsigned long long __a, __vector unsigned long long __b,
  858        __vector unsigned long long __c) {
  859  return (__c & __b) | (~__c & __a);
  860}
  861
  862static inline __ATTRS_o_ai __vector unsigned long long
  863vec_sel(__vector unsigned long long __a, __vector unsigned long long __b,
  864        __vector __bool long long __c) {
  865  return (((__vector unsigned long long)__c & __b) |
  866          (~(__vector unsigned long long)__c & __a));
  867}
  868
  869static inline __ATTRS_o_ai __vector signed __int128
  870vec_sel(__vector signed __int128 __a, __vector signed __int128 __b,
  871        __vector unsigned __int128 __c) {
  872  return (((__vector signed __int128)__c & __b) |
  873          (~(__vector signed __int128)__c & __a));
  874}
  875
  876static inline __ATTRS_o_ai __vector signed __int128
  877vec_sel(__vector signed __int128 __a, __vector signed __int128 __b,
  878        __vector __bool __int128 __c) {
  879  return (((__vector signed __int128)__c & __b) |
  880          (~(__vector signed __int128)__c & __a));
  881}
  882
  883static inline __ATTRS_o_ai __vector __bool __int128
  884vec_sel(__vector __bool __int128 __a, __vector __bool __int128 __b,
  885        __vector unsigned __int128 __c) {
  886  return (((__vector __bool __int128)__c & __b) |
  887          (~(__vector __bool __int128)__c & __a));
  888}
  889
  890static inline __ATTRS_o_ai __vector __bool __int128
  891vec_sel(__vector __bool __int128 __a, __vector __bool __int128 __b,
  892        __vector __bool __int128 __c) {
  893  return (__c & __b) | (~__c & __a);
  894}
  895
  896static inline __ATTRS_o_ai __vector unsigned __int128
  897vec_sel(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
  898        __vector unsigned __int128 __c) {
  899  return (__c & __b) | (~__c & __a);
  900}
  901
  902static inline __ATTRS_o_ai __vector unsigned __int128
  903vec_sel(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
  904        __vector __bool __int128 __c) {
  905  return (((__vector unsigned __int128)__c & __b) |
  906          (~(__vector unsigned __int128)__c & __a));
  907}
  908
  909#if __ARCH__ >= 12
  910static inline __ATTRS_o_ai __vector float
  911vec_sel(__vector float __a, __vector float __b, __vector unsigned int __c) {
  912  return (__vector float)((__c & (__vector unsigned int)__b) |
  913                          (~__c & (__vector unsigned int)__a));
  914}
  915
  916static inline __ATTRS_o_ai __vector float
  917vec_sel(__vector float __a, __vector float __b, __vector __bool int __c) {
  918  __vector unsigned int __ac = (__vector unsigned int)__a;
  919  __vector unsigned int __bc = (__vector unsigned int)__b;
  920  __vector unsigned int __cc = (__vector unsigned int)__c;
  921  return (__vector float)((__cc & __bc) | (~__cc & __ac));
  922}
  923#endif
  924
  925static inline __ATTRS_o_ai __vector double
  926vec_sel(__vector double __a, __vector double __b,
  927        __vector unsigned long long __c) {
  928  return (__vector double)((__c & (__vector unsigned long long)__b) |
  929                         (~__c & (__vector unsigned long long)__a));
  930}
  931
  932static inline __ATTRS_o_ai __vector double
  933vec_sel(__vector double __a, __vector double __b,
  934        __vector __bool long long __c) {
  935  __vector unsigned long long __ac = (__vector unsigned long long)__a;
  936  __vector unsigned long long __bc = (__vector unsigned long long)__b;
  937  __vector unsigned long long __cc = (__vector unsigned long long)__c;
  938  return (__vector double)((__cc & __bc) | (~__cc & __ac));
  939}
  940
  941/*-- vec_gather_element -----------------------------------------------------*/
  942
  943static inline __ATTRS_o_ai __vector signed int
  944vec_gather_element(__vector signed int __vec,
  945                   __vector unsigned int __offset,
  946                   const signed int *__ptr, int __index)
  947  __constant_range(__index, 0, 3) {
  948  __vec[__index] = *(const signed int *)(
  949    (const char *)__ptr + __offset[__index]);
  950  return __vec;
  951}
  952
  953static inline __ATTRS_o_ai __vector __bool int
  954vec_gather_element(__vector __bool int __vec,
  955                   __vector unsigned int __offset,
  956                   const unsigned int *__ptr, int __index)
  957  __constant_range(__index, 0, 3) {
  958  __vec[__index] = *(const unsigned int *)(
  959    (const char *)__ptr + __offset[__index]);
  960  return __vec;
  961}
  962
  963static inline __ATTRS_o_ai __vector unsigned int
  964vec_gather_element(__vector unsigned int __vec,
  965                   __vector unsigned int __offset,
  966                   const unsigned int *__ptr, int __index)
  967  __constant_range(__index, 0, 3) {
  968  __vec[__index] = *(const unsigned int *)(
  969    (const char *)__ptr + __offset[__index]);
  970  return __vec;
  971}
  972
  973static inline __ATTRS_o_ai __vector signed long long
  974vec_gather_element(__vector signed long long __vec,
  975                   __vector unsigned long long __offset,
  976                   const signed long long *__ptr, int __index)
  977  __constant_range(__index, 0, 1) {
  978  __vec[__index] = *(const signed long long *)(
  979    (const char *)__ptr + __offset[__index]);
  980  return __vec;
  981}
  982
  983static inline __ATTRS_o_ai __vector __bool long long
  984vec_gather_element(__vector __bool long long __vec,
  985                   __vector unsigned long long __offset,
  986                   const unsigned long long *__ptr, int __index)
  987  __constant_range(__index, 0, 1) {
  988  __vec[__index] = *(const unsigned long long *)(
  989    (const char *)__ptr + __offset[__index]);
  990  return __vec;
  991}
  992
  993static inline __ATTRS_o_ai __vector unsigned long long
  994vec_gather_element(__vector unsigned long long __vec,
  995                   __vector unsigned long long __offset,
  996                   const unsigned long long *__ptr, int __index)
  997  __constant_range(__index, 0, 1) {
  998  __vec[__index] = *(const unsigned long long *)(
  999    (const char *)__ptr + __offset[__index]);
 1000  return __vec;
 1001}
 1002
 1003#if __ARCH__ >= 12
 1004static inline __ATTRS_o_ai __vector float
 1005vec_gather_element(__vector float __vec,
 1006                   __vector unsigned int __offset,
 1007                   const float *__ptr, int __index)
 1008  __constant_range(__index, 0, 3) {
 1009  __vec[__index] = *(const float *)(
 1010    (const char *)__ptr + __offset[__index]);
 1011  return __vec;
 1012}
 1013#endif
 1014
 1015static inline __ATTRS_o_ai __vector double
 1016vec_gather_element(__vector double __vec,
 1017                   __vector unsigned long long __offset,
 1018                   const double *__ptr, int __index)
 1019  __constant_range(__index, 0, 1) {
 1020  __vec[__index] = *(const double *)(
 1021    (const char *)__ptr + __offset[__index]);
 1022  return __vec;
 1023}
 1024
 1025/*-- vec_scatter_element ----------------------------------------------------*/
 1026
 1027static inline __ATTRS_o_ai void
 1028vec_scatter_element(__vector signed int __vec,
 1029                    __vector unsigned int __offset,
 1030                    signed int *__ptr, int __index)
 1031  __constant_range(__index, 0, 3) {
 1032  *(signed int *)((char *)__ptr + __offset[__index]) =
 1033    __vec[__index];
 1034}
 1035
 1036static inline __ATTRS_o_ai void
 1037vec_scatter_element(__vector __bool int __vec,
 1038                    __vector unsigned int __offset,
 1039                    unsigned int *__ptr, int __index)
 1040  __constant_range(__index, 0, 3) {
 1041  *(unsigned int *)((char *)__ptr + __offset[__index]) =
 1042    __vec[__index];
 1043}
 1044
 1045static inline __ATTRS_o_ai void
 1046vec_scatter_element(__vector unsigned int __vec,
 1047                    __vector unsigned int __offset,
 1048                    unsigned int *__ptr, int __index)
 1049  __constant_range(__index, 0, 3) {
 1050  *(unsigned int *)((char *)__ptr + __offset[__index]) =
 1051    __vec[__index];
 1052}
 1053
 1054static inline __ATTRS_o_ai void
 1055vec_scatter_element(__vector signed long long __vec,
 1056                    __vector unsigned long long __offset,
 1057                    signed long long *__ptr, int __index)
 1058  __constant_range(__index, 0, 1) {
 1059  *(signed long long *)((char *)__ptr + __offset[__index]) =
 1060    __vec[__index];
 1061}
 1062
 1063static inline __ATTRS_o_ai void
 1064vec_scatter_element(__vector __bool long long __vec,
 1065                    __vector unsigned long long __offset,
 1066                    unsigned long long *__ptr, int __index)
 1067  __constant_range(__index, 0, 1) {
 1068  *(unsigned long long *)((char *)__ptr + __offset[__index]) =
 1069    __vec[__index];
 1070}
 1071
 1072static inline __ATTRS_o_ai void
 1073vec_scatter_element(__vector unsigned long long __vec,
 1074                    __vector unsigned long long __offset,
 1075                    unsigned long long *__ptr, int __index)
 1076  __constant_range(__index, 0, 1) {
 1077  *(unsigned long long *)((char *)__ptr + __offset[__index]) =
 1078    __vec[__index];
 1079}
 1080
 1081#if __ARCH__ >= 12
 1082static inline __ATTRS_o_ai void
 1083vec_scatter_element(__vector float __vec,
 1084                    __vector unsigned int __offset,
 1085                    float *__ptr, int __index)
 1086  __constant_range(__index, 0, 3) {
 1087  *(float *)((char *)__ptr + __offset[__index]) =
 1088    __vec[__index];
 1089}
 1090#endif
 1091
 1092static inline __ATTRS_o_ai void
 1093vec_scatter_element(__vector double __vec,
 1094                    __vector unsigned long long __offset,
 1095                    double *__ptr, int __index)
 1096  __constant_range(__index, 0, 1) {
 1097  *(double *)((char *)__ptr + __offset[__index]) =
 1098    __vec[__index];
 1099}
 1100
 1101/*-- vec_xl -----------------------------------------------------------------*/
 1102
 1103static inline __ATTRS_o_ai __vector signed char
 1104vec_xl(long __offset, const signed char *__ptr) {
 1105  __vector signed char V;
 1106  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1107                   sizeof(__vector signed char));
 1108  return V;
 1109}
 1110
 1111static inline __ATTRS_o_ai __vector unsigned char
 1112vec_xl(long __offset, const unsigned char *__ptr) {
 1113  __vector unsigned char V;
 1114  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1115                   sizeof(__vector unsigned char));
 1116  return V;
 1117}
 1118
 1119static inline __ATTRS_o_ai __vector signed short
 1120vec_xl(long __offset, const signed short *__ptr) {
 1121  __vector signed short V;
 1122  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1123                   sizeof(__vector signed short));
 1124  return V;
 1125}
 1126
 1127static inline __ATTRS_o_ai __vector unsigned short
 1128vec_xl(long __offset, const unsigned short *__ptr) {
 1129  __vector unsigned short V;
 1130  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1131                   sizeof(__vector unsigned short));
 1132  return V;
 1133}
 1134
 1135static inline __ATTRS_o_ai __vector signed int
 1136vec_xl(long __offset, const signed int *__ptr) {
 1137  __vector signed int V;
 1138  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1139                   sizeof(__vector signed int));
 1140  return V;
 1141}
 1142
 1143static inline __ATTRS_o_ai __vector unsigned int
 1144vec_xl(long __offset, const unsigned int *__ptr) {
 1145  __vector unsigned int V;
 1146  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1147                   sizeof(__vector unsigned int));
 1148  return V;
 1149}
 1150
 1151static inline __ATTRS_o_ai __vector signed long long
 1152vec_xl(long __offset, const signed long long *__ptr) {
 1153  __vector signed long long V;
 1154  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1155                   sizeof(__vector signed long long));
 1156  return V;
 1157}
 1158
 1159static inline __ATTRS_o_ai __vector unsigned long long
 1160vec_xl(long __offset, const unsigned long long *__ptr) {
 1161  __vector unsigned long long V;
 1162  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1163                   sizeof(__vector unsigned long long));
 1164  return V;
 1165}
 1166
 1167static inline __ATTRS_o_ai __vector signed __int128
 1168vec_xl(long __offset, const signed __int128 *__ptr) {
 1169  __vector signed __int128 V;
 1170  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1171                   sizeof(__vector signed __int128));
 1172  return V;
 1173}
 1174
 1175static inline __ATTRS_o_ai __vector unsigned __int128
 1176vec_xl(long __offset, const unsigned __int128 *__ptr) {
 1177  __vector unsigned __int128 V;
 1178  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1179                   sizeof(__vector unsigned __int128));
 1180  return V;
 1181}
 1182
 1183#if __ARCH__ >= 12
 1184static inline __ATTRS_o_ai __vector float
 1185vec_xl(long __offset, const float *__ptr) {
 1186  __vector float V;
 1187  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1188                   sizeof(__vector float));
 1189  return V;
 1190}
 1191#endif
 1192
 1193static inline __ATTRS_o_ai __vector double
 1194vec_xl(long __offset, const double *__ptr) {
 1195  __vector double V;
 1196  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1197                   sizeof(__vector double));
 1198  return V;
 1199}
 1200
 1201/*-- vec_xld2 ---------------------------------------------------------------*/
 1202
 1203// This prototype is deprecated.
 1204static inline __ATTRS_o_ai __vector signed char
 1205vec_xld2(long __offset, const signed char *__ptr) {
 1206  __vector signed char V;
 1207  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1208                   sizeof(__vector signed char));
 1209  return V;
 1210}
 1211
 1212// This prototype is deprecated.
 1213static inline __ATTRS_o_ai __vector unsigned char
 1214vec_xld2(long __offset, const unsigned char *__ptr) {
 1215  __vector unsigned char V;
 1216  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1217                   sizeof(__vector unsigned char));
 1218  return V;
 1219}
 1220
 1221// This prototype is deprecated.
 1222static inline __ATTRS_o_ai __vector signed short
 1223vec_xld2(long __offset, const signed short *__ptr) {
 1224  __vector signed short V;
 1225  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1226                   sizeof(__vector signed short));
 1227  return V;
 1228}
 1229
 1230// This prototype is deprecated.
 1231static inline __ATTRS_o_ai __vector unsigned short
 1232vec_xld2(long __offset, const unsigned short *__ptr) {
 1233  __vector unsigned short V;
 1234  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1235                   sizeof(__vector unsigned short));
 1236  return V;
 1237}
 1238
 1239// This prototype is deprecated.
 1240static inline __ATTRS_o_ai __vector signed int
 1241vec_xld2(long __offset, const signed int *__ptr) {
 1242  __vector signed int V;
 1243  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1244                   sizeof(__vector signed int));
 1245  return V;
 1246}
 1247
 1248// This prototype is deprecated.
 1249static inline __ATTRS_o_ai __vector unsigned int
 1250vec_xld2(long __offset, const unsigned int *__ptr) {
 1251  __vector unsigned int V;
 1252  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1253                   sizeof(__vector unsigned int));
 1254  return V;
 1255}
 1256
 1257// This prototype is deprecated.
 1258static inline __ATTRS_o_ai __vector signed long long
 1259vec_xld2(long __offset, const signed long long *__ptr) {
 1260  __vector signed long long V;
 1261  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1262                   sizeof(__vector signed long long));
 1263  return V;
 1264}
 1265
 1266// This prototype is deprecated.
 1267static inline __ATTRS_o_ai __vector unsigned long long
 1268vec_xld2(long __offset, const unsigned long long *__ptr) {
 1269  __vector unsigned long long V;
 1270  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1271                   sizeof(__vector unsigned long long));
 1272  return V;
 1273}
 1274
 1275// This prototype is deprecated.
 1276static inline __ATTRS_o_ai __vector double
 1277vec_xld2(long __offset, const double *__ptr) {
 1278  __vector double V;
 1279  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1280                   sizeof(__vector double));
 1281  return V;
 1282}
 1283
 1284/*-- vec_xlw4 ---------------------------------------------------------------*/
 1285
 1286// This prototype is deprecated.
 1287static inline __ATTRS_o_ai __vector signed char
 1288vec_xlw4(long __offset, const signed char *__ptr) {
 1289  __vector signed char V;
 1290  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1291                   sizeof(__vector signed char));
 1292  return V;
 1293}
 1294
 1295// This prototype is deprecated.
 1296static inline __ATTRS_o_ai __vector unsigned char
 1297vec_xlw4(long __offset, const unsigned char *__ptr) {
 1298  __vector unsigned char V;
 1299  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1300                   sizeof(__vector unsigned char));
 1301  return V;
 1302}
 1303
 1304// This prototype is deprecated.
 1305static inline __ATTRS_o_ai __vector signed short
 1306vec_xlw4(long __offset, const signed short *__ptr) {
 1307  __vector signed short V;
 1308  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1309                   sizeof(__vector signed short));
 1310  return V;
 1311}
 1312
 1313// This prototype is deprecated.
 1314static inline __ATTRS_o_ai __vector unsigned short
 1315vec_xlw4(long __offset, const unsigned short *__ptr) {
 1316  __vector unsigned short V;
 1317  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1318                   sizeof(__vector unsigned short));
 1319  return V;
 1320}
 1321
 1322// This prototype is deprecated.
 1323static inline __ATTRS_o_ai __vector signed int
 1324vec_xlw4(long __offset, const signed int *__ptr) {
 1325  __vector signed int V;
 1326  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1327                   sizeof(__vector signed int));
 1328  return V;
 1329}
 1330
 1331// This prototype is deprecated.
 1332static inline __ATTRS_o_ai __vector unsigned int
 1333vec_xlw4(long __offset, const unsigned int *__ptr) {
 1334  __vector unsigned int V;
 1335  __builtin_memcpy(&V, ((const char *)__ptr + __offset),
 1336                   sizeof(__vector unsigned int));
 1337  return V;
 1338}
 1339
 1340/*-- vec_xst ----------------------------------------------------------------*/
 1341
 1342static inline __ATTRS_o_ai void
 1343vec_xst(__vector signed char __vec, long __offset, signed char *__ptr) {
 1344  __vector signed char V = __vec;
 1345  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1346                   sizeof(__vector signed char));
 1347}
 1348
 1349static inline __ATTRS_o_ai void
 1350vec_xst(__vector unsigned char __vec, long __offset, unsigned char *__ptr) {
 1351  __vector unsigned char V = __vec;
 1352  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1353                   sizeof(__vector unsigned char));
 1354}
 1355
 1356static inline __ATTRS_o_ai void
 1357vec_xst(__vector signed short __vec, long __offset, signed short *__ptr) {
 1358  __vector signed short V = __vec;
 1359  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1360                   sizeof(__vector signed short));
 1361}
 1362
 1363static inline __ATTRS_o_ai void
 1364vec_xst(__vector unsigned short __vec, long __offset, unsigned short *__ptr) {
 1365  __vector unsigned short V = __vec;
 1366  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1367                   sizeof(__vector unsigned short));
 1368}
 1369
 1370static inline __ATTRS_o_ai void
 1371vec_xst(__vector signed int __vec, long __offset, signed int *__ptr) {
 1372  __vector signed int V = __vec;
 1373  __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector signed int));
 1374}
 1375
 1376static inline __ATTRS_o_ai void
 1377vec_xst(__vector unsigned int __vec, long __offset, unsigned int *__ptr) {
 1378  __vector unsigned int V = __vec;
 1379  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1380                   sizeof(__vector unsigned int));
 1381}
 1382
 1383static inline __ATTRS_o_ai void
 1384vec_xst(__vector signed long long __vec, long __offset,
 1385        signed long long *__ptr) {
 1386  __vector signed long long V = __vec;
 1387  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1388                   sizeof(__vector signed long long));
 1389}
 1390
 1391static inline __ATTRS_o_ai void
 1392vec_xst(__vector unsigned long long __vec, long __offset,
 1393        unsigned long long *__ptr) {
 1394  __vector unsigned long long V = __vec;
 1395  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1396                   sizeof(__vector unsigned long long));
 1397}
 1398
 1399static inline __ATTRS_o_ai void
 1400vec_xst(__vector signed __int128 __vec, long __offset,
 1401        signed __int128 *__ptr) {
 1402  __vector signed __int128 V = __vec;
 1403  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1404                   sizeof(__vector signed __int128));
 1405}
 1406
 1407static inline __ATTRS_o_ai void
 1408vec_xst(__vector unsigned __int128 __vec, long __offset,
 1409        unsigned __int128 *__ptr) {
 1410  __vector unsigned __int128 V = __vec;
 1411  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1412                   sizeof(__vector unsigned __int128));
 1413}
 1414
 1415#if __ARCH__ >= 12
 1416static inline __ATTRS_o_ai void
 1417vec_xst(__vector float __vec, long __offset, float *__ptr) {
 1418  __vector float V = __vec;
 1419  __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector float));
 1420}
 1421#endif
 1422
 1423static inline __ATTRS_o_ai void
 1424vec_xst(__vector double __vec, long __offset, double *__ptr) {
 1425  __vector double V = __vec;
 1426  __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector double));
 1427}
 1428
 1429/*-- vec_xstd2 --------------------------------------------------------------*/
 1430
 1431// This prototype is deprecated.
 1432static inline __ATTRS_o_ai void
 1433vec_xstd2(__vector signed char __vec, long __offset, signed char *__ptr) {
 1434  __vector signed char V = __vec;
 1435  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1436                   sizeof(__vector signed char));
 1437}
 1438
 1439// This prototype is deprecated.
 1440static inline __ATTRS_o_ai void
 1441vec_xstd2(__vector unsigned char __vec, long __offset, unsigned char *__ptr) {
 1442  __vector unsigned char V = __vec;
 1443  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1444                   sizeof(__vector unsigned char));
 1445}
 1446
 1447// This prototype is deprecated.
 1448static inline __ATTRS_o_ai void
 1449vec_xstd2(__vector signed short __vec, long __offset, signed short *__ptr) {
 1450  __vector signed short V = __vec;
 1451  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1452                   sizeof(__vector signed short));
 1453}
 1454
 1455// This prototype is deprecated.
 1456static inline __ATTRS_o_ai void
 1457vec_xstd2(__vector unsigned short __vec, long __offset, unsigned short *__ptr) {
 1458  __vector unsigned short V = __vec;
 1459  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1460                   sizeof(__vector unsigned short));
 1461}
 1462
 1463// This prototype is deprecated.
 1464static inline __ATTRS_o_ai void
 1465vec_xstd2(__vector signed int __vec, long __offset, signed int *__ptr) {
 1466  __vector signed int V = __vec;
 1467  __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector signed int));
 1468}
 1469
 1470// This prototype is deprecated.
 1471static inline __ATTRS_o_ai void
 1472vec_xstd2(__vector unsigned int __vec, long __offset, unsigned int *__ptr) {
 1473  __vector unsigned int V = __vec;
 1474  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1475                   sizeof(__vector unsigned int));
 1476}
 1477
 1478// This prototype is deprecated.
 1479static inline __ATTRS_o_ai void
 1480vec_xstd2(__vector signed long long __vec, long __offset,
 1481          signed long long *__ptr) {
 1482  __vector signed long long V = __vec;
 1483  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1484                   sizeof(__vector signed long long));
 1485}
 1486
 1487// This prototype is deprecated.
 1488static inline __ATTRS_o_ai void
 1489vec_xstd2(__vector unsigned long long __vec, long __offset,
 1490          unsigned long long *__ptr) {
 1491  __vector unsigned long long V = __vec;
 1492  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1493                   sizeof(__vector unsigned long long));
 1494}
 1495
 1496// This prototype is deprecated.
 1497static inline __ATTRS_o_ai void
 1498vec_xstd2(__vector double __vec, long __offset, double *__ptr) {
 1499  __vector double V = __vec;
 1500  __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector double));
 1501}
 1502
 1503/*-- vec_xstw4 --------------------------------------------------------------*/
 1504
 1505// This prototype is deprecated.
 1506static inline __ATTRS_o_ai void
 1507vec_xstw4(__vector signed char __vec, long __offset, signed char *__ptr) {
 1508  __vector signed char V = __vec;
 1509  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1510                   sizeof(__vector signed char));
 1511}
 1512
 1513// This prototype is deprecated.
 1514static inline __ATTRS_o_ai void
 1515vec_xstw4(__vector unsigned char __vec, long __offset, unsigned char *__ptr) {
 1516  __vector unsigned char V = __vec;
 1517  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1518                   sizeof(__vector unsigned char));
 1519}
 1520
 1521// This prototype is deprecated.
 1522static inline __ATTRS_o_ai void
 1523vec_xstw4(__vector signed short __vec, long __offset, signed short *__ptr) {
 1524  __vector signed short V = __vec;
 1525  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1526                   sizeof(__vector signed short));
 1527}
 1528
 1529// This prototype is deprecated.
 1530static inline __ATTRS_o_ai void
 1531vec_xstw4(__vector unsigned short __vec, long __offset, unsigned short *__ptr) {
 1532  __vector unsigned short V = __vec;
 1533  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1534                   sizeof(__vector unsigned short));
 1535}
 1536
 1537// This prototype is deprecated.
 1538static inline __ATTRS_o_ai void
 1539vec_xstw4(__vector signed int __vec, long __offset, signed int *__ptr) {
 1540  __vector signed int V = __vec;
 1541  __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector signed int));
 1542}
 1543
 1544// This prototype is deprecated.
 1545static inline __ATTRS_o_ai void
 1546vec_xstw4(__vector unsigned int __vec, long __offset, unsigned int *__ptr) {
 1547  __vector unsigned int V = __vec;
 1548  __builtin_memcpy(((char *)__ptr + __offset), &V,
 1549                   sizeof(__vector unsigned int));
 1550}
 1551
 1552/*-- vec_load_bndry ---------------------------------------------------------*/
 1553
 1554extern __ATTRS_o __vector signed char
 1555vec_load_bndry(const signed char *__ptr, unsigned short __len)
 1556  __constant_pow2_range(__len, 64, 4096);
 1557
 1558extern __ATTRS_o __vector unsigned char
 1559vec_load_bndry(const unsigned char *__ptr, unsigned short __len)
 1560  __constant_pow2_range(__len, 64, 4096);
 1561
 1562extern __ATTRS_o __vector signed short
 1563vec_load_bndry(const signed short *__ptr, unsigned short __len)
 1564  __constant_pow2_range(__len, 64, 4096);
 1565
 1566extern __ATTRS_o __vector unsigned short
 1567vec_load_bndry(const unsigned short *__ptr, unsigned short __len)
 1568  __constant_pow2_range(__len, 64, 4096);
 1569
 1570extern __ATTRS_o __vector signed int
 1571vec_load_bndry(const signed int *__ptr, unsigned short __len)
 1572  __constant_pow2_range(__len, 64, 4096);
 1573
 1574extern __ATTRS_o __vector unsigned int
 1575vec_load_bndry(const unsigned int *__ptr, unsigned short __len)
 1576  __constant_pow2_range(__len, 64, 4096);
 1577
 1578extern __ATTRS_o __vector signed long long
 1579vec_load_bndry(const signed long long *__ptr, unsigned short __len)
 1580  __constant_pow2_range(__len, 64, 4096);
 1581
 1582extern __ATTRS_o __vector unsigned long long
 1583vec_load_bndry(const unsigned long long *__ptr, unsigned short __len)
 1584  __constant_pow2_range(__len, 64, 4096);
 1585
 1586extern __ATTRS_o __vector signed __int128
 1587vec_load_bndry(const signed __int128 *__ptr, unsigned short __len)
 1588  __constant_pow2_range(__len, 64, 4096);
 1589
 1590extern __ATTRS_o __vector unsigned __int128
 1591vec_load_bndry(const unsigned __int128 *__ptr, unsigned short __len)
 1592  __constant_pow2_range(__len, 64, 4096);
 1593
 1594#if __ARCH__ >= 12
 1595extern __ATTRS_o __vector float
 1596vec_load_bndry(const float *__ptr, unsigned short __len)
 1597  __constant_pow2_range(__len, 64, 4096);
 1598#endif
 1599
 1600extern __ATTRS_o __vector double
 1601vec_load_bndry(const double *__ptr, unsigned short __len)
 1602  __constant_pow2_range(__len, 64, 4096);
 1603
 1604#define vec_load_bndry(X, Y) ((__typeof__((vec_load_bndry)((X), (Y)))) \
 1605  __builtin_s390_vlbb((X), ((Y) == 64 ? 0 : \
 1606                            (Y) == 128 ? 1 : \
 1607                            (Y) == 256 ? 2 : \
 1608                            (Y) == 512 ? 3 : \
 1609                            (Y) == 1024 ? 4 : \
 1610                            (Y) == 2048 ? 5 : \
 1611                            (Y) == 4096 ? 6 : -1)))
 1612
 1613/*-- vec_load_len -----------------------------------------------------------*/
 1614
 1615static inline __ATTRS_o_ai __vector signed char
 1616vec_load_len(const signed char *__ptr, unsigned int __len) {
 1617  return (__vector signed char)__builtin_s390_vll(__len, __ptr);
 1618}
 1619
 1620static inline __ATTRS_o_ai __vector unsigned char
 1621vec_load_len(const unsigned char *__ptr, unsigned int __len) {
 1622  return (__vector unsigned char)__builtin_s390_vll(__len, __ptr);
 1623}
 1624
 1625// This prototype is deprecated.
 1626static inline __ATTRS_o_ai __vector signed short
 1627vec_load_len(const signed short *__ptr, unsigned int __len) {
 1628  return (__vector signed short)__builtin_s390_vll(__len, __ptr);
 1629}
 1630
 1631// This prototype is deprecated.
 1632static inline __ATTRS_o_ai __vector unsigned short
 1633vec_load_len(const unsigned short *__ptr, unsigned int __len) {
 1634  return (__vector unsigned short)__builtin_s390_vll(__len, __ptr);
 1635}
 1636
 1637// This prototype is deprecated.
 1638static inline __ATTRS_o_ai __vector signed int
 1639vec_load_len(const signed int *__ptr, unsigned int __len) {
 1640  return (__vector signed int)__builtin_s390_vll(__len, __ptr);
 1641}
 1642
 1643// This prototype is deprecated.
 1644static inline __ATTRS_o_ai __vector unsigned int
 1645vec_load_len(const unsigned int *__ptr, unsigned int __len) {
 1646  return (__vector unsigned int)__builtin_s390_vll(__len, __ptr);
 1647}
 1648
 1649// This prototype is deprecated.
 1650static inline __ATTRS_o_ai __vector signed long long
 1651vec_load_len(const signed long long *__ptr, unsigned int __len) {
 1652  return (__vector signed long long)__builtin_s390_vll(__len, __ptr);
 1653}
 1654
 1655// This prototype is deprecated.
 1656static inline __ATTRS_o_ai __vector unsigned long long
 1657vec_load_len(const unsigned long long *__ptr, unsigned int __len) {
 1658  return (__vector unsigned long long)__builtin_s390_vll(__len, __ptr);
 1659}
 1660
 1661#if __ARCH__ >= 12
 1662// This prototype is deprecated.
 1663static inline __ATTRS_o_ai __vector float
 1664vec_load_len(const float *__ptr, unsigned int __len) {
 1665  return (__vector float)__builtin_s390_vll(__len, __ptr);
 1666}
 1667#endif
 1668
 1669// This prototype is deprecated.
 1670static inline __ATTRS_o_ai __vector double
 1671vec_load_len(const double *__ptr, unsigned int __len) {
 1672  return (__vector double)__builtin_s390_vll(__len, __ptr);
 1673}
 1674
 1675/*-- vec_load_len_r ---------------------------------------------------------*/
 1676
 1677#if __ARCH__ >= 12
 1678static inline __ATTRS_o_ai __vector signed char
 1679vec_load_len_r(const signed char *__ptr, unsigned int __len) {
 1680  return (__vector signed char)__builtin_s390_vlrlr(__len, __ptr);
 1681}
 1682
 1683static inline __ATTRS_o_ai __vector unsigned char
 1684vec_load_len_r(const unsigned char *__ptr, unsigned int __len) {
 1685  return (__vector unsigned char)__builtin_s390_vlrlr(__len, __ptr);
 1686}
 1687#endif
 1688
 1689/*-- vec_store_len ----------------------------------------------------------*/
 1690
 1691static inline __ATTRS_o_ai void
 1692vec_store_len(__vector signed char __vec, signed char *__ptr,
 1693              unsigned int __len) {
 1694  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
 1695}
 1696
 1697static inline __ATTRS_o_ai void
 1698vec_store_len(__vector unsigned char __vec, unsigned char *__ptr,
 1699              unsigned int __len) {
 1700  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
 1701}
 1702
 1703// This prototype is deprecated.
 1704static inline __ATTRS_o_ai void
 1705vec_store_len(__vector signed short __vec, signed short *__ptr,
 1706              unsigned int __len) {
 1707  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
 1708}
 1709
 1710// This prototype is deprecated.
 1711static inline __ATTRS_o_ai void
 1712vec_store_len(__vector unsigned short __vec, unsigned short *__ptr,
 1713              unsigned int __len) {
 1714  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
 1715}
 1716
 1717// This prototype is deprecated.
 1718static inline __ATTRS_o_ai void
 1719vec_store_len(__vector signed int __vec, signed int *__ptr,
 1720              unsigned int __len) {
 1721  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
 1722}
 1723
 1724// This prototype is deprecated.
 1725static inline __ATTRS_o_ai void
 1726vec_store_len(__vector unsigned int __vec, unsigned int *__ptr,
 1727              unsigned int __len) {
 1728  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
 1729}
 1730
 1731// This prototype is deprecated.
 1732static inline __ATTRS_o_ai void
 1733vec_store_len(__vector signed long long __vec, signed long long *__ptr,
 1734              unsigned int __len) {
 1735  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
 1736}
 1737
 1738// This prototype is deprecated.
 1739static inline __ATTRS_o_ai void
 1740vec_store_len(__vector unsigned long long __vec, unsigned long long *__ptr,
 1741              unsigned int __len) {
 1742  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
 1743}
 1744
 1745#if __ARCH__ >= 12
 1746// This prototype is deprecated.
 1747static inline __ATTRS_o_ai void
 1748vec_store_len(__vector float __vec, float *__ptr,
 1749              unsigned int __len) {
 1750  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
 1751}
 1752#endif
 1753
 1754// This prototype is deprecated.
 1755static inline __ATTRS_o_ai void
 1756vec_store_len(__vector double __vec, double *__ptr,
 1757              unsigned int __len) {
 1758  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
 1759}
 1760
 1761/*-- vec_store_len_r --------------------------------------------------------*/
 1762
 1763#if __ARCH__ >= 12
 1764static inline __ATTRS_o_ai void
 1765vec_store_len_r(__vector signed char __vec, signed char *__ptr,
 1766                unsigned int __len) {
 1767  __builtin_s390_vstrlr(__vec, __len, __ptr);
 1768}
 1769
 1770static inline __ATTRS_o_ai void
 1771vec_store_len_r(__vector unsigned char __vec, unsigned char *__ptr,
 1772                unsigned int __len) {
 1773  __builtin_s390_vstrlr((__vector signed char)__vec, __len, __ptr);
 1774}
 1775#endif
 1776
 1777/*-- vec_load_pair ----------------------------------------------------------*/
 1778
 1779static inline __ATTRS_o_ai __vector signed long long
 1780vec_load_pair(signed long long __a, signed long long __b) {
 1781  return (__vector signed long long)(__a, __b);
 1782}
 1783
 1784static inline __ATTRS_o_ai __vector unsigned long long
 1785vec_load_pair(unsigned long long __a, unsigned long long __b) {
 1786  return (__vector unsigned long long)(__a, __b);
 1787}
 1788
 1789/*-- vec_genmask ------------------------------------------------------------*/
 1790
 1791static inline __ATTRS_o_ai __vector unsigned char
 1792vec_genmask(unsigned short __mask)
 1793  __constant(__mask) {
 1794  return (__vector unsigned char)(
 1795    __mask & 0x8000 ? 0xff : 0,
 1796    __mask & 0x4000 ? 0xff : 0,
 1797    __mask & 0x2000 ? 0xff : 0,
 1798    __mask & 0x1000 ? 0xff : 0,
 1799    __mask & 0x0800 ? 0xff : 0,
 1800    __mask & 0x0400 ? 0xff : 0,
 1801    __mask & 0x0200 ? 0xff : 0,
 1802    __mask & 0x0100 ? 0xff : 0,
 1803    __mask & 0x0080 ? 0xff : 0,
 1804    __mask & 0x0040 ? 0xff : 0,
 1805    __mask & 0x0020 ? 0xff : 0,
 1806    __mask & 0x0010 ? 0xff : 0,
 1807    __mask & 0x0008 ? 0xff : 0,
 1808    __mask & 0x0004 ? 0xff : 0,
 1809    __mask & 0x0002 ? 0xff : 0,
 1810    __mask & 0x0001 ? 0xff : 0);
 1811}
 1812
 1813/*-- vec_genmasks_* ---------------------------------------------------------*/
 1814
 1815static inline __ATTRS_o_ai __vector unsigned char
 1816vec_genmasks_8(unsigned char __first, unsigned char __last)
 1817  __constant(__first) __constant(__last) {
 1818  unsigned char __bit1 = __first & 7;
 1819  unsigned char __bit2 = __last & 7;
 1820  unsigned char __mask1 = (unsigned char)(1U << (7 - __bit1) << 1) - 1;
 1821  unsigned char __mask2 = (unsigned char)(1U << (7 - __bit2)) - 1;
 1822  unsigned char __value = (__bit1 <= __bit2 ?
 1823                           __mask1 & ~__mask2 :
 1824                           __mask1 | ~__mask2);
 1825  return (__vector unsigned char)__value;
 1826}
 1827
 1828static inline __ATTRS_o_ai __vector unsigned short
 1829vec_genmasks_16(unsigned char __first, unsigned char __last)
 1830  __constant(__first) __constant(__last) {
 1831  unsigned char __bit1 = __first & 15;
 1832  unsigned char __bit2 = __last & 15;
 1833  unsigned short __mask1 = (unsigned short)(1U << (15 - __bit1) << 1) - 1;
 1834  unsigned short __mask2 = (unsigned short)(1U << (15 - __bit2)) - 1;
 1835  unsigned short __value = (__bit1 <= __bit2 ?
 1836                            __mask1 & ~__mask2 :
 1837                            __mask1 | ~__mask2);
 1838  return (__vector unsigned short)__value;
 1839}
 1840
 1841static inline __ATTRS_o_ai __vector unsigned int
 1842vec_genmasks_32(unsigned char __first, unsigned char __last)
 1843  __constant(__first) __constant(__last) {
 1844  unsigned char __bit1 = __first & 31;
 1845  unsigned char __bit2 = __last & 31;
 1846  unsigned int __mask1 = (1U << (31 - __bit1) << 1) - 1;
 1847  unsigned int __mask2 = (1U << (31 - __bit2)) - 1;
 1848  unsigned int __value = (__bit1 <= __bit2 ?
 1849                          __mask1 & ~__mask2 :
 1850                          __mask1 | ~__mask2);
 1851  return (__vector unsigned int)__value;
 1852}
 1853
 1854static inline __ATTRS_o_ai __vector unsigned long long
 1855vec_genmasks_64(unsigned char __first, unsigned char __last)
 1856  __constant(__first) __constant(__last) {
 1857  unsigned char __bit1 = __first & 63;
 1858  unsigned char __bit2 = __last & 63;
 1859  unsigned long long __mask1 = (1ULL << (63 - __bit1) << 1) - 1;
 1860  unsigned long long __mask2 = (1ULL << (63 - __bit2)) - 1;
 1861  unsigned long long __value = (__bit1 <= __bit2 ?
 1862                                __mask1 & ~__mask2 :
 1863                                __mask1 | ~__mask2);
 1864  return (__vector unsigned long long)__value;
 1865}
 1866
 1867/*-- vec_gen_element_masks_* ------------------------------------------------*/
 1868
 1869#if __ARCH__ >= 15
 1870static inline __ATTRS_ai __vector unsigned char
 1871vec_gen_element_masks_8(__vector unsigned short __mask) {
 1872  return __builtin_s390_vgemb(__mask);
 1873}
 1874
 1875static inline __ATTRS_ai __vector unsigned short
 1876vec_gen_element_masks_16(__vector unsigned char __mask) {
 1877  return __builtin_s390_vgemh(__mask);
 1878}
 1879
 1880static inline __ATTRS_ai __vector unsigned int
 1881vec_gen_element_masks_32(__vector unsigned char __mask) {
 1882  return __builtin_s390_vgemf(__mask);
 1883}
 1884
 1885static inline __ATTRS_ai __vector unsigned long long
 1886vec_gen_element_masks_64(__vector unsigned char __mask) {
 1887  return __builtin_s390_vgemg(__mask);
 1888}
 1889
 1890static inline __ATTRS_ai __vector unsigned __int128
 1891vec_gen_element_masks_128(__vector unsigned char __mask) {
 1892  return (__vector unsigned __int128)__builtin_s390_vgemq(__mask);
 1893}
 1894#endif
 1895
 1896/*-- vec_splat --------------------------------------------------------------*/
 1897
 1898static inline __ATTRS_o_ai __vector signed char
 1899vec_splat(__vector signed char __vec, int __index)
 1900  __constant_range(__index, 0, 15) {
 1901  return (__vector signed char)__vec[__index];
 1902}
 1903
 1904static inline __ATTRS_o_ai __vector __bool char
 1905vec_splat(__vector __bool char __vec, int __index)
 1906  __constant_range(__index, 0, 15) {
 1907  return (__vector __bool char)(__vector unsigned char)__vec[__index];
 1908}
 1909
 1910static inline __ATTRS_o_ai __vector unsigned char
 1911vec_splat(__vector unsigned char __vec, int __index)
 1912  __constant_range(__index, 0, 15) {
 1913  return (__vector unsigned char)__vec[__index];
 1914}
 1915
 1916static inline __ATTRS_o_ai __vector signed short
 1917vec_splat(__vector signed short __vec, int __index)
 1918  __constant_range(__index, 0, 7) {
 1919  return (__vector signed short)__vec[__index];
 1920}
 1921
 1922static inline __ATTRS_o_ai __vector __bool short
 1923vec_splat(__vector __bool short __vec, int __index)
 1924  __constant_range(__index, 0, 7) {
 1925  return (__vector __bool short)(__vector unsigned short)__vec[__index];
 1926}
 1927
 1928static inline __ATTRS_o_ai __vector unsigned short
 1929vec_splat(__vector unsigned short __vec, int __index)
 1930  __constant_range(__index, 0, 7) {
 1931  return (__vector unsigned short)__vec[__index];
 1932}
 1933
 1934static inline __ATTRS_o_ai __vector signed int
 1935vec_splat(__vector signed int __vec, int __index)
 1936  __constant_range(__index, 0, 3) {
 1937  return (__vector signed int)__vec[__index];
 1938}
 1939
 1940static inline __ATTRS_o_ai __vector __bool int
 1941vec_splat(__vector __bool int __vec, int __index)
 1942  __constant_range(__index, 0, 3) {
 1943  return (__vector __bool int)(__vector unsigned int)__vec[__index];
 1944}
 1945
 1946static inline __ATTRS_o_ai __vector unsigned int
 1947vec_splat(__vector unsigned int __vec, int __index)
 1948  __constant_range(__index, 0, 3) {
 1949  return (__vector unsigned int)__vec[__index];
 1950}
 1951
 1952static inline __ATTRS_o_ai __vector signed long long
 1953vec_splat(__vector signed long long __vec, int __index)
 1954  __constant_range(__index, 0, 1) {
 1955  return (__vector signed long long)__vec[__index];
 1956}
 1957
 1958static inline __ATTRS_o_ai __vector __bool long long
 1959vec_splat(__vector __bool long long __vec, int __index)
 1960  __constant_range(__index, 0, 1) {
 1961  return ((__vector __bool long long)
 1962          (__vector unsigned long long)__vec[__index]);
 1963}
 1964
 1965static inline __ATTRS_o_ai __vector unsigned long long
 1966vec_splat(__vector unsigned long long __vec, int __index)
 1967  __constant_range(__index, 0, 1) {
 1968  return (__vector unsigned long long)__vec[__index];
 1969}
 1970
 1971#if __ARCH__ >= 12
 1972static inline __ATTRS_o_ai __vector float
 1973vec_splat(__vector float __vec, int __index)
 1974  __constant_range(__index, 0, 3) {
 1975  return (__vector float)__vec[__index];
 1976}
 1977#endif
 1978
 1979static inline __ATTRS_o_ai __vector double
 1980vec_splat(__vector double __vec, int __index)
 1981  __constant_range(__index, 0, 1) {
 1982  return (__vector double)__vec[__index];
 1983}
 1984
 1985/*-- vec_splat_s* -----------------------------------------------------------*/
 1986
 1987static inline __ATTRS_ai __vector signed char
 1988vec_splat_s8(signed char __scalar)
 1989  __constant(__scalar) {
 1990  return (__vector signed char)__scalar;
 1991}
 1992
 1993static inline __ATTRS_ai __vector signed short
 1994vec_splat_s16(signed short __scalar)
 1995  __constant(__scalar) {
 1996  return (__vector signed short)__scalar;
 1997}
 1998
 1999static inline __ATTRS_ai __vector signed int
 2000vec_splat_s32(signed short __scalar)
 2001  __constant(__scalar) {
 2002  return (__vector signed int)(signed int)__scalar;
 2003}
 2004
 2005static inline __ATTRS_ai __vector signed long long
 2006vec_splat_s64(signed short __scalar)
 2007  __constant(__scalar) {
 2008  return (__vector signed long long)(signed long)__scalar;
 2009}
 2010
 2011/*-- vec_splat_u* -----------------------------------------------------------*/
 2012
 2013static inline __ATTRS_ai __vector unsigned char
 2014vec_splat_u8(unsigned char __scalar)
 2015  __constant(__scalar) {
 2016  return (__vector unsigned char)__scalar;
 2017}
 2018
 2019static inline __ATTRS_ai __vector unsigned short
 2020vec_splat_u16(unsigned short __scalar)
 2021  __constant(__scalar) {
 2022  return (__vector unsigned short)__scalar;
 2023}
 2024
 2025static inline __ATTRS_ai __vector unsigned int
 2026vec_splat_u32(signed short __scalar)
 2027  __constant(__scalar) {
 2028  return (__vector unsigned int)(signed int)__scalar;
 2029}
 2030
 2031static inline __ATTRS_ai __vector unsigned long long
 2032vec_splat_u64(signed short __scalar)
 2033  __constant(__scalar) {
 2034  return (__vector unsigned long long)(signed long long)__scalar;
 2035}
 2036
 2037/*-- vec_splats -------------------------------------------------------------*/
 2038
 2039static inline __ATTRS_o_ai __vector signed char
 2040vec_splats(signed char __scalar) {
 2041  return (__vector signed char)__scalar;
 2042}
 2043
 2044static inline __ATTRS_o_ai __vector unsigned char
 2045vec_splats(unsigned char __scalar) {
 2046  return (__vector unsigned char)__scalar;
 2047}
 2048
 2049static inline __ATTRS_o_ai __vector signed short
 2050vec_splats(signed short __scalar) {
 2051  return (__vector signed short)__scalar;
 2052}
 2053
 2054static inline __ATTRS_o_ai __vector unsigned short
 2055vec_splats(unsigned short __scalar) {
 2056  return (__vector unsigned short)__scalar;
 2057}
 2058
 2059static inline __ATTRS_o_ai __vector signed int
 2060vec_splats(signed int __scalar) {
 2061  return (__vector signed int)__scalar;
 2062}
 2063
 2064static inline __ATTRS_o_ai __vector unsigned int
 2065vec_splats(unsigned int __scalar) {
 2066  return (__vector unsigned int)__scalar;
 2067}
 2068
 2069static inline __ATTRS_o_ai __vector signed long long
 2070vec_splats(signed long long __scalar) {
 2071  return (__vector signed long long)__scalar;
 2072}
 2073
 2074static inline __ATTRS_o_ai __vector unsigned long long
 2075vec_splats(unsigned long long __scalar) {
 2076  return (__vector unsigned long long)__scalar;
 2077}
 2078
 2079static inline __ATTRS_o_ai __vector signed __int128
 2080vec_splats(signed __int128 __scalar) {
 2081  return (__vector signed __int128)__scalar;
 2082}
 2083
 2084static inline __ATTRS_o_ai __vector unsigned __int128
 2085vec_splats(unsigned __int128 __scalar) {
 2086  return (__vector unsigned __int128)__scalar;
 2087}
 2088
 2089#if __ARCH__ >= 12
 2090static inline __ATTRS_o_ai __vector float
 2091vec_splats(float __scalar) {
 2092  return (__vector float)__scalar;
 2093}
 2094#endif
 2095
 2096static inline __ATTRS_o_ai __vector double
 2097vec_splats(double __scalar) {
 2098  return (__vector double)__scalar;
 2099}
 2100
 2101/*-- vec_extend_s64 ---------------------------------------------------------*/
 2102
 2103static inline __ATTRS_o_ai __vector signed long long
 2104vec_extend_s64(__vector signed char __a) {
 2105  return (__vector signed long long)(__a[7], __a[15]);
 2106}
 2107
 2108static inline __ATTRS_o_ai __vector signed long long
 2109vec_extend_s64(__vector signed short __a) {
 2110  return (__vector signed long long)(__a[3], __a[7]);
 2111}
 2112
 2113static inline __ATTRS_o_ai __vector signed long long
 2114vec_extend_s64(__vector signed int __a) {
 2115  return (__vector signed long long)(__a[1], __a[3]);
 2116}
 2117
 2118/*-- vec_mergeh -------------------------------------------------------------*/
 2119
 2120static inline __ATTRS_o_ai __vector signed char
 2121vec_mergeh(__vector signed char __a, __vector signed char __b) {
 2122  return (__vector signed char)(
 2123    __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],
 2124    __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
 2125}
 2126
 2127static inline __ATTRS_o_ai __vector __bool char
 2128vec_mergeh(__vector __bool char __a, __vector __bool char __b) {
 2129  return (__vector __bool char)(
 2130    __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],
 2131    __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
 2132}
 2133
 2134static inline __ATTRS_o_ai __vector unsigned char
 2135vec_mergeh(__vector unsigned char __a, __vector unsigned char __b) {
 2136  return (__vector unsigned char)(
 2137    __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],
 2138    __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
 2139}
 2140
 2141static inline __ATTRS_o_ai __vector signed short
 2142vec_mergeh(__vector signed short __a, __vector signed short __b) {
 2143  return (__vector signed short)(
 2144    __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);
 2145}
 2146
 2147static inline __ATTRS_o_ai __vector __bool short
 2148vec_mergeh(__vector __bool short __a, __vector __bool short __b) {
 2149  return (__vector __bool short)(
 2150    __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);
 2151}
 2152
 2153static inline __ATTRS_o_ai __vector unsigned short
 2154vec_mergeh(__vector unsigned short __a, __vector unsigned short __b) {
 2155  return (__vector unsigned short)(
 2156    __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);
 2157}
 2158
 2159static inline __ATTRS_o_ai __vector signed int
 2160vec_mergeh(__vector signed int __a, __vector signed int __b) {
 2161  return (__vector signed int)(__a[0], __b[0], __a[1], __b[1]);
 2162}
 2163
 2164static inline __ATTRS_o_ai __vector __bool int
 2165vec_mergeh(__vector __bool int __a, __vector __bool int __b) {
 2166  return (__vector __bool int)(__a[0], __b[0], __a[1], __b[1]);
 2167}
 2168
 2169static inline __ATTRS_o_ai __vector unsigned int
 2170vec_mergeh(__vector unsigned int __a, __vector unsigned int __b) {
 2171  return (__vector unsigned int)(__a[0], __b[0], __a[1], __b[1]);
 2172}
 2173
 2174static inline __ATTRS_o_ai __vector signed long long
 2175vec_mergeh(__vector signed long long __a, __vector signed long long __b) {
 2176  return (__vector signed long long)(__a[0], __b[0]);
 2177}
 2178
 2179static inline __ATTRS_o_ai __vector __bool long long
 2180vec_mergeh(__vector __bool long long __a, __vector __bool long long __b) {
 2181  return (__vector __bool long long)(__a[0], __b[0]);
 2182}
 2183
 2184static inline __ATTRS_o_ai __vector unsigned long long
 2185vec_mergeh(__vector unsigned long long __a, __vector unsigned long long __b) {
 2186  return (__vector unsigned long long)(__a[0], __b[0]);
 2187}
 2188
 2189#if __ARCH__ >= 12
 2190static inline __ATTRS_o_ai __vector float
 2191vec_mergeh(__vector float __a, __vector float __b) {
 2192  return (__vector float)(__a[0], __b[0], __a[1], __b[1]);
 2193}
 2194#endif
 2195
 2196static inline __ATTRS_o_ai __vector double
 2197vec_mergeh(__vector double __a, __vector double __b) {
 2198  return (__vector double)(__a[0], __b[0]);
 2199}
 2200
 2201/*-- vec_mergel -------------------------------------------------------------*/
 2202
 2203static inline __ATTRS_o_ai __vector signed char
 2204vec_mergel(__vector signed char __a, __vector signed char __b) {
 2205  return (__vector signed char)(
 2206    __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],
 2207    __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);
 2208}
 2209
 2210static inline __ATTRS_o_ai __vector __bool char
 2211vec_mergel(__vector __bool char __a, __vector __bool char __b) {
 2212  return (__vector __bool char)(
 2213    __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],
 2214    __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);
 2215}
 2216
 2217static inline __ATTRS_o_ai __vector unsigned char
 2218vec_mergel(__vector unsigned char __a, __vector unsigned char __b) {
 2219  return (__vector unsigned char)(
 2220    __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],
 2221    __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);
 2222}
 2223
 2224static inline __ATTRS_o_ai __vector signed short
 2225vec_mergel(__vector signed short __a, __vector signed short __b) {
 2226  return (__vector signed short)(
 2227    __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
 2228}
 2229
 2230static inline __ATTRS_o_ai __vector __bool short
 2231vec_mergel(__vector __bool short __a, __vector __bool short __b) {
 2232  return (__vector __bool short)(
 2233    __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
 2234}
 2235
 2236static inline __ATTRS_o_ai __vector unsigned short
 2237vec_mergel(__vector unsigned short __a, __vector unsigned short __b) {
 2238  return (__vector unsigned short)(
 2239    __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
 2240}
 2241
 2242static inline __ATTRS_o_ai __vector signed int
 2243vec_mergel(__vector signed int __a, __vector signed int __b) {
 2244  return (__vector signed int)(__a[2], __b[2], __a[3], __b[3]);
 2245}
 2246
 2247static inline __ATTRS_o_ai __vector __bool int
 2248vec_mergel(__vector __bool int __a, __vector __bool int __b) {
 2249  return (__vector __bool int)(__a[2], __b[2], __a[3], __b[3]);
 2250}
 2251
 2252static inline __ATTRS_o_ai __vector unsigned int
 2253vec_mergel(__vector unsigned int __a, __vector unsigned int __b) {
 2254  return (__vector unsigned int)(__a[2], __b[2], __a[3], __b[3]);
 2255}
 2256
 2257static inline __ATTRS_o_ai __vector signed long long
 2258vec_mergel(__vector signed long long __a, __vector signed long long __b) {
 2259  return (__vector signed long long)(__a[1], __b[1]);
 2260}
 2261
 2262static inline __ATTRS_o_ai __vector __bool long long
 2263vec_mergel(__vector __bool long long __a, __vector __bool long long __b) {
 2264  return (__vector __bool long long)(__a[1], __b[1]);
 2265}
 2266
 2267static inline __ATTRS_o_ai __vector unsigned long long
 2268vec_mergel(__vector unsigned long long __a, __vector unsigned long long __b) {
 2269  return (__vector unsigned long long)(__a[1], __b[1]);
 2270}
 2271
 2272#if __ARCH__ >= 12
 2273static inline __ATTRS_o_ai __vector float
 2274vec_mergel(__vector float __a, __vector float __b) {
 2275  return (__vector float)(__a[2], __b[2], __a[3], __b[3]);
 2276}
 2277#endif
 2278
 2279static inline __ATTRS_o_ai __vector double
 2280vec_mergel(__vector double __a, __vector double __b) {
 2281  return (__vector double)(__a[1], __b[1]);
 2282}
 2283
 2284/*-- vec_pack ---------------------------------------------------------------*/
 2285
 2286static inline __ATTRS_o_ai __vector signed char
 2287vec_pack(__vector signed short __a, __vector signed short __b) {
 2288  __vector signed char __ac = (__vector signed char)__a;
 2289  __vector signed char __bc = (__vector signed char)__b;
 2290  return (__vector signed char)(
 2291    __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
 2292    __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
 2293}
 2294
 2295static inline __ATTRS_o_ai __vector __bool char
 2296vec_pack(__vector __bool short __a, __vector __bool short __b) {
 2297  __vector __bool char __ac = (__vector __bool char)__a;
 2298  __vector __bool char __bc = (__vector __bool char)__b;
 2299  return (__vector __bool char)(
 2300    __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
 2301    __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
 2302}
 2303
 2304static inline __ATTRS_o_ai __vector unsigned char
 2305vec_pack(__vector unsigned short __a, __vector unsigned short __b) {
 2306  __vector unsigned char __ac = (__vector unsigned char)__a;
 2307  __vector unsigned char __bc = (__vector unsigned char)__b;
 2308  return (__vector unsigned char)(
 2309    __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
 2310    __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
 2311}
 2312
 2313static inline __ATTRS_o_ai __vector signed short
 2314vec_pack(__vector signed int __a, __vector signed int __b) {
 2315  __vector signed short __ac = (__vector signed short)__a;
 2316  __vector signed short __bc = (__vector signed short)__b;
 2317  return (__vector signed short)(
 2318    __ac[1], __ac[3], __ac[5], __ac[7],
 2319    __bc[1], __bc[3], __bc[5], __bc[7]);
 2320}
 2321
 2322static inline __ATTRS_o_ai __vector __bool short
 2323vec_pack(__vector __bool int __a, __vector __bool int __b) {
 2324  __vector __bool short __ac = (__vector __bool short)__a;
 2325  __vector __bool short __bc = (__vector __bool short)__b;
 2326  return (__vector __bool short)(
 2327    __ac[1], __ac[3], __ac[5], __ac[7],
 2328    __bc[1], __bc[3], __bc[5], __bc[7]);
 2329}
 2330
 2331static inline __ATTRS_o_ai __vector unsigned short
 2332vec_pack(__vector unsigned int __a, __vector unsigned int __b) {
 2333  __vector unsigned short __ac = (__vector unsigned short)__a;
 2334  __vector unsigned short __bc = (__vector unsigned short)__b;
 2335  return (__vector unsigned short)(
 2336    __ac[1], __ac[3], __ac[5], __ac[7],
 2337    __bc[1], __bc[3], __bc[5], __bc[7]);
 2338}
 2339
 2340static inline __ATTRS_o_ai __vector signed int
 2341vec_pack(__vector signed long long __a, __vector signed long long __b) {
 2342  __vector signed int __ac = (__vector signed int)__a;
 2343  __vector signed int __bc = (__vector signed int)__b;
 2344  return (__vector signed int)(__ac[1], __ac[3], __bc[1], __bc[3]);
 2345}
 2346
 2347static inline __ATTRS_o_ai __vector __bool int
 2348vec_pack(__vector __bool long long __a, __vector __bool long long __b) {
 2349  __vector __bool int __ac = (__vector __bool int)__a;
 2350  __vector __bool int __bc = (__vector __bool int)__b;
 2351  return (__vector __bool int)(__ac[1], __ac[3], __bc[1], __bc[3]);
 2352}
 2353
 2354static inline __ATTRS_o_ai __vector unsigned int
 2355vec_pack(__vector unsigned long long __a, __vector unsigned long long __b) {
 2356  __vector unsigned int __ac = (__vector unsigned int)__a;
 2357  __vector unsigned int __bc = (__vector unsigned int)__b;
 2358  return (__vector unsigned int)(__ac[1], __ac[3], __bc[1], __bc[3]);
 2359}
 2360
 2361static inline __ATTRS_o_ai __vector signed long long
 2362vec_pack(__vector signed __int128 __a, __vector signed __int128 __b) {
 2363  __vector signed long long __ac = (__vector signed long long)__a;
 2364  __vector signed long long __bc = (__vector signed long long)__b;
 2365  return (__vector signed long long)(__ac[1], __bc[1]);
 2366}
 2367
 2368static inline __ATTRS_o_ai __vector __bool long long
 2369vec_pack(__vector __bool __int128 __a, __vector __bool __int128 __b) {
 2370  __vector __bool long long __ac = (__vector __bool long long)__a;
 2371  __vector __bool long long __bc = (__vector __bool long long)__b;
 2372  return (__vector __bool long long)(__ac[1], __bc[1]);
 2373}
 2374
 2375static inline __ATTRS_o_ai __vector unsigned long long
 2376vec_pack(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 2377  __vector unsigned long long __ac = (__vector unsigned long long)__a;
 2378  __vector unsigned long long __bc = (__vector unsigned long long)__b;
 2379  return (__vector unsigned long long)(__ac[1], __bc[1]);
 2380}
 2381
 2382/*-- vec_packs --------------------------------------------------------------*/
 2383
 2384static inline __ATTRS_o_ai __vector signed char
 2385vec_packs(__vector signed short __a, __vector signed short __b) {
 2386  return __builtin_s390_vpksh(__a, __b);
 2387}
 2388
 2389static inline __ATTRS_o_ai __vector unsigned char
 2390vec_packs(__vector unsigned short __a, __vector unsigned short __b) {
 2391  return __builtin_s390_vpklsh(__a, __b);
 2392}
 2393
 2394static inline __ATTRS_o_ai __vector signed short
 2395vec_packs(__vector signed int __a, __vector signed int __b) {
 2396  return __builtin_s390_vpksf(__a, __b);
 2397}
 2398
 2399static inline __ATTRS_o_ai __vector unsigned short
 2400vec_packs(__vector unsigned int __a, __vector unsigned int __b) {
 2401  return __builtin_s390_vpklsf(__a, __b);
 2402}
 2403
 2404static inline __ATTRS_o_ai __vector signed int
 2405vec_packs(__vector signed long long __a, __vector signed long long __b) {
 2406  return __builtin_s390_vpksg(__a, __b);
 2407}
 2408
 2409static inline __ATTRS_o_ai __vector unsigned int
 2410vec_packs(__vector unsigned long long __a, __vector unsigned long long __b) {
 2411  return __builtin_s390_vpklsg(__a, __b);
 2412}
 2413
 2414/*-- vec_packs_cc -----------------------------------------------------------*/
 2415
 2416static inline __ATTRS_o_ai __vector signed char
 2417vec_packs_cc(__vector signed short __a, __vector signed short __b, int *__cc) {
 2418  return __builtin_s390_vpkshs(__a, __b, __cc);
 2419}
 2420
 2421static inline __ATTRS_o_ai __vector unsigned char
 2422vec_packs_cc(__vector unsigned short __a, __vector unsigned short __b,
 2423             int *__cc) {
 2424  return __builtin_s390_vpklshs(__a, __b, __cc);
 2425}
 2426
 2427static inline __ATTRS_o_ai __vector signed short
 2428vec_packs_cc(__vector signed int __a, __vector signed int __b, int *__cc) {
 2429  return __builtin_s390_vpksfs(__a, __b, __cc);
 2430}
 2431
 2432static inline __ATTRS_o_ai __vector unsigned short
 2433vec_packs_cc(__vector unsigned int __a, __vector unsigned int __b, int *__cc) {
 2434  return __builtin_s390_vpklsfs(__a, __b, __cc);
 2435}
 2436
 2437static inline __ATTRS_o_ai __vector signed int
 2438vec_packs_cc(__vector signed long long __a, __vector signed long long __b,
 2439             int *__cc) {
 2440  return __builtin_s390_vpksgs(__a, __b, __cc);
 2441}
 2442
 2443static inline __ATTRS_o_ai __vector unsigned int
 2444vec_packs_cc(__vector unsigned long long __a, __vector unsigned long long __b,
 2445             int *__cc) {
 2446  return __builtin_s390_vpklsgs(__a, __b, __cc);
 2447}
 2448
 2449/*-- vec_packsu -------------------------------------------------------------*/
 2450
 2451static inline __ATTRS_o_ai __vector unsigned char
 2452vec_packsu(__vector signed short __a, __vector signed short __b) {
 2453  const __vector signed short __zero = (__vector signed short)0;
 2454  return __builtin_s390_vpklsh(
 2455    (__vector unsigned short)(__a >= __zero) & (__vector unsigned short)__a,
 2456    (__vector unsigned short)(__b >= __zero) & (__vector unsigned short)__b);
 2457}
 2458
 2459static inline __ATTRS_o_ai __vector unsigned char
 2460vec_packsu(__vector unsigned short __a, __vector unsigned short __b) {
 2461  return __builtin_s390_vpklsh(__a, __b);
 2462}
 2463
 2464static inline __ATTRS_o_ai __vector unsigned short
 2465vec_packsu(__vector signed int __a, __vector signed int __b) {
 2466  const __vector signed int __zero = (__vector signed int)0;
 2467  return __builtin_s390_vpklsf(
 2468    (__vector unsigned int)(__a >= __zero) & (__vector unsigned int)__a,
 2469    (__vector unsigned int)(__b >= __zero) & (__vector unsigned int)__b);
 2470}
 2471
 2472static inline __ATTRS_o_ai __vector unsigned short
 2473vec_packsu(__vector unsigned int __a, __vector unsigned int __b) {
 2474  return __builtin_s390_vpklsf(__a, __b);
 2475}
 2476
 2477static inline __ATTRS_o_ai __vector unsigned int
 2478vec_packsu(__vector signed long long __a, __vector signed long long __b) {
 2479  const __vector signed long long __zero = (__vector signed long long)0;
 2480  return __builtin_s390_vpklsg(
 2481    (__vector unsigned long long)(__a >= __zero) &
 2482    (__vector unsigned long long)__a,
 2483    (__vector unsigned long long)(__b >= __zero) &
 2484    (__vector unsigned long long)__b);
 2485}
 2486
 2487static inline __ATTRS_o_ai __vector unsigned int
 2488vec_packsu(__vector unsigned long long __a, __vector unsigned long long __b) {
 2489  return __builtin_s390_vpklsg(__a, __b);
 2490}
 2491
 2492/*-- vec_packsu_cc ----------------------------------------------------------*/
 2493
 2494static inline __ATTRS_o_ai __vector unsigned char
 2495vec_packsu_cc(__vector unsigned short __a, __vector unsigned short __b,
 2496              int *__cc) {
 2497  return __builtin_s390_vpklshs(__a, __b, __cc);
 2498}
 2499
 2500static inline __ATTRS_o_ai __vector unsigned short
 2501vec_packsu_cc(__vector unsigned int __a, __vector unsigned int __b, int *__cc) {
 2502  return __builtin_s390_vpklsfs(__a, __b, __cc);
 2503}
 2504
 2505static inline __ATTRS_o_ai __vector unsigned int
 2506vec_packsu_cc(__vector unsigned long long __a, __vector unsigned long long __b,
 2507              int *__cc) {
 2508  return __builtin_s390_vpklsgs(__a, __b, __cc);
 2509}
 2510
 2511/*-- vec_unpackh ------------------------------------------------------------*/
 2512
 2513static inline __ATTRS_o_ai __vector signed short
 2514vec_unpackh(__vector signed char __a) {
 2515  return __builtin_s390_vuphb(__a);
 2516}
 2517
 2518static inline __ATTRS_o_ai __vector __bool short
 2519vec_unpackh(__vector __bool char __a) {
 2520  return ((__vector __bool short)
 2521          __builtin_s390_vuphb((__vector signed char)__a));
 2522}
 2523
 2524static inline __ATTRS_o_ai __vector unsigned short
 2525vec_unpackh(__vector unsigned char __a) {
 2526  return __builtin_s390_vuplhb(__a);
 2527}
 2528
 2529static inline __ATTRS_o_ai __vector signed int
 2530vec_unpackh(__vector signed short __a) {
 2531  return __builtin_s390_vuphh(__a);
 2532}
 2533
 2534static inline __ATTRS_o_ai __vector __bool int
 2535vec_unpackh(__vector __bool short __a) {
 2536  return (__vector __bool int)__builtin_s390_vuphh((__vector signed short)__a);
 2537}
 2538
 2539static inline __ATTRS_o_ai __vector unsigned int
 2540vec_unpackh(__vector unsigned short __a) {
 2541  return __builtin_s390_vuplhh(__a);
 2542}
 2543
 2544static inline __ATTRS_o_ai __vector signed long long
 2545vec_unpackh(__vector signed int __a) {
 2546  return __builtin_s390_vuphf(__a);
 2547}
 2548
 2549static inline __ATTRS_o_ai __vector __bool long long
 2550vec_unpackh(__vector __bool int __a) {
 2551  return ((__vector __bool long long)
 2552          __builtin_s390_vuphf((__vector signed int)__a));
 2553}
 2554
 2555static inline __ATTRS_o_ai __vector unsigned long long
 2556vec_unpackh(__vector unsigned int __a) {
 2557  return __builtin_s390_vuplhf(__a);
 2558}
 2559
 2560#if __ARCH__ >= 15
 2561static inline __ATTRS_o_ai __vector signed __int128
 2562vec_unpackh(__vector signed long long __a) {
 2563  return (__vector signed __int128)__builtin_s390_vuphg(__a);
 2564}
 2565
 2566static inline __ATTRS_o_ai __vector __bool __int128
 2567vec_unpackh(__vector __bool long long __a) {
 2568  return ((__vector __bool __int128)
 2569          __builtin_s390_vuphg((__vector signed long long)__a));
 2570}
 2571
 2572static inline __ATTRS_o_ai __vector unsigned __int128
 2573vec_unpackh(__vector unsigned long long __a) {
 2574  return (__vector unsigned __int128)__builtin_s390_vuplhg(__a);
 2575}
 2576#endif
 2577
 2578/*-- vec_unpackl ------------------------------------------------------------*/
 2579
 2580static inline __ATTRS_o_ai __vector signed short
 2581vec_unpackl(__vector signed char __a) {
 2582  return __builtin_s390_vuplb(__a);
 2583}
 2584
 2585static inline __ATTRS_o_ai __vector __bool short
 2586vec_unpackl(__vector __bool char __a) {
 2587  return ((__vector __bool short)
 2588          __builtin_s390_vuplb((__vector signed char)__a));
 2589}
 2590
 2591static inline __ATTRS_o_ai __vector unsigned short
 2592vec_unpackl(__vector unsigned char __a) {
 2593  return __builtin_s390_vupllb(__a);
 2594}
 2595
 2596static inline __ATTRS_o_ai __vector signed int
 2597vec_unpackl(__vector signed short __a) {
 2598  return __builtin_s390_vuplhw(__a);
 2599}
 2600
 2601static inline __ATTRS_o_ai __vector __bool int
 2602vec_unpackl(__vector __bool short __a) {
 2603  return ((__vector __bool int)
 2604          __builtin_s390_vuplhw((__vector signed short)__a));
 2605}
 2606
 2607static inline __ATTRS_o_ai __vector unsigned int
 2608vec_unpackl(__vector unsigned short __a) {
 2609  return __builtin_s390_vupllh(__a);
 2610}
 2611
 2612static inline __ATTRS_o_ai __vector signed long long
 2613vec_unpackl(__vector signed int __a) {
 2614  return __builtin_s390_vuplf(__a);
 2615}
 2616
 2617static inline __ATTRS_o_ai __vector __bool long long
 2618vec_unpackl(__vector __bool int __a) {
 2619  return ((__vector __bool long long)
 2620          __builtin_s390_vuplf((__vector signed int)__a));
 2621}
 2622
 2623static inline __ATTRS_o_ai __vector unsigned long long
 2624vec_unpackl(__vector unsigned int __a) {
 2625  return __builtin_s390_vupllf(__a);
 2626}
 2627
 2628#if __ARCH__ >= 15
 2629static inline __ATTRS_o_ai __vector signed __int128
 2630vec_unpackl(__vector signed long long __a) {
 2631  return (__vector signed __int128)__builtin_s390_vuplg(__a);
 2632}
 2633
 2634static inline __ATTRS_o_ai __vector __bool __int128
 2635vec_unpackl(__vector __bool long long __a) {
 2636  return ((__vector __bool __int128)
 2637          __builtin_s390_vuplg((__vector signed long long)__a));
 2638}
 2639
 2640static inline __ATTRS_o_ai __vector unsigned __int128
 2641vec_unpackl(__vector unsigned long long __a) {
 2642  return (__vector unsigned __int128)__builtin_s390_vupllg(__a);
 2643}
 2644#endif
 2645
 2646/*-- vec_cmpeq --------------------------------------------------------------*/
 2647
 2648static inline __ATTRS_o_ai __vector __bool char
 2649vec_cmpeq(__vector __bool char __a, __vector __bool char __b) {
 2650  return (__vector __bool char)(__a == __b);
 2651}
 2652
 2653static inline __ATTRS_o_ai __vector __bool char
 2654vec_cmpeq(__vector signed char __a, __vector signed char __b) {
 2655  return (__vector __bool char)(__a == __b);
 2656}
 2657
 2658static inline __ATTRS_o_ai __vector __bool char
 2659vec_cmpeq(__vector unsigned char __a, __vector unsigned char __b) {
 2660  return (__vector __bool char)(__a == __b);
 2661}
 2662
 2663static inline __ATTRS_o_ai __vector __bool short
 2664vec_cmpeq(__vector __bool short __a, __vector __bool short __b) {
 2665  return (__vector __bool short)(__a == __b);
 2666}
 2667
 2668static inline __ATTRS_o_ai __vector __bool short
 2669vec_cmpeq(__vector signed short __a, __vector signed short __b) {
 2670  return (__vector __bool short)(__a == __b);
 2671}
 2672
 2673static inline __ATTRS_o_ai __vector __bool short
 2674vec_cmpeq(__vector unsigned short __a, __vector unsigned short __b) {
 2675  return (__vector __bool short)(__a == __b);
 2676}
 2677
 2678static inline __ATTRS_o_ai __vector __bool int
 2679vec_cmpeq(__vector __bool int __a, __vector __bool int __b) {
 2680  return (__vector __bool int)(__a == __b);
 2681}
 2682
 2683static inline __ATTRS_o_ai __vector __bool int
 2684vec_cmpeq(__vector signed int __a, __vector signed int __b) {
 2685  return (__vector __bool int)(__a == __b);
 2686}
 2687
 2688static inline __ATTRS_o_ai __vector __bool int
 2689vec_cmpeq(__vector unsigned int __a, __vector unsigned int __b) {
 2690  return (__vector __bool int)(__a == __b);
 2691}
 2692
 2693static inline __ATTRS_o_ai __vector __bool long long
 2694vec_cmpeq(__vector __bool long long __a, __vector __bool long long __b) {
 2695  return (__vector __bool long long)(__a == __b);
 2696}
 2697
 2698static inline __ATTRS_o_ai __vector __bool long long
 2699vec_cmpeq(__vector signed long long __a, __vector signed long long __b) {
 2700  return (__vector __bool long long)(__a == __b);
 2701}
 2702
 2703static inline __ATTRS_o_ai __vector __bool long long
 2704vec_cmpeq(__vector unsigned long long __a, __vector unsigned long long __b) {
 2705  return (__vector __bool long long)(__a == __b);
 2706}
 2707
 2708static inline __ATTRS_o_ai __vector __bool __int128
 2709vec_cmpeq(__vector __bool __int128 __a, __vector __bool __int128 __b) {
 2710  return (__vector __bool __int128)(__a == __b);
 2711}
 2712
 2713static inline __ATTRS_o_ai __vector __bool __int128
 2714vec_cmpeq(__vector signed __int128 __a, __vector signed __int128 __b) {
 2715  return (__vector __bool __int128)(__a == __b);
 2716}
 2717
 2718static inline __ATTRS_o_ai __vector __bool __int128
 2719vec_cmpeq(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 2720  return (__vector __bool __int128)(__a == __b);
 2721}
 2722
 2723#if __ARCH__ >= 12
 2724static inline __ATTRS_o_ai __vector __bool int
 2725vec_cmpeq(__vector float __a, __vector float __b) {
 2726  return (__vector __bool int)(__a == __b);
 2727}
 2728#endif
 2729
 2730static inline __ATTRS_o_ai __vector __bool long long
 2731vec_cmpeq(__vector double __a, __vector double __b) {
 2732  return (__vector __bool long long)(__a == __b);
 2733}
 2734
 2735/*-- vec_cmpge --------------------------------------------------------------*/
 2736
 2737static inline __ATTRS_o_ai __vector __bool char
 2738vec_cmpge(__vector signed char __a, __vector signed char __b) {
 2739  return (__vector __bool char)(__a >= __b);
 2740}
 2741
 2742static inline __ATTRS_o_ai __vector __bool char
 2743vec_cmpge(__vector unsigned char __a, __vector unsigned char __b) {
 2744  return (__vector __bool char)(__a >= __b);
 2745}
 2746
 2747static inline __ATTRS_o_ai __vector __bool short
 2748vec_cmpge(__vector signed short __a, __vector signed short __b) {
 2749  return (__vector __bool short)(__a >= __b);
 2750}
 2751
 2752static inline __ATTRS_o_ai __vector __bool short
 2753vec_cmpge(__vector unsigned short __a, __vector unsigned short __b) {
 2754  return (__vector __bool short)(__a >= __b);
 2755}
 2756
 2757static inline __ATTRS_o_ai __vector __bool int
 2758vec_cmpge(__vector signed int __a, __vector signed int __b) {
 2759  return (__vector __bool int)(__a >= __b);
 2760}
 2761
 2762static inline __ATTRS_o_ai __vector __bool int
 2763vec_cmpge(__vector unsigned int __a, __vector unsigned int __b) {
 2764  return (__vector __bool int)(__a >= __b);
 2765}
 2766
 2767static inline __ATTRS_o_ai __vector __bool long long
 2768vec_cmpge(__vector signed long long __a, __vector signed long long __b) {
 2769  return (__vector __bool long long)(__a >= __b);
 2770}
 2771
 2772static inline __ATTRS_o_ai __vector __bool long long
 2773vec_cmpge(__vector unsigned long long __a, __vector unsigned long long __b) {
 2774  return (__vector __bool long long)(__a >= __b);
 2775}
 2776
 2777static inline __ATTRS_o_ai __vector __bool __int128
 2778vec_cmpge(__vector signed __int128 __a, __vector signed __int128 __b) {
 2779  return (__vector __bool __int128)(__a >= __b);
 2780}
 2781
 2782static inline __ATTRS_o_ai __vector __bool __int128
 2783vec_cmpge(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 2784  return (__vector __bool __int128)(__a >= __b);
 2785}
 2786
 2787#if __ARCH__ >= 12
 2788static inline __ATTRS_o_ai __vector __bool int
 2789vec_cmpge(__vector float __a, __vector float __b) {
 2790  return (__vector __bool int)(__a >= __b);
 2791}
 2792#endif
 2793
 2794static inline __ATTRS_o_ai __vector __bool long long
 2795vec_cmpge(__vector double __a, __vector double __b) {
 2796  return (__vector __bool long long)(__a >= __b);
 2797}
 2798
 2799/*-- vec_cmpgt --------------------------------------------------------------*/
 2800
 2801static inline __ATTRS_o_ai __vector __bool char
 2802vec_cmpgt(__vector signed char __a, __vector signed char __b) {
 2803  return (__vector __bool char)(__a > __b);
 2804}
 2805
 2806static inline __ATTRS_o_ai __vector __bool char
 2807vec_cmpgt(__vector unsigned char __a, __vector unsigned char __b) {
 2808  return (__vector __bool char)(__a > __b);
 2809}
 2810
 2811static inline __ATTRS_o_ai __vector __bool short
 2812vec_cmpgt(__vector signed short __a, __vector signed short __b) {
 2813  return (__vector __bool short)(__a > __b);
 2814}
 2815
 2816static inline __ATTRS_o_ai __vector __bool short
 2817vec_cmpgt(__vector unsigned short __a, __vector unsigned short __b) {
 2818  return (__vector __bool short)(__a > __b);
 2819}
 2820
 2821static inline __ATTRS_o_ai __vector __bool int
 2822vec_cmpgt(__vector signed int __a, __vector signed int __b) {
 2823  return (__vector __bool int)(__a > __b);
 2824}
 2825
 2826static inline __ATTRS_o_ai __vector __bool int
 2827vec_cmpgt(__vector unsigned int __a, __vector unsigned int __b) {
 2828  return (__vector __bool int)(__a > __b);
 2829}
 2830
 2831static inline __ATTRS_o_ai __vector __bool long long
 2832vec_cmpgt(__vector signed long long __a, __vector signed long long __b) {
 2833  return (__vector __bool long long)(__a > __b);
 2834}
 2835
 2836static inline __ATTRS_o_ai __vector __bool long long
 2837vec_cmpgt(__vector unsigned long long __a, __vector unsigned long long __b) {
 2838  return (__vector __bool long long)(__a > __b);
 2839}
 2840
 2841static inline __ATTRS_o_ai __vector __bool __int128
 2842vec_cmpgt(__vector signed __int128 __a, __vector signed __int128 __b) {
 2843  return (__vector __bool __int128)(__a > __b);
 2844}
 2845
 2846static inline __ATTRS_o_ai __vector __bool __int128
 2847vec_cmpgt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 2848  return (__vector __bool __int128)(__a > __b);
 2849}
 2850
 2851#if __ARCH__ >= 12
 2852static inline __ATTRS_o_ai __vector __bool int
 2853vec_cmpgt(__vector float __a, __vector float __b) {
 2854  return (__vector __bool int)(__a > __b);
 2855}
 2856#endif
 2857
 2858static inline __ATTRS_o_ai __vector __bool long long
 2859vec_cmpgt(__vector double __a, __vector double __b) {
 2860  return (__vector __bool long long)(__a > __b);
 2861}
 2862
 2863/*-- vec_cmple --------------------------------------------------------------*/
 2864
 2865static inline __ATTRS_o_ai __vector __bool char
 2866vec_cmple(__vector signed char __a, __vector signed char __b) {
 2867  return (__vector __bool char)(__a <= __b);
 2868}
 2869
 2870static inline __ATTRS_o_ai __vector __bool char
 2871vec_cmple(__vector unsigned char __a, __vector unsigned char __b) {
 2872  return (__vector __bool char)(__a <= __b);
 2873}
 2874
 2875static inline __ATTRS_o_ai __vector __bool short
 2876vec_cmple(__vector signed short __a, __vector signed short __b) {
 2877  return (__vector __bool short)(__a <= __b);
 2878}
 2879
 2880static inline __ATTRS_o_ai __vector __bool short
 2881vec_cmple(__vector unsigned short __a, __vector unsigned short __b) {
 2882  return (__vector __bool short)(__a <= __b);
 2883}
 2884
 2885static inline __ATTRS_o_ai __vector __bool int
 2886vec_cmple(__vector signed int __a, __vector signed int __b) {
 2887  return (__vector __bool int)(__a <= __b);
 2888}
 2889
 2890static inline __ATTRS_o_ai __vector __bool int
 2891vec_cmple(__vector unsigned int __a, __vector unsigned int __b) {
 2892  return (__vector __bool int)(__a <= __b);
 2893}
 2894
 2895static inline __ATTRS_o_ai __vector __bool long long
 2896vec_cmple(__vector signed long long __a, __vector signed long long __b) {
 2897  return (__vector __bool long long)(__a <= __b);
 2898}
 2899
 2900static inline __ATTRS_o_ai __vector __bool long long
 2901vec_cmple(__vector unsigned long long __a, __vector unsigned long long __b) {
 2902  return (__vector __bool long long)(__a <= __b);
 2903}
 2904
 2905static inline __ATTRS_o_ai __vector __bool __int128
 2906vec_cmple(__vector signed __int128 __a, __vector signed __int128 __b) {
 2907  return (__vector __bool __int128)(__a <= __b);
 2908}
 2909
 2910static inline __ATTRS_o_ai __vector __bool __int128
 2911vec_cmple(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 2912  return (__vector __bool __int128)(__a <= __b);
 2913}
 2914
 2915#if __ARCH__ >= 12
 2916static inline __ATTRS_o_ai __vector __bool int
 2917vec_cmple(__vector float __a, __vector float __b) {
 2918  return (__vector __bool int)(__a <= __b);
 2919}
 2920#endif
 2921
 2922static inline __ATTRS_o_ai __vector __bool long long
 2923vec_cmple(__vector double __a, __vector double __b) {
 2924  return (__vector __bool long long)(__a <= __b);
 2925}
 2926
 2927/*-- vec_cmplt --------------------------------------------------------------*/
 2928
 2929static inline __ATTRS_o_ai __vector __bool char
 2930vec_cmplt(__vector signed char __a, __vector signed char __b) {
 2931  return (__vector __bool char)(__a < __b);
 2932}
 2933
 2934static inline __ATTRS_o_ai __vector __bool char
 2935vec_cmplt(__vector unsigned char __a, __vector unsigned char __b) {
 2936  return (__vector __bool char)(__a < __b);
 2937}
 2938
 2939static inline __ATTRS_o_ai __vector __bool short
 2940vec_cmplt(__vector signed short __a, __vector signed short __b) {
 2941  return (__vector __bool short)(__a < __b);
 2942}
 2943
 2944static inline __ATTRS_o_ai __vector __bool short
 2945vec_cmplt(__vector unsigned short __a, __vector unsigned short __b) {
 2946  return (__vector __bool short)(__a < __b);
 2947}
 2948
 2949static inline __ATTRS_o_ai __vector __bool int
 2950vec_cmplt(__vector signed int __a, __vector signed int __b) {
 2951  return (__vector __bool int)(__a < __b);
 2952}
 2953
 2954static inline __ATTRS_o_ai __vector __bool int
 2955vec_cmplt(__vector unsigned int __a, __vector unsigned int __b) {
 2956  return (__vector __bool int)(__a < __b);
 2957}
 2958
 2959static inline __ATTRS_o_ai __vector __bool long long
 2960vec_cmplt(__vector signed long long __a, __vector signed long long __b) {
 2961  return (__vector __bool long long)(__a < __b);
 2962}
 2963
 2964static inline __ATTRS_o_ai __vector __bool long long
 2965vec_cmplt(__vector unsigned long long __a, __vector unsigned long long __b) {
 2966  return (__vector __bool long long)(__a < __b);
 2967}
 2968
 2969static inline __ATTRS_o_ai __vector __bool __int128
 2970vec_cmplt(__vector signed __int128 __a, __vector signed __int128 __b) {
 2971  return (__vector __bool __int128)(__a < __b);
 2972}
 2973
 2974static inline __ATTRS_o_ai __vector __bool __int128
 2975vec_cmplt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 2976  return (__vector __bool __int128)(__a < __b);
 2977}
 2978
 2979#if __ARCH__ >= 12
 2980static inline __ATTRS_o_ai __vector __bool int
 2981vec_cmplt(__vector float __a, __vector float __b) {
 2982  return (__vector __bool int)(__a < __b);
 2983}
 2984#endif
 2985
 2986static inline __ATTRS_o_ai __vector __bool long long
 2987vec_cmplt(__vector double __a, __vector double __b) {
 2988  return (__vector __bool long long)(__a < __b);
 2989}
 2990
 2991/*-- vec_all_eq -------------------------------------------------------------*/
 2992
 2993static inline __ATTRS_o_ai int
 2994vec_all_eq(__vector signed char __a, __vector signed char __b) {
 2995  int __cc;
 2996  __builtin_s390_vceqbs((__vector unsigned char)__a,
 2997                        (__vector unsigned char)__b, &__cc);
 2998  return __cc == 0;
 2999}
 3000
 3001// This prototype is deprecated.
 3002static inline __ATTRS_o_ai int
 3003vec_all_eq(__vector signed char __a, __vector __bool char __b) {
 3004  int __cc;
 3005  __builtin_s390_vceqbs((__vector unsigned char)__a,
 3006                        (__vector unsigned char)__b, &__cc);
 3007  return __cc == 0;
 3008}
 3009
 3010// This prototype is deprecated.
 3011static inline __ATTRS_o_ai int
 3012vec_all_eq(__vector __bool char __a, __vector signed char __b) {
 3013  int __cc;
 3014  __builtin_s390_vceqbs((__vector unsigned char)__a,
 3015                        (__vector unsigned char)__b, &__cc);
 3016  return __cc == 0;
 3017}
 3018
 3019static inline __ATTRS_o_ai int
 3020vec_all_eq(__vector unsigned char __a, __vector unsigned char __b) {
 3021  int __cc;
 3022  __builtin_s390_vceqbs(__a, __b, &__cc);
 3023  return __cc == 0;
 3024}
 3025
 3026// This prototype is deprecated.
 3027static inline __ATTRS_o_ai int
 3028vec_all_eq(__vector unsigned char __a, __vector __bool char __b) {
 3029  int __cc;
 3030  __builtin_s390_vceqbs(__a, (__vector unsigned char)__b, &__cc);
 3031  return __cc == 0;
 3032}
 3033
 3034// This prototype is deprecated.
 3035static inline __ATTRS_o_ai int
 3036vec_all_eq(__vector __bool char __a, __vector unsigned char __b) {
 3037  int __cc;
 3038  __builtin_s390_vceqbs((__vector unsigned char)__a, __b, &__cc);
 3039  return __cc == 0;
 3040}
 3041
 3042static inline __ATTRS_o_ai int
 3043vec_all_eq(__vector __bool char __a, __vector __bool char __b) {
 3044  int __cc;
 3045  __builtin_s390_vceqbs((__vector unsigned char)__a,
 3046                        (__vector unsigned char)__b, &__cc);
 3047  return __cc == 0;
 3048}
 3049
 3050static inline __ATTRS_o_ai int
 3051vec_all_eq(__vector signed short __a, __vector signed short __b) {
 3052  int __cc;
 3053  __builtin_s390_vceqhs((__vector unsigned short)__a,
 3054                        (__vector unsigned short)__b, &__cc);
 3055  return __cc == 0;
 3056}
 3057
 3058// This prototype is deprecated.
 3059static inline __ATTRS_o_ai int
 3060vec_all_eq(__vector signed short __a, __vector __bool short __b) {
 3061  int __cc;
 3062  __builtin_s390_vceqhs((__vector unsigned short)__a,
 3063                        (__vector unsigned short)__b, &__cc);
 3064  return __cc == 0;
 3065}
 3066
 3067// This prototype is deprecated.
 3068static inline __ATTRS_o_ai int
 3069vec_all_eq(__vector __bool short __a, __vector signed short __b) {
 3070  int __cc;
 3071  __builtin_s390_vceqhs((__vector unsigned short)__a,
 3072                        (__vector unsigned short)__b, &__cc);
 3073  return __cc == 0;
 3074}
 3075
 3076static inline __ATTRS_o_ai int
 3077vec_all_eq(__vector unsigned short __a, __vector unsigned short __b) {
 3078  int __cc;
 3079  __builtin_s390_vceqhs(__a, __b, &__cc);
 3080  return __cc == 0;
 3081}
 3082
 3083// This prototype is deprecated.
 3084static inline __ATTRS_o_ai int
 3085vec_all_eq(__vector unsigned short __a, __vector __bool short __b) {
 3086  int __cc;
 3087  __builtin_s390_vceqhs(__a, (__vector unsigned short)__b, &__cc);
 3088  return __cc == 0;
 3089}
 3090
 3091// This prototype is deprecated.
 3092static inline __ATTRS_o_ai int
 3093vec_all_eq(__vector __bool short __a, __vector unsigned short __b) {
 3094  int __cc;
 3095  __builtin_s390_vceqhs((__vector unsigned short)__a, __b, &__cc);
 3096  return __cc == 0;
 3097}
 3098
 3099static inline __ATTRS_o_ai int
 3100vec_all_eq(__vector __bool short __a, __vector __bool short __b) {
 3101  int __cc;
 3102  __builtin_s390_vceqhs((__vector unsigned short)__a,
 3103                        (__vector unsigned short)__b, &__cc);
 3104  return __cc == 0;
 3105}
 3106
 3107static inline __ATTRS_o_ai int
 3108vec_all_eq(__vector signed int __a, __vector signed int __b) {
 3109  int __cc;
 3110  __builtin_s390_vceqfs((__vector unsigned int)__a,
 3111                        (__vector unsigned int)__b, &__cc);
 3112  return __cc == 0;
 3113}
 3114
 3115// This prototype is deprecated.
 3116static inline __ATTRS_o_ai int
 3117vec_all_eq(__vector signed int __a, __vector __bool int __b) {
 3118  int __cc;
 3119  __builtin_s390_vceqfs((__vector unsigned int)__a,
 3120                        (__vector unsigned int)__b, &__cc);
 3121  return __cc == 0;
 3122}
 3123
 3124// This prototype is deprecated.
 3125static inline __ATTRS_o_ai int
 3126vec_all_eq(__vector __bool int __a, __vector signed int __b) {
 3127  int __cc;
 3128  __builtin_s390_vceqfs((__vector unsigned int)__a,
 3129                        (__vector unsigned int)__b, &__cc);
 3130  return __cc == 0;
 3131}
 3132
 3133static inline __ATTRS_o_ai int
 3134vec_all_eq(__vector unsigned int __a, __vector unsigned int __b) {
 3135  int __cc;
 3136  __builtin_s390_vceqfs(__a, __b, &__cc);
 3137  return __cc == 0;
 3138}
 3139
 3140// This prototype is deprecated.
 3141static inline __ATTRS_o_ai int
 3142vec_all_eq(__vector unsigned int __a, __vector __bool int __b) {
 3143  int __cc;
 3144  __builtin_s390_vceqfs(__a, (__vector unsigned int)__b, &__cc);
 3145  return __cc == 0;
 3146}
 3147
 3148// This prototype is deprecated.
 3149static inline __ATTRS_o_ai int
 3150vec_all_eq(__vector __bool int __a, __vector unsigned int __b) {
 3151  int __cc;
 3152  __builtin_s390_vceqfs((__vector unsigned int)__a, __b, &__cc);
 3153  return __cc == 0;
 3154}
 3155
 3156static inline __ATTRS_o_ai int
 3157vec_all_eq(__vector __bool int __a, __vector __bool int __b) {
 3158  int __cc;
 3159  __builtin_s390_vceqfs((__vector unsigned int)__a,
 3160                        (__vector unsigned int)__b, &__cc);
 3161  return __cc == 0;
 3162}
 3163
 3164static inline __ATTRS_o_ai int
 3165vec_all_eq(__vector signed long long __a, __vector signed long long __b) {
 3166  int __cc;
 3167  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 3168                        (__vector unsigned long long)__b, &__cc);
 3169  return __cc == 0;
 3170}
 3171
 3172// This prototype is deprecated.
 3173static inline __ATTRS_o_ai int
 3174vec_all_eq(__vector signed long long __a, __vector __bool long long __b) {
 3175  int __cc;
 3176  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 3177                        (__vector unsigned long long)__b, &__cc);
 3178  return __cc == 0;
 3179}
 3180
 3181// This prototype is deprecated.
 3182static inline __ATTRS_o_ai int
 3183vec_all_eq(__vector __bool long long __a, __vector signed long long __b) {
 3184  int __cc;
 3185  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 3186                        (__vector unsigned long long)__b, &__cc);
 3187  return __cc == 0;
 3188}
 3189
 3190static inline __ATTRS_o_ai int
 3191vec_all_eq(__vector unsigned long long __a, __vector unsigned long long __b) {
 3192  int __cc;
 3193  __builtin_s390_vceqgs(__a, __b, &__cc);
 3194  return __cc == 0;
 3195}
 3196
 3197// This prototype is deprecated.
 3198static inline __ATTRS_o_ai int
 3199vec_all_eq(__vector unsigned long long __a, __vector __bool long long __b) {
 3200  int __cc;
 3201  __builtin_s390_vceqgs(__a, (__vector unsigned long long)__b, &__cc);
 3202  return __cc == 0;
 3203}
 3204
 3205// This prototype is deprecated.
 3206static inline __ATTRS_o_ai int
 3207vec_all_eq(__vector __bool long long __a, __vector unsigned long long __b) {
 3208  int __cc;
 3209  __builtin_s390_vceqgs((__vector unsigned long long)__a, __b, &__cc);
 3210  return __cc == 0;
 3211}
 3212
 3213static inline __ATTRS_o_ai int
 3214vec_all_eq(__vector __bool long long __a, __vector __bool long long __b) {
 3215  int __cc;
 3216  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 3217                        (__vector unsigned long long)__b, &__cc);
 3218  return __cc == 0;
 3219}
 3220
 3221#if __ARCH__ >= 15
 3222static inline __ATTRS_o_ai int
 3223vec_all_eq(__vector signed __int128 __a, __vector signed __int128 __b) {
 3224  int __cc;
 3225  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 3226  return __cc == 0;
 3227}
 3228
 3229static inline __ATTRS_o_ai int
 3230vec_all_eq(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 3231  int __cc;
 3232  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 3233  return __cc == 0;
 3234}
 3235
 3236static inline __ATTRS_o_ai int
 3237vec_all_eq(__vector __bool __int128 __a, __vector __bool __int128 __b) {
 3238  int __cc;
 3239  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 3240  return __cc == 0;
 3241}
 3242#endif
 3243
 3244#if __ARCH__ >= 12
 3245static inline __ATTRS_o_ai int
 3246vec_all_eq(__vector float __a, __vector float __b) {
 3247  int __cc;
 3248  __builtin_s390_vfcesbs(__a, __b, &__cc);
 3249  return __cc == 0;
 3250}
 3251#endif
 3252
 3253static inline __ATTRS_o_ai int
 3254vec_all_eq(__vector double __a, __vector double __b) {
 3255  int __cc;
 3256  __builtin_s390_vfcedbs(__a, __b, &__cc);
 3257  return __cc == 0;
 3258}
 3259
 3260/*-- vec_all_ne -------------------------------------------------------------*/
 3261
 3262static inline __ATTRS_o_ai int
 3263vec_all_ne(__vector signed char __a, __vector signed char __b) {
 3264  int __cc;
 3265  __builtin_s390_vceqbs((__vector unsigned char)__a,
 3266                        (__vector unsigned char)__b, &__cc);
 3267  return __cc == 3;
 3268}
 3269
 3270// This prototype is deprecated.
 3271static inline __ATTRS_o_ai int
 3272vec_all_ne(__vector signed char __a, __vector __bool char __b) {
 3273  int __cc;
 3274  __builtin_s390_vceqbs((__vector unsigned char)__a,
 3275                        (__vector unsigned char)__b, &__cc);
 3276  return __cc == 3;
 3277}
 3278
 3279// This prototype is deprecated.
 3280static inline __ATTRS_o_ai int
 3281vec_all_ne(__vector __bool char __a, __vector signed char __b) {
 3282  int __cc;
 3283  __builtin_s390_vceqbs((__vector unsigned char)__a,
 3284                        (__vector unsigned char)__b, &__cc);
 3285  return __cc == 3;
 3286}
 3287
 3288static inline __ATTRS_o_ai int
 3289vec_all_ne(__vector unsigned char __a, __vector unsigned char __b) {
 3290  int __cc;
 3291  __builtin_s390_vceqbs((__vector unsigned char)__a,
 3292                        (__vector unsigned char)__b, &__cc);
 3293  return __cc == 3;
 3294}
 3295
 3296// This prototype is deprecated.
 3297static inline __ATTRS_o_ai int
 3298vec_all_ne(__vector unsigned char __a, __vector __bool char __b) {
 3299  int __cc;
 3300  __builtin_s390_vceqbs(__a, (__vector unsigned char)__b, &__cc);
 3301  return __cc == 3;
 3302}
 3303
 3304// This prototype is deprecated.
 3305static inline __ATTRS_o_ai int
 3306vec_all_ne(__vector __bool char __a, __vector unsigned char __b) {
 3307  int __cc;
 3308  __builtin_s390_vceqbs((__vector unsigned char)__a, __b, &__cc);
 3309  return __cc == 3;
 3310}
 3311
 3312static inline __ATTRS_o_ai int
 3313vec_all_ne(__vector __bool char __a, __vector __bool char __b) {
 3314  int __cc;
 3315  __builtin_s390_vceqbs((__vector unsigned char)__a,
 3316                        (__vector unsigned char)__b, &__cc);
 3317  return __cc == 3;
 3318}
 3319
 3320static inline __ATTRS_o_ai int
 3321vec_all_ne(__vector signed short __a, __vector signed short __b) {
 3322  int __cc;
 3323  __builtin_s390_vceqhs((__vector unsigned short)__a,
 3324                        (__vector unsigned short)__b, &__cc);
 3325  return __cc == 3;
 3326}
 3327
 3328// This prototype is deprecated.
 3329static inline __ATTRS_o_ai int
 3330vec_all_ne(__vector signed short __a, __vector __bool short __b) {
 3331  int __cc;
 3332  __builtin_s390_vceqhs((__vector unsigned short)__a,
 3333                        (__vector unsigned short)__b, &__cc);
 3334  return __cc == 3;
 3335}
 3336
 3337// This prototype is deprecated.
 3338static inline __ATTRS_o_ai int
 3339vec_all_ne(__vector __bool short __a, __vector signed short __b) {
 3340  int __cc;
 3341  __builtin_s390_vceqhs((__vector unsigned short)__a,
 3342                        (__vector unsigned short)__b, &__cc);
 3343  return __cc == 3;
 3344}
 3345
 3346static inline __ATTRS_o_ai int
 3347vec_all_ne(__vector unsigned short __a, __vector unsigned short __b) {
 3348  int __cc;
 3349  __builtin_s390_vceqhs(__a, __b, &__cc);
 3350  return __cc == 3;
 3351}
 3352
 3353// This prototype is deprecated.
 3354static inline __ATTRS_o_ai int
 3355vec_all_ne(__vector unsigned short __a, __vector __bool short __b) {
 3356  int __cc;
 3357  __builtin_s390_vceqhs(__a, (__vector unsigned short)__b, &__cc);
 3358  return __cc == 3;
 3359}
 3360
 3361// This prototype is deprecated.
 3362static inline __ATTRS_o_ai int
 3363vec_all_ne(__vector __bool short __a, __vector unsigned short __b) {
 3364  int __cc;
 3365  __builtin_s390_vceqhs((__vector unsigned short)__a, __b, &__cc);
 3366  return __cc == 3;
 3367}
 3368
 3369static inline __ATTRS_o_ai int
 3370vec_all_ne(__vector __bool short __a, __vector __bool short __b) {
 3371  int __cc;
 3372  __builtin_s390_vceqhs((__vector unsigned short)__a,
 3373                        (__vector unsigned short)__b, &__cc);
 3374  return __cc == 3;
 3375}
 3376
 3377static inline __ATTRS_o_ai int
 3378vec_all_ne(__vector signed int __a, __vector signed int __b) {
 3379  int __cc;
 3380  __builtin_s390_vceqfs((__vector unsigned int)__a,
 3381                        (__vector unsigned int)__b, &__cc);
 3382  return __cc == 3;
 3383}
 3384
 3385// This prototype is deprecated.
 3386static inline __ATTRS_o_ai int
 3387vec_all_ne(__vector signed int __a, __vector __bool int __b) {
 3388  int __cc;
 3389  __builtin_s390_vceqfs((__vector unsigned int)__a,
 3390                        (__vector unsigned int)__b, &__cc);
 3391  return __cc == 3;
 3392}
 3393
 3394// This prototype is deprecated.
 3395static inline __ATTRS_o_ai int
 3396vec_all_ne(__vector __bool int __a, __vector signed int __b) {
 3397  int __cc;
 3398  __builtin_s390_vceqfs((__vector unsigned int)__a,
 3399                        (__vector unsigned int)__b, &__cc);
 3400  return __cc == 3;
 3401}
 3402
 3403static inline __ATTRS_o_ai int
 3404vec_all_ne(__vector unsigned int __a, __vector unsigned int __b) {
 3405  int __cc;
 3406  __builtin_s390_vceqfs(__a, __b, &__cc);
 3407  return __cc == 3;
 3408}
 3409
 3410// This prototype is deprecated.
 3411static inline __ATTRS_o_ai int
 3412vec_all_ne(__vector unsigned int __a, __vector __bool int __b) {
 3413  int __cc;
 3414  __builtin_s390_vceqfs(__a, (__vector unsigned int)__b, &__cc);
 3415  return __cc == 3;
 3416}
 3417
 3418// This prototype is deprecated.
 3419static inline __ATTRS_o_ai int
 3420vec_all_ne(__vector __bool int __a, __vector unsigned int __b) {
 3421  int __cc;
 3422  __builtin_s390_vceqfs((__vector unsigned int)__a, __b, &__cc);
 3423  return __cc == 3;
 3424}
 3425
 3426static inline __ATTRS_o_ai int
 3427vec_all_ne(__vector __bool int __a, __vector __bool int __b) {
 3428  int __cc;
 3429  __builtin_s390_vceqfs((__vector unsigned int)__a,
 3430                        (__vector unsigned int)__b, &__cc);
 3431  return __cc == 3;
 3432}
 3433
 3434static inline __ATTRS_o_ai int
 3435vec_all_ne(__vector signed long long __a, __vector signed long long __b) {
 3436  int __cc;
 3437  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 3438                        (__vector unsigned long long)__b, &__cc);
 3439  return __cc == 3;
 3440}
 3441
 3442// This prototype is deprecated.
 3443static inline __ATTRS_o_ai int
 3444vec_all_ne(__vector signed long long __a, __vector __bool long long __b) {
 3445  int __cc;
 3446  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 3447                        (__vector unsigned long long)__b, &__cc);
 3448  return __cc == 3;
 3449}
 3450
 3451// This prototype is deprecated.
 3452static inline __ATTRS_o_ai int
 3453vec_all_ne(__vector __bool long long __a, __vector signed long long __b) {
 3454  int __cc;
 3455  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 3456                        (__vector unsigned long long)__b, &__cc);
 3457  return __cc == 3;
 3458}
 3459
 3460static inline __ATTRS_o_ai int
 3461vec_all_ne(__vector unsigned long long __a, __vector unsigned long long __b) {
 3462  int __cc;
 3463  __builtin_s390_vceqgs(__a, __b, &__cc);
 3464  return __cc == 3;
 3465}
 3466
 3467// This prototype is deprecated.
 3468static inline __ATTRS_o_ai int
 3469vec_all_ne(__vector unsigned long long __a, __vector __bool long long __b) {
 3470  int __cc;
 3471  __builtin_s390_vceqgs(__a, (__vector unsigned long long)__b, &__cc);
 3472  return __cc == 3;
 3473}
 3474
 3475// This prototype is deprecated.
 3476static inline __ATTRS_o_ai int
 3477vec_all_ne(__vector __bool long long __a, __vector unsigned long long __b) {
 3478  int __cc;
 3479  __builtin_s390_vceqgs((__vector unsigned long long)__a, __b, &__cc);
 3480  return __cc == 3;
 3481}
 3482
 3483static inline __ATTRS_o_ai int
 3484vec_all_ne(__vector __bool long long __a, __vector __bool long long __b) {
 3485  int __cc;
 3486  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 3487                        (__vector unsigned long long)__b, &__cc);
 3488  return __cc == 3;
 3489}
 3490
 3491#if __ARCH__ >= 15
 3492static inline __ATTRS_o_ai int
 3493vec_all_ne(__vector signed __int128 __a, __vector signed __int128 __b) {
 3494  int __cc;
 3495  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 3496  return __cc == 3;
 3497}
 3498
 3499static inline __ATTRS_o_ai int
 3500vec_all_ne(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 3501  int __cc;
 3502  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 3503  return __cc == 3;
 3504}
 3505
 3506static inline __ATTRS_o_ai int
 3507vec_all_ne(__vector __bool __int128 __a, __vector __bool __int128 __b) {
 3508  int __cc;
 3509  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 3510  return __cc == 3;
 3511}
 3512#endif
 3513
 3514#if __ARCH__ >= 12
 3515static inline __ATTRS_o_ai int
 3516vec_all_ne(__vector float __a, __vector float __b) {
 3517  int __cc;
 3518  __builtin_s390_vfcesbs(__a, __b, &__cc);
 3519  return __cc == 3;
 3520}
 3521#endif
 3522
 3523static inline __ATTRS_o_ai int
 3524vec_all_ne(__vector double __a, __vector double __b) {
 3525  int __cc;
 3526  __builtin_s390_vfcedbs(__a, __b, &__cc);
 3527  return __cc == 3;
 3528}
 3529
 3530/*-- vec_all_ge -------------------------------------------------------------*/
 3531
 3532static inline __ATTRS_o_ai int
 3533vec_all_ge(__vector signed char __a, __vector signed char __b) {
 3534  int __cc;
 3535  __builtin_s390_vchbs(__b, __a, &__cc);
 3536  return __cc == 3;
 3537}
 3538
 3539// This prototype is deprecated.
 3540static inline __ATTRS_o_ai int
 3541vec_all_ge(__vector signed char __a, __vector __bool char __b) {
 3542  int __cc;
 3543  __builtin_s390_vchbs((__vector signed char)__b, __a, &__cc);
 3544  return __cc == 3;
 3545}
 3546
 3547// This prototype is deprecated.
 3548static inline __ATTRS_o_ai int
 3549vec_all_ge(__vector __bool char __a, __vector signed char __b) {
 3550  int __cc;
 3551  __builtin_s390_vchbs(__b, (__vector signed char)__a, &__cc);
 3552  return __cc == 3;
 3553}
 3554
 3555static inline __ATTRS_o_ai int
 3556vec_all_ge(__vector unsigned char __a, __vector unsigned char __b) {
 3557  int __cc;
 3558  __builtin_s390_vchlbs(__b, __a, &__cc);
 3559  return __cc == 3;
 3560}
 3561
 3562// This prototype is deprecated.
 3563static inline __ATTRS_o_ai int
 3564vec_all_ge(__vector unsigned char __a, __vector __bool char __b) {
 3565  int __cc;
 3566  __builtin_s390_vchlbs((__vector unsigned char)__b, __a, &__cc);
 3567  return __cc == 3;
 3568}
 3569
 3570// This prototype is deprecated.
 3571static inline __ATTRS_o_ai int
 3572vec_all_ge(__vector __bool char __a, __vector unsigned char __b) {
 3573  int __cc;
 3574  __builtin_s390_vchlbs(__b, (__vector unsigned char)__a, &__cc);
 3575  return __cc == 3;
 3576}
 3577
 3578// This prototype is deprecated.
 3579static inline __ATTRS_o_ai int
 3580vec_all_ge(__vector __bool char __a, __vector __bool char __b) {
 3581  int __cc;
 3582  __builtin_s390_vchlbs((__vector unsigned char)__b,
 3583                        (__vector unsigned char)__a, &__cc);
 3584  return __cc == 3;
 3585}
 3586
 3587static inline __ATTRS_o_ai int
 3588vec_all_ge(__vector signed short __a, __vector signed short __b) {
 3589  int __cc;
 3590  __builtin_s390_vchhs(__b, __a, &__cc);
 3591  return __cc == 3;
 3592}
 3593
 3594// This prototype is deprecated.
 3595static inline __ATTRS_o_ai int
 3596vec_all_ge(__vector signed short __a, __vector __bool short __b) {
 3597  int __cc;
 3598  __builtin_s390_vchhs((__vector signed short)__b, __a, &__cc);
 3599  return __cc == 3;
 3600}
 3601
 3602// This prototype is deprecated.
 3603static inline __ATTRS_o_ai int
 3604vec_all_ge(__vector __bool short __a, __vector signed short __b) {
 3605  int __cc;
 3606  __builtin_s390_vchhs(__b, (__vector signed short)__a, &__cc);
 3607  return __cc == 3;
 3608}
 3609
 3610static inline __ATTRS_o_ai int
 3611vec_all_ge(__vector unsigned short __a, __vector unsigned short __b) {
 3612  int __cc;
 3613  __builtin_s390_vchlhs(__b, __a, &__cc);
 3614  return __cc == 3;
 3615}
 3616
 3617// This prototype is deprecated.
 3618static inline __ATTRS_o_ai int
 3619vec_all_ge(__vector unsigned short __a, __vector __bool short __b) {
 3620  int __cc;
 3621  __builtin_s390_vchlhs((__vector unsigned short)__b, __a, &__cc);
 3622  return __cc == 3;
 3623}
 3624
 3625// This prototype is deprecated.
 3626static inline __ATTRS_o_ai int
 3627vec_all_ge(__vector __bool short __a, __vector unsigned short __b) {
 3628  int __cc;
 3629  __builtin_s390_vchlhs(__b, (__vector unsigned short)__a, &__cc);
 3630  return __cc == 3;
 3631}
 3632
 3633// This prototype is deprecated.
 3634static inline __ATTRS_o_ai int
 3635vec_all_ge(__vector __bool short __a, __vector __bool short __b) {
 3636  int __cc;
 3637  __builtin_s390_vchlhs((__vector unsigned short)__b,
 3638                        (__vector unsigned short)__a, &__cc);
 3639  return __cc == 3;
 3640}
 3641
 3642static inline __ATTRS_o_ai int
 3643vec_all_ge(__vector signed int __a, __vector signed int __b) {
 3644  int __cc;
 3645  __builtin_s390_vchfs(__b, __a, &__cc);
 3646  return __cc == 3;
 3647}
 3648
 3649// This prototype is deprecated.
 3650static inline __ATTRS_o_ai int
 3651vec_all_ge(__vector signed int __a, __vector __bool int __b) {
 3652  int __cc;
 3653  __builtin_s390_vchfs((__vector signed int)__b, __a, &__cc);
 3654  return __cc == 3;
 3655}
 3656
 3657// This prototype is deprecated.
 3658static inline __ATTRS_o_ai int
 3659vec_all_ge(__vector __bool int __a, __vector signed int __b) {
 3660  int __cc;
 3661  __builtin_s390_vchfs(__b, (__vector signed int)__a, &__cc);
 3662  return __cc == 3;
 3663}
 3664
 3665static inline __ATTRS_o_ai int
 3666vec_all_ge(__vector unsigned int __a, __vector unsigned int __b) {
 3667  int __cc;
 3668  __builtin_s390_vchlfs(__b, __a, &__cc);
 3669  return __cc == 3;
 3670}
 3671
 3672// This prototype is deprecated.
 3673static inline __ATTRS_o_ai int
 3674vec_all_ge(__vector unsigned int __a, __vector __bool int __b) {
 3675  int __cc;
 3676  __builtin_s390_vchlfs((__vector unsigned int)__b, __a, &__cc);
 3677  return __cc == 3;
 3678}
 3679
 3680// This prototype is deprecated.
 3681static inline __ATTRS_o_ai int
 3682vec_all_ge(__vector __bool int __a, __vector unsigned int __b) {
 3683  int __cc;
 3684  __builtin_s390_vchlfs(__b, (__vector unsigned int)__a, &__cc);
 3685  return __cc == 3;
 3686}
 3687
 3688// This prototype is deprecated.
 3689static inline __ATTRS_o_ai int
 3690vec_all_ge(__vector __bool int __a, __vector __bool int __b) {
 3691  int __cc;
 3692  __builtin_s390_vchlfs((__vector unsigned int)__b,
 3693                        (__vector unsigned int)__a, &__cc);
 3694  return __cc == 3;
 3695}
 3696
 3697static inline __ATTRS_o_ai int
 3698vec_all_ge(__vector signed long long __a, __vector signed long long __b) {
 3699  int __cc;
 3700  __builtin_s390_vchgs(__b, __a, &__cc);
 3701  return __cc == 3;
 3702}
 3703
 3704// This prototype is deprecated.
 3705static inline __ATTRS_o_ai int
 3706vec_all_ge(__vector signed long long __a, __vector __bool long long __b) {
 3707  int __cc;
 3708  __builtin_s390_vchgs((__vector signed long long)__b, __a, &__cc);
 3709  return __cc == 3;
 3710}
 3711
 3712// This prototype is deprecated.
 3713static inline __ATTRS_o_ai int
 3714vec_all_ge(__vector __bool long long __a, __vector signed long long __b) {
 3715  int __cc;
 3716  __builtin_s390_vchgs(__b, (__vector signed long long)__a, &__cc);
 3717  return __cc == 3;
 3718}
 3719
 3720static inline __ATTRS_o_ai int
 3721vec_all_ge(__vector unsigned long long __a, __vector unsigned long long __b) {
 3722  int __cc;
 3723  __builtin_s390_vchlgs(__b, __a, &__cc);
 3724  return __cc == 3;
 3725}
 3726
 3727// This prototype is deprecated.
 3728static inline __ATTRS_o_ai int
 3729vec_all_ge(__vector unsigned long long __a, __vector __bool long long __b) {
 3730  int __cc;
 3731  __builtin_s390_vchlgs((__vector unsigned long long)__b, __a, &__cc);
 3732  return __cc == 3;
 3733}
 3734
 3735// This prototype is deprecated.
 3736static inline __ATTRS_o_ai int
 3737vec_all_ge(__vector __bool long long __a, __vector unsigned long long __b) {
 3738  int __cc;
 3739  __builtin_s390_vchlgs(__b, (__vector unsigned long long)__a, &__cc);
 3740  return __cc == 3;
 3741}
 3742
 3743// This prototype is deprecated.
 3744static inline __ATTRS_o_ai int
 3745vec_all_ge(__vector __bool long long __a, __vector __bool long long __b) {
 3746  int __cc;
 3747  __builtin_s390_vchlgs((__vector unsigned long long)__b,
 3748                        (__vector unsigned long long)__a, &__cc);
 3749  return __cc == 3;
 3750}
 3751
 3752#if __ARCH__ >= 15
 3753static inline __ATTRS_o_ai int
 3754vec_all_ge(__vector signed __int128 __a, __vector signed __int128 __b) {
 3755  int __cc;
 3756  __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);
 3757  return __cc == 3;
 3758}
 3759
 3760static inline __ATTRS_o_ai int
 3761vec_all_ge(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 3762  int __cc;
 3763  __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);
 3764  return __cc == 3;
 3765}
 3766#endif
 3767
 3768#if __ARCH__ >= 12
 3769static inline __ATTRS_o_ai int
 3770vec_all_ge(__vector float __a, __vector float __b) {
 3771  int __cc;
 3772  __builtin_s390_vfchesbs(__a, __b, &__cc);
 3773  return __cc == 0;
 3774}
 3775#endif
 3776
 3777static inline __ATTRS_o_ai int
 3778vec_all_ge(__vector double __a, __vector double __b) {
 3779  int __cc;
 3780  __builtin_s390_vfchedbs(__a, __b, &__cc);
 3781  return __cc == 0;
 3782}
 3783
 3784/*-- vec_all_gt -------------------------------------------------------------*/
 3785
 3786static inline __ATTRS_o_ai int
 3787vec_all_gt(__vector signed char __a, __vector signed char __b) {
 3788  int __cc;
 3789  __builtin_s390_vchbs(__a, __b, &__cc);
 3790  return __cc == 0;
 3791}
 3792
 3793// This prototype is deprecated.
 3794static inline __ATTRS_o_ai int
 3795vec_all_gt(__vector signed char __a, __vector __bool char __b) {
 3796  int __cc;
 3797  __builtin_s390_vchbs(__a, (__vector signed char)__b, &__cc);
 3798  return __cc == 0;
 3799}
 3800
 3801// This prototype is deprecated.
 3802static inline __ATTRS_o_ai int
 3803vec_all_gt(__vector __bool char __a, __vector signed char __b) {
 3804  int __cc;
 3805  __builtin_s390_vchbs((__vector signed char)__a, __b, &__cc);
 3806  return __cc == 0;
 3807}
 3808
 3809static inline __ATTRS_o_ai int
 3810vec_all_gt(__vector unsigned char __a, __vector unsigned char __b) {
 3811  int __cc;
 3812  __builtin_s390_vchlbs(__a, __b, &__cc);
 3813  return __cc == 0;
 3814}
 3815
 3816// This prototype is deprecated.
 3817static inline __ATTRS_o_ai int
 3818vec_all_gt(__vector unsigned char __a, __vector __bool char __b) {
 3819  int __cc;
 3820  __builtin_s390_vchlbs(__a, (__vector unsigned char)__b, &__cc);
 3821  return __cc == 0;
 3822}
 3823
 3824// This prototype is deprecated.
 3825static inline __ATTRS_o_ai int
 3826vec_all_gt(__vector __bool char __a, __vector unsigned char __b) {
 3827  int __cc;
 3828  __builtin_s390_vchlbs((__vector unsigned char)__a, __b, &__cc);
 3829  return __cc == 0;
 3830}
 3831
 3832// This prototype is deprecated.
 3833static inline __ATTRS_o_ai int
 3834vec_all_gt(__vector __bool char __a, __vector __bool char __b) {
 3835  int __cc;
 3836  __builtin_s390_vchlbs((__vector unsigned char)__a,
 3837                        (__vector unsigned char)__b, &__cc);
 3838  return __cc == 0;
 3839}
 3840
 3841static inline __ATTRS_o_ai int
 3842vec_all_gt(__vector signed short __a, __vector signed short __b) {
 3843  int __cc;
 3844  __builtin_s390_vchhs(__a, __b, &__cc);
 3845  return __cc == 0;
 3846}
 3847
 3848// This prototype is deprecated.
 3849static inline __ATTRS_o_ai int
 3850vec_all_gt(__vector signed short __a, __vector __bool short __b) {
 3851  int __cc;
 3852  __builtin_s390_vchhs(__a, (__vector signed short)__b, &__cc);
 3853  return __cc == 0;
 3854}
 3855
 3856// This prototype is deprecated.
 3857static inline __ATTRS_o_ai int
 3858vec_all_gt(__vector __bool short __a, __vector signed short __b) {
 3859  int __cc;
 3860  __builtin_s390_vchhs((__vector signed short)__a, __b, &__cc);
 3861  return __cc == 0;
 3862}
 3863
 3864static inline __ATTRS_o_ai int
 3865vec_all_gt(__vector unsigned short __a, __vector unsigned short __b) {
 3866  int __cc;
 3867  __builtin_s390_vchlhs(__a, __b, &__cc);
 3868  return __cc == 0;
 3869}
 3870
 3871// This prototype is deprecated.
 3872static inline __ATTRS_o_ai int
 3873vec_all_gt(__vector unsigned short __a, __vector __bool short __b) {
 3874  int __cc;
 3875  __builtin_s390_vchlhs(__a, (__vector unsigned short)__b, &__cc);
 3876  return __cc == 0;
 3877}
 3878
 3879// This prototype is deprecated.
 3880static inline __ATTRS_o_ai int
 3881vec_all_gt(__vector __bool short __a, __vector unsigned short __b) {
 3882  int __cc;
 3883  __builtin_s390_vchlhs((__vector unsigned short)__a, __b, &__cc);
 3884  return __cc == 0;
 3885}
 3886
 3887// This prototype is deprecated.
 3888static inline __ATTRS_o_ai int
 3889vec_all_gt(__vector __bool short __a, __vector __bool short __b) {
 3890  int __cc;
 3891  __builtin_s390_vchlhs((__vector unsigned short)__a,
 3892                        (__vector unsigned short)__b, &__cc);
 3893  return __cc == 0;
 3894}
 3895
 3896static inline __ATTRS_o_ai int
 3897vec_all_gt(__vector signed int __a, __vector signed int __b) {
 3898  int __cc;
 3899  __builtin_s390_vchfs(__a, __b, &__cc);
 3900  return __cc == 0;
 3901}
 3902
 3903// This prototype is deprecated.
 3904static inline __ATTRS_o_ai int
 3905vec_all_gt(__vector signed int __a, __vector __bool int __b) {
 3906  int __cc;
 3907  __builtin_s390_vchfs(__a, (__vector signed int)__b, &__cc);
 3908  return __cc == 0;
 3909}
 3910
 3911// This prototype is deprecated.
 3912static inline __ATTRS_o_ai int
 3913vec_all_gt(__vector __bool int __a, __vector signed int __b) {
 3914  int __cc;
 3915  __builtin_s390_vchfs((__vector signed int)__a, __b, &__cc);
 3916  return __cc == 0;
 3917}
 3918
 3919static inline __ATTRS_o_ai int
 3920vec_all_gt(__vector unsigned int __a, __vector unsigned int __b) {
 3921  int __cc;
 3922  __builtin_s390_vchlfs(__a, __b, &__cc);
 3923  return __cc == 0;
 3924}
 3925
 3926// This prototype is deprecated.
 3927static inline __ATTRS_o_ai int
 3928vec_all_gt(__vector unsigned int __a, __vector __bool int __b) {
 3929  int __cc;
 3930  __builtin_s390_vchlfs(__a, (__vector unsigned int)__b, &__cc);
 3931  return __cc == 0;
 3932}
 3933
 3934// This prototype is deprecated.
 3935static inline __ATTRS_o_ai int
 3936vec_all_gt(__vector __bool int __a, __vector unsigned int __b) {
 3937  int __cc;
 3938  __builtin_s390_vchlfs((__vector unsigned int)__a, __b, &__cc);
 3939  return __cc == 0;
 3940}
 3941
 3942// This prototype is deprecated.
 3943static inline __ATTRS_o_ai int
 3944vec_all_gt(__vector __bool int __a, __vector __bool int __b) {
 3945  int __cc;
 3946  __builtin_s390_vchlfs((__vector unsigned int)__a,
 3947                        (__vector unsigned int)__b, &__cc);
 3948  return __cc == 0;
 3949}
 3950
 3951static inline __ATTRS_o_ai int
 3952vec_all_gt(__vector signed long long __a, __vector signed long long __b) {
 3953  int __cc;
 3954  __builtin_s390_vchgs(__a, __b, &__cc);
 3955  return __cc == 0;
 3956}
 3957
 3958// This prototype is deprecated.
 3959static inline __ATTRS_o_ai int
 3960vec_all_gt(__vector signed long long __a, __vector __bool long long __b) {
 3961  int __cc;
 3962  __builtin_s390_vchgs(__a, (__vector signed long long)__b, &__cc);
 3963  return __cc == 0;
 3964}
 3965
 3966// This prototype is deprecated.
 3967static inline __ATTRS_o_ai int
 3968vec_all_gt(__vector __bool long long __a, __vector signed long long __b) {
 3969  int __cc;
 3970  __builtin_s390_vchgs((__vector signed long long)__a, __b, &__cc);
 3971  return __cc == 0;
 3972}
 3973
 3974static inline __ATTRS_o_ai int
 3975vec_all_gt(__vector unsigned long long __a, __vector unsigned long long __b) {
 3976  int __cc;
 3977  __builtin_s390_vchlgs(__a, __b, &__cc);
 3978  return __cc == 0;
 3979}
 3980
 3981// This prototype is deprecated.
 3982static inline __ATTRS_o_ai int
 3983vec_all_gt(__vector unsigned long long __a, __vector __bool long long __b) {
 3984  int __cc;
 3985  __builtin_s390_vchlgs(__a, (__vector unsigned long long)__b, &__cc);
 3986  return __cc == 0;
 3987}
 3988
 3989// This prototype is deprecated.
 3990static inline __ATTRS_o_ai int
 3991vec_all_gt(__vector __bool long long __a, __vector unsigned long long __b) {
 3992  int __cc;
 3993  __builtin_s390_vchlgs((__vector unsigned long long)__a, __b, &__cc);
 3994  return __cc == 0;
 3995}
 3996
 3997// This prototype is deprecated.
 3998static inline __ATTRS_o_ai int
 3999vec_all_gt(__vector __bool long long __a, __vector __bool long long __b) {
 4000  int __cc;
 4001  __builtin_s390_vchlgs((__vector unsigned long long)__a,
 4002                        (__vector unsigned long long)__b, &__cc);
 4003  return __cc == 0;
 4004}
 4005
 4006#if __ARCH__ >= 15
 4007static inline __ATTRS_o_ai int
 4008vec_all_gt(__vector signed __int128 __a, __vector signed __int128 __b) {
 4009  int __cc;
 4010  __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);
 4011  return __cc == 0;
 4012}
 4013
 4014static inline __ATTRS_o_ai int
 4015vec_all_gt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 4016  int __cc;
 4017  __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 4018  return __cc == 0;
 4019}
 4020#endif
 4021
 4022#if __ARCH__ >= 12
 4023static inline __ATTRS_o_ai int
 4024vec_all_gt(__vector float __a, __vector float __b) {
 4025  int __cc;
 4026  __builtin_s390_vfchsbs(__a, __b, &__cc);
 4027  return __cc == 0;
 4028}
 4029#endif
 4030
 4031static inline __ATTRS_o_ai int
 4032vec_all_gt(__vector double __a, __vector double __b) {
 4033  int __cc;
 4034  __builtin_s390_vfchdbs(__a, __b, &__cc);
 4035  return __cc == 0;
 4036}
 4037
 4038/*-- vec_all_le -------------------------------------------------------------*/
 4039
 4040static inline __ATTRS_o_ai int
 4041vec_all_le(__vector signed char __a, __vector signed char __b) {
 4042  int __cc;
 4043  __builtin_s390_vchbs(__a, __b, &__cc);
 4044  return __cc == 3;
 4045}
 4046
 4047// This prototype is deprecated.
 4048static inline __ATTRS_o_ai int
 4049vec_all_le(__vector signed char __a, __vector __bool char __b) {
 4050  int __cc;
 4051  __builtin_s390_vchbs(__a, (__vector signed char)__b, &__cc);
 4052  return __cc == 3;
 4053}
 4054
 4055// This prototype is deprecated.
 4056static inline __ATTRS_o_ai int
 4057vec_all_le(__vector __bool char __a, __vector signed char __b) {
 4058  int __cc;
 4059  __builtin_s390_vchbs((__vector signed char)__a, __b, &__cc);
 4060  return __cc == 3;
 4061}
 4062
 4063static inline __ATTRS_o_ai int
 4064vec_all_le(__vector unsigned char __a, __vector unsigned char __b) {
 4065  int __cc;
 4066  __builtin_s390_vchlbs(__a, __b, &__cc);
 4067  return __cc == 3;
 4068}
 4069
 4070// This prototype is deprecated.
 4071static inline __ATTRS_o_ai int
 4072vec_all_le(__vector unsigned char __a, __vector __bool char __b) {
 4073  int __cc;
 4074  __builtin_s390_vchlbs(__a, (__vector unsigned char)__b, &__cc);
 4075  return __cc == 3;
 4076}
 4077
 4078// This prototype is deprecated.
 4079static inline __ATTRS_o_ai int
 4080vec_all_le(__vector __bool char __a, __vector unsigned char __b) {
 4081  int __cc;
 4082  __builtin_s390_vchlbs((__vector unsigned char)__a, __b, &__cc);
 4083  return __cc == 3;
 4084}
 4085
 4086// This prototype is deprecated.
 4087static inline __ATTRS_o_ai int
 4088vec_all_le(__vector __bool char __a, __vector __bool char __b) {
 4089  int __cc;
 4090  __builtin_s390_vchlbs((__vector unsigned char)__a,
 4091                        (__vector unsigned char)__b, &__cc);
 4092  return __cc == 3;
 4093}
 4094
 4095static inline __ATTRS_o_ai int
 4096vec_all_le(__vector signed short __a, __vector signed short __b) {
 4097  int __cc;
 4098  __builtin_s390_vchhs(__a, __b, &__cc);
 4099  return __cc == 3;
 4100}
 4101
 4102// This prototype is deprecated.
 4103static inline __ATTRS_o_ai int
 4104vec_all_le(__vector signed short __a, __vector __bool short __b) {
 4105  int __cc;
 4106  __builtin_s390_vchhs(__a, (__vector signed short)__b, &__cc);
 4107  return __cc == 3;
 4108}
 4109
 4110// This prototype is deprecated.
 4111static inline __ATTRS_o_ai int
 4112vec_all_le(__vector __bool short __a, __vector signed short __b) {
 4113  int __cc;
 4114  __builtin_s390_vchhs((__vector signed short)__a, __b, &__cc);
 4115  return __cc == 3;
 4116}
 4117
 4118static inline __ATTRS_o_ai int
 4119vec_all_le(__vector unsigned short __a, __vector unsigned short __b) {
 4120  int __cc;
 4121  __builtin_s390_vchlhs(__a, __b, &__cc);
 4122  return __cc == 3;
 4123}
 4124
 4125// This prototype is deprecated.
 4126static inline __ATTRS_o_ai int
 4127vec_all_le(__vector unsigned short __a, __vector __bool short __b) {
 4128  int __cc;
 4129  __builtin_s390_vchlhs(__a, (__vector unsigned short)__b, &__cc);
 4130  return __cc == 3;
 4131}
 4132
 4133// This prototype is deprecated.
 4134static inline __ATTRS_o_ai int
 4135vec_all_le(__vector __bool short __a, __vector unsigned short __b) {
 4136  int __cc;
 4137  __builtin_s390_vchlhs((__vector unsigned short)__a, __b, &__cc);
 4138  return __cc == 3;
 4139}
 4140
 4141// This prototype is deprecated.
 4142static inline __ATTRS_o_ai int
 4143vec_all_le(__vector __bool short __a, __vector __bool short __b) {
 4144  int __cc;
 4145  __builtin_s390_vchlhs((__vector unsigned short)__a,
 4146                        (__vector unsigned short)__b, &__cc);
 4147  return __cc == 3;
 4148}
 4149
 4150static inline __ATTRS_o_ai int
 4151vec_all_le(__vector signed int __a, __vector signed int __b) {
 4152  int __cc;
 4153  __builtin_s390_vchfs(__a, __b, &__cc);
 4154  return __cc == 3;
 4155}
 4156
 4157// This prototype is deprecated.
 4158static inline __ATTRS_o_ai int
 4159vec_all_le(__vector signed int __a, __vector __bool int __b) {
 4160  int __cc;
 4161  __builtin_s390_vchfs(__a, (__vector signed int)__b, &__cc);
 4162  return __cc == 3;
 4163}
 4164
 4165// This prototype is deprecated.
 4166static inline __ATTRS_o_ai int
 4167vec_all_le(__vector __bool int __a, __vector signed int __b) {
 4168  int __cc;
 4169  __builtin_s390_vchfs((__vector signed int)__a, __b, &__cc);
 4170  return __cc == 3;
 4171}
 4172
 4173static inline __ATTRS_o_ai int
 4174vec_all_le(__vector unsigned int __a, __vector unsigned int __b) {
 4175  int __cc;
 4176  __builtin_s390_vchlfs(__a, __b, &__cc);
 4177  return __cc == 3;
 4178}
 4179
 4180// This prototype is deprecated.
 4181static inline __ATTRS_o_ai int
 4182vec_all_le(__vector unsigned int __a, __vector __bool int __b) {
 4183  int __cc;
 4184  __builtin_s390_vchlfs(__a, (__vector unsigned int)__b, &__cc);
 4185  return __cc == 3;
 4186}
 4187
 4188// This prototype is deprecated.
 4189static inline __ATTRS_o_ai int
 4190vec_all_le(__vector __bool int __a, __vector unsigned int __b) {
 4191  int __cc;
 4192  __builtin_s390_vchlfs((__vector unsigned int)__a, __b, &__cc);
 4193  return __cc == 3;
 4194}
 4195
 4196// This prototype is deprecated.
 4197static inline __ATTRS_o_ai int
 4198vec_all_le(__vector __bool int __a, __vector __bool int __b) {
 4199  int __cc;
 4200  __builtin_s390_vchlfs((__vector unsigned int)__a,
 4201                        (__vector unsigned int)__b, &__cc);
 4202  return __cc == 3;
 4203}
 4204
 4205static inline __ATTRS_o_ai int
 4206vec_all_le(__vector signed long long __a, __vector signed long long __b) {
 4207  int __cc;
 4208  __builtin_s390_vchgs(__a, __b, &__cc);
 4209  return __cc == 3;
 4210}
 4211
 4212// This prototype is deprecated.
 4213static inline __ATTRS_o_ai int
 4214vec_all_le(__vector signed long long __a, __vector __bool long long __b) {
 4215  int __cc;
 4216  __builtin_s390_vchgs(__a, (__vector signed long long)__b, &__cc);
 4217  return __cc == 3;
 4218}
 4219
 4220// This prototype is deprecated.
 4221static inline __ATTRS_o_ai int
 4222vec_all_le(__vector __bool long long __a, __vector signed long long __b) {
 4223  int __cc;
 4224  __builtin_s390_vchgs((__vector signed long long)__a, __b, &__cc);
 4225  return __cc == 3;
 4226}
 4227
 4228static inline __ATTRS_o_ai int
 4229vec_all_le(__vector unsigned long long __a, __vector unsigned long long __b) {
 4230  int __cc;
 4231  __builtin_s390_vchlgs(__a, __b, &__cc);
 4232  return __cc == 3;
 4233}
 4234
 4235// This prototype is deprecated.
 4236static inline __ATTRS_o_ai int
 4237vec_all_le(__vector unsigned long long __a, __vector __bool long long __b) {
 4238  int __cc;
 4239  __builtin_s390_vchlgs(__a, (__vector unsigned long long)__b, &__cc);
 4240  return __cc == 3;
 4241}
 4242
 4243// This prototype is deprecated.
 4244static inline __ATTRS_o_ai int
 4245vec_all_le(__vector __bool long long __a, __vector unsigned long long __b) {
 4246  int __cc;
 4247  __builtin_s390_vchlgs((__vector unsigned long long)__a, __b, &__cc);
 4248  return __cc == 3;
 4249}
 4250
 4251// This prototype is deprecated.
 4252static inline __ATTRS_o_ai int
 4253vec_all_le(__vector __bool long long __a, __vector __bool long long __b) {
 4254  int __cc;
 4255  __builtin_s390_vchlgs((__vector unsigned long long)__a,
 4256                        (__vector unsigned long long)__b, &__cc);
 4257  return __cc == 3;
 4258}
 4259
 4260#if __ARCH__ >= 15
 4261static inline __ATTRS_o_ai int
 4262vec_all_le(__vector signed __int128 __a, __vector signed __int128 __b) {
 4263  int __cc;
 4264  __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);
 4265  return __cc == 3;
 4266}
 4267
 4268static inline __ATTRS_o_ai int
 4269vec_all_le(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 4270  int __cc;
 4271  __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 4272  return __cc == 3;
 4273}
 4274#endif
 4275
 4276#if __ARCH__ >= 12
 4277static inline __ATTRS_o_ai int
 4278vec_all_le(__vector float __a, __vector float __b) {
 4279  int __cc;
 4280  __builtin_s390_vfchesbs(__b, __a, &__cc);
 4281  return __cc == 0;
 4282}
 4283#endif
 4284
 4285static inline __ATTRS_o_ai int
 4286vec_all_le(__vector double __a, __vector double __b) {
 4287  int __cc;
 4288  __builtin_s390_vfchedbs(__b, __a, &__cc);
 4289  return __cc == 0;
 4290}
 4291
 4292/*-- vec_all_lt -------------------------------------------------------------*/
 4293
 4294static inline __ATTRS_o_ai int
 4295vec_all_lt(__vector signed char __a, __vector signed char __b) {
 4296  int __cc;
 4297  __builtin_s390_vchbs(__b, __a, &__cc);
 4298  return __cc == 0;
 4299}
 4300
 4301// This prototype is deprecated.
 4302static inline __ATTRS_o_ai int
 4303vec_all_lt(__vector signed char __a, __vector __bool char __b) {
 4304  int __cc;
 4305  __builtin_s390_vchbs((__vector signed char)__b, __a, &__cc);
 4306  return __cc == 0;
 4307}
 4308
 4309// This prototype is deprecated.
 4310static inline __ATTRS_o_ai int
 4311vec_all_lt(__vector __bool char __a, __vector signed char __b) {
 4312  int __cc;
 4313  __builtin_s390_vchbs(__b, (__vector signed char)__a, &__cc);
 4314  return __cc == 0;
 4315}
 4316
 4317static inline __ATTRS_o_ai int
 4318vec_all_lt(__vector unsigned char __a, __vector unsigned char __b) {
 4319  int __cc;
 4320  __builtin_s390_vchlbs(__b, __a, &__cc);
 4321  return __cc == 0;
 4322}
 4323
 4324// This prototype is deprecated.
 4325static inline __ATTRS_o_ai int
 4326vec_all_lt(__vector unsigned char __a, __vector __bool char __b) {
 4327  int __cc;
 4328  __builtin_s390_vchlbs((__vector unsigned char)__b, __a, &__cc);
 4329  return __cc == 0;
 4330}
 4331
 4332// This prototype is deprecated.
 4333static inline __ATTRS_o_ai int
 4334vec_all_lt(__vector __bool char __a, __vector unsigned char __b) {
 4335  int __cc;
 4336  __builtin_s390_vchlbs(__b, (__vector unsigned char)__a, &__cc);
 4337  return __cc == 0;
 4338}
 4339
 4340// This prototype is deprecated.
 4341static inline __ATTRS_o_ai int
 4342vec_all_lt(__vector __bool char __a, __vector __bool char __b) {
 4343  int __cc;
 4344  __builtin_s390_vchlbs((__vector unsigned char)__b,
 4345                        (__vector unsigned char)__a, &__cc);
 4346  return __cc == 0;
 4347}
 4348
 4349static inline __ATTRS_o_ai int
 4350vec_all_lt(__vector signed short __a, __vector signed short __b) {
 4351  int __cc;
 4352  __builtin_s390_vchhs(__b, __a, &__cc);
 4353  return __cc == 0;
 4354}
 4355
 4356// This prototype is deprecated.
 4357static inline __ATTRS_o_ai int
 4358vec_all_lt(__vector signed short __a, __vector __bool short __b) {
 4359  int __cc;
 4360  __builtin_s390_vchhs((__vector signed short)__b, __a, &__cc);
 4361  return __cc == 0;
 4362}
 4363
 4364// This prototype is deprecated.
 4365static inline __ATTRS_o_ai int
 4366vec_all_lt(__vector __bool short __a, __vector signed short __b) {
 4367  int __cc;
 4368  __builtin_s390_vchhs(__b, (__vector signed short)__a, &__cc);
 4369  return __cc == 0;
 4370}
 4371
 4372static inline __ATTRS_o_ai int
 4373vec_all_lt(__vector unsigned short __a, __vector unsigned short __b) {
 4374  int __cc;
 4375  __builtin_s390_vchlhs(__b, __a, &__cc);
 4376  return __cc == 0;
 4377}
 4378
 4379// This prototype is deprecated.
 4380static inline __ATTRS_o_ai int
 4381vec_all_lt(__vector unsigned short __a, __vector __bool short __b) {
 4382  int __cc;
 4383  __builtin_s390_vchlhs((__vector unsigned short)__b, __a, &__cc);
 4384  return __cc == 0;
 4385}
 4386
 4387// This prototype is deprecated.
 4388static inline __ATTRS_o_ai int
 4389vec_all_lt(__vector __bool short __a, __vector unsigned short __b) {
 4390  int __cc;
 4391  __builtin_s390_vchlhs(__b, (__vector unsigned short)__a, &__cc);
 4392  return __cc == 0;
 4393}
 4394
 4395// This prototype is deprecated.
 4396static inline __ATTRS_o_ai int
 4397vec_all_lt(__vector __bool short __a, __vector __bool short __b) {
 4398  int __cc;
 4399  __builtin_s390_vchlhs((__vector unsigned short)__b,
 4400                        (__vector unsigned short)__a, &__cc);
 4401  return __cc == 0;
 4402}
 4403
 4404static inline __ATTRS_o_ai int
 4405vec_all_lt(__vector signed int __a, __vector signed int __b) {
 4406  int __cc;
 4407  __builtin_s390_vchfs(__b, __a, &__cc);
 4408  return __cc == 0;
 4409}
 4410
 4411// This prototype is deprecated.
 4412static inline __ATTRS_o_ai int
 4413vec_all_lt(__vector signed int __a, __vector __bool int __b) {
 4414  int __cc;
 4415  __builtin_s390_vchfs((__vector signed int)__b, __a, &__cc);
 4416  return __cc == 0;
 4417}
 4418
 4419// This prototype is deprecated.
 4420static inline __ATTRS_o_ai int
 4421vec_all_lt(__vector __bool int __a, __vector signed int __b) {
 4422  int __cc;
 4423  __builtin_s390_vchfs(__b, (__vector signed int)__a, &__cc);
 4424  return __cc == 0;
 4425}
 4426
 4427static inline __ATTRS_o_ai int
 4428vec_all_lt(__vector unsigned int __a, __vector unsigned int __b) {
 4429  int __cc;
 4430  __builtin_s390_vchlfs(__b, __a, &__cc);
 4431  return __cc == 0;
 4432}
 4433
 4434// This prototype is deprecated.
 4435static inline __ATTRS_o_ai int
 4436vec_all_lt(__vector unsigned int __a, __vector __bool int __b) {
 4437  int __cc;
 4438  __builtin_s390_vchlfs((__vector unsigned int)__b, __a, &__cc);
 4439  return __cc == 0;
 4440}
 4441
 4442// This prototype is deprecated.
 4443static inline __ATTRS_o_ai int
 4444vec_all_lt(__vector __bool int __a, __vector unsigned int __b) {
 4445  int __cc;
 4446  __builtin_s390_vchlfs(__b, (__vector unsigned int)__a, &__cc);
 4447  return __cc == 0;
 4448}
 4449
 4450// This prototype is deprecated.
 4451static inline __ATTRS_o_ai int
 4452vec_all_lt(__vector __bool int __a, __vector __bool int __b) {
 4453  int __cc;
 4454  __builtin_s390_vchlfs((__vector unsigned int)__b,
 4455                        (__vector unsigned int)__a, &__cc);
 4456  return __cc == 0;
 4457}
 4458
 4459static inline __ATTRS_o_ai int
 4460vec_all_lt(__vector signed long long __a, __vector signed long long __b) {
 4461  int __cc;
 4462  __builtin_s390_vchgs(__b, __a, &__cc);
 4463  return __cc == 0;
 4464}
 4465
 4466// This prototype is deprecated.
 4467static inline __ATTRS_o_ai int
 4468vec_all_lt(__vector signed long long __a, __vector __bool long long __b) {
 4469  int __cc;
 4470  __builtin_s390_vchgs((__vector signed long long)__b, __a, &__cc);
 4471  return __cc == 0;
 4472}
 4473
 4474// This prototype is deprecated.
 4475static inline __ATTRS_o_ai int
 4476vec_all_lt(__vector __bool long long __a, __vector signed long long __b) {
 4477  int __cc;
 4478  __builtin_s390_vchgs(__b, (__vector signed long long)__a, &__cc);
 4479  return __cc == 0;
 4480}
 4481
 4482static inline __ATTRS_o_ai int
 4483vec_all_lt(__vector unsigned long long __a, __vector unsigned long long __b) {
 4484  int __cc;
 4485  __builtin_s390_vchlgs(__b, __a, &__cc);
 4486  return __cc == 0;
 4487}
 4488
 4489// This prototype is deprecated.
 4490static inline __ATTRS_o_ai int
 4491vec_all_lt(__vector unsigned long long __a, __vector __bool long long __b) {
 4492  int __cc;
 4493  __builtin_s390_vchlgs((__vector unsigned long long)__b, __a, &__cc);
 4494  return __cc == 0;
 4495}
 4496
 4497// This prototype is deprecated.
 4498static inline __ATTRS_o_ai int
 4499vec_all_lt(__vector __bool long long __a, __vector unsigned long long __b) {
 4500  int __cc;
 4501  __builtin_s390_vchlgs(__b, (__vector unsigned long long)__a, &__cc);
 4502  return __cc == 0;
 4503}
 4504
 4505// This prototype is deprecated.
 4506static inline __ATTRS_o_ai int
 4507vec_all_lt(__vector __bool long long __a, __vector __bool long long __b) {
 4508  int __cc;
 4509  __builtin_s390_vchlgs((__vector unsigned long long)__b,
 4510                        (__vector unsigned long long)__a, &__cc);
 4511  return __cc == 0;
 4512}
 4513
 4514#if __ARCH__ >= 15
 4515static inline __ATTRS_o_ai int
 4516vec_all_lt(__vector signed __int128 __a, __vector signed __int128 __b) {
 4517  int __cc;
 4518  __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);
 4519  return __cc == 0;
 4520}
 4521
 4522static inline __ATTRS_o_ai int
 4523vec_all_lt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 4524  int __cc;
 4525  __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);
 4526  return __cc == 0;
 4527}
 4528#endif
 4529
 4530#if __ARCH__ >= 12
 4531static inline __ATTRS_o_ai int
 4532vec_all_lt(__vector float __a, __vector float __b) {
 4533  int __cc;
 4534  __builtin_s390_vfchsbs(__b, __a, &__cc);
 4535  return __cc == 0;
 4536}
 4537#endif
 4538
 4539static inline __ATTRS_o_ai int
 4540vec_all_lt(__vector double __a, __vector double __b) {
 4541  int __cc;
 4542  __builtin_s390_vfchdbs(__b, __a, &__cc);
 4543  return __cc == 0;
 4544}
 4545
 4546/*-- vec_all_nge ------------------------------------------------------------*/
 4547
 4548#if __ARCH__ >= 12
 4549static inline __ATTRS_o_ai int
 4550vec_all_nge(__vector float __a, __vector float __b) {
 4551  int __cc;
 4552  __builtin_s390_vfchesbs(__a, __b, &__cc);
 4553  return __cc == 3;
 4554}
 4555#endif
 4556
 4557static inline __ATTRS_o_ai int
 4558vec_all_nge(__vector double __a, __vector double __b) {
 4559  int __cc;
 4560  __builtin_s390_vfchedbs(__a, __b, &__cc);
 4561  return __cc == 3;
 4562}
 4563
 4564/*-- vec_all_ngt ------------------------------------------------------------*/
 4565
 4566#if __ARCH__ >= 12
 4567static inline __ATTRS_o_ai int
 4568vec_all_ngt(__vector float __a, __vector float __b) {
 4569  int __cc;
 4570  __builtin_s390_vfchsbs(__a, __b, &__cc);
 4571  return __cc == 3;
 4572}
 4573#endif
 4574
 4575static inline __ATTRS_o_ai int
 4576vec_all_ngt(__vector double __a, __vector double __b) {
 4577  int __cc;
 4578  __builtin_s390_vfchdbs(__a, __b, &__cc);
 4579  return __cc == 3;
 4580}
 4581
 4582/*-- vec_all_nle ------------------------------------------------------------*/
 4583
 4584#if __ARCH__ >= 12
 4585static inline __ATTRS_o_ai int
 4586vec_all_nle(__vector float __a, __vector float __b) {
 4587  int __cc;
 4588  __builtin_s390_vfchesbs(__b, __a, &__cc);
 4589  return __cc == 3;
 4590}
 4591#endif
 4592
 4593static inline __ATTRS_o_ai int
 4594vec_all_nle(__vector double __a, __vector double __b) {
 4595  int __cc;
 4596  __builtin_s390_vfchedbs(__b, __a, &__cc);
 4597  return __cc == 3;
 4598}
 4599
 4600/*-- vec_all_nlt ------------------------------------------------------------*/
 4601
 4602#if __ARCH__ >= 12
 4603static inline __ATTRS_o_ai int
 4604vec_all_nlt(__vector float __a, __vector float __b) {
 4605  int __cc;
 4606  __builtin_s390_vfchsbs(__b, __a, &__cc);
 4607  return __cc == 3;
 4608}
 4609#endif
 4610
 4611static inline __ATTRS_o_ai int
 4612vec_all_nlt(__vector double __a, __vector double __b) {
 4613  int __cc;
 4614  __builtin_s390_vfchdbs(__b, __a, &__cc);
 4615  return __cc == 3;
 4616}
 4617
 4618/*-- vec_all_nan ------------------------------------------------------------*/
 4619
 4620#if __ARCH__ >= 12
 4621static inline __ATTRS_o_ai int
 4622vec_all_nan(__vector float __a) {
 4623  int __cc;
 4624  __builtin_s390_vftcisb(__a, 15, &__cc);
 4625  return __cc == 0;
 4626}
 4627#endif
 4628
 4629static inline __ATTRS_o_ai int
 4630vec_all_nan(__vector double __a) {
 4631  int __cc;
 4632  __builtin_s390_vftcidb(__a, 15, &__cc);
 4633  return __cc == 0;
 4634}
 4635
 4636/*-- vec_all_numeric --------------------------------------------------------*/
 4637
 4638#if __ARCH__ >= 12
 4639static inline __ATTRS_o_ai int
 4640vec_all_numeric(__vector float __a) {
 4641  int __cc;
 4642  __builtin_s390_vftcisb(__a, 15, &__cc);
 4643  return __cc == 3;
 4644}
 4645#endif
 4646
 4647static inline __ATTRS_o_ai int
 4648vec_all_numeric(__vector double __a) {
 4649  int __cc;
 4650  __builtin_s390_vftcidb(__a, 15, &__cc);
 4651  return __cc == 3;
 4652}
 4653
 4654/*-- vec_any_eq -------------------------------------------------------------*/
 4655
 4656static inline __ATTRS_o_ai int
 4657vec_any_eq(__vector signed char __a, __vector signed char __b) {
 4658  int __cc;
 4659  __builtin_s390_vceqbs((__vector unsigned char)__a,
 4660                        (__vector unsigned char)__b, &__cc);
 4661  return __cc <= 1;
 4662}
 4663
 4664// This prototype is deprecated.
 4665static inline __ATTRS_o_ai int
 4666vec_any_eq(__vector signed char __a, __vector __bool char __b) {
 4667  int __cc;
 4668  __builtin_s390_vceqbs((__vector unsigned char)__a,
 4669                        (__vector unsigned char)__b, &__cc);
 4670  return __cc <= 1;
 4671}
 4672
 4673// This prototype is deprecated.
 4674static inline __ATTRS_o_ai int
 4675vec_any_eq(__vector __bool char __a, __vector signed char __b) {
 4676  int __cc;
 4677  __builtin_s390_vceqbs((__vector unsigned char)__a,
 4678                        (__vector unsigned char)__b, &__cc);
 4679  return __cc <= 1;
 4680}
 4681
 4682static inline __ATTRS_o_ai int
 4683vec_any_eq(__vector unsigned char __a, __vector unsigned char __b) {
 4684  int __cc;
 4685  __builtin_s390_vceqbs(__a, __b, &__cc);
 4686  return __cc <= 1;
 4687}
 4688
 4689// This prototype is deprecated.
 4690static inline __ATTRS_o_ai int
 4691vec_any_eq(__vector unsigned char __a, __vector __bool char __b) {
 4692  int __cc;
 4693  __builtin_s390_vceqbs(__a, (__vector unsigned char)__b, &__cc);
 4694  return __cc <= 1;
 4695}
 4696
 4697// This prototype is deprecated.
 4698static inline __ATTRS_o_ai int
 4699vec_any_eq(__vector __bool char __a, __vector unsigned char __b) {
 4700  int __cc;
 4701  __builtin_s390_vceqbs((__vector unsigned char)__a, __b, &__cc);
 4702  return __cc <= 1;
 4703}
 4704
 4705static inline __ATTRS_o_ai int
 4706vec_any_eq(__vector __bool char __a, __vector __bool char __b) {
 4707  int __cc;
 4708  __builtin_s390_vceqbs((__vector unsigned char)__a,
 4709                        (__vector unsigned char)__b, &__cc);
 4710  return __cc <= 1;
 4711}
 4712
 4713static inline __ATTRS_o_ai int
 4714vec_any_eq(__vector signed short __a, __vector signed short __b) {
 4715  int __cc;
 4716  __builtin_s390_vceqhs((__vector unsigned short)__a,
 4717                        (__vector unsigned short)__b, &__cc);
 4718  return __cc <= 1;
 4719}
 4720
 4721// This prototype is deprecated.
 4722static inline __ATTRS_o_ai int
 4723vec_any_eq(__vector signed short __a, __vector __bool short __b) {
 4724  int __cc;
 4725  __builtin_s390_vceqhs((__vector unsigned short)__a,
 4726                        (__vector unsigned short)__b, &__cc);
 4727  return __cc <= 1;
 4728}
 4729
 4730// This prototype is deprecated.
 4731static inline __ATTRS_o_ai int
 4732vec_any_eq(__vector __bool short __a, __vector signed short __b) {
 4733  int __cc;
 4734  __builtin_s390_vceqhs((__vector unsigned short)__a,
 4735                        (__vector unsigned short)__b, &__cc);
 4736  return __cc <= 1;
 4737}
 4738
 4739static inline __ATTRS_o_ai int
 4740vec_any_eq(__vector unsigned short __a, __vector unsigned short __b) {
 4741  int __cc;
 4742  __builtin_s390_vceqhs(__a, __b, &__cc);
 4743  return __cc <= 1;
 4744}
 4745
 4746// This prototype is deprecated.
 4747static inline __ATTRS_o_ai int
 4748vec_any_eq(__vector unsigned short __a, __vector __bool short __b) {
 4749  int __cc;
 4750  __builtin_s390_vceqhs(__a, (__vector unsigned short)__b, &__cc);
 4751  return __cc <= 1;
 4752}
 4753
 4754// This prototype is deprecated.
 4755static inline __ATTRS_o_ai int
 4756vec_any_eq(__vector __bool short __a, __vector unsigned short __b) {
 4757  int __cc;
 4758  __builtin_s390_vceqhs((__vector unsigned short)__a, __b, &__cc);
 4759  return __cc <= 1;
 4760}
 4761
 4762static inline __ATTRS_o_ai int
 4763vec_any_eq(__vector __bool short __a, __vector __bool short __b) {
 4764  int __cc;
 4765  __builtin_s390_vceqhs((__vector unsigned short)__a,
 4766                        (__vector unsigned short)__b, &__cc);
 4767  return __cc <= 1;
 4768}
 4769
 4770static inline __ATTRS_o_ai int
 4771vec_any_eq(__vector signed int __a, __vector signed int __b) {
 4772  int __cc;
 4773  __builtin_s390_vceqfs((__vector unsigned int)__a,
 4774                        (__vector unsigned int)__b, &__cc);
 4775  return __cc <= 1;
 4776}
 4777
 4778// This prototype is deprecated.
 4779static inline __ATTRS_o_ai int
 4780vec_any_eq(__vector signed int __a, __vector __bool int __b) {
 4781  int __cc;
 4782  __builtin_s390_vceqfs((__vector unsigned int)__a,
 4783                        (__vector unsigned int)__b, &__cc);
 4784  return __cc <= 1;
 4785}
 4786
 4787// This prototype is deprecated.
 4788static inline __ATTRS_o_ai int
 4789vec_any_eq(__vector __bool int __a, __vector signed int __b) {
 4790  int __cc;
 4791  __builtin_s390_vceqfs((__vector unsigned int)__a,
 4792                        (__vector unsigned int)__b, &__cc);
 4793  return __cc <= 1;
 4794}
 4795
 4796static inline __ATTRS_o_ai int
 4797vec_any_eq(__vector unsigned int __a, __vector unsigned int __b) {
 4798  int __cc;
 4799  __builtin_s390_vceqfs(__a, __b, &__cc);
 4800  return __cc <= 1;
 4801}
 4802
 4803// This prototype is deprecated.
 4804static inline __ATTRS_o_ai int
 4805vec_any_eq(__vector unsigned int __a, __vector __bool int __b) {
 4806  int __cc;
 4807  __builtin_s390_vceqfs(__a, (__vector unsigned int)__b, &__cc);
 4808  return __cc <= 1;
 4809}
 4810
 4811// This prototype is deprecated.
 4812static inline __ATTRS_o_ai int
 4813vec_any_eq(__vector __bool int __a, __vector unsigned int __b) {
 4814  int __cc;
 4815  __builtin_s390_vceqfs((__vector unsigned int)__a, __b, &__cc);
 4816  return __cc <= 1;
 4817}
 4818
 4819static inline __ATTRS_o_ai int
 4820vec_any_eq(__vector __bool int __a, __vector __bool int __b) {
 4821  int __cc;
 4822  __builtin_s390_vceqfs((__vector unsigned int)__a,
 4823                        (__vector unsigned int)__b, &__cc);
 4824  return __cc <= 1;
 4825}
 4826
 4827static inline __ATTRS_o_ai int
 4828vec_any_eq(__vector signed long long __a, __vector signed long long __b) {
 4829  int __cc;
 4830  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 4831                        (__vector unsigned long long)__b, &__cc);
 4832  return __cc <= 1;
 4833}
 4834
 4835// This prototype is deprecated.
 4836static inline __ATTRS_o_ai int
 4837vec_any_eq(__vector signed long long __a, __vector __bool long long __b) {
 4838  int __cc;
 4839  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 4840                        (__vector unsigned long long)__b, &__cc);
 4841  return __cc <= 1;
 4842}
 4843
 4844// This prototype is deprecated.
 4845static inline __ATTRS_o_ai int
 4846vec_any_eq(__vector __bool long long __a, __vector signed long long __b) {
 4847  int __cc;
 4848  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 4849                        (__vector unsigned long long)__b, &__cc);
 4850  return __cc <= 1;
 4851}
 4852
 4853static inline __ATTRS_o_ai int
 4854vec_any_eq(__vector unsigned long long __a, __vector unsigned long long __b) {
 4855  int __cc;
 4856  __builtin_s390_vceqgs(__a, __b, &__cc);
 4857  return __cc <= 1;
 4858}
 4859
 4860// This prototype is deprecated.
 4861static inline __ATTRS_o_ai int
 4862vec_any_eq(__vector unsigned long long __a, __vector __bool long long __b) {
 4863  int __cc;
 4864  __builtin_s390_vceqgs(__a, (__vector unsigned long long)__b, &__cc);
 4865  return __cc <= 1;
 4866}
 4867
 4868// This prototype is deprecated.
 4869static inline __ATTRS_o_ai int
 4870vec_any_eq(__vector __bool long long __a, __vector unsigned long long __b) {
 4871  int __cc;
 4872  __builtin_s390_vceqgs((__vector unsigned long long)__a, __b, &__cc);
 4873  return __cc <= 1;
 4874}
 4875
 4876static inline __ATTRS_o_ai int
 4877vec_any_eq(__vector __bool long long __a, __vector __bool long long __b) {
 4878  int __cc;
 4879  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 4880                        (__vector unsigned long long)__b, &__cc);
 4881  return __cc <= 1;
 4882}
 4883
 4884#if __ARCH__ >= 15
 4885static inline __ATTRS_o_ai int
 4886vec_any_eq(__vector signed __int128 __a, __vector signed __int128 __b) {
 4887  int __cc;
 4888  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 4889  return __cc <= 1;
 4890}
 4891
 4892static inline __ATTRS_o_ai int
 4893vec_any_eq(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 4894  int __cc;
 4895  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 4896  return __cc <= 1;
 4897}
 4898
 4899static inline __ATTRS_o_ai int
 4900vec_any_eq(__vector __bool __int128 __a, __vector __bool __int128 __b) {
 4901  int __cc;
 4902  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 4903  return __cc <= 1;
 4904}
 4905#endif
 4906
 4907#if __ARCH__ >= 12
 4908static inline __ATTRS_o_ai int
 4909vec_any_eq(__vector float __a, __vector float __b) {
 4910  int __cc;
 4911  __builtin_s390_vfcesbs(__a, __b, &__cc);
 4912  return __cc <= 1;
 4913}
 4914#endif
 4915
 4916static inline __ATTRS_o_ai int
 4917vec_any_eq(__vector double __a, __vector double __b) {
 4918  int __cc;
 4919  __builtin_s390_vfcedbs(__a, __b, &__cc);
 4920  return __cc <= 1;
 4921}
 4922
 4923/*-- vec_any_ne -------------------------------------------------------------*/
 4924
 4925static inline __ATTRS_o_ai int
 4926vec_any_ne(__vector signed char __a, __vector signed char __b) {
 4927  int __cc;
 4928  __builtin_s390_vceqbs((__vector unsigned char)__a,
 4929                        (__vector unsigned char)__b, &__cc);
 4930  return __cc != 0;
 4931}
 4932
 4933// This prototype is deprecated.
 4934static inline __ATTRS_o_ai int
 4935vec_any_ne(__vector signed char __a, __vector __bool char __b) {
 4936  int __cc;
 4937  __builtin_s390_vceqbs((__vector unsigned char)__a,
 4938                        (__vector unsigned char)__b, &__cc);
 4939  return __cc != 0;
 4940}
 4941
 4942// This prototype is deprecated.
 4943static inline __ATTRS_o_ai int
 4944vec_any_ne(__vector __bool char __a, __vector signed char __b) {
 4945  int __cc;
 4946  __builtin_s390_vceqbs((__vector unsigned char)__a,
 4947                        (__vector unsigned char)__b, &__cc);
 4948  return __cc != 0;
 4949}
 4950
 4951static inline __ATTRS_o_ai int
 4952vec_any_ne(__vector unsigned char __a, __vector unsigned char __b) {
 4953  int __cc;
 4954  __builtin_s390_vceqbs(__a, __b, &__cc);
 4955  return __cc != 0;
 4956}
 4957
 4958// This prototype is deprecated.
 4959static inline __ATTRS_o_ai int
 4960vec_any_ne(__vector unsigned char __a, __vector __bool char __b) {
 4961  int __cc;
 4962  __builtin_s390_vceqbs(__a, (__vector unsigned char)__b, &__cc);
 4963  return __cc != 0;
 4964}
 4965
 4966// This prototype is deprecated.
 4967static inline __ATTRS_o_ai int
 4968vec_any_ne(__vector __bool char __a, __vector unsigned char __b) {
 4969  int __cc;
 4970  __builtin_s390_vceqbs((__vector unsigned char)__a, __b, &__cc);
 4971  return __cc != 0;
 4972}
 4973
 4974static inline __ATTRS_o_ai int
 4975vec_any_ne(__vector __bool char __a, __vector __bool char __b) {
 4976  int __cc;
 4977  __builtin_s390_vceqbs((__vector unsigned char)__a,
 4978                        (__vector unsigned char)__b, &__cc);
 4979  return __cc != 0;
 4980}
 4981
 4982static inline __ATTRS_o_ai int
 4983vec_any_ne(__vector signed short __a, __vector signed short __b) {
 4984  int __cc;
 4985  __builtin_s390_vceqhs((__vector unsigned short)__a,
 4986                        (__vector unsigned short)__b, &__cc);
 4987  return __cc != 0;
 4988}
 4989
 4990// This prototype is deprecated.
 4991static inline __ATTRS_o_ai int
 4992vec_any_ne(__vector signed short __a, __vector __bool short __b) {
 4993  int __cc;
 4994  __builtin_s390_vceqhs((__vector unsigned short)__a,
 4995                        (__vector unsigned short)__b, &__cc);
 4996  return __cc != 0;
 4997}
 4998
 4999// This prototype is deprecated.
 5000static inline __ATTRS_o_ai int
 5001vec_any_ne(__vector __bool short __a, __vector signed short __b) {
 5002  int __cc;
 5003  __builtin_s390_vceqhs((__vector unsigned short)__a,
 5004                        (__vector unsigned short)__b, &__cc);
 5005  return __cc != 0;
 5006}
 5007
 5008static inline __ATTRS_o_ai int
 5009vec_any_ne(__vector unsigned short __a, __vector unsigned short __b) {
 5010  int __cc;
 5011  __builtin_s390_vceqhs(__a, __b, &__cc);
 5012  return __cc != 0;
 5013}
 5014
 5015// This prototype is deprecated.
 5016static inline __ATTRS_o_ai int
 5017vec_any_ne(__vector unsigned short __a, __vector __bool short __b) {
 5018  int __cc;
 5019  __builtin_s390_vceqhs(__a, (__vector unsigned short)__b, &__cc);
 5020  return __cc != 0;
 5021}
 5022
 5023// This prototype is deprecated.
 5024static inline __ATTRS_o_ai int
 5025vec_any_ne(__vector __bool short __a, __vector unsigned short __b) {
 5026  int __cc;
 5027  __builtin_s390_vceqhs((__vector unsigned short)__a, __b, &__cc);
 5028  return __cc != 0;
 5029}
 5030
 5031static inline __ATTRS_o_ai int
 5032vec_any_ne(__vector __bool short __a, __vector __bool short __b) {
 5033  int __cc;
 5034  __builtin_s390_vceqhs((__vector unsigned short)__a,
 5035                        (__vector unsigned short)__b, &__cc);
 5036  return __cc != 0;
 5037}
 5038
 5039static inline __ATTRS_o_ai int
 5040vec_any_ne(__vector signed int __a, __vector signed int __b) {
 5041  int __cc;
 5042  __builtin_s390_vceqfs((__vector unsigned int)__a,
 5043                        (__vector unsigned int)__b, &__cc);
 5044  return __cc != 0;
 5045}
 5046
 5047// This prototype is deprecated.
 5048static inline __ATTRS_o_ai int
 5049vec_any_ne(__vector signed int __a, __vector __bool int __b) {
 5050  int __cc;
 5051  __builtin_s390_vceqfs((__vector unsigned int)__a,
 5052                        (__vector unsigned int)__b, &__cc);
 5053  return __cc != 0;
 5054}
 5055
 5056// This prototype is deprecated.
 5057static inline __ATTRS_o_ai int
 5058vec_any_ne(__vector __bool int __a, __vector signed int __b) {
 5059  int __cc;
 5060  __builtin_s390_vceqfs((__vector unsigned int)__a,
 5061                        (__vector unsigned int)__b, &__cc);
 5062  return __cc != 0;
 5063}
 5064
 5065static inline __ATTRS_o_ai int
 5066vec_any_ne(__vector unsigned int __a, __vector unsigned int __b) {
 5067  int __cc;
 5068  __builtin_s390_vceqfs(__a, __b, &__cc);
 5069  return __cc != 0;
 5070}
 5071
 5072// This prototype is deprecated.
 5073static inline __ATTRS_o_ai int
 5074vec_any_ne(__vector unsigned int __a, __vector __bool int __b) {
 5075  int __cc;
 5076  __builtin_s390_vceqfs(__a, (__vector unsigned int)__b, &__cc);
 5077  return __cc != 0;
 5078}
 5079
 5080// This prototype is deprecated.
 5081static inline __ATTRS_o_ai int
 5082vec_any_ne(__vector __bool int __a, __vector unsigned int __b) {
 5083  int __cc;
 5084  __builtin_s390_vceqfs((__vector unsigned int)__a, __b, &__cc);
 5085  return __cc != 0;
 5086}
 5087
 5088static inline __ATTRS_o_ai int
 5089vec_any_ne(__vector __bool int __a, __vector __bool int __b) {
 5090  int __cc;
 5091  __builtin_s390_vceqfs((__vector unsigned int)__a,
 5092                        (__vector unsigned int)__b, &__cc);
 5093  return __cc != 0;
 5094}
 5095
 5096static inline __ATTRS_o_ai int
 5097vec_any_ne(__vector signed long long __a, __vector signed long long __b) {
 5098  int __cc;
 5099  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 5100                        (__vector unsigned long long)__b, &__cc);
 5101  return __cc != 0;
 5102}
 5103
 5104// This prototype is deprecated.
 5105static inline __ATTRS_o_ai int
 5106vec_any_ne(__vector signed long long __a, __vector __bool long long __b) {
 5107  int __cc;
 5108  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 5109                        (__vector unsigned long long)__b, &__cc);
 5110  return __cc != 0;
 5111}
 5112
 5113// This prototype is deprecated.
 5114static inline __ATTRS_o_ai int
 5115vec_any_ne(__vector __bool long long __a, __vector signed long long __b) {
 5116  int __cc;
 5117  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 5118                        (__vector unsigned long long)__b, &__cc);
 5119  return __cc != 0;
 5120}
 5121
 5122static inline __ATTRS_o_ai int
 5123vec_any_ne(__vector unsigned long long __a, __vector unsigned long long __b) {
 5124  int __cc;
 5125  __builtin_s390_vceqgs(__a, __b, &__cc);
 5126  return __cc != 0;
 5127}
 5128
 5129// This prototype is deprecated.
 5130static inline __ATTRS_o_ai int
 5131vec_any_ne(__vector unsigned long long __a, __vector __bool long long __b) {
 5132  int __cc;
 5133  __builtin_s390_vceqgs(__a, (__vector unsigned long long)__b, &__cc);
 5134  return __cc != 0;
 5135}
 5136
 5137// This prototype is deprecated.
 5138static inline __ATTRS_o_ai int
 5139vec_any_ne(__vector __bool long long __a, __vector unsigned long long __b) {
 5140  int __cc;
 5141  __builtin_s390_vceqgs((__vector unsigned long long)__a, __b, &__cc);
 5142  return __cc != 0;
 5143}
 5144
 5145static inline __ATTRS_o_ai int
 5146vec_any_ne(__vector __bool long long __a, __vector __bool long long __b) {
 5147  int __cc;
 5148  __builtin_s390_vceqgs((__vector unsigned long long)__a,
 5149                        (__vector unsigned long long)__b, &__cc);
 5150  return __cc != 0;
 5151}
 5152
 5153#if __ARCH__ >= 15
 5154static inline __ATTRS_o_ai int
 5155vec_any_ne(__vector signed __int128 __a, __vector signed __int128 __b) {
 5156  int __cc;
 5157  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 5158  return __cc != 0;
 5159}
 5160
 5161static inline __ATTRS_o_ai int
 5162vec_any_ne(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 5163  int __cc;
 5164  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 5165  return __cc != 0;
 5166}
 5167
 5168static inline __ATTRS_o_ai int
 5169vec_any_ne(__vector __bool __int128 __a, __vector __bool __int128 __b) {
 5170  int __cc;
 5171  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 5172  return __cc != 0;
 5173}
 5174#endif
 5175
 5176#if __ARCH__ >= 12
 5177static inline __ATTRS_o_ai int
 5178vec_any_ne(__vector float __a, __vector float __b) {
 5179  int __cc;
 5180  __builtin_s390_vfcesbs(__a, __b, &__cc);
 5181  return __cc != 0;
 5182}
 5183#endif
 5184
 5185static inline __ATTRS_o_ai int
 5186vec_any_ne(__vector double __a, __vector double __b) {
 5187  int __cc;
 5188  __builtin_s390_vfcedbs(__a, __b, &__cc);
 5189  return __cc != 0;
 5190}
 5191
 5192/*-- vec_any_ge -------------------------------------------------------------*/
 5193
 5194static inline __ATTRS_o_ai int
 5195vec_any_ge(__vector signed char __a, __vector signed char __b) {
 5196  int __cc;
 5197  __builtin_s390_vchbs(__b, __a, &__cc);
 5198  return __cc != 0;
 5199}
 5200
 5201// This prototype is deprecated.
 5202static inline __ATTRS_o_ai int
 5203vec_any_ge(__vector signed char __a, __vector __bool char __b) {
 5204  int __cc;
 5205  __builtin_s390_vchbs((__vector signed char)__b, __a, &__cc);
 5206  return __cc != 0;
 5207}
 5208
 5209// This prototype is deprecated.
 5210static inline __ATTRS_o_ai int
 5211vec_any_ge(__vector __bool char __a, __vector signed char __b) {
 5212  int __cc;
 5213  __builtin_s390_vchbs(__b, (__vector signed char)__a, &__cc);
 5214  return __cc != 0;
 5215}
 5216
 5217static inline __ATTRS_o_ai int
 5218vec_any_ge(__vector unsigned char __a, __vector unsigned char __b) {
 5219  int __cc;
 5220  __builtin_s390_vchlbs(__b, __a, &__cc);
 5221  return __cc != 0;
 5222}
 5223
 5224// This prototype is deprecated.
 5225static inline __ATTRS_o_ai int
 5226vec_any_ge(__vector unsigned char __a, __vector __bool char __b) {
 5227  int __cc;
 5228  __builtin_s390_vchlbs((__vector unsigned char)__b, __a, &__cc);
 5229  return __cc != 0;
 5230}
 5231
 5232// This prototype is deprecated.
 5233static inline __ATTRS_o_ai int
 5234vec_any_ge(__vector __bool char __a, __vector unsigned char __b) {
 5235  int __cc;
 5236  __builtin_s390_vchlbs(__b, (__vector unsigned char)__a, &__cc);
 5237  return __cc != 0;
 5238}
 5239
 5240// This prototype is deprecated.
 5241static inline __ATTRS_o_ai int
 5242vec_any_ge(__vector __bool char __a, __vector __bool char __b) {
 5243  int __cc;
 5244  __builtin_s390_vchlbs((__vector unsigned char)__b,
 5245                        (__vector unsigned char)__a, &__cc);
 5246  return __cc != 0;
 5247}
 5248
 5249static inline __ATTRS_o_ai int
 5250vec_any_ge(__vector signed short __a, __vector signed short __b) {
 5251  int __cc;
 5252  __builtin_s390_vchhs(__b, __a, &__cc);
 5253  return __cc != 0;
 5254}
 5255
 5256// This prototype is deprecated.
 5257static inline __ATTRS_o_ai int
 5258vec_any_ge(__vector signed short __a, __vector __bool short __b) {
 5259  int __cc;
 5260  __builtin_s390_vchhs((__vector signed short)__b, __a, &__cc);
 5261  return __cc != 0;
 5262}
 5263
 5264// This prototype is deprecated.
 5265static inline __ATTRS_o_ai int
 5266vec_any_ge(__vector __bool short __a, __vector signed short __b) {
 5267  int __cc;
 5268  __builtin_s390_vchhs(__b, (__vector signed short)__a, &__cc);
 5269  return __cc != 0;
 5270}
 5271
 5272static inline __ATTRS_o_ai int
 5273vec_any_ge(__vector unsigned short __a, __vector unsigned short __b) {
 5274  int __cc;
 5275  __builtin_s390_vchlhs(__b, __a, &__cc);
 5276  return __cc != 0;
 5277}
 5278
 5279// This prototype is deprecated.
 5280static inline __ATTRS_o_ai int
 5281vec_any_ge(__vector unsigned short __a, __vector __bool short __b) {
 5282  int __cc;
 5283  __builtin_s390_vchlhs((__vector unsigned short)__b, __a, &__cc);
 5284  return __cc != 0;
 5285}
 5286
 5287// This prototype is deprecated.
 5288static inline __ATTRS_o_ai int
 5289vec_any_ge(__vector __bool short __a, __vector unsigned short __b) {
 5290  int __cc;
 5291  __builtin_s390_vchlhs(__b, (__vector unsigned short)__a, &__cc);
 5292  return __cc != 0;
 5293}
 5294
 5295// This prototype is deprecated.
 5296static inline __ATTRS_o_ai int
 5297vec_any_ge(__vector __bool short __a, __vector __bool short __b) {
 5298  int __cc;
 5299  __builtin_s390_vchlhs((__vector unsigned short)__b,
 5300                        (__vector unsigned short)__a, &__cc);
 5301  return __cc != 0;
 5302}
 5303
 5304static inline __ATTRS_o_ai int
 5305vec_any_ge(__vector signed int __a, __vector signed int __b) {
 5306  int __cc;
 5307  __builtin_s390_vchfs(__b, __a, &__cc);
 5308  return __cc != 0;
 5309}
 5310
 5311// This prototype is deprecated.
 5312static inline __ATTRS_o_ai int
 5313vec_any_ge(__vector signed int __a, __vector __bool int __b) {
 5314  int __cc;
 5315  __builtin_s390_vchfs((__vector signed int)__b, __a, &__cc);
 5316  return __cc != 0;
 5317}
 5318
 5319// This prototype is deprecated.
 5320static inline __ATTRS_o_ai int
 5321vec_any_ge(__vector __bool int __a, __vector signed int __b) {
 5322  int __cc;
 5323  __builtin_s390_vchfs(__b, (__vector signed int)__a, &__cc);
 5324  return __cc != 0;
 5325}
 5326
 5327static inline __ATTRS_o_ai int
 5328vec_any_ge(__vector unsigned int __a, __vector unsigned int __b) {
 5329  int __cc;
 5330  __builtin_s390_vchlfs(__b, __a, &__cc);
 5331  return __cc != 0;
 5332}
 5333
 5334// This prototype is deprecated.
 5335static inline __ATTRS_o_ai int
 5336vec_any_ge(__vector unsigned int __a, __vector __bool int __b) {
 5337  int __cc;
 5338  __builtin_s390_vchlfs((__vector unsigned int)__b, __a, &__cc);
 5339  return __cc != 0;
 5340}
 5341
 5342// This prototype is deprecated.
 5343static inline __ATTRS_o_ai int
 5344vec_any_ge(__vector __bool int __a, __vector unsigned int __b) {
 5345  int __cc;
 5346  __builtin_s390_vchlfs(__b, (__vector unsigned int)__a, &__cc);
 5347  return __cc != 0;
 5348}
 5349
 5350// This prototype is deprecated.
 5351static inline __ATTRS_o_ai int
 5352vec_any_ge(__vector __bool int __a, __vector __bool int __b) {
 5353  int __cc;
 5354  __builtin_s390_vchlfs((__vector unsigned int)__b,
 5355                        (__vector unsigned int)__a, &__cc);
 5356  return __cc != 0;
 5357}
 5358
 5359static inline __ATTRS_o_ai int
 5360vec_any_ge(__vector signed long long __a, __vector signed long long __b) {
 5361  int __cc;
 5362  __builtin_s390_vchgs(__b, __a, &__cc);
 5363  return __cc != 0;
 5364}
 5365
 5366// This prototype is deprecated.
 5367static inline __ATTRS_o_ai int
 5368vec_any_ge(__vector signed long long __a, __vector __bool long long __b) {
 5369  int __cc;
 5370  __builtin_s390_vchgs((__vector signed long long)__b, __a, &__cc);
 5371  return __cc != 0;
 5372}
 5373
 5374// This prototype is deprecated.
 5375static inline __ATTRS_o_ai int
 5376vec_any_ge(__vector __bool long long __a, __vector signed long long __b) {
 5377  int __cc;
 5378  __builtin_s390_vchgs(__b, (__vector signed long long)__a, &__cc);
 5379  return __cc != 0;
 5380}
 5381
 5382static inline __ATTRS_o_ai int
 5383vec_any_ge(__vector unsigned long long __a, __vector unsigned long long __b) {
 5384  int __cc;
 5385  __builtin_s390_vchlgs(__b, __a, &__cc);
 5386  return __cc != 0;
 5387}
 5388
 5389// This prototype is deprecated.
 5390static inline __ATTRS_o_ai int
 5391vec_any_ge(__vector unsigned long long __a, __vector __bool long long __b) {
 5392  int __cc;
 5393  __builtin_s390_vchlgs((__vector unsigned long long)__b, __a, &__cc);
 5394  return __cc != 0;
 5395}
 5396
 5397// This prototype is deprecated.
 5398static inline __ATTRS_o_ai int
 5399vec_any_ge(__vector __bool long long __a, __vector unsigned long long __b) {
 5400  int __cc;
 5401  __builtin_s390_vchlgs(__b, (__vector unsigned long long)__a, &__cc);
 5402  return __cc != 0;
 5403}
 5404
 5405// This prototype is deprecated.
 5406static inline __ATTRS_o_ai int
 5407vec_any_ge(__vector __bool long long __a, __vector __bool long long __b) {
 5408  int __cc;
 5409  __builtin_s390_vchlgs((__vector unsigned long long)__b,
 5410                        (__vector unsigned long long)__a, &__cc);
 5411  return __cc != 0;
 5412}
 5413
 5414#if __ARCH__ >= 15
 5415static inline __ATTRS_o_ai int
 5416vec_any_ge(__vector signed __int128 __a, __vector signed __int128 __b) {
 5417  int __cc;
 5418  __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);
 5419  return __cc != 0;
 5420}
 5421
 5422static inline __ATTRS_o_ai int
 5423vec_any_ge(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 5424  int __cc;
 5425  __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);
 5426  return __cc != 0;
 5427}
 5428#endif
 5429
 5430#if __ARCH__ >= 12
 5431static inline __ATTRS_o_ai int
 5432vec_any_ge(__vector float __a, __vector float __b) {
 5433  int __cc;
 5434  __builtin_s390_vfchesbs(__a, __b, &__cc);
 5435  return __cc <= 1;
 5436}
 5437#endif
 5438
 5439static inline __ATTRS_o_ai int
 5440vec_any_ge(__vector double __a, __vector double __b) {
 5441  int __cc;
 5442  __builtin_s390_vfchedbs(__a, __b, &__cc);
 5443  return __cc <= 1;
 5444}
 5445
 5446/*-- vec_any_gt -------------------------------------------------------------*/
 5447
 5448static inline __ATTRS_o_ai int
 5449vec_any_gt(__vector signed char __a, __vector signed char __b) {
 5450  int __cc;
 5451  __builtin_s390_vchbs(__a, __b, &__cc);
 5452  return __cc <= 1;
 5453}
 5454
 5455// This prototype is deprecated.
 5456static inline __ATTRS_o_ai int
 5457vec_any_gt(__vector signed char __a, __vector __bool char __b) {
 5458  int __cc;
 5459  __builtin_s390_vchbs(__a, (__vector signed char)__b, &__cc);
 5460  return __cc <= 1;
 5461}
 5462
 5463// This prototype is deprecated.
 5464static inline __ATTRS_o_ai int
 5465vec_any_gt(__vector __bool char __a, __vector signed char __b) {
 5466  int __cc;
 5467  __builtin_s390_vchbs((__vector signed char)__a, __b, &__cc);
 5468  return __cc <= 1;
 5469}
 5470
 5471static inline __ATTRS_o_ai int
 5472vec_any_gt(__vector unsigned char __a, __vector unsigned char __b) {
 5473  int __cc;
 5474  __builtin_s390_vchlbs(__a, __b, &__cc);
 5475  return __cc <= 1;
 5476}
 5477
 5478// This prototype is deprecated.
 5479static inline __ATTRS_o_ai int
 5480vec_any_gt(__vector unsigned char __a, __vector __bool char __b) {
 5481  int __cc;
 5482  __builtin_s390_vchlbs(__a, (__vector unsigned char)__b, &__cc);
 5483  return __cc <= 1;
 5484}
 5485
 5486// This prototype is deprecated.
 5487static inline __ATTRS_o_ai int
 5488vec_any_gt(__vector __bool char __a, __vector unsigned char __b) {
 5489  int __cc;
 5490  __builtin_s390_vchlbs((__vector unsigned char)__a, __b, &__cc);
 5491  return __cc <= 1;
 5492}
 5493
 5494// This prototype is deprecated.
 5495static inline __ATTRS_o_ai int
 5496vec_any_gt(__vector __bool char __a, __vector __bool char __b) {
 5497  int __cc;
 5498  __builtin_s390_vchlbs((__vector unsigned char)__a,
 5499                        (__vector unsigned char)__b, &__cc);
 5500  return __cc <= 1;
 5501}
 5502
 5503static inline __ATTRS_o_ai int
 5504vec_any_gt(__vector signed short __a, __vector signed short __b) {
 5505  int __cc;
 5506  __builtin_s390_vchhs(__a, __b, &__cc);
 5507  return __cc <= 1;
 5508}
 5509
 5510// This prototype is deprecated.
 5511static inline __ATTRS_o_ai int
 5512vec_any_gt(__vector signed short __a, __vector __bool short __b) {
 5513  int __cc;
 5514  __builtin_s390_vchhs(__a, (__vector signed short)__b, &__cc);
 5515  return __cc <= 1;
 5516}
 5517
 5518// This prototype is deprecated.
 5519static inline __ATTRS_o_ai int
 5520vec_any_gt(__vector __bool short __a, __vector signed short __b) {
 5521  int __cc;
 5522  __builtin_s390_vchhs((__vector signed short)__a, __b, &__cc);
 5523  return __cc <= 1;
 5524}
 5525
 5526static inline __ATTRS_o_ai int
 5527vec_any_gt(__vector unsigned short __a, __vector unsigned short __b) {
 5528  int __cc;
 5529  __builtin_s390_vchlhs(__a, __b, &__cc);
 5530  return __cc <= 1;
 5531}
 5532
 5533// This prototype is deprecated.
 5534static inline __ATTRS_o_ai int
 5535vec_any_gt(__vector unsigned short __a, __vector __bool short __b) {
 5536  int __cc;
 5537  __builtin_s390_vchlhs(__a, (__vector unsigned short)__b, &__cc);
 5538  return __cc <= 1;
 5539}
 5540
 5541// This prototype is deprecated.
 5542static inline __ATTRS_o_ai int
 5543vec_any_gt(__vector __bool short __a, __vector unsigned short __b) {
 5544  int __cc;
 5545  __builtin_s390_vchlhs((__vector unsigned short)__a, __b, &__cc);
 5546  return __cc <= 1;
 5547}
 5548
 5549// This prototype is deprecated.
 5550static inline __ATTRS_o_ai int
 5551vec_any_gt(__vector __bool short __a, __vector __bool short __b) {
 5552  int __cc;
 5553  __builtin_s390_vchlhs((__vector unsigned short)__a,
 5554                        (__vector unsigned short)__b, &__cc);
 5555  return __cc <= 1;
 5556}
 5557
 5558static inline __ATTRS_o_ai int
 5559vec_any_gt(__vector signed int __a, __vector signed int __b) {
 5560  int __cc;
 5561  __builtin_s390_vchfs(__a, __b, &__cc);
 5562  return __cc <= 1;
 5563}
 5564
 5565// This prototype is deprecated.
 5566static inline __ATTRS_o_ai int
 5567vec_any_gt(__vector signed int __a, __vector __bool int __b) {
 5568  int __cc;
 5569  __builtin_s390_vchfs(__a, (__vector signed int)__b, &__cc);
 5570  return __cc <= 1;
 5571}
 5572
 5573// This prototype is deprecated.
 5574static inline __ATTRS_o_ai int
 5575vec_any_gt(__vector __bool int __a, __vector signed int __b) {
 5576  int __cc;
 5577  __builtin_s390_vchfs((__vector signed int)__a, __b, &__cc);
 5578  return __cc <= 1;
 5579}
 5580
 5581static inline __ATTRS_o_ai int
 5582vec_any_gt(__vector unsigned int __a, __vector unsigned int __b) {
 5583  int __cc;
 5584  __builtin_s390_vchlfs(__a, __b, &__cc);
 5585  return __cc <= 1;
 5586}
 5587
 5588// This prototype is deprecated.
 5589static inline __ATTRS_o_ai int
 5590vec_any_gt(__vector unsigned int __a, __vector __bool int __b) {
 5591  int __cc;
 5592  __builtin_s390_vchlfs(__a, (__vector unsigned int)__b, &__cc);
 5593  return __cc <= 1;
 5594}
 5595
 5596// This prototype is deprecated.
 5597static inline __ATTRS_o_ai int
 5598vec_any_gt(__vector __bool int __a, __vector unsigned int __b) {
 5599  int __cc;
 5600  __builtin_s390_vchlfs((__vector unsigned int)__a, __b, &__cc);
 5601  return __cc <= 1;
 5602}
 5603
 5604// This prototype is deprecated.
 5605static inline __ATTRS_o_ai int
 5606vec_any_gt(__vector __bool int __a, __vector __bool int __b) {
 5607  int __cc;
 5608  __builtin_s390_vchlfs((__vector unsigned int)__a,
 5609                        (__vector unsigned int)__b, &__cc);
 5610  return __cc <= 1;
 5611}
 5612
 5613static inline __ATTRS_o_ai int
 5614vec_any_gt(__vector signed long long __a, __vector signed long long __b) {
 5615  int __cc;
 5616  __builtin_s390_vchgs(__a, __b, &__cc);
 5617  return __cc <= 1;
 5618}
 5619
 5620// This prototype is deprecated.
 5621static inline __ATTRS_o_ai int
 5622vec_any_gt(__vector signed long long __a, __vector __bool long long __b) {
 5623  int __cc;
 5624  __builtin_s390_vchgs(__a, (__vector signed long long)__b, &__cc);
 5625  return __cc <= 1;
 5626}
 5627
 5628// This prototype is deprecated.
 5629static inline __ATTRS_o_ai int
 5630vec_any_gt(__vector __bool long long __a, __vector signed long long __b) {
 5631  int __cc;
 5632  __builtin_s390_vchgs((__vector signed long long)__a, __b, &__cc);
 5633  return __cc <= 1;
 5634}
 5635
 5636static inline __ATTRS_o_ai int
 5637vec_any_gt(__vector unsigned long long __a, __vector unsigned long long __b) {
 5638  int __cc;
 5639  __builtin_s390_vchlgs(__a, __b, &__cc);
 5640  return __cc <= 1;
 5641}
 5642
 5643// This prototype is deprecated.
 5644static inline __ATTRS_o_ai int
 5645vec_any_gt(__vector unsigned long long __a, __vector __bool long long __b) {
 5646  int __cc;
 5647  __builtin_s390_vchlgs(__a, (__vector unsigned long long)__b, &__cc);
 5648  return __cc <= 1;
 5649}
 5650
 5651// This prototype is deprecated.
 5652static inline __ATTRS_o_ai int
 5653vec_any_gt(__vector __bool long long __a, __vector unsigned long long __b) {
 5654  int __cc;
 5655  __builtin_s390_vchlgs((__vector unsigned long long)__a, __b, &__cc);
 5656  return __cc <= 1;
 5657}
 5658
 5659// This prototype is deprecated.
 5660static inline __ATTRS_o_ai int
 5661vec_any_gt(__vector __bool long long __a, __vector __bool long long __b) {
 5662  int __cc;
 5663  __builtin_s390_vchlgs((__vector unsigned long long)__a,
 5664                        (__vector unsigned long long)__b, &__cc);
 5665  return __cc <= 1;
 5666}
 5667
 5668#if __ARCH__ >= 15
 5669static inline __ATTRS_o_ai int
 5670vec_any_gt(__vector signed __int128 __a, __vector signed __int128 __b) {
 5671  int __cc;
 5672  __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);
 5673  return __cc <= 1;
 5674}
 5675
 5676static inline __ATTRS_o_ai int
 5677vec_any_gt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 5678  int __cc;
 5679  __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 5680  return __cc <= 1;
 5681}
 5682#endif
 5683
 5684#if __ARCH__ >= 12
 5685static inline __ATTRS_o_ai int
 5686vec_any_gt(__vector float __a, __vector float __b) {
 5687  int __cc;
 5688  __builtin_s390_vfchsbs(__a, __b, &__cc);
 5689  return __cc <= 1;
 5690}
 5691#endif
 5692
 5693static inline __ATTRS_o_ai int
 5694vec_any_gt(__vector double __a, __vector double __b) {
 5695  int __cc;
 5696  __builtin_s390_vfchdbs(__a, __b, &__cc);
 5697  return __cc <= 1;
 5698}
 5699
 5700/*-- vec_any_le -------------------------------------------------------------*/
 5701
 5702static inline __ATTRS_o_ai int
 5703vec_any_le(__vector signed char __a, __vector signed char __b) {
 5704  int __cc;
 5705  __builtin_s390_vchbs(__a, __b, &__cc);
 5706  return __cc != 0;
 5707}
 5708
 5709// This prototype is deprecated.
 5710static inline __ATTRS_o_ai int
 5711vec_any_le(__vector signed char __a, __vector __bool char __b) {
 5712  int __cc;
 5713  __builtin_s390_vchbs(__a, (__vector signed char)__b, &__cc);
 5714  return __cc != 0;
 5715}
 5716
 5717// This prototype is deprecated.
 5718static inline __ATTRS_o_ai int
 5719vec_any_le(__vector __bool char __a, __vector signed char __b) {
 5720  int __cc;
 5721  __builtin_s390_vchbs((__vector signed char)__a, __b, &__cc);
 5722  return __cc != 0;
 5723}
 5724
 5725static inline __ATTRS_o_ai int
 5726vec_any_le(__vector unsigned char __a, __vector unsigned char __b) {
 5727  int __cc;
 5728  __builtin_s390_vchlbs(__a, __b, &__cc);
 5729  return __cc != 0;
 5730}
 5731
 5732// This prototype is deprecated.
 5733static inline __ATTRS_o_ai int
 5734vec_any_le(__vector unsigned char __a, __vector __bool char __b) {
 5735  int __cc;
 5736  __builtin_s390_vchlbs(__a, (__vector unsigned char)__b, &__cc);
 5737  return __cc != 0;
 5738}
 5739
 5740// This prototype is deprecated.
 5741static inline __ATTRS_o_ai int
 5742vec_any_le(__vector __bool char __a, __vector unsigned char __b) {
 5743  int __cc;
 5744  __builtin_s390_vchlbs((__vector unsigned char)__a, __b, &__cc);
 5745  return __cc != 0;
 5746}
 5747
 5748// This prototype is deprecated.
 5749static inline __ATTRS_o_ai int
 5750vec_any_le(__vector __bool char __a, __vector __bool char __b) {
 5751  int __cc;
 5752  __builtin_s390_vchlbs((__vector unsigned char)__a,
 5753                        (__vector unsigned char)__b, &__cc);
 5754  return __cc != 0;
 5755}
 5756
 5757static inline __ATTRS_o_ai int
 5758vec_any_le(__vector signed short __a, __vector signed short __b) {
 5759  int __cc;
 5760  __builtin_s390_vchhs(__a, __b, &__cc);
 5761  return __cc != 0;
 5762}
 5763
 5764// This prototype is deprecated.
 5765static inline __ATTRS_o_ai int
 5766vec_any_le(__vector signed short __a, __vector __bool short __b) {
 5767  int __cc;
 5768  __builtin_s390_vchhs(__a, (__vector signed short)__b, &__cc);
 5769  return __cc != 0;
 5770}
 5771
 5772// This prototype is deprecated.
 5773static inline __ATTRS_o_ai int
 5774vec_any_le(__vector __bool short __a, __vector signed short __b) {
 5775  int __cc;
 5776  __builtin_s390_vchhs((__vector signed short)__a, __b, &__cc);
 5777  return __cc != 0;
 5778}
 5779
 5780static inline __ATTRS_o_ai int
 5781vec_any_le(__vector unsigned short __a, __vector unsigned short __b) {
 5782  int __cc;
 5783  __builtin_s390_vchlhs(__a, __b, &__cc);
 5784  return __cc != 0;
 5785}
 5786
 5787// This prototype is deprecated.
 5788static inline __ATTRS_o_ai int
 5789vec_any_le(__vector unsigned short __a, __vector __bool short __b) {
 5790  int __cc;
 5791  __builtin_s390_vchlhs(__a, (__vector unsigned short)__b, &__cc);
 5792  return __cc != 0;
 5793}
 5794
 5795// This prototype is deprecated.
 5796static inline __ATTRS_o_ai int
 5797vec_any_le(__vector __bool short __a, __vector unsigned short __b) {
 5798  int __cc;
 5799  __builtin_s390_vchlhs((__vector unsigned short)__a, __b, &__cc);
 5800  return __cc != 0;
 5801}
 5802
 5803// This prototype is deprecated.
 5804static inline __ATTRS_o_ai int
 5805vec_any_le(__vector __bool short __a, __vector __bool short __b) {
 5806  int __cc;
 5807  __builtin_s390_vchlhs((__vector unsigned short)__a,
 5808                        (__vector unsigned short)__b, &__cc);
 5809  return __cc != 0;
 5810}
 5811
 5812static inline __ATTRS_o_ai int
 5813vec_any_le(__vector signed int __a, __vector signed int __b) {
 5814  int __cc;
 5815  __builtin_s390_vchfs(__a, __b, &__cc);
 5816  return __cc != 0;
 5817}
 5818
 5819// This prototype is deprecated.
 5820static inline __ATTRS_o_ai int
 5821vec_any_le(__vector signed int __a, __vector __bool int __b) {
 5822  int __cc;
 5823  __builtin_s390_vchfs(__a, (__vector signed int)__b, &__cc);
 5824  return __cc != 0;
 5825}
 5826
 5827// This prototype is deprecated.
 5828static inline __ATTRS_o_ai int
 5829vec_any_le(__vector __bool int __a, __vector signed int __b) {
 5830  int __cc;
 5831  __builtin_s390_vchfs((__vector signed int)__a, __b, &__cc);
 5832  return __cc != 0;
 5833}
 5834
 5835static inline __ATTRS_o_ai int
 5836vec_any_le(__vector unsigned int __a, __vector unsigned int __b) {
 5837  int __cc;
 5838  __builtin_s390_vchlfs(__a, __b, &__cc);
 5839  return __cc != 0;
 5840}
 5841
 5842// This prototype is deprecated.
 5843static inline __ATTRS_o_ai int
 5844vec_any_le(__vector unsigned int __a, __vector __bool int __b) {
 5845  int __cc;
 5846  __builtin_s390_vchlfs(__a, (__vector unsigned int)__b, &__cc);
 5847  return __cc != 0;
 5848}
 5849
 5850// This prototype is deprecated.
 5851static inline __ATTRS_o_ai int
 5852vec_any_le(__vector __bool int __a, __vector unsigned int __b) {
 5853  int __cc;
 5854  __builtin_s390_vchlfs((__vector unsigned int)__a, __b, &__cc);
 5855  return __cc != 0;
 5856}
 5857
 5858// This prototype is deprecated.
 5859static inline __ATTRS_o_ai int
 5860vec_any_le(__vector __bool int __a, __vector __bool int __b) {
 5861  int __cc;
 5862  __builtin_s390_vchlfs((__vector unsigned int)__a,
 5863                        (__vector unsigned int)__b, &__cc);
 5864  return __cc != 0;
 5865}
 5866
 5867static inline __ATTRS_o_ai int
 5868vec_any_le(__vector signed long long __a, __vector signed long long __b) {
 5869  int __cc;
 5870  __builtin_s390_vchgs(__a, __b, &__cc);
 5871  return __cc != 0;
 5872}
 5873
 5874// This prototype is deprecated.
 5875static inline __ATTRS_o_ai int
 5876vec_any_le(__vector signed long long __a, __vector __bool long long __b) {
 5877  int __cc;
 5878  __builtin_s390_vchgs(__a, (__vector signed long long)__b, &__cc);
 5879  return __cc != 0;
 5880}
 5881
 5882// This prototype is deprecated.
 5883static inline __ATTRS_o_ai int
 5884vec_any_le(__vector __bool long long __a, __vector signed long long __b) {
 5885  int __cc;
 5886  __builtin_s390_vchgs((__vector signed long long)__a, __b, &__cc);
 5887  return __cc != 0;
 5888}
 5889
 5890static inline __ATTRS_o_ai int
 5891vec_any_le(__vector unsigned long long __a, __vector unsigned long long __b) {
 5892  int __cc;
 5893  __builtin_s390_vchlgs(__a, __b, &__cc);
 5894  return __cc != 0;
 5895}
 5896
 5897// This prototype is deprecated.
 5898static inline __ATTRS_o_ai int
 5899vec_any_le(__vector unsigned long long __a, __vector __bool long long __b) {
 5900  int __cc;
 5901  __builtin_s390_vchlgs(__a, (__vector unsigned long long)__b, &__cc);
 5902  return __cc != 0;
 5903}
 5904
 5905// This prototype is deprecated.
 5906static inline __ATTRS_o_ai int
 5907vec_any_le(__vector __bool long long __a, __vector unsigned long long __b) {
 5908  int __cc;
 5909  __builtin_s390_vchlgs((__vector unsigned long long)__a, __b, &__cc);
 5910  return __cc != 0;
 5911}
 5912
 5913// This prototype is deprecated.
 5914static inline __ATTRS_o_ai int
 5915vec_any_le(__vector __bool long long __a, __vector __bool long long __b) {
 5916  int __cc;
 5917  __builtin_s390_vchlgs((__vector unsigned long long)__a,
 5918                        (__vector unsigned long long)__b, &__cc);
 5919  return __cc != 0;
 5920}
 5921
 5922#if __ARCH__ >= 15
 5923static inline __ATTRS_o_ai int
 5924vec_any_le(__vector signed __int128 __a, __vector signed __int128 __b) {
 5925  int __cc;
 5926  __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);
 5927  return __cc != 0;
 5928}
 5929
 5930static inline __ATTRS_o_ai int
 5931vec_any_le(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 5932  int __cc;
 5933  __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
 5934  return __cc != 0;
 5935}
 5936#endif
 5937
 5938#if __ARCH__ >= 12
 5939static inline __ATTRS_o_ai int
 5940vec_any_le(__vector float __a, __vector float __b) {
 5941  int __cc;
 5942  __builtin_s390_vfchesbs(__b, __a, &__cc);
 5943  return __cc <= 1;
 5944}
 5945#endif
 5946
 5947static inline __ATTRS_o_ai int
 5948vec_any_le(__vector double __a, __vector double __b) {
 5949  int __cc;
 5950  __builtin_s390_vfchedbs(__b, __a, &__cc);
 5951  return __cc <= 1;
 5952}
 5953
 5954/*-- vec_any_lt -------------------------------------------------------------*/
 5955
 5956static inline __ATTRS_o_ai int
 5957vec_any_lt(__vector signed char __a, __vector signed char __b) {
 5958  int __cc;
 5959  __builtin_s390_vchbs(__b, __a, &__cc);
 5960  return __cc <= 1;
 5961}
 5962
 5963// This prototype is deprecated.
 5964static inline __ATTRS_o_ai int
 5965vec_any_lt(__vector signed char __a, __vector __bool char __b) {
 5966  int __cc;
 5967  __builtin_s390_vchbs((__vector signed char)__b, __a, &__cc);
 5968  return __cc <= 1;
 5969}
 5970
 5971// This prototype is deprecated.
 5972static inline __ATTRS_o_ai int
 5973vec_any_lt(__vector __bool char __a, __vector signed char __b) {
 5974  int __cc;
 5975  __builtin_s390_vchbs(__b, (__vector signed char)__a, &__cc);
 5976  return __cc <= 1;
 5977}
 5978
 5979static inline __ATTRS_o_ai int
 5980vec_any_lt(__vector unsigned char __a, __vector unsigned char __b) {
 5981  int __cc;
 5982  __builtin_s390_vchlbs(__b, __a, &__cc);
 5983  return __cc <= 1;
 5984}
 5985
 5986// This prototype is deprecated.
 5987static inline __ATTRS_o_ai int
 5988vec_any_lt(__vector unsigned char __a, __vector __bool char __b) {
 5989  int __cc;
 5990  __builtin_s390_vchlbs((__vector unsigned char)__b, __a, &__cc);
 5991  return __cc <= 1;
 5992}
 5993
 5994// This prototype is deprecated.
 5995static inline __ATTRS_o_ai int
 5996vec_any_lt(__vector __bool char __a, __vector unsigned char __b) {
 5997  int __cc;
 5998  __builtin_s390_vchlbs(__b, (__vector unsigned char)__a, &__cc);
 5999  return __cc <= 1;
 6000}
 6001
 6002// This prototype is deprecated.
 6003static inline __ATTRS_o_ai int
 6004vec_any_lt(__vector __bool char __a, __vector __bool char __b) {
 6005  int __cc;
 6006  __builtin_s390_vchlbs((__vector unsigned char)__b,
 6007                        (__vector unsigned char)__a, &__cc);
 6008  return __cc <= 1;
 6009}
 6010
 6011static inline __ATTRS_o_ai int
 6012vec_any_lt(__vector signed short __a, __vector signed short __b) {
 6013  int __cc;
 6014  __builtin_s390_vchhs(__b, __a, &__cc);
 6015  return __cc <= 1;
 6016}
 6017
 6018// This prototype is deprecated.
 6019static inline __ATTRS_o_ai int
 6020vec_any_lt(__vector signed short __a, __vector __bool short __b) {
 6021  int __cc;
 6022  __builtin_s390_vchhs((__vector signed short)__b, __a, &__cc);
 6023  return __cc <= 1;
 6024}
 6025
 6026// This prototype is deprecated.
 6027static inline __ATTRS_o_ai int
 6028vec_any_lt(__vector __bool short __a, __vector signed short __b) {
 6029  int __cc;
 6030  __builtin_s390_vchhs(__b, (__vector signed short)__a, &__cc);
 6031  return __cc <= 1;
 6032}
 6033
 6034static inline __ATTRS_o_ai int
 6035vec_any_lt(__vector unsigned short __a, __vector unsigned short __b) {
 6036  int __cc;
 6037  __builtin_s390_vchlhs(__b, __a, &__cc);
 6038  return __cc <= 1;
 6039}
 6040
 6041// This prototype is deprecated.
 6042static inline __ATTRS_o_ai int
 6043vec_any_lt(__vector unsigned short __a, __vector __bool short __b) {
 6044  int __cc;
 6045  __builtin_s390_vchlhs((__vector unsigned short)__b, __a, &__cc);
 6046  return __cc <= 1;
 6047}
 6048
 6049// This prototype is deprecated.
 6050static inline __ATTRS_o_ai int
 6051vec_any_lt(__vector __bool short __a, __vector unsigned short __b) {
 6052  int __cc;
 6053  __builtin_s390_vchlhs(__b, (__vector unsigned short)__a, &__cc);
 6054  return __cc <= 1;
 6055}
 6056
 6057// This prototype is deprecated.
 6058static inline __ATTRS_o_ai int
 6059vec_any_lt(__vector __bool short __a, __vector __bool short __b) {
 6060  int __cc;
 6061  __builtin_s390_vchlhs((__vector unsigned short)__b,
 6062                        (__vector unsigned short)__a, &__cc);
 6063  return __cc <= 1;
 6064}
 6065
 6066static inline __ATTRS_o_ai int
 6067vec_any_lt(__vector signed int __a, __vector signed int __b) {
 6068  int __cc;
 6069  __builtin_s390_vchfs(__b, __a, &__cc);
 6070  return __cc <= 1;
 6071}
 6072
 6073// This prototype is deprecated.
 6074static inline __ATTRS_o_ai int
 6075vec_any_lt(__vector signed int __a, __vector __bool int __b) {
 6076  int __cc;
 6077  __builtin_s390_vchfs((__vector signed int)__b, __a, &__cc);
 6078  return __cc <= 1;
 6079}
 6080
 6081// This prototype is deprecated.
 6082static inline __ATTRS_o_ai int
 6083vec_any_lt(__vector __bool int __a, __vector signed int __b) {
 6084  int __cc;
 6085  __builtin_s390_vchfs(__b, (__vector signed int)__a, &__cc);
 6086  return __cc <= 1;
 6087}
 6088
 6089static inline __ATTRS_o_ai int
 6090vec_any_lt(__vector unsigned int __a, __vector unsigned int __b) {
 6091  int __cc;
 6092  __builtin_s390_vchlfs(__b, __a, &__cc);
 6093  return __cc <= 1;
 6094}
 6095
 6096// This prototype is deprecated.
 6097static inline __ATTRS_o_ai int
 6098vec_any_lt(__vector unsigned int __a, __vector __bool int __b) {
 6099  int __cc;
 6100  __builtin_s390_vchlfs((__vector unsigned int)__b, __a, &__cc);
 6101  return __cc <= 1;
 6102}
 6103
 6104// This prototype is deprecated.
 6105static inline __ATTRS_o_ai int
 6106vec_any_lt(__vector __bool int __a, __vector unsigned int __b) {
 6107  int __cc;
 6108  __builtin_s390_vchlfs(__b, (__vector unsigned int)__a, &__cc);
 6109  return __cc <= 1;
 6110}
 6111
 6112// This prototype is deprecated.
 6113static inline __ATTRS_o_ai int
 6114vec_any_lt(__vector __bool int __a, __vector __bool int __b) {
 6115  int __cc;
 6116  __builtin_s390_vchlfs((__vector unsigned int)__b,
 6117                        (__vector unsigned int)__a, &__cc);
 6118  return __cc <= 1;
 6119}
 6120
 6121static inline __ATTRS_o_ai int
 6122vec_any_lt(__vector signed long long __a, __vector signed long long __b) {
 6123  int __cc;
 6124  __builtin_s390_vchgs(__b, __a, &__cc);
 6125  return __cc <= 1;
 6126}
 6127
 6128// This prototype is deprecated.
 6129static inline __ATTRS_o_ai int
 6130vec_any_lt(__vector signed long long __a, __vector __bool long long __b) {
 6131  int __cc;
 6132  __builtin_s390_vchgs((__vector signed long long)__b, __a, &__cc);
 6133  return __cc <= 1;
 6134}
 6135
 6136// This prototype is deprecated.
 6137static inline __ATTRS_o_ai int
 6138vec_any_lt(__vector __bool long long __a, __vector signed long long __b) {
 6139  int __cc;
 6140  __builtin_s390_vchgs(__b, (__vector signed long long)__a, &__cc);
 6141  return __cc <= 1;
 6142}
 6143
 6144static inline __ATTRS_o_ai int
 6145vec_any_lt(__vector unsigned long long __a, __vector unsigned long long __b) {
 6146  int __cc;
 6147  __builtin_s390_vchlgs(__b, __a, &__cc);
 6148  return __cc <= 1;
 6149}
 6150
 6151// This prototype is deprecated.
 6152static inline __ATTRS_o_ai int
 6153vec_any_lt(__vector unsigned long long __a, __vector __bool long long __b) {
 6154  int __cc;
 6155  __builtin_s390_vchlgs((__vector unsigned long long)__b, __a, &__cc);
 6156  return __cc <= 1;
 6157}
 6158
 6159// This prototype is deprecated.
 6160static inline __ATTRS_o_ai int
 6161vec_any_lt(__vector __bool long long __a, __vector unsigned long long __b) {
 6162  int __cc;
 6163  __builtin_s390_vchlgs(__b, (__vector unsigned long long)__a, &__cc);
 6164  return __cc <= 1;
 6165}
 6166
 6167// This prototype is deprecated.
 6168static inline __ATTRS_o_ai int
 6169vec_any_lt(__vector __bool long long __a, __vector __bool long long __b) {
 6170  int __cc;
 6171  __builtin_s390_vchlgs((__vector unsigned long long)__b,
 6172                        (__vector unsigned long long)__a, &__cc);
 6173  return __cc <= 1;
 6174}
 6175
 6176#if __ARCH__ >= 15
 6177static inline __ATTRS_o_ai int
 6178vec_any_lt(__vector signed __int128 __a, __vector signed __int128 __b) {
 6179  int __cc;
 6180  __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);
 6181  return __cc <= 1;
 6182}
 6183
 6184static inline __ATTRS_o_ai int
 6185vec_any_lt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 6186  int __cc;
 6187  __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);
 6188  return __cc <= 1;
 6189}
 6190#endif
 6191
 6192#if __ARCH__ >= 12
 6193static inline __ATTRS_o_ai int
 6194vec_any_lt(__vector float __a, __vector float __b) {
 6195  int __cc;
 6196  __builtin_s390_vfchsbs(__b, __a, &__cc);
 6197  return __cc <= 1;
 6198}
 6199#endif
 6200
 6201static inline __ATTRS_o_ai int
 6202vec_any_lt(__vector double __a, __vector double __b) {
 6203  int __cc;
 6204  __builtin_s390_vfchdbs(__b, __a, &__cc);
 6205  return __cc <= 1;
 6206}
 6207
 6208/*-- vec_any_nge ------------------------------------------------------------*/
 6209
 6210#if __ARCH__ >= 12
 6211static inline __ATTRS_o_ai int
 6212vec_any_nge(__vector float __a, __vector float __b) {
 6213  int __cc;
 6214  __builtin_s390_vfchesbs(__a, __b, &__cc);
 6215  return __cc != 0;
 6216}
 6217#endif
 6218
 6219static inline __ATTRS_o_ai int
 6220vec_any_nge(__vector double __a, __vector double __b) {
 6221  int __cc;
 6222  __builtin_s390_vfchedbs(__a, __b, &__cc);
 6223  return __cc != 0;
 6224}
 6225
 6226/*-- vec_any_ngt ------------------------------------------------------------*/
 6227
 6228#if __ARCH__ >= 12
 6229static inline __ATTRS_o_ai int
 6230vec_any_ngt(__vector float __a, __vector float __b) {
 6231  int __cc;
 6232  __builtin_s390_vfchsbs(__a, __b, &__cc);
 6233  return __cc != 0;
 6234}
 6235#endif
 6236
 6237static inline __ATTRS_o_ai int
 6238vec_any_ngt(__vector double __a, __vector double __b) {
 6239  int __cc;
 6240  __builtin_s390_vfchdbs(__a, __b, &__cc);
 6241  return __cc != 0;
 6242}
 6243
 6244/*-- vec_any_nle ------------------------------------------------------------*/
 6245
 6246#if __ARCH__ >= 12
 6247static inline __ATTRS_o_ai int
 6248vec_any_nle(__vector float __a, __vector float __b) {
 6249  int __cc;
 6250  __builtin_s390_vfchesbs(__b, __a, &__cc);
 6251  return __cc != 0;
 6252}
 6253#endif
 6254
 6255static inline __ATTRS_o_ai int
 6256vec_any_nle(__vector double __a, __vector double __b) {
 6257  int __cc;
 6258  __builtin_s390_vfchedbs(__b, __a, &__cc);
 6259  return __cc != 0;
 6260}
 6261
 6262/*-- vec_any_nlt ------------------------------------------------------------*/
 6263
 6264#if __ARCH__ >= 12
 6265static inline __ATTRS_o_ai int
 6266vec_any_nlt(__vector float __a, __vector float __b) {
 6267  int __cc;
 6268  __builtin_s390_vfchsbs(__b, __a, &__cc);
 6269  return __cc != 0;
 6270}
 6271#endif
 6272
 6273static inline __ATTRS_o_ai int
 6274vec_any_nlt(__vector double __a, __vector double __b) {
 6275  int __cc;
 6276  __builtin_s390_vfchdbs(__b, __a, &__cc);
 6277  return __cc != 0;
 6278}
 6279
 6280/*-- vec_any_nan ------------------------------------------------------------*/
 6281
 6282#if __ARCH__ >= 12
 6283static inline __ATTRS_o_ai int
 6284vec_any_nan(__vector float __a) {
 6285  int __cc;
 6286  __builtin_s390_vftcisb(__a, 15, &__cc);
 6287  return __cc != 3;
 6288}
 6289#endif
 6290
 6291static inline __ATTRS_o_ai int
 6292vec_any_nan(__vector double __a) {
 6293  int __cc;
 6294  __builtin_s390_vftcidb(__a, 15, &__cc);
 6295  return __cc != 3;
 6296}
 6297
 6298/*-- vec_any_numeric --------------------------------------------------------*/
 6299
 6300#if __ARCH__ >= 12
 6301static inline __ATTRS_o_ai int
 6302vec_any_numeric(__vector float __a) {
 6303  int __cc;
 6304  __builtin_s390_vftcisb(__a, 15, &__cc);
 6305  return __cc != 0;
 6306}
 6307#endif
 6308
 6309static inline __ATTRS_o_ai int
 6310vec_any_numeric(__vector double __a) {
 6311  int __cc;
 6312  __builtin_s390_vftcidb(__a, 15, &__cc);
 6313  return __cc != 0;
 6314}
 6315
 6316/*-- vec_blend --------------------------------------------------------------*/
 6317
 6318#if __ARCH__ >= 15
 6319static inline __ATTRS_o_ai __vector signed char
 6320vec_blend(__vector signed char __a, __vector signed char __b,
 6321          __vector signed char __c) {
 6322  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed char)0));
 6323}
 6324
 6325static inline __ATTRS_o_ai __vector __bool char
 6326vec_blend(__vector __bool char __a, __vector __bool char __b,
 6327          __vector signed char __c) {
 6328  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed char)0));
 6329}
 6330
 6331static inline __ATTRS_o_ai __vector unsigned char
 6332vec_blend(__vector unsigned char __a, __vector unsigned char __b,
 6333          __vector signed char __c) {
 6334  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed char)0));
 6335}
 6336
 6337static inline __ATTRS_o_ai __vector signed short
 6338vec_blend(__vector signed short __a, __vector signed short __b,
 6339          __vector signed short __c) {
 6340  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed short)0));
 6341}
 6342
 6343static inline __ATTRS_o_ai __vector __bool short
 6344vec_blend(__vector __bool short __a, __vector __bool short __b,
 6345          __vector signed short __c) {
 6346  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed short)0));
 6347}
 6348
 6349static inline __ATTRS_o_ai __vector unsigned short
 6350vec_blend(__vector unsigned short __a, __vector unsigned short __b,
 6351          __vector signed short __c) {
 6352  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed short)0));
 6353}
 6354
 6355static inline __ATTRS_o_ai __vector signed int
 6356vec_blend(__vector signed int __a, __vector signed int __b,
 6357          __vector signed int __c) {
 6358  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));
 6359}
 6360
 6361static inline __ATTRS_o_ai __vector __bool int
 6362vec_blend(__vector __bool int __a, __vector __bool int __b,
 6363          __vector signed int __c) {
 6364  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));
 6365}
 6366
 6367static inline __ATTRS_o_ai __vector unsigned int
 6368vec_blend(__vector unsigned int __a, __vector unsigned int __b,
 6369          __vector signed int __c) {
 6370  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));
 6371}
 6372
 6373static inline __ATTRS_o_ai __vector signed long long
 6374vec_blend(__vector signed long long __a, __vector signed long long __b,
 6375          __vector signed long long __c) {
 6376  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));
 6377}
 6378
 6379static inline __ATTRS_o_ai __vector __bool long long
 6380vec_blend(__vector __bool long long __a, __vector __bool long long __b,
 6381          __vector signed long long __c) {
 6382  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));
 6383}
 6384
 6385static inline __ATTRS_o_ai __vector unsigned long long
 6386vec_blend(__vector unsigned long long __a, __vector unsigned long long __b,
 6387          __vector signed long long __c) {
 6388  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));
 6389}
 6390
 6391static inline __ATTRS_o_ai __vector signed __int128
 6392vec_blend(__vector signed __int128 __a, __vector signed __int128 __b,
 6393          __vector signed __int128 __c) {
 6394  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed __int128)0));
 6395}
 6396
 6397static inline __ATTRS_o_ai __vector __bool __int128
 6398vec_blend(__vector __bool __int128 __a, __vector __bool __int128 __b,
 6399          __vector signed __int128 __c) {
 6400  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed __int128)0));
 6401}
 6402
 6403static inline __ATTRS_o_ai __vector unsigned __int128
 6404vec_blend(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
 6405          __vector signed __int128 __c) {
 6406  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed __int128)0));
 6407}
 6408
 6409static inline __ATTRS_o_ai __vector float
 6410vec_blend(__vector float __a, __vector float __b,
 6411          __vector signed int __c) {
 6412  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));
 6413}
 6414
 6415static inline __ATTRS_o_ai __vector double
 6416vec_blend(__vector double __a, __vector double __b,
 6417          __vector signed long long __c) {
 6418  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));
 6419}
 6420#endif
 6421
 6422/*-- vec_and ---------------------------------------------------------------*/
 6423
 6424static inline __ATTRS_o_ai __vector __bool char
 6425vec_and(__vector __bool char __a, __vector __bool char __b) {
 6426  return __a & __b;
 6427}
 6428
 6429static inline __ATTRS_o_ai __vector signed char
 6430vec_and(__vector signed char __a, __vector signed char __b) {
 6431  return __a & __b;
 6432}
 6433
 6434static inline __ATTRS_o_ai __vector unsigned char
 6435vec_and(__vector unsigned char __a, __vector unsigned char __b) {
 6436  return __a & __b;
 6437}
 6438
 6439static inline __ATTRS_o_ai __vector __bool short
 6440vec_and(__vector __bool short __a, __vector __bool short __b) {
 6441  return __a & __b;
 6442}
 6443
 6444static inline __ATTRS_o_ai __vector signed short
 6445vec_and(__vector signed short __a, __vector signed short __b) {
 6446  return __a & __b;
 6447}
 6448
 6449static inline __ATTRS_o_ai __vector unsigned short
 6450vec_and(__vector unsigned short __a, __vector unsigned short __b) {
 6451  return __a & __b;
 6452}
 6453
 6454static inline __ATTRS_o_ai __vector __bool int
 6455vec_and(__vector __bool int __a, __vector __bool int __b) {
 6456  return __a & __b;
 6457}
 6458
 6459static inline __ATTRS_o_ai __vector signed int
 6460vec_and(__vector signed int __a, __vector signed int __b) {
 6461  return __a & __b;
 6462}
 6463
 6464static inline __ATTRS_o_ai __vector unsigned int
 6465vec_and(__vector unsigned int __a, __vector unsigned int __b) {
 6466  return __a & __b;
 6467}
 6468
 6469static inline __ATTRS_o_ai __vector __bool long long
 6470vec_and(__vector __bool long long __a, __vector __bool long long __b) {
 6471  return __a & __b;
 6472}
 6473
 6474static inline __ATTRS_o_ai __vector signed long long
 6475vec_and(__vector signed long long __a, __vector signed long long __b) {
 6476  return __a & __b;
 6477}
 6478
 6479static inline __ATTRS_o_ai __vector unsigned long long
 6480vec_and(__vector unsigned long long __a, __vector unsigned long long __b) {
 6481  return __a & __b;
 6482}
 6483
 6484static inline __ATTRS_o_ai __vector __bool __int128
 6485vec_and(__vector __bool __int128 __a, __vector __bool __int128 __b) {
 6486  return __a & __b;
 6487}
 6488
 6489static inline __ATTRS_o_ai __vector signed __int128
 6490vec_and(__vector signed __int128 __a, __vector signed __int128 __b) {
 6491  return __a & __b;
 6492}
 6493
 6494static inline __ATTRS_o_ai __vector unsigned __int128
 6495vec_and(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 6496  return __a & __b;
 6497}
 6498
 6499#if __ARCH__ >= 12
 6500static inline __ATTRS_o_ai __vector float
 6501vec_and(__vector float __a, __vector float __b) {
 6502  return (__vector float)((__vector unsigned int)__a &
 6503                          (__vector unsigned int)__b);
 6504}
 6505#endif
 6506
 6507static inline __ATTRS_o_ai __vector double
 6508vec_and(__vector double __a, __vector double __b) {
 6509  return (__vector double)((__vector unsigned long long)__a &
 6510                           (__vector unsigned long long)__b);
 6511}
 6512
 6513/*-- vec_or ----------------------------------------------------------------*/
 6514
 6515static inline __ATTRS_o_ai __vector __bool char
 6516vec_or(__vector __bool char __a, __vector __bool char __b) {
 6517  return __a | __b;
 6518}
 6519
 6520static inline __ATTRS_o_ai __vector signed char
 6521vec_or(__vector signed char __a, __vector signed char __b) {
 6522  return __a | __b;
 6523}
 6524
 6525static inline __ATTRS_o_ai __vector unsigned char
 6526vec_or(__vector unsigned char __a, __vector unsigned char __b) {
 6527  return __a | __b;
 6528}
 6529
 6530static inline __ATTRS_o_ai __vector __bool short
 6531vec_or(__vector __bool short __a, __vector __bool short __b) {
 6532  return __a | __b;
 6533}
 6534
 6535static inline __ATTRS_o_ai __vector signed short
 6536vec_or(__vector signed short __a, __vector signed short __b) {
 6537  return __a | __b;
 6538}
 6539
 6540static inline __ATTRS_o_ai __vector unsigned short
 6541vec_or(__vector unsigned short __a, __vector unsigned short __b) {
 6542  return __a | __b;
 6543}
 6544
 6545static inline __ATTRS_o_ai __vector __bool int
 6546vec_or(__vector __bool int __a, __vector __bool int __b) {
 6547  return __a | __b;
 6548}
 6549
 6550static inline __ATTRS_o_ai __vector signed int
 6551vec_or(__vector signed int __a, __vector signed int __b) {
 6552  return __a | __b;
 6553}
 6554
 6555static inline __ATTRS_o_ai __vector unsigned int
 6556vec_or(__vector unsigned int __a, __vector unsigned int __b) {
 6557  return __a | __b;
 6558}
 6559
 6560static inline __ATTRS_o_ai __vector __bool long long
 6561vec_or(__vector __bool long long __a, __vector __bool long long __b) {
 6562  return __a | __b;
 6563}
 6564
 6565static inline __ATTRS_o_ai __vector signed long long
 6566vec_or(__vector signed long long __a, __vector signed long long __b) {
 6567  return __a | __b;
 6568}
 6569
 6570static inline __ATTRS_o_ai __vector unsigned long long
 6571vec_or(__vector unsigned long long __a, __vector unsigned long long __b) {
 6572  return __a | __b;
 6573}
 6574
 6575static inline __ATTRS_o_ai __vector __bool __int128
 6576vec_or(__vector __bool __int128 __a, __vector __bool __int128 __b) {
 6577  return __a | __b;
 6578}
 6579
 6580static inline __ATTRS_o_ai __vector signed __int128
 6581vec_or(__vector signed __int128 __a, __vector signed __int128 __b) {
 6582  return __a | __b;
 6583}
 6584
 6585static inline __ATTRS_o_ai __vector unsigned __int128
 6586vec_or(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 6587  return __a | __b;
 6588}
 6589
 6590#if __ARCH__ >= 12
 6591static inline __ATTRS_o_ai __vector float
 6592vec_or(__vector float __a, __vector float __b) {
 6593  return (__vector float)((__vector unsigned int)__a |
 6594                          (__vector unsigned int)__b);
 6595}
 6596#endif
 6597
 6598static inline __ATTRS_o_ai __vector double
 6599vec_or(__vector double __a, __vector double __b) {
 6600  return (__vector double)((__vector unsigned long long)__a |
 6601                           (__vector unsigned long long)__b);
 6602}
 6603
 6604/*-- vec_xor ----------------------------------------------------------------*/
 6605
 6606static inline __ATTRS_o_ai __vector __bool char
 6607vec_xor(__vector __bool char __a, __vector __bool char __b) {
 6608  return __a ^ __b;
 6609}
 6610
 6611static inline __ATTRS_o_ai __vector signed char
 6612vec_xor(__vector signed char __a, __vector signed char __b) {
 6613  return __a ^ __b;
 6614}
 6615
 6616static inline __ATTRS_o_ai __vector unsigned char
 6617vec_xor(__vector unsigned char __a, __vector unsigned char __b) {
 6618  return __a ^ __b;
 6619}
 6620
 6621static inline __ATTRS_o_ai __vector __bool short
 6622vec_xor(__vector __bool short __a, __vector __bool short __b) {
 6623  return __a ^ __b;
 6624}
 6625
 6626static inline __ATTRS_o_ai __vector signed short
 6627vec_xor(__vector signed short __a, __vector signed short __b) {
 6628  return __a ^ __b;
 6629}
 6630
 6631static inline __ATTRS_o_ai __vector unsigned short
 6632vec_xor(__vector unsigned short __a, __vector unsigned short __b) {
 6633  return __a ^ __b;
 6634}
 6635
 6636static inline __ATTRS_o_ai __vector __bool int
 6637vec_xor(__vector __bool int __a, __vector __bool int __b) {
 6638  return __a ^ __b;
 6639}
 6640
 6641static inline __ATTRS_o_ai __vector signed int
 6642vec_xor(__vector signed int __a, __vector signed int __b) {
 6643  return __a ^ __b;
 6644}
 6645
 6646static inline __ATTRS_o_ai __vector unsigned int
 6647vec_xor(__vector unsigned int __a, __vector unsigned int __b) {
 6648  return __a ^ __b;
 6649}
 6650
 6651static inline __ATTRS_o_ai __vector __bool long long
 6652vec_xor(__vector __bool long long __a, __vector __bool long long __b) {
 6653  return __a ^ __b;
 6654}
 6655
 6656static inline __ATTRS_o_ai __vector signed long long
 6657vec_xor(__vector signed long long __a, __vector signed long long __b) {
 6658  return __a ^ __b;
 6659}
 6660
 6661static inline __ATTRS_o_ai __vector unsigned long long
 6662vec_xor(__vector unsigned long long __a, __vector unsigned long long __b) {
 6663  return __a ^ __b;
 6664}
 6665
 6666static inline __ATTRS_o_ai __vector __bool __int128
 6667vec_xor(__vector __bool __int128 __a, __vector __bool __int128 __b) {
 6668  return __a ^ __b;
 6669}
 6670
 6671static inline __ATTRS_o_ai __vector signed __int128
 6672vec_xor(__vector signed __int128 __a, __vector signed __int128 __b) {
 6673  return __a ^ __b;
 6674}
 6675
 6676static inline __ATTRS_o_ai __vector unsigned __int128
 6677vec_xor(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 6678  return __a ^ __b;
 6679}
 6680
 6681#if __ARCH__ >= 12
 6682static inline __ATTRS_o_ai __vector float
 6683vec_xor(__vector float __a, __vector float __b) {
 6684  return (__vector float)((__vector unsigned int)__a ^
 6685                          (__vector unsigned int)__b);
 6686}
 6687#endif
 6688
 6689static inline __ATTRS_o_ai __vector double
 6690vec_xor(__vector double __a, __vector double __b) {
 6691  return (__vector double)((__vector unsigned long long)__a ^
 6692                           (__vector unsigned long long)__b);
 6693}
 6694
 6695/*-- vec_andc ---------------------------------------------------------------*/
 6696
 6697static inline __ATTRS_o_ai __vector __bool char
 6698vec_andc(__vector __bool char __a, __vector __bool char __b) {
 6699  return __a & ~__b;
 6700}
 6701
 6702static inline __ATTRS_o_ai __vector signed char
 6703vec_andc(__vector signed char __a, __vector signed char __b) {
 6704  return __a & ~__b;
 6705}
 6706
 6707// This prototype is deprecated.
 6708static inline __ATTRS_o_ai __vector signed char
 6709vec_andc(__vector __bool char __a, __vector signed char __b) {
 6710  return __a & ~__b;
 6711}
 6712
 6713// This prototype is deprecated.
 6714static inline __ATTRS_o_ai __vector signed char
 6715vec_andc(__vector signed char __a, __vector __bool char __b) {
 6716  return __a & ~__b;
 6717}
 6718
 6719static inline __ATTRS_o_ai __vector unsigned char
 6720vec_andc(__vector unsigned char __a, __vector unsigned char __b) {
 6721  return __a & ~__b;
 6722}
 6723
 6724// This prototype is deprecated.
 6725static inline __ATTRS_o_ai __vector unsigned char
 6726vec_andc(__vector __bool char __a, __vector unsigned char __b) {
 6727  return __a & ~__b;
 6728}
 6729
 6730// This prototype is deprecated.
 6731static inline __ATTRS_o_ai __vector unsigned char
 6732vec_andc(__vector unsigned char __a, __vector __bool char __b) {
 6733  return __a & ~__b;
 6734}
 6735
 6736static inline __ATTRS_o_ai __vector __bool short
 6737vec_andc(__vector __bool short __a, __vector __bool short __b) {
 6738  return __a & ~__b;
 6739}
 6740
 6741static inline __ATTRS_o_ai __vector signed short
 6742vec_andc(__vector signed short __a, __vector signed short __b) {
 6743  return __a & ~__b;
 6744}
 6745
 6746// This prototype is deprecated.
 6747static inline __ATTRS_o_ai __vector signed short
 6748vec_andc(__vector __bool short __a, __vector signed short __b) {
 6749  return __a & ~__b;
 6750}
 6751
 6752// This prototype is deprecated.
 6753static inline __ATTRS_o_ai __vector signed short
 6754vec_andc(__vector signed short __a, __vector __bool short __b) {
 6755  return __a & ~__b;
 6756}
 6757
 6758static inline __ATTRS_o_ai __vector unsigned short
 6759vec_andc(__vector unsigned short __a, __vector unsigned short __b) {
 6760  return __a & ~__b;
 6761}
 6762
 6763// This prototype is deprecated.
 6764static inline __ATTRS_o_ai __vector unsigned short
 6765vec_andc(__vector __bool short __a, __vector unsigned short __b) {
 6766  return __a & ~__b;
 6767}
 6768
 6769// This prototype is deprecated.
 6770static inline __ATTRS_o_ai __vector unsigned short
 6771vec_andc(__vector unsigned short __a, __vector __bool short __b) {
 6772  return __a & ~__b;
 6773}
 6774
 6775static inline __ATTRS_o_ai __vector __bool int
 6776vec_andc(__vector __bool int __a, __vector __bool int __b) {
 6777  return __a & ~__b;
 6778}
 6779
 6780static inline __ATTRS_o_ai __vector signed int
 6781vec_andc(__vector signed int __a, __vector signed int __b) {
 6782  return __a & ~__b;
 6783}
 6784
 6785// This prototype is deprecated.
 6786static inline __ATTRS_o_ai __vector signed int
 6787vec_andc(__vector __bool int __a, __vector signed int __b) {
 6788  return __a & ~__b;
 6789}
 6790
 6791// This prototype is deprecated.
 6792static inline __ATTRS_o_ai __vector signed int
 6793vec_andc(__vector signed int __a, __vector __bool int __b) {
 6794  return __a & ~__b;
 6795}
 6796
 6797static inline __ATTRS_o_ai __vector unsigned int
 6798vec_andc(__vector unsigned int __a, __vector unsigned int __b) {
 6799  return __a & ~__b;
 6800}
 6801
 6802// This prototype is deprecated.
 6803static inline __ATTRS_o_ai __vector unsigned int
 6804vec_andc(__vector __bool int __a, __vector unsigned int __b) {
 6805  return __a & ~__b;
 6806}
 6807
 6808// This prototype is deprecated.
 6809static inline __ATTRS_o_ai __vector unsigned int
 6810vec_andc(__vector unsigned int __a, __vector __bool int __b) {
 6811  return __a & ~__b;
 6812}
 6813
 6814static inline __ATTRS_o_ai __vector __bool long long
 6815vec_andc(__vector __bool long long __a, __vector __bool long long __b) {
 6816  return __a & ~__b;
 6817}
 6818
 6819static inline __ATTRS_o_ai __vector signed long long
 6820vec_andc(__vector signed long long __a, __vector signed long long __b) {
 6821  return __a & ~__b;
 6822}
 6823
 6824// This prototype is deprecated.
 6825static inline __ATTRS_o_ai __vector signed long long
 6826vec_andc(__vector __bool long long __a, __vector signed long long __b) {
 6827  return __a & ~__b;
 6828}
 6829
 6830// This prototype is deprecated.
 6831static inline __ATTRS_o_ai __vector signed long long
 6832vec_andc(__vector signed long long __a, __vector __bool long long __b) {
 6833  return __a & ~__b;
 6834}
 6835
 6836static inline __ATTRS_o_ai __vector unsigned long long
 6837vec_andc(__vector unsigned long long __a, __vector unsigned long long __b) {
 6838  return __a & ~__b;
 6839}
 6840
 6841// This prototype is deprecated.
 6842static inline __ATTRS_o_ai __vector unsigned long long
 6843vec_andc(__vector __bool long long __a, __vector unsigned long long __b) {
 6844  return __a & ~__b;
 6845}
 6846
 6847// This prototype is deprecated.
 6848static inline __ATTRS_o_ai __vector unsigned long long
 6849vec_andc(__vector unsigned long long __a, __vector __bool long long __b) {
 6850  return __a & ~__b;
 6851}
 6852
 6853static inline __ATTRS_o_ai __vector __bool __int128
 6854vec_andc(__vector __bool __int128 __a, __vector __bool __int128 __b) {
 6855  return __a & ~__b;
 6856}
 6857
 6858static inline __ATTRS_o_ai __vector signed __int128
 6859vec_andc(__vector signed __int128 __a, __vector signed __int128 __b) {
 6860  return __a & ~__b;
 6861}
 6862
 6863static inline __ATTRS_o_ai __vector unsigned __int128
 6864vec_andc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 6865  return __a & ~__b;
 6866}
 6867
 6868#if __ARCH__ >= 12
 6869static inline __ATTRS_o_ai __vector float
 6870vec_andc(__vector float __a, __vector float __b) {
 6871  return (__vector float)((__vector unsigned int)__a &
 6872                         ~(__vector unsigned int)__b);
 6873}
 6874#endif
 6875
 6876static inline __ATTRS_o_ai __vector double
 6877vec_andc(__vector double __a, __vector double __b) {
 6878  return (__vector double)((__vector unsigned long long)__a &
 6879                         ~(__vector unsigned long long)__b);
 6880}
 6881
 6882// This prototype is deprecated.
 6883static inline __ATTRS_o_ai __vector double
 6884vec_andc(__vector __bool long long __a, __vector double __b) {
 6885  return (__vector double)((__vector unsigned long long)__a &
 6886                         ~(__vector unsigned long long)__b);
 6887}
 6888
 6889// This prototype is deprecated.
 6890static inline __ATTRS_o_ai __vector double
 6891vec_andc(__vector double __a, __vector __bool long long __b) {
 6892  return (__vector double)((__vector unsigned long long)__a &
 6893                         ~(__vector unsigned long long)__b);
 6894}
 6895
 6896/*-- vec_nor ----------------------------------------------------------------*/
 6897
 6898static inline __ATTRS_o_ai __vector __bool char
 6899vec_nor(__vector __bool char __a, __vector __bool char __b) {
 6900  return ~(__a | __b);
 6901}
 6902
 6903static inline __ATTRS_o_ai __vector signed char
 6904vec_nor(__vector signed char __a, __vector signed char __b) {
 6905  return ~(__a | __b);
 6906}
 6907
 6908// This prototype is deprecated.
 6909static inline __ATTRS_o_ai __vector signed char
 6910vec_nor(__vector __bool char __a, __vector signed char __b) {
 6911  return ~(__a | __b);
 6912}
 6913
 6914// This prototype is deprecated.
 6915static inline __ATTRS_o_ai __vector signed char
 6916vec_nor(__vector signed char __a, __vector __bool char __b) {
 6917  return ~(__a | __b);
 6918}
 6919
 6920static inline __ATTRS_o_ai __vector unsigned char
 6921vec_nor(__vector unsigned char __a, __vector unsigned char __b) {
 6922  return ~(__a | __b);
 6923}
 6924
 6925// This prototype is deprecated.
 6926static inline __ATTRS_o_ai __vector unsigned char
 6927vec_nor(__vector __bool char __a, __vector unsigned char __b) {
 6928  return ~(__a | __b);
 6929}
 6930
 6931// This prototype is deprecated.
 6932static inline __ATTRS_o_ai __vector unsigned char
 6933vec_nor(__vector unsigned char __a, __vector __bool char __b) {
 6934  return ~(__a | __b);
 6935}
 6936
 6937static inline __ATTRS_o_ai __vector __bool short
 6938vec_nor(__vector __bool short __a, __vector __bool short __b) {
 6939  return ~(__a | __b);
 6940}
 6941
 6942static inline __ATTRS_o_ai __vector signed short
 6943vec_nor(__vector signed short __a, __vector signed short __b) {
 6944  return ~(__a | __b);
 6945}
 6946
 6947// This prototype is deprecated.
 6948static inline __ATTRS_o_ai __vector signed short
 6949vec_nor(__vector __bool short __a, __vector signed short __b) {
 6950  return ~(__a | __b);
 6951}
 6952
 6953// This prototype is deprecated.
 6954static inline __ATTRS_o_ai __vector signed short
 6955vec_nor(__vector signed short __a, __vector __bool short __b) {
 6956  return ~(__a | __b);
 6957}
 6958
 6959static inline __ATTRS_o_ai __vector unsigned short
 6960vec_nor(__vector unsigned short __a, __vector unsigned short __b) {
 6961  return ~(__a | __b);
 6962}
 6963
 6964// This prototype is deprecated.
 6965static inline __ATTRS_o_ai __vector unsigned short
 6966vec_nor(__vector __bool short __a, __vector unsigned short __b) {
 6967  return ~(__a | __b);
 6968}
 6969
 6970// This prototype is deprecated.
 6971static inline __ATTRS_o_ai __vector unsigned short
 6972vec_nor(__vector unsigned short __a, __vector __bool short __b) {
 6973  return ~(__a | __b);
 6974}
 6975
 6976static inline __ATTRS_o_ai __vector __bool int
 6977vec_nor(__vector __bool int __a, __vector __bool int __b) {
 6978  return ~(__a | __b);
 6979}
 6980
 6981static inline __ATTRS_o_ai __vector signed int
 6982vec_nor(__vector signed int __a, __vector signed int __b) {
 6983  return ~(__a | __b);
 6984}
 6985
 6986// This prototype is deprecated.
 6987static inline __ATTRS_o_ai __vector signed int
 6988vec_nor(__vector __bool int __a, __vector signed int __b) {
 6989  return ~(__a | __b);
 6990}
 6991
 6992// This prototype is deprecated.
 6993static inline __ATTRS_o_ai __vector signed int
 6994vec_nor(__vector signed int __a, __vector __bool int __b) {
 6995  return ~(__a | __b);
 6996}
 6997
 6998static inline __ATTRS_o_ai __vector unsigned int
 6999vec_nor(__vector unsigned int __a, __vector unsigned int __b) {
 7000  return ~(__a | __b);
 7001}
 7002
 7003// This prototype is deprecated.
 7004static inline __ATTRS_o_ai __vector unsigned int
 7005vec_nor(__vector __bool int __a, __vector unsigned int __b) {
 7006  return ~(__a | __b);
 7007}
 7008
 7009// This prototype is deprecated.
 7010static inline __ATTRS_o_ai __vector unsigned int
 7011vec_nor(__vector unsigned int __a, __vector __bool int __b) {
 7012  return ~(__a | __b);
 7013}
 7014
 7015static inline __ATTRS_o_ai __vector __bool long long
 7016vec_nor(__vector __bool long long __a, __vector __bool long long __b) {
 7017  return ~(__a | __b);
 7018}
 7019
 7020static inline __ATTRS_o_ai __vector signed long long
 7021vec_nor(__vector signed long long __a, __vector signed long long __b) {
 7022  return ~(__a | __b);
 7023}
 7024
 7025// This prototype is deprecated.
 7026static inline __ATTRS_o_ai __vector signed long long
 7027vec_nor(__vector __bool long long __a, __vector signed long long __b) {
 7028  return ~(__a | __b);
 7029}
 7030
 7031// This prototype is deprecated.
 7032static inline __ATTRS_o_ai __vector signed long long
 7033vec_nor(__vector signed long long __a, __vector __bool long long __b) {
 7034  return ~(__a | __b);
 7035}
 7036
 7037static inline __ATTRS_o_ai __vector unsigned long long
 7038vec_nor(__vector unsigned long long __a, __vector unsigned long long __b) {
 7039  return ~(__a | __b);
 7040}
 7041
 7042// This prototype is deprecated.
 7043static inline __ATTRS_o_ai __vector unsigned long long
 7044vec_nor(__vector __bool long long __a, __vector unsigned long long __b) {
 7045  return ~(__a | __b);
 7046}
 7047
 7048// This prototype is deprecated.
 7049static inline __ATTRS_o_ai __vector unsigned long long
 7050vec_nor(__vector unsigned long long __a, __vector __bool long long __b) {
 7051  return ~(__a | __b);
 7052}
 7053
 7054static inline __ATTRS_o_ai __vector __bool __int128
 7055vec_nor(__vector __bool __int128 __a, __vector __bool __int128 __b) {
 7056  return ~(__a | __b);
 7057}
 7058
 7059static inline __ATTRS_o_ai __vector signed __int128
 7060vec_nor(__vector signed __int128 __a, __vector signed __int128 __b) {
 7061  return ~(__a | __b);
 7062}
 7063
 7064static inline __ATTRS_o_ai __vector unsigned __int128
 7065vec_nor(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 7066  return ~(__a | __b);
 7067}
 7068
 7069#if __ARCH__ >= 12
 7070static inline __ATTRS_o_ai __vector float
 7071vec_nor(__vector float __a, __vector float __b) {
 7072  return (__vector float)~((__vector unsigned int)__a |
 7073                         (__vector unsigned int)__b);
 7074}
 7075#endif
 7076
 7077static inline __ATTRS_o_ai __vector double
 7078vec_nor(__vector double __a, __vector double __b) {
 7079  return (__vector double)~((__vector unsigned long long)__a |
 7080                          (__vector unsigned long long)__b);
 7081}
 7082
 7083// This prototype is deprecated.
 7084static inline __ATTRS_o_ai __vector double
 7085vec_nor(__vector __bool long long __a, __vector double __b) {
 7086  return (__vector double)~((__vector unsigned long long)__a |
 7087                          (__vector unsigned long long)__b);
 7088}
 7089
 7090// This prototype is deprecated.
 7091static inline __ATTRS_o_ai __vector double
 7092vec_nor(__vector double __a, __vector __bool long long __b) {
 7093  return (__vector double)~((__vector unsigned long long)__a |
 7094                          (__vector unsigned long long)__b);
 7095}
 7096
 7097/*-- vec_orc ----------------------------------------------------------------*/
 7098
 7099#if __ARCH__ >= 12
 7100static inline __ATTRS_o_ai __vector __bool char
 7101vec_orc(__vector __bool char __a, __vector __bool char __b) {
 7102  return __a | ~__b;
 7103}
 7104
 7105static inline __ATTRS_o_ai __vector signed char
 7106vec_orc(__vector signed char __a, __vector signed char __b) {
 7107  return __a | ~__b;
 7108}
 7109
 7110static inline __ATTRS_o_ai __vector unsigned char
 7111vec_orc(__vector unsigned char __a, __vector unsigned char __b) {
 7112  return __a | ~__b;
 7113}
 7114
 7115static inline __ATTRS_o_ai __vector __bool short
 7116vec_orc(__vector __bool short __a, __vector __bool short __b) {
 7117  return __a | ~__b;
 7118}
 7119
 7120static inline __ATTRS_o_ai __vector signed short
 7121vec_orc(__vector signed short __a, __vector signed short __b) {
 7122  return __a | ~__b;
 7123}
 7124
 7125static inline __ATTRS_o_ai __vector unsigned short
 7126vec_orc(__vector unsigned short __a, __vector unsigned short __b) {
 7127  return __a | ~__b;
 7128}
 7129
 7130static inline __ATTRS_o_ai __vector __bool int
 7131vec_orc(__vector __bool int __a, __vector __bool int __b) {
 7132  return __a | ~__b;
 7133}
 7134
 7135static inline __ATTRS_o_ai __vector signed int
 7136vec_orc(__vector signed int __a, __vector signed int __b) {
 7137  return __a | ~__b;
 7138}
 7139
 7140static inline __ATTRS_o_ai __vector unsigned int
 7141vec_orc(__vector unsigned int __a, __vector unsigned int __b) {
 7142  return __a | ~__b;
 7143}
 7144
 7145static inline __ATTRS_o_ai __vector __bool long long
 7146vec_orc(__vector __bool long long __a, __vector __bool long long __b) {
 7147  return __a | ~__b;
 7148}
 7149
 7150static inline __ATTRS_o_ai __vector signed long long
 7151vec_orc(__vector signed long long __a, __vector signed long long __b) {
 7152  return __a | ~__b;
 7153}
 7154
 7155static inline __ATTRS_o_ai __vector unsigned long long
 7156vec_orc(__vector unsigned long long __a, __vector unsigned long long __b) {
 7157  return __a | ~__b;
 7158}
 7159
 7160static inline __ATTRS_o_ai __vector __bool __int128
 7161vec_orc(__vector __bool __int128 __a, __vector __bool __int128 __b) {
 7162  return __a | ~__b;
 7163}
 7164
 7165static inline __ATTRS_o_ai __vector signed __int128
 7166vec_orc(__vector signed __int128 __a, __vector signed __int128 __b) {
 7167  return __a | ~__b;
 7168}
 7169
 7170static inline __ATTRS_o_ai __vector unsigned __int128
 7171vec_orc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 7172  return __a | ~__b;
 7173}
 7174
 7175static inline __ATTRS_o_ai __vector float
 7176vec_orc(__vector float __a, __vector float __b) {
 7177  return (__vector float)((__vector unsigned int)__a |
 7178                        ~(__vector unsigned int)__b);
 7179}
 7180
 7181static inline __ATTRS_o_ai __vector double
 7182vec_orc(__vector double __a, __vector double __b) {
 7183  return (__vector double)((__vector unsigned long long)__a |
 7184                         ~(__vector unsigned long long)__b);
 7185}
 7186#endif
 7187
 7188/*-- vec_nand ---------------------------------------------------------------*/
 7189
 7190#if __ARCH__ >= 12
 7191static inline __ATTRS_o_ai __vector __bool char
 7192vec_nand(__vector __bool char __a, __vector __bool char __b) {
 7193  return ~(__a & __b);
 7194}
 7195
 7196static inline __ATTRS_o_ai __vector signed char
 7197vec_nand(__vector signed char __a, __vector signed char __b) {
 7198  return ~(__a & __b);
 7199}
 7200
 7201static inline __ATTRS_o_ai __vector unsigned char
 7202vec_nand(__vector unsigned char __a, __vector unsigned char __b) {
 7203  return ~(__a & __b);
 7204}
 7205
 7206static inline __ATTRS_o_ai __vector __bool short
 7207vec_nand(__vector __bool short __a, __vector __bool short __b) {
 7208  return ~(__a & __b);
 7209}
 7210
 7211static inline __ATTRS_o_ai __vector signed short
 7212vec_nand(__vector signed short __a, __vector signed short __b) {
 7213  return ~(__a & __b);
 7214}
 7215
 7216static inline __ATTRS_o_ai __vector unsigned short
 7217vec_nand(__vector unsigned short __a, __vector unsigned short __b) {
 7218  return ~(__a & __b);
 7219}
 7220
 7221static inline __ATTRS_o_ai __vector __bool int
 7222vec_nand(__vector __bool int __a, __vector __bool int __b) {
 7223  return ~(__a & __b);
 7224}
 7225
 7226static inline __ATTRS_o_ai __vector signed int
 7227vec_nand(__vector signed int __a, __vector signed int __b) {
 7228  return ~(__a & __b);
 7229}
 7230
 7231static inline __ATTRS_o_ai __vector unsigned int
 7232vec_nand(__vector unsigned int __a, __vector unsigned int __b) {
 7233  return ~(__a & __b);
 7234}
 7235
 7236static inline __ATTRS_o_ai __vector __bool long long
 7237vec_nand(__vector __bool long long __a, __vector __bool long long __b) {
 7238  return ~(__a & __b);
 7239}
 7240
 7241static inline __ATTRS_o_ai __vector signed long long
 7242vec_nand(__vector signed long long __a, __vector signed long long __b) {
 7243  return ~(__a & __b);
 7244}
 7245
 7246static inline __ATTRS_o_ai __vector unsigned long long
 7247vec_nand(__vector unsigned long long __a, __vector unsigned long long __b) {
 7248  return ~(__a & __b);
 7249}
 7250
 7251static inline __ATTRS_o_ai __vector __bool __int128
 7252vec_nand(__vector __bool __int128 __a, __vector __bool __int128 __b) {
 7253  return ~(__a & __b);
 7254}
 7255
 7256static inline __ATTRS_o_ai __vector signed __int128
 7257vec_nand(__vector signed __int128 __a, __vector signed __int128 __b) {
 7258  return ~(__a & __b);
 7259}
 7260
 7261static inline __ATTRS_o_ai __vector unsigned __int128
 7262vec_nand(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 7263  return ~(__a & __b);
 7264}
 7265
 7266static inline __ATTRS_o_ai __vector float
 7267vec_nand(__vector float __a, __vector float __b) {
 7268  return (__vector float)~((__vector unsigned int)__a &
 7269                         (__vector unsigned int)__b);
 7270}
 7271
 7272static inline __ATTRS_o_ai __vector double
 7273vec_nand(__vector double __a, __vector double __b) {
 7274  return (__vector double)~((__vector unsigned long long)__a &
 7275                          (__vector unsigned long long)__b);
 7276}
 7277#endif
 7278
 7279/*-- vec_eqv ----------------------------------------------------------------*/
 7280
 7281#if __ARCH__ >= 12
 7282static inline __ATTRS_o_ai __vector __bool char
 7283vec_eqv(__vector __bool char __a, __vector __bool char __b) {
 7284  return ~(__a ^ __b);
 7285}
 7286
 7287static inline __ATTRS_o_ai __vector signed char
 7288vec_eqv(__vector signed char __a, __vector signed char __b) {
 7289  return ~(__a ^ __b);
 7290}
 7291
 7292static inline __ATTRS_o_ai __vector unsigned char
 7293vec_eqv(__vector unsigned char __a, __vector unsigned char __b) {
 7294  return ~(__a ^ __b);
 7295}
 7296
 7297static inline __ATTRS_o_ai __vector __bool short
 7298vec_eqv(__vector __bool short __a, __vector __bool short __b) {
 7299  return ~(__a ^ __b);
 7300}
 7301
 7302static inline __ATTRS_o_ai __vector signed short
 7303vec_eqv(__vector signed short __a, __vector signed short __b) {
 7304  return ~(__a ^ __b);
 7305}
 7306
 7307static inline __ATTRS_o_ai __vector unsigned short
 7308vec_eqv(__vector unsigned short __a, __vector unsigned short __b) {
 7309  return ~(__a ^ __b);
 7310}
 7311
 7312static inline __ATTRS_o_ai __vector __bool int
 7313vec_eqv(__vector __bool int __a, __vector __bool int __b) {
 7314  return ~(__a ^ __b);
 7315}
 7316
 7317static inline __ATTRS_o_ai __vector signed int
 7318vec_eqv(__vector signed int __a, __vector signed int __b) {
 7319  return ~(__a ^ __b);
 7320}
 7321
 7322static inline __ATTRS_o_ai __vector unsigned int
 7323vec_eqv(__vector unsigned int __a, __vector unsigned int __b) {
 7324  return ~(__a ^ __b);
 7325}
 7326
 7327static inline __ATTRS_o_ai __vector __bool long long
 7328vec_eqv(__vector __bool long long __a, __vector __bool long long __b) {
 7329  return ~(__a ^ __b);
 7330}
 7331
 7332static inline __ATTRS_o_ai __vector signed long long
 7333vec_eqv(__vector signed long long __a, __vector signed long long __b) {
 7334  return ~(__a ^ __b);
 7335}
 7336
 7337static inline __ATTRS_o_ai __vector unsigned long long
 7338vec_eqv(__vector unsigned long long __a, __vector unsigned long long __b) {
 7339  return ~(__a ^ __b);
 7340}
 7341
 7342static inline __ATTRS_o_ai __vector __bool __int128
 7343vec_eqv(__vector __bool __int128 __a, __vector __bool __int128 __b) {
 7344  return ~(__a ^ __b);
 7345}
 7346
 7347static inline __ATTRS_o_ai __vector signed __int128
 7348vec_eqv(__vector signed __int128 __a, __vector signed __int128 __b) {
 7349  return ~(__a ^ __b);
 7350}
 7351
 7352static inline __ATTRS_o_ai __vector unsigned __int128
 7353vec_eqv(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 7354  return ~(__a ^ __b);
 7355}
 7356
 7357static inline __ATTRS_o_ai __vector float
 7358vec_eqv(__vector float __a, __vector float __b) {
 7359  return (__vector float)~((__vector unsigned int)__a ^
 7360                         (__vector unsigned int)__b);
 7361}
 7362
 7363static inline __ATTRS_o_ai __vector double
 7364vec_eqv(__vector double __a, __vector double __b) {
 7365  return (__vector double)~((__vector unsigned long long)__a ^
 7366                          (__vector unsigned long long)__b);
 7367}
 7368#endif
 7369
 7370/*-- vec_evaluate -----------------------------------------------------------*/
 7371
 7372#if __ARCH__ >= 15
 7373extern __ATTRS_o __vector signed char
 7374vec_evaluate(__vector signed char __a, __vector signed char __b,
 7375             __vector signed char __c, unsigned char __d)
 7376  __constant(__d);
 7377
 7378extern __ATTRS_o __vector unsigned char
 7379vec_evaluate(__vector unsigned char __a, __vector unsigned char __b,
 7380             __vector unsigned char __c, unsigned char __d)
 7381  __constant(__d);
 7382
 7383extern __ATTRS_o __vector __bool char
 7384vec_evaluate(__vector __bool char __a, __vector __bool char __b,
 7385             __vector __bool char __c, unsigned char __d)
 7386  __constant(__d);
 7387
 7388extern __ATTRS_o __vector signed short
 7389vec_evaluate(__vector signed short __a, __vector signed short __b,
 7390             __vector signed short __c, unsigned char __d)
 7391  __constant(__d);
 7392
 7393extern __ATTRS_o __vector unsigned short
 7394vec_evaluate(__vector unsigned short __a, __vector unsigned short __b,
 7395             __vector unsigned short __c, unsigned char __d)
 7396  __constant(__d);
 7397
 7398extern __ATTRS_o __vector __bool short
 7399vec_evaluate(__vector __bool short __a, __vector __bool short __b,
 7400             __vector __bool short __c, unsigned char __d)
 7401  __constant(__d);
 7402
 7403extern __ATTRS_o __vector signed int
 7404vec_evaluate(__vector signed int __a, __vector signed int __b,
 7405             __vector signed int __c, unsigned char __d)
 7406  __constant(__d);
 7407
 7408extern __ATTRS_o __vector unsigned int
 7409vec_evaluate(__vector unsigned int __a, __vector unsigned int __b,
 7410             __vector unsigned int __c, unsigned char __d)
 7411  __constant(__d);
 7412
 7413extern __ATTRS_o __vector __bool int
 7414vec_evaluate(__vector __bool int __a, __vector __bool int __b,
 7415             __vector __bool int __c, unsigned char __d)
 7416  __constant(__d);
 7417
 7418extern __ATTRS_o __vector signed long long
 7419vec_evaluate(__vector signed long long __a, __vector signed long long __b,
 7420             __vector signed long long __c, unsigned char __d)
 7421  __constant(__d);
 7422
 7423extern __ATTRS_o __vector unsigned long long
 7424vec_evaluate(__vector unsigned long long __a, __vector unsigned long long __b,
 7425             __vector unsigned long long __c, unsigned char __d)
 7426  __constant(__d);
 7427
 7428extern __ATTRS_o __vector __bool long long
 7429vec_evaluate(__vector __bool long long __a, __vector __bool long long __b,
 7430             __vector __bool long long __c, unsigned char __d)
 7431  __constant(__d);
 7432
 7433extern __ATTRS_o __vector signed __int128
 7434vec_evaluate(__vector signed __int128 __a, __vector signed __int128 __b,
 7435             __vector signed __int128 __c, unsigned char __d)
 7436  __constant(__d);
 7437
 7438extern __ATTRS_o __vector unsigned __int128
 7439vec_evaluate(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
 7440             __vector unsigned __int128 __c, unsigned char __d)
 7441  __constant(__d);
 7442
 7443extern __ATTRS_o __vector __bool __int128
 7444vec_evaluate(__vector __bool __int128 __a, __vector __bool __int128 __b,
 7445             __vector __bool __int128 __c, unsigned char __d)
 7446  __constant(__d);
 7447
 7448#define vec_evaluate(A, B, C, D) \
 7449  ((__typeof__((vec_evaluate)((A), (B), (C), (D)))) \
 7450  __builtin_s390_veval((__vector unsigned char)(A), \
 7451                       (__vector unsigned char)(B), \
 7452                       (__vector unsigned char)(C), (D)))
 7453#endif
 7454
 7455/*-- vec_cntlz --------------------------------------------------------------*/
 7456
 7457static inline __ATTRS_o_ai __vector unsigned char
 7458vec_cntlz(__vector signed char __a) {
 7459  return __builtin_s390_vclzb((__vector unsigned char)__a);
 7460}
 7461
 7462static inline __ATTRS_o_ai __vector unsigned char
 7463vec_cntlz(__vector unsigned char __a) {
 7464  return __builtin_s390_vclzb(__a);
 7465}
 7466
 7467static inline __ATTRS_o_ai __vector unsigned short
 7468vec_cntlz(__vector signed short __a) {
 7469  return __builtin_s390_vclzh((__vector unsigned short)__a);
 7470}
 7471
 7472static inline __ATTRS_o_ai __vector unsigned short
 7473vec_cntlz(__vector unsigned short __a) {
 7474  return __builtin_s390_vclzh(__a);
 7475}
 7476
 7477static inline __ATTRS_o_ai __vector unsigned int
 7478vec_cntlz(__vector signed int __a) {
 7479  return __builtin_s390_vclzf((__vector unsigned int)__a);
 7480}
 7481
 7482static inline __ATTRS_o_ai __vector unsigned int
 7483vec_cntlz(__vector unsigned int __a) {
 7484  return __builtin_s390_vclzf(__a);
 7485}
 7486
 7487static inline __ATTRS_o_ai __vector unsigned long long
 7488vec_cntlz(__vector signed long long __a) {
 7489  return __builtin_s390_vclzg((__vector unsigned long long)__a);
 7490}
 7491
 7492static inline __ATTRS_o_ai __vector unsigned long long
 7493vec_cntlz(__vector unsigned long long __a) {
 7494  return __builtin_s390_vclzg(__a);
 7495}
 7496
 7497#if __ARCH__ >= 15
 7498static inline __ATTRS_o_ai __vector unsigned __int128
 7499vec_cntlz(__vector signed __int128 __a) {
 7500  return (__vector unsigned __int128)
 7501         __builtin_s390_vclzq((unsigned __int128)__a);
 7502}
 7503
 7504static inline __ATTRS_o_ai __vector unsigned __int128
 7505vec_cntlz(__vector unsigned __int128 __a) {
 7506  return (__vector unsigned __int128)
 7507         __builtin_s390_vclzq((unsigned __int128)__a);
 7508}
 7509#endif
 7510
 7511/*-- vec_cnttz --------------------------------------------------------------*/
 7512
 7513static inline __ATTRS_o_ai __vector unsigned char
 7514vec_cnttz(__vector signed char __a) {
 7515  return __builtin_s390_vctzb((__vector unsigned char)__a);
 7516}
 7517
 7518static inline __ATTRS_o_ai __vector unsigned char
 7519vec_cnttz(__vector unsigned char __a) {
 7520  return __builtin_s390_vctzb(__a);
 7521}
 7522
 7523static inline __ATTRS_o_ai __vector unsigned short
 7524vec_cnttz(__vector signed short __a) {
 7525  return __builtin_s390_vctzh((__vector unsigned short)__a);
 7526}
 7527
 7528static inline __ATTRS_o_ai __vector unsigned short
 7529vec_cnttz(__vector unsigned short __a) {
 7530  return __builtin_s390_vctzh(__a);
 7531}
 7532
 7533static inline __ATTRS_o_ai __vector unsigned int
 7534vec_cnttz(__vector signed int __a) {
 7535  return __builtin_s390_vctzf((__vector unsigned int)__a);
 7536}
 7537
 7538static inline __ATTRS_o_ai __vector unsigned int
 7539vec_cnttz(__vector unsigned int __a) {
 7540  return __builtin_s390_vctzf(__a);
 7541}
 7542
 7543static inline __ATTRS_o_ai __vector unsigned long long
 7544vec_cnttz(__vector signed long long __a) {
 7545  return __builtin_s390_vctzg((__vector unsigned long long)__a);
 7546}
 7547
 7548static inline __ATTRS_o_ai __vector unsigned long long
 7549vec_cnttz(__vector unsigned long long __a) {
 7550  return __builtin_s390_vctzg(__a);
 7551}
 7552
 7553#if __ARCH__ >= 15
 7554static inline __ATTRS_o_ai __vector unsigned __int128
 7555vec_cnttz(__vector signed __int128 __a) {
 7556  return (__vector unsigned __int128)
 7557         __builtin_s390_vctzq((unsigned __int128)__a);
 7558}
 7559
 7560static inline __ATTRS_o_ai __vector unsigned __int128
 7561vec_cnttz(__vector unsigned __int128 __a) {
 7562  return (__vector unsigned __int128)
 7563         __builtin_s390_vctzq((unsigned __int128)__a);
 7564}
 7565#endif
 7566
 7567/*-- vec_popcnt -------------------------------------------------------------*/
 7568
 7569static inline __ATTRS_o_ai __vector unsigned char
 7570vec_popcnt(__vector signed char __a) {
 7571  return __builtin_elementwise_popcount((__vector unsigned char)__a);
 7572}
 7573
 7574static inline __ATTRS_o_ai __vector unsigned char
 7575vec_popcnt(__vector unsigned char __a) {
 7576  return __builtin_elementwise_popcount(__a);
 7577}
 7578
 7579static inline __ATTRS_o_ai __vector unsigned short
 7580vec_popcnt(__vector signed short __a) {
 7581  return __builtin_elementwise_popcount((__vector unsigned short)__a);
 7582}
 7583
 7584static inline __ATTRS_o_ai __vector unsigned short
 7585vec_popcnt(__vector unsigned short __a) {
 7586  return __builtin_elementwise_popcount(__a);
 7587}
 7588
 7589static inline __ATTRS_o_ai __vector unsigned int
 7590vec_popcnt(__vector signed int __a) {
 7591  return __builtin_elementwise_popcount((__vector unsigned int)__a);
 7592}
 7593
 7594static inline __ATTRS_o_ai __vector unsigned int
 7595vec_popcnt(__vector unsigned int __a) {
 7596  return __builtin_elementwise_popcount(__a);
 7597}
 7598
 7599static inline __ATTRS_o_ai __vector unsigned long long
 7600vec_popcnt(__vector signed long long __a) {
 7601  return __builtin_elementwise_popcount((__vector unsigned long long)__a);
 7602}
 7603
 7604static inline __ATTRS_o_ai __vector unsigned long long
 7605vec_popcnt(__vector unsigned long long __a) {
 7606  return __builtin_elementwise_popcount(__a);
 7607}
 7608
 7609/*-- vec_rl -----------------------------------------------------------------*/
 7610
 7611static inline __ATTRS_o_ai __vector signed char
 7612vec_rl(__vector signed char __a, __vector unsigned char __b) {
 7613  return (__vector signed char)__builtin_s390_verllvb(
 7614    (__vector unsigned char)__a, __b);
 7615}
 7616
 7617static inline __ATTRS_o_ai __vector unsigned char
 7618vec_rl(__vector unsigned char __a, __vector unsigned char __b) {
 7619  return __builtin_s390_verllvb(__a, __b);
 7620}
 7621
 7622static inline __ATTRS_o_ai __vector signed short
 7623vec_rl(__vector signed short __a, __vector unsigned short __b) {
 7624  return (__vector signed short)__builtin_s390_verllvh(
 7625    (__vector unsigned short)__a, __b);
 7626}
 7627
 7628static inline __ATTRS_o_ai __vector unsigned short
 7629vec_rl(__vector unsigned short __a, __vector unsigned short __b) {
 7630  return __builtin_s390_verllvh(__a, __b);
 7631}
 7632
 7633static inline __ATTRS_o_ai __vector signed int
 7634vec_rl(__vector signed int __a, __vector unsigned int __b) {
 7635  return (__vector signed int)__builtin_s390_verllvf(
 7636    (__vector unsigned int)__a, __b);
 7637}
 7638
 7639static inline __ATTRS_o_ai __vector unsigned int
 7640vec_rl(__vector unsigned int __a, __vector unsigned int __b) {
 7641  return __builtin_s390_verllvf(__a, __b);
 7642}
 7643
 7644static inline __ATTRS_o_ai __vector signed long long
 7645vec_rl(__vector signed long long __a, __vector unsigned long long __b) {
 7646  return (__vector signed long long)__builtin_s390_verllvg(
 7647    (__vector unsigned long long)__a, __b);
 7648}
 7649
 7650static inline __ATTRS_o_ai __vector unsigned long long
 7651vec_rl(__vector unsigned long long __a, __vector unsigned long long __b) {
 7652  return __builtin_s390_verllvg(__a, __b);
 7653}
 7654
 7655/*-- vec_rli ----------------------------------------------------------------*/
 7656
 7657static inline __ATTRS_o_ai __vector signed char
 7658vec_rli(__vector signed char __a, unsigned long __b) {
 7659  return (__vector signed char)__builtin_s390_verllb(
 7660    (__vector unsigned char)__a, (unsigned char)__b);
 7661}
 7662
 7663static inline __ATTRS_o_ai __vector unsigned char
 7664vec_rli(__vector unsigned char __a, unsigned long __b) {
 7665  return __builtin_s390_verllb(__a, (unsigned char)__b);
 7666}
 7667
 7668static inline __ATTRS_o_ai __vector signed short
 7669vec_rli(__vector signed short __a, unsigned long __b) {
 7670  return (__vector signed short)__builtin_s390_verllh(
 7671    (__vector unsigned short)__a, (unsigned char)__b);
 7672}
 7673
 7674static inline __ATTRS_o_ai __vector unsigned short
 7675vec_rli(__vector unsigned short __a, unsigned long __b) {
 7676  return __builtin_s390_verllh(__a, (unsigned char)__b);
 7677}
 7678
 7679static inline __ATTRS_o_ai __vector signed int
 7680vec_rli(__vector signed int __a, unsigned long __b) {
 7681  return (__vector signed int)__builtin_s390_verllf(
 7682    (__vector unsigned int)__a, (unsigned char)__b);
 7683}
 7684
 7685static inline __ATTRS_o_ai __vector unsigned int
 7686vec_rli(__vector unsigned int __a, unsigned long __b) {
 7687  return __builtin_s390_verllf(__a, (unsigned char)__b);
 7688}
 7689
 7690static inline __ATTRS_o_ai __vector signed long long
 7691vec_rli(__vector signed long long __a, unsigned long __b) {
 7692  return (__vector signed long long)__builtin_s390_verllg(
 7693    (__vector unsigned long long)__a, (unsigned char)__b);
 7694}
 7695
 7696static inline __ATTRS_o_ai __vector unsigned long long
 7697vec_rli(__vector unsigned long long __a, unsigned long __b) {
 7698  return __builtin_s390_verllg(__a, (unsigned char)__b);
 7699}
 7700
 7701/*-- vec_rl_mask ------------------------------------------------------------*/
 7702
 7703extern __ATTRS_o __vector signed char
 7704vec_rl_mask(__vector signed char __a, __vector unsigned char __b,
 7705            unsigned char __c) __constant(__c);
 7706
 7707extern __ATTRS_o __vector unsigned char
 7708vec_rl_mask(__vector unsigned char __a, __vector unsigned char __b,
 7709            unsigned char __c) __constant(__c);
 7710
 7711extern __ATTRS_o __vector signed short
 7712vec_rl_mask(__vector signed short __a, __vector unsigned short __b,
 7713            unsigned char __c) __constant(__c);
 7714
 7715extern __ATTRS_o __vector unsigned short
 7716vec_rl_mask(__vector unsigned short __a, __vector unsigned short __b,
 7717            unsigned char __c) __constant(__c);
 7718
 7719extern __ATTRS_o __vector signed int
 7720vec_rl_mask(__vector signed int __a, __vector unsigned int __b,
 7721            unsigned char __c) __constant(__c);
 7722
 7723extern __ATTRS_o __vector unsigned int
 7724vec_rl_mask(__vector unsigned int __a, __vector unsigned int __b,
 7725            unsigned char __c) __constant(__c);
 7726
 7727extern __ATTRS_o __vector signed long long
 7728vec_rl_mask(__vector signed long long __a, __vector unsigned long long __b,
 7729            unsigned char __c) __constant(__c);
 7730
 7731extern __ATTRS_o __vector unsigned long long
 7732vec_rl_mask(__vector unsigned long long __a, __vector unsigned long long __b,
 7733            unsigned char __c) __constant(__c);
 7734
 7735#define vec_rl_mask(X, Y, Z) ((__typeof__((vec_rl_mask)((X), (Y), (Z)))) \
 7736  __extension__ ({ \
 7737    __vector unsigned char __res; \
 7738    __vector unsigned char __x = (__vector unsigned char)(X); \
 7739    __vector unsigned char __y = (__vector unsigned char)(Y); \
 7740    switch (sizeof ((X)[0])) { \
 7741    case 1: __res = (__vector unsigned char) __builtin_s390_verimb( \
 7742             (__vector unsigned char)__x, (__vector unsigned char)__x, \
 7743             (__vector unsigned char)__y, (Z)); break; \
 7744    case 2: __res = (__vector unsigned char) __builtin_s390_verimh( \
 7745             (__vector unsigned short)__x, (__vector unsigned short)__x, \
 7746             (__vector unsigned short)__y, (Z)); break; \
 7747    case 4: __res = (__vector unsigned char) __builtin_s390_verimf( \
 7748             (__vector unsigned int)__x, (__vector unsigned int)__x, \
 7749             (__vector unsigned int)__y, (Z)); break; \
 7750    default: __res = (__vector unsigned char) __builtin_s390_verimg( \
 7751             (__vector unsigned long long)__x, (__vector unsigned long long)__x, \
 7752             (__vector unsigned long long)__y, (Z)); break; \
 7753    } __res; }))
 7754
 7755/*-- vec_sll ----------------------------------------------------------------*/
 7756
 7757static inline __ATTRS_o_ai __vector signed char
 7758vec_sll(__vector signed char __a, __vector unsigned char __b) {
 7759  return (__vector signed char)__builtin_s390_vsl(
 7760    (__vector unsigned char)__a, __b);
 7761}
 7762
 7763// This prototype is deprecated.
 7764static inline __ATTRS_o_ai __vector signed char
 7765vec_sll(__vector signed char __a, __vector unsigned short __b) {
 7766  return (__vector signed char)__builtin_s390_vsl(
 7767    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7768}
 7769
 7770// This prototype is deprecated.
 7771static inline __ATTRS_o_ai __vector signed char
 7772vec_sll(__vector signed char __a, __vector unsigned int __b) {
 7773  return (__vector signed char)__builtin_s390_vsl(
 7774    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7775}
 7776
 7777// This prototype is deprecated.
 7778static inline __ATTRS_o_ai __vector __bool char
 7779vec_sll(__vector __bool char __a, __vector unsigned char __b) {
 7780  return (__vector __bool char)__builtin_s390_vsl(
 7781    (__vector unsigned char)__a, __b);
 7782}
 7783
 7784// This prototype is deprecated.
 7785static inline __ATTRS_o_ai __vector __bool char
 7786vec_sll(__vector __bool char __a, __vector unsigned short __b) {
 7787  return (__vector __bool char)__builtin_s390_vsl(
 7788    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7789}
 7790
 7791// This prototype is deprecated.
 7792static inline __ATTRS_o_ai __vector __bool char
 7793vec_sll(__vector __bool char __a, __vector unsigned int __b) {
 7794  return (__vector __bool char)__builtin_s390_vsl(
 7795    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7796}
 7797
 7798static inline __ATTRS_o_ai __vector unsigned char
 7799vec_sll(__vector unsigned char __a, __vector unsigned char __b) {
 7800  return __builtin_s390_vsl(__a, __b);
 7801}
 7802
 7803// This prototype is deprecated.
 7804static inline __ATTRS_o_ai __vector unsigned char
 7805vec_sll(__vector unsigned char __a, __vector unsigned short __b) {
 7806  return __builtin_s390_vsl(__a, (__vector unsigned char)__b);
 7807}
 7808
 7809// This prototype is deprecated.
 7810static inline __ATTRS_o_ai __vector unsigned char
 7811vec_sll(__vector unsigned char __a, __vector unsigned int __b) {
 7812  return __builtin_s390_vsl(__a, (__vector unsigned char)__b);
 7813}
 7814
 7815static inline __ATTRS_o_ai __vector signed short
 7816vec_sll(__vector signed short __a, __vector unsigned char __b) {
 7817  return (__vector signed short)__builtin_s390_vsl(
 7818    (__vector unsigned char)__a, __b);
 7819}
 7820
 7821// This prototype is deprecated.
 7822static inline __ATTRS_o_ai __vector signed short
 7823vec_sll(__vector signed short __a, __vector unsigned short __b) {
 7824  return (__vector signed short)__builtin_s390_vsl(
 7825    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7826}
 7827
 7828// This prototype is deprecated.
 7829static inline __ATTRS_o_ai __vector signed short
 7830vec_sll(__vector signed short __a, __vector unsigned int __b) {
 7831  return (__vector signed short)__builtin_s390_vsl(
 7832    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7833}
 7834
 7835// This prototype is deprecated.
 7836static inline __ATTRS_o_ai __vector __bool short
 7837vec_sll(__vector __bool short __a, __vector unsigned char __b) {
 7838  return (__vector __bool short)__builtin_s390_vsl(
 7839    (__vector unsigned char)__a, __b);
 7840}
 7841
 7842// This prototype is deprecated.
 7843static inline __ATTRS_o_ai __vector __bool short
 7844vec_sll(__vector __bool short __a, __vector unsigned short __b) {
 7845  return (__vector __bool short)__builtin_s390_vsl(
 7846    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7847}
 7848
 7849// This prototype is deprecated.
 7850static inline __ATTRS_o_ai __vector __bool short
 7851vec_sll(__vector __bool short __a, __vector unsigned int __b) {
 7852  return (__vector __bool short)__builtin_s390_vsl(
 7853    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7854}
 7855
 7856static inline __ATTRS_o_ai __vector unsigned short
 7857vec_sll(__vector unsigned short __a, __vector unsigned char __b) {
 7858  return (__vector unsigned short)__builtin_s390_vsl(
 7859    (__vector unsigned char)__a, __b);
 7860}
 7861
 7862// This prototype is deprecated.
 7863static inline __ATTRS_o_ai __vector unsigned short
 7864vec_sll(__vector unsigned short __a, __vector unsigned short __b) {
 7865  return (__vector unsigned short)__builtin_s390_vsl(
 7866    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7867}
 7868
 7869// This prototype is deprecated.
 7870static inline __ATTRS_o_ai __vector unsigned short
 7871vec_sll(__vector unsigned short __a, __vector unsigned int __b) {
 7872  return (__vector unsigned short)__builtin_s390_vsl(
 7873    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7874}
 7875
 7876static inline __ATTRS_o_ai __vector signed int
 7877vec_sll(__vector signed int __a, __vector unsigned char __b) {
 7878  return (__vector signed int)__builtin_s390_vsl(
 7879    (__vector unsigned char)__a, __b);
 7880}
 7881
 7882// This prototype is deprecated.
 7883static inline __ATTRS_o_ai __vector signed int
 7884vec_sll(__vector signed int __a, __vector unsigned short __b) {
 7885  return (__vector signed int)__builtin_s390_vsl(
 7886    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7887}
 7888
 7889// This prototype is deprecated.
 7890static inline __ATTRS_o_ai __vector signed int
 7891vec_sll(__vector signed int __a, __vector unsigned int __b) {
 7892  return (__vector signed int)__builtin_s390_vsl(
 7893    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7894}
 7895
 7896// This prototype is deprecated.
 7897static inline __ATTRS_o_ai __vector __bool int
 7898vec_sll(__vector __bool int __a, __vector unsigned char __b) {
 7899  return (__vector __bool int)__builtin_s390_vsl(
 7900    (__vector unsigned char)__a, __b);
 7901}
 7902
 7903// This prototype is deprecated.
 7904static inline __ATTRS_o_ai __vector __bool int
 7905vec_sll(__vector __bool int __a, __vector unsigned short __b) {
 7906  return (__vector __bool int)__builtin_s390_vsl(
 7907    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7908}
 7909
 7910// This prototype is deprecated.
 7911static inline __ATTRS_o_ai __vector __bool int
 7912vec_sll(__vector __bool int __a, __vector unsigned int __b) {
 7913  return (__vector __bool int)__builtin_s390_vsl(
 7914    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7915}
 7916
 7917static inline __ATTRS_o_ai __vector unsigned int
 7918vec_sll(__vector unsigned int __a, __vector unsigned char __b) {
 7919  return (__vector unsigned int)__builtin_s390_vsl(
 7920    (__vector unsigned char)__a, __b);
 7921}
 7922
 7923// This prototype is deprecated.
 7924static inline __ATTRS_o_ai __vector unsigned int
 7925vec_sll(__vector unsigned int __a, __vector unsigned short __b) {
 7926  return (__vector unsigned int)__builtin_s390_vsl(
 7927    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7928}
 7929
 7930// This prototype is deprecated.
 7931static inline __ATTRS_o_ai __vector unsigned int
 7932vec_sll(__vector unsigned int __a, __vector unsigned int __b) {
 7933  return (__vector unsigned int)__builtin_s390_vsl(
 7934    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7935}
 7936
 7937static inline __ATTRS_o_ai __vector signed long long
 7938vec_sll(__vector signed long long __a, __vector unsigned char __b) {
 7939  return (__vector signed long long)__builtin_s390_vsl(
 7940    (__vector unsigned char)__a, __b);
 7941}
 7942
 7943// This prototype is deprecated.
 7944static inline __ATTRS_o_ai __vector signed long long
 7945vec_sll(__vector signed long long __a, __vector unsigned short __b) {
 7946  return (__vector signed long long)__builtin_s390_vsl(
 7947    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7948}
 7949
 7950// This prototype is deprecated.
 7951static inline __ATTRS_o_ai __vector signed long long
 7952vec_sll(__vector signed long long __a, __vector unsigned int __b) {
 7953  return (__vector signed long long)__builtin_s390_vsl(
 7954    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7955}
 7956
 7957// This prototype is deprecated.
 7958static inline __ATTRS_o_ai __vector __bool long long
 7959vec_sll(__vector __bool long long __a, __vector unsigned char __b) {
 7960  return (__vector __bool long long)__builtin_s390_vsl(
 7961    (__vector unsigned char)__a, __b);
 7962}
 7963
 7964// This prototype is deprecated.
 7965static inline __ATTRS_o_ai __vector __bool long long
 7966vec_sll(__vector __bool long long __a, __vector unsigned short __b) {
 7967  return (__vector __bool long long)__builtin_s390_vsl(
 7968    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7969}
 7970
 7971// This prototype is deprecated.
 7972static inline __ATTRS_o_ai __vector __bool long long
 7973vec_sll(__vector __bool long long __a, __vector unsigned int __b) {
 7974  return (__vector __bool long long)__builtin_s390_vsl(
 7975    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7976}
 7977
 7978static inline __ATTRS_o_ai __vector unsigned long long
 7979vec_sll(__vector unsigned long long __a, __vector unsigned char __b) {
 7980  return (__vector unsigned long long)__builtin_s390_vsl(
 7981    (__vector unsigned char)__a, __b);
 7982}
 7983
 7984// This prototype is deprecated.
 7985static inline __ATTRS_o_ai __vector unsigned long long
 7986vec_sll(__vector unsigned long long __a, __vector unsigned short __b) {
 7987  return (__vector unsigned long long)__builtin_s390_vsl(
 7988    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7989}
 7990
 7991// This prototype is deprecated.
 7992static inline __ATTRS_o_ai __vector unsigned long long
 7993vec_sll(__vector unsigned long long __a, __vector unsigned int __b) {
 7994  return (__vector unsigned long long)__builtin_s390_vsl(
 7995    (__vector unsigned char)__a, (__vector unsigned char)__b);
 7996}
 7997
 7998static inline __ATTRS_o_ai __vector signed __int128
 7999vec_sll(__vector signed __int128 __a, __vector unsigned char __b) {
 8000  return (__vector signed __int128)__builtin_s390_vsl(
 8001    (__vector unsigned char)__a, __b);
 8002}
 8003
 8004static inline __ATTRS_o_ai __vector unsigned __int128
 8005vec_sll(__vector unsigned __int128 __a, __vector unsigned char __b) {
 8006  return (__vector unsigned __int128)__builtin_s390_vsl(
 8007    (__vector unsigned char)__a, __b);
 8008}
 8009
 8010/*-- vec_slb ----------------------------------------------------------------*/
 8011
 8012// This prototype is deprecated.
 8013static inline __ATTRS_o_ai __vector signed char
 8014vec_slb(__vector signed char __a, __vector signed char __b) {
 8015  return (__vector signed char)__builtin_s390_vslb(
 8016    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8017}
 8018
 8019static inline __ATTRS_o_ai __vector signed char
 8020vec_slb(__vector signed char __a, __vector unsigned char __b) {
 8021  return (__vector signed char)__builtin_s390_vslb(
 8022    (__vector unsigned char)__a, __b);
 8023}
 8024
 8025// This prototype is deprecated.
 8026static inline __ATTRS_o_ai __vector unsigned char
 8027vec_slb(__vector unsigned char __a, __vector signed char __b) {
 8028  return __builtin_s390_vslb(__a, (__vector unsigned char)__b);
 8029}
 8030
 8031static inline __ATTRS_o_ai __vector unsigned char
 8032vec_slb(__vector unsigned char __a, __vector unsigned char __b) {
 8033  return __builtin_s390_vslb(__a, __b);
 8034}
 8035
 8036// This prototype is deprecated.
 8037static inline __ATTRS_o_ai __vector signed short
 8038vec_slb(__vector signed short __a, __vector signed short __b) {
 8039  return (__vector signed short)__builtin_s390_vslb(
 8040    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8041}
 8042
 8043// This prototype is deprecated.
 8044static inline __ATTRS_o_ai __vector signed short
 8045vec_slb(__vector signed short __a, __vector unsigned short __b) {
 8046  return (__vector signed short)__builtin_s390_vslb(
 8047    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8048}
 8049
 8050static inline __ATTRS_o_ai __vector signed short
 8051vec_slb(__vector signed short __a, __vector unsigned char __b) {
 8052  return (__vector signed short)__builtin_s390_vslb(
 8053    (__vector unsigned char)__a, __b);
 8054}
 8055
 8056// This prototype is deprecated.
 8057static inline __ATTRS_o_ai __vector unsigned short
 8058vec_slb(__vector unsigned short __a, __vector signed short __b) {
 8059  return (__vector unsigned short)__builtin_s390_vslb(
 8060    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8061}
 8062
 8063// This prototype is deprecated.
 8064static inline __ATTRS_o_ai __vector unsigned short
 8065vec_slb(__vector unsigned short __a, __vector unsigned short __b) {
 8066  return (__vector unsigned short)__builtin_s390_vslb(
 8067    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8068}
 8069
 8070static inline __ATTRS_o_ai __vector unsigned short
 8071vec_slb(__vector unsigned short __a, __vector unsigned char __b) {
 8072  return (__vector unsigned short)__builtin_s390_vslb(
 8073    (__vector unsigned char)__a, __b);
 8074}
 8075
 8076// This prototype is deprecated.
 8077static inline __ATTRS_o_ai __vector signed int
 8078vec_slb(__vector signed int __a, __vector signed int __b) {
 8079  return (__vector signed int)__builtin_s390_vslb(
 8080    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8081}
 8082
 8083// This prototype is deprecated.
 8084static inline __ATTRS_o_ai __vector signed int
 8085vec_slb(__vector signed int __a, __vector unsigned int __b) {
 8086  return (__vector signed int)__builtin_s390_vslb(
 8087    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8088}
 8089
 8090static inline __ATTRS_o_ai __vector signed int
 8091vec_slb(__vector signed int __a, __vector unsigned char __b) {
 8092  return (__vector signed int)__builtin_s390_vslb(
 8093    (__vector unsigned char)__a, __b);
 8094}
 8095
 8096// This prototype is deprecated.
 8097static inline __ATTRS_o_ai __vector unsigned int
 8098vec_slb(__vector unsigned int __a, __vector signed int __b) {
 8099  return (__vector unsigned int)__builtin_s390_vslb(
 8100    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8101}
 8102
 8103// This prototype is deprecated.
 8104static inline __ATTRS_o_ai __vector unsigned int
 8105vec_slb(__vector unsigned int __a, __vector unsigned int __b) {
 8106  return (__vector unsigned int)__builtin_s390_vslb(
 8107    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8108}
 8109
 8110static inline __ATTRS_o_ai __vector unsigned int
 8111vec_slb(__vector unsigned int __a, __vector unsigned char __b) {
 8112  return (__vector unsigned int)__builtin_s390_vslb(
 8113    (__vector unsigned char)__a, __b);
 8114}
 8115
 8116// This prototype is deprecated.
 8117static inline __ATTRS_o_ai __vector signed long long
 8118vec_slb(__vector signed long long __a, __vector signed long long __b) {
 8119  return (__vector signed long long)__builtin_s390_vslb(
 8120    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8121}
 8122
 8123// This prototype is deprecated.
 8124static inline __ATTRS_o_ai __vector signed long long
 8125vec_slb(__vector signed long long __a, __vector unsigned long long __b) {
 8126  return (__vector signed long long)__builtin_s390_vslb(
 8127    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8128}
 8129
 8130static inline __ATTRS_o_ai __vector signed long long
 8131vec_slb(__vector signed long long __a, __vector unsigned char __b) {
 8132  return (__vector signed long long)__builtin_s390_vslb(
 8133    (__vector unsigned char)__a, __b);
 8134}
 8135
 8136// This prototype is deprecated.
 8137static inline __ATTRS_o_ai __vector unsigned long long
 8138vec_slb(__vector unsigned long long __a, __vector signed long long __b) {
 8139  return (__vector unsigned long long)__builtin_s390_vslb(
 8140    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8141}
 8142
 8143// This prototype is deprecated.
 8144static inline __ATTRS_o_ai __vector unsigned long long
 8145vec_slb(__vector unsigned long long __a, __vector unsigned long long __b) {
 8146  return (__vector unsigned long long)__builtin_s390_vslb(
 8147    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8148}
 8149
 8150static inline __ATTRS_o_ai __vector unsigned long long
 8151vec_slb(__vector unsigned long long __a, __vector unsigned char __b) {
 8152  return (__vector unsigned long long)__builtin_s390_vslb(
 8153    (__vector unsigned char)__a, __b);
 8154}
 8155
 8156static inline __ATTRS_o_ai __vector signed __int128
 8157vec_slb(__vector signed __int128 __a, __vector unsigned char __b) {
 8158  return (__vector signed __int128)__builtin_s390_vslb(
 8159    (__vector unsigned char)__a, __b);
 8160}
 8161
 8162static inline __ATTRS_o_ai __vector unsigned __int128
 8163vec_slb(__vector unsigned __int128 __a, __vector unsigned char __b) {
 8164  return (__vector unsigned __int128)__builtin_s390_vslb(
 8165    (__vector unsigned char)__a, __b);
 8166}
 8167
 8168#if __ARCH__ >= 12
 8169// This prototype is deprecated.
 8170static inline __ATTRS_o_ai __vector float
 8171vec_slb(__vector float __a, __vector signed int __b) {
 8172  return (__vector float)__builtin_s390_vslb(
 8173    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8174}
 8175
 8176// This prototype is deprecated.
 8177static inline __ATTRS_o_ai __vector float
 8178vec_slb(__vector float __a, __vector unsigned int __b) {
 8179  return (__vector float)__builtin_s390_vslb(
 8180    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8181}
 8182
 8183static inline __ATTRS_o_ai __vector float
 8184vec_slb(__vector float __a, __vector unsigned char __b) {
 8185  return (__vector float)__builtin_s390_vslb(
 8186    (__vector unsigned char)__a, __b);
 8187}
 8188#endif
 8189
 8190// This prototype is deprecated.
 8191static inline __ATTRS_o_ai __vector double
 8192vec_slb(__vector double __a, __vector signed long long __b) {
 8193  return (__vector double)__builtin_s390_vslb(
 8194    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8195}
 8196
 8197// This prototype is deprecated.
 8198static inline __ATTRS_o_ai __vector double
 8199vec_slb(__vector double __a, __vector unsigned long long __b) {
 8200  return (__vector double)__builtin_s390_vslb(
 8201    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8202}
 8203
 8204static inline __ATTRS_o_ai __vector double
 8205vec_slb(__vector double __a, __vector unsigned char __b) {
 8206  return (__vector double)__builtin_s390_vslb(
 8207    (__vector unsigned char)__a, __b);
 8208}
 8209
 8210/*-- vec_sld ----------------------------------------------------------------*/
 8211
 8212extern __ATTRS_o __vector signed char
 8213vec_sld(__vector signed char __a, __vector signed char __b, int __c)
 8214  __constant_range(__c, 0, 15);
 8215
 8216// This prototype is deprecated.
 8217extern __ATTRS_o __vector __bool char
 8218vec_sld(__vector __bool char __a, __vector __bool char __b, int __c)
 8219  __constant_range(__c, 0, 15);
 8220
 8221extern __ATTRS_o __vector unsigned char
 8222vec_sld(__vector unsigned char __a, __vector unsigned char __b, int __c)
 8223  __constant_range(__c, 0, 15);
 8224
 8225extern __ATTRS_o __vector signed short
 8226vec_sld(__vector signed short __a, __vector signed short __b, int __c)
 8227  __constant_range(__c, 0, 15);
 8228
 8229// This prototype is deprecated.
 8230extern __ATTRS_o __vector __bool short
 8231vec_sld(__vector __bool short __a, __vector __bool short __b, int __c)
 8232  __constant_range(__c, 0, 15);
 8233
 8234extern __ATTRS_o __vector unsigned short
 8235vec_sld(__vector unsigned short __a, __vector unsigned short __b, int __c)
 8236  __constant_range(__c, 0, 15);
 8237
 8238extern __ATTRS_o __vector signed int
 8239vec_sld(__vector signed int __a, __vector signed int __b, int __c)
 8240  __constant_range(__c, 0, 15);
 8241
 8242// This prototype is deprecated.
 8243extern __ATTRS_o __vector __bool int
 8244vec_sld(__vector __bool int __a, __vector __bool int __b, int __c)
 8245  __constant_range(__c, 0, 15);
 8246
 8247extern __ATTRS_o __vector unsigned int
 8248vec_sld(__vector unsigned int __a, __vector unsigned int __b, int __c)
 8249  __constant_range(__c, 0, 15);
 8250
 8251extern __ATTRS_o __vector signed long long
 8252vec_sld(__vector signed long long __a, __vector signed long long __b, int __c)
 8253  __constant_range(__c, 0, 15);
 8254
 8255// This prototype is deprecated.
 8256extern __ATTRS_o __vector __bool long long
 8257vec_sld(__vector __bool long long __a, __vector __bool long long __b, int __c)
 8258  __constant_range(__c, 0, 15);
 8259
 8260extern __ATTRS_o __vector unsigned long long
 8261vec_sld(__vector unsigned long long __a, __vector unsigned long long __b,
 8262        int __c)
 8263  __constant_range(__c, 0, 15);
 8264
 8265extern __ATTRS_o __vector signed __int128
 8266vec_sld(__vector signed __int128 __a, __vector signed __int128 __b, int __c)
 8267  __constant_range(__c, 0, 15);
 8268
 8269extern __ATTRS_o __vector unsigned __int128
 8270vec_sld(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
 8271        int __c)
 8272  __constant_range(__c, 0, 15);
 8273
 8274#if __ARCH__ >= 12
 8275extern __ATTRS_o __vector float
 8276vec_sld(__vector float __a, __vector float __b, int __c)
 8277  __constant_range(__c, 0, 15);
 8278#endif
 8279
 8280extern __ATTRS_o __vector double
 8281vec_sld(__vector double __a, __vector double __b, int __c)
 8282  __constant_range(__c, 0, 15);
 8283
 8284#define vec_sld(X, Y, Z) ((__typeof__((vec_sld)((X), (Y), (Z)))) \
 8285  __builtin_s390_vsldb((__vector unsigned char)(X), \
 8286                       (__vector unsigned char)(Y), (Z)))
 8287
 8288/*-- vec_sldw ---------------------------------------------------------------*/
 8289
 8290extern __ATTRS_o __vector signed char
 8291vec_sldw(__vector signed char __a, __vector signed char __b, int __c)
 8292  __constant_range(__c, 0, 3);
 8293
 8294extern __ATTRS_o __vector unsigned char
 8295vec_sldw(__vector unsigned char __a, __vector unsigned char __b, int __c)
 8296  __constant_range(__c, 0, 3);
 8297
 8298extern __ATTRS_o __vector signed short
 8299vec_sldw(__vector signed short __a, __vector signed short __b, int __c)
 8300  __constant_range(__c, 0, 3);
 8301
 8302extern __ATTRS_o __vector unsigned short
 8303vec_sldw(__vector unsigned short __a, __vector unsigned short __b, int __c)
 8304  __constant_range(__c, 0, 3);
 8305
 8306extern __ATTRS_o __vector signed int
 8307vec_sldw(__vector signed int __a, __vector signed int __b, int __c)
 8308  __constant_range(__c, 0, 3);
 8309
 8310extern __ATTRS_o __vector unsigned int
 8311vec_sldw(__vector unsigned int __a, __vector unsigned int __b, int __c)
 8312  __constant_range(__c, 0, 3);
 8313
 8314extern __ATTRS_o __vector signed long long
 8315vec_sldw(__vector signed long long __a, __vector signed long long __b, int __c)
 8316  __constant_range(__c, 0, 3);
 8317
 8318extern __ATTRS_o __vector unsigned long long
 8319vec_sldw(__vector unsigned long long __a, __vector unsigned long long __b,
 8320         int __c)
 8321  __constant_range(__c, 0, 3);
 8322
 8323extern __ATTRS_o __vector signed __int128
 8324vec_sldw(__vector signed __int128 __a, __vector signed __int128 __b, int __c)
 8325  __constant_range(__c, 0, 3);
 8326
 8327extern __ATTRS_o __vector unsigned __int128
 8328vec_sldw(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
 8329         int __c)
 8330  __constant_range(__c, 0, 3);
 8331
 8332// This prototype is deprecated.
 8333extern __ATTRS_o __vector double
 8334vec_sldw(__vector double __a, __vector double __b, int __c)
 8335  __constant_range(__c, 0, 3);
 8336
 8337#define vec_sldw(X, Y, Z) ((__typeof__((vec_sldw)((X), (Y), (Z)))) \
 8338  __builtin_s390_vsldb((__vector unsigned char)(X), \
 8339                       (__vector unsigned char)(Y), (Z) * 4))
 8340
 8341/*-- vec_sldb ---------------------------------------------------------------*/
 8342
 8343#if __ARCH__ >= 13
 8344
 8345extern __ATTRS_o __vector signed char
 8346vec_sldb(__vector signed char __a, __vector signed char __b, int __c)
 8347  __constant_range(__c, 0, 7);
 8348
 8349extern __ATTRS_o __vector unsigned char
 8350vec_sldb(__vector unsigned char __a, __vector unsigned char __b, int __c)
 8351  __constant_range(__c, 0, 7);
 8352
 8353extern __ATTRS_o __vector signed short
 8354vec_sldb(__vector signed short __a, __vector signed short __b, int __c)
 8355  __constant_range(__c, 0, 7);
 8356
 8357extern __ATTRS_o __vector unsigned short
 8358vec_sldb(__vector unsigned short __a, __vector unsigned short __b, int __c)
 8359  __constant_range(__c, 0, 7);
 8360
 8361extern __ATTRS_o __vector signed int
 8362vec_sldb(__vector signed int __a, __vector signed int __b, int __c)
 8363  __constant_range(__c, 0, 7);
 8364
 8365extern __ATTRS_o __vector unsigned int
 8366vec_sldb(__vector unsigned int __a, __vector unsigned int __b, int __c)
 8367  __constant_range(__c, 0, 7);
 8368
 8369extern __ATTRS_o __vector signed long long
 8370vec_sldb(__vector signed long long __a, __vector signed long long __b, int __c)
 8371  __constant_range(__c, 0, 7);
 8372
 8373extern __ATTRS_o __vector unsigned long long
 8374vec_sldb(__vector unsigned long long __a, __vector unsigned long long __b,
 8375         int __c)
 8376  __constant_range(__c, 0, 7);
 8377
 8378extern __ATTRS_o __vector signed __int128
 8379vec_sldb(__vector signed __int128 __a, __vector signed __int128 __b, int __c)
 8380  __constant_range(__c, 0, 7);
 8381
 8382extern __ATTRS_o __vector unsigned __int128
 8383vec_sldb(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
 8384         int __c)
 8385  __constant_range(__c, 0, 7);
 8386
 8387extern __ATTRS_o __vector float
 8388vec_sldb(__vector float __a, __vector float __b, int __c)
 8389  __constant_range(__c, 0, 7);
 8390
 8391extern __ATTRS_o __vector double
 8392vec_sldb(__vector double __a, __vector double __b, int __c)
 8393  __constant_range(__c, 0, 7);
 8394
 8395#define vec_sldb(X, Y, Z) ((__typeof__((vec_sldb)((X), (Y), (Z)))) \
 8396  __builtin_s390_vsld((__vector unsigned char)(X), \
 8397                      (__vector unsigned char)(Y), (Z)))
 8398
 8399#endif
 8400
 8401/*-- vec_sral ---------------------------------------------------------------*/
 8402
 8403static inline __ATTRS_o_ai __vector signed char
 8404vec_sral(__vector signed char __a, __vector unsigned char __b) {
 8405  return (__vector signed char)__builtin_s390_vsra(
 8406    (__vector unsigned char)__a, __b);
 8407}
 8408
 8409// This prototype is deprecated.
 8410static inline __ATTRS_o_ai __vector signed char
 8411vec_sral(__vector signed char __a, __vector unsigned short __b) {
 8412  return (__vector signed char)__builtin_s390_vsra(
 8413    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8414}
 8415
 8416// This prototype is deprecated.
 8417static inline __ATTRS_o_ai __vector signed char
 8418vec_sral(__vector signed char __a, __vector unsigned int __b) {
 8419  return (__vector signed char)__builtin_s390_vsra(
 8420    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8421}
 8422
 8423// This prototype is deprecated.
 8424static inline __ATTRS_o_ai __vector __bool char
 8425vec_sral(__vector __bool char __a, __vector unsigned char __b) {
 8426  return (__vector __bool char)__builtin_s390_vsra(
 8427    (__vector unsigned char)__a, __b);
 8428}
 8429
 8430// This prototype is deprecated.
 8431static inline __ATTRS_o_ai __vector __bool char
 8432vec_sral(__vector __bool char __a, __vector unsigned short __b) {
 8433  return (__vector __bool char)__builtin_s390_vsra(
 8434    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8435}
 8436
 8437// This prototype is deprecated.
 8438static inline __ATTRS_o_ai __vector __bool char
 8439vec_sral(__vector __bool char __a, __vector unsigned int __b) {
 8440  return (__vector __bool char)__builtin_s390_vsra(
 8441    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8442}
 8443
 8444static inline __ATTRS_o_ai __vector unsigned char
 8445vec_sral(__vector unsigned char __a, __vector unsigned char __b) {
 8446  return __builtin_s390_vsra(__a, __b);
 8447}
 8448
 8449// This prototype is deprecated.
 8450static inline __ATTRS_o_ai __vector unsigned char
 8451vec_sral(__vector unsigned char __a, __vector unsigned short __b) {
 8452  return __builtin_s390_vsra(__a, (__vector unsigned char)__b);
 8453}
 8454
 8455// This prototype is deprecated.
 8456static inline __ATTRS_o_ai __vector unsigned char
 8457vec_sral(__vector unsigned char __a, __vector unsigned int __b) {
 8458  return __builtin_s390_vsra(__a, (__vector unsigned char)__b);
 8459}
 8460
 8461static inline __ATTRS_o_ai __vector signed short
 8462vec_sral(__vector signed short __a, __vector unsigned char __b) {
 8463  return (__vector signed short)__builtin_s390_vsra(
 8464    (__vector unsigned char)__a, __b);
 8465}
 8466
 8467// This prototype is deprecated.
 8468static inline __ATTRS_o_ai __vector signed short
 8469vec_sral(__vector signed short __a, __vector unsigned short __b) {
 8470  return (__vector signed short)__builtin_s390_vsra(
 8471    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8472}
 8473
 8474// This prototype is deprecated.
 8475static inline __ATTRS_o_ai __vector signed short
 8476vec_sral(__vector signed short __a, __vector unsigned int __b) {
 8477  return (__vector signed short)__builtin_s390_vsra(
 8478    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8479}
 8480
 8481// This prototype is deprecated.
 8482static inline __ATTRS_o_ai __vector __bool short
 8483vec_sral(__vector __bool short __a, __vector unsigned char __b) {
 8484  return (__vector __bool short)__builtin_s390_vsra(
 8485    (__vector unsigned char)__a, __b);
 8486}
 8487
 8488// This prototype is deprecated.
 8489static inline __ATTRS_o_ai __vector __bool short
 8490vec_sral(__vector __bool short __a, __vector unsigned short __b) {
 8491  return (__vector __bool short)__builtin_s390_vsra(
 8492    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8493}
 8494
 8495// This prototype is deprecated.
 8496static inline __ATTRS_o_ai __vector __bool short
 8497vec_sral(__vector __bool short __a, __vector unsigned int __b) {
 8498  return (__vector __bool short)__builtin_s390_vsra(
 8499    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8500}
 8501
 8502static inline __ATTRS_o_ai __vector unsigned short
 8503vec_sral(__vector unsigned short __a, __vector unsigned char __b) {
 8504  return (__vector unsigned short)__builtin_s390_vsra(
 8505    (__vector unsigned char)__a, __b);
 8506}
 8507
 8508// This prototype is deprecated.
 8509static inline __ATTRS_o_ai __vector unsigned short
 8510vec_sral(__vector unsigned short __a, __vector unsigned short __b) {
 8511  return (__vector unsigned short)__builtin_s390_vsra(
 8512    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8513}
 8514
 8515// This prototype is deprecated.
 8516static inline __ATTRS_o_ai __vector unsigned short
 8517vec_sral(__vector unsigned short __a, __vector unsigned int __b) {
 8518  return (__vector unsigned short)__builtin_s390_vsra(
 8519    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8520}
 8521
 8522static inline __ATTRS_o_ai __vector signed int
 8523vec_sral(__vector signed int __a, __vector unsigned char __b) {
 8524  return (__vector signed int)__builtin_s390_vsra(
 8525    (__vector unsigned char)__a, __b);
 8526}
 8527
 8528// This prototype is deprecated.
 8529static inline __ATTRS_o_ai __vector signed int
 8530vec_sral(__vector signed int __a, __vector unsigned short __b) {
 8531  return (__vector signed int)__builtin_s390_vsra(
 8532    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8533}
 8534
 8535// This prototype is deprecated.
 8536static inline __ATTRS_o_ai __vector signed int
 8537vec_sral(__vector signed int __a, __vector unsigned int __b) {
 8538  return (__vector signed int)__builtin_s390_vsra(
 8539    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8540}
 8541
 8542// This prototype is deprecated.
 8543static inline __ATTRS_o_ai __vector __bool int
 8544vec_sral(__vector __bool int __a, __vector unsigned char __b) {
 8545  return (__vector __bool int)__builtin_s390_vsra(
 8546    (__vector unsigned char)__a, __b);
 8547}
 8548
 8549// This prototype is deprecated.
 8550static inline __ATTRS_o_ai __vector __bool int
 8551vec_sral(__vector __bool int __a, __vector unsigned short __b) {
 8552  return (__vector __bool int)__builtin_s390_vsra(
 8553    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8554}
 8555
 8556// This prototype is deprecated.
 8557static inline __ATTRS_o_ai __vector __bool int
 8558vec_sral(__vector __bool int __a, __vector unsigned int __b) {
 8559  return (__vector __bool int)__builtin_s390_vsra(
 8560    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8561}
 8562
 8563static inline __ATTRS_o_ai __vector unsigned int
 8564vec_sral(__vector unsigned int __a, __vector unsigned char __b) {
 8565  return (__vector unsigned int)__builtin_s390_vsra(
 8566    (__vector unsigned char)__a, __b);
 8567}
 8568
 8569// This prototype is deprecated.
 8570static inline __ATTRS_o_ai __vector unsigned int
 8571vec_sral(__vector unsigned int __a, __vector unsigned short __b) {
 8572  return (__vector unsigned int)__builtin_s390_vsra(
 8573    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8574}
 8575
 8576// This prototype is deprecated.
 8577static inline __ATTRS_o_ai __vector unsigned int
 8578vec_sral(__vector unsigned int __a, __vector unsigned int __b) {
 8579  return (__vector unsigned int)__builtin_s390_vsra(
 8580    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8581}
 8582
 8583static inline __ATTRS_o_ai __vector signed long long
 8584vec_sral(__vector signed long long __a, __vector unsigned char __b) {
 8585  return (__vector signed long long)__builtin_s390_vsra(
 8586    (__vector unsigned char)__a, __b);
 8587}
 8588
 8589// This prototype is deprecated.
 8590static inline __ATTRS_o_ai __vector signed long long
 8591vec_sral(__vector signed long long __a, __vector unsigned short __b) {
 8592  return (__vector signed long long)__builtin_s390_vsra(
 8593    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8594}
 8595
 8596// This prototype is deprecated.
 8597static inline __ATTRS_o_ai __vector signed long long
 8598vec_sral(__vector signed long long __a, __vector unsigned int __b) {
 8599  return (__vector signed long long)__builtin_s390_vsra(
 8600    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8601}
 8602
 8603// This prototype is deprecated.
 8604static inline __ATTRS_o_ai __vector __bool long long
 8605vec_sral(__vector __bool long long __a, __vector unsigned char __b) {
 8606  return (__vector __bool long long)__builtin_s390_vsra(
 8607    (__vector unsigned char)__a, __b);
 8608}
 8609
 8610// This prototype is deprecated.
 8611static inline __ATTRS_o_ai __vector __bool long long
 8612vec_sral(__vector __bool long long __a, __vector unsigned short __b) {
 8613  return (__vector __bool long long)__builtin_s390_vsra(
 8614    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8615}
 8616
 8617// This prototype is deprecated.
 8618static inline __ATTRS_o_ai __vector __bool long long
 8619vec_sral(__vector __bool long long __a, __vector unsigned int __b) {
 8620  return (__vector __bool long long)__builtin_s390_vsra(
 8621    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8622}
 8623
 8624static inline __ATTRS_o_ai __vector unsigned long long
 8625vec_sral(__vector unsigned long long __a, __vector unsigned char __b) {
 8626  return (__vector unsigned long long)__builtin_s390_vsra(
 8627    (__vector unsigned char)__a, __b);
 8628}
 8629
 8630// This prototype is deprecated.
 8631static inline __ATTRS_o_ai __vector unsigned long long
 8632vec_sral(__vector unsigned long long __a, __vector unsigned short __b) {
 8633  return (__vector unsigned long long)__builtin_s390_vsra(
 8634    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8635}
 8636
 8637// This prototype is deprecated.
 8638static inline __ATTRS_o_ai __vector unsigned long long
 8639vec_sral(__vector unsigned long long __a, __vector unsigned int __b) {
 8640  return (__vector unsigned long long)__builtin_s390_vsra(
 8641    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8642}
 8643
 8644static inline __ATTRS_o_ai __vector signed __int128
 8645vec_sral(__vector signed __int128 __a, __vector unsigned char __b) {
 8646  return (__vector signed __int128)__builtin_s390_vsra(
 8647    (__vector unsigned char)__a, __b);
 8648}
 8649
 8650static inline __ATTRS_o_ai __vector unsigned __int128
 8651vec_sral(__vector unsigned __int128 __a, __vector unsigned char __b) {
 8652  return (__vector unsigned __int128)__builtin_s390_vsra(
 8653    (__vector unsigned char)__a, __b);
 8654}
 8655
 8656/*-- vec_srab ---------------------------------------------------------------*/
 8657
 8658// This prototype is deprecated.
 8659static inline __ATTRS_o_ai __vector signed char
 8660vec_srab(__vector signed char __a, __vector signed char __b) {
 8661  return (__vector signed char)__builtin_s390_vsrab(
 8662    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8663}
 8664
 8665static inline __ATTRS_o_ai __vector signed char
 8666vec_srab(__vector signed char __a, __vector unsigned char __b) {
 8667  return (__vector signed char)__builtin_s390_vsrab(
 8668    (__vector unsigned char)__a, __b);
 8669}
 8670
 8671// This prototype is deprecated.
 8672static inline __ATTRS_o_ai __vector unsigned char
 8673vec_srab(__vector unsigned char __a, __vector signed char __b) {
 8674  return __builtin_s390_vsrab(__a, (__vector unsigned char)__b);
 8675}
 8676
 8677static inline __ATTRS_o_ai __vector unsigned char
 8678vec_srab(__vector unsigned char __a, __vector unsigned char __b) {
 8679  return __builtin_s390_vsrab(__a, __b);
 8680}
 8681
 8682// This prototype is deprecated.
 8683static inline __ATTRS_o_ai __vector signed short
 8684vec_srab(__vector signed short __a, __vector signed short __b) {
 8685  return (__vector signed short)__builtin_s390_vsrab(
 8686    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8687}
 8688
 8689// This prototype is deprecated.
 8690static inline __ATTRS_o_ai __vector signed short
 8691vec_srab(__vector signed short __a, __vector unsigned short __b) {
 8692  return (__vector signed short)__builtin_s390_vsrab(
 8693    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8694}
 8695
 8696static inline __ATTRS_o_ai __vector signed short
 8697vec_srab(__vector signed short __a, __vector unsigned char __b) {
 8698  return (__vector signed short)__builtin_s390_vsrab(
 8699    (__vector unsigned char)__a, __b);
 8700}
 8701
 8702// This prototype is deprecated.
 8703static inline __ATTRS_o_ai __vector unsigned short
 8704vec_srab(__vector unsigned short __a, __vector signed short __b) {
 8705  return (__vector unsigned short)__builtin_s390_vsrab(
 8706    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8707}
 8708
 8709// This prototype is deprecated.
 8710static inline __ATTRS_o_ai __vector unsigned short
 8711vec_srab(__vector unsigned short __a, __vector unsigned short __b) {
 8712  return (__vector unsigned short)__builtin_s390_vsrab(
 8713    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8714}
 8715
 8716static inline __ATTRS_o_ai __vector unsigned short
 8717vec_srab(__vector unsigned short __a, __vector unsigned char __b) {
 8718  return (__vector unsigned short)__builtin_s390_vsrab(
 8719    (__vector unsigned char)__a, __b);
 8720}
 8721
 8722// This prototype is deprecated.
 8723static inline __ATTRS_o_ai __vector signed int
 8724vec_srab(__vector signed int __a, __vector signed int __b) {
 8725  return (__vector signed int)__builtin_s390_vsrab(
 8726    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8727}
 8728
 8729// This prototype is deprecated.
 8730static inline __ATTRS_o_ai __vector signed int
 8731vec_srab(__vector signed int __a, __vector unsigned int __b) {
 8732  return (__vector signed int)__builtin_s390_vsrab(
 8733    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8734}
 8735
 8736static inline __ATTRS_o_ai __vector signed int
 8737vec_srab(__vector signed int __a, __vector unsigned char __b) {
 8738  return (__vector signed int)__builtin_s390_vsrab(
 8739    (__vector unsigned char)__a, __b);
 8740}
 8741
 8742// This prototype is deprecated.
 8743static inline __ATTRS_o_ai __vector unsigned int
 8744vec_srab(__vector unsigned int __a, __vector signed int __b) {
 8745  return (__vector unsigned int)__builtin_s390_vsrab(
 8746    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8747}
 8748
 8749// This prototype is deprecated.
 8750static inline __ATTRS_o_ai __vector unsigned int
 8751vec_srab(__vector unsigned int __a, __vector unsigned int __b) {
 8752  return (__vector unsigned int)__builtin_s390_vsrab(
 8753    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8754}
 8755
 8756static inline __ATTRS_o_ai __vector unsigned int
 8757vec_srab(__vector unsigned int __a, __vector unsigned char __b) {
 8758  return (__vector unsigned int)__builtin_s390_vsrab(
 8759    (__vector unsigned char)__a, __b);
 8760}
 8761
 8762// This prototype is deprecated.
 8763static inline __ATTRS_o_ai __vector signed long long
 8764vec_srab(__vector signed long long __a, __vector signed long long __b) {
 8765  return (__vector signed long long)__builtin_s390_vsrab(
 8766    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8767}
 8768
 8769// This prototype is deprecated.
 8770static inline __ATTRS_o_ai __vector signed long long
 8771vec_srab(__vector signed long long __a, __vector unsigned long long __b) {
 8772  return (__vector signed long long)__builtin_s390_vsrab(
 8773    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8774}
 8775
 8776static inline __ATTRS_o_ai __vector signed long long
 8777vec_srab(__vector signed long long __a, __vector unsigned char __b) {
 8778  return (__vector signed long long)__builtin_s390_vsrab(
 8779    (__vector unsigned char)__a, __b);
 8780}
 8781
 8782// This prototype is deprecated.
 8783static inline __ATTRS_o_ai __vector unsigned long long
 8784vec_srab(__vector unsigned long long __a, __vector signed long long __b) {
 8785  return (__vector unsigned long long)__builtin_s390_vsrab(
 8786    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8787}
 8788
 8789// This prototype is deprecated.
 8790static inline __ATTRS_o_ai __vector unsigned long long
 8791vec_srab(__vector unsigned long long __a, __vector unsigned long long __b) {
 8792  return (__vector unsigned long long)__builtin_s390_vsrab(
 8793    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8794}
 8795
 8796static inline __ATTRS_o_ai __vector unsigned long long
 8797vec_srab(__vector unsigned long long __a, __vector unsigned char __b) {
 8798  return (__vector unsigned long long)__builtin_s390_vsrab(
 8799    (__vector unsigned char)__a, __b);
 8800}
 8801
 8802static inline __ATTRS_o_ai __vector signed __int128
 8803vec_srab(__vector signed __int128 __a, __vector unsigned char __b) {
 8804  return (__vector signed __int128)__builtin_s390_vsrab(
 8805    (__vector unsigned char)__a, __b);
 8806}
 8807
 8808static inline __ATTRS_o_ai __vector unsigned __int128
 8809vec_srab(__vector unsigned __int128 __a, __vector unsigned char __b) {
 8810  return (__vector unsigned __int128)__builtin_s390_vsrab(
 8811    (__vector unsigned char)__a, __b);
 8812}
 8813
 8814#if __ARCH__ >= 12
 8815// This prototype is deprecated.
 8816static inline __ATTRS_o_ai __vector float
 8817vec_srab(__vector float __a, __vector signed int __b) {
 8818  return (__vector float)__builtin_s390_vsrab(
 8819    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8820}
 8821
 8822// This prototype is deprecated.
 8823static inline __ATTRS_o_ai __vector float
 8824vec_srab(__vector float __a, __vector unsigned int __b) {
 8825  return (__vector float)__builtin_s390_vsrab(
 8826    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8827}
 8828
 8829static inline __ATTRS_o_ai __vector float
 8830vec_srab(__vector float __a, __vector unsigned char __b) {
 8831  return (__vector float)__builtin_s390_vsrab(
 8832    (__vector unsigned char)__a, __b);
 8833}
 8834#endif
 8835
 8836// This prototype is deprecated.
 8837static inline __ATTRS_o_ai __vector double
 8838vec_srab(__vector double __a, __vector signed long long __b) {
 8839  return (__vector double)__builtin_s390_vsrab(
 8840    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8841}
 8842
 8843// This prototype is deprecated.
 8844static inline __ATTRS_o_ai __vector double
 8845vec_srab(__vector double __a, __vector unsigned long long __b) {
 8846  return (__vector double)__builtin_s390_vsrab(
 8847    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8848}
 8849
 8850static inline __ATTRS_o_ai __vector double
 8851vec_srab(__vector double __a, __vector unsigned char __b) {
 8852  return (__vector double)__builtin_s390_vsrab(
 8853    (__vector unsigned char)__a, __b);
 8854}
 8855
 8856/*-- vec_srl ----------------------------------------------------------------*/
 8857
 8858static inline __ATTRS_o_ai __vector signed char
 8859vec_srl(__vector signed char __a, __vector unsigned char __b) {
 8860  return (__vector signed char)__builtin_s390_vsrl(
 8861    (__vector unsigned char)__a, __b);
 8862}
 8863
 8864// This prototype is deprecated.
 8865static inline __ATTRS_o_ai __vector signed char
 8866vec_srl(__vector signed char __a, __vector unsigned short __b) {
 8867  return (__vector signed char)__builtin_s390_vsrl(
 8868    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8869}
 8870
 8871// This prototype is deprecated.
 8872static inline __ATTRS_o_ai __vector signed char
 8873vec_srl(__vector signed char __a, __vector unsigned int __b) {
 8874  return (__vector signed char)__builtin_s390_vsrl(
 8875    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8876}
 8877
 8878// This prototype is deprecated.
 8879static inline __ATTRS_o_ai __vector __bool char
 8880vec_srl(__vector __bool char __a, __vector unsigned char __b) {
 8881  return (__vector __bool char)__builtin_s390_vsrl(
 8882    (__vector unsigned char)__a, __b);
 8883}
 8884
 8885// This prototype is deprecated.
 8886static inline __ATTRS_o_ai __vector __bool char
 8887vec_srl(__vector __bool char __a, __vector unsigned short __b) {
 8888  return (__vector __bool char)__builtin_s390_vsrl(
 8889    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8890}
 8891
 8892// This prototype is deprecated.
 8893static inline __ATTRS_o_ai __vector __bool char
 8894vec_srl(__vector __bool char __a, __vector unsigned int __b) {
 8895  return (__vector __bool char)__builtin_s390_vsrl(
 8896    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8897}
 8898
 8899static inline __ATTRS_o_ai __vector unsigned char
 8900vec_srl(__vector unsigned char __a, __vector unsigned char __b) {
 8901  return __builtin_s390_vsrl(__a, __b);
 8902}
 8903
 8904// This prototype is deprecated.
 8905static inline __ATTRS_o_ai __vector unsigned char
 8906vec_srl(__vector unsigned char __a, __vector unsigned short __b) {
 8907  return __builtin_s390_vsrl(__a, (__vector unsigned char)__b);
 8908}
 8909
 8910// This prototype is deprecated.
 8911static inline __ATTRS_o_ai __vector unsigned char
 8912vec_srl(__vector unsigned char __a, __vector unsigned int __b) {
 8913  return __builtin_s390_vsrl(__a, (__vector unsigned char)__b);
 8914}
 8915
 8916static inline __ATTRS_o_ai __vector signed short
 8917vec_srl(__vector signed short __a, __vector unsigned char __b) {
 8918  return (__vector signed short)__builtin_s390_vsrl(
 8919    (__vector unsigned char)__a, __b);
 8920}
 8921
 8922// This prototype is deprecated.
 8923static inline __ATTRS_o_ai __vector signed short
 8924vec_srl(__vector signed short __a, __vector unsigned short __b) {
 8925  return (__vector signed short)__builtin_s390_vsrl(
 8926    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8927}
 8928
 8929// This prototype is deprecated.
 8930static inline __ATTRS_o_ai __vector signed short
 8931vec_srl(__vector signed short __a, __vector unsigned int __b) {
 8932  return (__vector signed short)__builtin_s390_vsrl(
 8933    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8934}
 8935
 8936// This prototype is deprecated.
 8937static inline __ATTRS_o_ai __vector __bool short
 8938vec_srl(__vector __bool short __a, __vector unsigned char __b) {
 8939  return (__vector __bool short)__builtin_s390_vsrl(
 8940    (__vector unsigned char)__a, __b);
 8941}
 8942
 8943// This prototype is deprecated.
 8944static inline __ATTRS_o_ai __vector __bool short
 8945vec_srl(__vector __bool short __a, __vector unsigned short __b) {
 8946  return (__vector __bool short)__builtin_s390_vsrl(
 8947    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8948}
 8949
 8950// This prototype is deprecated.
 8951static inline __ATTRS_o_ai __vector __bool short
 8952vec_srl(__vector __bool short __a, __vector unsigned int __b) {
 8953  return (__vector __bool short)__builtin_s390_vsrl(
 8954    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8955}
 8956
 8957static inline __ATTRS_o_ai __vector unsigned short
 8958vec_srl(__vector unsigned short __a, __vector unsigned char __b) {
 8959  return (__vector unsigned short)__builtin_s390_vsrl(
 8960    (__vector unsigned char)__a, __b);
 8961}
 8962
 8963// This prototype is deprecated.
 8964static inline __ATTRS_o_ai __vector unsigned short
 8965vec_srl(__vector unsigned short __a, __vector unsigned short __b) {
 8966  return (__vector unsigned short)__builtin_s390_vsrl(
 8967    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8968}
 8969
 8970// This prototype is deprecated.
 8971static inline __ATTRS_o_ai __vector unsigned short
 8972vec_srl(__vector unsigned short __a, __vector unsigned int __b) {
 8973  return (__vector unsigned short)__builtin_s390_vsrl(
 8974    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8975}
 8976
 8977static inline __ATTRS_o_ai __vector signed int
 8978vec_srl(__vector signed int __a, __vector unsigned char __b) {
 8979  return (__vector signed int)__builtin_s390_vsrl(
 8980    (__vector unsigned char)__a, __b);
 8981}
 8982
 8983// This prototype is deprecated.
 8984static inline __ATTRS_o_ai __vector signed int
 8985vec_srl(__vector signed int __a, __vector unsigned short __b) {
 8986  return (__vector signed int)__builtin_s390_vsrl(
 8987    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8988}
 8989
 8990// This prototype is deprecated.
 8991static inline __ATTRS_o_ai __vector signed int
 8992vec_srl(__vector signed int __a, __vector unsigned int __b) {
 8993  return (__vector signed int)__builtin_s390_vsrl(
 8994    (__vector unsigned char)__a, (__vector unsigned char)__b);
 8995}
 8996
 8997// This prototype is deprecated.
 8998static inline __ATTRS_o_ai __vector __bool int
 8999vec_srl(__vector __bool int __a, __vector unsigned char __b) {
 9000  return (__vector __bool int)__builtin_s390_vsrl(
 9001    (__vector unsigned char)__a, __b);
 9002}
 9003
 9004// This prototype is deprecated.
 9005static inline __ATTRS_o_ai __vector __bool int
 9006vec_srl(__vector __bool int __a, __vector unsigned short __b) {
 9007  return (__vector __bool int)__builtin_s390_vsrl(
 9008    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9009}
 9010
 9011// This prototype is deprecated.
 9012static inline __ATTRS_o_ai __vector __bool int
 9013vec_srl(__vector __bool int __a, __vector unsigned int __b) {
 9014  return (__vector __bool int)__builtin_s390_vsrl(
 9015    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9016}
 9017
 9018static inline __ATTRS_o_ai __vector unsigned int
 9019vec_srl(__vector unsigned int __a, __vector unsigned char __b) {
 9020  return (__vector unsigned int)__builtin_s390_vsrl(
 9021    (__vector unsigned char)__a, __b);
 9022}
 9023
 9024// This prototype is deprecated.
 9025static inline __ATTRS_o_ai __vector unsigned int
 9026vec_srl(__vector unsigned int __a, __vector unsigned short __b) {
 9027  return (__vector unsigned int)__builtin_s390_vsrl(
 9028    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9029}
 9030
 9031// This prototype is deprecated.
 9032static inline __ATTRS_o_ai __vector unsigned int
 9033vec_srl(__vector unsigned int __a, __vector unsigned int __b) {
 9034  return (__vector unsigned int)__builtin_s390_vsrl(
 9035    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9036}
 9037
 9038static inline __ATTRS_o_ai __vector signed long long
 9039vec_srl(__vector signed long long __a, __vector unsigned char __b) {
 9040  return (__vector signed long long)__builtin_s390_vsrl(
 9041    (__vector unsigned char)__a, __b);
 9042}
 9043
 9044// This prototype is deprecated.
 9045static inline __ATTRS_o_ai __vector signed long long
 9046vec_srl(__vector signed long long __a, __vector unsigned short __b) {
 9047  return (__vector signed long long)__builtin_s390_vsrl(
 9048    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9049}
 9050
 9051// This prototype is deprecated.
 9052static inline __ATTRS_o_ai __vector signed long long
 9053vec_srl(__vector signed long long __a, __vector unsigned int __b) {
 9054  return (__vector signed long long)__builtin_s390_vsrl(
 9055    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9056}
 9057
 9058// This prototype is deprecated.
 9059static inline __ATTRS_o_ai __vector __bool long long
 9060vec_srl(__vector __bool long long __a, __vector unsigned char __b) {
 9061  return (__vector __bool long long)__builtin_s390_vsrl(
 9062    (__vector unsigned char)__a, __b);
 9063}
 9064
 9065// This prototype is deprecated.
 9066static inline __ATTRS_o_ai __vector __bool long long
 9067vec_srl(__vector __bool long long __a, __vector unsigned short __b) {
 9068  return (__vector __bool long long)__builtin_s390_vsrl(
 9069    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9070}
 9071
 9072// This prototype is deprecated.
 9073static inline __ATTRS_o_ai __vector __bool long long
 9074vec_srl(__vector __bool long long __a, __vector unsigned int __b) {
 9075  return (__vector __bool long long)__builtin_s390_vsrl(
 9076    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9077}
 9078
 9079static inline __ATTRS_o_ai __vector unsigned long long
 9080vec_srl(__vector unsigned long long __a, __vector unsigned char __b) {
 9081  return (__vector unsigned long long)__builtin_s390_vsrl(
 9082    (__vector unsigned char)__a, __b);
 9083}
 9084
 9085// This prototype is deprecated.
 9086static inline __ATTRS_o_ai __vector unsigned long long
 9087vec_srl(__vector unsigned long long __a, __vector unsigned short __b) {
 9088  return (__vector unsigned long long)__builtin_s390_vsrl(
 9089    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9090}
 9091
 9092// This prototype is deprecated.
 9093static inline __ATTRS_o_ai __vector unsigned long long
 9094vec_srl(__vector unsigned long long __a, __vector unsigned int __b) {
 9095  return (__vector unsigned long long)__builtin_s390_vsrl(
 9096    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9097}
 9098
 9099static inline __ATTRS_o_ai __vector signed __int128
 9100vec_srl(__vector signed __int128 __a, __vector unsigned char __b) {
 9101  return (__vector signed __int128)__builtin_s390_vsrl(
 9102    (__vector unsigned char)__a, __b);
 9103}
 9104
 9105static inline __ATTRS_o_ai __vector unsigned __int128
 9106vec_srl(__vector unsigned __int128 __a, __vector unsigned char __b) {
 9107  return (__vector unsigned __int128)__builtin_s390_vsrl(
 9108    (__vector unsigned char)__a, __b);
 9109}
 9110
 9111/*-- vec_srb ----------------------------------------------------------------*/
 9112
 9113// This prototype is deprecated.
 9114static inline __ATTRS_o_ai __vector signed char
 9115vec_srb(__vector signed char __a, __vector signed char __b) {
 9116  return (__vector signed char)__builtin_s390_vsrlb(
 9117    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9118}
 9119
 9120static inline __ATTRS_o_ai __vector signed char
 9121vec_srb(__vector signed char __a, __vector unsigned char __b) {
 9122  return (__vector signed char)__builtin_s390_vsrlb(
 9123    (__vector unsigned char)__a, __b);
 9124}
 9125
 9126// This prototype is deprecated.
 9127static inline __ATTRS_o_ai __vector unsigned char
 9128vec_srb(__vector unsigned char __a, __vector signed char __b) {
 9129  return __builtin_s390_vsrlb(__a, (__vector unsigned char)__b);
 9130}
 9131
 9132static inline __ATTRS_o_ai __vector unsigned char
 9133vec_srb(__vector unsigned char __a, __vector unsigned char __b) {
 9134  return __builtin_s390_vsrlb(__a, __b);
 9135}
 9136
 9137// This prototype is deprecated.
 9138static inline __ATTRS_o_ai __vector signed short
 9139vec_srb(__vector signed short __a, __vector signed short __b) {
 9140  return (__vector signed short)__builtin_s390_vsrlb(
 9141    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9142}
 9143
 9144// This prototype is deprecated.
 9145static inline __ATTRS_o_ai __vector signed short
 9146vec_srb(__vector signed short __a, __vector unsigned short __b) {
 9147  return (__vector signed short)__builtin_s390_vsrlb(
 9148    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9149}
 9150
 9151static inline __ATTRS_o_ai __vector signed short
 9152vec_srb(__vector signed short __a, __vector unsigned char __b) {
 9153  return (__vector signed short)__builtin_s390_vsrlb(
 9154    (__vector unsigned char)__a, __b);
 9155}
 9156
 9157// This prototype is deprecated.
 9158static inline __ATTRS_o_ai __vector unsigned short
 9159vec_srb(__vector unsigned short __a, __vector signed short __b) {
 9160  return (__vector unsigned short)__builtin_s390_vsrlb(
 9161    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9162}
 9163
 9164// This prototype is deprecated.
 9165static inline __ATTRS_o_ai __vector unsigned short
 9166vec_srb(__vector unsigned short __a, __vector unsigned short __b) {
 9167  return (__vector unsigned short)__builtin_s390_vsrlb(
 9168    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9169}
 9170
 9171static inline __ATTRS_o_ai __vector unsigned short
 9172vec_srb(__vector unsigned short __a, __vector unsigned char __b) {
 9173  return (__vector unsigned short)__builtin_s390_vsrlb(
 9174    (__vector unsigned char)__a, __b);
 9175}
 9176
 9177// This prototype is deprecated.
 9178static inline __ATTRS_o_ai __vector signed int
 9179vec_srb(__vector signed int __a, __vector signed int __b) {
 9180  return (__vector signed int)__builtin_s390_vsrlb(
 9181    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9182}
 9183
 9184// This prototype is deprecated.
 9185static inline __ATTRS_o_ai __vector signed int
 9186vec_srb(__vector signed int __a, __vector unsigned int __b) {
 9187  return (__vector signed int)__builtin_s390_vsrlb(
 9188    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9189}
 9190
 9191static inline __ATTRS_o_ai __vector signed int
 9192vec_srb(__vector signed int __a, __vector unsigned char __b) {
 9193  return (__vector signed int)__builtin_s390_vsrlb(
 9194    (__vector unsigned char)__a, __b);
 9195}
 9196
 9197// This prototype is deprecated.
 9198static inline __ATTRS_o_ai __vector unsigned int
 9199vec_srb(__vector unsigned int __a, __vector signed int __b) {
 9200  return (__vector unsigned int)__builtin_s390_vsrlb(
 9201    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9202}
 9203
 9204// This prototype is deprecated.
 9205static inline __ATTRS_o_ai __vector unsigned int
 9206vec_srb(__vector unsigned int __a, __vector unsigned int __b) {
 9207  return (__vector unsigned int)__builtin_s390_vsrlb(
 9208    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9209}
 9210
 9211static inline __ATTRS_o_ai __vector unsigned int
 9212vec_srb(__vector unsigned int __a, __vector unsigned char __b) {
 9213  return (__vector unsigned int)__builtin_s390_vsrlb(
 9214    (__vector unsigned char)__a, __b);
 9215}
 9216
 9217// This prototype is deprecated.
 9218static inline __ATTRS_o_ai __vector signed long long
 9219vec_srb(__vector signed long long __a, __vector signed long long __b) {
 9220  return (__vector signed long long)__builtin_s390_vsrlb(
 9221    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9222}
 9223
 9224// This prototype is deprecated.
 9225static inline __ATTRS_o_ai __vector signed long long
 9226vec_srb(__vector signed long long __a, __vector unsigned long long __b) {
 9227  return (__vector signed long long)__builtin_s390_vsrlb(
 9228    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9229}
 9230
 9231static inline __ATTRS_o_ai __vector signed long long
 9232vec_srb(__vector signed long long __a, __vector unsigned char __b) {
 9233  return (__vector signed long long)__builtin_s390_vsrlb(
 9234    (__vector unsigned char)__a, __b);
 9235}
 9236
 9237// This prototype is deprecated.
 9238static inline __ATTRS_o_ai __vector unsigned long long
 9239vec_srb(__vector unsigned long long __a, __vector signed long long __b) {
 9240  return (__vector unsigned long long)__builtin_s390_vsrlb(
 9241    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9242}
 9243
 9244// This prototype is deprecated.
 9245static inline __ATTRS_o_ai __vector unsigned long long
 9246vec_srb(__vector unsigned long long __a, __vector unsigned long long __b) {
 9247  return (__vector unsigned long long)__builtin_s390_vsrlb(
 9248    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9249}
 9250
 9251static inline __ATTRS_o_ai __vector unsigned long long
 9252vec_srb(__vector unsigned long long __a, __vector unsigned char __b) {
 9253  return (__vector unsigned long long)__builtin_s390_vsrlb(
 9254    (__vector unsigned char)__a, __b);
 9255}
 9256
 9257static inline __ATTRS_o_ai __vector signed __int128
 9258vec_srb(__vector signed __int128 __a, __vector unsigned char __b) {
 9259  return (__vector signed __int128)__builtin_s390_vsrlb(
 9260    (__vector unsigned char)__a, __b);
 9261}
 9262
 9263static inline __ATTRS_o_ai __vector unsigned __int128
 9264vec_srb(__vector unsigned __int128 __a, __vector unsigned char __b) {
 9265  return (__vector unsigned __int128)__builtin_s390_vsrlb(
 9266    (__vector unsigned char)__a, __b);
 9267}
 9268
 9269#if __ARCH__ >= 12
 9270// This prototype is deprecated.
 9271static inline __ATTRS_o_ai __vector float
 9272vec_srb(__vector float __a, __vector signed int __b) {
 9273  return (__vector float)__builtin_s390_vsrlb(
 9274    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9275}
 9276
 9277// This prototype is deprecated.
 9278static inline __ATTRS_o_ai __vector float
 9279vec_srb(__vector float __a, __vector unsigned int __b) {
 9280  return (__vector float)__builtin_s390_vsrlb(
 9281    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9282}
 9283
 9284static inline __ATTRS_o_ai __vector float
 9285vec_srb(__vector float __a, __vector unsigned char __b) {
 9286  return (__vector float)__builtin_s390_vsrlb(
 9287    (__vector unsigned char)__a, __b);
 9288}
 9289#endif
 9290
 9291// This prototype is deprecated.
 9292static inline __ATTRS_o_ai __vector double
 9293vec_srb(__vector double __a, __vector signed long long __b) {
 9294  return (__vector double)__builtin_s390_vsrlb(
 9295    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9296}
 9297
 9298// This prototype is deprecated.
 9299static inline __ATTRS_o_ai __vector double
 9300vec_srb(__vector double __a, __vector unsigned long long __b) {
 9301  return (__vector double)__builtin_s390_vsrlb(
 9302    (__vector unsigned char)__a, (__vector unsigned char)__b);
 9303}
 9304
 9305static inline __ATTRS_o_ai __vector double
 9306vec_srb(__vector double __a, __vector unsigned char __b) {
 9307  return (__vector double)__builtin_s390_vsrlb(
 9308    (__vector unsigned char)__a, __b);
 9309}
 9310
 9311/*-- vec_srdb ---------------------------------------------------------------*/
 9312
 9313#if __ARCH__ >= 13
 9314
 9315extern __ATTRS_o __vector signed char
 9316vec_srdb(__vector signed char __a, __vector signed char __b, int __c)
 9317  __constant_range(__c, 0, 7);
 9318
 9319extern __ATTRS_o __vector unsigned char
 9320vec_srdb(__vector unsigned char __a, __vector unsigned char __b, int __c)
 9321  __constant_range(__c, 0, 7);
 9322
 9323extern __ATTRS_o __vector signed short
 9324vec_srdb(__vector signed short __a, __vector signed short __b, int __c)
 9325  __constant_range(__c, 0, 7);
 9326
 9327extern __ATTRS_o __vector unsigned short
 9328vec_srdb(__vector unsigned short __a, __vector unsigned short __b, int __c)
 9329  __constant_range(__c, 0, 7);
 9330
 9331extern __ATTRS_o __vector signed int
 9332vec_srdb(__vector signed int __a, __vector signed int __b, int __c)
 9333  __constant_range(__c, 0, 7);
 9334
 9335extern __ATTRS_o __vector unsigned int
 9336vec_srdb(__vector unsigned int __a, __vector unsigned int __b, int __c)
 9337  __constant_range(__c, 0, 7);
 9338
 9339extern __ATTRS_o __vector signed long long
 9340vec_srdb(__vector signed long long __a, __vector signed long long __b, int __c)
 9341  __constant_range(__c, 0, 7);
 9342
 9343extern __ATTRS_o __vector unsigned long long
 9344vec_srdb(__vector unsigned long long __a, __vector unsigned long long __b,
 9345         int __c)
 9346  __constant_range(__c, 0, 7);
 9347
 9348extern __ATTRS_o __vector signed __int128
 9349vec_srdb(__vector signed __int128 __a, __vector signed __int128 __b, int __c)
 9350  __constant_range(__c, 0, 7);
 9351
 9352extern __ATTRS_o __vector unsigned __int128
 9353vec_srdb(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
 9354         int __c)
 9355  __constant_range(__c, 0, 7);
 9356
 9357extern __ATTRS_o __vector float
 9358vec_srdb(__vector float __a, __vector float __b, int __c)
 9359  __constant_range(__c, 0, 7);
 9360
 9361extern __ATTRS_o __vector double
 9362vec_srdb(__vector double __a, __vector double __b, int __c)
 9363  __constant_range(__c, 0, 7);
 9364
 9365#define vec_srdb(X, Y, Z) ((__typeof__((vec_srdb)((X), (Y), (Z)))) \
 9366  __builtin_s390_vsrd((__vector unsigned char)(X), \
 9367                      (__vector unsigned char)(Y), (Z)))
 9368
 9369#endif
 9370
 9371/*-- vec_abs ----------------------------------------------------------------*/
 9372
 9373static inline __ATTRS_o_ai __vector signed char
 9374vec_abs(__vector signed char __a) {
 9375  return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed char)0));
 9376}
 9377
 9378static inline __ATTRS_o_ai __vector signed short
 9379vec_abs(__vector signed short __a) {
 9380  return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed short)0));
 9381}
 9382
 9383static inline __ATTRS_o_ai __vector signed int
 9384vec_abs(__vector signed int __a) {
 9385  return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed int)0));
 9386}
 9387
 9388static inline __ATTRS_o_ai __vector signed long long
 9389vec_abs(__vector signed long long __a) {
 9390  return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed long long)0));
 9391}
 9392
 9393static inline __ATTRS_o_ai __vector signed __int128
 9394vec_abs(__vector signed __int128 __a) {
 9395  return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed __int128)0));
 9396}
 9397
 9398#if __ARCH__ >= 12
 9399static inline __ATTRS_o_ai __vector float
 9400vec_abs(__vector float __a) {
 9401  return __builtin_s390_vflpsb(__a);
 9402}
 9403#endif
 9404
 9405static inline __ATTRS_o_ai __vector double
 9406vec_abs(__vector double __a) {
 9407  return __builtin_s390_vflpdb(__a);
 9408}
 9409
 9410/*-- vec_nabs ---------------------------------------------------------------*/
 9411
 9412#if __ARCH__ >= 12
 9413static inline __ATTRS_o_ai __vector float
 9414vec_nabs(__vector float __a) {
 9415  return __builtin_s390_vflnsb(__a);
 9416}
 9417#endif
 9418
 9419static inline __ATTRS_o_ai __vector double
 9420vec_nabs(__vector double __a) {
 9421  return __builtin_s390_vflndb(__a);
 9422}
 9423
 9424/*-- vec_max ----------------------------------------------------------------*/
 9425
 9426static inline __ATTRS_o_ai __vector signed char
 9427vec_max(__vector signed char __a, __vector signed char __b) {
 9428  return vec_sel(__b, __a, vec_cmpgt(__a, __b));
 9429}
 9430
 9431// This prototype is deprecated.
 9432static inline __ATTRS_o_ai __vector signed char
 9433vec_max(__vector signed char __a, __vector __bool char __b) {
 9434  __vector signed char __bc = (__vector signed char)__b;
 9435  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
 9436}
 9437
 9438// This prototype is deprecated.
 9439static inline __ATTRS_o_ai __vector signed char
 9440vec_max(__vector __bool char __a, __vector signed char __b) {
 9441  __vector signed char __ac = (__vector signed char)__a;
 9442  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
 9443}
 9444
 9445static inline __ATTRS_o_ai __vector unsigned char
 9446vec_max(__vector unsigned char __a, __vector unsigned char __b) {
 9447  return vec_sel(__b, __a, vec_cmpgt(__a, __b));
 9448}
 9449
 9450// This prototype is deprecated.
 9451static inline __ATTRS_o_ai __vector unsigned char
 9452vec_max(__vector unsigned char __a, __vector __bool char __b) {
 9453  __vector unsigned char __bc = (__vector unsigned char)__b;
 9454  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
 9455}
 9456
 9457// This prototype is deprecated.
 9458static inline __ATTRS_o_ai __vector unsigned char
 9459vec_max(__vector __bool char __a, __vector unsigned char __b) {
 9460  __vector unsigned char __ac = (__vector unsigned char)__a;
 9461  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
 9462}
 9463
 9464static inline __ATTRS_o_ai __vector signed short
 9465vec_max(__vector signed short __a, __vector signed short __b) {
 9466  return vec_sel(__b, __a, vec_cmpgt(__a, __b));
 9467}
 9468
 9469// This prototype is deprecated.
 9470static inline __ATTRS_o_ai __vector signed short
 9471vec_max(__vector signed short __a, __vector __bool short __b) {
 9472  __vector signed short __bc = (__vector signed short)__b;
 9473  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
 9474}
 9475
 9476// This prototype is deprecated.
 9477static inline __ATTRS_o_ai __vector signed short
 9478vec_max(__vector __bool short __a, __vector signed short __b) {
 9479  __vector signed short __ac = (__vector signed short)__a;
 9480  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
 9481}
 9482
 9483static inline __ATTRS_o_ai __vector unsigned short
 9484vec_max(__vector unsigned short __a, __vector unsigned short __b) {
 9485  return vec_sel(__b, __a, vec_cmpgt(__a, __b));
 9486}
 9487
 9488// This prototype is deprecated.
 9489static inline __ATTRS_o_ai __vector unsigned short
 9490vec_max(__vector unsigned short __a, __vector __bool short __b) {
 9491  __vector unsigned short __bc = (__vector unsigned short)__b;
 9492  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
 9493}
 9494
 9495// This prototype is deprecated.
 9496static inline __ATTRS_o_ai __vector unsigned short
 9497vec_max(__vector __bool short __a, __vector unsigned short __b) {
 9498  __vector unsigned short __ac = (__vector unsigned short)__a;
 9499  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
 9500}
 9501
 9502static inline __ATTRS_o_ai __vector signed int
 9503vec_max(__vector signed int __a, __vector signed int __b) {
 9504  return vec_sel(__b, __a, vec_cmpgt(__a, __b));
 9505}
 9506
 9507// This prototype is deprecated.
 9508static inline __ATTRS_o_ai __vector signed int
 9509vec_max(__vector signed int __a, __vector __bool int __b) {
 9510  __vector signed int __bc = (__vector signed int)__b;
 9511  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
 9512}
 9513
 9514// This prototype is deprecated.
 9515static inline __ATTRS_o_ai __vector signed int
 9516vec_max(__vector __bool int __a, __vector signed int __b) {
 9517  __vector signed int __ac = (__vector signed int)__a;
 9518  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
 9519}
 9520
 9521static inline __ATTRS_o_ai __vector unsigned int
 9522vec_max(__vector unsigned int __a, __vector unsigned int __b) {
 9523  return vec_sel(__b, __a, vec_cmpgt(__a, __b));
 9524}
 9525
 9526// This prototype is deprecated.
 9527static inline __ATTRS_o_ai __vector unsigned int
 9528vec_max(__vector unsigned int __a, __vector __bool int __b) {
 9529  __vector unsigned int __bc = (__vector unsigned int)__b;
 9530  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
 9531}
 9532
 9533// This prototype is deprecated.
 9534static inline __ATTRS_o_ai __vector unsigned int
 9535vec_max(__vector __bool int __a, __vector unsigned int __b) {
 9536  __vector unsigned int __ac = (__vector unsigned int)__a;
 9537  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
 9538}
 9539
 9540static inline __ATTRS_o_ai __vector signed long long
 9541vec_max(__vector signed long long __a, __vector signed long long __b) {
 9542  return vec_sel(__b, __a, vec_cmpgt(__a, __b));
 9543}
 9544
 9545// This prototype is deprecated.
 9546static inline __ATTRS_o_ai __vector signed long long
 9547vec_max(__vector signed long long __a, __vector __bool long long __b) {
 9548  __vector signed long long __bc = (__vector signed long long)__b;
 9549  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
 9550}
 9551
 9552// This prototype is deprecated.
 9553static inline __ATTRS_o_ai __vector signed long long
 9554vec_max(__vector __bool long long __a, __vector signed long long __b) {
 9555  __vector signed long long __ac = (__vector signed long long)__a;
 9556  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
 9557}
 9558
 9559static inline __ATTRS_o_ai __vector unsigned long long
 9560vec_max(__vector unsigned long long __a, __vector unsigned long long __b) {
 9561  return vec_sel(__b, __a, vec_cmpgt(__a, __b));
 9562}
 9563
 9564// This prototype is deprecated.
 9565static inline __ATTRS_o_ai __vector unsigned long long
 9566vec_max(__vector unsigned long long __a, __vector __bool long long __b) {
 9567  __vector unsigned long long __bc = (__vector unsigned long long)__b;
 9568  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
 9569}
 9570
 9571// This prototype is deprecated.
 9572static inline __ATTRS_o_ai __vector unsigned long long
 9573vec_max(__vector __bool long long __a, __vector unsigned long long __b) {
 9574  __vector unsigned long long __ac = (__vector unsigned long long)__a;
 9575  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
 9576}
 9577
 9578static inline __ATTRS_o_ai __vector signed __int128
 9579vec_max(__vector signed __int128 __a, __vector signed __int128 __b) {
 9580  return vec_sel(__b, __a, vec_cmpgt(__a, __b));
 9581}
 9582
 9583static inline __ATTRS_o_ai __vector unsigned __int128
 9584vec_max(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 9585  return vec_sel(__b, __a, vec_cmpgt(__a, __b));
 9586}
 9587
 9588#if __ARCH__ >= 12
 9589static inline __ATTRS_o_ai __vector float
 9590vec_max(__vector float __a, __vector float __b) {
 9591  return __builtin_s390_vfmaxsb(__a, __b, 0);
 9592}
 9593#endif
 9594
 9595static inline __ATTRS_o_ai __vector double
 9596vec_max(__vector double __a, __vector double __b) {
 9597#if __ARCH__ >= 12
 9598  return __builtin_s390_vfmaxdb(__a, __b, 0);
 9599#else
 9600  return vec_sel(__b, __a, vec_cmpgt(__a, __b));
 9601#endif
 9602}
 9603
 9604/*-- vec_min ----------------------------------------------------------------*/
 9605
 9606static inline __ATTRS_o_ai __vector signed char
 9607vec_min(__vector signed char __a, __vector signed char __b) {
 9608  return vec_sel(__a, __b, vec_cmpgt(__a, __b));
 9609}
 9610
 9611// This prototype is deprecated.
 9612static inline __ATTRS_o_ai __vector signed char
 9613vec_min(__vector signed char __a, __vector __bool char __b) {
 9614  __vector signed char __bc = (__vector signed char)__b;
 9615  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
 9616}
 9617
 9618// This prototype is deprecated.
 9619static inline __ATTRS_o_ai __vector signed char
 9620vec_min(__vector __bool char __a, __vector signed char __b) {
 9621  __vector signed char __ac = (__vector signed char)__a;
 9622  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
 9623}
 9624
 9625static inline __ATTRS_o_ai __vector unsigned char
 9626vec_min(__vector unsigned char __a, __vector unsigned char __b) {
 9627  return vec_sel(__a, __b, vec_cmpgt(__a, __b));
 9628}
 9629
 9630// This prototype is deprecated.
 9631static inline __ATTRS_o_ai __vector unsigned char
 9632vec_min(__vector unsigned char __a, __vector __bool char __b) {
 9633  __vector unsigned char __bc = (__vector unsigned char)__b;
 9634  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
 9635}
 9636
 9637// This prototype is deprecated.
 9638static inline __ATTRS_o_ai __vector unsigned char
 9639vec_min(__vector __bool char __a, __vector unsigned char __b) {
 9640  __vector unsigned char __ac = (__vector unsigned char)__a;
 9641  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
 9642}
 9643
 9644static inline __ATTRS_o_ai __vector signed short
 9645vec_min(__vector signed short __a, __vector signed short __b) {
 9646  return vec_sel(__a, __b, vec_cmpgt(__a, __b));
 9647}
 9648
 9649// This prototype is deprecated.
 9650static inline __ATTRS_o_ai __vector signed short
 9651vec_min(__vector signed short __a, __vector __bool short __b) {
 9652  __vector signed short __bc = (__vector signed short)__b;
 9653  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
 9654}
 9655
 9656// This prototype is deprecated.
 9657static inline __ATTRS_o_ai __vector signed short
 9658vec_min(__vector __bool short __a, __vector signed short __b) {
 9659  __vector signed short __ac = (__vector signed short)__a;
 9660  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
 9661}
 9662
 9663static inline __ATTRS_o_ai __vector unsigned short
 9664vec_min(__vector unsigned short __a, __vector unsigned short __b) {
 9665  return vec_sel(__a, __b, vec_cmpgt(__a, __b));
 9666}
 9667
 9668// This prototype is deprecated.
 9669static inline __ATTRS_o_ai __vector unsigned short
 9670vec_min(__vector unsigned short __a, __vector __bool short __b) {
 9671  __vector unsigned short __bc = (__vector unsigned short)__b;
 9672  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
 9673}
 9674
 9675// This prototype is deprecated.
 9676static inline __ATTRS_o_ai __vector unsigned short
 9677vec_min(__vector __bool short __a, __vector unsigned short __b) {
 9678  __vector unsigned short __ac = (__vector unsigned short)__a;
 9679  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
 9680}
 9681
 9682static inline __ATTRS_o_ai __vector signed int
 9683vec_min(__vector signed int __a, __vector signed int __b) {
 9684  return vec_sel(__a, __b, vec_cmpgt(__a, __b));
 9685}
 9686
 9687// This prototype is deprecated.
 9688static inline __ATTRS_o_ai __vector signed int
 9689vec_min(__vector signed int __a, __vector __bool int __b) {
 9690  __vector signed int __bc = (__vector signed int)__b;
 9691  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
 9692}
 9693
 9694// This prototype is deprecated.
 9695static inline __ATTRS_o_ai __vector signed int
 9696vec_min(__vector __bool int __a, __vector signed int __b) {
 9697  __vector signed int __ac = (__vector signed int)__a;
 9698  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
 9699}
 9700
 9701static inline __ATTRS_o_ai __vector unsigned int
 9702vec_min(__vector unsigned int __a, __vector unsigned int __b) {
 9703  return vec_sel(__a, __b, vec_cmpgt(__a, __b));
 9704}
 9705
 9706// This prototype is deprecated.
 9707static inline __ATTRS_o_ai __vector unsigned int
 9708vec_min(__vector unsigned int __a, __vector __bool int __b) {
 9709  __vector unsigned int __bc = (__vector unsigned int)__b;
 9710  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
 9711}
 9712
 9713// This prototype is deprecated.
 9714static inline __ATTRS_o_ai __vector unsigned int
 9715vec_min(__vector __bool int __a, __vector unsigned int __b) {
 9716  __vector unsigned int __ac = (__vector unsigned int)__a;
 9717  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
 9718}
 9719
 9720static inline __ATTRS_o_ai __vector signed long long
 9721vec_min(__vector signed long long __a, __vector signed long long __b) {
 9722  return vec_sel(__a, __b, vec_cmpgt(__a, __b));
 9723}
 9724
 9725// This prototype is deprecated.
 9726static inline __ATTRS_o_ai __vector signed long long
 9727vec_min(__vector signed long long __a, __vector __bool long long __b) {
 9728  __vector signed long long __bc = (__vector signed long long)__b;
 9729  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
 9730}
 9731
 9732// This prototype is deprecated.
 9733static inline __ATTRS_o_ai __vector signed long long
 9734vec_min(__vector __bool long long __a, __vector signed long long __b) {
 9735  __vector signed long long __ac = (__vector signed long long)__a;
 9736  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
 9737}
 9738
 9739static inline __ATTRS_o_ai __vector unsigned long long
 9740vec_min(__vector unsigned long long __a, __vector unsigned long long __b) {
 9741  return vec_sel(__a, __b, vec_cmpgt(__a, __b));
 9742}
 9743
 9744// This prototype is deprecated.
 9745static inline __ATTRS_o_ai __vector unsigned long long
 9746vec_min(__vector unsigned long long __a, __vector __bool long long __b) {
 9747  __vector unsigned long long __bc = (__vector unsigned long long)__b;
 9748  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
 9749}
 9750
 9751// This prototype is deprecated.
 9752static inline __ATTRS_o_ai __vector unsigned long long
 9753vec_min(__vector __bool long long __a, __vector unsigned long long __b) {
 9754  __vector unsigned long long __ac = (__vector unsigned long long)__a;
 9755  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
 9756}
 9757
 9758static inline __ATTRS_o_ai __vector signed __int128
 9759vec_min(__vector signed __int128 __a, __vector signed __int128 __b) {
 9760  return vec_sel(__a, __b, vec_cmpgt(__a, __b));
 9761}
 9762
 9763static inline __ATTRS_o_ai __vector unsigned __int128
 9764vec_min(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 9765  return vec_sel(__a, __b, vec_cmpgt(__a, __b));
 9766}
 9767
 9768#if __ARCH__ >= 12
 9769static inline __ATTRS_o_ai __vector float
 9770vec_min(__vector float __a, __vector float __b) {
 9771  return __builtin_s390_vfminsb(__a, __b, 0);
 9772}
 9773#endif
 9774
 9775static inline __ATTRS_o_ai __vector double
 9776vec_min(__vector double __a, __vector double __b) {
 9777#if __ARCH__ >= 12
 9778  return __builtin_s390_vfmindb(__a, __b, 0);
 9779#else
 9780  return vec_sel(__a, __b, vec_cmpgt(__a, __b));
 9781#endif
 9782}
 9783
 9784/*-- vec_add_u128 -----------------------------------------------------------*/
 9785
 9786// This prototype is deprecated.
 9787static inline __ATTRS_ai __vector unsigned char
 9788vec_add_u128(__vector unsigned char __a, __vector unsigned char __b) {
 9789  return (__vector unsigned char)(__vector unsigned __int128)
 9790         ((__int128)__a + (__int128)__b);
 9791}
 9792
 9793/*-- vec_addc ---------------------------------------------------------------*/
 9794
 9795static inline __ATTRS_o_ai __vector unsigned char
 9796vec_addc(__vector unsigned char __a, __vector unsigned char __b) {
 9797  return __builtin_s390_vaccb(__a, __b);
 9798}
 9799
 9800static inline __ATTRS_o_ai __vector unsigned short
 9801vec_addc(__vector unsigned short __a, __vector unsigned short __b) {
 9802  return __builtin_s390_vacch(__a, __b);
 9803}
 9804
 9805static inline __ATTRS_o_ai __vector unsigned int
 9806vec_addc(__vector unsigned int __a, __vector unsigned int __b) {
 9807  return __builtin_s390_vaccf(__a, __b);
 9808}
 9809
 9810static inline __ATTRS_o_ai __vector unsigned long long
 9811vec_addc(__vector unsigned long long __a, __vector unsigned long long __b) {
 9812  return __builtin_s390_vaccg(__a, __b);
 9813}
 9814
 9815static inline __ATTRS_o_ai __vector unsigned __int128
 9816vec_addc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 9817  return (__vector unsigned __int128)
 9818         __builtin_s390_vaccq((unsigned __int128)__a, (unsigned __int128)__b);
 9819}
 9820
 9821/*-- vec_addc_u128 ----------------------------------------------------------*/
 9822
 9823// This prototype is deprecated.
 9824static inline __ATTRS_ai __vector unsigned char
 9825vec_addc_u128(__vector unsigned char __a, __vector unsigned char __b) {
 9826  return (__vector unsigned char)(__vector unsigned __int128)
 9827         __builtin_s390_vaccq((unsigned __int128)__a, (unsigned __int128)__b);
 9828}
 9829
 9830/*-- vec_adde ---------------------------------------------------------------*/
 9831
 9832static inline __ATTRS_ai __vector unsigned __int128
 9833vec_adde(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
 9834         __vector unsigned __int128 __c) {
 9835  return (__vector unsigned __int128)
 9836         __builtin_s390_vacq((unsigned __int128)__a, (unsigned __int128)__b,
 9837                             (unsigned __int128)__c);
 9838}
 9839
 9840/*-- vec_adde_u128 ----------------------------------------------------------*/
 9841
 9842// This prototype is deprecated.
 9843static inline __ATTRS_ai __vector unsigned char
 9844vec_adde_u128(__vector unsigned char __a, __vector unsigned char __b,
 9845              __vector unsigned char __c) {
 9846  return (__vector unsigned char)(__vector unsigned __int128)
 9847         __builtin_s390_vacq((unsigned __int128)__a, (unsigned __int128)__b,
 9848                             (unsigned __int128)__c);
 9849}
 9850
 9851/*-- vec_addec --------------------------------------------------------------*/
 9852
 9853static inline __ATTRS_ai __vector unsigned __int128
 9854vec_addec(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
 9855          __vector unsigned __int128 __c) {
 9856  return (__vector unsigned __int128)
 9857         __builtin_s390_vacccq((unsigned __int128)__a, (unsigned __int128)__b,
 9858                               (unsigned __int128)__c);
 9859}
 9860
 9861/*-- vec_addec_u128 ---------------------------------------------------------*/
 9862
 9863// This prototype is deprecated.
 9864static inline __ATTRS_ai __vector unsigned char
 9865vec_addec_u128(__vector unsigned char __a, __vector unsigned char __b,
 9866               __vector unsigned char __c) {
 9867  return (__vector unsigned char)(__vector unsigned __int128)
 9868         __builtin_s390_vacccq((unsigned __int128)__a, (unsigned __int128)__b,
 9869                               (unsigned __int128)__c);
 9870}
 9871
 9872/*-- vec_avg ----------------------------------------------------------------*/
 9873
 9874static inline __ATTRS_o_ai __vector signed char
 9875vec_avg(__vector signed char __a, __vector signed char __b) {
 9876  return __builtin_s390_vavgb(__a, __b);
 9877}
 9878
 9879static inline __ATTRS_o_ai __vector signed short
 9880vec_avg(__vector signed short __a, __vector signed short __b) {
 9881  return __builtin_s390_vavgh(__a, __b);
 9882}
 9883
 9884static inline __ATTRS_o_ai __vector signed int
 9885vec_avg(__vector signed int __a, __vector signed int __b) {
 9886  return __builtin_s390_vavgf(__a, __b);
 9887}
 9888
 9889static inline __ATTRS_o_ai __vector signed long long
 9890vec_avg(__vector signed long long __a, __vector signed long long __b) {
 9891  return __builtin_s390_vavgg(__a, __b);
 9892}
 9893
 9894#if __ARCH__ >= 15
 9895static inline __ATTRS_o_ai __vector signed __int128
 9896vec_avg(__vector signed __int128 __a, __vector signed __int128 __b) {
 9897  return (__vector signed __int128)
 9898         __builtin_s390_vavgq((signed __int128)__a, (signed __int128)__b);
 9899}
 9900#endif
 9901
 9902static inline __ATTRS_o_ai __vector unsigned char
 9903vec_avg(__vector unsigned char __a, __vector unsigned char __b) {
 9904  return __builtin_s390_vavglb(__a, __b);
 9905}
 9906
 9907static inline __ATTRS_o_ai __vector unsigned short
 9908vec_avg(__vector unsigned short __a, __vector unsigned short __b) {
 9909  return __builtin_s390_vavglh(__a, __b);
 9910}
 9911
 9912static inline __ATTRS_o_ai __vector unsigned int
 9913vec_avg(__vector unsigned int __a, __vector unsigned int __b) {
 9914  return __builtin_s390_vavglf(__a, __b);
 9915}
 9916
 9917static inline __ATTRS_o_ai __vector unsigned long long
 9918vec_avg(__vector unsigned long long __a, __vector unsigned long long __b) {
 9919  return __builtin_s390_vavglg(__a, __b);
 9920}
 9921
 9922#if __ARCH__ >= 15
 9923static inline __ATTRS_o_ai __vector unsigned __int128
 9924vec_avg(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
 9925  return (__vector unsigned __int128)
 9926         __builtin_s390_vavglq((unsigned __int128)__a, (unsigned __int128)__b);
 9927}
 9928#endif
 9929
 9930/*-- vec_checksum -----------------------------------------------------------*/
 9931
 9932static inline __ATTRS_ai __vector unsigned int
 9933vec_checksum(__vector unsigned int __a, __vector unsigned int __b) {
 9934  return __builtin_s390_vcksm(__a, __b);
 9935}
 9936
 9937/*-- vec_gfmsum -------------------------------------------------------------*/
 9938
 9939static inline __ATTRS_o_ai __vector unsigned short
 9940vec_gfmsum(__vector unsigned char __a, __vector unsigned char __b) {
 9941  return __builtin_s390_vgfmb(__a, __b);
 9942}
 9943
 9944static inline __ATTRS_o_ai __vector unsigned int
 9945vec_gfmsum(__vector unsigned short __a, __vector unsigned short __b) {
 9946  return __builtin_s390_vgfmh(__a, __b);
 9947}
 9948
 9949static inline __ATTRS_o_ai __vector unsigned long long
 9950vec_gfmsum(__vector unsigned int __a, __vector unsigned int __b) {
 9951  return __builtin_s390_vgfmf(__a, __b);
 9952}
 9953
 9954static inline __ATTRS_o_ai __vector unsigned __int128
 9955vec_gfmsum(__vector unsigned long long __a, __vector unsigned long long __b) {
 9956  return (__vector unsigned __int128)__builtin_s390_vgfmg(__a, __b);
 9957}
 9958
 9959/*-- vec_gfmsum_128 ---------------------------------------------------------*/
 9960
 9961// This prototype is deprecated.
 9962static inline __ATTRS_o_ai __vector unsigned char
 9963vec_gfmsum_128(__vector unsigned long long __a,
 9964               __vector unsigned long long __b) {
 9965  return (__vector unsigned char)(__vector unsigned __int128)
 9966         __builtin_s390_vgfmg(__a, __b);
 9967}
 9968
 9969/*-- vec_gfmsum_accum -------------------------------------------------------*/
 9970
 9971static inline __ATTRS_o_ai __vector unsigned short
 9972vec_gfmsum_accum(__vector unsigned char __a, __vector unsigned char __b,
 9973                 __vector unsigned short __c) {
 9974  return __builtin_s390_vgfmab(__a, __b, __c);
 9975}
 9976
 9977static inline __ATTRS_o_ai __vector unsigned int
 9978vec_gfmsum_accum(__vector unsigned short __a, __vector unsigned short __b,
 9979                 __vector unsigned int __c) {
 9980  return __builtin_s390_vgfmah(__a, __b, __c);
 9981}
 9982
 9983static inline __ATTRS_o_ai __vector unsigned long long
 9984vec_gfmsum_accum(__vector unsigned int __a, __vector unsigned int __b,
 9985                 __vector unsigned long long __c) {
 9986  return __builtin_s390_vgfmaf(__a, __b, __c);
 9987}
 9988
 9989static inline __ATTRS_o_ai __vector unsigned __int128
 9990vec_gfmsum_accum(__vector unsigned long long __a, __vector unsigned long long __b,
 9991                 __vector unsigned __int128 __c) {
 9992  return (__vector unsigned __int128)
 9993         __builtin_s390_vgfmag(__a, __b, (unsigned __int128)__c);
 9994}
 9995
 9996/*-- vec_gfmsum_accum_128 ---------------------------------------------------*/
 9997
 9998// This prototype is deprecated.
 9999static inline __ATTRS_o_ai __vector unsigned char
10000vec_gfmsum_accum_128(__vector unsigned long long __a,
10001                     __vector unsigned long long __b,
10002                     __vector unsigned char __c) {
10003  return (__vector unsigned char)(__vector unsigned __int128)
10004         __builtin_s390_vgfmag(__a, __b, (unsigned __int128)__c);
10005}
10006
10007/*-- vec_mladd --------------------------------------------------------------*/
10008
10009static inline __ATTRS_o_ai __vector signed char
10010vec_mladd(__vector signed char __a, __vector signed char __b,
10011          __vector signed char __c) {
10012  return __a * __b + __c;
10013}
10014
10015static inline __ATTRS_o_ai __vector signed char
10016vec_mladd(__vector unsigned char __a, __vector signed char __b,
10017          __vector signed char __c) {
10018  return (__vector signed char)__a * __b + __c;
10019}
10020
10021static inline __ATTRS_o_ai __vector signed char
10022vec_mladd(__vector signed char __a, __vector unsigned char __b,
10023          __vector unsigned char __c) {
10024  return __a * (__vector signed char)__b + (__vector signed char)__c;
10025}
10026
10027static inline __ATTRS_o_ai __vector unsigned char
10028vec_mladd(__vector unsigned char __a, __vector unsigned char __b,
10029          __vector unsigned char __c) {
10030  return __a * __b + __c;
10031}
10032
10033static inline __ATTRS_o_ai __vector signed short
10034vec_mladd(__vector signed short __a, __vector signed short __b,
10035          __vector signed short __c) {
10036  return __a * __b + __c;
10037}
10038
10039static inline __ATTRS_o_ai __vector signed short
10040vec_mladd(__vector unsigned short __a, __vector signed short __b,
10041          __vector signed short __c) {
10042  return (__vector signed short)__a * __b + __c;
10043}
10044
10045static inline __ATTRS_o_ai __vector signed short
10046vec_mladd(__vector signed short __a, __vector unsigned short __b,
10047          __vector unsigned short __c) {
10048  return __a * (__vector signed short)__b + (__vector signed short)__c;
10049}
10050
10051static inline __ATTRS_o_ai __vector unsigned short
10052vec_mladd(__vector unsigned short __a, __vector unsigned short __b,
10053          __vector unsigned short __c) {
10054  return __a * __b + __c;
10055}
10056
10057static inline __ATTRS_o_ai __vector signed int
10058vec_mladd(__vector signed int __a, __vector signed int __b,
10059          __vector signed int __c) {
10060  return __a * __b + __c;
10061}
10062
10063static inline __ATTRS_o_ai __vector signed int
10064vec_mladd(__vector unsigned int __a, __vector signed int __b,
10065          __vector signed int __c) {
10066  return (__vector signed int)__a * __b + __c;
10067}
10068
10069static inline __ATTRS_o_ai __vector signed int
10070vec_mladd(__vector signed int __a, __vector unsigned int __b,
10071          __vector unsigned int __c) {
10072  return __a * (__vector signed int)__b + (__vector signed int)__c;
10073}
10074
10075static inline __ATTRS_o_ai __vector unsigned int
10076vec_mladd(__vector unsigned int __a, __vector unsigned int __b,
10077          __vector unsigned int __c) {
10078  return __a * __b + __c;
10079}
10080
10081#if __ARCH__ >= 15
10082static inline __ATTRS_o_ai __vector signed long long
10083vec_mladd(__vector signed long long __a, __vector signed long long __b,
10084          __vector signed long long __c) {
10085  return __a * __b + __c;
10086}
10087
10088static inline __ATTRS_o_ai __vector signed long long
10089vec_mladd(__vector unsigned long long __a, __vector signed long long __b,
10090          __vector signed long long __c) {
10091  return (__vector signed long long)__a * __b + __c;
10092}
10093
10094static inline __ATTRS_o_ai __vector signed long long
10095vec_mladd(__vector signed long long __a, __vector unsigned long long __b,
10096          __vector unsigned long long __c) {
10097  return __a * (__vector signed long long)__b + (__vector signed long long)__c;
10098}
10099
10100static inline __ATTRS_o_ai __vector unsigned long long
10101vec_mladd(__vector unsigned long long __a, __vector unsigned long long __b,
10102          __vector unsigned long long __c) {
10103  return __a * __b + __c;
10104}
10105
10106static inline __ATTRS_o_ai __vector signed __int128
10107vec_mladd(__vector signed __int128 __a, __vector signed __int128 __b,
10108          __vector signed __int128 __c) {
10109  return __a * __b + __c;
10110}
10111
10112static inline __ATTRS_o_ai __vector signed __int128
10113vec_mladd(__vector unsigned __int128 __a, __vector signed __int128 __b,
10114          __vector signed __int128 __c) {
10115  return (__vector signed __int128)__a * __b + __c;
10116}
10117
10118static inline __ATTRS_o_ai __vector signed __int128
10119vec_mladd(__vector signed __int128 __a, __vector unsigned __int128 __b,
10120          __vector unsigned __int128 __c) {
10121  return __a * (__vector signed __int128)__b + (__vector signed __int128)__c;
10122}
10123
10124static inline __ATTRS_o_ai __vector unsigned __int128
10125vec_mladd(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
10126          __vector unsigned __int128 __c) {
10127  return __a * __b + __c;
10128}
10129#endif
10130
10131/*-- vec_mhadd --------------------------------------------------------------*/
10132
10133static inline __ATTRS_o_ai __vector signed char
10134vec_mhadd(__vector signed char __a, __vector signed char __b,
10135          __vector signed char __c) {
10136  return __builtin_s390_vmahb(__a, __b, __c);
10137}
10138
10139static inline __ATTRS_o_ai __vector unsigned char
10140vec_mhadd(__vector unsigned char __a, __vector unsigned char __b,
10141          __vector unsigned char __c) {
10142  return __builtin_s390_vmalhb(__a, __b, __c);
10143}
10144
10145static inline __ATTRS_o_ai __vector signed short
10146vec_mhadd(__vector signed short __a, __vector signed short __b,
10147          __vector signed short __c) {
10148  return __builtin_s390_vmahh(__a, __b, __c);
10149}
10150
10151static inline __ATTRS_o_ai __vector unsigned short
10152vec_mhadd(__vector unsigned short __a, __vector unsigned short __b,
10153          __vector unsigned short __c) {
10154  return __builtin_s390_vmalhh(__a, __b, __c);
10155}
10156
10157static inline __ATTRS_o_ai __vector signed int
10158vec_mhadd(__vector signed int __a, __vector signed int __b,
10159          __vector signed int __c) {
10160  return __builtin_s390_vmahf(__a, __b, __c);
10161}
10162
10163static inline __ATTRS_o_ai __vector unsigned int
10164vec_mhadd(__vector unsigned int __a, __vector unsigned int __b,
10165          __vector unsigned int __c) {
10166  return __builtin_s390_vmalhf(__a, __b, __c);
10167}
10168
10169#if __ARCH__ >= 15
10170static inline __ATTRS_o_ai __vector signed long long
10171vec_mhadd(__vector signed long long __a, __vector signed long long __b,
10172          __vector signed long long __c) {
10173  return __builtin_s390_vmahg(__a, __b, __c);
10174}
10175
10176static inline __ATTRS_o_ai __vector unsigned long long
10177vec_mhadd(__vector unsigned long long __a, __vector unsigned long long __b,
10178          __vector unsigned long long __c) {
10179  return __builtin_s390_vmalhg(__a, __b, __c);
10180}
10181
10182static inline __ATTRS_o_ai __vector signed __int128
10183vec_mhadd(__vector signed __int128 __a, __vector signed __int128 __b,
10184          __vector signed __int128 __c) {
10185  return (__vector signed __int128)
10186         __builtin_s390_vmahq((signed __int128)__a, (signed __int128)__b, (signed __int128)__c);
10187}
10188
10189static inline __ATTRS_o_ai __vector unsigned __int128
10190vec_mhadd(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
10191          __vector unsigned __int128 __c) {
10192  return (__vector unsigned __int128)
10193         __builtin_s390_vmalhq((unsigned __int128)__a, (unsigned __int128)__b, (unsigned __int128)__c);
10194}
10195#endif
10196
10197/*-- vec_meadd --------------------------------------------------------------*/
10198
10199static inline __ATTRS_o_ai __vector signed short
10200vec_meadd(__vector signed char __a, __vector signed char __b,
10201          __vector signed short __c) {
10202  return __builtin_s390_vmaeb(__a, __b, __c);
10203}
10204
10205static inline __ATTRS_o_ai __vector unsigned short
10206vec_meadd(__vector unsigned char __a, __vector unsigned char __b,
10207          __vector unsigned short __c) {
10208  return __builtin_s390_vmaleb(__a, __b, __c);
10209}
10210
10211static inline __ATTRS_o_ai __vector signed int
10212vec_meadd(__vector signed short __a, __vector signed short __b,
10213          __vector signed int __c) {
10214  return __builtin_s390_vmaeh(__a, __b, __c);
10215}
10216
10217static inline __ATTRS_o_ai __vector unsigned int
10218vec_meadd(__vector unsigned short __a, __vector unsigned short __b,
10219          __vector unsigned int __c) {
10220  return __builtin_s390_vmaleh(__a, __b, __c);
10221}
10222
10223static inline __ATTRS_o_ai __vector signed long long
10224vec_meadd(__vector signed int __a, __vector signed int __b,
10225          __vector signed long long __c) {
10226  return __builtin_s390_vmaef(__a, __b, __c);
10227}
10228
10229static inline __ATTRS_o_ai __vector unsigned long long
10230vec_meadd(__vector unsigned int __a, __vector unsigned int __b,
10231          __vector unsigned long long __c) {
10232  return __builtin_s390_vmalef(__a, __b, __c);
10233}
10234
10235#if __ARCH__ >= 15
10236static inline __ATTRS_o_ai __vector signed __int128
10237vec_meadd(__vector signed long long __a, __vector signed long long __b,
10238          __vector signed __int128 __c) {
10239  return (__vector signed __int128)
10240         __builtin_s390_vmaeg(__a, __b, (signed __int128)__c);
10241}
10242
10243static inline __ATTRS_o_ai __vector unsigned __int128
10244vec_meadd(__vector unsigned long long __a, __vector unsigned long long __b,
10245          __vector unsigned __int128 __c) {
10246  return (__vector unsigned __int128)
10247         __builtin_s390_vmaleg(__a, __b, (unsigned __int128)__c);
10248}
10249#endif
10250
10251/*-- vec_moadd --------------------------------------------------------------*/
10252
10253static inline __ATTRS_o_ai __vector signed short
10254vec_moadd(__vector signed char __a, __vector signed char __b,
10255          __vector signed short __c) {
10256  return __builtin_s390_vmaob(__a, __b, __c);
10257}
10258
10259static inline __ATTRS_o_ai __vector unsigned short
10260vec_moadd(__vector unsigned char __a, __vector unsigned char __b,
10261          __vector unsigned short __c) {
10262  return __builtin_s390_vmalob(__a, __b, __c);
10263}
10264
10265static inline __ATTRS_o_ai __vector signed int
10266vec_moadd(__vector signed short __a, __vector signed short __b,
10267          __vector signed int __c) {
10268  return __builtin_s390_vmaoh(__a, __b, __c);
10269}
10270
10271static inline __ATTRS_o_ai __vector unsigned int
10272vec_moadd(__vector unsigned short __a, __vector unsigned short __b,
10273          __vector unsigned int __c) {
10274  return __builtin_s390_vmaloh(__a, __b, __c);
10275}
10276
10277static inline __ATTRS_o_ai __vector signed long long
10278vec_moadd(__vector signed int __a, __vector signed int __b,
10279          __vector signed long long __c) {
10280  return __builtin_s390_vmaof(__a, __b, __c);
10281}
10282
10283static inline __ATTRS_o_ai __vector unsigned long long
10284vec_moadd(__vector unsigned int __a, __vector unsigned int __b,
10285          __vector unsigned long long __c) {
10286  return __builtin_s390_vmalof(__a, __b, __c);
10287}
10288
10289#if __ARCH__ >= 15
10290static inline __ATTRS_o_ai __vector signed __int128
10291vec_moadd(__vector signed long long __a, __vector signed long long __b,
10292          __vector signed __int128 __c) {
10293  return (__vector signed __int128)
10294         __builtin_s390_vmaog(__a, __b, (signed __int128)__c);
10295}
10296
10297static inline __ATTRS_o_ai __vector unsigned __int128
10298vec_moadd(__vector unsigned long long __a, __vector unsigned long long __b,
10299          __vector unsigned __int128 __c) {
10300  return (__vector unsigned __int128)
10301         __builtin_s390_vmalog(__a, __b, (unsigned __int128)__c);
10302}
10303#endif
10304
10305/*-- vec_mulh ---------------------------------------------------------------*/
10306
10307static inline __ATTRS_o_ai __vector signed char
10308vec_mulh(__vector signed char __a, __vector signed char __b) {
10309  return __builtin_s390_vmhb(__a, __b);
10310}
10311
10312static inline __ATTRS_o_ai __vector unsigned char
10313vec_mulh(__vector unsigned char __a, __vector unsigned char __b) {
10314  return __builtin_s390_vmlhb(__a, __b);
10315}
10316
10317static inline __ATTRS_o_ai __vector signed short
10318vec_mulh(__vector signed short __a, __vector signed short __b) {
10319  return __builtin_s390_vmhh(__a, __b);
10320}
10321
10322static inline __ATTRS_o_ai __vector unsigned short
10323vec_mulh(__vector unsigned short __a, __vector unsigned short __b) {
10324  return __builtin_s390_vmlhh(__a, __b);
10325}
10326
10327static inline __ATTRS_o_ai __vector signed int
10328vec_mulh(__vector signed int __a, __vector signed int __b) {
10329  return __builtin_s390_vmhf(__a, __b);
10330}
10331
10332static inline __ATTRS_o_ai __vector unsigned int
10333vec_mulh(__vector unsigned int __a, __vector unsigned int __b) {
10334  return __builtin_s390_vmlhf(__a, __b);
10335}
10336
10337#if __ARCH__ >= 15
10338static inline __ATTRS_o_ai __vector signed long long
10339vec_mulh(__vector signed long long __a, __vector signed long long __b) {
10340  return __builtin_s390_vmhg(__a, __b);
10341}
10342
10343static inline __ATTRS_o_ai __vector unsigned long long
10344vec_mulh(__vector unsigned long long __a, __vector unsigned long long __b) {
10345  return __builtin_s390_vmlhg(__a, __b);
10346}
10347
10348static inline __ATTRS_o_ai __vector signed __int128
10349vec_mulh(__vector signed __int128 __a, __vector signed __int128 __b) {
10350  return (__vector signed __int128)
10351         __builtin_s390_vmhq((signed __int128)__a, (signed __int128)__b);
10352}
10353
10354static inline __ATTRS_o_ai __vector unsigned __int128
10355vec_mulh(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
10356  return (__vector unsigned __int128)
10357         __builtin_s390_vmlhq((unsigned __int128)__a, (unsigned __int128)__b);
10358}
10359#endif
10360
10361/*-- vec_mule ---------------------------------------------------------------*/
10362
10363static inline __ATTRS_o_ai __vector signed short
10364vec_mule(__vector signed char __a, __vector signed char __b) {
10365  return __builtin_s390_vmeb(__a, __b);
10366}
10367
10368static inline __ATTRS_o_ai __vector unsigned short
10369vec_mule(__vector unsigned char __a, __vector unsigned char __b) {
10370  return __builtin_s390_vmleb(__a, __b);
10371}
10372
10373static inline __ATTRS_o_ai __vector signed int
10374vec_mule(__vector signed short __a, __vector signed short __b) {
10375  return __builtin_s390_vmeh(__a, __b);
10376}
10377
10378static inline __ATTRS_o_ai __vector unsigned int
10379vec_mule(__vector unsigned short __a, __vector unsigned short __b) {
10380  return __builtin_s390_vmleh(__a, __b);
10381}
10382
10383static inline __ATTRS_o_ai __vector signed long long
10384vec_mule(__vector signed int __a, __vector signed int __b) {
10385  return __builtin_s390_vmef(__a, __b);
10386}
10387
10388static inline __ATTRS_o_ai __vector unsigned long long
10389vec_mule(__vector unsigned int __a, __vector unsigned int __b) {
10390  return __builtin_s390_vmlef(__a, __b);
10391}
10392
10393#if __ARCH__ >= 15
10394static inline __ATTRS_o_ai __vector signed __int128
10395vec_mule(__vector signed long long __a, __vector signed long long __b) {
10396  return (__vector signed __int128)__builtin_s390_vmeg(__a, __b);
10397}
10398
10399static inline __ATTRS_o_ai __vector unsigned __int128
10400vec_mule(__vector unsigned long long __a, __vector unsigned long long __b) {
10401  return (__vector unsigned __int128)__builtin_s390_vmleg(__a, __b);
10402}
10403#endif
10404
10405/*-- vec_mulo ---------------------------------------------------------------*/
10406
10407static inline __ATTRS_o_ai __vector signed short
10408vec_mulo(__vector signed char __a, __vector signed char __b) {
10409  return __builtin_s390_vmob(__a, __b);
10410}
10411
10412static inline __ATTRS_o_ai __vector unsigned short
10413vec_mulo(__vector unsigned char __a, __vector unsigned char __b) {
10414  return __builtin_s390_vmlob(__a, __b);
10415}
10416
10417static inline __ATTRS_o_ai __vector signed int
10418vec_mulo(__vector signed short __a, __vector signed short __b) {
10419  return __builtin_s390_vmoh(__a, __b);
10420}
10421
10422static inline __ATTRS_o_ai __vector unsigned int
10423vec_mulo(__vector unsigned short __a, __vector unsigned short __b) {
10424  return __builtin_s390_vmloh(__a, __b);
10425}
10426
10427static inline __ATTRS_o_ai __vector signed long long
10428vec_mulo(__vector signed int __a, __vector signed int __b) {
10429  return __builtin_s390_vmof(__a, __b);
10430}
10431
10432static inline __ATTRS_o_ai __vector unsigned long long
10433vec_mulo(__vector unsigned int __a, __vector unsigned int __b) {
10434  return __builtin_s390_vmlof(__a, __b);
10435}
10436
10437#if __ARCH__ >= 15
10438static inline __ATTRS_o_ai __vector signed __int128
10439vec_mulo(__vector signed long long __a, __vector signed long long __b) {
10440  return (__vector signed __int128)__builtin_s390_vmog(__a, __b);
10441}
10442
10443static inline __ATTRS_o_ai __vector unsigned __int128
10444vec_mulo(__vector unsigned long long __a, __vector unsigned long long __b) {
10445  return (__vector unsigned __int128)__builtin_s390_vmlog(__a, __b);
10446}
10447#endif
10448
10449/*-- vec_msum ---------------------------------------------------------------*/
10450
10451#if __ARCH__ >= 12
10452extern __ATTRS_o __vector unsigned __int128
10453vec_msum(__vector unsigned long long __a, __vector unsigned long long __b,
10454         __vector unsigned __int128 __c, int __d)
10455  __constant_range(__d, 0, 15);
10456
10457#define vec_msum(X, Y, Z, W) \
10458  ((__typeof__((vec_msum)((X), (Y), (Z), (W)))) \
10459   __builtin_s390_vmslg((X), (Y), (unsigned __int128)(Z), (W)))
10460#endif
10461
10462/*-- vec_msum_u128 ----------------------------------------------------------*/
10463
10464#if __ARCH__ >= 12
10465// This prototype is deprecated.
10466extern __ATTRS_o __vector unsigned char
10467vec_msum_u128(__vector unsigned long long __a, __vector unsigned long long __b,
10468              __vector unsigned char __c, int __d)
10469  __constant_range(__d, 0, 15);
10470
10471#define vec_msum_u128(X, Y, Z, W) \
10472  ((__typeof__((vec_msum_u128)((X), (Y), (Z), (W)))) \
10473   (__vector unsigned __int128) \
10474   __builtin_s390_vmslg((X), (Y), (unsigned __int128)(Z), (W)))
10475#endif
10476
10477/*-- vec_sub_u128 -----------------------------------------------------------*/
10478
10479// This prototype is deprecated.
10480static inline __ATTRS_ai __vector unsigned char
10481vec_sub_u128(__vector unsigned char __a, __vector unsigned char __b) {
10482  return (__vector unsigned char)(__vector unsigned __int128)
10483         ((__int128)__a - (__int128)__b);
10484}
10485
10486/*-- vec_subc ---------------------------------------------------------------*/
10487
10488static inline __ATTRS_o_ai __vector unsigned char
10489vec_subc(__vector unsigned char __a, __vector unsigned char __b) {
10490  return __builtin_s390_vscbib(__a, __b);
10491}
10492
10493static inline __ATTRS_o_ai __vector unsigned short
10494vec_subc(__vector unsigned short __a, __vector unsigned short __b) {
10495  return __builtin_s390_vscbih(__a, __b);
10496}
10497
10498static inline __ATTRS_o_ai __vector unsigned int
10499vec_subc(__vector unsigned int __a, __vector unsigned int __b) {
10500  return __builtin_s390_vscbif(__a, __b);
10501}
10502
10503static inline __ATTRS_o_ai __vector unsigned long long
10504vec_subc(__vector unsigned long long __a, __vector unsigned long long __b) {
10505  return __builtin_s390_vscbig(__a, __b);
10506}
10507
10508static inline __ATTRS_o_ai __vector unsigned __int128
10509vec_subc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
10510  return (__vector unsigned __int128)
10511         __builtin_s390_vscbiq((unsigned __int128)__a, (unsigned __int128)__b);
10512}
10513
10514/*-- vec_subc_u128 ----------------------------------------------------------*/
10515
10516// This prototype is deprecated.
10517static inline __ATTRS_ai __vector unsigned char
10518vec_subc_u128(__vector unsigned char __a, __vector unsigned char __b) {
10519  return (__vector unsigned char)(__vector unsigned __int128)
10520         __builtin_s390_vscbiq((unsigned __int128)__a, (unsigned __int128)__b);
10521}
10522
10523/*-- vec_sube ---------------------------------------------------------------*/
10524
10525static inline __ATTRS_ai __vector unsigned __int128
10526vec_sube(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
10527         __vector unsigned __int128 __c) {
10528  return (__vector unsigned __int128)
10529         __builtin_s390_vsbiq((unsigned __int128)__a, (unsigned __int128)__b,
10530                              (unsigned __int128)__c);
10531}
10532
10533/*-- vec_sube_u128 ----------------------------------------------------------*/
10534
10535// This prototype is deprecated.
10536static inline __ATTRS_ai __vector unsigned char
10537vec_sube_u128(__vector unsigned char __a, __vector unsigned char __b,
10538              __vector unsigned char __c) {
10539  return (__vector unsigned char)(__vector unsigned __int128)
10540         __builtin_s390_vsbiq((unsigned __int128)__a, (unsigned __int128)__b,
10541                              (unsigned __int128)__c);
10542}
10543
10544/*-- vec_subec --------------------------------------------------------------*/
10545
10546static inline __ATTRS_ai __vector unsigned __int128
10547vec_subec(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
10548          __vector unsigned __int128 __c) {
10549  return (__vector unsigned __int128)
10550         __builtin_s390_vsbcbiq((unsigned __int128)__a, (unsigned __int128)__b,
10551                                (unsigned __int128)__c);
10552}
10553
10554/*-- vec_subec_u128 ---------------------------------------------------------*/
10555
10556// This prototype is deprecated.
10557static inline __ATTRS_ai __vector unsigned char
10558vec_subec_u128(__vector unsigned char __a, __vector unsigned char __b,
10559               __vector unsigned char __c) {
10560  return (__vector unsigned char)(__vector unsigned __int128)
10561         __builtin_s390_vsbcbiq((unsigned __int128)__a, (unsigned __int128)__b,
10562                                (unsigned __int128)__c);
10563}
10564
10565/*-- vec_sum2 ---------------------------------------------------------------*/
10566
10567static inline __ATTRS_o_ai __vector unsigned long long
10568vec_sum2(__vector unsigned short __a, __vector unsigned short __b) {
10569  return __builtin_s390_vsumgh(__a, __b);
10570}
10571
10572static inline __ATTRS_o_ai __vector unsigned long long
10573vec_sum2(__vector unsigned int __a, __vector unsigned int __b) {
10574  return __builtin_s390_vsumgf(__a, __b);
10575}
10576
10577/*-- vec_sum ----------------------------------------------------------------*/
10578
10579static inline __ATTRS_o_ai __vector unsigned __int128
10580vec_sum(__vector unsigned int __a, __vector unsigned int __b) {
10581  return (__vector unsigned __int128)__builtin_s390_vsumqf(__a, __b);
10582}
10583
10584static inline __ATTRS_o_ai __vector unsigned __int128
10585vec_sum(__vector unsigned long long __a, __vector unsigned long long __b) {
10586  return (__vector unsigned __int128)__builtin_s390_vsumqg(__a, __b);
10587}
10588
10589/*-- vec_sum_u128 -----------------------------------------------------------*/
10590
10591// This prototype is deprecated.
10592static inline __ATTRS_o_ai __vector unsigned char
10593vec_sum_u128(__vector unsigned int __a, __vector unsigned int __b) {
10594  return (__vector unsigned char)(__vector unsigned __int128)
10595         __builtin_s390_vsumqf(__a, __b);
10596}
10597
10598// This prototype is deprecated.
10599static inline __ATTRS_o_ai __vector unsigned char
10600vec_sum_u128(__vector unsigned long long __a, __vector unsigned long long __b) {
10601  return (__vector unsigned char)(__vector unsigned __int128)
10602         __builtin_s390_vsumqg(__a, __b);
10603}
10604
10605/*-- vec_sum4 ---------------------------------------------------------------*/
10606
10607static inline __ATTRS_o_ai __vector unsigned int
10608vec_sum4(__vector unsigned char __a, __vector unsigned char __b) {
10609  return __builtin_s390_vsumb(__a, __b);
10610}
10611
10612static inline __ATTRS_o_ai __vector unsigned int
10613vec_sum4(__vector unsigned short __a, __vector unsigned short __b) {
10614  return __builtin_s390_vsumh(__a, __b);
10615}
10616
10617/*-- vec_test_mask ----------------------------------------------------------*/
10618
10619static inline __ATTRS_o_ai int
10620vec_test_mask(__vector signed char __a, __vector unsigned char __b) {
10621  return __builtin_s390_vtm((__vector unsigned char)__a,
10622                            (__vector unsigned char)__b);
10623}
10624
10625static inline __ATTRS_o_ai int
10626vec_test_mask(__vector unsigned char __a, __vector unsigned char __b) {
10627  return __builtin_s390_vtm(__a, __b);
10628}
10629
10630static inline __ATTRS_o_ai int
10631vec_test_mask(__vector signed short __a, __vector unsigned short __b) {
10632  return __builtin_s390_vtm((__vector unsigned char)__a,
10633                            (__vector unsigned char)__b);
10634}
10635
10636static inline __ATTRS_o_ai int
10637vec_test_mask(__vector unsigned short __a, __vector unsigned short __b) {
10638  return __builtin_s390_vtm((__vector unsigned char)__a,
10639                            (__vector unsigned char)__b);
10640}
10641
10642static inline __ATTRS_o_ai int
10643vec_test_mask(__vector signed int __a, __vector unsigned int __b) {
10644  return __builtin_s390_vtm((__vector unsigned char)__a,
10645                            (__vector unsigned char)__b);
10646}
10647
10648static inline __ATTRS_o_ai int
10649vec_test_mask(__vector unsigned int __a, __vector unsigned int __b) {
10650  return __builtin_s390_vtm((__vector unsigned char)__a,
10651                            (__vector unsigned char)__b);
10652}
10653
10654static inline __ATTRS_o_ai int
10655vec_test_mask(__vector signed long long __a, __vector unsigned long long __b) {
10656  return __builtin_s390_vtm((__vector unsigned char)__a,
10657                            (__vector unsigned char)__b);
10658}
10659
10660static inline __ATTRS_o_ai int
10661vec_test_mask(__vector unsigned long long __a,
10662              __vector unsigned long long __b) {
10663  return __builtin_s390_vtm((__vector unsigned char)__a,
10664                            (__vector unsigned char)__b);
10665}
10666
10667static inline __ATTRS_o_ai int
10668vec_test_mask(__vector signed __int128 __a, __vector unsigned __int128 __b) {
10669  return __builtin_s390_vtm((__vector unsigned char)__a,
10670                            (__vector unsigned char)__b);
10671}
10672
10673static inline __ATTRS_o_ai int
10674vec_test_mask(__vector unsigned __int128 __a,
10675              __vector unsigned __int128 __b) {
10676  return __builtin_s390_vtm((__vector unsigned char)__a,
10677                            (__vector unsigned char)__b);
10678}
10679
10680#if __ARCH__ >= 12
10681static inline __ATTRS_o_ai int
10682vec_test_mask(__vector float __a, __vector unsigned int __b) {
10683  return __builtin_s390_vtm((__vector unsigned char)__a,
10684                            (__vector unsigned char)__b);
10685}
10686#endif
10687
10688static inline __ATTRS_o_ai int
10689vec_test_mask(__vector double __a, __vector unsigned long long __b) {
10690  return __builtin_s390_vtm((__vector unsigned char)__a,
10691                            (__vector unsigned char)__b);
10692}
10693
10694/*-- vec_madd ---------------------------------------------------------------*/
10695
10696#if __ARCH__ >= 12
10697static inline __ATTRS_o_ai __vector float
10698vec_madd(__vector float __a, __vector float __b, __vector float __c) {
10699  return __builtin_s390_vfmasb(__a, __b, __c);
10700}
10701#endif
10702
10703static inline __ATTRS_o_ai __vector double
10704vec_madd(__vector double __a, __vector double __b, __vector double __c) {
10705  return __builtin_s390_vfmadb(__a, __b, __c);
10706}
10707
10708/*-- vec_msub ---------------------------------------------------------------*/
10709
10710#if __ARCH__ >= 12
10711static inline __ATTRS_o_ai __vector float
10712vec_msub(__vector float __a, __vector float __b, __vector float __c) {
10713  return __builtin_s390_vfmssb(__a, __b, __c);
10714}
10715#endif
10716
10717static inline __ATTRS_o_ai __vector double
10718vec_msub(__vector double __a, __vector double __b, __vector double __c) {
10719  return __builtin_s390_vfmsdb(__a, __b, __c);
10720}
10721
10722/*-- vec_nmadd ---------------------------------------------------------------*/
10723
10724#if __ARCH__ >= 12
10725static inline __ATTRS_o_ai __vector float
10726vec_nmadd(__vector float __a, __vector float __b, __vector float __c) {
10727  return __builtin_s390_vfnmasb(__a, __b, __c);
10728}
10729
10730static inline __ATTRS_o_ai __vector double
10731vec_nmadd(__vector double __a, __vector double __b, __vector double __c) {
10732  return __builtin_s390_vfnmadb(__a, __b, __c);
10733}
10734#endif
10735
10736/*-- vec_nmsub ---------------------------------------------------------------*/
10737
10738#if __ARCH__ >= 12
10739static inline __ATTRS_o_ai __vector float
10740vec_nmsub(__vector float __a, __vector float __b, __vector float __c) {
10741  return __builtin_s390_vfnmssb(__a, __b, __c);
10742}
10743
10744static inline __ATTRS_o_ai __vector double
10745vec_nmsub(__vector double __a, __vector double __b, __vector double __c) {
10746  return __builtin_s390_vfnmsdb(__a, __b, __c);
10747}
10748#endif
10749
10750/*-- vec_sqrt ---------------------------------------------------------------*/
10751
10752#if __ARCH__ >= 12
10753static inline __ATTRS_o_ai __vector float
10754vec_sqrt(__vector float __a) {
10755  return __builtin_s390_vfsqsb(__a);
10756}
10757#endif
10758
10759static inline __ATTRS_o_ai __vector double
10760vec_sqrt(__vector double __a) {
10761  return __builtin_s390_vfsqdb(__a);
10762}
10763
10764/*-- vec_ld2f ---------------------------------------------------------------*/
10765
10766// This prototype is deprecated.
10767static inline __ATTRS_ai __vector double
10768vec_ld2f(const float *__ptr) {
10769  typedef float __v2f32 __attribute__((__vector_size__(8)));
10770  return __builtin_convertvector(*(const __v2f32 *)__ptr, __vector double);
10771}
10772
10773/*-- vec_st2f ---------------------------------------------------------------*/
10774
10775// This prototype is deprecated.
10776static inline __ATTRS_ai void
10777vec_st2f(__vector double __a, float *__ptr) {
10778  typedef float __v2f32 __attribute__((__vector_size__(8)));
10779  *(__v2f32 *)__ptr = __builtin_convertvector(__a, __v2f32);
10780}
10781
10782/*-- vec_ctd ----------------------------------------------------------------*/
10783
10784// This prototype is deprecated.
10785static inline __ATTRS_o_ai __vector double
10786vec_ctd(__vector signed long long __a, int __b)
10787  __constant_range(__b, 0, 31) {
10788  __vector double __conv = __builtin_convertvector(__a, __vector double);
10789  __conv *= ((__vector double)(__vector unsigned long long)
10790             ((0x3ffULL - __b) << 52));
10791  return __conv;
10792}
10793
10794// This prototype is deprecated.
10795static inline __ATTRS_o_ai __vector double
10796vec_ctd(__vector unsigned long long __a, int __b)
10797  __constant_range(__b, 0, 31) {
10798  __vector double __conv = __builtin_convertvector(__a, __vector double);
10799  __conv *= ((__vector double)(__vector unsigned long long)
10800             ((0x3ffULL - __b) << 52));
10801  return __conv;
10802}
10803
10804/*-- vec_ctsl ---------------------------------------------------------------*/
10805
10806// This prototype is deprecated.
10807static inline __ATTRS_o_ai __vector signed long long
10808vec_ctsl(__vector double __a, int __b)
10809  __constant_range(__b, 0, 31) {
10810  __a *= ((__vector double)(__vector unsigned long long)
10811          ((0x3ffULL + __b) << 52));
10812  return __builtin_convertvector(__a, __vector signed long long);
10813}
10814
10815/*-- vec_ctul ---------------------------------------------------------------*/
10816
10817// This prototype is deprecated.
10818static inline __ATTRS_o_ai __vector unsigned long long
10819vec_ctul(__vector double __a, int __b)
10820  __constant_range(__b, 0, 31) {
10821  __a *= ((__vector double)(__vector unsigned long long)
10822          ((0x3ffULL + __b) << 52));
10823  return __builtin_convertvector(__a, __vector unsigned long long);
10824}
10825
10826/*-- vec_doublee ------------------------------------------------------------*/
10827
10828#if __ARCH__ >= 12
10829static inline __ATTRS_ai __vector double
10830vec_doublee(__vector float __a) {
10831  typedef float __v2f32 __attribute__((__vector_size__(8)));
10832  __v2f32 __pack = __builtin_shufflevector(__a, __a, 0, 2);
10833  return __builtin_convertvector(__pack, __vector double);
10834}
10835#endif
10836
10837/*-- vec_floate -------------------------------------------------------------*/
10838
10839#if __ARCH__ >= 12
10840static inline __ATTRS_ai __vector float
10841vec_floate(__vector double __a) {
10842  typedef float __v2f32 __attribute__((__vector_size__(8)));
10843  __v2f32 __pack = __builtin_convertvector(__a, __v2f32);
10844  return __builtin_shufflevector(__pack, __pack, 0, -1, 1, -1);
10845}
10846#endif
10847
10848/*-- vec_double -------------------------------------------------------------*/
10849
10850static inline __ATTRS_o_ai __vector double
10851vec_double(__vector signed long long __a) {
10852  return __builtin_convertvector(__a, __vector double);
10853}
10854
10855static inline __ATTRS_o_ai __vector double
10856vec_double(__vector unsigned long long __a) {
10857  return __builtin_convertvector(__a, __vector double);
10858}
10859
10860/*-- vec_float --------------------------------------------------------------*/
10861
10862#if __ARCH__ >= 13
10863
10864static inline __ATTRS_o_ai __vector float
10865vec_float(__vector signed int __a) {
10866  return __builtin_convertvector(__a, __vector float);
10867}
10868
10869static inline __ATTRS_o_ai __vector float
10870vec_float(__vector unsigned int __a) {
10871  return __builtin_convertvector(__a, __vector float);
10872}
10873
10874#endif
10875
10876/*-- vec_signed -------------------------------------------------------------*/
10877
10878static inline __ATTRS_o_ai __vector signed long long
10879vec_signed(__vector double __a) {
10880  return __builtin_convertvector(__a, __vector signed long long);
10881}
10882
10883#if __ARCH__ >= 13
10884static inline __ATTRS_o_ai __vector signed int
10885vec_signed(__vector float __a) {
10886  return __builtin_convertvector(__a, __vector signed int);
10887}
10888#endif
10889
10890/*-- vec_unsigned -----------------------------------------------------------*/
10891
10892static inline __ATTRS_o_ai __vector unsigned long long
10893vec_unsigned(__vector double __a) {
10894  return __builtin_convertvector(__a, __vector unsigned long long);
10895}
10896
10897#if __ARCH__ >= 13
10898static inline __ATTRS_o_ai __vector unsigned int
10899vec_unsigned(__vector float __a) {
10900  return __builtin_convertvector(__a, __vector unsigned int);
10901}
10902#endif
10903
10904/*-- vec_roundp -------------------------------------------------------------*/
10905
10906#if __ARCH__ >= 12
10907static inline __ATTRS_o_ai __vector float
10908vec_roundp(__vector float __a) {
10909  return __builtin_s390_vfisb(__a, 4, 6);
10910}
10911#endif
10912
10913static inline __ATTRS_o_ai __vector double
10914vec_roundp(__vector double __a) {
10915  return __builtin_s390_vfidb(__a, 4, 6);
10916}
10917
10918/*-- vec_ceil ---------------------------------------------------------------*/
10919
10920#if __ARCH__ >= 12
10921static inline __ATTRS_o_ai __vector float
10922vec_ceil(__vector float __a) {
10923  // On this platform, vec_ceil never triggers the IEEE-inexact exception.
10924  return __builtin_s390_vfisb(__a, 4, 6);
10925}
10926#endif
10927
10928static inline __ATTRS_o_ai __vector double
10929vec_ceil(__vector double __a) {
10930  // On this platform, vec_ceil never triggers the IEEE-inexact exception.
10931  return __builtin_s390_vfidb(__a, 4, 6);
10932}
10933
10934/*-- vec_roundm -------------------------------------------------------------*/
10935
10936#if __ARCH__ >= 12
10937static inline __ATTRS_o_ai __vector float
10938vec_roundm(__vector float __a) {
10939  return __builtin_s390_vfisb(__a, 4, 7);
10940}
10941#endif
10942
10943static inline __ATTRS_o_ai __vector double
10944vec_roundm(__vector double __a) {
10945  return __builtin_s390_vfidb(__a, 4, 7);
10946}
10947
10948/*-- vec_floor --------------------------------------------------------------*/
10949
10950#if __ARCH__ >= 12
10951static inline __ATTRS_o_ai __vector float
10952vec_floor(__vector float __a) {
10953  // On this platform, vec_floor never triggers the IEEE-inexact exception.
10954  return __builtin_s390_vfisb(__a, 4, 7);
10955}
10956#endif
10957
10958static inline __ATTRS_o_ai __vector double
10959vec_floor(__vector double __a) {
10960  // On this platform, vec_floor never triggers the IEEE-inexact exception.
10961  return __builtin_s390_vfidb(__a, 4, 7);
10962}
10963
10964/*-- vec_roundz -------------------------------------------------------------*/
10965
10966#if __ARCH__ >= 12
10967static inline __ATTRS_o_ai __vector float
10968vec_roundz(__vector float __a) {
10969  return __builtin_s390_vfisb(__a, 4, 5);
10970}
10971#endif
10972
10973static inline __ATTRS_o_ai __vector double
10974vec_roundz(__vector double __a) {
10975  return __builtin_s390_vfidb(__a, 4, 5);
10976}
10977
10978/*-- vec_trunc --------------------------------------------------------------*/
10979
10980#if __ARCH__ >= 12
10981static inline __ATTRS_o_ai __vector float
10982vec_trunc(__vector float __a) {
10983  // On this platform, vec_trunc never triggers the IEEE-inexact exception.
10984  return __builtin_s390_vfisb(__a, 4, 5);
10985}
10986#endif
10987
10988static inline __ATTRS_o_ai __vector double
10989vec_trunc(__vector double __a) {
10990  // On this platform, vec_trunc never triggers the IEEE-inexact exception.
10991  return __builtin_s390_vfidb(__a, 4, 5);
10992}
10993
10994/*-- vec_roundc -------------------------------------------------------------*/
10995
10996#if __ARCH__ >= 12
10997static inline __ATTRS_o_ai __vector float
10998vec_roundc(__vector float __a) {
10999  return __builtin_s390_vfisb(__a, 4, 0);
11000}
11001#endif
11002
11003static inline __ATTRS_o_ai __vector double
11004vec_roundc(__vector double __a) {
11005  return __builtin_s390_vfidb(__a, 4, 0);
11006}
11007
11008/*-- vec_rint ---------------------------------------------------------------*/
11009
11010#if __ARCH__ >= 12
11011static inline __ATTRS_o_ai __vector float
11012vec_rint(__vector float __a) {
11013  // vec_rint may trigger the IEEE-inexact exception.
11014  return __builtin_s390_vfisb(__a, 0, 0);
11015}
11016#endif
11017
11018static inline __ATTRS_o_ai __vector double
11019vec_rint(__vector double __a) {
11020  // vec_rint may trigger the IEEE-inexact exception.
11021  return __builtin_s390_vfidb(__a, 0, 0);
11022}
11023
11024/*-- vec_round --------------------------------------------------------------*/
11025
11026#if __ARCH__ >= 12
11027static inline __ATTRS_o_ai __vector float
11028vec_round(__vector float __a) {
11029  return __builtin_s390_vfisb(__a, 4, 4);
11030}
11031#endif
11032
11033static inline __ATTRS_o_ai __vector double
11034vec_round(__vector double __a) {
11035  return __builtin_s390_vfidb(__a, 4, 4);
11036}
11037
11038/*-- vec_fp_test_data_class -------------------------------------------------*/
11039
11040#if __ARCH__ >= 12
11041extern __ATTRS_o __vector __bool int
11042vec_fp_test_data_class(__vector float __a, int __b, int *__c)
11043  __constant_range(__b, 0, 4095);
11044
11045extern __ATTRS_o __vector __bool long long
11046vec_fp_test_data_class(__vector double __a, int __b, int *__c)
11047  __constant_range(__b, 0, 4095);
11048
11049#define vec_fp_test_data_class(X, Y, Z) \
11050  ((__typeof__((vec_fp_test_data_class)((X), (Y), (Z)))) \
11051   __extension__ ({ \
11052     __vector unsigned char __res; \
11053     __vector unsigned char __x = (__vector unsigned char)(X); \
11054     int *__z = (Z); \
11055     switch (sizeof ((X)[0])) { \
11056     case 4:  __res = (__vector unsigned char) \
11057                      __builtin_s390_vftcisb((__vector float)__x, (Y), __z); \
11058              break; \
11059     default: __res = (__vector unsigned char) \
11060                      __builtin_s390_vftcidb((__vector double)__x, (Y), __z); \
11061              break; \
11062     } __res; }))
11063#else
11064#define vec_fp_test_data_class(X, Y, Z) \
11065  ((__vector __bool long long)__builtin_s390_vftcidb((X), (Y), (Z)))
11066#endif
11067
11068#define __VEC_CLASS_FP_ZERO_P (1 << 11)
11069#define __VEC_CLASS_FP_ZERO_N (1 << 10)
11070#define __VEC_CLASS_FP_ZERO (__VEC_CLASS_FP_ZERO_P | __VEC_CLASS_FP_ZERO_N)
11071#define __VEC_CLASS_FP_NORMAL_P (1 << 9)
11072#define __VEC_CLASS_FP_NORMAL_N (1 << 8)
11073#define __VEC_CLASS_FP_NORMAL (__VEC_CLASS_FP_NORMAL_P | \
11074                               __VEC_CLASS_FP_NORMAL_N)
11075#define __VEC_CLASS_FP_SUBNORMAL_P (1 << 7)
11076#define __VEC_CLASS_FP_SUBNORMAL_N (1 << 6)
11077#define __VEC_CLASS_FP_SUBNORMAL (__VEC_CLASS_FP_SUBNORMAL_P | \
11078                                  __VEC_CLASS_FP_SUBNORMAL_N)
11079#define __VEC_CLASS_FP_INFINITY_P (1 << 5)
11080#define __VEC_CLASS_FP_INFINITY_N (1 << 4)
11081#define __VEC_CLASS_FP_INFINITY (__VEC_CLASS_FP_INFINITY_P | \
11082                                 __VEC_CLASS_FP_INFINITY_N)
11083#define __VEC_CLASS_FP_QNAN_P (1 << 3)
11084#define __VEC_CLASS_FP_QNAN_N (1 << 2)
11085#define __VEC_CLASS_FP_QNAN (__VEC_CLASS_FP_QNAN_P | __VEC_CLASS_FP_QNAN_N)
11086#define __VEC_CLASS_FP_SNAN_P (1 << 1)
11087#define __VEC_CLASS_FP_SNAN_N (1 << 0)
11088#define __VEC_CLASS_FP_SNAN (__VEC_CLASS_FP_SNAN_P | __VEC_CLASS_FP_SNAN_N)
11089#define __VEC_CLASS_FP_NAN (__VEC_CLASS_FP_QNAN | __VEC_CLASS_FP_SNAN)
11090#define __VEC_CLASS_FP_NOT_NORMAL (__VEC_CLASS_FP_NAN | \
11091                                   __VEC_CLASS_FP_SUBNORMAL | \
11092                                   __VEC_CLASS_FP_ZERO | \
11093                                   __VEC_CLASS_FP_INFINITY)
11094
11095/*-- vec_extend_to_fp32_hi --------------------------------------------------*/
11096
11097#if __ARCH__ >= 14
11098#define vec_extend_to_fp32_hi(X, W) \
11099  ((__vector float)__builtin_s390_vclfnhs((X), (W)));
11100#endif
11101
11102/*-- vec_extend_to_fp32_hi --------------------------------------------------*/
11103
11104#if __ARCH__ >= 14
11105#define vec_extend_to_fp32_lo(X, W) \
11106  ((__vector float)__builtin_s390_vclfnls((X), (W)));
11107#endif
11108
11109/*-- vec_round_from_fp32 ----------------------------------------------------*/
11110
11111#if __ARCH__ >= 14
11112#define vec_round_from_fp32(X, Y, W) \
11113  ((__vector unsigned short)__builtin_s390_vcrnfs((X), (Y), (W)));
11114#endif
11115
11116/*-- vec_convert_to_fp16 ----------------------------------------------------*/
11117
11118#if __ARCH__ >= 14
11119#define vec_convert_to_fp16(X, W) \
11120  ((__vector unsigned short)__builtin_s390_vcfn((X), (W)));
11121#endif
11122
11123/*-- vec_convert_from_fp16 --------------------------------------------------*/
11124
11125#if __ARCH__ >= 14
11126#define vec_convert_from_fp16(X, W) \
11127  ((__vector unsigned short)__builtin_s390_vcnf((X), (W)));
11128#endif
11129
11130/*-- vec_cp_until_zero ------------------------------------------------------*/
11131
11132static inline __ATTRS_o_ai __vector signed char
11133vec_cp_until_zero(__vector signed char __a) {
11134  return ((__vector signed char)
11135          __builtin_s390_vistrb((__vector unsigned char)__a));
11136}
11137
11138static inline __ATTRS_o_ai __vector __bool char
11139vec_cp_until_zero(__vector __bool char __a) {
11140  return ((__vector __bool char)
11141          __builtin_s390_vistrb((__vector unsigned char)__a));
11142}
11143
11144static inline __ATTRS_o_ai __vector unsigned char
11145vec_cp_until_zero(__vector unsigned char __a) {
11146  return __builtin_s390_vistrb(__a);
11147}
11148
11149static inline __ATTRS_o_ai __vector signed short
11150vec_cp_until_zero(__vector signed short __a) {
11151  return ((__vector signed short)
11152          __builtin_s390_vistrh((__vector unsigned short)__a));
11153}
11154
11155static inline __ATTRS_o_ai __vector __bool short
11156vec_cp_until_zero(__vector __bool short __a) {
11157  return ((__vector __bool short)
11158          __builtin_s390_vistrh((__vector unsigned short)__a));
11159}
11160
11161static inline __ATTRS_o_ai __vector unsigned short
11162vec_cp_until_zero(__vector unsigned short __a) {
11163  return __builtin_s390_vistrh(__a);
11164}
11165
11166static inline __ATTRS_o_ai __vector signed int
11167vec_cp_until_zero(__vector signed int __a) {
11168  return ((__vector signed int)
11169          __builtin_s390_vistrf((__vector unsigned int)__a));
11170}
11171
11172static inline __ATTRS_o_ai __vector __bool int
11173vec_cp_until_zero(__vector __bool int __a) {
11174  return ((__vector __bool int)
11175          __builtin_s390_vistrf((__vector unsigned int)__a));
11176}
11177
11178static inline __ATTRS_o_ai __vector unsigned int
11179vec_cp_until_zero(__vector unsigned int __a) {
11180  return __builtin_s390_vistrf(__a);
11181}
11182
11183/*-- vec_cp_until_zero_cc ---------------------------------------------------*/
11184
11185static inline __ATTRS_o_ai __vector signed char
11186vec_cp_until_zero_cc(__vector signed char __a, int *__cc) {
11187  return (__vector signed char)
11188    __builtin_s390_vistrbs((__vector unsigned char)__a, __cc);
11189}
11190
11191static inline __ATTRS_o_ai __vector __bool char
11192vec_cp_until_zero_cc(__vector __bool char __a, int *__cc) {
11193  return (__vector __bool char)
11194    __builtin_s390_vistrbs((__vector unsigned char)__a, __cc);
11195}
11196
11197static inline __ATTRS_o_ai __vector unsigned char
11198vec_cp_until_zero_cc(__vector unsigned char __a, int *__cc) {
11199  return __builtin_s390_vistrbs(__a, __cc);
11200}
11201
11202static inline __ATTRS_o_ai __vector signed short
11203vec_cp_until_zero_cc(__vector signed short __a, int *__cc) {
11204  return (__vector signed short)
11205    __builtin_s390_vistrhs((__vector unsigned short)__a, __cc);
11206}
11207
11208static inline __ATTRS_o_ai __vector __bool short
11209vec_cp_until_zero_cc(__vector __bool short __a, int *__cc) {
11210  return (__vector __bool short)
11211    __builtin_s390_vistrhs((__vector unsigned short)__a, __cc);
11212}
11213
11214static inline __ATTRS_o_ai __vector unsigned short
11215vec_cp_until_zero_cc(__vector unsigned short __a, int *__cc) {
11216  return __builtin_s390_vistrhs(__a, __cc);
11217}
11218
11219static inline __ATTRS_o_ai __vector signed int
11220vec_cp_until_zero_cc(__vector signed int __a, int *__cc) {
11221  return (__vector signed int)
11222    __builtin_s390_vistrfs((__vector unsigned int)__a, __cc);
11223}
11224
11225static inline __ATTRS_o_ai __vector __bool int
11226vec_cp_until_zero_cc(__vector __bool int __a, int *__cc) {
11227  return (__vector __bool int)
11228    __builtin_s390_vistrfs((__vector unsigned int)__a, __cc);
11229}
11230
11231static inline __ATTRS_o_ai __vector unsigned int
11232vec_cp_until_zero_cc(__vector unsigned int __a, int *__cc) {
11233  return __builtin_s390_vistrfs(__a, __cc);
11234}
11235
11236/*-- vec_cmpeq_idx ----------------------------------------------------------*/
11237
11238static inline __ATTRS_o_ai __vector signed char
11239vec_cmpeq_idx(__vector signed char __a, __vector signed char __b) {
11240  return (__vector signed char)
11241    __builtin_s390_vfeeb((__vector unsigned char)__a,
11242                         (__vector unsigned char)__b);
11243}
11244
11245static inline __ATTRS_o_ai __vector unsigned char
11246vec_cmpeq_idx(__vector __bool char __a, __vector __bool char __b) {
11247  return __builtin_s390_vfeeb((__vector unsigned char)__a,
11248                              (__vector unsigned char)__b);
11249}
11250
11251static inline __ATTRS_o_ai __vector unsigned char
11252vec_cmpeq_idx(__vector unsigned char __a, __vector unsigned char __b) {
11253  return __builtin_s390_vfeeb(__a, __b);
11254}
11255
11256static inline __ATTRS_o_ai __vector signed short
11257vec_cmpeq_idx(__vector signed short __a, __vector signed short __b) {
11258  return (__vector signed short)
11259    __builtin_s390_vfeeh((__vector unsigned short)__a,
11260                         (__vector unsigned short)__b);
11261}
11262
11263static inline __ATTRS_o_ai __vector unsigned short
11264vec_cmpeq_idx(__vector __bool short __a, __vector __bool short __b) {
11265  return __builtin_s390_vfeeh((__vector unsigned short)__a,
11266                              (__vector unsigned short)__b);
11267}
11268
11269static inline __ATTRS_o_ai __vector unsigned short
11270vec_cmpeq_idx(__vector unsigned short __a, __vector unsigned short __b) {
11271  return __builtin_s390_vfeeh(__a, __b);
11272}
11273
11274static inline __ATTRS_o_ai __vector signed int
11275vec_cmpeq_idx(__vector signed int __a, __vector signed int __b) {
11276  return (__vector signed int)
11277    __builtin_s390_vfeef((__vector unsigned int)__a,
11278                         (__vector unsigned int)__b);
11279}
11280
11281static inline __ATTRS_o_ai __vector unsigned int
11282vec_cmpeq_idx(__vector __bool int __a, __vector __bool int __b) {
11283  return __builtin_s390_vfeef((__vector unsigned int)__a,
11284                              (__vector unsigned int)__b);
11285}
11286
11287static inline __ATTRS_o_ai __vector unsigned int
11288vec_cmpeq_idx(__vector unsigned int __a, __vector unsigned int __b) {
11289  return __builtin_s390_vfeef(__a, __b);
11290}
11291
11292/*-- vec_cmpeq_idx_cc -------------------------------------------------------*/
11293
11294static inline __ATTRS_o_ai __vector signed char
11295vec_cmpeq_idx_cc(__vector signed char __a, __vector signed char __b, int *__cc) {
11296  return (__vector signed char)
11297    __builtin_s390_vfeebs((__vector unsigned char)__a,
11298                          (__vector unsigned char)__b, __cc);
11299}
11300
11301static inline __ATTRS_o_ai __vector unsigned char
11302vec_cmpeq_idx_cc(__vector __bool char __a, __vector __bool char __b, int *__cc) {
11303  return __builtin_s390_vfeebs((__vector unsigned char)__a,
11304                               (__vector unsigned char)__b, __cc);
11305}
11306
11307static inline __ATTRS_o_ai __vector unsigned char
11308vec_cmpeq_idx_cc(__vector unsigned char __a, __vector unsigned char __b,
11309                 int *__cc) {
11310  return __builtin_s390_vfeebs(__a, __b, __cc);
11311}
11312
11313static inline __ATTRS_o_ai __vector signed short
11314vec_cmpeq_idx_cc(__vector signed short __a, __vector signed short __b,
11315                 int *__cc) {
11316  return (__vector signed short)
11317    __builtin_s390_vfeehs((__vector unsigned short)__a,
11318                          (__vector unsigned short)__b, __cc);
11319}
11320
11321static inline __ATTRS_o_ai __vector unsigned short
11322vec_cmpeq_idx_cc(__vector __bool short __a, __vector __bool short __b, int *__cc) {
11323  return __builtin_s390_vfeehs((__vector unsigned short)__a,
11324                               (__vector unsigned short)__b, __cc);
11325}
11326
11327static inline __ATTRS_o_ai __vector unsigned short
11328vec_cmpeq_idx_cc(__vector unsigned short __a, __vector unsigned short __b,
11329                 int *__cc) {
11330  return __builtin_s390_vfeehs(__a, __b, __cc);
11331}
11332
11333static inline __ATTRS_o_ai __vector signed int
11334vec_cmpeq_idx_cc(__vector signed int __a, __vector signed int __b, int *__cc) {
11335  return (__vector signed int)
11336    __builtin_s390_vfeefs((__vector unsigned int)__a,
11337                          (__vector unsigned int)__b, __cc);
11338}
11339
11340static inline __ATTRS_o_ai __vector unsigned int
11341vec_cmpeq_idx_cc(__vector __bool int __a, __vector __bool int __b, int *__cc) {
11342  return __builtin_s390_vfeefs((__vector unsigned int)__a,
11343                               (__vector unsigned int)__b, __cc);
11344}
11345
11346static inline __ATTRS_o_ai __vector unsigned int
11347vec_cmpeq_idx_cc(__vector unsigned int __a, __vector unsigned int __b,
11348                 int *__cc) {
11349  return __builtin_s390_vfeefs(__a, __b, __cc);
11350}
11351
11352/*-- vec_cmpeq_or_0_idx -----------------------------------------------------*/
11353
11354static inline __ATTRS_o_ai __vector signed char
11355vec_cmpeq_or_0_idx(__vector signed char __a, __vector signed char __b) {
11356  return (__vector signed char)
11357    __builtin_s390_vfeezb((__vector unsigned char)__a,
11358                          (__vector unsigned char)__b);
11359}
11360
11361static inline __ATTRS_o_ai __vector unsigned char
11362vec_cmpeq_or_0_idx(__vector __bool char __a, __vector __bool char __b) {
11363  return __builtin_s390_vfeezb((__vector unsigned char)__a,
11364                               (__vector unsigned char)__b);
11365}
11366
11367static inline __ATTRS_o_ai __vector unsigned char
11368vec_cmpeq_or_0_idx(__vector unsigned char __a, __vector unsigned char __b) {
11369  return __builtin_s390_vfeezb(__a, __b);
11370}
11371
11372static inline __ATTRS_o_ai __vector signed short
11373vec_cmpeq_or_0_idx(__vector signed short __a, __vector signed short __b) {
11374  return (__vector signed short)
11375    __builtin_s390_vfeezh((__vector unsigned short)__a,
11376                          (__vector unsigned short)__b);
11377}
11378
11379static inline __ATTRS_o_ai __vector unsigned short
11380vec_cmpeq_or_0_idx(__vector __bool short __a, __vector __bool short __b) {
11381  return __builtin_s390_vfeezh((__vector unsigned short)__a,
11382                               (__vector unsigned short)__b);
11383}
11384
11385static inline __ATTRS_o_ai __vector unsigned short
11386vec_cmpeq_or_0_idx(__vector unsigned short __a, __vector unsigned short __b) {
11387  return __builtin_s390_vfeezh(__a, __b);
11388}
11389
11390static inline __ATTRS_o_ai __vector signed int
11391vec_cmpeq_or_0_idx(__vector signed int __a, __vector signed int __b) {
11392  return (__vector signed int)
11393    __builtin_s390_vfeezf((__vector unsigned int)__a,
11394                          (__vector unsigned int)__b);
11395}
11396
11397static inline __ATTRS_o_ai __vector unsigned int
11398vec_cmpeq_or_0_idx(__vector __bool int __a, __vector __bool int __b) {
11399  return __builtin_s390_vfeezf((__vector unsigned int)__a,
11400                               (__vector unsigned int)__b);
11401}
11402
11403static inline __ATTRS_o_ai __vector unsigned int
11404vec_cmpeq_or_0_idx(__vector unsigned int __a, __vector unsigned int __b) {
11405  return __builtin_s390_vfeezf(__a, __b);
11406}
11407
11408/*-- vec_cmpeq_or_0_idx_cc --------------------------------------------------*/
11409
11410static inline __ATTRS_o_ai __vector signed char
11411vec_cmpeq_or_0_idx_cc(__vector signed char __a, __vector signed char __b,
11412                      int *__cc) {
11413  return (__vector signed char)
11414    __builtin_s390_vfeezbs((__vector unsigned char)__a,
11415                           (__vector unsigned char)__b, __cc);
11416}
11417
11418static inline __ATTRS_o_ai __vector unsigned char
11419vec_cmpeq_or_0_idx_cc(__vector __bool char __a, __vector __bool char __b,
11420                      int *__cc) {
11421  return __builtin_s390_vfeezbs((__vector unsigned char)__a,
11422                                (__vector unsigned char)__b, __cc);
11423}
11424
11425static inline __ATTRS_o_ai __vector unsigned char
11426vec_cmpeq_or_0_idx_cc(__vector unsigned char __a, __vector unsigned char __b,
11427                      int *__cc) {
11428  return __builtin_s390_vfeezbs(__a, __b, __cc);
11429}
11430
11431static inline __ATTRS_o_ai __vector signed short
11432vec_cmpeq_or_0_idx_cc(__vector signed short __a, __vector signed short __b,
11433                      int *__cc) {
11434  return (__vector signed short)
11435    __builtin_s390_vfeezhs((__vector unsigned short)__a,
11436                           (__vector unsigned short)__b, __cc);
11437}
11438
11439static inline __ATTRS_o_ai __vector unsigned short
11440vec_cmpeq_or_0_idx_cc(__vector __bool short __a, __vector __bool short __b,
11441                      int *__cc) {
11442  return __builtin_s390_vfeezhs((__vector unsigned short)__a,
11443                                (__vector unsigned short)__b, __cc);
11444}
11445
11446static inline __ATTRS_o_ai __vector unsigned short
11447vec_cmpeq_or_0_idx_cc(__vector unsigned short __a, __vector unsigned short __b,
11448                      int *__cc) {
11449  return __builtin_s390_vfeezhs(__a, __b, __cc);
11450}
11451
11452static inline __ATTRS_o_ai __vector signed int
11453vec_cmpeq_or_0_idx_cc(__vector signed int __a, __vector signed int __b,
11454                      int *__cc) {
11455  return (__vector signed int)
11456    __builtin_s390_vfeezfs((__vector unsigned int)__a,
11457                           (__vector unsigned int)__b, __cc);
11458}
11459
11460static inline __ATTRS_o_ai __vector unsigned int
11461vec_cmpeq_or_0_idx_cc(__vector __bool int __a, __vector __bool int __b,
11462                      int *__cc) {
11463  return __builtin_s390_vfeezfs((__vector unsigned int)__a,
11464                                (__vector unsigned int)__b, __cc);
11465}
11466
11467static inline __ATTRS_o_ai __vector unsigned int
11468vec_cmpeq_or_0_idx_cc(__vector unsigned int __a, __vector unsigned int __b,
11469                      int *__cc) {
11470  return __builtin_s390_vfeezfs(__a, __b, __cc);
11471}
11472
11473/*-- vec_cmpne_idx ----------------------------------------------------------*/
11474
11475static inline __ATTRS_o_ai __vector signed char
11476vec_cmpne_idx(__vector signed char __a, __vector signed char __b) {
11477  return (__vector signed char)
11478    __builtin_s390_vfeneb((__vector unsigned char)__a,
11479                          (__vector unsigned char)__b);
11480}
11481
11482static inline __ATTRS_o_ai __vector unsigned char
11483vec_cmpne_idx(__vector __bool char __a, __vector __bool char __b) {
11484  return __builtin_s390_vfeneb((__vector unsigned char)__a,
11485                               (__vector unsigned char)__b);
11486}
11487
11488static inline __ATTRS_o_ai __vector unsigned char
11489vec_cmpne_idx(__vector unsigned char __a, __vector unsigned char __b) {
11490  return __builtin_s390_vfeneb(__a, __b);
11491}
11492
11493static inline __ATTRS_o_ai __vector signed short
11494vec_cmpne_idx(__vector signed short __a, __vector signed short __b) {
11495  return (__vector signed short)
11496    __builtin_s390_vfeneh((__vector unsigned short)__a,
11497                          (__vector unsigned short)__b);
11498}
11499
11500static inline __ATTRS_o_ai __vector unsigned short
11501vec_cmpne_idx(__vector __bool short __a, __vector __bool short __b) {
11502  return __builtin_s390_vfeneh((__vector unsigned short)__a,
11503                               (__vector unsigned short)__b);
11504}
11505
11506static inline __ATTRS_o_ai __vector unsigned short
11507vec_cmpne_idx(__vector unsigned short __a, __vector unsigned short __b) {
11508  return __builtin_s390_vfeneh(__a, __b);
11509}
11510
11511static inline __ATTRS_o_ai __vector signed int
11512vec_cmpne_idx(__vector signed int __a, __vector signed int __b) {
11513  return (__vector signed int)
11514    __builtin_s390_vfenef((__vector unsigned int)__a,
11515                          (__vector unsigned int)__b);
11516}
11517
11518static inline __ATTRS_o_ai __vector unsigned int
11519vec_cmpne_idx(__vector __bool int __a, __vector __bool int __b) {
11520  return __builtin_s390_vfenef((__vector unsigned int)__a,
11521                               (__vector unsigned int)__b);
11522}
11523
11524static inline __ATTRS_o_ai __vector unsigned int
11525vec_cmpne_idx(__vector unsigned int __a, __vector unsigned int __b) {
11526  return __builtin_s390_vfenef(__a, __b);
11527}
11528
11529/*-- vec_cmpne_idx_cc -------------------------------------------------------*/
11530
11531static inline __ATTRS_o_ai __vector signed char
11532vec_cmpne_idx_cc(__vector signed char __a, __vector signed char __b, int *__cc) {
11533  return (__vector signed char)
11534    __builtin_s390_vfenebs((__vector unsigned char)__a,
11535                           (__vector unsigned char)__b, __cc);
11536}
11537
11538static inline __ATTRS_o_ai __vector unsigned char
11539vec_cmpne_idx_cc(__vector __bool char __a, __vector __bool char __b, int *__cc) {
11540  return __builtin_s390_vfenebs((__vector unsigned char)__a,
11541                                (__vector unsigned char)__b, __cc);
11542}
11543
11544static inline __ATTRS_o_ai __vector unsigned char
11545vec_cmpne_idx_cc(__vector unsigned char __a, __vector unsigned char __b,
11546                 int *__cc) {
11547  return __builtin_s390_vfenebs(__a, __b, __cc);
11548}
11549
11550static inline __ATTRS_o_ai __vector signed short
11551vec_cmpne_idx_cc(__vector signed short __a, __vector signed short __b,
11552                 int *__cc) {
11553  return (__vector signed short)
11554    __builtin_s390_vfenehs((__vector unsigned short)__a,
11555                           (__vector unsigned short)__b, __cc);
11556}
11557
11558static inline __ATTRS_o_ai __vector unsigned short
11559vec_cmpne_idx_cc(__vector __bool short __a, __vector __bool short __b,
11560                 int *__cc) {
11561  return __builtin_s390_vfenehs((__vector unsigned short)__a,
11562                                (__vector unsigned short)__b, __cc);
11563}
11564
11565static inline __ATTRS_o_ai __vector unsigned short
11566vec_cmpne_idx_cc(__vector unsigned short __a, __vector unsigned short __b,
11567                 int *__cc) {
11568  return __builtin_s390_vfenehs(__a, __b, __cc);
11569}
11570
11571static inline __ATTRS_o_ai __vector signed int
11572vec_cmpne_idx_cc(__vector signed int __a, __vector signed int __b, int *__cc) {
11573  return (__vector signed int)
11574    __builtin_s390_vfenefs((__vector unsigned int)__a,
11575                           (__vector unsigned int)__b, __cc);
11576}
11577
11578static inline __ATTRS_o_ai __vector unsigned int
11579vec_cmpne_idx_cc(__vector __bool int __a, __vector __bool int __b, int *__cc) {
11580  return __builtin_s390_vfenefs((__vector unsigned int)__a,
11581                                (__vector unsigned int)__b, __cc);
11582}
11583
11584static inline __ATTRS_o_ai __vector unsigned int
11585vec_cmpne_idx_cc(__vector unsigned int __a, __vector unsigned int __b,
11586                 int *__cc) {
11587  return __builtin_s390_vfenefs(__a, __b, __cc);
11588}
11589
11590/*-- vec_cmpne_or_0_idx -----------------------------------------------------*/
11591
11592static inline __ATTRS_o_ai __vector signed char
11593vec_cmpne_or_0_idx(__vector signed char __a, __vector signed char __b) {
11594  return (__vector signed char)
11595    __builtin_s390_vfenezb((__vector unsigned char)__a,
11596                           (__vector unsigned char)__b);
11597}
11598
11599static inline __ATTRS_o_ai __vector unsigned char
11600vec_cmpne_or_0_idx(__vector __bool char __a, __vector __bool char __b) {
11601  return __builtin_s390_vfenezb((__vector unsigned char)__a,
11602                                (__vector unsigned char)__b);
11603}
11604
11605static inline __ATTRS_o_ai __vector unsigned char
11606vec_cmpne_or_0_idx(__vector unsigned char __a, __vector unsigned char __b) {
11607  return __builtin_s390_vfenezb(__a, __b);
11608}
11609
11610static inline __ATTRS_o_ai __vector signed short
11611vec_cmpne_or_0_idx(__vector signed short __a, __vector signed short __b) {
11612  return (__vector signed short)
11613    __builtin_s390_vfenezh((__vector unsigned short)__a,
11614                           (__vector unsigned short)__b);
11615}
11616
11617static inline __ATTRS_o_ai __vector unsigned short
11618vec_cmpne_or_0_idx(__vector __bool short __a, __vector __bool short __b) {
11619  return __builtin_s390_vfenezh((__vector unsigned short)__a,
11620                                (__vector unsigned short)__b);
11621}
11622
11623static inline __ATTRS_o_ai __vector unsigned short
11624vec_cmpne_or_0_idx(__vector unsigned short __a, __vector unsigned short __b) {
11625  return __builtin_s390_vfenezh(__a, __b);
11626}
11627
11628static inline __ATTRS_o_ai __vector signed int
11629vec_cmpne_or_0_idx(__vector signed int __a, __vector signed int __b) {
11630  return (__vector signed int)
11631    __builtin_s390_vfenezf((__vector unsigned int)__a,
11632                           (__vector unsigned int)__b);
11633}
11634
11635static inline __ATTRS_o_ai __vector unsigned int
11636vec_cmpne_or_0_idx(__vector __bool int __a, __vector __bool int __b) {
11637  return __builtin_s390_vfenezf((__vector unsigned int)__a,
11638                                (__vector unsigned int)__b);
11639}
11640
11641static inline __ATTRS_o_ai __vector unsigned int
11642vec_cmpne_or_0_idx(__vector unsigned int __a, __vector unsigned int __b) {
11643  return __builtin_s390_vfenezf(__a, __b);
11644}
11645
11646/*-- vec_cmpne_or_0_idx_cc --------------------------------------------------*/
11647
11648static inline __ATTRS_o_ai __vector signed char
11649vec_cmpne_or_0_idx_cc(__vector signed char __a, __vector signed char __b,
11650                      int *__cc) {
11651  return (__vector signed char)
11652    __builtin_s390_vfenezbs((__vector unsigned char)__a,
11653                            (__vector unsigned char)__b, __cc);
11654}
11655
11656static inline __ATTRS_o_ai __vector unsigned char
11657vec_cmpne_or_0_idx_cc(__vector __bool char __a, __vector __bool char __b,
11658                      int *__cc) {
11659  return __builtin_s390_vfenezbs((__vector unsigned char)__a,
11660                                 (__vector unsigned char)__b, __cc);
11661}
11662
11663static inline __ATTRS_o_ai __vector unsigned char
11664vec_cmpne_or_0_idx_cc(__vector unsigned char __a, __vector unsigned char __b,
11665                      int *__cc) {
11666  return __builtin_s390_vfenezbs(__a, __b, __cc);
11667}
11668
11669static inline __ATTRS_o_ai __vector signed short
11670vec_cmpne_or_0_idx_cc(__vector signed short __a, __vector signed short __b,
11671                      int *__cc) {
11672  return (__vector signed short)
11673    __builtin_s390_vfenezhs((__vector unsigned short)__a,
11674                            (__vector unsigned short)__b, __cc);
11675}
11676
11677static inline __ATTRS_o_ai __vector unsigned short
11678vec_cmpne_or_0_idx_cc(__vector __bool short __a, __vector __bool short __b,
11679                      int *__cc) {
11680  return __builtin_s390_vfenezhs((__vector unsigned short)__a,
11681                                 (__vector unsigned short)__b, __cc);
11682}
11683
11684static inline __ATTRS_o_ai __vector unsigned short
11685vec_cmpne_or_0_idx_cc(__vector unsigned short __a, __vector unsigned short __b,
11686                      int *__cc) {
11687  return __builtin_s390_vfenezhs(__a, __b, __cc);
11688}
11689
11690static inline __ATTRS_o_ai __vector signed int
11691vec_cmpne_or_0_idx_cc(__vector signed int __a, __vector signed int __b,
11692                      int *__cc) {
11693  return (__vector signed int)
11694    __builtin_s390_vfenezfs((__vector unsigned int)__a,
11695                            (__vector unsigned int)__b, __cc);
11696}
11697
11698static inline __ATTRS_o_ai __vector unsigned int
11699vec_cmpne_or_0_idx_cc(__vector __bool int __a, __vector __bool int __b,
11700                      int *__cc) {
11701  return __builtin_s390_vfenezfs((__vector unsigned int)__a,
11702                                 (__vector unsigned int)__b, __cc);
11703}
11704
11705static inline __ATTRS_o_ai __vector unsigned int
11706vec_cmpne_or_0_idx_cc(__vector unsigned int __a, __vector unsigned int __b,
11707                      int *__cc) {
11708  return __builtin_s390_vfenezfs(__a, __b, __cc);
11709}
11710
11711/*-- vec_cmprg --------------------------------------------------------------*/
11712
11713static inline __ATTRS_o_ai __vector __bool char
11714vec_cmprg(__vector unsigned char __a, __vector unsigned char __b,
11715          __vector unsigned char __c) {
11716  return (__vector __bool char)__builtin_s390_vstrcb(__a, __b, __c, 4);
11717}
11718
11719static inline __ATTRS_o_ai __vector __bool short
11720vec_cmprg(__vector unsigned short __a, __vector unsigned short __b,
11721          __vector unsigned short __c) {
11722  return (__vector __bool short)__builtin_s390_vstrch(__a, __b, __c, 4);
11723}
11724
11725static inline __ATTRS_o_ai __vector __bool int
11726vec_cmprg(__vector unsigned int __a, __vector unsigned int __b,
11727          __vector unsigned int __c) {
11728  return (__vector __bool int)__builtin_s390_vstrcf(__a, __b, __c, 4);
11729}
11730
11731/*-- vec_cmprg_cc -----------------------------------------------------------*/
11732
11733static inline __ATTRS_o_ai __vector __bool char
11734vec_cmprg_cc(__vector unsigned char __a, __vector unsigned char __b,
11735             __vector unsigned char __c, int *__cc) {
11736  return (__vector __bool char)__builtin_s390_vstrcbs(__a, __b, __c, 4, __cc);
11737}
11738
11739static inline __ATTRS_o_ai __vector __bool short
11740vec_cmprg_cc(__vector unsigned short __a, __vector unsigned short __b,
11741             __vector unsigned short __c, int *__cc) {
11742  return (__vector __bool short)__builtin_s390_vstrchs(__a, __b, __c, 4, __cc);
11743}
11744
11745static inline __ATTRS_o_ai __vector __bool int
11746vec_cmprg_cc(__vector unsigned int __a, __vector unsigned int __b,
11747             __vector unsigned int __c, int *__cc) {
11748  return (__vector __bool int)__builtin_s390_vstrcfs(__a, __b, __c, 4, __cc);
11749}
11750
11751/*-- vec_cmprg_idx ----------------------------------------------------------*/
11752
11753static inline __ATTRS_o_ai __vector unsigned char
11754vec_cmprg_idx(__vector unsigned char __a, __vector unsigned char __b,
11755              __vector unsigned char __c) {
11756  return __builtin_s390_vstrcb(__a, __b, __c, 0);
11757}
11758
11759static inline __ATTRS_o_ai __vector unsigned short
11760vec_cmprg_idx(__vector unsigned short __a, __vector unsigned short __b,
11761              __vector unsigned short __c) {
11762  return __builtin_s390_vstrch(__a, __b, __c, 0);
11763}
11764
11765static inline __ATTRS_o_ai __vector unsigned int
11766vec_cmprg_idx(__vector unsigned int __a, __vector unsigned int __b,
11767              __vector unsigned int __c) {
11768  return __builtin_s390_vstrcf(__a, __b, __c, 0);
11769}
11770
11771/*-- vec_cmprg_idx_cc -------------------------------------------------------*/
11772
11773static inline __ATTRS_o_ai __vector unsigned char
11774vec_cmprg_idx_cc(__vector unsigned char __a, __vector unsigned char __b,
11775                 __vector unsigned char __c, int *__cc) {
11776  return __builtin_s390_vstrcbs(__a, __b, __c, 0, __cc);
11777}
11778
11779static inline __ATTRS_o_ai __vector unsigned short
11780vec_cmprg_idx_cc(__vector unsigned short __a, __vector unsigned short __b,
11781                 __vector unsigned short __c, int *__cc) {
11782  return __builtin_s390_vstrchs(__a, __b, __c, 0, __cc);
11783}
11784
11785static inline __ATTRS_o_ai __vector unsigned int
11786vec_cmprg_idx_cc(__vector unsigned int __a, __vector unsigned int __b,
11787                 __vector unsigned int __c, int *__cc) {
11788  return __builtin_s390_vstrcfs(__a, __b, __c, 0, __cc);
11789}
11790
11791/*-- vec_cmprg_or_0_idx -----------------------------------------------------*/
11792
11793static inline __ATTRS_o_ai __vector unsigned char
11794vec_cmprg_or_0_idx(__vector unsigned char __a, __vector unsigned char __b,
11795                   __vector unsigned char __c) {
11796  return __builtin_s390_vstrczb(__a, __b, __c, 0);
11797}
11798
11799static inline __ATTRS_o_ai __vector unsigned short
11800vec_cmprg_or_0_idx(__vector unsigned short __a, __vector unsigned short __b,
11801                   __vector unsigned short __c) {
11802  return __builtin_s390_vstrczh(__a, __b, __c, 0);
11803}
11804
11805static inline __ATTRS_o_ai __vector unsigned int
11806vec_cmprg_or_0_idx(__vector unsigned int __a, __vector unsigned int __b,
11807                   __vector unsigned int __c) {
11808  return __builtin_s390_vstrczf(__a, __b, __c, 0);
11809}
11810
11811/*-- vec_cmprg_or_0_idx_cc --------------------------------------------------*/
11812
11813static inline __ATTRS_o_ai __vector unsigned char
11814vec_cmprg_or_0_idx_cc(__vector unsigned char __a, __vector unsigned char __b,
11815                      __vector unsigned char __c, int *__cc) {
11816  return __builtin_s390_vstrczbs(__a, __b, __c, 0, __cc);
11817}
11818
11819static inline __ATTRS_o_ai __vector unsigned short
11820vec_cmprg_or_0_idx_cc(__vector unsigned short __a, __vector unsigned short __b,
11821                      __vector unsigned short __c, int *__cc) {
11822  return __builtin_s390_vstrczhs(__a, __b, __c, 0, __cc);
11823}
11824
11825static inline __ATTRS_o_ai __vector unsigned int
11826vec_cmprg_or_0_idx_cc(__vector unsigned int __a, __vector unsigned int __b,
11827                      __vector unsigned int __c, int *__cc) {
11828  return __builtin_s390_vstrczfs(__a, __b, __c, 0, __cc);
11829}
11830
11831/*-- vec_cmpnrg -------------------------------------------------------------*/
11832
11833static inline __ATTRS_o_ai __vector __bool char
11834vec_cmpnrg(__vector unsigned char __a, __vector unsigned char __b,
11835           __vector unsigned char __c) {
11836  return (__vector __bool char)__builtin_s390_vstrcb(__a, __b, __c, 12);
11837}
11838
11839static inline __ATTRS_o_ai __vector __bool short
11840vec_cmpnrg(__vector unsigned short __a, __vector unsigned short __b,
11841           __vector unsigned short __c) {
11842  return (__vector __bool short)__builtin_s390_vstrch(__a, __b, __c, 12);
11843}
11844
11845static inline __ATTRS_o_ai __vector __bool int
11846vec_cmpnrg(__vector unsigned int __a, __vector unsigned int __b,
11847           __vector unsigned int __c) {
11848  return (__vector __bool int)__builtin_s390_vstrcf(__a, __b, __c, 12);
11849}
11850
11851/*-- vec_cmpnrg_cc ----------------------------------------------------------*/
11852
11853static inline __ATTRS_o_ai __vector __bool char
11854vec_cmpnrg_cc(__vector unsigned char __a, __vector unsigned char __b,
11855              __vector unsigned char __c, int *__cc) {
11856  return (__vector __bool char)
11857    __builtin_s390_vstrcbs(__a, __b, __c, 12, __cc);
11858}
11859
11860static inline __ATTRS_o_ai __vector __bool short
11861vec_cmpnrg_cc(__vector unsigned short __a, __vector unsigned short __b,
11862              __vector unsigned short __c, int *__cc) {
11863  return (__vector __bool short)
11864    __builtin_s390_vstrchs(__a, __b, __c, 12, __cc);
11865}
11866
11867static inline __ATTRS_o_ai __vector __bool int
11868vec_cmpnrg_cc(__vector unsigned int __a, __vector unsigned int __b,
11869              __vector unsigned int __c, int *__cc) {
11870  return (__vector __bool int)
11871    __builtin_s390_vstrcfs(__a, __b, __c, 12, __cc);
11872}
11873
11874/*-- vec_cmpnrg_idx ---------------------------------------------------------*/
11875
11876static inline __ATTRS_o_ai __vector unsigned char
11877vec_cmpnrg_idx(__vector unsigned char __a, __vector unsigned char __b,
11878               __vector unsigned char __c) {
11879  return __builtin_s390_vstrcb(__a, __b, __c, 8);
11880}
11881
11882static inline __ATTRS_o_ai __vector unsigned short
11883vec_cmpnrg_idx(__vector unsigned short __a, __vector unsigned short __b,
11884               __vector unsigned short __c) {
11885  return __builtin_s390_vstrch(__a, __b, __c, 8);
11886}
11887
11888static inline __ATTRS_o_ai __vector unsigned int
11889vec_cmpnrg_idx(__vector unsigned int __a, __vector unsigned int __b,
11890               __vector unsigned int __c) {
11891  return __builtin_s390_vstrcf(__a, __b, __c, 8);
11892}
11893
11894/*-- vec_cmpnrg_idx_cc ------------------------------------------------------*/
11895
11896static inline __ATTRS_o_ai __vector unsigned char
11897vec_cmpnrg_idx_cc(__vector unsigned char __a, __vector unsigned char __b,
11898                  __vector unsigned char __c, int *__cc) {
11899  return __builtin_s390_vstrcbs(__a, __b, __c, 8, __cc);
11900}
11901
11902static inline __ATTRS_o_ai __vector unsigned short
11903vec_cmpnrg_idx_cc(__vector unsigned short __a, __vector unsigned short __b,
11904                  __vector unsigned short __c, int *__cc) {
11905  return __builtin_s390_vstrchs(__a, __b, __c, 8, __cc);
11906}
11907
11908static inline __ATTRS_o_ai __vector unsigned int
11909vec_cmpnrg_idx_cc(__vector unsigned int __a, __vector unsigned int __b,
11910                  __vector unsigned int __c, int *__cc) {
11911  return __builtin_s390_vstrcfs(__a, __b, __c, 8, __cc);
11912}
11913
11914/*-- vec_cmpnrg_or_0_idx ----------------------------------------------------*/
11915
11916static inline __ATTRS_o_ai __vector unsigned char
11917vec_cmpnrg_or_0_idx(__vector unsigned char __a, __vector unsigned char __b,
11918                    __vector unsigned char __c) {
11919  return __builtin_s390_vstrczb(__a, __b, __c, 8);
11920}
11921
11922static inline __ATTRS_o_ai __vector unsigned short
11923vec_cmpnrg_or_0_idx(__vector unsigned short __a, __vector unsigned short __b,
11924                    __vector unsigned short __c) {
11925  return __builtin_s390_vstrczh(__a, __b, __c, 8);
11926}
11927
11928static inline __ATTRS_o_ai __vector unsigned int
11929vec_cmpnrg_or_0_idx(__vector unsigned int __a, __vector unsigned int __b,
11930                    __vector unsigned int __c) {
11931  return __builtin_s390_vstrczf(__a, __b, __c, 8);
11932}
11933
11934/*-- vec_cmpnrg_or_0_idx_cc -------------------------------------------------*/
11935
11936static inline __ATTRS_o_ai __vector unsigned char
11937vec_cmpnrg_or_0_idx_cc(__vector unsigned char __a,
11938                       __vector unsigned char __b,
11939                       __vector unsigned char __c, int *__cc) {
11940  return __builtin_s390_vstrczbs(__a, __b, __c, 8, __cc);
11941}
11942
11943static inline __ATTRS_o_ai __vector unsigned short
11944vec_cmpnrg_or_0_idx_cc(__vector unsigned short __a,
11945                       __vector unsigned short __b,
11946                       __vector unsigned short __c, int *__cc) {
11947  return __builtin_s390_vstrczhs(__a, __b, __c, 8, __cc);
11948}
11949
11950static inline __ATTRS_o_ai __vector unsigned int
11951vec_cmpnrg_or_0_idx_cc(__vector unsigned int __a,
11952                       __vector unsigned int __b,
11953                       __vector unsigned int __c, int *__cc) {
11954  return __builtin_s390_vstrczfs(__a, __b, __c, 8, __cc);
11955}
11956
11957/*-- vec_find_any_eq --------------------------------------------------------*/
11958
11959static inline __ATTRS_o_ai __vector __bool char
11960vec_find_any_eq(__vector signed char __a, __vector signed char __b) {
11961  return (__vector __bool char)
11962    __builtin_s390_vfaeb((__vector unsigned char)__a,
11963                         (__vector unsigned char)__b, 4);
11964}
11965
11966static inline __ATTRS_o_ai __vector __bool char
11967vec_find_any_eq(__vector __bool char __a, __vector __bool char __b) {
11968  return (__vector __bool char)
11969    __builtin_s390_vfaeb((__vector unsigned char)__a,
11970                         (__vector unsigned char)__b, 4);
11971}
11972
11973static inline __ATTRS_o_ai __vector __bool char
11974vec_find_any_eq(__vector unsigned char __a, __vector unsigned char __b) {
11975  return (__vector __bool char)__builtin_s390_vfaeb(__a, __b, 4);
11976}
11977
11978static inline __ATTRS_o_ai __vector __bool short
11979vec_find_any_eq(__vector signed short __a, __vector signed short __b) {
11980  return (__vector __bool short)
11981    __builtin_s390_vfaeh((__vector unsigned short)__a,
11982                         (__vector unsigned short)__b, 4);
11983}
11984
11985static inline __ATTRS_o_ai __vector __bool short
11986vec_find_any_eq(__vector __bool short __a, __vector __bool short __b) {
11987  return (__vector __bool short)
11988    __builtin_s390_vfaeh((__vector unsigned short)__a,
11989                         (__vector unsigned short)__b, 4);
11990}
11991
11992static inline __ATTRS_o_ai __vector __bool short
11993vec_find_any_eq(__vector unsigned short __a, __vector unsigned short __b) {
11994  return (__vector __bool short)__builtin_s390_vfaeh(__a, __b, 4);
11995}
11996
11997static inline __ATTRS_o_ai __vector __bool int
11998vec_find_any_eq(__vector signed int __a, __vector signed int __b) {
11999  return (__vector __bool int)
12000    __builtin_s390_vfaef((__vector unsigned int)__a,
12001                         (__vector unsigned int)__b, 4);
12002}
12003
12004static inline __ATTRS_o_ai __vector __bool int
12005vec_find_any_eq(__vector __bool int __a, __vector __bool int __b) {
12006  return (__vector __bool int)
12007    __builtin_s390_vfaef((__vector unsigned int)__a,
12008                         (__vector unsigned int)__b, 4);
12009}
12010
12011static inline __ATTRS_o_ai __vector __bool int
12012vec_find_any_eq(__vector unsigned int __a, __vector unsigned int __b) {
12013  return (__vector __bool int)__builtin_s390_vfaef(__a, __b, 4);
12014}
12015
12016/*-- vec_find_any_eq_cc -----------------------------------------------------*/
12017
12018static inline __ATTRS_o_ai __vector __bool char
12019vec_find_any_eq_cc(__vector signed char __a, __vector signed char __b,
12020                   int *__cc) {
12021  return (__vector __bool char)
12022    __builtin_s390_vfaebs((__vector unsigned char)__a,
12023                          (__vector unsigned char)__b, 4, __cc);
12024}
12025
12026static inline __ATTRS_o_ai __vector __bool char
12027vec_find_any_eq_cc(__vector __bool char __a, __vector __bool char __b,
12028                   int *__cc) {
12029  return (__vector __bool char)
12030    __builtin_s390_vfaebs((__vector unsigned char)__a,
12031                          (__vector unsigned char)__b, 4, __cc);
12032}
12033
12034static inline __ATTRS_o_ai __vector __bool char
12035vec_find_any_eq_cc(__vector unsigned char __a, __vector unsigned char __b,
12036                   int *__cc) {
12037  return (__vector __bool char)__builtin_s390_vfaebs(__a, __b, 4, __cc);
12038}
12039
12040static inline __ATTRS_o_ai __vector __bool short
12041vec_find_any_eq_cc(__vector signed short __a, __vector signed short __b,
12042                   int *__cc) {
12043  return (__vector __bool short)
12044    __builtin_s390_vfaehs((__vector unsigned short)__a,
12045                          (__vector unsigned short)__b, 4, __cc);
12046}
12047
12048static inline __ATTRS_o_ai __vector __bool short
12049vec_find_any_eq_cc(__vector __bool short __a, __vector __bool short __b,
12050                   int *__cc) {
12051  return (__vector __bool short)
12052    __builtin_s390_vfaehs((__vector unsigned short)__a,
12053                          (__vector unsigned short)__b, 4, __cc);
12054}
12055
12056static inline __ATTRS_o_ai __vector __bool short
12057vec_find_any_eq_cc(__vector unsigned short __a, __vector unsigned short __b,
12058                   int *__cc) {
12059  return (__vector __bool short)__builtin_s390_vfaehs(__a, __b, 4, __cc);
12060}
12061
12062static inline __ATTRS_o_ai __vector __bool int
12063vec_find_any_eq_cc(__vector signed int __a, __vector signed int __b,
12064                   int *__cc) {
12065  return (__vector __bool int)
12066    __builtin_s390_vfaefs((__vector unsigned int)__a,
12067                          (__vector unsigned int)__b, 4, __cc);
12068}
12069
12070static inline __ATTRS_o_ai __vector __bool int
12071vec_find_any_eq_cc(__vector __bool int __a, __vector __bool int __b,
12072                   int *__cc) {
12073  return (__vector __bool int)
12074    __builtin_s390_vfaefs((__vector unsigned int)__a,
12075                          (__vector unsigned int)__b, 4, __cc);
12076}
12077
12078static inline __ATTRS_o_ai __vector __bool int
12079vec_find_any_eq_cc(__vector unsigned int __a, __vector unsigned int __b,
12080                   int *__cc) {
12081  return (__vector __bool int)__builtin_s390_vfaefs(__a, __b, 4, __cc);
12082}
12083
12084/*-- vec_find_any_eq_idx ----------------------------------------------------*/
12085
12086static inline __ATTRS_o_ai __vector signed char
12087vec_find_any_eq_idx(__vector signed char __a, __vector signed char __b) {
12088  return (__vector signed char)
12089    __builtin_s390_vfaeb((__vector unsigned char)__a,
12090                         (__vector unsigned char)__b, 0);
12091}
12092
12093static inline __ATTRS_o_ai __vector unsigned char
12094vec_find_any_eq_idx(__vector __bool char __a, __vector __bool char __b) {
12095  return __builtin_s390_vfaeb((__vector unsigned char)__a,
12096                              (__vector unsigned char)__b, 0);
12097}
12098
12099static inline __ATTRS_o_ai __vector unsigned char
12100vec_find_any_eq_idx(__vector unsigned char __a, __vector unsigned char __b) {
12101  return __builtin_s390_vfaeb(__a, __b, 0);
12102}
12103
12104static inline __ATTRS_o_ai __vector signed short
12105vec_find_any_eq_idx(__vector signed short __a, __vector signed short __b) {
12106  return (__vector signed short)
12107    __builtin_s390_vfaeh((__vector unsigned short)__a,
12108                         (__vector unsigned short)__b, 0);
12109}
12110
12111static inline __ATTRS_o_ai __vector unsigned short
12112vec_find_any_eq_idx(__vector __bool short __a, __vector __bool short __b) {
12113  return __builtin_s390_vfaeh((__vector unsigned short)__a,
12114                              (__vector unsigned short)__b, 0);
12115}
12116
12117static inline __ATTRS_o_ai __vector unsigned short
12118vec_find_any_eq_idx(__vector unsigned short __a, __vector unsigned short __b) {
12119  return __builtin_s390_vfaeh(__a, __b, 0);
12120}
12121
12122static inline __ATTRS_o_ai __vector signed int
12123vec_find_any_eq_idx(__vector signed int __a, __vector signed int __b) {
12124  return (__vector signed int)
12125    __builtin_s390_vfaef((__vector unsigned int)__a,
12126                         (__vector unsigned int)__b, 0);
12127}
12128
12129static inline __ATTRS_o_ai __vector unsigned int
12130vec_find_any_eq_idx(__vector __bool int __a, __vector __bool int __b) {
12131  return __builtin_s390_vfaef((__vector unsigned int)__a,
12132                              (__vector unsigned int)__b, 0);
12133}
12134
12135static inline __ATTRS_o_ai __vector unsigned int
12136vec_find_any_eq_idx(__vector unsigned int __a, __vector unsigned int __b) {
12137  return __builtin_s390_vfaef(__a, __b, 0);
12138}
12139
12140/*-- vec_find_any_eq_idx_cc -------------------------------------------------*/
12141
12142static inline __ATTRS_o_ai __vector signed char
12143vec_find_any_eq_idx_cc(__vector signed char __a,
12144                       __vector signed char __b, int *__cc) {
12145  return (__vector signed char)
12146    __builtin_s390_vfaebs((__vector unsigned char)__a,
12147                          (__vector unsigned char)__b, 0, __cc);
12148}
12149
12150static inline __ATTRS_o_ai __vector unsigned char
12151vec_find_any_eq_idx_cc(__vector __bool char __a,
12152                       __vector __bool char __b, int *__cc) {
12153  return __builtin_s390_vfaebs((__vector unsigned char)__a,
12154                               (__vector unsigned char)__b, 0, __cc);
12155}
12156
12157static inline __ATTRS_o_ai __vector unsigned char
12158vec_find_any_eq_idx_cc(__vector unsigned char __a,
12159                       __vector unsigned char __b, int *__cc) {
12160  return __builtin_s390_vfaebs(__a, __b, 0, __cc);
12161}
12162
12163static inline __ATTRS_o_ai __vector signed short
12164vec_find_any_eq_idx_cc(__vector signed short __a,
12165                       __vector signed short __b, int *__cc) {
12166  return (__vector signed short)
12167    __builtin_s390_vfaehs((__vector unsigned short)__a,
12168                          (__vector unsigned short)__b, 0, __cc);
12169}
12170
12171static inline __ATTRS_o_ai __vector unsigned short
12172vec_find_any_eq_idx_cc(__vector __bool short __a,
12173                       __vector __bool short __b, int *__cc) {
12174  return __builtin_s390_vfaehs((__vector unsigned short)__a,
12175                               (__vector unsigned short)__b, 0, __cc);
12176}
12177
12178static inline __ATTRS_o_ai __vector unsigned short
12179vec_find_any_eq_idx_cc(__vector unsigned short __a,
12180                       __vector unsigned short __b, int *__cc) {
12181  return __builtin_s390_vfaehs(__a, __b, 0, __cc);
12182}
12183
12184static inline __ATTRS_o_ai __vector signed int
12185vec_find_any_eq_idx_cc(__vector signed int __a,
12186                       __vector signed int __b, int *__cc) {
12187  return (__vector signed int)
12188    __builtin_s390_vfaefs((__vector unsigned int)__a,
12189                          (__vector unsigned int)__b, 0, __cc);
12190}
12191
12192static inline __ATTRS_o_ai __vector unsigned int
12193vec_find_any_eq_idx_cc(__vector __bool int __a,
12194                       __vector __bool int __b, int *__cc) {
12195  return __builtin_s390_vfaefs((__vector unsigned int)__a,
12196                               (__vector unsigned int)__b, 0, __cc);
12197}
12198
12199static inline __ATTRS_o_ai __vector unsigned int
12200vec_find_any_eq_idx_cc(__vector unsigned int __a,
12201                       __vector unsigned int __b, int *__cc) {
12202  return __builtin_s390_vfaefs(__a, __b, 0, __cc);
12203}
12204
12205/*-- vec_find_any_eq_or_0_idx -----------------------------------------------*/
12206
12207static inline __ATTRS_o_ai __vector signed char
12208vec_find_any_eq_or_0_idx(__vector signed char __a,
12209                         __vector signed char __b) {
12210  return (__vector signed char)
12211    __builtin_s390_vfaezb((__vector unsigned char)__a,
12212                          (__vector unsigned char)__b, 0);
12213}
12214
12215static inline __ATTRS_o_ai __vector unsigned char
12216vec_find_any_eq_or_0_idx(__vector __bool char __a,
12217                         __vector __bool char __b) {
12218  return __builtin_s390_vfaezb((__vector unsigned char)__a,
12219                               (__vector unsigned char)__b, 0);
12220}
12221
12222static inline __ATTRS_o_ai __vector unsigned char
12223vec_find_any_eq_or_0_idx(__vector unsigned char __a,
12224                         __vector unsigned char __b) {
12225  return __builtin_s390_vfaezb(__a, __b, 0);
12226}
12227
12228static inline __ATTRS_o_ai __vector signed short
12229vec_find_any_eq_or_0_idx(__vector signed short __a,
12230                         __vector signed short __b) {
12231  return (__vector signed short)
12232    __builtin_s390_vfaezh((__vector unsigned short)__a,
12233                          (__vector unsigned short)__b, 0);
12234}
12235
12236static inline __ATTRS_o_ai __vector unsigned short
12237vec_find_any_eq_or_0_idx(__vector __bool short __a,
12238                         __vector __bool short __b) {
12239  return __builtin_s390_vfaezh((__vector unsigned short)__a,
12240                               (__vector unsigned short)__b, 0);
12241}
12242
12243static inline __ATTRS_o_ai __vector unsigned short
12244vec_find_any_eq_or_0_idx(__vector unsigned short __a,
12245                         __vector unsigned short __b) {
12246  return __builtin_s390_vfaezh(__a, __b, 0);
12247}
12248
12249static inline __ATTRS_o_ai __vector signed int
12250vec_find_any_eq_or_0_idx(__vector signed int __a,
12251                         __vector signed int __b) {
12252  return (__vector signed int)
12253    __builtin_s390_vfaezf((__vector unsigned int)__a,
12254                          (__vector unsigned int)__b, 0);
12255}
12256
12257static inline __ATTRS_o_ai __vector unsigned int
12258vec_find_any_eq_or_0_idx(__vector __bool int __a,
12259                         __vector __bool int __b) {
12260  return __builtin_s390_vfaezf((__vector unsigned int)__a,
12261                               (__vector unsigned int)__b, 0);
12262}
12263
12264static inline __ATTRS_o_ai __vector unsigned int
12265vec_find_any_eq_or_0_idx(__vector unsigned int __a,
12266                         __vector unsigned int __b) {
12267  return __builtin_s390_vfaezf(__a, __b, 0);
12268}
12269
12270/*-- vec_find_any_eq_or_0_idx_cc --------------------------------------------*/
12271
12272static inline __ATTRS_o_ai __vector signed char
12273vec_find_any_eq_or_0_idx_cc(__vector signed char __a,
12274                            __vector signed char __b, int *__cc) {
12275  return (__vector signed char)
12276    __builtin_s390_vfaezbs((__vector unsigned char)__a,
12277                           (__vector unsigned char)__b, 0, __cc);
12278}
12279
12280static inline __ATTRS_o_ai __vector unsigned char
12281vec_find_any_eq_or_0_idx_cc(__vector __bool char __a,
12282                            __vector __bool char __b, int *__cc) {
12283  return __builtin_s390_vfaezbs((__vector unsigned char)__a,
12284                                (__vector unsigned char)__b, 0, __cc);
12285}
12286
12287static inline __ATTRS_o_ai __vector unsigned char
12288vec_find_any_eq_or_0_idx_cc(__vector unsigned char __a,
12289                            __vector unsigned char __b, int *__cc) {
12290  return __builtin_s390_vfaezbs(__a, __b, 0, __cc);
12291}
12292
12293static inline __ATTRS_o_ai __vector signed short
12294vec_find_any_eq_or_0_idx_cc(__vector signed short __a,
12295                            __vector signed short __b, int *__cc) {
12296  return (__vector signed short)
12297    __builtin_s390_vfaezhs((__vector unsigned short)__a,
12298                           (__vector unsigned short)__b, 0, __cc);
12299}
12300
12301static inline __ATTRS_o_ai __vector unsigned short
12302vec_find_any_eq_or_0_idx_cc(__vector __bool short __a,
12303                            __vector __bool short __b, int *__cc) {
12304  return __builtin_s390_vfaezhs((__vector unsigned short)__a,
12305                                (__vector unsigned short)__b, 0, __cc);
12306}
12307
12308static inline __ATTRS_o_ai __vector unsigned short
12309vec_find_any_eq_or_0_idx_cc(__vector unsigned short __a,
12310                            __vector unsigned short __b, int *__cc) {
12311  return __builtin_s390_vfaezhs(__a, __b, 0, __cc);
12312}
12313
12314static inline __ATTRS_o_ai __vector signed int
12315vec_find_any_eq_or_0_idx_cc(__vector signed int __a,
12316                            __vector signed int __b, int *__cc) {
12317  return (__vector signed int)
12318    __builtin_s390_vfaezfs((__vector unsigned int)__a,
12319                           (__vector unsigned int)__b, 0, __cc);
12320}
12321
12322static inline __ATTRS_o_ai __vector unsigned int
12323vec_find_any_eq_or_0_idx_cc(__vector __bool int __a,
12324                            __vector __bool int __b, int *__cc) {
12325  return __builtin_s390_vfaezfs((__vector unsigned int)__a,
12326                                (__vector unsigned int)__b, 0, __cc);
12327}
12328
12329static inline __ATTRS_o_ai __vector unsigned int
12330vec_find_any_eq_or_0_idx_cc(__vector unsigned int __a,
12331                            __vector unsigned int __b, int *__cc) {
12332  return __builtin_s390_vfaezfs(__a, __b, 0, __cc);
12333}
12334
12335/*-- vec_find_any_ne --------------------------------------------------------*/
12336
12337static inline __ATTRS_o_ai __vector __bool char
12338vec_find_any_ne(__vector signed char __a, __vector signed char __b) {
12339  return (__vector __bool char)
12340    __builtin_s390_vfaeb((__vector unsigned char)__a,
12341                         (__vector unsigned char)__b, 12);
12342}
12343
12344static inline __ATTRS_o_ai __vector __bool char
12345vec_find_any_ne(__vector __bool char __a, __vector __bool char __b) {
12346  return (__vector __bool char)
12347    __builtin_s390_vfaeb((__vector unsigned char)__a,
12348                         (__vector unsigned char)__b, 12);
12349}
12350
12351static inline __ATTRS_o_ai __vector __bool char
12352vec_find_any_ne(__vector unsigned char __a, __vector unsigned char __b) {
12353  return (__vector __bool char)__builtin_s390_vfaeb(__a, __b, 12);
12354}
12355
12356static inline __ATTRS_o_ai __vector __bool short
12357vec_find_any_ne(__vector signed short __a, __vector signed short __b) {
12358  return (__vector __bool short)
12359    __builtin_s390_vfaeh((__vector unsigned short)__a,
12360                         (__vector unsigned short)__b, 12);
12361}
12362
12363static inline __ATTRS_o_ai __vector __bool short
12364vec_find_any_ne(__vector __bool short __a, __vector __bool short __b) {
12365  return (__vector __bool short)
12366    __builtin_s390_vfaeh((__vector unsigned short)__a,
12367                         (__vector unsigned short)__b, 12);
12368}
12369
12370static inline __ATTRS_o_ai __vector __bool short
12371vec_find_any_ne(__vector unsigned short __a, __vector unsigned short __b) {
12372  return (__vector __bool short)__builtin_s390_vfaeh(__a, __b, 12);
12373}
12374
12375static inline __ATTRS_o_ai __vector __bool int
12376vec_find_any_ne(__vector signed int __a, __vector signed int __b) {
12377  return (__vector __bool int)
12378    __builtin_s390_vfaef((__vector unsigned int)__a,
12379                         (__vector unsigned int)__b, 12);
12380}
12381
12382static inline __ATTRS_o_ai __vector __bool int
12383vec_find_any_ne(__vector __bool int __a, __vector __bool int __b) {
12384  return (__vector __bool int)
12385    __builtin_s390_vfaef((__vector unsigned int)__a,
12386                         (__vector unsigned int)__b, 12);
12387}
12388
12389static inline __ATTRS_o_ai __vector __bool int
12390vec_find_any_ne(__vector unsigned int __a, __vector unsigned int __b) {
12391  return (__vector __bool int)__builtin_s390_vfaef(__a, __b, 12);
12392}
12393
12394/*-- vec_find_any_ne_cc -----------------------------------------------------*/
12395
12396static inline __ATTRS_o_ai __vector __bool char
12397vec_find_any_ne_cc(__vector signed char __a,
12398                   __vector signed char __b, int *__cc) {
12399  return (__vector __bool char)
12400    __builtin_s390_vfaebs((__vector unsigned char)__a,
12401                          (__vector unsigned char)__b, 12, __cc);
12402}
12403
12404static inline __ATTRS_o_ai __vector __bool char
12405vec_find_any_ne_cc(__vector __bool char __a,
12406                   __vector __bool char __b, int *__cc) {
12407  return (__vector __bool char)
12408    __builtin_s390_vfaebs((__vector unsigned char)__a,
12409                          (__vector unsigned char)__b, 12, __cc);
12410}
12411
12412static inline __ATTRS_o_ai __vector __bool char
12413vec_find_any_ne_cc(__vector unsigned char __a,
12414                   __vector unsigned char __b, int *__cc) {
12415  return (__vector __bool char)__builtin_s390_vfaebs(__a, __b, 12, __cc);
12416}
12417
12418static inline __ATTRS_o_ai __vector __bool short
12419vec_find_any_ne_cc(__vector signed short __a,
12420                   __vector signed short __b, int *__cc) {
12421  return (__vector __bool short)
12422    __builtin_s390_vfaehs((__vector unsigned short)__a,
12423                          (__vector unsigned short)__b, 12, __cc);
12424}
12425
12426static inline __ATTRS_o_ai __vector __bool short
12427vec_find_any_ne_cc(__vector __bool short __a,
12428                   __vector __bool short __b, int *__cc) {
12429  return (__vector __bool short)
12430    __builtin_s390_vfaehs((__vector unsigned short)__a,
12431                          (__vector unsigned short)__b, 12, __cc);
12432}
12433
12434static inline __ATTRS_o_ai __vector __bool short
12435vec_find_any_ne_cc(__vector unsigned short __a,
12436                   __vector unsigned short __b, int *__cc) {
12437  return (__vector __bool short)__builtin_s390_vfaehs(__a, __b, 12, __cc);
12438}
12439
12440static inline __ATTRS_o_ai __vector __bool int
12441vec_find_any_ne_cc(__vector signed int __a,
12442                   __vector signed int __b, int *__cc) {
12443  return (__vector __bool int)
12444    __builtin_s390_vfaefs((__vector unsigned int)__a,
12445                          (__vector unsigned int)__b, 12, __cc);
12446}
12447
12448static inline __ATTRS_o_ai __vector __bool int
12449vec_find_any_ne_cc(__vector __bool int __a,
12450                   __vector __bool int __b, int *__cc) {
12451  return (__vector __bool int)
12452    __builtin_s390_vfaefs((__vector unsigned int)__a,
12453                          (__vector unsigned int)__b, 12, __cc);
12454}
12455
12456static inline __ATTRS_o_ai __vector __bool int
12457vec_find_any_ne_cc(__vector unsigned int __a,
12458                   __vector unsigned int __b, int *__cc) {
12459  return (__vector __bool int)__builtin_s390_vfaefs(__a, __b, 12, __cc);
12460}
12461
12462/*-- vec_find_any_ne_idx ----------------------------------------------------*/
12463
12464static inline __ATTRS_o_ai __vector signed char
12465vec_find_any_ne_idx(__vector signed char __a, __vector signed char __b) {
12466  return (__vector signed char)
12467    __builtin_s390_vfaeb((__vector unsigned char)__a,
12468                         (__vector unsigned char)__b, 8);
12469}
12470
12471static inline __ATTRS_o_ai __vector unsigned char
12472vec_find_any_ne_idx(__vector __bool char __a, __vector __bool char __b) {
12473  return __builtin_s390_vfaeb((__vector unsigned char)__a,
12474                              (__vector unsigned char)__b, 8);
12475}
12476
12477static inline __ATTRS_o_ai __vector unsigned char
12478vec_find_any_ne_idx(__vector unsigned char __a, __vector unsigned char __b) {
12479  return __builtin_s390_vfaeb(__a, __b, 8);
12480}
12481
12482static inline __ATTRS_o_ai __vector signed short
12483vec_find_any_ne_idx(__vector signed short __a, __vector signed short __b) {
12484  return (__vector signed short)
12485    __builtin_s390_vfaeh((__vector unsigned short)__a,
12486                         (__vector unsigned short)__b, 8);
12487}
12488
12489static inline __ATTRS_o_ai __vector unsigned short
12490vec_find_any_ne_idx(__vector __bool short __a, __vector __bool short __b) {
12491  return __builtin_s390_vfaeh((__vector unsigned short)__a,
12492                              (__vector unsigned short)__b, 8);
12493}
12494
12495static inline __ATTRS_o_ai __vector unsigned short
12496vec_find_any_ne_idx(__vector unsigned short __a, __vector unsigned short __b) {
12497  return __builtin_s390_vfaeh(__a, __b, 8);
12498}
12499
12500static inline __ATTRS_o_ai __vector signed int
12501vec_find_any_ne_idx(__vector signed int __a, __vector signed int __b) {
12502  return (__vector signed int)
12503    __builtin_s390_vfaef((__vector unsigned int)__a,
12504                         (__vector unsigned int)__b, 8);
12505}
12506
12507static inline __ATTRS_o_ai __vector unsigned int
12508vec_find_any_ne_idx(__vector __bool int __a, __vector __bool int __b) {
12509  return __builtin_s390_vfaef((__vector unsigned int)__a,
12510                              (__vector unsigned int)__b, 8);
12511}
12512
12513static inline __ATTRS_o_ai __vector unsigned int
12514vec_find_any_ne_idx(__vector unsigned int __a, __vector unsigned int __b) {
12515  return __builtin_s390_vfaef(__a, __b, 8);
12516}
12517
12518/*-- vec_find_any_ne_idx_cc -------------------------------------------------*/
12519
12520static inline __ATTRS_o_ai __vector signed char
12521vec_find_any_ne_idx_cc(__vector signed char __a,
12522                       __vector signed char __b, int *__cc) {
12523  return (__vector signed char)
12524    __builtin_s390_vfaebs((__vector unsigned char)__a,
12525                          (__vector unsigned char)__b, 8, __cc);
12526}
12527
12528static inline __ATTRS_o_ai __vector unsigned char
12529vec_find_any_ne_idx_cc(__vector __bool char __a,
12530                       __vector __bool char __b, int *__cc) {
12531  return __builtin_s390_vfaebs((__vector unsigned char)__a,
12532                               (__vector unsigned char)__b, 8, __cc);
12533}
12534
12535static inline __ATTRS_o_ai __vector unsigned char
12536vec_find_any_ne_idx_cc(__vector unsigned char __a,
12537                       __vector unsigned char __b,
12538                       int *__cc) {
12539  return __builtin_s390_vfaebs(__a, __b, 8, __cc);
12540}
12541
12542static inline __ATTRS_o_ai __vector signed short
12543vec_find_any_ne_idx_cc(__vector signed short __a,
12544                       __vector signed short __b, int *__cc) {
12545  return (__vector signed short)
12546    __builtin_s390_vfaehs((__vector unsigned short)__a,
12547                          (__vector unsigned short)__b, 8, __cc);
12548}
12549
12550static inline __ATTRS_o_ai __vector unsigned short
12551vec_find_any_ne_idx_cc(__vector __bool short __a,
12552                       __vector __bool short __b, int *__cc) {
12553  return __builtin_s390_vfaehs((__vector unsigned short)__a,
12554                               (__vector unsigned short)__b, 8, __cc);
12555}
12556
12557static inline __ATTRS_o_ai __vector unsigned short
12558vec_find_any_ne_idx_cc(__vector unsigned short __a,
12559                       __vector unsigned short __b, int *__cc) {
12560  return __builtin_s390_vfaehs(__a, __b, 8, __cc);
12561}
12562
12563static inline __ATTRS_o_ai __vector signed int
12564vec_find_any_ne_idx_cc(__vector signed int __a,
12565                       __vector signed int __b, int *__cc) {
12566  return (__vector signed int)
12567    __builtin_s390_vfaefs((__vector unsigned int)__a,
12568                          (__vector unsigned int)__b, 8, __cc);
12569}
12570
12571static inline __ATTRS_o_ai __vector unsigned int
12572vec_find_any_ne_idx_cc(__vector __bool int __a,
12573                       __vector __bool int __b, int *__cc) {
12574  return __builtin_s390_vfaefs((__vector unsigned int)__a,
12575                               (__vector unsigned int)__b, 8, __cc);
12576}
12577
12578static inline __ATTRS_o_ai __vector unsigned int
12579vec_find_any_ne_idx_cc(__vector unsigned int __a,
12580                       __vector unsigned int __b, int *__cc) {
12581  return __builtin_s390_vfaefs(__a, __b, 8, __cc);
12582}
12583
12584/*-- vec_find_any_ne_or_0_idx -----------------------------------------------*/
12585
12586static inline __ATTRS_o_ai __vector signed char
12587vec_find_any_ne_or_0_idx(__vector signed char __a,
12588                         __vector signed char __b) {
12589  return (__vector signed char)
12590    __builtin_s390_vfaezb((__vector unsigned char)__a,
12591                          (__vector unsigned char)__b, 8);
12592}
12593
12594static inline __ATTRS_o_ai __vector unsigned char
12595vec_find_any_ne_or_0_idx(__vector __bool char __a,
12596                         __vector __bool char __b) {
12597  return __builtin_s390_vfaezb((__vector unsigned char)__a,
12598                               (__vector unsigned char)__b, 8);
12599}
12600
12601static inline __ATTRS_o_ai __vector unsigned char
12602vec_find_any_ne_or_0_idx(__vector unsigned char __a,
12603                         __vector unsigned char __b) {
12604  return __builtin_s390_vfaezb(__a, __b, 8);
12605}
12606
12607static inline __ATTRS_o_ai __vector signed short
12608vec_find_any_ne_or_0_idx(__vector signed short __a,
12609                         __vector signed short __b) {
12610  return (__vector signed short)
12611    __builtin_s390_vfaezh((__vector unsigned short)__a,
12612                          (__vector unsigned short)__b, 8);
12613}
12614
12615static inline __ATTRS_o_ai __vector unsigned short
12616vec_find_any_ne_or_0_idx(__vector __bool short __a,
12617                         __vector __bool short __b) {
12618  return __builtin_s390_vfaezh((__vector unsigned short)__a,
12619                               (__vector unsigned short)__b, 8);
12620}
12621
12622static inline __ATTRS_o_ai __vector unsigned short
12623vec_find_any_ne_or_0_idx(__vector unsigned short __a,
12624                         __vector unsigned short __b) {
12625  return __builtin_s390_vfaezh(__a, __b, 8);
12626}
12627
12628static inline __ATTRS_o_ai __vector signed int
12629vec_find_any_ne_or_0_idx(__vector signed int __a,
12630                         __vector signed int __b) {
12631  return (__vector signed int)
12632    __builtin_s390_vfaezf((__vector unsigned int)__a,
12633                          (__vector unsigned int)__b, 8);
12634}
12635
12636static inline __ATTRS_o_ai __vector unsigned int
12637vec_find_any_ne_or_0_idx(__vector __bool int __a,
12638                         __vector __bool int __b) {
12639  return __builtin_s390_vfaezf((__vector unsigned int)__a,
12640                               (__vector unsigned int)__b, 8);
12641}
12642
12643static inline __ATTRS_o_ai __vector unsigned int
12644vec_find_any_ne_or_0_idx(__vector unsigned int __a,
12645                         __vector unsigned int __b) {
12646  return __builtin_s390_vfaezf(__a, __b, 8);
12647}
12648
12649/*-- vec_find_any_ne_or_0_idx_cc --------------------------------------------*/
12650
12651static inline __ATTRS_o_ai __vector signed char
12652vec_find_any_ne_or_0_idx_cc(__vector signed char __a,
12653                            __vector signed char __b, int *__cc) {
12654  return (__vector signed char)
12655    __builtin_s390_vfaezbs((__vector unsigned char)__a,
12656                           (__vector unsigned char)__b, 8, __cc);
12657}
12658
12659static inline __ATTRS_o_ai __vector unsigned char
12660vec_find_any_ne_or_0_idx_cc(__vector __bool char __a,
12661                            __vector __bool char __b, int *__cc) {
12662  return __builtin_s390_vfaezbs((__vector unsigned char)__a,
12663                                (__vector unsigned char)__b, 8, __cc);
12664}
12665
12666static inline __ATTRS_o_ai __vector unsigned char
12667vec_find_any_ne_or_0_idx_cc(__vector unsigned char __a,
12668                            __vector unsigned char __b, int *__cc) {
12669  return __builtin_s390_vfaezbs(__a, __b, 8, __cc);
12670}
12671
12672static inline __ATTRS_o_ai __vector signed short
12673vec_find_any_ne_or_0_idx_cc(__vector signed short __a,
12674                            __vector signed short __b, int *__cc) {
12675  return (__vector signed short)
12676    __builtin_s390_vfaezhs((__vector unsigned short)__a,
12677                           (__vector unsigned short)__b, 8, __cc);
12678}
12679
12680static inline __ATTRS_o_ai __vector unsigned short
12681vec_find_any_ne_or_0_idx_cc(__vector __bool short __a,
12682                            __vector __bool short __b, int *__cc) {
12683  return __builtin_s390_vfaezhs((__vector unsigned short)__a,
12684                                (__vector unsigned short)__b, 8, __cc);
12685}
12686
12687static inline __ATTRS_o_ai __vector unsigned short
12688vec_find_any_ne_or_0_idx_cc(__vector unsigned short __a,
12689                            __vector unsigned short __b, int *__cc) {
12690  return __builtin_s390_vfaezhs(__a, __b, 8, __cc);
12691}
12692
12693static inline __ATTRS_o_ai __vector signed int
12694vec_find_any_ne_or_0_idx_cc(__vector signed int __a,
12695                            __vector signed int __b, int *__cc) {
12696  return (__vector signed int)
12697    __builtin_s390_vfaezfs((__vector unsigned int)__a,
12698                           (__vector unsigned int)__b, 8, __cc);
12699}
12700
12701static inline __ATTRS_o_ai __vector unsigned int
12702vec_find_any_ne_or_0_idx_cc(__vector __bool int __a,
12703                            __vector __bool int __b, int *__cc) {
12704  return __builtin_s390_vfaezfs((__vector unsigned int)__a,
12705                                (__vector unsigned int)__b, 8, __cc);
12706}
12707
12708static inline __ATTRS_o_ai __vector unsigned int
12709vec_find_any_ne_or_0_idx_cc(__vector unsigned int __a,
12710                            __vector unsigned int __b, int *__cc) {
12711  return __builtin_s390_vfaezfs(__a, __b, 8, __cc);
12712}
12713
12714/*-- vec_search_string_cc ---------------------------------------------------*/
12715
12716#if __ARCH__ >= 13
12717
12718static inline __ATTRS_o_ai __vector unsigned char
12719vec_search_string_cc(__vector signed char __a, __vector signed char __b,
12720                     __vector unsigned char __c, int *__cc) {
12721  return __builtin_s390_vstrsb((__vector unsigned char)__a,
12722                               (__vector unsigned char)__b, __c, __cc);
12723}
12724
12725static inline __ATTRS_o_ai __vector unsigned char
12726vec_search_string_cc(__vector __bool char __a, __vector __bool char __b,
12727                     __vector unsigned char __c, int *__cc) {
12728  return __builtin_s390_vstrsb((__vector unsigned char)__a,
12729                               (__vector unsigned char)__b, __c, __cc);
12730}
12731
12732static inline __ATTRS_o_ai __vector unsigned char
12733vec_search_string_cc(__vector unsigned char __a, __vector unsigned char __b,
12734                     __vector unsigned char __c, int *__cc) {
12735  return __builtin_s390_vstrsb(__a, __b, __c, __cc);
12736}
12737
12738static inline __ATTRS_o_ai __vector unsigned char
12739vec_search_string_cc(__vector signed short __a, __vector signed short __b,
12740                     __vector unsigned char __c, int *__cc) {
12741  return __builtin_s390_vstrsh((__vector unsigned short)__a,
12742                               (__vector unsigned short)__b, __c, __cc);
12743}
12744
12745static inline __ATTRS_o_ai __vector unsigned char
12746vec_search_string_cc(__vector __bool short __a, __vector __bool short __b,
12747                     __vector unsigned char __c, int *__cc) {
12748  return __builtin_s390_vstrsh((__vector unsigned short)__a,
12749                               (__vector unsigned short)__b, __c, __cc);
12750}
12751
12752static inline __ATTRS_o_ai __vector unsigned char
12753vec_search_string_cc(__vector unsigned short __a, __vector unsigned short __b,
12754                     __vector unsigned char __c, int *__cc) {
12755  return __builtin_s390_vstrsh(__a, __b, __c, __cc);
12756}
12757
12758static inline __ATTRS_o_ai __vector unsigned char
12759vec_search_string_cc(__vector signed int __a, __vector signed int __b,
12760                     __vector unsigned char __c, int *__cc) {
12761  return __builtin_s390_vstrsf((__vector unsigned int)__a,
12762                               (__vector unsigned int)__b, __c, __cc);
12763}
12764
12765static inline __ATTRS_o_ai __vector unsigned char
12766vec_search_string_cc(__vector __bool int __a, __vector __bool int __b,
12767                     __vector unsigned char __c, int *__cc) {
12768  return __builtin_s390_vstrsf((__vector unsigned int)__a,
12769                               (__vector unsigned int)__b, __c, __cc);
12770}
12771
12772static inline __ATTRS_o_ai __vector unsigned char
12773vec_search_string_cc(__vector unsigned int __a, __vector unsigned int __b,
12774                     __vector unsigned char __c, int *__cc) {
12775  return __builtin_s390_vstrsf(__a, __b, __c, __cc);
12776}
12777
12778#endif
12779
12780/*-- vec_search_string_until_zero_cc ----------------------------------------*/
12781
12782#if __ARCH__ >= 13
12783
12784static inline __ATTRS_o_ai __vector unsigned char
12785vec_search_string_until_zero_cc(__vector signed char __a,
12786                                __vector signed char __b,
12787                                __vector unsigned char __c, int *__cc) {
12788  return __builtin_s390_vstrszb((__vector unsigned char)__a,
12789                                (__vector unsigned char)__b, __c, __cc);
12790}
12791
12792static inline __ATTRS_o_ai __vector unsigned char
12793vec_search_string_until_zero_cc(__vector __bool char __a,
12794                                __vector __bool char __b,
12795                                __vector unsigned char __c, int *__cc) {
12796  return __builtin_s390_vstrszb((__vector unsigned char)__a,
12797                                (__vector unsigned char)__b, __c, __cc);
12798}
12799
12800static inline __ATTRS_o_ai __vector unsigned char
12801vec_search_string_until_zero_cc(__vector unsigned char __a,
12802                                __vector unsigned char __b,
12803                                __vector unsigned char __c, int *__cc) {
12804  return __builtin_s390_vstrszb(__a, __b, __c, __cc);
12805}
12806
12807static inline __ATTRS_o_ai __vector unsigned char
12808vec_search_string_until_zero_cc(__vector signed short __a,
12809                                __vector signed short __b,
12810                                __vector unsigned char __c, int *__cc) {
12811  return __builtin_s390_vstrszh((__vector unsigned short)__a,
12812                                (__vector unsigned short)__b, __c, __cc);
12813}
12814
12815static inline __ATTRS_o_ai __vector unsigned char
12816vec_search_string_until_zero_cc(__vector __bool short __a,
12817                                __vector __bool short __b,
12818                                __vector unsigned char __c, int *__cc) {
12819  return __builtin_s390_vstrszh((__vector unsigned short)__a,
12820                                (__vector unsigned short)__b, __c, __cc);
12821}
12822
12823static inline __ATTRS_o_ai __vector unsigned char
12824vec_search_string_until_zero_cc(__vector unsigned short __a,
12825                                __vector unsigned short __b,
12826                                __vector unsigned char __c, int *__cc) {
12827  return __builtin_s390_vstrszh(__a, __b, __c, __cc);
12828}
12829
12830static inline __ATTRS_o_ai __vector unsigned char
12831vec_search_string_until_zero_cc(__vector signed int __a,
12832                                __vector signed int __b,
12833                                __vector unsigned char __c, int *__cc) {
12834  return __builtin_s390_vstrszf((__vector unsigned int)__a,
12835                                (__vector unsigned int)__b, __c, __cc);
12836}
12837
12838static inline __ATTRS_o_ai __vector unsigned char
12839vec_search_string_until_zero_cc(__vector __bool int __a,
12840                                __vector __bool int __b,
12841                                __vector unsigned char __c, int *__cc) {
12842  return __builtin_s390_vstrszf((__vector unsigned int)__a,
12843                                (__vector unsigned int)__b, __c, __cc);
12844}
12845
12846static inline __ATTRS_o_ai __vector unsigned char
12847vec_search_string_until_zero_cc(__vector unsigned int __a,
12848                                __vector unsigned int __b,
12849                                __vector unsigned char __c, int *__cc) {
12850  return __builtin_s390_vstrszf(__a, __b, __c, __cc);
12851}
12852
12853#endif
12854
12855#undef __constant_pow2_range
12856#undef __constant_range
12857#undef __constant
12858#undef __ATTRS_o
12859#undef __ATTRS_o_ai
12860#undef __ATTRS_ai
12861
12862#else
12863
12864#error "Use -fzvector to enable vector extensions"
12865
12866#endif
12867
12868#endif /* _VECINTRIN_H */