zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

vecintrin.h (429223B) - Raw


      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 #if defined(__s390x__) && defined(__VEC__)
     11 
     12 #define __ATTRS_ai __attribute__((__always_inline__))
     13 #define __ATTRS_o __attribute__((__overloadable__))
     14 #define __ATTRS_o_ai __attribute__((__overloadable__, __always_inline__))
     15 
     16 #define __constant(PARM) \
     17   __attribute__((__enable_if__ ((PARM) == (PARM), \
     18      "argument must be a constant integer")))
     19 #define __constant_range(PARM, LOW, HIGH) \
     20   __attribute__((__enable_if__ ((PARM) >= (LOW) && (PARM) <= (HIGH), \
     21      "argument must be a constant integer from " #LOW " to " #HIGH)))
     22 #define __constant_pow2_range(PARM, LOW, HIGH) \
     23   __attribute__((__enable_if__ ((PARM) >= (LOW) && (PARM) <= (HIGH) && \
     24                                 ((PARM) & ((PARM) - 1)) == 0, \
     25      "argument must be a constant power of 2 from " #LOW " to " #HIGH)))
     26 
     27 /*-- __lcbb -----------------------------------------------------------------*/
     28 
     29 extern __ATTRS_o unsigned int
     30 __lcbb(const void *__ptr, unsigned short __len)
     31   __constant_pow2_range(__len, 64, 4096);
     32 
     33 #define __lcbb(X, Y) ((__typeof__((__lcbb)((X), (Y)))) \
     34   __builtin_s390_lcbb((X), __builtin_constant_p((Y))? \
     35                            ((Y) == 64 ? 0 : \
     36                             (Y) == 128 ? 1 : \
     37                             (Y) == 256 ? 2 : \
     38                             (Y) == 512 ? 3 : \
     39                             (Y) == 1024 ? 4 : \
     40                             (Y) == 2048 ? 5 : \
     41                             (Y) == 4096 ? 6 : 0) : 0))
     42 
     43 /*-- vec_extract ------------------------------------------------------------*/
     44 
     45 static inline __ATTRS_o_ai signed char
     46 vec_extract(__vector signed char __vec, int __index) {
     47   return __vec[__index & 15];
     48 }
     49 
     50 static inline __ATTRS_o_ai unsigned char
     51 vec_extract(__vector __bool char __vec, int __index) {
     52   return __vec[__index & 15];
     53 }
     54 
     55 static inline __ATTRS_o_ai unsigned char
     56 vec_extract(__vector unsigned char __vec, int __index) {
     57   return __vec[__index & 15];
     58 }
     59 
     60 static inline __ATTRS_o_ai signed short
     61 vec_extract(__vector signed short __vec, int __index) {
     62   return __vec[__index & 7];
     63 }
     64 
     65 static inline __ATTRS_o_ai unsigned short
     66 vec_extract(__vector __bool short __vec, int __index) {
     67   return __vec[__index & 7];
     68 }
     69 
     70 static inline __ATTRS_o_ai unsigned short
     71 vec_extract(__vector unsigned short __vec, int __index) {
     72   return __vec[__index & 7];
     73 }
     74 
     75 static inline __ATTRS_o_ai signed int
     76 vec_extract(__vector signed int __vec, int __index) {
     77   return __vec[__index & 3];
     78 }
     79 
     80 static inline __ATTRS_o_ai unsigned int
     81 vec_extract(__vector __bool int __vec, int __index) {
     82   return __vec[__index & 3];
     83 }
     84 
     85 static inline __ATTRS_o_ai unsigned int
     86 vec_extract(__vector unsigned int __vec, int __index) {
     87   return __vec[__index & 3];
     88 }
     89 
     90 static inline __ATTRS_o_ai signed long long
     91 vec_extract(__vector signed long long __vec, int __index) {
     92   return __vec[__index & 1];
     93 }
     94 
     95 static inline __ATTRS_o_ai unsigned long long
     96 vec_extract(__vector __bool long long __vec, int __index) {
     97   return __vec[__index & 1];
     98 }
     99 
    100 static inline __ATTRS_o_ai unsigned long long
    101 vec_extract(__vector unsigned long long __vec, int __index) {
    102   return __vec[__index & 1];
    103 }
    104 
    105 #if __ARCH__ >= 12
    106 static inline __ATTRS_o_ai float
    107 vec_extract(__vector float __vec, int __index) {
    108   return __vec[__index & 3];
    109 }
    110 #endif
    111 
    112 static inline __ATTRS_o_ai double
    113 vec_extract(__vector double __vec, int __index) {
    114   return __vec[__index & 1];
    115 }
    116 
    117 /*-- vec_insert -------------------------------------------------------------*/
    118 
    119 static inline __ATTRS_o_ai __vector signed char
    120 vec_insert(signed char __scalar, __vector signed char __vec, int __index) {
    121   __vec[__index & 15] = __scalar;
    122   return __vec;
    123 }
    124 
    125 // This prototype is deprecated.
    126 static inline __ATTRS_o_ai __vector unsigned char
    127 vec_insert(unsigned char __scalar, __vector __bool char __vec, int __index) {
    128   __vector unsigned char __newvec = (__vector unsigned char)__vec;
    129   __newvec[__index & 15] = (unsigned char)__scalar;
    130   return __newvec;
    131 }
    132 
    133 static inline __ATTRS_o_ai __vector unsigned char
    134 vec_insert(unsigned char __scalar, __vector unsigned char __vec, int __index) {
    135   __vec[__index & 15] = __scalar;
    136   return __vec;
    137 }
    138 
    139 static inline __ATTRS_o_ai __vector signed short
    140 vec_insert(signed short __scalar, __vector signed short __vec, int __index) {
    141   __vec[__index & 7] = __scalar;
    142   return __vec;
    143 }
    144 
    145 // This prototype is deprecated.
    146 static inline __ATTRS_o_ai __vector unsigned short
    147 vec_insert(unsigned short __scalar, __vector __bool short __vec,
    148            int __index) {
    149   __vector unsigned short __newvec = (__vector unsigned short)__vec;
    150   __newvec[__index & 7] = (unsigned short)__scalar;
    151   return __newvec;
    152 }
    153 
    154 static inline __ATTRS_o_ai __vector unsigned short
    155 vec_insert(unsigned short __scalar, __vector unsigned short __vec,
    156            int __index) {
    157   __vec[__index & 7] = __scalar;
    158   return __vec;
    159 }
    160 
    161 static inline __ATTRS_o_ai __vector signed int
    162 vec_insert(signed int __scalar, __vector signed int __vec, int __index) {
    163   __vec[__index & 3] = __scalar;
    164   return __vec;
    165 }
    166 
    167 // This prototype is deprecated.
    168 static inline __ATTRS_o_ai __vector unsigned int
    169 vec_insert(unsigned int __scalar, __vector __bool int __vec, int __index) {
    170   __vector unsigned int __newvec = (__vector unsigned int)__vec;
    171   __newvec[__index & 3] = __scalar;
    172   return __newvec;
    173 }
    174 
    175 static inline __ATTRS_o_ai __vector unsigned int
    176 vec_insert(unsigned int __scalar, __vector unsigned int __vec, int __index) {
    177   __vec[__index & 3] = __scalar;
    178   return __vec;
    179 }
    180 
    181 static inline __ATTRS_o_ai __vector signed long long
    182 vec_insert(signed long long __scalar, __vector signed long long __vec,
    183            int __index) {
    184   __vec[__index & 1] = __scalar;
    185   return __vec;
    186 }
    187 
    188 // This prototype is deprecated.
    189 static inline __ATTRS_o_ai __vector unsigned long long
    190 vec_insert(unsigned long long __scalar, __vector __bool long long __vec,
    191            int __index) {
    192   __vector unsigned long long __newvec = (__vector unsigned long long)__vec;
    193   __newvec[__index & 1] = __scalar;
    194   return __newvec;
    195 }
    196 
    197 static inline __ATTRS_o_ai __vector unsigned long long
    198 vec_insert(unsigned long long __scalar, __vector unsigned long long __vec,
    199            int __index) {
    200   __vec[__index & 1] = __scalar;
    201   return __vec;
    202 }
    203 
    204 #if __ARCH__ >= 12
    205 static inline __ATTRS_o_ai __vector float
    206 vec_insert(float __scalar, __vector float __vec, int __index) {
    207   __vec[__index & 1] = __scalar;
    208   return __vec;
    209 }
    210 #endif
    211 
    212 static inline __ATTRS_o_ai __vector double
    213 vec_insert(double __scalar, __vector double __vec, int __index) {
    214   __vec[__index & 1] = __scalar;
    215   return __vec;
    216 }
    217 
    218 /*-- vec_promote ------------------------------------------------------------*/
    219 
    220 static inline __ATTRS_o_ai __vector signed char
    221 vec_promote(signed char __scalar, int __index) {
    222   const __vector signed char __zero = (__vector signed char)0;
    223   __vector signed char __vec = __builtin_shufflevector(__zero, __zero,
    224     -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1);
    225   __vec[__index & 15] = __scalar;
    226   return __vec;
    227 }
    228 
    229 static inline __ATTRS_o_ai __vector unsigned char
    230 vec_promote(unsigned char __scalar, int __index) {
    231   const __vector unsigned char __zero = (__vector unsigned char)0;
    232   __vector unsigned char __vec = __builtin_shufflevector(__zero, __zero,
    233     -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1);
    234   __vec[__index & 15] = __scalar;
    235   return __vec;
    236 }
    237 
    238 static inline __ATTRS_o_ai __vector signed short
    239 vec_promote(signed short __scalar, int __index) {
    240   const __vector signed short __zero = (__vector signed short)0;
    241   __vector signed short __vec = __builtin_shufflevector(__zero, __zero,
    242                                 -1, -1, -1, -1, -1, -1, -1, -1);
    243   __vec[__index & 7] = __scalar;
    244   return __vec;
    245 }
    246 
    247 static inline __ATTRS_o_ai __vector unsigned short
    248 vec_promote(unsigned short __scalar, int __index) {
    249   const __vector unsigned short __zero = (__vector unsigned short)0;
    250   __vector unsigned short __vec = __builtin_shufflevector(__zero, __zero,
    251                                   -1, -1, -1, -1, -1, -1, -1, -1);
    252   __vec[__index & 7] = __scalar;
    253   return __vec;
    254 }
    255 
    256 static inline __ATTRS_o_ai __vector signed int
    257 vec_promote(signed int __scalar, int __index) {
    258   const __vector signed int __zero = (__vector signed int)0;
    259   __vector signed int __vec = __builtin_shufflevector(__zero, __zero,
    260                                                       -1, -1, -1, -1);
    261   __vec[__index & 3] = __scalar;
    262   return __vec;
    263 }
    264 
    265 static inline __ATTRS_o_ai __vector unsigned int
    266 vec_promote(unsigned int __scalar, int __index) {
    267   const __vector unsigned int __zero = (__vector unsigned int)0;
    268   __vector unsigned int __vec = __builtin_shufflevector(__zero, __zero,
    269                                                         -1, -1, -1, -1);
    270   __vec[__index & 3] = __scalar;
    271   return __vec;
    272 }
    273 
    274 static inline __ATTRS_o_ai __vector signed long long
    275 vec_promote(signed long long __scalar, int __index) {
    276   const __vector signed long long __zero = (__vector signed long long)0;
    277   __vector signed long long __vec = __builtin_shufflevector(__zero, __zero,
    278                                                             -1, -1);
    279   __vec[__index & 1] = __scalar;
    280   return __vec;
    281 }
    282 
    283 static inline __ATTRS_o_ai __vector unsigned long long
    284 vec_promote(unsigned long long __scalar, int __index) {
    285   const __vector unsigned long long __zero = (__vector unsigned long long)0;
    286   __vector unsigned long long __vec = __builtin_shufflevector(__zero, __zero,
    287                                                               -1, -1);
    288   __vec[__index & 1] = __scalar;
    289   return __vec;
    290 }
    291 
    292 #if __ARCH__ >= 12
    293 static inline __ATTRS_o_ai __vector float
    294 vec_promote(float __scalar, int __index) {
    295   const __vector float __zero = (__vector float)0.0f;
    296   __vector float __vec = __builtin_shufflevector(__zero, __zero,
    297                                                  -1, -1, -1, -1);
    298   __vec[__index & 3] = __scalar;
    299   return __vec;
    300 }
    301 #endif
    302 
    303 static inline __ATTRS_o_ai __vector double
    304 vec_promote(double __scalar, int __index) {
    305   const __vector double __zero = (__vector double)0.0;
    306   __vector double __vec = __builtin_shufflevector(__zero, __zero, -1, -1);
    307   __vec[__index & 1] = __scalar;
    308   return __vec;
    309 }
    310 
    311 /*-- vec_insert_and_zero ----------------------------------------------------*/
    312 
    313 static inline __ATTRS_o_ai __vector signed char
    314 vec_insert_and_zero(const signed char *__ptr) {
    315   __vector signed char __vec = (__vector signed char)0;
    316   __vec[7] = *__ptr;
    317   return __vec;
    318 }
    319 
    320 static inline __ATTRS_o_ai __vector unsigned char
    321 vec_insert_and_zero(const unsigned char *__ptr) {
    322   __vector unsigned char __vec = (__vector unsigned char)0;
    323   __vec[7] = *__ptr;
    324   return __vec;
    325 }
    326 
    327 static inline __ATTRS_o_ai __vector signed short
    328 vec_insert_and_zero(const signed short *__ptr) {
    329   __vector signed short __vec = (__vector signed short)0;
    330   __vec[3] = *__ptr;
    331   return __vec;
    332 }
    333 
    334 static inline __ATTRS_o_ai __vector unsigned short
    335 vec_insert_and_zero(const unsigned short *__ptr) {
    336   __vector unsigned short __vec = (__vector unsigned short)0;
    337   __vec[3] = *__ptr;
    338   return __vec;
    339 }
    340 
    341 static inline __ATTRS_o_ai __vector signed int
    342 vec_insert_and_zero(const signed int *__ptr) {
    343   __vector signed int __vec = (__vector signed int)0;
    344   __vec[1] = *__ptr;
    345   return __vec;
    346 }
    347 
    348 static inline __ATTRS_o_ai __vector unsigned int
    349 vec_insert_and_zero(const unsigned int *__ptr) {
    350   __vector unsigned int __vec = (__vector unsigned int)0;
    351   __vec[1] = *__ptr;
    352   return __vec;
    353 }
    354 
    355 static inline __ATTRS_o_ai __vector signed long long
    356 vec_insert_and_zero(const signed long long *__ptr) {
    357   __vector signed long long __vec = (__vector signed long long)0;
    358   __vec[0] = *__ptr;
    359   return __vec;
    360 }
    361 
    362 static inline __ATTRS_o_ai __vector unsigned long long
    363 vec_insert_and_zero(const unsigned long long *__ptr) {
    364   __vector unsigned long long __vec = (__vector unsigned long long)0;
    365   __vec[0] = *__ptr;
    366   return __vec;
    367 }
    368 
    369 #if __ARCH__ >= 12
    370 static inline __ATTRS_o_ai __vector float
    371 vec_insert_and_zero(const float *__ptr) {
    372   __vector float __vec = (__vector float)0.0f;
    373   __vec[1] = *__ptr;
    374   return __vec;
    375 }
    376 #endif
    377 
    378 static inline __ATTRS_o_ai __vector double
    379 vec_insert_and_zero(const double *__ptr) {
    380   __vector double __vec = (__vector double)0.0;
    381   __vec[0] = *__ptr;
    382   return __vec;
    383 }
    384 
    385 /*-- vec_perm ---------------------------------------------------------------*/
    386 
    387 static inline __ATTRS_o_ai __vector signed char
    388 vec_perm(__vector signed char __a, __vector signed char __b,
    389          __vector unsigned char __c) {
    390   return (__vector signed char)__builtin_s390_vperm(
    391            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    392 }
    393 
    394 static inline __ATTRS_o_ai __vector unsigned char
    395 vec_perm(__vector unsigned char __a, __vector unsigned char __b,
    396          __vector unsigned char __c) {
    397   return (__vector unsigned char)__builtin_s390_vperm(
    398            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    399 }
    400 
    401 static inline __ATTRS_o_ai __vector __bool char
    402 vec_perm(__vector __bool char __a, __vector __bool char __b,
    403          __vector unsigned char __c) {
    404   return (__vector __bool char)__builtin_s390_vperm(
    405            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    406 }
    407 
    408 static inline __ATTRS_o_ai __vector signed short
    409 vec_perm(__vector signed short __a, __vector signed short __b,
    410          __vector unsigned char __c) {
    411   return (__vector signed short)__builtin_s390_vperm(
    412            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    413 }
    414 
    415 static inline __ATTRS_o_ai __vector unsigned short
    416 vec_perm(__vector unsigned short __a, __vector unsigned short __b,
    417          __vector unsigned char __c) {
    418   return (__vector unsigned short)__builtin_s390_vperm(
    419            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    420 }
    421 
    422 static inline __ATTRS_o_ai __vector __bool short
    423 vec_perm(__vector __bool short __a, __vector __bool short __b,
    424          __vector unsigned char __c) {
    425   return (__vector __bool short)__builtin_s390_vperm(
    426            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    427 }
    428 
    429 static inline __ATTRS_o_ai __vector signed int
    430 vec_perm(__vector signed int __a, __vector signed int __b,
    431          __vector unsigned char __c) {
    432   return (__vector signed int)__builtin_s390_vperm(
    433            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    434 }
    435 
    436 static inline __ATTRS_o_ai __vector unsigned int
    437 vec_perm(__vector unsigned int __a, __vector unsigned int __b,
    438          __vector unsigned char __c) {
    439   return (__vector unsigned int)__builtin_s390_vperm(
    440            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    441 }
    442 
    443 static inline __ATTRS_o_ai __vector __bool int
    444 vec_perm(__vector __bool int __a, __vector __bool int __b,
    445          __vector unsigned char __c) {
    446   return (__vector __bool int)__builtin_s390_vperm(
    447            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    448 }
    449 
    450 static inline __ATTRS_o_ai __vector signed long long
    451 vec_perm(__vector signed long long __a, __vector signed long long __b,
    452          __vector unsigned char __c) {
    453   return (__vector signed long long)__builtin_s390_vperm(
    454            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    455 }
    456 
    457 static inline __ATTRS_o_ai __vector unsigned long long
    458 vec_perm(__vector unsigned long long __a, __vector unsigned long long __b,
    459          __vector unsigned char __c) {
    460   return (__vector unsigned long long)__builtin_s390_vperm(
    461            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    462 }
    463 
    464 static inline __ATTRS_o_ai __vector __bool long long
    465 vec_perm(__vector __bool long long __a, __vector __bool long long __b,
    466          __vector unsigned char __c) {
    467   return (__vector __bool long long)__builtin_s390_vperm(
    468            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    469 }
    470 
    471 static inline __ATTRS_o_ai __vector signed __int128
    472 vec_perm(__vector signed __int128 __a, __vector signed __int128 __b,
    473          __vector unsigned char __c) {
    474   return (__vector signed __int128)__builtin_s390_vperm(
    475            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    476 }
    477 
    478 static inline __ATTRS_o_ai __vector unsigned __int128
    479 vec_perm(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
    480          __vector unsigned char __c) {
    481   return (__vector unsigned __int128)__builtin_s390_vperm(
    482            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    483 }
    484 
    485 static inline __ATTRS_o_ai __vector __bool __int128
    486 vec_perm(__vector __bool __int128 __a, __vector __bool __int128 __b,
    487          __vector unsigned char __c) {
    488   return (__vector __bool __int128)__builtin_s390_vperm(
    489            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    490 }
    491 
    492 #if __ARCH__ >= 12
    493 static inline __ATTRS_o_ai __vector float
    494 vec_perm(__vector float __a, __vector float __b,
    495          __vector unsigned char __c) {
    496   return (__vector float)__builtin_s390_vperm(
    497            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    498 }
    499 #endif
    500 
    501 static inline __ATTRS_o_ai __vector double
    502 vec_perm(__vector double __a, __vector double __b,
    503          __vector unsigned char __c) {
    504   return (__vector double)__builtin_s390_vperm(
    505            (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
    506 }
    507 
    508 /*-- vec_permi --------------------------------------------------------------*/
    509 
    510 // This prototype is deprecated.
    511 extern __ATTRS_o __vector signed long long
    512 vec_permi(__vector signed long long __a, __vector signed long long __b,
    513           int __c)
    514   __constant_range(__c, 0, 3);
    515 
    516 // This prototype is deprecated.
    517 extern __ATTRS_o __vector unsigned long long
    518 vec_permi(__vector unsigned long long __a, __vector unsigned long long __b,
    519           int __c)
    520   __constant_range(__c, 0, 3);
    521 
    522 // This prototype is deprecated.
    523 extern __ATTRS_o __vector __bool long long
    524 vec_permi(__vector __bool long long __a, __vector __bool long long __b,
    525           int __c)
    526   __constant_range(__c, 0, 3);
    527 
    528 // This prototype is deprecated.
    529 extern __ATTRS_o __vector double
    530 vec_permi(__vector double __a, __vector double __b, int __c)
    531   __constant_range(__c, 0, 3);
    532 
    533 #define vec_permi(X, Y, Z) ((__typeof__((vec_permi)((X), (Y), (Z)))) \
    534   __builtin_s390_vpdi((__vector unsigned long long)(X), \
    535                       (__vector unsigned long long)(Y), \
    536                       (((Z) & 2) << 1) | ((Z) & 1)))
    537 
    538 /*-- vec_bperm --------------------------------------------------------------*/
    539 
    540 #if __ARCH__ >= 12
    541 static inline __ATTRS_ai __vector unsigned long long
    542 vec_bperm(__vector unsigned __int128 __a, __vector unsigned char __b) {
    543   return __builtin_s390_vbperm((__vector unsigned char)__a, __b);
    544 }
    545 #endif
    546 
    547 /*-- vec_bperm_u128 ---------------------------------------------------------*/
    548 
    549 #if __ARCH__ >= 12
    550 // This prototype is deprecated.
    551 static inline __ATTRS_ai __vector unsigned long long
    552 vec_bperm_u128(__vector unsigned char __a, __vector unsigned char __b) {
    553   return __builtin_s390_vbperm(__a, __b);
    554 }
    555 #endif
    556 
    557 /*-- vec_revb ---------------------------------------------------------------*/
    558 
    559 static inline __ATTRS_o_ai __vector signed short
    560 vec_revb(__vector signed short __vec) {
    561   return (__vector signed short)
    562          __builtin_s390_vlbrh((__vector unsigned short)__vec);
    563 }
    564 
    565 static inline __ATTRS_o_ai __vector unsigned short
    566 vec_revb(__vector unsigned short __vec) {
    567   return __builtin_s390_vlbrh(__vec);
    568 }
    569 
    570 static inline __ATTRS_o_ai __vector signed int
    571 vec_revb(__vector signed int __vec) {
    572   return (__vector signed int)
    573          __builtin_s390_vlbrf((__vector unsigned int)__vec);
    574 }
    575 
    576 static inline __ATTRS_o_ai __vector unsigned int
    577 vec_revb(__vector unsigned int __vec) {
    578   return __builtin_s390_vlbrf(__vec);
    579 }
    580 
    581 static inline __ATTRS_o_ai __vector signed long long
    582 vec_revb(__vector signed long long __vec) {
    583   return (__vector signed long long)
    584          __builtin_s390_vlbrg((__vector unsigned long long)__vec);
    585 }
    586 
    587 static inline __ATTRS_o_ai __vector unsigned long long
    588 vec_revb(__vector unsigned long long __vec) {
    589   return __builtin_s390_vlbrg(__vec);
    590 }
    591 
    592 static inline __ATTRS_o_ai __vector signed __int128
    593 vec_revb(__vector signed __int128 __vec) {
    594   return (__vector signed __int128)
    595          __builtin_s390_vlbrq((unsigned __int128)__vec);
    596 }
    597 
    598 static inline __ATTRS_o_ai __vector unsigned __int128
    599 vec_revb(__vector unsigned __int128 __vec) {
    600   return (__vector unsigned __int128)
    601          __builtin_s390_vlbrq((unsigned __int128)__vec);
    602 }
    603 
    604 #if __ARCH__ >= 12
    605 static inline __ATTRS_o_ai __vector float
    606 vec_revb(__vector float __vec) {
    607   return (__vector float)
    608          __builtin_s390_vlbrf((__vector unsigned int)__vec);
    609 }
    610 #endif
    611 
    612 static inline __ATTRS_o_ai __vector double
    613 vec_revb(__vector double __vec) {
    614   return (__vector double)
    615          __builtin_s390_vlbrg((__vector unsigned long long)__vec);
    616 }
    617 
    618 /*-- vec_reve ---------------------------------------------------------------*/
    619 
    620 static inline __ATTRS_o_ai __vector signed char
    621 vec_reve(__vector signed char __vec) {
    622   return (__vector signed char) { __vec[15], __vec[14], __vec[13], __vec[12],
    623                                   __vec[11], __vec[10], __vec[9], __vec[8],
    624                                   __vec[7], __vec[6], __vec[5], __vec[4],
    625                                   __vec[3], __vec[2], __vec[1], __vec[0] };
    626 }
    627 
    628 static inline __ATTRS_o_ai __vector unsigned char
    629 vec_reve(__vector unsigned char __vec) {
    630   return (__vector unsigned char) { __vec[15], __vec[14], __vec[13], __vec[12],
    631                                     __vec[11], __vec[10], __vec[9], __vec[8],
    632                                     __vec[7], __vec[6], __vec[5], __vec[4],
    633                                     __vec[3], __vec[2], __vec[1], __vec[0] };
    634 }
    635 
    636 static inline __ATTRS_o_ai __vector __bool char
    637 vec_reve(__vector __bool char __vec) {
    638   return (__vector __bool char) { __vec[15], __vec[14], __vec[13], __vec[12],
    639                                   __vec[11], __vec[10], __vec[9], __vec[8],
    640                                   __vec[7], __vec[6], __vec[5], __vec[4],
    641                                   __vec[3], __vec[2], __vec[1], __vec[0] };
    642 }
    643 
    644 static inline __ATTRS_o_ai __vector signed short
    645 vec_reve(__vector signed short __vec) {
    646   return (__vector signed short) { __vec[7], __vec[6], __vec[5], __vec[4],
    647                                    __vec[3], __vec[2], __vec[1], __vec[0] };
    648 }
    649 
    650 static inline __ATTRS_o_ai __vector unsigned short
    651 vec_reve(__vector unsigned short __vec) {
    652   return (__vector unsigned short) { __vec[7], __vec[6], __vec[5], __vec[4],
    653                                      __vec[3], __vec[2], __vec[1], __vec[0] };
    654 }
    655 
    656 static inline __ATTRS_o_ai __vector __bool short
    657 vec_reve(__vector __bool short __vec) {
    658   return (__vector __bool short) { __vec[7], __vec[6], __vec[5], __vec[4],
    659                                    __vec[3], __vec[2], __vec[1], __vec[0] };
    660 }
    661 
    662 static inline __ATTRS_o_ai __vector signed int
    663 vec_reve(__vector signed int __vec) {
    664   return (__vector signed int) { __vec[3], __vec[2], __vec[1], __vec[0] };
    665 }
    666 
    667 static inline __ATTRS_o_ai __vector unsigned int
    668 vec_reve(__vector unsigned int __vec) {
    669   return (__vector unsigned int) { __vec[3], __vec[2], __vec[1], __vec[0] };
    670 }
    671 
    672 static inline __ATTRS_o_ai __vector __bool int
    673 vec_reve(__vector __bool int __vec) {
    674   return (__vector __bool int) { __vec[3], __vec[2], __vec[1], __vec[0] };
    675 }
    676 
    677 static inline __ATTRS_o_ai __vector signed long long
    678 vec_reve(__vector signed long long __vec) {
    679   return (__vector signed long long) { __vec[1], __vec[0] };
    680 }
    681 
    682 static inline __ATTRS_o_ai __vector unsigned long long
    683 vec_reve(__vector unsigned long long __vec) {
    684   return (__vector unsigned long long) { __vec[1], __vec[0] };
    685 }
    686 
    687 static inline __ATTRS_o_ai __vector __bool long long
    688 vec_reve(__vector __bool long long __vec) {
    689   return (__vector __bool long long) { __vec[1], __vec[0] };
    690 }
    691 
    692 #if __ARCH__ >= 12
    693 static inline __ATTRS_o_ai __vector float
    694 vec_reve(__vector float __vec) {
    695   return (__vector float) { __vec[3], __vec[2], __vec[1], __vec[0] };
    696 }
    697 #endif
    698 
    699 static inline __ATTRS_o_ai __vector double
    700 vec_reve(__vector double __vec) {
    701   return (__vector double) { __vec[1], __vec[0] };
    702 }
    703 
    704 /*-- vec_sel ----------------------------------------------------------------*/
    705 
    706 static inline __ATTRS_o_ai __vector signed char
    707 vec_sel(__vector signed char __a, __vector signed char __b,
    708         __vector unsigned char __c) {
    709   return (((__vector signed char)__c & __b) |
    710           (~(__vector signed char)__c & __a));
    711 }
    712 
    713 static inline __ATTRS_o_ai __vector signed char
    714 vec_sel(__vector signed char __a, __vector signed char __b,
    715         __vector __bool char __c) {
    716   return (((__vector signed char)__c & __b) |
    717           (~(__vector signed char)__c & __a));
    718 }
    719 
    720 static inline __ATTRS_o_ai __vector __bool char
    721 vec_sel(__vector __bool char __a, __vector __bool char __b,
    722         __vector unsigned char __c) {
    723   return (((__vector __bool char)__c & __b) |
    724           (~(__vector __bool char)__c & __a));
    725 }
    726 
    727 static inline __ATTRS_o_ai __vector __bool char
    728 vec_sel(__vector __bool char __a, __vector __bool char __b,
    729         __vector __bool char __c) {
    730   return (__c & __b) | (~__c & __a);
    731 }
    732 
    733 static inline __ATTRS_o_ai __vector unsigned char
    734 vec_sel(__vector unsigned char __a, __vector unsigned char __b,
    735         __vector unsigned char __c) {
    736   return (__c & __b) | (~__c & __a);
    737 }
    738 
    739 static inline __ATTRS_o_ai __vector unsigned char
    740 vec_sel(__vector unsigned char __a, __vector unsigned char __b,
    741         __vector __bool char __c) {
    742   return (((__vector unsigned char)__c & __b) |
    743           (~(__vector unsigned char)__c & __a));
    744 }
    745 
    746 static inline __ATTRS_o_ai __vector signed short
    747 vec_sel(__vector signed short __a, __vector signed short __b,
    748         __vector unsigned short __c) {
    749   return (((__vector signed short)__c & __b) |
    750           (~(__vector signed short)__c & __a));
    751 }
    752 
    753 static inline __ATTRS_o_ai __vector signed short
    754 vec_sel(__vector signed short __a, __vector signed short __b,
    755         __vector __bool short __c) {
    756   return (((__vector signed short)__c & __b) |
    757           (~(__vector signed short)__c & __a));
    758 }
    759 
    760 static inline __ATTRS_o_ai __vector __bool short
    761 vec_sel(__vector __bool short __a, __vector __bool short __b,
    762         __vector unsigned short __c) {
    763   return (((__vector __bool short)__c & __b) |
    764           (~(__vector __bool short)__c & __a));
    765 }
    766 
    767 static inline __ATTRS_o_ai __vector __bool short
    768 vec_sel(__vector __bool short __a, __vector __bool short __b,
    769         __vector __bool short __c) {
    770   return (__c & __b) | (~__c & __a);
    771 }
    772 
    773 static inline __ATTRS_o_ai __vector unsigned short
    774 vec_sel(__vector unsigned short __a, __vector unsigned short __b,
    775         __vector unsigned short __c) {
    776   return (__c & __b) | (~__c & __a);
    777 }
    778 
    779 static inline __ATTRS_o_ai __vector unsigned short
    780 vec_sel(__vector unsigned short __a, __vector unsigned short __b,
    781         __vector __bool short __c) {
    782   return (((__vector unsigned short)__c & __b) |
    783           (~(__vector unsigned short)__c & __a));
    784 }
    785 
    786 static inline __ATTRS_o_ai __vector signed int
    787 vec_sel(__vector signed int __a, __vector signed int __b,
    788         __vector unsigned int __c) {
    789   return (((__vector signed int)__c & __b) |
    790           (~(__vector signed int)__c & __a));
    791 }
    792 
    793 static inline __ATTRS_o_ai __vector signed int
    794 vec_sel(__vector signed int __a, __vector signed int __b,
    795         __vector __bool int __c) {
    796   return (((__vector signed int)__c & __b) |
    797           (~(__vector signed int)__c & __a));
    798 }
    799 
    800 static inline __ATTRS_o_ai __vector __bool int
    801 vec_sel(__vector __bool int __a, __vector __bool int __b,
    802         __vector unsigned int __c) {
    803   return (((__vector __bool int)__c & __b) |
    804           (~(__vector __bool int)__c & __a));
    805 }
    806 
    807 static inline __ATTRS_o_ai __vector __bool int
    808 vec_sel(__vector __bool int __a, __vector __bool int __b,
    809         __vector __bool int __c) {
    810   return (__c & __b) | (~__c & __a);
    811 }
    812 
    813 static inline __ATTRS_o_ai __vector unsigned int
    814 vec_sel(__vector unsigned int __a, __vector unsigned int __b,
    815         __vector unsigned int __c) {
    816   return (__c & __b) | (~__c & __a);
    817 }
    818 
    819 static inline __ATTRS_o_ai __vector unsigned int
    820 vec_sel(__vector unsigned int __a, __vector unsigned int __b,
    821         __vector __bool int __c) {
    822   return (((__vector unsigned int)__c & __b) |
    823           (~(__vector unsigned int)__c & __a));
    824 }
    825 
    826 static inline __ATTRS_o_ai __vector signed long long
    827 vec_sel(__vector signed long long __a, __vector signed long long __b,
    828         __vector unsigned long long __c) {
    829   return (((__vector signed long long)__c & __b) |
    830           (~(__vector signed long long)__c & __a));
    831 }
    832 
    833 static inline __ATTRS_o_ai __vector signed long long
    834 vec_sel(__vector signed long long __a, __vector signed long long __b,
    835         __vector __bool long long __c) {
    836   return (((__vector signed long long)__c & __b) |
    837           (~(__vector signed long long)__c & __a));
    838 }
    839 
    840 static inline __ATTRS_o_ai __vector __bool long long
    841 vec_sel(__vector __bool long long __a, __vector __bool long long __b,
    842         __vector unsigned long long __c) {
    843   return (((__vector __bool long long)__c & __b) |
    844           (~(__vector __bool long long)__c & __a));
    845 }
    846 
    847 static inline __ATTRS_o_ai __vector __bool long long
    848 vec_sel(__vector __bool long long __a, __vector __bool long long __b,
    849         __vector __bool long long __c) {
    850   return (__c & __b) | (~__c & __a);
    851 }
    852 
    853 static inline __ATTRS_o_ai __vector unsigned long long
    854 vec_sel(__vector unsigned long long __a, __vector unsigned long long __b,
    855         __vector unsigned long long __c) {
    856   return (__c & __b) | (~__c & __a);
    857 }
    858 
    859 static inline __ATTRS_o_ai __vector unsigned long long
    860 vec_sel(__vector unsigned long long __a, __vector unsigned long long __b,
    861         __vector __bool long long __c) {
    862   return (((__vector unsigned long long)__c & __b) |
    863           (~(__vector unsigned long long)__c & __a));
    864 }
    865 
    866 static inline __ATTRS_o_ai __vector signed __int128
    867 vec_sel(__vector signed __int128 __a, __vector signed __int128 __b,
    868         __vector unsigned __int128 __c) {
    869   return (((__vector signed __int128)__c & __b) |
    870           (~(__vector signed __int128)__c & __a));
    871 }
    872 
    873 static inline __ATTRS_o_ai __vector signed __int128
    874 vec_sel(__vector signed __int128 __a, __vector signed __int128 __b,
    875         __vector __bool __int128 __c) {
    876   return (((__vector signed __int128)__c & __b) |
    877           (~(__vector signed __int128)__c & __a));
    878 }
    879 
    880 static inline __ATTRS_o_ai __vector __bool __int128
    881 vec_sel(__vector __bool __int128 __a, __vector __bool __int128 __b,
    882         __vector unsigned __int128 __c) {
    883   return (((__vector __bool __int128)__c & __b) |
    884           (~(__vector __bool __int128)__c & __a));
    885 }
    886 
    887 static inline __ATTRS_o_ai __vector __bool __int128
    888 vec_sel(__vector __bool __int128 __a, __vector __bool __int128 __b,
    889         __vector __bool __int128 __c) {
    890   return (__c & __b) | (~__c & __a);
    891 }
    892 
    893 static inline __ATTRS_o_ai __vector unsigned __int128
    894 vec_sel(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
    895         __vector unsigned __int128 __c) {
    896   return (__c & __b) | (~__c & __a);
    897 }
    898 
    899 static inline __ATTRS_o_ai __vector unsigned __int128
    900 vec_sel(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
    901         __vector __bool __int128 __c) {
    902   return (((__vector unsigned __int128)__c & __b) |
    903           (~(__vector unsigned __int128)__c & __a));
    904 }
    905 
    906 #if __ARCH__ >= 12
    907 static inline __ATTRS_o_ai __vector float
    908 vec_sel(__vector float __a, __vector float __b, __vector unsigned int __c) {
    909   return (__vector float)((__c & (__vector unsigned int)__b) |
    910                           (~__c & (__vector unsigned int)__a));
    911 }
    912 
    913 static inline __ATTRS_o_ai __vector float
    914 vec_sel(__vector float __a, __vector float __b, __vector __bool int __c) {
    915   __vector unsigned int __ac = (__vector unsigned int)__a;
    916   __vector unsigned int __bc = (__vector unsigned int)__b;
    917   __vector unsigned int __cc = (__vector unsigned int)__c;
    918   return (__vector float)((__cc & __bc) | (~__cc & __ac));
    919 }
    920 #endif
    921 
    922 static inline __ATTRS_o_ai __vector double
    923 vec_sel(__vector double __a, __vector double __b,
    924         __vector unsigned long long __c) {
    925   return (__vector double)((__c & (__vector unsigned long long)__b) |
    926                          (~__c & (__vector unsigned long long)__a));
    927 }
    928 
    929 static inline __ATTRS_o_ai __vector double
    930 vec_sel(__vector double __a, __vector double __b,
    931         __vector __bool long long __c) {
    932   __vector unsigned long long __ac = (__vector unsigned long long)__a;
    933   __vector unsigned long long __bc = (__vector unsigned long long)__b;
    934   __vector unsigned long long __cc = (__vector unsigned long long)__c;
    935   return (__vector double)((__cc & __bc) | (~__cc & __ac));
    936 }
    937 
    938 /*-- vec_gather_element -----------------------------------------------------*/
    939 
    940 static inline __ATTRS_o_ai __vector signed int
    941 vec_gather_element(__vector signed int __vec,
    942                    __vector unsigned int __offset,
    943                    const signed int *__ptr, int __index)
    944   __constant_range(__index, 0, 3) {
    945   __vec[__index] = *(const signed int *)(
    946     (const char *)__ptr + __offset[__index]);
    947   return __vec;
    948 }
    949 
    950 static inline __ATTRS_o_ai __vector __bool int
    951 vec_gather_element(__vector __bool int __vec,
    952                    __vector unsigned int __offset,
    953                    const unsigned int *__ptr, int __index)
    954   __constant_range(__index, 0, 3) {
    955   __vec[__index] = *(const unsigned int *)(
    956     (const char *)__ptr + __offset[__index]);
    957   return __vec;
    958 }
    959 
    960 static inline __ATTRS_o_ai __vector unsigned int
    961 vec_gather_element(__vector unsigned int __vec,
    962                    __vector unsigned int __offset,
    963                    const unsigned int *__ptr, int __index)
    964   __constant_range(__index, 0, 3) {
    965   __vec[__index] = *(const unsigned int *)(
    966     (const char *)__ptr + __offset[__index]);
    967   return __vec;
    968 }
    969 
    970 static inline __ATTRS_o_ai __vector signed long long
    971 vec_gather_element(__vector signed long long __vec,
    972                    __vector unsigned long long __offset,
    973                    const signed long long *__ptr, int __index)
    974   __constant_range(__index, 0, 1) {
    975   __vec[__index] = *(const signed long long *)(
    976     (const char *)__ptr + __offset[__index]);
    977   return __vec;
    978 }
    979 
    980 static inline __ATTRS_o_ai __vector __bool long long
    981 vec_gather_element(__vector __bool long long __vec,
    982                    __vector unsigned long long __offset,
    983                    const unsigned long long *__ptr, int __index)
    984   __constant_range(__index, 0, 1) {
    985   __vec[__index] = *(const unsigned long long *)(
    986     (const char *)__ptr + __offset[__index]);
    987   return __vec;
    988 }
    989 
    990 static inline __ATTRS_o_ai __vector unsigned long long
    991 vec_gather_element(__vector unsigned long long __vec,
    992                    __vector unsigned long long __offset,
    993                    const unsigned long long *__ptr, int __index)
    994   __constant_range(__index, 0, 1) {
    995   __vec[__index] = *(const unsigned long long *)(
    996     (const char *)__ptr + __offset[__index]);
    997   return __vec;
    998 }
    999 
   1000 #if __ARCH__ >= 12
   1001 static inline __ATTRS_o_ai __vector float
   1002 vec_gather_element(__vector float __vec,
   1003                    __vector unsigned int __offset,
   1004                    const float *__ptr, int __index)
   1005   __constant_range(__index, 0, 3) {
   1006   __vec[__index] = *(const float *)(
   1007     (const char *)__ptr + __offset[__index]);
   1008   return __vec;
   1009 }
   1010 #endif
   1011 
   1012 static inline __ATTRS_o_ai __vector double
   1013 vec_gather_element(__vector double __vec,
   1014                    __vector unsigned long long __offset,
   1015                    const double *__ptr, int __index)
   1016   __constant_range(__index, 0, 1) {
   1017   __vec[__index] = *(const double *)(
   1018     (const char *)__ptr + __offset[__index]);
   1019   return __vec;
   1020 }
   1021 
   1022 /*-- vec_scatter_element ----------------------------------------------------*/
   1023 
   1024 static inline __ATTRS_o_ai void
   1025 vec_scatter_element(__vector signed int __vec,
   1026                     __vector unsigned int __offset,
   1027                     signed int *__ptr, int __index)
   1028   __constant_range(__index, 0, 3) {
   1029   *(signed int *)((char *)__ptr + __offset[__index]) =
   1030     __vec[__index];
   1031 }
   1032 
   1033 static inline __ATTRS_o_ai void
   1034 vec_scatter_element(__vector __bool int __vec,
   1035                     __vector unsigned int __offset,
   1036                     unsigned int *__ptr, int __index)
   1037   __constant_range(__index, 0, 3) {
   1038   *(unsigned int *)((char *)__ptr + __offset[__index]) =
   1039     __vec[__index];
   1040 }
   1041 
   1042 static inline __ATTRS_o_ai void
   1043 vec_scatter_element(__vector unsigned int __vec,
   1044                     __vector unsigned int __offset,
   1045                     unsigned int *__ptr, int __index)
   1046   __constant_range(__index, 0, 3) {
   1047   *(unsigned int *)((char *)__ptr + __offset[__index]) =
   1048     __vec[__index];
   1049 }
   1050 
   1051 static inline __ATTRS_o_ai void
   1052 vec_scatter_element(__vector signed long long __vec,
   1053                     __vector unsigned long long __offset,
   1054                     signed long long *__ptr, int __index)
   1055   __constant_range(__index, 0, 1) {
   1056   *(signed long long *)((char *)__ptr + __offset[__index]) =
   1057     __vec[__index];
   1058 }
   1059 
   1060 static inline __ATTRS_o_ai void
   1061 vec_scatter_element(__vector __bool long long __vec,
   1062                     __vector unsigned long long __offset,
   1063                     unsigned long long *__ptr, int __index)
   1064   __constant_range(__index, 0, 1) {
   1065   *(unsigned long long *)((char *)__ptr + __offset[__index]) =
   1066     __vec[__index];
   1067 }
   1068 
   1069 static inline __ATTRS_o_ai void
   1070 vec_scatter_element(__vector unsigned long long __vec,
   1071                     __vector unsigned long long __offset,
   1072                     unsigned long long *__ptr, int __index)
   1073   __constant_range(__index, 0, 1) {
   1074   *(unsigned long long *)((char *)__ptr + __offset[__index]) =
   1075     __vec[__index];
   1076 }
   1077 
   1078 #if __ARCH__ >= 12
   1079 static inline __ATTRS_o_ai void
   1080 vec_scatter_element(__vector float __vec,
   1081                     __vector unsigned int __offset,
   1082                     float *__ptr, int __index)
   1083   __constant_range(__index, 0, 3) {
   1084   *(float *)((char *)__ptr + __offset[__index]) =
   1085     __vec[__index];
   1086 }
   1087 #endif
   1088 
   1089 static inline __ATTRS_o_ai void
   1090 vec_scatter_element(__vector double __vec,
   1091                     __vector unsigned long long __offset,
   1092                     double *__ptr, int __index)
   1093   __constant_range(__index, 0, 1) {
   1094   *(double *)((char *)__ptr + __offset[__index]) =
   1095     __vec[__index];
   1096 }
   1097 
   1098 /*-- vec_xl -----------------------------------------------------------------*/
   1099 
   1100 static inline __ATTRS_o_ai __vector signed char
   1101 vec_xl(long __offset, const signed char *__ptr) {
   1102   __vector signed char V;
   1103   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1104                    sizeof(__vector signed char));
   1105   return V;
   1106 }
   1107 
   1108 static inline __ATTRS_o_ai __vector unsigned char
   1109 vec_xl(long __offset, const unsigned char *__ptr) {
   1110   __vector unsigned char V;
   1111   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1112                    sizeof(__vector unsigned char));
   1113   return V;
   1114 }
   1115 
   1116 static inline __ATTRS_o_ai __vector signed short
   1117 vec_xl(long __offset, const signed short *__ptr) {
   1118   __vector signed short V;
   1119   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1120                    sizeof(__vector signed short));
   1121   return V;
   1122 }
   1123 
   1124 static inline __ATTRS_o_ai __vector unsigned short
   1125 vec_xl(long __offset, const unsigned short *__ptr) {
   1126   __vector unsigned short V;
   1127   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1128                    sizeof(__vector unsigned short));
   1129   return V;
   1130 }
   1131 
   1132 static inline __ATTRS_o_ai __vector signed int
   1133 vec_xl(long __offset, const signed int *__ptr) {
   1134   __vector signed int V;
   1135   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1136                    sizeof(__vector signed int));
   1137   return V;
   1138 }
   1139 
   1140 static inline __ATTRS_o_ai __vector unsigned int
   1141 vec_xl(long __offset, const unsigned int *__ptr) {
   1142   __vector unsigned int V;
   1143   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1144                    sizeof(__vector unsigned int));
   1145   return V;
   1146 }
   1147 
   1148 static inline __ATTRS_o_ai __vector signed long long
   1149 vec_xl(long __offset, const signed long long *__ptr) {
   1150   __vector signed long long V;
   1151   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1152                    sizeof(__vector signed long long));
   1153   return V;
   1154 }
   1155 
   1156 static inline __ATTRS_o_ai __vector unsigned long long
   1157 vec_xl(long __offset, const unsigned long long *__ptr) {
   1158   __vector unsigned long long V;
   1159   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1160                    sizeof(__vector unsigned long long));
   1161   return V;
   1162 }
   1163 
   1164 static inline __ATTRS_o_ai __vector signed __int128
   1165 vec_xl(long __offset, const signed __int128 *__ptr) {
   1166   __vector signed __int128 V;
   1167   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1168                    sizeof(__vector signed __int128));
   1169   return V;
   1170 }
   1171 
   1172 static inline __ATTRS_o_ai __vector unsigned __int128
   1173 vec_xl(long __offset, const unsigned __int128 *__ptr) {
   1174   __vector unsigned __int128 V;
   1175   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1176                    sizeof(__vector unsigned __int128));
   1177   return V;
   1178 }
   1179 
   1180 #if __ARCH__ >= 12
   1181 static inline __ATTRS_o_ai __vector float
   1182 vec_xl(long __offset, const float *__ptr) {
   1183   __vector float V;
   1184   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1185                    sizeof(__vector float));
   1186   return V;
   1187 }
   1188 #endif
   1189 
   1190 static inline __ATTRS_o_ai __vector double
   1191 vec_xl(long __offset, const double *__ptr) {
   1192   __vector double V;
   1193   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1194                    sizeof(__vector double));
   1195   return V;
   1196 }
   1197 
   1198 /*-- vec_xld2 ---------------------------------------------------------------*/
   1199 
   1200 // This prototype is deprecated.
   1201 static inline __ATTRS_o_ai __vector signed char
   1202 vec_xld2(long __offset, const signed char *__ptr) {
   1203   __vector signed char V;
   1204   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1205                    sizeof(__vector signed char));
   1206   return V;
   1207 }
   1208 
   1209 // This prototype is deprecated.
   1210 static inline __ATTRS_o_ai __vector unsigned char
   1211 vec_xld2(long __offset, const unsigned char *__ptr) {
   1212   __vector unsigned char V;
   1213   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1214                    sizeof(__vector unsigned char));
   1215   return V;
   1216 }
   1217 
   1218 // This prototype is deprecated.
   1219 static inline __ATTRS_o_ai __vector signed short
   1220 vec_xld2(long __offset, const signed short *__ptr) {
   1221   __vector signed short V;
   1222   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1223                    sizeof(__vector signed short));
   1224   return V;
   1225 }
   1226 
   1227 // This prototype is deprecated.
   1228 static inline __ATTRS_o_ai __vector unsigned short
   1229 vec_xld2(long __offset, const unsigned short *__ptr) {
   1230   __vector unsigned short V;
   1231   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1232                    sizeof(__vector unsigned short));
   1233   return V;
   1234 }
   1235 
   1236 // This prototype is deprecated.
   1237 static inline __ATTRS_o_ai __vector signed int
   1238 vec_xld2(long __offset, const signed int *__ptr) {
   1239   __vector signed int V;
   1240   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1241                    sizeof(__vector signed int));
   1242   return V;
   1243 }
   1244 
   1245 // This prototype is deprecated.
   1246 static inline __ATTRS_o_ai __vector unsigned int
   1247 vec_xld2(long __offset, const unsigned int *__ptr) {
   1248   __vector unsigned int V;
   1249   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1250                    sizeof(__vector unsigned int));
   1251   return V;
   1252 }
   1253 
   1254 // This prototype is deprecated.
   1255 static inline __ATTRS_o_ai __vector signed long long
   1256 vec_xld2(long __offset, const signed long long *__ptr) {
   1257   __vector signed long long V;
   1258   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1259                    sizeof(__vector signed long long));
   1260   return V;
   1261 }
   1262 
   1263 // This prototype is deprecated.
   1264 static inline __ATTRS_o_ai __vector unsigned long long
   1265 vec_xld2(long __offset, const unsigned long long *__ptr) {
   1266   __vector unsigned long long V;
   1267   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1268                    sizeof(__vector unsigned long long));
   1269   return V;
   1270 }
   1271 
   1272 // This prototype is deprecated.
   1273 static inline __ATTRS_o_ai __vector double
   1274 vec_xld2(long __offset, const double *__ptr) {
   1275   __vector double V;
   1276   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1277                    sizeof(__vector double));
   1278   return V;
   1279 }
   1280 
   1281 /*-- vec_xlw4 ---------------------------------------------------------------*/
   1282 
   1283 // This prototype is deprecated.
   1284 static inline __ATTRS_o_ai __vector signed char
   1285 vec_xlw4(long __offset, const signed char *__ptr) {
   1286   __vector signed char V;
   1287   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1288                    sizeof(__vector signed char));
   1289   return V;
   1290 }
   1291 
   1292 // This prototype is deprecated.
   1293 static inline __ATTRS_o_ai __vector unsigned char
   1294 vec_xlw4(long __offset, const unsigned char *__ptr) {
   1295   __vector unsigned char V;
   1296   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1297                    sizeof(__vector unsigned char));
   1298   return V;
   1299 }
   1300 
   1301 // This prototype is deprecated.
   1302 static inline __ATTRS_o_ai __vector signed short
   1303 vec_xlw4(long __offset, const signed short *__ptr) {
   1304   __vector signed short V;
   1305   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1306                    sizeof(__vector signed short));
   1307   return V;
   1308 }
   1309 
   1310 // This prototype is deprecated.
   1311 static inline __ATTRS_o_ai __vector unsigned short
   1312 vec_xlw4(long __offset, const unsigned short *__ptr) {
   1313   __vector unsigned short V;
   1314   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1315                    sizeof(__vector unsigned short));
   1316   return V;
   1317 }
   1318 
   1319 // This prototype is deprecated.
   1320 static inline __ATTRS_o_ai __vector signed int
   1321 vec_xlw4(long __offset, const signed int *__ptr) {
   1322   __vector signed int V;
   1323   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1324                    sizeof(__vector signed int));
   1325   return V;
   1326 }
   1327 
   1328 // This prototype is deprecated.
   1329 static inline __ATTRS_o_ai __vector unsigned int
   1330 vec_xlw4(long __offset, const unsigned int *__ptr) {
   1331   __vector unsigned int V;
   1332   __builtin_memcpy(&V, ((const char *)__ptr + __offset),
   1333                    sizeof(__vector unsigned int));
   1334   return V;
   1335 }
   1336 
   1337 /*-- vec_xst ----------------------------------------------------------------*/
   1338 
   1339 static inline __ATTRS_o_ai void
   1340 vec_xst(__vector signed char __vec, long __offset, signed char *__ptr) {
   1341   __vector signed char V = __vec;
   1342   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1343                    sizeof(__vector signed char));
   1344 }
   1345 
   1346 static inline __ATTRS_o_ai void
   1347 vec_xst(__vector unsigned char __vec, long __offset, unsigned char *__ptr) {
   1348   __vector unsigned char V = __vec;
   1349   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1350                    sizeof(__vector unsigned char));
   1351 }
   1352 
   1353 static inline __ATTRS_o_ai void
   1354 vec_xst(__vector signed short __vec, long __offset, signed short *__ptr) {
   1355   __vector signed short V = __vec;
   1356   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1357                    sizeof(__vector signed short));
   1358 }
   1359 
   1360 static inline __ATTRS_o_ai void
   1361 vec_xst(__vector unsigned short __vec, long __offset, unsigned short *__ptr) {
   1362   __vector unsigned short V = __vec;
   1363   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1364                    sizeof(__vector unsigned short));
   1365 }
   1366 
   1367 static inline __ATTRS_o_ai void
   1368 vec_xst(__vector signed int __vec, long __offset, signed int *__ptr) {
   1369   __vector signed int V = __vec;
   1370   __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector signed int));
   1371 }
   1372 
   1373 static inline __ATTRS_o_ai void
   1374 vec_xst(__vector unsigned int __vec, long __offset, unsigned int *__ptr) {
   1375   __vector unsigned int V = __vec;
   1376   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1377                    sizeof(__vector unsigned int));
   1378 }
   1379 
   1380 static inline __ATTRS_o_ai void
   1381 vec_xst(__vector signed long long __vec, long __offset,
   1382         signed long long *__ptr) {
   1383   __vector signed long long V = __vec;
   1384   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1385                    sizeof(__vector signed long long));
   1386 }
   1387 
   1388 static inline __ATTRS_o_ai void
   1389 vec_xst(__vector unsigned long long __vec, long __offset,
   1390         unsigned long long *__ptr) {
   1391   __vector unsigned long long V = __vec;
   1392   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1393                    sizeof(__vector unsigned long long));
   1394 }
   1395 
   1396 static inline __ATTRS_o_ai void
   1397 vec_xst(__vector signed __int128 __vec, long __offset,
   1398         signed __int128 *__ptr) {
   1399   __vector signed __int128 V = __vec;
   1400   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1401                    sizeof(__vector signed __int128));
   1402 }
   1403 
   1404 static inline __ATTRS_o_ai void
   1405 vec_xst(__vector unsigned __int128 __vec, long __offset,
   1406         unsigned __int128 *__ptr) {
   1407   __vector unsigned __int128 V = __vec;
   1408   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1409                    sizeof(__vector unsigned __int128));
   1410 }
   1411 
   1412 #if __ARCH__ >= 12
   1413 static inline __ATTRS_o_ai void
   1414 vec_xst(__vector float __vec, long __offset, float *__ptr) {
   1415   __vector float V = __vec;
   1416   __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector float));
   1417 }
   1418 #endif
   1419 
   1420 static inline __ATTRS_o_ai void
   1421 vec_xst(__vector double __vec, long __offset, double *__ptr) {
   1422   __vector double V = __vec;
   1423   __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector double));
   1424 }
   1425 
   1426 /*-- vec_xstd2 --------------------------------------------------------------*/
   1427 
   1428 // This prototype is deprecated.
   1429 static inline __ATTRS_o_ai void
   1430 vec_xstd2(__vector signed char __vec, long __offset, signed char *__ptr) {
   1431   __vector signed char V = __vec;
   1432   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1433                    sizeof(__vector signed char));
   1434 }
   1435 
   1436 // This prototype is deprecated.
   1437 static inline __ATTRS_o_ai void
   1438 vec_xstd2(__vector unsigned char __vec, long __offset, unsigned char *__ptr) {
   1439   __vector unsigned char V = __vec;
   1440   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1441                    sizeof(__vector unsigned char));
   1442 }
   1443 
   1444 // This prototype is deprecated.
   1445 static inline __ATTRS_o_ai void
   1446 vec_xstd2(__vector signed short __vec, long __offset, signed short *__ptr) {
   1447   __vector signed short V = __vec;
   1448   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1449                    sizeof(__vector signed short));
   1450 }
   1451 
   1452 // This prototype is deprecated.
   1453 static inline __ATTRS_o_ai void
   1454 vec_xstd2(__vector unsigned short __vec, long __offset, unsigned short *__ptr) {
   1455   __vector unsigned short V = __vec;
   1456   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1457                    sizeof(__vector unsigned short));
   1458 }
   1459 
   1460 // This prototype is deprecated.
   1461 static inline __ATTRS_o_ai void
   1462 vec_xstd2(__vector signed int __vec, long __offset, signed int *__ptr) {
   1463   __vector signed int V = __vec;
   1464   __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector signed int));
   1465 }
   1466 
   1467 // This prototype is deprecated.
   1468 static inline __ATTRS_o_ai void
   1469 vec_xstd2(__vector unsigned int __vec, long __offset, unsigned int *__ptr) {
   1470   __vector unsigned int V = __vec;
   1471   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1472                    sizeof(__vector unsigned int));
   1473 }
   1474 
   1475 // This prototype is deprecated.
   1476 static inline __ATTRS_o_ai void
   1477 vec_xstd2(__vector signed long long __vec, long __offset,
   1478           signed long long *__ptr) {
   1479   __vector signed long long V = __vec;
   1480   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1481                    sizeof(__vector signed long long));
   1482 }
   1483 
   1484 // This prototype is deprecated.
   1485 static inline __ATTRS_o_ai void
   1486 vec_xstd2(__vector unsigned long long __vec, long __offset,
   1487           unsigned long long *__ptr) {
   1488   __vector unsigned long long V = __vec;
   1489   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1490                    sizeof(__vector unsigned long long));
   1491 }
   1492 
   1493 // This prototype is deprecated.
   1494 static inline __ATTRS_o_ai void
   1495 vec_xstd2(__vector double __vec, long __offset, double *__ptr) {
   1496   __vector double V = __vec;
   1497   __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector double));
   1498 }
   1499 
   1500 /*-- vec_xstw4 --------------------------------------------------------------*/
   1501 
   1502 // This prototype is deprecated.
   1503 static inline __ATTRS_o_ai void
   1504 vec_xstw4(__vector signed char __vec, long __offset, signed char *__ptr) {
   1505   __vector signed char V = __vec;
   1506   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1507                    sizeof(__vector signed char));
   1508 }
   1509 
   1510 // This prototype is deprecated.
   1511 static inline __ATTRS_o_ai void
   1512 vec_xstw4(__vector unsigned char __vec, long __offset, unsigned char *__ptr) {
   1513   __vector unsigned char V = __vec;
   1514   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1515                    sizeof(__vector unsigned char));
   1516 }
   1517 
   1518 // This prototype is deprecated.
   1519 static inline __ATTRS_o_ai void
   1520 vec_xstw4(__vector signed short __vec, long __offset, signed short *__ptr) {
   1521   __vector signed short V = __vec;
   1522   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1523                    sizeof(__vector signed short));
   1524 }
   1525 
   1526 // This prototype is deprecated.
   1527 static inline __ATTRS_o_ai void
   1528 vec_xstw4(__vector unsigned short __vec, long __offset, unsigned short *__ptr) {
   1529   __vector unsigned short V = __vec;
   1530   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1531                    sizeof(__vector unsigned short));
   1532 }
   1533 
   1534 // This prototype is deprecated.
   1535 static inline __ATTRS_o_ai void
   1536 vec_xstw4(__vector signed int __vec, long __offset, signed int *__ptr) {
   1537   __vector signed int V = __vec;
   1538   __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector signed int));
   1539 }
   1540 
   1541 // This prototype is deprecated.
   1542 static inline __ATTRS_o_ai void
   1543 vec_xstw4(__vector unsigned int __vec, long __offset, unsigned int *__ptr) {
   1544   __vector unsigned int V = __vec;
   1545   __builtin_memcpy(((char *)__ptr + __offset), &V,
   1546                    sizeof(__vector unsigned int));
   1547 }
   1548 
   1549 /*-- vec_load_bndry ---------------------------------------------------------*/
   1550 
   1551 extern __ATTRS_o __vector signed char
   1552 vec_load_bndry(const signed char *__ptr, unsigned short __len)
   1553   __constant_pow2_range(__len, 64, 4096);
   1554 
   1555 extern __ATTRS_o __vector unsigned char
   1556 vec_load_bndry(const unsigned char *__ptr, unsigned short __len)
   1557   __constant_pow2_range(__len, 64, 4096);
   1558 
   1559 extern __ATTRS_o __vector signed short
   1560 vec_load_bndry(const signed short *__ptr, unsigned short __len)
   1561   __constant_pow2_range(__len, 64, 4096);
   1562 
   1563 extern __ATTRS_o __vector unsigned short
   1564 vec_load_bndry(const unsigned short *__ptr, unsigned short __len)
   1565   __constant_pow2_range(__len, 64, 4096);
   1566 
   1567 extern __ATTRS_o __vector signed int
   1568 vec_load_bndry(const signed int *__ptr, unsigned short __len)
   1569   __constant_pow2_range(__len, 64, 4096);
   1570 
   1571 extern __ATTRS_o __vector unsigned int
   1572 vec_load_bndry(const unsigned int *__ptr, unsigned short __len)
   1573   __constant_pow2_range(__len, 64, 4096);
   1574 
   1575 extern __ATTRS_o __vector signed long long
   1576 vec_load_bndry(const signed long long *__ptr, unsigned short __len)
   1577   __constant_pow2_range(__len, 64, 4096);
   1578 
   1579 extern __ATTRS_o __vector unsigned long long
   1580 vec_load_bndry(const unsigned long long *__ptr, unsigned short __len)
   1581   __constant_pow2_range(__len, 64, 4096);
   1582 
   1583 extern __ATTRS_o __vector signed __int128
   1584 vec_load_bndry(const signed __int128 *__ptr, unsigned short __len)
   1585   __constant_pow2_range(__len, 64, 4096);
   1586 
   1587 extern __ATTRS_o __vector unsigned __int128
   1588 vec_load_bndry(const unsigned __int128 *__ptr, unsigned short __len)
   1589   __constant_pow2_range(__len, 64, 4096);
   1590 
   1591 #if __ARCH__ >= 12
   1592 extern __ATTRS_o __vector float
   1593 vec_load_bndry(const float *__ptr, unsigned short __len)
   1594   __constant_pow2_range(__len, 64, 4096);
   1595 #endif
   1596 
   1597 extern __ATTRS_o __vector double
   1598 vec_load_bndry(const double *__ptr, unsigned short __len)
   1599   __constant_pow2_range(__len, 64, 4096);
   1600 
   1601 #define vec_load_bndry(X, Y) ((__typeof__((vec_load_bndry)((X), (Y)))) \
   1602   __builtin_s390_vlbb((X), ((Y) == 64 ? 0 : \
   1603                             (Y) == 128 ? 1 : \
   1604                             (Y) == 256 ? 2 : \
   1605                             (Y) == 512 ? 3 : \
   1606                             (Y) == 1024 ? 4 : \
   1607                             (Y) == 2048 ? 5 : \
   1608                             (Y) == 4096 ? 6 : -1)))
   1609 
   1610 /*-- vec_load_len -----------------------------------------------------------*/
   1611 
   1612 static inline __ATTRS_o_ai __vector signed char
   1613 vec_load_len(const signed char *__ptr, unsigned int __len) {
   1614   return (__vector signed char)__builtin_s390_vll(__len, __ptr);
   1615 }
   1616 
   1617 static inline __ATTRS_o_ai __vector unsigned char
   1618 vec_load_len(const unsigned char *__ptr, unsigned int __len) {
   1619   return (__vector unsigned char)__builtin_s390_vll(__len, __ptr);
   1620 }
   1621 
   1622 // This prototype is deprecated.
   1623 static inline __ATTRS_o_ai __vector signed short
   1624 vec_load_len(const signed short *__ptr, unsigned int __len) {
   1625   return (__vector signed short)__builtin_s390_vll(__len, __ptr);
   1626 }
   1627 
   1628 // This prototype is deprecated.
   1629 static inline __ATTRS_o_ai __vector unsigned short
   1630 vec_load_len(const unsigned short *__ptr, unsigned int __len) {
   1631   return (__vector unsigned short)__builtin_s390_vll(__len, __ptr);
   1632 }
   1633 
   1634 // This prototype is deprecated.
   1635 static inline __ATTRS_o_ai __vector signed int
   1636 vec_load_len(const signed int *__ptr, unsigned int __len) {
   1637   return (__vector signed int)__builtin_s390_vll(__len, __ptr);
   1638 }
   1639 
   1640 // This prototype is deprecated.
   1641 static inline __ATTRS_o_ai __vector unsigned int
   1642 vec_load_len(const unsigned int *__ptr, unsigned int __len) {
   1643   return (__vector unsigned int)__builtin_s390_vll(__len, __ptr);
   1644 }
   1645 
   1646 // This prototype is deprecated.
   1647 static inline __ATTRS_o_ai __vector signed long long
   1648 vec_load_len(const signed long long *__ptr, unsigned int __len) {
   1649   return (__vector signed long long)__builtin_s390_vll(__len, __ptr);
   1650 }
   1651 
   1652 // This prototype is deprecated.
   1653 static inline __ATTRS_o_ai __vector unsigned long long
   1654 vec_load_len(const unsigned long long *__ptr, unsigned int __len) {
   1655   return (__vector unsigned long long)__builtin_s390_vll(__len, __ptr);
   1656 }
   1657 
   1658 #if __ARCH__ >= 12
   1659 // This prototype is deprecated.
   1660 static inline __ATTRS_o_ai __vector float
   1661 vec_load_len(const float *__ptr, unsigned int __len) {
   1662   return (__vector float)__builtin_s390_vll(__len, __ptr);
   1663 }
   1664 #endif
   1665 
   1666 // This prototype is deprecated.
   1667 static inline __ATTRS_o_ai __vector double
   1668 vec_load_len(const double *__ptr, unsigned int __len) {
   1669   return (__vector double)__builtin_s390_vll(__len, __ptr);
   1670 }
   1671 
   1672 /*-- vec_load_len_r ---------------------------------------------------------*/
   1673 
   1674 #if __ARCH__ >= 12
   1675 static inline __ATTRS_o_ai __vector signed char
   1676 vec_load_len_r(const signed char *__ptr, unsigned int __len) {
   1677   return (__vector signed char)__builtin_s390_vlrlr(__len, __ptr);
   1678 }
   1679 
   1680 static inline __ATTRS_o_ai __vector unsigned char
   1681 vec_load_len_r(const unsigned char *__ptr, unsigned int __len) {
   1682   return (__vector unsigned char)__builtin_s390_vlrlr(__len, __ptr);
   1683 }
   1684 #endif
   1685 
   1686 /*-- vec_store_len ----------------------------------------------------------*/
   1687 
   1688 static inline __ATTRS_o_ai void
   1689 vec_store_len(__vector signed char __vec, signed char *__ptr,
   1690               unsigned int __len) {
   1691   __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
   1692 }
   1693 
   1694 static inline __ATTRS_o_ai void
   1695 vec_store_len(__vector unsigned char __vec, unsigned char *__ptr,
   1696               unsigned int __len) {
   1697   __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
   1698 }
   1699 
   1700 // This prototype is deprecated.
   1701 static inline __ATTRS_o_ai void
   1702 vec_store_len(__vector signed short __vec, signed short *__ptr,
   1703               unsigned int __len) {
   1704   __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
   1705 }
   1706 
   1707 // This prototype is deprecated.
   1708 static inline __ATTRS_o_ai void
   1709 vec_store_len(__vector unsigned short __vec, unsigned short *__ptr,
   1710               unsigned int __len) {
   1711   __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
   1712 }
   1713 
   1714 // This prototype is deprecated.
   1715 static inline __ATTRS_o_ai void
   1716 vec_store_len(__vector signed int __vec, signed int *__ptr,
   1717               unsigned int __len) {
   1718   __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
   1719 }
   1720 
   1721 // This prototype is deprecated.
   1722 static inline __ATTRS_o_ai void
   1723 vec_store_len(__vector unsigned int __vec, unsigned int *__ptr,
   1724               unsigned int __len) {
   1725   __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
   1726 }
   1727 
   1728 // This prototype is deprecated.
   1729 static inline __ATTRS_o_ai void
   1730 vec_store_len(__vector signed long long __vec, signed long long *__ptr,
   1731               unsigned int __len) {
   1732   __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
   1733 }
   1734 
   1735 // This prototype is deprecated.
   1736 static inline __ATTRS_o_ai void
   1737 vec_store_len(__vector unsigned long long __vec, unsigned long long *__ptr,
   1738               unsigned int __len) {
   1739   __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
   1740 }
   1741 
   1742 #if __ARCH__ >= 12
   1743 // This prototype is deprecated.
   1744 static inline __ATTRS_o_ai void
   1745 vec_store_len(__vector float __vec, float *__ptr,
   1746               unsigned int __len) {
   1747   __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
   1748 }
   1749 #endif
   1750 
   1751 // This prototype is deprecated.
   1752 static inline __ATTRS_o_ai void
   1753 vec_store_len(__vector double __vec, double *__ptr,
   1754               unsigned int __len) {
   1755   __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
   1756 }
   1757 
   1758 /*-- vec_store_len_r --------------------------------------------------------*/
   1759 
   1760 #if __ARCH__ >= 12
   1761 static inline __ATTRS_o_ai void
   1762 vec_store_len_r(__vector signed char __vec, signed char *__ptr,
   1763                 unsigned int __len) {
   1764   __builtin_s390_vstrlr(__vec, __len, __ptr);
   1765 }
   1766 
   1767 static inline __ATTRS_o_ai void
   1768 vec_store_len_r(__vector unsigned char __vec, unsigned char *__ptr,
   1769                 unsigned int __len) {
   1770   __builtin_s390_vstrlr((__vector signed char)__vec, __len, __ptr);
   1771 }
   1772 #endif
   1773 
   1774 /*-- vec_load_pair ----------------------------------------------------------*/
   1775 
   1776 static inline __ATTRS_o_ai __vector signed long long
   1777 vec_load_pair(signed long long __a, signed long long __b) {
   1778   return (__vector signed long long)(__a, __b);
   1779 }
   1780 
   1781 static inline __ATTRS_o_ai __vector unsigned long long
   1782 vec_load_pair(unsigned long long __a, unsigned long long __b) {
   1783   return (__vector unsigned long long)(__a, __b);
   1784 }
   1785 
   1786 /*-- vec_genmask ------------------------------------------------------------*/
   1787 
   1788 static inline __ATTRS_o_ai __vector unsigned char
   1789 vec_genmask(unsigned short __mask)
   1790   __constant(__mask) {
   1791   return (__vector unsigned char)(
   1792     __mask & 0x8000 ? 0xff : 0,
   1793     __mask & 0x4000 ? 0xff : 0,
   1794     __mask & 0x2000 ? 0xff : 0,
   1795     __mask & 0x1000 ? 0xff : 0,
   1796     __mask & 0x0800 ? 0xff : 0,
   1797     __mask & 0x0400 ? 0xff : 0,
   1798     __mask & 0x0200 ? 0xff : 0,
   1799     __mask & 0x0100 ? 0xff : 0,
   1800     __mask & 0x0080 ? 0xff : 0,
   1801     __mask & 0x0040 ? 0xff : 0,
   1802     __mask & 0x0020 ? 0xff : 0,
   1803     __mask & 0x0010 ? 0xff : 0,
   1804     __mask & 0x0008 ? 0xff : 0,
   1805     __mask & 0x0004 ? 0xff : 0,
   1806     __mask & 0x0002 ? 0xff : 0,
   1807     __mask & 0x0001 ? 0xff : 0);
   1808 }
   1809 
   1810 /*-- vec_genmasks_* ---------------------------------------------------------*/
   1811 
   1812 static inline __ATTRS_o_ai __vector unsigned char
   1813 vec_genmasks_8(unsigned char __first, unsigned char __last)
   1814   __constant(__first) __constant(__last) {
   1815   unsigned char __bit1 = __first & 7;
   1816   unsigned char __bit2 = __last & 7;
   1817   unsigned char __mask1 = (unsigned char)(1U << (7 - __bit1) << 1) - 1;
   1818   unsigned char __mask2 = (unsigned char)(1U << (7 - __bit2)) - 1;
   1819   unsigned char __value = (__bit1 <= __bit2 ?
   1820                            __mask1 & ~__mask2 :
   1821                            __mask1 | ~__mask2);
   1822   return (__vector unsigned char)__value;
   1823 }
   1824 
   1825 static inline __ATTRS_o_ai __vector unsigned short
   1826 vec_genmasks_16(unsigned char __first, unsigned char __last)
   1827   __constant(__first) __constant(__last) {
   1828   unsigned char __bit1 = __first & 15;
   1829   unsigned char __bit2 = __last & 15;
   1830   unsigned short __mask1 = (unsigned short)(1U << (15 - __bit1) << 1) - 1;
   1831   unsigned short __mask2 = (unsigned short)(1U << (15 - __bit2)) - 1;
   1832   unsigned short __value = (__bit1 <= __bit2 ?
   1833                             __mask1 & ~__mask2 :
   1834                             __mask1 | ~__mask2);
   1835   return (__vector unsigned short)__value;
   1836 }
   1837 
   1838 static inline __ATTRS_o_ai __vector unsigned int
   1839 vec_genmasks_32(unsigned char __first, unsigned char __last)
   1840   __constant(__first) __constant(__last) {
   1841   unsigned char __bit1 = __first & 31;
   1842   unsigned char __bit2 = __last & 31;
   1843   unsigned int __mask1 = (1U << (31 - __bit1) << 1) - 1;
   1844   unsigned int __mask2 = (1U << (31 - __bit2)) - 1;
   1845   unsigned int __value = (__bit1 <= __bit2 ?
   1846                           __mask1 & ~__mask2 :
   1847                           __mask1 | ~__mask2);
   1848   return (__vector unsigned int)__value;
   1849 }
   1850 
   1851 static inline __ATTRS_o_ai __vector unsigned long long
   1852 vec_genmasks_64(unsigned char __first, unsigned char __last)
   1853   __constant(__first) __constant(__last) {
   1854   unsigned char __bit1 = __first & 63;
   1855   unsigned char __bit2 = __last & 63;
   1856   unsigned long long __mask1 = (1ULL << (63 - __bit1) << 1) - 1;
   1857   unsigned long long __mask2 = (1ULL << (63 - __bit2)) - 1;
   1858   unsigned long long __value = (__bit1 <= __bit2 ?
   1859                                 __mask1 & ~__mask2 :
   1860                                 __mask1 | ~__mask2);
   1861   return (__vector unsigned long long)__value;
   1862 }
   1863 
   1864 /*-- vec_gen_element_masks_* ------------------------------------------------*/
   1865 
   1866 #if __ARCH__ >= 15
   1867 static inline __ATTRS_ai __vector unsigned char
   1868 vec_gen_element_masks_8(__vector unsigned short __mask) {
   1869   return __builtin_s390_vgemb(__mask);
   1870 }
   1871 
   1872 static inline __ATTRS_ai __vector unsigned short
   1873 vec_gen_element_masks_16(__vector unsigned char __mask) {
   1874   return __builtin_s390_vgemh(__mask);
   1875 }
   1876 
   1877 static inline __ATTRS_ai __vector unsigned int
   1878 vec_gen_element_masks_32(__vector unsigned char __mask) {
   1879   return __builtin_s390_vgemf(__mask);
   1880 }
   1881 
   1882 static inline __ATTRS_ai __vector unsigned long long
   1883 vec_gen_element_masks_64(__vector unsigned char __mask) {
   1884   return __builtin_s390_vgemg(__mask);
   1885 }
   1886 
   1887 static inline __ATTRS_ai __vector unsigned __int128
   1888 vec_gen_element_masks_128(__vector unsigned char __mask) {
   1889   return (__vector unsigned __int128)__builtin_s390_vgemq(__mask);
   1890 }
   1891 #endif
   1892 
   1893 /*-- vec_splat --------------------------------------------------------------*/
   1894 
   1895 static inline __ATTRS_o_ai __vector signed char
   1896 vec_splat(__vector signed char __vec, int __index)
   1897   __constant_range(__index, 0, 15) {
   1898   return (__vector signed char)__vec[__index];
   1899 }
   1900 
   1901 static inline __ATTRS_o_ai __vector __bool char
   1902 vec_splat(__vector __bool char __vec, int __index)
   1903   __constant_range(__index, 0, 15) {
   1904   return (__vector __bool char)(__vector unsigned char)__vec[__index];
   1905 }
   1906 
   1907 static inline __ATTRS_o_ai __vector unsigned char
   1908 vec_splat(__vector unsigned char __vec, int __index)
   1909   __constant_range(__index, 0, 15) {
   1910   return (__vector unsigned char)__vec[__index];
   1911 }
   1912 
   1913 static inline __ATTRS_o_ai __vector signed short
   1914 vec_splat(__vector signed short __vec, int __index)
   1915   __constant_range(__index, 0, 7) {
   1916   return (__vector signed short)__vec[__index];
   1917 }
   1918 
   1919 static inline __ATTRS_o_ai __vector __bool short
   1920 vec_splat(__vector __bool short __vec, int __index)
   1921   __constant_range(__index, 0, 7) {
   1922   return (__vector __bool short)(__vector unsigned short)__vec[__index];
   1923 }
   1924 
   1925 static inline __ATTRS_o_ai __vector unsigned short
   1926 vec_splat(__vector unsigned short __vec, int __index)
   1927   __constant_range(__index, 0, 7) {
   1928   return (__vector unsigned short)__vec[__index];
   1929 }
   1930 
   1931 static inline __ATTRS_o_ai __vector signed int
   1932 vec_splat(__vector signed int __vec, int __index)
   1933   __constant_range(__index, 0, 3) {
   1934   return (__vector signed int)__vec[__index];
   1935 }
   1936 
   1937 static inline __ATTRS_o_ai __vector __bool int
   1938 vec_splat(__vector __bool int __vec, int __index)
   1939   __constant_range(__index, 0, 3) {
   1940   return (__vector __bool int)(__vector unsigned int)__vec[__index];
   1941 }
   1942 
   1943 static inline __ATTRS_o_ai __vector unsigned int
   1944 vec_splat(__vector unsigned int __vec, int __index)
   1945   __constant_range(__index, 0, 3) {
   1946   return (__vector unsigned int)__vec[__index];
   1947 }
   1948 
   1949 static inline __ATTRS_o_ai __vector signed long long
   1950 vec_splat(__vector signed long long __vec, int __index)
   1951   __constant_range(__index, 0, 1) {
   1952   return (__vector signed long long)__vec[__index];
   1953 }
   1954 
   1955 static inline __ATTRS_o_ai __vector __bool long long
   1956 vec_splat(__vector __bool long long __vec, int __index)
   1957   __constant_range(__index, 0, 1) {
   1958   return ((__vector __bool long long)
   1959           (__vector unsigned long long)__vec[__index]);
   1960 }
   1961 
   1962 static inline __ATTRS_o_ai __vector unsigned long long
   1963 vec_splat(__vector unsigned long long __vec, int __index)
   1964   __constant_range(__index, 0, 1) {
   1965   return (__vector unsigned long long)__vec[__index];
   1966 }
   1967 
   1968 #if __ARCH__ >= 12
   1969 static inline __ATTRS_o_ai __vector float
   1970 vec_splat(__vector float __vec, int __index)
   1971   __constant_range(__index, 0, 3) {
   1972   return (__vector float)__vec[__index];
   1973 }
   1974 #endif
   1975 
   1976 static inline __ATTRS_o_ai __vector double
   1977 vec_splat(__vector double __vec, int __index)
   1978   __constant_range(__index, 0, 1) {
   1979   return (__vector double)__vec[__index];
   1980 }
   1981 
   1982 /*-- vec_splat_s* -----------------------------------------------------------*/
   1983 
   1984 static inline __ATTRS_ai __vector signed char
   1985 vec_splat_s8(signed char __scalar)
   1986   __constant(__scalar) {
   1987   return (__vector signed char)__scalar;
   1988 }
   1989 
   1990 static inline __ATTRS_ai __vector signed short
   1991 vec_splat_s16(signed short __scalar)
   1992   __constant(__scalar) {
   1993   return (__vector signed short)__scalar;
   1994 }
   1995 
   1996 static inline __ATTRS_ai __vector signed int
   1997 vec_splat_s32(signed short __scalar)
   1998   __constant(__scalar) {
   1999   return (__vector signed int)(signed int)__scalar;
   2000 }
   2001 
   2002 static inline __ATTRS_ai __vector signed long long
   2003 vec_splat_s64(signed short __scalar)
   2004   __constant(__scalar) {
   2005   return (__vector signed long long)(signed long)__scalar;
   2006 }
   2007 
   2008 /*-- vec_splat_u* -----------------------------------------------------------*/
   2009 
   2010 static inline __ATTRS_ai __vector unsigned char
   2011 vec_splat_u8(unsigned char __scalar)
   2012   __constant(__scalar) {
   2013   return (__vector unsigned char)__scalar;
   2014 }
   2015 
   2016 static inline __ATTRS_ai __vector unsigned short
   2017 vec_splat_u16(unsigned short __scalar)
   2018   __constant(__scalar) {
   2019   return (__vector unsigned short)__scalar;
   2020 }
   2021 
   2022 static inline __ATTRS_ai __vector unsigned int
   2023 vec_splat_u32(signed short __scalar)
   2024   __constant(__scalar) {
   2025   return (__vector unsigned int)(signed int)__scalar;
   2026 }
   2027 
   2028 static inline __ATTRS_ai __vector unsigned long long
   2029 vec_splat_u64(signed short __scalar)
   2030   __constant(__scalar) {
   2031   return (__vector unsigned long long)(signed long long)__scalar;
   2032 }
   2033 
   2034 /*-- vec_splats -------------------------------------------------------------*/
   2035 
   2036 static inline __ATTRS_o_ai __vector signed char
   2037 vec_splats(signed char __scalar) {
   2038   return (__vector signed char)__scalar;
   2039 }
   2040 
   2041 static inline __ATTRS_o_ai __vector unsigned char
   2042 vec_splats(unsigned char __scalar) {
   2043   return (__vector unsigned char)__scalar;
   2044 }
   2045 
   2046 static inline __ATTRS_o_ai __vector signed short
   2047 vec_splats(signed short __scalar) {
   2048   return (__vector signed short)__scalar;
   2049 }
   2050 
   2051 static inline __ATTRS_o_ai __vector unsigned short
   2052 vec_splats(unsigned short __scalar) {
   2053   return (__vector unsigned short)__scalar;
   2054 }
   2055 
   2056 static inline __ATTRS_o_ai __vector signed int
   2057 vec_splats(signed int __scalar) {
   2058   return (__vector signed int)__scalar;
   2059 }
   2060 
   2061 static inline __ATTRS_o_ai __vector unsigned int
   2062 vec_splats(unsigned int __scalar) {
   2063   return (__vector unsigned int)__scalar;
   2064 }
   2065 
   2066 static inline __ATTRS_o_ai __vector signed long long
   2067 vec_splats(signed long long __scalar) {
   2068   return (__vector signed long long)__scalar;
   2069 }
   2070 
   2071 static inline __ATTRS_o_ai __vector unsigned long long
   2072 vec_splats(unsigned long long __scalar) {
   2073   return (__vector unsigned long long)__scalar;
   2074 }
   2075 
   2076 static inline __ATTRS_o_ai __vector signed __int128
   2077 vec_splats(signed __int128 __scalar) {
   2078   return (__vector signed __int128)__scalar;
   2079 }
   2080 
   2081 static inline __ATTRS_o_ai __vector unsigned __int128
   2082 vec_splats(unsigned __int128 __scalar) {
   2083   return (__vector unsigned __int128)__scalar;
   2084 }
   2085 
   2086 #if __ARCH__ >= 12
   2087 static inline __ATTRS_o_ai __vector float
   2088 vec_splats(float __scalar) {
   2089   return (__vector float)__scalar;
   2090 }
   2091 #endif
   2092 
   2093 static inline __ATTRS_o_ai __vector double
   2094 vec_splats(double __scalar) {
   2095   return (__vector double)__scalar;
   2096 }
   2097 
   2098 /*-- vec_extend_s64 ---------------------------------------------------------*/
   2099 
   2100 static inline __ATTRS_o_ai __vector signed long long
   2101 vec_extend_s64(__vector signed char __a) {
   2102   return (__vector signed long long)(__a[7], __a[15]);
   2103 }
   2104 
   2105 static inline __ATTRS_o_ai __vector signed long long
   2106 vec_extend_s64(__vector signed short __a) {
   2107   return (__vector signed long long)(__a[3], __a[7]);
   2108 }
   2109 
   2110 static inline __ATTRS_o_ai __vector signed long long
   2111 vec_extend_s64(__vector signed int __a) {
   2112   return (__vector signed long long)(__a[1], __a[3]);
   2113 }
   2114 
   2115 /*-- vec_mergeh -------------------------------------------------------------*/
   2116 
   2117 static inline __ATTRS_o_ai __vector signed char
   2118 vec_mergeh(__vector signed char __a, __vector signed char __b) {
   2119   return (__vector signed char)(
   2120     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],
   2121     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
   2122 }
   2123 
   2124 static inline __ATTRS_o_ai __vector __bool char
   2125 vec_mergeh(__vector __bool char __a, __vector __bool char __b) {
   2126   return (__vector __bool char)(
   2127     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],
   2128     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
   2129 }
   2130 
   2131 static inline __ATTRS_o_ai __vector unsigned char
   2132 vec_mergeh(__vector unsigned char __a, __vector unsigned char __b) {
   2133   return (__vector unsigned char)(
   2134     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],
   2135     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
   2136 }
   2137 
   2138 static inline __ATTRS_o_ai __vector signed short
   2139 vec_mergeh(__vector signed short __a, __vector signed short __b) {
   2140   return (__vector signed short)(
   2141     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);
   2142 }
   2143 
   2144 static inline __ATTRS_o_ai __vector __bool short
   2145 vec_mergeh(__vector __bool short __a, __vector __bool short __b) {
   2146   return (__vector __bool short)(
   2147     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);
   2148 }
   2149 
   2150 static inline __ATTRS_o_ai __vector unsigned short
   2151 vec_mergeh(__vector unsigned short __a, __vector unsigned short __b) {
   2152   return (__vector unsigned short)(
   2153     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);
   2154 }
   2155 
   2156 static inline __ATTRS_o_ai __vector signed int
   2157 vec_mergeh(__vector signed int __a, __vector signed int __b) {
   2158   return (__vector signed int)(__a[0], __b[0], __a[1], __b[1]);
   2159 }
   2160 
   2161 static inline __ATTRS_o_ai __vector __bool int
   2162 vec_mergeh(__vector __bool int __a, __vector __bool int __b) {
   2163   return (__vector __bool int)(__a[0], __b[0], __a[1], __b[1]);
   2164 }
   2165 
   2166 static inline __ATTRS_o_ai __vector unsigned int
   2167 vec_mergeh(__vector unsigned int __a, __vector unsigned int __b) {
   2168   return (__vector unsigned int)(__a[0], __b[0], __a[1], __b[1]);
   2169 }
   2170 
   2171 static inline __ATTRS_o_ai __vector signed long long
   2172 vec_mergeh(__vector signed long long __a, __vector signed long long __b) {
   2173   return (__vector signed long long)(__a[0], __b[0]);
   2174 }
   2175 
   2176 static inline __ATTRS_o_ai __vector __bool long long
   2177 vec_mergeh(__vector __bool long long __a, __vector __bool long long __b) {
   2178   return (__vector __bool long long)(__a[0], __b[0]);
   2179 }
   2180 
   2181 static inline __ATTRS_o_ai __vector unsigned long long
   2182 vec_mergeh(__vector unsigned long long __a, __vector unsigned long long __b) {
   2183   return (__vector unsigned long long)(__a[0], __b[0]);
   2184 }
   2185 
   2186 #if __ARCH__ >= 12
   2187 static inline __ATTRS_o_ai __vector float
   2188 vec_mergeh(__vector float __a, __vector float __b) {
   2189   return (__vector float)(__a[0], __b[0], __a[1], __b[1]);
   2190 }
   2191 #endif
   2192 
   2193 static inline __ATTRS_o_ai __vector double
   2194 vec_mergeh(__vector double __a, __vector double __b) {
   2195   return (__vector double)(__a[0], __b[0]);
   2196 }
   2197 
   2198 /*-- vec_mergel -------------------------------------------------------------*/
   2199 
   2200 static inline __ATTRS_o_ai __vector signed char
   2201 vec_mergel(__vector signed char __a, __vector signed char __b) {
   2202   return (__vector signed char)(
   2203     __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],
   2204     __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);
   2205 }
   2206 
   2207 static inline __ATTRS_o_ai __vector __bool char
   2208 vec_mergel(__vector __bool char __a, __vector __bool char __b) {
   2209   return (__vector __bool char)(
   2210     __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],
   2211     __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);
   2212 }
   2213 
   2214 static inline __ATTRS_o_ai __vector unsigned char
   2215 vec_mergel(__vector unsigned char __a, __vector unsigned char __b) {
   2216   return (__vector unsigned char)(
   2217     __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],
   2218     __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);
   2219 }
   2220 
   2221 static inline __ATTRS_o_ai __vector signed short
   2222 vec_mergel(__vector signed short __a, __vector signed short __b) {
   2223   return (__vector signed short)(
   2224     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
   2225 }
   2226 
   2227 static inline __ATTRS_o_ai __vector __bool short
   2228 vec_mergel(__vector __bool short __a, __vector __bool short __b) {
   2229   return (__vector __bool short)(
   2230     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
   2231 }
   2232 
   2233 static inline __ATTRS_o_ai __vector unsigned short
   2234 vec_mergel(__vector unsigned short __a, __vector unsigned short __b) {
   2235   return (__vector unsigned short)(
   2236     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
   2237 }
   2238 
   2239 static inline __ATTRS_o_ai __vector signed int
   2240 vec_mergel(__vector signed int __a, __vector signed int __b) {
   2241   return (__vector signed int)(__a[2], __b[2], __a[3], __b[3]);
   2242 }
   2243 
   2244 static inline __ATTRS_o_ai __vector __bool int
   2245 vec_mergel(__vector __bool int __a, __vector __bool int __b) {
   2246   return (__vector __bool int)(__a[2], __b[2], __a[3], __b[3]);
   2247 }
   2248 
   2249 static inline __ATTRS_o_ai __vector unsigned int
   2250 vec_mergel(__vector unsigned int __a, __vector unsigned int __b) {
   2251   return (__vector unsigned int)(__a[2], __b[2], __a[3], __b[3]);
   2252 }
   2253 
   2254 static inline __ATTRS_o_ai __vector signed long long
   2255 vec_mergel(__vector signed long long __a, __vector signed long long __b) {
   2256   return (__vector signed long long)(__a[1], __b[1]);
   2257 }
   2258 
   2259 static inline __ATTRS_o_ai __vector __bool long long
   2260 vec_mergel(__vector __bool long long __a, __vector __bool long long __b) {
   2261   return (__vector __bool long long)(__a[1], __b[1]);
   2262 }
   2263 
   2264 static inline __ATTRS_o_ai __vector unsigned long long
   2265 vec_mergel(__vector unsigned long long __a, __vector unsigned long long __b) {
   2266   return (__vector unsigned long long)(__a[1], __b[1]);
   2267 }
   2268 
   2269 #if __ARCH__ >= 12
   2270 static inline __ATTRS_o_ai __vector float
   2271 vec_mergel(__vector float __a, __vector float __b) {
   2272   return (__vector float)(__a[2], __b[2], __a[3], __b[3]);
   2273 }
   2274 #endif
   2275 
   2276 static inline __ATTRS_o_ai __vector double
   2277 vec_mergel(__vector double __a, __vector double __b) {
   2278   return (__vector double)(__a[1], __b[1]);
   2279 }
   2280 
   2281 /*-- vec_pack ---------------------------------------------------------------*/
   2282 
   2283 static inline __ATTRS_o_ai __vector signed char
   2284 vec_pack(__vector signed short __a, __vector signed short __b) {
   2285   __vector signed char __ac = (__vector signed char)__a;
   2286   __vector signed char __bc = (__vector signed char)__b;
   2287   return (__vector signed char)(
   2288     __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
   2289     __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
   2290 }
   2291 
   2292 static inline __ATTRS_o_ai __vector __bool char
   2293 vec_pack(__vector __bool short __a, __vector __bool short __b) {
   2294   __vector __bool char __ac = (__vector __bool char)__a;
   2295   __vector __bool char __bc = (__vector __bool char)__b;
   2296   return (__vector __bool char)(
   2297     __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
   2298     __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
   2299 }
   2300 
   2301 static inline __ATTRS_o_ai __vector unsigned char
   2302 vec_pack(__vector unsigned short __a, __vector unsigned short __b) {
   2303   __vector unsigned char __ac = (__vector unsigned char)__a;
   2304   __vector unsigned char __bc = (__vector unsigned char)__b;
   2305   return (__vector unsigned char)(
   2306     __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
   2307     __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
   2308 }
   2309 
   2310 static inline __ATTRS_o_ai __vector signed short
   2311 vec_pack(__vector signed int __a, __vector signed int __b) {
   2312   __vector signed short __ac = (__vector signed short)__a;
   2313   __vector signed short __bc = (__vector signed short)__b;
   2314   return (__vector signed short)(
   2315     __ac[1], __ac[3], __ac[5], __ac[7],
   2316     __bc[1], __bc[3], __bc[5], __bc[7]);
   2317 }
   2318 
   2319 static inline __ATTRS_o_ai __vector __bool short
   2320 vec_pack(__vector __bool int __a, __vector __bool int __b) {
   2321   __vector __bool short __ac = (__vector __bool short)__a;
   2322   __vector __bool short __bc = (__vector __bool short)__b;
   2323   return (__vector __bool short)(
   2324     __ac[1], __ac[3], __ac[5], __ac[7],
   2325     __bc[1], __bc[3], __bc[5], __bc[7]);
   2326 }
   2327 
   2328 static inline __ATTRS_o_ai __vector unsigned short
   2329 vec_pack(__vector unsigned int __a, __vector unsigned int __b) {
   2330   __vector unsigned short __ac = (__vector unsigned short)__a;
   2331   __vector unsigned short __bc = (__vector unsigned short)__b;
   2332   return (__vector unsigned short)(
   2333     __ac[1], __ac[3], __ac[5], __ac[7],
   2334     __bc[1], __bc[3], __bc[5], __bc[7]);
   2335 }
   2336 
   2337 static inline __ATTRS_o_ai __vector signed int
   2338 vec_pack(__vector signed long long __a, __vector signed long long __b) {
   2339   __vector signed int __ac = (__vector signed int)__a;
   2340   __vector signed int __bc = (__vector signed int)__b;
   2341   return (__vector signed int)(__ac[1], __ac[3], __bc[1], __bc[3]);
   2342 }
   2343 
   2344 static inline __ATTRS_o_ai __vector __bool int
   2345 vec_pack(__vector __bool long long __a, __vector __bool long long __b) {
   2346   __vector __bool int __ac = (__vector __bool int)__a;
   2347   __vector __bool int __bc = (__vector __bool int)__b;
   2348   return (__vector __bool int)(__ac[1], __ac[3], __bc[1], __bc[3]);
   2349 }
   2350 
   2351 static inline __ATTRS_o_ai __vector unsigned int
   2352 vec_pack(__vector unsigned long long __a, __vector unsigned long long __b) {
   2353   __vector unsigned int __ac = (__vector unsigned int)__a;
   2354   __vector unsigned int __bc = (__vector unsigned int)__b;
   2355   return (__vector unsigned int)(__ac[1], __ac[3], __bc[1], __bc[3]);
   2356 }
   2357 
   2358 static inline __ATTRS_o_ai __vector signed long long
   2359 vec_pack(__vector signed __int128 __a, __vector signed __int128 __b) {
   2360   __vector signed long long __ac = (__vector signed long long)__a;
   2361   __vector signed long long __bc = (__vector signed long long)__b;
   2362   return (__vector signed long long)(__ac[1], __bc[1]);
   2363 }
   2364 
   2365 static inline __ATTRS_o_ai __vector __bool long long
   2366 vec_pack(__vector __bool __int128 __a, __vector __bool __int128 __b) {
   2367   __vector __bool long long __ac = (__vector __bool long long)__a;
   2368   __vector __bool long long __bc = (__vector __bool long long)__b;
   2369   return (__vector __bool long long)(__ac[1], __bc[1]);
   2370 }
   2371 
   2372 static inline __ATTRS_o_ai __vector unsigned long long
   2373 vec_pack(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   2374   __vector unsigned long long __ac = (__vector unsigned long long)__a;
   2375   __vector unsigned long long __bc = (__vector unsigned long long)__b;
   2376   return (__vector unsigned long long)(__ac[1], __bc[1]);
   2377 }
   2378 
   2379 /*-- vec_packs --------------------------------------------------------------*/
   2380 
   2381 static inline __ATTRS_o_ai __vector signed char
   2382 vec_packs(__vector signed short __a, __vector signed short __b) {
   2383   return __builtin_s390_vpksh(__a, __b);
   2384 }
   2385 
   2386 static inline __ATTRS_o_ai __vector unsigned char
   2387 vec_packs(__vector unsigned short __a, __vector unsigned short __b) {
   2388   return __builtin_s390_vpklsh(__a, __b);
   2389 }
   2390 
   2391 static inline __ATTRS_o_ai __vector signed short
   2392 vec_packs(__vector signed int __a, __vector signed int __b) {
   2393   return __builtin_s390_vpksf(__a, __b);
   2394 }
   2395 
   2396 static inline __ATTRS_o_ai __vector unsigned short
   2397 vec_packs(__vector unsigned int __a, __vector unsigned int __b) {
   2398   return __builtin_s390_vpklsf(__a, __b);
   2399 }
   2400 
   2401 static inline __ATTRS_o_ai __vector signed int
   2402 vec_packs(__vector signed long long __a, __vector signed long long __b) {
   2403   return __builtin_s390_vpksg(__a, __b);
   2404 }
   2405 
   2406 static inline __ATTRS_o_ai __vector unsigned int
   2407 vec_packs(__vector unsigned long long __a, __vector unsigned long long __b) {
   2408   return __builtin_s390_vpklsg(__a, __b);
   2409 }
   2410 
   2411 /*-- vec_packs_cc -----------------------------------------------------------*/
   2412 
   2413 static inline __ATTRS_o_ai __vector signed char
   2414 vec_packs_cc(__vector signed short __a, __vector signed short __b, int *__cc) {
   2415   return __builtin_s390_vpkshs(__a, __b, __cc);
   2416 }
   2417 
   2418 static inline __ATTRS_o_ai __vector unsigned char
   2419 vec_packs_cc(__vector unsigned short __a, __vector unsigned short __b,
   2420              int *__cc) {
   2421   return __builtin_s390_vpklshs(__a, __b, __cc);
   2422 }
   2423 
   2424 static inline __ATTRS_o_ai __vector signed short
   2425 vec_packs_cc(__vector signed int __a, __vector signed int __b, int *__cc) {
   2426   return __builtin_s390_vpksfs(__a, __b, __cc);
   2427 }
   2428 
   2429 static inline __ATTRS_o_ai __vector unsigned short
   2430 vec_packs_cc(__vector unsigned int __a, __vector unsigned int __b, int *__cc) {
   2431   return __builtin_s390_vpklsfs(__a, __b, __cc);
   2432 }
   2433 
   2434 static inline __ATTRS_o_ai __vector signed int
   2435 vec_packs_cc(__vector signed long long __a, __vector signed long long __b,
   2436              int *__cc) {
   2437   return __builtin_s390_vpksgs(__a, __b, __cc);
   2438 }
   2439 
   2440 static inline __ATTRS_o_ai __vector unsigned int
   2441 vec_packs_cc(__vector unsigned long long __a, __vector unsigned long long __b,
   2442              int *__cc) {
   2443   return __builtin_s390_vpklsgs(__a, __b, __cc);
   2444 }
   2445 
   2446 /*-- vec_packsu -------------------------------------------------------------*/
   2447 
   2448 static inline __ATTRS_o_ai __vector unsigned char
   2449 vec_packsu(__vector signed short __a, __vector signed short __b) {
   2450   const __vector signed short __zero = (__vector signed short)0;
   2451   return __builtin_s390_vpklsh(
   2452     (__vector unsigned short)(__a >= __zero) & (__vector unsigned short)__a,
   2453     (__vector unsigned short)(__b >= __zero) & (__vector unsigned short)__b);
   2454 }
   2455 
   2456 static inline __ATTRS_o_ai __vector unsigned char
   2457 vec_packsu(__vector unsigned short __a, __vector unsigned short __b) {
   2458   return __builtin_s390_vpklsh(__a, __b);
   2459 }
   2460 
   2461 static inline __ATTRS_o_ai __vector unsigned short
   2462 vec_packsu(__vector signed int __a, __vector signed int __b) {
   2463   const __vector signed int __zero = (__vector signed int)0;
   2464   return __builtin_s390_vpklsf(
   2465     (__vector unsigned int)(__a >= __zero) & (__vector unsigned int)__a,
   2466     (__vector unsigned int)(__b >= __zero) & (__vector unsigned int)__b);
   2467 }
   2468 
   2469 static inline __ATTRS_o_ai __vector unsigned short
   2470 vec_packsu(__vector unsigned int __a, __vector unsigned int __b) {
   2471   return __builtin_s390_vpklsf(__a, __b);
   2472 }
   2473 
   2474 static inline __ATTRS_o_ai __vector unsigned int
   2475 vec_packsu(__vector signed long long __a, __vector signed long long __b) {
   2476   const __vector signed long long __zero = (__vector signed long long)0;
   2477   return __builtin_s390_vpklsg(
   2478     (__vector unsigned long long)(__a >= __zero) &
   2479     (__vector unsigned long long)__a,
   2480     (__vector unsigned long long)(__b >= __zero) &
   2481     (__vector unsigned long long)__b);
   2482 }
   2483 
   2484 static inline __ATTRS_o_ai __vector unsigned int
   2485 vec_packsu(__vector unsigned long long __a, __vector unsigned long long __b) {
   2486   return __builtin_s390_vpklsg(__a, __b);
   2487 }
   2488 
   2489 /*-- vec_packsu_cc ----------------------------------------------------------*/
   2490 
   2491 static inline __ATTRS_o_ai __vector unsigned char
   2492 vec_packsu_cc(__vector unsigned short __a, __vector unsigned short __b,
   2493               int *__cc) {
   2494   return __builtin_s390_vpklshs(__a, __b, __cc);
   2495 }
   2496 
   2497 static inline __ATTRS_o_ai __vector unsigned short
   2498 vec_packsu_cc(__vector unsigned int __a, __vector unsigned int __b, int *__cc) {
   2499   return __builtin_s390_vpklsfs(__a, __b, __cc);
   2500 }
   2501 
   2502 static inline __ATTRS_o_ai __vector unsigned int
   2503 vec_packsu_cc(__vector unsigned long long __a, __vector unsigned long long __b,
   2504               int *__cc) {
   2505   return __builtin_s390_vpklsgs(__a, __b, __cc);
   2506 }
   2507 
   2508 /*-- vec_unpackh ------------------------------------------------------------*/
   2509 
   2510 static inline __ATTRS_o_ai __vector signed short
   2511 vec_unpackh(__vector signed char __a) {
   2512   return __builtin_s390_vuphb(__a);
   2513 }
   2514 
   2515 static inline __ATTRS_o_ai __vector __bool short
   2516 vec_unpackh(__vector __bool char __a) {
   2517   return ((__vector __bool short)
   2518           __builtin_s390_vuphb((__vector signed char)__a));
   2519 }
   2520 
   2521 static inline __ATTRS_o_ai __vector unsigned short
   2522 vec_unpackh(__vector unsigned char __a) {
   2523   return __builtin_s390_vuplhb(__a);
   2524 }
   2525 
   2526 static inline __ATTRS_o_ai __vector signed int
   2527 vec_unpackh(__vector signed short __a) {
   2528   return __builtin_s390_vuphh(__a);
   2529 }
   2530 
   2531 static inline __ATTRS_o_ai __vector __bool int
   2532 vec_unpackh(__vector __bool short __a) {
   2533   return (__vector __bool int)__builtin_s390_vuphh((__vector signed short)__a);
   2534 }
   2535 
   2536 static inline __ATTRS_o_ai __vector unsigned int
   2537 vec_unpackh(__vector unsigned short __a) {
   2538   return __builtin_s390_vuplhh(__a);
   2539 }
   2540 
   2541 static inline __ATTRS_o_ai __vector signed long long
   2542 vec_unpackh(__vector signed int __a) {
   2543   return __builtin_s390_vuphf(__a);
   2544 }
   2545 
   2546 static inline __ATTRS_o_ai __vector __bool long long
   2547 vec_unpackh(__vector __bool int __a) {
   2548   return ((__vector __bool long long)
   2549           __builtin_s390_vuphf((__vector signed int)__a));
   2550 }
   2551 
   2552 static inline __ATTRS_o_ai __vector unsigned long long
   2553 vec_unpackh(__vector unsigned int __a) {
   2554   return __builtin_s390_vuplhf(__a);
   2555 }
   2556 
   2557 #if __ARCH__ >= 15
   2558 static inline __ATTRS_o_ai __vector signed __int128
   2559 vec_unpackh(__vector signed long long __a) {
   2560   return (__vector signed __int128)__builtin_s390_vuphg(__a);
   2561 }
   2562 
   2563 static inline __ATTRS_o_ai __vector __bool __int128
   2564 vec_unpackh(__vector __bool long long __a) {
   2565   return ((__vector __bool __int128)
   2566           __builtin_s390_vuphg((__vector signed long long)__a));
   2567 }
   2568 
   2569 static inline __ATTRS_o_ai __vector unsigned __int128
   2570 vec_unpackh(__vector unsigned long long __a) {
   2571   return (__vector unsigned __int128)__builtin_s390_vuplhg(__a);
   2572 }
   2573 #endif
   2574 
   2575 /*-- vec_unpackl ------------------------------------------------------------*/
   2576 
   2577 static inline __ATTRS_o_ai __vector signed short
   2578 vec_unpackl(__vector signed char __a) {
   2579   return __builtin_s390_vuplb(__a);
   2580 }
   2581 
   2582 static inline __ATTRS_o_ai __vector __bool short
   2583 vec_unpackl(__vector __bool char __a) {
   2584   return ((__vector __bool short)
   2585           __builtin_s390_vuplb((__vector signed char)__a));
   2586 }
   2587 
   2588 static inline __ATTRS_o_ai __vector unsigned short
   2589 vec_unpackl(__vector unsigned char __a) {
   2590   return __builtin_s390_vupllb(__a);
   2591 }
   2592 
   2593 static inline __ATTRS_o_ai __vector signed int
   2594 vec_unpackl(__vector signed short __a) {
   2595   return __builtin_s390_vuplhw(__a);
   2596 }
   2597 
   2598 static inline __ATTRS_o_ai __vector __bool int
   2599 vec_unpackl(__vector __bool short __a) {
   2600   return ((__vector __bool int)
   2601           __builtin_s390_vuplhw((__vector signed short)__a));
   2602 }
   2603 
   2604 static inline __ATTRS_o_ai __vector unsigned int
   2605 vec_unpackl(__vector unsigned short __a) {
   2606   return __builtin_s390_vupllh(__a);
   2607 }
   2608 
   2609 static inline __ATTRS_o_ai __vector signed long long
   2610 vec_unpackl(__vector signed int __a) {
   2611   return __builtin_s390_vuplf(__a);
   2612 }
   2613 
   2614 static inline __ATTRS_o_ai __vector __bool long long
   2615 vec_unpackl(__vector __bool int __a) {
   2616   return ((__vector __bool long long)
   2617           __builtin_s390_vuplf((__vector signed int)__a));
   2618 }
   2619 
   2620 static inline __ATTRS_o_ai __vector unsigned long long
   2621 vec_unpackl(__vector unsigned int __a) {
   2622   return __builtin_s390_vupllf(__a);
   2623 }
   2624 
   2625 #if __ARCH__ >= 15
   2626 static inline __ATTRS_o_ai __vector signed __int128
   2627 vec_unpackl(__vector signed long long __a) {
   2628   return (__vector signed __int128)__builtin_s390_vuplg(__a);
   2629 }
   2630 
   2631 static inline __ATTRS_o_ai __vector __bool __int128
   2632 vec_unpackl(__vector __bool long long __a) {
   2633   return ((__vector __bool __int128)
   2634           __builtin_s390_vuplg((__vector signed long long)__a));
   2635 }
   2636 
   2637 static inline __ATTRS_o_ai __vector unsigned __int128
   2638 vec_unpackl(__vector unsigned long long __a) {
   2639   return (__vector unsigned __int128)__builtin_s390_vupllg(__a);
   2640 }
   2641 #endif
   2642 
   2643 /*-- vec_cmpeq --------------------------------------------------------------*/
   2644 
   2645 static inline __ATTRS_o_ai __vector __bool char
   2646 vec_cmpeq(__vector __bool char __a, __vector __bool char __b) {
   2647   return (__vector __bool char)(__a == __b);
   2648 }
   2649 
   2650 static inline __ATTRS_o_ai __vector __bool char
   2651 vec_cmpeq(__vector signed char __a, __vector signed char __b) {
   2652   return (__vector __bool char)(__a == __b);
   2653 }
   2654 
   2655 static inline __ATTRS_o_ai __vector __bool char
   2656 vec_cmpeq(__vector unsigned char __a, __vector unsigned char __b) {
   2657   return (__vector __bool char)(__a == __b);
   2658 }
   2659 
   2660 static inline __ATTRS_o_ai __vector __bool short
   2661 vec_cmpeq(__vector __bool short __a, __vector __bool short __b) {
   2662   return (__vector __bool short)(__a == __b);
   2663 }
   2664 
   2665 static inline __ATTRS_o_ai __vector __bool short
   2666 vec_cmpeq(__vector signed short __a, __vector signed short __b) {
   2667   return (__vector __bool short)(__a == __b);
   2668 }
   2669 
   2670 static inline __ATTRS_o_ai __vector __bool short
   2671 vec_cmpeq(__vector unsigned short __a, __vector unsigned short __b) {
   2672   return (__vector __bool short)(__a == __b);
   2673 }
   2674 
   2675 static inline __ATTRS_o_ai __vector __bool int
   2676 vec_cmpeq(__vector __bool int __a, __vector __bool int __b) {
   2677   return (__vector __bool int)(__a == __b);
   2678 }
   2679 
   2680 static inline __ATTRS_o_ai __vector __bool int
   2681 vec_cmpeq(__vector signed int __a, __vector signed int __b) {
   2682   return (__vector __bool int)(__a == __b);
   2683 }
   2684 
   2685 static inline __ATTRS_o_ai __vector __bool int
   2686 vec_cmpeq(__vector unsigned int __a, __vector unsigned int __b) {
   2687   return (__vector __bool int)(__a == __b);
   2688 }
   2689 
   2690 static inline __ATTRS_o_ai __vector __bool long long
   2691 vec_cmpeq(__vector __bool long long __a, __vector __bool long long __b) {
   2692   return (__vector __bool long long)(__a == __b);
   2693 }
   2694 
   2695 static inline __ATTRS_o_ai __vector __bool long long
   2696 vec_cmpeq(__vector signed long long __a, __vector signed long long __b) {
   2697   return (__vector __bool long long)(__a == __b);
   2698 }
   2699 
   2700 static inline __ATTRS_o_ai __vector __bool long long
   2701 vec_cmpeq(__vector unsigned long long __a, __vector unsigned long long __b) {
   2702   return (__vector __bool long long)(__a == __b);
   2703 }
   2704 
   2705 static inline __ATTRS_o_ai __vector __bool __int128
   2706 vec_cmpeq(__vector __bool __int128 __a, __vector __bool __int128 __b) {
   2707   return (__vector __bool __int128)(__a == __b);
   2708 }
   2709 
   2710 static inline __ATTRS_o_ai __vector __bool __int128
   2711 vec_cmpeq(__vector signed __int128 __a, __vector signed __int128 __b) {
   2712   return (__vector __bool __int128)(__a == __b);
   2713 }
   2714 
   2715 static inline __ATTRS_o_ai __vector __bool __int128
   2716 vec_cmpeq(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   2717   return (__vector __bool __int128)(__a == __b);
   2718 }
   2719 
   2720 #if __ARCH__ >= 12
   2721 static inline __ATTRS_o_ai __vector __bool int
   2722 vec_cmpeq(__vector float __a, __vector float __b) {
   2723   return (__vector __bool int)(__a == __b);
   2724 }
   2725 #endif
   2726 
   2727 static inline __ATTRS_o_ai __vector __bool long long
   2728 vec_cmpeq(__vector double __a, __vector double __b) {
   2729   return (__vector __bool long long)(__a == __b);
   2730 }
   2731 
   2732 /*-- vec_cmpge --------------------------------------------------------------*/
   2733 
   2734 static inline __ATTRS_o_ai __vector __bool char
   2735 vec_cmpge(__vector signed char __a, __vector signed char __b) {
   2736   return (__vector __bool char)(__a >= __b);
   2737 }
   2738 
   2739 static inline __ATTRS_o_ai __vector __bool char
   2740 vec_cmpge(__vector unsigned char __a, __vector unsigned char __b) {
   2741   return (__vector __bool char)(__a >= __b);
   2742 }
   2743 
   2744 static inline __ATTRS_o_ai __vector __bool short
   2745 vec_cmpge(__vector signed short __a, __vector signed short __b) {
   2746   return (__vector __bool short)(__a >= __b);
   2747 }
   2748 
   2749 static inline __ATTRS_o_ai __vector __bool short
   2750 vec_cmpge(__vector unsigned short __a, __vector unsigned short __b) {
   2751   return (__vector __bool short)(__a >= __b);
   2752 }
   2753 
   2754 static inline __ATTRS_o_ai __vector __bool int
   2755 vec_cmpge(__vector signed int __a, __vector signed int __b) {
   2756   return (__vector __bool int)(__a >= __b);
   2757 }
   2758 
   2759 static inline __ATTRS_o_ai __vector __bool int
   2760 vec_cmpge(__vector unsigned int __a, __vector unsigned int __b) {
   2761   return (__vector __bool int)(__a >= __b);
   2762 }
   2763 
   2764 static inline __ATTRS_o_ai __vector __bool long long
   2765 vec_cmpge(__vector signed long long __a, __vector signed long long __b) {
   2766   return (__vector __bool long long)(__a >= __b);
   2767 }
   2768 
   2769 static inline __ATTRS_o_ai __vector __bool long long
   2770 vec_cmpge(__vector unsigned long long __a, __vector unsigned long long __b) {
   2771   return (__vector __bool long long)(__a >= __b);
   2772 }
   2773 
   2774 static inline __ATTRS_o_ai __vector __bool __int128
   2775 vec_cmpge(__vector signed __int128 __a, __vector signed __int128 __b) {
   2776   return (__vector __bool __int128)(__a >= __b);
   2777 }
   2778 
   2779 static inline __ATTRS_o_ai __vector __bool __int128
   2780 vec_cmpge(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   2781   return (__vector __bool __int128)(__a >= __b);
   2782 }
   2783 
   2784 #if __ARCH__ >= 12
   2785 static inline __ATTRS_o_ai __vector __bool int
   2786 vec_cmpge(__vector float __a, __vector float __b) {
   2787   return (__vector __bool int)(__a >= __b);
   2788 }
   2789 #endif
   2790 
   2791 static inline __ATTRS_o_ai __vector __bool long long
   2792 vec_cmpge(__vector double __a, __vector double __b) {
   2793   return (__vector __bool long long)(__a >= __b);
   2794 }
   2795 
   2796 /*-- vec_cmpgt --------------------------------------------------------------*/
   2797 
   2798 static inline __ATTRS_o_ai __vector __bool char
   2799 vec_cmpgt(__vector signed char __a, __vector signed char __b) {
   2800   return (__vector __bool char)(__a > __b);
   2801 }
   2802 
   2803 static inline __ATTRS_o_ai __vector __bool char
   2804 vec_cmpgt(__vector unsigned char __a, __vector unsigned char __b) {
   2805   return (__vector __bool char)(__a > __b);
   2806 }
   2807 
   2808 static inline __ATTRS_o_ai __vector __bool short
   2809 vec_cmpgt(__vector signed short __a, __vector signed short __b) {
   2810   return (__vector __bool short)(__a > __b);
   2811 }
   2812 
   2813 static inline __ATTRS_o_ai __vector __bool short
   2814 vec_cmpgt(__vector unsigned short __a, __vector unsigned short __b) {
   2815   return (__vector __bool short)(__a > __b);
   2816 }
   2817 
   2818 static inline __ATTRS_o_ai __vector __bool int
   2819 vec_cmpgt(__vector signed int __a, __vector signed int __b) {
   2820   return (__vector __bool int)(__a > __b);
   2821 }
   2822 
   2823 static inline __ATTRS_o_ai __vector __bool int
   2824 vec_cmpgt(__vector unsigned int __a, __vector unsigned int __b) {
   2825   return (__vector __bool int)(__a > __b);
   2826 }
   2827 
   2828 static inline __ATTRS_o_ai __vector __bool long long
   2829 vec_cmpgt(__vector signed long long __a, __vector signed long long __b) {
   2830   return (__vector __bool long long)(__a > __b);
   2831 }
   2832 
   2833 static inline __ATTRS_o_ai __vector __bool long long
   2834 vec_cmpgt(__vector unsigned long long __a, __vector unsigned long long __b) {
   2835   return (__vector __bool long long)(__a > __b);
   2836 }
   2837 
   2838 static inline __ATTRS_o_ai __vector __bool __int128
   2839 vec_cmpgt(__vector signed __int128 __a, __vector signed __int128 __b) {
   2840   return (__vector __bool __int128)(__a > __b);
   2841 }
   2842 
   2843 static inline __ATTRS_o_ai __vector __bool __int128
   2844 vec_cmpgt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   2845   return (__vector __bool __int128)(__a > __b);
   2846 }
   2847 
   2848 #if __ARCH__ >= 12
   2849 static inline __ATTRS_o_ai __vector __bool int
   2850 vec_cmpgt(__vector float __a, __vector float __b) {
   2851   return (__vector __bool int)(__a > __b);
   2852 }
   2853 #endif
   2854 
   2855 static inline __ATTRS_o_ai __vector __bool long long
   2856 vec_cmpgt(__vector double __a, __vector double __b) {
   2857   return (__vector __bool long long)(__a > __b);
   2858 }
   2859 
   2860 /*-- vec_cmple --------------------------------------------------------------*/
   2861 
   2862 static inline __ATTRS_o_ai __vector __bool char
   2863 vec_cmple(__vector signed char __a, __vector signed char __b) {
   2864   return (__vector __bool char)(__a <= __b);
   2865 }
   2866 
   2867 static inline __ATTRS_o_ai __vector __bool char
   2868 vec_cmple(__vector unsigned char __a, __vector unsigned char __b) {
   2869   return (__vector __bool char)(__a <= __b);
   2870 }
   2871 
   2872 static inline __ATTRS_o_ai __vector __bool short
   2873 vec_cmple(__vector signed short __a, __vector signed short __b) {
   2874   return (__vector __bool short)(__a <= __b);
   2875 }
   2876 
   2877 static inline __ATTRS_o_ai __vector __bool short
   2878 vec_cmple(__vector unsigned short __a, __vector unsigned short __b) {
   2879   return (__vector __bool short)(__a <= __b);
   2880 }
   2881 
   2882 static inline __ATTRS_o_ai __vector __bool int
   2883 vec_cmple(__vector signed int __a, __vector signed int __b) {
   2884   return (__vector __bool int)(__a <= __b);
   2885 }
   2886 
   2887 static inline __ATTRS_o_ai __vector __bool int
   2888 vec_cmple(__vector unsigned int __a, __vector unsigned int __b) {
   2889   return (__vector __bool int)(__a <= __b);
   2890 }
   2891 
   2892 static inline __ATTRS_o_ai __vector __bool long long
   2893 vec_cmple(__vector signed long long __a, __vector signed long long __b) {
   2894   return (__vector __bool long long)(__a <= __b);
   2895 }
   2896 
   2897 static inline __ATTRS_o_ai __vector __bool long long
   2898 vec_cmple(__vector unsigned long long __a, __vector unsigned long long __b) {
   2899   return (__vector __bool long long)(__a <= __b);
   2900 }
   2901 
   2902 static inline __ATTRS_o_ai __vector __bool __int128
   2903 vec_cmple(__vector signed __int128 __a, __vector signed __int128 __b) {
   2904   return (__vector __bool __int128)(__a <= __b);
   2905 }
   2906 
   2907 static inline __ATTRS_o_ai __vector __bool __int128
   2908 vec_cmple(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   2909   return (__vector __bool __int128)(__a <= __b);
   2910 }
   2911 
   2912 #if __ARCH__ >= 12
   2913 static inline __ATTRS_o_ai __vector __bool int
   2914 vec_cmple(__vector float __a, __vector float __b) {
   2915   return (__vector __bool int)(__a <= __b);
   2916 }
   2917 #endif
   2918 
   2919 static inline __ATTRS_o_ai __vector __bool long long
   2920 vec_cmple(__vector double __a, __vector double __b) {
   2921   return (__vector __bool long long)(__a <= __b);
   2922 }
   2923 
   2924 /*-- vec_cmplt --------------------------------------------------------------*/
   2925 
   2926 static inline __ATTRS_o_ai __vector __bool char
   2927 vec_cmplt(__vector signed char __a, __vector signed char __b) {
   2928   return (__vector __bool char)(__a < __b);
   2929 }
   2930 
   2931 static inline __ATTRS_o_ai __vector __bool char
   2932 vec_cmplt(__vector unsigned char __a, __vector unsigned char __b) {
   2933   return (__vector __bool char)(__a < __b);
   2934 }
   2935 
   2936 static inline __ATTRS_o_ai __vector __bool short
   2937 vec_cmplt(__vector signed short __a, __vector signed short __b) {
   2938   return (__vector __bool short)(__a < __b);
   2939 }
   2940 
   2941 static inline __ATTRS_o_ai __vector __bool short
   2942 vec_cmplt(__vector unsigned short __a, __vector unsigned short __b) {
   2943   return (__vector __bool short)(__a < __b);
   2944 }
   2945 
   2946 static inline __ATTRS_o_ai __vector __bool int
   2947 vec_cmplt(__vector signed int __a, __vector signed int __b) {
   2948   return (__vector __bool int)(__a < __b);
   2949 }
   2950 
   2951 static inline __ATTRS_o_ai __vector __bool int
   2952 vec_cmplt(__vector unsigned int __a, __vector unsigned int __b) {
   2953   return (__vector __bool int)(__a < __b);
   2954 }
   2955 
   2956 static inline __ATTRS_o_ai __vector __bool long long
   2957 vec_cmplt(__vector signed long long __a, __vector signed long long __b) {
   2958   return (__vector __bool long long)(__a < __b);
   2959 }
   2960 
   2961 static inline __ATTRS_o_ai __vector __bool long long
   2962 vec_cmplt(__vector unsigned long long __a, __vector unsigned long long __b) {
   2963   return (__vector __bool long long)(__a < __b);
   2964 }
   2965 
   2966 static inline __ATTRS_o_ai __vector __bool __int128
   2967 vec_cmplt(__vector signed __int128 __a, __vector signed __int128 __b) {
   2968   return (__vector __bool __int128)(__a < __b);
   2969 }
   2970 
   2971 static inline __ATTRS_o_ai __vector __bool __int128
   2972 vec_cmplt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   2973   return (__vector __bool __int128)(__a < __b);
   2974 }
   2975 
   2976 #if __ARCH__ >= 12
   2977 static inline __ATTRS_o_ai __vector __bool int
   2978 vec_cmplt(__vector float __a, __vector float __b) {
   2979   return (__vector __bool int)(__a < __b);
   2980 }
   2981 #endif
   2982 
   2983 static inline __ATTRS_o_ai __vector __bool long long
   2984 vec_cmplt(__vector double __a, __vector double __b) {
   2985   return (__vector __bool long long)(__a < __b);
   2986 }
   2987 
   2988 /*-- vec_all_eq -------------------------------------------------------------*/
   2989 
   2990 static inline __ATTRS_o_ai int
   2991 vec_all_eq(__vector signed char __a, __vector signed char __b) {
   2992   int __cc;
   2993   __builtin_s390_vceqbs((__vector unsigned char)__a,
   2994                         (__vector unsigned char)__b, &__cc);
   2995   return __cc == 0;
   2996 }
   2997 
   2998 // This prototype is deprecated.
   2999 static inline __ATTRS_o_ai int
   3000 vec_all_eq(__vector signed char __a, __vector __bool char __b) {
   3001   int __cc;
   3002   __builtin_s390_vceqbs((__vector unsigned char)__a,
   3003                         (__vector unsigned char)__b, &__cc);
   3004   return __cc == 0;
   3005 }
   3006 
   3007 // This prototype is deprecated.
   3008 static inline __ATTRS_o_ai int
   3009 vec_all_eq(__vector __bool char __a, __vector signed char __b) {
   3010   int __cc;
   3011   __builtin_s390_vceqbs((__vector unsigned char)__a,
   3012                         (__vector unsigned char)__b, &__cc);
   3013   return __cc == 0;
   3014 }
   3015 
   3016 static inline __ATTRS_o_ai int
   3017 vec_all_eq(__vector unsigned char __a, __vector unsigned char __b) {
   3018   int __cc;
   3019   __builtin_s390_vceqbs(__a, __b, &__cc);
   3020   return __cc == 0;
   3021 }
   3022 
   3023 // This prototype is deprecated.
   3024 static inline __ATTRS_o_ai int
   3025 vec_all_eq(__vector unsigned char __a, __vector __bool char __b) {
   3026   int __cc;
   3027   __builtin_s390_vceqbs(__a, (__vector unsigned char)__b, &__cc);
   3028   return __cc == 0;
   3029 }
   3030 
   3031 // This prototype is deprecated.
   3032 static inline __ATTRS_o_ai int
   3033 vec_all_eq(__vector __bool char __a, __vector unsigned char __b) {
   3034   int __cc;
   3035   __builtin_s390_vceqbs((__vector unsigned char)__a, __b, &__cc);
   3036   return __cc == 0;
   3037 }
   3038 
   3039 static inline __ATTRS_o_ai int
   3040 vec_all_eq(__vector __bool char __a, __vector __bool char __b) {
   3041   int __cc;
   3042   __builtin_s390_vceqbs((__vector unsigned char)__a,
   3043                         (__vector unsigned char)__b, &__cc);
   3044   return __cc == 0;
   3045 }
   3046 
   3047 static inline __ATTRS_o_ai int
   3048 vec_all_eq(__vector signed short __a, __vector signed short __b) {
   3049   int __cc;
   3050   __builtin_s390_vceqhs((__vector unsigned short)__a,
   3051                         (__vector unsigned short)__b, &__cc);
   3052   return __cc == 0;
   3053 }
   3054 
   3055 // This prototype is deprecated.
   3056 static inline __ATTRS_o_ai int
   3057 vec_all_eq(__vector signed short __a, __vector __bool short __b) {
   3058   int __cc;
   3059   __builtin_s390_vceqhs((__vector unsigned short)__a,
   3060                         (__vector unsigned short)__b, &__cc);
   3061   return __cc == 0;
   3062 }
   3063 
   3064 // This prototype is deprecated.
   3065 static inline __ATTRS_o_ai int
   3066 vec_all_eq(__vector __bool short __a, __vector signed short __b) {
   3067   int __cc;
   3068   __builtin_s390_vceqhs((__vector unsigned short)__a,
   3069                         (__vector unsigned short)__b, &__cc);
   3070   return __cc == 0;
   3071 }
   3072 
   3073 static inline __ATTRS_o_ai int
   3074 vec_all_eq(__vector unsigned short __a, __vector unsigned short __b) {
   3075   int __cc;
   3076   __builtin_s390_vceqhs(__a, __b, &__cc);
   3077   return __cc == 0;
   3078 }
   3079 
   3080 // This prototype is deprecated.
   3081 static inline __ATTRS_o_ai int
   3082 vec_all_eq(__vector unsigned short __a, __vector __bool short __b) {
   3083   int __cc;
   3084   __builtin_s390_vceqhs(__a, (__vector unsigned short)__b, &__cc);
   3085   return __cc == 0;
   3086 }
   3087 
   3088 // This prototype is deprecated.
   3089 static inline __ATTRS_o_ai int
   3090 vec_all_eq(__vector __bool short __a, __vector unsigned short __b) {
   3091   int __cc;
   3092   __builtin_s390_vceqhs((__vector unsigned short)__a, __b, &__cc);
   3093   return __cc == 0;
   3094 }
   3095 
   3096 static inline __ATTRS_o_ai int
   3097 vec_all_eq(__vector __bool short __a, __vector __bool short __b) {
   3098   int __cc;
   3099   __builtin_s390_vceqhs((__vector unsigned short)__a,
   3100                         (__vector unsigned short)__b, &__cc);
   3101   return __cc == 0;
   3102 }
   3103 
   3104 static inline __ATTRS_o_ai int
   3105 vec_all_eq(__vector signed int __a, __vector signed int __b) {
   3106   int __cc;
   3107   __builtin_s390_vceqfs((__vector unsigned int)__a,
   3108                         (__vector unsigned int)__b, &__cc);
   3109   return __cc == 0;
   3110 }
   3111 
   3112 // This prototype is deprecated.
   3113 static inline __ATTRS_o_ai int
   3114 vec_all_eq(__vector signed int __a, __vector __bool int __b) {
   3115   int __cc;
   3116   __builtin_s390_vceqfs((__vector unsigned int)__a,
   3117                         (__vector unsigned int)__b, &__cc);
   3118   return __cc == 0;
   3119 }
   3120 
   3121 // This prototype is deprecated.
   3122 static inline __ATTRS_o_ai int
   3123 vec_all_eq(__vector __bool int __a, __vector signed int __b) {
   3124   int __cc;
   3125   __builtin_s390_vceqfs((__vector unsigned int)__a,
   3126                         (__vector unsigned int)__b, &__cc);
   3127   return __cc == 0;
   3128 }
   3129 
   3130 static inline __ATTRS_o_ai int
   3131 vec_all_eq(__vector unsigned int __a, __vector unsigned int __b) {
   3132   int __cc;
   3133   __builtin_s390_vceqfs(__a, __b, &__cc);
   3134   return __cc == 0;
   3135 }
   3136 
   3137 // This prototype is deprecated.
   3138 static inline __ATTRS_o_ai int
   3139 vec_all_eq(__vector unsigned int __a, __vector __bool int __b) {
   3140   int __cc;
   3141   __builtin_s390_vceqfs(__a, (__vector unsigned int)__b, &__cc);
   3142   return __cc == 0;
   3143 }
   3144 
   3145 // This prototype is deprecated.
   3146 static inline __ATTRS_o_ai int
   3147 vec_all_eq(__vector __bool int __a, __vector unsigned int __b) {
   3148   int __cc;
   3149   __builtin_s390_vceqfs((__vector unsigned int)__a, __b, &__cc);
   3150   return __cc == 0;
   3151 }
   3152 
   3153 static inline __ATTRS_o_ai int
   3154 vec_all_eq(__vector __bool int __a, __vector __bool int __b) {
   3155   int __cc;
   3156   __builtin_s390_vceqfs((__vector unsigned int)__a,
   3157                         (__vector unsigned int)__b, &__cc);
   3158   return __cc == 0;
   3159 }
   3160 
   3161 static inline __ATTRS_o_ai int
   3162 vec_all_eq(__vector signed long long __a, __vector signed long long __b) {
   3163   int __cc;
   3164   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   3165                         (__vector unsigned long long)__b, &__cc);
   3166   return __cc == 0;
   3167 }
   3168 
   3169 // This prototype is deprecated.
   3170 static inline __ATTRS_o_ai int
   3171 vec_all_eq(__vector signed long long __a, __vector __bool long long __b) {
   3172   int __cc;
   3173   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   3174                         (__vector unsigned long long)__b, &__cc);
   3175   return __cc == 0;
   3176 }
   3177 
   3178 // This prototype is deprecated.
   3179 static inline __ATTRS_o_ai int
   3180 vec_all_eq(__vector __bool long long __a, __vector signed long long __b) {
   3181   int __cc;
   3182   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   3183                         (__vector unsigned long long)__b, &__cc);
   3184   return __cc == 0;
   3185 }
   3186 
   3187 static inline __ATTRS_o_ai int
   3188 vec_all_eq(__vector unsigned long long __a, __vector unsigned long long __b) {
   3189   int __cc;
   3190   __builtin_s390_vceqgs(__a, __b, &__cc);
   3191   return __cc == 0;
   3192 }
   3193 
   3194 // This prototype is deprecated.
   3195 static inline __ATTRS_o_ai int
   3196 vec_all_eq(__vector unsigned long long __a, __vector __bool long long __b) {
   3197   int __cc;
   3198   __builtin_s390_vceqgs(__a, (__vector unsigned long long)__b, &__cc);
   3199   return __cc == 0;
   3200 }
   3201 
   3202 // This prototype is deprecated.
   3203 static inline __ATTRS_o_ai int
   3204 vec_all_eq(__vector __bool long long __a, __vector unsigned long long __b) {
   3205   int __cc;
   3206   __builtin_s390_vceqgs((__vector unsigned long long)__a, __b, &__cc);
   3207   return __cc == 0;
   3208 }
   3209 
   3210 static inline __ATTRS_o_ai int
   3211 vec_all_eq(__vector __bool long long __a, __vector __bool long long __b) {
   3212   int __cc;
   3213   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   3214                         (__vector unsigned long long)__b, &__cc);
   3215   return __cc == 0;
   3216 }
   3217 
   3218 #if __ARCH__ >= 15
   3219 static inline __ATTRS_o_ai int
   3220 vec_all_eq(__vector signed __int128 __a, __vector signed __int128 __b) {
   3221   int __cc;
   3222   __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   3223   return __cc == 0;
   3224 }
   3225 
   3226 static inline __ATTRS_o_ai int
   3227 vec_all_eq(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   3228   int __cc;
   3229   __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   3230   return __cc == 0;
   3231 }
   3232 
   3233 static inline __ATTRS_o_ai int
   3234 vec_all_eq(__vector __bool __int128 __a, __vector __bool __int128 __b) {
   3235   int __cc;
   3236   __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   3237   return __cc == 0;
   3238 }
   3239 #endif
   3240 
   3241 #if __ARCH__ >= 12
   3242 static inline __ATTRS_o_ai int
   3243 vec_all_eq(__vector float __a, __vector float __b) {
   3244   int __cc;
   3245   __builtin_s390_vfcesbs(__a, __b, &__cc);
   3246   return __cc == 0;
   3247 }
   3248 #endif
   3249 
   3250 static inline __ATTRS_o_ai int
   3251 vec_all_eq(__vector double __a, __vector double __b) {
   3252   int __cc;
   3253   __builtin_s390_vfcedbs(__a, __b, &__cc);
   3254   return __cc == 0;
   3255 }
   3256 
   3257 /*-- vec_all_ne -------------------------------------------------------------*/
   3258 
   3259 static inline __ATTRS_o_ai int
   3260 vec_all_ne(__vector signed char __a, __vector signed char __b) {
   3261   int __cc;
   3262   __builtin_s390_vceqbs((__vector unsigned char)__a,
   3263                         (__vector unsigned char)__b, &__cc);
   3264   return __cc == 3;
   3265 }
   3266 
   3267 // This prototype is deprecated.
   3268 static inline __ATTRS_o_ai int
   3269 vec_all_ne(__vector signed char __a, __vector __bool char __b) {
   3270   int __cc;
   3271   __builtin_s390_vceqbs((__vector unsigned char)__a,
   3272                         (__vector unsigned char)__b, &__cc);
   3273   return __cc == 3;
   3274 }
   3275 
   3276 // This prototype is deprecated.
   3277 static inline __ATTRS_o_ai int
   3278 vec_all_ne(__vector __bool char __a, __vector signed char __b) {
   3279   int __cc;
   3280   __builtin_s390_vceqbs((__vector unsigned char)__a,
   3281                         (__vector unsigned char)__b, &__cc);
   3282   return __cc == 3;
   3283 }
   3284 
   3285 static inline __ATTRS_o_ai int
   3286 vec_all_ne(__vector unsigned char __a, __vector unsigned char __b) {
   3287   int __cc;
   3288   __builtin_s390_vceqbs((__vector unsigned char)__a,
   3289                         (__vector unsigned char)__b, &__cc);
   3290   return __cc == 3;
   3291 }
   3292 
   3293 // This prototype is deprecated.
   3294 static inline __ATTRS_o_ai int
   3295 vec_all_ne(__vector unsigned char __a, __vector __bool char __b) {
   3296   int __cc;
   3297   __builtin_s390_vceqbs(__a, (__vector unsigned char)__b, &__cc);
   3298   return __cc == 3;
   3299 }
   3300 
   3301 // This prototype is deprecated.
   3302 static inline __ATTRS_o_ai int
   3303 vec_all_ne(__vector __bool char __a, __vector unsigned char __b) {
   3304   int __cc;
   3305   __builtin_s390_vceqbs((__vector unsigned char)__a, __b, &__cc);
   3306   return __cc == 3;
   3307 }
   3308 
   3309 static inline __ATTRS_o_ai int
   3310 vec_all_ne(__vector __bool char __a, __vector __bool char __b) {
   3311   int __cc;
   3312   __builtin_s390_vceqbs((__vector unsigned char)__a,
   3313                         (__vector unsigned char)__b, &__cc);
   3314   return __cc == 3;
   3315 }
   3316 
   3317 static inline __ATTRS_o_ai int
   3318 vec_all_ne(__vector signed short __a, __vector signed short __b) {
   3319   int __cc;
   3320   __builtin_s390_vceqhs((__vector unsigned short)__a,
   3321                         (__vector unsigned short)__b, &__cc);
   3322   return __cc == 3;
   3323 }
   3324 
   3325 // This prototype is deprecated.
   3326 static inline __ATTRS_o_ai int
   3327 vec_all_ne(__vector signed short __a, __vector __bool short __b) {
   3328   int __cc;
   3329   __builtin_s390_vceqhs((__vector unsigned short)__a,
   3330                         (__vector unsigned short)__b, &__cc);
   3331   return __cc == 3;
   3332 }
   3333 
   3334 // This prototype is deprecated.
   3335 static inline __ATTRS_o_ai int
   3336 vec_all_ne(__vector __bool short __a, __vector signed short __b) {
   3337   int __cc;
   3338   __builtin_s390_vceqhs((__vector unsigned short)__a,
   3339                         (__vector unsigned short)__b, &__cc);
   3340   return __cc == 3;
   3341 }
   3342 
   3343 static inline __ATTRS_o_ai int
   3344 vec_all_ne(__vector unsigned short __a, __vector unsigned short __b) {
   3345   int __cc;
   3346   __builtin_s390_vceqhs(__a, __b, &__cc);
   3347   return __cc == 3;
   3348 }
   3349 
   3350 // This prototype is deprecated.
   3351 static inline __ATTRS_o_ai int
   3352 vec_all_ne(__vector unsigned short __a, __vector __bool short __b) {
   3353   int __cc;
   3354   __builtin_s390_vceqhs(__a, (__vector unsigned short)__b, &__cc);
   3355   return __cc == 3;
   3356 }
   3357 
   3358 // This prototype is deprecated.
   3359 static inline __ATTRS_o_ai int
   3360 vec_all_ne(__vector __bool short __a, __vector unsigned short __b) {
   3361   int __cc;
   3362   __builtin_s390_vceqhs((__vector unsigned short)__a, __b, &__cc);
   3363   return __cc == 3;
   3364 }
   3365 
   3366 static inline __ATTRS_o_ai int
   3367 vec_all_ne(__vector __bool short __a, __vector __bool short __b) {
   3368   int __cc;
   3369   __builtin_s390_vceqhs((__vector unsigned short)__a,
   3370                         (__vector unsigned short)__b, &__cc);
   3371   return __cc == 3;
   3372 }
   3373 
   3374 static inline __ATTRS_o_ai int
   3375 vec_all_ne(__vector signed int __a, __vector signed int __b) {
   3376   int __cc;
   3377   __builtin_s390_vceqfs((__vector unsigned int)__a,
   3378                         (__vector unsigned int)__b, &__cc);
   3379   return __cc == 3;
   3380 }
   3381 
   3382 // This prototype is deprecated.
   3383 static inline __ATTRS_o_ai int
   3384 vec_all_ne(__vector signed int __a, __vector __bool int __b) {
   3385   int __cc;
   3386   __builtin_s390_vceqfs((__vector unsigned int)__a,
   3387                         (__vector unsigned int)__b, &__cc);
   3388   return __cc == 3;
   3389 }
   3390 
   3391 // This prototype is deprecated.
   3392 static inline __ATTRS_o_ai int
   3393 vec_all_ne(__vector __bool int __a, __vector signed int __b) {
   3394   int __cc;
   3395   __builtin_s390_vceqfs((__vector unsigned int)__a,
   3396                         (__vector unsigned int)__b, &__cc);
   3397   return __cc == 3;
   3398 }
   3399 
   3400 static inline __ATTRS_o_ai int
   3401 vec_all_ne(__vector unsigned int __a, __vector unsigned int __b) {
   3402   int __cc;
   3403   __builtin_s390_vceqfs(__a, __b, &__cc);
   3404   return __cc == 3;
   3405 }
   3406 
   3407 // This prototype is deprecated.
   3408 static inline __ATTRS_o_ai int
   3409 vec_all_ne(__vector unsigned int __a, __vector __bool int __b) {
   3410   int __cc;
   3411   __builtin_s390_vceqfs(__a, (__vector unsigned int)__b, &__cc);
   3412   return __cc == 3;
   3413 }
   3414 
   3415 // This prototype is deprecated.
   3416 static inline __ATTRS_o_ai int
   3417 vec_all_ne(__vector __bool int __a, __vector unsigned int __b) {
   3418   int __cc;
   3419   __builtin_s390_vceqfs((__vector unsigned int)__a, __b, &__cc);
   3420   return __cc == 3;
   3421 }
   3422 
   3423 static inline __ATTRS_o_ai int
   3424 vec_all_ne(__vector __bool int __a, __vector __bool int __b) {
   3425   int __cc;
   3426   __builtin_s390_vceqfs((__vector unsigned int)__a,
   3427                         (__vector unsigned int)__b, &__cc);
   3428   return __cc == 3;
   3429 }
   3430 
   3431 static inline __ATTRS_o_ai int
   3432 vec_all_ne(__vector signed long long __a, __vector signed long long __b) {
   3433   int __cc;
   3434   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   3435                         (__vector unsigned long long)__b, &__cc);
   3436   return __cc == 3;
   3437 }
   3438 
   3439 // This prototype is deprecated.
   3440 static inline __ATTRS_o_ai int
   3441 vec_all_ne(__vector signed long long __a, __vector __bool long long __b) {
   3442   int __cc;
   3443   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   3444                         (__vector unsigned long long)__b, &__cc);
   3445   return __cc == 3;
   3446 }
   3447 
   3448 // This prototype is deprecated.
   3449 static inline __ATTRS_o_ai int
   3450 vec_all_ne(__vector __bool long long __a, __vector signed long long __b) {
   3451   int __cc;
   3452   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   3453                         (__vector unsigned long long)__b, &__cc);
   3454   return __cc == 3;
   3455 }
   3456 
   3457 static inline __ATTRS_o_ai int
   3458 vec_all_ne(__vector unsigned long long __a, __vector unsigned long long __b) {
   3459   int __cc;
   3460   __builtin_s390_vceqgs(__a, __b, &__cc);
   3461   return __cc == 3;
   3462 }
   3463 
   3464 // This prototype is deprecated.
   3465 static inline __ATTRS_o_ai int
   3466 vec_all_ne(__vector unsigned long long __a, __vector __bool long long __b) {
   3467   int __cc;
   3468   __builtin_s390_vceqgs(__a, (__vector unsigned long long)__b, &__cc);
   3469   return __cc == 3;
   3470 }
   3471 
   3472 // This prototype is deprecated.
   3473 static inline __ATTRS_o_ai int
   3474 vec_all_ne(__vector __bool long long __a, __vector unsigned long long __b) {
   3475   int __cc;
   3476   __builtin_s390_vceqgs((__vector unsigned long long)__a, __b, &__cc);
   3477   return __cc == 3;
   3478 }
   3479 
   3480 static inline __ATTRS_o_ai int
   3481 vec_all_ne(__vector __bool long long __a, __vector __bool long long __b) {
   3482   int __cc;
   3483   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   3484                         (__vector unsigned long long)__b, &__cc);
   3485   return __cc == 3;
   3486 }
   3487 
   3488 #if __ARCH__ >= 15
   3489 static inline __ATTRS_o_ai int
   3490 vec_all_ne(__vector signed __int128 __a, __vector signed __int128 __b) {
   3491   int __cc;
   3492   __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   3493   return __cc == 3;
   3494 }
   3495 
   3496 static inline __ATTRS_o_ai int
   3497 vec_all_ne(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   3498   int __cc;
   3499   __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   3500   return __cc == 3;
   3501 }
   3502 
   3503 static inline __ATTRS_o_ai int
   3504 vec_all_ne(__vector __bool __int128 __a, __vector __bool __int128 __b) {
   3505   int __cc;
   3506   __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   3507   return __cc == 3;
   3508 }
   3509 #endif
   3510 
   3511 #if __ARCH__ >= 12
   3512 static inline __ATTRS_o_ai int
   3513 vec_all_ne(__vector float __a, __vector float __b) {
   3514   int __cc;
   3515   __builtin_s390_vfcesbs(__a, __b, &__cc);
   3516   return __cc == 3;
   3517 }
   3518 #endif
   3519 
   3520 static inline __ATTRS_o_ai int
   3521 vec_all_ne(__vector double __a, __vector double __b) {
   3522   int __cc;
   3523   __builtin_s390_vfcedbs(__a, __b, &__cc);
   3524   return __cc == 3;
   3525 }
   3526 
   3527 /*-- vec_all_ge -------------------------------------------------------------*/
   3528 
   3529 static inline __ATTRS_o_ai int
   3530 vec_all_ge(__vector signed char __a, __vector signed char __b) {
   3531   int __cc;
   3532   __builtin_s390_vchbs(__b, __a, &__cc);
   3533   return __cc == 3;
   3534 }
   3535 
   3536 // This prototype is deprecated.
   3537 static inline __ATTRS_o_ai int
   3538 vec_all_ge(__vector signed char __a, __vector __bool char __b) {
   3539   int __cc;
   3540   __builtin_s390_vchbs((__vector signed char)__b, __a, &__cc);
   3541   return __cc == 3;
   3542 }
   3543 
   3544 // This prototype is deprecated.
   3545 static inline __ATTRS_o_ai int
   3546 vec_all_ge(__vector __bool char __a, __vector signed char __b) {
   3547   int __cc;
   3548   __builtin_s390_vchbs(__b, (__vector signed char)__a, &__cc);
   3549   return __cc == 3;
   3550 }
   3551 
   3552 static inline __ATTRS_o_ai int
   3553 vec_all_ge(__vector unsigned char __a, __vector unsigned char __b) {
   3554   int __cc;
   3555   __builtin_s390_vchlbs(__b, __a, &__cc);
   3556   return __cc == 3;
   3557 }
   3558 
   3559 // This prototype is deprecated.
   3560 static inline __ATTRS_o_ai int
   3561 vec_all_ge(__vector unsigned char __a, __vector __bool char __b) {
   3562   int __cc;
   3563   __builtin_s390_vchlbs((__vector unsigned char)__b, __a, &__cc);
   3564   return __cc == 3;
   3565 }
   3566 
   3567 // This prototype is deprecated.
   3568 static inline __ATTRS_o_ai int
   3569 vec_all_ge(__vector __bool char __a, __vector unsigned char __b) {
   3570   int __cc;
   3571   __builtin_s390_vchlbs(__b, (__vector unsigned char)__a, &__cc);
   3572   return __cc == 3;
   3573 }
   3574 
   3575 // This prototype is deprecated.
   3576 static inline __ATTRS_o_ai int
   3577 vec_all_ge(__vector __bool char __a, __vector __bool char __b) {
   3578   int __cc;
   3579   __builtin_s390_vchlbs((__vector unsigned char)__b,
   3580                         (__vector unsigned char)__a, &__cc);
   3581   return __cc == 3;
   3582 }
   3583 
   3584 static inline __ATTRS_o_ai int
   3585 vec_all_ge(__vector signed short __a, __vector signed short __b) {
   3586   int __cc;
   3587   __builtin_s390_vchhs(__b, __a, &__cc);
   3588   return __cc == 3;
   3589 }
   3590 
   3591 // This prototype is deprecated.
   3592 static inline __ATTRS_o_ai int
   3593 vec_all_ge(__vector signed short __a, __vector __bool short __b) {
   3594   int __cc;
   3595   __builtin_s390_vchhs((__vector signed short)__b, __a, &__cc);
   3596   return __cc == 3;
   3597 }
   3598 
   3599 // This prototype is deprecated.
   3600 static inline __ATTRS_o_ai int
   3601 vec_all_ge(__vector __bool short __a, __vector signed short __b) {
   3602   int __cc;
   3603   __builtin_s390_vchhs(__b, (__vector signed short)__a, &__cc);
   3604   return __cc == 3;
   3605 }
   3606 
   3607 static inline __ATTRS_o_ai int
   3608 vec_all_ge(__vector unsigned short __a, __vector unsigned short __b) {
   3609   int __cc;
   3610   __builtin_s390_vchlhs(__b, __a, &__cc);
   3611   return __cc == 3;
   3612 }
   3613 
   3614 // This prototype is deprecated.
   3615 static inline __ATTRS_o_ai int
   3616 vec_all_ge(__vector unsigned short __a, __vector __bool short __b) {
   3617   int __cc;
   3618   __builtin_s390_vchlhs((__vector unsigned short)__b, __a, &__cc);
   3619   return __cc == 3;
   3620 }
   3621 
   3622 // This prototype is deprecated.
   3623 static inline __ATTRS_o_ai int
   3624 vec_all_ge(__vector __bool short __a, __vector unsigned short __b) {
   3625   int __cc;
   3626   __builtin_s390_vchlhs(__b, (__vector unsigned short)__a, &__cc);
   3627   return __cc == 3;
   3628 }
   3629 
   3630 // This prototype is deprecated.
   3631 static inline __ATTRS_o_ai int
   3632 vec_all_ge(__vector __bool short __a, __vector __bool short __b) {
   3633   int __cc;
   3634   __builtin_s390_vchlhs((__vector unsigned short)__b,
   3635                         (__vector unsigned short)__a, &__cc);
   3636   return __cc == 3;
   3637 }
   3638 
   3639 static inline __ATTRS_o_ai int
   3640 vec_all_ge(__vector signed int __a, __vector signed int __b) {
   3641   int __cc;
   3642   __builtin_s390_vchfs(__b, __a, &__cc);
   3643   return __cc == 3;
   3644 }
   3645 
   3646 // This prototype is deprecated.
   3647 static inline __ATTRS_o_ai int
   3648 vec_all_ge(__vector signed int __a, __vector __bool int __b) {
   3649   int __cc;
   3650   __builtin_s390_vchfs((__vector signed int)__b, __a, &__cc);
   3651   return __cc == 3;
   3652 }
   3653 
   3654 // This prototype is deprecated.
   3655 static inline __ATTRS_o_ai int
   3656 vec_all_ge(__vector __bool int __a, __vector signed int __b) {
   3657   int __cc;
   3658   __builtin_s390_vchfs(__b, (__vector signed int)__a, &__cc);
   3659   return __cc == 3;
   3660 }
   3661 
   3662 static inline __ATTRS_o_ai int
   3663 vec_all_ge(__vector unsigned int __a, __vector unsigned int __b) {
   3664   int __cc;
   3665   __builtin_s390_vchlfs(__b, __a, &__cc);
   3666   return __cc == 3;
   3667 }
   3668 
   3669 // This prototype is deprecated.
   3670 static inline __ATTRS_o_ai int
   3671 vec_all_ge(__vector unsigned int __a, __vector __bool int __b) {
   3672   int __cc;
   3673   __builtin_s390_vchlfs((__vector unsigned int)__b, __a, &__cc);
   3674   return __cc == 3;
   3675 }
   3676 
   3677 // This prototype is deprecated.
   3678 static inline __ATTRS_o_ai int
   3679 vec_all_ge(__vector __bool int __a, __vector unsigned int __b) {
   3680   int __cc;
   3681   __builtin_s390_vchlfs(__b, (__vector unsigned int)__a, &__cc);
   3682   return __cc == 3;
   3683 }
   3684 
   3685 // This prototype is deprecated.
   3686 static inline __ATTRS_o_ai int
   3687 vec_all_ge(__vector __bool int __a, __vector __bool int __b) {
   3688   int __cc;
   3689   __builtin_s390_vchlfs((__vector unsigned int)__b,
   3690                         (__vector unsigned int)__a, &__cc);
   3691   return __cc == 3;
   3692 }
   3693 
   3694 static inline __ATTRS_o_ai int
   3695 vec_all_ge(__vector signed long long __a, __vector signed long long __b) {
   3696   int __cc;
   3697   __builtin_s390_vchgs(__b, __a, &__cc);
   3698   return __cc == 3;
   3699 }
   3700 
   3701 // This prototype is deprecated.
   3702 static inline __ATTRS_o_ai int
   3703 vec_all_ge(__vector signed long long __a, __vector __bool long long __b) {
   3704   int __cc;
   3705   __builtin_s390_vchgs((__vector signed long long)__b, __a, &__cc);
   3706   return __cc == 3;
   3707 }
   3708 
   3709 // This prototype is deprecated.
   3710 static inline __ATTRS_o_ai int
   3711 vec_all_ge(__vector __bool long long __a, __vector signed long long __b) {
   3712   int __cc;
   3713   __builtin_s390_vchgs(__b, (__vector signed long long)__a, &__cc);
   3714   return __cc == 3;
   3715 }
   3716 
   3717 static inline __ATTRS_o_ai int
   3718 vec_all_ge(__vector unsigned long long __a, __vector unsigned long long __b) {
   3719   int __cc;
   3720   __builtin_s390_vchlgs(__b, __a, &__cc);
   3721   return __cc == 3;
   3722 }
   3723 
   3724 // This prototype is deprecated.
   3725 static inline __ATTRS_o_ai int
   3726 vec_all_ge(__vector unsigned long long __a, __vector __bool long long __b) {
   3727   int __cc;
   3728   __builtin_s390_vchlgs((__vector unsigned long long)__b, __a, &__cc);
   3729   return __cc == 3;
   3730 }
   3731 
   3732 // This prototype is deprecated.
   3733 static inline __ATTRS_o_ai int
   3734 vec_all_ge(__vector __bool long long __a, __vector unsigned long long __b) {
   3735   int __cc;
   3736   __builtin_s390_vchlgs(__b, (__vector unsigned long long)__a, &__cc);
   3737   return __cc == 3;
   3738 }
   3739 
   3740 // This prototype is deprecated.
   3741 static inline __ATTRS_o_ai int
   3742 vec_all_ge(__vector __bool long long __a, __vector __bool long long __b) {
   3743   int __cc;
   3744   __builtin_s390_vchlgs((__vector unsigned long long)__b,
   3745                         (__vector unsigned long long)__a, &__cc);
   3746   return __cc == 3;
   3747 }
   3748 
   3749 #if __ARCH__ >= 15
   3750 static inline __ATTRS_o_ai int
   3751 vec_all_ge(__vector signed __int128 __a, __vector signed __int128 __b) {
   3752   int __cc;
   3753   __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);
   3754   return __cc == 3;
   3755 }
   3756 
   3757 static inline __ATTRS_o_ai int
   3758 vec_all_ge(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   3759   int __cc;
   3760   __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);
   3761   return __cc == 3;
   3762 }
   3763 #endif
   3764 
   3765 #if __ARCH__ >= 12
   3766 static inline __ATTRS_o_ai int
   3767 vec_all_ge(__vector float __a, __vector float __b) {
   3768   int __cc;
   3769   __builtin_s390_vfchesbs(__a, __b, &__cc);
   3770   return __cc == 0;
   3771 }
   3772 #endif
   3773 
   3774 static inline __ATTRS_o_ai int
   3775 vec_all_ge(__vector double __a, __vector double __b) {
   3776   int __cc;
   3777   __builtin_s390_vfchedbs(__a, __b, &__cc);
   3778   return __cc == 0;
   3779 }
   3780 
   3781 /*-- vec_all_gt -------------------------------------------------------------*/
   3782 
   3783 static inline __ATTRS_o_ai int
   3784 vec_all_gt(__vector signed char __a, __vector signed char __b) {
   3785   int __cc;
   3786   __builtin_s390_vchbs(__a, __b, &__cc);
   3787   return __cc == 0;
   3788 }
   3789 
   3790 // This prototype is deprecated.
   3791 static inline __ATTRS_o_ai int
   3792 vec_all_gt(__vector signed char __a, __vector __bool char __b) {
   3793   int __cc;
   3794   __builtin_s390_vchbs(__a, (__vector signed char)__b, &__cc);
   3795   return __cc == 0;
   3796 }
   3797 
   3798 // This prototype is deprecated.
   3799 static inline __ATTRS_o_ai int
   3800 vec_all_gt(__vector __bool char __a, __vector signed char __b) {
   3801   int __cc;
   3802   __builtin_s390_vchbs((__vector signed char)__a, __b, &__cc);
   3803   return __cc == 0;
   3804 }
   3805 
   3806 static inline __ATTRS_o_ai int
   3807 vec_all_gt(__vector unsigned char __a, __vector unsigned char __b) {
   3808   int __cc;
   3809   __builtin_s390_vchlbs(__a, __b, &__cc);
   3810   return __cc == 0;
   3811 }
   3812 
   3813 // This prototype is deprecated.
   3814 static inline __ATTRS_o_ai int
   3815 vec_all_gt(__vector unsigned char __a, __vector __bool char __b) {
   3816   int __cc;
   3817   __builtin_s390_vchlbs(__a, (__vector unsigned char)__b, &__cc);
   3818   return __cc == 0;
   3819 }
   3820 
   3821 // This prototype is deprecated.
   3822 static inline __ATTRS_o_ai int
   3823 vec_all_gt(__vector __bool char __a, __vector unsigned char __b) {
   3824   int __cc;
   3825   __builtin_s390_vchlbs((__vector unsigned char)__a, __b, &__cc);
   3826   return __cc == 0;
   3827 }
   3828 
   3829 // This prototype is deprecated.
   3830 static inline __ATTRS_o_ai int
   3831 vec_all_gt(__vector __bool char __a, __vector __bool char __b) {
   3832   int __cc;
   3833   __builtin_s390_vchlbs((__vector unsigned char)__a,
   3834                         (__vector unsigned char)__b, &__cc);
   3835   return __cc == 0;
   3836 }
   3837 
   3838 static inline __ATTRS_o_ai int
   3839 vec_all_gt(__vector signed short __a, __vector signed short __b) {
   3840   int __cc;
   3841   __builtin_s390_vchhs(__a, __b, &__cc);
   3842   return __cc == 0;
   3843 }
   3844 
   3845 // This prototype is deprecated.
   3846 static inline __ATTRS_o_ai int
   3847 vec_all_gt(__vector signed short __a, __vector __bool short __b) {
   3848   int __cc;
   3849   __builtin_s390_vchhs(__a, (__vector signed short)__b, &__cc);
   3850   return __cc == 0;
   3851 }
   3852 
   3853 // This prototype is deprecated.
   3854 static inline __ATTRS_o_ai int
   3855 vec_all_gt(__vector __bool short __a, __vector signed short __b) {
   3856   int __cc;
   3857   __builtin_s390_vchhs((__vector signed short)__a, __b, &__cc);
   3858   return __cc == 0;
   3859 }
   3860 
   3861 static inline __ATTRS_o_ai int
   3862 vec_all_gt(__vector unsigned short __a, __vector unsigned short __b) {
   3863   int __cc;
   3864   __builtin_s390_vchlhs(__a, __b, &__cc);
   3865   return __cc == 0;
   3866 }
   3867 
   3868 // This prototype is deprecated.
   3869 static inline __ATTRS_o_ai int
   3870 vec_all_gt(__vector unsigned short __a, __vector __bool short __b) {
   3871   int __cc;
   3872   __builtin_s390_vchlhs(__a, (__vector unsigned short)__b, &__cc);
   3873   return __cc == 0;
   3874 }
   3875 
   3876 // This prototype is deprecated.
   3877 static inline __ATTRS_o_ai int
   3878 vec_all_gt(__vector __bool short __a, __vector unsigned short __b) {
   3879   int __cc;
   3880   __builtin_s390_vchlhs((__vector unsigned short)__a, __b, &__cc);
   3881   return __cc == 0;
   3882 }
   3883 
   3884 // This prototype is deprecated.
   3885 static inline __ATTRS_o_ai int
   3886 vec_all_gt(__vector __bool short __a, __vector __bool short __b) {
   3887   int __cc;
   3888   __builtin_s390_vchlhs((__vector unsigned short)__a,
   3889                         (__vector unsigned short)__b, &__cc);
   3890   return __cc == 0;
   3891 }
   3892 
   3893 static inline __ATTRS_o_ai int
   3894 vec_all_gt(__vector signed int __a, __vector signed int __b) {
   3895   int __cc;
   3896   __builtin_s390_vchfs(__a, __b, &__cc);
   3897   return __cc == 0;
   3898 }
   3899 
   3900 // This prototype is deprecated.
   3901 static inline __ATTRS_o_ai int
   3902 vec_all_gt(__vector signed int __a, __vector __bool int __b) {
   3903   int __cc;
   3904   __builtin_s390_vchfs(__a, (__vector signed int)__b, &__cc);
   3905   return __cc == 0;
   3906 }
   3907 
   3908 // This prototype is deprecated.
   3909 static inline __ATTRS_o_ai int
   3910 vec_all_gt(__vector __bool int __a, __vector signed int __b) {
   3911   int __cc;
   3912   __builtin_s390_vchfs((__vector signed int)__a, __b, &__cc);
   3913   return __cc == 0;
   3914 }
   3915 
   3916 static inline __ATTRS_o_ai int
   3917 vec_all_gt(__vector unsigned int __a, __vector unsigned int __b) {
   3918   int __cc;
   3919   __builtin_s390_vchlfs(__a, __b, &__cc);
   3920   return __cc == 0;
   3921 }
   3922 
   3923 // This prototype is deprecated.
   3924 static inline __ATTRS_o_ai int
   3925 vec_all_gt(__vector unsigned int __a, __vector __bool int __b) {
   3926   int __cc;
   3927   __builtin_s390_vchlfs(__a, (__vector unsigned int)__b, &__cc);
   3928   return __cc == 0;
   3929 }
   3930 
   3931 // This prototype is deprecated.
   3932 static inline __ATTRS_o_ai int
   3933 vec_all_gt(__vector __bool int __a, __vector unsigned int __b) {
   3934   int __cc;
   3935   __builtin_s390_vchlfs((__vector unsigned int)__a, __b, &__cc);
   3936   return __cc == 0;
   3937 }
   3938 
   3939 // This prototype is deprecated.
   3940 static inline __ATTRS_o_ai int
   3941 vec_all_gt(__vector __bool int __a, __vector __bool int __b) {
   3942   int __cc;
   3943   __builtin_s390_vchlfs((__vector unsigned int)__a,
   3944                         (__vector unsigned int)__b, &__cc);
   3945   return __cc == 0;
   3946 }
   3947 
   3948 static inline __ATTRS_o_ai int
   3949 vec_all_gt(__vector signed long long __a, __vector signed long long __b) {
   3950   int __cc;
   3951   __builtin_s390_vchgs(__a, __b, &__cc);
   3952   return __cc == 0;
   3953 }
   3954 
   3955 // This prototype is deprecated.
   3956 static inline __ATTRS_o_ai int
   3957 vec_all_gt(__vector signed long long __a, __vector __bool long long __b) {
   3958   int __cc;
   3959   __builtin_s390_vchgs(__a, (__vector signed long long)__b, &__cc);
   3960   return __cc == 0;
   3961 }
   3962 
   3963 // This prototype is deprecated.
   3964 static inline __ATTRS_o_ai int
   3965 vec_all_gt(__vector __bool long long __a, __vector signed long long __b) {
   3966   int __cc;
   3967   __builtin_s390_vchgs((__vector signed long long)__a, __b, &__cc);
   3968   return __cc == 0;
   3969 }
   3970 
   3971 static inline __ATTRS_o_ai int
   3972 vec_all_gt(__vector unsigned long long __a, __vector unsigned long long __b) {
   3973   int __cc;
   3974   __builtin_s390_vchlgs(__a, __b, &__cc);
   3975   return __cc == 0;
   3976 }
   3977 
   3978 // This prototype is deprecated.
   3979 static inline __ATTRS_o_ai int
   3980 vec_all_gt(__vector unsigned long long __a, __vector __bool long long __b) {
   3981   int __cc;
   3982   __builtin_s390_vchlgs(__a, (__vector unsigned long long)__b, &__cc);
   3983   return __cc == 0;
   3984 }
   3985 
   3986 // This prototype is deprecated.
   3987 static inline __ATTRS_o_ai int
   3988 vec_all_gt(__vector __bool long long __a, __vector unsigned long long __b) {
   3989   int __cc;
   3990   __builtin_s390_vchlgs((__vector unsigned long long)__a, __b, &__cc);
   3991   return __cc == 0;
   3992 }
   3993 
   3994 // This prototype is deprecated.
   3995 static inline __ATTRS_o_ai int
   3996 vec_all_gt(__vector __bool long long __a, __vector __bool long long __b) {
   3997   int __cc;
   3998   __builtin_s390_vchlgs((__vector unsigned long long)__a,
   3999                         (__vector unsigned long long)__b, &__cc);
   4000   return __cc == 0;
   4001 }
   4002 
   4003 #if __ARCH__ >= 15
   4004 static inline __ATTRS_o_ai int
   4005 vec_all_gt(__vector signed __int128 __a, __vector signed __int128 __b) {
   4006   int __cc;
   4007   __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);
   4008   return __cc == 0;
   4009 }
   4010 
   4011 static inline __ATTRS_o_ai int
   4012 vec_all_gt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   4013   int __cc;
   4014   __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   4015   return __cc == 0;
   4016 }
   4017 #endif
   4018 
   4019 #if __ARCH__ >= 12
   4020 static inline __ATTRS_o_ai int
   4021 vec_all_gt(__vector float __a, __vector float __b) {
   4022   int __cc;
   4023   __builtin_s390_vfchsbs(__a, __b, &__cc);
   4024   return __cc == 0;
   4025 }
   4026 #endif
   4027 
   4028 static inline __ATTRS_o_ai int
   4029 vec_all_gt(__vector double __a, __vector double __b) {
   4030   int __cc;
   4031   __builtin_s390_vfchdbs(__a, __b, &__cc);
   4032   return __cc == 0;
   4033 }
   4034 
   4035 /*-- vec_all_le -------------------------------------------------------------*/
   4036 
   4037 static inline __ATTRS_o_ai int
   4038 vec_all_le(__vector signed char __a, __vector signed char __b) {
   4039   int __cc;
   4040   __builtin_s390_vchbs(__a, __b, &__cc);
   4041   return __cc == 3;
   4042 }
   4043 
   4044 // This prototype is deprecated.
   4045 static inline __ATTRS_o_ai int
   4046 vec_all_le(__vector signed char __a, __vector __bool char __b) {
   4047   int __cc;
   4048   __builtin_s390_vchbs(__a, (__vector signed char)__b, &__cc);
   4049   return __cc == 3;
   4050 }
   4051 
   4052 // This prototype is deprecated.
   4053 static inline __ATTRS_o_ai int
   4054 vec_all_le(__vector __bool char __a, __vector signed char __b) {
   4055   int __cc;
   4056   __builtin_s390_vchbs((__vector signed char)__a, __b, &__cc);
   4057   return __cc == 3;
   4058 }
   4059 
   4060 static inline __ATTRS_o_ai int
   4061 vec_all_le(__vector unsigned char __a, __vector unsigned char __b) {
   4062   int __cc;
   4063   __builtin_s390_vchlbs(__a, __b, &__cc);
   4064   return __cc == 3;
   4065 }
   4066 
   4067 // This prototype is deprecated.
   4068 static inline __ATTRS_o_ai int
   4069 vec_all_le(__vector unsigned char __a, __vector __bool char __b) {
   4070   int __cc;
   4071   __builtin_s390_vchlbs(__a, (__vector unsigned char)__b, &__cc);
   4072   return __cc == 3;
   4073 }
   4074 
   4075 // This prototype is deprecated.
   4076 static inline __ATTRS_o_ai int
   4077 vec_all_le(__vector __bool char __a, __vector unsigned char __b) {
   4078   int __cc;
   4079   __builtin_s390_vchlbs((__vector unsigned char)__a, __b, &__cc);
   4080   return __cc == 3;
   4081 }
   4082 
   4083 // This prototype is deprecated.
   4084 static inline __ATTRS_o_ai int
   4085 vec_all_le(__vector __bool char __a, __vector __bool char __b) {
   4086   int __cc;
   4087   __builtin_s390_vchlbs((__vector unsigned char)__a,
   4088                         (__vector unsigned char)__b, &__cc);
   4089   return __cc == 3;
   4090 }
   4091 
   4092 static inline __ATTRS_o_ai int
   4093 vec_all_le(__vector signed short __a, __vector signed short __b) {
   4094   int __cc;
   4095   __builtin_s390_vchhs(__a, __b, &__cc);
   4096   return __cc == 3;
   4097 }
   4098 
   4099 // This prototype is deprecated.
   4100 static inline __ATTRS_o_ai int
   4101 vec_all_le(__vector signed short __a, __vector __bool short __b) {
   4102   int __cc;
   4103   __builtin_s390_vchhs(__a, (__vector signed short)__b, &__cc);
   4104   return __cc == 3;
   4105 }
   4106 
   4107 // This prototype is deprecated.
   4108 static inline __ATTRS_o_ai int
   4109 vec_all_le(__vector __bool short __a, __vector signed short __b) {
   4110   int __cc;
   4111   __builtin_s390_vchhs((__vector signed short)__a, __b, &__cc);
   4112   return __cc == 3;
   4113 }
   4114 
   4115 static inline __ATTRS_o_ai int
   4116 vec_all_le(__vector unsigned short __a, __vector unsigned short __b) {
   4117   int __cc;
   4118   __builtin_s390_vchlhs(__a, __b, &__cc);
   4119   return __cc == 3;
   4120 }
   4121 
   4122 // This prototype is deprecated.
   4123 static inline __ATTRS_o_ai int
   4124 vec_all_le(__vector unsigned short __a, __vector __bool short __b) {
   4125   int __cc;
   4126   __builtin_s390_vchlhs(__a, (__vector unsigned short)__b, &__cc);
   4127   return __cc == 3;
   4128 }
   4129 
   4130 // This prototype is deprecated.
   4131 static inline __ATTRS_o_ai int
   4132 vec_all_le(__vector __bool short __a, __vector unsigned short __b) {
   4133   int __cc;
   4134   __builtin_s390_vchlhs((__vector unsigned short)__a, __b, &__cc);
   4135   return __cc == 3;
   4136 }
   4137 
   4138 // This prototype is deprecated.
   4139 static inline __ATTRS_o_ai int
   4140 vec_all_le(__vector __bool short __a, __vector __bool short __b) {
   4141   int __cc;
   4142   __builtin_s390_vchlhs((__vector unsigned short)__a,
   4143                         (__vector unsigned short)__b, &__cc);
   4144   return __cc == 3;
   4145 }
   4146 
   4147 static inline __ATTRS_o_ai int
   4148 vec_all_le(__vector signed int __a, __vector signed int __b) {
   4149   int __cc;
   4150   __builtin_s390_vchfs(__a, __b, &__cc);
   4151   return __cc == 3;
   4152 }
   4153 
   4154 // This prototype is deprecated.
   4155 static inline __ATTRS_o_ai int
   4156 vec_all_le(__vector signed int __a, __vector __bool int __b) {
   4157   int __cc;
   4158   __builtin_s390_vchfs(__a, (__vector signed int)__b, &__cc);
   4159   return __cc == 3;
   4160 }
   4161 
   4162 // This prototype is deprecated.
   4163 static inline __ATTRS_o_ai int
   4164 vec_all_le(__vector __bool int __a, __vector signed int __b) {
   4165   int __cc;
   4166   __builtin_s390_vchfs((__vector signed int)__a, __b, &__cc);
   4167   return __cc == 3;
   4168 }
   4169 
   4170 static inline __ATTRS_o_ai int
   4171 vec_all_le(__vector unsigned int __a, __vector unsigned int __b) {
   4172   int __cc;
   4173   __builtin_s390_vchlfs(__a, __b, &__cc);
   4174   return __cc == 3;
   4175 }
   4176 
   4177 // This prototype is deprecated.
   4178 static inline __ATTRS_o_ai int
   4179 vec_all_le(__vector unsigned int __a, __vector __bool int __b) {
   4180   int __cc;
   4181   __builtin_s390_vchlfs(__a, (__vector unsigned int)__b, &__cc);
   4182   return __cc == 3;
   4183 }
   4184 
   4185 // This prototype is deprecated.
   4186 static inline __ATTRS_o_ai int
   4187 vec_all_le(__vector __bool int __a, __vector unsigned int __b) {
   4188   int __cc;
   4189   __builtin_s390_vchlfs((__vector unsigned int)__a, __b, &__cc);
   4190   return __cc == 3;
   4191 }
   4192 
   4193 // This prototype is deprecated.
   4194 static inline __ATTRS_o_ai int
   4195 vec_all_le(__vector __bool int __a, __vector __bool int __b) {
   4196   int __cc;
   4197   __builtin_s390_vchlfs((__vector unsigned int)__a,
   4198                         (__vector unsigned int)__b, &__cc);
   4199   return __cc == 3;
   4200 }
   4201 
   4202 static inline __ATTRS_o_ai int
   4203 vec_all_le(__vector signed long long __a, __vector signed long long __b) {
   4204   int __cc;
   4205   __builtin_s390_vchgs(__a, __b, &__cc);
   4206   return __cc == 3;
   4207 }
   4208 
   4209 // This prototype is deprecated.
   4210 static inline __ATTRS_o_ai int
   4211 vec_all_le(__vector signed long long __a, __vector __bool long long __b) {
   4212   int __cc;
   4213   __builtin_s390_vchgs(__a, (__vector signed long long)__b, &__cc);
   4214   return __cc == 3;
   4215 }
   4216 
   4217 // This prototype is deprecated.
   4218 static inline __ATTRS_o_ai int
   4219 vec_all_le(__vector __bool long long __a, __vector signed long long __b) {
   4220   int __cc;
   4221   __builtin_s390_vchgs((__vector signed long long)__a, __b, &__cc);
   4222   return __cc == 3;
   4223 }
   4224 
   4225 static inline __ATTRS_o_ai int
   4226 vec_all_le(__vector unsigned long long __a, __vector unsigned long long __b) {
   4227   int __cc;
   4228   __builtin_s390_vchlgs(__a, __b, &__cc);
   4229   return __cc == 3;
   4230 }
   4231 
   4232 // This prototype is deprecated.
   4233 static inline __ATTRS_o_ai int
   4234 vec_all_le(__vector unsigned long long __a, __vector __bool long long __b) {
   4235   int __cc;
   4236   __builtin_s390_vchlgs(__a, (__vector unsigned long long)__b, &__cc);
   4237   return __cc == 3;
   4238 }
   4239 
   4240 // This prototype is deprecated.
   4241 static inline __ATTRS_o_ai int
   4242 vec_all_le(__vector __bool long long __a, __vector unsigned long long __b) {
   4243   int __cc;
   4244   __builtin_s390_vchlgs((__vector unsigned long long)__a, __b, &__cc);
   4245   return __cc == 3;
   4246 }
   4247 
   4248 // This prototype is deprecated.
   4249 static inline __ATTRS_o_ai int
   4250 vec_all_le(__vector __bool long long __a, __vector __bool long long __b) {
   4251   int __cc;
   4252   __builtin_s390_vchlgs((__vector unsigned long long)__a,
   4253                         (__vector unsigned long long)__b, &__cc);
   4254   return __cc == 3;
   4255 }
   4256 
   4257 #if __ARCH__ >= 15
   4258 static inline __ATTRS_o_ai int
   4259 vec_all_le(__vector signed __int128 __a, __vector signed __int128 __b) {
   4260   int __cc;
   4261   __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);
   4262   return __cc == 3;
   4263 }
   4264 
   4265 static inline __ATTRS_o_ai int
   4266 vec_all_le(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   4267   int __cc;
   4268   __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   4269   return __cc == 3;
   4270 }
   4271 #endif
   4272 
   4273 #if __ARCH__ >= 12
   4274 static inline __ATTRS_o_ai int
   4275 vec_all_le(__vector float __a, __vector float __b) {
   4276   int __cc;
   4277   __builtin_s390_vfchesbs(__b, __a, &__cc);
   4278   return __cc == 0;
   4279 }
   4280 #endif
   4281 
   4282 static inline __ATTRS_o_ai int
   4283 vec_all_le(__vector double __a, __vector double __b) {
   4284   int __cc;
   4285   __builtin_s390_vfchedbs(__b, __a, &__cc);
   4286   return __cc == 0;
   4287 }
   4288 
   4289 /*-- vec_all_lt -------------------------------------------------------------*/
   4290 
   4291 static inline __ATTRS_o_ai int
   4292 vec_all_lt(__vector signed char __a, __vector signed char __b) {
   4293   int __cc;
   4294   __builtin_s390_vchbs(__b, __a, &__cc);
   4295   return __cc == 0;
   4296 }
   4297 
   4298 // This prototype is deprecated.
   4299 static inline __ATTRS_o_ai int
   4300 vec_all_lt(__vector signed char __a, __vector __bool char __b) {
   4301   int __cc;
   4302   __builtin_s390_vchbs((__vector signed char)__b, __a, &__cc);
   4303   return __cc == 0;
   4304 }
   4305 
   4306 // This prototype is deprecated.
   4307 static inline __ATTRS_o_ai int
   4308 vec_all_lt(__vector __bool char __a, __vector signed char __b) {
   4309   int __cc;
   4310   __builtin_s390_vchbs(__b, (__vector signed char)__a, &__cc);
   4311   return __cc == 0;
   4312 }
   4313 
   4314 static inline __ATTRS_o_ai int
   4315 vec_all_lt(__vector unsigned char __a, __vector unsigned char __b) {
   4316   int __cc;
   4317   __builtin_s390_vchlbs(__b, __a, &__cc);
   4318   return __cc == 0;
   4319 }
   4320 
   4321 // This prototype is deprecated.
   4322 static inline __ATTRS_o_ai int
   4323 vec_all_lt(__vector unsigned char __a, __vector __bool char __b) {
   4324   int __cc;
   4325   __builtin_s390_vchlbs((__vector unsigned char)__b, __a, &__cc);
   4326   return __cc == 0;
   4327 }
   4328 
   4329 // This prototype is deprecated.
   4330 static inline __ATTRS_o_ai int
   4331 vec_all_lt(__vector __bool char __a, __vector unsigned char __b) {
   4332   int __cc;
   4333   __builtin_s390_vchlbs(__b, (__vector unsigned char)__a, &__cc);
   4334   return __cc == 0;
   4335 }
   4336 
   4337 // This prototype is deprecated.
   4338 static inline __ATTRS_o_ai int
   4339 vec_all_lt(__vector __bool char __a, __vector __bool char __b) {
   4340   int __cc;
   4341   __builtin_s390_vchlbs((__vector unsigned char)__b,
   4342                         (__vector unsigned char)__a, &__cc);
   4343   return __cc == 0;
   4344 }
   4345 
   4346 static inline __ATTRS_o_ai int
   4347 vec_all_lt(__vector signed short __a, __vector signed short __b) {
   4348   int __cc;
   4349   __builtin_s390_vchhs(__b, __a, &__cc);
   4350   return __cc == 0;
   4351 }
   4352 
   4353 // This prototype is deprecated.
   4354 static inline __ATTRS_o_ai int
   4355 vec_all_lt(__vector signed short __a, __vector __bool short __b) {
   4356   int __cc;
   4357   __builtin_s390_vchhs((__vector signed short)__b, __a, &__cc);
   4358   return __cc == 0;
   4359 }
   4360 
   4361 // This prototype is deprecated.
   4362 static inline __ATTRS_o_ai int
   4363 vec_all_lt(__vector __bool short __a, __vector signed short __b) {
   4364   int __cc;
   4365   __builtin_s390_vchhs(__b, (__vector signed short)__a, &__cc);
   4366   return __cc == 0;
   4367 }
   4368 
   4369 static inline __ATTRS_o_ai int
   4370 vec_all_lt(__vector unsigned short __a, __vector unsigned short __b) {
   4371   int __cc;
   4372   __builtin_s390_vchlhs(__b, __a, &__cc);
   4373   return __cc == 0;
   4374 }
   4375 
   4376 // This prototype is deprecated.
   4377 static inline __ATTRS_o_ai int
   4378 vec_all_lt(__vector unsigned short __a, __vector __bool short __b) {
   4379   int __cc;
   4380   __builtin_s390_vchlhs((__vector unsigned short)__b, __a, &__cc);
   4381   return __cc == 0;
   4382 }
   4383 
   4384 // This prototype is deprecated.
   4385 static inline __ATTRS_o_ai int
   4386 vec_all_lt(__vector __bool short __a, __vector unsigned short __b) {
   4387   int __cc;
   4388   __builtin_s390_vchlhs(__b, (__vector unsigned short)__a, &__cc);
   4389   return __cc == 0;
   4390 }
   4391 
   4392 // This prototype is deprecated.
   4393 static inline __ATTRS_o_ai int
   4394 vec_all_lt(__vector __bool short __a, __vector __bool short __b) {
   4395   int __cc;
   4396   __builtin_s390_vchlhs((__vector unsigned short)__b,
   4397                         (__vector unsigned short)__a, &__cc);
   4398   return __cc == 0;
   4399 }
   4400 
   4401 static inline __ATTRS_o_ai int
   4402 vec_all_lt(__vector signed int __a, __vector signed int __b) {
   4403   int __cc;
   4404   __builtin_s390_vchfs(__b, __a, &__cc);
   4405   return __cc == 0;
   4406 }
   4407 
   4408 // This prototype is deprecated.
   4409 static inline __ATTRS_o_ai int
   4410 vec_all_lt(__vector signed int __a, __vector __bool int __b) {
   4411   int __cc;
   4412   __builtin_s390_vchfs((__vector signed int)__b, __a, &__cc);
   4413   return __cc == 0;
   4414 }
   4415 
   4416 // This prototype is deprecated.
   4417 static inline __ATTRS_o_ai int
   4418 vec_all_lt(__vector __bool int __a, __vector signed int __b) {
   4419   int __cc;
   4420   __builtin_s390_vchfs(__b, (__vector signed int)__a, &__cc);
   4421   return __cc == 0;
   4422 }
   4423 
   4424 static inline __ATTRS_o_ai int
   4425 vec_all_lt(__vector unsigned int __a, __vector unsigned int __b) {
   4426   int __cc;
   4427   __builtin_s390_vchlfs(__b, __a, &__cc);
   4428   return __cc == 0;
   4429 }
   4430 
   4431 // This prototype is deprecated.
   4432 static inline __ATTRS_o_ai int
   4433 vec_all_lt(__vector unsigned int __a, __vector __bool int __b) {
   4434   int __cc;
   4435   __builtin_s390_vchlfs((__vector unsigned int)__b, __a, &__cc);
   4436   return __cc == 0;
   4437 }
   4438 
   4439 // This prototype is deprecated.
   4440 static inline __ATTRS_o_ai int
   4441 vec_all_lt(__vector __bool int __a, __vector unsigned int __b) {
   4442   int __cc;
   4443   __builtin_s390_vchlfs(__b, (__vector unsigned int)__a, &__cc);
   4444   return __cc == 0;
   4445 }
   4446 
   4447 // This prototype is deprecated.
   4448 static inline __ATTRS_o_ai int
   4449 vec_all_lt(__vector __bool int __a, __vector __bool int __b) {
   4450   int __cc;
   4451   __builtin_s390_vchlfs((__vector unsigned int)__b,
   4452                         (__vector unsigned int)__a, &__cc);
   4453   return __cc == 0;
   4454 }
   4455 
   4456 static inline __ATTRS_o_ai int
   4457 vec_all_lt(__vector signed long long __a, __vector signed long long __b) {
   4458   int __cc;
   4459   __builtin_s390_vchgs(__b, __a, &__cc);
   4460   return __cc == 0;
   4461 }
   4462 
   4463 // This prototype is deprecated.
   4464 static inline __ATTRS_o_ai int
   4465 vec_all_lt(__vector signed long long __a, __vector __bool long long __b) {
   4466   int __cc;
   4467   __builtin_s390_vchgs((__vector signed long long)__b, __a, &__cc);
   4468   return __cc == 0;
   4469 }
   4470 
   4471 // This prototype is deprecated.
   4472 static inline __ATTRS_o_ai int
   4473 vec_all_lt(__vector __bool long long __a, __vector signed long long __b) {
   4474   int __cc;
   4475   __builtin_s390_vchgs(__b, (__vector signed long long)__a, &__cc);
   4476   return __cc == 0;
   4477 }
   4478 
   4479 static inline __ATTRS_o_ai int
   4480 vec_all_lt(__vector unsigned long long __a, __vector unsigned long long __b) {
   4481   int __cc;
   4482   __builtin_s390_vchlgs(__b, __a, &__cc);
   4483   return __cc == 0;
   4484 }
   4485 
   4486 // This prototype is deprecated.
   4487 static inline __ATTRS_o_ai int
   4488 vec_all_lt(__vector unsigned long long __a, __vector __bool long long __b) {
   4489   int __cc;
   4490   __builtin_s390_vchlgs((__vector unsigned long long)__b, __a, &__cc);
   4491   return __cc == 0;
   4492 }
   4493 
   4494 // This prototype is deprecated.
   4495 static inline __ATTRS_o_ai int
   4496 vec_all_lt(__vector __bool long long __a, __vector unsigned long long __b) {
   4497   int __cc;
   4498   __builtin_s390_vchlgs(__b, (__vector unsigned long long)__a, &__cc);
   4499   return __cc == 0;
   4500 }
   4501 
   4502 // This prototype is deprecated.
   4503 static inline __ATTRS_o_ai int
   4504 vec_all_lt(__vector __bool long long __a, __vector __bool long long __b) {
   4505   int __cc;
   4506   __builtin_s390_vchlgs((__vector unsigned long long)__b,
   4507                         (__vector unsigned long long)__a, &__cc);
   4508   return __cc == 0;
   4509 }
   4510 
   4511 #if __ARCH__ >= 15
   4512 static inline __ATTRS_o_ai int
   4513 vec_all_lt(__vector signed __int128 __a, __vector signed __int128 __b) {
   4514   int __cc;
   4515   __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);
   4516   return __cc == 0;
   4517 }
   4518 
   4519 static inline __ATTRS_o_ai int
   4520 vec_all_lt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   4521   int __cc;
   4522   __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);
   4523   return __cc == 0;
   4524 }
   4525 #endif
   4526 
   4527 #if __ARCH__ >= 12
   4528 static inline __ATTRS_o_ai int
   4529 vec_all_lt(__vector float __a, __vector float __b) {
   4530   int __cc;
   4531   __builtin_s390_vfchsbs(__b, __a, &__cc);
   4532   return __cc == 0;
   4533 }
   4534 #endif
   4535 
   4536 static inline __ATTRS_o_ai int
   4537 vec_all_lt(__vector double __a, __vector double __b) {
   4538   int __cc;
   4539   __builtin_s390_vfchdbs(__b, __a, &__cc);
   4540   return __cc == 0;
   4541 }
   4542 
   4543 /*-- vec_all_nge ------------------------------------------------------------*/
   4544 
   4545 #if __ARCH__ >= 12
   4546 static inline __ATTRS_o_ai int
   4547 vec_all_nge(__vector float __a, __vector float __b) {
   4548   int __cc;
   4549   __builtin_s390_vfchesbs(__a, __b, &__cc);
   4550   return __cc == 3;
   4551 }
   4552 #endif
   4553 
   4554 static inline __ATTRS_o_ai int
   4555 vec_all_nge(__vector double __a, __vector double __b) {
   4556   int __cc;
   4557   __builtin_s390_vfchedbs(__a, __b, &__cc);
   4558   return __cc == 3;
   4559 }
   4560 
   4561 /*-- vec_all_ngt ------------------------------------------------------------*/
   4562 
   4563 #if __ARCH__ >= 12
   4564 static inline __ATTRS_o_ai int
   4565 vec_all_ngt(__vector float __a, __vector float __b) {
   4566   int __cc;
   4567   __builtin_s390_vfchsbs(__a, __b, &__cc);
   4568   return __cc == 3;
   4569 }
   4570 #endif
   4571 
   4572 static inline __ATTRS_o_ai int
   4573 vec_all_ngt(__vector double __a, __vector double __b) {
   4574   int __cc;
   4575   __builtin_s390_vfchdbs(__a, __b, &__cc);
   4576   return __cc == 3;
   4577 }
   4578 
   4579 /*-- vec_all_nle ------------------------------------------------------------*/
   4580 
   4581 #if __ARCH__ >= 12
   4582 static inline __ATTRS_o_ai int
   4583 vec_all_nle(__vector float __a, __vector float __b) {
   4584   int __cc;
   4585   __builtin_s390_vfchesbs(__b, __a, &__cc);
   4586   return __cc == 3;
   4587 }
   4588 #endif
   4589 
   4590 static inline __ATTRS_o_ai int
   4591 vec_all_nle(__vector double __a, __vector double __b) {
   4592   int __cc;
   4593   __builtin_s390_vfchedbs(__b, __a, &__cc);
   4594   return __cc == 3;
   4595 }
   4596 
   4597 /*-- vec_all_nlt ------------------------------------------------------------*/
   4598 
   4599 #if __ARCH__ >= 12
   4600 static inline __ATTRS_o_ai int
   4601 vec_all_nlt(__vector float __a, __vector float __b) {
   4602   int __cc;
   4603   __builtin_s390_vfchsbs(__b, __a, &__cc);
   4604   return __cc == 3;
   4605 }
   4606 #endif
   4607 
   4608 static inline __ATTRS_o_ai int
   4609 vec_all_nlt(__vector double __a, __vector double __b) {
   4610   int __cc;
   4611   __builtin_s390_vfchdbs(__b, __a, &__cc);
   4612   return __cc == 3;
   4613 }
   4614 
   4615 /*-- vec_all_nan ------------------------------------------------------------*/
   4616 
   4617 #if __ARCH__ >= 12
   4618 static inline __ATTRS_o_ai int
   4619 vec_all_nan(__vector float __a) {
   4620   int __cc;
   4621   __builtin_s390_vftcisb(__a, 15, &__cc);
   4622   return __cc == 0;
   4623 }
   4624 #endif
   4625 
   4626 static inline __ATTRS_o_ai int
   4627 vec_all_nan(__vector double __a) {
   4628   int __cc;
   4629   __builtin_s390_vftcidb(__a, 15, &__cc);
   4630   return __cc == 0;
   4631 }
   4632 
   4633 /*-- vec_all_numeric --------------------------------------------------------*/
   4634 
   4635 #if __ARCH__ >= 12
   4636 static inline __ATTRS_o_ai int
   4637 vec_all_numeric(__vector float __a) {
   4638   int __cc;
   4639   __builtin_s390_vftcisb(__a, 15, &__cc);
   4640   return __cc == 3;
   4641 }
   4642 #endif
   4643 
   4644 static inline __ATTRS_o_ai int
   4645 vec_all_numeric(__vector double __a) {
   4646   int __cc;
   4647   __builtin_s390_vftcidb(__a, 15, &__cc);
   4648   return __cc == 3;
   4649 }
   4650 
   4651 /*-- vec_any_eq -------------------------------------------------------------*/
   4652 
   4653 static inline __ATTRS_o_ai int
   4654 vec_any_eq(__vector signed char __a, __vector signed char __b) {
   4655   int __cc;
   4656   __builtin_s390_vceqbs((__vector unsigned char)__a,
   4657                         (__vector unsigned char)__b, &__cc);
   4658   return __cc <= 1;
   4659 }
   4660 
   4661 // This prototype is deprecated.
   4662 static inline __ATTRS_o_ai int
   4663 vec_any_eq(__vector signed char __a, __vector __bool char __b) {
   4664   int __cc;
   4665   __builtin_s390_vceqbs((__vector unsigned char)__a,
   4666                         (__vector unsigned char)__b, &__cc);
   4667   return __cc <= 1;
   4668 }
   4669 
   4670 // This prototype is deprecated.
   4671 static inline __ATTRS_o_ai int
   4672 vec_any_eq(__vector __bool char __a, __vector signed char __b) {
   4673   int __cc;
   4674   __builtin_s390_vceqbs((__vector unsigned char)__a,
   4675                         (__vector unsigned char)__b, &__cc);
   4676   return __cc <= 1;
   4677 }
   4678 
   4679 static inline __ATTRS_o_ai int
   4680 vec_any_eq(__vector unsigned char __a, __vector unsigned char __b) {
   4681   int __cc;
   4682   __builtin_s390_vceqbs(__a, __b, &__cc);
   4683   return __cc <= 1;
   4684 }
   4685 
   4686 // This prototype is deprecated.
   4687 static inline __ATTRS_o_ai int
   4688 vec_any_eq(__vector unsigned char __a, __vector __bool char __b) {
   4689   int __cc;
   4690   __builtin_s390_vceqbs(__a, (__vector unsigned char)__b, &__cc);
   4691   return __cc <= 1;
   4692 }
   4693 
   4694 // This prototype is deprecated.
   4695 static inline __ATTRS_o_ai int
   4696 vec_any_eq(__vector __bool char __a, __vector unsigned char __b) {
   4697   int __cc;
   4698   __builtin_s390_vceqbs((__vector unsigned char)__a, __b, &__cc);
   4699   return __cc <= 1;
   4700 }
   4701 
   4702 static inline __ATTRS_o_ai int
   4703 vec_any_eq(__vector __bool char __a, __vector __bool char __b) {
   4704   int __cc;
   4705   __builtin_s390_vceqbs((__vector unsigned char)__a,
   4706                         (__vector unsigned char)__b, &__cc);
   4707   return __cc <= 1;
   4708 }
   4709 
   4710 static inline __ATTRS_o_ai int
   4711 vec_any_eq(__vector signed short __a, __vector signed short __b) {
   4712   int __cc;
   4713   __builtin_s390_vceqhs((__vector unsigned short)__a,
   4714                         (__vector unsigned short)__b, &__cc);
   4715   return __cc <= 1;
   4716 }
   4717 
   4718 // This prototype is deprecated.
   4719 static inline __ATTRS_o_ai int
   4720 vec_any_eq(__vector signed short __a, __vector __bool short __b) {
   4721   int __cc;
   4722   __builtin_s390_vceqhs((__vector unsigned short)__a,
   4723                         (__vector unsigned short)__b, &__cc);
   4724   return __cc <= 1;
   4725 }
   4726 
   4727 // This prototype is deprecated.
   4728 static inline __ATTRS_o_ai int
   4729 vec_any_eq(__vector __bool short __a, __vector signed short __b) {
   4730   int __cc;
   4731   __builtin_s390_vceqhs((__vector unsigned short)__a,
   4732                         (__vector unsigned short)__b, &__cc);
   4733   return __cc <= 1;
   4734 }
   4735 
   4736 static inline __ATTRS_o_ai int
   4737 vec_any_eq(__vector unsigned short __a, __vector unsigned short __b) {
   4738   int __cc;
   4739   __builtin_s390_vceqhs(__a, __b, &__cc);
   4740   return __cc <= 1;
   4741 }
   4742 
   4743 // This prototype is deprecated.
   4744 static inline __ATTRS_o_ai int
   4745 vec_any_eq(__vector unsigned short __a, __vector __bool short __b) {
   4746   int __cc;
   4747   __builtin_s390_vceqhs(__a, (__vector unsigned short)__b, &__cc);
   4748   return __cc <= 1;
   4749 }
   4750 
   4751 // This prototype is deprecated.
   4752 static inline __ATTRS_o_ai int
   4753 vec_any_eq(__vector __bool short __a, __vector unsigned short __b) {
   4754   int __cc;
   4755   __builtin_s390_vceqhs((__vector unsigned short)__a, __b, &__cc);
   4756   return __cc <= 1;
   4757 }
   4758 
   4759 static inline __ATTRS_o_ai int
   4760 vec_any_eq(__vector __bool short __a, __vector __bool short __b) {
   4761   int __cc;
   4762   __builtin_s390_vceqhs((__vector unsigned short)__a,
   4763                         (__vector unsigned short)__b, &__cc);
   4764   return __cc <= 1;
   4765 }
   4766 
   4767 static inline __ATTRS_o_ai int
   4768 vec_any_eq(__vector signed int __a, __vector signed int __b) {
   4769   int __cc;
   4770   __builtin_s390_vceqfs((__vector unsigned int)__a,
   4771                         (__vector unsigned int)__b, &__cc);
   4772   return __cc <= 1;
   4773 }
   4774 
   4775 // This prototype is deprecated.
   4776 static inline __ATTRS_o_ai int
   4777 vec_any_eq(__vector signed int __a, __vector __bool int __b) {
   4778   int __cc;
   4779   __builtin_s390_vceqfs((__vector unsigned int)__a,
   4780                         (__vector unsigned int)__b, &__cc);
   4781   return __cc <= 1;
   4782 }
   4783 
   4784 // This prototype is deprecated.
   4785 static inline __ATTRS_o_ai int
   4786 vec_any_eq(__vector __bool int __a, __vector signed int __b) {
   4787   int __cc;
   4788   __builtin_s390_vceqfs((__vector unsigned int)__a,
   4789                         (__vector unsigned int)__b, &__cc);
   4790   return __cc <= 1;
   4791 }
   4792 
   4793 static inline __ATTRS_o_ai int
   4794 vec_any_eq(__vector unsigned int __a, __vector unsigned int __b) {
   4795   int __cc;
   4796   __builtin_s390_vceqfs(__a, __b, &__cc);
   4797   return __cc <= 1;
   4798 }
   4799 
   4800 // This prototype is deprecated.
   4801 static inline __ATTRS_o_ai int
   4802 vec_any_eq(__vector unsigned int __a, __vector __bool int __b) {
   4803   int __cc;
   4804   __builtin_s390_vceqfs(__a, (__vector unsigned int)__b, &__cc);
   4805   return __cc <= 1;
   4806 }
   4807 
   4808 // This prototype is deprecated.
   4809 static inline __ATTRS_o_ai int
   4810 vec_any_eq(__vector __bool int __a, __vector unsigned int __b) {
   4811   int __cc;
   4812   __builtin_s390_vceqfs((__vector unsigned int)__a, __b, &__cc);
   4813   return __cc <= 1;
   4814 }
   4815 
   4816 static inline __ATTRS_o_ai int
   4817 vec_any_eq(__vector __bool int __a, __vector __bool int __b) {
   4818   int __cc;
   4819   __builtin_s390_vceqfs((__vector unsigned int)__a,
   4820                         (__vector unsigned int)__b, &__cc);
   4821   return __cc <= 1;
   4822 }
   4823 
   4824 static inline __ATTRS_o_ai int
   4825 vec_any_eq(__vector signed long long __a, __vector signed long long __b) {
   4826   int __cc;
   4827   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   4828                         (__vector unsigned long long)__b, &__cc);
   4829   return __cc <= 1;
   4830 }
   4831 
   4832 // This prototype is deprecated.
   4833 static inline __ATTRS_o_ai int
   4834 vec_any_eq(__vector signed long long __a, __vector __bool long long __b) {
   4835   int __cc;
   4836   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   4837                         (__vector unsigned long long)__b, &__cc);
   4838   return __cc <= 1;
   4839 }
   4840 
   4841 // This prototype is deprecated.
   4842 static inline __ATTRS_o_ai int
   4843 vec_any_eq(__vector __bool long long __a, __vector signed long long __b) {
   4844   int __cc;
   4845   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   4846                         (__vector unsigned long long)__b, &__cc);
   4847   return __cc <= 1;
   4848 }
   4849 
   4850 static inline __ATTRS_o_ai int
   4851 vec_any_eq(__vector unsigned long long __a, __vector unsigned long long __b) {
   4852   int __cc;
   4853   __builtin_s390_vceqgs(__a, __b, &__cc);
   4854   return __cc <= 1;
   4855 }
   4856 
   4857 // This prototype is deprecated.
   4858 static inline __ATTRS_o_ai int
   4859 vec_any_eq(__vector unsigned long long __a, __vector __bool long long __b) {
   4860   int __cc;
   4861   __builtin_s390_vceqgs(__a, (__vector unsigned long long)__b, &__cc);
   4862   return __cc <= 1;
   4863 }
   4864 
   4865 // This prototype is deprecated.
   4866 static inline __ATTRS_o_ai int
   4867 vec_any_eq(__vector __bool long long __a, __vector unsigned long long __b) {
   4868   int __cc;
   4869   __builtin_s390_vceqgs((__vector unsigned long long)__a, __b, &__cc);
   4870   return __cc <= 1;
   4871 }
   4872 
   4873 static inline __ATTRS_o_ai int
   4874 vec_any_eq(__vector __bool long long __a, __vector __bool long long __b) {
   4875   int __cc;
   4876   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   4877                         (__vector unsigned long long)__b, &__cc);
   4878   return __cc <= 1;
   4879 }
   4880 
   4881 #if __ARCH__ >= 15
   4882 static inline __ATTRS_o_ai int
   4883 vec_any_eq(__vector signed __int128 __a, __vector signed __int128 __b) {
   4884   int __cc;
   4885   __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   4886   return __cc <= 1;
   4887 }
   4888 
   4889 static inline __ATTRS_o_ai int
   4890 vec_any_eq(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   4891   int __cc;
   4892   __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   4893   return __cc <= 1;
   4894 }
   4895 
   4896 static inline __ATTRS_o_ai int
   4897 vec_any_eq(__vector __bool __int128 __a, __vector __bool __int128 __b) {
   4898   int __cc;
   4899   __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   4900   return __cc <= 1;
   4901 }
   4902 #endif
   4903 
   4904 #if __ARCH__ >= 12
   4905 static inline __ATTRS_o_ai int
   4906 vec_any_eq(__vector float __a, __vector float __b) {
   4907   int __cc;
   4908   __builtin_s390_vfcesbs(__a, __b, &__cc);
   4909   return __cc <= 1;
   4910 }
   4911 #endif
   4912 
   4913 static inline __ATTRS_o_ai int
   4914 vec_any_eq(__vector double __a, __vector double __b) {
   4915   int __cc;
   4916   __builtin_s390_vfcedbs(__a, __b, &__cc);
   4917   return __cc <= 1;
   4918 }
   4919 
   4920 /*-- vec_any_ne -------------------------------------------------------------*/
   4921 
   4922 static inline __ATTRS_o_ai int
   4923 vec_any_ne(__vector signed char __a, __vector signed char __b) {
   4924   int __cc;
   4925   __builtin_s390_vceqbs((__vector unsigned char)__a,
   4926                         (__vector unsigned char)__b, &__cc);
   4927   return __cc != 0;
   4928 }
   4929 
   4930 // This prototype is deprecated.
   4931 static inline __ATTRS_o_ai int
   4932 vec_any_ne(__vector signed char __a, __vector __bool char __b) {
   4933   int __cc;
   4934   __builtin_s390_vceqbs((__vector unsigned char)__a,
   4935                         (__vector unsigned char)__b, &__cc);
   4936   return __cc != 0;
   4937 }
   4938 
   4939 // This prototype is deprecated.
   4940 static inline __ATTRS_o_ai int
   4941 vec_any_ne(__vector __bool char __a, __vector signed char __b) {
   4942   int __cc;
   4943   __builtin_s390_vceqbs((__vector unsigned char)__a,
   4944                         (__vector unsigned char)__b, &__cc);
   4945   return __cc != 0;
   4946 }
   4947 
   4948 static inline __ATTRS_o_ai int
   4949 vec_any_ne(__vector unsigned char __a, __vector unsigned char __b) {
   4950   int __cc;
   4951   __builtin_s390_vceqbs(__a, __b, &__cc);
   4952   return __cc != 0;
   4953 }
   4954 
   4955 // This prototype is deprecated.
   4956 static inline __ATTRS_o_ai int
   4957 vec_any_ne(__vector unsigned char __a, __vector __bool char __b) {
   4958   int __cc;
   4959   __builtin_s390_vceqbs(__a, (__vector unsigned char)__b, &__cc);
   4960   return __cc != 0;
   4961 }
   4962 
   4963 // This prototype is deprecated.
   4964 static inline __ATTRS_o_ai int
   4965 vec_any_ne(__vector __bool char __a, __vector unsigned char __b) {
   4966   int __cc;
   4967   __builtin_s390_vceqbs((__vector unsigned char)__a, __b, &__cc);
   4968   return __cc != 0;
   4969 }
   4970 
   4971 static inline __ATTRS_o_ai int
   4972 vec_any_ne(__vector __bool char __a, __vector __bool char __b) {
   4973   int __cc;
   4974   __builtin_s390_vceqbs((__vector unsigned char)__a,
   4975                         (__vector unsigned char)__b, &__cc);
   4976   return __cc != 0;
   4977 }
   4978 
   4979 static inline __ATTRS_o_ai int
   4980 vec_any_ne(__vector signed short __a, __vector signed short __b) {
   4981   int __cc;
   4982   __builtin_s390_vceqhs((__vector unsigned short)__a,
   4983                         (__vector unsigned short)__b, &__cc);
   4984   return __cc != 0;
   4985 }
   4986 
   4987 // This prototype is deprecated.
   4988 static inline __ATTRS_o_ai int
   4989 vec_any_ne(__vector signed short __a, __vector __bool short __b) {
   4990   int __cc;
   4991   __builtin_s390_vceqhs((__vector unsigned short)__a,
   4992                         (__vector unsigned short)__b, &__cc);
   4993   return __cc != 0;
   4994 }
   4995 
   4996 // This prototype is deprecated.
   4997 static inline __ATTRS_o_ai int
   4998 vec_any_ne(__vector __bool short __a, __vector signed short __b) {
   4999   int __cc;
   5000   __builtin_s390_vceqhs((__vector unsigned short)__a,
   5001                         (__vector unsigned short)__b, &__cc);
   5002   return __cc != 0;
   5003 }
   5004 
   5005 static inline __ATTRS_o_ai int
   5006 vec_any_ne(__vector unsigned short __a, __vector unsigned short __b) {
   5007   int __cc;
   5008   __builtin_s390_vceqhs(__a, __b, &__cc);
   5009   return __cc != 0;
   5010 }
   5011 
   5012 // This prototype is deprecated.
   5013 static inline __ATTRS_o_ai int
   5014 vec_any_ne(__vector unsigned short __a, __vector __bool short __b) {
   5015   int __cc;
   5016   __builtin_s390_vceqhs(__a, (__vector unsigned short)__b, &__cc);
   5017   return __cc != 0;
   5018 }
   5019 
   5020 // This prototype is deprecated.
   5021 static inline __ATTRS_o_ai int
   5022 vec_any_ne(__vector __bool short __a, __vector unsigned short __b) {
   5023   int __cc;
   5024   __builtin_s390_vceqhs((__vector unsigned short)__a, __b, &__cc);
   5025   return __cc != 0;
   5026 }
   5027 
   5028 static inline __ATTRS_o_ai int
   5029 vec_any_ne(__vector __bool short __a, __vector __bool short __b) {
   5030   int __cc;
   5031   __builtin_s390_vceqhs((__vector unsigned short)__a,
   5032                         (__vector unsigned short)__b, &__cc);
   5033   return __cc != 0;
   5034 }
   5035 
   5036 static inline __ATTRS_o_ai int
   5037 vec_any_ne(__vector signed int __a, __vector signed int __b) {
   5038   int __cc;
   5039   __builtin_s390_vceqfs((__vector unsigned int)__a,
   5040                         (__vector unsigned int)__b, &__cc);
   5041   return __cc != 0;
   5042 }
   5043 
   5044 // This prototype is deprecated.
   5045 static inline __ATTRS_o_ai int
   5046 vec_any_ne(__vector signed int __a, __vector __bool int __b) {
   5047   int __cc;
   5048   __builtin_s390_vceqfs((__vector unsigned int)__a,
   5049                         (__vector unsigned int)__b, &__cc);
   5050   return __cc != 0;
   5051 }
   5052 
   5053 // This prototype is deprecated.
   5054 static inline __ATTRS_o_ai int
   5055 vec_any_ne(__vector __bool int __a, __vector signed int __b) {
   5056   int __cc;
   5057   __builtin_s390_vceqfs((__vector unsigned int)__a,
   5058                         (__vector unsigned int)__b, &__cc);
   5059   return __cc != 0;
   5060 }
   5061 
   5062 static inline __ATTRS_o_ai int
   5063 vec_any_ne(__vector unsigned int __a, __vector unsigned int __b) {
   5064   int __cc;
   5065   __builtin_s390_vceqfs(__a, __b, &__cc);
   5066   return __cc != 0;
   5067 }
   5068 
   5069 // This prototype is deprecated.
   5070 static inline __ATTRS_o_ai int
   5071 vec_any_ne(__vector unsigned int __a, __vector __bool int __b) {
   5072   int __cc;
   5073   __builtin_s390_vceqfs(__a, (__vector unsigned int)__b, &__cc);
   5074   return __cc != 0;
   5075 }
   5076 
   5077 // This prototype is deprecated.
   5078 static inline __ATTRS_o_ai int
   5079 vec_any_ne(__vector __bool int __a, __vector unsigned int __b) {
   5080   int __cc;
   5081   __builtin_s390_vceqfs((__vector unsigned int)__a, __b, &__cc);
   5082   return __cc != 0;
   5083 }
   5084 
   5085 static inline __ATTRS_o_ai int
   5086 vec_any_ne(__vector __bool int __a, __vector __bool int __b) {
   5087   int __cc;
   5088   __builtin_s390_vceqfs((__vector unsigned int)__a,
   5089                         (__vector unsigned int)__b, &__cc);
   5090   return __cc != 0;
   5091 }
   5092 
   5093 static inline __ATTRS_o_ai int
   5094 vec_any_ne(__vector signed long long __a, __vector signed long long __b) {
   5095   int __cc;
   5096   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   5097                         (__vector unsigned long long)__b, &__cc);
   5098   return __cc != 0;
   5099 }
   5100 
   5101 // This prototype is deprecated.
   5102 static inline __ATTRS_o_ai int
   5103 vec_any_ne(__vector signed long long __a, __vector __bool long long __b) {
   5104   int __cc;
   5105   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   5106                         (__vector unsigned long long)__b, &__cc);
   5107   return __cc != 0;
   5108 }
   5109 
   5110 // This prototype is deprecated.
   5111 static inline __ATTRS_o_ai int
   5112 vec_any_ne(__vector __bool long long __a, __vector signed long long __b) {
   5113   int __cc;
   5114   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   5115                         (__vector unsigned long long)__b, &__cc);
   5116   return __cc != 0;
   5117 }
   5118 
   5119 static inline __ATTRS_o_ai int
   5120 vec_any_ne(__vector unsigned long long __a, __vector unsigned long long __b) {
   5121   int __cc;
   5122   __builtin_s390_vceqgs(__a, __b, &__cc);
   5123   return __cc != 0;
   5124 }
   5125 
   5126 // This prototype is deprecated.
   5127 static inline __ATTRS_o_ai int
   5128 vec_any_ne(__vector unsigned long long __a, __vector __bool long long __b) {
   5129   int __cc;
   5130   __builtin_s390_vceqgs(__a, (__vector unsigned long long)__b, &__cc);
   5131   return __cc != 0;
   5132 }
   5133 
   5134 // This prototype is deprecated.
   5135 static inline __ATTRS_o_ai int
   5136 vec_any_ne(__vector __bool long long __a, __vector unsigned long long __b) {
   5137   int __cc;
   5138   __builtin_s390_vceqgs((__vector unsigned long long)__a, __b, &__cc);
   5139   return __cc != 0;
   5140 }
   5141 
   5142 static inline __ATTRS_o_ai int
   5143 vec_any_ne(__vector __bool long long __a, __vector __bool long long __b) {
   5144   int __cc;
   5145   __builtin_s390_vceqgs((__vector unsigned long long)__a,
   5146                         (__vector unsigned long long)__b, &__cc);
   5147   return __cc != 0;
   5148 }
   5149 
   5150 #if __ARCH__ >= 15
   5151 static inline __ATTRS_o_ai int
   5152 vec_any_ne(__vector signed __int128 __a, __vector signed __int128 __b) {
   5153   int __cc;
   5154   __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   5155   return __cc != 0;
   5156 }
   5157 
   5158 static inline __ATTRS_o_ai int
   5159 vec_any_ne(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   5160   int __cc;
   5161   __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   5162   return __cc != 0;
   5163 }
   5164 
   5165 static inline __ATTRS_o_ai int
   5166 vec_any_ne(__vector __bool __int128 __a, __vector __bool __int128 __b) {
   5167   int __cc;
   5168   __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   5169   return __cc != 0;
   5170 }
   5171 #endif
   5172 
   5173 #if __ARCH__ >= 12
   5174 static inline __ATTRS_o_ai int
   5175 vec_any_ne(__vector float __a, __vector float __b) {
   5176   int __cc;
   5177   __builtin_s390_vfcesbs(__a, __b, &__cc);
   5178   return __cc != 0;
   5179 }
   5180 #endif
   5181 
   5182 static inline __ATTRS_o_ai int
   5183 vec_any_ne(__vector double __a, __vector double __b) {
   5184   int __cc;
   5185   __builtin_s390_vfcedbs(__a, __b, &__cc);
   5186   return __cc != 0;
   5187 }
   5188 
   5189 /*-- vec_any_ge -------------------------------------------------------------*/
   5190 
   5191 static inline __ATTRS_o_ai int
   5192 vec_any_ge(__vector signed char __a, __vector signed char __b) {
   5193   int __cc;
   5194   __builtin_s390_vchbs(__b, __a, &__cc);
   5195   return __cc != 0;
   5196 }
   5197 
   5198 // This prototype is deprecated.
   5199 static inline __ATTRS_o_ai int
   5200 vec_any_ge(__vector signed char __a, __vector __bool char __b) {
   5201   int __cc;
   5202   __builtin_s390_vchbs((__vector signed char)__b, __a, &__cc);
   5203   return __cc != 0;
   5204 }
   5205 
   5206 // This prototype is deprecated.
   5207 static inline __ATTRS_o_ai int
   5208 vec_any_ge(__vector __bool char __a, __vector signed char __b) {
   5209   int __cc;
   5210   __builtin_s390_vchbs(__b, (__vector signed char)__a, &__cc);
   5211   return __cc != 0;
   5212 }
   5213 
   5214 static inline __ATTRS_o_ai int
   5215 vec_any_ge(__vector unsigned char __a, __vector unsigned char __b) {
   5216   int __cc;
   5217   __builtin_s390_vchlbs(__b, __a, &__cc);
   5218   return __cc != 0;
   5219 }
   5220 
   5221 // This prototype is deprecated.
   5222 static inline __ATTRS_o_ai int
   5223 vec_any_ge(__vector unsigned char __a, __vector __bool char __b) {
   5224   int __cc;
   5225   __builtin_s390_vchlbs((__vector unsigned char)__b, __a, &__cc);
   5226   return __cc != 0;
   5227 }
   5228 
   5229 // This prototype is deprecated.
   5230 static inline __ATTRS_o_ai int
   5231 vec_any_ge(__vector __bool char __a, __vector unsigned char __b) {
   5232   int __cc;
   5233   __builtin_s390_vchlbs(__b, (__vector unsigned char)__a, &__cc);
   5234   return __cc != 0;
   5235 }
   5236 
   5237 // This prototype is deprecated.
   5238 static inline __ATTRS_o_ai int
   5239 vec_any_ge(__vector __bool char __a, __vector __bool char __b) {
   5240   int __cc;
   5241   __builtin_s390_vchlbs((__vector unsigned char)__b,
   5242                         (__vector unsigned char)__a, &__cc);
   5243   return __cc != 0;
   5244 }
   5245 
   5246 static inline __ATTRS_o_ai int
   5247 vec_any_ge(__vector signed short __a, __vector signed short __b) {
   5248   int __cc;
   5249   __builtin_s390_vchhs(__b, __a, &__cc);
   5250   return __cc != 0;
   5251 }
   5252 
   5253 // This prototype is deprecated.
   5254 static inline __ATTRS_o_ai int
   5255 vec_any_ge(__vector signed short __a, __vector __bool short __b) {
   5256   int __cc;
   5257   __builtin_s390_vchhs((__vector signed short)__b, __a, &__cc);
   5258   return __cc != 0;
   5259 }
   5260 
   5261 // This prototype is deprecated.
   5262 static inline __ATTRS_o_ai int
   5263 vec_any_ge(__vector __bool short __a, __vector signed short __b) {
   5264   int __cc;
   5265   __builtin_s390_vchhs(__b, (__vector signed short)__a, &__cc);
   5266   return __cc != 0;
   5267 }
   5268 
   5269 static inline __ATTRS_o_ai int
   5270 vec_any_ge(__vector unsigned short __a, __vector unsigned short __b) {
   5271   int __cc;
   5272   __builtin_s390_vchlhs(__b, __a, &__cc);
   5273   return __cc != 0;
   5274 }
   5275 
   5276 // This prototype is deprecated.
   5277 static inline __ATTRS_o_ai int
   5278 vec_any_ge(__vector unsigned short __a, __vector __bool short __b) {
   5279   int __cc;
   5280   __builtin_s390_vchlhs((__vector unsigned short)__b, __a, &__cc);
   5281   return __cc != 0;
   5282 }
   5283 
   5284 // This prototype is deprecated.
   5285 static inline __ATTRS_o_ai int
   5286 vec_any_ge(__vector __bool short __a, __vector unsigned short __b) {
   5287   int __cc;
   5288   __builtin_s390_vchlhs(__b, (__vector unsigned short)__a, &__cc);
   5289   return __cc != 0;
   5290 }
   5291 
   5292 // This prototype is deprecated.
   5293 static inline __ATTRS_o_ai int
   5294 vec_any_ge(__vector __bool short __a, __vector __bool short __b) {
   5295   int __cc;
   5296   __builtin_s390_vchlhs((__vector unsigned short)__b,
   5297                         (__vector unsigned short)__a, &__cc);
   5298   return __cc != 0;
   5299 }
   5300 
   5301 static inline __ATTRS_o_ai int
   5302 vec_any_ge(__vector signed int __a, __vector signed int __b) {
   5303   int __cc;
   5304   __builtin_s390_vchfs(__b, __a, &__cc);
   5305   return __cc != 0;
   5306 }
   5307 
   5308 // This prototype is deprecated.
   5309 static inline __ATTRS_o_ai int
   5310 vec_any_ge(__vector signed int __a, __vector __bool int __b) {
   5311   int __cc;
   5312   __builtin_s390_vchfs((__vector signed int)__b, __a, &__cc);
   5313   return __cc != 0;
   5314 }
   5315 
   5316 // This prototype is deprecated.
   5317 static inline __ATTRS_o_ai int
   5318 vec_any_ge(__vector __bool int __a, __vector signed int __b) {
   5319   int __cc;
   5320   __builtin_s390_vchfs(__b, (__vector signed int)__a, &__cc);
   5321   return __cc != 0;
   5322 }
   5323 
   5324 static inline __ATTRS_o_ai int
   5325 vec_any_ge(__vector unsigned int __a, __vector unsigned int __b) {
   5326   int __cc;
   5327   __builtin_s390_vchlfs(__b, __a, &__cc);
   5328   return __cc != 0;
   5329 }
   5330 
   5331 // This prototype is deprecated.
   5332 static inline __ATTRS_o_ai int
   5333 vec_any_ge(__vector unsigned int __a, __vector __bool int __b) {
   5334   int __cc;
   5335   __builtin_s390_vchlfs((__vector unsigned int)__b, __a, &__cc);
   5336   return __cc != 0;
   5337 }
   5338 
   5339 // This prototype is deprecated.
   5340 static inline __ATTRS_o_ai int
   5341 vec_any_ge(__vector __bool int __a, __vector unsigned int __b) {
   5342   int __cc;
   5343   __builtin_s390_vchlfs(__b, (__vector unsigned int)__a, &__cc);
   5344   return __cc != 0;
   5345 }
   5346 
   5347 // This prototype is deprecated.
   5348 static inline __ATTRS_o_ai int
   5349 vec_any_ge(__vector __bool int __a, __vector __bool int __b) {
   5350   int __cc;
   5351   __builtin_s390_vchlfs((__vector unsigned int)__b,
   5352                         (__vector unsigned int)__a, &__cc);
   5353   return __cc != 0;
   5354 }
   5355 
   5356 static inline __ATTRS_o_ai int
   5357 vec_any_ge(__vector signed long long __a, __vector signed long long __b) {
   5358   int __cc;
   5359   __builtin_s390_vchgs(__b, __a, &__cc);
   5360   return __cc != 0;
   5361 }
   5362 
   5363 // This prototype is deprecated.
   5364 static inline __ATTRS_o_ai int
   5365 vec_any_ge(__vector signed long long __a, __vector __bool long long __b) {
   5366   int __cc;
   5367   __builtin_s390_vchgs((__vector signed long long)__b, __a, &__cc);
   5368   return __cc != 0;
   5369 }
   5370 
   5371 // This prototype is deprecated.
   5372 static inline __ATTRS_o_ai int
   5373 vec_any_ge(__vector __bool long long __a, __vector signed long long __b) {
   5374   int __cc;
   5375   __builtin_s390_vchgs(__b, (__vector signed long long)__a, &__cc);
   5376   return __cc != 0;
   5377 }
   5378 
   5379 static inline __ATTRS_o_ai int
   5380 vec_any_ge(__vector unsigned long long __a, __vector unsigned long long __b) {
   5381   int __cc;
   5382   __builtin_s390_vchlgs(__b, __a, &__cc);
   5383   return __cc != 0;
   5384 }
   5385 
   5386 // This prototype is deprecated.
   5387 static inline __ATTRS_o_ai int
   5388 vec_any_ge(__vector unsigned long long __a, __vector __bool long long __b) {
   5389   int __cc;
   5390   __builtin_s390_vchlgs((__vector unsigned long long)__b, __a, &__cc);
   5391   return __cc != 0;
   5392 }
   5393 
   5394 // This prototype is deprecated.
   5395 static inline __ATTRS_o_ai int
   5396 vec_any_ge(__vector __bool long long __a, __vector unsigned long long __b) {
   5397   int __cc;
   5398   __builtin_s390_vchlgs(__b, (__vector unsigned long long)__a, &__cc);
   5399   return __cc != 0;
   5400 }
   5401 
   5402 // This prototype is deprecated.
   5403 static inline __ATTRS_o_ai int
   5404 vec_any_ge(__vector __bool long long __a, __vector __bool long long __b) {
   5405   int __cc;
   5406   __builtin_s390_vchlgs((__vector unsigned long long)__b,
   5407                         (__vector unsigned long long)__a, &__cc);
   5408   return __cc != 0;
   5409 }
   5410 
   5411 #if __ARCH__ >= 15
   5412 static inline __ATTRS_o_ai int
   5413 vec_any_ge(__vector signed __int128 __a, __vector signed __int128 __b) {
   5414   int __cc;
   5415   __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);
   5416   return __cc != 0;
   5417 }
   5418 
   5419 static inline __ATTRS_o_ai int
   5420 vec_any_ge(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   5421   int __cc;
   5422   __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);
   5423   return __cc != 0;
   5424 }
   5425 #endif
   5426 
   5427 #if __ARCH__ >= 12
   5428 static inline __ATTRS_o_ai int
   5429 vec_any_ge(__vector float __a, __vector float __b) {
   5430   int __cc;
   5431   __builtin_s390_vfchesbs(__a, __b, &__cc);
   5432   return __cc <= 1;
   5433 }
   5434 #endif
   5435 
   5436 static inline __ATTRS_o_ai int
   5437 vec_any_ge(__vector double __a, __vector double __b) {
   5438   int __cc;
   5439   __builtin_s390_vfchedbs(__a, __b, &__cc);
   5440   return __cc <= 1;
   5441 }
   5442 
   5443 /*-- vec_any_gt -------------------------------------------------------------*/
   5444 
   5445 static inline __ATTRS_o_ai int
   5446 vec_any_gt(__vector signed char __a, __vector signed char __b) {
   5447   int __cc;
   5448   __builtin_s390_vchbs(__a, __b, &__cc);
   5449   return __cc <= 1;
   5450 }
   5451 
   5452 // This prototype is deprecated.
   5453 static inline __ATTRS_o_ai int
   5454 vec_any_gt(__vector signed char __a, __vector __bool char __b) {
   5455   int __cc;
   5456   __builtin_s390_vchbs(__a, (__vector signed char)__b, &__cc);
   5457   return __cc <= 1;
   5458 }
   5459 
   5460 // This prototype is deprecated.
   5461 static inline __ATTRS_o_ai int
   5462 vec_any_gt(__vector __bool char __a, __vector signed char __b) {
   5463   int __cc;
   5464   __builtin_s390_vchbs((__vector signed char)__a, __b, &__cc);
   5465   return __cc <= 1;
   5466 }
   5467 
   5468 static inline __ATTRS_o_ai int
   5469 vec_any_gt(__vector unsigned char __a, __vector unsigned char __b) {
   5470   int __cc;
   5471   __builtin_s390_vchlbs(__a, __b, &__cc);
   5472   return __cc <= 1;
   5473 }
   5474 
   5475 // This prototype is deprecated.
   5476 static inline __ATTRS_o_ai int
   5477 vec_any_gt(__vector unsigned char __a, __vector __bool char __b) {
   5478   int __cc;
   5479   __builtin_s390_vchlbs(__a, (__vector unsigned char)__b, &__cc);
   5480   return __cc <= 1;
   5481 }
   5482 
   5483 // This prototype is deprecated.
   5484 static inline __ATTRS_o_ai int
   5485 vec_any_gt(__vector __bool char __a, __vector unsigned char __b) {
   5486   int __cc;
   5487   __builtin_s390_vchlbs((__vector unsigned char)__a, __b, &__cc);
   5488   return __cc <= 1;
   5489 }
   5490 
   5491 // This prototype is deprecated.
   5492 static inline __ATTRS_o_ai int
   5493 vec_any_gt(__vector __bool char __a, __vector __bool char __b) {
   5494   int __cc;
   5495   __builtin_s390_vchlbs((__vector unsigned char)__a,
   5496                         (__vector unsigned char)__b, &__cc);
   5497   return __cc <= 1;
   5498 }
   5499 
   5500 static inline __ATTRS_o_ai int
   5501 vec_any_gt(__vector signed short __a, __vector signed short __b) {
   5502   int __cc;
   5503   __builtin_s390_vchhs(__a, __b, &__cc);
   5504   return __cc <= 1;
   5505 }
   5506 
   5507 // This prototype is deprecated.
   5508 static inline __ATTRS_o_ai int
   5509 vec_any_gt(__vector signed short __a, __vector __bool short __b) {
   5510   int __cc;
   5511   __builtin_s390_vchhs(__a, (__vector signed short)__b, &__cc);
   5512   return __cc <= 1;
   5513 }
   5514 
   5515 // This prototype is deprecated.
   5516 static inline __ATTRS_o_ai int
   5517 vec_any_gt(__vector __bool short __a, __vector signed short __b) {
   5518   int __cc;
   5519   __builtin_s390_vchhs((__vector signed short)__a, __b, &__cc);
   5520   return __cc <= 1;
   5521 }
   5522 
   5523 static inline __ATTRS_o_ai int
   5524 vec_any_gt(__vector unsigned short __a, __vector unsigned short __b) {
   5525   int __cc;
   5526   __builtin_s390_vchlhs(__a, __b, &__cc);
   5527   return __cc <= 1;
   5528 }
   5529 
   5530 // This prototype is deprecated.
   5531 static inline __ATTRS_o_ai int
   5532 vec_any_gt(__vector unsigned short __a, __vector __bool short __b) {
   5533   int __cc;
   5534   __builtin_s390_vchlhs(__a, (__vector unsigned short)__b, &__cc);
   5535   return __cc <= 1;
   5536 }
   5537 
   5538 // This prototype is deprecated.
   5539 static inline __ATTRS_o_ai int
   5540 vec_any_gt(__vector __bool short __a, __vector unsigned short __b) {
   5541   int __cc;
   5542   __builtin_s390_vchlhs((__vector unsigned short)__a, __b, &__cc);
   5543   return __cc <= 1;
   5544 }
   5545 
   5546 // This prototype is deprecated.
   5547 static inline __ATTRS_o_ai int
   5548 vec_any_gt(__vector __bool short __a, __vector __bool short __b) {
   5549   int __cc;
   5550   __builtin_s390_vchlhs((__vector unsigned short)__a,
   5551                         (__vector unsigned short)__b, &__cc);
   5552   return __cc <= 1;
   5553 }
   5554 
   5555 static inline __ATTRS_o_ai int
   5556 vec_any_gt(__vector signed int __a, __vector signed int __b) {
   5557   int __cc;
   5558   __builtin_s390_vchfs(__a, __b, &__cc);
   5559   return __cc <= 1;
   5560 }
   5561 
   5562 // This prototype is deprecated.
   5563 static inline __ATTRS_o_ai int
   5564 vec_any_gt(__vector signed int __a, __vector __bool int __b) {
   5565   int __cc;
   5566   __builtin_s390_vchfs(__a, (__vector signed int)__b, &__cc);
   5567   return __cc <= 1;
   5568 }
   5569 
   5570 // This prototype is deprecated.
   5571 static inline __ATTRS_o_ai int
   5572 vec_any_gt(__vector __bool int __a, __vector signed int __b) {
   5573   int __cc;
   5574   __builtin_s390_vchfs((__vector signed int)__a, __b, &__cc);
   5575   return __cc <= 1;
   5576 }
   5577 
   5578 static inline __ATTRS_o_ai int
   5579 vec_any_gt(__vector unsigned int __a, __vector unsigned int __b) {
   5580   int __cc;
   5581   __builtin_s390_vchlfs(__a, __b, &__cc);
   5582   return __cc <= 1;
   5583 }
   5584 
   5585 // This prototype is deprecated.
   5586 static inline __ATTRS_o_ai int
   5587 vec_any_gt(__vector unsigned int __a, __vector __bool int __b) {
   5588   int __cc;
   5589   __builtin_s390_vchlfs(__a, (__vector unsigned int)__b, &__cc);
   5590   return __cc <= 1;
   5591 }
   5592 
   5593 // This prototype is deprecated.
   5594 static inline __ATTRS_o_ai int
   5595 vec_any_gt(__vector __bool int __a, __vector unsigned int __b) {
   5596   int __cc;
   5597   __builtin_s390_vchlfs((__vector unsigned int)__a, __b, &__cc);
   5598   return __cc <= 1;
   5599 }
   5600 
   5601 // This prototype is deprecated.
   5602 static inline __ATTRS_o_ai int
   5603 vec_any_gt(__vector __bool int __a, __vector __bool int __b) {
   5604   int __cc;
   5605   __builtin_s390_vchlfs((__vector unsigned int)__a,
   5606                         (__vector unsigned int)__b, &__cc);
   5607   return __cc <= 1;
   5608 }
   5609 
   5610 static inline __ATTRS_o_ai int
   5611 vec_any_gt(__vector signed long long __a, __vector signed long long __b) {
   5612   int __cc;
   5613   __builtin_s390_vchgs(__a, __b, &__cc);
   5614   return __cc <= 1;
   5615 }
   5616 
   5617 // This prototype is deprecated.
   5618 static inline __ATTRS_o_ai int
   5619 vec_any_gt(__vector signed long long __a, __vector __bool long long __b) {
   5620   int __cc;
   5621   __builtin_s390_vchgs(__a, (__vector signed long long)__b, &__cc);
   5622   return __cc <= 1;
   5623 }
   5624 
   5625 // This prototype is deprecated.
   5626 static inline __ATTRS_o_ai int
   5627 vec_any_gt(__vector __bool long long __a, __vector signed long long __b) {
   5628   int __cc;
   5629   __builtin_s390_vchgs((__vector signed long long)__a, __b, &__cc);
   5630   return __cc <= 1;
   5631 }
   5632 
   5633 static inline __ATTRS_o_ai int
   5634 vec_any_gt(__vector unsigned long long __a, __vector unsigned long long __b) {
   5635   int __cc;
   5636   __builtin_s390_vchlgs(__a, __b, &__cc);
   5637   return __cc <= 1;
   5638 }
   5639 
   5640 // This prototype is deprecated.
   5641 static inline __ATTRS_o_ai int
   5642 vec_any_gt(__vector unsigned long long __a, __vector __bool long long __b) {
   5643   int __cc;
   5644   __builtin_s390_vchlgs(__a, (__vector unsigned long long)__b, &__cc);
   5645   return __cc <= 1;
   5646 }
   5647 
   5648 // This prototype is deprecated.
   5649 static inline __ATTRS_o_ai int
   5650 vec_any_gt(__vector __bool long long __a, __vector unsigned long long __b) {
   5651   int __cc;
   5652   __builtin_s390_vchlgs((__vector unsigned long long)__a, __b, &__cc);
   5653   return __cc <= 1;
   5654 }
   5655 
   5656 // This prototype is deprecated.
   5657 static inline __ATTRS_o_ai int
   5658 vec_any_gt(__vector __bool long long __a, __vector __bool long long __b) {
   5659   int __cc;
   5660   __builtin_s390_vchlgs((__vector unsigned long long)__a,
   5661                         (__vector unsigned long long)__b, &__cc);
   5662   return __cc <= 1;
   5663 }
   5664 
   5665 #if __ARCH__ >= 15
   5666 static inline __ATTRS_o_ai int
   5667 vec_any_gt(__vector signed __int128 __a, __vector signed __int128 __b) {
   5668   int __cc;
   5669   __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);
   5670   return __cc <= 1;
   5671 }
   5672 
   5673 static inline __ATTRS_o_ai int
   5674 vec_any_gt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   5675   int __cc;
   5676   __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   5677   return __cc <= 1;
   5678 }
   5679 #endif
   5680 
   5681 #if __ARCH__ >= 12
   5682 static inline __ATTRS_o_ai int
   5683 vec_any_gt(__vector float __a, __vector float __b) {
   5684   int __cc;
   5685   __builtin_s390_vfchsbs(__a, __b, &__cc);
   5686   return __cc <= 1;
   5687 }
   5688 #endif
   5689 
   5690 static inline __ATTRS_o_ai int
   5691 vec_any_gt(__vector double __a, __vector double __b) {
   5692   int __cc;
   5693   __builtin_s390_vfchdbs(__a, __b, &__cc);
   5694   return __cc <= 1;
   5695 }
   5696 
   5697 /*-- vec_any_le -------------------------------------------------------------*/
   5698 
   5699 static inline __ATTRS_o_ai int
   5700 vec_any_le(__vector signed char __a, __vector signed char __b) {
   5701   int __cc;
   5702   __builtin_s390_vchbs(__a, __b, &__cc);
   5703   return __cc != 0;
   5704 }
   5705 
   5706 // This prototype is deprecated.
   5707 static inline __ATTRS_o_ai int
   5708 vec_any_le(__vector signed char __a, __vector __bool char __b) {
   5709   int __cc;
   5710   __builtin_s390_vchbs(__a, (__vector signed char)__b, &__cc);
   5711   return __cc != 0;
   5712 }
   5713 
   5714 // This prototype is deprecated.
   5715 static inline __ATTRS_o_ai int
   5716 vec_any_le(__vector __bool char __a, __vector signed char __b) {
   5717   int __cc;
   5718   __builtin_s390_vchbs((__vector signed char)__a, __b, &__cc);
   5719   return __cc != 0;
   5720 }
   5721 
   5722 static inline __ATTRS_o_ai int
   5723 vec_any_le(__vector unsigned char __a, __vector unsigned char __b) {
   5724   int __cc;
   5725   __builtin_s390_vchlbs(__a, __b, &__cc);
   5726   return __cc != 0;
   5727 }
   5728 
   5729 // This prototype is deprecated.
   5730 static inline __ATTRS_o_ai int
   5731 vec_any_le(__vector unsigned char __a, __vector __bool char __b) {
   5732   int __cc;
   5733   __builtin_s390_vchlbs(__a, (__vector unsigned char)__b, &__cc);
   5734   return __cc != 0;
   5735 }
   5736 
   5737 // This prototype is deprecated.
   5738 static inline __ATTRS_o_ai int
   5739 vec_any_le(__vector __bool char __a, __vector unsigned char __b) {
   5740   int __cc;
   5741   __builtin_s390_vchlbs((__vector unsigned char)__a, __b, &__cc);
   5742   return __cc != 0;
   5743 }
   5744 
   5745 // This prototype is deprecated.
   5746 static inline __ATTRS_o_ai int
   5747 vec_any_le(__vector __bool char __a, __vector __bool char __b) {
   5748   int __cc;
   5749   __builtin_s390_vchlbs((__vector unsigned char)__a,
   5750                         (__vector unsigned char)__b, &__cc);
   5751   return __cc != 0;
   5752 }
   5753 
   5754 static inline __ATTRS_o_ai int
   5755 vec_any_le(__vector signed short __a, __vector signed short __b) {
   5756   int __cc;
   5757   __builtin_s390_vchhs(__a, __b, &__cc);
   5758   return __cc != 0;
   5759 }
   5760 
   5761 // This prototype is deprecated.
   5762 static inline __ATTRS_o_ai int
   5763 vec_any_le(__vector signed short __a, __vector __bool short __b) {
   5764   int __cc;
   5765   __builtin_s390_vchhs(__a, (__vector signed short)__b, &__cc);
   5766   return __cc != 0;
   5767 }
   5768 
   5769 // This prototype is deprecated.
   5770 static inline __ATTRS_o_ai int
   5771 vec_any_le(__vector __bool short __a, __vector signed short __b) {
   5772   int __cc;
   5773   __builtin_s390_vchhs((__vector signed short)__a, __b, &__cc);
   5774   return __cc != 0;
   5775 }
   5776 
   5777 static inline __ATTRS_o_ai int
   5778 vec_any_le(__vector unsigned short __a, __vector unsigned short __b) {
   5779   int __cc;
   5780   __builtin_s390_vchlhs(__a, __b, &__cc);
   5781   return __cc != 0;
   5782 }
   5783 
   5784 // This prototype is deprecated.
   5785 static inline __ATTRS_o_ai int
   5786 vec_any_le(__vector unsigned short __a, __vector __bool short __b) {
   5787   int __cc;
   5788   __builtin_s390_vchlhs(__a, (__vector unsigned short)__b, &__cc);
   5789   return __cc != 0;
   5790 }
   5791 
   5792 // This prototype is deprecated.
   5793 static inline __ATTRS_o_ai int
   5794 vec_any_le(__vector __bool short __a, __vector unsigned short __b) {
   5795   int __cc;
   5796   __builtin_s390_vchlhs((__vector unsigned short)__a, __b, &__cc);
   5797   return __cc != 0;
   5798 }
   5799 
   5800 // This prototype is deprecated.
   5801 static inline __ATTRS_o_ai int
   5802 vec_any_le(__vector __bool short __a, __vector __bool short __b) {
   5803   int __cc;
   5804   __builtin_s390_vchlhs((__vector unsigned short)__a,
   5805                         (__vector unsigned short)__b, &__cc);
   5806   return __cc != 0;
   5807 }
   5808 
   5809 static inline __ATTRS_o_ai int
   5810 vec_any_le(__vector signed int __a, __vector signed int __b) {
   5811   int __cc;
   5812   __builtin_s390_vchfs(__a, __b, &__cc);
   5813   return __cc != 0;
   5814 }
   5815 
   5816 // This prototype is deprecated.
   5817 static inline __ATTRS_o_ai int
   5818 vec_any_le(__vector signed int __a, __vector __bool int __b) {
   5819   int __cc;
   5820   __builtin_s390_vchfs(__a, (__vector signed int)__b, &__cc);
   5821   return __cc != 0;
   5822 }
   5823 
   5824 // This prototype is deprecated.
   5825 static inline __ATTRS_o_ai int
   5826 vec_any_le(__vector __bool int __a, __vector signed int __b) {
   5827   int __cc;
   5828   __builtin_s390_vchfs((__vector signed int)__a, __b, &__cc);
   5829   return __cc != 0;
   5830 }
   5831 
   5832 static inline __ATTRS_o_ai int
   5833 vec_any_le(__vector unsigned int __a, __vector unsigned int __b) {
   5834   int __cc;
   5835   __builtin_s390_vchlfs(__a, __b, &__cc);
   5836   return __cc != 0;
   5837 }
   5838 
   5839 // This prototype is deprecated.
   5840 static inline __ATTRS_o_ai int
   5841 vec_any_le(__vector unsigned int __a, __vector __bool int __b) {
   5842   int __cc;
   5843   __builtin_s390_vchlfs(__a, (__vector unsigned int)__b, &__cc);
   5844   return __cc != 0;
   5845 }
   5846 
   5847 // This prototype is deprecated.
   5848 static inline __ATTRS_o_ai int
   5849 vec_any_le(__vector __bool int __a, __vector unsigned int __b) {
   5850   int __cc;
   5851   __builtin_s390_vchlfs((__vector unsigned int)__a, __b, &__cc);
   5852   return __cc != 0;
   5853 }
   5854 
   5855 // This prototype is deprecated.
   5856 static inline __ATTRS_o_ai int
   5857 vec_any_le(__vector __bool int __a, __vector __bool int __b) {
   5858   int __cc;
   5859   __builtin_s390_vchlfs((__vector unsigned int)__a,
   5860                         (__vector unsigned int)__b, &__cc);
   5861   return __cc != 0;
   5862 }
   5863 
   5864 static inline __ATTRS_o_ai int
   5865 vec_any_le(__vector signed long long __a, __vector signed long long __b) {
   5866   int __cc;
   5867   __builtin_s390_vchgs(__a, __b, &__cc);
   5868   return __cc != 0;
   5869 }
   5870 
   5871 // This prototype is deprecated.
   5872 static inline __ATTRS_o_ai int
   5873 vec_any_le(__vector signed long long __a, __vector __bool long long __b) {
   5874   int __cc;
   5875   __builtin_s390_vchgs(__a, (__vector signed long long)__b, &__cc);
   5876   return __cc != 0;
   5877 }
   5878 
   5879 // This prototype is deprecated.
   5880 static inline __ATTRS_o_ai int
   5881 vec_any_le(__vector __bool long long __a, __vector signed long long __b) {
   5882   int __cc;
   5883   __builtin_s390_vchgs((__vector signed long long)__a, __b, &__cc);
   5884   return __cc != 0;
   5885 }
   5886 
   5887 static inline __ATTRS_o_ai int
   5888 vec_any_le(__vector unsigned long long __a, __vector unsigned long long __b) {
   5889   int __cc;
   5890   __builtin_s390_vchlgs(__a, __b, &__cc);
   5891   return __cc != 0;
   5892 }
   5893 
   5894 // This prototype is deprecated.
   5895 static inline __ATTRS_o_ai int
   5896 vec_any_le(__vector unsigned long long __a, __vector __bool long long __b) {
   5897   int __cc;
   5898   __builtin_s390_vchlgs(__a, (__vector unsigned long long)__b, &__cc);
   5899   return __cc != 0;
   5900 }
   5901 
   5902 // This prototype is deprecated.
   5903 static inline __ATTRS_o_ai int
   5904 vec_any_le(__vector __bool long long __a, __vector unsigned long long __b) {
   5905   int __cc;
   5906   __builtin_s390_vchlgs((__vector unsigned long long)__a, __b, &__cc);
   5907   return __cc != 0;
   5908 }
   5909 
   5910 // This prototype is deprecated.
   5911 static inline __ATTRS_o_ai int
   5912 vec_any_le(__vector __bool long long __a, __vector __bool long long __b) {
   5913   int __cc;
   5914   __builtin_s390_vchlgs((__vector unsigned long long)__a,
   5915                         (__vector unsigned long long)__b, &__cc);
   5916   return __cc != 0;
   5917 }
   5918 
   5919 #if __ARCH__ >= 15
   5920 static inline __ATTRS_o_ai int
   5921 vec_any_le(__vector signed __int128 __a, __vector signed __int128 __b) {
   5922   int __cc;
   5923   __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);
   5924   return __cc != 0;
   5925 }
   5926 
   5927 static inline __ATTRS_o_ai int
   5928 vec_any_le(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   5929   int __cc;
   5930   __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
   5931   return __cc != 0;
   5932 }
   5933 #endif
   5934 
   5935 #if __ARCH__ >= 12
   5936 static inline __ATTRS_o_ai int
   5937 vec_any_le(__vector float __a, __vector float __b) {
   5938   int __cc;
   5939   __builtin_s390_vfchesbs(__b, __a, &__cc);
   5940   return __cc <= 1;
   5941 }
   5942 #endif
   5943 
   5944 static inline __ATTRS_o_ai int
   5945 vec_any_le(__vector double __a, __vector double __b) {
   5946   int __cc;
   5947   __builtin_s390_vfchedbs(__b, __a, &__cc);
   5948   return __cc <= 1;
   5949 }
   5950 
   5951 /*-- vec_any_lt -------------------------------------------------------------*/
   5952 
   5953 static inline __ATTRS_o_ai int
   5954 vec_any_lt(__vector signed char __a, __vector signed char __b) {
   5955   int __cc;
   5956   __builtin_s390_vchbs(__b, __a, &__cc);
   5957   return __cc <= 1;
   5958 }
   5959 
   5960 // This prototype is deprecated.
   5961 static inline __ATTRS_o_ai int
   5962 vec_any_lt(__vector signed char __a, __vector __bool char __b) {
   5963   int __cc;
   5964   __builtin_s390_vchbs((__vector signed char)__b, __a, &__cc);
   5965   return __cc <= 1;
   5966 }
   5967 
   5968 // This prototype is deprecated.
   5969 static inline __ATTRS_o_ai int
   5970 vec_any_lt(__vector __bool char __a, __vector signed char __b) {
   5971   int __cc;
   5972   __builtin_s390_vchbs(__b, (__vector signed char)__a, &__cc);
   5973   return __cc <= 1;
   5974 }
   5975 
   5976 static inline __ATTRS_o_ai int
   5977 vec_any_lt(__vector unsigned char __a, __vector unsigned char __b) {
   5978   int __cc;
   5979   __builtin_s390_vchlbs(__b, __a, &__cc);
   5980   return __cc <= 1;
   5981 }
   5982 
   5983 // This prototype is deprecated.
   5984 static inline __ATTRS_o_ai int
   5985 vec_any_lt(__vector unsigned char __a, __vector __bool char __b) {
   5986   int __cc;
   5987   __builtin_s390_vchlbs((__vector unsigned char)__b, __a, &__cc);
   5988   return __cc <= 1;
   5989 }
   5990 
   5991 // This prototype is deprecated.
   5992 static inline __ATTRS_o_ai int
   5993 vec_any_lt(__vector __bool char __a, __vector unsigned char __b) {
   5994   int __cc;
   5995   __builtin_s390_vchlbs(__b, (__vector unsigned char)__a, &__cc);
   5996   return __cc <= 1;
   5997 }
   5998 
   5999 // This prototype is deprecated.
   6000 static inline __ATTRS_o_ai int
   6001 vec_any_lt(__vector __bool char __a, __vector __bool char __b) {
   6002   int __cc;
   6003   __builtin_s390_vchlbs((__vector unsigned char)__b,
   6004                         (__vector unsigned char)__a, &__cc);
   6005   return __cc <= 1;
   6006 }
   6007 
   6008 static inline __ATTRS_o_ai int
   6009 vec_any_lt(__vector signed short __a, __vector signed short __b) {
   6010   int __cc;
   6011   __builtin_s390_vchhs(__b, __a, &__cc);
   6012   return __cc <= 1;
   6013 }
   6014 
   6015 // This prototype is deprecated.
   6016 static inline __ATTRS_o_ai int
   6017 vec_any_lt(__vector signed short __a, __vector __bool short __b) {
   6018   int __cc;
   6019   __builtin_s390_vchhs((__vector signed short)__b, __a, &__cc);
   6020   return __cc <= 1;
   6021 }
   6022 
   6023 // This prototype is deprecated.
   6024 static inline __ATTRS_o_ai int
   6025 vec_any_lt(__vector __bool short __a, __vector signed short __b) {
   6026   int __cc;
   6027   __builtin_s390_vchhs(__b, (__vector signed short)__a, &__cc);
   6028   return __cc <= 1;
   6029 }
   6030 
   6031 static inline __ATTRS_o_ai int
   6032 vec_any_lt(__vector unsigned short __a, __vector unsigned short __b) {
   6033   int __cc;
   6034   __builtin_s390_vchlhs(__b, __a, &__cc);
   6035   return __cc <= 1;
   6036 }
   6037 
   6038 // This prototype is deprecated.
   6039 static inline __ATTRS_o_ai int
   6040 vec_any_lt(__vector unsigned short __a, __vector __bool short __b) {
   6041   int __cc;
   6042   __builtin_s390_vchlhs((__vector unsigned short)__b, __a, &__cc);
   6043   return __cc <= 1;
   6044 }
   6045 
   6046 // This prototype is deprecated.
   6047 static inline __ATTRS_o_ai int
   6048 vec_any_lt(__vector __bool short __a, __vector unsigned short __b) {
   6049   int __cc;
   6050   __builtin_s390_vchlhs(__b, (__vector unsigned short)__a, &__cc);
   6051   return __cc <= 1;
   6052 }
   6053 
   6054 // This prototype is deprecated.
   6055 static inline __ATTRS_o_ai int
   6056 vec_any_lt(__vector __bool short __a, __vector __bool short __b) {
   6057   int __cc;
   6058   __builtin_s390_vchlhs((__vector unsigned short)__b,
   6059                         (__vector unsigned short)__a, &__cc);
   6060   return __cc <= 1;
   6061 }
   6062 
   6063 static inline __ATTRS_o_ai int
   6064 vec_any_lt(__vector signed int __a, __vector signed int __b) {
   6065   int __cc;
   6066   __builtin_s390_vchfs(__b, __a, &__cc);
   6067   return __cc <= 1;
   6068 }
   6069 
   6070 // This prototype is deprecated.
   6071 static inline __ATTRS_o_ai int
   6072 vec_any_lt(__vector signed int __a, __vector __bool int __b) {
   6073   int __cc;
   6074   __builtin_s390_vchfs((__vector signed int)__b, __a, &__cc);
   6075   return __cc <= 1;
   6076 }
   6077 
   6078 // This prototype is deprecated.
   6079 static inline __ATTRS_o_ai int
   6080 vec_any_lt(__vector __bool int __a, __vector signed int __b) {
   6081   int __cc;
   6082   __builtin_s390_vchfs(__b, (__vector signed int)__a, &__cc);
   6083   return __cc <= 1;
   6084 }
   6085 
   6086 static inline __ATTRS_o_ai int
   6087 vec_any_lt(__vector unsigned int __a, __vector unsigned int __b) {
   6088   int __cc;
   6089   __builtin_s390_vchlfs(__b, __a, &__cc);
   6090   return __cc <= 1;
   6091 }
   6092 
   6093 // This prototype is deprecated.
   6094 static inline __ATTRS_o_ai int
   6095 vec_any_lt(__vector unsigned int __a, __vector __bool int __b) {
   6096   int __cc;
   6097   __builtin_s390_vchlfs((__vector unsigned int)__b, __a, &__cc);
   6098   return __cc <= 1;
   6099 }
   6100 
   6101 // This prototype is deprecated.
   6102 static inline __ATTRS_o_ai int
   6103 vec_any_lt(__vector __bool int __a, __vector unsigned int __b) {
   6104   int __cc;
   6105   __builtin_s390_vchlfs(__b, (__vector unsigned int)__a, &__cc);
   6106   return __cc <= 1;
   6107 }
   6108 
   6109 // This prototype is deprecated.
   6110 static inline __ATTRS_o_ai int
   6111 vec_any_lt(__vector __bool int __a, __vector __bool int __b) {
   6112   int __cc;
   6113   __builtin_s390_vchlfs((__vector unsigned int)__b,
   6114                         (__vector unsigned int)__a, &__cc);
   6115   return __cc <= 1;
   6116 }
   6117 
   6118 static inline __ATTRS_o_ai int
   6119 vec_any_lt(__vector signed long long __a, __vector signed long long __b) {
   6120   int __cc;
   6121   __builtin_s390_vchgs(__b, __a, &__cc);
   6122   return __cc <= 1;
   6123 }
   6124 
   6125 // This prototype is deprecated.
   6126 static inline __ATTRS_o_ai int
   6127 vec_any_lt(__vector signed long long __a, __vector __bool long long __b) {
   6128   int __cc;
   6129   __builtin_s390_vchgs((__vector signed long long)__b, __a, &__cc);
   6130   return __cc <= 1;
   6131 }
   6132 
   6133 // This prototype is deprecated.
   6134 static inline __ATTRS_o_ai int
   6135 vec_any_lt(__vector __bool long long __a, __vector signed long long __b) {
   6136   int __cc;
   6137   __builtin_s390_vchgs(__b, (__vector signed long long)__a, &__cc);
   6138   return __cc <= 1;
   6139 }
   6140 
   6141 static inline __ATTRS_o_ai int
   6142 vec_any_lt(__vector unsigned long long __a, __vector unsigned long long __b) {
   6143   int __cc;
   6144   __builtin_s390_vchlgs(__b, __a, &__cc);
   6145   return __cc <= 1;
   6146 }
   6147 
   6148 // This prototype is deprecated.
   6149 static inline __ATTRS_o_ai int
   6150 vec_any_lt(__vector unsigned long long __a, __vector __bool long long __b) {
   6151   int __cc;
   6152   __builtin_s390_vchlgs((__vector unsigned long long)__b, __a, &__cc);
   6153   return __cc <= 1;
   6154 }
   6155 
   6156 // This prototype is deprecated.
   6157 static inline __ATTRS_o_ai int
   6158 vec_any_lt(__vector __bool long long __a, __vector unsigned long long __b) {
   6159   int __cc;
   6160   __builtin_s390_vchlgs(__b, (__vector unsigned long long)__a, &__cc);
   6161   return __cc <= 1;
   6162 }
   6163 
   6164 // This prototype is deprecated.
   6165 static inline __ATTRS_o_ai int
   6166 vec_any_lt(__vector __bool long long __a, __vector __bool long long __b) {
   6167   int __cc;
   6168   __builtin_s390_vchlgs((__vector unsigned long long)__b,
   6169                         (__vector unsigned long long)__a, &__cc);
   6170   return __cc <= 1;
   6171 }
   6172 
   6173 #if __ARCH__ >= 15
   6174 static inline __ATTRS_o_ai int
   6175 vec_any_lt(__vector signed __int128 __a, __vector signed __int128 __b) {
   6176   int __cc;
   6177   __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);
   6178   return __cc <= 1;
   6179 }
   6180 
   6181 static inline __ATTRS_o_ai int
   6182 vec_any_lt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   6183   int __cc;
   6184   __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);
   6185   return __cc <= 1;
   6186 }
   6187 #endif
   6188 
   6189 #if __ARCH__ >= 12
   6190 static inline __ATTRS_o_ai int
   6191 vec_any_lt(__vector float __a, __vector float __b) {
   6192   int __cc;
   6193   __builtin_s390_vfchsbs(__b, __a, &__cc);
   6194   return __cc <= 1;
   6195 }
   6196 #endif
   6197 
   6198 static inline __ATTRS_o_ai int
   6199 vec_any_lt(__vector double __a, __vector double __b) {
   6200   int __cc;
   6201   __builtin_s390_vfchdbs(__b, __a, &__cc);
   6202   return __cc <= 1;
   6203 }
   6204 
   6205 /*-- vec_any_nge ------------------------------------------------------------*/
   6206 
   6207 #if __ARCH__ >= 12
   6208 static inline __ATTRS_o_ai int
   6209 vec_any_nge(__vector float __a, __vector float __b) {
   6210   int __cc;
   6211   __builtin_s390_vfchesbs(__a, __b, &__cc);
   6212   return __cc != 0;
   6213 }
   6214 #endif
   6215 
   6216 static inline __ATTRS_o_ai int
   6217 vec_any_nge(__vector double __a, __vector double __b) {
   6218   int __cc;
   6219   __builtin_s390_vfchedbs(__a, __b, &__cc);
   6220   return __cc != 0;
   6221 }
   6222 
   6223 /*-- vec_any_ngt ------------------------------------------------------------*/
   6224 
   6225 #if __ARCH__ >= 12
   6226 static inline __ATTRS_o_ai int
   6227 vec_any_ngt(__vector float __a, __vector float __b) {
   6228   int __cc;
   6229   __builtin_s390_vfchsbs(__a, __b, &__cc);
   6230   return __cc != 0;
   6231 }
   6232 #endif
   6233 
   6234 static inline __ATTRS_o_ai int
   6235 vec_any_ngt(__vector double __a, __vector double __b) {
   6236   int __cc;
   6237   __builtin_s390_vfchdbs(__a, __b, &__cc);
   6238   return __cc != 0;
   6239 }
   6240 
   6241 /*-- vec_any_nle ------------------------------------------------------------*/
   6242 
   6243 #if __ARCH__ >= 12
   6244 static inline __ATTRS_o_ai int
   6245 vec_any_nle(__vector float __a, __vector float __b) {
   6246   int __cc;
   6247   __builtin_s390_vfchesbs(__b, __a, &__cc);
   6248   return __cc != 0;
   6249 }
   6250 #endif
   6251 
   6252 static inline __ATTRS_o_ai int
   6253 vec_any_nle(__vector double __a, __vector double __b) {
   6254   int __cc;
   6255   __builtin_s390_vfchedbs(__b, __a, &__cc);
   6256   return __cc != 0;
   6257 }
   6258 
   6259 /*-- vec_any_nlt ------------------------------------------------------------*/
   6260 
   6261 #if __ARCH__ >= 12
   6262 static inline __ATTRS_o_ai int
   6263 vec_any_nlt(__vector float __a, __vector float __b) {
   6264   int __cc;
   6265   __builtin_s390_vfchsbs(__b, __a, &__cc);
   6266   return __cc != 0;
   6267 }
   6268 #endif
   6269 
   6270 static inline __ATTRS_o_ai int
   6271 vec_any_nlt(__vector double __a, __vector double __b) {
   6272   int __cc;
   6273   __builtin_s390_vfchdbs(__b, __a, &__cc);
   6274   return __cc != 0;
   6275 }
   6276 
   6277 /*-- vec_any_nan ------------------------------------------------------------*/
   6278 
   6279 #if __ARCH__ >= 12
   6280 static inline __ATTRS_o_ai int
   6281 vec_any_nan(__vector float __a) {
   6282   int __cc;
   6283   __builtin_s390_vftcisb(__a, 15, &__cc);
   6284   return __cc != 3;
   6285 }
   6286 #endif
   6287 
   6288 static inline __ATTRS_o_ai int
   6289 vec_any_nan(__vector double __a) {
   6290   int __cc;
   6291   __builtin_s390_vftcidb(__a, 15, &__cc);
   6292   return __cc != 3;
   6293 }
   6294 
   6295 /*-- vec_any_numeric --------------------------------------------------------*/
   6296 
   6297 #if __ARCH__ >= 12
   6298 static inline __ATTRS_o_ai int
   6299 vec_any_numeric(__vector float __a) {
   6300   int __cc;
   6301   __builtin_s390_vftcisb(__a, 15, &__cc);
   6302   return __cc != 0;
   6303 }
   6304 #endif
   6305 
   6306 static inline __ATTRS_o_ai int
   6307 vec_any_numeric(__vector double __a) {
   6308   int __cc;
   6309   __builtin_s390_vftcidb(__a, 15, &__cc);
   6310   return __cc != 0;
   6311 }
   6312 
   6313 /*-- vec_blend --------------------------------------------------------------*/
   6314 
   6315 #if __ARCH__ >= 15
   6316 static inline __ATTRS_o_ai __vector signed char
   6317 vec_blend(__vector signed char __a, __vector signed char __b,
   6318           __vector signed char __c) {
   6319   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed char)0));
   6320 }
   6321 
   6322 static inline __ATTRS_o_ai __vector __bool char
   6323 vec_blend(__vector __bool char __a, __vector __bool char __b,
   6324           __vector signed char __c) {
   6325   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed char)0));
   6326 }
   6327 
   6328 static inline __ATTRS_o_ai __vector unsigned char
   6329 vec_blend(__vector unsigned char __a, __vector unsigned char __b,
   6330           __vector signed char __c) {
   6331   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed char)0));
   6332 }
   6333 
   6334 static inline __ATTRS_o_ai __vector signed short
   6335 vec_blend(__vector signed short __a, __vector signed short __b,
   6336           __vector signed short __c) {
   6337   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed short)0));
   6338 }
   6339 
   6340 static inline __ATTRS_o_ai __vector __bool short
   6341 vec_blend(__vector __bool short __a, __vector __bool short __b,
   6342           __vector signed short __c) {
   6343   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed short)0));
   6344 }
   6345 
   6346 static inline __ATTRS_o_ai __vector unsigned short
   6347 vec_blend(__vector unsigned short __a, __vector unsigned short __b,
   6348           __vector signed short __c) {
   6349   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed short)0));
   6350 }
   6351 
   6352 static inline __ATTRS_o_ai __vector signed int
   6353 vec_blend(__vector signed int __a, __vector signed int __b,
   6354           __vector signed int __c) {
   6355   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));
   6356 }
   6357 
   6358 static inline __ATTRS_o_ai __vector __bool int
   6359 vec_blend(__vector __bool int __a, __vector __bool int __b,
   6360           __vector signed int __c) {
   6361   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));
   6362 }
   6363 
   6364 static inline __ATTRS_o_ai __vector unsigned int
   6365 vec_blend(__vector unsigned int __a, __vector unsigned int __b,
   6366           __vector signed int __c) {
   6367   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));
   6368 }
   6369 
   6370 static inline __ATTRS_o_ai __vector signed long long
   6371 vec_blend(__vector signed long long __a, __vector signed long long __b,
   6372           __vector signed long long __c) {
   6373   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));
   6374 }
   6375 
   6376 static inline __ATTRS_o_ai __vector __bool long long
   6377 vec_blend(__vector __bool long long __a, __vector __bool long long __b,
   6378           __vector signed long long __c) {
   6379   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));
   6380 }
   6381 
   6382 static inline __ATTRS_o_ai __vector unsigned long long
   6383 vec_blend(__vector unsigned long long __a, __vector unsigned long long __b,
   6384           __vector signed long long __c) {
   6385   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));
   6386 }
   6387 
   6388 static inline __ATTRS_o_ai __vector signed __int128
   6389 vec_blend(__vector signed __int128 __a, __vector signed __int128 __b,
   6390           __vector signed __int128 __c) {
   6391   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed __int128)0));
   6392 }
   6393 
   6394 static inline __ATTRS_o_ai __vector __bool __int128
   6395 vec_blend(__vector __bool __int128 __a, __vector __bool __int128 __b,
   6396           __vector signed __int128 __c) {
   6397   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed __int128)0));
   6398 }
   6399 
   6400 static inline __ATTRS_o_ai __vector unsigned __int128
   6401 vec_blend(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
   6402           __vector signed __int128 __c) {
   6403   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed __int128)0));
   6404 }
   6405 
   6406 static inline __ATTRS_o_ai __vector float
   6407 vec_blend(__vector float __a, __vector float __b,
   6408           __vector signed int __c) {
   6409   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));
   6410 }
   6411 
   6412 static inline __ATTRS_o_ai __vector double
   6413 vec_blend(__vector double __a, __vector double __b,
   6414           __vector signed long long __c) {
   6415   return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));
   6416 }
   6417 #endif
   6418 
   6419 /*-- vec_and ---------------------------------------------------------------*/
   6420 
   6421 static inline __ATTRS_o_ai __vector __bool char
   6422 vec_and(__vector __bool char __a, __vector __bool char __b) {
   6423   return __a & __b;
   6424 }
   6425 
   6426 static inline __ATTRS_o_ai __vector signed char
   6427 vec_and(__vector signed char __a, __vector signed char __b) {
   6428   return __a & __b;
   6429 }
   6430 
   6431 static inline __ATTRS_o_ai __vector unsigned char
   6432 vec_and(__vector unsigned char __a, __vector unsigned char __b) {
   6433   return __a & __b;
   6434 }
   6435 
   6436 static inline __ATTRS_o_ai __vector __bool short
   6437 vec_and(__vector __bool short __a, __vector __bool short __b) {
   6438   return __a & __b;
   6439 }
   6440 
   6441 static inline __ATTRS_o_ai __vector signed short
   6442 vec_and(__vector signed short __a, __vector signed short __b) {
   6443   return __a & __b;
   6444 }
   6445 
   6446 static inline __ATTRS_o_ai __vector unsigned short
   6447 vec_and(__vector unsigned short __a, __vector unsigned short __b) {
   6448   return __a & __b;
   6449 }
   6450 
   6451 static inline __ATTRS_o_ai __vector __bool int
   6452 vec_and(__vector __bool int __a, __vector __bool int __b) {
   6453   return __a & __b;
   6454 }
   6455 
   6456 static inline __ATTRS_o_ai __vector signed int
   6457 vec_and(__vector signed int __a, __vector signed int __b) {
   6458   return __a & __b;
   6459 }
   6460 
   6461 static inline __ATTRS_o_ai __vector unsigned int
   6462 vec_and(__vector unsigned int __a, __vector unsigned int __b) {
   6463   return __a & __b;
   6464 }
   6465 
   6466 static inline __ATTRS_o_ai __vector __bool long long
   6467 vec_and(__vector __bool long long __a, __vector __bool long long __b) {
   6468   return __a & __b;
   6469 }
   6470 
   6471 static inline __ATTRS_o_ai __vector signed long long
   6472 vec_and(__vector signed long long __a, __vector signed long long __b) {
   6473   return __a & __b;
   6474 }
   6475 
   6476 static inline __ATTRS_o_ai __vector unsigned long long
   6477 vec_and(__vector unsigned long long __a, __vector unsigned long long __b) {
   6478   return __a & __b;
   6479 }
   6480 
   6481 static inline __ATTRS_o_ai __vector __bool __int128
   6482 vec_and(__vector __bool __int128 __a, __vector __bool __int128 __b) {
   6483   return __a & __b;
   6484 }
   6485 
   6486 static inline __ATTRS_o_ai __vector signed __int128
   6487 vec_and(__vector signed __int128 __a, __vector signed __int128 __b) {
   6488   return __a & __b;
   6489 }
   6490 
   6491 static inline __ATTRS_o_ai __vector unsigned __int128
   6492 vec_and(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   6493   return __a & __b;
   6494 }
   6495 
   6496 #if __ARCH__ >= 12
   6497 static inline __ATTRS_o_ai __vector float
   6498 vec_and(__vector float __a, __vector float __b) {
   6499   return (__vector float)((__vector unsigned int)__a &
   6500                           (__vector unsigned int)__b);
   6501 }
   6502 #endif
   6503 
   6504 static inline __ATTRS_o_ai __vector double
   6505 vec_and(__vector double __a, __vector double __b) {
   6506   return (__vector double)((__vector unsigned long long)__a &
   6507                            (__vector unsigned long long)__b);
   6508 }
   6509 
   6510 /*-- vec_or ----------------------------------------------------------------*/
   6511 
   6512 static inline __ATTRS_o_ai __vector __bool char
   6513 vec_or(__vector __bool char __a, __vector __bool char __b) {
   6514   return __a | __b;
   6515 }
   6516 
   6517 static inline __ATTRS_o_ai __vector signed char
   6518 vec_or(__vector signed char __a, __vector signed char __b) {
   6519   return __a | __b;
   6520 }
   6521 
   6522 static inline __ATTRS_o_ai __vector unsigned char
   6523 vec_or(__vector unsigned char __a, __vector unsigned char __b) {
   6524   return __a | __b;
   6525 }
   6526 
   6527 static inline __ATTRS_o_ai __vector __bool short
   6528 vec_or(__vector __bool short __a, __vector __bool short __b) {
   6529   return __a | __b;
   6530 }
   6531 
   6532 static inline __ATTRS_o_ai __vector signed short
   6533 vec_or(__vector signed short __a, __vector signed short __b) {
   6534   return __a | __b;
   6535 }
   6536 
   6537 static inline __ATTRS_o_ai __vector unsigned short
   6538 vec_or(__vector unsigned short __a, __vector unsigned short __b) {
   6539   return __a | __b;
   6540 }
   6541 
   6542 static inline __ATTRS_o_ai __vector __bool int
   6543 vec_or(__vector __bool int __a, __vector __bool int __b) {
   6544   return __a | __b;
   6545 }
   6546 
   6547 static inline __ATTRS_o_ai __vector signed int
   6548 vec_or(__vector signed int __a, __vector signed int __b) {
   6549   return __a | __b;
   6550 }
   6551 
   6552 static inline __ATTRS_o_ai __vector unsigned int
   6553 vec_or(__vector unsigned int __a, __vector unsigned int __b) {
   6554   return __a | __b;
   6555 }
   6556 
   6557 static inline __ATTRS_o_ai __vector __bool long long
   6558 vec_or(__vector __bool long long __a, __vector __bool long long __b) {
   6559   return __a | __b;
   6560 }
   6561 
   6562 static inline __ATTRS_o_ai __vector signed long long
   6563 vec_or(__vector signed long long __a, __vector signed long long __b) {
   6564   return __a | __b;
   6565 }
   6566 
   6567 static inline __ATTRS_o_ai __vector unsigned long long
   6568 vec_or(__vector unsigned long long __a, __vector unsigned long long __b) {
   6569   return __a | __b;
   6570 }
   6571 
   6572 static inline __ATTRS_o_ai __vector __bool __int128
   6573 vec_or(__vector __bool __int128 __a, __vector __bool __int128 __b) {
   6574   return __a | __b;
   6575 }
   6576 
   6577 static inline __ATTRS_o_ai __vector signed __int128
   6578 vec_or(__vector signed __int128 __a, __vector signed __int128 __b) {
   6579   return __a | __b;
   6580 }
   6581 
   6582 static inline __ATTRS_o_ai __vector unsigned __int128
   6583 vec_or(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   6584   return __a | __b;
   6585 }
   6586 
   6587 #if __ARCH__ >= 12
   6588 static inline __ATTRS_o_ai __vector float
   6589 vec_or(__vector float __a, __vector float __b) {
   6590   return (__vector float)((__vector unsigned int)__a |
   6591                           (__vector unsigned int)__b);
   6592 }
   6593 #endif
   6594 
   6595 static inline __ATTRS_o_ai __vector double
   6596 vec_or(__vector double __a, __vector double __b) {
   6597   return (__vector double)((__vector unsigned long long)__a |
   6598                            (__vector unsigned long long)__b);
   6599 }
   6600 
   6601 /*-- vec_xor ----------------------------------------------------------------*/
   6602 
   6603 static inline __ATTRS_o_ai __vector __bool char
   6604 vec_xor(__vector __bool char __a, __vector __bool char __b) {
   6605   return __a ^ __b;
   6606 }
   6607 
   6608 static inline __ATTRS_o_ai __vector signed char
   6609 vec_xor(__vector signed char __a, __vector signed char __b) {
   6610   return __a ^ __b;
   6611 }
   6612 
   6613 static inline __ATTRS_o_ai __vector unsigned char
   6614 vec_xor(__vector unsigned char __a, __vector unsigned char __b) {
   6615   return __a ^ __b;
   6616 }
   6617 
   6618 static inline __ATTRS_o_ai __vector __bool short
   6619 vec_xor(__vector __bool short __a, __vector __bool short __b) {
   6620   return __a ^ __b;
   6621 }
   6622 
   6623 static inline __ATTRS_o_ai __vector signed short
   6624 vec_xor(__vector signed short __a, __vector signed short __b) {
   6625   return __a ^ __b;
   6626 }
   6627 
   6628 static inline __ATTRS_o_ai __vector unsigned short
   6629 vec_xor(__vector unsigned short __a, __vector unsigned short __b) {
   6630   return __a ^ __b;
   6631 }
   6632 
   6633 static inline __ATTRS_o_ai __vector __bool int
   6634 vec_xor(__vector __bool int __a, __vector __bool int __b) {
   6635   return __a ^ __b;
   6636 }
   6637 
   6638 static inline __ATTRS_o_ai __vector signed int
   6639 vec_xor(__vector signed int __a, __vector signed int __b) {
   6640   return __a ^ __b;
   6641 }
   6642 
   6643 static inline __ATTRS_o_ai __vector unsigned int
   6644 vec_xor(__vector unsigned int __a, __vector unsigned int __b) {
   6645   return __a ^ __b;
   6646 }
   6647 
   6648 static inline __ATTRS_o_ai __vector __bool long long
   6649 vec_xor(__vector __bool long long __a, __vector __bool long long __b) {
   6650   return __a ^ __b;
   6651 }
   6652 
   6653 static inline __ATTRS_o_ai __vector signed long long
   6654 vec_xor(__vector signed long long __a, __vector signed long long __b) {
   6655   return __a ^ __b;
   6656 }
   6657 
   6658 static inline __ATTRS_o_ai __vector unsigned long long
   6659 vec_xor(__vector unsigned long long __a, __vector unsigned long long __b) {
   6660   return __a ^ __b;
   6661 }
   6662 
   6663 static inline __ATTRS_o_ai __vector __bool __int128
   6664 vec_xor(__vector __bool __int128 __a, __vector __bool __int128 __b) {
   6665   return __a ^ __b;
   6666 }
   6667 
   6668 static inline __ATTRS_o_ai __vector signed __int128
   6669 vec_xor(__vector signed __int128 __a, __vector signed __int128 __b) {
   6670   return __a ^ __b;
   6671 }
   6672 
   6673 static inline __ATTRS_o_ai __vector unsigned __int128
   6674 vec_xor(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   6675   return __a ^ __b;
   6676 }
   6677 
   6678 #if __ARCH__ >= 12
   6679 static inline __ATTRS_o_ai __vector float
   6680 vec_xor(__vector float __a, __vector float __b) {
   6681   return (__vector float)((__vector unsigned int)__a ^
   6682                           (__vector unsigned int)__b);
   6683 }
   6684 #endif
   6685 
   6686 static inline __ATTRS_o_ai __vector double
   6687 vec_xor(__vector double __a, __vector double __b) {
   6688   return (__vector double)((__vector unsigned long long)__a ^
   6689                            (__vector unsigned long long)__b);
   6690 }
   6691 
   6692 /*-- vec_andc ---------------------------------------------------------------*/
   6693 
   6694 static inline __ATTRS_o_ai __vector __bool char
   6695 vec_andc(__vector __bool char __a, __vector __bool char __b) {
   6696   return __a & ~__b;
   6697 }
   6698 
   6699 static inline __ATTRS_o_ai __vector signed char
   6700 vec_andc(__vector signed char __a, __vector signed char __b) {
   6701   return __a & ~__b;
   6702 }
   6703 
   6704 // This prototype is deprecated.
   6705 static inline __ATTRS_o_ai __vector signed char
   6706 vec_andc(__vector __bool char __a, __vector signed char __b) {
   6707   return __a & ~__b;
   6708 }
   6709 
   6710 // This prototype is deprecated.
   6711 static inline __ATTRS_o_ai __vector signed char
   6712 vec_andc(__vector signed char __a, __vector __bool char __b) {
   6713   return __a & ~__b;
   6714 }
   6715 
   6716 static inline __ATTRS_o_ai __vector unsigned char
   6717 vec_andc(__vector unsigned char __a, __vector unsigned char __b) {
   6718   return __a & ~__b;
   6719 }
   6720 
   6721 // This prototype is deprecated.
   6722 static inline __ATTRS_o_ai __vector unsigned char
   6723 vec_andc(__vector __bool char __a, __vector unsigned char __b) {
   6724   return __a & ~__b;
   6725 }
   6726 
   6727 // This prototype is deprecated.
   6728 static inline __ATTRS_o_ai __vector unsigned char
   6729 vec_andc(__vector unsigned char __a, __vector __bool char __b) {
   6730   return __a & ~__b;
   6731 }
   6732 
   6733 static inline __ATTRS_o_ai __vector __bool short
   6734 vec_andc(__vector __bool short __a, __vector __bool short __b) {
   6735   return __a & ~__b;
   6736 }
   6737 
   6738 static inline __ATTRS_o_ai __vector signed short
   6739 vec_andc(__vector signed short __a, __vector signed short __b) {
   6740   return __a & ~__b;
   6741 }
   6742 
   6743 // This prototype is deprecated.
   6744 static inline __ATTRS_o_ai __vector signed short
   6745 vec_andc(__vector __bool short __a, __vector signed short __b) {
   6746   return __a & ~__b;
   6747 }
   6748 
   6749 // This prototype is deprecated.
   6750 static inline __ATTRS_o_ai __vector signed short
   6751 vec_andc(__vector signed short __a, __vector __bool short __b) {
   6752   return __a & ~__b;
   6753 }
   6754 
   6755 static inline __ATTRS_o_ai __vector unsigned short
   6756 vec_andc(__vector unsigned short __a, __vector unsigned short __b) {
   6757   return __a & ~__b;
   6758 }
   6759 
   6760 // This prototype is deprecated.
   6761 static inline __ATTRS_o_ai __vector unsigned short
   6762 vec_andc(__vector __bool short __a, __vector unsigned short __b) {
   6763   return __a & ~__b;
   6764 }
   6765 
   6766 // This prototype is deprecated.
   6767 static inline __ATTRS_o_ai __vector unsigned short
   6768 vec_andc(__vector unsigned short __a, __vector __bool short __b) {
   6769   return __a & ~__b;
   6770 }
   6771 
   6772 static inline __ATTRS_o_ai __vector __bool int
   6773 vec_andc(__vector __bool int __a, __vector __bool int __b) {
   6774   return __a & ~__b;
   6775 }
   6776 
   6777 static inline __ATTRS_o_ai __vector signed int
   6778 vec_andc(__vector signed int __a, __vector signed int __b) {
   6779   return __a & ~__b;
   6780 }
   6781 
   6782 // This prototype is deprecated.
   6783 static inline __ATTRS_o_ai __vector signed int
   6784 vec_andc(__vector __bool int __a, __vector signed int __b) {
   6785   return __a & ~__b;
   6786 }
   6787 
   6788 // This prototype is deprecated.
   6789 static inline __ATTRS_o_ai __vector signed int
   6790 vec_andc(__vector signed int __a, __vector __bool int __b) {
   6791   return __a & ~__b;
   6792 }
   6793 
   6794 static inline __ATTRS_o_ai __vector unsigned int
   6795 vec_andc(__vector unsigned int __a, __vector unsigned int __b) {
   6796   return __a & ~__b;
   6797 }
   6798 
   6799 // This prototype is deprecated.
   6800 static inline __ATTRS_o_ai __vector unsigned int
   6801 vec_andc(__vector __bool int __a, __vector unsigned int __b) {
   6802   return __a & ~__b;
   6803 }
   6804 
   6805 // This prototype is deprecated.
   6806 static inline __ATTRS_o_ai __vector unsigned int
   6807 vec_andc(__vector unsigned int __a, __vector __bool int __b) {
   6808   return __a & ~__b;
   6809 }
   6810 
   6811 static inline __ATTRS_o_ai __vector __bool long long
   6812 vec_andc(__vector __bool long long __a, __vector __bool long long __b) {
   6813   return __a & ~__b;
   6814 }
   6815 
   6816 static inline __ATTRS_o_ai __vector signed long long
   6817 vec_andc(__vector signed long long __a, __vector signed long long __b) {
   6818   return __a & ~__b;
   6819 }
   6820 
   6821 // This prototype is deprecated.
   6822 static inline __ATTRS_o_ai __vector signed long long
   6823 vec_andc(__vector __bool long long __a, __vector signed long long __b) {
   6824   return __a & ~__b;
   6825 }
   6826 
   6827 // This prototype is deprecated.
   6828 static inline __ATTRS_o_ai __vector signed long long
   6829 vec_andc(__vector signed long long __a, __vector __bool long long __b) {
   6830   return __a & ~__b;
   6831 }
   6832 
   6833 static inline __ATTRS_o_ai __vector unsigned long long
   6834 vec_andc(__vector unsigned long long __a, __vector unsigned long long __b) {
   6835   return __a & ~__b;
   6836 }
   6837 
   6838 // This prototype is deprecated.
   6839 static inline __ATTRS_o_ai __vector unsigned long long
   6840 vec_andc(__vector __bool long long __a, __vector unsigned long long __b) {
   6841   return __a & ~__b;
   6842 }
   6843 
   6844 // This prototype is deprecated.
   6845 static inline __ATTRS_o_ai __vector unsigned long long
   6846 vec_andc(__vector unsigned long long __a, __vector __bool long long __b) {
   6847   return __a & ~__b;
   6848 }
   6849 
   6850 static inline __ATTRS_o_ai __vector __bool __int128
   6851 vec_andc(__vector __bool __int128 __a, __vector __bool __int128 __b) {
   6852   return __a & ~__b;
   6853 }
   6854 
   6855 static inline __ATTRS_o_ai __vector signed __int128
   6856 vec_andc(__vector signed __int128 __a, __vector signed __int128 __b) {
   6857   return __a & ~__b;
   6858 }
   6859 
   6860 static inline __ATTRS_o_ai __vector unsigned __int128
   6861 vec_andc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   6862   return __a & ~__b;
   6863 }
   6864 
   6865 #if __ARCH__ >= 12
   6866 static inline __ATTRS_o_ai __vector float
   6867 vec_andc(__vector float __a, __vector float __b) {
   6868   return (__vector float)((__vector unsigned int)__a &
   6869                          ~(__vector unsigned int)__b);
   6870 }
   6871 #endif
   6872 
   6873 static inline __ATTRS_o_ai __vector double
   6874 vec_andc(__vector double __a, __vector double __b) {
   6875   return (__vector double)((__vector unsigned long long)__a &
   6876                          ~(__vector unsigned long long)__b);
   6877 }
   6878 
   6879 // This prototype is deprecated.
   6880 static inline __ATTRS_o_ai __vector double
   6881 vec_andc(__vector __bool long long __a, __vector double __b) {
   6882   return (__vector double)((__vector unsigned long long)__a &
   6883                          ~(__vector unsigned long long)__b);
   6884 }
   6885 
   6886 // This prototype is deprecated.
   6887 static inline __ATTRS_o_ai __vector double
   6888 vec_andc(__vector double __a, __vector __bool long long __b) {
   6889   return (__vector double)((__vector unsigned long long)__a &
   6890                          ~(__vector unsigned long long)__b);
   6891 }
   6892 
   6893 /*-- vec_nor ----------------------------------------------------------------*/
   6894 
   6895 static inline __ATTRS_o_ai __vector __bool char
   6896 vec_nor(__vector __bool char __a, __vector __bool char __b) {
   6897   return ~(__a | __b);
   6898 }
   6899 
   6900 static inline __ATTRS_o_ai __vector signed char
   6901 vec_nor(__vector signed char __a, __vector signed char __b) {
   6902   return ~(__a | __b);
   6903 }
   6904 
   6905 // This prototype is deprecated.
   6906 static inline __ATTRS_o_ai __vector signed char
   6907 vec_nor(__vector __bool char __a, __vector signed char __b) {
   6908   return ~(__a | __b);
   6909 }
   6910 
   6911 // This prototype is deprecated.
   6912 static inline __ATTRS_o_ai __vector signed char
   6913 vec_nor(__vector signed char __a, __vector __bool char __b) {
   6914   return ~(__a | __b);
   6915 }
   6916 
   6917 static inline __ATTRS_o_ai __vector unsigned char
   6918 vec_nor(__vector unsigned char __a, __vector unsigned char __b) {
   6919   return ~(__a | __b);
   6920 }
   6921 
   6922 // This prototype is deprecated.
   6923 static inline __ATTRS_o_ai __vector unsigned char
   6924 vec_nor(__vector __bool char __a, __vector unsigned char __b) {
   6925   return ~(__a | __b);
   6926 }
   6927 
   6928 // This prototype is deprecated.
   6929 static inline __ATTRS_o_ai __vector unsigned char
   6930 vec_nor(__vector unsigned char __a, __vector __bool char __b) {
   6931   return ~(__a | __b);
   6932 }
   6933 
   6934 static inline __ATTRS_o_ai __vector __bool short
   6935 vec_nor(__vector __bool short __a, __vector __bool short __b) {
   6936   return ~(__a | __b);
   6937 }
   6938 
   6939 static inline __ATTRS_o_ai __vector signed short
   6940 vec_nor(__vector signed short __a, __vector signed short __b) {
   6941   return ~(__a | __b);
   6942 }
   6943 
   6944 // This prototype is deprecated.
   6945 static inline __ATTRS_o_ai __vector signed short
   6946 vec_nor(__vector __bool short __a, __vector signed short __b) {
   6947   return ~(__a | __b);
   6948 }
   6949 
   6950 // This prototype is deprecated.
   6951 static inline __ATTRS_o_ai __vector signed short
   6952 vec_nor(__vector signed short __a, __vector __bool short __b) {
   6953   return ~(__a | __b);
   6954 }
   6955 
   6956 static inline __ATTRS_o_ai __vector unsigned short
   6957 vec_nor(__vector unsigned short __a, __vector unsigned short __b) {
   6958   return ~(__a | __b);
   6959 }
   6960 
   6961 // This prototype is deprecated.
   6962 static inline __ATTRS_o_ai __vector unsigned short
   6963 vec_nor(__vector __bool short __a, __vector unsigned short __b) {
   6964   return ~(__a | __b);
   6965 }
   6966 
   6967 // This prototype is deprecated.
   6968 static inline __ATTRS_o_ai __vector unsigned short
   6969 vec_nor(__vector unsigned short __a, __vector __bool short __b) {
   6970   return ~(__a | __b);
   6971 }
   6972 
   6973 static inline __ATTRS_o_ai __vector __bool int
   6974 vec_nor(__vector __bool int __a, __vector __bool int __b) {
   6975   return ~(__a | __b);
   6976 }
   6977 
   6978 static inline __ATTRS_o_ai __vector signed int
   6979 vec_nor(__vector signed int __a, __vector signed int __b) {
   6980   return ~(__a | __b);
   6981 }
   6982 
   6983 // This prototype is deprecated.
   6984 static inline __ATTRS_o_ai __vector signed int
   6985 vec_nor(__vector __bool int __a, __vector signed int __b) {
   6986   return ~(__a | __b);
   6987 }
   6988 
   6989 // This prototype is deprecated.
   6990 static inline __ATTRS_o_ai __vector signed int
   6991 vec_nor(__vector signed int __a, __vector __bool int __b) {
   6992   return ~(__a | __b);
   6993 }
   6994 
   6995 static inline __ATTRS_o_ai __vector unsigned int
   6996 vec_nor(__vector unsigned int __a, __vector unsigned int __b) {
   6997   return ~(__a | __b);
   6998 }
   6999 
   7000 // This prototype is deprecated.
   7001 static inline __ATTRS_o_ai __vector unsigned int
   7002 vec_nor(__vector __bool int __a, __vector unsigned int __b) {
   7003   return ~(__a | __b);
   7004 }
   7005 
   7006 // This prototype is deprecated.
   7007 static inline __ATTRS_o_ai __vector unsigned int
   7008 vec_nor(__vector unsigned int __a, __vector __bool int __b) {
   7009   return ~(__a | __b);
   7010 }
   7011 
   7012 static inline __ATTRS_o_ai __vector __bool long long
   7013 vec_nor(__vector __bool long long __a, __vector __bool long long __b) {
   7014   return ~(__a | __b);
   7015 }
   7016 
   7017 static inline __ATTRS_o_ai __vector signed long long
   7018 vec_nor(__vector signed long long __a, __vector signed long long __b) {
   7019   return ~(__a | __b);
   7020 }
   7021 
   7022 // This prototype is deprecated.
   7023 static inline __ATTRS_o_ai __vector signed long long
   7024 vec_nor(__vector __bool long long __a, __vector signed long long __b) {
   7025   return ~(__a | __b);
   7026 }
   7027 
   7028 // This prototype is deprecated.
   7029 static inline __ATTRS_o_ai __vector signed long long
   7030 vec_nor(__vector signed long long __a, __vector __bool long long __b) {
   7031   return ~(__a | __b);
   7032 }
   7033 
   7034 static inline __ATTRS_o_ai __vector unsigned long long
   7035 vec_nor(__vector unsigned long long __a, __vector unsigned long long __b) {
   7036   return ~(__a | __b);
   7037 }
   7038 
   7039 // This prototype is deprecated.
   7040 static inline __ATTRS_o_ai __vector unsigned long long
   7041 vec_nor(__vector __bool long long __a, __vector unsigned long long __b) {
   7042   return ~(__a | __b);
   7043 }
   7044 
   7045 // This prototype is deprecated.
   7046 static inline __ATTRS_o_ai __vector unsigned long long
   7047 vec_nor(__vector unsigned long long __a, __vector __bool long long __b) {
   7048   return ~(__a | __b);
   7049 }
   7050 
   7051 static inline __ATTRS_o_ai __vector __bool __int128
   7052 vec_nor(__vector __bool __int128 __a, __vector __bool __int128 __b) {
   7053   return ~(__a | __b);
   7054 }
   7055 
   7056 static inline __ATTRS_o_ai __vector signed __int128
   7057 vec_nor(__vector signed __int128 __a, __vector signed __int128 __b) {
   7058   return ~(__a | __b);
   7059 }
   7060 
   7061 static inline __ATTRS_o_ai __vector unsigned __int128
   7062 vec_nor(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   7063   return ~(__a | __b);
   7064 }
   7065 
   7066 #if __ARCH__ >= 12
   7067 static inline __ATTRS_o_ai __vector float
   7068 vec_nor(__vector float __a, __vector float __b) {
   7069   return (__vector float)~((__vector unsigned int)__a |
   7070                          (__vector unsigned int)__b);
   7071 }
   7072 #endif
   7073 
   7074 static inline __ATTRS_o_ai __vector double
   7075 vec_nor(__vector double __a, __vector double __b) {
   7076   return (__vector double)~((__vector unsigned long long)__a |
   7077                           (__vector unsigned long long)__b);
   7078 }
   7079 
   7080 // This prototype is deprecated.
   7081 static inline __ATTRS_o_ai __vector double
   7082 vec_nor(__vector __bool long long __a, __vector double __b) {
   7083   return (__vector double)~((__vector unsigned long long)__a |
   7084                           (__vector unsigned long long)__b);
   7085 }
   7086 
   7087 // This prototype is deprecated.
   7088 static inline __ATTRS_o_ai __vector double
   7089 vec_nor(__vector double __a, __vector __bool long long __b) {
   7090   return (__vector double)~((__vector unsigned long long)__a |
   7091                           (__vector unsigned long long)__b);
   7092 }
   7093 
   7094 /*-- vec_orc ----------------------------------------------------------------*/
   7095 
   7096 #if __ARCH__ >= 12
   7097 static inline __ATTRS_o_ai __vector __bool char
   7098 vec_orc(__vector __bool char __a, __vector __bool char __b) {
   7099   return __a | ~__b;
   7100 }
   7101 
   7102 static inline __ATTRS_o_ai __vector signed char
   7103 vec_orc(__vector signed char __a, __vector signed char __b) {
   7104   return __a | ~__b;
   7105 }
   7106 
   7107 static inline __ATTRS_o_ai __vector unsigned char
   7108 vec_orc(__vector unsigned char __a, __vector unsigned char __b) {
   7109   return __a | ~__b;
   7110 }
   7111 
   7112 static inline __ATTRS_o_ai __vector __bool short
   7113 vec_orc(__vector __bool short __a, __vector __bool short __b) {
   7114   return __a | ~__b;
   7115 }
   7116 
   7117 static inline __ATTRS_o_ai __vector signed short
   7118 vec_orc(__vector signed short __a, __vector signed short __b) {
   7119   return __a | ~__b;
   7120 }
   7121 
   7122 static inline __ATTRS_o_ai __vector unsigned short
   7123 vec_orc(__vector unsigned short __a, __vector unsigned short __b) {
   7124   return __a | ~__b;
   7125 }
   7126 
   7127 static inline __ATTRS_o_ai __vector __bool int
   7128 vec_orc(__vector __bool int __a, __vector __bool int __b) {
   7129   return __a | ~__b;
   7130 }
   7131 
   7132 static inline __ATTRS_o_ai __vector signed int
   7133 vec_orc(__vector signed int __a, __vector signed int __b) {
   7134   return __a | ~__b;
   7135 }
   7136 
   7137 static inline __ATTRS_o_ai __vector unsigned int
   7138 vec_orc(__vector unsigned int __a, __vector unsigned int __b) {
   7139   return __a | ~__b;
   7140 }
   7141 
   7142 static inline __ATTRS_o_ai __vector __bool long long
   7143 vec_orc(__vector __bool long long __a, __vector __bool long long __b) {
   7144   return __a | ~__b;
   7145 }
   7146 
   7147 static inline __ATTRS_o_ai __vector signed long long
   7148 vec_orc(__vector signed long long __a, __vector signed long long __b) {
   7149   return __a | ~__b;
   7150 }
   7151 
   7152 static inline __ATTRS_o_ai __vector unsigned long long
   7153 vec_orc(__vector unsigned long long __a, __vector unsigned long long __b) {
   7154   return __a | ~__b;
   7155 }
   7156 
   7157 static inline __ATTRS_o_ai __vector __bool __int128
   7158 vec_orc(__vector __bool __int128 __a, __vector __bool __int128 __b) {
   7159   return __a | ~__b;
   7160 }
   7161 
   7162 static inline __ATTRS_o_ai __vector signed __int128
   7163 vec_orc(__vector signed __int128 __a, __vector signed __int128 __b) {
   7164   return __a | ~__b;
   7165 }
   7166 
   7167 static inline __ATTRS_o_ai __vector unsigned __int128
   7168 vec_orc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   7169   return __a | ~__b;
   7170 }
   7171 
   7172 static inline __ATTRS_o_ai __vector float
   7173 vec_orc(__vector float __a, __vector float __b) {
   7174   return (__vector float)((__vector unsigned int)__a |
   7175                         ~(__vector unsigned int)__b);
   7176 }
   7177 
   7178 static inline __ATTRS_o_ai __vector double
   7179 vec_orc(__vector double __a, __vector double __b) {
   7180   return (__vector double)((__vector unsigned long long)__a |
   7181                          ~(__vector unsigned long long)__b);
   7182 }
   7183 #endif
   7184 
   7185 /*-- vec_nand ---------------------------------------------------------------*/
   7186 
   7187 #if __ARCH__ >= 12
   7188 static inline __ATTRS_o_ai __vector __bool char
   7189 vec_nand(__vector __bool char __a, __vector __bool char __b) {
   7190   return ~(__a & __b);
   7191 }
   7192 
   7193 static inline __ATTRS_o_ai __vector signed char
   7194 vec_nand(__vector signed char __a, __vector signed char __b) {
   7195   return ~(__a & __b);
   7196 }
   7197 
   7198 static inline __ATTRS_o_ai __vector unsigned char
   7199 vec_nand(__vector unsigned char __a, __vector unsigned char __b) {
   7200   return ~(__a & __b);
   7201 }
   7202 
   7203 static inline __ATTRS_o_ai __vector __bool short
   7204 vec_nand(__vector __bool short __a, __vector __bool short __b) {
   7205   return ~(__a & __b);
   7206 }
   7207 
   7208 static inline __ATTRS_o_ai __vector signed short
   7209 vec_nand(__vector signed short __a, __vector signed short __b) {
   7210   return ~(__a & __b);
   7211 }
   7212 
   7213 static inline __ATTRS_o_ai __vector unsigned short
   7214 vec_nand(__vector unsigned short __a, __vector unsigned short __b) {
   7215   return ~(__a & __b);
   7216 }
   7217 
   7218 static inline __ATTRS_o_ai __vector __bool int
   7219 vec_nand(__vector __bool int __a, __vector __bool int __b) {
   7220   return ~(__a & __b);
   7221 }
   7222 
   7223 static inline __ATTRS_o_ai __vector signed int
   7224 vec_nand(__vector signed int __a, __vector signed int __b) {
   7225   return ~(__a & __b);
   7226 }
   7227 
   7228 static inline __ATTRS_o_ai __vector unsigned int
   7229 vec_nand(__vector unsigned int __a, __vector unsigned int __b) {
   7230   return ~(__a & __b);
   7231 }
   7232 
   7233 static inline __ATTRS_o_ai __vector __bool long long
   7234 vec_nand(__vector __bool long long __a, __vector __bool long long __b) {
   7235   return ~(__a & __b);
   7236 }
   7237 
   7238 static inline __ATTRS_o_ai __vector signed long long
   7239 vec_nand(__vector signed long long __a, __vector signed long long __b) {
   7240   return ~(__a & __b);
   7241 }
   7242 
   7243 static inline __ATTRS_o_ai __vector unsigned long long
   7244 vec_nand(__vector unsigned long long __a, __vector unsigned long long __b) {
   7245   return ~(__a & __b);
   7246 }
   7247 
   7248 static inline __ATTRS_o_ai __vector __bool __int128
   7249 vec_nand(__vector __bool __int128 __a, __vector __bool __int128 __b) {
   7250   return ~(__a & __b);
   7251 }
   7252 
   7253 static inline __ATTRS_o_ai __vector signed __int128
   7254 vec_nand(__vector signed __int128 __a, __vector signed __int128 __b) {
   7255   return ~(__a & __b);
   7256 }
   7257 
   7258 static inline __ATTRS_o_ai __vector unsigned __int128
   7259 vec_nand(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   7260   return ~(__a & __b);
   7261 }
   7262 
   7263 static inline __ATTRS_o_ai __vector float
   7264 vec_nand(__vector float __a, __vector float __b) {
   7265   return (__vector float)~((__vector unsigned int)__a &
   7266                          (__vector unsigned int)__b);
   7267 }
   7268 
   7269 static inline __ATTRS_o_ai __vector double
   7270 vec_nand(__vector double __a, __vector double __b) {
   7271   return (__vector double)~((__vector unsigned long long)__a &
   7272                           (__vector unsigned long long)__b);
   7273 }
   7274 #endif
   7275 
   7276 /*-- vec_eqv ----------------------------------------------------------------*/
   7277 
   7278 #if __ARCH__ >= 12
   7279 static inline __ATTRS_o_ai __vector __bool char
   7280 vec_eqv(__vector __bool char __a, __vector __bool char __b) {
   7281   return ~(__a ^ __b);
   7282 }
   7283 
   7284 static inline __ATTRS_o_ai __vector signed char
   7285 vec_eqv(__vector signed char __a, __vector signed char __b) {
   7286   return ~(__a ^ __b);
   7287 }
   7288 
   7289 static inline __ATTRS_o_ai __vector unsigned char
   7290 vec_eqv(__vector unsigned char __a, __vector unsigned char __b) {
   7291   return ~(__a ^ __b);
   7292 }
   7293 
   7294 static inline __ATTRS_o_ai __vector __bool short
   7295 vec_eqv(__vector __bool short __a, __vector __bool short __b) {
   7296   return ~(__a ^ __b);
   7297 }
   7298 
   7299 static inline __ATTRS_o_ai __vector signed short
   7300 vec_eqv(__vector signed short __a, __vector signed short __b) {
   7301   return ~(__a ^ __b);
   7302 }
   7303 
   7304 static inline __ATTRS_o_ai __vector unsigned short
   7305 vec_eqv(__vector unsigned short __a, __vector unsigned short __b) {
   7306   return ~(__a ^ __b);
   7307 }
   7308 
   7309 static inline __ATTRS_o_ai __vector __bool int
   7310 vec_eqv(__vector __bool int __a, __vector __bool int __b) {
   7311   return ~(__a ^ __b);
   7312 }
   7313 
   7314 static inline __ATTRS_o_ai __vector signed int
   7315 vec_eqv(__vector signed int __a, __vector signed int __b) {
   7316   return ~(__a ^ __b);
   7317 }
   7318 
   7319 static inline __ATTRS_o_ai __vector unsigned int
   7320 vec_eqv(__vector unsigned int __a, __vector unsigned int __b) {
   7321   return ~(__a ^ __b);
   7322 }
   7323 
   7324 static inline __ATTRS_o_ai __vector __bool long long
   7325 vec_eqv(__vector __bool long long __a, __vector __bool long long __b) {
   7326   return ~(__a ^ __b);
   7327 }
   7328 
   7329 static inline __ATTRS_o_ai __vector signed long long
   7330 vec_eqv(__vector signed long long __a, __vector signed long long __b) {
   7331   return ~(__a ^ __b);
   7332 }
   7333 
   7334 static inline __ATTRS_o_ai __vector unsigned long long
   7335 vec_eqv(__vector unsigned long long __a, __vector unsigned long long __b) {
   7336   return ~(__a ^ __b);
   7337 }
   7338 
   7339 static inline __ATTRS_o_ai __vector __bool __int128
   7340 vec_eqv(__vector __bool __int128 __a, __vector __bool __int128 __b) {
   7341   return ~(__a ^ __b);
   7342 }
   7343 
   7344 static inline __ATTRS_o_ai __vector signed __int128
   7345 vec_eqv(__vector signed __int128 __a, __vector signed __int128 __b) {
   7346   return ~(__a ^ __b);
   7347 }
   7348 
   7349 static inline __ATTRS_o_ai __vector unsigned __int128
   7350 vec_eqv(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   7351   return ~(__a ^ __b);
   7352 }
   7353 
   7354 static inline __ATTRS_o_ai __vector float
   7355 vec_eqv(__vector float __a, __vector float __b) {
   7356   return (__vector float)~((__vector unsigned int)__a ^
   7357                          (__vector unsigned int)__b);
   7358 }
   7359 
   7360 static inline __ATTRS_o_ai __vector double
   7361 vec_eqv(__vector double __a, __vector double __b) {
   7362   return (__vector double)~((__vector unsigned long long)__a ^
   7363                           (__vector unsigned long long)__b);
   7364 }
   7365 #endif
   7366 
   7367 /*-- vec_evaluate -----------------------------------------------------------*/
   7368 
   7369 #if __ARCH__ >= 15
   7370 extern __ATTRS_o __vector signed char
   7371 vec_evaluate(__vector signed char __a, __vector signed char __b,
   7372              __vector signed char __c, unsigned char __d)
   7373   __constant(__d);
   7374 
   7375 extern __ATTRS_o __vector unsigned char
   7376 vec_evaluate(__vector unsigned char __a, __vector unsigned char __b,
   7377              __vector unsigned char __c, unsigned char __d)
   7378   __constant(__d);
   7379 
   7380 extern __ATTRS_o __vector __bool char
   7381 vec_evaluate(__vector __bool char __a, __vector __bool char __b,
   7382              __vector __bool char __c, unsigned char __d)
   7383   __constant(__d);
   7384 
   7385 extern __ATTRS_o __vector signed short
   7386 vec_evaluate(__vector signed short __a, __vector signed short __b,
   7387              __vector signed short __c, unsigned char __d)
   7388   __constant(__d);
   7389 
   7390 extern __ATTRS_o __vector unsigned short
   7391 vec_evaluate(__vector unsigned short __a, __vector unsigned short __b,
   7392              __vector unsigned short __c, unsigned char __d)
   7393   __constant(__d);
   7394 
   7395 extern __ATTRS_o __vector __bool short
   7396 vec_evaluate(__vector __bool short __a, __vector __bool short __b,
   7397              __vector __bool short __c, unsigned char __d)
   7398   __constant(__d);
   7399 
   7400 extern __ATTRS_o __vector signed int
   7401 vec_evaluate(__vector signed int __a, __vector signed int __b,
   7402              __vector signed int __c, unsigned char __d)
   7403   __constant(__d);
   7404 
   7405 extern __ATTRS_o __vector unsigned int
   7406 vec_evaluate(__vector unsigned int __a, __vector unsigned int __b,
   7407              __vector unsigned int __c, unsigned char __d)
   7408   __constant(__d);
   7409 
   7410 extern __ATTRS_o __vector __bool int
   7411 vec_evaluate(__vector __bool int __a, __vector __bool int __b,
   7412              __vector __bool int __c, unsigned char __d)
   7413   __constant(__d);
   7414 
   7415 extern __ATTRS_o __vector signed long long
   7416 vec_evaluate(__vector signed long long __a, __vector signed long long __b,
   7417              __vector signed long long __c, unsigned char __d)
   7418   __constant(__d);
   7419 
   7420 extern __ATTRS_o __vector unsigned long long
   7421 vec_evaluate(__vector unsigned long long __a, __vector unsigned long long __b,
   7422              __vector unsigned long long __c, unsigned char __d)
   7423   __constant(__d);
   7424 
   7425 extern __ATTRS_o __vector __bool long long
   7426 vec_evaluate(__vector __bool long long __a, __vector __bool long long __b,
   7427              __vector __bool long long __c, unsigned char __d)
   7428   __constant(__d);
   7429 
   7430 extern __ATTRS_o __vector signed __int128
   7431 vec_evaluate(__vector signed __int128 __a, __vector signed __int128 __b,
   7432              __vector signed __int128 __c, unsigned char __d)
   7433   __constant(__d);
   7434 
   7435 extern __ATTRS_o __vector unsigned __int128
   7436 vec_evaluate(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
   7437              __vector unsigned __int128 __c, unsigned char __d)
   7438   __constant(__d);
   7439 
   7440 extern __ATTRS_o __vector __bool __int128
   7441 vec_evaluate(__vector __bool __int128 __a, __vector __bool __int128 __b,
   7442              __vector __bool __int128 __c, unsigned char __d)
   7443   __constant(__d);
   7444 
   7445 #define vec_evaluate(A, B, C, D) \
   7446   ((__typeof__((vec_evaluate)((A), (B), (C), (D)))) \
   7447   __builtin_s390_veval((__vector unsigned char)(A), \
   7448                        (__vector unsigned char)(B), \
   7449                        (__vector unsigned char)(C), (D)))
   7450 #endif
   7451 
   7452 /*-- vec_cntlz --------------------------------------------------------------*/
   7453 
   7454 static inline __ATTRS_o_ai __vector unsigned char
   7455 vec_cntlz(__vector signed char __a) {
   7456   return __builtin_s390_vclzb((__vector unsigned char)__a);
   7457 }
   7458 
   7459 static inline __ATTRS_o_ai __vector unsigned char
   7460 vec_cntlz(__vector unsigned char __a) {
   7461   return __builtin_s390_vclzb(__a);
   7462 }
   7463 
   7464 static inline __ATTRS_o_ai __vector unsigned short
   7465 vec_cntlz(__vector signed short __a) {
   7466   return __builtin_s390_vclzh((__vector unsigned short)__a);
   7467 }
   7468 
   7469 static inline __ATTRS_o_ai __vector unsigned short
   7470 vec_cntlz(__vector unsigned short __a) {
   7471   return __builtin_s390_vclzh(__a);
   7472 }
   7473 
   7474 static inline __ATTRS_o_ai __vector unsigned int
   7475 vec_cntlz(__vector signed int __a) {
   7476   return __builtin_s390_vclzf((__vector unsigned int)__a);
   7477 }
   7478 
   7479 static inline __ATTRS_o_ai __vector unsigned int
   7480 vec_cntlz(__vector unsigned int __a) {
   7481   return __builtin_s390_vclzf(__a);
   7482 }
   7483 
   7484 static inline __ATTRS_o_ai __vector unsigned long long
   7485 vec_cntlz(__vector signed long long __a) {
   7486   return __builtin_s390_vclzg((__vector unsigned long long)__a);
   7487 }
   7488 
   7489 static inline __ATTRS_o_ai __vector unsigned long long
   7490 vec_cntlz(__vector unsigned long long __a) {
   7491   return __builtin_s390_vclzg(__a);
   7492 }
   7493 
   7494 #if __ARCH__ >= 15
   7495 static inline __ATTRS_o_ai __vector unsigned __int128
   7496 vec_cntlz(__vector signed __int128 __a) {
   7497   return (__vector unsigned __int128)
   7498          __builtin_s390_vclzq((unsigned __int128)__a);
   7499 }
   7500 
   7501 static inline __ATTRS_o_ai __vector unsigned __int128
   7502 vec_cntlz(__vector unsigned __int128 __a) {
   7503   return (__vector unsigned __int128)
   7504          __builtin_s390_vclzq((unsigned __int128)__a);
   7505 }
   7506 #endif
   7507 
   7508 /*-- vec_cnttz --------------------------------------------------------------*/
   7509 
   7510 static inline __ATTRS_o_ai __vector unsigned char
   7511 vec_cnttz(__vector signed char __a) {
   7512   return __builtin_s390_vctzb((__vector unsigned char)__a);
   7513 }
   7514 
   7515 static inline __ATTRS_o_ai __vector unsigned char
   7516 vec_cnttz(__vector unsigned char __a) {
   7517   return __builtin_s390_vctzb(__a);
   7518 }
   7519 
   7520 static inline __ATTRS_o_ai __vector unsigned short
   7521 vec_cnttz(__vector signed short __a) {
   7522   return __builtin_s390_vctzh((__vector unsigned short)__a);
   7523 }
   7524 
   7525 static inline __ATTRS_o_ai __vector unsigned short
   7526 vec_cnttz(__vector unsigned short __a) {
   7527   return __builtin_s390_vctzh(__a);
   7528 }
   7529 
   7530 static inline __ATTRS_o_ai __vector unsigned int
   7531 vec_cnttz(__vector signed int __a) {
   7532   return __builtin_s390_vctzf((__vector unsigned int)__a);
   7533 }
   7534 
   7535 static inline __ATTRS_o_ai __vector unsigned int
   7536 vec_cnttz(__vector unsigned int __a) {
   7537   return __builtin_s390_vctzf(__a);
   7538 }
   7539 
   7540 static inline __ATTRS_o_ai __vector unsigned long long
   7541 vec_cnttz(__vector signed long long __a) {
   7542   return __builtin_s390_vctzg((__vector unsigned long long)__a);
   7543 }
   7544 
   7545 static inline __ATTRS_o_ai __vector unsigned long long
   7546 vec_cnttz(__vector unsigned long long __a) {
   7547   return __builtin_s390_vctzg(__a);
   7548 }
   7549 
   7550 #if __ARCH__ >= 15
   7551 static inline __ATTRS_o_ai __vector unsigned __int128
   7552 vec_cnttz(__vector signed __int128 __a) {
   7553   return (__vector unsigned __int128)
   7554          __builtin_s390_vctzq((unsigned __int128)__a);
   7555 }
   7556 
   7557 static inline __ATTRS_o_ai __vector unsigned __int128
   7558 vec_cnttz(__vector unsigned __int128 __a) {
   7559   return (__vector unsigned __int128)
   7560          __builtin_s390_vctzq((unsigned __int128)__a);
   7561 }
   7562 #endif
   7563 
   7564 /*-- vec_popcnt -------------------------------------------------------------*/
   7565 
   7566 static inline __ATTRS_o_ai __vector unsigned char
   7567 vec_popcnt(__vector signed char __a) {
   7568   return __builtin_elementwise_popcount((__vector unsigned char)__a);
   7569 }
   7570 
   7571 static inline __ATTRS_o_ai __vector unsigned char
   7572 vec_popcnt(__vector unsigned char __a) {
   7573   return __builtin_elementwise_popcount(__a);
   7574 }
   7575 
   7576 static inline __ATTRS_o_ai __vector unsigned short
   7577 vec_popcnt(__vector signed short __a) {
   7578   return __builtin_elementwise_popcount((__vector unsigned short)__a);
   7579 }
   7580 
   7581 static inline __ATTRS_o_ai __vector unsigned short
   7582 vec_popcnt(__vector unsigned short __a) {
   7583   return __builtin_elementwise_popcount(__a);
   7584 }
   7585 
   7586 static inline __ATTRS_o_ai __vector unsigned int
   7587 vec_popcnt(__vector signed int __a) {
   7588   return __builtin_elementwise_popcount((__vector unsigned int)__a);
   7589 }
   7590 
   7591 static inline __ATTRS_o_ai __vector unsigned int
   7592 vec_popcnt(__vector unsigned int __a) {
   7593   return __builtin_elementwise_popcount(__a);
   7594 }
   7595 
   7596 static inline __ATTRS_o_ai __vector unsigned long long
   7597 vec_popcnt(__vector signed long long __a) {
   7598   return __builtin_elementwise_popcount((__vector unsigned long long)__a);
   7599 }
   7600 
   7601 static inline __ATTRS_o_ai __vector unsigned long long
   7602 vec_popcnt(__vector unsigned long long __a) {
   7603   return __builtin_elementwise_popcount(__a);
   7604 }
   7605 
   7606 /*-- vec_rl -----------------------------------------------------------------*/
   7607 
   7608 static inline __ATTRS_o_ai __vector signed char
   7609 vec_rl(__vector signed char __a, __vector unsigned char __b) {
   7610   return (__vector signed char)__builtin_s390_verllvb(
   7611     (__vector unsigned char)__a, __b);
   7612 }
   7613 
   7614 static inline __ATTRS_o_ai __vector unsigned char
   7615 vec_rl(__vector unsigned char __a, __vector unsigned char __b) {
   7616   return __builtin_s390_verllvb(__a, __b);
   7617 }
   7618 
   7619 static inline __ATTRS_o_ai __vector signed short
   7620 vec_rl(__vector signed short __a, __vector unsigned short __b) {
   7621   return (__vector signed short)__builtin_s390_verllvh(
   7622     (__vector unsigned short)__a, __b);
   7623 }
   7624 
   7625 static inline __ATTRS_o_ai __vector unsigned short
   7626 vec_rl(__vector unsigned short __a, __vector unsigned short __b) {
   7627   return __builtin_s390_verllvh(__a, __b);
   7628 }
   7629 
   7630 static inline __ATTRS_o_ai __vector signed int
   7631 vec_rl(__vector signed int __a, __vector unsigned int __b) {
   7632   return (__vector signed int)__builtin_s390_verllvf(
   7633     (__vector unsigned int)__a, __b);
   7634 }
   7635 
   7636 static inline __ATTRS_o_ai __vector unsigned int
   7637 vec_rl(__vector unsigned int __a, __vector unsigned int __b) {
   7638   return __builtin_s390_verllvf(__a, __b);
   7639 }
   7640 
   7641 static inline __ATTRS_o_ai __vector signed long long
   7642 vec_rl(__vector signed long long __a, __vector unsigned long long __b) {
   7643   return (__vector signed long long)__builtin_s390_verllvg(
   7644     (__vector unsigned long long)__a, __b);
   7645 }
   7646 
   7647 static inline __ATTRS_o_ai __vector unsigned long long
   7648 vec_rl(__vector unsigned long long __a, __vector unsigned long long __b) {
   7649   return __builtin_s390_verllvg(__a, __b);
   7650 }
   7651 
   7652 /*-- vec_rli ----------------------------------------------------------------*/
   7653 
   7654 static inline __ATTRS_o_ai __vector signed char
   7655 vec_rli(__vector signed char __a, unsigned long __b) {
   7656   return (__vector signed char)__builtin_s390_verllb(
   7657     (__vector unsigned char)__a, (unsigned char)__b);
   7658 }
   7659 
   7660 static inline __ATTRS_o_ai __vector unsigned char
   7661 vec_rli(__vector unsigned char __a, unsigned long __b) {
   7662   return __builtin_s390_verllb(__a, (unsigned char)__b);
   7663 }
   7664 
   7665 static inline __ATTRS_o_ai __vector signed short
   7666 vec_rli(__vector signed short __a, unsigned long __b) {
   7667   return (__vector signed short)__builtin_s390_verllh(
   7668     (__vector unsigned short)__a, (unsigned char)__b);
   7669 }
   7670 
   7671 static inline __ATTRS_o_ai __vector unsigned short
   7672 vec_rli(__vector unsigned short __a, unsigned long __b) {
   7673   return __builtin_s390_verllh(__a, (unsigned char)__b);
   7674 }
   7675 
   7676 static inline __ATTRS_o_ai __vector signed int
   7677 vec_rli(__vector signed int __a, unsigned long __b) {
   7678   return (__vector signed int)__builtin_s390_verllf(
   7679     (__vector unsigned int)__a, (unsigned char)__b);
   7680 }
   7681 
   7682 static inline __ATTRS_o_ai __vector unsigned int
   7683 vec_rli(__vector unsigned int __a, unsigned long __b) {
   7684   return __builtin_s390_verllf(__a, (unsigned char)__b);
   7685 }
   7686 
   7687 static inline __ATTRS_o_ai __vector signed long long
   7688 vec_rli(__vector signed long long __a, unsigned long __b) {
   7689   return (__vector signed long long)__builtin_s390_verllg(
   7690     (__vector unsigned long long)__a, (unsigned char)__b);
   7691 }
   7692 
   7693 static inline __ATTRS_o_ai __vector unsigned long long
   7694 vec_rli(__vector unsigned long long __a, unsigned long __b) {
   7695   return __builtin_s390_verllg(__a, (unsigned char)__b);
   7696 }
   7697 
   7698 /*-- vec_rl_mask ------------------------------------------------------------*/
   7699 
   7700 extern __ATTRS_o __vector signed char
   7701 vec_rl_mask(__vector signed char __a, __vector unsigned char __b,
   7702             unsigned char __c) __constant(__c);
   7703 
   7704 extern __ATTRS_o __vector unsigned char
   7705 vec_rl_mask(__vector unsigned char __a, __vector unsigned char __b,
   7706             unsigned char __c) __constant(__c);
   7707 
   7708 extern __ATTRS_o __vector signed short
   7709 vec_rl_mask(__vector signed short __a, __vector unsigned short __b,
   7710             unsigned char __c) __constant(__c);
   7711 
   7712 extern __ATTRS_o __vector unsigned short
   7713 vec_rl_mask(__vector unsigned short __a, __vector unsigned short __b,
   7714             unsigned char __c) __constant(__c);
   7715 
   7716 extern __ATTRS_o __vector signed int
   7717 vec_rl_mask(__vector signed int __a, __vector unsigned int __b,
   7718             unsigned char __c) __constant(__c);
   7719 
   7720 extern __ATTRS_o __vector unsigned int
   7721 vec_rl_mask(__vector unsigned int __a, __vector unsigned int __b,
   7722             unsigned char __c) __constant(__c);
   7723 
   7724 extern __ATTRS_o __vector signed long long
   7725 vec_rl_mask(__vector signed long long __a, __vector unsigned long long __b,
   7726             unsigned char __c) __constant(__c);
   7727 
   7728 extern __ATTRS_o __vector unsigned long long
   7729 vec_rl_mask(__vector unsigned long long __a, __vector unsigned long long __b,
   7730             unsigned char __c) __constant(__c);
   7731 
   7732 #define vec_rl_mask(X, Y, Z) ((__typeof__((vec_rl_mask)((X), (Y), (Z)))) \
   7733   __extension__ ({ \
   7734     __vector unsigned char __res; \
   7735     __vector unsigned char __x = (__vector unsigned char)(X); \
   7736     __vector unsigned char __y = (__vector unsigned char)(Y); \
   7737     switch (sizeof ((X)[0])) { \
   7738     case 1: __res = (__vector unsigned char) __builtin_s390_verimb( \
   7739              (__vector unsigned char)__x, (__vector unsigned char)__x, \
   7740              (__vector unsigned char)__y, (Z)); break; \
   7741     case 2: __res = (__vector unsigned char) __builtin_s390_verimh( \
   7742              (__vector unsigned short)__x, (__vector unsigned short)__x, \
   7743              (__vector unsigned short)__y, (Z)); break; \
   7744     case 4: __res = (__vector unsigned char) __builtin_s390_verimf( \
   7745              (__vector unsigned int)__x, (__vector unsigned int)__x, \
   7746              (__vector unsigned int)__y, (Z)); break; \
   7747     default: __res = (__vector unsigned char) __builtin_s390_verimg( \
   7748              (__vector unsigned long long)__x, (__vector unsigned long long)__x, \
   7749              (__vector unsigned long long)__y, (Z)); break; \
   7750     } __res; }))
   7751 
   7752 /*-- vec_sll ----------------------------------------------------------------*/
   7753 
   7754 static inline __ATTRS_o_ai __vector signed char
   7755 vec_sll(__vector signed char __a, __vector unsigned char __b) {
   7756   return (__vector signed char)__builtin_s390_vsl(
   7757     (__vector unsigned char)__a, __b);
   7758 }
   7759 
   7760 // This prototype is deprecated.
   7761 static inline __ATTRS_o_ai __vector signed char
   7762 vec_sll(__vector signed char __a, __vector unsigned short __b) {
   7763   return (__vector signed char)__builtin_s390_vsl(
   7764     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7765 }
   7766 
   7767 // This prototype is deprecated.
   7768 static inline __ATTRS_o_ai __vector signed char
   7769 vec_sll(__vector signed char __a, __vector unsigned int __b) {
   7770   return (__vector signed char)__builtin_s390_vsl(
   7771     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7772 }
   7773 
   7774 // This prototype is deprecated.
   7775 static inline __ATTRS_o_ai __vector __bool char
   7776 vec_sll(__vector __bool char __a, __vector unsigned char __b) {
   7777   return (__vector __bool char)__builtin_s390_vsl(
   7778     (__vector unsigned char)__a, __b);
   7779 }
   7780 
   7781 // This prototype is deprecated.
   7782 static inline __ATTRS_o_ai __vector __bool char
   7783 vec_sll(__vector __bool char __a, __vector unsigned short __b) {
   7784   return (__vector __bool char)__builtin_s390_vsl(
   7785     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7786 }
   7787 
   7788 // This prototype is deprecated.
   7789 static inline __ATTRS_o_ai __vector __bool char
   7790 vec_sll(__vector __bool char __a, __vector unsigned int __b) {
   7791   return (__vector __bool char)__builtin_s390_vsl(
   7792     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7793 }
   7794 
   7795 static inline __ATTRS_o_ai __vector unsigned char
   7796 vec_sll(__vector unsigned char __a, __vector unsigned char __b) {
   7797   return __builtin_s390_vsl(__a, __b);
   7798 }
   7799 
   7800 // This prototype is deprecated.
   7801 static inline __ATTRS_o_ai __vector unsigned char
   7802 vec_sll(__vector unsigned char __a, __vector unsigned short __b) {
   7803   return __builtin_s390_vsl(__a, (__vector unsigned char)__b);
   7804 }
   7805 
   7806 // This prototype is deprecated.
   7807 static inline __ATTRS_o_ai __vector unsigned char
   7808 vec_sll(__vector unsigned char __a, __vector unsigned int __b) {
   7809   return __builtin_s390_vsl(__a, (__vector unsigned char)__b);
   7810 }
   7811 
   7812 static inline __ATTRS_o_ai __vector signed short
   7813 vec_sll(__vector signed short __a, __vector unsigned char __b) {
   7814   return (__vector signed short)__builtin_s390_vsl(
   7815     (__vector unsigned char)__a, __b);
   7816 }
   7817 
   7818 // This prototype is deprecated.
   7819 static inline __ATTRS_o_ai __vector signed short
   7820 vec_sll(__vector signed short __a, __vector unsigned short __b) {
   7821   return (__vector signed short)__builtin_s390_vsl(
   7822     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7823 }
   7824 
   7825 // This prototype is deprecated.
   7826 static inline __ATTRS_o_ai __vector signed short
   7827 vec_sll(__vector signed short __a, __vector unsigned int __b) {
   7828   return (__vector signed short)__builtin_s390_vsl(
   7829     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7830 }
   7831 
   7832 // This prototype is deprecated.
   7833 static inline __ATTRS_o_ai __vector __bool short
   7834 vec_sll(__vector __bool short __a, __vector unsigned char __b) {
   7835   return (__vector __bool short)__builtin_s390_vsl(
   7836     (__vector unsigned char)__a, __b);
   7837 }
   7838 
   7839 // This prototype is deprecated.
   7840 static inline __ATTRS_o_ai __vector __bool short
   7841 vec_sll(__vector __bool short __a, __vector unsigned short __b) {
   7842   return (__vector __bool short)__builtin_s390_vsl(
   7843     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7844 }
   7845 
   7846 // This prototype is deprecated.
   7847 static inline __ATTRS_o_ai __vector __bool short
   7848 vec_sll(__vector __bool short __a, __vector unsigned int __b) {
   7849   return (__vector __bool short)__builtin_s390_vsl(
   7850     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7851 }
   7852 
   7853 static inline __ATTRS_o_ai __vector unsigned short
   7854 vec_sll(__vector unsigned short __a, __vector unsigned char __b) {
   7855   return (__vector unsigned short)__builtin_s390_vsl(
   7856     (__vector unsigned char)__a, __b);
   7857 }
   7858 
   7859 // This prototype is deprecated.
   7860 static inline __ATTRS_o_ai __vector unsigned short
   7861 vec_sll(__vector unsigned short __a, __vector unsigned short __b) {
   7862   return (__vector unsigned short)__builtin_s390_vsl(
   7863     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7864 }
   7865 
   7866 // This prototype is deprecated.
   7867 static inline __ATTRS_o_ai __vector unsigned short
   7868 vec_sll(__vector unsigned short __a, __vector unsigned int __b) {
   7869   return (__vector unsigned short)__builtin_s390_vsl(
   7870     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7871 }
   7872 
   7873 static inline __ATTRS_o_ai __vector signed int
   7874 vec_sll(__vector signed int __a, __vector unsigned char __b) {
   7875   return (__vector signed int)__builtin_s390_vsl(
   7876     (__vector unsigned char)__a, __b);
   7877 }
   7878 
   7879 // This prototype is deprecated.
   7880 static inline __ATTRS_o_ai __vector signed int
   7881 vec_sll(__vector signed int __a, __vector unsigned short __b) {
   7882   return (__vector signed int)__builtin_s390_vsl(
   7883     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7884 }
   7885 
   7886 // This prototype is deprecated.
   7887 static inline __ATTRS_o_ai __vector signed int
   7888 vec_sll(__vector signed int __a, __vector unsigned int __b) {
   7889   return (__vector signed int)__builtin_s390_vsl(
   7890     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7891 }
   7892 
   7893 // This prototype is deprecated.
   7894 static inline __ATTRS_o_ai __vector __bool int
   7895 vec_sll(__vector __bool int __a, __vector unsigned char __b) {
   7896   return (__vector __bool int)__builtin_s390_vsl(
   7897     (__vector unsigned char)__a, __b);
   7898 }
   7899 
   7900 // This prototype is deprecated.
   7901 static inline __ATTRS_o_ai __vector __bool int
   7902 vec_sll(__vector __bool int __a, __vector unsigned short __b) {
   7903   return (__vector __bool int)__builtin_s390_vsl(
   7904     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7905 }
   7906 
   7907 // This prototype is deprecated.
   7908 static inline __ATTRS_o_ai __vector __bool int
   7909 vec_sll(__vector __bool int __a, __vector unsigned int __b) {
   7910   return (__vector __bool int)__builtin_s390_vsl(
   7911     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7912 }
   7913 
   7914 static inline __ATTRS_o_ai __vector unsigned int
   7915 vec_sll(__vector unsigned int __a, __vector unsigned char __b) {
   7916   return (__vector unsigned int)__builtin_s390_vsl(
   7917     (__vector unsigned char)__a, __b);
   7918 }
   7919 
   7920 // This prototype is deprecated.
   7921 static inline __ATTRS_o_ai __vector unsigned int
   7922 vec_sll(__vector unsigned int __a, __vector unsigned short __b) {
   7923   return (__vector unsigned int)__builtin_s390_vsl(
   7924     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7925 }
   7926 
   7927 // This prototype is deprecated.
   7928 static inline __ATTRS_o_ai __vector unsigned int
   7929 vec_sll(__vector unsigned int __a, __vector unsigned int __b) {
   7930   return (__vector unsigned int)__builtin_s390_vsl(
   7931     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7932 }
   7933 
   7934 static inline __ATTRS_o_ai __vector signed long long
   7935 vec_sll(__vector signed long long __a, __vector unsigned char __b) {
   7936   return (__vector signed long long)__builtin_s390_vsl(
   7937     (__vector unsigned char)__a, __b);
   7938 }
   7939 
   7940 // This prototype is deprecated.
   7941 static inline __ATTRS_o_ai __vector signed long long
   7942 vec_sll(__vector signed long long __a, __vector unsigned short __b) {
   7943   return (__vector signed long long)__builtin_s390_vsl(
   7944     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7945 }
   7946 
   7947 // This prototype is deprecated.
   7948 static inline __ATTRS_o_ai __vector signed long long
   7949 vec_sll(__vector signed long long __a, __vector unsigned int __b) {
   7950   return (__vector signed long long)__builtin_s390_vsl(
   7951     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7952 }
   7953 
   7954 // This prototype is deprecated.
   7955 static inline __ATTRS_o_ai __vector __bool long long
   7956 vec_sll(__vector __bool long long __a, __vector unsigned char __b) {
   7957   return (__vector __bool long long)__builtin_s390_vsl(
   7958     (__vector unsigned char)__a, __b);
   7959 }
   7960 
   7961 // This prototype is deprecated.
   7962 static inline __ATTRS_o_ai __vector __bool long long
   7963 vec_sll(__vector __bool long long __a, __vector unsigned short __b) {
   7964   return (__vector __bool long long)__builtin_s390_vsl(
   7965     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7966 }
   7967 
   7968 // This prototype is deprecated.
   7969 static inline __ATTRS_o_ai __vector __bool long long
   7970 vec_sll(__vector __bool long long __a, __vector unsigned int __b) {
   7971   return (__vector __bool long long)__builtin_s390_vsl(
   7972     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7973 }
   7974 
   7975 static inline __ATTRS_o_ai __vector unsigned long long
   7976 vec_sll(__vector unsigned long long __a, __vector unsigned char __b) {
   7977   return (__vector unsigned long long)__builtin_s390_vsl(
   7978     (__vector unsigned char)__a, __b);
   7979 }
   7980 
   7981 // This prototype is deprecated.
   7982 static inline __ATTRS_o_ai __vector unsigned long long
   7983 vec_sll(__vector unsigned long long __a, __vector unsigned short __b) {
   7984   return (__vector unsigned long long)__builtin_s390_vsl(
   7985     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7986 }
   7987 
   7988 // This prototype is deprecated.
   7989 static inline __ATTRS_o_ai __vector unsigned long long
   7990 vec_sll(__vector unsigned long long __a, __vector unsigned int __b) {
   7991   return (__vector unsigned long long)__builtin_s390_vsl(
   7992     (__vector unsigned char)__a, (__vector unsigned char)__b);
   7993 }
   7994 
   7995 static inline __ATTRS_o_ai __vector signed __int128
   7996 vec_sll(__vector signed __int128 __a, __vector unsigned char __b) {
   7997   return (__vector signed __int128)__builtin_s390_vsl(
   7998     (__vector unsigned char)__a, __b);
   7999 }
   8000 
   8001 static inline __ATTRS_o_ai __vector unsigned __int128
   8002 vec_sll(__vector unsigned __int128 __a, __vector unsigned char __b) {
   8003   return (__vector unsigned __int128)__builtin_s390_vsl(
   8004     (__vector unsigned char)__a, __b);
   8005 }
   8006 
   8007 /*-- vec_slb ----------------------------------------------------------------*/
   8008 
   8009 // This prototype is deprecated.
   8010 static inline __ATTRS_o_ai __vector signed char
   8011 vec_slb(__vector signed char __a, __vector signed char __b) {
   8012   return (__vector signed char)__builtin_s390_vslb(
   8013     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8014 }
   8015 
   8016 static inline __ATTRS_o_ai __vector signed char
   8017 vec_slb(__vector signed char __a, __vector unsigned char __b) {
   8018   return (__vector signed char)__builtin_s390_vslb(
   8019     (__vector unsigned char)__a, __b);
   8020 }
   8021 
   8022 // This prototype is deprecated.
   8023 static inline __ATTRS_o_ai __vector unsigned char
   8024 vec_slb(__vector unsigned char __a, __vector signed char __b) {
   8025   return __builtin_s390_vslb(__a, (__vector unsigned char)__b);
   8026 }
   8027 
   8028 static inline __ATTRS_o_ai __vector unsigned char
   8029 vec_slb(__vector unsigned char __a, __vector unsigned char __b) {
   8030   return __builtin_s390_vslb(__a, __b);
   8031 }
   8032 
   8033 // This prototype is deprecated.
   8034 static inline __ATTRS_o_ai __vector signed short
   8035 vec_slb(__vector signed short __a, __vector signed short __b) {
   8036   return (__vector signed short)__builtin_s390_vslb(
   8037     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8038 }
   8039 
   8040 // This prototype is deprecated.
   8041 static inline __ATTRS_o_ai __vector signed short
   8042 vec_slb(__vector signed short __a, __vector unsigned short __b) {
   8043   return (__vector signed short)__builtin_s390_vslb(
   8044     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8045 }
   8046 
   8047 static inline __ATTRS_o_ai __vector signed short
   8048 vec_slb(__vector signed short __a, __vector unsigned char __b) {
   8049   return (__vector signed short)__builtin_s390_vslb(
   8050     (__vector unsigned char)__a, __b);
   8051 }
   8052 
   8053 // This prototype is deprecated.
   8054 static inline __ATTRS_o_ai __vector unsigned short
   8055 vec_slb(__vector unsigned short __a, __vector signed short __b) {
   8056   return (__vector unsigned short)__builtin_s390_vslb(
   8057     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8058 }
   8059 
   8060 // This prototype is deprecated.
   8061 static inline __ATTRS_o_ai __vector unsigned short
   8062 vec_slb(__vector unsigned short __a, __vector unsigned short __b) {
   8063   return (__vector unsigned short)__builtin_s390_vslb(
   8064     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8065 }
   8066 
   8067 static inline __ATTRS_o_ai __vector unsigned short
   8068 vec_slb(__vector unsigned short __a, __vector unsigned char __b) {
   8069   return (__vector unsigned short)__builtin_s390_vslb(
   8070     (__vector unsigned char)__a, __b);
   8071 }
   8072 
   8073 // This prototype is deprecated.
   8074 static inline __ATTRS_o_ai __vector signed int
   8075 vec_slb(__vector signed int __a, __vector signed int __b) {
   8076   return (__vector signed int)__builtin_s390_vslb(
   8077     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8078 }
   8079 
   8080 // This prototype is deprecated.
   8081 static inline __ATTRS_o_ai __vector signed int
   8082 vec_slb(__vector signed int __a, __vector unsigned int __b) {
   8083   return (__vector signed int)__builtin_s390_vslb(
   8084     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8085 }
   8086 
   8087 static inline __ATTRS_o_ai __vector signed int
   8088 vec_slb(__vector signed int __a, __vector unsigned char __b) {
   8089   return (__vector signed int)__builtin_s390_vslb(
   8090     (__vector unsigned char)__a, __b);
   8091 }
   8092 
   8093 // This prototype is deprecated.
   8094 static inline __ATTRS_o_ai __vector unsigned int
   8095 vec_slb(__vector unsigned int __a, __vector signed int __b) {
   8096   return (__vector unsigned int)__builtin_s390_vslb(
   8097     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8098 }
   8099 
   8100 // This prototype is deprecated.
   8101 static inline __ATTRS_o_ai __vector unsigned int
   8102 vec_slb(__vector unsigned int __a, __vector unsigned int __b) {
   8103   return (__vector unsigned int)__builtin_s390_vslb(
   8104     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8105 }
   8106 
   8107 static inline __ATTRS_o_ai __vector unsigned int
   8108 vec_slb(__vector unsigned int __a, __vector unsigned char __b) {
   8109   return (__vector unsigned int)__builtin_s390_vslb(
   8110     (__vector unsigned char)__a, __b);
   8111 }
   8112 
   8113 // This prototype is deprecated.
   8114 static inline __ATTRS_o_ai __vector signed long long
   8115 vec_slb(__vector signed long long __a, __vector signed long long __b) {
   8116   return (__vector signed long long)__builtin_s390_vslb(
   8117     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8118 }
   8119 
   8120 // This prototype is deprecated.
   8121 static inline __ATTRS_o_ai __vector signed long long
   8122 vec_slb(__vector signed long long __a, __vector unsigned long long __b) {
   8123   return (__vector signed long long)__builtin_s390_vslb(
   8124     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8125 }
   8126 
   8127 static inline __ATTRS_o_ai __vector signed long long
   8128 vec_slb(__vector signed long long __a, __vector unsigned char __b) {
   8129   return (__vector signed long long)__builtin_s390_vslb(
   8130     (__vector unsigned char)__a, __b);
   8131 }
   8132 
   8133 // This prototype is deprecated.
   8134 static inline __ATTRS_o_ai __vector unsigned long long
   8135 vec_slb(__vector unsigned long long __a, __vector signed long long __b) {
   8136   return (__vector unsigned long long)__builtin_s390_vslb(
   8137     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8138 }
   8139 
   8140 // This prototype is deprecated.
   8141 static inline __ATTRS_o_ai __vector unsigned long long
   8142 vec_slb(__vector unsigned long long __a, __vector unsigned long long __b) {
   8143   return (__vector unsigned long long)__builtin_s390_vslb(
   8144     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8145 }
   8146 
   8147 static inline __ATTRS_o_ai __vector unsigned long long
   8148 vec_slb(__vector unsigned long long __a, __vector unsigned char __b) {
   8149   return (__vector unsigned long long)__builtin_s390_vslb(
   8150     (__vector unsigned char)__a, __b);
   8151 }
   8152 
   8153 static inline __ATTRS_o_ai __vector signed __int128
   8154 vec_slb(__vector signed __int128 __a, __vector unsigned char __b) {
   8155   return (__vector signed __int128)__builtin_s390_vslb(
   8156     (__vector unsigned char)__a, __b);
   8157 }
   8158 
   8159 static inline __ATTRS_o_ai __vector unsigned __int128
   8160 vec_slb(__vector unsigned __int128 __a, __vector unsigned char __b) {
   8161   return (__vector unsigned __int128)__builtin_s390_vslb(
   8162     (__vector unsigned char)__a, __b);
   8163 }
   8164 
   8165 #if __ARCH__ >= 12
   8166 // This prototype is deprecated.
   8167 static inline __ATTRS_o_ai __vector float
   8168 vec_slb(__vector float __a, __vector signed int __b) {
   8169   return (__vector float)__builtin_s390_vslb(
   8170     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8171 }
   8172 
   8173 // This prototype is deprecated.
   8174 static inline __ATTRS_o_ai __vector float
   8175 vec_slb(__vector float __a, __vector unsigned int __b) {
   8176   return (__vector float)__builtin_s390_vslb(
   8177     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8178 }
   8179 
   8180 static inline __ATTRS_o_ai __vector float
   8181 vec_slb(__vector float __a, __vector unsigned char __b) {
   8182   return (__vector float)__builtin_s390_vslb(
   8183     (__vector unsigned char)__a, __b);
   8184 }
   8185 #endif
   8186 
   8187 // This prototype is deprecated.
   8188 static inline __ATTRS_o_ai __vector double
   8189 vec_slb(__vector double __a, __vector signed long long __b) {
   8190   return (__vector double)__builtin_s390_vslb(
   8191     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8192 }
   8193 
   8194 // This prototype is deprecated.
   8195 static inline __ATTRS_o_ai __vector double
   8196 vec_slb(__vector double __a, __vector unsigned long long __b) {
   8197   return (__vector double)__builtin_s390_vslb(
   8198     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8199 }
   8200 
   8201 static inline __ATTRS_o_ai __vector double
   8202 vec_slb(__vector double __a, __vector unsigned char __b) {
   8203   return (__vector double)__builtin_s390_vslb(
   8204     (__vector unsigned char)__a, __b);
   8205 }
   8206 
   8207 /*-- vec_sld ----------------------------------------------------------------*/
   8208 
   8209 extern __ATTRS_o __vector signed char
   8210 vec_sld(__vector signed char __a, __vector signed char __b, int __c)
   8211   __constant_range(__c, 0, 15);
   8212 
   8213 // This prototype is deprecated.
   8214 extern __ATTRS_o __vector __bool char
   8215 vec_sld(__vector __bool char __a, __vector __bool char __b, int __c)
   8216   __constant_range(__c, 0, 15);
   8217 
   8218 extern __ATTRS_o __vector unsigned char
   8219 vec_sld(__vector unsigned char __a, __vector unsigned char __b, int __c)
   8220   __constant_range(__c, 0, 15);
   8221 
   8222 extern __ATTRS_o __vector signed short
   8223 vec_sld(__vector signed short __a, __vector signed short __b, int __c)
   8224   __constant_range(__c, 0, 15);
   8225 
   8226 // This prototype is deprecated.
   8227 extern __ATTRS_o __vector __bool short
   8228 vec_sld(__vector __bool short __a, __vector __bool short __b, int __c)
   8229   __constant_range(__c, 0, 15);
   8230 
   8231 extern __ATTRS_o __vector unsigned short
   8232 vec_sld(__vector unsigned short __a, __vector unsigned short __b, int __c)
   8233   __constant_range(__c, 0, 15);
   8234 
   8235 extern __ATTRS_o __vector signed int
   8236 vec_sld(__vector signed int __a, __vector signed int __b, int __c)
   8237   __constant_range(__c, 0, 15);
   8238 
   8239 // This prototype is deprecated.
   8240 extern __ATTRS_o __vector __bool int
   8241 vec_sld(__vector __bool int __a, __vector __bool int __b, int __c)
   8242   __constant_range(__c, 0, 15);
   8243 
   8244 extern __ATTRS_o __vector unsigned int
   8245 vec_sld(__vector unsigned int __a, __vector unsigned int __b, int __c)
   8246   __constant_range(__c, 0, 15);
   8247 
   8248 extern __ATTRS_o __vector signed long long
   8249 vec_sld(__vector signed long long __a, __vector signed long long __b, int __c)
   8250   __constant_range(__c, 0, 15);
   8251 
   8252 // This prototype is deprecated.
   8253 extern __ATTRS_o __vector __bool long long
   8254 vec_sld(__vector __bool long long __a, __vector __bool long long __b, int __c)
   8255   __constant_range(__c, 0, 15);
   8256 
   8257 extern __ATTRS_o __vector unsigned long long
   8258 vec_sld(__vector unsigned long long __a, __vector unsigned long long __b,
   8259         int __c)
   8260   __constant_range(__c, 0, 15);
   8261 
   8262 extern __ATTRS_o __vector signed __int128
   8263 vec_sld(__vector signed __int128 __a, __vector signed __int128 __b, int __c)
   8264   __constant_range(__c, 0, 15);
   8265 
   8266 extern __ATTRS_o __vector unsigned __int128
   8267 vec_sld(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
   8268         int __c)
   8269   __constant_range(__c, 0, 15);
   8270 
   8271 #if __ARCH__ >= 12
   8272 extern __ATTRS_o __vector float
   8273 vec_sld(__vector float __a, __vector float __b, int __c)
   8274   __constant_range(__c, 0, 15);
   8275 #endif
   8276 
   8277 extern __ATTRS_o __vector double
   8278 vec_sld(__vector double __a, __vector double __b, int __c)
   8279   __constant_range(__c, 0, 15);
   8280 
   8281 #define vec_sld(X, Y, Z) ((__typeof__((vec_sld)((X), (Y), (Z)))) \
   8282   __builtin_s390_vsldb((__vector unsigned char)(X), \
   8283                        (__vector unsigned char)(Y), (Z)))
   8284 
   8285 /*-- vec_sldw ---------------------------------------------------------------*/
   8286 
   8287 extern __ATTRS_o __vector signed char
   8288 vec_sldw(__vector signed char __a, __vector signed char __b, int __c)
   8289   __constant_range(__c, 0, 3);
   8290 
   8291 extern __ATTRS_o __vector unsigned char
   8292 vec_sldw(__vector unsigned char __a, __vector unsigned char __b, int __c)
   8293   __constant_range(__c, 0, 3);
   8294 
   8295 extern __ATTRS_o __vector signed short
   8296 vec_sldw(__vector signed short __a, __vector signed short __b, int __c)
   8297   __constant_range(__c, 0, 3);
   8298 
   8299 extern __ATTRS_o __vector unsigned short
   8300 vec_sldw(__vector unsigned short __a, __vector unsigned short __b, int __c)
   8301   __constant_range(__c, 0, 3);
   8302 
   8303 extern __ATTRS_o __vector signed int
   8304 vec_sldw(__vector signed int __a, __vector signed int __b, int __c)
   8305   __constant_range(__c, 0, 3);
   8306 
   8307 extern __ATTRS_o __vector unsigned int
   8308 vec_sldw(__vector unsigned int __a, __vector unsigned int __b, int __c)
   8309   __constant_range(__c, 0, 3);
   8310 
   8311 extern __ATTRS_o __vector signed long long
   8312 vec_sldw(__vector signed long long __a, __vector signed long long __b, int __c)
   8313   __constant_range(__c, 0, 3);
   8314 
   8315 extern __ATTRS_o __vector unsigned long long
   8316 vec_sldw(__vector unsigned long long __a, __vector unsigned long long __b,
   8317          int __c)
   8318   __constant_range(__c, 0, 3);
   8319 
   8320 extern __ATTRS_o __vector signed __int128
   8321 vec_sldw(__vector signed __int128 __a, __vector signed __int128 __b, int __c)
   8322   __constant_range(__c, 0, 3);
   8323 
   8324 extern __ATTRS_o __vector unsigned __int128
   8325 vec_sldw(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
   8326          int __c)
   8327   __constant_range(__c, 0, 3);
   8328 
   8329 // This prototype is deprecated.
   8330 extern __ATTRS_o __vector double
   8331 vec_sldw(__vector double __a, __vector double __b, int __c)
   8332   __constant_range(__c, 0, 3);
   8333 
   8334 #define vec_sldw(X, Y, Z) ((__typeof__((vec_sldw)((X), (Y), (Z)))) \
   8335   __builtin_s390_vsldb((__vector unsigned char)(X), \
   8336                        (__vector unsigned char)(Y), (Z) * 4))
   8337 
   8338 /*-- vec_sldb ---------------------------------------------------------------*/
   8339 
   8340 #if __ARCH__ >= 13
   8341 
   8342 extern __ATTRS_o __vector signed char
   8343 vec_sldb(__vector signed char __a, __vector signed char __b, int __c)
   8344   __constant_range(__c, 0, 7);
   8345 
   8346 extern __ATTRS_o __vector unsigned char
   8347 vec_sldb(__vector unsigned char __a, __vector unsigned char __b, int __c)
   8348   __constant_range(__c, 0, 7);
   8349 
   8350 extern __ATTRS_o __vector signed short
   8351 vec_sldb(__vector signed short __a, __vector signed short __b, int __c)
   8352   __constant_range(__c, 0, 7);
   8353 
   8354 extern __ATTRS_o __vector unsigned short
   8355 vec_sldb(__vector unsigned short __a, __vector unsigned short __b, int __c)
   8356   __constant_range(__c, 0, 7);
   8357 
   8358 extern __ATTRS_o __vector signed int
   8359 vec_sldb(__vector signed int __a, __vector signed int __b, int __c)
   8360   __constant_range(__c, 0, 7);
   8361 
   8362 extern __ATTRS_o __vector unsigned int
   8363 vec_sldb(__vector unsigned int __a, __vector unsigned int __b, int __c)
   8364   __constant_range(__c, 0, 7);
   8365 
   8366 extern __ATTRS_o __vector signed long long
   8367 vec_sldb(__vector signed long long __a, __vector signed long long __b, int __c)
   8368   __constant_range(__c, 0, 7);
   8369 
   8370 extern __ATTRS_o __vector unsigned long long
   8371 vec_sldb(__vector unsigned long long __a, __vector unsigned long long __b,
   8372          int __c)
   8373   __constant_range(__c, 0, 7);
   8374 
   8375 extern __ATTRS_o __vector signed __int128
   8376 vec_sldb(__vector signed __int128 __a, __vector signed __int128 __b, int __c)
   8377   __constant_range(__c, 0, 7);
   8378 
   8379 extern __ATTRS_o __vector unsigned __int128
   8380 vec_sldb(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
   8381          int __c)
   8382   __constant_range(__c, 0, 7);
   8383 
   8384 extern __ATTRS_o __vector float
   8385 vec_sldb(__vector float __a, __vector float __b, int __c)
   8386   __constant_range(__c, 0, 7);
   8387 
   8388 extern __ATTRS_o __vector double
   8389 vec_sldb(__vector double __a, __vector double __b, int __c)
   8390   __constant_range(__c, 0, 7);
   8391 
   8392 #define vec_sldb(X, Y, Z) ((__typeof__((vec_sldb)((X), (Y), (Z)))) \
   8393   __builtin_s390_vsld((__vector unsigned char)(X), \
   8394                       (__vector unsigned char)(Y), (Z)))
   8395 
   8396 #endif
   8397 
   8398 /*-- vec_sral ---------------------------------------------------------------*/
   8399 
   8400 static inline __ATTRS_o_ai __vector signed char
   8401 vec_sral(__vector signed char __a, __vector unsigned char __b) {
   8402   return (__vector signed char)__builtin_s390_vsra(
   8403     (__vector unsigned char)__a, __b);
   8404 }
   8405 
   8406 // This prototype is deprecated.
   8407 static inline __ATTRS_o_ai __vector signed char
   8408 vec_sral(__vector signed char __a, __vector unsigned short __b) {
   8409   return (__vector signed char)__builtin_s390_vsra(
   8410     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8411 }
   8412 
   8413 // This prototype is deprecated.
   8414 static inline __ATTRS_o_ai __vector signed char
   8415 vec_sral(__vector signed char __a, __vector unsigned int __b) {
   8416   return (__vector signed char)__builtin_s390_vsra(
   8417     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8418 }
   8419 
   8420 // This prototype is deprecated.
   8421 static inline __ATTRS_o_ai __vector __bool char
   8422 vec_sral(__vector __bool char __a, __vector unsigned char __b) {
   8423   return (__vector __bool char)__builtin_s390_vsra(
   8424     (__vector unsigned char)__a, __b);
   8425 }
   8426 
   8427 // This prototype is deprecated.
   8428 static inline __ATTRS_o_ai __vector __bool char
   8429 vec_sral(__vector __bool char __a, __vector unsigned short __b) {
   8430   return (__vector __bool char)__builtin_s390_vsra(
   8431     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8432 }
   8433 
   8434 // This prototype is deprecated.
   8435 static inline __ATTRS_o_ai __vector __bool char
   8436 vec_sral(__vector __bool char __a, __vector unsigned int __b) {
   8437   return (__vector __bool char)__builtin_s390_vsra(
   8438     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8439 }
   8440 
   8441 static inline __ATTRS_o_ai __vector unsigned char
   8442 vec_sral(__vector unsigned char __a, __vector unsigned char __b) {
   8443   return __builtin_s390_vsra(__a, __b);
   8444 }
   8445 
   8446 // This prototype is deprecated.
   8447 static inline __ATTRS_o_ai __vector unsigned char
   8448 vec_sral(__vector unsigned char __a, __vector unsigned short __b) {
   8449   return __builtin_s390_vsra(__a, (__vector unsigned char)__b);
   8450 }
   8451 
   8452 // This prototype is deprecated.
   8453 static inline __ATTRS_o_ai __vector unsigned char
   8454 vec_sral(__vector unsigned char __a, __vector unsigned int __b) {
   8455   return __builtin_s390_vsra(__a, (__vector unsigned char)__b);
   8456 }
   8457 
   8458 static inline __ATTRS_o_ai __vector signed short
   8459 vec_sral(__vector signed short __a, __vector unsigned char __b) {
   8460   return (__vector signed short)__builtin_s390_vsra(
   8461     (__vector unsigned char)__a, __b);
   8462 }
   8463 
   8464 // This prototype is deprecated.
   8465 static inline __ATTRS_o_ai __vector signed short
   8466 vec_sral(__vector signed short __a, __vector unsigned short __b) {
   8467   return (__vector signed short)__builtin_s390_vsra(
   8468     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8469 }
   8470 
   8471 // This prototype is deprecated.
   8472 static inline __ATTRS_o_ai __vector signed short
   8473 vec_sral(__vector signed short __a, __vector unsigned int __b) {
   8474   return (__vector signed short)__builtin_s390_vsra(
   8475     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8476 }
   8477 
   8478 // This prototype is deprecated.
   8479 static inline __ATTRS_o_ai __vector __bool short
   8480 vec_sral(__vector __bool short __a, __vector unsigned char __b) {
   8481   return (__vector __bool short)__builtin_s390_vsra(
   8482     (__vector unsigned char)__a, __b);
   8483 }
   8484 
   8485 // This prototype is deprecated.
   8486 static inline __ATTRS_o_ai __vector __bool short
   8487 vec_sral(__vector __bool short __a, __vector unsigned short __b) {
   8488   return (__vector __bool short)__builtin_s390_vsra(
   8489     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8490 }
   8491 
   8492 // This prototype is deprecated.
   8493 static inline __ATTRS_o_ai __vector __bool short
   8494 vec_sral(__vector __bool short __a, __vector unsigned int __b) {
   8495   return (__vector __bool short)__builtin_s390_vsra(
   8496     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8497 }
   8498 
   8499 static inline __ATTRS_o_ai __vector unsigned short
   8500 vec_sral(__vector unsigned short __a, __vector unsigned char __b) {
   8501   return (__vector unsigned short)__builtin_s390_vsra(
   8502     (__vector unsigned char)__a, __b);
   8503 }
   8504 
   8505 // This prototype is deprecated.
   8506 static inline __ATTRS_o_ai __vector unsigned short
   8507 vec_sral(__vector unsigned short __a, __vector unsigned short __b) {
   8508   return (__vector unsigned short)__builtin_s390_vsra(
   8509     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8510 }
   8511 
   8512 // This prototype is deprecated.
   8513 static inline __ATTRS_o_ai __vector unsigned short
   8514 vec_sral(__vector unsigned short __a, __vector unsigned int __b) {
   8515   return (__vector unsigned short)__builtin_s390_vsra(
   8516     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8517 }
   8518 
   8519 static inline __ATTRS_o_ai __vector signed int
   8520 vec_sral(__vector signed int __a, __vector unsigned char __b) {
   8521   return (__vector signed int)__builtin_s390_vsra(
   8522     (__vector unsigned char)__a, __b);
   8523 }
   8524 
   8525 // This prototype is deprecated.
   8526 static inline __ATTRS_o_ai __vector signed int
   8527 vec_sral(__vector signed int __a, __vector unsigned short __b) {
   8528   return (__vector signed int)__builtin_s390_vsra(
   8529     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8530 }
   8531 
   8532 // This prototype is deprecated.
   8533 static inline __ATTRS_o_ai __vector signed int
   8534 vec_sral(__vector signed int __a, __vector unsigned int __b) {
   8535   return (__vector signed int)__builtin_s390_vsra(
   8536     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8537 }
   8538 
   8539 // This prototype is deprecated.
   8540 static inline __ATTRS_o_ai __vector __bool int
   8541 vec_sral(__vector __bool int __a, __vector unsigned char __b) {
   8542   return (__vector __bool int)__builtin_s390_vsra(
   8543     (__vector unsigned char)__a, __b);
   8544 }
   8545 
   8546 // This prototype is deprecated.
   8547 static inline __ATTRS_o_ai __vector __bool int
   8548 vec_sral(__vector __bool int __a, __vector unsigned short __b) {
   8549   return (__vector __bool int)__builtin_s390_vsra(
   8550     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8551 }
   8552 
   8553 // This prototype is deprecated.
   8554 static inline __ATTRS_o_ai __vector __bool int
   8555 vec_sral(__vector __bool int __a, __vector unsigned int __b) {
   8556   return (__vector __bool int)__builtin_s390_vsra(
   8557     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8558 }
   8559 
   8560 static inline __ATTRS_o_ai __vector unsigned int
   8561 vec_sral(__vector unsigned int __a, __vector unsigned char __b) {
   8562   return (__vector unsigned int)__builtin_s390_vsra(
   8563     (__vector unsigned char)__a, __b);
   8564 }
   8565 
   8566 // This prototype is deprecated.
   8567 static inline __ATTRS_o_ai __vector unsigned int
   8568 vec_sral(__vector unsigned int __a, __vector unsigned short __b) {
   8569   return (__vector unsigned int)__builtin_s390_vsra(
   8570     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8571 }
   8572 
   8573 // This prototype is deprecated.
   8574 static inline __ATTRS_o_ai __vector unsigned int
   8575 vec_sral(__vector unsigned int __a, __vector unsigned int __b) {
   8576   return (__vector unsigned int)__builtin_s390_vsra(
   8577     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8578 }
   8579 
   8580 static inline __ATTRS_o_ai __vector signed long long
   8581 vec_sral(__vector signed long long __a, __vector unsigned char __b) {
   8582   return (__vector signed long long)__builtin_s390_vsra(
   8583     (__vector unsigned char)__a, __b);
   8584 }
   8585 
   8586 // This prototype is deprecated.
   8587 static inline __ATTRS_o_ai __vector signed long long
   8588 vec_sral(__vector signed long long __a, __vector unsigned short __b) {
   8589   return (__vector signed long long)__builtin_s390_vsra(
   8590     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8591 }
   8592 
   8593 // This prototype is deprecated.
   8594 static inline __ATTRS_o_ai __vector signed long long
   8595 vec_sral(__vector signed long long __a, __vector unsigned int __b) {
   8596   return (__vector signed long long)__builtin_s390_vsra(
   8597     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8598 }
   8599 
   8600 // This prototype is deprecated.
   8601 static inline __ATTRS_o_ai __vector __bool long long
   8602 vec_sral(__vector __bool long long __a, __vector unsigned char __b) {
   8603   return (__vector __bool long long)__builtin_s390_vsra(
   8604     (__vector unsigned char)__a, __b);
   8605 }
   8606 
   8607 // This prototype is deprecated.
   8608 static inline __ATTRS_o_ai __vector __bool long long
   8609 vec_sral(__vector __bool long long __a, __vector unsigned short __b) {
   8610   return (__vector __bool long long)__builtin_s390_vsra(
   8611     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8612 }
   8613 
   8614 // This prototype is deprecated.
   8615 static inline __ATTRS_o_ai __vector __bool long long
   8616 vec_sral(__vector __bool long long __a, __vector unsigned int __b) {
   8617   return (__vector __bool long long)__builtin_s390_vsra(
   8618     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8619 }
   8620 
   8621 static inline __ATTRS_o_ai __vector unsigned long long
   8622 vec_sral(__vector unsigned long long __a, __vector unsigned char __b) {
   8623   return (__vector unsigned long long)__builtin_s390_vsra(
   8624     (__vector unsigned char)__a, __b);
   8625 }
   8626 
   8627 // This prototype is deprecated.
   8628 static inline __ATTRS_o_ai __vector unsigned long long
   8629 vec_sral(__vector unsigned long long __a, __vector unsigned short __b) {
   8630   return (__vector unsigned long long)__builtin_s390_vsra(
   8631     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8632 }
   8633 
   8634 // This prototype is deprecated.
   8635 static inline __ATTRS_o_ai __vector unsigned long long
   8636 vec_sral(__vector unsigned long long __a, __vector unsigned int __b) {
   8637   return (__vector unsigned long long)__builtin_s390_vsra(
   8638     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8639 }
   8640 
   8641 static inline __ATTRS_o_ai __vector signed __int128
   8642 vec_sral(__vector signed __int128 __a, __vector unsigned char __b) {
   8643   return (__vector signed __int128)__builtin_s390_vsra(
   8644     (__vector unsigned char)__a, __b);
   8645 }
   8646 
   8647 static inline __ATTRS_o_ai __vector unsigned __int128
   8648 vec_sral(__vector unsigned __int128 __a, __vector unsigned char __b) {
   8649   return (__vector unsigned __int128)__builtin_s390_vsra(
   8650     (__vector unsigned char)__a, __b);
   8651 }
   8652 
   8653 /*-- vec_srab ---------------------------------------------------------------*/
   8654 
   8655 // This prototype is deprecated.
   8656 static inline __ATTRS_o_ai __vector signed char
   8657 vec_srab(__vector signed char __a, __vector signed char __b) {
   8658   return (__vector signed char)__builtin_s390_vsrab(
   8659     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8660 }
   8661 
   8662 static inline __ATTRS_o_ai __vector signed char
   8663 vec_srab(__vector signed char __a, __vector unsigned char __b) {
   8664   return (__vector signed char)__builtin_s390_vsrab(
   8665     (__vector unsigned char)__a, __b);
   8666 }
   8667 
   8668 // This prototype is deprecated.
   8669 static inline __ATTRS_o_ai __vector unsigned char
   8670 vec_srab(__vector unsigned char __a, __vector signed char __b) {
   8671   return __builtin_s390_vsrab(__a, (__vector unsigned char)__b);
   8672 }
   8673 
   8674 static inline __ATTRS_o_ai __vector unsigned char
   8675 vec_srab(__vector unsigned char __a, __vector unsigned char __b) {
   8676   return __builtin_s390_vsrab(__a, __b);
   8677 }
   8678 
   8679 // This prototype is deprecated.
   8680 static inline __ATTRS_o_ai __vector signed short
   8681 vec_srab(__vector signed short __a, __vector signed short __b) {
   8682   return (__vector signed short)__builtin_s390_vsrab(
   8683     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8684 }
   8685 
   8686 // This prototype is deprecated.
   8687 static inline __ATTRS_o_ai __vector signed short
   8688 vec_srab(__vector signed short __a, __vector unsigned short __b) {
   8689   return (__vector signed short)__builtin_s390_vsrab(
   8690     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8691 }
   8692 
   8693 static inline __ATTRS_o_ai __vector signed short
   8694 vec_srab(__vector signed short __a, __vector unsigned char __b) {
   8695   return (__vector signed short)__builtin_s390_vsrab(
   8696     (__vector unsigned char)__a, __b);
   8697 }
   8698 
   8699 // This prototype is deprecated.
   8700 static inline __ATTRS_o_ai __vector unsigned short
   8701 vec_srab(__vector unsigned short __a, __vector signed short __b) {
   8702   return (__vector unsigned short)__builtin_s390_vsrab(
   8703     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8704 }
   8705 
   8706 // This prototype is deprecated.
   8707 static inline __ATTRS_o_ai __vector unsigned short
   8708 vec_srab(__vector unsigned short __a, __vector unsigned short __b) {
   8709   return (__vector unsigned short)__builtin_s390_vsrab(
   8710     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8711 }
   8712 
   8713 static inline __ATTRS_o_ai __vector unsigned short
   8714 vec_srab(__vector unsigned short __a, __vector unsigned char __b) {
   8715   return (__vector unsigned short)__builtin_s390_vsrab(
   8716     (__vector unsigned char)__a, __b);
   8717 }
   8718 
   8719 // This prototype is deprecated.
   8720 static inline __ATTRS_o_ai __vector signed int
   8721 vec_srab(__vector signed int __a, __vector signed int __b) {
   8722   return (__vector signed int)__builtin_s390_vsrab(
   8723     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8724 }
   8725 
   8726 // This prototype is deprecated.
   8727 static inline __ATTRS_o_ai __vector signed int
   8728 vec_srab(__vector signed int __a, __vector unsigned int __b) {
   8729   return (__vector signed int)__builtin_s390_vsrab(
   8730     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8731 }
   8732 
   8733 static inline __ATTRS_o_ai __vector signed int
   8734 vec_srab(__vector signed int __a, __vector unsigned char __b) {
   8735   return (__vector signed int)__builtin_s390_vsrab(
   8736     (__vector unsigned char)__a, __b);
   8737 }
   8738 
   8739 // This prototype is deprecated.
   8740 static inline __ATTRS_o_ai __vector unsigned int
   8741 vec_srab(__vector unsigned int __a, __vector signed int __b) {
   8742   return (__vector unsigned int)__builtin_s390_vsrab(
   8743     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8744 }
   8745 
   8746 // This prototype is deprecated.
   8747 static inline __ATTRS_o_ai __vector unsigned int
   8748 vec_srab(__vector unsigned int __a, __vector unsigned int __b) {
   8749   return (__vector unsigned int)__builtin_s390_vsrab(
   8750     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8751 }
   8752 
   8753 static inline __ATTRS_o_ai __vector unsigned int
   8754 vec_srab(__vector unsigned int __a, __vector unsigned char __b) {
   8755   return (__vector unsigned int)__builtin_s390_vsrab(
   8756     (__vector unsigned char)__a, __b);
   8757 }
   8758 
   8759 // This prototype is deprecated.
   8760 static inline __ATTRS_o_ai __vector signed long long
   8761 vec_srab(__vector signed long long __a, __vector signed long long __b) {
   8762   return (__vector signed long long)__builtin_s390_vsrab(
   8763     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8764 }
   8765 
   8766 // This prototype is deprecated.
   8767 static inline __ATTRS_o_ai __vector signed long long
   8768 vec_srab(__vector signed long long __a, __vector unsigned long long __b) {
   8769   return (__vector signed long long)__builtin_s390_vsrab(
   8770     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8771 }
   8772 
   8773 static inline __ATTRS_o_ai __vector signed long long
   8774 vec_srab(__vector signed long long __a, __vector unsigned char __b) {
   8775   return (__vector signed long long)__builtin_s390_vsrab(
   8776     (__vector unsigned char)__a, __b);
   8777 }
   8778 
   8779 // This prototype is deprecated.
   8780 static inline __ATTRS_o_ai __vector unsigned long long
   8781 vec_srab(__vector unsigned long long __a, __vector signed long long __b) {
   8782   return (__vector unsigned long long)__builtin_s390_vsrab(
   8783     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8784 }
   8785 
   8786 // This prototype is deprecated.
   8787 static inline __ATTRS_o_ai __vector unsigned long long
   8788 vec_srab(__vector unsigned long long __a, __vector unsigned long long __b) {
   8789   return (__vector unsigned long long)__builtin_s390_vsrab(
   8790     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8791 }
   8792 
   8793 static inline __ATTRS_o_ai __vector unsigned long long
   8794 vec_srab(__vector unsigned long long __a, __vector unsigned char __b) {
   8795   return (__vector unsigned long long)__builtin_s390_vsrab(
   8796     (__vector unsigned char)__a, __b);
   8797 }
   8798 
   8799 static inline __ATTRS_o_ai __vector signed __int128
   8800 vec_srab(__vector signed __int128 __a, __vector unsigned char __b) {
   8801   return (__vector signed __int128)__builtin_s390_vsrab(
   8802     (__vector unsigned char)__a, __b);
   8803 }
   8804 
   8805 static inline __ATTRS_o_ai __vector unsigned __int128
   8806 vec_srab(__vector unsigned __int128 __a, __vector unsigned char __b) {
   8807   return (__vector unsigned __int128)__builtin_s390_vsrab(
   8808     (__vector unsigned char)__a, __b);
   8809 }
   8810 
   8811 #if __ARCH__ >= 12
   8812 // This prototype is deprecated.
   8813 static inline __ATTRS_o_ai __vector float
   8814 vec_srab(__vector float __a, __vector signed int __b) {
   8815   return (__vector float)__builtin_s390_vsrab(
   8816     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8817 }
   8818 
   8819 // This prototype is deprecated.
   8820 static inline __ATTRS_o_ai __vector float
   8821 vec_srab(__vector float __a, __vector unsigned int __b) {
   8822   return (__vector float)__builtin_s390_vsrab(
   8823     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8824 }
   8825 
   8826 static inline __ATTRS_o_ai __vector float
   8827 vec_srab(__vector float __a, __vector unsigned char __b) {
   8828   return (__vector float)__builtin_s390_vsrab(
   8829     (__vector unsigned char)__a, __b);
   8830 }
   8831 #endif
   8832 
   8833 // This prototype is deprecated.
   8834 static inline __ATTRS_o_ai __vector double
   8835 vec_srab(__vector double __a, __vector signed long long __b) {
   8836   return (__vector double)__builtin_s390_vsrab(
   8837     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8838 }
   8839 
   8840 // This prototype is deprecated.
   8841 static inline __ATTRS_o_ai __vector double
   8842 vec_srab(__vector double __a, __vector unsigned long long __b) {
   8843   return (__vector double)__builtin_s390_vsrab(
   8844     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8845 }
   8846 
   8847 static inline __ATTRS_o_ai __vector double
   8848 vec_srab(__vector double __a, __vector unsigned char __b) {
   8849   return (__vector double)__builtin_s390_vsrab(
   8850     (__vector unsigned char)__a, __b);
   8851 }
   8852 
   8853 /*-- vec_srl ----------------------------------------------------------------*/
   8854 
   8855 static inline __ATTRS_o_ai __vector signed char
   8856 vec_srl(__vector signed char __a, __vector unsigned char __b) {
   8857   return (__vector signed char)__builtin_s390_vsrl(
   8858     (__vector unsigned char)__a, __b);
   8859 }
   8860 
   8861 // This prototype is deprecated.
   8862 static inline __ATTRS_o_ai __vector signed char
   8863 vec_srl(__vector signed char __a, __vector unsigned short __b) {
   8864   return (__vector signed char)__builtin_s390_vsrl(
   8865     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8866 }
   8867 
   8868 // This prototype is deprecated.
   8869 static inline __ATTRS_o_ai __vector signed char
   8870 vec_srl(__vector signed char __a, __vector unsigned int __b) {
   8871   return (__vector signed char)__builtin_s390_vsrl(
   8872     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8873 }
   8874 
   8875 // This prototype is deprecated.
   8876 static inline __ATTRS_o_ai __vector __bool char
   8877 vec_srl(__vector __bool char __a, __vector unsigned char __b) {
   8878   return (__vector __bool char)__builtin_s390_vsrl(
   8879     (__vector unsigned char)__a, __b);
   8880 }
   8881 
   8882 // This prototype is deprecated.
   8883 static inline __ATTRS_o_ai __vector __bool char
   8884 vec_srl(__vector __bool char __a, __vector unsigned short __b) {
   8885   return (__vector __bool char)__builtin_s390_vsrl(
   8886     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8887 }
   8888 
   8889 // This prototype is deprecated.
   8890 static inline __ATTRS_o_ai __vector __bool char
   8891 vec_srl(__vector __bool char __a, __vector unsigned int __b) {
   8892   return (__vector __bool char)__builtin_s390_vsrl(
   8893     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8894 }
   8895 
   8896 static inline __ATTRS_o_ai __vector unsigned char
   8897 vec_srl(__vector unsigned char __a, __vector unsigned char __b) {
   8898   return __builtin_s390_vsrl(__a, __b);
   8899 }
   8900 
   8901 // This prototype is deprecated.
   8902 static inline __ATTRS_o_ai __vector unsigned char
   8903 vec_srl(__vector unsigned char __a, __vector unsigned short __b) {
   8904   return __builtin_s390_vsrl(__a, (__vector unsigned char)__b);
   8905 }
   8906 
   8907 // This prototype is deprecated.
   8908 static inline __ATTRS_o_ai __vector unsigned char
   8909 vec_srl(__vector unsigned char __a, __vector unsigned int __b) {
   8910   return __builtin_s390_vsrl(__a, (__vector unsigned char)__b);
   8911 }
   8912 
   8913 static inline __ATTRS_o_ai __vector signed short
   8914 vec_srl(__vector signed short __a, __vector unsigned char __b) {
   8915   return (__vector signed short)__builtin_s390_vsrl(
   8916     (__vector unsigned char)__a, __b);
   8917 }
   8918 
   8919 // This prototype is deprecated.
   8920 static inline __ATTRS_o_ai __vector signed short
   8921 vec_srl(__vector signed short __a, __vector unsigned short __b) {
   8922   return (__vector signed short)__builtin_s390_vsrl(
   8923     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8924 }
   8925 
   8926 // This prototype is deprecated.
   8927 static inline __ATTRS_o_ai __vector signed short
   8928 vec_srl(__vector signed short __a, __vector unsigned int __b) {
   8929   return (__vector signed short)__builtin_s390_vsrl(
   8930     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8931 }
   8932 
   8933 // This prototype is deprecated.
   8934 static inline __ATTRS_o_ai __vector __bool short
   8935 vec_srl(__vector __bool short __a, __vector unsigned char __b) {
   8936   return (__vector __bool short)__builtin_s390_vsrl(
   8937     (__vector unsigned char)__a, __b);
   8938 }
   8939 
   8940 // This prototype is deprecated.
   8941 static inline __ATTRS_o_ai __vector __bool short
   8942 vec_srl(__vector __bool short __a, __vector unsigned short __b) {
   8943   return (__vector __bool short)__builtin_s390_vsrl(
   8944     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8945 }
   8946 
   8947 // This prototype is deprecated.
   8948 static inline __ATTRS_o_ai __vector __bool short
   8949 vec_srl(__vector __bool short __a, __vector unsigned int __b) {
   8950   return (__vector __bool short)__builtin_s390_vsrl(
   8951     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8952 }
   8953 
   8954 static inline __ATTRS_o_ai __vector unsigned short
   8955 vec_srl(__vector unsigned short __a, __vector unsigned char __b) {
   8956   return (__vector unsigned short)__builtin_s390_vsrl(
   8957     (__vector unsigned char)__a, __b);
   8958 }
   8959 
   8960 // This prototype is deprecated.
   8961 static inline __ATTRS_o_ai __vector unsigned short
   8962 vec_srl(__vector unsigned short __a, __vector unsigned short __b) {
   8963   return (__vector unsigned short)__builtin_s390_vsrl(
   8964     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8965 }
   8966 
   8967 // This prototype is deprecated.
   8968 static inline __ATTRS_o_ai __vector unsigned short
   8969 vec_srl(__vector unsigned short __a, __vector unsigned int __b) {
   8970   return (__vector unsigned short)__builtin_s390_vsrl(
   8971     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8972 }
   8973 
   8974 static inline __ATTRS_o_ai __vector signed int
   8975 vec_srl(__vector signed int __a, __vector unsigned char __b) {
   8976   return (__vector signed int)__builtin_s390_vsrl(
   8977     (__vector unsigned char)__a, __b);
   8978 }
   8979 
   8980 // This prototype is deprecated.
   8981 static inline __ATTRS_o_ai __vector signed int
   8982 vec_srl(__vector signed int __a, __vector unsigned short __b) {
   8983   return (__vector signed int)__builtin_s390_vsrl(
   8984     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8985 }
   8986 
   8987 // This prototype is deprecated.
   8988 static inline __ATTRS_o_ai __vector signed int
   8989 vec_srl(__vector signed int __a, __vector unsigned int __b) {
   8990   return (__vector signed int)__builtin_s390_vsrl(
   8991     (__vector unsigned char)__a, (__vector unsigned char)__b);
   8992 }
   8993 
   8994 // This prototype is deprecated.
   8995 static inline __ATTRS_o_ai __vector __bool int
   8996 vec_srl(__vector __bool int __a, __vector unsigned char __b) {
   8997   return (__vector __bool int)__builtin_s390_vsrl(
   8998     (__vector unsigned char)__a, __b);
   8999 }
   9000 
   9001 // This prototype is deprecated.
   9002 static inline __ATTRS_o_ai __vector __bool int
   9003 vec_srl(__vector __bool int __a, __vector unsigned short __b) {
   9004   return (__vector __bool int)__builtin_s390_vsrl(
   9005     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9006 }
   9007 
   9008 // This prototype is deprecated.
   9009 static inline __ATTRS_o_ai __vector __bool int
   9010 vec_srl(__vector __bool int __a, __vector unsigned int __b) {
   9011   return (__vector __bool int)__builtin_s390_vsrl(
   9012     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9013 }
   9014 
   9015 static inline __ATTRS_o_ai __vector unsigned int
   9016 vec_srl(__vector unsigned int __a, __vector unsigned char __b) {
   9017   return (__vector unsigned int)__builtin_s390_vsrl(
   9018     (__vector unsigned char)__a, __b);
   9019 }
   9020 
   9021 // This prototype is deprecated.
   9022 static inline __ATTRS_o_ai __vector unsigned int
   9023 vec_srl(__vector unsigned int __a, __vector unsigned short __b) {
   9024   return (__vector unsigned int)__builtin_s390_vsrl(
   9025     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9026 }
   9027 
   9028 // This prototype is deprecated.
   9029 static inline __ATTRS_o_ai __vector unsigned int
   9030 vec_srl(__vector unsigned int __a, __vector unsigned int __b) {
   9031   return (__vector unsigned int)__builtin_s390_vsrl(
   9032     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9033 }
   9034 
   9035 static inline __ATTRS_o_ai __vector signed long long
   9036 vec_srl(__vector signed long long __a, __vector unsigned char __b) {
   9037   return (__vector signed long long)__builtin_s390_vsrl(
   9038     (__vector unsigned char)__a, __b);
   9039 }
   9040 
   9041 // This prototype is deprecated.
   9042 static inline __ATTRS_o_ai __vector signed long long
   9043 vec_srl(__vector signed long long __a, __vector unsigned short __b) {
   9044   return (__vector signed long long)__builtin_s390_vsrl(
   9045     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9046 }
   9047 
   9048 // This prototype is deprecated.
   9049 static inline __ATTRS_o_ai __vector signed long long
   9050 vec_srl(__vector signed long long __a, __vector unsigned int __b) {
   9051   return (__vector signed long long)__builtin_s390_vsrl(
   9052     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9053 }
   9054 
   9055 // This prototype is deprecated.
   9056 static inline __ATTRS_o_ai __vector __bool long long
   9057 vec_srl(__vector __bool long long __a, __vector unsigned char __b) {
   9058   return (__vector __bool long long)__builtin_s390_vsrl(
   9059     (__vector unsigned char)__a, __b);
   9060 }
   9061 
   9062 // This prototype is deprecated.
   9063 static inline __ATTRS_o_ai __vector __bool long long
   9064 vec_srl(__vector __bool long long __a, __vector unsigned short __b) {
   9065   return (__vector __bool long long)__builtin_s390_vsrl(
   9066     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9067 }
   9068 
   9069 // This prototype is deprecated.
   9070 static inline __ATTRS_o_ai __vector __bool long long
   9071 vec_srl(__vector __bool long long __a, __vector unsigned int __b) {
   9072   return (__vector __bool long long)__builtin_s390_vsrl(
   9073     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9074 }
   9075 
   9076 static inline __ATTRS_o_ai __vector unsigned long long
   9077 vec_srl(__vector unsigned long long __a, __vector unsigned char __b) {
   9078   return (__vector unsigned long long)__builtin_s390_vsrl(
   9079     (__vector unsigned char)__a, __b);
   9080 }
   9081 
   9082 // This prototype is deprecated.
   9083 static inline __ATTRS_o_ai __vector unsigned long long
   9084 vec_srl(__vector unsigned long long __a, __vector unsigned short __b) {
   9085   return (__vector unsigned long long)__builtin_s390_vsrl(
   9086     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9087 }
   9088 
   9089 // This prototype is deprecated.
   9090 static inline __ATTRS_o_ai __vector unsigned long long
   9091 vec_srl(__vector unsigned long long __a, __vector unsigned int __b) {
   9092   return (__vector unsigned long long)__builtin_s390_vsrl(
   9093     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9094 }
   9095 
   9096 static inline __ATTRS_o_ai __vector signed __int128
   9097 vec_srl(__vector signed __int128 __a, __vector unsigned char __b) {
   9098   return (__vector signed __int128)__builtin_s390_vsrl(
   9099     (__vector unsigned char)__a, __b);
   9100 }
   9101 
   9102 static inline __ATTRS_o_ai __vector unsigned __int128
   9103 vec_srl(__vector unsigned __int128 __a, __vector unsigned char __b) {
   9104   return (__vector unsigned __int128)__builtin_s390_vsrl(
   9105     (__vector unsigned char)__a, __b);
   9106 }
   9107 
   9108 /*-- vec_srb ----------------------------------------------------------------*/
   9109 
   9110 // This prototype is deprecated.
   9111 static inline __ATTRS_o_ai __vector signed char
   9112 vec_srb(__vector signed char __a, __vector signed char __b) {
   9113   return (__vector signed char)__builtin_s390_vsrlb(
   9114     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9115 }
   9116 
   9117 static inline __ATTRS_o_ai __vector signed char
   9118 vec_srb(__vector signed char __a, __vector unsigned char __b) {
   9119   return (__vector signed char)__builtin_s390_vsrlb(
   9120     (__vector unsigned char)__a, __b);
   9121 }
   9122 
   9123 // This prototype is deprecated.
   9124 static inline __ATTRS_o_ai __vector unsigned char
   9125 vec_srb(__vector unsigned char __a, __vector signed char __b) {
   9126   return __builtin_s390_vsrlb(__a, (__vector unsigned char)__b);
   9127 }
   9128 
   9129 static inline __ATTRS_o_ai __vector unsigned char
   9130 vec_srb(__vector unsigned char __a, __vector unsigned char __b) {
   9131   return __builtin_s390_vsrlb(__a, __b);
   9132 }
   9133 
   9134 // This prototype is deprecated.
   9135 static inline __ATTRS_o_ai __vector signed short
   9136 vec_srb(__vector signed short __a, __vector signed short __b) {
   9137   return (__vector signed short)__builtin_s390_vsrlb(
   9138     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9139 }
   9140 
   9141 // This prototype is deprecated.
   9142 static inline __ATTRS_o_ai __vector signed short
   9143 vec_srb(__vector signed short __a, __vector unsigned short __b) {
   9144   return (__vector signed short)__builtin_s390_vsrlb(
   9145     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9146 }
   9147 
   9148 static inline __ATTRS_o_ai __vector signed short
   9149 vec_srb(__vector signed short __a, __vector unsigned char __b) {
   9150   return (__vector signed short)__builtin_s390_vsrlb(
   9151     (__vector unsigned char)__a, __b);
   9152 }
   9153 
   9154 // This prototype is deprecated.
   9155 static inline __ATTRS_o_ai __vector unsigned short
   9156 vec_srb(__vector unsigned short __a, __vector signed short __b) {
   9157   return (__vector unsigned short)__builtin_s390_vsrlb(
   9158     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9159 }
   9160 
   9161 // This prototype is deprecated.
   9162 static inline __ATTRS_o_ai __vector unsigned short
   9163 vec_srb(__vector unsigned short __a, __vector unsigned short __b) {
   9164   return (__vector unsigned short)__builtin_s390_vsrlb(
   9165     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9166 }
   9167 
   9168 static inline __ATTRS_o_ai __vector unsigned short
   9169 vec_srb(__vector unsigned short __a, __vector unsigned char __b) {
   9170   return (__vector unsigned short)__builtin_s390_vsrlb(
   9171     (__vector unsigned char)__a, __b);
   9172 }
   9173 
   9174 // This prototype is deprecated.
   9175 static inline __ATTRS_o_ai __vector signed int
   9176 vec_srb(__vector signed int __a, __vector signed int __b) {
   9177   return (__vector signed int)__builtin_s390_vsrlb(
   9178     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9179 }
   9180 
   9181 // This prototype is deprecated.
   9182 static inline __ATTRS_o_ai __vector signed int
   9183 vec_srb(__vector signed int __a, __vector unsigned int __b) {
   9184   return (__vector signed int)__builtin_s390_vsrlb(
   9185     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9186 }
   9187 
   9188 static inline __ATTRS_o_ai __vector signed int
   9189 vec_srb(__vector signed int __a, __vector unsigned char __b) {
   9190   return (__vector signed int)__builtin_s390_vsrlb(
   9191     (__vector unsigned char)__a, __b);
   9192 }
   9193 
   9194 // This prototype is deprecated.
   9195 static inline __ATTRS_o_ai __vector unsigned int
   9196 vec_srb(__vector unsigned int __a, __vector signed int __b) {
   9197   return (__vector unsigned int)__builtin_s390_vsrlb(
   9198     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9199 }
   9200 
   9201 // This prototype is deprecated.
   9202 static inline __ATTRS_o_ai __vector unsigned int
   9203 vec_srb(__vector unsigned int __a, __vector unsigned int __b) {
   9204   return (__vector unsigned int)__builtin_s390_vsrlb(
   9205     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9206 }
   9207 
   9208 static inline __ATTRS_o_ai __vector unsigned int
   9209 vec_srb(__vector unsigned int __a, __vector unsigned char __b) {
   9210   return (__vector unsigned int)__builtin_s390_vsrlb(
   9211     (__vector unsigned char)__a, __b);
   9212 }
   9213 
   9214 // This prototype is deprecated.
   9215 static inline __ATTRS_o_ai __vector signed long long
   9216 vec_srb(__vector signed long long __a, __vector signed long long __b) {
   9217   return (__vector signed long long)__builtin_s390_vsrlb(
   9218     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9219 }
   9220 
   9221 // This prototype is deprecated.
   9222 static inline __ATTRS_o_ai __vector signed long long
   9223 vec_srb(__vector signed long long __a, __vector unsigned long long __b) {
   9224   return (__vector signed long long)__builtin_s390_vsrlb(
   9225     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9226 }
   9227 
   9228 static inline __ATTRS_o_ai __vector signed long long
   9229 vec_srb(__vector signed long long __a, __vector unsigned char __b) {
   9230   return (__vector signed long long)__builtin_s390_vsrlb(
   9231     (__vector unsigned char)__a, __b);
   9232 }
   9233 
   9234 // This prototype is deprecated.
   9235 static inline __ATTRS_o_ai __vector unsigned long long
   9236 vec_srb(__vector unsigned long long __a, __vector signed long long __b) {
   9237   return (__vector unsigned long long)__builtin_s390_vsrlb(
   9238     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9239 }
   9240 
   9241 // This prototype is deprecated.
   9242 static inline __ATTRS_o_ai __vector unsigned long long
   9243 vec_srb(__vector unsigned long long __a, __vector unsigned long long __b) {
   9244   return (__vector unsigned long long)__builtin_s390_vsrlb(
   9245     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9246 }
   9247 
   9248 static inline __ATTRS_o_ai __vector unsigned long long
   9249 vec_srb(__vector unsigned long long __a, __vector unsigned char __b) {
   9250   return (__vector unsigned long long)__builtin_s390_vsrlb(
   9251     (__vector unsigned char)__a, __b);
   9252 }
   9253 
   9254 static inline __ATTRS_o_ai __vector signed __int128
   9255 vec_srb(__vector signed __int128 __a, __vector unsigned char __b) {
   9256   return (__vector signed __int128)__builtin_s390_vsrlb(
   9257     (__vector unsigned char)__a, __b);
   9258 }
   9259 
   9260 static inline __ATTRS_o_ai __vector unsigned __int128
   9261 vec_srb(__vector unsigned __int128 __a, __vector unsigned char __b) {
   9262   return (__vector unsigned __int128)__builtin_s390_vsrlb(
   9263     (__vector unsigned char)__a, __b);
   9264 }
   9265 
   9266 #if __ARCH__ >= 12
   9267 // This prototype is deprecated.
   9268 static inline __ATTRS_o_ai __vector float
   9269 vec_srb(__vector float __a, __vector signed int __b) {
   9270   return (__vector float)__builtin_s390_vsrlb(
   9271     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9272 }
   9273 
   9274 // This prototype is deprecated.
   9275 static inline __ATTRS_o_ai __vector float
   9276 vec_srb(__vector float __a, __vector unsigned int __b) {
   9277   return (__vector float)__builtin_s390_vsrlb(
   9278     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9279 }
   9280 
   9281 static inline __ATTRS_o_ai __vector float
   9282 vec_srb(__vector float __a, __vector unsigned char __b) {
   9283   return (__vector float)__builtin_s390_vsrlb(
   9284     (__vector unsigned char)__a, __b);
   9285 }
   9286 #endif
   9287 
   9288 // This prototype is deprecated.
   9289 static inline __ATTRS_o_ai __vector double
   9290 vec_srb(__vector double __a, __vector signed long long __b) {
   9291   return (__vector double)__builtin_s390_vsrlb(
   9292     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9293 }
   9294 
   9295 // This prototype is deprecated.
   9296 static inline __ATTRS_o_ai __vector double
   9297 vec_srb(__vector double __a, __vector unsigned long long __b) {
   9298   return (__vector double)__builtin_s390_vsrlb(
   9299     (__vector unsigned char)__a, (__vector unsigned char)__b);
   9300 }
   9301 
   9302 static inline __ATTRS_o_ai __vector double
   9303 vec_srb(__vector double __a, __vector unsigned char __b) {
   9304   return (__vector double)__builtin_s390_vsrlb(
   9305     (__vector unsigned char)__a, __b);
   9306 }
   9307 
   9308 /*-- vec_srdb ---------------------------------------------------------------*/
   9309 
   9310 #if __ARCH__ >= 13
   9311 
   9312 extern __ATTRS_o __vector signed char
   9313 vec_srdb(__vector signed char __a, __vector signed char __b, int __c)
   9314   __constant_range(__c, 0, 7);
   9315 
   9316 extern __ATTRS_o __vector unsigned char
   9317 vec_srdb(__vector unsigned char __a, __vector unsigned char __b, int __c)
   9318   __constant_range(__c, 0, 7);
   9319 
   9320 extern __ATTRS_o __vector signed short
   9321 vec_srdb(__vector signed short __a, __vector signed short __b, int __c)
   9322   __constant_range(__c, 0, 7);
   9323 
   9324 extern __ATTRS_o __vector unsigned short
   9325 vec_srdb(__vector unsigned short __a, __vector unsigned short __b, int __c)
   9326   __constant_range(__c, 0, 7);
   9327 
   9328 extern __ATTRS_o __vector signed int
   9329 vec_srdb(__vector signed int __a, __vector signed int __b, int __c)
   9330   __constant_range(__c, 0, 7);
   9331 
   9332 extern __ATTRS_o __vector unsigned int
   9333 vec_srdb(__vector unsigned int __a, __vector unsigned int __b, int __c)
   9334   __constant_range(__c, 0, 7);
   9335 
   9336 extern __ATTRS_o __vector signed long long
   9337 vec_srdb(__vector signed long long __a, __vector signed long long __b, int __c)
   9338   __constant_range(__c, 0, 7);
   9339 
   9340 extern __ATTRS_o __vector unsigned long long
   9341 vec_srdb(__vector unsigned long long __a, __vector unsigned long long __b,
   9342          int __c)
   9343   __constant_range(__c, 0, 7);
   9344 
   9345 extern __ATTRS_o __vector signed __int128
   9346 vec_srdb(__vector signed __int128 __a, __vector signed __int128 __b, int __c)
   9347   __constant_range(__c, 0, 7);
   9348 
   9349 extern __ATTRS_o __vector unsigned __int128
   9350 vec_srdb(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
   9351          int __c)
   9352   __constant_range(__c, 0, 7);
   9353 
   9354 extern __ATTRS_o __vector float
   9355 vec_srdb(__vector float __a, __vector float __b, int __c)
   9356   __constant_range(__c, 0, 7);
   9357 
   9358 extern __ATTRS_o __vector double
   9359 vec_srdb(__vector double __a, __vector double __b, int __c)
   9360   __constant_range(__c, 0, 7);
   9361 
   9362 #define vec_srdb(X, Y, Z) ((__typeof__((vec_srdb)((X), (Y), (Z)))) \
   9363   __builtin_s390_vsrd((__vector unsigned char)(X), \
   9364                       (__vector unsigned char)(Y), (Z)))
   9365 
   9366 #endif
   9367 
   9368 /*-- vec_abs ----------------------------------------------------------------*/
   9369 
   9370 static inline __ATTRS_o_ai __vector signed char
   9371 vec_abs(__vector signed char __a) {
   9372   return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed char)0));
   9373 }
   9374 
   9375 static inline __ATTRS_o_ai __vector signed short
   9376 vec_abs(__vector signed short __a) {
   9377   return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed short)0));
   9378 }
   9379 
   9380 static inline __ATTRS_o_ai __vector signed int
   9381 vec_abs(__vector signed int __a) {
   9382   return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed int)0));
   9383 }
   9384 
   9385 static inline __ATTRS_o_ai __vector signed long long
   9386 vec_abs(__vector signed long long __a) {
   9387   return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed long long)0));
   9388 }
   9389 
   9390 static inline __ATTRS_o_ai __vector signed __int128
   9391 vec_abs(__vector signed __int128 __a) {
   9392   return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed __int128)0));
   9393 }
   9394 
   9395 #if __ARCH__ >= 12
   9396 static inline __ATTRS_o_ai __vector float
   9397 vec_abs(__vector float __a) {
   9398   return __builtin_s390_vflpsb(__a);
   9399 }
   9400 #endif
   9401 
   9402 static inline __ATTRS_o_ai __vector double
   9403 vec_abs(__vector double __a) {
   9404   return __builtin_s390_vflpdb(__a);
   9405 }
   9406 
   9407 /*-- vec_nabs ---------------------------------------------------------------*/
   9408 
   9409 #if __ARCH__ >= 12
   9410 static inline __ATTRS_o_ai __vector float
   9411 vec_nabs(__vector float __a) {
   9412   return __builtin_s390_vflnsb(__a);
   9413 }
   9414 #endif
   9415 
   9416 static inline __ATTRS_o_ai __vector double
   9417 vec_nabs(__vector double __a) {
   9418   return __builtin_s390_vflndb(__a);
   9419 }
   9420 
   9421 /*-- vec_max ----------------------------------------------------------------*/
   9422 
   9423 static inline __ATTRS_o_ai __vector signed char
   9424 vec_max(__vector signed char __a, __vector signed char __b) {
   9425   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   9426 }
   9427 
   9428 // This prototype is deprecated.
   9429 static inline __ATTRS_o_ai __vector signed char
   9430 vec_max(__vector signed char __a, __vector __bool char __b) {
   9431   __vector signed char __bc = (__vector signed char)__b;
   9432   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   9433 }
   9434 
   9435 // This prototype is deprecated.
   9436 static inline __ATTRS_o_ai __vector signed char
   9437 vec_max(__vector __bool char __a, __vector signed char __b) {
   9438   __vector signed char __ac = (__vector signed char)__a;
   9439   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   9440 }
   9441 
   9442 static inline __ATTRS_o_ai __vector unsigned char
   9443 vec_max(__vector unsigned char __a, __vector unsigned char __b) {
   9444   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   9445 }
   9446 
   9447 // This prototype is deprecated.
   9448 static inline __ATTRS_o_ai __vector unsigned char
   9449 vec_max(__vector unsigned char __a, __vector __bool char __b) {
   9450   __vector unsigned char __bc = (__vector unsigned char)__b;
   9451   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   9452 }
   9453 
   9454 // This prototype is deprecated.
   9455 static inline __ATTRS_o_ai __vector unsigned char
   9456 vec_max(__vector __bool char __a, __vector unsigned char __b) {
   9457   __vector unsigned char __ac = (__vector unsigned char)__a;
   9458   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   9459 }
   9460 
   9461 static inline __ATTRS_o_ai __vector signed short
   9462 vec_max(__vector signed short __a, __vector signed short __b) {
   9463   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   9464 }
   9465 
   9466 // This prototype is deprecated.
   9467 static inline __ATTRS_o_ai __vector signed short
   9468 vec_max(__vector signed short __a, __vector __bool short __b) {
   9469   __vector signed short __bc = (__vector signed short)__b;
   9470   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   9471 }
   9472 
   9473 // This prototype is deprecated.
   9474 static inline __ATTRS_o_ai __vector signed short
   9475 vec_max(__vector __bool short __a, __vector signed short __b) {
   9476   __vector signed short __ac = (__vector signed short)__a;
   9477   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   9478 }
   9479 
   9480 static inline __ATTRS_o_ai __vector unsigned short
   9481 vec_max(__vector unsigned short __a, __vector unsigned short __b) {
   9482   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   9483 }
   9484 
   9485 // This prototype is deprecated.
   9486 static inline __ATTRS_o_ai __vector unsigned short
   9487 vec_max(__vector unsigned short __a, __vector __bool short __b) {
   9488   __vector unsigned short __bc = (__vector unsigned short)__b;
   9489   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   9490 }
   9491 
   9492 // This prototype is deprecated.
   9493 static inline __ATTRS_o_ai __vector unsigned short
   9494 vec_max(__vector __bool short __a, __vector unsigned short __b) {
   9495   __vector unsigned short __ac = (__vector unsigned short)__a;
   9496   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   9497 }
   9498 
   9499 static inline __ATTRS_o_ai __vector signed int
   9500 vec_max(__vector signed int __a, __vector signed int __b) {
   9501   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   9502 }
   9503 
   9504 // This prototype is deprecated.
   9505 static inline __ATTRS_o_ai __vector signed int
   9506 vec_max(__vector signed int __a, __vector __bool int __b) {
   9507   __vector signed int __bc = (__vector signed int)__b;
   9508   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   9509 }
   9510 
   9511 // This prototype is deprecated.
   9512 static inline __ATTRS_o_ai __vector signed int
   9513 vec_max(__vector __bool int __a, __vector signed int __b) {
   9514   __vector signed int __ac = (__vector signed int)__a;
   9515   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   9516 }
   9517 
   9518 static inline __ATTRS_o_ai __vector unsigned int
   9519 vec_max(__vector unsigned int __a, __vector unsigned int __b) {
   9520   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   9521 }
   9522 
   9523 // This prototype is deprecated.
   9524 static inline __ATTRS_o_ai __vector unsigned int
   9525 vec_max(__vector unsigned int __a, __vector __bool int __b) {
   9526   __vector unsigned int __bc = (__vector unsigned int)__b;
   9527   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   9528 }
   9529 
   9530 // This prototype is deprecated.
   9531 static inline __ATTRS_o_ai __vector unsigned int
   9532 vec_max(__vector __bool int __a, __vector unsigned int __b) {
   9533   __vector unsigned int __ac = (__vector unsigned int)__a;
   9534   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   9535 }
   9536 
   9537 static inline __ATTRS_o_ai __vector signed long long
   9538 vec_max(__vector signed long long __a, __vector signed long long __b) {
   9539   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   9540 }
   9541 
   9542 // This prototype is deprecated.
   9543 static inline __ATTRS_o_ai __vector signed long long
   9544 vec_max(__vector signed long long __a, __vector __bool long long __b) {
   9545   __vector signed long long __bc = (__vector signed long long)__b;
   9546   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   9547 }
   9548 
   9549 // This prototype is deprecated.
   9550 static inline __ATTRS_o_ai __vector signed long long
   9551 vec_max(__vector __bool long long __a, __vector signed long long __b) {
   9552   __vector signed long long __ac = (__vector signed long long)__a;
   9553   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   9554 }
   9555 
   9556 static inline __ATTRS_o_ai __vector unsigned long long
   9557 vec_max(__vector unsigned long long __a, __vector unsigned long long __b) {
   9558   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   9559 }
   9560 
   9561 // This prototype is deprecated.
   9562 static inline __ATTRS_o_ai __vector unsigned long long
   9563 vec_max(__vector unsigned long long __a, __vector __bool long long __b) {
   9564   __vector unsigned long long __bc = (__vector unsigned long long)__b;
   9565   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   9566 }
   9567 
   9568 // This prototype is deprecated.
   9569 static inline __ATTRS_o_ai __vector unsigned long long
   9570 vec_max(__vector __bool long long __a, __vector unsigned long long __b) {
   9571   __vector unsigned long long __ac = (__vector unsigned long long)__a;
   9572   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   9573 }
   9574 
   9575 static inline __ATTRS_o_ai __vector signed __int128
   9576 vec_max(__vector signed __int128 __a, __vector signed __int128 __b) {
   9577   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   9578 }
   9579 
   9580 static inline __ATTRS_o_ai __vector unsigned __int128
   9581 vec_max(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   9582   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   9583 }
   9584 
   9585 #if __ARCH__ >= 12
   9586 static inline __ATTRS_o_ai __vector float
   9587 vec_max(__vector float __a, __vector float __b) {
   9588   return __builtin_s390_vfmaxsb(__a, __b, 0);
   9589 }
   9590 #endif
   9591 
   9592 static inline __ATTRS_o_ai __vector double
   9593 vec_max(__vector double __a, __vector double __b) {
   9594 #if __ARCH__ >= 12
   9595   return __builtin_s390_vfmaxdb(__a, __b, 0);
   9596 #else
   9597   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   9598 #endif
   9599 }
   9600 
   9601 /*-- vec_min ----------------------------------------------------------------*/
   9602 
   9603 static inline __ATTRS_o_ai __vector signed char
   9604 vec_min(__vector signed char __a, __vector signed char __b) {
   9605   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   9606 }
   9607 
   9608 // This prototype is deprecated.
   9609 static inline __ATTRS_o_ai __vector signed char
   9610 vec_min(__vector signed char __a, __vector __bool char __b) {
   9611   __vector signed char __bc = (__vector signed char)__b;
   9612   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   9613 }
   9614 
   9615 // This prototype is deprecated.
   9616 static inline __ATTRS_o_ai __vector signed char
   9617 vec_min(__vector __bool char __a, __vector signed char __b) {
   9618   __vector signed char __ac = (__vector signed char)__a;
   9619   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   9620 }
   9621 
   9622 static inline __ATTRS_o_ai __vector unsigned char
   9623 vec_min(__vector unsigned char __a, __vector unsigned char __b) {
   9624   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   9625 }
   9626 
   9627 // This prototype is deprecated.
   9628 static inline __ATTRS_o_ai __vector unsigned char
   9629 vec_min(__vector unsigned char __a, __vector __bool char __b) {
   9630   __vector unsigned char __bc = (__vector unsigned char)__b;
   9631   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   9632 }
   9633 
   9634 // This prototype is deprecated.
   9635 static inline __ATTRS_o_ai __vector unsigned char
   9636 vec_min(__vector __bool char __a, __vector unsigned char __b) {
   9637   __vector unsigned char __ac = (__vector unsigned char)__a;
   9638   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   9639 }
   9640 
   9641 static inline __ATTRS_o_ai __vector signed short
   9642 vec_min(__vector signed short __a, __vector signed short __b) {
   9643   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   9644 }
   9645 
   9646 // This prototype is deprecated.
   9647 static inline __ATTRS_o_ai __vector signed short
   9648 vec_min(__vector signed short __a, __vector __bool short __b) {
   9649   __vector signed short __bc = (__vector signed short)__b;
   9650   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   9651 }
   9652 
   9653 // This prototype is deprecated.
   9654 static inline __ATTRS_o_ai __vector signed short
   9655 vec_min(__vector __bool short __a, __vector signed short __b) {
   9656   __vector signed short __ac = (__vector signed short)__a;
   9657   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   9658 }
   9659 
   9660 static inline __ATTRS_o_ai __vector unsigned short
   9661 vec_min(__vector unsigned short __a, __vector unsigned short __b) {
   9662   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   9663 }
   9664 
   9665 // This prototype is deprecated.
   9666 static inline __ATTRS_o_ai __vector unsigned short
   9667 vec_min(__vector unsigned short __a, __vector __bool short __b) {
   9668   __vector unsigned short __bc = (__vector unsigned short)__b;
   9669   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   9670 }
   9671 
   9672 // This prototype is deprecated.
   9673 static inline __ATTRS_o_ai __vector unsigned short
   9674 vec_min(__vector __bool short __a, __vector unsigned short __b) {
   9675   __vector unsigned short __ac = (__vector unsigned short)__a;
   9676   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   9677 }
   9678 
   9679 static inline __ATTRS_o_ai __vector signed int
   9680 vec_min(__vector signed int __a, __vector signed int __b) {
   9681   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   9682 }
   9683 
   9684 // This prototype is deprecated.
   9685 static inline __ATTRS_o_ai __vector signed int
   9686 vec_min(__vector signed int __a, __vector __bool int __b) {
   9687   __vector signed int __bc = (__vector signed int)__b;
   9688   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   9689 }
   9690 
   9691 // This prototype is deprecated.
   9692 static inline __ATTRS_o_ai __vector signed int
   9693 vec_min(__vector __bool int __a, __vector signed int __b) {
   9694   __vector signed int __ac = (__vector signed int)__a;
   9695   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   9696 }
   9697 
   9698 static inline __ATTRS_o_ai __vector unsigned int
   9699 vec_min(__vector unsigned int __a, __vector unsigned int __b) {
   9700   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   9701 }
   9702 
   9703 // This prototype is deprecated.
   9704 static inline __ATTRS_o_ai __vector unsigned int
   9705 vec_min(__vector unsigned int __a, __vector __bool int __b) {
   9706   __vector unsigned int __bc = (__vector unsigned int)__b;
   9707   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   9708 }
   9709 
   9710 // This prototype is deprecated.
   9711 static inline __ATTRS_o_ai __vector unsigned int
   9712 vec_min(__vector __bool int __a, __vector unsigned int __b) {
   9713   __vector unsigned int __ac = (__vector unsigned int)__a;
   9714   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   9715 }
   9716 
   9717 static inline __ATTRS_o_ai __vector signed long long
   9718 vec_min(__vector signed long long __a, __vector signed long long __b) {
   9719   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   9720 }
   9721 
   9722 // This prototype is deprecated.
   9723 static inline __ATTRS_o_ai __vector signed long long
   9724 vec_min(__vector signed long long __a, __vector __bool long long __b) {
   9725   __vector signed long long __bc = (__vector signed long long)__b;
   9726   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   9727 }
   9728 
   9729 // This prototype is deprecated.
   9730 static inline __ATTRS_o_ai __vector signed long long
   9731 vec_min(__vector __bool long long __a, __vector signed long long __b) {
   9732   __vector signed long long __ac = (__vector signed long long)__a;
   9733   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   9734 }
   9735 
   9736 static inline __ATTRS_o_ai __vector unsigned long long
   9737 vec_min(__vector unsigned long long __a, __vector unsigned long long __b) {
   9738   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   9739 }
   9740 
   9741 // This prototype is deprecated.
   9742 static inline __ATTRS_o_ai __vector unsigned long long
   9743 vec_min(__vector unsigned long long __a, __vector __bool long long __b) {
   9744   __vector unsigned long long __bc = (__vector unsigned long long)__b;
   9745   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   9746 }
   9747 
   9748 // This prototype is deprecated.
   9749 static inline __ATTRS_o_ai __vector unsigned long long
   9750 vec_min(__vector __bool long long __a, __vector unsigned long long __b) {
   9751   __vector unsigned long long __ac = (__vector unsigned long long)__a;
   9752   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   9753 }
   9754 
   9755 static inline __ATTRS_o_ai __vector signed __int128
   9756 vec_min(__vector signed __int128 __a, __vector signed __int128 __b) {
   9757   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   9758 }
   9759 
   9760 static inline __ATTRS_o_ai __vector unsigned __int128
   9761 vec_min(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   9762   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   9763 }
   9764 
   9765 #if __ARCH__ >= 12
   9766 static inline __ATTRS_o_ai __vector float
   9767 vec_min(__vector float __a, __vector float __b) {
   9768   return __builtin_s390_vfminsb(__a, __b, 0);
   9769 }
   9770 #endif
   9771 
   9772 static inline __ATTRS_o_ai __vector double
   9773 vec_min(__vector double __a, __vector double __b) {
   9774 #if __ARCH__ >= 12
   9775   return __builtin_s390_vfmindb(__a, __b, 0);
   9776 #else
   9777   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   9778 #endif
   9779 }
   9780 
   9781 /*-- vec_add_u128 -----------------------------------------------------------*/
   9782 
   9783 // This prototype is deprecated.
   9784 static inline __ATTRS_ai __vector unsigned char
   9785 vec_add_u128(__vector unsigned char __a, __vector unsigned char __b) {
   9786   return (__vector unsigned char)(__vector unsigned __int128)
   9787          ((__int128)__a + (__int128)__b);
   9788 }
   9789 
   9790 /*-- vec_addc ---------------------------------------------------------------*/
   9791 
   9792 static inline __ATTRS_o_ai __vector unsigned char
   9793 vec_addc(__vector unsigned char __a, __vector unsigned char __b) {
   9794   return __builtin_s390_vaccb(__a, __b);
   9795 }
   9796 
   9797 static inline __ATTRS_o_ai __vector unsigned short
   9798 vec_addc(__vector unsigned short __a, __vector unsigned short __b) {
   9799   return __builtin_s390_vacch(__a, __b);
   9800 }
   9801 
   9802 static inline __ATTRS_o_ai __vector unsigned int
   9803 vec_addc(__vector unsigned int __a, __vector unsigned int __b) {
   9804   return __builtin_s390_vaccf(__a, __b);
   9805 }
   9806 
   9807 static inline __ATTRS_o_ai __vector unsigned long long
   9808 vec_addc(__vector unsigned long long __a, __vector unsigned long long __b) {
   9809   return __builtin_s390_vaccg(__a, __b);
   9810 }
   9811 
   9812 static inline __ATTRS_o_ai __vector unsigned __int128
   9813 vec_addc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   9814   return (__vector unsigned __int128)
   9815          __builtin_s390_vaccq((unsigned __int128)__a, (unsigned __int128)__b);
   9816 }
   9817 
   9818 /*-- vec_addc_u128 ----------------------------------------------------------*/
   9819 
   9820 // This prototype is deprecated.
   9821 static inline __ATTRS_ai __vector unsigned char
   9822 vec_addc_u128(__vector unsigned char __a, __vector unsigned char __b) {
   9823   return (__vector unsigned char)(__vector unsigned __int128)
   9824          __builtin_s390_vaccq((unsigned __int128)__a, (unsigned __int128)__b);
   9825 }
   9826 
   9827 /*-- vec_adde ---------------------------------------------------------------*/
   9828 
   9829 static inline __ATTRS_ai __vector unsigned __int128
   9830 vec_adde(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
   9831          __vector unsigned __int128 __c) {
   9832   return (__vector unsigned __int128)
   9833          __builtin_s390_vacq((unsigned __int128)__a, (unsigned __int128)__b,
   9834                              (unsigned __int128)__c);
   9835 }
   9836 
   9837 /*-- vec_adde_u128 ----------------------------------------------------------*/
   9838 
   9839 // This prototype is deprecated.
   9840 static inline __ATTRS_ai __vector unsigned char
   9841 vec_adde_u128(__vector unsigned char __a, __vector unsigned char __b,
   9842               __vector unsigned char __c) {
   9843   return (__vector unsigned char)(__vector unsigned __int128)
   9844          __builtin_s390_vacq((unsigned __int128)__a, (unsigned __int128)__b,
   9845                              (unsigned __int128)__c);
   9846 }
   9847 
   9848 /*-- vec_addec --------------------------------------------------------------*/
   9849 
   9850 static inline __ATTRS_ai __vector unsigned __int128
   9851 vec_addec(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
   9852           __vector unsigned __int128 __c) {
   9853   return (__vector unsigned __int128)
   9854          __builtin_s390_vacccq((unsigned __int128)__a, (unsigned __int128)__b,
   9855                                (unsigned __int128)__c);
   9856 }
   9857 
   9858 /*-- vec_addec_u128 ---------------------------------------------------------*/
   9859 
   9860 // This prototype is deprecated.
   9861 static inline __ATTRS_ai __vector unsigned char
   9862 vec_addec_u128(__vector unsigned char __a, __vector unsigned char __b,
   9863                __vector unsigned char __c) {
   9864   return (__vector unsigned char)(__vector unsigned __int128)
   9865          __builtin_s390_vacccq((unsigned __int128)__a, (unsigned __int128)__b,
   9866                                (unsigned __int128)__c);
   9867 }
   9868 
   9869 /*-- vec_avg ----------------------------------------------------------------*/
   9870 
   9871 static inline __ATTRS_o_ai __vector signed char
   9872 vec_avg(__vector signed char __a, __vector signed char __b) {
   9873   return __builtin_s390_vavgb(__a, __b);
   9874 }
   9875 
   9876 static inline __ATTRS_o_ai __vector signed short
   9877 vec_avg(__vector signed short __a, __vector signed short __b) {
   9878   return __builtin_s390_vavgh(__a, __b);
   9879 }
   9880 
   9881 static inline __ATTRS_o_ai __vector signed int
   9882 vec_avg(__vector signed int __a, __vector signed int __b) {
   9883   return __builtin_s390_vavgf(__a, __b);
   9884 }
   9885 
   9886 static inline __ATTRS_o_ai __vector signed long long
   9887 vec_avg(__vector signed long long __a, __vector signed long long __b) {
   9888   return __builtin_s390_vavgg(__a, __b);
   9889 }
   9890 
   9891 #if __ARCH__ >= 15
   9892 static inline __ATTRS_o_ai __vector signed __int128
   9893 vec_avg(__vector signed __int128 __a, __vector signed __int128 __b) {
   9894   return (__vector signed __int128)
   9895          __builtin_s390_vavgq((signed __int128)__a, (signed __int128)__b);
   9896 }
   9897 #endif
   9898 
   9899 static inline __ATTRS_o_ai __vector unsigned char
   9900 vec_avg(__vector unsigned char __a, __vector unsigned char __b) {
   9901   return __builtin_s390_vavglb(__a, __b);
   9902 }
   9903 
   9904 static inline __ATTRS_o_ai __vector unsigned short
   9905 vec_avg(__vector unsigned short __a, __vector unsigned short __b) {
   9906   return __builtin_s390_vavglh(__a, __b);
   9907 }
   9908 
   9909 static inline __ATTRS_o_ai __vector unsigned int
   9910 vec_avg(__vector unsigned int __a, __vector unsigned int __b) {
   9911   return __builtin_s390_vavglf(__a, __b);
   9912 }
   9913 
   9914 static inline __ATTRS_o_ai __vector unsigned long long
   9915 vec_avg(__vector unsigned long long __a, __vector unsigned long long __b) {
   9916   return __builtin_s390_vavglg(__a, __b);
   9917 }
   9918 
   9919 #if __ARCH__ >= 15
   9920 static inline __ATTRS_o_ai __vector unsigned __int128
   9921 vec_avg(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
   9922   return (__vector unsigned __int128)
   9923          __builtin_s390_vavglq((unsigned __int128)__a, (unsigned __int128)__b);
   9924 }
   9925 #endif
   9926 
   9927 /*-- vec_checksum -----------------------------------------------------------*/
   9928 
   9929 static inline __ATTRS_ai __vector unsigned int
   9930 vec_checksum(__vector unsigned int __a, __vector unsigned int __b) {
   9931   return __builtin_s390_vcksm(__a, __b);
   9932 }
   9933 
   9934 /*-- vec_gfmsum -------------------------------------------------------------*/
   9935 
   9936 static inline __ATTRS_o_ai __vector unsigned short
   9937 vec_gfmsum(__vector unsigned char __a, __vector unsigned char __b) {
   9938   return __builtin_s390_vgfmb(__a, __b);
   9939 }
   9940 
   9941 static inline __ATTRS_o_ai __vector unsigned int
   9942 vec_gfmsum(__vector unsigned short __a, __vector unsigned short __b) {
   9943   return __builtin_s390_vgfmh(__a, __b);
   9944 }
   9945 
   9946 static inline __ATTRS_o_ai __vector unsigned long long
   9947 vec_gfmsum(__vector unsigned int __a, __vector unsigned int __b) {
   9948   return __builtin_s390_vgfmf(__a, __b);
   9949 }
   9950 
   9951 static inline __ATTRS_o_ai __vector unsigned __int128
   9952 vec_gfmsum(__vector unsigned long long __a, __vector unsigned long long __b) {
   9953   return (__vector unsigned __int128)__builtin_s390_vgfmg(__a, __b);
   9954 }
   9955 
   9956 /*-- vec_gfmsum_128 ---------------------------------------------------------*/
   9957 
   9958 // This prototype is deprecated.
   9959 static inline __ATTRS_o_ai __vector unsigned char
   9960 vec_gfmsum_128(__vector unsigned long long __a,
   9961                __vector unsigned long long __b) {
   9962   return (__vector unsigned char)(__vector unsigned __int128)
   9963          __builtin_s390_vgfmg(__a, __b);
   9964 }
   9965 
   9966 /*-- vec_gfmsum_accum -------------------------------------------------------*/
   9967 
   9968 static inline __ATTRS_o_ai __vector unsigned short
   9969 vec_gfmsum_accum(__vector unsigned char __a, __vector unsigned char __b,
   9970                  __vector unsigned short __c) {
   9971   return __builtin_s390_vgfmab(__a, __b, __c);
   9972 }
   9973 
   9974 static inline __ATTRS_o_ai __vector unsigned int
   9975 vec_gfmsum_accum(__vector unsigned short __a, __vector unsigned short __b,
   9976                  __vector unsigned int __c) {
   9977   return __builtin_s390_vgfmah(__a, __b, __c);
   9978 }
   9979 
   9980 static inline __ATTRS_o_ai __vector unsigned long long
   9981 vec_gfmsum_accum(__vector unsigned int __a, __vector unsigned int __b,
   9982                  __vector unsigned long long __c) {
   9983   return __builtin_s390_vgfmaf(__a, __b, __c);
   9984 }
   9985 
   9986 static inline __ATTRS_o_ai __vector unsigned __int128
   9987 vec_gfmsum_accum(__vector unsigned long long __a, __vector unsigned long long __b,
   9988                  __vector unsigned __int128 __c) {
   9989   return (__vector unsigned __int128)
   9990          __builtin_s390_vgfmag(__a, __b, (unsigned __int128)__c);
   9991 }
   9992 
   9993 /*-- vec_gfmsum_accum_128 ---------------------------------------------------*/
   9994 
   9995 // This prototype is deprecated.
   9996 static inline __ATTRS_o_ai __vector unsigned char
   9997 vec_gfmsum_accum_128(__vector unsigned long long __a,
   9998                      __vector unsigned long long __b,
   9999                      __vector unsigned char __c) {
  10000   return (__vector unsigned char)(__vector unsigned __int128)
  10001          __builtin_s390_vgfmag(__a, __b, (unsigned __int128)__c);
  10002 }
  10003 
  10004 /*-- vec_mladd --------------------------------------------------------------*/
  10005 
  10006 static inline __ATTRS_o_ai __vector signed char
  10007 vec_mladd(__vector signed char __a, __vector signed char __b,
  10008           __vector signed char __c) {
  10009   return __a * __b + __c;
  10010 }
  10011 
  10012 static inline __ATTRS_o_ai __vector signed char
  10013 vec_mladd(__vector unsigned char __a, __vector signed char __b,
  10014           __vector signed char __c) {
  10015   return (__vector signed char)__a * __b + __c;
  10016 }
  10017 
  10018 static inline __ATTRS_o_ai __vector signed char
  10019 vec_mladd(__vector signed char __a, __vector unsigned char __b,
  10020           __vector unsigned char __c) {
  10021   return __a * (__vector signed char)__b + (__vector signed char)__c;
  10022 }
  10023 
  10024 static inline __ATTRS_o_ai __vector unsigned char
  10025 vec_mladd(__vector unsigned char __a, __vector unsigned char __b,
  10026           __vector unsigned char __c) {
  10027   return __a * __b + __c;
  10028 }
  10029 
  10030 static inline __ATTRS_o_ai __vector signed short
  10031 vec_mladd(__vector signed short __a, __vector signed short __b,
  10032           __vector signed short __c) {
  10033   return __a * __b + __c;
  10034 }
  10035 
  10036 static inline __ATTRS_o_ai __vector signed short
  10037 vec_mladd(__vector unsigned short __a, __vector signed short __b,
  10038           __vector signed short __c) {
  10039   return (__vector signed short)__a * __b + __c;
  10040 }
  10041 
  10042 static inline __ATTRS_o_ai __vector signed short
  10043 vec_mladd(__vector signed short __a, __vector unsigned short __b,
  10044           __vector unsigned short __c) {
  10045   return __a * (__vector signed short)__b + (__vector signed short)__c;
  10046 }
  10047 
  10048 static inline __ATTRS_o_ai __vector unsigned short
  10049 vec_mladd(__vector unsigned short __a, __vector unsigned short __b,
  10050           __vector unsigned short __c) {
  10051   return __a * __b + __c;
  10052 }
  10053 
  10054 static inline __ATTRS_o_ai __vector signed int
  10055 vec_mladd(__vector signed int __a, __vector signed int __b,
  10056           __vector signed int __c) {
  10057   return __a * __b + __c;
  10058 }
  10059 
  10060 static inline __ATTRS_o_ai __vector signed int
  10061 vec_mladd(__vector unsigned int __a, __vector signed int __b,
  10062           __vector signed int __c) {
  10063   return (__vector signed int)__a * __b + __c;
  10064 }
  10065 
  10066 static inline __ATTRS_o_ai __vector signed int
  10067 vec_mladd(__vector signed int __a, __vector unsigned int __b,
  10068           __vector unsigned int __c) {
  10069   return __a * (__vector signed int)__b + (__vector signed int)__c;
  10070 }
  10071 
  10072 static inline __ATTRS_o_ai __vector unsigned int
  10073 vec_mladd(__vector unsigned int __a, __vector unsigned int __b,
  10074           __vector unsigned int __c) {
  10075   return __a * __b + __c;
  10076 }
  10077 
  10078 #if __ARCH__ >= 15
  10079 static inline __ATTRS_o_ai __vector signed long long
  10080 vec_mladd(__vector signed long long __a, __vector signed long long __b,
  10081           __vector signed long long __c) {
  10082   return __a * __b + __c;
  10083 }
  10084 
  10085 static inline __ATTRS_o_ai __vector signed long long
  10086 vec_mladd(__vector unsigned long long __a, __vector signed long long __b,
  10087           __vector signed long long __c) {
  10088   return (__vector signed long long)__a * __b + __c;
  10089 }
  10090 
  10091 static inline __ATTRS_o_ai __vector signed long long
  10092 vec_mladd(__vector signed long long __a, __vector unsigned long long __b,
  10093           __vector unsigned long long __c) {
  10094   return __a * (__vector signed long long)__b + (__vector signed long long)__c;
  10095 }
  10096 
  10097 static inline __ATTRS_o_ai __vector unsigned long long
  10098 vec_mladd(__vector unsigned long long __a, __vector unsigned long long __b,
  10099           __vector unsigned long long __c) {
  10100   return __a * __b + __c;
  10101 }
  10102 
  10103 static inline __ATTRS_o_ai __vector signed __int128
  10104 vec_mladd(__vector signed __int128 __a, __vector signed __int128 __b,
  10105           __vector signed __int128 __c) {
  10106   return __a * __b + __c;
  10107 }
  10108 
  10109 static inline __ATTRS_o_ai __vector signed __int128
  10110 vec_mladd(__vector unsigned __int128 __a, __vector signed __int128 __b,
  10111           __vector signed __int128 __c) {
  10112   return (__vector signed __int128)__a * __b + __c;
  10113 }
  10114 
  10115 static inline __ATTRS_o_ai __vector signed __int128
  10116 vec_mladd(__vector signed __int128 __a, __vector unsigned __int128 __b,
  10117           __vector unsigned __int128 __c) {
  10118   return __a * (__vector signed __int128)__b + (__vector signed __int128)__c;
  10119 }
  10120 
  10121 static inline __ATTRS_o_ai __vector unsigned __int128
  10122 vec_mladd(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
  10123           __vector unsigned __int128 __c) {
  10124   return __a * __b + __c;
  10125 }
  10126 #endif
  10127 
  10128 /*-- vec_mhadd --------------------------------------------------------------*/
  10129 
  10130 static inline __ATTRS_o_ai __vector signed char
  10131 vec_mhadd(__vector signed char __a, __vector signed char __b,
  10132           __vector signed char __c) {
  10133   return __builtin_s390_vmahb(__a, __b, __c);
  10134 }
  10135 
  10136 static inline __ATTRS_o_ai __vector unsigned char
  10137 vec_mhadd(__vector unsigned char __a, __vector unsigned char __b,
  10138           __vector unsigned char __c) {
  10139   return __builtin_s390_vmalhb(__a, __b, __c);
  10140 }
  10141 
  10142 static inline __ATTRS_o_ai __vector signed short
  10143 vec_mhadd(__vector signed short __a, __vector signed short __b,
  10144           __vector signed short __c) {
  10145   return __builtin_s390_vmahh(__a, __b, __c);
  10146 }
  10147 
  10148 static inline __ATTRS_o_ai __vector unsigned short
  10149 vec_mhadd(__vector unsigned short __a, __vector unsigned short __b,
  10150           __vector unsigned short __c) {
  10151   return __builtin_s390_vmalhh(__a, __b, __c);
  10152 }
  10153 
  10154 static inline __ATTRS_o_ai __vector signed int
  10155 vec_mhadd(__vector signed int __a, __vector signed int __b,
  10156           __vector signed int __c) {
  10157   return __builtin_s390_vmahf(__a, __b, __c);
  10158 }
  10159 
  10160 static inline __ATTRS_o_ai __vector unsigned int
  10161 vec_mhadd(__vector unsigned int __a, __vector unsigned int __b,
  10162           __vector unsigned int __c) {
  10163   return __builtin_s390_vmalhf(__a, __b, __c);
  10164 }
  10165 
  10166 #if __ARCH__ >= 15
  10167 static inline __ATTRS_o_ai __vector signed long long
  10168 vec_mhadd(__vector signed long long __a, __vector signed long long __b,
  10169           __vector signed long long __c) {
  10170   return __builtin_s390_vmahg(__a, __b, __c);
  10171 }
  10172 
  10173 static inline __ATTRS_o_ai __vector unsigned long long
  10174 vec_mhadd(__vector unsigned long long __a, __vector unsigned long long __b,
  10175           __vector unsigned long long __c) {
  10176   return __builtin_s390_vmalhg(__a, __b, __c);
  10177 }
  10178 
  10179 static inline __ATTRS_o_ai __vector signed __int128
  10180 vec_mhadd(__vector signed __int128 __a, __vector signed __int128 __b,
  10181           __vector signed __int128 __c) {
  10182   return (__vector signed __int128)
  10183          __builtin_s390_vmahq((signed __int128)__a, (signed __int128)__b, (signed __int128)__c);
  10184 }
  10185 
  10186 static inline __ATTRS_o_ai __vector unsigned __int128
  10187 vec_mhadd(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
  10188           __vector unsigned __int128 __c) {
  10189   return (__vector unsigned __int128)
  10190          __builtin_s390_vmalhq((unsigned __int128)__a, (unsigned __int128)__b, (unsigned __int128)__c);
  10191 }
  10192 #endif
  10193 
  10194 /*-- vec_meadd --------------------------------------------------------------*/
  10195 
  10196 static inline __ATTRS_o_ai __vector signed short
  10197 vec_meadd(__vector signed char __a, __vector signed char __b,
  10198           __vector signed short __c) {
  10199   return __builtin_s390_vmaeb(__a, __b, __c);
  10200 }
  10201 
  10202 static inline __ATTRS_o_ai __vector unsigned short
  10203 vec_meadd(__vector unsigned char __a, __vector unsigned char __b,
  10204           __vector unsigned short __c) {
  10205   return __builtin_s390_vmaleb(__a, __b, __c);
  10206 }
  10207 
  10208 static inline __ATTRS_o_ai __vector signed int
  10209 vec_meadd(__vector signed short __a, __vector signed short __b,
  10210           __vector signed int __c) {
  10211   return __builtin_s390_vmaeh(__a, __b, __c);
  10212 }
  10213 
  10214 static inline __ATTRS_o_ai __vector unsigned int
  10215 vec_meadd(__vector unsigned short __a, __vector unsigned short __b,
  10216           __vector unsigned int __c) {
  10217   return __builtin_s390_vmaleh(__a, __b, __c);
  10218 }
  10219 
  10220 static inline __ATTRS_o_ai __vector signed long long
  10221 vec_meadd(__vector signed int __a, __vector signed int __b,
  10222           __vector signed long long __c) {
  10223   return __builtin_s390_vmaef(__a, __b, __c);
  10224 }
  10225 
  10226 static inline __ATTRS_o_ai __vector unsigned long long
  10227 vec_meadd(__vector unsigned int __a, __vector unsigned int __b,
  10228           __vector unsigned long long __c) {
  10229   return __builtin_s390_vmalef(__a, __b, __c);
  10230 }
  10231 
  10232 #if __ARCH__ >= 15
  10233 static inline __ATTRS_o_ai __vector signed __int128
  10234 vec_meadd(__vector signed long long __a, __vector signed long long __b,
  10235           __vector signed __int128 __c) {
  10236   return (__vector signed __int128)
  10237          __builtin_s390_vmaeg(__a, __b, (signed __int128)__c);
  10238 }
  10239 
  10240 static inline __ATTRS_o_ai __vector unsigned __int128
  10241 vec_meadd(__vector unsigned long long __a, __vector unsigned long long __b,
  10242           __vector unsigned __int128 __c) {
  10243   return (__vector unsigned __int128)
  10244          __builtin_s390_vmaleg(__a, __b, (unsigned __int128)__c);
  10245 }
  10246 #endif
  10247 
  10248 /*-- vec_moadd --------------------------------------------------------------*/
  10249 
  10250 static inline __ATTRS_o_ai __vector signed short
  10251 vec_moadd(__vector signed char __a, __vector signed char __b,
  10252           __vector signed short __c) {
  10253   return __builtin_s390_vmaob(__a, __b, __c);
  10254 }
  10255 
  10256 static inline __ATTRS_o_ai __vector unsigned short
  10257 vec_moadd(__vector unsigned char __a, __vector unsigned char __b,
  10258           __vector unsigned short __c) {
  10259   return __builtin_s390_vmalob(__a, __b, __c);
  10260 }
  10261 
  10262 static inline __ATTRS_o_ai __vector signed int
  10263 vec_moadd(__vector signed short __a, __vector signed short __b,
  10264           __vector signed int __c) {
  10265   return __builtin_s390_vmaoh(__a, __b, __c);
  10266 }
  10267 
  10268 static inline __ATTRS_o_ai __vector unsigned int
  10269 vec_moadd(__vector unsigned short __a, __vector unsigned short __b,
  10270           __vector unsigned int __c) {
  10271   return __builtin_s390_vmaloh(__a, __b, __c);
  10272 }
  10273 
  10274 static inline __ATTRS_o_ai __vector signed long long
  10275 vec_moadd(__vector signed int __a, __vector signed int __b,
  10276           __vector signed long long __c) {
  10277   return __builtin_s390_vmaof(__a, __b, __c);
  10278 }
  10279 
  10280 static inline __ATTRS_o_ai __vector unsigned long long
  10281 vec_moadd(__vector unsigned int __a, __vector unsigned int __b,
  10282           __vector unsigned long long __c) {
  10283   return __builtin_s390_vmalof(__a, __b, __c);
  10284 }
  10285 
  10286 #if __ARCH__ >= 15
  10287 static inline __ATTRS_o_ai __vector signed __int128
  10288 vec_moadd(__vector signed long long __a, __vector signed long long __b,
  10289           __vector signed __int128 __c) {
  10290   return (__vector signed __int128)
  10291          __builtin_s390_vmaog(__a, __b, (signed __int128)__c);
  10292 }
  10293 
  10294 static inline __ATTRS_o_ai __vector unsigned __int128
  10295 vec_moadd(__vector unsigned long long __a, __vector unsigned long long __b,
  10296           __vector unsigned __int128 __c) {
  10297   return (__vector unsigned __int128)
  10298          __builtin_s390_vmalog(__a, __b, (unsigned __int128)__c);
  10299 }
  10300 #endif
  10301 
  10302 /*-- vec_mulh ---------------------------------------------------------------*/
  10303 
  10304 static inline __ATTRS_o_ai __vector signed char
  10305 vec_mulh(__vector signed char __a, __vector signed char __b) {
  10306   return __builtin_s390_vmhb(__a, __b);
  10307 }
  10308 
  10309 static inline __ATTRS_o_ai __vector unsigned char
  10310 vec_mulh(__vector unsigned char __a, __vector unsigned char __b) {
  10311   return __builtin_s390_vmlhb(__a, __b);
  10312 }
  10313 
  10314 static inline __ATTRS_o_ai __vector signed short
  10315 vec_mulh(__vector signed short __a, __vector signed short __b) {
  10316   return __builtin_s390_vmhh(__a, __b);
  10317 }
  10318 
  10319 static inline __ATTRS_o_ai __vector unsigned short
  10320 vec_mulh(__vector unsigned short __a, __vector unsigned short __b) {
  10321   return __builtin_s390_vmlhh(__a, __b);
  10322 }
  10323 
  10324 static inline __ATTRS_o_ai __vector signed int
  10325 vec_mulh(__vector signed int __a, __vector signed int __b) {
  10326   return __builtin_s390_vmhf(__a, __b);
  10327 }
  10328 
  10329 static inline __ATTRS_o_ai __vector unsigned int
  10330 vec_mulh(__vector unsigned int __a, __vector unsigned int __b) {
  10331   return __builtin_s390_vmlhf(__a, __b);
  10332 }
  10333 
  10334 #if __ARCH__ >= 15
  10335 static inline __ATTRS_o_ai __vector signed long long
  10336 vec_mulh(__vector signed long long __a, __vector signed long long __b) {
  10337   return __builtin_s390_vmhg(__a, __b);
  10338 }
  10339 
  10340 static inline __ATTRS_o_ai __vector unsigned long long
  10341 vec_mulh(__vector unsigned long long __a, __vector unsigned long long __b) {
  10342   return __builtin_s390_vmlhg(__a, __b);
  10343 }
  10344 
  10345 static inline __ATTRS_o_ai __vector signed __int128
  10346 vec_mulh(__vector signed __int128 __a, __vector signed __int128 __b) {
  10347   return (__vector signed __int128)
  10348          __builtin_s390_vmhq((signed __int128)__a, (signed __int128)__b);
  10349 }
  10350 
  10351 static inline __ATTRS_o_ai __vector unsigned __int128
  10352 vec_mulh(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
  10353   return (__vector unsigned __int128)
  10354          __builtin_s390_vmlhq((unsigned __int128)__a, (unsigned __int128)__b);
  10355 }
  10356 #endif
  10357 
  10358 /*-- vec_mule ---------------------------------------------------------------*/
  10359 
  10360 static inline __ATTRS_o_ai __vector signed short
  10361 vec_mule(__vector signed char __a, __vector signed char __b) {
  10362   return __builtin_s390_vmeb(__a, __b);
  10363 }
  10364 
  10365 static inline __ATTRS_o_ai __vector unsigned short
  10366 vec_mule(__vector unsigned char __a, __vector unsigned char __b) {
  10367   return __builtin_s390_vmleb(__a, __b);
  10368 }
  10369 
  10370 static inline __ATTRS_o_ai __vector signed int
  10371 vec_mule(__vector signed short __a, __vector signed short __b) {
  10372   return __builtin_s390_vmeh(__a, __b);
  10373 }
  10374 
  10375 static inline __ATTRS_o_ai __vector unsigned int
  10376 vec_mule(__vector unsigned short __a, __vector unsigned short __b) {
  10377   return __builtin_s390_vmleh(__a, __b);
  10378 }
  10379 
  10380 static inline __ATTRS_o_ai __vector signed long long
  10381 vec_mule(__vector signed int __a, __vector signed int __b) {
  10382   return __builtin_s390_vmef(__a, __b);
  10383 }
  10384 
  10385 static inline __ATTRS_o_ai __vector unsigned long long
  10386 vec_mule(__vector unsigned int __a, __vector unsigned int __b) {
  10387   return __builtin_s390_vmlef(__a, __b);
  10388 }
  10389 
  10390 #if __ARCH__ >= 15
  10391 static inline __ATTRS_o_ai __vector signed __int128
  10392 vec_mule(__vector signed long long __a, __vector signed long long __b) {
  10393   return (__vector signed __int128)__builtin_s390_vmeg(__a, __b);
  10394 }
  10395 
  10396 static inline __ATTRS_o_ai __vector unsigned __int128
  10397 vec_mule(__vector unsigned long long __a, __vector unsigned long long __b) {
  10398   return (__vector unsigned __int128)__builtin_s390_vmleg(__a, __b);
  10399 }
  10400 #endif
  10401 
  10402 /*-- vec_mulo ---------------------------------------------------------------*/
  10403 
  10404 static inline __ATTRS_o_ai __vector signed short
  10405 vec_mulo(__vector signed char __a, __vector signed char __b) {
  10406   return __builtin_s390_vmob(__a, __b);
  10407 }
  10408 
  10409 static inline __ATTRS_o_ai __vector unsigned short
  10410 vec_mulo(__vector unsigned char __a, __vector unsigned char __b) {
  10411   return __builtin_s390_vmlob(__a, __b);
  10412 }
  10413 
  10414 static inline __ATTRS_o_ai __vector signed int
  10415 vec_mulo(__vector signed short __a, __vector signed short __b) {
  10416   return __builtin_s390_vmoh(__a, __b);
  10417 }
  10418 
  10419 static inline __ATTRS_o_ai __vector unsigned int
  10420 vec_mulo(__vector unsigned short __a, __vector unsigned short __b) {
  10421   return __builtin_s390_vmloh(__a, __b);
  10422 }
  10423 
  10424 static inline __ATTRS_o_ai __vector signed long long
  10425 vec_mulo(__vector signed int __a, __vector signed int __b) {
  10426   return __builtin_s390_vmof(__a, __b);
  10427 }
  10428 
  10429 static inline __ATTRS_o_ai __vector unsigned long long
  10430 vec_mulo(__vector unsigned int __a, __vector unsigned int __b) {
  10431   return __builtin_s390_vmlof(__a, __b);
  10432 }
  10433 
  10434 #if __ARCH__ >= 15
  10435 static inline __ATTRS_o_ai __vector signed __int128
  10436 vec_mulo(__vector signed long long __a, __vector signed long long __b) {
  10437   return (__vector signed __int128)__builtin_s390_vmog(__a, __b);
  10438 }
  10439 
  10440 static inline __ATTRS_o_ai __vector unsigned __int128
  10441 vec_mulo(__vector unsigned long long __a, __vector unsigned long long __b) {
  10442   return (__vector unsigned __int128)__builtin_s390_vmlog(__a, __b);
  10443 }
  10444 #endif
  10445 
  10446 /*-- vec_msum ---------------------------------------------------------------*/
  10447 
  10448 #if __ARCH__ >= 12
  10449 extern __ATTRS_o __vector unsigned __int128
  10450 vec_msum(__vector unsigned long long __a, __vector unsigned long long __b,
  10451          __vector unsigned __int128 __c, int __d)
  10452   __constant_range(__d, 0, 15);
  10453 
  10454 #define vec_msum(X, Y, Z, W) \
  10455   ((__typeof__((vec_msum)((X), (Y), (Z), (W)))) \
  10456    __builtin_s390_vmslg((X), (Y), (unsigned __int128)(Z), (W)))
  10457 #endif
  10458 
  10459 /*-- vec_msum_u128 ----------------------------------------------------------*/
  10460 
  10461 #if __ARCH__ >= 12
  10462 // This prototype is deprecated.
  10463 extern __ATTRS_o __vector unsigned char
  10464 vec_msum_u128(__vector unsigned long long __a, __vector unsigned long long __b,
  10465               __vector unsigned char __c, int __d)
  10466   __constant_range(__d, 0, 15);
  10467 
  10468 #define vec_msum_u128(X, Y, Z, W) \
  10469   ((__typeof__((vec_msum_u128)((X), (Y), (Z), (W)))) \
  10470    (__vector unsigned __int128) \
  10471    __builtin_s390_vmslg((X), (Y), (unsigned __int128)(Z), (W)))
  10472 #endif
  10473 
  10474 /*-- vec_sub_u128 -----------------------------------------------------------*/
  10475 
  10476 // This prototype is deprecated.
  10477 static inline __ATTRS_ai __vector unsigned char
  10478 vec_sub_u128(__vector unsigned char __a, __vector unsigned char __b) {
  10479   return (__vector unsigned char)(__vector unsigned __int128)
  10480          ((__int128)__a - (__int128)__b);
  10481 }
  10482 
  10483 /*-- vec_subc ---------------------------------------------------------------*/
  10484 
  10485 static inline __ATTRS_o_ai __vector unsigned char
  10486 vec_subc(__vector unsigned char __a, __vector unsigned char __b) {
  10487   return __builtin_s390_vscbib(__a, __b);
  10488 }
  10489 
  10490 static inline __ATTRS_o_ai __vector unsigned short
  10491 vec_subc(__vector unsigned short __a, __vector unsigned short __b) {
  10492   return __builtin_s390_vscbih(__a, __b);
  10493 }
  10494 
  10495 static inline __ATTRS_o_ai __vector unsigned int
  10496 vec_subc(__vector unsigned int __a, __vector unsigned int __b) {
  10497   return __builtin_s390_vscbif(__a, __b);
  10498 }
  10499 
  10500 static inline __ATTRS_o_ai __vector unsigned long long
  10501 vec_subc(__vector unsigned long long __a, __vector unsigned long long __b) {
  10502   return __builtin_s390_vscbig(__a, __b);
  10503 }
  10504 
  10505 static inline __ATTRS_o_ai __vector unsigned __int128
  10506 vec_subc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
  10507   return (__vector unsigned __int128)
  10508          __builtin_s390_vscbiq((unsigned __int128)__a, (unsigned __int128)__b);
  10509 }
  10510 
  10511 /*-- vec_subc_u128 ----------------------------------------------------------*/
  10512 
  10513 // This prototype is deprecated.
  10514 static inline __ATTRS_ai __vector unsigned char
  10515 vec_subc_u128(__vector unsigned char __a, __vector unsigned char __b) {
  10516   return (__vector unsigned char)(__vector unsigned __int128)
  10517          __builtin_s390_vscbiq((unsigned __int128)__a, (unsigned __int128)__b);
  10518 }
  10519 
  10520 /*-- vec_sube ---------------------------------------------------------------*/
  10521 
  10522 static inline __ATTRS_ai __vector unsigned __int128
  10523 vec_sube(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
  10524          __vector unsigned __int128 __c) {
  10525   return (__vector unsigned __int128)
  10526          __builtin_s390_vsbiq((unsigned __int128)__a, (unsigned __int128)__b,
  10527                               (unsigned __int128)__c);
  10528 }
  10529 
  10530 /*-- vec_sube_u128 ----------------------------------------------------------*/
  10531 
  10532 // This prototype is deprecated.
  10533 static inline __ATTRS_ai __vector unsigned char
  10534 vec_sube_u128(__vector unsigned char __a, __vector unsigned char __b,
  10535               __vector unsigned char __c) {
  10536   return (__vector unsigned char)(__vector unsigned __int128)
  10537          __builtin_s390_vsbiq((unsigned __int128)__a, (unsigned __int128)__b,
  10538                               (unsigned __int128)__c);
  10539 }
  10540 
  10541 /*-- vec_subec --------------------------------------------------------------*/
  10542 
  10543 static inline __ATTRS_ai __vector unsigned __int128
  10544 vec_subec(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
  10545           __vector unsigned __int128 __c) {
  10546   return (__vector unsigned __int128)
  10547          __builtin_s390_vsbcbiq((unsigned __int128)__a, (unsigned __int128)__b,
  10548                                 (unsigned __int128)__c);
  10549 }
  10550 
  10551 /*-- vec_subec_u128 ---------------------------------------------------------*/
  10552 
  10553 // This prototype is deprecated.
  10554 static inline __ATTRS_ai __vector unsigned char
  10555 vec_subec_u128(__vector unsigned char __a, __vector unsigned char __b,
  10556                __vector unsigned char __c) {
  10557   return (__vector unsigned char)(__vector unsigned __int128)
  10558          __builtin_s390_vsbcbiq((unsigned __int128)__a, (unsigned __int128)__b,
  10559                                 (unsigned __int128)__c);
  10560 }
  10561 
  10562 /*-- vec_sum2 ---------------------------------------------------------------*/
  10563 
  10564 static inline __ATTRS_o_ai __vector unsigned long long
  10565 vec_sum2(__vector unsigned short __a, __vector unsigned short __b) {
  10566   return __builtin_s390_vsumgh(__a, __b);
  10567 }
  10568 
  10569 static inline __ATTRS_o_ai __vector unsigned long long
  10570 vec_sum2(__vector unsigned int __a, __vector unsigned int __b) {
  10571   return __builtin_s390_vsumgf(__a, __b);
  10572 }
  10573 
  10574 /*-- vec_sum ----------------------------------------------------------------*/
  10575 
  10576 static inline __ATTRS_o_ai __vector unsigned __int128
  10577 vec_sum(__vector unsigned int __a, __vector unsigned int __b) {
  10578   return (__vector unsigned __int128)__builtin_s390_vsumqf(__a, __b);
  10579 }
  10580 
  10581 static inline __ATTRS_o_ai __vector unsigned __int128
  10582 vec_sum(__vector unsigned long long __a, __vector unsigned long long __b) {
  10583   return (__vector unsigned __int128)__builtin_s390_vsumqg(__a, __b);
  10584 }
  10585 
  10586 /*-- vec_sum_u128 -----------------------------------------------------------*/
  10587 
  10588 // This prototype is deprecated.
  10589 static inline __ATTRS_o_ai __vector unsigned char
  10590 vec_sum_u128(__vector unsigned int __a, __vector unsigned int __b) {
  10591   return (__vector unsigned char)(__vector unsigned __int128)
  10592          __builtin_s390_vsumqf(__a, __b);
  10593 }
  10594 
  10595 // This prototype is deprecated.
  10596 static inline __ATTRS_o_ai __vector unsigned char
  10597 vec_sum_u128(__vector unsigned long long __a, __vector unsigned long long __b) {
  10598   return (__vector unsigned char)(__vector unsigned __int128)
  10599          __builtin_s390_vsumqg(__a, __b);
  10600 }
  10601 
  10602 /*-- vec_sum4 ---------------------------------------------------------------*/
  10603 
  10604 static inline __ATTRS_o_ai __vector unsigned int
  10605 vec_sum4(__vector unsigned char __a, __vector unsigned char __b) {
  10606   return __builtin_s390_vsumb(__a, __b);
  10607 }
  10608 
  10609 static inline __ATTRS_o_ai __vector unsigned int
  10610 vec_sum4(__vector unsigned short __a, __vector unsigned short __b) {
  10611   return __builtin_s390_vsumh(__a, __b);
  10612 }
  10613 
  10614 /*-- vec_test_mask ----------------------------------------------------------*/
  10615 
  10616 static inline __ATTRS_o_ai int
  10617 vec_test_mask(__vector signed char __a, __vector unsigned char __b) {
  10618   return __builtin_s390_vtm((__vector unsigned char)__a,
  10619                             (__vector unsigned char)__b);
  10620 }
  10621 
  10622 static inline __ATTRS_o_ai int
  10623 vec_test_mask(__vector unsigned char __a, __vector unsigned char __b) {
  10624   return __builtin_s390_vtm(__a, __b);
  10625 }
  10626 
  10627 static inline __ATTRS_o_ai int
  10628 vec_test_mask(__vector signed short __a, __vector unsigned short __b) {
  10629   return __builtin_s390_vtm((__vector unsigned char)__a,
  10630                             (__vector unsigned char)__b);
  10631 }
  10632 
  10633 static inline __ATTRS_o_ai int
  10634 vec_test_mask(__vector unsigned short __a, __vector unsigned short __b) {
  10635   return __builtin_s390_vtm((__vector unsigned char)__a,
  10636                             (__vector unsigned char)__b);
  10637 }
  10638 
  10639 static inline __ATTRS_o_ai int
  10640 vec_test_mask(__vector signed int __a, __vector unsigned int __b) {
  10641   return __builtin_s390_vtm((__vector unsigned char)__a,
  10642                             (__vector unsigned char)__b);
  10643 }
  10644 
  10645 static inline __ATTRS_o_ai int
  10646 vec_test_mask(__vector unsigned int __a, __vector unsigned int __b) {
  10647   return __builtin_s390_vtm((__vector unsigned char)__a,
  10648                             (__vector unsigned char)__b);
  10649 }
  10650 
  10651 static inline __ATTRS_o_ai int
  10652 vec_test_mask(__vector signed long long __a, __vector unsigned long long __b) {
  10653   return __builtin_s390_vtm((__vector unsigned char)__a,
  10654                             (__vector unsigned char)__b);
  10655 }
  10656 
  10657 static inline __ATTRS_o_ai int
  10658 vec_test_mask(__vector unsigned long long __a,
  10659               __vector unsigned long long __b) {
  10660   return __builtin_s390_vtm((__vector unsigned char)__a,
  10661                             (__vector unsigned char)__b);
  10662 }
  10663 
  10664 static inline __ATTRS_o_ai int
  10665 vec_test_mask(__vector signed __int128 __a, __vector unsigned __int128 __b) {
  10666   return __builtin_s390_vtm((__vector unsigned char)__a,
  10667                             (__vector unsigned char)__b);
  10668 }
  10669 
  10670 static inline __ATTRS_o_ai int
  10671 vec_test_mask(__vector unsigned __int128 __a,
  10672               __vector unsigned __int128 __b) {
  10673   return __builtin_s390_vtm((__vector unsigned char)__a,
  10674                             (__vector unsigned char)__b);
  10675 }
  10676 
  10677 #if __ARCH__ >= 12
  10678 static inline __ATTRS_o_ai int
  10679 vec_test_mask(__vector float __a, __vector unsigned int __b) {
  10680   return __builtin_s390_vtm((__vector unsigned char)__a,
  10681                             (__vector unsigned char)__b);
  10682 }
  10683 #endif
  10684 
  10685 static inline __ATTRS_o_ai int
  10686 vec_test_mask(__vector double __a, __vector unsigned long long __b) {
  10687   return __builtin_s390_vtm((__vector unsigned char)__a,
  10688                             (__vector unsigned char)__b);
  10689 }
  10690 
  10691 /*-- vec_madd ---------------------------------------------------------------*/
  10692 
  10693 #if __ARCH__ >= 12
  10694 static inline __ATTRS_o_ai __vector float
  10695 vec_madd(__vector float __a, __vector float __b, __vector float __c) {
  10696   return __builtin_s390_vfmasb(__a, __b, __c);
  10697 }
  10698 #endif
  10699 
  10700 static inline __ATTRS_o_ai __vector double
  10701 vec_madd(__vector double __a, __vector double __b, __vector double __c) {
  10702   return __builtin_s390_vfmadb(__a, __b, __c);
  10703 }
  10704 
  10705 /*-- vec_msub ---------------------------------------------------------------*/
  10706 
  10707 #if __ARCH__ >= 12
  10708 static inline __ATTRS_o_ai __vector float
  10709 vec_msub(__vector float __a, __vector float __b, __vector float __c) {
  10710   return __builtin_s390_vfmssb(__a, __b, __c);
  10711 }
  10712 #endif
  10713 
  10714 static inline __ATTRS_o_ai __vector double
  10715 vec_msub(__vector double __a, __vector double __b, __vector double __c) {
  10716   return __builtin_s390_vfmsdb(__a, __b, __c);
  10717 }
  10718 
  10719 /*-- vec_nmadd ---------------------------------------------------------------*/
  10720 
  10721 #if __ARCH__ >= 12
  10722 static inline __ATTRS_o_ai __vector float
  10723 vec_nmadd(__vector float __a, __vector float __b, __vector float __c) {
  10724   return __builtin_s390_vfnmasb(__a, __b, __c);
  10725 }
  10726 
  10727 static inline __ATTRS_o_ai __vector double
  10728 vec_nmadd(__vector double __a, __vector double __b, __vector double __c) {
  10729   return __builtin_s390_vfnmadb(__a, __b, __c);
  10730 }
  10731 #endif
  10732 
  10733 /*-- vec_nmsub ---------------------------------------------------------------*/
  10734 
  10735 #if __ARCH__ >= 12
  10736 static inline __ATTRS_o_ai __vector float
  10737 vec_nmsub(__vector float __a, __vector float __b, __vector float __c) {
  10738   return __builtin_s390_vfnmssb(__a, __b, __c);
  10739 }
  10740 
  10741 static inline __ATTRS_o_ai __vector double
  10742 vec_nmsub(__vector double __a, __vector double __b, __vector double __c) {
  10743   return __builtin_s390_vfnmsdb(__a, __b, __c);
  10744 }
  10745 #endif
  10746 
  10747 /*-- vec_sqrt ---------------------------------------------------------------*/
  10748 
  10749 #if __ARCH__ >= 12
  10750 static inline __ATTRS_o_ai __vector float
  10751 vec_sqrt(__vector float __a) {
  10752   return __builtin_s390_vfsqsb(__a);
  10753 }
  10754 #endif
  10755 
  10756 static inline __ATTRS_o_ai __vector double
  10757 vec_sqrt(__vector double __a) {
  10758   return __builtin_s390_vfsqdb(__a);
  10759 }
  10760 
  10761 /*-- vec_ld2f ---------------------------------------------------------------*/
  10762 
  10763 // This prototype is deprecated.
  10764 static inline __ATTRS_ai __vector double
  10765 vec_ld2f(const float *__ptr) {
  10766   typedef float __v2f32 __attribute__((__vector_size__(8)));
  10767   return __builtin_convertvector(*(const __v2f32 *)__ptr, __vector double);
  10768 }
  10769 
  10770 /*-- vec_st2f ---------------------------------------------------------------*/
  10771 
  10772 // This prototype is deprecated.
  10773 static inline __ATTRS_ai void
  10774 vec_st2f(__vector double __a, float *__ptr) {
  10775   typedef float __v2f32 __attribute__((__vector_size__(8)));
  10776   *(__v2f32 *)__ptr = __builtin_convertvector(__a, __v2f32);
  10777 }
  10778 
  10779 /*-- vec_ctd ----------------------------------------------------------------*/
  10780 
  10781 // This prototype is deprecated.
  10782 static inline __ATTRS_o_ai __vector double
  10783 vec_ctd(__vector signed long long __a, int __b)
  10784   __constant_range(__b, 0, 31) {
  10785   __vector double __conv = __builtin_convertvector(__a, __vector double);
  10786   __conv *= ((__vector double)(__vector unsigned long long)
  10787              ((0x3ffULL - __b) << 52));
  10788   return __conv;
  10789 }
  10790 
  10791 // This prototype is deprecated.
  10792 static inline __ATTRS_o_ai __vector double
  10793 vec_ctd(__vector unsigned long long __a, int __b)
  10794   __constant_range(__b, 0, 31) {
  10795   __vector double __conv = __builtin_convertvector(__a, __vector double);
  10796   __conv *= ((__vector double)(__vector unsigned long long)
  10797              ((0x3ffULL - __b) << 52));
  10798   return __conv;
  10799 }
  10800 
  10801 /*-- vec_ctsl ---------------------------------------------------------------*/
  10802 
  10803 // This prototype is deprecated.
  10804 static inline __ATTRS_o_ai __vector signed long long
  10805 vec_ctsl(__vector double __a, int __b)
  10806   __constant_range(__b, 0, 31) {
  10807   __a *= ((__vector double)(__vector unsigned long long)
  10808           ((0x3ffULL + __b) << 52));
  10809   return __builtin_convertvector(__a, __vector signed long long);
  10810 }
  10811 
  10812 /*-- vec_ctul ---------------------------------------------------------------*/
  10813 
  10814 // This prototype is deprecated.
  10815 static inline __ATTRS_o_ai __vector unsigned long long
  10816 vec_ctul(__vector double __a, int __b)
  10817   __constant_range(__b, 0, 31) {
  10818   __a *= ((__vector double)(__vector unsigned long long)
  10819           ((0x3ffULL + __b) << 52));
  10820   return __builtin_convertvector(__a, __vector unsigned long long);
  10821 }
  10822 
  10823 /*-- vec_doublee ------------------------------------------------------------*/
  10824 
  10825 #if __ARCH__ >= 12
  10826 static inline __ATTRS_ai __vector double
  10827 vec_doublee(__vector float __a) {
  10828   typedef float __v2f32 __attribute__((__vector_size__(8)));
  10829   __v2f32 __pack = __builtin_shufflevector(__a, __a, 0, 2);
  10830   return __builtin_convertvector(__pack, __vector double);
  10831 }
  10832 #endif
  10833 
  10834 /*-- vec_floate -------------------------------------------------------------*/
  10835 
  10836 #if __ARCH__ >= 12
  10837 static inline __ATTRS_ai __vector float
  10838 vec_floate(__vector double __a) {
  10839   typedef float __v2f32 __attribute__((__vector_size__(8)));
  10840   __v2f32 __pack = __builtin_convertvector(__a, __v2f32);
  10841   return __builtin_shufflevector(__pack, __pack, 0, -1, 1, -1);
  10842 }
  10843 #endif
  10844 
  10845 /*-- vec_double -------------------------------------------------------------*/
  10846 
  10847 static inline __ATTRS_o_ai __vector double
  10848 vec_double(__vector signed long long __a) {
  10849   return __builtin_convertvector(__a, __vector double);
  10850 }
  10851 
  10852 static inline __ATTRS_o_ai __vector double
  10853 vec_double(__vector unsigned long long __a) {
  10854   return __builtin_convertvector(__a, __vector double);
  10855 }
  10856 
  10857 /*-- vec_float --------------------------------------------------------------*/
  10858 
  10859 #if __ARCH__ >= 13
  10860 
  10861 static inline __ATTRS_o_ai __vector float
  10862 vec_float(__vector signed int __a) {
  10863   return __builtin_convertvector(__a, __vector float);
  10864 }
  10865 
  10866 static inline __ATTRS_o_ai __vector float
  10867 vec_float(__vector unsigned int __a) {
  10868   return __builtin_convertvector(__a, __vector float);
  10869 }
  10870 
  10871 #endif
  10872 
  10873 /*-- vec_signed -------------------------------------------------------------*/
  10874 
  10875 static inline __ATTRS_o_ai __vector signed long long
  10876 vec_signed(__vector double __a) {
  10877   return __builtin_convertvector(__a, __vector signed long long);
  10878 }
  10879 
  10880 #if __ARCH__ >= 13
  10881 static inline __ATTRS_o_ai __vector signed int
  10882 vec_signed(__vector float __a) {
  10883   return __builtin_convertvector(__a, __vector signed int);
  10884 }
  10885 #endif
  10886 
  10887 /*-- vec_unsigned -----------------------------------------------------------*/
  10888 
  10889 static inline __ATTRS_o_ai __vector unsigned long long
  10890 vec_unsigned(__vector double __a) {
  10891   return __builtin_convertvector(__a, __vector unsigned long long);
  10892 }
  10893 
  10894 #if __ARCH__ >= 13
  10895 static inline __ATTRS_o_ai __vector unsigned int
  10896 vec_unsigned(__vector float __a) {
  10897   return __builtin_convertvector(__a, __vector unsigned int);
  10898 }
  10899 #endif
  10900 
  10901 /*-- vec_roundp -------------------------------------------------------------*/
  10902 
  10903 #if __ARCH__ >= 12
  10904 static inline __ATTRS_o_ai __vector float
  10905 vec_roundp(__vector float __a) {
  10906   return __builtin_s390_vfisb(__a, 4, 6);
  10907 }
  10908 #endif
  10909 
  10910 static inline __ATTRS_o_ai __vector double
  10911 vec_roundp(__vector double __a) {
  10912   return __builtin_s390_vfidb(__a, 4, 6);
  10913 }
  10914 
  10915 /*-- vec_ceil ---------------------------------------------------------------*/
  10916 
  10917 #if __ARCH__ >= 12
  10918 static inline __ATTRS_o_ai __vector float
  10919 vec_ceil(__vector float __a) {
  10920   // On this platform, vec_ceil never triggers the IEEE-inexact exception.
  10921   return __builtin_s390_vfisb(__a, 4, 6);
  10922 }
  10923 #endif
  10924 
  10925 static inline __ATTRS_o_ai __vector double
  10926 vec_ceil(__vector double __a) {
  10927   // On this platform, vec_ceil never triggers the IEEE-inexact exception.
  10928   return __builtin_s390_vfidb(__a, 4, 6);
  10929 }
  10930 
  10931 /*-- vec_roundm -------------------------------------------------------------*/
  10932 
  10933 #if __ARCH__ >= 12
  10934 static inline __ATTRS_o_ai __vector float
  10935 vec_roundm(__vector float __a) {
  10936   return __builtin_s390_vfisb(__a, 4, 7);
  10937 }
  10938 #endif
  10939 
  10940 static inline __ATTRS_o_ai __vector double
  10941 vec_roundm(__vector double __a) {
  10942   return __builtin_s390_vfidb(__a, 4, 7);
  10943 }
  10944 
  10945 /*-- vec_floor --------------------------------------------------------------*/
  10946 
  10947 #if __ARCH__ >= 12
  10948 static inline __ATTRS_o_ai __vector float
  10949 vec_floor(__vector float __a) {
  10950   // On this platform, vec_floor never triggers the IEEE-inexact exception.
  10951   return __builtin_s390_vfisb(__a, 4, 7);
  10952 }
  10953 #endif
  10954 
  10955 static inline __ATTRS_o_ai __vector double
  10956 vec_floor(__vector double __a) {
  10957   // On this platform, vec_floor never triggers the IEEE-inexact exception.
  10958   return __builtin_s390_vfidb(__a, 4, 7);
  10959 }
  10960 
  10961 /*-- vec_roundz -------------------------------------------------------------*/
  10962 
  10963 #if __ARCH__ >= 12
  10964 static inline __ATTRS_o_ai __vector float
  10965 vec_roundz(__vector float __a) {
  10966   return __builtin_s390_vfisb(__a, 4, 5);
  10967 }
  10968 #endif
  10969 
  10970 static inline __ATTRS_o_ai __vector double
  10971 vec_roundz(__vector double __a) {
  10972   return __builtin_s390_vfidb(__a, 4, 5);
  10973 }
  10974 
  10975 /*-- vec_trunc --------------------------------------------------------------*/
  10976 
  10977 #if __ARCH__ >= 12
  10978 static inline __ATTRS_o_ai __vector float
  10979 vec_trunc(__vector float __a) {
  10980   // On this platform, vec_trunc never triggers the IEEE-inexact exception.
  10981   return __builtin_s390_vfisb(__a, 4, 5);
  10982 }
  10983 #endif
  10984 
  10985 static inline __ATTRS_o_ai __vector double
  10986 vec_trunc(__vector double __a) {
  10987   // On this platform, vec_trunc never triggers the IEEE-inexact exception.
  10988   return __builtin_s390_vfidb(__a, 4, 5);
  10989 }
  10990 
  10991 /*-- vec_roundc -------------------------------------------------------------*/
  10992 
  10993 #if __ARCH__ >= 12
  10994 static inline __ATTRS_o_ai __vector float
  10995 vec_roundc(__vector float __a) {
  10996   return __builtin_s390_vfisb(__a, 4, 0);
  10997 }
  10998 #endif
  10999 
  11000 static inline __ATTRS_o_ai __vector double
  11001 vec_roundc(__vector double __a) {
  11002   return __builtin_s390_vfidb(__a, 4, 0);
  11003 }
  11004 
  11005 /*-- vec_rint ---------------------------------------------------------------*/
  11006 
  11007 #if __ARCH__ >= 12
  11008 static inline __ATTRS_o_ai __vector float
  11009 vec_rint(__vector float __a) {
  11010   // vec_rint may trigger the IEEE-inexact exception.
  11011   return __builtin_s390_vfisb(__a, 0, 0);
  11012 }
  11013 #endif
  11014 
  11015 static inline __ATTRS_o_ai __vector double
  11016 vec_rint(__vector double __a) {
  11017   // vec_rint may trigger the IEEE-inexact exception.
  11018   return __builtin_s390_vfidb(__a, 0, 0);
  11019 }
  11020 
  11021 /*-- vec_round --------------------------------------------------------------*/
  11022 
  11023 #if __ARCH__ >= 12
  11024 static inline __ATTRS_o_ai __vector float
  11025 vec_round(__vector float __a) {
  11026   return __builtin_s390_vfisb(__a, 4, 4);
  11027 }
  11028 #endif
  11029 
  11030 static inline __ATTRS_o_ai __vector double
  11031 vec_round(__vector double __a) {
  11032   return __builtin_s390_vfidb(__a, 4, 4);
  11033 }
  11034 
  11035 /*-- vec_fp_test_data_class -------------------------------------------------*/
  11036 
  11037 #if __ARCH__ >= 12
  11038 extern __ATTRS_o __vector __bool int
  11039 vec_fp_test_data_class(__vector float __a, int __b, int *__c)
  11040   __constant_range(__b, 0, 4095);
  11041 
  11042 extern __ATTRS_o __vector __bool long long
  11043 vec_fp_test_data_class(__vector double __a, int __b, int *__c)
  11044   __constant_range(__b, 0, 4095);
  11045 
  11046 #define vec_fp_test_data_class(X, Y, Z) \
  11047   ((__typeof__((vec_fp_test_data_class)((X), (Y), (Z)))) \
  11048    __extension__ ({ \
  11049      __vector unsigned char __res; \
  11050      __vector unsigned char __x = (__vector unsigned char)(X); \
  11051      int *__z = (Z); \
  11052      switch (sizeof ((X)[0])) { \
  11053      case 4:  __res = (__vector unsigned char) \
  11054                       __builtin_s390_vftcisb((__vector float)__x, (Y), __z); \
  11055               break; \
  11056      default: __res = (__vector unsigned char) \
  11057                       __builtin_s390_vftcidb((__vector double)__x, (Y), __z); \
  11058               break; \
  11059      } __res; }))
  11060 #else
  11061 #define vec_fp_test_data_class(X, Y, Z) \
  11062   ((__vector __bool long long)__builtin_s390_vftcidb((X), (Y), (Z)))
  11063 #endif
  11064 
  11065 #define __VEC_CLASS_FP_ZERO_P (1 << 11)
  11066 #define __VEC_CLASS_FP_ZERO_N (1 << 10)
  11067 #define __VEC_CLASS_FP_ZERO (__VEC_CLASS_FP_ZERO_P | __VEC_CLASS_FP_ZERO_N)
  11068 #define __VEC_CLASS_FP_NORMAL_P (1 << 9)
  11069 #define __VEC_CLASS_FP_NORMAL_N (1 << 8)
  11070 #define __VEC_CLASS_FP_NORMAL (__VEC_CLASS_FP_NORMAL_P | \
  11071                                __VEC_CLASS_FP_NORMAL_N)
  11072 #define __VEC_CLASS_FP_SUBNORMAL_P (1 << 7)
  11073 #define __VEC_CLASS_FP_SUBNORMAL_N (1 << 6)
  11074 #define __VEC_CLASS_FP_SUBNORMAL (__VEC_CLASS_FP_SUBNORMAL_P | \
  11075                                   __VEC_CLASS_FP_SUBNORMAL_N)
  11076 #define __VEC_CLASS_FP_INFINITY_P (1 << 5)
  11077 #define __VEC_CLASS_FP_INFINITY_N (1 << 4)
  11078 #define __VEC_CLASS_FP_INFINITY (__VEC_CLASS_FP_INFINITY_P | \
  11079                                  __VEC_CLASS_FP_INFINITY_N)
  11080 #define __VEC_CLASS_FP_QNAN_P (1 << 3)
  11081 #define __VEC_CLASS_FP_QNAN_N (1 << 2)
  11082 #define __VEC_CLASS_FP_QNAN (__VEC_CLASS_FP_QNAN_P | __VEC_CLASS_FP_QNAN_N)
  11083 #define __VEC_CLASS_FP_SNAN_P (1 << 1)
  11084 #define __VEC_CLASS_FP_SNAN_N (1 << 0)
  11085 #define __VEC_CLASS_FP_SNAN (__VEC_CLASS_FP_SNAN_P | __VEC_CLASS_FP_SNAN_N)
  11086 #define __VEC_CLASS_FP_NAN (__VEC_CLASS_FP_QNAN | __VEC_CLASS_FP_SNAN)
  11087 #define __VEC_CLASS_FP_NOT_NORMAL (__VEC_CLASS_FP_NAN | \
  11088                                    __VEC_CLASS_FP_SUBNORMAL | \
  11089                                    __VEC_CLASS_FP_ZERO | \
  11090                                    __VEC_CLASS_FP_INFINITY)
  11091 
  11092 /*-- vec_extend_to_fp32_hi --------------------------------------------------*/
  11093 
  11094 #if __ARCH__ >= 14
  11095 #define vec_extend_to_fp32_hi(X, W) \
  11096   ((__vector float)__builtin_s390_vclfnhs((X), (W)));
  11097 #endif
  11098 
  11099 /*-- vec_extend_to_fp32_hi --------------------------------------------------*/
  11100 
  11101 #if __ARCH__ >= 14
  11102 #define vec_extend_to_fp32_lo(X, W) \
  11103   ((__vector float)__builtin_s390_vclfnls((X), (W)));
  11104 #endif
  11105 
  11106 /*-- vec_round_from_fp32 ----------------------------------------------------*/
  11107 
  11108 #if __ARCH__ >= 14
  11109 #define vec_round_from_fp32(X, Y, W) \
  11110   ((__vector unsigned short)__builtin_s390_vcrnfs((X), (Y), (W)));
  11111 #endif
  11112 
  11113 /*-- vec_convert_to_fp16 ----------------------------------------------------*/
  11114 
  11115 #if __ARCH__ >= 14
  11116 #define vec_convert_to_fp16(X, W) \
  11117   ((__vector unsigned short)__builtin_s390_vcfn((X), (W)));
  11118 #endif
  11119 
  11120 /*-- vec_convert_from_fp16 --------------------------------------------------*/
  11121 
  11122 #if __ARCH__ >= 14
  11123 #define vec_convert_from_fp16(X, W) \
  11124   ((__vector unsigned short)__builtin_s390_vcnf((X), (W)));
  11125 #endif
  11126 
  11127 /*-- vec_cp_until_zero ------------------------------------------------------*/
  11128 
  11129 static inline __ATTRS_o_ai __vector signed char
  11130 vec_cp_until_zero(__vector signed char __a) {
  11131   return ((__vector signed char)
  11132           __builtin_s390_vistrb((__vector unsigned char)__a));
  11133 }
  11134 
  11135 static inline __ATTRS_o_ai __vector __bool char
  11136 vec_cp_until_zero(__vector __bool char __a) {
  11137   return ((__vector __bool char)
  11138           __builtin_s390_vistrb((__vector unsigned char)__a));
  11139 }
  11140 
  11141 static inline __ATTRS_o_ai __vector unsigned char
  11142 vec_cp_until_zero(__vector unsigned char __a) {
  11143   return __builtin_s390_vistrb(__a);
  11144 }
  11145 
  11146 static inline __ATTRS_o_ai __vector signed short
  11147 vec_cp_until_zero(__vector signed short __a) {
  11148   return ((__vector signed short)
  11149           __builtin_s390_vistrh((__vector unsigned short)__a));
  11150 }
  11151 
  11152 static inline __ATTRS_o_ai __vector __bool short
  11153 vec_cp_until_zero(__vector __bool short __a) {
  11154   return ((__vector __bool short)
  11155           __builtin_s390_vistrh((__vector unsigned short)__a));
  11156 }
  11157 
  11158 static inline __ATTRS_o_ai __vector unsigned short
  11159 vec_cp_until_zero(__vector unsigned short __a) {
  11160   return __builtin_s390_vistrh(__a);
  11161 }
  11162 
  11163 static inline __ATTRS_o_ai __vector signed int
  11164 vec_cp_until_zero(__vector signed int __a) {
  11165   return ((__vector signed int)
  11166           __builtin_s390_vistrf((__vector unsigned int)__a));
  11167 }
  11168 
  11169 static inline __ATTRS_o_ai __vector __bool int
  11170 vec_cp_until_zero(__vector __bool int __a) {
  11171   return ((__vector __bool int)
  11172           __builtin_s390_vistrf((__vector unsigned int)__a));
  11173 }
  11174 
  11175 static inline __ATTRS_o_ai __vector unsigned int
  11176 vec_cp_until_zero(__vector unsigned int __a) {
  11177   return __builtin_s390_vistrf(__a);
  11178 }
  11179 
  11180 /*-- vec_cp_until_zero_cc ---------------------------------------------------*/
  11181 
  11182 static inline __ATTRS_o_ai __vector signed char
  11183 vec_cp_until_zero_cc(__vector signed char __a, int *__cc) {
  11184   return (__vector signed char)
  11185     __builtin_s390_vistrbs((__vector unsigned char)__a, __cc);
  11186 }
  11187 
  11188 static inline __ATTRS_o_ai __vector __bool char
  11189 vec_cp_until_zero_cc(__vector __bool char __a, int *__cc) {
  11190   return (__vector __bool char)
  11191     __builtin_s390_vistrbs((__vector unsigned char)__a, __cc);
  11192 }
  11193 
  11194 static inline __ATTRS_o_ai __vector unsigned char
  11195 vec_cp_until_zero_cc(__vector unsigned char __a, int *__cc) {
  11196   return __builtin_s390_vistrbs(__a, __cc);
  11197 }
  11198 
  11199 static inline __ATTRS_o_ai __vector signed short
  11200 vec_cp_until_zero_cc(__vector signed short __a, int *__cc) {
  11201   return (__vector signed short)
  11202     __builtin_s390_vistrhs((__vector unsigned short)__a, __cc);
  11203 }
  11204 
  11205 static inline __ATTRS_o_ai __vector __bool short
  11206 vec_cp_until_zero_cc(__vector __bool short __a, int *__cc) {
  11207   return (__vector __bool short)
  11208     __builtin_s390_vistrhs((__vector unsigned short)__a, __cc);
  11209 }
  11210 
  11211 static inline __ATTRS_o_ai __vector unsigned short
  11212 vec_cp_until_zero_cc(__vector unsigned short __a, int *__cc) {
  11213   return __builtin_s390_vistrhs(__a, __cc);
  11214 }
  11215 
  11216 static inline __ATTRS_o_ai __vector signed int
  11217 vec_cp_until_zero_cc(__vector signed int __a, int *__cc) {
  11218   return (__vector signed int)
  11219     __builtin_s390_vistrfs((__vector unsigned int)__a, __cc);
  11220 }
  11221 
  11222 static inline __ATTRS_o_ai __vector __bool int
  11223 vec_cp_until_zero_cc(__vector __bool int __a, int *__cc) {
  11224   return (__vector __bool int)
  11225     __builtin_s390_vistrfs((__vector unsigned int)__a, __cc);
  11226 }
  11227 
  11228 static inline __ATTRS_o_ai __vector unsigned int
  11229 vec_cp_until_zero_cc(__vector unsigned int __a, int *__cc) {
  11230   return __builtin_s390_vistrfs(__a, __cc);
  11231 }
  11232 
  11233 /*-- vec_cmpeq_idx ----------------------------------------------------------*/
  11234 
  11235 static inline __ATTRS_o_ai __vector signed char
  11236 vec_cmpeq_idx(__vector signed char __a, __vector signed char __b) {
  11237   return (__vector signed char)
  11238     __builtin_s390_vfeeb((__vector unsigned char)__a,
  11239                          (__vector unsigned char)__b);
  11240 }
  11241 
  11242 static inline __ATTRS_o_ai __vector unsigned char
  11243 vec_cmpeq_idx(__vector __bool char __a, __vector __bool char __b) {
  11244   return __builtin_s390_vfeeb((__vector unsigned char)__a,
  11245                               (__vector unsigned char)__b);
  11246 }
  11247 
  11248 static inline __ATTRS_o_ai __vector unsigned char
  11249 vec_cmpeq_idx(__vector unsigned char __a, __vector unsigned char __b) {
  11250   return __builtin_s390_vfeeb(__a, __b);
  11251 }
  11252 
  11253 static inline __ATTRS_o_ai __vector signed short
  11254 vec_cmpeq_idx(__vector signed short __a, __vector signed short __b) {
  11255   return (__vector signed short)
  11256     __builtin_s390_vfeeh((__vector unsigned short)__a,
  11257                          (__vector unsigned short)__b);
  11258 }
  11259 
  11260 static inline __ATTRS_o_ai __vector unsigned short
  11261 vec_cmpeq_idx(__vector __bool short __a, __vector __bool short __b) {
  11262   return __builtin_s390_vfeeh((__vector unsigned short)__a,
  11263                               (__vector unsigned short)__b);
  11264 }
  11265 
  11266 static inline __ATTRS_o_ai __vector unsigned short
  11267 vec_cmpeq_idx(__vector unsigned short __a, __vector unsigned short __b) {
  11268   return __builtin_s390_vfeeh(__a, __b);
  11269 }
  11270 
  11271 static inline __ATTRS_o_ai __vector signed int
  11272 vec_cmpeq_idx(__vector signed int __a, __vector signed int __b) {
  11273   return (__vector signed int)
  11274     __builtin_s390_vfeef((__vector unsigned int)__a,
  11275                          (__vector unsigned int)__b);
  11276 }
  11277 
  11278 static inline __ATTRS_o_ai __vector unsigned int
  11279 vec_cmpeq_idx(__vector __bool int __a, __vector __bool int __b) {
  11280   return __builtin_s390_vfeef((__vector unsigned int)__a,
  11281                               (__vector unsigned int)__b);
  11282 }
  11283 
  11284 static inline __ATTRS_o_ai __vector unsigned int
  11285 vec_cmpeq_idx(__vector unsigned int __a, __vector unsigned int __b) {
  11286   return __builtin_s390_vfeef(__a, __b);
  11287 }
  11288 
  11289 /*-- vec_cmpeq_idx_cc -------------------------------------------------------*/
  11290 
  11291 static inline __ATTRS_o_ai __vector signed char
  11292 vec_cmpeq_idx_cc(__vector signed char __a, __vector signed char __b, int *__cc) {
  11293   return (__vector signed char)
  11294     __builtin_s390_vfeebs((__vector unsigned char)__a,
  11295                           (__vector unsigned char)__b, __cc);
  11296 }
  11297 
  11298 static inline __ATTRS_o_ai __vector unsigned char
  11299 vec_cmpeq_idx_cc(__vector __bool char __a, __vector __bool char __b, int *__cc) {
  11300   return __builtin_s390_vfeebs((__vector unsigned char)__a,
  11301                                (__vector unsigned char)__b, __cc);
  11302 }
  11303 
  11304 static inline __ATTRS_o_ai __vector unsigned char
  11305 vec_cmpeq_idx_cc(__vector unsigned char __a, __vector unsigned char __b,
  11306                  int *__cc) {
  11307   return __builtin_s390_vfeebs(__a, __b, __cc);
  11308 }
  11309 
  11310 static inline __ATTRS_o_ai __vector signed short
  11311 vec_cmpeq_idx_cc(__vector signed short __a, __vector signed short __b,
  11312                  int *__cc) {
  11313   return (__vector signed short)
  11314     __builtin_s390_vfeehs((__vector unsigned short)__a,
  11315                           (__vector unsigned short)__b, __cc);
  11316 }
  11317 
  11318 static inline __ATTRS_o_ai __vector unsigned short
  11319 vec_cmpeq_idx_cc(__vector __bool short __a, __vector __bool short __b, int *__cc) {
  11320   return __builtin_s390_vfeehs((__vector unsigned short)__a,
  11321                                (__vector unsigned short)__b, __cc);
  11322 }
  11323 
  11324 static inline __ATTRS_o_ai __vector unsigned short
  11325 vec_cmpeq_idx_cc(__vector unsigned short __a, __vector unsigned short __b,
  11326                  int *__cc) {
  11327   return __builtin_s390_vfeehs(__a, __b, __cc);
  11328 }
  11329 
  11330 static inline __ATTRS_o_ai __vector signed int
  11331 vec_cmpeq_idx_cc(__vector signed int __a, __vector signed int __b, int *__cc) {
  11332   return (__vector signed int)
  11333     __builtin_s390_vfeefs((__vector unsigned int)__a,
  11334                           (__vector unsigned int)__b, __cc);
  11335 }
  11336 
  11337 static inline __ATTRS_o_ai __vector unsigned int
  11338 vec_cmpeq_idx_cc(__vector __bool int __a, __vector __bool int __b, int *__cc) {
  11339   return __builtin_s390_vfeefs((__vector unsigned int)__a,
  11340                                (__vector unsigned int)__b, __cc);
  11341 }
  11342 
  11343 static inline __ATTRS_o_ai __vector unsigned int
  11344 vec_cmpeq_idx_cc(__vector unsigned int __a, __vector unsigned int __b,
  11345                  int *__cc) {
  11346   return __builtin_s390_vfeefs(__a, __b, __cc);
  11347 }
  11348 
  11349 /*-- vec_cmpeq_or_0_idx -----------------------------------------------------*/
  11350 
  11351 static inline __ATTRS_o_ai __vector signed char
  11352 vec_cmpeq_or_0_idx(__vector signed char __a, __vector signed char __b) {
  11353   return (__vector signed char)
  11354     __builtin_s390_vfeezb((__vector unsigned char)__a,
  11355                           (__vector unsigned char)__b);
  11356 }
  11357 
  11358 static inline __ATTRS_o_ai __vector unsigned char
  11359 vec_cmpeq_or_0_idx(__vector __bool char __a, __vector __bool char __b) {
  11360   return __builtin_s390_vfeezb((__vector unsigned char)__a,
  11361                                (__vector unsigned char)__b);
  11362 }
  11363 
  11364 static inline __ATTRS_o_ai __vector unsigned char
  11365 vec_cmpeq_or_0_idx(__vector unsigned char __a, __vector unsigned char __b) {
  11366   return __builtin_s390_vfeezb(__a, __b);
  11367 }
  11368 
  11369 static inline __ATTRS_o_ai __vector signed short
  11370 vec_cmpeq_or_0_idx(__vector signed short __a, __vector signed short __b) {
  11371   return (__vector signed short)
  11372     __builtin_s390_vfeezh((__vector unsigned short)__a,
  11373                           (__vector unsigned short)__b);
  11374 }
  11375 
  11376 static inline __ATTRS_o_ai __vector unsigned short
  11377 vec_cmpeq_or_0_idx(__vector __bool short __a, __vector __bool short __b) {
  11378   return __builtin_s390_vfeezh((__vector unsigned short)__a,
  11379                                (__vector unsigned short)__b);
  11380 }
  11381 
  11382 static inline __ATTRS_o_ai __vector unsigned short
  11383 vec_cmpeq_or_0_idx(__vector unsigned short __a, __vector unsigned short __b) {
  11384   return __builtin_s390_vfeezh(__a, __b);
  11385 }
  11386 
  11387 static inline __ATTRS_o_ai __vector signed int
  11388 vec_cmpeq_or_0_idx(__vector signed int __a, __vector signed int __b) {
  11389   return (__vector signed int)
  11390     __builtin_s390_vfeezf((__vector unsigned int)__a,
  11391                           (__vector unsigned int)__b);
  11392 }
  11393 
  11394 static inline __ATTRS_o_ai __vector unsigned int
  11395 vec_cmpeq_or_0_idx(__vector __bool int __a, __vector __bool int __b) {
  11396   return __builtin_s390_vfeezf((__vector unsigned int)__a,
  11397                                (__vector unsigned int)__b);
  11398 }
  11399 
  11400 static inline __ATTRS_o_ai __vector unsigned int
  11401 vec_cmpeq_or_0_idx(__vector unsigned int __a, __vector unsigned int __b) {
  11402   return __builtin_s390_vfeezf(__a, __b);
  11403 }
  11404 
  11405 /*-- vec_cmpeq_or_0_idx_cc --------------------------------------------------*/
  11406 
  11407 static inline __ATTRS_o_ai __vector signed char
  11408 vec_cmpeq_or_0_idx_cc(__vector signed char __a, __vector signed char __b,
  11409                       int *__cc) {
  11410   return (__vector signed char)
  11411     __builtin_s390_vfeezbs((__vector unsigned char)__a,
  11412                            (__vector unsigned char)__b, __cc);
  11413 }
  11414 
  11415 static inline __ATTRS_o_ai __vector unsigned char
  11416 vec_cmpeq_or_0_idx_cc(__vector __bool char __a, __vector __bool char __b,
  11417                       int *__cc) {
  11418   return __builtin_s390_vfeezbs((__vector unsigned char)__a,
  11419                                 (__vector unsigned char)__b, __cc);
  11420 }
  11421 
  11422 static inline __ATTRS_o_ai __vector unsigned char
  11423 vec_cmpeq_or_0_idx_cc(__vector unsigned char __a, __vector unsigned char __b,
  11424                       int *__cc) {
  11425   return __builtin_s390_vfeezbs(__a, __b, __cc);
  11426 }
  11427 
  11428 static inline __ATTRS_o_ai __vector signed short
  11429 vec_cmpeq_or_0_idx_cc(__vector signed short __a, __vector signed short __b,
  11430                       int *__cc) {
  11431   return (__vector signed short)
  11432     __builtin_s390_vfeezhs((__vector unsigned short)__a,
  11433                            (__vector unsigned short)__b, __cc);
  11434 }
  11435 
  11436 static inline __ATTRS_o_ai __vector unsigned short
  11437 vec_cmpeq_or_0_idx_cc(__vector __bool short __a, __vector __bool short __b,
  11438                       int *__cc) {
  11439   return __builtin_s390_vfeezhs((__vector unsigned short)__a,
  11440                                 (__vector unsigned short)__b, __cc);
  11441 }
  11442 
  11443 static inline __ATTRS_o_ai __vector unsigned short
  11444 vec_cmpeq_or_0_idx_cc(__vector unsigned short __a, __vector unsigned short __b,
  11445                       int *__cc) {
  11446   return __builtin_s390_vfeezhs(__a, __b, __cc);
  11447 }
  11448 
  11449 static inline __ATTRS_o_ai __vector signed int
  11450 vec_cmpeq_or_0_idx_cc(__vector signed int __a, __vector signed int __b,
  11451                       int *__cc) {
  11452   return (__vector signed int)
  11453     __builtin_s390_vfeezfs((__vector unsigned int)__a,
  11454                            (__vector unsigned int)__b, __cc);
  11455 }
  11456 
  11457 static inline __ATTRS_o_ai __vector unsigned int
  11458 vec_cmpeq_or_0_idx_cc(__vector __bool int __a, __vector __bool int __b,
  11459                       int *__cc) {
  11460   return __builtin_s390_vfeezfs((__vector unsigned int)__a,
  11461                                 (__vector unsigned int)__b, __cc);
  11462 }
  11463 
  11464 static inline __ATTRS_o_ai __vector unsigned int
  11465 vec_cmpeq_or_0_idx_cc(__vector unsigned int __a, __vector unsigned int __b,
  11466                       int *__cc) {
  11467   return __builtin_s390_vfeezfs(__a, __b, __cc);
  11468 }
  11469 
  11470 /*-- vec_cmpne_idx ----------------------------------------------------------*/
  11471 
  11472 static inline __ATTRS_o_ai __vector signed char
  11473 vec_cmpne_idx(__vector signed char __a, __vector signed char __b) {
  11474   return (__vector signed char)
  11475     __builtin_s390_vfeneb((__vector unsigned char)__a,
  11476                           (__vector unsigned char)__b);
  11477 }
  11478 
  11479 static inline __ATTRS_o_ai __vector unsigned char
  11480 vec_cmpne_idx(__vector __bool char __a, __vector __bool char __b) {
  11481   return __builtin_s390_vfeneb((__vector unsigned char)__a,
  11482                                (__vector unsigned char)__b);
  11483 }
  11484 
  11485 static inline __ATTRS_o_ai __vector unsigned char
  11486 vec_cmpne_idx(__vector unsigned char __a, __vector unsigned char __b) {
  11487   return __builtin_s390_vfeneb(__a, __b);
  11488 }
  11489 
  11490 static inline __ATTRS_o_ai __vector signed short
  11491 vec_cmpne_idx(__vector signed short __a, __vector signed short __b) {
  11492   return (__vector signed short)
  11493     __builtin_s390_vfeneh((__vector unsigned short)__a,
  11494                           (__vector unsigned short)__b);
  11495 }
  11496 
  11497 static inline __ATTRS_o_ai __vector unsigned short
  11498 vec_cmpne_idx(__vector __bool short __a, __vector __bool short __b) {
  11499   return __builtin_s390_vfeneh((__vector unsigned short)__a,
  11500                                (__vector unsigned short)__b);
  11501 }
  11502 
  11503 static inline __ATTRS_o_ai __vector unsigned short
  11504 vec_cmpne_idx(__vector unsigned short __a, __vector unsigned short __b) {
  11505   return __builtin_s390_vfeneh(__a, __b);
  11506 }
  11507 
  11508 static inline __ATTRS_o_ai __vector signed int
  11509 vec_cmpne_idx(__vector signed int __a, __vector signed int __b) {
  11510   return (__vector signed int)
  11511     __builtin_s390_vfenef((__vector unsigned int)__a,
  11512                           (__vector unsigned int)__b);
  11513 }
  11514 
  11515 static inline __ATTRS_o_ai __vector unsigned int
  11516 vec_cmpne_idx(__vector __bool int __a, __vector __bool int __b) {
  11517   return __builtin_s390_vfenef((__vector unsigned int)__a,
  11518                                (__vector unsigned int)__b);
  11519 }
  11520 
  11521 static inline __ATTRS_o_ai __vector unsigned int
  11522 vec_cmpne_idx(__vector unsigned int __a, __vector unsigned int __b) {
  11523   return __builtin_s390_vfenef(__a, __b);
  11524 }
  11525 
  11526 /*-- vec_cmpne_idx_cc -------------------------------------------------------*/
  11527 
  11528 static inline __ATTRS_o_ai __vector signed char
  11529 vec_cmpne_idx_cc(__vector signed char __a, __vector signed char __b, int *__cc) {
  11530   return (__vector signed char)
  11531     __builtin_s390_vfenebs((__vector unsigned char)__a,
  11532                            (__vector unsigned char)__b, __cc);
  11533 }
  11534 
  11535 static inline __ATTRS_o_ai __vector unsigned char
  11536 vec_cmpne_idx_cc(__vector __bool char __a, __vector __bool char __b, int *__cc) {
  11537   return __builtin_s390_vfenebs((__vector unsigned char)__a,
  11538                                 (__vector unsigned char)__b, __cc);
  11539 }
  11540 
  11541 static inline __ATTRS_o_ai __vector unsigned char
  11542 vec_cmpne_idx_cc(__vector unsigned char __a, __vector unsigned char __b,
  11543                  int *__cc) {
  11544   return __builtin_s390_vfenebs(__a, __b, __cc);
  11545 }
  11546 
  11547 static inline __ATTRS_o_ai __vector signed short
  11548 vec_cmpne_idx_cc(__vector signed short __a, __vector signed short __b,
  11549                  int *__cc) {
  11550   return (__vector signed short)
  11551     __builtin_s390_vfenehs((__vector unsigned short)__a,
  11552                            (__vector unsigned short)__b, __cc);
  11553 }
  11554 
  11555 static inline __ATTRS_o_ai __vector unsigned short
  11556 vec_cmpne_idx_cc(__vector __bool short __a, __vector __bool short __b,
  11557                  int *__cc) {
  11558   return __builtin_s390_vfenehs((__vector unsigned short)__a,
  11559                                 (__vector unsigned short)__b, __cc);
  11560 }
  11561 
  11562 static inline __ATTRS_o_ai __vector unsigned short
  11563 vec_cmpne_idx_cc(__vector unsigned short __a, __vector unsigned short __b,
  11564                  int *__cc) {
  11565   return __builtin_s390_vfenehs(__a, __b, __cc);
  11566 }
  11567 
  11568 static inline __ATTRS_o_ai __vector signed int
  11569 vec_cmpne_idx_cc(__vector signed int __a, __vector signed int __b, int *__cc) {
  11570   return (__vector signed int)
  11571     __builtin_s390_vfenefs((__vector unsigned int)__a,
  11572                            (__vector unsigned int)__b, __cc);
  11573 }
  11574 
  11575 static inline __ATTRS_o_ai __vector unsigned int
  11576 vec_cmpne_idx_cc(__vector __bool int __a, __vector __bool int __b, int *__cc) {
  11577   return __builtin_s390_vfenefs((__vector unsigned int)__a,
  11578                                 (__vector unsigned int)__b, __cc);
  11579 }
  11580 
  11581 static inline __ATTRS_o_ai __vector unsigned int
  11582 vec_cmpne_idx_cc(__vector unsigned int __a, __vector unsigned int __b,
  11583                  int *__cc) {
  11584   return __builtin_s390_vfenefs(__a, __b, __cc);
  11585 }
  11586 
  11587 /*-- vec_cmpne_or_0_idx -----------------------------------------------------*/
  11588 
  11589 static inline __ATTRS_o_ai __vector signed char
  11590 vec_cmpne_or_0_idx(__vector signed char __a, __vector signed char __b) {
  11591   return (__vector signed char)
  11592     __builtin_s390_vfenezb((__vector unsigned char)__a,
  11593                            (__vector unsigned char)__b);
  11594 }
  11595 
  11596 static inline __ATTRS_o_ai __vector unsigned char
  11597 vec_cmpne_or_0_idx(__vector __bool char __a, __vector __bool char __b) {
  11598   return __builtin_s390_vfenezb((__vector unsigned char)__a,
  11599                                 (__vector unsigned char)__b);
  11600 }
  11601 
  11602 static inline __ATTRS_o_ai __vector unsigned char
  11603 vec_cmpne_or_0_idx(__vector unsigned char __a, __vector unsigned char __b) {
  11604   return __builtin_s390_vfenezb(__a, __b);
  11605 }
  11606 
  11607 static inline __ATTRS_o_ai __vector signed short
  11608 vec_cmpne_or_0_idx(__vector signed short __a, __vector signed short __b) {
  11609   return (__vector signed short)
  11610     __builtin_s390_vfenezh((__vector unsigned short)__a,
  11611                            (__vector unsigned short)__b);
  11612 }
  11613 
  11614 static inline __ATTRS_o_ai __vector unsigned short
  11615 vec_cmpne_or_0_idx(__vector __bool short __a, __vector __bool short __b) {
  11616   return __builtin_s390_vfenezh((__vector unsigned short)__a,
  11617                                 (__vector unsigned short)__b);
  11618 }
  11619 
  11620 static inline __ATTRS_o_ai __vector unsigned short
  11621 vec_cmpne_or_0_idx(__vector unsigned short __a, __vector unsigned short __b) {
  11622   return __builtin_s390_vfenezh(__a, __b);
  11623 }
  11624 
  11625 static inline __ATTRS_o_ai __vector signed int
  11626 vec_cmpne_or_0_idx(__vector signed int __a, __vector signed int __b) {
  11627   return (__vector signed int)
  11628     __builtin_s390_vfenezf((__vector unsigned int)__a,
  11629                            (__vector unsigned int)__b);
  11630 }
  11631 
  11632 static inline __ATTRS_o_ai __vector unsigned int
  11633 vec_cmpne_or_0_idx(__vector __bool int __a, __vector __bool int __b) {
  11634   return __builtin_s390_vfenezf((__vector unsigned int)__a,
  11635                                 (__vector unsigned int)__b);
  11636 }
  11637 
  11638 static inline __ATTRS_o_ai __vector unsigned int
  11639 vec_cmpne_or_0_idx(__vector unsigned int __a, __vector unsigned int __b) {
  11640   return __builtin_s390_vfenezf(__a, __b);
  11641 }
  11642 
  11643 /*-- vec_cmpne_or_0_idx_cc --------------------------------------------------*/
  11644 
  11645 static inline __ATTRS_o_ai __vector signed char
  11646 vec_cmpne_or_0_idx_cc(__vector signed char __a, __vector signed char __b,
  11647                       int *__cc) {
  11648   return (__vector signed char)
  11649     __builtin_s390_vfenezbs((__vector unsigned char)__a,
  11650                             (__vector unsigned char)__b, __cc);
  11651 }
  11652 
  11653 static inline __ATTRS_o_ai __vector unsigned char
  11654 vec_cmpne_or_0_idx_cc(__vector __bool char __a, __vector __bool char __b,
  11655                       int *__cc) {
  11656   return __builtin_s390_vfenezbs((__vector unsigned char)__a,
  11657                                  (__vector unsigned char)__b, __cc);
  11658 }
  11659 
  11660 static inline __ATTRS_o_ai __vector unsigned char
  11661 vec_cmpne_or_0_idx_cc(__vector unsigned char __a, __vector unsigned char __b,
  11662                       int *__cc) {
  11663   return __builtin_s390_vfenezbs(__a, __b, __cc);
  11664 }
  11665 
  11666 static inline __ATTRS_o_ai __vector signed short
  11667 vec_cmpne_or_0_idx_cc(__vector signed short __a, __vector signed short __b,
  11668                       int *__cc) {
  11669   return (__vector signed short)
  11670     __builtin_s390_vfenezhs((__vector unsigned short)__a,
  11671                             (__vector unsigned short)__b, __cc);
  11672 }
  11673 
  11674 static inline __ATTRS_o_ai __vector unsigned short
  11675 vec_cmpne_or_0_idx_cc(__vector __bool short __a, __vector __bool short __b,
  11676                       int *__cc) {
  11677   return __builtin_s390_vfenezhs((__vector unsigned short)__a,
  11678                                  (__vector unsigned short)__b, __cc);
  11679 }
  11680 
  11681 static inline __ATTRS_o_ai __vector unsigned short
  11682 vec_cmpne_or_0_idx_cc(__vector unsigned short __a, __vector unsigned short __b,
  11683                       int *__cc) {
  11684   return __builtin_s390_vfenezhs(__a, __b, __cc);
  11685 }
  11686 
  11687 static inline __ATTRS_o_ai __vector signed int
  11688 vec_cmpne_or_0_idx_cc(__vector signed int __a, __vector signed int __b,
  11689                       int *__cc) {
  11690   return (__vector signed int)
  11691     __builtin_s390_vfenezfs((__vector unsigned int)__a,
  11692                             (__vector unsigned int)__b, __cc);
  11693 }
  11694 
  11695 static inline __ATTRS_o_ai __vector unsigned int
  11696 vec_cmpne_or_0_idx_cc(__vector __bool int __a, __vector __bool int __b,
  11697                       int *__cc) {
  11698   return __builtin_s390_vfenezfs((__vector unsigned int)__a,
  11699                                  (__vector unsigned int)__b, __cc);
  11700 }
  11701 
  11702 static inline __ATTRS_o_ai __vector unsigned int
  11703 vec_cmpne_or_0_idx_cc(__vector unsigned int __a, __vector unsigned int __b,
  11704                       int *__cc) {
  11705   return __builtin_s390_vfenezfs(__a, __b, __cc);
  11706 }
  11707 
  11708 /*-- vec_cmprg --------------------------------------------------------------*/
  11709 
  11710 static inline __ATTRS_o_ai __vector __bool char
  11711 vec_cmprg(__vector unsigned char __a, __vector unsigned char __b,
  11712           __vector unsigned char __c) {
  11713   return (__vector __bool char)__builtin_s390_vstrcb(__a, __b, __c, 4);
  11714 }
  11715 
  11716 static inline __ATTRS_o_ai __vector __bool short
  11717 vec_cmprg(__vector unsigned short __a, __vector unsigned short __b,
  11718           __vector unsigned short __c) {
  11719   return (__vector __bool short)__builtin_s390_vstrch(__a, __b, __c, 4);
  11720 }
  11721 
  11722 static inline __ATTRS_o_ai __vector __bool int
  11723 vec_cmprg(__vector unsigned int __a, __vector unsigned int __b,
  11724           __vector unsigned int __c) {
  11725   return (__vector __bool int)__builtin_s390_vstrcf(__a, __b, __c, 4);
  11726 }
  11727 
  11728 /*-- vec_cmprg_cc -----------------------------------------------------------*/
  11729 
  11730 static inline __ATTRS_o_ai __vector __bool char
  11731 vec_cmprg_cc(__vector unsigned char __a, __vector unsigned char __b,
  11732              __vector unsigned char __c, int *__cc) {
  11733   return (__vector __bool char)__builtin_s390_vstrcbs(__a, __b, __c, 4, __cc);
  11734 }
  11735 
  11736 static inline __ATTRS_o_ai __vector __bool short
  11737 vec_cmprg_cc(__vector unsigned short __a, __vector unsigned short __b,
  11738              __vector unsigned short __c, int *__cc) {
  11739   return (__vector __bool short)__builtin_s390_vstrchs(__a, __b, __c, 4, __cc);
  11740 }
  11741 
  11742 static inline __ATTRS_o_ai __vector __bool int
  11743 vec_cmprg_cc(__vector unsigned int __a, __vector unsigned int __b,
  11744              __vector unsigned int __c, int *__cc) {
  11745   return (__vector __bool int)__builtin_s390_vstrcfs(__a, __b, __c, 4, __cc);
  11746 }
  11747 
  11748 /*-- vec_cmprg_idx ----------------------------------------------------------*/
  11749 
  11750 static inline __ATTRS_o_ai __vector unsigned char
  11751 vec_cmprg_idx(__vector unsigned char __a, __vector unsigned char __b,
  11752               __vector unsigned char __c) {
  11753   return __builtin_s390_vstrcb(__a, __b, __c, 0);
  11754 }
  11755 
  11756 static inline __ATTRS_o_ai __vector unsigned short
  11757 vec_cmprg_idx(__vector unsigned short __a, __vector unsigned short __b,
  11758               __vector unsigned short __c) {
  11759   return __builtin_s390_vstrch(__a, __b, __c, 0);
  11760 }
  11761 
  11762 static inline __ATTRS_o_ai __vector unsigned int
  11763 vec_cmprg_idx(__vector unsigned int __a, __vector unsigned int __b,
  11764               __vector unsigned int __c) {
  11765   return __builtin_s390_vstrcf(__a, __b, __c, 0);
  11766 }
  11767 
  11768 /*-- vec_cmprg_idx_cc -------------------------------------------------------*/
  11769 
  11770 static inline __ATTRS_o_ai __vector unsigned char
  11771 vec_cmprg_idx_cc(__vector unsigned char __a, __vector unsigned char __b,
  11772                  __vector unsigned char __c, int *__cc) {
  11773   return __builtin_s390_vstrcbs(__a, __b, __c, 0, __cc);
  11774 }
  11775 
  11776 static inline __ATTRS_o_ai __vector unsigned short
  11777 vec_cmprg_idx_cc(__vector unsigned short __a, __vector unsigned short __b,
  11778                  __vector unsigned short __c, int *__cc) {
  11779   return __builtin_s390_vstrchs(__a, __b, __c, 0, __cc);
  11780 }
  11781 
  11782 static inline __ATTRS_o_ai __vector unsigned int
  11783 vec_cmprg_idx_cc(__vector unsigned int __a, __vector unsigned int __b,
  11784                  __vector unsigned int __c, int *__cc) {
  11785   return __builtin_s390_vstrcfs(__a, __b, __c, 0, __cc);
  11786 }
  11787 
  11788 /*-- vec_cmprg_or_0_idx -----------------------------------------------------*/
  11789 
  11790 static inline __ATTRS_o_ai __vector unsigned char
  11791 vec_cmprg_or_0_idx(__vector unsigned char __a, __vector unsigned char __b,
  11792                    __vector unsigned char __c) {
  11793   return __builtin_s390_vstrczb(__a, __b, __c, 0);
  11794 }
  11795 
  11796 static inline __ATTRS_o_ai __vector unsigned short
  11797 vec_cmprg_or_0_idx(__vector unsigned short __a, __vector unsigned short __b,
  11798                    __vector unsigned short __c) {
  11799   return __builtin_s390_vstrczh(__a, __b, __c, 0);
  11800 }
  11801 
  11802 static inline __ATTRS_o_ai __vector unsigned int
  11803 vec_cmprg_or_0_idx(__vector unsigned int __a, __vector unsigned int __b,
  11804                    __vector unsigned int __c) {
  11805   return __builtin_s390_vstrczf(__a, __b, __c, 0);
  11806 }
  11807 
  11808 /*-- vec_cmprg_or_0_idx_cc --------------------------------------------------*/
  11809 
  11810 static inline __ATTRS_o_ai __vector unsigned char
  11811 vec_cmprg_or_0_idx_cc(__vector unsigned char __a, __vector unsigned char __b,
  11812                       __vector unsigned char __c, int *__cc) {
  11813   return __builtin_s390_vstrczbs(__a, __b, __c, 0, __cc);
  11814 }
  11815 
  11816 static inline __ATTRS_o_ai __vector unsigned short
  11817 vec_cmprg_or_0_idx_cc(__vector unsigned short __a, __vector unsigned short __b,
  11818                       __vector unsigned short __c, int *__cc) {
  11819   return __builtin_s390_vstrczhs(__a, __b, __c, 0, __cc);
  11820 }
  11821 
  11822 static inline __ATTRS_o_ai __vector unsigned int
  11823 vec_cmprg_or_0_idx_cc(__vector unsigned int __a, __vector unsigned int __b,
  11824                       __vector unsigned int __c, int *__cc) {
  11825   return __builtin_s390_vstrczfs(__a, __b, __c, 0, __cc);
  11826 }
  11827 
  11828 /*-- vec_cmpnrg -------------------------------------------------------------*/
  11829 
  11830 static inline __ATTRS_o_ai __vector __bool char
  11831 vec_cmpnrg(__vector unsigned char __a, __vector unsigned char __b,
  11832            __vector unsigned char __c) {
  11833   return (__vector __bool char)__builtin_s390_vstrcb(__a, __b, __c, 12);
  11834 }
  11835 
  11836 static inline __ATTRS_o_ai __vector __bool short
  11837 vec_cmpnrg(__vector unsigned short __a, __vector unsigned short __b,
  11838            __vector unsigned short __c) {
  11839   return (__vector __bool short)__builtin_s390_vstrch(__a, __b, __c, 12);
  11840 }
  11841 
  11842 static inline __ATTRS_o_ai __vector __bool int
  11843 vec_cmpnrg(__vector unsigned int __a, __vector unsigned int __b,
  11844            __vector unsigned int __c) {
  11845   return (__vector __bool int)__builtin_s390_vstrcf(__a, __b, __c, 12);
  11846 }
  11847 
  11848 /*-- vec_cmpnrg_cc ----------------------------------------------------------*/
  11849 
  11850 static inline __ATTRS_o_ai __vector __bool char
  11851 vec_cmpnrg_cc(__vector unsigned char __a, __vector unsigned char __b,
  11852               __vector unsigned char __c, int *__cc) {
  11853   return (__vector __bool char)
  11854     __builtin_s390_vstrcbs(__a, __b, __c, 12, __cc);
  11855 }
  11856 
  11857 static inline __ATTRS_o_ai __vector __bool short
  11858 vec_cmpnrg_cc(__vector unsigned short __a, __vector unsigned short __b,
  11859               __vector unsigned short __c, int *__cc) {
  11860   return (__vector __bool short)
  11861     __builtin_s390_vstrchs(__a, __b, __c, 12, __cc);
  11862 }
  11863 
  11864 static inline __ATTRS_o_ai __vector __bool int
  11865 vec_cmpnrg_cc(__vector unsigned int __a, __vector unsigned int __b,
  11866               __vector unsigned int __c, int *__cc) {
  11867   return (__vector __bool int)
  11868     __builtin_s390_vstrcfs(__a, __b, __c, 12, __cc);
  11869 }
  11870 
  11871 /*-- vec_cmpnrg_idx ---------------------------------------------------------*/
  11872 
  11873 static inline __ATTRS_o_ai __vector unsigned char
  11874 vec_cmpnrg_idx(__vector unsigned char __a, __vector unsigned char __b,
  11875                __vector unsigned char __c) {
  11876   return __builtin_s390_vstrcb(__a, __b, __c, 8);
  11877 }
  11878 
  11879 static inline __ATTRS_o_ai __vector unsigned short
  11880 vec_cmpnrg_idx(__vector unsigned short __a, __vector unsigned short __b,
  11881                __vector unsigned short __c) {
  11882   return __builtin_s390_vstrch(__a, __b, __c, 8);
  11883 }
  11884 
  11885 static inline __ATTRS_o_ai __vector unsigned int
  11886 vec_cmpnrg_idx(__vector unsigned int __a, __vector unsigned int __b,
  11887                __vector unsigned int __c) {
  11888   return __builtin_s390_vstrcf(__a, __b, __c, 8);
  11889 }
  11890 
  11891 /*-- vec_cmpnrg_idx_cc ------------------------------------------------------*/
  11892 
  11893 static inline __ATTRS_o_ai __vector unsigned char
  11894 vec_cmpnrg_idx_cc(__vector unsigned char __a, __vector unsigned char __b,
  11895                   __vector unsigned char __c, int *__cc) {
  11896   return __builtin_s390_vstrcbs(__a, __b, __c, 8, __cc);
  11897 }
  11898 
  11899 static inline __ATTRS_o_ai __vector unsigned short
  11900 vec_cmpnrg_idx_cc(__vector unsigned short __a, __vector unsigned short __b,
  11901                   __vector unsigned short __c, int *__cc) {
  11902   return __builtin_s390_vstrchs(__a, __b, __c, 8, __cc);
  11903 }
  11904 
  11905 static inline __ATTRS_o_ai __vector unsigned int
  11906 vec_cmpnrg_idx_cc(__vector unsigned int __a, __vector unsigned int __b,
  11907                   __vector unsigned int __c, int *__cc) {
  11908   return __builtin_s390_vstrcfs(__a, __b, __c, 8, __cc);
  11909 }
  11910 
  11911 /*-- vec_cmpnrg_or_0_idx ----------------------------------------------------*/
  11912 
  11913 static inline __ATTRS_o_ai __vector unsigned char
  11914 vec_cmpnrg_or_0_idx(__vector unsigned char __a, __vector unsigned char __b,
  11915                     __vector unsigned char __c) {
  11916   return __builtin_s390_vstrczb(__a, __b, __c, 8);
  11917 }
  11918 
  11919 static inline __ATTRS_o_ai __vector unsigned short
  11920 vec_cmpnrg_or_0_idx(__vector unsigned short __a, __vector unsigned short __b,
  11921                     __vector unsigned short __c) {
  11922   return __builtin_s390_vstrczh(__a, __b, __c, 8);
  11923 }
  11924 
  11925 static inline __ATTRS_o_ai __vector unsigned int
  11926 vec_cmpnrg_or_0_idx(__vector unsigned int __a, __vector unsigned int __b,
  11927                     __vector unsigned int __c) {
  11928   return __builtin_s390_vstrczf(__a, __b, __c, 8);
  11929 }
  11930 
  11931 /*-- vec_cmpnrg_or_0_idx_cc -------------------------------------------------*/
  11932 
  11933 static inline __ATTRS_o_ai __vector unsigned char
  11934 vec_cmpnrg_or_0_idx_cc(__vector unsigned char __a,
  11935                        __vector unsigned char __b,
  11936                        __vector unsigned char __c, int *__cc) {
  11937   return __builtin_s390_vstrczbs(__a, __b, __c, 8, __cc);
  11938 }
  11939 
  11940 static inline __ATTRS_o_ai __vector unsigned short
  11941 vec_cmpnrg_or_0_idx_cc(__vector unsigned short __a,
  11942                        __vector unsigned short __b,
  11943                        __vector unsigned short __c, int *__cc) {
  11944   return __builtin_s390_vstrczhs(__a, __b, __c, 8, __cc);
  11945 }
  11946 
  11947 static inline __ATTRS_o_ai __vector unsigned int
  11948 vec_cmpnrg_or_0_idx_cc(__vector unsigned int __a,
  11949                        __vector unsigned int __b,
  11950                        __vector unsigned int __c, int *__cc) {
  11951   return __builtin_s390_vstrczfs(__a, __b, __c, 8, __cc);
  11952 }
  11953 
  11954 /*-- vec_find_any_eq --------------------------------------------------------*/
  11955 
  11956 static inline __ATTRS_o_ai __vector __bool char
  11957 vec_find_any_eq(__vector signed char __a, __vector signed char __b) {
  11958   return (__vector __bool char)
  11959     __builtin_s390_vfaeb((__vector unsigned char)__a,
  11960                          (__vector unsigned char)__b, 4);
  11961 }
  11962 
  11963 static inline __ATTRS_o_ai __vector __bool char
  11964 vec_find_any_eq(__vector __bool char __a, __vector __bool char __b) {
  11965   return (__vector __bool char)
  11966     __builtin_s390_vfaeb((__vector unsigned char)__a,
  11967                          (__vector unsigned char)__b, 4);
  11968 }
  11969 
  11970 static inline __ATTRS_o_ai __vector __bool char
  11971 vec_find_any_eq(__vector unsigned char __a, __vector unsigned char __b) {
  11972   return (__vector __bool char)__builtin_s390_vfaeb(__a, __b, 4);
  11973 }
  11974 
  11975 static inline __ATTRS_o_ai __vector __bool short
  11976 vec_find_any_eq(__vector signed short __a, __vector signed short __b) {
  11977   return (__vector __bool short)
  11978     __builtin_s390_vfaeh((__vector unsigned short)__a,
  11979                          (__vector unsigned short)__b, 4);
  11980 }
  11981 
  11982 static inline __ATTRS_o_ai __vector __bool short
  11983 vec_find_any_eq(__vector __bool short __a, __vector __bool short __b) {
  11984   return (__vector __bool short)
  11985     __builtin_s390_vfaeh((__vector unsigned short)__a,
  11986                          (__vector unsigned short)__b, 4);
  11987 }
  11988 
  11989 static inline __ATTRS_o_ai __vector __bool short
  11990 vec_find_any_eq(__vector unsigned short __a, __vector unsigned short __b) {
  11991   return (__vector __bool short)__builtin_s390_vfaeh(__a, __b, 4);
  11992 }
  11993 
  11994 static inline __ATTRS_o_ai __vector __bool int
  11995 vec_find_any_eq(__vector signed int __a, __vector signed int __b) {
  11996   return (__vector __bool int)
  11997     __builtin_s390_vfaef((__vector unsigned int)__a,
  11998                          (__vector unsigned int)__b, 4);
  11999 }
  12000 
  12001 static inline __ATTRS_o_ai __vector __bool int
  12002 vec_find_any_eq(__vector __bool int __a, __vector __bool int __b) {
  12003   return (__vector __bool int)
  12004     __builtin_s390_vfaef((__vector unsigned int)__a,
  12005                          (__vector unsigned int)__b, 4);
  12006 }
  12007 
  12008 static inline __ATTRS_o_ai __vector __bool int
  12009 vec_find_any_eq(__vector unsigned int __a, __vector unsigned int __b) {
  12010   return (__vector __bool int)__builtin_s390_vfaef(__a, __b, 4);
  12011 }
  12012 
  12013 /*-- vec_find_any_eq_cc -----------------------------------------------------*/
  12014 
  12015 static inline __ATTRS_o_ai __vector __bool char
  12016 vec_find_any_eq_cc(__vector signed char __a, __vector signed char __b,
  12017                    int *__cc) {
  12018   return (__vector __bool char)
  12019     __builtin_s390_vfaebs((__vector unsigned char)__a,
  12020                           (__vector unsigned char)__b, 4, __cc);
  12021 }
  12022 
  12023 static inline __ATTRS_o_ai __vector __bool char
  12024 vec_find_any_eq_cc(__vector __bool char __a, __vector __bool char __b,
  12025                    int *__cc) {
  12026   return (__vector __bool char)
  12027     __builtin_s390_vfaebs((__vector unsigned char)__a,
  12028                           (__vector unsigned char)__b, 4, __cc);
  12029 }
  12030 
  12031 static inline __ATTRS_o_ai __vector __bool char
  12032 vec_find_any_eq_cc(__vector unsigned char __a, __vector unsigned char __b,
  12033                    int *__cc) {
  12034   return (__vector __bool char)__builtin_s390_vfaebs(__a, __b, 4, __cc);
  12035 }
  12036 
  12037 static inline __ATTRS_o_ai __vector __bool short
  12038 vec_find_any_eq_cc(__vector signed short __a, __vector signed short __b,
  12039                    int *__cc) {
  12040   return (__vector __bool short)
  12041     __builtin_s390_vfaehs((__vector unsigned short)__a,
  12042                           (__vector unsigned short)__b, 4, __cc);
  12043 }
  12044 
  12045 static inline __ATTRS_o_ai __vector __bool short
  12046 vec_find_any_eq_cc(__vector __bool short __a, __vector __bool short __b,
  12047                    int *__cc) {
  12048   return (__vector __bool short)
  12049     __builtin_s390_vfaehs((__vector unsigned short)__a,
  12050                           (__vector unsigned short)__b, 4, __cc);
  12051 }
  12052 
  12053 static inline __ATTRS_o_ai __vector __bool short
  12054 vec_find_any_eq_cc(__vector unsigned short __a, __vector unsigned short __b,
  12055                    int *__cc) {
  12056   return (__vector __bool short)__builtin_s390_vfaehs(__a, __b, 4, __cc);
  12057 }
  12058 
  12059 static inline __ATTRS_o_ai __vector __bool int
  12060 vec_find_any_eq_cc(__vector signed int __a, __vector signed int __b,
  12061                    int *__cc) {
  12062   return (__vector __bool int)
  12063     __builtin_s390_vfaefs((__vector unsigned int)__a,
  12064                           (__vector unsigned int)__b, 4, __cc);
  12065 }
  12066 
  12067 static inline __ATTRS_o_ai __vector __bool int
  12068 vec_find_any_eq_cc(__vector __bool int __a, __vector __bool int __b,
  12069                    int *__cc) {
  12070   return (__vector __bool int)
  12071     __builtin_s390_vfaefs((__vector unsigned int)__a,
  12072                           (__vector unsigned int)__b, 4, __cc);
  12073 }
  12074 
  12075 static inline __ATTRS_o_ai __vector __bool int
  12076 vec_find_any_eq_cc(__vector unsigned int __a, __vector unsigned int __b,
  12077                    int *__cc) {
  12078   return (__vector __bool int)__builtin_s390_vfaefs(__a, __b, 4, __cc);
  12079 }
  12080 
  12081 /*-- vec_find_any_eq_idx ----------------------------------------------------*/
  12082 
  12083 static inline __ATTRS_o_ai __vector signed char
  12084 vec_find_any_eq_idx(__vector signed char __a, __vector signed char __b) {
  12085   return (__vector signed char)
  12086     __builtin_s390_vfaeb((__vector unsigned char)__a,
  12087                          (__vector unsigned char)__b, 0);
  12088 }
  12089 
  12090 static inline __ATTRS_o_ai __vector unsigned char
  12091 vec_find_any_eq_idx(__vector __bool char __a, __vector __bool char __b) {
  12092   return __builtin_s390_vfaeb((__vector unsigned char)__a,
  12093                               (__vector unsigned char)__b, 0);
  12094 }
  12095 
  12096 static inline __ATTRS_o_ai __vector unsigned char
  12097 vec_find_any_eq_idx(__vector unsigned char __a, __vector unsigned char __b) {
  12098   return __builtin_s390_vfaeb(__a, __b, 0);
  12099 }
  12100 
  12101 static inline __ATTRS_o_ai __vector signed short
  12102 vec_find_any_eq_idx(__vector signed short __a, __vector signed short __b) {
  12103   return (__vector signed short)
  12104     __builtin_s390_vfaeh((__vector unsigned short)__a,
  12105                          (__vector unsigned short)__b, 0);
  12106 }
  12107 
  12108 static inline __ATTRS_o_ai __vector unsigned short
  12109 vec_find_any_eq_idx(__vector __bool short __a, __vector __bool short __b) {
  12110   return __builtin_s390_vfaeh((__vector unsigned short)__a,
  12111                               (__vector unsigned short)__b, 0);
  12112 }
  12113 
  12114 static inline __ATTRS_o_ai __vector unsigned short
  12115 vec_find_any_eq_idx(__vector unsigned short __a, __vector unsigned short __b) {
  12116   return __builtin_s390_vfaeh(__a, __b, 0);
  12117 }
  12118 
  12119 static inline __ATTRS_o_ai __vector signed int
  12120 vec_find_any_eq_idx(__vector signed int __a, __vector signed int __b) {
  12121   return (__vector signed int)
  12122     __builtin_s390_vfaef((__vector unsigned int)__a,
  12123                          (__vector unsigned int)__b, 0);
  12124 }
  12125 
  12126 static inline __ATTRS_o_ai __vector unsigned int
  12127 vec_find_any_eq_idx(__vector __bool int __a, __vector __bool int __b) {
  12128   return __builtin_s390_vfaef((__vector unsigned int)__a,
  12129                               (__vector unsigned int)__b, 0);
  12130 }
  12131 
  12132 static inline __ATTRS_o_ai __vector unsigned int
  12133 vec_find_any_eq_idx(__vector unsigned int __a, __vector unsigned int __b) {
  12134   return __builtin_s390_vfaef(__a, __b, 0);
  12135 }
  12136 
  12137 /*-- vec_find_any_eq_idx_cc -------------------------------------------------*/
  12138 
  12139 static inline __ATTRS_o_ai __vector signed char
  12140 vec_find_any_eq_idx_cc(__vector signed char __a,
  12141                        __vector signed char __b, int *__cc) {
  12142   return (__vector signed char)
  12143     __builtin_s390_vfaebs((__vector unsigned char)__a,
  12144                           (__vector unsigned char)__b, 0, __cc);
  12145 }
  12146 
  12147 static inline __ATTRS_o_ai __vector unsigned char
  12148 vec_find_any_eq_idx_cc(__vector __bool char __a,
  12149                        __vector __bool char __b, int *__cc) {
  12150   return __builtin_s390_vfaebs((__vector unsigned char)__a,
  12151                                (__vector unsigned char)__b, 0, __cc);
  12152 }
  12153 
  12154 static inline __ATTRS_o_ai __vector unsigned char
  12155 vec_find_any_eq_idx_cc(__vector unsigned char __a,
  12156                        __vector unsigned char __b, int *__cc) {
  12157   return __builtin_s390_vfaebs(__a, __b, 0, __cc);
  12158 }
  12159 
  12160 static inline __ATTRS_o_ai __vector signed short
  12161 vec_find_any_eq_idx_cc(__vector signed short __a,
  12162                        __vector signed short __b, int *__cc) {
  12163   return (__vector signed short)
  12164     __builtin_s390_vfaehs((__vector unsigned short)__a,
  12165                           (__vector unsigned short)__b, 0, __cc);
  12166 }
  12167 
  12168 static inline __ATTRS_o_ai __vector unsigned short
  12169 vec_find_any_eq_idx_cc(__vector __bool short __a,
  12170                        __vector __bool short __b, int *__cc) {
  12171   return __builtin_s390_vfaehs((__vector unsigned short)__a,
  12172                                (__vector unsigned short)__b, 0, __cc);
  12173 }
  12174 
  12175 static inline __ATTRS_o_ai __vector unsigned short
  12176 vec_find_any_eq_idx_cc(__vector unsigned short __a,
  12177                        __vector unsigned short __b, int *__cc) {
  12178   return __builtin_s390_vfaehs(__a, __b, 0, __cc);
  12179 }
  12180 
  12181 static inline __ATTRS_o_ai __vector signed int
  12182 vec_find_any_eq_idx_cc(__vector signed int __a,
  12183                        __vector signed int __b, int *__cc) {
  12184   return (__vector signed int)
  12185     __builtin_s390_vfaefs((__vector unsigned int)__a,
  12186                           (__vector unsigned int)__b, 0, __cc);
  12187 }
  12188 
  12189 static inline __ATTRS_o_ai __vector unsigned int
  12190 vec_find_any_eq_idx_cc(__vector __bool int __a,
  12191                        __vector __bool int __b, int *__cc) {
  12192   return __builtin_s390_vfaefs((__vector unsigned int)__a,
  12193                                (__vector unsigned int)__b, 0, __cc);
  12194 }
  12195 
  12196 static inline __ATTRS_o_ai __vector unsigned int
  12197 vec_find_any_eq_idx_cc(__vector unsigned int __a,
  12198                        __vector unsigned int __b, int *__cc) {
  12199   return __builtin_s390_vfaefs(__a, __b, 0, __cc);
  12200 }
  12201 
  12202 /*-- vec_find_any_eq_or_0_idx -----------------------------------------------*/
  12203 
  12204 static inline __ATTRS_o_ai __vector signed char
  12205 vec_find_any_eq_or_0_idx(__vector signed char __a,
  12206                          __vector signed char __b) {
  12207   return (__vector signed char)
  12208     __builtin_s390_vfaezb((__vector unsigned char)__a,
  12209                           (__vector unsigned char)__b, 0);
  12210 }
  12211 
  12212 static inline __ATTRS_o_ai __vector unsigned char
  12213 vec_find_any_eq_or_0_idx(__vector __bool char __a,
  12214                          __vector __bool char __b) {
  12215   return __builtin_s390_vfaezb((__vector unsigned char)__a,
  12216                                (__vector unsigned char)__b, 0);
  12217 }
  12218 
  12219 static inline __ATTRS_o_ai __vector unsigned char
  12220 vec_find_any_eq_or_0_idx(__vector unsigned char __a,
  12221                          __vector unsigned char __b) {
  12222   return __builtin_s390_vfaezb(__a, __b, 0);
  12223 }
  12224 
  12225 static inline __ATTRS_o_ai __vector signed short
  12226 vec_find_any_eq_or_0_idx(__vector signed short __a,
  12227                          __vector signed short __b) {
  12228   return (__vector signed short)
  12229     __builtin_s390_vfaezh((__vector unsigned short)__a,
  12230                           (__vector unsigned short)__b, 0);
  12231 }
  12232 
  12233 static inline __ATTRS_o_ai __vector unsigned short
  12234 vec_find_any_eq_or_0_idx(__vector __bool short __a,
  12235                          __vector __bool short __b) {
  12236   return __builtin_s390_vfaezh((__vector unsigned short)__a,
  12237                                (__vector unsigned short)__b, 0);
  12238 }
  12239 
  12240 static inline __ATTRS_o_ai __vector unsigned short
  12241 vec_find_any_eq_or_0_idx(__vector unsigned short __a,
  12242                          __vector unsigned short __b) {
  12243   return __builtin_s390_vfaezh(__a, __b, 0);
  12244 }
  12245 
  12246 static inline __ATTRS_o_ai __vector signed int
  12247 vec_find_any_eq_or_0_idx(__vector signed int __a,
  12248                          __vector signed int __b) {
  12249   return (__vector signed int)
  12250     __builtin_s390_vfaezf((__vector unsigned int)__a,
  12251                           (__vector unsigned int)__b, 0);
  12252 }
  12253 
  12254 static inline __ATTRS_o_ai __vector unsigned int
  12255 vec_find_any_eq_or_0_idx(__vector __bool int __a,
  12256                          __vector __bool int __b) {
  12257   return __builtin_s390_vfaezf((__vector unsigned int)__a,
  12258                                (__vector unsigned int)__b, 0);
  12259 }
  12260 
  12261 static inline __ATTRS_o_ai __vector unsigned int
  12262 vec_find_any_eq_or_0_idx(__vector unsigned int __a,
  12263                          __vector unsigned int __b) {
  12264   return __builtin_s390_vfaezf(__a, __b, 0);
  12265 }
  12266 
  12267 /*-- vec_find_any_eq_or_0_idx_cc --------------------------------------------*/
  12268 
  12269 static inline __ATTRS_o_ai __vector signed char
  12270 vec_find_any_eq_or_0_idx_cc(__vector signed char __a,
  12271                             __vector signed char __b, int *__cc) {
  12272   return (__vector signed char)
  12273     __builtin_s390_vfaezbs((__vector unsigned char)__a,
  12274                            (__vector unsigned char)__b, 0, __cc);
  12275 }
  12276 
  12277 static inline __ATTRS_o_ai __vector unsigned char
  12278 vec_find_any_eq_or_0_idx_cc(__vector __bool char __a,
  12279                             __vector __bool char __b, int *__cc) {
  12280   return __builtin_s390_vfaezbs((__vector unsigned char)__a,
  12281                                 (__vector unsigned char)__b, 0, __cc);
  12282 }
  12283 
  12284 static inline __ATTRS_o_ai __vector unsigned char
  12285 vec_find_any_eq_or_0_idx_cc(__vector unsigned char __a,
  12286                             __vector unsigned char __b, int *__cc) {
  12287   return __builtin_s390_vfaezbs(__a, __b, 0, __cc);
  12288 }
  12289 
  12290 static inline __ATTRS_o_ai __vector signed short
  12291 vec_find_any_eq_or_0_idx_cc(__vector signed short __a,
  12292                             __vector signed short __b, int *__cc) {
  12293   return (__vector signed short)
  12294     __builtin_s390_vfaezhs((__vector unsigned short)__a,
  12295                            (__vector unsigned short)__b, 0, __cc);
  12296 }
  12297 
  12298 static inline __ATTRS_o_ai __vector unsigned short
  12299 vec_find_any_eq_or_0_idx_cc(__vector __bool short __a,
  12300                             __vector __bool short __b, int *__cc) {
  12301   return __builtin_s390_vfaezhs((__vector unsigned short)__a,
  12302                                 (__vector unsigned short)__b, 0, __cc);
  12303 }
  12304 
  12305 static inline __ATTRS_o_ai __vector unsigned short
  12306 vec_find_any_eq_or_0_idx_cc(__vector unsigned short __a,
  12307                             __vector unsigned short __b, int *__cc) {
  12308   return __builtin_s390_vfaezhs(__a, __b, 0, __cc);
  12309 }
  12310 
  12311 static inline __ATTRS_o_ai __vector signed int
  12312 vec_find_any_eq_or_0_idx_cc(__vector signed int __a,
  12313                             __vector signed int __b, int *__cc) {
  12314   return (__vector signed int)
  12315     __builtin_s390_vfaezfs((__vector unsigned int)__a,
  12316                            (__vector unsigned int)__b, 0, __cc);
  12317 }
  12318 
  12319 static inline __ATTRS_o_ai __vector unsigned int
  12320 vec_find_any_eq_or_0_idx_cc(__vector __bool int __a,
  12321                             __vector __bool int __b, int *__cc) {
  12322   return __builtin_s390_vfaezfs((__vector unsigned int)__a,
  12323                                 (__vector unsigned int)__b, 0, __cc);
  12324 }
  12325 
  12326 static inline __ATTRS_o_ai __vector unsigned int
  12327 vec_find_any_eq_or_0_idx_cc(__vector unsigned int __a,
  12328                             __vector unsigned int __b, int *__cc) {
  12329   return __builtin_s390_vfaezfs(__a, __b, 0, __cc);
  12330 }
  12331 
  12332 /*-- vec_find_any_ne --------------------------------------------------------*/
  12333 
  12334 static inline __ATTRS_o_ai __vector __bool char
  12335 vec_find_any_ne(__vector signed char __a, __vector signed char __b) {
  12336   return (__vector __bool char)
  12337     __builtin_s390_vfaeb((__vector unsigned char)__a,
  12338                          (__vector unsigned char)__b, 12);
  12339 }
  12340 
  12341 static inline __ATTRS_o_ai __vector __bool char
  12342 vec_find_any_ne(__vector __bool char __a, __vector __bool char __b) {
  12343   return (__vector __bool char)
  12344     __builtin_s390_vfaeb((__vector unsigned char)__a,
  12345                          (__vector unsigned char)__b, 12);
  12346 }
  12347 
  12348 static inline __ATTRS_o_ai __vector __bool char
  12349 vec_find_any_ne(__vector unsigned char __a, __vector unsigned char __b) {
  12350   return (__vector __bool char)__builtin_s390_vfaeb(__a, __b, 12);
  12351 }
  12352 
  12353 static inline __ATTRS_o_ai __vector __bool short
  12354 vec_find_any_ne(__vector signed short __a, __vector signed short __b) {
  12355   return (__vector __bool short)
  12356     __builtin_s390_vfaeh((__vector unsigned short)__a,
  12357                          (__vector unsigned short)__b, 12);
  12358 }
  12359 
  12360 static inline __ATTRS_o_ai __vector __bool short
  12361 vec_find_any_ne(__vector __bool short __a, __vector __bool short __b) {
  12362   return (__vector __bool short)
  12363     __builtin_s390_vfaeh((__vector unsigned short)__a,
  12364                          (__vector unsigned short)__b, 12);
  12365 }
  12366 
  12367 static inline __ATTRS_o_ai __vector __bool short
  12368 vec_find_any_ne(__vector unsigned short __a, __vector unsigned short __b) {
  12369   return (__vector __bool short)__builtin_s390_vfaeh(__a, __b, 12);
  12370 }
  12371 
  12372 static inline __ATTRS_o_ai __vector __bool int
  12373 vec_find_any_ne(__vector signed int __a, __vector signed int __b) {
  12374   return (__vector __bool int)
  12375     __builtin_s390_vfaef((__vector unsigned int)__a,
  12376                          (__vector unsigned int)__b, 12);
  12377 }
  12378 
  12379 static inline __ATTRS_o_ai __vector __bool int
  12380 vec_find_any_ne(__vector __bool int __a, __vector __bool int __b) {
  12381   return (__vector __bool int)
  12382     __builtin_s390_vfaef((__vector unsigned int)__a,
  12383                          (__vector unsigned int)__b, 12);
  12384 }
  12385 
  12386 static inline __ATTRS_o_ai __vector __bool int
  12387 vec_find_any_ne(__vector unsigned int __a, __vector unsigned int __b) {
  12388   return (__vector __bool int)__builtin_s390_vfaef(__a, __b, 12);
  12389 }
  12390 
  12391 /*-- vec_find_any_ne_cc -----------------------------------------------------*/
  12392 
  12393 static inline __ATTRS_o_ai __vector __bool char
  12394 vec_find_any_ne_cc(__vector signed char __a,
  12395                    __vector signed char __b, int *__cc) {
  12396   return (__vector __bool char)
  12397     __builtin_s390_vfaebs((__vector unsigned char)__a,
  12398                           (__vector unsigned char)__b, 12, __cc);
  12399 }
  12400 
  12401 static inline __ATTRS_o_ai __vector __bool char
  12402 vec_find_any_ne_cc(__vector __bool char __a,
  12403                    __vector __bool char __b, int *__cc) {
  12404   return (__vector __bool char)
  12405     __builtin_s390_vfaebs((__vector unsigned char)__a,
  12406                           (__vector unsigned char)__b, 12, __cc);
  12407 }
  12408 
  12409 static inline __ATTRS_o_ai __vector __bool char
  12410 vec_find_any_ne_cc(__vector unsigned char __a,
  12411                    __vector unsigned char __b, int *__cc) {
  12412   return (__vector __bool char)__builtin_s390_vfaebs(__a, __b, 12, __cc);
  12413 }
  12414 
  12415 static inline __ATTRS_o_ai __vector __bool short
  12416 vec_find_any_ne_cc(__vector signed short __a,
  12417                    __vector signed short __b, int *__cc) {
  12418   return (__vector __bool short)
  12419     __builtin_s390_vfaehs((__vector unsigned short)__a,
  12420                           (__vector unsigned short)__b, 12, __cc);
  12421 }
  12422 
  12423 static inline __ATTRS_o_ai __vector __bool short
  12424 vec_find_any_ne_cc(__vector __bool short __a,
  12425                    __vector __bool short __b, int *__cc) {
  12426   return (__vector __bool short)
  12427     __builtin_s390_vfaehs((__vector unsigned short)__a,
  12428                           (__vector unsigned short)__b, 12, __cc);
  12429 }
  12430 
  12431 static inline __ATTRS_o_ai __vector __bool short
  12432 vec_find_any_ne_cc(__vector unsigned short __a,
  12433                    __vector unsigned short __b, int *__cc) {
  12434   return (__vector __bool short)__builtin_s390_vfaehs(__a, __b, 12, __cc);
  12435 }
  12436 
  12437 static inline __ATTRS_o_ai __vector __bool int
  12438 vec_find_any_ne_cc(__vector signed int __a,
  12439                    __vector signed int __b, int *__cc) {
  12440   return (__vector __bool int)
  12441     __builtin_s390_vfaefs((__vector unsigned int)__a,
  12442                           (__vector unsigned int)__b, 12, __cc);
  12443 }
  12444 
  12445 static inline __ATTRS_o_ai __vector __bool int
  12446 vec_find_any_ne_cc(__vector __bool int __a,
  12447                    __vector __bool int __b, int *__cc) {
  12448   return (__vector __bool int)
  12449     __builtin_s390_vfaefs((__vector unsigned int)__a,
  12450                           (__vector unsigned int)__b, 12, __cc);
  12451 }
  12452 
  12453 static inline __ATTRS_o_ai __vector __bool int
  12454 vec_find_any_ne_cc(__vector unsigned int __a,
  12455                    __vector unsigned int __b, int *__cc) {
  12456   return (__vector __bool int)__builtin_s390_vfaefs(__a, __b, 12, __cc);
  12457 }
  12458 
  12459 /*-- vec_find_any_ne_idx ----------------------------------------------------*/
  12460 
  12461 static inline __ATTRS_o_ai __vector signed char
  12462 vec_find_any_ne_idx(__vector signed char __a, __vector signed char __b) {
  12463   return (__vector signed char)
  12464     __builtin_s390_vfaeb((__vector unsigned char)__a,
  12465                          (__vector unsigned char)__b, 8);
  12466 }
  12467 
  12468 static inline __ATTRS_o_ai __vector unsigned char
  12469 vec_find_any_ne_idx(__vector __bool char __a, __vector __bool char __b) {
  12470   return __builtin_s390_vfaeb((__vector unsigned char)__a,
  12471                               (__vector unsigned char)__b, 8);
  12472 }
  12473 
  12474 static inline __ATTRS_o_ai __vector unsigned char
  12475 vec_find_any_ne_idx(__vector unsigned char __a, __vector unsigned char __b) {
  12476   return __builtin_s390_vfaeb(__a, __b, 8);
  12477 }
  12478 
  12479 static inline __ATTRS_o_ai __vector signed short
  12480 vec_find_any_ne_idx(__vector signed short __a, __vector signed short __b) {
  12481   return (__vector signed short)
  12482     __builtin_s390_vfaeh((__vector unsigned short)__a,
  12483                          (__vector unsigned short)__b, 8);
  12484 }
  12485 
  12486 static inline __ATTRS_o_ai __vector unsigned short
  12487 vec_find_any_ne_idx(__vector __bool short __a, __vector __bool short __b) {
  12488   return __builtin_s390_vfaeh((__vector unsigned short)__a,
  12489                               (__vector unsigned short)__b, 8);
  12490 }
  12491 
  12492 static inline __ATTRS_o_ai __vector unsigned short
  12493 vec_find_any_ne_idx(__vector unsigned short __a, __vector unsigned short __b) {
  12494   return __builtin_s390_vfaeh(__a, __b, 8);
  12495 }
  12496 
  12497 static inline __ATTRS_o_ai __vector signed int
  12498 vec_find_any_ne_idx(__vector signed int __a, __vector signed int __b) {
  12499   return (__vector signed int)
  12500     __builtin_s390_vfaef((__vector unsigned int)__a,
  12501                          (__vector unsigned int)__b, 8);
  12502 }
  12503 
  12504 static inline __ATTRS_o_ai __vector unsigned int
  12505 vec_find_any_ne_idx(__vector __bool int __a, __vector __bool int __b) {
  12506   return __builtin_s390_vfaef((__vector unsigned int)__a,
  12507                               (__vector unsigned int)__b, 8);
  12508 }
  12509 
  12510 static inline __ATTRS_o_ai __vector unsigned int
  12511 vec_find_any_ne_idx(__vector unsigned int __a, __vector unsigned int __b) {
  12512   return __builtin_s390_vfaef(__a, __b, 8);
  12513 }
  12514 
  12515 /*-- vec_find_any_ne_idx_cc -------------------------------------------------*/
  12516 
  12517 static inline __ATTRS_o_ai __vector signed char
  12518 vec_find_any_ne_idx_cc(__vector signed char __a,
  12519                        __vector signed char __b, int *__cc) {
  12520   return (__vector signed char)
  12521     __builtin_s390_vfaebs((__vector unsigned char)__a,
  12522                           (__vector unsigned char)__b, 8, __cc);
  12523 }
  12524 
  12525 static inline __ATTRS_o_ai __vector unsigned char
  12526 vec_find_any_ne_idx_cc(__vector __bool char __a,
  12527                        __vector __bool char __b, int *__cc) {
  12528   return __builtin_s390_vfaebs((__vector unsigned char)__a,
  12529                                (__vector unsigned char)__b, 8, __cc);
  12530 }
  12531 
  12532 static inline __ATTRS_o_ai __vector unsigned char
  12533 vec_find_any_ne_idx_cc(__vector unsigned char __a,
  12534                        __vector unsigned char __b,
  12535                        int *__cc) {
  12536   return __builtin_s390_vfaebs(__a, __b, 8, __cc);
  12537 }
  12538 
  12539 static inline __ATTRS_o_ai __vector signed short
  12540 vec_find_any_ne_idx_cc(__vector signed short __a,
  12541                        __vector signed short __b, int *__cc) {
  12542   return (__vector signed short)
  12543     __builtin_s390_vfaehs((__vector unsigned short)__a,
  12544                           (__vector unsigned short)__b, 8, __cc);
  12545 }
  12546 
  12547 static inline __ATTRS_o_ai __vector unsigned short
  12548 vec_find_any_ne_idx_cc(__vector __bool short __a,
  12549                        __vector __bool short __b, int *__cc) {
  12550   return __builtin_s390_vfaehs((__vector unsigned short)__a,
  12551                                (__vector unsigned short)__b, 8, __cc);
  12552 }
  12553 
  12554 static inline __ATTRS_o_ai __vector unsigned short
  12555 vec_find_any_ne_idx_cc(__vector unsigned short __a,
  12556                        __vector unsigned short __b, int *__cc) {
  12557   return __builtin_s390_vfaehs(__a, __b, 8, __cc);
  12558 }
  12559 
  12560 static inline __ATTRS_o_ai __vector signed int
  12561 vec_find_any_ne_idx_cc(__vector signed int __a,
  12562                        __vector signed int __b, int *__cc) {
  12563   return (__vector signed int)
  12564     __builtin_s390_vfaefs((__vector unsigned int)__a,
  12565                           (__vector unsigned int)__b, 8, __cc);
  12566 }
  12567 
  12568 static inline __ATTRS_o_ai __vector unsigned int
  12569 vec_find_any_ne_idx_cc(__vector __bool int __a,
  12570                        __vector __bool int __b, int *__cc) {
  12571   return __builtin_s390_vfaefs((__vector unsigned int)__a,
  12572                                (__vector unsigned int)__b, 8, __cc);
  12573 }
  12574 
  12575 static inline __ATTRS_o_ai __vector unsigned int
  12576 vec_find_any_ne_idx_cc(__vector unsigned int __a,
  12577                        __vector unsigned int __b, int *__cc) {
  12578   return __builtin_s390_vfaefs(__a, __b, 8, __cc);
  12579 }
  12580 
  12581 /*-- vec_find_any_ne_or_0_idx -----------------------------------------------*/
  12582 
  12583 static inline __ATTRS_o_ai __vector signed char
  12584 vec_find_any_ne_or_0_idx(__vector signed char __a,
  12585                          __vector signed char __b) {
  12586   return (__vector signed char)
  12587     __builtin_s390_vfaezb((__vector unsigned char)__a,
  12588                           (__vector unsigned char)__b, 8);
  12589 }
  12590 
  12591 static inline __ATTRS_o_ai __vector unsigned char
  12592 vec_find_any_ne_or_0_idx(__vector __bool char __a,
  12593                          __vector __bool char __b) {
  12594   return __builtin_s390_vfaezb((__vector unsigned char)__a,
  12595                                (__vector unsigned char)__b, 8);
  12596 }
  12597 
  12598 static inline __ATTRS_o_ai __vector unsigned char
  12599 vec_find_any_ne_or_0_idx(__vector unsigned char __a,
  12600                          __vector unsigned char __b) {
  12601   return __builtin_s390_vfaezb(__a, __b, 8);
  12602 }
  12603 
  12604 static inline __ATTRS_o_ai __vector signed short
  12605 vec_find_any_ne_or_0_idx(__vector signed short __a,
  12606                          __vector signed short __b) {
  12607   return (__vector signed short)
  12608     __builtin_s390_vfaezh((__vector unsigned short)__a,
  12609                           (__vector unsigned short)__b, 8);
  12610 }
  12611 
  12612 static inline __ATTRS_o_ai __vector unsigned short
  12613 vec_find_any_ne_or_0_idx(__vector __bool short __a,
  12614                          __vector __bool short __b) {
  12615   return __builtin_s390_vfaezh((__vector unsigned short)__a,
  12616                                (__vector unsigned short)__b, 8);
  12617 }
  12618 
  12619 static inline __ATTRS_o_ai __vector unsigned short
  12620 vec_find_any_ne_or_0_idx(__vector unsigned short __a,
  12621                          __vector unsigned short __b) {
  12622   return __builtin_s390_vfaezh(__a, __b, 8);
  12623 }
  12624 
  12625 static inline __ATTRS_o_ai __vector signed int
  12626 vec_find_any_ne_or_0_idx(__vector signed int __a,
  12627                          __vector signed int __b) {
  12628   return (__vector signed int)
  12629     __builtin_s390_vfaezf((__vector unsigned int)__a,
  12630                           (__vector unsigned int)__b, 8);
  12631 }
  12632 
  12633 static inline __ATTRS_o_ai __vector unsigned int
  12634 vec_find_any_ne_or_0_idx(__vector __bool int __a,
  12635                          __vector __bool int __b) {
  12636   return __builtin_s390_vfaezf((__vector unsigned int)__a,
  12637                                (__vector unsigned int)__b, 8);
  12638 }
  12639 
  12640 static inline __ATTRS_o_ai __vector unsigned int
  12641 vec_find_any_ne_or_0_idx(__vector unsigned int __a,
  12642                          __vector unsigned int __b) {
  12643   return __builtin_s390_vfaezf(__a, __b, 8);
  12644 }
  12645 
  12646 /*-- vec_find_any_ne_or_0_idx_cc --------------------------------------------*/
  12647 
  12648 static inline __ATTRS_o_ai __vector signed char
  12649 vec_find_any_ne_or_0_idx_cc(__vector signed char __a,
  12650                             __vector signed char __b, int *__cc) {
  12651   return (__vector signed char)
  12652     __builtin_s390_vfaezbs((__vector unsigned char)__a,
  12653                            (__vector unsigned char)__b, 8, __cc);
  12654 }
  12655 
  12656 static inline __ATTRS_o_ai __vector unsigned char
  12657 vec_find_any_ne_or_0_idx_cc(__vector __bool char __a,
  12658                             __vector __bool char __b, int *__cc) {
  12659   return __builtin_s390_vfaezbs((__vector unsigned char)__a,
  12660                                 (__vector unsigned char)__b, 8, __cc);
  12661 }
  12662 
  12663 static inline __ATTRS_o_ai __vector unsigned char
  12664 vec_find_any_ne_or_0_idx_cc(__vector unsigned char __a,
  12665                             __vector unsigned char __b, int *__cc) {
  12666   return __builtin_s390_vfaezbs(__a, __b, 8, __cc);
  12667 }
  12668 
  12669 static inline __ATTRS_o_ai __vector signed short
  12670 vec_find_any_ne_or_0_idx_cc(__vector signed short __a,
  12671                             __vector signed short __b, int *__cc) {
  12672   return (__vector signed short)
  12673     __builtin_s390_vfaezhs((__vector unsigned short)__a,
  12674                            (__vector unsigned short)__b, 8, __cc);
  12675 }
  12676 
  12677 static inline __ATTRS_o_ai __vector unsigned short
  12678 vec_find_any_ne_or_0_idx_cc(__vector __bool short __a,
  12679                             __vector __bool short __b, int *__cc) {
  12680   return __builtin_s390_vfaezhs((__vector unsigned short)__a,
  12681                                 (__vector unsigned short)__b, 8, __cc);
  12682 }
  12683 
  12684 static inline __ATTRS_o_ai __vector unsigned short
  12685 vec_find_any_ne_or_0_idx_cc(__vector unsigned short __a,
  12686                             __vector unsigned short __b, int *__cc) {
  12687   return __builtin_s390_vfaezhs(__a, __b, 8, __cc);
  12688 }
  12689 
  12690 static inline __ATTRS_o_ai __vector signed int
  12691 vec_find_any_ne_or_0_idx_cc(__vector signed int __a,
  12692                             __vector signed int __b, int *__cc) {
  12693   return (__vector signed int)
  12694     __builtin_s390_vfaezfs((__vector unsigned int)__a,
  12695                            (__vector unsigned int)__b, 8, __cc);
  12696 }
  12697 
  12698 static inline __ATTRS_o_ai __vector unsigned int
  12699 vec_find_any_ne_or_0_idx_cc(__vector __bool int __a,
  12700                             __vector __bool int __b, int *__cc) {
  12701   return __builtin_s390_vfaezfs((__vector unsigned int)__a,
  12702                                 (__vector unsigned int)__b, 8, __cc);
  12703 }
  12704 
  12705 static inline __ATTRS_o_ai __vector unsigned int
  12706 vec_find_any_ne_or_0_idx_cc(__vector unsigned int __a,
  12707                             __vector unsigned int __b, int *__cc) {
  12708   return __builtin_s390_vfaezfs(__a, __b, 8, __cc);
  12709 }
  12710 
  12711 /*-- vec_search_string_cc ---------------------------------------------------*/
  12712 
  12713 #if __ARCH__ >= 13
  12714 
  12715 static inline __ATTRS_o_ai __vector unsigned char
  12716 vec_search_string_cc(__vector signed char __a, __vector signed char __b,
  12717                      __vector unsigned char __c, int *__cc) {
  12718   return __builtin_s390_vstrsb((__vector unsigned char)__a,
  12719                                (__vector unsigned char)__b, __c, __cc);
  12720 }
  12721 
  12722 static inline __ATTRS_o_ai __vector unsigned char
  12723 vec_search_string_cc(__vector __bool char __a, __vector __bool char __b,
  12724                      __vector unsigned char __c, int *__cc) {
  12725   return __builtin_s390_vstrsb((__vector unsigned char)__a,
  12726                                (__vector unsigned char)__b, __c, __cc);
  12727 }
  12728 
  12729 static inline __ATTRS_o_ai __vector unsigned char
  12730 vec_search_string_cc(__vector unsigned char __a, __vector unsigned char __b,
  12731                      __vector unsigned char __c, int *__cc) {
  12732   return __builtin_s390_vstrsb(__a, __b, __c, __cc);
  12733 }
  12734 
  12735 static inline __ATTRS_o_ai __vector unsigned char
  12736 vec_search_string_cc(__vector signed short __a, __vector signed short __b,
  12737                      __vector unsigned char __c, int *__cc) {
  12738   return __builtin_s390_vstrsh((__vector unsigned short)__a,
  12739                                (__vector unsigned short)__b, __c, __cc);
  12740 }
  12741 
  12742 static inline __ATTRS_o_ai __vector unsigned char
  12743 vec_search_string_cc(__vector __bool short __a, __vector __bool short __b,
  12744                      __vector unsigned char __c, int *__cc) {
  12745   return __builtin_s390_vstrsh((__vector unsigned short)__a,
  12746                                (__vector unsigned short)__b, __c, __cc);
  12747 }
  12748 
  12749 static inline __ATTRS_o_ai __vector unsigned char
  12750 vec_search_string_cc(__vector unsigned short __a, __vector unsigned short __b,
  12751                      __vector unsigned char __c, int *__cc) {
  12752   return __builtin_s390_vstrsh(__a, __b, __c, __cc);
  12753 }
  12754 
  12755 static inline __ATTRS_o_ai __vector unsigned char
  12756 vec_search_string_cc(__vector signed int __a, __vector signed int __b,
  12757                      __vector unsigned char __c, int *__cc) {
  12758   return __builtin_s390_vstrsf((__vector unsigned int)__a,
  12759                                (__vector unsigned int)__b, __c, __cc);
  12760 }
  12761 
  12762 static inline __ATTRS_o_ai __vector unsigned char
  12763 vec_search_string_cc(__vector __bool int __a, __vector __bool int __b,
  12764                      __vector unsigned char __c, int *__cc) {
  12765   return __builtin_s390_vstrsf((__vector unsigned int)__a,
  12766                                (__vector unsigned int)__b, __c, __cc);
  12767 }
  12768 
  12769 static inline __ATTRS_o_ai __vector unsigned char
  12770 vec_search_string_cc(__vector unsigned int __a, __vector unsigned int __b,
  12771                      __vector unsigned char __c, int *__cc) {
  12772   return __builtin_s390_vstrsf(__a, __b, __c, __cc);
  12773 }
  12774 
  12775 #endif
  12776 
  12777 /*-- vec_search_string_until_zero_cc ----------------------------------------*/
  12778 
  12779 #if __ARCH__ >= 13
  12780 
  12781 static inline __ATTRS_o_ai __vector unsigned char
  12782 vec_search_string_until_zero_cc(__vector signed char __a,
  12783                                 __vector signed char __b,
  12784                                 __vector unsigned char __c, int *__cc) {
  12785   return __builtin_s390_vstrszb((__vector unsigned char)__a,
  12786                                 (__vector unsigned char)__b, __c, __cc);
  12787 }
  12788 
  12789 static inline __ATTRS_o_ai __vector unsigned char
  12790 vec_search_string_until_zero_cc(__vector __bool char __a,
  12791                                 __vector __bool char __b,
  12792                                 __vector unsigned char __c, int *__cc) {
  12793   return __builtin_s390_vstrszb((__vector unsigned char)__a,
  12794                                 (__vector unsigned char)__b, __c, __cc);
  12795 }
  12796 
  12797 static inline __ATTRS_o_ai __vector unsigned char
  12798 vec_search_string_until_zero_cc(__vector unsigned char __a,
  12799                                 __vector unsigned char __b,
  12800                                 __vector unsigned char __c, int *__cc) {
  12801   return __builtin_s390_vstrszb(__a, __b, __c, __cc);
  12802 }
  12803 
  12804 static inline __ATTRS_o_ai __vector unsigned char
  12805 vec_search_string_until_zero_cc(__vector signed short __a,
  12806                                 __vector signed short __b,
  12807                                 __vector unsigned char __c, int *__cc) {
  12808   return __builtin_s390_vstrszh((__vector unsigned short)__a,
  12809                                 (__vector unsigned short)__b, __c, __cc);
  12810 }
  12811 
  12812 static inline __ATTRS_o_ai __vector unsigned char
  12813 vec_search_string_until_zero_cc(__vector __bool short __a,
  12814                                 __vector __bool short __b,
  12815                                 __vector unsigned char __c, int *__cc) {
  12816   return __builtin_s390_vstrszh((__vector unsigned short)__a,
  12817                                 (__vector unsigned short)__b, __c, __cc);
  12818 }
  12819 
  12820 static inline __ATTRS_o_ai __vector unsigned char
  12821 vec_search_string_until_zero_cc(__vector unsigned short __a,
  12822                                 __vector unsigned short __b,
  12823                                 __vector unsigned char __c, int *__cc) {
  12824   return __builtin_s390_vstrszh(__a, __b, __c, __cc);
  12825 }
  12826 
  12827 static inline __ATTRS_o_ai __vector unsigned char
  12828 vec_search_string_until_zero_cc(__vector signed int __a,
  12829                                 __vector signed int __b,
  12830                                 __vector unsigned char __c, int *__cc) {
  12831   return __builtin_s390_vstrszf((__vector unsigned int)__a,
  12832                                 (__vector unsigned int)__b, __c, __cc);
  12833 }
  12834 
  12835 static inline __ATTRS_o_ai __vector unsigned char
  12836 vec_search_string_until_zero_cc(__vector __bool int __a,
  12837                                 __vector __bool int __b,
  12838                                 __vector unsigned char __c, int *__cc) {
  12839   return __builtin_s390_vstrszf((__vector unsigned int)__a,
  12840                                 (__vector unsigned int)__b, __c, __cc);
  12841 }
  12842 
  12843 static inline __ATTRS_o_ai __vector unsigned char
  12844 vec_search_string_until_zero_cc(__vector unsigned int __a,
  12845                                 __vector unsigned int __b,
  12846                                 __vector unsigned char __c, int *__cc) {
  12847   return __builtin_s390_vstrszf(__a, __b, __c, __cc);
  12848 }
  12849 
  12850 #endif
  12851 
  12852 #undef __constant_pow2_range
  12853 #undef __constant_range
  12854 #undef __constant
  12855 #undef __ATTRS_o
  12856 #undef __ATTRS_o_ai
  12857 #undef __ATTRS_ai
  12858 
  12859 #else
  12860 
  12861 #error "Use -fzvector to enable vector extensions"
  12862 
  12863 #endif