Home | History | Annotate | Download | only in include
      1 /*===---- vecintrin.h - Vector intrinsics ----------------------------------===
      2  *
      3  * Permission is hereby granted, free of charge, to any person obtaining a copy
      4  * of this software and associated documentation files (the "Software"), to deal
      5  * in the Software without restriction, including without limitation the rights
      6  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      7  * copies of the Software, and to permit persons to whom the Software is
      8  * furnished to do so, subject to the following conditions:
      9  *
     10  * The above copyright notice and this permission notice shall be included in
     11  * all copies or substantial portions of the Software.
     12  *
     13  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     14  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     15  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     16  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     17  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     18  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     19  * THE SOFTWARE.
     20  *
     21  *===-----------------------------------------------------------------------===
     22  */
     23 
     24 #if defined(__s390x__) && defined(__VEC__)
     25 
     26 #define __ATTRS_ai __attribute__((__always_inline__))
     27 #define __ATTRS_o __attribute__((__overloadable__))
     28 #define __ATTRS_o_ai __attribute__((__overloadable__, __always_inline__))
     29 
     30 #define __constant(PARM) \
     31   __attribute__((__enable_if__ ((PARM) == (PARM), \
     32      "argument must be a constant integer")))
     33 #define __constant_range(PARM, LOW, HIGH) \
     34   __attribute__((__enable_if__ ((PARM) >= (LOW) && (PARM) <= (HIGH), \
     35      "argument must be a constant integer from " #LOW " to " #HIGH)))
     36 #define __constant_pow2_range(PARM, LOW, HIGH) \
     37   __attribute__((__enable_if__ ((PARM) >= (LOW) && (PARM) <= (HIGH) && \
     38                                 ((PARM) & ((PARM) - 1)) == 0, \
     39      "argument must be a constant power of 2 from " #LOW " to " #HIGH)))
     40 
     41 /*-- __lcbb -----------------------------------------------------------------*/
     42 
     43 extern __ATTRS_o unsigned int
     44 __lcbb(const void *__ptr, unsigned short __len)
     45   __constant_pow2_range(__len, 64, 4096);
     46 
     47 #define __lcbb(X, Y) ((__typeof__((__lcbb)((X), (Y)))) \
     48   __builtin_s390_lcbb((X), __builtin_constant_p((Y))? \
     49                            ((Y) == 64 ? 0 : \
     50                             (Y) == 128 ? 1 : \
     51                             (Y) == 256 ? 2 : \
     52                             (Y) == 512 ? 3 : \
     53                             (Y) == 1024 ? 4 : \
     54                             (Y) == 2048 ? 5 : \
     55                             (Y) == 4096 ? 6 : 0) : 0))
     56 
     57 /*-- vec_extract ------------------------------------------------------------*/
     58 
     59 static inline __ATTRS_o_ai signed char
     60 vec_extract(vector signed char __vec, int __index) {
     61   return __vec[__index & 15];
     62 }
     63 
     64 static inline __ATTRS_o_ai unsigned char
     65 vec_extract(vector bool char __vec, int __index) {
     66   return __vec[__index & 15];
     67 }
     68 
     69 static inline __ATTRS_o_ai unsigned char
     70 vec_extract(vector unsigned char __vec, int __index) {
     71   return __vec[__index & 15];
     72 }
     73 
     74 static inline __ATTRS_o_ai signed short
     75 vec_extract(vector signed short __vec, int __index) {
     76   return __vec[__index & 7];
     77 }
     78 
     79 static inline __ATTRS_o_ai unsigned short
     80 vec_extract(vector bool short __vec, int __index) {
     81   return __vec[__index & 7];
     82 }
     83 
     84 static inline __ATTRS_o_ai unsigned short
     85 vec_extract(vector unsigned short __vec, int __index) {
     86   return __vec[__index & 7];
     87 }
     88 
     89 static inline __ATTRS_o_ai signed int
     90 vec_extract(vector signed int __vec, int __index) {
     91   return __vec[__index & 3];
     92 }
     93 
     94 static inline __ATTRS_o_ai unsigned int
     95 vec_extract(vector bool int __vec, int __index) {
     96   return __vec[__index & 3];
     97 }
     98 
     99 static inline __ATTRS_o_ai unsigned int
    100 vec_extract(vector unsigned int __vec, int __index) {
    101   return __vec[__index & 3];
    102 }
    103 
    104 static inline __ATTRS_o_ai signed long long
    105 vec_extract(vector signed long long __vec, int __index) {
    106   return __vec[__index & 1];
    107 }
    108 
    109 static inline __ATTRS_o_ai unsigned long long
    110 vec_extract(vector bool long long __vec, int __index) {
    111   return __vec[__index & 1];
    112 }
    113 
    114 static inline __ATTRS_o_ai unsigned long long
    115 vec_extract(vector unsigned long long __vec, int __index) {
    116   return __vec[__index & 1];
    117 }
    118 
    119 #if __ARCH__ >= 12
    120 static inline __ATTRS_o_ai float
    121 vec_extract(vector float __vec, int __index) {
    122   return __vec[__index & 3];
    123 }
    124 #endif
    125 
    126 static inline __ATTRS_o_ai double
    127 vec_extract(vector double __vec, int __index) {
    128   return __vec[__index & 1];
    129 }
    130 
    131 /*-- vec_insert -------------------------------------------------------------*/
    132 
    133 static inline __ATTRS_o_ai vector signed char
    134 vec_insert(signed char __scalar, vector signed char __vec, int __index) {
    135   __vec[__index & 15] = __scalar;
    136   return __vec;
    137 }
    138 
    139 // This prototype is deprecated.
    140 static inline __ATTRS_o_ai vector unsigned char
    141 vec_insert(unsigned char __scalar, vector bool char __vec, int __index) {
    142   vector unsigned char __newvec = (vector unsigned char)__vec;
    143   __newvec[__index & 15] = (unsigned char)__scalar;
    144   return __newvec;
    145 }
    146 
    147 static inline __ATTRS_o_ai vector unsigned char
    148 vec_insert(unsigned char __scalar, vector unsigned char __vec, int __index) {
    149   __vec[__index & 15] = __scalar;
    150   return __vec;
    151 }
    152 
    153 static inline __ATTRS_o_ai vector signed short
    154 vec_insert(signed short __scalar, vector signed short __vec, int __index) {
    155   __vec[__index & 7] = __scalar;
    156   return __vec;
    157 }
    158 
    159 // This prototype is deprecated.
    160 static inline __ATTRS_o_ai vector unsigned short
    161 vec_insert(unsigned short __scalar, vector bool short __vec, int __index) {
    162   vector unsigned short __newvec = (vector unsigned short)__vec;
    163   __newvec[__index & 7] = (unsigned short)__scalar;
    164   return __newvec;
    165 }
    166 
    167 static inline __ATTRS_o_ai vector unsigned short
    168 vec_insert(unsigned short __scalar, vector unsigned short __vec, int __index) {
    169   __vec[__index & 7] = __scalar;
    170   return __vec;
    171 }
    172 
    173 static inline __ATTRS_o_ai vector signed int
    174 vec_insert(signed int __scalar, vector signed int __vec, int __index) {
    175   __vec[__index & 3] = __scalar;
    176   return __vec;
    177 }
    178 
    179 // This prototype is deprecated.
    180 static inline __ATTRS_o_ai vector unsigned int
    181 vec_insert(unsigned int __scalar, vector bool int __vec, int __index) {
    182   vector unsigned int __newvec = (vector unsigned int)__vec;
    183   __newvec[__index & 3] = __scalar;
    184   return __newvec;
    185 }
    186 
    187 static inline __ATTRS_o_ai vector unsigned int
    188 vec_insert(unsigned int __scalar, vector unsigned int __vec, int __index) {
    189   __vec[__index & 3] = __scalar;
    190   return __vec;
    191 }
    192 
    193 static inline __ATTRS_o_ai vector signed long long
    194 vec_insert(signed long long __scalar, vector signed long long __vec,
    195            int __index) {
    196   __vec[__index & 1] = __scalar;
    197   return __vec;
    198 }
    199 
    200 // This prototype is deprecated.
    201 static inline __ATTRS_o_ai vector unsigned long long
    202 vec_insert(unsigned long long __scalar, vector bool long long __vec,
    203            int __index) {
    204   vector unsigned long long __newvec = (vector unsigned long long)__vec;
    205   __newvec[__index & 1] = __scalar;
    206   return __newvec;
    207 }
    208 
    209 static inline __ATTRS_o_ai vector unsigned long long
    210 vec_insert(unsigned long long __scalar, vector unsigned long long __vec,
    211            int __index) {
    212   __vec[__index & 1] = __scalar;
    213   return __vec;
    214 }
    215 
    216 #if __ARCH__ >= 12
    217 static inline __ATTRS_o_ai vector float
    218 vec_insert(float __scalar, vector float __vec, int __index) {
    219   __vec[__index & 1] = __scalar;
    220   return __vec;
    221 }
    222 #endif
    223 
    224 static inline __ATTRS_o_ai vector double
    225 vec_insert(double __scalar, vector double __vec, int __index) {
    226   __vec[__index & 1] = __scalar;
    227   return __vec;
    228 }
    229 
    230 /*-- vec_promote ------------------------------------------------------------*/
    231 
    232 static inline __ATTRS_o_ai vector signed char
    233 vec_promote(signed char __scalar, int __index) {
    234   const vector signed char __zero = (vector signed char)0;
    235   vector signed char __vec = __builtin_shufflevector(__zero, __zero,
    236     -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1);
    237   __vec[__index & 15] = __scalar;
    238   return __vec;
    239 }
    240 
    241 static inline __ATTRS_o_ai vector unsigned char
    242 vec_promote(unsigned char __scalar, int __index) {
    243   const vector unsigned char __zero = (vector unsigned char)0;
    244   vector unsigned char __vec = __builtin_shufflevector(__zero, __zero,
    245     -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1);
    246   __vec[__index & 15] = __scalar;
    247   return __vec;
    248 }
    249 
    250 static inline __ATTRS_o_ai vector signed short
    251 vec_promote(signed short __scalar, int __index) {
    252   const vector signed short __zero = (vector signed short)0;
    253   vector signed short __vec = __builtin_shufflevector(__zero, __zero,
    254                                 -1, -1, -1, -1, -1, -1, -1, -1);
    255   __vec[__index & 7] = __scalar;
    256   return __vec;
    257 }
    258 
    259 static inline __ATTRS_o_ai vector unsigned short
    260 vec_promote(unsigned short __scalar, int __index) {
    261   const vector unsigned short __zero = (vector unsigned short)0;
    262   vector unsigned short __vec = __builtin_shufflevector(__zero, __zero,
    263                                   -1, -1, -1, -1, -1, -1, -1, -1);
    264   __vec[__index & 7] = __scalar;
    265   return __vec;
    266 }
    267 
    268 static inline __ATTRS_o_ai vector signed int
    269 vec_promote(signed int __scalar, int __index) {
    270   const vector signed int __zero = (vector signed int)0;
    271   vector signed int __vec = __builtin_shufflevector(__zero, __zero,
    272                                                     -1, -1, -1, -1);
    273   __vec[__index & 3] = __scalar;
    274   return __vec;
    275 }
    276 
    277 static inline __ATTRS_o_ai vector unsigned int
    278 vec_promote(unsigned int __scalar, int __index) {
    279   const vector unsigned int __zero = (vector unsigned int)0;
    280   vector unsigned int __vec = __builtin_shufflevector(__zero, __zero,
    281                                                       -1, -1, -1, -1);
    282   __vec[__index & 3] = __scalar;
    283   return __vec;
    284 }
    285 
    286 static inline __ATTRS_o_ai vector signed long long
    287 vec_promote(signed long long __scalar, int __index) {
    288   const vector signed long long __zero = (vector signed long long)0;
    289   vector signed long long __vec = __builtin_shufflevector(__zero, __zero,
    290                                                           -1, -1);
    291   __vec[__index & 1] = __scalar;
    292   return __vec;
    293 }
    294 
    295 static inline __ATTRS_o_ai vector unsigned long long
    296 vec_promote(unsigned long long __scalar, int __index) {
    297   const vector unsigned long long __zero = (vector unsigned long long)0;
    298   vector unsigned long long __vec = __builtin_shufflevector(__zero, __zero,
    299                                                             -1, -1);
    300   __vec[__index & 1] = __scalar;
    301   return __vec;
    302 }
    303 
    304 #if __ARCH__ >= 12
    305 static inline __ATTRS_o_ai vector float
    306 vec_promote(float __scalar, int __index) {
    307   const vector float __zero = (vector float)0;
    308   vector float __vec = __builtin_shufflevector(__zero, __zero, -1, -1, -1, -1);
    309   __vec[__index & 3] = __scalar;
    310   return __vec;
    311 }
    312 #endif
    313 
    314 static inline __ATTRS_o_ai vector double
    315 vec_promote(double __scalar, int __index) {
    316   const vector double __zero = (vector double)0;
    317   vector double __vec = __builtin_shufflevector(__zero, __zero, -1, -1);
    318   __vec[__index & 1] = __scalar;
    319   return __vec;
    320 }
    321 
    322 /*-- vec_insert_and_zero ----------------------------------------------------*/
    323 
    324 static inline __ATTRS_o_ai vector signed char
    325 vec_insert_and_zero(const signed char *__ptr) {
    326   vector signed char __vec = (vector signed char)0;
    327   __vec[7] = *__ptr;
    328   return __vec;
    329 }
    330 
    331 static inline __ATTRS_o_ai vector unsigned char
    332 vec_insert_and_zero(const unsigned char *__ptr) {
    333   vector unsigned char __vec = (vector unsigned char)0;
    334   __vec[7] = *__ptr;
    335   return __vec;
    336 }
    337 
    338 static inline __ATTRS_o_ai vector signed short
    339 vec_insert_and_zero(const signed short *__ptr) {
    340   vector signed short __vec = (vector signed short)0;
    341   __vec[3] = *__ptr;
    342   return __vec;
    343 }
    344 
    345 static inline __ATTRS_o_ai vector unsigned short
    346 vec_insert_and_zero(const unsigned short *__ptr) {
    347   vector unsigned short __vec = (vector unsigned short)0;
    348   __vec[3] = *__ptr;
    349   return __vec;
    350 }
    351 
    352 static inline __ATTRS_o_ai vector signed int
    353 vec_insert_and_zero(const signed int *__ptr) {
    354   vector signed int __vec = (vector signed int)0;
    355   __vec[1] = *__ptr;
    356   return __vec;
    357 }
    358 
    359 static inline __ATTRS_o_ai vector unsigned int
    360 vec_insert_and_zero(const unsigned int *__ptr) {
    361   vector unsigned int __vec = (vector unsigned int)0;
    362   __vec[1] = *__ptr;
    363   return __vec;
    364 }
    365 
    366 static inline __ATTRS_o_ai vector signed long long
    367 vec_insert_and_zero(const signed long long *__ptr) {
    368   vector signed long long __vec = (vector signed long long)0;
    369   __vec[0] = *__ptr;
    370   return __vec;
    371 }
    372 
    373 static inline __ATTRS_o_ai vector unsigned long long
    374 vec_insert_and_zero(const unsigned long long *__ptr) {
    375   vector unsigned long long __vec = (vector unsigned long long)0;
    376   __vec[0] = *__ptr;
    377   return __vec;
    378 }
    379 
    380 #if __ARCH__ >= 12
    381 static inline __ATTRS_o_ai vector float
    382 vec_insert_and_zero(const float *__ptr) {
    383   vector float __vec = (vector float)0;
    384   __vec[0] = *__ptr;
    385   return __vec;
    386 }
    387 #endif
    388 
    389 static inline __ATTRS_o_ai vector double
    390 vec_insert_and_zero(const double *__ptr) {
    391   vector double __vec = (vector double)0;
    392   __vec[0] = *__ptr;
    393   return __vec;
    394 }
    395 
    396 /*-- vec_perm ---------------------------------------------------------------*/
    397 
    398 static inline __ATTRS_o_ai vector signed char
    399 vec_perm(vector signed char __a, vector signed char __b,
    400          vector unsigned char __c) {
    401   return (vector signed char)__builtin_s390_vperm(
    402            (vector unsigned char)__a, (vector unsigned char)__b, __c);
    403 }
    404 
    405 static inline __ATTRS_o_ai vector unsigned char
    406 vec_perm(vector unsigned char __a, vector unsigned char __b,
    407          vector unsigned char __c) {
    408   return (vector unsigned char)__builtin_s390_vperm(
    409            (vector unsigned char)__a, (vector unsigned char)__b, __c);
    410 }
    411 
    412 static inline __ATTRS_o_ai vector bool char
    413 vec_perm(vector bool char __a, vector bool char __b,
    414          vector unsigned char __c) {
    415   return (vector bool char)__builtin_s390_vperm(
    416            (vector unsigned char)__a, (vector unsigned char)__b, __c);
    417 }
    418 
    419 static inline __ATTRS_o_ai vector signed short
    420 vec_perm(vector signed short __a, vector signed short __b,
    421          vector unsigned char __c) {
    422   return (vector signed short)__builtin_s390_vperm(
    423            (vector unsigned char)__a, (vector unsigned char)__b, __c);
    424 }
    425 
    426 static inline __ATTRS_o_ai vector unsigned short
    427 vec_perm(vector unsigned short __a, vector unsigned short __b,
    428          vector unsigned char __c) {
    429   return (vector unsigned short)__builtin_s390_vperm(
    430            (vector unsigned char)__a, (vector unsigned char)__b, __c);
    431 }
    432 
    433 static inline __ATTRS_o_ai vector bool short
    434 vec_perm(vector bool short __a, vector bool short __b,
    435          vector unsigned char __c) {
    436   return (vector bool short)__builtin_s390_vperm(
    437            (vector unsigned char)__a, (vector unsigned char)__b, __c);
    438 }
    439 
    440 static inline __ATTRS_o_ai vector signed int
    441 vec_perm(vector signed int __a, vector signed int __b,
    442          vector unsigned char __c) {
    443   return (vector signed int)__builtin_s390_vperm(
    444            (vector unsigned char)__a, (vector unsigned char)__b, __c);
    445 }
    446 
    447 static inline __ATTRS_o_ai vector unsigned int
    448 vec_perm(vector unsigned int __a, vector unsigned int __b,
    449          vector unsigned char __c) {
    450   return (vector unsigned int)__builtin_s390_vperm(
    451            (vector unsigned char)__a, (vector unsigned char)__b, __c);
    452 }
    453 
    454 static inline __ATTRS_o_ai vector bool int
    455 vec_perm(vector bool int __a, vector bool int __b,
    456          vector unsigned char __c) {
    457   return (vector bool int)__builtin_s390_vperm(
    458            (vector unsigned char)__a, (vector unsigned char)__b, __c);
    459 }
    460 
    461 static inline __ATTRS_o_ai vector signed long long
    462 vec_perm(vector signed long long __a, vector signed long long __b,
    463          vector unsigned char __c) {
    464   return (vector signed long long)__builtin_s390_vperm(
    465            (vector unsigned char)__a, (vector unsigned char)__b, __c);
    466 }
    467 
    468 static inline __ATTRS_o_ai vector unsigned long long
    469 vec_perm(vector unsigned long long __a, vector unsigned long long __b,
    470          vector unsigned char __c) {
    471   return (vector unsigned long long)__builtin_s390_vperm(
    472            (vector unsigned char)__a, (vector unsigned char)__b, __c);
    473 }
    474 
    475 static inline __ATTRS_o_ai vector bool long long
    476 vec_perm(vector bool long long __a, vector bool long long __b,
    477          vector unsigned char __c) {
    478   return (vector bool long long)__builtin_s390_vperm(
    479            (vector unsigned char)__a, (vector unsigned char)__b, __c);
    480 }
    481 
    482 #if __ARCH__ >= 12
    483 static inline __ATTRS_o_ai vector float
    484 vec_perm(vector float __a, vector float __b,
    485          vector unsigned char __c) {
    486   return (vector float)__builtin_s390_vperm(
    487            (vector unsigned char)__a, (vector unsigned char)__b, __c);
    488 }
    489 #endif
    490 
    491 static inline __ATTRS_o_ai vector double
    492 vec_perm(vector double __a, vector double __b,
    493          vector unsigned char __c) {
    494   return (vector double)__builtin_s390_vperm(
    495            (vector unsigned char)__a, (vector unsigned char)__b, __c);
    496 }
    497 
    498 /*-- vec_permi --------------------------------------------------------------*/
    499 
    500 // This prototype is deprecated.
    501 extern __ATTRS_o vector signed long long
    502 vec_permi(vector signed long long __a, vector signed long long __b, int __c)
    503   __constant_range(__c, 0, 3);
    504 
    505 // This prototype is deprecated.
    506 extern __ATTRS_o vector unsigned long long
    507 vec_permi(vector unsigned long long __a, vector unsigned long long __b, int __c)
    508   __constant_range(__c, 0, 3);
    509 
    510 // This prototype is deprecated.
    511 extern __ATTRS_o vector bool long long
    512 vec_permi(vector bool long long __a, vector bool long long __b, int __c)
    513   __constant_range(__c, 0, 3);
    514 
    515 // This prototype is deprecated.
    516 extern __ATTRS_o vector double
    517 vec_permi(vector double __a, vector double __b, int __c)
    518   __constant_range(__c, 0, 3);
    519 
    520 #define vec_permi(X, Y, Z) ((__typeof__((vec_permi)((X), (Y), (Z)))) \
    521   __builtin_s390_vpdi((vector unsigned long long)(X), \
    522                       (vector unsigned long long)(Y), \
    523                       (((Z) & 2) << 1) | ((Z) & 1)))
    524 
    525 /*-- vec_bperm_u128 ---------------------------------------------------------*/
    526 
    527 #if __ARCH__ >= 12
    528 static inline __ATTRS_ai vector unsigned long long
    529 vec_bperm_u128(vector unsigned char __a, vector unsigned char __b) {
    530   return __builtin_s390_vbperm(__a, __b);
    531 }
    532 #endif
    533 
    534 /*-- vec_sel ----------------------------------------------------------------*/
    535 
    536 static inline __ATTRS_o_ai vector signed char
    537 vec_sel(vector signed char __a, vector signed char __b,
    538         vector unsigned char __c) {
    539   return ((vector signed char)__c & __b) | (~(vector signed char)__c & __a);
    540 }
    541 
    542 static inline __ATTRS_o_ai vector signed char
    543 vec_sel(vector signed char __a, vector signed char __b, vector bool char __c) {
    544   return ((vector signed char)__c & __b) | (~(vector signed char)__c & __a);
    545 }
    546 
    547 static inline __ATTRS_o_ai vector bool char
    548 vec_sel(vector bool char __a, vector bool char __b, vector unsigned char __c) {
    549   return ((vector bool char)__c & __b) | (~(vector bool char)__c & __a);
    550 }
    551 
    552 static inline __ATTRS_o_ai vector bool char
    553 vec_sel(vector bool char __a, vector bool char __b, vector bool char __c) {
    554   return (__c & __b) | (~__c & __a);
    555 }
    556 
    557 static inline __ATTRS_o_ai vector unsigned char
    558 vec_sel(vector unsigned char __a, vector unsigned char __b,
    559         vector unsigned char __c) {
    560   return (__c & __b) | (~__c & __a);
    561 }
    562 
    563 static inline __ATTRS_o_ai vector unsigned char
    564 vec_sel(vector unsigned char __a, vector unsigned char __b,
    565         vector bool char __c) {
    566   return ((vector unsigned char)__c & __b) | (~(vector unsigned char)__c & __a);
    567 }
    568 
    569 static inline __ATTRS_o_ai vector signed short
    570 vec_sel(vector signed short __a, vector signed short __b,
    571         vector unsigned short __c) {
    572   return ((vector signed short)__c & __b) | (~(vector signed short)__c & __a);
    573 }
    574 
    575 static inline __ATTRS_o_ai vector signed short
    576 vec_sel(vector signed short __a, vector signed short __b,
    577         vector bool short __c) {
    578   return ((vector signed short)__c & __b) | (~(vector signed short)__c & __a);
    579 }
    580 
    581 static inline __ATTRS_o_ai vector bool short
    582 vec_sel(vector bool short __a, vector bool short __b,
    583         vector unsigned short __c) {
    584   return ((vector bool short)__c & __b) | (~(vector bool short)__c & __a);
    585 }
    586 
    587 static inline __ATTRS_o_ai vector bool short
    588 vec_sel(vector bool short __a, vector bool short __b, vector bool short __c) {
    589   return (__c & __b) | (~__c & __a);
    590 }
    591 
    592 static inline __ATTRS_o_ai vector unsigned short
    593 vec_sel(vector unsigned short __a, vector unsigned short __b,
    594         vector unsigned short __c) {
    595   return (__c & __b) | (~__c & __a);
    596 }
    597 
    598 static inline __ATTRS_o_ai vector unsigned short
    599 vec_sel(vector unsigned short __a, vector unsigned short __b,
    600         vector bool short __c) {
    601   return (((vector unsigned short)__c & __b) |
    602           (~(vector unsigned short)__c & __a));
    603 }
    604 
    605 static inline __ATTRS_o_ai vector signed int
    606 vec_sel(vector signed int __a, vector signed int __b,
    607         vector unsigned int __c) {
    608   return ((vector signed int)__c & __b) | (~(vector signed int)__c & __a);
    609 }
    610 
    611 static inline __ATTRS_o_ai vector signed int
    612 vec_sel(vector signed int __a, vector signed int __b, vector bool int __c) {
    613   return ((vector signed int)__c & __b) | (~(vector signed int)__c & __a);
    614 }
    615 
    616 static inline __ATTRS_o_ai vector bool int
    617 vec_sel(vector bool int __a, vector bool int __b, vector unsigned int __c) {
    618   return ((vector bool int)__c & __b) | (~(vector bool int)__c & __a);
    619 }
    620 
    621 static inline __ATTRS_o_ai vector bool int
    622 vec_sel(vector bool int __a, vector bool int __b, vector bool int __c) {
    623   return (__c & __b) | (~__c & __a);
    624 }
    625 
    626 static inline __ATTRS_o_ai vector unsigned int
    627 vec_sel(vector unsigned int __a, vector unsigned int __b,
    628         vector unsigned int __c) {
    629   return (__c & __b) | (~__c & __a);
    630 }
    631 
    632 static inline __ATTRS_o_ai vector unsigned int
    633 vec_sel(vector unsigned int __a, vector unsigned int __b, vector bool int __c) {
    634   return ((vector unsigned int)__c & __b) | (~(vector unsigned int)__c & __a);
    635 }
    636 
    637 static inline __ATTRS_o_ai vector signed long long
    638 vec_sel(vector signed long long __a, vector signed long long __b,
    639         vector unsigned long long __c) {
    640   return (((vector signed long long)__c & __b) |
    641           (~(vector signed long long)__c & __a));
    642 }
    643 
    644 static inline __ATTRS_o_ai vector signed long long
    645 vec_sel(vector signed long long __a, vector signed long long __b,
    646         vector bool long long __c) {
    647   return (((vector signed long long)__c & __b) |
    648           (~(vector signed long long)__c & __a));
    649 }
    650 
    651 static inline __ATTRS_o_ai vector bool long long
    652 vec_sel(vector bool long long __a, vector bool long long __b,
    653         vector unsigned long long __c) {
    654   return (((vector bool long long)__c & __b) |
    655           (~(vector bool long long)__c & __a));
    656 }
    657 
    658 static inline __ATTRS_o_ai vector bool long long
    659 vec_sel(vector bool long long __a, vector bool long long __b,
    660         vector bool long long __c) {
    661   return (__c & __b) | (~__c & __a);
    662 }
    663 
    664 static inline __ATTRS_o_ai vector unsigned long long
    665 vec_sel(vector unsigned long long __a, vector unsigned long long __b,
    666         vector unsigned long long __c) {
    667   return (__c & __b) | (~__c & __a);
    668 }
    669 
    670 static inline __ATTRS_o_ai vector unsigned long long
    671 vec_sel(vector unsigned long long __a, vector unsigned long long __b,
    672         vector bool long long __c) {
    673   return (((vector unsigned long long)__c & __b) |
    674           (~(vector unsigned long long)__c & __a));
    675 }
    676 
    677 #if __ARCH__ >= 12
    678 static inline __ATTRS_o_ai vector float
    679 vec_sel(vector float __a, vector float __b, vector unsigned int __c) {
    680   return (vector float)((__c & (vector unsigned int)__b) |
    681                         (~__c & (vector unsigned int)__a));
    682 }
    683 
    684 static inline __ATTRS_o_ai vector float
    685 vec_sel(vector float __a, vector float __b, vector bool int __c) {
    686   vector unsigned int __ac = (vector unsigned int)__a;
    687   vector unsigned int __bc = (vector unsigned int)__b;
    688   vector unsigned int __cc = (vector unsigned int)__c;
    689   return (vector float)((__cc & __bc) | (~__cc & __ac));
    690 }
    691 #endif
    692 
    693 static inline __ATTRS_o_ai vector double
    694 vec_sel(vector double __a, vector double __b, vector unsigned long long __c) {
    695   return (vector double)((__c & (vector unsigned long long)__b) |
    696                          (~__c & (vector unsigned long long)__a));
    697 }
    698 
    699 static inline __ATTRS_o_ai vector double
    700 vec_sel(vector double __a, vector double __b, vector bool long long __c) {
    701   vector unsigned long long __ac = (vector unsigned long long)__a;
    702   vector unsigned long long __bc = (vector unsigned long long)__b;
    703   vector unsigned long long __cc = (vector unsigned long long)__c;
    704   return (vector double)((__cc & __bc) | (~__cc & __ac));
    705 }
    706 
    707 /*-- vec_gather_element -----------------------------------------------------*/
    708 
    709 static inline __ATTRS_o_ai vector signed int
    710 vec_gather_element(vector signed int __vec, vector unsigned int __offset,
    711                    const signed int *__ptr, int __index)
    712   __constant_range(__index, 0, 3) {
    713   __vec[__index] = *(const signed int *)(
    714     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
    715   return __vec;
    716 }
    717 
    718 static inline __ATTRS_o_ai vector bool int
    719 vec_gather_element(vector bool int __vec, vector unsigned int __offset,
    720                    const unsigned int *__ptr, int __index)
    721   __constant_range(__index, 0, 3) {
    722   __vec[__index] = *(const unsigned int *)(
    723     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
    724   return __vec;
    725 }
    726 
    727 static inline __ATTRS_o_ai vector unsigned int
    728 vec_gather_element(vector unsigned int __vec, vector unsigned int __offset,
    729                    const unsigned int *__ptr, int __index)
    730   __constant_range(__index, 0, 3) {
    731   __vec[__index] = *(const unsigned int *)(
    732     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
    733   return __vec;
    734 }
    735 
    736 static inline __ATTRS_o_ai vector signed long long
    737 vec_gather_element(vector signed long long __vec,
    738                    vector unsigned long long __offset,
    739                    const signed long long *__ptr, int __index)
    740   __constant_range(__index, 0, 1) {
    741   __vec[__index] = *(const signed long long *)(
    742     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
    743   return __vec;
    744 }
    745 
    746 static inline __ATTRS_o_ai vector bool long long
    747 vec_gather_element(vector bool long long __vec,
    748                    vector unsigned long long __offset,
    749                    const unsigned long long *__ptr, int __index)
    750   __constant_range(__index, 0, 1) {
    751   __vec[__index] = *(const unsigned long long *)(
    752     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
    753   return __vec;
    754 }
    755 
    756 static inline __ATTRS_o_ai vector unsigned long long
    757 vec_gather_element(vector unsigned long long __vec,
    758                    vector unsigned long long __offset,
    759                    const unsigned long long *__ptr, int __index)
    760   __constant_range(__index, 0, 1) {
    761   __vec[__index] = *(const unsigned long long *)(
    762     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
    763   return __vec;
    764 }
    765 
    766 #if __ARCH__ >= 12
    767 static inline __ATTRS_o_ai vector float
    768 vec_gather_element(vector float __vec, vector unsigned int __offset,
    769                    const float *__ptr, int __index)
    770   __constant_range(__index, 0, 3) {
    771   __vec[__index] = *(const float *)(
    772     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
    773   return __vec;
    774 }
    775 #endif
    776 
    777 static inline __ATTRS_o_ai vector double
    778 vec_gather_element(vector double __vec, vector unsigned long long __offset,
    779                    const double *__ptr, int __index)
    780   __constant_range(__index, 0, 1) {
    781   __vec[__index] = *(const double *)(
    782     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
    783   return __vec;
    784 }
    785 
    786 /*-- vec_scatter_element ----------------------------------------------------*/
    787 
    788 static inline __ATTRS_o_ai void
    789 vec_scatter_element(vector signed int __vec, vector unsigned int __offset,
    790                     signed int *__ptr, int __index)
    791   __constant_range(__index, 0, 3) {
    792   *(signed int *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
    793     __vec[__index];
    794 }
    795 
    796 static inline __ATTRS_o_ai void
    797 vec_scatter_element(vector bool int __vec, vector unsigned int __offset,
    798                     unsigned int *__ptr, int __index)
    799   __constant_range(__index, 0, 3) {
    800   *(unsigned int *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
    801     __vec[__index];
    802 }
    803 
    804 static inline __ATTRS_o_ai void
    805 vec_scatter_element(vector unsigned int __vec, vector unsigned int __offset,
    806                     unsigned int *__ptr, int __index)
    807   __constant_range(__index, 0, 3) {
    808   *(unsigned int *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
    809     __vec[__index];
    810 }
    811 
    812 static inline __ATTRS_o_ai void
    813 vec_scatter_element(vector signed long long __vec,
    814                     vector unsigned long long __offset,
    815                     signed long long *__ptr, int __index)
    816   __constant_range(__index, 0, 1) {
    817   *(signed long long *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
    818     __vec[__index];
    819 }
    820 
    821 static inline __ATTRS_o_ai void
    822 vec_scatter_element(vector bool long long __vec,
    823                     vector unsigned long long __offset,
    824                     unsigned long long *__ptr, int __index)
    825   __constant_range(__index, 0, 1) {
    826   *(unsigned long long *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
    827     __vec[__index];
    828 }
    829 
    830 static inline __ATTRS_o_ai void
    831 vec_scatter_element(vector unsigned long long __vec,
    832                     vector unsigned long long __offset,
    833                     unsigned long long *__ptr, int __index)
    834   __constant_range(__index, 0, 1) {
    835   *(unsigned long long *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
    836     __vec[__index];
    837 }
    838 
    839 #if __ARCH__ >= 12
    840 static inline __ATTRS_o_ai void
    841 vec_scatter_element(vector float __vec, vector unsigned int __offset,
    842                     float *__ptr, int __index)
    843   __constant_range(__index, 0, 3) {
    844   *(float *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
    845     __vec[__index];
    846 }
    847 #endif
    848 
    849 static inline __ATTRS_o_ai void
    850 vec_scatter_element(vector double __vec, vector unsigned long long __offset,
    851                     double *__ptr, int __index)
    852   __constant_range(__index, 0, 1) {
    853   *(double *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
    854     __vec[__index];
    855 }
    856 
    857 /*-- vec_xl -----------------------------------------------------------------*/
    858 
    859 static inline __ATTRS_o_ai vector signed char
    860 vec_xl(long __offset, const signed char *__ptr) {
    861   return *(const vector signed char *)((__INTPTR_TYPE__)__ptr + __offset);
    862 }
    863 
    864 static inline __ATTRS_o_ai vector unsigned char
    865 vec_xl(long __offset, const unsigned char *__ptr) {
    866   return *(const vector unsigned char *)((__INTPTR_TYPE__)__ptr + __offset);
    867 }
    868 
    869 static inline __ATTRS_o_ai vector signed short
    870 vec_xl(long __offset, const signed short *__ptr) {
    871   return *(const vector signed short *)((__INTPTR_TYPE__)__ptr + __offset);
    872 }
    873 
    874 static inline __ATTRS_o_ai vector unsigned short
    875 vec_xl(long __offset, const unsigned short *__ptr) {
    876   return *(const vector unsigned short *)((__INTPTR_TYPE__)__ptr + __offset);
    877 }
    878 
    879 static inline __ATTRS_o_ai vector signed int
    880 vec_xl(long __offset, const signed int *__ptr) {
    881   return *(const vector signed int *)((__INTPTR_TYPE__)__ptr + __offset);
    882 }
    883 
    884 static inline __ATTRS_o_ai vector unsigned int
    885 vec_xl(long __offset, const unsigned int *__ptr) {
    886   return *(const vector unsigned int *)((__INTPTR_TYPE__)__ptr + __offset);
    887 }
    888 
    889 static inline __ATTRS_o_ai vector signed long long
    890 vec_xl(long __offset, const signed long long *__ptr) {
    891   return *(const vector signed long long *)((__INTPTR_TYPE__)__ptr + __offset);
    892 }
    893 
    894 static inline __ATTRS_o_ai vector unsigned long long
    895 vec_xl(long __offset, const unsigned long long *__ptr) {
    896   return *(const vector unsigned long long *)((__INTPTR_TYPE__)__ptr + __offset);
    897 }
    898 
    899 #if __ARCH__ >= 12
    900 static inline __ATTRS_o_ai vector float
    901 vec_xl(long __offset, const float *__ptr) {
    902   return *(const vector float *)((__INTPTR_TYPE__)__ptr + __offset);
    903 }
    904 #endif
    905 
    906 static inline __ATTRS_o_ai vector double
    907 vec_xl(long __offset, const double *__ptr) {
    908   return *(const vector double *)((__INTPTR_TYPE__)__ptr + __offset);
    909 }
    910 
    911 /*-- vec_xld2 ---------------------------------------------------------------*/
    912 
    913 // This prototype is deprecated.
    914 static inline __ATTRS_o_ai vector signed char
    915 vec_xld2(long __offset, const signed char *__ptr) {
    916   return *(const vector signed char *)((__INTPTR_TYPE__)__ptr + __offset);
    917 }
    918 
    919 // This prototype is deprecated.
    920 static inline __ATTRS_o_ai vector unsigned char
    921 vec_xld2(long __offset, const unsigned char *__ptr) {
    922   return *(const vector unsigned char *)((__INTPTR_TYPE__)__ptr + __offset);
    923 }
    924 
    925 // This prototype is deprecated.
    926 static inline __ATTRS_o_ai vector signed short
    927 vec_xld2(long __offset, const signed short *__ptr) {
    928   return *(const vector signed short *)((__INTPTR_TYPE__)__ptr + __offset);
    929 }
    930 
    931 // This prototype is deprecated.
    932 static inline __ATTRS_o_ai vector unsigned short
    933 vec_xld2(long __offset, const unsigned short *__ptr) {
    934   return *(const vector unsigned short *)((__INTPTR_TYPE__)__ptr + __offset);
    935 }
    936 
    937 // This prototype is deprecated.
    938 static inline __ATTRS_o_ai vector signed int
    939 vec_xld2(long __offset, const signed int *__ptr) {
    940   return *(const vector signed int *)((__INTPTR_TYPE__)__ptr + __offset);
    941 }
    942 
    943 // This prototype is deprecated.
    944 static inline __ATTRS_o_ai vector unsigned int
    945 vec_xld2(long __offset, const unsigned int *__ptr) {
    946   return *(const vector unsigned int *)((__INTPTR_TYPE__)__ptr + __offset);
    947 }
    948 
    949 // This prototype is deprecated.
    950 static inline __ATTRS_o_ai vector signed long long
    951 vec_xld2(long __offset, const signed long long *__ptr) {
    952   return *(const vector signed long long *)((__INTPTR_TYPE__)__ptr + __offset);
    953 }
    954 
    955 // This prototype is deprecated.
    956 static inline __ATTRS_o_ai vector unsigned long long
    957 vec_xld2(long __offset, const unsigned long long *__ptr) {
    958   return *(const vector unsigned long long *)((__INTPTR_TYPE__)__ptr + __offset);
    959 }
    960 
    961 // This prototype is deprecated.
    962 static inline __ATTRS_o_ai vector double
    963 vec_xld2(long __offset, const double *__ptr) {
    964   return *(const vector double *)((__INTPTR_TYPE__)__ptr + __offset);
    965 }
    966 
    967 /*-- vec_xlw4 ---------------------------------------------------------------*/
    968 
    969 // This prototype is deprecated.
    970 static inline __ATTRS_o_ai vector signed char
    971 vec_xlw4(long __offset, const signed char *__ptr) {
    972   return *(const vector signed char *)((__INTPTR_TYPE__)__ptr + __offset);
    973 }
    974 
    975 // This prototype is deprecated.
    976 static inline __ATTRS_o_ai vector unsigned char
    977 vec_xlw4(long __offset, const unsigned char *__ptr) {
    978   return *(const vector unsigned char *)((__INTPTR_TYPE__)__ptr + __offset);
    979 }
    980 
    981 // This prototype is deprecated.
    982 static inline __ATTRS_o_ai vector signed short
    983 vec_xlw4(long __offset, const signed short *__ptr) {
    984   return *(const vector signed short *)((__INTPTR_TYPE__)__ptr + __offset);
    985 }
    986 
    987 // This prototype is deprecated.
    988 static inline __ATTRS_o_ai vector unsigned short
    989 vec_xlw4(long __offset, const unsigned short *__ptr) {
    990   return *(const vector unsigned short *)((__INTPTR_TYPE__)__ptr + __offset);
    991 }
    992 
    993 // This prototype is deprecated.
    994 static inline __ATTRS_o_ai vector signed int
    995 vec_xlw4(long __offset, const signed int *__ptr) {
    996   return *(const vector signed int *)((__INTPTR_TYPE__)__ptr + __offset);
    997 }
    998 
    999 // This prototype is deprecated.
   1000 static inline __ATTRS_o_ai vector unsigned int
   1001 vec_xlw4(long __offset, const unsigned int *__ptr) {
   1002   return *(const vector unsigned int *)((__INTPTR_TYPE__)__ptr + __offset);
   1003 }
   1004 
   1005 /*-- vec_xst ----------------------------------------------------------------*/
   1006 
   1007 static inline __ATTRS_o_ai void
   1008 vec_xst(vector signed char __vec, long __offset, signed char *__ptr) {
   1009   *(vector signed char *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1010 }
   1011 
   1012 static inline __ATTRS_o_ai void
   1013 vec_xst(vector unsigned char __vec, long __offset, unsigned char *__ptr) {
   1014   *(vector unsigned char *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1015 }
   1016 
   1017 static inline __ATTRS_o_ai void
   1018 vec_xst(vector signed short __vec, long __offset, signed short *__ptr) {
   1019   *(vector signed short *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1020 }
   1021 
   1022 static inline __ATTRS_o_ai void
   1023 vec_xst(vector unsigned short __vec, long __offset, unsigned short *__ptr) {
   1024   *(vector unsigned short *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1025 }
   1026 
   1027 static inline __ATTRS_o_ai void
   1028 vec_xst(vector signed int __vec, long __offset, signed int *__ptr) {
   1029   *(vector signed int *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1030 }
   1031 
   1032 static inline __ATTRS_o_ai void
   1033 vec_xst(vector unsigned int __vec, long __offset, unsigned int *__ptr) {
   1034   *(vector unsigned int *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1035 }
   1036 
   1037 static inline __ATTRS_o_ai void
   1038 vec_xst(vector signed long long __vec, long __offset,
   1039           signed long long *__ptr) {
   1040   *(vector signed long long *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1041 }
   1042 
   1043 static inline __ATTRS_o_ai void
   1044 vec_xst(vector unsigned long long __vec, long __offset,
   1045           unsigned long long *__ptr) {
   1046   *(vector unsigned long long *)((__INTPTR_TYPE__)__ptr + __offset) =
   1047     __vec;
   1048 }
   1049 
   1050 #if __ARCH__ >= 12
   1051 static inline __ATTRS_o_ai void
   1052 vec_xst(vector float __vec, long __offset, float *__ptr) {
   1053   *(vector float *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1054 }
   1055 #endif
   1056 
   1057 static inline __ATTRS_o_ai void
   1058 vec_xst(vector double __vec, long __offset, double *__ptr) {
   1059   *(vector double *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1060 }
   1061 
   1062 /*-- vec_xstd2 --------------------------------------------------------------*/
   1063 
   1064 // This prototype is deprecated.
   1065 static inline __ATTRS_o_ai void
   1066 vec_xstd2(vector signed char __vec, long __offset, signed char *__ptr) {
   1067   *(vector signed char *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1068 }
   1069 
   1070 // This prototype is deprecated.
   1071 static inline __ATTRS_o_ai void
   1072 vec_xstd2(vector unsigned char __vec, long __offset, unsigned char *__ptr) {
   1073   *(vector unsigned char *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1074 }
   1075 
   1076 // This prototype is deprecated.
   1077 static inline __ATTRS_o_ai void
   1078 vec_xstd2(vector signed short __vec, long __offset, signed short *__ptr) {
   1079   *(vector signed short *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1080 }
   1081 
   1082 // This prototype is deprecated.
   1083 static inline __ATTRS_o_ai void
   1084 vec_xstd2(vector unsigned short __vec, long __offset, unsigned short *__ptr) {
   1085   *(vector unsigned short *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1086 }
   1087 
   1088 // This prototype is deprecated.
   1089 static inline __ATTRS_o_ai void
   1090 vec_xstd2(vector signed int __vec, long __offset, signed int *__ptr) {
   1091   *(vector signed int *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1092 }
   1093 
   1094 // This prototype is deprecated.
   1095 static inline __ATTRS_o_ai void
   1096 vec_xstd2(vector unsigned int __vec, long __offset, unsigned int *__ptr) {
   1097   *(vector unsigned int *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1098 }
   1099 
   1100 // This prototype is deprecated.
   1101 static inline __ATTRS_o_ai void
   1102 vec_xstd2(vector signed long long __vec, long __offset,
   1103           signed long long *__ptr) {
   1104   *(vector signed long long *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1105 }
   1106 
   1107 // This prototype is deprecated.
   1108 static inline __ATTRS_o_ai void
   1109 vec_xstd2(vector unsigned long long __vec, long __offset,
   1110           unsigned long long *__ptr) {
   1111   *(vector unsigned long long *)((__INTPTR_TYPE__)__ptr + __offset) =
   1112     __vec;
   1113 }
   1114 
   1115 // This prototype is deprecated.
   1116 static inline __ATTRS_o_ai void
   1117 vec_xstd2(vector double __vec, long __offset, double *__ptr) {
   1118   *(vector double *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1119 }
   1120 
   1121 /*-- vec_xstw4 --------------------------------------------------------------*/
   1122 
   1123 // This prototype is deprecated.
   1124 static inline __ATTRS_o_ai void
   1125 vec_xstw4(vector signed char __vec, long __offset, signed char *__ptr) {
   1126   *(vector signed char *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1127 }
   1128 
   1129 // This prototype is deprecated.
   1130 static inline __ATTRS_o_ai void
   1131 vec_xstw4(vector unsigned char __vec, long __offset, unsigned char *__ptr) {
   1132   *(vector unsigned char *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1133 }
   1134 
   1135 // This prototype is deprecated.
   1136 static inline __ATTRS_o_ai void
   1137 vec_xstw4(vector signed short __vec, long __offset, signed short *__ptr) {
   1138   *(vector signed short *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1139 }
   1140 
   1141 // This prototype is deprecated.
   1142 static inline __ATTRS_o_ai void
   1143 vec_xstw4(vector unsigned short __vec, long __offset, unsigned short *__ptr) {
   1144   *(vector unsigned short *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1145 }
   1146 
   1147 // This prototype is deprecated.
   1148 static inline __ATTRS_o_ai void
   1149 vec_xstw4(vector signed int __vec, long __offset, signed int *__ptr) {
   1150   *(vector signed int *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1151 }
   1152 
   1153 // This prototype is deprecated.
   1154 static inline __ATTRS_o_ai void
   1155 vec_xstw4(vector unsigned int __vec, long __offset, unsigned int *__ptr) {
   1156   *(vector unsigned int *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
   1157 }
   1158 
   1159 /*-- vec_load_bndry ---------------------------------------------------------*/
   1160 
   1161 extern __ATTRS_o vector signed char
   1162 vec_load_bndry(const signed char *__ptr, unsigned short __len)
   1163   __constant_pow2_range(__len, 64, 4096);
   1164 
   1165 extern __ATTRS_o vector unsigned char
   1166 vec_load_bndry(const unsigned char *__ptr, unsigned short __len)
   1167   __constant_pow2_range(__len, 64, 4096);
   1168 
   1169 extern __ATTRS_o vector signed short
   1170 vec_load_bndry(const signed short *__ptr, unsigned short __len)
   1171   __constant_pow2_range(__len, 64, 4096);
   1172 
   1173 extern __ATTRS_o vector unsigned short
   1174 vec_load_bndry(const unsigned short *__ptr, unsigned short __len)
   1175   __constant_pow2_range(__len, 64, 4096);
   1176 
   1177 extern __ATTRS_o vector signed int
   1178 vec_load_bndry(const signed int *__ptr, unsigned short __len)
   1179   __constant_pow2_range(__len, 64, 4096);
   1180 
   1181 extern __ATTRS_o vector unsigned int
   1182 vec_load_bndry(const unsigned int *__ptr, unsigned short __len)
   1183   __constant_pow2_range(__len, 64, 4096);
   1184 
   1185 extern __ATTRS_o vector signed long long
   1186 vec_load_bndry(const signed long long *__ptr, unsigned short __len)
   1187   __constant_pow2_range(__len, 64, 4096);
   1188 
   1189 extern __ATTRS_o vector unsigned long long
   1190 vec_load_bndry(const unsigned long long *__ptr, unsigned short __len)
   1191   __constant_pow2_range(__len, 64, 4096);
   1192 
   1193 #if __ARCH__ >= 12
   1194 extern __ATTRS_o vector float
   1195 vec_load_bndry(const float *__ptr, unsigned short __len)
   1196   __constant_pow2_range(__len, 64, 4096);
   1197 #endif
   1198 
   1199 extern __ATTRS_o vector double
   1200 vec_load_bndry(const double *__ptr, unsigned short __len)
   1201   __constant_pow2_range(__len, 64, 4096);
   1202 
   1203 #define vec_load_bndry(X, Y) ((__typeof__((vec_load_bndry)((X), (Y)))) \
   1204   __builtin_s390_vlbb((X), ((Y) == 64 ? 0 : \
   1205                             (Y) == 128 ? 1 : \
   1206                             (Y) == 256 ? 2 : \
   1207                             (Y) == 512 ? 3 : \
   1208                             (Y) == 1024 ? 4 : \
   1209                             (Y) == 2048 ? 5 : \
   1210                             (Y) == 4096 ? 6 : -1)))
   1211 
   1212 /*-- vec_load_len -----------------------------------------------------------*/
   1213 
   1214 static inline __ATTRS_o_ai vector signed char
   1215 vec_load_len(const signed char *__ptr, unsigned int __len) {
   1216   return (vector signed char)__builtin_s390_vll(__len, __ptr);
   1217 }
   1218 
   1219 static inline __ATTRS_o_ai vector unsigned char
   1220 vec_load_len(const unsigned char *__ptr, unsigned int __len) {
   1221   return (vector unsigned char)__builtin_s390_vll(__len, __ptr);
   1222 }
   1223 
   1224 static inline __ATTRS_o_ai vector signed short
   1225 vec_load_len(const signed short *__ptr, unsigned int __len) {
   1226   return (vector signed short)__builtin_s390_vll(__len, __ptr);
   1227 }
   1228 
   1229 static inline __ATTRS_o_ai vector unsigned short
   1230 vec_load_len(const unsigned short *__ptr, unsigned int __len) {
   1231   return (vector unsigned short)__builtin_s390_vll(__len, __ptr);
   1232 }
   1233 
   1234 static inline __ATTRS_o_ai vector signed int
   1235 vec_load_len(const signed int *__ptr, unsigned int __len) {
   1236   return (vector signed int)__builtin_s390_vll(__len, __ptr);
   1237 }
   1238 
   1239 static inline __ATTRS_o_ai vector unsigned int
   1240 vec_load_len(const unsigned int *__ptr, unsigned int __len) {
   1241   return (vector unsigned int)__builtin_s390_vll(__len, __ptr);
   1242 }
   1243 
   1244 static inline __ATTRS_o_ai vector signed long long
   1245 vec_load_len(const signed long long *__ptr, unsigned int __len) {
   1246   return (vector signed long long)__builtin_s390_vll(__len, __ptr);
   1247 }
   1248 
   1249 static inline __ATTRS_o_ai vector unsigned long long
   1250 vec_load_len(const unsigned long long *__ptr, unsigned int __len) {
   1251   return (vector unsigned long long)__builtin_s390_vll(__len, __ptr);
   1252 }
   1253 
   1254 #if __ARCH__ >= 12
   1255 static inline __ATTRS_o_ai vector float
   1256 vec_load_len(const float *__ptr, unsigned int __len) {
   1257   return (vector float)__builtin_s390_vll(__len, __ptr);
   1258 }
   1259 #endif
   1260 
   1261 static inline __ATTRS_o_ai vector double
   1262 vec_load_len(const double *__ptr, unsigned int __len) {
   1263   return (vector double)__builtin_s390_vll(__len, __ptr);
   1264 }
   1265 
   1266 /*-- vec_load_len_r ---------------------------------------------------------*/
   1267 
   1268 #if __ARCH__ >= 12
   1269 static inline __ATTRS_ai vector unsigned char
   1270 vec_load_len_r(const unsigned char *__ptr, unsigned int __len) {
   1271   return (vector unsigned char)__builtin_s390_vlrl(__len, __ptr);
   1272 }
   1273 #endif
   1274 
   1275 /*-- vec_store_len ----------------------------------------------------------*/
   1276 
   1277 static inline __ATTRS_o_ai void
   1278 vec_store_len(vector signed char __vec, signed char *__ptr,
   1279               unsigned int __len) {
   1280   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
   1281 }
   1282 
   1283 static inline __ATTRS_o_ai void
   1284 vec_store_len(vector unsigned char __vec, unsigned char *__ptr,
   1285               unsigned int __len) {
   1286   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
   1287 }
   1288 
   1289 static inline __ATTRS_o_ai void
   1290 vec_store_len(vector signed short __vec, signed short *__ptr,
   1291               unsigned int __len) {
   1292   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
   1293 }
   1294 
   1295 static inline __ATTRS_o_ai void
   1296 vec_store_len(vector unsigned short __vec, unsigned short *__ptr,
   1297               unsigned int __len) {
   1298   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
   1299 }
   1300 
   1301 static inline __ATTRS_o_ai void
   1302 vec_store_len(vector signed int __vec, signed int *__ptr,
   1303               unsigned int __len) {
   1304   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
   1305 }
   1306 
   1307 static inline __ATTRS_o_ai void
   1308 vec_store_len(vector unsigned int __vec, unsigned int *__ptr,
   1309               unsigned int __len) {
   1310   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
   1311 }
   1312 
   1313 static inline __ATTRS_o_ai void
   1314 vec_store_len(vector signed long long __vec, signed long long *__ptr,
   1315               unsigned int __len) {
   1316   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
   1317 }
   1318 
   1319 static inline __ATTRS_o_ai void
   1320 vec_store_len(vector unsigned long long __vec, unsigned long long *__ptr,
   1321               unsigned int __len) {
   1322   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
   1323 }
   1324 
   1325 #if __ARCH__ >= 12
   1326 static inline __ATTRS_o_ai void
   1327 vec_store_len(vector float __vec, float *__ptr,
   1328               unsigned int __len) {
   1329   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
   1330 }
   1331 #endif
   1332 
   1333 static inline __ATTRS_o_ai void
   1334 vec_store_len(vector double __vec, double *__ptr,
   1335               unsigned int __len) {
   1336   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
   1337 }
   1338 
   1339 /*-- vec_store_len_r --------------------------------------------------------*/
   1340 
   1341 #if __ARCH__ >= 12
   1342 static inline __ATTRS_ai void
   1343 vec_store_len_r(vector unsigned char __vec, unsigned char *__ptr,
   1344                 unsigned int __len) {
   1345   __builtin_s390_vstrl((vector signed char)__vec, __len, __ptr);
   1346 }
   1347 #endif
   1348 
   1349 /*-- vec_load_pair ----------------------------------------------------------*/
   1350 
   1351 static inline __ATTRS_o_ai vector signed long long
   1352 vec_load_pair(signed long long __a, signed long long __b) {
   1353   return (vector signed long long)(__a, __b);
   1354 }
   1355 
   1356 static inline __ATTRS_o_ai vector unsigned long long
   1357 vec_load_pair(unsigned long long __a, unsigned long long __b) {
   1358   return (vector unsigned long long)(__a, __b);
   1359 }
   1360 
   1361 /*-- vec_genmask ------------------------------------------------------------*/
   1362 
   1363 static inline __ATTRS_o_ai vector unsigned char
   1364 vec_genmask(unsigned short __mask)
   1365   __constant(__mask) {
   1366   return (vector unsigned char)(
   1367     __mask & 0x8000 ? 0xff : 0,
   1368     __mask & 0x4000 ? 0xff : 0,
   1369     __mask & 0x2000 ? 0xff : 0,
   1370     __mask & 0x1000 ? 0xff : 0,
   1371     __mask & 0x0800 ? 0xff : 0,
   1372     __mask & 0x0400 ? 0xff : 0,
   1373     __mask & 0x0200 ? 0xff : 0,
   1374     __mask & 0x0100 ? 0xff : 0,
   1375     __mask & 0x0080 ? 0xff : 0,
   1376     __mask & 0x0040 ? 0xff : 0,
   1377     __mask & 0x0020 ? 0xff : 0,
   1378     __mask & 0x0010 ? 0xff : 0,
   1379     __mask & 0x0008 ? 0xff : 0,
   1380     __mask & 0x0004 ? 0xff : 0,
   1381     __mask & 0x0002 ? 0xff : 0,
   1382     __mask & 0x0001 ? 0xff : 0);
   1383 }
   1384 
   1385 /*-- vec_genmasks_* ---------------------------------------------------------*/
   1386 
   1387 static inline __ATTRS_o_ai vector unsigned char
   1388 vec_genmasks_8(unsigned char __first, unsigned char __last)
   1389   __constant(__first) __constant(__last) {
   1390   unsigned char __bit1 = __first & 7;
   1391   unsigned char __bit2 = __last & 7;
   1392   unsigned char __mask1 = (unsigned char)(1U << (7 - __bit1) << 1) - 1;
   1393   unsigned char __mask2 = (unsigned char)(1U << (7 - __bit2)) - 1;
   1394   unsigned char __value = (__bit1 <= __bit2 ?
   1395                            __mask1 & ~__mask2 :
   1396                            __mask1 | ~__mask2);
   1397   return (vector unsigned char)__value;
   1398 }
   1399 
   1400 static inline __ATTRS_o_ai vector unsigned short
   1401 vec_genmasks_16(unsigned char __first, unsigned char __last)
   1402   __constant(__first) __constant(__last) {
   1403   unsigned char __bit1 = __first & 15;
   1404   unsigned char __bit2 = __last & 15;
   1405   unsigned short __mask1 = (unsigned short)(1U << (15 - __bit1) << 1) - 1;
   1406   unsigned short __mask2 = (unsigned short)(1U << (15 - __bit2)) - 1;
   1407   unsigned short __value = (__bit1 <= __bit2 ?
   1408                             __mask1 & ~__mask2 :
   1409                             __mask1 | ~__mask2);
   1410   return (vector unsigned short)__value;
   1411 }
   1412 
   1413 static inline __ATTRS_o_ai vector unsigned int
   1414 vec_genmasks_32(unsigned char __first, unsigned char __last)
   1415   __constant(__first) __constant(__last) {
   1416   unsigned char __bit1 = __first & 31;
   1417   unsigned char __bit2 = __last & 31;
   1418   unsigned int __mask1 = (1U << (31 - __bit1) << 1) - 1;
   1419   unsigned int __mask2 = (1U << (31 - __bit2)) - 1;
   1420   unsigned int __value = (__bit1 <= __bit2 ?
   1421                           __mask1 & ~__mask2 :
   1422                           __mask1 | ~__mask2);
   1423   return (vector unsigned int)__value;
   1424 }
   1425 
   1426 static inline __ATTRS_o_ai vector unsigned long long
   1427 vec_genmasks_64(unsigned char __first, unsigned char __last)
   1428   __constant(__first) __constant(__last) {
   1429   unsigned char __bit1 = __first & 63;
   1430   unsigned char __bit2 = __last & 63;
   1431   unsigned long long __mask1 = (1ULL << (63 - __bit1) << 1) - 1;
   1432   unsigned long long __mask2 = (1ULL << (63 - __bit2)) - 1;
   1433   unsigned long long __value = (__bit1 <= __bit2 ?
   1434                                 __mask1 & ~__mask2 :
   1435                                 __mask1 | ~__mask2);
   1436   return (vector unsigned long long)__value;
   1437 }
   1438 
   1439 /*-- vec_splat --------------------------------------------------------------*/
   1440 
   1441 static inline __ATTRS_o_ai vector signed char
   1442 vec_splat(vector signed char __vec, int __index)
   1443   __constant_range(__index, 0, 15) {
   1444   return (vector signed char)__vec[__index];
   1445 }
   1446 
   1447 static inline __ATTRS_o_ai vector bool char
   1448 vec_splat(vector bool char __vec, int __index)
   1449   __constant_range(__index, 0, 15) {
   1450   return (vector bool char)(vector unsigned char)__vec[__index];
   1451 }
   1452 
   1453 static inline __ATTRS_o_ai vector unsigned char
   1454 vec_splat(vector unsigned char __vec, int __index)
   1455   __constant_range(__index, 0, 15) {
   1456   return (vector unsigned char)__vec[__index];
   1457 }
   1458 
   1459 static inline __ATTRS_o_ai vector signed short
   1460 vec_splat(vector signed short __vec, int __index)
   1461   __constant_range(__index, 0, 7) {
   1462   return (vector signed short)__vec[__index];
   1463 }
   1464 
   1465 static inline __ATTRS_o_ai vector bool short
   1466 vec_splat(vector bool short __vec, int __index)
   1467   __constant_range(__index, 0, 7) {
   1468   return (vector bool short)(vector unsigned short)__vec[__index];
   1469 }
   1470 
   1471 static inline __ATTRS_o_ai vector unsigned short
   1472 vec_splat(vector unsigned short __vec, int __index)
   1473   __constant_range(__index, 0, 7) {
   1474   return (vector unsigned short)__vec[__index];
   1475 }
   1476 
   1477 static inline __ATTRS_o_ai vector signed int
   1478 vec_splat(vector signed int __vec, int __index)
   1479   __constant_range(__index, 0, 3) {
   1480   return (vector signed int)__vec[__index];
   1481 }
   1482 
   1483 static inline __ATTRS_o_ai vector bool int
   1484 vec_splat(vector bool int __vec, int __index)
   1485   __constant_range(__index, 0, 3) {
   1486   return (vector bool int)(vector unsigned int)__vec[__index];
   1487 }
   1488 
   1489 static inline __ATTRS_o_ai vector unsigned int
   1490 vec_splat(vector unsigned int __vec, int __index)
   1491   __constant_range(__index, 0, 3) {
   1492   return (vector unsigned int)__vec[__index];
   1493 }
   1494 
   1495 static inline __ATTRS_o_ai vector signed long long
   1496 vec_splat(vector signed long long __vec, int __index)
   1497   __constant_range(__index, 0, 1) {
   1498   return (vector signed long long)__vec[__index];
   1499 }
   1500 
   1501 static inline __ATTRS_o_ai vector bool long long
   1502 vec_splat(vector bool long long __vec, int __index)
   1503   __constant_range(__index, 0, 1) {
   1504   return (vector bool long long)(vector unsigned long long)__vec[__index];
   1505 }
   1506 
   1507 static inline __ATTRS_o_ai vector unsigned long long
   1508 vec_splat(vector unsigned long long __vec, int __index)
   1509   __constant_range(__index, 0, 1) {
   1510   return (vector unsigned long long)__vec[__index];
   1511 }
   1512 
   1513 #if __ARCH__ >= 12
   1514 static inline __ATTRS_o_ai vector float
   1515 vec_splat(vector float __vec, int __index)
   1516   __constant_range(__index, 0, 3) {
   1517   return (vector float)__vec[__index];
   1518 }
   1519 #endif
   1520 
   1521 static inline __ATTRS_o_ai vector double
   1522 vec_splat(vector double __vec, int __index)
   1523   __constant_range(__index, 0, 1) {
   1524   return (vector double)__vec[__index];
   1525 }
   1526 
   1527 /*-- vec_splat_s* -----------------------------------------------------------*/
   1528 
   1529 static inline __ATTRS_ai vector signed char
   1530 vec_splat_s8(signed char __scalar)
   1531   __constant(__scalar) {
   1532   return (vector signed char)__scalar;
   1533 }
   1534 
   1535 static inline __ATTRS_ai vector signed short
   1536 vec_splat_s16(signed short __scalar)
   1537   __constant(__scalar) {
   1538   return (vector signed short)__scalar;
   1539 }
   1540 
   1541 static inline __ATTRS_ai vector signed int
   1542 vec_splat_s32(signed short __scalar)
   1543   __constant(__scalar) {
   1544   return (vector signed int)(signed int)__scalar;
   1545 }
   1546 
   1547 static inline __ATTRS_ai vector signed long long
   1548 vec_splat_s64(signed short __scalar)
   1549   __constant(__scalar) {
   1550   return (vector signed long long)(signed long)__scalar;
   1551 }
   1552 
   1553 /*-- vec_splat_u* -----------------------------------------------------------*/
   1554 
   1555 static inline __ATTRS_ai vector unsigned char
   1556 vec_splat_u8(unsigned char __scalar)
   1557   __constant(__scalar) {
   1558   return (vector unsigned char)__scalar;
   1559 }
   1560 
   1561 static inline __ATTRS_ai vector unsigned short
   1562 vec_splat_u16(unsigned short __scalar)
   1563   __constant(__scalar) {
   1564   return (vector unsigned short)__scalar;
   1565 }
   1566 
   1567 static inline __ATTRS_ai vector unsigned int
   1568 vec_splat_u32(signed short __scalar)
   1569   __constant(__scalar) {
   1570   return (vector unsigned int)(signed int)__scalar;
   1571 }
   1572 
   1573 static inline __ATTRS_ai vector unsigned long long
   1574 vec_splat_u64(signed short __scalar)
   1575   __constant(__scalar) {
   1576   return (vector unsigned long long)(signed long long)__scalar;
   1577 }
   1578 
   1579 /*-- vec_splats -------------------------------------------------------------*/
   1580 
   1581 static inline __ATTRS_o_ai vector signed char
   1582 vec_splats(signed char __scalar) {
   1583   return (vector signed char)__scalar;
   1584 }
   1585 
   1586 static inline __ATTRS_o_ai vector unsigned char
   1587 vec_splats(unsigned char __scalar) {
   1588   return (vector unsigned char)__scalar;
   1589 }
   1590 
   1591 static inline __ATTRS_o_ai vector signed short
   1592 vec_splats(signed short __scalar) {
   1593   return (vector signed short)__scalar;
   1594 }
   1595 
   1596 static inline __ATTRS_o_ai vector unsigned short
   1597 vec_splats(unsigned short __scalar) {
   1598   return (vector unsigned short)__scalar;
   1599 }
   1600 
   1601 static inline __ATTRS_o_ai vector signed int
   1602 vec_splats(signed int __scalar) {
   1603   return (vector signed int)__scalar;
   1604 }
   1605 
   1606 static inline __ATTRS_o_ai vector unsigned int
   1607 vec_splats(unsigned int __scalar) {
   1608   return (vector unsigned int)__scalar;
   1609 }
   1610 
   1611 static inline __ATTRS_o_ai vector signed long long
   1612 vec_splats(signed long long __scalar) {
   1613   return (vector signed long long)__scalar;
   1614 }
   1615 
   1616 static inline __ATTRS_o_ai vector unsigned long long
   1617 vec_splats(unsigned long long __scalar) {
   1618   return (vector unsigned long long)__scalar;
   1619 }
   1620 
   1621 #if __ARCH__ >= 12
   1622 static inline __ATTRS_o_ai vector float
   1623 vec_splats(float __scalar) {
   1624   return (vector float)__scalar;
   1625 }
   1626 #endif
   1627 
   1628 static inline __ATTRS_o_ai vector double
   1629 vec_splats(double __scalar) {
   1630   return (vector double)__scalar;
   1631 }
   1632 
   1633 /*-- vec_extend_s64 ---------------------------------------------------------*/
   1634 
   1635 static inline __ATTRS_o_ai vector signed long long
   1636 vec_extend_s64(vector signed char __a) {
   1637   return (vector signed long long)(__a[7], __a[15]);
   1638 }
   1639 
   1640 static inline __ATTRS_o_ai vector signed long long
   1641 vec_extend_s64(vector signed short __a) {
   1642   return (vector signed long long)(__a[3], __a[7]);
   1643 }
   1644 
   1645 static inline __ATTRS_o_ai vector signed long long
   1646 vec_extend_s64(vector signed int __a) {
   1647   return (vector signed long long)(__a[1], __a[3]);
   1648 }
   1649 
   1650 /*-- vec_mergeh -------------------------------------------------------------*/
   1651 
   1652 static inline __ATTRS_o_ai vector signed char
   1653 vec_mergeh(vector signed char __a, vector signed char __b) {
   1654   return (vector signed char)(
   1655     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],
   1656     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
   1657 }
   1658 
   1659 static inline __ATTRS_o_ai vector bool char
   1660 vec_mergeh(vector bool char __a, vector bool char __b) {
   1661   return (vector bool char)(
   1662     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],
   1663     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
   1664 }
   1665 
   1666 static inline __ATTRS_o_ai vector unsigned char
   1667 vec_mergeh(vector unsigned char __a, vector unsigned char __b) {
   1668   return (vector unsigned char)(
   1669     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],
   1670     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
   1671 }
   1672 
   1673 static inline __ATTRS_o_ai vector signed short
   1674 vec_mergeh(vector signed short __a, vector signed short __b) {
   1675   return (vector signed short)(
   1676     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);
   1677 }
   1678 
   1679 static inline __ATTRS_o_ai vector bool short
   1680 vec_mergeh(vector bool short __a, vector bool short __b) {
   1681   return (vector bool short)(
   1682     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);
   1683 }
   1684 
   1685 static inline __ATTRS_o_ai vector unsigned short
   1686 vec_mergeh(vector unsigned short __a, vector unsigned short __b) {
   1687   return (vector unsigned short)(
   1688     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);
   1689 }
   1690 
   1691 static inline __ATTRS_o_ai vector signed int
   1692 vec_mergeh(vector signed int __a, vector signed int __b) {
   1693   return (vector signed int)(__a[0], __b[0], __a[1], __b[1]);
   1694 }
   1695 
   1696 static inline __ATTRS_o_ai vector bool int
   1697 vec_mergeh(vector bool int __a, vector bool int __b) {
   1698   return (vector bool int)(__a[0], __b[0], __a[1], __b[1]);
   1699 }
   1700 
   1701 static inline __ATTRS_o_ai vector unsigned int
   1702 vec_mergeh(vector unsigned int __a, vector unsigned int __b) {
   1703   return (vector unsigned int)(__a[0], __b[0], __a[1], __b[1]);
   1704 }
   1705 
   1706 static inline __ATTRS_o_ai vector signed long long
   1707 vec_mergeh(vector signed long long __a, vector signed long long __b) {
   1708   return (vector signed long long)(__a[0], __b[0]);
   1709 }
   1710 
   1711 static inline __ATTRS_o_ai vector bool long long
   1712 vec_mergeh(vector bool long long __a, vector bool long long __b) {
   1713   return (vector bool long long)(__a[0], __b[0]);
   1714 }
   1715 
   1716 static inline __ATTRS_o_ai vector unsigned long long
   1717 vec_mergeh(vector unsigned long long __a, vector unsigned long long __b) {
   1718   return (vector unsigned long long)(__a[0], __b[0]);
   1719 }
   1720 
   1721 #if __ARCH__ >= 12
   1722 static inline __ATTRS_o_ai vector float
   1723 vec_mergeh(vector float __a, vector float __b) {
   1724   return (vector float)(__a[0], __b[0], __a[1], __b[1]);
   1725 }
   1726 #endif
   1727 
   1728 static inline __ATTRS_o_ai vector double
   1729 vec_mergeh(vector double __a, vector double __b) {
   1730   return (vector double)(__a[0], __b[0]);
   1731 }
   1732 
   1733 /*-- vec_mergel -------------------------------------------------------------*/
   1734 
   1735 static inline __ATTRS_o_ai vector signed char
   1736 vec_mergel(vector signed char __a, vector signed char __b) {
   1737   return (vector signed char)(
   1738     __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],
   1739     __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);
   1740 }
   1741 
   1742 static inline __ATTRS_o_ai vector bool char
   1743 vec_mergel(vector bool char __a, vector bool char __b) {
   1744   return (vector bool char)(
   1745     __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],
   1746     __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);
   1747 }
   1748 
   1749 static inline __ATTRS_o_ai vector unsigned char
   1750 vec_mergel(vector unsigned char __a, vector unsigned char __b) {
   1751   return (vector unsigned char)(
   1752     __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],
   1753     __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);
   1754 }
   1755 
   1756 static inline __ATTRS_o_ai vector signed short
   1757 vec_mergel(vector signed short __a, vector signed short __b) {
   1758   return (vector signed short)(
   1759     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
   1760 }
   1761 
   1762 static inline __ATTRS_o_ai vector bool short
   1763 vec_mergel(vector bool short __a, vector bool short __b) {
   1764   return (vector bool short)(
   1765     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
   1766 }
   1767 
   1768 static inline __ATTRS_o_ai vector unsigned short
   1769 vec_mergel(vector unsigned short __a, vector unsigned short __b) {
   1770   return (vector unsigned short)(
   1771     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
   1772 }
   1773 
   1774 static inline __ATTRS_o_ai vector signed int
   1775 vec_mergel(vector signed int __a, vector signed int __b) {
   1776   return (vector signed int)(__a[2], __b[2], __a[3], __b[3]);
   1777 }
   1778 
   1779 static inline __ATTRS_o_ai vector bool int
   1780 vec_mergel(vector bool int __a, vector bool int __b) {
   1781   return (vector bool int)(__a[2], __b[2], __a[3], __b[3]);
   1782 }
   1783 
   1784 static inline __ATTRS_o_ai vector unsigned int
   1785 vec_mergel(vector unsigned int __a, vector unsigned int __b) {
   1786   return (vector unsigned int)(__a[2], __b[2], __a[3], __b[3]);
   1787 }
   1788 
   1789 static inline __ATTRS_o_ai vector signed long long
   1790 vec_mergel(vector signed long long __a, vector signed long long __b) {
   1791   return (vector signed long long)(__a[1], __b[1]);
   1792 }
   1793 
   1794 static inline __ATTRS_o_ai vector bool long long
   1795 vec_mergel(vector bool long long __a, vector bool long long __b) {
   1796   return (vector bool long long)(__a[1], __b[1]);
   1797 }
   1798 
   1799 static inline __ATTRS_o_ai vector unsigned long long
   1800 vec_mergel(vector unsigned long long __a, vector unsigned long long __b) {
   1801   return (vector unsigned long long)(__a[1], __b[1]);
   1802 }
   1803 
   1804 #if __ARCH__ >= 12
   1805 static inline __ATTRS_o_ai vector float
   1806 vec_mergel(vector float __a, vector float __b) {
   1807   return (vector float)(__a[2], __b[2], __a[3], __b[3]);
   1808 }
   1809 #endif
   1810 
   1811 static inline __ATTRS_o_ai vector double
   1812 vec_mergel(vector double __a, vector double __b) {
   1813   return (vector double)(__a[1], __b[1]);
   1814 }
   1815 
   1816 /*-- vec_pack ---------------------------------------------------------------*/
   1817 
   1818 static inline __ATTRS_o_ai vector signed char
   1819 vec_pack(vector signed short __a, vector signed short __b) {
   1820   vector signed char __ac = (vector signed char)__a;
   1821   vector signed char __bc = (vector signed char)__b;
   1822   return (vector signed char)(
   1823     __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
   1824     __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
   1825 }
   1826 
   1827 static inline __ATTRS_o_ai vector bool char
   1828 vec_pack(vector bool short __a, vector bool short __b) {
   1829   vector bool char __ac = (vector bool char)__a;
   1830   vector bool char __bc = (vector bool char)__b;
   1831   return (vector bool char)(
   1832     __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
   1833     __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
   1834 }
   1835 
   1836 static inline __ATTRS_o_ai vector unsigned char
   1837 vec_pack(vector unsigned short __a, vector unsigned short __b) {
   1838   vector unsigned char __ac = (vector unsigned char)__a;
   1839   vector unsigned char __bc = (vector unsigned char)__b;
   1840   return (vector unsigned char)(
   1841     __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
   1842     __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
   1843 }
   1844 
   1845 static inline __ATTRS_o_ai vector signed short
   1846 vec_pack(vector signed int __a, vector signed int __b) {
   1847   vector signed short __ac = (vector signed short)__a;
   1848   vector signed short __bc = (vector signed short)__b;
   1849   return (vector signed short)(
   1850     __ac[1], __ac[3], __ac[5], __ac[7],
   1851     __bc[1], __bc[3], __bc[5], __bc[7]);
   1852 }
   1853 
   1854 static inline __ATTRS_o_ai vector bool short
   1855 vec_pack(vector bool int __a, vector bool int __b) {
   1856   vector bool short __ac = (vector bool short)__a;
   1857   vector bool short __bc = (vector bool short)__b;
   1858   return (vector bool short)(
   1859     __ac[1], __ac[3], __ac[5], __ac[7],
   1860     __bc[1], __bc[3], __bc[5], __bc[7]);
   1861 }
   1862 
   1863 static inline __ATTRS_o_ai vector unsigned short
   1864 vec_pack(vector unsigned int __a, vector unsigned int __b) {
   1865   vector unsigned short __ac = (vector unsigned short)__a;
   1866   vector unsigned short __bc = (vector unsigned short)__b;
   1867   return (vector unsigned short)(
   1868     __ac[1], __ac[3], __ac[5], __ac[7],
   1869     __bc[1], __bc[3], __bc[5], __bc[7]);
   1870 }
   1871 
   1872 static inline __ATTRS_o_ai vector signed int
   1873 vec_pack(vector signed long long __a, vector signed long long __b) {
   1874   vector signed int __ac = (vector signed int)__a;
   1875   vector signed int __bc = (vector signed int)__b;
   1876   return (vector signed int)(__ac[1], __ac[3], __bc[1], __bc[3]);
   1877 }
   1878 
   1879 static inline __ATTRS_o_ai vector bool int
   1880 vec_pack(vector bool long long __a, vector bool long long __b) {
   1881   vector bool int __ac = (vector bool int)__a;
   1882   vector bool int __bc = (vector bool int)__b;
   1883   return (vector bool int)(__ac[1], __ac[3], __bc[1], __bc[3]);
   1884 }
   1885 
   1886 static inline __ATTRS_o_ai vector unsigned int
   1887 vec_pack(vector unsigned long long __a, vector unsigned long long __b) {
   1888   vector unsigned int __ac = (vector unsigned int)__a;
   1889   vector unsigned int __bc = (vector unsigned int)__b;
   1890   return (vector unsigned int)(__ac[1], __ac[3], __bc[1], __bc[3]);
   1891 }
   1892 
   1893 /*-- vec_packs --------------------------------------------------------------*/
   1894 
   1895 static inline __ATTRS_o_ai vector signed char
   1896 vec_packs(vector signed short __a, vector signed short __b) {
   1897   return __builtin_s390_vpksh(__a, __b);
   1898 }
   1899 
   1900 static inline __ATTRS_o_ai vector unsigned char
   1901 vec_packs(vector unsigned short __a, vector unsigned short __b) {
   1902   return __builtin_s390_vpklsh(__a, __b);
   1903 }
   1904 
   1905 static inline __ATTRS_o_ai vector signed short
   1906 vec_packs(vector signed int __a, vector signed int __b) {
   1907   return __builtin_s390_vpksf(__a, __b);
   1908 }
   1909 
   1910 static inline __ATTRS_o_ai vector unsigned short
   1911 vec_packs(vector unsigned int __a, vector unsigned int __b) {
   1912   return __builtin_s390_vpklsf(__a, __b);
   1913 }
   1914 
   1915 static inline __ATTRS_o_ai vector signed int
   1916 vec_packs(vector signed long long __a, vector signed long long __b) {
   1917   return __builtin_s390_vpksg(__a, __b);
   1918 }
   1919 
   1920 static inline __ATTRS_o_ai vector unsigned int
   1921 vec_packs(vector unsigned long long __a, vector unsigned long long __b) {
   1922   return __builtin_s390_vpklsg(__a, __b);
   1923 }
   1924 
   1925 /*-- vec_packs_cc -----------------------------------------------------------*/
   1926 
   1927 static inline __ATTRS_o_ai vector signed char
   1928 vec_packs_cc(vector signed short __a, vector signed short __b, int *__cc) {
   1929   return __builtin_s390_vpkshs(__a, __b, __cc);
   1930 }
   1931 
   1932 static inline __ATTRS_o_ai vector unsigned char
   1933 vec_packs_cc(vector unsigned short __a, vector unsigned short __b, int *__cc) {
   1934   return __builtin_s390_vpklshs(__a, __b, __cc);
   1935 }
   1936 
   1937 static inline __ATTRS_o_ai vector signed short
   1938 vec_packs_cc(vector signed int __a, vector signed int __b, int *__cc) {
   1939   return __builtin_s390_vpksfs(__a, __b, __cc);
   1940 }
   1941 
   1942 static inline __ATTRS_o_ai vector unsigned short
   1943 vec_packs_cc(vector unsigned int __a, vector unsigned int __b, int *__cc) {
   1944   return __builtin_s390_vpklsfs(__a, __b, __cc);
   1945 }
   1946 
   1947 static inline __ATTRS_o_ai vector signed int
   1948 vec_packs_cc(vector signed long long __a, vector signed long long __b,
   1949              int *__cc) {
   1950   return __builtin_s390_vpksgs(__a, __b, __cc);
   1951 }
   1952 
   1953 static inline __ATTRS_o_ai vector unsigned int
   1954 vec_packs_cc(vector unsigned long long __a, vector unsigned long long __b,
   1955              int *__cc) {
   1956   return __builtin_s390_vpklsgs(__a, __b, __cc);
   1957 }
   1958 
   1959 /*-- vec_packsu -------------------------------------------------------------*/
   1960 
   1961 static inline __ATTRS_o_ai vector unsigned char
   1962 vec_packsu(vector signed short __a, vector signed short __b) {
   1963   const vector signed short __zero = (vector signed short)0;
   1964   return __builtin_s390_vpklsh(
   1965     (vector unsigned short)(__a >= __zero) & (vector unsigned short)__a,
   1966     (vector unsigned short)(__b >= __zero) & (vector unsigned short)__b);
   1967 }
   1968 
   1969 static inline __ATTRS_o_ai vector unsigned char
   1970 vec_packsu(vector unsigned short __a, vector unsigned short __b) {
   1971   return __builtin_s390_vpklsh(__a, __b);
   1972 }
   1973 
   1974 static inline __ATTRS_o_ai vector unsigned short
   1975 vec_packsu(vector signed int __a, vector signed int __b) {
   1976   const vector signed int __zero = (vector signed int)0;
   1977   return __builtin_s390_vpklsf(
   1978     (vector unsigned int)(__a >= __zero) & (vector unsigned int)__a,
   1979     (vector unsigned int)(__b >= __zero) & (vector unsigned int)__b);
   1980 }
   1981 
   1982 static inline __ATTRS_o_ai vector unsigned short
   1983 vec_packsu(vector unsigned int __a, vector unsigned int __b) {
   1984   return __builtin_s390_vpklsf(__a, __b);
   1985 }
   1986 
   1987 static inline __ATTRS_o_ai vector unsigned int
   1988 vec_packsu(vector signed long long __a, vector signed long long __b) {
   1989   const vector signed long long __zero = (vector signed long long)0;
   1990   return __builtin_s390_vpklsg(
   1991     (vector unsigned long long)(__a >= __zero) &
   1992     (vector unsigned long long)__a,
   1993     (vector unsigned long long)(__b >= __zero) &
   1994     (vector unsigned long long)__b);
   1995 }
   1996 
   1997 static inline __ATTRS_o_ai vector unsigned int
   1998 vec_packsu(vector unsigned long long __a, vector unsigned long long __b) {
   1999   return __builtin_s390_vpklsg(__a, __b);
   2000 }
   2001 
   2002 /*-- vec_packsu_cc ----------------------------------------------------------*/
   2003 
   2004 static inline __ATTRS_o_ai vector unsigned char
   2005 vec_packsu_cc(vector unsigned short __a, vector unsigned short __b, int *__cc) {
   2006   return __builtin_s390_vpklshs(__a, __b, __cc);
   2007 }
   2008 
   2009 static inline __ATTRS_o_ai vector unsigned short
   2010 vec_packsu_cc(vector unsigned int __a, vector unsigned int __b, int *__cc) {
   2011   return __builtin_s390_vpklsfs(__a, __b, __cc);
   2012 }
   2013 
   2014 static inline __ATTRS_o_ai vector unsigned int
   2015 vec_packsu_cc(vector unsigned long long __a, vector unsigned long long __b,
   2016               int *__cc) {
   2017   return __builtin_s390_vpklsgs(__a, __b, __cc);
   2018 }
   2019 
   2020 /*-- vec_unpackh ------------------------------------------------------------*/
   2021 
   2022 static inline __ATTRS_o_ai vector signed short
   2023 vec_unpackh(vector signed char __a) {
   2024   return __builtin_s390_vuphb(__a);
   2025 }
   2026 
   2027 static inline __ATTRS_o_ai vector bool short
   2028 vec_unpackh(vector bool char __a) {
   2029   return (vector bool short)__builtin_s390_vuphb((vector signed char)__a);
   2030 }
   2031 
   2032 static inline __ATTRS_o_ai vector unsigned short
   2033 vec_unpackh(vector unsigned char __a) {
   2034   return __builtin_s390_vuplhb(__a);
   2035 }
   2036 
   2037 static inline __ATTRS_o_ai vector signed int
   2038 vec_unpackh(vector signed short __a) {
   2039   return __builtin_s390_vuphh(__a);
   2040 }
   2041 
   2042 static inline __ATTRS_o_ai vector bool int
   2043 vec_unpackh(vector bool short __a) {
   2044   return (vector bool int)__builtin_s390_vuphh((vector signed short)__a);
   2045 }
   2046 
   2047 static inline __ATTRS_o_ai vector unsigned int
   2048 vec_unpackh(vector unsigned short __a) {
   2049   return __builtin_s390_vuplhh(__a);
   2050 }
   2051 
   2052 static inline __ATTRS_o_ai vector signed long long
   2053 vec_unpackh(vector signed int __a) {
   2054   return __builtin_s390_vuphf(__a);
   2055 }
   2056 
   2057 static inline __ATTRS_o_ai vector bool long long
   2058 vec_unpackh(vector bool int __a) {
   2059   return (vector bool long long)__builtin_s390_vuphf((vector signed int)__a);
   2060 }
   2061 
   2062 static inline __ATTRS_o_ai vector unsigned long long
   2063 vec_unpackh(vector unsigned int __a) {
   2064   return __builtin_s390_vuplhf(__a);
   2065 }
   2066 
   2067 /*-- vec_unpackl ------------------------------------------------------------*/
   2068 
   2069 static inline __ATTRS_o_ai vector signed short
   2070 vec_unpackl(vector signed char __a) {
   2071   return __builtin_s390_vuplb(__a);
   2072 }
   2073 
   2074 static inline __ATTRS_o_ai vector bool short
   2075 vec_unpackl(vector bool char __a) {
   2076   return (vector bool short)__builtin_s390_vuplb((vector signed char)__a);
   2077 }
   2078 
   2079 static inline __ATTRS_o_ai vector unsigned short
   2080 vec_unpackl(vector unsigned char __a) {
   2081   return __builtin_s390_vupllb(__a);
   2082 }
   2083 
   2084 static inline __ATTRS_o_ai vector signed int
   2085 vec_unpackl(vector signed short __a) {
   2086   return __builtin_s390_vuplhw(__a);
   2087 }
   2088 
   2089 static inline __ATTRS_o_ai vector bool int
   2090 vec_unpackl(vector bool short __a) {
   2091   return (vector bool int)__builtin_s390_vuplhw((vector signed short)__a);
   2092 }
   2093 
   2094 static inline __ATTRS_o_ai vector unsigned int
   2095 vec_unpackl(vector unsigned short __a) {
   2096   return __builtin_s390_vupllh(__a);
   2097 }
   2098 
   2099 static inline __ATTRS_o_ai vector signed long long
   2100 vec_unpackl(vector signed int __a) {
   2101   return __builtin_s390_vuplf(__a);
   2102 }
   2103 
   2104 static inline __ATTRS_o_ai vector bool long long
   2105 vec_unpackl(vector bool int __a) {
   2106   return (vector bool long long)__builtin_s390_vuplf((vector signed int)__a);
   2107 }
   2108 
   2109 static inline __ATTRS_o_ai vector unsigned long long
   2110 vec_unpackl(vector unsigned int __a) {
   2111   return __builtin_s390_vupllf(__a);
   2112 }
   2113 
   2114 /*-- vec_cmpeq --------------------------------------------------------------*/
   2115 
   2116 static inline __ATTRS_o_ai vector bool char
   2117 vec_cmpeq(vector bool char __a, vector bool char __b) {
   2118   return (vector bool char)(__a == __b);
   2119 }
   2120 
   2121 static inline __ATTRS_o_ai vector bool char
   2122 vec_cmpeq(vector signed char __a, vector signed char __b) {
   2123   return (vector bool char)(__a == __b);
   2124 }
   2125 
   2126 static inline __ATTRS_o_ai vector bool char
   2127 vec_cmpeq(vector unsigned char __a, vector unsigned char __b) {
   2128   return (vector bool char)(__a == __b);
   2129 }
   2130 
   2131 static inline __ATTRS_o_ai vector bool short
   2132 vec_cmpeq(vector bool short __a, vector bool short __b) {
   2133   return (vector bool short)(__a == __b);
   2134 }
   2135 
   2136 static inline __ATTRS_o_ai vector bool short
   2137 vec_cmpeq(vector signed short __a, vector signed short __b) {
   2138   return (vector bool short)(__a == __b);
   2139 }
   2140 
   2141 static inline __ATTRS_o_ai vector bool short
   2142 vec_cmpeq(vector unsigned short __a, vector unsigned short __b) {
   2143   return (vector bool short)(__a == __b);
   2144 }
   2145 
   2146 static inline __ATTRS_o_ai vector bool int
   2147 vec_cmpeq(vector bool int __a, vector bool int __b) {
   2148   return (vector bool int)(__a == __b);
   2149 }
   2150 
   2151 static inline __ATTRS_o_ai vector bool int
   2152 vec_cmpeq(vector signed int __a, vector signed int __b) {
   2153   return (vector bool int)(__a == __b);
   2154 }
   2155 
   2156 static inline __ATTRS_o_ai vector bool int
   2157 vec_cmpeq(vector unsigned int __a, vector unsigned int __b) {
   2158   return (vector bool int)(__a == __b);
   2159 }
   2160 
   2161 static inline __ATTRS_o_ai vector bool long long
   2162 vec_cmpeq(vector bool long long __a, vector bool long long __b) {
   2163   return (vector bool long long)(__a == __b);
   2164 }
   2165 
   2166 static inline __ATTRS_o_ai vector bool long long
   2167 vec_cmpeq(vector signed long long __a, vector signed long long __b) {
   2168   return (vector bool long long)(__a == __b);
   2169 }
   2170 
   2171 static inline __ATTRS_o_ai vector bool long long
   2172 vec_cmpeq(vector unsigned long long __a, vector unsigned long long __b) {
   2173   return (vector bool long long)(__a == __b);
   2174 }
   2175 
   2176 #if __ARCH__ >= 12
   2177 static inline __ATTRS_o_ai vector bool int
   2178 vec_cmpeq(vector float __a, vector float __b) {
   2179   return (vector bool int)(__a == __b);
   2180 }
   2181 #endif
   2182 
   2183 static inline __ATTRS_o_ai vector bool long long
   2184 vec_cmpeq(vector double __a, vector double __b) {
   2185   return (vector bool long long)(__a == __b);
   2186 }
   2187 
   2188 /*-- vec_cmpge --------------------------------------------------------------*/
   2189 
   2190 static inline __ATTRS_o_ai vector bool char
   2191 vec_cmpge(vector signed char __a, vector signed char __b) {
   2192   return (vector bool char)(__a >= __b);
   2193 }
   2194 
   2195 static inline __ATTRS_o_ai vector bool char
   2196 vec_cmpge(vector unsigned char __a, vector unsigned char __b) {
   2197   return (vector bool char)(__a >= __b);
   2198 }
   2199 
   2200 static inline __ATTRS_o_ai vector bool short
   2201 vec_cmpge(vector signed short __a, vector signed short __b) {
   2202   return (vector bool short)(__a >= __b);
   2203 }
   2204 
   2205 static inline __ATTRS_o_ai vector bool short
   2206 vec_cmpge(vector unsigned short __a, vector unsigned short __b) {
   2207   return (vector bool short)(__a >= __b);
   2208 }
   2209 
   2210 static inline __ATTRS_o_ai vector bool int
   2211 vec_cmpge(vector signed int __a, vector signed int __b) {
   2212   return (vector bool int)(__a >= __b);
   2213 }
   2214 
   2215 static inline __ATTRS_o_ai vector bool int
   2216 vec_cmpge(vector unsigned int __a, vector unsigned int __b) {
   2217   return (vector bool int)(__a >= __b);
   2218 }
   2219 
   2220 static inline __ATTRS_o_ai vector bool long long
   2221 vec_cmpge(vector signed long long __a, vector signed long long __b) {
   2222   return (vector bool long long)(__a >= __b);
   2223 }
   2224 
   2225 static inline __ATTRS_o_ai vector bool long long
   2226 vec_cmpge(vector unsigned long long __a, vector unsigned long long __b) {
   2227   return (vector bool long long)(__a >= __b);
   2228 }
   2229 
   2230 #if __ARCH__ >= 12
   2231 static inline __ATTRS_o_ai vector bool int
   2232 vec_cmpge(vector float __a, vector float __b) {
   2233   return (vector bool int)(__a >= __b);
   2234 }
   2235 #endif
   2236 
   2237 static inline __ATTRS_o_ai vector bool long long
   2238 vec_cmpge(vector double __a, vector double __b) {
   2239   return (vector bool long long)(__a >= __b);
   2240 }
   2241 
   2242 /*-- vec_cmpgt --------------------------------------------------------------*/
   2243 
   2244 static inline __ATTRS_o_ai vector bool char
   2245 vec_cmpgt(vector signed char __a, vector signed char __b) {
   2246   return (vector bool char)(__a > __b);
   2247 }
   2248 
   2249 static inline __ATTRS_o_ai vector bool char
   2250 vec_cmpgt(vector unsigned char __a, vector unsigned char __b) {
   2251   return (vector bool char)(__a > __b);
   2252 }
   2253 
   2254 static inline __ATTRS_o_ai vector bool short
   2255 vec_cmpgt(vector signed short __a, vector signed short __b) {
   2256   return (vector bool short)(__a > __b);
   2257 }
   2258 
   2259 static inline __ATTRS_o_ai vector bool short
   2260 vec_cmpgt(vector unsigned short __a, vector unsigned short __b) {
   2261   return (vector bool short)(__a > __b);
   2262 }
   2263 
   2264 static inline __ATTRS_o_ai vector bool int
   2265 vec_cmpgt(vector signed int __a, vector signed int __b) {
   2266   return (vector bool int)(__a > __b);
   2267 }
   2268 
   2269 static inline __ATTRS_o_ai vector bool int
   2270 vec_cmpgt(vector unsigned int __a, vector unsigned int __b) {
   2271   return (vector bool int)(__a > __b);
   2272 }
   2273 
   2274 static inline __ATTRS_o_ai vector bool long long
   2275 vec_cmpgt(vector signed long long __a, vector signed long long __b) {
   2276   return (vector bool long long)(__a > __b);
   2277 }
   2278 
   2279 static inline __ATTRS_o_ai vector bool long long
   2280 vec_cmpgt(vector unsigned long long __a, vector unsigned long long __b) {
   2281   return (vector bool long long)(__a > __b);
   2282 }
   2283 
   2284 #if __ARCH__ >= 12
   2285 static inline __ATTRS_o_ai vector bool int
   2286 vec_cmpgt(vector float __a, vector float __b) {
   2287   return (vector bool int)(__a > __b);
   2288 }
   2289 #endif
   2290 
   2291 static inline __ATTRS_o_ai vector bool long long
   2292 vec_cmpgt(vector double __a, vector double __b) {
   2293   return (vector bool long long)(__a > __b);
   2294 }
   2295 
   2296 /*-- vec_cmple --------------------------------------------------------------*/
   2297 
   2298 static inline __ATTRS_o_ai vector bool char
   2299 vec_cmple(vector signed char __a, vector signed char __b) {
   2300   return (vector bool char)(__a <= __b);
   2301 }
   2302 
   2303 static inline __ATTRS_o_ai vector bool char
   2304 vec_cmple(vector unsigned char __a, vector unsigned char __b) {
   2305   return (vector bool char)(__a <= __b);
   2306 }
   2307 
   2308 static inline __ATTRS_o_ai vector bool short
   2309 vec_cmple(vector signed short __a, vector signed short __b) {
   2310   return (vector bool short)(__a <= __b);
   2311 }
   2312 
   2313 static inline __ATTRS_o_ai vector bool short
   2314 vec_cmple(vector unsigned short __a, vector unsigned short __b) {
   2315   return (vector bool short)(__a <= __b);
   2316 }
   2317 
   2318 static inline __ATTRS_o_ai vector bool int
   2319 vec_cmple(vector signed int __a, vector signed int __b) {
   2320   return (vector bool int)(__a <= __b);
   2321 }
   2322 
   2323 static inline __ATTRS_o_ai vector bool int
   2324 vec_cmple(vector unsigned int __a, vector unsigned int __b) {
   2325   return (vector bool int)(__a <= __b);
   2326 }
   2327 
   2328 static inline __ATTRS_o_ai vector bool long long
   2329 vec_cmple(vector signed long long __a, vector signed long long __b) {
   2330   return (vector bool long long)(__a <= __b);
   2331 }
   2332 
   2333 static inline __ATTRS_o_ai vector bool long long
   2334 vec_cmple(vector unsigned long long __a, vector unsigned long long __b) {
   2335   return (vector bool long long)(__a <= __b);
   2336 }
   2337 
   2338 #if __ARCH__ >= 12
   2339 static inline __ATTRS_o_ai vector bool int
   2340 vec_cmple(vector float __a, vector float __b) {
   2341   return (vector bool int)(__a <= __b);
   2342 }
   2343 #endif
   2344 
   2345 static inline __ATTRS_o_ai vector bool long long
   2346 vec_cmple(vector double __a, vector double __b) {
   2347   return (vector bool long long)(__a <= __b);
   2348 }
   2349 
   2350 /*-- vec_cmplt --------------------------------------------------------------*/
   2351 
   2352 static inline __ATTRS_o_ai vector bool char
   2353 vec_cmplt(vector signed char __a, vector signed char __b) {
   2354   return (vector bool char)(__a < __b);
   2355 }
   2356 
   2357 static inline __ATTRS_o_ai vector bool char
   2358 vec_cmplt(vector unsigned char __a, vector unsigned char __b) {
   2359   return (vector bool char)(__a < __b);
   2360 }
   2361 
   2362 static inline __ATTRS_o_ai vector bool short
   2363 vec_cmplt(vector signed short __a, vector signed short __b) {
   2364   return (vector bool short)(__a < __b);
   2365 }
   2366 
   2367 static inline __ATTRS_o_ai vector bool short
   2368 vec_cmplt(vector unsigned short __a, vector unsigned short __b) {
   2369   return (vector bool short)(__a < __b);
   2370 }
   2371 
   2372 static inline __ATTRS_o_ai vector bool int
   2373 vec_cmplt(vector signed int __a, vector signed int __b) {
   2374   return (vector bool int)(__a < __b);
   2375 }
   2376 
   2377 static inline __ATTRS_o_ai vector bool int
   2378 vec_cmplt(vector unsigned int __a, vector unsigned int __b) {
   2379   return (vector bool int)(__a < __b);
   2380 }
   2381 
   2382 static inline __ATTRS_o_ai vector bool long long
   2383 vec_cmplt(vector signed long long __a, vector signed long long __b) {
   2384   return (vector bool long long)(__a < __b);
   2385 }
   2386 
   2387 static inline __ATTRS_o_ai vector bool long long
   2388 vec_cmplt(vector unsigned long long __a, vector unsigned long long __b) {
   2389   return (vector bool long long)(__a < __b);
   2390 }
   2391 
   2392 #if __ARCH__ >= 12
   2393 static inline __ATTRS_o_ai vector bool int
   2394 vec_cmplt(vector float __a, vector float __b) {
   2395   return (vector bool int)(__a < __b);
   2396 }
   2397 #endif
   2398 
   2399 static inline __ATTRS_o_ai vector bool long long
   2400 vec_cmplt(vector double __a, vector double __b) {
   2401   return (vector bool long long)(__a < __b);
   2402 }
   2403 
   2404 /*-- vec_all_eq -------------------------------------------------------------*/
   2405 
   2406 static inline __ATTRS_o_ai int
   2407 vec_all_eq(vector signed char __a, vector signed char __b) {
   2408   int __cc;
   2409   __builtin_s390_vceqbs(__a, __b, &__cc);
   2410   return __cc == 0;
   2411 }
   2412 
   2413 // This prototype is deprecated.
   2414 static inline __ATTRS_o_ai int
   2415 vec_all_eq(vector signed char __a, vector bool char __b) {
   2416   int __cc;
   2417   __builtin_s390_vceqbs(__a, (vector signed char)__b, &__cc);
   2418   return __cc == 0;
   2419 }
   2420 
   2421 // This prototype is deprecated.
   2422 static inline __ATTRS_o_ai int
   2423 vec_all_eq(vector bool char __a, vector signed char __b) {
   2424   int __cc;
   2425   __builtin_s390_vceqbs((vector signed char)__a, __b, &__cc);
   2426   return __cc == 0;
   2427 }
   2428 
   2429 static inline __ATTRS_o_ai int
   2430 vec_all_eq(vector unsigned char __a, vector unsigned char __b) {
   2431   int __cc;
   2432   __builtin_s390_vceqbs((vector signed char)__a,
   2433                         (vector signed char)__b, &__cc);
   2434   return __cc == 0;
   2435 }
   2436 
   2437 // This prototype is deprecated.
   2438 static inline __ATTRS_o_ai int
   2439 vec_all_eq(vector unsigned char __a, vector bool char __b) {
   2440   int __cc;
   2441   __builtin_s390_vceqbs((vector signed char)__a,
   2442                         (vector signed char)__b, &__cc);
   2443   return __cc == 0;
   2444 }
   2445 
   2446 // This prototype is deprecated.
   2447 static inline __ATTRS_o_ai int
   2448 vec_all_eq(vector bool char __a, vector unsigned char __b) {
   2449   int __cc;
   2450   __builtin_s390_vceqbs((vector signed char)__a,
   2451                         (vector signed char)__b, &__cc);
   2452   return __cc == 0;
   2453 }
   2454 
   2455 static inline __ATTRS_o_ai int
   2456 vec_all_eq(vector bool char __a, vector bool char __b) {
   2457   int __cc;
   2458   __builtin_s390_vceqbs((vector signed char)__a,
   2459                         (vector signed char)__b, &__cc);
   2460   return __cc == 0;
   2461 }
   2462 
   2463 static inline __ATTRS_o_ai int
   2464 vec_all_eq(vector signed short __a, vector signed short __b) {
   2465   int __cc;
   2466   __builtin_s390_vceqhs(__a, __b, &__cc);
   2467   return __cc == 0;
   2468 }
   2469 
   2470 // This prototype is deprecated.
   2471 static inline __ATTRS_o_ai int
   2472 vec_all_eq(vector signed short __a, vector bool short __b) {
   2473   int __cc;
   2474   __builtin_s390_vceqhs(__a, (vector signed short)__b, &__cc);
   2475   return __cc == 0;
   2476 }
   2477 
   2478 // This prototype is deprecated.
   2479 static inline __ATTRS_o_ai int
   2480 vec_all_eq(vector bool short __a, vector signed short __b) {
   2481   int __cc;
   2482   __builtin_s390_vceqhs((vector signed short)__a, __b, &__cc);
   2483   return __cc == 0;
   2484 }
   2485 
   2486 static inline __ATTRS_o_ai int
   2487 vec_all_eq(vector unsigned short __a, vector unsigned short __b) {
   2488   int __cc;
   2489   __builtin_s390_vceqhs((vector signed short)__a,
   2490                         (vector signed short)__b, &__cc);
   2491   return __cc == 0;
   2492 }
   2493 
   2494 // This prototype is deprecated.
   2495 static inline __ATTRS_o_ai int
   2496 vec_all_eq(vector unsigned short __a, vector bool short __b) {
   2497   int __cc;
   2498   __builtin_s390_vceqhs((vector signed short)__a,
   2499                         (vector signed short)__b, &__cc);
   2500   return __cc == 0;
   2501 }
   2502 
   2503 // This prototype is deprecated.
   2504 static inline __ATTRS_o_ai int
   2505 vec_all_eq(vector bool short __a, vector unsigned short __b) {
   2506   int __cc;
   2507   __builtin_s390_vceqhs((vector signed short)__a,
   2508                         (vector signed short)__b, &__cc);
   2509   return __cc == 0;
   2510 }
   2511 
   2512 static inline __ATTRS_o_ai int
   2513 vec_all_eq(vector bool short __a, vector bool short __b) {
   2514   int __cc;
   2515   __builtin_s390_vceqhs((vector signed short)__a,
   2516                         (vector signed short)__b, &__cc);
   2517   return __cc == 0;
   2518 }
   2519 
   2520 static inline __ATTRS_o_ai int
   2521 vec_all_eq(vector signed int __a, vector signed int __b) {
   2522   int __cc;
   2523   __builtin_s390_vceqfs(__a, __b, &__cc);
   2524   return __cc == 0;
   2525 }
   2526 
   2527 // This prototype is deprecated.
   2528 static inline __ATTRS_o_ai int
   2529 vec_all_eq(vector signed int __a, vector bool int __b) {
   2530   int __cc;
   2531   __builtin_s390_vceqfs(__a, (vector signed int)__b, &__cc);
   2532   return __cc == 0;
   2533 }
   2534 
   2535 // This prototype is deprecated.
   2536 static inline __ATTRS_o_ai int
   2537 vec_all_eq(vector bool int __a, vector signed int __b) {
   2538   int __cc;
   2539   __builtin_s390_vceqfs((vector signed int)__a, __b, &__cc);
   2540   return __cc == 0;
   2541 }
   2542 
   2543 static inline __ATTRS_o_ai int
   2544 vec_all_eq(vector unsigned int __a, vector unsigned int __b) {
   2545   int __cc;
   2546   __builtin_s390_vceqfs((vector signed int)__a,
   2547                         (vector signed int)__b, &__cc);
   2548   return __cc == 0;
   2549 }
   2550 
   2551 // This prototype is deprecated.
   2552 static inline __ATTRS_o_ai int
   2553 vec_all_eq(vector unsigned int __a, vector bool int __b) {
   2554   int __cc;
   2555   __builtin_s390_vceqfs((vector signed int)__a,
   2556                         (vector signed int)__b, &__cc);
   2557   return __cc == 0;
   2558 }
   2559 
   2560 // This prototype is deprecated.
   2561 static inline __ATTRS_o_ai int
   2562 vec_all_eq(vector bool int __a, vector unsigned int __b) {
   2563   int __cc;
   2564   __builtin_s390_vceqfs((vector signed int)__a,
   2565                         (vector signed int)__b, &__cc);
   2566   return __cc == 0;
   2567 }
   2568 
   2569 static inline __ATTRS_o_ai int
   2570 vec_all_eq(vector bool int __a, vector bool int __b) {
   2571   int __cc;
   2572   __builtin_s390_vceqfs((vector signed int)__a,
   2573                         (vector signed int)__b, &__cc);
   2574   return __cc == 0;
   2575 }
   2576 
   2577 static inline __ATTRS_o_ai int
   2578 vec_all_eq(vector signed long long __a, vector signed long long __b) {
   2579   int __cc;
   2580   __builtin_s390_vceqgs(__a, __b, &__cc);
   2581   return __cc == 0;
   2582 }
   2583 
   2584 // This prototype is deprecated.
   2585 static inline __ATTRS_o_ai int
   2586 vec_all_eq(vector signed long long __a, vector bool long long __b) {
   2587   int __cc;
   2588   __builtin_s390_vceqgs(__a, (vector signed long long)__b, &__cc);
   2589   return __cc == 0;
   2590 }
   2591 
   2592 // This prototype is deprecated.
   2593 static inline __ATTRS_o_ai int
   2594 vec_all_eq(vector bool long long __a, vector signed long long __b) {
   2595   int __cc;
   2596   __builtin_s390_vceqgs((vector signed long long)__a, __b, &__cc);
   2597   return __cc == 0;
   2598 }
   2599 
   2600 static inline __ATTRS_o_ai int
   2601 vec_all_eq(vector unsigned long long __a, vector unsigned long long __b) {
   2602   int __cc;
   2603   __builtin_s390_vceqgs((vector signed long long)__a,
   2604                         (vector signed long long)__b, &__cc);
   2605   return __cc == 0;
   2606 }
   2607 
   2608 // This prototype is deprecated.
   2609 static inline __ATTRS_o_ai int
   2610 vec_all_eq(vector unsigned long long __a, vector bool long long __b) {
   2611   int __cc;
   2612   __builtin_s390_vceqgs((vector signed long long)__a,
   2613                         (vector signed long long)__b, &__cc);
   2614   return __cc == 0;
   2615 }
   2616 
   2617 // This prototype is deprecated.
   2618 static inline __ATTRS_o_ai int
   2619 vec_all_eq(vector bool long long __a, vector unsigned long long __b) {
   2620   int __cc;
   2621   __builtin_s390_vceqgs((vector signed long long)__a,
   2622                         (vector signed long long)__b, &__cc);
   2623   return __cc == 0;
   2624 }
   2625 
   2626 static inline __ATTRS_o_ai int
   2627 vec_all_eq(vector bool long long __a, vector bool long long __b) {
   2628   int __cc;
   2629   __builtin_s390_vceqgs((vector signed long long)__a,
   2630                         (vector signed long long)__b, &__cc);
   2631   return __cc == 0;
   2632 }
   2633 
   2634 #if __ARCH__ >= 12
   2635 static inline __ATTRS_o_ai int
   2636 vec_all_eq(vector float __a, vector float __b) {
   2637   int __cc;
   2638   __builtin_s390_vfcesbs(__a, __b, &__cc);
   2639   return __cc == 0;
   2640 }
   2641 #endif
   2642 
   2643 static inline __ATTRS_o_ai int
   2644 vec_all_eq(vector double __a, vector double __b) {
   2645   int __cc;
   2646   __builtin_s390_vfcedbs(__a, __b, &__cc);
   2647   return __cc == 0;
   2648 }
   2649 
   2650 /*-- vec_all_ne -------------------------------------------------------------*/
   2651 
   2652 static inline __ATTRS_o_ai int
   2653 vec_all_ne(vector signed char __a, vector signed char __b) {
   2654   int __cc;
   2655   __builtin_s390_vceqbs(__a, __b, &__cc);
   2656   return __cc == 3;
   2657 }
   2658 
   2659 // This prototype is deprecated.
   2660 static inline __ATTRS_o_ai int
   2661 vec_all_ne(vector signed char __a, vector bool char __b) {
   2662   int __cc;
   2663   __builtin_s390_vceqbs(__a, (vector signed char)__b, &__cc);
   2664   return __cc == 3;
   2665 }
   2666 
   2667 // This prototype is deprecated.
   2668 static inline __ATTRS_o_ai int
   2669 vec_all_ne(vector bool char __a, vector signed char __b) {
   2670   int __cc;
   2671   __builtin_s390_vceqbs((vector signed char)__a, __b, &__cc);
   2672   return __cc == 3;
   2673 }
   2674 
   2675 static inline __ATTRS_o_ai int
   2676 vec_all_ne(vector unsigned char __a, vector unsigned char __b) {
   2677   int __cc;
   2678   __builtin_s390_vceqbs((vector signed char)__a,
   2679                         (vector signed char)__b, &__cc);
   2680   return __cc == 3;
   2681 }
   2682 
   2683 // This prototype is deprecated.
   2684 static inline __ATTRS_o_ai int
   2685 vec_all_ne(vector unsigned char __a, vector bool char __b) {
   2686   int __cc;
   2687   __builtin_s390_vceqbs((vector signed char)__a,
   2688                         (vector signed char)__b, &__cc);
   2689   return __cc == 3;
   2690 }
   2691 
   2692 // This prototype is deprecated.
   2693 static inline __ATTRS_o_ai int
   2694 vec_all_ne(vector bool char __a, vector unsigned char __b) {
   2695   int __cc;
   2696   __builtin_s390_vceqbs((vector signed char)__a,
   2697                         (vector signed char)__b, &__cc);
   2698   return __cc == 3;
   2699 }
   2700 
   2701 static inline __ATTRS_o_ai int
   2702 vec_all_ne(vector bool char __a, vector bool char __b) {
   2703   int __cc;
   2704   __builtin_s390_vceqbs((vector signed char)__a,
   2705                         (vector signed char)__b, &__cc);
   2706   return __cc == 3;
   2707 }
   2708 
   2709 static inline __ATTRS_o_ai int
   2710 vec_all_ne(vector signed short __a, vector signed short __b) {
   2711   int __cc;
   2712   __builtin_s390_vceqhs(__a, __b, &__cc);
   2713   return __cc == 3;
   2714 }
   2715 
   2716 // This prototype is deprecated.
   2717 static inline __ATTRS_o_ai int
   2718 vec_all_ne(vector signed short __a, vector bool short __b) {
   2719   int __cc;
   2720   __builtin_s390_vceqhs(__a, (vector signed short)__b, &__cc);
   2721   return __cc == 3;
   2722 }
   2723 
   2724 // This prototype is deprecated.
   2725 static inline __ATTRS_o_ai int
   2726 vec_all_ne(vector bool short __a, vector signed short __b) {
   2727   int __cc;
   2728   __builtin_s390_vceqhs((vector signed short)__a, __b, &__cc);
   2729   return __cc == 3;
   2730 }
   2731 
   2732 static inline __ATTRS_o_ai int
   2733 vec_all_ne(vector unsigned short __a, vector unsigned short __b) {
   2734   int __cc;
   2735   __builtin_s390_vceqhs((vector signed short)__a,
   2736                         (vector signed short)__b, &__cc);
   2737   return __cc == 3;
   2738 }
   2739 
   2740 // This prototype is deprecated.
   2741 static inline __ATTRS_o_ai int
   2742 vec_all_ne(vector unsigned short __a, vector bool short __b) {
   2743   int __cc;
   2744   __builtin_s390_vceqhs((vector signed short)__a,
   2745                         (vector signed short)__b, &__cc);
   2746   return __cc == 3;
   2747 }
   2748 
   2749 // This prototype is deprecated.
   2750 static inline __ATTRS_o_ai int
   2751 vec_all_ne(vector bool short __a, vector unsigned short __b) {
   2752   int __cc;
   2753   __builtin_s390_vceqhs((vector signed short)__a,
   2754                         (vector signed short)__b, &__cc);
   2755   return __cc == 3;
   2756 }
   2757 
   2758 static inline __ATTRS_o_ai int
   2759 vec_all_ne(vector bool short __a, vector bool short __b) {
   2760   int __cc;
   2761   __builtin_s390_vceqhs((vector signed short)__a,
   2762                         (vector signed short)__b, &__cc);
   2763   return __cc == 3;
   2764 }
   2765 
   2766 static inline __ATTRS_o_ai int
   2767 vec_all_ne(vector signed int __a, vector signed int __b) {
   2768   int __cc;
   2769   __builtin_s390_vceqfs(__a, __b, &__cc);
   2770   return __cc == 3;
   2771 }
   2772 
   2773 // This prototype is deprecated.
   2774 static inline __ATTRS_o_ai int
   2775 vec_all_ne(vector signed int __a, vector bool int __b) {
   2776   int __cc;
   2777   __builtin_s390_vceqfs(__a, (vector signed int)__b, &__cc);
   2778   return __cc == 3;
   2779 }
   2780 
   2781 // This prototype is deprecated.
   2782 static inline __ATTRS_o_ai int
   2783 vec_all_ne(vector bool int __a, vector signed int __b) {
   2784   int __cc;
   2785   __builtin_s390_vceqfs((vector signed int)__a, __b, &__cc);
   2786   return __cc == 3;
   2787 }
   2788 
   2789 static inline __ATTRS_o_ai int
   2790 vec_all_ne(vector unsigned int __a, vector unsigned int __b) {
   2791   int __cc;
   2792   __builtin_s390_vceqfs((vector signed int)__a,
   2793                         (vector signed int)__b, &__cc);
   2794   return __cc == 3;
   2795 }
   2796 
   2797 // This prototype is deprecated.
   2798 static inline __ATTRS_o_ai int
   2799 vec_all_ne(vector unsigned int __a, vector bool int __b) {
   2800   int __cc;
   2801   __builtin_s390_vceqfs((vector signed int)__a,
   2802                         (vector signed int)__b, &__cc);
   2803   return __cc == 3;
   2804 }
   2805 
   2806 // This prototype is deprecated.
   2807 static inline __ATTRS_o_ai int
   2808 vec_all_ne(vector bool int __a, vector unsigned int __b) {
   2809   int __cc;
   2810   __builtin_s390_vceqfs((vector signed int)__a,
   2811                         (vector signed int)__b, &__cc);
   2812   return __cc == 3;
   2813 }
   2814 
   2815 static inline __ATTRS_o_ai int
   2816 vec_all_ne(vector bool int __a, vector bool int __b) {
   2817   int __cc;
   2818   __builtin_s390_vceqfs((vector signed int)__a,
   2819                         (vector signed int)__b, &__cc);
   2820   return __cc == 3;
   2821 }
   2822 
   2823 static inline __ATTRS_o_ai int
   2824 vec_all_ne(vector signed long long __a, vector signed long long __b) {
   2825   int __cc;
   2826   __builtin_s390_vceqgs(__a, __b, &__cc);
   2827   return __cc == 3;
   2828 }
   2829 
   2830 // This prototype is deprecated.
   2831 static inline __ATTRS_o_ai int
   2832 vec_all_ne(vector signed long long __a, vector bool long long __b) {
   2833   int __cc;
   2834   __builtin_s390_vceqgs(__a, (vector signed long long)__b, &__cc);
   2835   return __cc == 3;
   2836 }
   2837 
   2838 // This prototype is deprecated.
   2839 static inline __ATTRS_o_ai int
   2840 vec_all_ne(vector bool long long __a, vector signed long long __b) {
   2841   int __cc;
   2842   __builtin_s390_vceqgs((vector signed long long)__a, __b, &__cc);
   2843   return __cc == 3;
   2844 }
   2845 
   2846 static inline __ATTRS_o_ai int
   2847 vec_all_ne(vector unsigned long long __a, vector unsigned long long __b) {
   2848   int __cc;
   2849   __builtin_s390_vceqgs((vector signed long long)__a,
   2850                         (vector signed long long)__b, &__cc);
   2851   return __cc == 3;
   2852 }
   2853 
   2854 // This prototype is deprecated.
   2855 static inline __ATTRS_o_ai int
   2856 vec_all_ne(vector unsigned long long __a, vector bool long long __b) {
   2857   int __cc;
   2858   __builtin_s390_vceqgs((vector signed long long)__a,
   2859                         (vector signed long long)__b, &__cc);
   2860   return __cc == 3;
   2861 }
   2862 
   2863 // This prototype is deprecated.
   2864 static inline __ATTRS_o_ai int
   2865 vec_all_ne(vector bool long long __a, vector unsigned long long __b) {
   2866   int __cc;
   2867   __builtin_s390_vceqgs((vector signed long long)__a,
   2868                         (vector signed long long)__b, &__cc);
   2869   return __cc == 3;
   2870 }
   2871 
   2872 static inline __ATTRS_o_ai int
   2873 vec_all_ne(vector bool long long __a, vector bool long long __b) {
   2874   int __cc;
   2875   __builtin_s390_vceqgs((vector signed long long)__a,
   2876                         (vector signed long long)__b, &__cc);
   2877   return __cc == 3;
   2878 }
   2879 
   2880 #if __ARCH__ >= 12
   2881 static inline __ATTRS_o_ai int
   2882 vec_all_ne(vector float __a, vector float __b) {
   2883   int __cc;
   2884   __builtin_s390_vfcesbs(__a, __b, &__cc);
   2885   return __cc == 3;
   2886 }
   2887 #endif
   2888 
   2889 static inline __ATTRS_o_ai int
   2890 vec_all_ne(vector double __a, vector double __b) {
   2891   int __cc;
   2892   __builtin_s390_vfcedbs(__a, __b, &__cc);
   2893   return __cc == 3;
   2894 }
   2895 
   2896 /*-- vec_all_ge -------------------------------------------------------------*/
   2897 
   2898 static inline __ATTRS_o_ai int
   2899 vec_all_ge(vector signed char __a, vector signed char __b) {
   2900   int __cc;
   2901   __builtin_s390_vchbs(__b, __a, &__cc);
   2902   return __cc == 3;
   2903 }
   2904 
   2905 // This prototype is deprecated.
   2906 static inline __ATTRS_o_ai int
   2907 vec_all_ge(vector signed char __a, vector bool char __b) {
   2908   int __cc;
   2909   __builtin_s390_vchbs((vector signed char)__b, __a, &__cc);
   2910   return __cc == 3;
   2911 }
   2912 
   2913 // This prototype is deprecated.
   2914 static inline __ATTRS_o_ai int
   2915 vec_all_ge(vector bool char __a, vector signed char __b) {
   2916   int __cc;
   2917   __builtin_s390_vchbs(__b, (vector signed char)__a, &__cc);
   2918   return __cc == 3;
   2919 }
   2920 
   2921 static inline __ATTRS_o_ai int
   2922 vec_all_ge(vector unsigned char __a, vector unsigned char __b) {
   2923   int __cc;
   2924   __builtin_s390_vchlbs(__b, __a, &__cc);
   2925   return __cc == 3;
   2926 }
   2927 
   2928 // This prototype is deprecated.
   2929 static inline __ATTRS_o_ai int
   2930 vec_all_ge(vector unsigned char __a, vector bool char __b) {
   2931   int __cc;
   2932   __builtin_s390_vchlbs((vector unsigned char)__b, __a, &__cc);
   2933   return __cc == 3;
   2934 }
   2935 
   2936 // This prototype is deprecated.
   2937 static inline __ATTRS_o_ai int
   2938 vec_all_ge(vector bool char __a, vector unsigned char __b) {
   2939   int __cc;
   2940   __builtin_s390_vchlbs(__b, (vector unsigned char)__a, &__cc);
   2941   return __cc == 3;
   2942 }
   2943 
   2944 // This prototype is deprecated.
   2945 static inline __ATTRS_o_ai int
   2946 vec_all_ge(vector bool char __a, vector bool char __b) {
   2947   int __cc;
   2948   __builtin_s390_vchlbs((vector unsigned char)__b,
   2949                         (vector unsigned char)__a, &__cc);
   2950   return __cc == 3;
   2951 }
   2952 
   2953 static inline __ATTRS_o_ai int
   2954 vec_all_ge(vector signed short __a, vector signed short __b) {
   2955   int __cc;
   2956   __builtin_s390_vchhs(__b, __a, &__cc);
   2957   return __cc == 3;
   2958 }
   2959 
   2960 // This prototype is deprecated.
   2961 static inline __ATTRS_o_ai int
   2962 vec_all_ge(vector signed short __a, vector bool short __b) {
   2963   int __cc;
   2964   __builtin_s390_vchhs((vector signed short)__b, __a, &__cc);
   2965   return __cc == 3;
   2966 }
   2967 
   2968 // This prototype is deprecated.
   2969 static inline __ATTRS_o_ai int
   2970 vec_all_ge(vector bool short __a, vector signed short __b) {
   2971   int __cc;
   2972   __builtin_s390_vchhs(__b, (vector signed short)__a, &__cc);
   2973   return __cc == 3;
   2974 }
   2975 
   2976 static inline __ATTRS_o_ai int
   2977 vec_all_ge(vector unsigned short __a, vector unsigned short __b) {
   2978   int __cc;
   2979   __builtin_s390_vchlhs(__b, __a, &__cc);
   2980   return __cc == 3;
   2981 }
   2982 
   2983 // This prototype is deprecated.
   2984 static inline __ATTRS_o_ai int
   2985 vec_all_ge(vector unsigned short __a, vector bool short __b) {
   2986   int __cc;
   2987   __builtin_s390_vchlhs((vector unsigned short)__b, __a, &__cc);
   2988   return __cc == 3;
   2989 }
   2990 
   2991 // This prototype is deprecated.
   2992 static inline __ATTRS_o_ai int
   2993 vec_all_ge(vector bool short __a, vector unsigned short __b) {
   2994   int __cc;
   2995   __builtin_s390_vchlhs(__b, (vector unsigned short)__a, &__cc);
   2996   return __cc == 3;
   2997 }
   2998 
   2999 // This prototype is deprecated.
   3000 static inline __ATTRS_o_ai int
   3001 vec_all_ge(vector bool short __a, vector bool short __b) {
   3002   int __cc;
   3003   __builtin_s390_vchlhs((vector unsigned short)__b,
   3004                         (vector unsigned short)__a, &__cc);
   3005   return __cc == 3;
   3006 }
   3007 
   3008 static inline __ATTRS_o_ai int
   3009 vec_all_ge(vector signed int __a, vector signed int __b) {
   3010   int __cc;
   3011   __builtin_s390_vchfs(__b, __a, &__cc);
   3012   return __cc == 3;
   3013 }
   3014 
   3015 // This prototype is deprecated.
   3016 static inline __ATTRS_o_ai int
   3017 vec_all_ge(vector signed int __a, vector bool int __b) {
   3018   int __cc;
   3019   __builtin_s390_vchfs((vector signed int)__b, __a, &__cc);
   3020   return __cc == 3;
   3021 }
   3022 
   3023 // This prototype is deprecated.
   3024 static inline __ATTRS_o_ai int
   3025 vec_all_ge(vector bool int __a, vector signed int __b) {
   3026   int __cc;
   3027   __builtin_s390_vchfs(__b, (vector signed int)__a, &__cc);
   3028   return __cc == 3;
   3029 }
   3030 
   3031 static inline __ATTRS_o_ai int
   3032 vec_all_ge(vector unsigned int __a, vector unsigned int __b) {
   3033   int __cc;
   3034   __builtin_s390_vchlfs(__b, __a, &__cc);
   3035   return __cc == 3;
   3036 }
   3037 
   3038 // This prototype is deprecated.
   3039 static inline __ATTRS_o_ai int
   3040 vec_all_ge(vector unsigned int __a, vector bool int __b) {
   3041   int __cc;
   3042   __builtin_s390_vchlfs((vector unsigned int)__b, __a, &__cc);
   3043   return __cc == 3;
   3044 }
   3045 
   3046 // This prototype is deprecated.
   3047 static inline __ATTRS_o_ai int
   3048 vec_all_ge(vector bool int __a, vector unsigned int __b) {
   3049   int __cc;
   3050   __builtin_s390_vchlfs(__b, (vector unsigned int)__a, &__cc);
   3051   return __cc == 3;
   3052 }
   3053 
   3054 // This prototype is deprecated.
   3055 static inline __ATTRS_o_ai int
   3056 vec_all_ge(vector bool int __a, vector bool int __b) {
   3057   int __cc;
   3058   __builtin_s390_vchlfs((vector unsigned int)__b,
   3059                         (vector unsigned int)__a, &__cc);
   3060   return __cc == 3;
   3061 }
   3062 
   3063 static inline __ATTRS_o_ai int
   3064 vec_all_ge(vector signed long long __a, vector signed long long __b) {
   3065   int __cc;
   3066   __builtin_s390_vchgs(__b, __a, &__cc);
   3067   return __cc == 3;
   3068 }
   3069 
   3070 // This prototype is deprecated.
   3071 static inline __ATTRS_o_ai int
   3072 vec_all_ge(vector signed long long __a, vector bool long long __b) {
   3073   int __cc;
   3074   __builtin_s390_vchgs((vector signed long long)__b, __a, &__cc);
   3075   return __cc == 3;
   3076 }
   3077 
   3078 // This prototype is deprecated.
   3079 static inline __ATTRS_o_ai int
   3080 vec_all_ge(vector bool long long __a, vector signed long long __b) {
   3081   int __cc;
   3082   __builtin_s390_vchgs(__b, (vector signed long long)__a, &__cc);
   3083   return __cc == 3;
   3084 }
   3085 
   3086 static inline __ATTRS_o_ai int
   3087 vec_all_ge(vector unsigned long long __a, vector unsigned long long __b) {
   3088   int __cc;
   3089   __builtin_s390_vchlgs(__b, __a, &__cc);
   3090   return __cc == 3;
   3091 }
   3092 
   3093 // This prototype is deprecated.
   3094 static inline __ATTRS_o_ai int
   3095 vec_all_ge(vector unsigned long long __a, vector bool long long __b) {
   3096   int __cc;
   3097   __builtin_s390_vchlgs((vector unsigned long long)__b, __a, &__cc);
   3098   return __cc == 3;
   3099 }
   3100 
   3101 // This prototype is deprecated.
   3102 static inline __ATTRS_o_ai int
   3103 vec_all_ge(vector bool long long __a, vector unsigned long long __b) {
   3104   int __cc;
   3105   __builtin_s390_vchlgs(__b, (vector unsigned long long)__a, &__cc);
   3106   return __cc == 3;
   3107 }
   3108 
   3109 // This prototype is deprecated.
   3110 static inline __ATTRS_o_ai int
   3111 vec_all_ge(vector bool long long __a, vector bool long long __b) {
   3112   int __cc;
   3113   __builtin_s390_vchlgs((vector unsigned long long)__b,
   3114                         (vector unsigned long long)__a, &__cc);
   3115   return __cc == 3;
   3116 }
   3117 
   3118 #if __ARCH__ >= 12
   3119 static inline __ATTRS_o_ai int
   3120 vec_all_ge(vector float __a, vector float __b) {
   3121   int __cc;
   3122   __builtin_s390_vfchesbs(__a, __b, &__cc);
   3123   return __cc == 0;
   3124 }
   3125 #endif
   3126 
   3127 static inline __ATTRS_o_ai int
   3128 vec_all_ge(vector double __a, vector double __b) {
   3129   int __cc;
   3130   __builtin_s390_vfchedbs(__a, __b, &__cc);
   3131   return __cc == 0;
   3132 }
   3133 
   3134 /*-- vec_all_gt -------------------------------------------------------------*/
   3135 
   3136 static inline __ATTRS_o_ai int
   3137 vec_all_gt(vector signed char __a, vector signed char __b) {
   3138   int __cc;
   3139   __builtin_s390_vchbs(__a, __b, &__cc);
   3140   return __cc == 0;
   3141 }
   3142 
   3143 // This prototype is deprecated.
   3144 static inline __ATTRS_o_ai int
   3145 vec_all_gt(vector signed char __a, vector bool char __b) {
   3146   int __cc;
   3147   __builtin_s390_vchbs(__a, (vector signed char)__b, &__cc);
   3148   return __cc == 0;
   3149 }
   3150 
   3151 // This prototype is deprecated.
   3152 static inline __ATTRS_o_ai int
   3153 vec_all_gt(vector bool char __a, vector signed char __b) {
   3154   int __cc;
   3155   __builtin_s390_vchbs((vector signed char)__a, __b, &__cc);
   3156   return __cc == 0;
   3157 }
   3158 
   3159 static inline __ATTRS_o_ai int
   3160 vec_all_gt(vector unsigned char __a, vector unsigned char __b) {
   3161   int __cc;
   3162   __builtin_s390_vchlbs(__a, __b, &__cc);
   3163   return __cc == 0;
   3164 }
   3165 
   3166 // This prototype is deprecated.
   3167 static inline __ATTRS_o_ai int
   3168 vec_all_gt(vector unsigned char __a, vector bool char __b) {
   3169   int __cc;
   3170   __builtin_s390_vchlbs(__a, (vector unsigned char)__b, &__cc);
   3171   return __cc == 0;
   3172 }
   3173 
   3174 // This prototype is deprecated.
   3175 static inline __ATTRS_o_ai int
   3176 vec_all_gt(vector bool char __a, vector unsigned char __b) {
   3177   int __cc;
   3178   __builtin_s390_vchlbs((vector unsigned char)__a, __b, &__cc);
   3179   return __cc == 0;
   3180 }
   3181 
   3182 // This prototype is deprecated.
   3183 static inline __ATTRS_o_ai int
   3184 vec_all_gt(vector bool char __a, vector bool char __b) {
   3185   int __cc;
   3186   __builtin_s390_vchlbs((vector unsigned char)__a,
   3187                         (vector unsigned char)__b, &__cc);
   3188   return __cc == 0;
   3189 }
   3190 
   3191 static inline __ATTRS_o_ai int
   3192 vec_all_gt(vector signed short __a, vector signed short __b) {
   3193   int __cc;
   3194   __builtin_s390_vchhs(__a, __b, &__cc);
   3195   return __cc == 0;
   3196 }
   3197 
   3198 // This prototype is deprecated.
   3199 static inline __ATTRS_o_ai int
   3200 vec_all_gt(vector signed short __a, vector bool short __b) {
   3201   int __cc;
   3202   __builtin_s390_vchhs(__a, (vector signed short)__b, &__cc);
   3203   return __cc == 0;
   3204 }
   3205 
   3206 // This prototype is deprecated.
   3207 static inline __ATTRS_o_ai int
   3208 vec_all_gt(vector bool short __a, vector signed short __b) {
   3209   int __cc;
   3210   __builtin_s390_vchhs((vector signed short)__a, __b, &__cc);
   3211   return __cc == 0;
   3212 }
   3213 
   3214 static inline __ATTRS_o_ai int
   3215 vec_all_gt(vector unsigned short __a, vector unsigned short __b) {
   3216   int __cc;
   3217   __builtin_s390_vchlhs(__a, __b, &__cc);
   3218   return __cc == 0;
   3219 }
   3220 
   3221 // This prototype is deprecated.
   3222 static inline __ATTRS_o_ai int
   3223 vec_all_gt(vector unsigned short __a, vector bool short __b) {
   3224   int __cc;
   3225   __builtin_s390_vchlhs(__a, (vector unsigned short)__b, &__cc);
   3226   return __cc == 0;
   3227 }
   3228 
   3229 // This prototype is deprecated.
   3230 static inline __ATTRS_o_ai int
   3231 vec_all_gt(vector bool short __a, vector unsigned short __b) {
   3232   int __cc;
   3233   __builtin_s390_vchlhs((vector unsigned short)__a, __b, &__cc);
   3234   return __cc == 0;
   3235 }
   3236 
   3237 // This prototype is deprecated.
   3238 static inline __ATTRS_o_ai int
   3239 vec_all_gt(vector bool short __a, vector bool short __b) {
   3240   int __cc;
   3241   __builtin_s390_vchlhs((vector unsigned short)__a,
   3242                         (vector unsigned short)__b, &__cc);
   3243   return __cc == 0;
   3244 }
   3245 
   3246 static inline __ATTRS_o_ai int
   3247 vec_all_gt(vector signed int __a, vector signed int __b) {
   3248   int __cc;
   3249   __builtin_s390_vchfs(__a, __b, &__cc);
   3250   return __cc == 0;
   3251 }
   3252 
   3253 // This prototype is deprecated.
   3254 static inline __ATTRS_o_ai int
   3255 vec_all_gt(vector signed int __a, vector bool int __b) {
   3256   int __cc;
   3257   __builtin_s390_vchfs(__a, (vector signed int)__b, &__cc);
   3258   return __cc == 0;
   3259 }
   3260 
   3261 // This prototype is deprecated.
   3262 static inline __ATTRS_o_ai int
   3263 vec_all_gt(vector bool int __a, vector signed int __b) {
   3264   int __cc;
   3265   __builtin_s390_vchfs((vector signed int)__a, __b, &__cc);
   3266   return __cc == 0;
   3267 }
   3268 
   3269 static inline __ATTRS_o_ai int
   3270 vec_all_gt(vector unsigned int __a, vector unsigned int __b) {
   3271   int __cc;
   3272   __builtin_s390_vchlfs(__a, __b, &__cc);
   3273   return __cc == 0;
   3274 }
   3275 
   3276 // This prototype is deprecated.
   3277 static inline __ATTRS_o_ai int
   3278 vec_all_gt(vector unsigned int __a, vector bool int __b) {
   3279   int __cc;
   3280   __builtin_s390_vchlfs(__a, (vector unsigned int)__b, &__cc);
   3281   return __cc == 0;
   3282 }
   3283 
   3284 // This prototype is deprecated.
   3285 static inline __ATTRS_o_ai int
   3286 vec_all_gt(vector bool int __a, vector unsigned int __b) {
   3287   int __cc;
   3288   __builtin_s390_vchlfs((vector unsigned int)__a, __b, &__cc);
   3289   return __cc == 0;
   3290 }
   3291 
   3292 // This prototype is deprecated.
   3293 static inline __ATTRS_o_ai int
   3294 vec_all_gt(vector bool int __a, vector bool int __b) {
   3295   int __cc;
   3296   __builtin_s390_vchlfs((vector unsigned int)__a,
   3297                         (vector unsigned int)__b, &__cc);
   3298   return __cc == 0;
   3299 }
   3300 
   3301 static inline __ATTRS_o_ai int
   3302 vec_all_gt(vector signed long long __a, vector signed long long __b) {
   3303   int __cc;
   3304   __builtin_s390_vchgs(__a, __b, &__cc);
   3305   return __cc == 0;
   3306 }
   3307 
   3308 // This prototype is deprecated.
   3309 static inline __ATTRS_o_ai int
   3310 vec_all_gt(vector signed long long __a, vector bool long long __b) {
   3311   int __cc;
   3312   __builtin_s390_vchgs(__a, (vector signed long long)__b, &__cc);
   3313   return __cc == 0;
   3314 }
   3315 
   3316 // This prototype is deprecated.
   3317 static inline __ATTRS_o_ai int
   3318 vec_all_gt(vector bool long long __a, vector signed long long __b) {
   3319   int __cc;
   3320   __builtin_s390_vchgs((vector signed long long)__a, __b, &__cc);
   3321   return __cc == 0;
   3322 }
   3323 
   3324 static inline __ATTRS_o_ai int
   3325 vec_all_gt(vector unsigned long long __a, vector unsigned long long __b) {
   3326   int __cc;
   3327   __builtin_s390_vchlgs(__a, __b, &__cc);
   3328   return __cc == 0;
   3329 }
   3330 
   3331 // This prototype is deprecated.
   3332 static inline __ATTRS_o_ai int
   3333 vec_all_gt(vector unsigned long long __a, vector bool long long __b) {
   3334   int __cc;
   3335   __builtin_s390_vchlgs(__a, (vector unsigned long long)__b, &__cc);
   3336   return __cc == 0;
   3337 }
   3338 
   3339 // This prototype is deprecated.
   3340 static inline __ATTRS_o_ai int
   3341 vec_all_gt(vector bool long long __a, vector unsigned long long __b) {
   3342   int __cc;
   3343   __builtin_s390_vchlgs((vector unsigned long long)__a, __b, &__cc);
   3344   return __cc == 0;
   3345 }
   3346 
   3347 // This prototype is deprecated.
   3348 static inline __ATTRS_o_ai int
   3349 vec_all_gt(vector bool long long __a, vector bool long long __b) {
   3350   int __cc;
   3351   __builtin_s390_vchlgs((vector unsigned long long)__a,
   3352                         (vector unsigned long long)__b, &__cc);
   3353   return __cc == 0;
   3354 }
   3355 
   3356 #if __ARCH__ >= 12
   3357 static inline __ATTRS_o_ai int
   3358 vec_all_gt(vector float __a, vector float __b) {
   3359   int __cc;
   3360   __builtin_s390_vfchsbs(__a, __b, &__cc);
   3361   return __cc == 0;
   3362 }
   3363 #endif
   3364 
   3365 static inline __ATTRS_o_ai int
   3366 vec_all_gt(vector double __a, vector double __b) {
   3367   int __cc;
   3368   __builtin_s390_vfchdbs(__a, __b, &__cc);
   3369   return __cc == 0;
   3370 }
   3371 
   3372 /*-- vec_all_le -------------------------------------------------------------*/
   3373 
   3374 static inline __ATTRS_o_ai int
   3375 vec_all_le(vector signed char __a, vector signed char __b) {
   3376   int __cc;
   3377   __builtin_s390_vchbs(__a, __b, &__cc);
   3378   return __cc == 3;
   3379 }
   3380 
   3381 // This prototype is deprecated.
   3382 static inline __ATTRS_o_ai int
   3383 vec_all_le(vector signed char __a, vector bool char __b) {
   3384   int __cc;
   3385   __builtin_s390_vchbs(__a, (vector signed char)__b, &__cc);
   3386   return __cc == 3;
   3387 }
   3388 
   3389 // This prototype is deprecated.
   3390 static inline __ATTRS_o_ai int
   3391 vec_all_le(vector bool char __a, vector signed char __b) {
   3392   int __cc;
   3393   __builtin_s390_vchbs((vector signed char)__a, __b, &__cc);
   3394   return __cc == 3;
   3395 }
   3396 
   3397 static inline __ATTRS_o_ai int
   3398 vec_all_le(vector unsigned char __a, vector unsigned char __b) {
   3399   int __cc;
   3400   __builtin_s390_vchlbs(__a, __b, &__cc);
   3401   return __cc == 3;
   3402 }
   3403 
   3404 // This prototype is deprecated.
   3405 static inline __ATTRS_o_ai int
   3406 vec_all_le(vector unsigned char __a, vector bool char __b) {
   3407   int __cc;
   3408   __builtin_s390_vchlbs(__a, (vector unsigned char)__b, &__cc);
   3409   return __cc == 3;
   3410 }
   3411 
   3412 // This prototype is deprecated.
   3413 static inline __ATTRS_o_ai int
   3414 vec_all_le(vector bool char __a, vector unsigned char __b) {
   3415   int __cc;
   3416   __builtin_s390_vchlbs((vector unsigned char)__a, __b, &__cc);
   3417   return __cc == 3;
   3418 }
   3419 
   3420 // This prototype is deprecated.
   3421 static inline __ATTRS_o_ai int
   3422 vec_all_le(vector bool char __a, vector bool char __b) {
   3423   int __cc;
   3424   __builtin_s390_vchlbs((vector unsigned char)__a,
   3425                         (vector unsigned char)__b, &__cc);
   3426   return __cc == 3;
   3427 }
   3428 
   3429 static inline __ATTRS_o_ai int
   3430 vec_all_le(vector signed short __a, vector signed short __b) {
   3431   int __cc;
   3432   __builtin_s390_vchhs(__a, __b, &__cc);
   3433   return __cc == 3;
   3434 }
   3435 
   3436 // This prototype is deprecated.
   3437 static inline __ATTRS_o_ai int
   3438 vec_all_le(vector signed short __a, vector bool short __b) {
   3439   int __cc;
   3440   __builtin_s390_vchhs(__a, (vector signed short)__b, &__cc);
   3441   return __cc == 3;
   3442 }
   3443 
   3444 // This prototype is deprecated.
   3445 static inline __ATTRS_o_ai int
   3446 vec_all_le(vector bool short __a, vector signed short __b) {
   3447   int __cc;
   3448   __builtin_s390_vchhs((vector signed short)__a, __b, &__cc);
   3449   return __cc == 3;
   3450 }
   3451 
   3452 static inline __ATTRS_o_ai int
   3453 vec_all_le(vector unsigned short __a, vector unsigned short __b) {
   3454   int __cc;
   3455   __builtin_s390_vchlhs(__a, __b, &__cc);
   3456   return __cc == 3;
   3457 }
   3458 
   3459 // This prototype is deprecated.
   3460 static inline __ATTRS_o_ai int
   3461 vec_all_le(vector unsigned short __a, vector bool short __b) {
   3462   int __cc;
   3463   __builtin_s390_vchlhs(__a, (vector unsigned short)__b, &__cc);
   3464   return __cc == 3;
   3465 }
   3466 
   3467 // This prototype is deprecated.
   3468 static inline __ATTRS_o_ai int
   3469 vec_all_le(vector bool short __a, vector unsigned short __b) {
   3470   int __cc;
   3471   __builtin_s390_vchlhs((vector unsigned short)__a, __b, &__cc);
   3472   return __cc == 3;
   3473 }
   3474 
   3475 // This prototype is deprecated.
   3476 static inline __ATTRS_o_ai int
   3477 vec_all_le(vector bool short __a, vector bool short __b) {
   3478   int __cc;
   3479   __builtin_s390_vchlhs((vector unsigned short)__a,
   3480                         (vector unsigned short)__b, &__cc);
   3481   return __cc == 3;
   3482 }
   3483 
   3484 static inline __ATTRS_o_ai int
   3485 vec_all_le(vector signed int __a, vector signed int __b) {
   3486   int __cc;
   3487   __builtin_s390_vchfs(__a, __b, &__cc);
   3488   return __cc == 3;
   3489 }
   3490 
   3491 // This prototype is deprecated.
   3492 static inline __ATTRS_o_ai int
   3493 vec_all_le(vector signed int __a, vector bool int __b) {
   3494   int __cc;
   3495   __builtin_s390_vchfs(__a, (vector signed int)__b, &__cc);
   3496   return __cc == 3;
   3497 }
   3498 
   3499 // This prototype is deprecated.
   3500 static inline __ATTRS_o_ai int
   3501 vec_all_le(vector bool int __a, vector signed int __b) {
   3502   int __cc;
   3503   __builtin_s390_vchfs((vector signed int)__a, __b, &__cc);
   3504   return __cc == 3;
   3505 }
   3506 
   3507 static inline __ATTRS_o_ai int
   3508 vec_all_le(vector unsigned int __a, vector unsigned int __b) {
   3509   int __cc;
   3510   __builtin_s390_vchlfs(__a, __b, &__cc);
   3511   return __cc == 3;
   3512 }
   3513 
   3514 // This prototype is deprecated.
   3515 static inline __ATTRS_o_ai int
   3516 vec_all_le(vector unsigned int __a, vector bool int __b) {
   3517   int __cc;
   3518   __builtin_s390_vchlfs(__a, (vector unsigned int)__b, &__cc);
   3519   return __cc == 3;
   3520 }
   3521 
   3522 // This prototype is deprecated.
   3523 static inline __ATTRS_o_ai int
   3524 vec_all_le(vector bool int __a, vector unsigned int __b) {
   3525   int __cc;
   3526   __builtin_s390_vchlfs((vector unsigned int)__a, __b, &__cc);
   3527   return __cc == 3;
   3528 }
   3529 
   3530 // This prototype is deprecated.
   3531 static inline __ATTRS_o_ai int
   3532 vec_all_le(vector bool int __a, vector bool int __b) {
   3533   int __cc;
   3534   __builtin_s390_vchlfs((vector unsigned int)__a,
   3535                         (vector unsigned int)__b, &__cc);
   3536   return __cc == 3;
   3537 }
   3538 
   3539 static inline __ATTRS_o_ai int
   3540 vec_all_le(vector signed long long __a, vector signed long long __b) {
   3541   int __cc;
   3542   __builtin_s390_vchgs(__a, __b, &__cc);
   3543   return __cc == 3;
   3544 }
   3545 
   3546 // This prototype is deprecated.
   3547 static inline __ATTRS_o_ai int
   3548 vec_all_le(vector signed long long __a, vector bool long long __b) {
   3549   int __cc;
   3550   __builtin_s390_vchgs(__a, (vector signed long long)__b, &__cc);
   3551   return __cc == 3;
   3552 }
   3553 
   3554 // This prototype is deprecated.
   3555 static inline __ATTRS_o_ai int
   3556 vec_all_le(vector bool long long __a, vector signed long long __b) {
   3557   int __cc;
   3558   __builtin_s390_vchgs((vector signed long long)__a, __b, &__cc);
   3559   return __cc == 3;
   3560 }
   3561 
   3562 static inline __ATTRS_o_ai int
   3563 vec_all_le(vector unsigned long long __a, vector unsigned long long __b) {
   3564   int __cc;
   3565   __builtin_s390_vchlgs(__a, __b, &__cc);
   3566   return __cc == 3;
   3567 }
   3568 
   3569 // This prototype is deprecated.
   3570 static inline __ATTRS_o_ai int
   3571 vec_all_le(vector unsigned long long __a, vector bool long long __b) {
   3572   int __cc;
   3573   __builtin_s390_vchlgs(__a, (vector unsigned long long)__b, &__cc);
   3574   return __cc == 3;
   3575 }
   3576 
   3577 // This prototype is deprecated.
   3578 static inline __ATTRS_o_ai int
   3579 vec_all_le(vector bool long long __a, vector unsigned long long __b) {
   3580   int __cc;
   3581   __builtin_s390_vchlgs((vector unsigned long long)__a, __b, &__cc);
   3582   return __cc == 3;
   3583 }
   3584 
   3585 // This prototype is deprecated.
   3586 static inline __ATTRS_o_ai int
   3587 vec_all_le(vector bool long long __a, vector bool long long __b) {
   3588   int __cc;
   3589   __builtin_s390_vchlgs((vector unsigned long long)__a,
   3590                         (vector unsigned long long)__b, &__cc);
   3591   return __cc == 3;
   3592 }
   3593 
   3594 #if __ARCH__ >= 12
   3595 static inline __ATTRS_o_ai int
   3596 vec_all_le(vector float __a, vector float __b) {
   3597   int __cc;
   3598   __builtin_s390_vfchesbs(__b, __a, &__cc);
   3599   return __cc == 0;
   3600 }
   3601 #endif
   3602 
   3603 static inline __ATTRS_o_ai int
   3604 vec_all_le(vector double __a, vector double __b) {
   3605   int __cc;
   3606   __builtin_s390_vfchedbs(__b, __a, &__cc);
   3607   return __cc == 0;
   3608 }
   3609 
   3610 /*-- vec_all_lt -------------------------------------------------------------*/
   3611 
   3612 static inline __ATTRS_o_ai int
   3613 vec_all_lt(vector signed char __a, vector signed char __b) {
   3614   int __cc;
   3615   __builtin_s390_vchbs(__b, __a, &__cc);
   3616   return __cc == 0;
   3617 }
   3618 
   3619 // This prototype is deprecated.
   3620 static inline __ATTRS_o_ai int
   3621 vec_all_lt(vector signed char __a, vector bool char __b) {
   3622   int __cc;
   3623   __builtin_s390_vchbs((vector signed char)__b, __a, &__cc);
   3624   return __cc == 0;
   3625 }
   3626 
   3627 // This prototype is deprecated.
   3628 static inline __ATTRS_o_ai int
   3629 vec_all_lt(vector bool char __a, vector signed char __b) {
   3630   int __cc;
   3631   __builtin_s390_vchbs(__b, (vector signed char)__a, &__cc);
   3632   return __cc == 0;
   3633 }
   3634 
   3635 static inline __ATTRS_o_ai int
   3636 vec_all_lt(vector unsigned char __a, vector unsigned char __b) {
   3637   int __cc;
   3638   __builtin_s390_vchlbs(__b, __a, &__cc);
   3639   return __cc == 0;
   3640 }
   3641 
   3642 // This prototype is deprecated.
   3643 static inline __ATTRS_o_ai int
   3644 vec_all_lt(vector unsigned char __a, vector bool char __b) {
   3645   int __cc;
   3646   __builtin_s390_vchlbs((vector unsigned char)__b, __a, &__cc);
   3647   return __cc == 0;
   3648 }
   3649 
   3650 // This prototype is deprecated.
   3651 static inline __ATTRS_o_ai int
   3652 vec_all_lt(vector bool char __a, vector unsigned char __b) {
   3653   int __cc;
   3654   __builtin_s390_vchlbs(__b, (vector unsigned char)__a, &__cc);
   3655   return __cc == 0;
   3656 }
   3657 
   3658 // This prototype is deprecated.
   3659 static inline __ATTRS_o_ai int
   3660 vec_all_lt(vector bool char __a, vector bool char __b) {
   3661   int __cc;
   3662   __builtin_s390_vchlbs((vector unsigned char)__b,
   3663                         (vector unsigned char)__a, &__cc);
   3664   return __cc == 0;
   3665 }
   3666 
   3667 static inline __ATTRS_o_ai int
   3668 vec_all_lt(vector signed short __a, vector signed short __b) {
   3669   int __cc;
   3670   __builtin_s390_vchhs(__b, __a, &__cc);
   3671   return __cc == 0;
   3672 }
   3673 
   3674 // This prototype is deprecated.
   3675 static inline __ATTRS_o_ai int
   3676 vec_all_lt(vector signed short __a, vector bool short __b) {
   3677   int __cc;
   3678   __builtin_s390_vchhs((vector signed short)__b, __a, &__cc);
   3679   return __cc == 0;
   3680 }
   3681 
   3682 // This prototype is deprecated.
   3683 static inline __ATTRS_o_ai int
   3684 vec_all_lt(vector bool short __a, vector signed short __b) {
   3685   int __cc;
   3686   __builtin_s390_vchhs(__b, (vector signed short)__a, &__cc);
   3687   return __cc == 0;
   3688 }
   3689 
   3690 static inline __ATTRS_o_ai int
   3691 vec_all_lt(vector unsigned short __a, vector unsigned short __b) {
   3692   int __cc;
   3693   __builtin_s390_vchlhs(__b, __a, &__cc);
   3694   return __cc == 0;
   3695 }
   3696 
   3697 // This prototype is deprecated.
   3698 static inline __ATTRS_o_ai int
   3699 vec_all_lt(vector unsigned short __a, vector bool short __b) {
   3700   int __cc;
   3701   __builtin_s390_vchlhs((vector unsigned short)__b, __a, &__cc);
   3702   return __cc == 0;
   3703 }
   3704 
   3705 // This prototype is deprecated.
   3706 static inline __ATTRS_o_ai int
   3707 vec_all_lt(vector bool short __a, vector unsigned short __b) {
   3708   int __cc;
   3709   __builtin_s390_vchlhs(__b, (vector unsigned short)__a, &__cc);
   3710   return __cc == 0;
   3711 }
   3712 
   3713 // This prototype is deprecated.
   3714 static inline __ATTRS_o_ai int
   3715 vec_all_lt(vector bool short __a, vector bool short __b) {
   3716   int __cc;
   3717   __builtin_s390_vchlhs((vector unsigned short)__b,
   3718                         (vector unsigned short)__a, &__cc);
   3719   return __cc == 0;
   3720 }
   3721 
   3722 static inline __ATTRS_o_ai int
   3723 vec_all_lt(vector signed int __a, vector signed int __b) {
   3724   int __cc;
   3725   __builtin_s390_vchfs(__b, __a, &__cc);
   3726   return __cc == 0;
   3727 }
   3728 
   3729 // This prototype is deprecated.
   3730 static inline __ATTRS_o_ai int
   3731 vec_all_lt(vector signed int __a, vector bool int __b) {
   3732   int __cc;
   3733   __builtin_s390_vchfs((vector signed int)__b, __a, &__cc);
   3734   return __cc == 0;
   3735 }
   3736 
   3737 // This prototype is deprecated.
   3738 static inline __ATTRS_o_ai int
   3739 vec_all_lt(vector bool int __a, vector signed int __b) {
   3740   int __cc;
   3741   __builtin_s390_vchfs(__b, (vector signed int)__a, &__cc);
   3742   return __cc == 0;
   3743 }
   3744 
   3745 static inline __ATTRS_o_ai int
   3746 vec_all_lt(vector unsigned int __a, vector unsigned int __b) {
   3747   int __cc;
   3748   __builtin_s390_vchlfs(__b, __a, &__cc);
   3749   return __cc == 0;
   3750 }
   3751 
   3752 // This prototype is deprecated.
   3753 static inline __ATTRS_o_ai int
   3754 vec_all_lt(vector unsigned int __a, vector bool int __b) {
   3755   int __cc;
   3756   __builtin_s390_vchlfs((vector unsigned int)__b, __a, &__cc);
   3757   return __cc == 0;
   3758 }
   3759 
   3760 // This prototype is deprecated.
   3761 static inline __ATTRS_o_ai int
   3762 vec_all_lt(vector bool int __a, vector unsigned int __b) {
   3763   int __cc;
   3764   __builtin_s390_vchlfs(__b, (vector unsigned int)__a, &__cc);
   3765   return __cc == 0;
   3766 }
   3767 
   3768 // This prototype is deprecated.
   3769 static inline __ATTRS_o_ai int
   3770 vec_all_lt(vector bool int __a, vector bool int __b) {
   3771   int __cc;
   3772   __builtin_s390_vchlfs((vector unsigned int)__b,
   3773                         (vector unsigned int)__a, &__cc);
   3774   return __cc == 0;
   3775 }
   3776 
   3777 static inline __ATTRS_o_ai int
   3778 vec_all_lt(vector signed long long __a, vector signed long long __b) {
   3779   int __cc;
   3780   __builtin_s390_vchgs(__b, __a, &__cc);
   3781   return __cc == 0;
   3782 }
   3783 
   3784 // This prototype is deprecated.
   3785 static inline __ATTRS_o_ai int
   3786 vec_all_lt(vector signed long long __a, vector bool long long __b) {
   3787   int __cc;
   3788   __builtin_s390_vchgs((vector signed long long)__b, __a, &__cc);
   3789   return __cc == 0;
   3790 }
   3791 
   3792 // This prototype is deprecated.
   3793 static inline __ATTRS_o_ai int
   3794 vec_all_lt(vector bool long long __a, vector signed long long __b) {
   3795   int __cc;
   3796   __builtin_s390_vchgs(__b, (vector signed long long)__a, &__cc);
   3797   return __cc == 0;
   3798 }
   3799 
   3800 static inline __ATTRS_o_ai int
   3801 vec_all_lt(vector unsigned long long __a, vector unsigned long long __b) {
   3802   int __cc;
   3803   __builtin_s390_vchlgs(__b, __a, &__cc);
   3804   return __cc == 0;
   3805 }
   3806 
   3807 // This prototype is deprecated.
   3808 static inline __ATTRS_o_ai int
   3809 vec_all_lt(vector unsigned long long __a, vector bool long long __b) {
   3810   int __cc;
   3811   __builtin_s390_vchlgs((vector unsigned long long)__b, __a, &__cc);
   3812   return __cc == 0;
   3813 }
   3814 
   3815 // This prototype is deprecated.
   3816 static inline __ATTRS_o_ai int
   3817 vec_all_lt(vector bool long long __a, vector unsigned long long __b) {
   3818   int __cc;
   3819   __builtin_s390_vchlgs(__b, (vector unsigned long long)__a, &__cc);
   3820   return __cc == 0;
   3821 }
   3822 
   3823 // This prototype is deprecated.
   3824 static inline __ATTRS_o_ai int
   3825 vec_all_lt(vector bool long long __a, vector bool long long __b) {
   3826   int __cc;
   3827   __builtin_s390_vchlgs((vector unsigned long long)__b,
   3828                         (vector unsigned long long)__a, &__cc);
   3829   return __cc == 0;
   3830 }
   3831 
   3832 #if __ARCH__ >= 12
   3833 static inline __ATTRS_o_ai int
   3834 vec_all_lt(vector float __a, vector float __b) {
   3835   int __cc;
   3836   __builtin_s390_vfchsbs(__b, __a, &__cc);
   3837   return __cc == 0;
   3838 }
   3839 #endif
   3840 
   3841 static inline __ATTRS_o_ai int
   3842 vec_all_lt(vector double __a, vector double __b) {
   3843   int __cc;
   3844   __builtin_s390_vfchdbs(__b, __a, &__cc);
   3845   return __cc == 0;
   3846 }
   3847 
   3848 /*-- vec_all_nge ------------------------------------------------------------*/
   3849 
   3850 #if __ARCH__ >= 12
   3851 static inline __ATTRS_o_ai int
   3852 vec_all_nge(vector float __a, vector float __b) {
   3853   int __cc;
   3854   __builtin_s390_vfchesbs(__a, __b, &__cc);
   3855   return __cc == 3;
   3856 }
   3857 #endif
   3858 
   3859 static inline __ATTRS_o_ai int
   3860 vec_all_nge(vector double __a, vector double __b) {
   3861   int __cc;
   3862   __builtin_s390_vfchedbs(__a, __b, &__cc);
   3863   return __cc == 3;
   3864 }
   3865 
   3866 /*-- vec_all_ngt ------------------------------------------------------------*/
   3867 
   3868 #if __ARCH__ >= 12
   3869 static inline __ATTRS_o_ai int
   3870 vec_all_ngt(vector float __a, vector float __b) {
   3871   int __cc;
   3872   __builtin_s390_vfchsbs(__a, __b, &__cc);
   3873   return __cc == 3;
   3874 }
   3875 #endif
   3876 
   3877 static inline __ATTRS_o_ai int
   3878 vec_all_ngt(vector double __a, vector double __b) {
   3879   int __cc;
   3880   __builtin_s390_vfchdbs(__a, __b, &__cc);
   3881   return __cc == 3;
   3882 }
   3883 
   3884 /*-- vec_all_nle ------------------------------------------------------------*/
   3885 
   3886 #if __ARCH__ >= 12
   3887 static inline __ATTRS_o_ai int
   3888 vec_all_nle(vector float __a, vector float __b) {
   3889   int __cc;
   3890   __builtin_s390_vfchesbs(__b, __a, &__cc);
   3891   return __cc == 3;
   3892 }
   3893 #endif
   3894 
   3895 static inline __ATTRS_o_ai int
   3896 vec_all_nle(vector double __a, vector double __b) {
   3897   int __cc;
   3898   __builtin_s390_vfchedbs(__b, __a, &__cc);
   3899   return __cc == 3;
   3900 }
   3901 
   3902 /*-- vec_all_nlt ------------------------------------------------------------*/
   3903 
   3904 #if __ARCH__ >= 12
   3905 static inline __ATTRS_o_ai int
   3906 vec_all_nlt(vector float __a, vector float __b) {
   3907   int __cc;
   3908   __builtin_s390_vfchsbs(__b, __a, &__cc);
   3909   return __cc == 3;
   3910 }
   3911 #endif
   3912 
   3913 static inline __ATTRS_o_ai int
   3914 vec_all_nlt(vector double __a, vector double __b) {
   3915   int __cc;
   3916   __builtin_s390_vfchdbs(__b, __a, &__cc);
   3917   return __cc == 3;
   3918 }
   3919 
   3920 /*-- vec_all_nan ------------------------------------------------------------*/
   3921 
   3922 #if __ARCH__ >= 12
   3923 static inline __ATTRS_o_ai int
   3924 vec_all_nan(vector float __a) {
   3925   int __cc;
   3926   __builtin_s390_vftcisb(__a, 15, &__cc);
   3927   return __cc == 0;
   3928 }
   3929 #endif
   3930 
   3931 static inline __ATTRS_o_ai int
   3932 vec_all_nan(vector double __a) {
   3933   int __cc;
   3934   __builtin_s390_vftcidb(__a, 15, &__cc);
   3935   return __cc == 0;
   3936 }
   3937 
   3938 /*-- vec_all_numeric --------------------------------------------------------*/
   3939 
   3940 #if __ARCH__ >= 12
   3941 static inline __ATTRS_o_ai int
   3942 vec_all_numeric(vector float __a) {
   3943   int __cc;
   3944   __builtin_s390_vftcisb(__a, 15, &__cc);
   3945   return __cc == 3;
   3946 }
   3947 #endif
   3948 
   3949 static inline __ATTRS_o_ai int
   3950 vec_all_numeric(vector double __a) {
   3951   int __cc;
   3952   __builtin_s390_vftcidb(__a, 15, &__cc);
   3953   return __cc == 3;
   3954 }
   3955 
   3956 /*-- vec_any_eq -------------------------------------------------------------*/
   3957 
   3958 static inline __ATTRS_o_ai int
   3959 vec_any_eq(vector signed char __a, vector signed char __b) {
   3960   int __cc;
   3961   __builtin_s390_vceqbs(__a, __b, &__cc);
   3962   return __cc <= 1;
   3963 }
   3964 
   3965 // This prototype is deprecated.
   3966 static inline __ATTRS_o_ai int
   3967 vec_any_eq(vector signed char __a, vector bool char __b) {
   3968   int __cc;
   3969   __builtin_s390_vceqbs(__a, (vector signed char)__b, &__cc);
   3970   return __cc <= 1;
   3971 }
   3972 
   3973 // This prototype is deprecated.
   3974 static inline __ATTRS_o_ai int
   3975 vec_any_eq(vector bool char __a, vector signed char __b) {
   3976   int __cc;
   3977   __builtin_s390_vceqbs((vector signed char)__a, __b, &__cc);
   3978   return __cc <= 1;
   3979 }
   3980 
   3981 static inline __ATTRS_o_ai int
   3982 vec_any_eq(vector unsigned char __a, vector unsigned char __b) {
   3983   int __cc;
   3984   __builtin_s390_vceqbs((vector signed char)__a,
   3985                         (vector signed char)__b, &__cc);
   3986   return __cc <= 1;
   3987 }
   3988 
   3989 // This prototype is deprecated.
   3990 static inline __ATTRS_o_ai int
   3991 vec_any_eq(vector unsigned char __a, vector bool char __b) {
   3992   int __cc;
   3993   __builtin_s390_vceqbs((vector signed char)__a,
   3994                         (vector signed char)__b, &__cc);
   3995   return __cc <= 1;
   3996 }
   3997 
   3998 // This prototype is deprecated.
   3999 static inline __ATTRS_o_ai int
   4000 vec_any_eq(vector bool char __a, vector unsigned char __b) {
   4001   int __cc;
   4002   __builtin_s390_vceqbs((vector signed char)__a,
   4003                         (vector signed char)__b, &__cc);
   4004   return __cc <= 1;
   4005 }
   4006 
   4007 static inline __ATTRS_o_ai int
   4008 vec_any_eq(vector bool char __a, vector bool char __b) {
   4009   int __cc;
   4010   __builtin_s390_vceqbs((vector signed char)__a,
   4011                         (vector signed char)__b, &__cc);
   4012   return __cc <= 1;
   4013 }
   4014 
   4015 static inline __ATTRS_o_ai int
   4016 vec_any_eq(vector signed short __a, vector signed short __b) {
   4017   int __cc;
   4018   __builtin_s390_vceqhs(__a, __b, &__cc);
   4019   return __cc <= 1;
   4020 }
   4021 
   4022 // This prototype is deprecated.
   4023 static inline __ATTRS_o_ai int
   4024 vec_any_eq(vector signed short __a, vector bool short __b) {
   4025   int __cc;
   4026   __builtin_s390_vceqhs(__a, (vector signed short)__b, &__cc);
   4027   return __cc <= 1;
   4028 }
   4029 
   4030 // This prototype is deprecated.
   4031 static inline __ATTRS_o_ai int
   4032 vec_any_eq(vector bool short __a, vector signed short __b) {
   4033   int __cc;
   4034   __builtin_s390_vceqhs((vector signed short)__a, __b, &__cc);
   4035   return __cc <= 1;
   4036 }
   4037 
   4038 static inline __ATTRS_o_ai int
   4039 vec_any_eq(vector unsigned short __a, vector unsigned short __b) {
   4040   int __cc;
   4041   __builtin_s390_vceqhs((vector signed short)__a,
   4042                         (vector signed short)__b, &__cc);
   4043   return __cc <= 1;
   4044 }
   4045 
   4046 // This prototype is deprecated.
   4047 static inline __ATTRS_o_ai int
   4048 vec_any_eq(vector unsigned short __a, vector bool short __b) {
   4049   int __cc;
   4050   __builtin_s390_vceqhs((vector signed short)__a,
   4051                         (vector signed short)__b, &__cc);
   4052   return __cc <= 1;
   4053 }
   4054 
   4055 // This prototype is deprecated.
   4056 static inline __ATTRS_o_ai int
   4057 vec_any_eq(vector bool short __a, vector unsigned short __b) {
   4058   int __cc;
   4059   __builtin_s390_vceqhs((vector signed short)__a,
   4060                         (vector signed short)__b, &__cc);
   4061   return __cc <= 1;
   4062 }
   4063 
   4064 static inline __ATTRS_o_ai int
   4065 vec_any_eq(vector bool short __a, vector bool short __b) {
   4066   int __cc;
   4067   __builtin_s390_vceqhs((vector signed short)__a,
   4068                         (vector signed short)__b, &__cc);
   4069   return __cc <= 1;
   4070 }
   4071 
   4072 static inline __ATTRS_o_ai int
   4073 vec_any_eq(vector signed int __a, vector signed int __b) {
   4074   int __cc;
   4075   __builtin_s390_vceqfs(__a, __b, &__cc);
   4076   return __cc <= 1;
   4077 }
   4078 
   4079 // This prototype is deprecated.
   4080 static inline __ATTRS_o_ai int
   4081 vec_any_eq(vector signed int __a, vector bool int __b) {
   4082   int __cc;
   4083   __builtin_s390_vceqfs(__a, (vector signed int)__b, &__cc);
   4084   return __cc <= 1;
   4085 }
   4086 
   4087 // This prototype is deprecated.
   4088 static inline __ATTRS_o_ai int
   4089 vec_any_eq(vector bool int __a, vector signed int __b) {
   4090   int __cc;
   4091   __builtin_s390_vceqfs((vector signed int)__a, __b, &__cc);
   4092   return __cc <= 1;
   4093 }
   4094 
   4095 static inline __ATTRS_o_ai int
   4096 vec_any_eq(vector unsigned int __a, vector unsigned int __b) {
   4097   int __cc;
   4098   __builtin_s390_vceqfs((vector signed int)__a,
   4099                         (vector signed int)__b, &__cc);
   4100   return __cc <= 1;
   4101 }
   4102 
   4103 // This prototype is deprecated.
   4104 static inline __ATTRS_o_ai int
   4105 vec_any_eq(vector unsigned int __a, vector bool int __b) {
   4106   int __cc;
   4107   __builtin_s390_vceqfs((vector signed int)__a,
   4108                         (vector signed int)__b, &__cc);
   4109   return __cc <= 1;
   4110 }
   4111 
   4112 // This prototype is deprecated.
   4113 static inline __ATTRS_o_ai int
   4114 vec_any_eq(vector bool int __a, vector unsigned int __b) {
   4115   int __cc;
   4116   __builtin_s390_vceqfs((vector signed int)__a,
   4117                         (vector signed int)__b, &__cc);
   4118   return __cc <= 1;
   4119 }
   4120 
   4121 static inline __ATTRS_o_ai int
   4122 vec_any_eq(vector bool int __a, vector bool int __b) {
   4123   int __cc;
   4124   __builtin_s390_vceqfs((vector signed int)__a,
   4125                         (vector signed int)__b, &__cc);
   4126   return __cc <= 1;
   4127 }
   4128 
   4129 static inline __ATTRS_o_ai int
   4130 vec_any_eq(vector signed long long __a, vector signed long long __b) {
   4131   int __cc;
   4132   __builtin_s390_vceqgs(__a, __b, &__cc);
   4133   return __cc <= 1;
   4134 }
   4135 
   4136 // This prototype is deprecated.
   4137 static inline __ATTRS_o_ai int
   4138 vec_any_eq(vector signed long long __a, vector bool long long __b) {
   4139   int __cc;
   4140   __builtin_s390_vceqgs(__a, (vector signed long long)__b, &__cc);
   4141   return __cc <= 1;
   4142 }
   4143 
   4144 // This prototype is deprecated.
   4145 static inline __ATTRS_o_ai int
   4146 vec_any_eq(vector bool long long __a, vector signed long long __b) {
   4147   int __cc;
   4148   __builtin_s390_vceqgs((vector signed long long)__a, __b, &__cc);
   4149   return __cc <= 1;
   4150 }
   4151 
   4152 static inline __ATTRS_o_ai int
   4153 vec_any_eq(vector unsigned long long __a, vector unsigned long long __b) {
   4154   int __cc;
   4155   __builtin_s390_vceqgs((vector signed long long)__a,
   4156                         (vector signed long long)__b, &__cc);
   4157   return __cc <= 1;
   4158 }
   4159 
   4160 // This prototype is deprecated.
   4161 static inline __ATTRS_o_ai int
   4162 vec_any_eq(vector unsigned long long __a, vector bool long long __b) {
   4163   int __cc;
   4164   __builtin_s390_vceqgs((vector signed long long)__a,
   4165                         (vector signed long long)__b, &__cc);
   4166   return __cc <= 1;
   4167 }
   4168 
   4169 // This prototype is deprecated.
   4170 static inline __ATTRS_o_ai int
   4171 vec_any_eq(vector bool long long __a, vector unsigned long long __b) {
   4172   int __cc;
   4173   __builtin_s390_vceqgs((vector signed long long)__a,
   4174                         (vector signed long long)__b, &__cc);
   4175   return __cc <= 1;
   4176 }
   4177 
   4178 static inline __ATTRS_o_ai int
   4179 vec_any_eq(vector bool long long __a, vector bool long long __b) {
   4180   int __cc;
   4181   __builtin_s390_vceqgs((vector signed long long)__a,
   4182                         (vector signed long long)__b, &__cc);
   4183   return __cc <= 1;
   4184 }
   4185 
   4186 #if __ARCH__ >= 12
   4187 static inline __ATTRS_o_ai int
   4188 vec_any_eq(vector float __a, vector float __b) {
   4189   int __cc;
   4190   __builtin_s390_vfcesbs(__a, __b, &__cc);
   4191   return __cc <= 1;
   4192 }
   4193 #endif
   4194 
   4195 static inline __ATTRS_o_ai int
   4196 vec_any_eq(vector double __a, vector double __b) {
   4197   int __cc;
   4198   __builtin_s390_vfcedbs(__a, __b, &__cc);
   4199   return __cc <= 1;
   4200 }
   4201 
   4202 /*-- vec_any_ne -------------------------------------------------------------*/
   4203 
   4204 static inline __ATTRS_o_ai int
   4205 vec_any_ne(vector signed char __a, vector signed char __b) {
   4206   int __cc;
   4207   __builtin_s390_vceqbs(__a, __b, &__cc);
   4208   return __cc != 0;
   4209 }
   4210 
   4211 // This prototype is deprecated.
   4212 static inline __ATTRS_o_ai int
   4213 vec_any_ne(vector signed char __a, vector bool char __b) {
   4214   int __cc;
   4215   __builtin_s390_vceqbs(__a, (vector signed char)__b, &__cc);
   4216   return __cc != 0;
   4217 }
   4218 
   4219 // This prototype is deprecated.
   4220 static inline __ATTRS_o_ai int
   4221 vec_any_ne(vector bool char __a, vector signed char __b) {
   4222   int __cc;
   4223   __builtin_s390_vceqbs((vector signed char)__a, __b, &__cc);
   4224   return __cc != 0;
   4225 }
   4226 
   4227 static inline __ATTRS_o_ai int
   4228 vec_any_ne(vector unsigned char __a, vector unsigned char __b) {
   4229   int __cc;
   4230   __builtin_s390_vceqbs((vector signed char)__a,
   4231                         (vector signed char)__b, &__cc);
   4232   return __cc != 0;
   4233 }
   4234 
   4235 // This prototype is deprecated.
   4236 static inline __ATTRS_o_ai int
   4237 vec_any_ne(vector unsigned char __a, vector bool char __b) {
   4238   int __cc;
   4239   __builtin_s390_vceqbs((vector signed char)__a,
   4240                         (vector signed char)__b, &__cc);
   4241   return __cc != 0;
   4242 }
   4243 
   4244 // This prototype is deprecated.
   4245 static inline __ATTRS_o_ai int
   4246 vec_any_ne(vector bool char __a, vector unsigned char __b) {
   4247   int __cc;
   4248   __builtin_s390_vceqbs((vector signed char)__a,
   4249                         (vector signed char)__b, &__cc);
   4250   return __cc != 0;
   4251 }
   4252 
   4253 static inline __ATTRS_o_ai int
   4254 vec_any_ne(vector bool char __a, vector bool char __b) {
   4255   int __cc;
   4256   __builtin_s390_vceqbs((vector signed char)__a,
   4257                         (vector signed char)__b, &__cc);
   4258   return __cc != 0;
   4259 }
   4260 
   4261 static inline __ATTRS_o_ai int
   4262 vec_any_ne(vector signed short __a, vector signed short __b) {
   4263   int __cc;
   4264   __builtin_s390_vceqhs(__a, __b, &__cc);
   4265   return __cc != 0;
   4266 }
   4267 
   4268 // This prototype is deprecated.
   4269 static inline __ATTRS_o_ai int
   4270 vec_any_ne(vector signed short __a, vector bool short __b) {
   4271   int __cc;
   4272   __builtin_s390_vceqhs(__a, (vector signed short)__b, &__cc);
   4273   return __cc != 0;
   4274 }
   4275 
   4276 // This prototype is deprecated.
   4277 static inline __ATTRS_o_ai int
   4278 vec_any_ne(vector bool short __a, vector signed short __b) {
   4279   int __cc;
   4280   __builtin_s390_vceqhs((vector signed short)__a, __b, &__cc);
   4281   return __cc != 0;
   4282 }
   4283 
   4284 static inline __ATTRS_o_ai int
   4285 vec_any_ne(vector unsigned short __a, vector unsigned short __b) {
   4286   int __cc;
   4287   __builtin_s390_vceqhs((vector signed short)__a,
   4288                         (vector signed short)__b, &__cc);
   4289   return __cc != 0;
   4290 }
   4291 
   4292 // This prototype is deprecated.
   4293 static inline __ATTRS_o_ai int
   4294 vec_any_ne(vector unsigned short __a, vector bool short __b) {
   4295   int __cc;
   4296   __builtin_s390_vceqhs((vector signed short)__a,
   4297                         (vector signed short)__b, &__cc);
   4298   return __cc != 0;
   4299 }
   4300 
   4301 // This prototype is deprecated.
   4302 static inline __ATTRS_o_ai int
   4303 vec_any_ne(vector bool short __a, vector unsigned short __b) {
   4304   int __cc;
   4305   __builtin_s390_vceqhs((vector signed short)__a,
   4306                         (vector signed short)__b, &__cc);
   4307   return __cc != 0;
   4308 }
   4309 
   4310 static inline __ATTRS_o_ai int
   4311 vec_any_ne(vector bool short __a, vector bool short __b) {
   4312   int __cc;
   4313   __builtin_s390_vceqhs((vector signed short)__a,
   4314                         (vector signed short)__b, &__cc);
   4315   return __cc != 0;
   4316 }
   4317 
   4318 static inline __ATTRS_o_ai int
   4319 vec_any_ne(vector signed int __a, vector signed int __b) {
   4320   int __cc;
   4321   __builtin_s390_vceqfs(__a, __b, &__cc);
   4322   return __cc != 0;
   4323 }
   4324 
   4325 // This prototype is deprecated.
   4326 static inline __ATTRS_o_ai int
   4327 vec_any_ne(vector signed int __a, vector bool int __b) {
   4328   int __cc;
   4329   __builtin_s390_vceqfs(__a, (vector signed int)__b, &__cc);
   4330   return __cc != 0;
   4331 }
   4332 
   4333 // This prototype is deprecated.
   4334 static inline __ATTRS_o_ai int
   4335 vec_any_ne(vector bool int __a, vector signed int __b) {
   4336   int __cc;
   4337   __builtin_s390_vceqfs((vector signed int)__a, __b, &__cc);
   4338   return __cc != 0;
   4339 }
   4340 
   4341 static inline __ATTRS_o_ai int
   4342 vec_any_ne(vector unsigned int __a, vector unsigned int __b) {
   4343   int __cc;
   4344   __builtin_s390_vceqfs((vector signed int)__a,
   4345                         (vector signed int)__b, &__cc);
   4346   return __cc != 0;
   4347 }
   4348 
   4349 // This prototype is deprecated.
   4350 static inline __ATTRS_o_ai int
   4351 vec_any_ne(vector unsigned int __a, vector bool int __b) {
   4352   int __cc;
   4353   __builtin_s390_vceqfs((vector signed int)__a,
   4354                         (vector signed int)__b, &__cc);
   4355   return __cc != 0;
   4356 }
   4357 
   4358 // This prototype is deprecated.
   4359 static inline __ATTRS_o_ai int
   4360 vec_any_ne(vector bool int __a, vector unsigned int __b) {
   4361   int __cc;
   4362   __builtin_s390_vceqfs((vector signed int)__a,
   4363                         (vector signed int)__b, &__cc);
   4364   return __cc != 0;
   4365 }
   4366 
   4367 static inline __ATTRS_o_ai int
   4368 vec_any_ne(vector bool int __a, vector bool int __b) {
   4369   int __cc;
   4370   __builtin_s390_vceqfs((vector signed int)__a,
   4371                         (vector signed int)__b, &__cc);
   4372   return __cc != 0;
   4373 }
   4374 
   4375 static inline __ATTRS_o_ai int
   4376 vec_any_ne(vector signed long long __a, vector signed long long __b) {
   4377   int __cc;
   4378   __builtin_s390_vceqgs(__a, __b, &__cc);
   4379   return __cc != 0;
   4380 }
   4381 
   4382 // This prototype is deprecated.
   4383 static inline __ATTRS_o_ai int
   4384 vec_any_ne(vector signed long long __a, vector bool long long __b) {
   4385   int __cc;
   4386   __builtin_s390_vceqgs(__a, (vector signed long long)__b, &__cc);
   4387   return __cc != 0;
   4388 }
   4389 
   4390 // This prototype is deprecated.
   4391 static inline __ATTRS_o_ai int
   4392 vec_any_ne(vector bool long long __a, vector signed long long __b) {
   4393   int __cc;
   4394   __builtin_s390_vceqgs((vector signed long long)__a, __b, &__cc);
   4395   return __cc != 0;
   4396 }
   4397 
   4398 static inline __ATTRS_o_ai int
   4399 vec_any_ne(vector unsigned long long __a, vector unsigned long long __b) {
   4400   int __cc;
   4401   __builtin_s390_vceqgs((vector signed long long)__a,
   4402                         (vector signed long long)__b, &__cc);
   4403   return __cc != 0;
   4404 }
   4405 
   4406 // This prototype is deprecated.
   4407 static inline __ATTRS_o_ai int
   4408 vec_any_ne(vector unsigned long long __a, vector bool long long __b) {
   4409   int __cc;
   4410   __builtin_s390_vceqgs((vector signed long long)__a,
   4411                         (vector signed long long)__b, &__cc);
   4412   return __cc != 0;
   4413 }
   4414 
   4415 // This prototype is deprecated.
   4416 static inline __ATTRS_o_ai int
   4417 vec_any_ne(vector bool long long __a, vector unsigned long long __b) {
   4418   int __cc;
   4419   __builtin_s390_vceqgs((vector signed long long)__a,
   4420                         (vector signed long long)__b, &__cc);
   4421   return __cc != 0;
   4422 }
   4423 
   4424 static inline __ATTRS_o_ai int
   4425 vec_any_ne(vector bool long long __a, vector bool long long __b) {
   4426   int __cc;
   4427   __builtin_s390_vceqgs((vector signed long long)__a,
   4428                         (vector signed long long)__b, &__cc);
   4429   return __cc != 0;
   4430 }
   4431 
   4432 #if __ARCH__ >= 12
   4433 static inline __ATTRS_o_ai int
   4434 vec_any_ne(vector float __a, vector float __b) {
   4435   int __cc;
   4436   __builtin_s390_vfcesbs(__a, __b, &__cc);
   4437   return __cc != 0;
   4438 }
   4439 #endif
   4440 
   4441 static inline __ATTRS_o_ai int
   4442 vec_any_ne(vector double __a, vector double __b) {
   4443   int __cc;
   4444   __builtin_s390_vfcedbs(__a, __b, &__cc);
   4445   return __cc != 0;
   4446 }
   4447 
   4448 /*-- vec_any_ge -------------------------------------------------------------*/
   4449 
   4450 static inline __ATTRS_o_ai int
   4451 vec_any_ge(vector signed char __a, vector signed char __b) {
   4452   int __cc;
   4453   __builtin_s390_vchbs(__b, __a, &__cc);
   4454   return __cc != 0;
   4455 }
   4456 
   4457 // This prototype is deprecated.
   4458 static inline __ATTRS_o_ai int
   4459 vec_any_ge(vector signed char __a, vector bool char __b) {
   4460   int __cc;
   4461   __builtin_s390_vchbs((vector signed char)__b, __a, &__cc);
   4462   return __cc != 0;
   4463 }
   4464 
   4465 // This prototype is deprecated.
   4466 static inline __ATTRS_o_ai int
   4467 vec_any_ge(vector bool char __a, vector signed char __b) {
   4468   int __cc;
   4469   __builtin_s390_vchbs(__b, (vector signed char)__a, &__cc);
   4470   return __cc != 0;
   4471 }
   4472 
   4473 static inline __ATTRS_o_ai int
   4474 vec_any_ge(vector unsigned char __a, vector unsigned char __b) {
   4475   int __cc;
   4476   __builtin_s390_vchlbs(__b, __a, &__cc);
   4477   return __cc != 0;
   4478 }
   4479 
   4480 // This prototype is deprecated.
   4481 static inline __ATTRS_o_ai int
   4482 vec_any_ge(vector unsigned char __a, vector bool char __b) {
   4483   int __cc;
   4484   __builtin_s390_vchlbs((vector unsigned char)__b, __a, &__cc);
   4485   return __cc != 0;
   4486 }
   4487 
   4488 // This prototype is deprecated.
   4489 static inline __ATTRS_o_ai int
   4490 vec_any_ge(vector bool char __a, vector unsigned char __b) {
   4491   int __cc;
   4492   __builtin_s390_vchlbs(__b, (vector unsigned char)__a, &__cc);
   4493   return __cc != 0;
   4494 }
   4495 
   4496 // This prototype is deprecated.
   4497 static inline __ATTRS_o_ai int
   4498 vec_any_ge(vector bool char __a, vector bool char __b) {
   4499   int __cc;
   4500   __builtin_s390_vchlbs((vector unsigned char)__b,
   4501                         (vector unsigned char)__a, &__cc);
   4502   return __cc != 0;
   4503 }
   4504 
   4505 static inline __ATTRS_o_ai int
   4506 vec_any_ge(vector signed short __a, vector signed short __b) {
   4507   int __cc;
   4508   __builtin_s390_vchhs(__b, __a, &__cc);
   4509   return __cc != 0;
   4510 }
   4511 
   4512 // This prototype is deprecated.
   4513 static inline __ATTRS_o_ai int
   4514 vec_any_ge(vector signed short __a, vector bool short __b) {
   4515   int __cc;
   4516   __builtin_s390_vchhs((vector signed short)__b, __a, &__cc);
   4517   return __cc != 0;
   4518 }
   4519 
   4520 // This prototype is deprecated.
   4521 static inline __ATTRS_o_ai int
   4522 vec_any_ge(vector bool short __a, vector signed short __b) {
   4523   int __cc;
   4524   __builtin_s390_vchhs(__b, (vector signed short)__a, &__cc);
   4525   return __cc != 0;
   4526 }
   4527 
   4528 static inline __ATTRS_o_ai int
   4529 vec_any_ge(vector unsigned short __a, vector unsigned short __b) {
   4530   int __cc;
   4531   __builtin_s390_vchlhs(__b, __a, &__cc);
   4532   return __cc != 0;
   4533 }
   4534 
   4535 // This prototype is deprecated.
   4536 static inline __ATTRS_o_ai int
   4537 vec_any_ge(vector unsigned short __a, vector bool short __b) {
   4538   int __cc;
   4539   __builtin_s390_vchlhs((vector unsigned short)__b, __a, &__cc);
   4540   return __cc != 0;
   4541 }
   4542 
   4543 // This prototype is deprecated.
   4544 static inline __ATTRS_o_ai int
   4545 vec_any_ge(vector bool short __a, vector unsigned short __b) {
   4546   int __cc;
   4547   __builtin_s390_vchlhs(__b, (vector unsigned short)__a, &__cc);
   4548   return __cc != 0;
   4549 }
   4550 
   4551 // This prototype is deprecated.
   4552 static inline __ATTRS_o_ai int
   4553 vec_any_ge(vector bool short __a, vector bool short __b) {
   4554   int __cc;
   4555   __builtin_s390_vchlhs((vector unsigned short)__b,
   4556                         (vector unsigned short)__a, &__cc);
   4557   return __cc != 0;
   4558 }
   4559 
   4560 static inline __ATTRS_o_ai int
   4561 vec_any_ge(vector signed int __a, vector signed int __b) {
   4562   int __cc;
   4563   __builtin_s390_vchfs(__b, __a, &__cc);
   4564   return __cc != 0;
   4565 }
   4566 
   4567 // This prototype is deprecated.
   4568 static inline __ATTRS_o_ai int
   4569 vec_any_ge(vector signed int __a, vector bool int __b) {
   4570   int __cc;
   4571   __builtin_s390_vchfs((vector signed int)__b, __a, &__cc);
   4572   return __cc != 0;
   4573 }
   4574 
   4575 // This prototype is deprecated.
   4576 static inline __ATTRS_o_ai int
   4577 vec_any_ge(vector bool int __a, vector signed int __b) {
   4578   int __cc;
   4579   __builtin_s390_vchfs(__b, (vector signed int)__a, &__cc);
   4580   return __cc != 0;
   4581 }
   4582 
   4583 static inline __ATTRS_o_ai int
   4584 vec_any_ge(vector unsigned int __a, vector unsigned int __b) {
   4585   int __cc;
   4586   __builtin_s390_vchlfs(__b, __a, &__cc);
   4587   return __cc != 0;
   4588 }
   4589 
   4590 // This prototype is deprecated.
   4591 static inline __ATTRS_o_ai int
   4592 vec_any_ge(vector unsigned int __a, vector bool int __b) {
   4593   int __cc;
   4594   __builtin_s390_vchlfs((vector unsigned int)__b, __a, &__cc);
   4595   return __cc != 0;
   4596 }
   4597 
   4598 // This prototype is deprecated.
   4599 static inline __ATTRS_o_ai int
   4600 vec_any_ge(vector bool int __a, vector unsigned int __b) {
   4601   int __cc;
   4602   __builtin_s390_vchlfs(__b, (vector unsigned int)__a, &__cc);
   4603   return __cc != 0;
   4604 }
   4605 
   4606 // This prototype is deprecated.
   4607 static inline __ATTRS_o_ai int
   4608 vec_any_ge(vector bool int __a, vector bool int __b) {
   4609   int __cc;
   4610   __builtin_s390_vchlfs((vector unsigned int)__b,
   4611                         (vector unsigned int)__a, &__cc);
   4612   return __cc != 0;
   4613 }
   4614 
   4615 static inline __ATTRS_o_ai int
   4616 vec_any_ge(vector signed long long __a, vector signed long long __b) {
   4617   int __cc;
   4618   __builtin_s390_vchgs(__b, __a, &__cc);
   4619   return __cc != 0;
   4620 }
   4621 
   4622 // This prototype is deprecated.
   4623 static inline __ATTRS_o_ai int
   4624 vec_any_ge(vector signed long long __a, vector bool long long __b) {
   4625   int __cc;
   4626   __builtin_s390_vchgs((vector signed long long)__b, __a, &__cc);
   4627   return __cc != 0;
   4628 }
   4629 
   4630 // This prototype is deprecated.
   4631 static inline __ATTRS_o_ai int
   4632 vec_any_ge(vector bool long long __a, vector signed long long __b) {
   4633   int __cc;
   4634   __builtin_s390_vchgs(__b, (vector signed long long)__a, &__cc);
   4635   return __cc != 0;
   4636 }
   4637 
   4638 static inline __ATTRS_o_ai int
   4639 vec_any_ge(vector unsigned long long __a, vector unsigned long long __b) {
   4640   int __cc;
   4641   __builtin_s390_vchlgs(__b, __a, &__cc);
   4642   return __cc != 0;
   4643 }
   4644 
   4645 // This prototype is deprecated.
   4646 static inline __ATTRS_o_ai int
   4647 vec_any_ge(vector unsigned long long __a, vector bool long long __b) {
   4648   int __cc;
   4649   __builtin_s390_vchlgs((vector unsigned long long)__b, __a, &__cc);
   4650   return __cc != 0;
   4651 }
   4652 
   4653 // This prototype is deprecated.
   4654 static inline __ATTRS_o_ai int
   4655 vec_any_ge(vector bool long long __a, vector unsigned long long __b) {
   4656   int __cc;
   4657   __builtin_s390_vchlgs(__b, (vector unsigned long long)__a, &__cc);
   4658   return __cc != 0;
   4659 }
   4660 
   4661 // This prototype is deprecated.
   4662 static inline __ATTRS_o_ai int
   4663 vec_any_ge(vector bool long long __a, vector bool long long __b) {
   4664   int __cc;
   4665   __builtin_s390_vchlgs((vector unsigned long long)__b,
   4666                         (vector unsigned long long)__a, &__cc);
   4667   return __cc != 0;
   4668 }
   4669 
   4670 #if __ARCH__ >= 12
   4671 static inline __ATTRS_o_ai int
   4672 vec_any_ge(vector float __a, vector float __b) {
   4673   int __cc;
   4674   __builtin_s390_vfchesbs(__a, __b, &__cc);
   4675   return __cc <= 1;
   4676 }
   4677 #endif
   4678 
   4679 static inline __ATTRS_o_ai int
   4680 vec_any_ge(vector double __a, vector double __b) {
   4681   int __cc;
   4682   __builtin_s390_vfchedbs(__a, __b, &__cc);
   4683   return __cc <= 1;
   4684 }
   4685 
   4686 /*-- vec_any_gt -------------------------------------------------------------*/
   4687 
   4688 static inline __ATTRS_o_ai int
   4689 vec_any_gt(vector signed char __a, vector signed char __b) {
   4690   int __cc;
   4691   __builtin_s390_vchbs(__a, __b, &__cc);
   4692   return __cc <= 1;
   4693 }
   4694 
   4695 // This prototype is deprecated.
   4696 static inline __ATTRS_o_ai int
   4697 vec_any_gt(vector signed char __a, vector bool char __b) {
   4698   int __cc;
   4699   __builtin_s390_vchbs(__a, (vector signed char)__b, &__cc);
   4700   return __cc <= 1;
   4701 }
   4702 
   4703 // This prototype is deprecated.
   4704 static inline __ATTRS_o_ai int
   4705 vec_any_gt(vector bool char __a, vector signed char __b) {
   4706   int __cc;
   4707   __builtin_s390_vchbs((vector signed char)__a, __b, &__cc);
   4708   return __cc <= 1;
   4709 }
   4710 
   4711 static inline __ATTRS_o_ai int
   4712 vec_any_gt(vector unsigned char __a, vector unsigned char __b) {
   4713   int __cc;
   4714   __builtin_s390_vchlbs(__a, __b, &__cc);
   4715   return __cc <= 1;
   4716 }
   4717 
   4718 // This prototype is deprecated.
   4719 static inline __ATTRS_o_ai int
   4720 vec_any_gt(vector unsigned char __a, vector bool char __b) {
   4721   int __cc;
   4722   __builtin_s390_vchlbs(__a, (vector unsigned char)__b, &__cc);
   4723   return __cc <= 1;
   4724 }
   4725 
   4726 // This prototype is deprecated.
   4727 static inline __ATTRS_o_ai int
   4728 vec_any_gt(vector bool char __a, vector unsigned char __b) {
   4729   int __cc;
   4730   __builtin_s390_vchlbs((vector unsigned char)__a, __b, &__cc);
   4731   return __cc <= 1;
   4732 }
   4733 
   4734 // This prototype is deprecated.
   4735 static inline __ATTRS_o_ai int
   4736 vec_any_gt(vector bool char __a, vector bool char __b) {
   4737   int __cc;
   4738   __builtin_s390_vchlbs((vector unsigned char)__a,
   4739                         (vector unsigned char)__b, &__cc);
   4740   return __cc <= 1;
   4741 }
   4742 
   4743 static inline __ATTRS_o_ai int
   4744 vec_any_gt(vector signed short __a, vector signed short __b) {
   4745   int __cc;
   4746   __builtin_s390_vchhs(__a, __b, &__cc);
   4747   return __cc <= 1;
   4748 }
   4749 
   4750 // This prototype is deprecated.
   4751 static inline __ATTRS_o_ai int
   4752 vec_any_gt(vector signed short __a, vector bool short __b) {
   4753   int __cc;
   4754   __builtin_s390_vchhs(__a, (vector signed short)__b, &__cc);
   4755   return __cc <= 1;
   4756 }
   4757 
   4758 // This prototype is deprecated.
   4759 static inline __ATTRS_o_ai int
   4760 vec_any_gt(vector bool short __a, vector signed short __b) {
   4761   int __cc;
   4762   __builtin_s390_vchhs((vector signed short)__a, __b, &__cc);
   4763   return __cc <= 1;
   4764 }
   4765 
   4766 static inline __ATTRS_o_ai int
   4767 vec_any_gt(vector unsigned short __a, vector unsigned short __b) {
   4768   int __cc;
   4769   __builtin_s390_vchlhs(__a, __b, &__cc);
   4770   return __cc <= 1;
   4771 }
   4772 
   4773 // This prototype is deprecated.
   4774 static inline __ATTRS_o_ai int
   4775 vec_any_gt(vector unsigned short __a, vector bool short __b) {
   4776   int __cc;
   4777   __builtin_s390_vchlhs(__a, (vector unsigned short)__b, &__cc);
   4778   return __cc <= 1;
   4779 }
   4780 
   4781 // This prototype is deprecated.
   4782 static inline __ATTRS_o_ai int
   4783 vec_any_gt(vector bool short __a, vector unsigned short __b) {
   4784   int __cc;
   4785   __builtin_s390_vchlhs((vector unsigned short)__a, __b, &__cc);
   4786   return __cc <= 1;
   4787 }
   4788 
   4789 // This prototype is deprecated.
   4790 static inline __ATTRS_o_ai int
   4791 vec_any_gt(vector bool short __a, vector bool short __b) {
   4792   int __cc;
   4793   __builtin_s390_vchlhs((vector unsigned short)__a,
   4794                         (vector unsigned short)__b, &__cc);
   4795   return __cc <= 1;
   4796 }
   4797 
   4798 static inline __ATTRS_o_ai int
   4799 vec_any_gt(vector signed int __a, vector signed int __b) {
   4800   int __cc;
   4801   __builtin_s390_vchfs(__a, __b, &__cc);
   4802   return __cc <= 1;
   4803 }
   4804 
   4805 // This prototype is deprecated.
   4806 static inline __ATTRS_o_ai int
   4807 vec_any_gt(vector signed int __a, vector bool int __b) {
   4808   int __cc;
   4809   __builtin_s390_vchfs(__a, (vector signed int)__b, &__cc);
   4810   return __cc <= 1;
   4811 }
   4812 
   4813 // This prototype is deprecated.
   4814 static inline __ATTRS_o_ai int
   4815 vec_any_gt(vector bool int __a, vector signed int __b) {
   4816   int __cc;
   4817   __builtin_s390_vchfs((vector signed int)__a, __b, &__cc);
   4818   return __cc <= 1;
   4819 }
   4820 
   4821 static inline __ATTRS_o_ai int
   4822 vec_any_gt(vector unsigned int __a, vector unsigned int __b) {
   4823   int __cc;
   4824   __builtin_s390_vchlfs(__a, __b, &__cc);
   4825   return __cc <= 1;
   4826 }
   4827 
   4828 // This prototype is deprecated.
   4829 static inline __ATTRS_o_ai int
   4830 vec_any_gt(vector unsigned int __a, vector bool int __b) {
   4831   int __cc;
   4832   __builtin_s390_vchlfs(__a, (vector unsigned int)__b, &__cc);
   4833   return __cc <= 1;
   4834 }
   4835 
   4836 // This prototype is deprecated.
   4837 static inline __ATTRS_o_ai int
   4838 vec_any_gt(vector bool int __a, vector unsigned int __b) {
   4839   int __cc;
   4840   __builtin_s390_vchlfs((vector unsigned int)__a, __b, &__cc);
   4841   return __cc <= 1;
   4842 }
   4843 
   4844 // This prototype is deprecated.
   4845 static inline __ATTRS_o_ai int
   4846 vec_any_gt(vector bool int __a, vector bool int __b) {
   4847   int __cc;
   4848   __builtin_s390_vchlfs((vector unsigned int)__a,
   4849                         (vector unsigned int)__b, &__cc);
   4850   return __cc <= 1;
   4851 }
   4852 
   4853 static inline __ATTRS_o_ai int
   4854 vec_any_gt(vector signed long long __a, vector signed long long __b) {
   4855   int __cc;
   4856   __builtin_s390_vchgs(__a, __b, &__cc);
   4857   return __cc <= 1;
   4858 }
   4859 
   4860 // This prototype is deprecated.
   4861 static inline __ATTRS_o_ai int
   4862 vec_any_gt(vector signed long long __a, vector bool long long __b) {
   4863   int __cc;
   4864   __builtin_s390_vchgs(__a, (vector signed long long)__b, &__cc);
   4865   return __cc <= 1;
   4866 }
   4867 
   4868 // This prototype is deprecated.
   4869 static inline __ATTRS_o_ai int
   4870 vec_any_gt(vector bool long long __a, vector signed long long __b) {
   4871   int __cc;
   4872   __builtin_s390_vchgs((vector signed long long)__a, __b, &__cc);
   4873   return __cc <= 1;
   4874 }
   4875 
   4876 static inline __ATTRS_o_ai int
   4877 vec_any_gt(vector unsigned long long __a, vector unsigned long long __b) {
   4878   int __cc;
   4879   __builtin_s390_vchlgs(__a, __b, &__cc);
   4880   return __cc <= 1;
   4881 }
   4882 
   4883 // This prototype is deprecated.
   4884 static inline __ATTRS_o_ai int
   4885 vec_any_gt(vector unsigned long long __a, vector bool long long __b) {
   4886   int __cc;
   4887   __builtin_s390_vchlgs(__a, (vector unsigned long long)__b, &__cc);
   4888   return __cc <= 1;
   4889 }
   4890 
   4891 // This prototype is deprecated.
   4892 static inline __ATTRS_o_ai int
   4893 vec_any_gt(vector bool long long __a, vector unsigned long long __b) {
   4894   int __cc;
   4895   __builtin_s390_vchlgs((vector unsigned long long)__a, __b, &__cc);
   4896   return __cc <= 1;
   4897 }
   4898 
   4899 // This prototype is deprecated.
   4900 static inline __ATTRS_o_ai int
   4901 vec_any_gt(vector bool long long __a, vector bool long long __b) {
   4902   int __cc;
   4903   __builtin_s390_vchlgs((vector unsigned long long)__a,
   4904                         (vector unsigned long long)__b, &__cc);
   4905   return __cc <= 1;
   4906 }
   4907 
   4908 #if __ARCH__ >= 12
   4909 static inline __ATTRS_o_ai int
   4910 vec_any_gt(vector float __a, vector float __b) {
   4911   int __cc;
   4912   __builtin_s390_vfchsbs(__a, __b, &__cc);
   4913   return __cc <= 1;
   4914 }
   4915 #endif
   4916 
   4917 static inline __ATTRS_o_ai int
   4918 vec_any_gt(vector double __a, vector double __b) {
   4919   int __cc;
   4920   __builtin_s390_vfchdbs(__a, __b, &__cc);
   4921   return __cc <= 1;
   4922 }
   4923 
   4924 /*-- vec_any_le -------------------------------------------------------------*/
   4925 
   4926 static inline __ATTRS_o_ai int
   4927 vec_any_le(vector signed char __a, vector signed char __b) {
   4928   int __cc;
   4929   __builtin_s390_vchbs(__a, __b, &__cc);
   4930   return __cc != 0;
   4931 }
   4932 
   4933 // This prototype is deprecated.
   4934 static inline __ATTRS_o_ai int
   4935 vec_any_le(vector signed char __a, vector bool char __b) {
   4936   int __cc;
   4937   __builtin_s390_vchbs(__a, (vector signed char)__b, &__cc);
   4938   return __cc != 0;
   4939 }
   4940 
   4941 // This prototype is deprecated.
   4942 static inline __ATTRS_o_ai int
   4943 vec_any_le(vector bool char __a, vector signed char __b) {
   4944   int __cc;
   4945   __builtin_s390_vchbs((vector signed char)__a, __b, &__cc);
   4946   return __cc != 0;
   4947 }
   4948 
   4949 static inline __ATTRS_o_ai int
   4950 vec_any_le(vector unsigned char __a, vector unsigned char __b) {
   4951   int __cc;
   4952   __builtin_s390_vchlbs(__a, __b, &__cc);
   4953   return __cc != 0;
   4954 }
   4955 
   4956 // This prototype is deprecated.
   4957 static inline __ATTRS_o_ai int
   4958 vec_any_le(vector unsigned char __a, vector bool char __b) {
   4959   int __cc;
   4960   __builtin_s390_vchlbs(__a, (vector unsigned char)__b, &__cc);
   4961   return __cc != 0;
   4962 }
   4963 
   4964 // This prototype is deprecated.
   4965 static inline __ATTRS_o_ai int
   4966 vec_any_le(vector bool char __a, vector unsigned char __b) {
   4967   int __cc;
   4968   __builtin_s390_vchlbs((vector unsigned char)__a, __b, &__cc);
   4969   return __cc != 0;
   4970 }
   4971 
   4972 // This prototype is deprecated.
   4973 static inline __ATTRS_o_ai int
   4974 vec_any_le(vector bool char __a, vector bool char __b) {
   4975   int __cc;
   4976   __builtin_s390_vchlbs((vector unsigned char)__a,
   4977                         (vector unsigned char)__b, &__cc);
   4978   return __cc != 0;
   4979 }
   4980 
   4981 static inline __ATTRS_o_ai int
   4982 vec_any_le(vector signed short __a, vector signed short __b) {
   4983   int __cc;
   4984   __builtin_s390_vchhs(__a, __b, &__cc);
   4985   return __cc != 0;
   4986 }
   4987 
   4988 // This prototype is deprecated.
   4989 static inline __ATTRS_o_ai int
   4990 vec_any_le(vector signed short __a, vector bool short __b) {
   4991   int __cc;
   4992   __builtin_s390_vchhs(__a, (vector signed short)__b, &__cc);
   4993   return __cc != 0;
   4994 }
   4995 
   4996 // This prototype is deprecated.
   4997 static inline __ATTRS_o_ai int
   4998 vec_any_le(vector bool short __a, vector signed short __b) {
   4999   int __cc;
   5000   __builtin_s390_vchhs((vector signed short)__a, __b, &__cc);
   5001   return __cc != 0;
   5002 }
   5003 
   5004 static inline __ATTRS_o_ai int
   5005 vec_any_le(vector unsigned short __a, vector unsigned short __b) {
   5006   int __cc;
   5007   __builtin_s390_vchlhs(__a, __b, &__cc);
   5008   return __cc != 0;
   5009 }
   5010 
   5011 // This prototype is deprecated.
   5012 static inline __ATTRS_o_ai int
   5013 vec_any_le(vector unsigned short __a, vector bool short __b) {
   5014   int __cc;
   5015   __builtin_s390_vchlhs(__a, (vector unsigned short)__b, &__cc);
   5016   return __cc != 0;
   5017 }
   5018 
   5019 // This prototype is deprecated.
   5020 static inline __ATTRS_o_ai int
   5021 vec_any_le(vector bool short __a, vector unsigned short __b) {
   5022   int __cc;
   5023   __builtin_s390_vchlhs((vector unsigned short)__a, __b, &__cc);
   5024   return __cc != 0;
   5025 }
   5026 
   5027 // This prototype is deprecated.
   5028 static inline __ATTRS_o_ai int
   5029 vec_any_le(vector bool short __a, vector bool short __b) {
   5030   int __cc;
   5031   __builtin_s390_vchlhs((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_le(vector signed int __a, vector signed int __b) {
   5038   int __cc;
   5039   __builtin_s390_vchfs(__a, __b, &__cc);
   5040   return __cc != 0;
   5041 }
   5042 
   5043 // This prototype is deprecated.
   5044 static inline __ATTRS_o_ai int
   5045 vec_any_le(vector signed int __a, vector bool int __b) {
   5046   int __cc;
   5047   __builtin_s390_vchfs(__a, (vector signed int)__b, &__cc);
   5048   return __cc != 0;
   5049 }
   5050 
   5051 // This prototype is deprecated.
   5052 static inline __ATTRS_o_ai int
   5053 vec_any_le(vector bool int __a, vector signed int __b) {
   5054   int __cc;
   5055   __builtin_s390_vchfs((vector signed int)__a, __b, &__cc);
   5056   return __cc != 0;
   5057 }
   5058 
   5059 static inline __ATTRS_o_ai int
   5060 vec_any_le(vector unsigned int __a, vector unsigned int __b) {
   5061   int __cc;
   5062   __builtin_s390_vchlfs(__a, __b, &__cc);
   5063   return __cc != 0;
   5064 }
   5065 
   5066 // This prototype is deprecated.
   5067 static inline __ATTRS_o_ai int
   5068 vec_any_le(vector unsigned int __a, vector bool int __b) {
   5069   int __cc;
   5070   __builtin_s390_vchlfs(__a, (vector unsigned int)__b, &__cc);
   5071   return __cc != 0;
   5072 }
   5073 
   5074 // This prototype is deprecated.
   5075 static inline __ATTRS_o_ai int
   5076 vec_any_le(vector bool int __a, vector unsigned int __b) {
   5077   int __cc;
   5078   __builtin_s390_vchlfs((vector unsigned int)__a, __b, &__cc);
   5079   return __cc != 0;
   5080 }
   5081 
   5082 // This prototype is deprecated.
   5083 static inline __ATTRS_o_ai int
   5084 vec_any_le(vector bool int __a, vector bool int __b) {
   5085   int __cc;
   5086   __builtin_s390_vchlfs((vector unsigned int)__a,
   5087                         (vector unsigned int)__b, &__cc);
   5088   return __cc != 0;
   5089 }
   5090 
   5091 static inline __ATTRS_o_ai int
   5092 vec_any_le(vector signed long long __a, vector signed long long __b) {
   5093   int __cc;
   5094   __builtin_s390_vchgs(__a, __b, &__cc);
   5095   return __cc != 0;
   5096 }
   5097 
   5098 // This prototype is deprecated.
   5099 static inline __ATTRS_o_ai int
   5100 vec_any_le(vector signed long long __a, vector bool long long __b) {
   5101   int __cc;
   5102   __builtin_s390_vchgs(__a, (vector signed long long)__b, &__cc);
   5103   return __cc != 0;
   5104 }
   5105 
   5106 // This prototype is deprecated.
   5107 static inline __ATTRS_o_ai int
   5108 vec_any_le(vector bool long long __a, vector signed long long __b) {
   5109   int __cc;
   5110   __builtin_s390_vchgs((vector signed long long)__a, __b, &__cc);
   5111   return __cc != 0;
   5112 }
   5113 
   5114 static inline __ATTRS_o_ai int
   5115 vec_any_le(vector unsigned long long __a, vector unsigned long long __b) {
   5116   int __cc;
   5117   __builtin_s390_vchlgs(__a, __b, &__cc);
   5118   return __cc != 0;
   5119 }
   5120 
   5121 // This prototype is deprecated.
   5122 static inline __ATTRS_o_ai int
   5123 vec_any_le(vector unsigned long long __a, vector bool long long __b) {
   5124   int __cc;
   5125   __builtin_s390_vchlgs(__a, (vector unsigned long long)__b, &__cc);
   5126   return __cc != 0;
   5127 }
   5128 
   5129 // This prototype is deprecated.
   5130 static inline __ATTRS_o_ai int
   5131 vec_any_le(vector bool long long __a, vector unsigned long long __b) {
   5132   int __cc;
   5133   __builtin_s390_vchlgs((vector unsigned long long)__a, __b, &__cc);
   5134   return __cc != 0;
   5135 }
   5136 
   5137 // This prototype is deprecated.
   5138 static inline __ATTRS_o_ai int
   5139 vec_any_le(vector bool long long __a, vector bool long long __b) {
   5140   int __cc;
   5141   __builtin_s390_vchlgs((vector unsigned long long)__a,
   5142                         (vector unsigned long long)__b, &__cc);
   5143   return __cc != 0;
   5144 }
   5145 
   5146 #if __ARCH__ >= 12
   5147 static inline __ATTRS_o_ai int
   5148 vec_any_le(vector float __a, vector float __b) {
   5149   int __cc;
   5150   __builtin_s390_vfchesbs(__b, __a, &__cc);
   5151   return __cc <= 1;
   5152 }
   5153 #endif
   5154 
   5155 static inline __ATTRS_o_ai int
   5156 vec_any_le(vector double __a, vector double __b) {
   5157   int __cc;
   5158   __builtin_s390_vfchedbs(__b, __a, &__cc);
   5159   return __cc <= 1;
   5160 }
   5161 
   5162 /*-- vec_any_lt -------------------------------------------------------------*/
   5163 
   5164 static inline __ATTRS_o_ai int
   5165 vec_any_lt(vector signed char __a, vector signed char __b) {
   5166   int __cc;
   5167   __builtin_s390_vchbs(__b, __a, &__cc);
   5168   return __cc <= 1;
   5169 }
   5170 
   5171 // This prototype is deprecated.
   5172 static inline __ATTRS_o_ai int
   5173 vec_any_lt(vector signed char __a, vector bool char __b) {
   5174   int __cc;
   5175   __builtin_s390_vchbs((vector signed char)__b, __a, &__cc);
   5176   return __cc <= 1;
   5177 }
   5178 
   5179 // This prototype is deprecated.
   5180 static inline __ATTRS_o_ai int
   5181 vec_any_lt(vector bool char __a, vector signed char __b) {
   5182   int __cc;
   5183   __builtin_s390_vchbs(__b, (vector signed char)__a, &__cc);
   5184   return __cc <= 1;
   5185 }
   5186 
   5187 static inline __ATTRS_o_ai int
   5188 vec_any_lt(vector unsigned char __a, vector unsigned char __b) {
   5189   int __cc;
   5190   __builtin_s390_vchlbs(__b, __a, &__cc);
   5191   return __cc <= 1;
   5192 }
   5193 
   5194 // This prototype is deprecated.
   5195 static inline __ATTRS_o_ai int
   5196 vec_any_lt(vector unsigned char __a, vector bool char __b) {
   5197   int __cc;
   5198   __builtin_s390_vchlbs((vector unsigned char)__b, __a, &__cc);
   5199   return __cc <= 1;
   5200 }
   5201 
   5202 // This prototype is deprecated.
   5203 static inline __ATTRS_o_ai int
   5204 vec_any_lt(vector bool char __a, vector unsigned char __b) {
   5205   int __cc;
   5206   __builtin_s390_vchlbs(__b, (vector unsigned char)__a, &__cc);
   5207   return __cc <= 1;
   5208 }
   5209 
   5210 // This prototype is deprecated.
   5211 static inline __ATTRS_o_ai int
   5212 vec_any_lt(vector bool char __a, vector bool char __b) {
   5213   int __cc;
   5214   __builtin_s390_vchlbs((vector unsigned char)__b,
   5215                         (vector unsigned char)__a, &__cc);
   5216   return __cc <= 1;
   5217 }
   5218 
   5219 static inline __ATTRS_o_ai int
   5220 vec_any_lt(vector signed short __a, vector signed short __b) {
   5221   int __cc;
   5222   __builtin_s390_vchhs(__b, __a, &__cc);
   5223   return __cc <= 1;
   5224 }
   5225 
   5226 // This prototype is deprecated.
   5227 static inline __ATTRS_o_ai int
   5228 vec_any_lt(vector signed short __a, vector bool short __b) {
   5229   int __cc;
   5230   __builtin_s390_vchhs((vector signed short)__b, __a, &__cc);
   5231   return __cc <= 1;
   5232 }
   5233 
   5234 // This prototype is deprecated.
   5235 static inline __ATTRS_o_ai int
   5236 vec_any_lt(vector bool short __a, vector signed short __b) {
   5237   int __cc;
   5238   __builtin_s390_vchhs(__b, (vector signed short)__a, &__cc);
   5239   return __cc <= 1;
   5240 }
   5241 
   5242 static inline __ATTRS_o_ai int
   5243 vec_any_lt(vector unsigned short __a, vector unsigned short __b) {
   5244   int __cc;
   5245   __builtin_s390_vchlhs(__b, __a, &__cc);
   5246   return __cc <= 1;
   5247 }
   5248 
   5249 // This prototype is deprecated.
   5250 static inline __ATTRS_o_ai int
   5251 vec_any_lt(vector unsigned short __a, vector bool short __b) {
   5252   int __cc;
   5253   __builtin_s390_vchlhs((vector unsigned short)__b, __a, &__cc);
   5254   return __cc <= 1;
   5255 }
   5256 
   5257 // This prototype is deprecated.
   5258 static inline __ATTRS_o_ai int
   5259 vec_any_lt(vector bool short __a, vector unsigned short __b) {
   5260   int __cc;
   5261   __builtin_s390_vchlhs(__b, (vector unsigned short)__a, &__cc);
   5262   return __cc <= 1;
   5263 }
   5264 
   5265 // This prototype is deprecated.
   5266 static inline __ATTRS_o_ai int
   5267 vec_any_lt(vector bool short __a, vector bool short __b) {
   5268   int __cc;
   5269   __builtin_s390_vchlhs((vector unsigned short)__b,
   5270                         (vector unsigned short)__a, &__cc);
   5271   return __cc <= 1;
   5272 }
   5273 
   5274 static inline __ATTRS_o_ai int
   5275 vec_any_lt(vector signed int __a, vector signed int __b) {
   5276   int __cc;
   5277   __builtin_s390_vchfs(__b, __a, &__cc);
   5278   return __cc <= 1;
   5279 }
   5280 
   5281 // This prototype is deprecated.
   5282 static inline __ATTRS_o_ai int
   5283 vec_any_lt(vector signed int __a, vector bool int __b) {
   5284   int __cc;
   5285   __builtin_s390_vchfs((vector signed int)__b, __a, &__cc);
   5286   return __cc <= 1;
   5287 }
   5288 
   5289 // This prototype is deprecated.
   5290 static inline __ATTRS_o_ai int
   5291 vec_any_lt(vector bool int __a, vector signed int __b) {
   5292   int __cc;
   5293   __builtin_s390_vchfs(__b, (vector signed int)__a, &__cc);
   5294   return __cc <= 1;
   5295 }
   5296 
   5297 static inline __ATTRS_o_ai int
   5298 vec_any_lt(vector unsigned int __a, vector unsigned int __b) {
   5299   int __cc;
   5300   __builtin_s390_vchlfs(__b, __a, &__cc);
   5301   return __cc <= 1;
   5302 }
   5303 
   5304 // This prototype is deprecated.
   5305 static inline __ATTRS_o_ai int
   5306 vec_any_lt(vector unsigned int __a, vector bool int __b) {
   5307   int __cc;
   5308   __builtin_s390_vchlfs((vector unsigned int)__b, __a, &__cc);
   5309   return __cc <= 1;
   5310 }
   5311 
   5312 // This prototype is deprecated.
   5313 static inline __ATTRS_o_ai int
   5314 vec_any_lt(vector bool int __a, vector unsigned int __b) {
   5315   int __cc;
   5316   __builtin_s390_vchlfs(__b, (vector unsigned int)__a, &__cc);
   5317   return __cc <= 1;
   5318 }
   5319 
   5320 // This prototype is deprecated.
   5321 static inline __ATTRS_o_ai int
   5322 vec_any_lt(vector bool int __a, vector bool int __b) {
   5323   int __cc;
   5324   __builtin_s390_vchlfs((vector unsigned int)__b,
   5325                         (vector unsigned int)__a, &__cc);
   5326   return __cc <= 1;
   5327 }
   5328 
   5329 static inline __ATTRS_o_ai int
   5330 vec_any_lt(vector signed long long __a, vector signed long long __b) {
   5331   int __cc;
   5332   __builtin_s390_vchgs(__b, __a, &__cc);
   5333   return __cc <= 1;
   5334 }
   5335 
   5336 // This prototype is deprecated.
   5337 static inline __ATTRS_o_ai int
   5338 vec_any_lt(vector signed long long __a, vector bool long long __b) {
   5339   int __cc;
   5340   __builtin_s390_vchgs((vector signed long long)__b, __a, &__cc);
   5341   return __cc <= 1;
   5342 }
   5343 
   5344 // This prototype is deprecated.
   5345 static inline __ATTRS_o_ai int
   5346 vec_any_lt(vector bool long long __a, vector signed long long __b) {
   5347   int __cc;
   5348   __builtin_s390_vchgs(__b, (vector signed long long)__a, &__cc);
   5349   return __cc <= 1;
   5350 }
   5351 
   5352 static inline __ATTRS_o_ai int
   5353 vec_any_lt(vector unsigned long long __a, vector unsigned long long __b) {
   5354   int __cc;
   5355   __builtin_s390_vchlgs(__b, __a, &__cc);
   5356   return __cc <= 1;
   5357 }
   5358 
   5359 // This prototype is deprecated.
   5360 static inline __ATTRS_o_ai int
   5361 vec_any_lt(vector unsigned long long __a, vector bool long long __b) {
   5362   int __cc;
   5363   __builtin_s390_vchlgs((vector unsigned long long)__b, __a, &__cc);
   5364   return __cc <= 1;
   5365 }
   5366 
   5367 // This prototype is deprecated.
   5368 static inline __ATTRS_o_ai int
   5369 vec_any_lt(vector bool long long __a, vector unsigned long long __b) {
   5370   int __cc;
   5371   __builtin_s390_vchlgs(__b, (vector unsigned long long)__a, &__cc);
   5372   return __cc <= 1;
   5373 }
   5374 
   5375 // This prototype is deprecated.
   5376 static inline __ATTRS_o_ai int
   5377 vec_any_lt(vector bool long long __a, vector bool long long __b) {
   5378   int __cc;
   5379   __builtin_s390_vchlgs((vector unsigned long long)__b,
   5380                         (vector unsigned long long)__a, &__cc);
   5381   return __cc <= 1;
   5382 }
   5383 
   5384 #if __ARCH__ >= 12
   5385 static inline __ATTRS_o_ai int
   5386 vec_any_lt(vector float __a, vector float __b) {
   5387   int __cc;
   5388   __builtin_s390_vfchsbs(__b, __a, &__cc);
   5389   return __cc <= 1;
   5390 }
   5391 #endif
   5392 
   5393 static inline __ATTRS_o_ai int
   5394 vec_any_lt(vector double __a, vector double __b) {
   5395   int __cc;
   5396   __builtin_s390_vfchdbs(__b, __a, &__cc);
   5397   return __cc <= 1;
   5398 }
   5399 
   5400 /*-- vec_any_nge ------------------------------------------------------------*/
   5401 
   5402 #if __ARCH__ >= 12
   5403 static inline __ATTRS_o_ai int
   5404 vec_any_nge(vector float __a, vector float __b) {
   5405   int __cc;
   5406   __builtin_s390_vfchesbs(__a, __b, &__cc);
   5407   return __cc != 0;
   5408 }
   5409 #endif
   5410 
   5411 static inline __ATTRS_o_ai int
   5412 vec_any_nge(vector double __a, vector double __b) {
   5413   int __cc;
   5414   __builtin_s390_vfchedbs(__a, __b, &__cc);
   5415   return __cc != 0;
   5416 }
   5417 
   5418 /*-- vec_any_ngt ------------------------------------------------------------*/
   5419 
   5420 #if __ARCH__ >= 12
   5421 static inline __ATTRS_o_ai int
   5422 vec_any_ngt(vector float __a, vector float __b) {
   5423   int __cc;
   5424   __builtin_s390_vfchsbs(__a, __b, &__cc);
   5425   return __cc != 0;
   5426 }
   5427 #endif
   5428 
   5429 static inline __ATTRS_o_ai int
   5430 vec_any_ngt(vector double __a, vector double __b) {
   5431   int __cc;
   5432   __builtin_s390_vfchdbs(__a, __b, &__cc);
   5433   return __cc != 0;
   5434 }
   5435 
   5436 /*-- vec_any_nle ------------------------------------------------------------*/
   5437 
   5438 #if __ARCH__ >= 12
   5439 static inline __ATTRS_o_ai int
   5440 vec_any_nle(vector float __a, vector float __b) {
   5441   int __cc;
   5442   __builtin_s390_vfchesbs(__b, __a, &__cc);
   5443   return __cc != 0;
   5444 }
   5445 #endif
   5446 
   5447 static inline __ATTRS_o_ai int
   5448 vec_any_nle(vector double __a, vector double __b) {
   5449   int __cc;
   5450   __builtin_s390_vfchedbs(__b, __a, &__cc);
   5451   return __cc != 0;
   5452 }
   5453 
   5454 /*-- vec_any_nlt ------------------------------------------------------------*/
   5455 
   5456 #if __ARCH__ >= 12
   5457 static inline __ATTRS_o_ai int
   5458 vec_any_nlt(vector float __a, vector float __b) {
   5459   int __cc;
   5460   __builtin_s390_vfchsbs(__b, __a, &__cc);
   5461   return __cc != 0;
   5462 }
   5463 #endif
   5464 
   5465 static inline __ATTRS_o_ai int
   5466 vec_any_nlt(vector double __a, vector double __b) {
   5467   int __cc;
   5468   __builtin_s390_vfchdbs(__b, __a, &__cc);
   5469   return __cc != 0;
   5470 }
   5471 
   5472 /*-- vec_any_nan ------------------------------------------------------------*/
   5473 
   5474 #if __ARCH__ >= 12
   5475 static inline __ATTRS_o_ai int
   5476 vec_any_nan(vector float __a) {
   5477   int __cc;
   5478   __builtin_s390_vftcisb(__a, 15, &__cc);
   5479   return __cc != 3;
   5480 }
   5481 #endif
   5482 
   5483 static inline __ATTRS_o_ai int
   5484 vec_any_nan(vector double __a) {
   5485   int __cc;
   5486   __builtin_s390_vftcidb(__a, 15, &__cc);
   5487   return __cc != 3;
   5488 }
   5489 
   5490 /*-- vec_any_numeric --------------------------------------------------------*/
   5491 
   5492 #if __ARCH__ >= 12
   5493 static inline __ATTRS_o_ai int
   5494 vec_any_numeric(vector float __a) {
   5495   int __cc;
   5496   __builtin_s390_vftcisb(__a, 15, &__cc);
   5497   return __cc != 0;
   5498 }
   5499 #endif
   5500 
   5501 static inline __ATTRS_o_ai int
   5502 vec_any_numeric(vector double __a) {
   5503   int __cc;
   5504   __builtin_s390_vftcidb(__a, 15, &__cc);
   5505   return __cc != 0;
   5506 }
   5507 
   5508 /*-- vec_andc ---------------------------------------------------------------*/
   5509 
   5510 static inline __ATTRS_o_ai vector bool char
   5511 vec_andc(vector bool char __a, vector bool char __b) {
   5512   return __a & ~__b;
   5513 }
   5514 
   5515 static inline __ATTRS_o_ai vector signed char
   5516 vec_andc(vector signed char __a, vector signed char __b) {
   5517   return __a & ~__b;
   5518 }
   5519 
   5520 // This prototype is deprecated.
   5521 static inline __ATTRS_o_ai vector signed char
   5522 vec_andc(vector bool char __a, vector signed char __b) {
   5523   return __a & ~__b;
   5524 }
   5525 
   5526 // This prototype is deprecated.
   5527 static inline __ATTRS_o_ai vector signed char
   5528 vec_andc(vector signed char __a, vector bool char __b) {
   5529   return __a & ~__b;
   5530 }
   5531 
   5532 static inline __ATTRS_o_ai vector unsigned char
   5533 vec_andc(vector unsigned char __a, vector unsigned char __b) {
   5534   return __a & ~__b;
   5535 }
   5536 
   5537 // This prototype is deprecated.
   5538 static inline __ATTRS_o_ai vector unsigned char
   5539 vec_andc(vector bool char __a, vector unsigned char __b) {
   5540   return __a & ~__b;
   5541 }
   5542 
   5543 // This prototype is deprecated.
   5544 static inline __ATTRS_o_ai vector unsigned char
   5545 vec_andc(vector unsigned char __a, vector bool char __b) {
   5546   return __a & ~__b;
   5547 }
   5548 
   5549 static inline __ATTRS_o_ai vector bool short
   5550 vec_andc(vector bool short __a, vector bool short __b) {
   5551   return __a & ~__b;
   5552 }
   5553 
   5554 static inline __ATTRS_o_ai vector signed short
   5555 vec_andc(vector signed short __a, vector signed short __b) {
   5556   return __a & ~__b;
   5557 }
   5558 
   5559 // This prototype is deprecated.
   5560 static inline __ATTRS_o_ai vector signed short
   5561 vec_andc(vector bool short __a, vector signed short __b) {
   5562   return __a & ~__b;
   5563 }
   5564 
   5565 // This prototype is deprecated.
   5566 static inline __ATTRS_o_ai vector signed short
   5567 vec_andc(vector signed short __a, vector bool short __b) {
   5568   return __a & ~__b;
   5569 }
   5570 
   5571 static inline __ATTRS_o_ai vector unsigned short
   5572 vec_andc(vector unsigned short __a, vector unsigned short __b) {
   5573   return __a & ~__b;
   5574 }
   5575 
   5576 // This prototype is deprecated.
   5577 static inline __ATTRS_o_ai vector unsigned short
   5578 vec_andc(vector bool short __a, vector unsigned short __b) {
   5579   return __a & ~__b;
   5580 }
   5581 
   5582 // This prototype is deprecated.
   5583 static inline __ATTRS_o_ai vector unsigned short
   5584 vec_andc(vector unsigned short __a, vector bool short __b) {
   5585   return __a & ~__b;
   5586 }
   5587 
   5588 static inline __ATTRS_o_ai vector bool int
   5589 vec_andc(vector bool int __a, vector bool int __b) {
   5590   return __a & ~__b;
   5591 }
   5592 
   5593 static inline __ATTRS_o_ai vector signed int
   5594 vec_andc(vector signed int __a, vector signed int __b) {
   5595   return __a & ~__b;
   5596 }
   5597 
   5598 // This prototype is deprecated.
   5599 static inline __ATTRS_o_ai vector signed int
   5600 vec_andc(vector bool int __a, vector signed int __b) {
   5601   return __a & ~__b;
   5602 }
   5603 
   5604 // This prototype is deprecated.
   5605 static inline __ATTRS_o_ai vector signed int
   5606 vec_andc(vector signed int __a, vector bool int __b) {
   5607   return __a & ~__b;
   5608 }
   5609 
   5610 static inline __ATTRS_o_ai vector unsigned int
   5611 vec_andc(vector unsigned int __a, vector unsigned int __b) {
   5612   return __a & ~__b;
   5613 }
   5614 
   5615 // This prototype is deprecated.
   5616 static inline __ATTRS_o_ai vector unsigned int
   5617 vec_andc(vector bool int __a, vector unsigned int __b) {
   5618   return __a & ~__b;
   5619 }
   5620 
   5621 // This prototype is deprecated.
   5622 static inline __ATTRS_o_ai vector unsigned int
   5623 vec_andc(vector unsigned int __a, vector bool int __b) {
   5624   return __a & ~__b;
   5625 }
   5626 
   5627 static inline __ATTRS_o_ai vector bool long long
   5628 vec_andc(vector bool long long __a, vector bool long long __b) {
   5629   return __a & ~__b;
   5630 }
   5631 
   5632 static inline __ATTRS_o_ai vector signed long long
   5633 vec_andc(vector signed long long __a, vector signed long long __b) {
   5634   return __a & ~__b;
   5635 }
   5636 
   5637 // This prototype is deprecated.
   5638 static inline __ATTRS_o_ai vector signed long long
   5639 vec_andc(vector bool long long __a, vector signed long long __b) {
   5640   return __a & ~__b;
   5641 }
   5642 
   5643 // This prototype is deprecated.
   5644 static inline __ATTRS_o_ai vector signed long long
   5645 vec_andc(vector signed long long __a, vector bool long long __b) {
   5646   return __a & ~__b;
   5647 }
   5648 
   5649 static inline __ATTRS_o_ai vector unsigned long long
   5650 vec_andc(vector unsigned long long __a, vector unsigned long long __b) {
   5651   return __a & ~__b;
   5652 }
   5653 
   5654 // This prototype is deprecated.
   5655 static inline __ATTRS_o_ai vector unsigned long long
   5656 vec_andc(vector bool long long __a, vector unsigned long long __b) {
   5657   return __a & ~__b;
   5658 }
   5659 
   5660 // This prototype is deprecated.
   5661 static inline __ATTRS_o_ai vector unsigned long long
   5662 vec_andc(vector unsigned long long __a, vector bool long long __b) {
   5663   return __a & ~__b;
   5664 }
   5665 
   5666 #if __ARCH__ >= 12
   5667 static inline __ATTRS_o_ai vector float
   5668 vec_andc(vector float __a, vector float __b) {
   5669   return (vector float)((vector unsigned int)__a &
   5670                          ~(vector unsigned int)__b);
   5671 }
   5672 #endif
   5673 
   5674 static inline __ATTRS_o_ai vector double
   5675 vec_andc(vector double __a, vector double __b) {
   5676   return (vector double)((vector unsigned long long)__a &
   5677                          ~(vector unsigned long long)__b);
   5678 }
   5679 
   5680 // This prototype is deprecated.
   5681 static inline __ATTRS_o_ai vector double
   5682 vec_andc(vector bool long long __a, vector double __b) {
   5683   return (vector double)((vector unsigned long long)__a &
   5684                          ~(vector unsigned long long)__b);
   5685 }
   5686 
   5687 // This prototype is deprecated.
   5688 static inline __ATTRS_o_ai vector double
   5689 vec_andc(vector double __a, vector bool long long __b) {
   5690   return (vector double)((vector unsigned long long)__a &
   5691                          ~(vector unsigned long long)__b);
   5692 }
   5693 
   5694 /*-- vec_nor ----------------------------------------------------------------*/
   5695 
   5696 static inline __ATTRS_o_ai vector bool char
   5697 vec_nor(vector bool char __a, vector bool char __b) {
   5698   return ~(__a | __b);
   5699 }
   5700 
   5701 static inline __ATTRS_o_ai vector signed char
   5702 vec_nor(vector signed char __a, vector signed char __b) {
   5703   return ~(__a | __b);
   5704 }
   5705 
   5706 // This prototype is deprecated.
   5707 static inline __ATTRS_o_ai vector signed char
   5708 vec_nor(vector bool char __a, vector signed char __b) {
   5709   return ~(__a | __b);
   5710 }
   5711 
   5712 // This prototype is deprecated.
   5713 static inline __ATTRS_o_ai vector signed char
   5714 vec_nor(vector signed char __a, vector bool char __b) {
   5715   return ~(__a | __b);
   5716 }
   5717 
   5718 static inline __ATTRS_o_ai vector unsigned char
   5719 vec_nor(vector unsigned char __a, vector unsigned char __b) {
   5720   return ~(__a | __b);
   5721 }
   5722 
   5723 // This prototype is deprecated.
   5724 static inline __ATTRS_o_ai vector unsigned char
   5725 vec_nor(vector bool char __a, vector unsigned char __b) {
   5726   return ~(__a | __b);
   5727 }
   5728 
   5729 // This prototype is deprecated.
   5730 static inline __ATTRS_o_ai vector unsigned char
   5731 vec_nor(vector unsigned char __a, vector bool char __b) {
   5732   return ~(__a | __b);
   5733 }
   5734 
   5735 static inline __ATTRS_o_ai vector bool short
   5736 vec_nor(vector bool short __a, vector bool short __b) {
   5737   return ~(__a | __b);
   5738 }
   5739 
   5740 static inline __ATTRS_o_ai vector signed short
   5741 vec_nor(vector signed short __a, vector signed short __b) {
   5742   return ~(__a | __b);
   5743 }
   5744 
   5745 // This prototype is deprecated.
   5746 static inline __ATTRS_o_ai vector signed short
   5747 vec_nor(vector bool short __a, vector signed short __b) {
   5748   return ~(__a | __b);
   5749 }
   5750 
   5751 // This prototype is deprecated.
   5752 static inline __ATTRS_o_ai vector signed short
   5753 vec_nor(vector signed short __a, vector bool short __b) {
   5754   return ~(__a | __b);
   5755 }
   5756 
   5757 static inline __ATTRS_o_ai vector unsigned short
   5758 vec_nor(vector unsigned short __a, vector unsigned short __b) {
   5759   return ~(__a | __b);
   5760 }
   5761 
   5762 // This prototype is deprecated.
   5763 static inline __ATTRS_o_ai vector unsigned short
   5764 vec_nor(vector bool short __a, vector unsigned short __b) {
   5765   return ~(__a | __b);
   5766 }
   5767 
   5768 // This prototype is deprecated.
   5769 static inline __ATTRS_o_ai vector unsigned short
   5770 vec_nor(vector unsigned short __a, vector bool short __b) {
   5771   return ~(__a | __b);
   5772 }
   5773 
   5774 static inline __ATTRS_o_ai vector bool int
   5775 vec_nor(vector bool int __a, vector bool int __b) {
   5776   return ~(__a | __b);
   5777 }
   5778 
   5779 static inline __ATTRS_o_ai vector signed int
   5780 vec_nor(vector signed int __a, vector signed int __b) {
   5781   return ~(__a | __b);
   5782 }
   5783 
   5784 // This prototype is deprecated.
   5785 static inline __ATTRS_o_ai vector signed int
   5786 vec_nor(vector bool int __a, vector signed int __b) {
   5787   return ~(__a | __b);
   5788 }
   5789 
   5790 // This prototype is deprecated.
   5791 static inline __ATTRS_o_ai vector signed int
   5792 vec_nor(vector signed int __a, vector bool int __b) {
   5793   return ~(__a | __b);
   5794 }
   5795 
   5796 static inline __ATTRS_o_ai vector unsigned int
   5797 vec_nor(vector unsigned int __a, vector unsigned int __b) {
   5798   return ~(__a | __b);
   5799 }
   5800 
   5801 // This prototype is deprecated.
   5802 static inline __ATTRS_o_ai vector unsigned int
   5803 vec_nor(vector bool int __a, vector unsigned int __b) {
   5804   return ~(__a | __b);
   5805 }
   5806 
   5807 // This prototype is deprecated.
   5808 static inline __ATTRS_o_ai vector unsigned int
   5809 vec_nor(vector unsigned int __a, vector bool int __b) {
   5810   return ~(__a | __b);
   5811 }
   5812 
   5813 static inline __ATTRS_o_ai vector bool long long
   5814 vec_nor(vector bool long long __a, vector bool long long __b) {
   5815   return ~(__a | __b);
   5816 }
   5817 
   5818 static inline __ATTRS_o_ai vector signed long long
   5819 vec_nor(vector signed long long __a, vector signed long long __b) {
   5820   return ~(__a | __b);
   5821 }
   5822 
   5823 // This prototype is deprecated.
   5824 static inline __ATTRS_o_ai vector signed long long
   5825 vec_nor(vector bool long long __a, vector signed long long __b) {
   5826   return ~(__a | __b);
   5827 }
   5828 
   5829 // This prototype is deprecated.
   5830 static inline __ATTRS_o_ai vector signed long long
   5831 vec_nor(vector signed long long __a, vector bool long long __b) {
   5832   return ~(__a | __b);
   5833 }
   5834 
   5835 static inline __ATTRS_o_ai vector unsigned long long
   5836 vec_nor(vector unsigned long long __a, vector unsigned long long __b) {
   5837   return ~(__a | __b);
   5838 }
   5839 
   5840 // This prototype is deprecated.
   5841 static inline __ATTRS_o_ai vector unsigned long long
   5842 vec_nor(vector bool long long __a, vector unsigned long long __b) {
   5843   return ~(__a | __b);
   5844 }
   5845 
   5846 // This prototype is deprecated.
   5847 static inline __ATTRS_o_ai vector unsigned long long
   5848 vec_nor(vector unsigned long long __a, vector bool long long __b) {
   5849   return ~(__a | __b);
   5850 }
   5851 
   5852 #if __ARCH__ >= 12
   5853 static inline __ATTRS_o_ai vector float
   5854 vec_nor(vector float __a, vector float __b) {
   5855   return (vector float)~((vector unsigned int)__a |
   5856                          (vector unsigned int)__b);
   5857 }
   5858 #endif
   5859 
   5860 static inline __ATTRS_o_ai vector double
   5861 vec_nor(vector double __a, vector double __b) {
   5862   return (vector double)~((vector unsigned long long)__a |
   5863                           (vector unsigned long long)__b);
   5864 }
   5865 
   5866 // This prototype is deprecated.
   5867 static inline __ATTRS_o_ai vector double
   5868 vec_nor(vector bool long long __a, vector double __b) {
   5869   return (vector double)~((vector unsigned long long)__a |
   5870                           (vector unsigned long long)__b);
   5871 }
   5872 
   5873 // This prototype is deprecated.
   5874 static inline __ATTRS_o_ai vector double
   5875 vec_nor(vector double __a, vector bool long long __b) {
   5876   return (vector double)~((vector unsigned long long)__a |
   5877                           (vector unsigned long long)__b);
   5878 }
   5879 
   5880 /*-- vec_orc ----------------------------------------------------------------*/
   5881 
   5882 #if __ARCH__ >= 12
   5883 static inline __ATTRS_o_ai vector bool char
   5884 vec_orc(vector bool char __a, vector bool char __b) {
   5885   return __a | ~__b;
   5886 }
   5887 
   5888 static inline __ATTRS_o_ai vector signed char
   5889 vec_orc(vector signed char __a, vector signed char __b) {
   5890   return __a | ~__b;
   5891 }
   5892 
   5893 static inline __ATTRS_o_ai vector unsigned char
   5894 vec_orc(vector unsigned char __a, vector unsigned char __b) {
   5895   return __a | ~__b;
   5896 }
   5897 
   5898 static inline __ATTRS_o_ai vector bool short
   5899 vec_orc(vector bool short __a, vector bool short __b) {
   5900   return __a | ~__b;
   5901 }
   5902 
   5903 static inline __ATTRS_o_ai vector signed short
   5904 vec_orc(vector signed short __a, vector signed short __b) {
   5905   return __a | ~__b;
   5906 }
   5907 
   5908 static inline __ATTRS_o_ai vector unsigned short
   5909 vec_orc(vector unsigned short __a, vector unsigned short __b) {
   5910   return __a | ~__b;
   5911 }
   5912 
   5913 static inline __ATTRS_o_ai vector bool int
   5914 vec_orc(vector bool int __a, vector bool int __b) {
   5915   return __a | ~__b;
   5916 }
   5917 
   5918 static inline __ATTRS_o_ai vector signed int
   5919 vec_orc(vector signed int __a, vector signed int __b) {
   5920   return __a | ~__b;
   5921 }
   5922 
   5923 static inline __ATTRS_o_ai vector unsigned int
   5924 vec_orc(vector unsigned int __a, vector unsigned int __b) {
   5925   return __a | ~__b;
   5926 }
   5927 
   5928 static inline __ATTRS_o_ai vector bool long long
   5929 vec_orc(vector bool long long __a, vector bool long long __b) {
   5930   return __a | ~__b;
   5931 }
   5932 
   5933 static inline __ATTRS_o_ai vector signed long long
   5934 vec_orc(vector signed long long __a, vector signed long long __b) {
   5935   return __a | ~__b;
   5936 }
   5937 
   5938 static inline __ATTRS_o_ai vector unsigned long long
   5939 vec_orc(vector unsigned long long __a, vector unsigned long long __b) {
   5940   return __a | ~__b;
   5941 }
   5942 
   5943 static inline __ATTRS_o_ai vector float
   5944 vec_orc(vector float __a, vector float __b) {
   5945   return (vector float)((vector unsigned int)__a &
   5946                         ~(vector unsigned int)__b);
   5947 }
   5948 
   5949 static inline __ATTRS_o_ai vector double
   5950 vec_orc(vector double __a, vector double __b) {
   5951   return (vector double)((vector unsigned long long)__a &
   5952                          ~(vector unsigned long long)__b);
   5953 }
   5954 #endif
   5955 
   5956 /*-- vec_nand ---------------------------------------------------------------*/
   5957 
   5958 #if __ARCH__ >= 12
   5959 static inline __ATTRS_o_ai vector bool char
   5960 vec_nand(vector bool char __a, vector bool char __b) {
   5961   return ~(__a & __b);
   5962 }
   5963 
   5964 static inline __ATTRS_o_ai vector signed char
   5965 vec_nand(vector signed char __a, vector signed char __b) {
   5966   return ~(__a & __b);
   5967 }
   5968 
   5969 static inline __ATTRS_o_ai vector unsigned char
   5970 vec_nand(vector unsigned char __a, vector unsigned char __b) {
   5971   return ~(__a & __b);
   5972 }
   5973 
   5974 static inline __ATTRS_o_ai vector bool short
   5975 vec_nand(vector bool short __a, vector bool short __b) {
   5976   return ~(__a & __b);
   5977 }
   5978 
   5979 static inline __ATTRS_o_ai vector signed short
   5980 vec_nand(vector signed short __a, vector signed short __b) {
   5981   return ~(__a & __b);
   5982 }
   5983 
   5984 static inline __ATTRS_o_ai vector unsigned short
   5985 vec_nand(vector unsigned short __a, vector unsigned short __b) {
   5986   return ~(__a & __b);
   5987 }
   5988 
   5989 static inline __ATTRS_o_ai vector bool int
   5990 vec_nand(vector bool int __a, vector bool int __b) {
   5991   return ~(__a & __b);
   5992 }
   5993 
   5994 static inline __ATTRS_o_ai vector signed int
   5995 vec_nand(vector signed int __a, vector signed int __b) {
   5996   return ~(__a & __b);
   5997 }
   5998 
   5999 static inline __ATTRS_o_ai vector unsigned int
   6000 vec_nand(vector unsigned int __a, vector unsigned int __b) {
   6001   return ~(__a & __b);
   6002 }
   6003 
   6004 static inline __ATTRS_o_ai vector bool long long
   6005 vec_nand(vector bool long long __a, vector bool long long __b) {
   6006   return ~(__a & __b);
   6007 }
   6008 
   6009 static inline __ATTRS_o_ai vector signed long long
   6010 vec_nand(vector signed long long __a, vector signed long long __b) {
   6011   return ~(__a & __b);
   6012 }
   6013 
   6014 static inline __ATTRS_o_ai vector unsigned long long
   6015 vec_nand(vector unsigned long long __a, vector unsigned long long __b) {
   6016   return ~(__a & __b);
   6017 }
   6018 
   6019 static inline __ATTRS_o_ai vector float
   6020 vec_nand(vector float __a, vector float __b) {
   6021   return (vector float)~((vector unsigned int)__a &
   6022                          (vector unsigned int)__b);
   6023 }
   6024 
   6025 static inline __ATTRS_o_ai vector double
   6026 vec_nand(vector double __a, vector double __b) {
   6027   return (vector double)~((vector unsigned long long)__a &
   6028                           (vector unsigned long long)__b);
   6029 }
   6030 #endif
   6031 
   6032 /*-- vec_eqv ----------------------------------------------------------------*/
   6033 
   6034 #if __ARCH__ >= 12
   6035 static inline __ATTRS_o_ai vector bool char
   6036 vec_eqv(vector bool char __a, vector bool char __b) {
   6037   return ~(__a ^ __b);
   6038 }
   6039 
   6040 static inline __ATTRS_o_ai vector signed char
   6041 vec_eqv(vector signed char __a, vector signed char __b) {
   6042   return ~(__a ^ __b);
   6043 }
   6044 
   6045 static inline __ATTRS_o_ai vector unsigned char
   6046 vec_eqv(vector unsigned char __a, vector unsigned char __b) {
   6047   return ~(__a ^ __b);
   6048 }
   6049 
   6050 static inline __ATTRS_o_ai vector bool short
   6051 vec_eqv(vector bool short __a, vector bool short __b) {
   6052   return ~(__a ^ __b);
   6053 }
   6054 
   6055 static inline __ATTRS_o_ai vector signed short
   6056 vec_eqv(vector signed short __a, vector signed short __b) {
   6057   return ~(__a ^ __b);
   6058 }
   6059 
   6060 static inline __ATTRS_o_ai vector unsigned short
   6061 vec_eqv(vector unsigned short __a, vector unsigned short __b) {
   6062   return ~(__a ^ __b);
   6063 }
   6064 
   6065 static inline __ATTRS_o_ai vector bool int
   6066 vec_eqv(vector bool int __a, vector bool int __b) {
   6067   return ~(__a ^ __b);
   6068 }
   6069 
   6070 static inline __ATTRS_o_ai vector signed int
   6071 vec_eqv(vector signed int __a, vector signed int __b) {
   6072   return ~(__a ^ __b);
   6073 }
   6074 
   6075 static inline __ATTRS_o_ai vector unsigned int
   6076 vec_eqv(vector unsigned int __a, vector unsigned int __b) {
   6077   return ~(__a ^ __b);
   6078 }
   6079 
   6080 static inline __ATTRS_o_ai vector bool long long
   6081 vec_eqv(vector bool long long __a, vector bool long long __b) {
   6082   return ~(__a ^ __b);
   6083 }
   6084 
   6085 static inline __ATTRS_o_ai vector signed long long
   6086 vec_eqv(vector signed long long __a, vector signed long long __b) {
   6087   return ~(__a ^ __b);
   6088 }
   6089 
   6090 static inline __ATTRS_o_ai vector unsigned long long
   6091 vec_eqv(vector unsigned long long __a, vector unsigned long long __b) {
   6092   return ~(__a ^ __b);
   6093 }
   6094 
   6095 static inline __ATTRS_o_ai vector float
   6096 vec_eqv(vector float __a, vector float __b) {
   6097   return (vector float)~((vector unsigned int)__a ^
   6098                          (vector unsigned int)__b);
   6099 }
   6100 
   6101 static inline __ATTRS_o_ai vector double
   6102 vec_eqv(vector double __a, vector double __b) {
   6103   return (vector double)~((vector unsigned long long)__a ^
   6104                           (vector unsigned long long)__b);
   6105 }
   6106 #endif
   6107 
   6108 /*-- vec_cntlz --------------------------------------------------------------*/
   6109 
   6110 static inline __ATTRS_o_ai vector unsigned char
   6111 vec_cntlz(vector signed char __a) {
   6112   return __builtin_s390_vclzb((vector unsigned char)__a);
   6113 }
   6114 
   6115 static inline __ATTRS_o_ai vector unsigned char
   6116 vec_cntlz(vector unsigned char __a) {
   6117   return __builtin_s390_vclzb(__a);
   6118 }
   6119 
   6120 static inline __ATTRS_o_ai vector unsigned short
   6121 vec_cntlz(vector signed short __a) {
   6122   return __builtin_s390_vclzh((vector unsigned short)__a);
   6123 }
   6124 
   6125 static inline __ATTRS_o_ai vector unsigned short
   6126 vec_cntlz(vector unsigned short __a) {
   6127   return __builtin_s390_vclzh(__a);
   6128 }
   6129 
   6130 static inline __ATTRS_o_ai vector unsigned int
   6131 vec_cntlz(vector signed int __a) {
   6132   return __builtin_s390_vclzf((vector unsigned int)__a);
   6133 }
   6134 
   6135 static inline __ATTRS_o_ai vector unsigned int
   6136 vec_cntlz(vector unsigned int __a) {
   6137   return __builtin_s390_vclzf(__a);
   6138 }
   6139 
   6140 static inline __ATTRS_o_ai vector unsigned long long
   6141 vec_cntlz(vector signed long long __a) {
   6142   return __builtin_s390_vclzg((vector unsigned long long)__a);
   6143 }
   6144 
   6145 static inline __ATTRS_o_ai vector unsigned long long
   6146 vec_cntlz(vector unsigned long long __a) {
   6147   return __builtin_s390_vclzg(__a);
   6148 }
   6149 
   6150 /*-- vec_cnttz --------------------------------------------------------------*/
   6151 
   6152 static inline __ATTRS_o_ai vector unsigned char
   6153 vec_cnttz(vector signed char __a) {
   6154   return __builtin_s390_vctzb((vector unsigned char)__a);
   6155 }
   6156 
   6157 static inline __ATTRS_o_ai vector unsigned char
   6158 vec_cnttz(vector unsigned char __a) {
   6159   return __builtin_s390_vctzb(__a);
   6160 }
   6161 
   6162 static inline __ATTRS_o_ai vector unsigned short
   6163 vec_cnttz(vector signed short __a) {
   6164   return __builtin_s390_vctzh((vector unsigned short)__a);
   6165 }
   6166 
   6167 static inline __ATTRS_o_ai vector unsigned short
   6168 vec_cnttz(vector unsigned short __a) {
   6169   return __builtin_s390_vctzh(__a);
   6170 }
   6171 
   6172 static inline __ATTRS_o_ai vector unsigned int
   6173 vec_cnttz(vector signed int __a) {
   6174   return __builtin_s390_vctzf((vector unsigned int)__a);
   6175 }
   6176 
   6177 static inline __ATTRS_o_ai vector unsigned int
   6178 vec_cnttz(vector unsigned int __a) {
   6179   return __builtin_s390_vctzf(__a);
   6180 }
   6181 
   6182 static inline __ATTRS_o_ai vector unsigned long long
   6183 vec_cnttz(vector signed long long __a) {
   6184   return __builtin_s390_vctzg((vector unsigned long long)__a);
   6185 }
   6186 
   6187 static inline __ATTRS_o_ai vector unsigned long long
   6188 vec_cnttz(vector unsigned long long __a) {
   6189   return __builtin_s390_vctzg(__a);
   6190 }
   6191 
   6192 /*-- vec_popcnt -------------------------------------------------------------*/
   6193 
   6194 static inline __ATTRS_o_ai vector unsigned char
   6195 vec_popcnt(vector signed char __a) {
   6196   return __builtin_s390_vpopctb((vector unsigned char)__a);
   6197 }
   6198 
   6199 static inline __ATTRS_o_ai vector unsigned char
   6200 vec_popcnt(vector unsigned char __a) {
   6201   return __builtin_s390_vpopctb(__a);
   6202 }
   6203 
   6204 static inline __ATTRS_o_ai vector unsigned short
   6205 vec_popcnt(vector signed short __a) {
   6206   return __builtin_s390_vpopcth((vector unsigned short)__a);
   6207 }
   6208 
   6209 static inline __ATTRS_o_ai vector unsigned short
   6210 vec_popcnt(vector unsigned short __a) {
   6211   return __builtin_s390_vpopcth(__a);
   6212 }
   6213 
   6214 static inline __ATTRS_o_ai vector unsigned int
   6215 vec_popcnt(vector signed int __a) {
   6216   return __builtin_s390_vpopctf((vector unsigned int)__a);
   6217 }
   6218 
   6219 static inline __ATTRS_o_ai vector unsigned int
   6220 vec_popcnt(vector unsigned int __a) {
   6221   return __builtin_s390_vpopctf(__a);
   6222 }
   6223 
   6224 static inline __ATTRS_o_ai vector unsigned long long
   6225 vec_popcnt(vector signed long long __a) {
   6226   return __builtin_s390_vpopctg((vector unsigned long long)__a);
   6227 }
   6228 
   6229 static inline __ATTRS_o_ai vector unsigned long long
   6230 vec_popcnt(vector unsigned long long __a) {
   6231   return __builtin_s390_vpopctg(__a);
   6232 }
   6233 
   6234 /*-- vec_rl -----------------------------------------------------------------*/
   6235 
   6236 static inline __ATTRS_o_ai vector signed char
   6237 vec_rl(vector signed char __a, vector unsigned char __b) {
   6238   return (vector signed char)__builtin_s390_verllvb(
   6239     (vector unsigned char)__a, __b);
   6240 }
   6241 
   6242 static inline __ATTRS_o_ai vector unsigned char
   6243 vec_rl(vector unsigned char __a, vector unsigned char __b) {
   6244   return __builtin_s390_verllvb(__a, __b);
   6245 }
   6246 
   6247 static inline __ATTRS_o_ai vector signed short
   6248 vec_rl(vector signed short __a, vector unsigned short __b) {
   6249   return (vector signed short)__builtin_s390_verllvh(
   6250     (vector unsigned short)__a, __b);
   6251 }
   6252 
   6253 static inline __ATTRS_o_ai vector unsigned short
   6254 vec_rl(vector unsigned short __a, vector unsigned short __b) {
   6255   return __builtin_s390_verllvh(__a, __b);
   6256 }
   6257 
   6258 static inline __ATTRS_o_ai vector signed int
   6259 vec_rl(vector signed int __a, vector unsigned int __b) {
   6260   return (vector signed int)__builtin_s390_verllvf(
   6261     (vector unsigned int)__a, __b);
   6262 }
   6263 
   6264 static inline __ATTRS_o_ai vector unsigned int
   6265 vec_rl(vector unsigned int __a, vector unsigned int __b) {
   6266   return __builtin_s390_verllvf(__a, __b);
   6267 }
   6268 
   6269 static inline __ATTRS_o_ai vector signed long long
   6270 vec_rl(vector signed long long __a, vector unsigned long long __b) {
   6271   return (vector signed long long)__builtin_s390_verllvg(
   6272     (vector unsigned long long)__a, __b);
   6273 }
   6274 
   6275 static inline __ATTRS_o_ai vector unsigned long long
   6276 vec_rl(vector unsigned long long __a, vector unsigned long long __b) {
   6277   return __builtin_s390_verllvg(__a, __b);
   6278 }
   6279 
   6280 /*-- vec_rli ----------------------------------------------------------------*/
   6281 
   6282 static inline __ATTRS_o_ai vector signed char
   6283 vec_rli(vector signed char __a, unsigned long __b) {
   6284   return (vector signed char)__builtin_s390_verllb(
   6285     (vector unsigned char)__a, (int)__b);
   6286 }
   6287 
   6288 static inline __ATTRS_o_ai vector unsigned char
   6289 vec_rli(vector unsigned char __a, unsigned long __b) {
   6290   return __builtin_s390_verllb(__a, (int)__b);
   6291 }
   6292 
   6293 static inline __ATTRS_o_ai vector signed short
   6294 vec_rli(vector signed short __a, unsigned long __b) {
   6295   return (vector signed short)__builtin_s390_verllh(
   6296     (vector unsigned short)__a, (int)__b);
   6297 }
   6298 
   6299 static inline __ATTRS_o_ai vector unsigned short
   6300 vec_rli(vector unsigned short __a, unsigned long __b) {
   6301   return __builtin_s390_verllh(__a, (int)__b);
   6302 }
   6303 
   6304 static inline __ATTRS_o_ai vector signed int
   6305 vec_rli(vector signed int __a, unsigned long __b) {
   6306   return (vector signed int)__builtin_s390_verllf(
   6307     (vector unsigned int)__a, (int)__b);
   6308 }
   6309 
   6310 static inline __ATTRS_o_ai vector unsigned int
   6311 vec_rli(vector unsigned int __a, unsigned long __b) {
   6312   return __builtin_s390_verllf(__a, (int)__b);
   6313 }
   6314 
   6315 static inline __ATTRS_o_ai vector signed long long
   6316 vec_rli(vector signed long long __a, unsigned long __b) {
   6317   return (vector signed long long)__builtin_s390_verllg(
   6318     (vector unsigned long long)__a, (int)__b);
   6319 }
   6320 
   6321 static inline __ATTRS_o_ai vector unsigned long long
   6322 vec_rli(vector unsigned long long __a, unsigned long __b) {
   6323   return __builtin_s390_verllg(__a, (int)__b);
   6324 }
   6325 
   6326 /*-- vec_rl_mask ------------------------------------------------------------*/
   6327 
   6328 extern __ATTRS_o vector signed char
   6329 vec_rl_mask(vector signed char __a, vector unsigned char __b,
   6330             unsigned char __c) __constant(__c);
   6331 
   6332 extern __ATTRS_o vector unsigned char
   6333 vec_rl_mask(vector unsigned char __a, vector unsigned char __b,
   6334             unsigned char __c) __constant(__c);
   6335 
   6336 extern __ATTRS_o vector signed short
   6337 vec_rl_mask(vector signed short __a, vector unsigned short __b,
   6338             unsigned char __c) __constant(__c);
   6339 
   6340 extern __ATTRS_o vector unsigned short
   6341 vec_rl_mask(vector unsigned short __a, vector unsigned short __b,
   6342             unsigned char __c) __constant(__c);
   6343 
   6344 extern __ATTRS_o vector signed int
   6345 vec_rl_mask(vector signed int __a, vector unsigned int __b,
   6346             unsigned char __c) __constant(__c);
   6347 
   6348 extern __ATTRS_o vector unsigned int
   6349 vec_rl_mask(vector unsigned int __a, vector unsigned int __b,
   6350             unsigned char __c) __constant(__c);
   6351 
   6352 extern __ATTRS_o vector signed long long
   6353 vec_rl_mask(vector signed long long __a, vector unsigned long long __b,
   6354             unsigned char __c) __constant(__c);
   6355 
   6356 extern __ATTRS_o vector unsigned long long
   6357 vec_rl_mask(vector unsigned long long __a, vector unsigned long long __b,
   6358             unsigned char __c) __constant(__c);
   6359 
   6360 #define vec_rl_mask(X, Y, Z) ((__typeof__((vec_rl_mask)((X), (Y), (Z)))) \
   6361   __extension__ ({ \
   6362     vector unsigned char __res; \
   6363     vector unsigned char __x = (vector unsigned char)(X); \
   6364     vector unsigned char __y = (vector unsigned char)(Y); \
   6365     switch (sizeof ((X)[0])) { \
   6366     case 1: __res = (vector unsigned char) __builtin_s390_verimb( \
   6367              (vector unsigned char)__x, (vector unsigned char)__x, \
   6368              (vector unsigned char)__y, (Z)); break; \
   6369     case 2: __res = (vector unsigned char) __builtin_s390_verimh( \
   6370              (vector unsigned short)__x, (vector unsigned short)__x, \
   6371              (vector unsigned short)__y, (Z)); break; \
   6372     case 4: __res = (vector unsigned char) __builtin_s390_verimf( \
   6373              (vector unsigned int)__x, (vector unsigned int)__x, \
   6374              (vector unsigned int)__y, (Z)); break; \
   6375     default: __res = (vector unsigned char) __builtin_s390_verimg( \
   6376              (vector unsigned long long)__x, (vector unsigned long long)__x, \
   6377              (vector unsigned long long)__y, (Z)); break; \
   6378     } __res; }))
   6379 
   6380 /*-- vec_sll ----------------------------------------------------------------*/
   6381 
   6382 static inline __ATTRS_o_ai vector signed char
   6383 vec_sll(vector signed char __a, vector unsigned char __b) {
   6384   return (vector signed char)__builtin_s390_vsl(
   6385     (vector unsigned char)__a, __b);
   6386 }
   6387 
   6388 // This prototype is deprecated.
   6389 static inline __ATTRS_o_ai vector signed char
   6390 vec_sll(vector signed char __a, vector unsigned short __b) {
   6391   return (vector signed char)__builtin_s390_vsl(
   6392     (vector unsigned char)__a, (vector unsigned char)__b);
   6393 }
   6394 
   6395 // This prototype is deprecated.
   6396 static inline __ATTRS_o_ai vector signed char
   6397 vec_sll(vector signed char __a, vector unsigned int __b) {
   6398   return (vector signed char)__builtin_s390_vsl(
   6399     (vector unsigned char)__a, (vector unsigned char)__b);
   6400 }
   6401 
   6402 // This prototype is deprecated.
   6403 static inline __ATTRS_o_ai vector bool char
   6404 vec_sll(vector bool char __a, vector unsigned char __b) {
   6405   return (vector bool char)__builtin_s390_vsl(
   6406     (vector unsigned char)__a, __b);
   6407 }
   6408 
   6409 // This prototype is deprecated.
   6410 static inline __ATTRS_o_ai vector bool char
   6411 vec_sll(vector bool char __a, vector unsigned short __b) {
   6412   return (vector bool char)__builtin_s390_vsl(
   6413     (vector unsigned char)__a, (vector unsigned char)__b);
   6414 }
   6415 
   6416 // This prototype is deprecated.
   6417 static inline __ATTRS_o_ai vector bool char
   6418 vec_sll(vector bool char __a, vector unsigned int __b) {
   6419   return (vector bool char)__builtin_s390_vsl(
   6420     (vector unsigned char)__a, (vector unsigned char)__b);
   6421 }
   6422 
   6423 static inline __ATTRS_o_ai vector unsigned char
   6424 vec_sll(vector unsigned char __a, vector unsigned char __b) {
   6425   return __builtin_s390_vsl(__a, __b);
   6426 }
   6427 
   6428 // This prototype is deprecated.
   6429 static inline __ATTRS_o_ai vector unsigned char
   6430 vec_sll(vector unsigned char __a, vector unsigned short __b) {
   6431   return __builtin_s390_vsl(__a, (vector unsigned char)__b);
   6432 }
   6433 
   6434 // This prototype is deprecated.
   6435 static inline __ATTRS_o_ai vector unsigned char
   6436 vec_sll(vector unsigned char __a, vector unsigned int __b) {
   6437   return __builtin_s390_vsl(__a, (vector unsigned char)__b);
   6438 }
   6439 
   6440 static inline __ATTRS_o_ai vector signed short
   6441 vec_sll(vector signed short __a, vector unsigned char __b) {
   6442   return (vector signed short)__builtin_s390_vsl(
   6443     (vector unsigned char)__a, __b);
   6444 }
   6445 
   6446 // This prototype is deprecated.
   6447 static inline __ATTRS_o_ai vector signed short
   6448 vec_sll(vector signed short __a, vector unsigned short __b) {
   6449   return (vector signed short)__builtin_s390_vsl(
   6450     (vector unsigned char)__a, (vector unsigned char)__b);
   6451 }
   6452 
   6453 // This prototype is deprecated.
   6454 static inline __ATTRS_o_ai vector signed short
   6455 vec_sll(vector signed short __a, vector unsigned int __b) {
   6456   return (vector signed short)__builtin_s390_vsl(
   6457     (vector unsigned char)__a, (vector unsigned char)__b);
   6458 }
   6459 
   6460 // This prototype is deprecated.
   6461 static inline __ATTRS_o_ai vector bool short
   6462 vec_sll(vector bool short __a, vector unsigned char __b) {
   6463   return (vector bool short)__builtin_s390_vsl(
   6464     (vector unsigned char)__a, __b);
   6465 }
   6466 
   6467 // This prototype is deprecated.
   6468 static inline __ATTRS_o_ai vector bool short
   6469 vec_sll(vector bool short __a, vector unsigned short __b) {
   6470   return (vector bool short)__builtin_s390_vsl(
   6471     (vector unsigned char)__a, (vector unsigned char)__b);
   6472 }
   6473 
   6474 // This prototype is deprecated.
   6475 static inline __ATTRS_o_ai vector bool short
   6476 vec_sll(vector bool short __a, vector unsigned int __b) {
   6477   return (vector bool short)__builtin_s390_vsl(
   6478     (vector unsigned char)__a, (vector unsigned char)__b);
   6479 }
   6480 
   6481 static inline __ATTRS_o_ai vector unsigned short
   6482 vec_sll(vector unsigned short __a, vector unsigned char __b) {
   6483   return (vector unsigned short)__builtin_s390_vsl(
   6484     (vector unsigned char)__a, __b);
   6485 }
   6486 
   6487 // This prototype is deprecated.
   6488 static inline __ATTRS_o_ai vector unsigned short
   6489 vec_sll(vector unsigned short __a, vector unsigned short __b) {
   6490   return (vector unsigned short)__builtin_s390_vsl(
   6491     (vector unsigned char)__a, (vector unsigned char)__b);
   6492 }
   6493 
   6494 // This prototype is deprecated.
   6495 static inline __ATTRS_o_ai vector unsigned short
   6496 vec_sll(vector unsigned short __a, vector unsigned int __b) {
   6497   return (vector unsigned short)__builtin_s390_vsl(
   6498     (vector unsigned char)__a, (vector unsigned char)__b);
   6499 }
   6500 
   6501 static inline __ATTRS_o_ai vector signed int
   6502 vec_sll(vector signed int __a, vector unsigned char __b) {
   6503   return (vector signed int)__builtin_s390_vsl(
   6504     (vector unsigned char)__a, __b);
   6505 }
   6506 
   6507 // This prototype is deprecated.
   6508 static inline __ATTRS_o_ai vector signed int
   6509 vec_sll(vector signed int __a, vector unsigned short __b) {
   6510   return (vector signed int)__builtin_s390_vsl(
   6511     (vector unsigned char)__a, (vector unsigned char)__b);
   6512 }
   6513 
   6514 // This prototype is deprecated.
   6515 static inline __ATTRS_o_ai vector signed int
   6516 vec_sll(vector signed int __a, vector unsigned int __b) {
   6517   return (vector signed int)__builtin_s390_vsl(
   6518     (vector unsigned char)__a, (vector unsigned char)__b);
   6519 }
   6520 
   6521 // This prototype is deprecated.
   6522 static inline __ATTRS_o_ai vector bool int
   6523 vec_sll(vector bool int __a, vector unsigned char __b) {
   6524   return (vector bool int)__builtin_s390_vsl(
   6525     (vector unsigned char)__a, __b);
   6526 }
   6527 
   6528 // This prototype is deprecated.
   6529 static inline __ATTRS_o_ai vector bool int
   6530 vec_sll(vector bool int __a, vector unsigned short __b) {
   6531   return (vector bool int)__builtin_s390_vsl(
   6532     (vector unsigned char)__a, (vector unsigned char)__b);
   6533 }
   6534 
   6535 // This prototype is deprecated.
   6536 static inline __ATTRS_o_ai vector bool int
   6537 vec_sll(vector bool int __a, vector unsigned int __b) {
   6538   return (vector bool int)__builtin_s390_vsl(
   6539     (vector unsigned char)__a, (vector unsigned char)__b);
   6540 }
   6541 
   6542 static inline __ATTRS_o_ai vector unsigned int
   6543 vec_sll(vector unsigned int __a, vector unsigned char __b) {
   6544   return (vector unsigned int)__builtin_s390_vsl(
   6545     (vector unsigned char)__a, __b);
   6546 }
   6547 
   6548 // This prototype is deprecated.
   6549 static inline __ATTRS_o_ai vector unsigned int
   6550 vec_sll(vector unsigned int __a, vector unsigned short __b) {
   6551   return (vector unsigned int)__builtin_s390_vsl(
   6552     (vector unsigned char)__a, (vector unsigned char)__b);
   6553 }
   6554 
   6555 // This prototype is deprecated.
   6556 static inline __ATTRS_o_ai vector unsigned int
   6557 vec_sll(vector unsigned int __a, vector unsigned int __b) {
   6558   return (vector unsigned int)__builtin_s390_vsl(
   6559     (vector unsigned char)__a, (vector unsigned char)__b);
   6560 }
   6561 
   6562 static inline __ATTRS_o_ai vector signed long long
   6563 vec_sll(vector signed long long __a, vector unsigned char __b) {
   6564   return (vector signed long long)__builtin_s390_vsl(
   6565     (vector unsigned char)__a, __b);
   6566 }
   6567 
   6568 // This prototype is deprecated.
   6569 static inline __ATTRS_o_ai vector signed long long
   6570 vec_sll(vector signed long long __a, vector unsigned short __b) {
   6571   return (vector signed long long)__builtin_s390_vsl(
   6572     (vector unsigned char)__a, (vector unsigned char)__b);
   6573 }
   6574 
   6575 // This prototype is deprecated.
   6576 static inline __ATTRS_o_ai vector signed long long
   6577 vec_sll(vector signed long long __a, vector unsigned int __b) {
   6578   return (vector signed long long)__builtin_s390_vsl(
   6579     (vector unsigned char)__a, (vector unsigned char)__b);
   6580 }
   6581 
   6582 // This prototype is deprecated.
   6583 static inline __ATTRS_o_ai vector bool long long
   6584 vec_sll(vector bool long long __a, vector unsigned char __b) {
   6585   return (vector bool long long)__builtin_s390_vsl(
   6586     (vector unsigned char)__a, __b);
   6587 }
   6588 
   6589 // This prototype is deprecated.
   6590 static inline __ATTRS_o_ai vector bool long long
   6591 vec_sll(vector bool long long __a, vector unsigned short __b) {
   6592   return (vector bool long long)__builtin_s390_vsl(
   6593     (vector unsigned char)__a, (vector unsigned char)__b);
   6594 }
   6595 
   6596 // This prototype is deprecated.
   6597 static inline __ATTRS_o_ai vector bool long long
   6598 vec_sll(vector bool long long __a, vector unsigned int __b) {
   6599   return (vector bool long long)__builtin_s390_vsl(
   6600     (vector unsigned char)__a, (vector unsigned char)__b);
   6601 }
   6602 
   6603 static inline __ATTRS_o_ai vector unsigned long long
   6604 vec_sll(vector unsigned long long __a, vector unsigned char __b) {
   6605   return (vector unsigned long long)__builtin_s390_vsl(
   6606     (vector unsigned char)__a, __b);
   6607 }
   6608 
   6609 // This prototype is deprecated.
   6610 static inline __ATTRS_o_ai vector unsigned long long
   6611 vec_sll(vector unsigned long long __a, vector unsigned short __b) {
   6612   return (vector unsigned long long)__builtin_s390_vsl(
   6613     (vector unsigned char)__a, (vector unsigned char)__b);
   6614 }
   6615 
   6616 // This prototype is deprecated.
   6617 static inline __ATTRS_o_ai vector unsigned long long
   6618 vec_sll(vector unsigned long long __a, vector unsigned int __b) {
   6619   return (vector unsigned long long)__builtin_s390_vsl(
   6620     (vector unsigned char)__a, (vector unsigned char)__b);
   6621 }
   6622 
   6623 /*-- vec_slb ----------------------------------------------------------------*/
   6624 
   6625 static inline __ATTRS_o_ai vector signed char
   6626 vec_slb(vector signed char __a, vector signed char __b) {
   6627   return (vector signed char)__builtin_s390_vslb(
   6628     (vector unsigned char)__a, (vector unsigned char)__b);
   6629 }
   6630 
   6631 static inline __ATTRS_o_ai vector signed char
   6632 vec_slb(vector signed char __a, vector unsigned char __b) {
   6633   return (vector signed char)__builtin_s390_vslb(
   6634     (vector unsigned char)__a, __b);
   6635 }
   6636 
   6637 static inline __ATTRS_o_ai vector unsigned char
   6638 vec_slb(vector unsigned char __a, vector signed char __b) {
   6639   return __builtin_s390_vslb(__a, (vector unsigned char)__b);
   6640 }
   6641 
   6642 static inline __ATTRS_o_ai vector unsigned char
   6643 vec_slb(vector unsigned char __a, vector unsigned char __b) {
   6644   return __builtin_s390_vslb(__a, __b);
   6645 }
   6646 
   6647 static inline __ATTRS_o_ai vector signed short
   6648 vec_slb(vector signed short __a, vector signed short __b) {
   6649   return (vector signed short)__builtin_s390_vslb(
   6650     (vector unsigned char)__a, (vector unsigned char)__b);
   6651 }
   6652 
   6653 static inline __ATTRS_o_ai vector signed short
   6654 vec_slb(vector signed short __a, vector unsigned short __b) {
   6655   return (vector signed short)__builtin_s390_vslb(
   6656     (vector unsigned char)__a, (vector unsigned char)__b);
   6657 }
   6658 
   6659 static inline __ATTRS_o_ai vector unsigned short
   6660 vec_slb(vector unsigned short __a, vector signed short __b) {
   6661   return (vector unsigned short)__builtin_s390_vslb(
   6662     (vector unsigned char)__a, (vector unsigned char)__b);
   6663 }
   6664 
   6665 static inline __ATTRS_o_ai vector unsigned short
   6666 vec_slb(vector unsigned short __a, vector unsigned short __b) {
   6667   return (vector unsigned short)__builtin_s390_vslb(
   6668     (vector unsigned char)__a, (vector unsigned char)__b);
   6669 }
   6670 
   6671 static inline __ATTRS_o_ai vector signed int
   6672 vec_slb(vector signed int __a, vector signed int __b) {
   6673   return (vector signed int)__builtin_s390_vslb(
   6674     (vector unsigned char)__a, (vector unsigned char)__b);
   6675 }
   6676 
   6677 static inline __ATTRS_o_ai vector signed int
   6678 vec_slb(vector signed int __a, vector unsigned int __b) {
   6679   return (vector signed int)__builtin_s390_vslb(
   6680     (vector unsigned char)__a, (vector unsigned char)__b);
   6681 }
   6682 
   6683 static inline __ATTRS_o_ai vector unsigned int
   6684 vec_slb(vector unsigned int __a, vector signed int __b) {
   6685   return (vector unsigned int)__builtin_s390_vslb(
   6686     (vector unsigned char)__a, (vector unsigned char)__b);
   6687 }
   6688 
   6689 static inline __ATTRS_o_ai vector unsigned int
   6690 vec_slb(vector unsigned int __a, vector unsigned int __b) {
   6691   return (vector unsigned int)__builtin_s390_vslb(
   6692     (vector unsigned char)__a, (vector unsigned char)__b);
   6693 }
   6694 
   6695 static inline __ATTRS_o_ai vector signed long long
   6696 vec_slb(vector signed long long __a, vector signed long long __b) {
   6697   return (vector signed long long)__builtin_s390_vslb(
   6698     (vector unsigned char)__a, (vector unsigned char)__b);
   6699 }
   6700 
   6701 static inline __ATTRS_o_ai vector signed long long
   6702 vec_slb(vector signed long long __a, vector unsigned long long __b) {
   6703   return (vector signed long long)__builtin_s390_vslb(
   6704     (vector unsigned char)__a, (vector unsigned char)__b);
   6705 }
   6706 
   6707 static inline __ATTRS_o_ai vector unsigned long long
   6708 vec_slb(vector unsigned long long __a, vector signed long long __b) {
   6709   return (vector unsigned long long)__builtin_s390_vslb(
   6710     (vector unsigned char)__a, (vector unsigned char)__b);
   6711 }
   6712 
   6713 static inline __ATTRS_o_ai vector unsigned long long
   6714 vec_slb(vector unsigned long long __a, vector unsigned long long __b) {
   6715   return (vector unsigned long long)__builtin_s390_vslb(
   6716     (vector unsigned char)__a, (vector unsigned char)__b);
   6717 }
   6718 
   6719 #if __ARCH__ >= 12
   6720 static inline __ATTRS_o_ai vector float
   6721 vec_slb(vector float __a, vector signed int __b) {
   6722   return (vector float)__builtin_s390_vslb(
   6723     (vector unsigned char)__a, (vector unsigned char)__b);
   6724 }
   6725 
   6726 static inline __ATTRS_o_ai vector float
   6727 vec_slb(vector float __a, vector unsigned int __b) {
   6728   return (vector float)__builtin_s390_vslb(
   6729     (vector unsigned char)__a, (vector unsigned char)__b);
   6730 }
   6731 #endif
   6732 
   6733 static inline __ATTRS_o_ai vector double
   6734 vec_slb(vector double __a, vector signed long long __b) {
   6735   return (vector double)__builtin_s390_vslb(
   6736     (vector unsigned char)__a, (vector unsigned char)__b);
   6737 }
   6738 
   6739 static inline __ATTRS_o_ai vector double
   6740 vec_slb(vector double __a, vector unsigned long long __b) {
   6741   return (vector double)__builtin_s390_vslb(
   6742     (vector unsigned char)__a, (vector unsigned char)__b);
   6743 }
   6744 
   6745 /*-- vec_sld ----------------------------------------------------------------*/
   6746 
   6747 extern __ATTRS_o vector signed char
   6748 vec_sld(vector signed char __a, vector signed char __b, int __c)
   6749   __constant_range(__c, 0, 15);
   6750 
   6751 extern __ATTRS_o vector bool char
   6752 vec_sld(vector bool char __a, vector bool char __b, int __c)
   6753   __constant_range(__c, 0, 15);
   6754 
   6755 extern __ATTRS_o vector unsigned char
   6756 vec_sld(vector unsigned char __a, vector unsigned char __b, int __c)
   6757   __constant_range(__c, 0, 15);
   6758 
   6759 extern __ATTRS_o vector signed short
   6760 vec_sld(vector signed short __a, vector signed short __b, int __c)
   6761   __constant_range(__c, 0, 15);
   6762 
   6763 extern __ATTRS_o vector bool short
   6764 vec_sld(vector bool short __a, vector bool short __b, int __c)
   6765   __constant_range(__c, 0, 15);
   6766 
   6767 extern __ATTRS_o vector unsigned short
   6768 vec_sld(vector unsigned short __a, vector unsigned short __b, int __c)
   6769   __constant_range(__c, 0, 15);
   6770 
   6771 extern __ATTRS_o vector signed int
   6772 vec_sld(vector signed int __a, vector signed int __b, int __c)
   6773   __constant_range(__c, 0, 15);
   6774 
   6775 extern __ATTRS_o vector bool int
   6776 vec_sld(vector bool int __a, vector bool int __b, int __c)
   6777   __constant_range(__c, 0, 15);
   6778 
   6779 extern __ATTRS_o vector unsigned int
   6780 vec_sld(vector unsigned int __a, vector unsigned int __b, int __c)
   6781   __constant_range(__c, 0, 15);
   6782 
   6783 extern __ATTRS_o vector signed long long
   6784 vec_sld(vector signed long long __a, vector signed long long __b, int __c)
   6785   __constant_range(__c, 0, 15);
   6786 
   6787 extern __ATTRS_o vector bool long long
   6788 vec_sld(vector bool long long __a, vector bool long long __b, int __c)
   6789   __constant_range(__c, 0, 15);
   6790 
   6791 extern __ATTRS_o vector unsigned long long
   6792 vec_sld(vector unsigned long long __a, vector unsigned long long __b, int __c)
   6793   __constant_range(__c, 0, 15);
   6794 
   6795 #if __ARCH__ >= 12
   6796 extern __ATTRS_o vector float
   6797 vec_sld(vector float __a, vector float __b, int __c)
   6798   __constant_range(__c, 0, 15);
   6799 #endif
   6800 
   6801 extern __ATTRS_o vector double
   6802 vec_sld(vector double __a, vector double __b, int __c)
   6803   __constant_range(__c, 0, 15);
   6804 
   6805 #define vec_sld(X, Y, Z) ((__typeof__((vec_sld)((X), (Y), (Z)))) \
   6806   __builtin_s390_vsldb((vector unsigned char)(X), \
   6807                        (vector unsigned char)(Y), (Z)))
   6808 
   6809 /*-- vec_sldw ---------------------------------------------------------------*/
   6810 
   6811 extern __ATTRS_o vector signed char
   6812 vec_sldw(vector signed char __a, vector signed char __b, int __c)
   6813   __constant_range(__c, 0, 3);
   6814 
   6815 extern __ATTRS_o vector unsigned char
   6816 vec_sldw(vector unsigned char __a, vector unsigned char __b, int __c)
   6817   __constant_range(__c, 0, 3);
   6818 
   6819 extern __ATTRS_o vector signed short
   6820 vec_sldw(vector signed short __a, vector signed short __b, int __c)
   6821   __constant_range(__c, 0, 3);
   6822 
   6823 extern __ATTRS_o vector unsigned short
   6824 vec_sldw(vector unsigned short __a, vector unsigned short __b, int __c)
   6825   __constant_range(__c, 0, 3);
   6826 
   6827 extern __ATTRS_o vector signed int
   6828 vec_sldw(vector signed int __a, vector signed int __b, int __c)
   6829   __constant_range(__c, 0, 3);
   6830 
   6831 extern __ATTRS_o vector unsigned int
   6832 vec_sldw(vector unsigned int __a, vector unsigned int __b, int __c)
   6833   __constant_range(__c, 0, 3);
   6834 
   6835 extern __ATTRS_o vector signed long long
   6836 vec_sldw(vector signed long long __a, vector signed long long __b, int __c)
   6837   __constant_range(__c, 0, 3);
   6838 
   6839 extern __ATTRS_o vector unsigned long long
   6840 vec_sldw(vector unsigned long long __a, vector unsigned long long __b, int __c)
   6841   __constant_range(__c, 0, 3);
   6842 
   6843 // This prototype is deprecated.
   6844 extern __ATTRS_o vector double
   6845 vec_sldw(vector double __a, vector double __b, int __c)
   6846   __constant_range(__c, 0, 3);
   6847 
   6848 #define vec_sldw(X, Y, Z) ((__typeof__((vec_sldw)((X), (Y), (Z)))) \
   6849   __builtin_s390_vsldb((vector unsigned char)(X), \
   6850                        (vector unsigned char)(Y), (Z) * 4))
   6851 
   6852 /*-- vec_sral ---------------------------------------------------------------*/
   6853 
   6854 static inline __ATTRS_o_ai vector signed char
   6855 vec_sral(vector signed char __a, vector unsigned char __b) {
   6856   return (vector signed char)__builtin_s390_vsra(
   6857     (vector unsigned char)__a, __b);
   6858 }
   6859 
   6860 // This prototype is deprecated.
   6861 static inline __ATTRS_o_ai vector signed char
   6862 vec_sral(vector signed char __a, vector unsigned short __b) {
   6863   return (vector signed char)__builtin_s390_vsra(
   6864     (vector unsigned char)__a, (vector unsigned char)__b);
   6865 }
   6866 
   6867 // This prototype is deprecated.
   6868 static inline __ATTRS_o_ai vector signed char
   6869 vec_sral(vector signed char __a, vector unsigned int __b) {
   6870   return (vector signed char)__builtin_s390_vsra(
   6871     (vector unsigned char)__a, (vector unsigned char)__b);
   6872 }
   6873 
   6874 // This prototype is deprecated.
   6875 static inline __ATTRS_o_ai vector bool char
   6876 vec_sral(vector bool char __a, vector unsigned char __b) {
   6877   return (vector bool char)__builtin_s390_vsra(
   6878     (vector unsigned char)__a, __b);
   6879 }
   6880 
   6881 // This prototype is deprecated.
   6882 static inline __ATTRS_o_ai vector bool char
   6883 vec_sral(vector bool char __a, vector unsigned short __b) {
   6884   return (vector bool char)__builtin_s390_vsra(
   6885     (vector unsigned char)__a, (vector unsigned char)__b);
   6886 }
   6887 
   6888 // This prototype is deprecated.
   6889 static inline __ATTRS_o_ai vector bool char
   6890 vec_sral(vector bool char __a, vector unsigned int __b) {
   6891   return (vector bool char)__builtin_s390_vsra(
   6892     (vector unsigned char)__a, (vector unsigned char)__b);
   6893 }
   6894 
   6895 static inline __ATTRS_o_ai vector unsigned char
   6896 vec_sral(vector unsigned char __a, vector unsigned char __b) {
   6897   return __builtin_s390_vsra(__a, __b);
   6898 }
   6899 
   6900 // This prototype is deprecated.
   6901 static inline __ATTRS_o_ai vector unsigned char
   6902 vec_sral(vector unsigned char __a, vector unsigned short __b) {
   6903   return __builtin_s390_vsra(__a, (vector unsigned char)__b);
   6904 }
   6905 
   6906 // This prototype is deprecated.
   6907 static inline __ATTRS_o_ai vector unsigned char
   6908 vec_sral(vector unsigned char __a, vector unsigned int __b) {
   6909   return __builtin_s390_vsra(__a, (vector unsigned char)__b);
   6910 }
   6911 
   6912 static inline __ATTRS_o_ai vector signed short
   6913 vec_sral(vector signed short __a, vector unsigned char __b) {
   6914   return (vector signed short)__builtin_s390_vsra(
   6915     (vector unsigned char)__a, __b);
   6916 }
   6917 
   6918 // This prototype is deprecated.
   6919 static inline __ATTRS_o_ai vector signed short
   6920 vec_sral(vector signed short __a, vector unsigned short __b) {
   6921   return (vector signed short)__builtin_s390_vsra(
   6922     (vector unsigned char)__a, (vector unsigned char)__b);
   6923 }
   6924 
   6925 // This prototype is deprecated.
   6926 static inline __ATTRS_o_ai vector signed short
   6927 vec_sral(vector signed short __a, vector unsigned int __b) {
   6928   return (vector signed short)__builtin_s390_vsra(
   6929     (vector unsigned char)__a, (vector unsigned char)__b);
   6930 }
   6931 
   6932 // This prototype is deprecated.
   6933 static inline __ATTRS_o_ai vector bool short
   6934 vec_sral(vector bool short __a, vector unsigned char __b) {
   6935   return (vector bool short)__builtin_s390_vsra(
   6936     (vector unsigned char)__a, __b);
   6937 }
   6938 
   6939 // This prototype is deprecated.
   6940 static inline __ATTRS_o_ai vector bool short
   6941 vec_sral(vector bool short __a, vector unsigned short __b) {
   6942   return (vector bool short)__builtin_s390_vsra(
   6943     (vector unsigned char)__a, (vector unsigned char)__b);
   6944 }
   6945 
   6946 // This prototype is deprecated.
   6947 static inline __ATTRS_o_ai vector bool short
   6948 vec_sral(vector bool short __a, vector unsigned int __b) {
   6949   return (vector bool short)__builtin_s390_vsra(
   6950     (vector unsigned char)__a, (vector unsigned char)__b);
   6951 }
   6952 
   6953 static inline __ATTRS_o_ai vector unsigned short
   6954 vec_sral(vector unsigned short __a, vector unsigned char __b) {
   6955   return (vector unsigned short)__builtin_s390_vsra(
   6956     (vector unsigned char)__a, __b);
   6957 }
   6958 
   6959 // This prototype is deprecated.
   6960 static inline __ATTRS_o_ai vector unsigned short
   6961 vec_sral(vector unsigned short __a, vector unsigned short __b) {
   6962   return (vector unsigned short)__builtin_s390_vsra(
   6963     (vector unsigned char)__a, (vector unsigned char)__b);
   6964 }
   6965 
   6966 // This prototype is deprecated.
   6967 static inline __ATTRS_o_ai vector unsigned short
   6968 vec_sral(vector unsigned short __a, vector unsigned int __b) {
   6969   return (vector unsigned short)__builtin_s390_vsra(
   6970     (vector unsigned char)__a, (vector unsigned char)__b);
   6971 }
   6972 
   6973 static inline __ATTRS_o_ai vector signed int
   6974 vec_sral(vector signed int __a, vector unsigned char __b) {
   6975   return (vector signed int)__builtin_s390_vsra(
   6976     (vector unsigned char)__a, __b);
   6977 }
   6978 
   6979 // This prototype is deprecated.
   6980 static inline __ATTRS_o_ai vector signed int
   6981 vec_sral(vector signed int __a, vector unsigned short __b) {
   6982   return (vector signed int)__builtin_s390_vsra(
   6983     (vector unsigned char)__a, (vector unsigned char)__b);
   6984 }
   6985 
   6986 // This prototype is deprecated.
   6987 static inline __ATTRS_o_ai vector signed int
   6988 vec_sral(vector signed int __a, vector unsigned int __b) {
   6989   return (vector signed int)__builtin_s390_vsra(
   6990     (vector unsigned char)__a, (vector unsigned char)__b);
   6991 }
   6992 
   6993 // This prototype is deprecated.
   6994 static inline __ATTRS_o_ai vector bool int
   6995 vec_sral(vector bool int __a, vector unsigned char __b) {
   6996   return (vector bool int)__builtin_s390_vsra(
   6997     (vector unsigned char)__a, __b);
   6998 }
   6999 
   7000 // This prototype is deprecated.
   7001 static inline __ATTRS_o_ai vector bool int
   7002 vec_sral(vector bool int __a, vector unsigned short __b) {
   7003   return (vector bool int)__builtin_s390_vsra(
   7004     (vector unsigned char)__a, (vector unsigned char)__b);
   7005 }
   7006 
   7007 // This prototype is deprecated.
   7008 static inline __ATTRS_o_ai vector bool int
   7009 vec_sral(vector bool int __a, vector unsigned int __b) {
   7010   return (vector bool int)__builtin_s390_vsra(
   7011     (vector unsigned char)__a, (vector unsigned char)__b);
   7012 }
   7013 
   7014 static inline __ATTRS_o_ai vector unsigned int
   7015 vec_sral(vector unsigned int __a, vector unsigned char __b) {
   7016   return (vector unsigned int)__builtin_s390_vsra(
   7017     (vector unsigned char)__a, __b);
   7018 }
   7019 
   7020 // This prototype is deprecated.
   7021 static inline __ATTRS_o_ai vector unsigned int
   7022 vec_sral(vector unsigned int __a, vector unsigned short __b) {
   7023   return (vector unsigned int)__builtin_s390_vsra(
   7024     (vector unsigned char)__a, (vector unsigned char)__b);
   7025 }
   7026 
   7027 // This prototype is deprecated.
   7028 static inline __ATTRS_o_ai vector unsigned int
   7029 vec_sral(vector unsigned int __a, vector unsigned int __b) {
   7030   return (vector unsigned int)__builtin_s390_vsra(
   7031     (vector unsigned char)__a, (vector unsigned char)__b);
   7032 }
   7033 
   7034 static inline __ATTRS_o_ai vector signed long long
   7035 vec_sral(vector signed long long __a, vector unsigned char __b) {
   7036   return (vector signed long long)__builtin_s390_vsra(
   7037     (vector unsigned char)__a, __b);
   7038 }
   7039 
   7040 // This prototype is deprecated.
   7041 static inline __ATTRS_o_ai vector signed long long
   7042 vec_sral(vector signed long long __a, vector unsigned short __b) {
   7043   return (vector signed long long)__builtin_s390_vsra(
   7044     (vector unsigned char)__a, (vector unsigned char)__b);
   7045 }
   7046 
   7047 // This prototype is deprecated.
   7048 static inline __ATTRS_o_ai vector signed long long
   7049 vec_sral(vector signed long long __a, vector unsigned int __b) {
   7050   return (vector signed long long)__builtin_s390_vsra(
   7051     (vector unsigned char)__a, (vector unsigned char)__b);
   7052 }
   7053 
   7054 // This prototype is deprecated.
   7055 static inline __ATTRS_o_ai vector bool long long
   7056 vec_sral(vector bool long long __a, vector unsigned char __b) {
   7057   return (vector bool long long)__builtin_s390_vsra(
   7058     (vector unsigned char)__a, __b);
   7059 }
   7060 
   7061 // This prototype is deprecated.
   7062 static inline __ATTRS_o_ai vector bool long long
   7063 vec_sral(vector bool long long __a, vector unsigned short __b) {
   7064   return (vector bool long long)__builtin_s390_vsra(
   7065     (vector unsigned char)__a, (vector unsigned char)__b);
   7066 }
   7067 
   7068 // This prototype is deprecated.
   7069 static inline __ATTRS_o_ai vector bool long long
   7070 vec_sral(vector bool long long __a, vector unsigned int __b) {
   7071   return (vector bool long long)__builtin_s390_vsra(
   7072     (vector unsigned char)__a, (vector unsigned char)__b);
   7073 }
   7074 
   7075 static inline __ATTRS_o_ai vector unsigned long long
   7076 vec_sral(vector unsigned long long __a, vector unsigned char __b) {
   7077   return (vector unsigned long long)__builtin_s390_vsra(
   7078     (vector unsigned char)__a, __b);
   7079 }
   7080 
   7081 // This prototype is deprecated.
   7082 static inline __ATTRS_o_ai vector unsigned long long
   7083 vec_sral(vector unsigned long long __a, vector unsigned short __b) {
   7084   return (vector unsigned long long)__builtin_s390_vsra(
   7085     (vector unsigned char)__a, (vector unsigned char)__b);
   7086 }
   7087 
   7088 // This prototype is deprecated.
   7089 static inline __ATTRS_o_ai vector unsigned long long
   7090 vec_sral(vector unsigned long long __a, vector unsigned int __b) {
   7091   return (vector unsigned long long)__builtin_s390_vsra(
   7092     (vector unsigned char)__a, (vector unsigned char)__b);
   7093 }
   7094 
   7095 /*-- vec_srab ---------------------------------------------------------------*/
   7096 
   7097 static inline __ATTRS_o_ai vector signed char
   7098 vec_srab(vector signed char __a, vector signed char __b) {
   7099   return (vector signed char)__builtin_s390_vsrab(
   7100     (vector unsigned char)__a, (vector unsigned char)__b);
   7101 }
   7102 
   7103 static inline __ATTRS_o_ai vector signed char
   7104 vec_srab(vector signed char __a, vector unsigned char __b) {
   7105   return (vector signed char)__builtin_s390_vsrab(
   7106     (vector unsigned char)__a, __b);
   7107 }
   7108 
   7109 static inline __ATTRS_o_ai vector unsigned char
   7110 vec_srab(vector unsigned char __a, vector signed char __b) {
   7111   return __builtin_s390_vsrab(__a, (vector unsigned char)__b);
   7112 }
   7113 
   7114 static inline __ATTRS_o_ai vector unsigned char
   7115 vec_srab(vector unsigned char __a, vector unsigned char __b) {
   7116   return __builtin_s390_vsrab(__a, __b);
   7117 }
   7118 
   7119 static inline __ATTRS_o_ai vector signed short
   7120 vec_srab(vector signed short __a, vector signed short __b) {
   7121   return (vector signed short)__builtin_s390_vsrab(
   7122     (vector unsigned char)__a, (vector unsigned char)__b);
   7123 }
   7124 
   7125 static inline __ATTRS_o_ai vector signed short
   7126 vec_srab(vector signed short __a, vector unsigned short __b) {
   7127   return (vector signed short)__builtin_s390_vsrab(
   7128     (vector unsigned char)__a, (vector unsigned char)__b);
   7129 }
   7130 
   7131 static inline __ATTRS_o_ai vector unsigned short
   7132 vec_srab(vector unsigned short __a, vector signed short __b) {
   7133   return (vector unsigned short)__builtin_s390_vsrab(
   7134     (vector unsigned char)__a, (vector unsigned char)__b);
   7135 }
   7136 
   7137 static inline __ATTRS_o_ai vector unsigned short
   7138 vec_srab(vector unsigned short __a, vector unsigned short __b) {
   7139   return (vector unsigned short)__builtin_s390_vsrab(
   7140     (vector unsigned char)__a, (vector unsigned char)__b);
   7141 }
   7142 
   7143 static inline __ATTRS_o_ai vector signed int
   7144 vec_srab(vector signed int __a, vector signed int __b) {
   7145   return (vector signed int)__builtin_s390_vsrab(
   7146     (vector unsigned char)__a, (vector unsigned char)__b);
   7147 }
   7148 
   7149 static inline __ATTRS_o_ai vector signed int
   7150 vec_srab(vector signed int __a, vector unsigned int __b) {
   7151   return (vector signed int)__builtin_s390_vsrab(
   7152     (vector unsigned char)__a, (vector unsigned char)__b);
   7153 }
   7154 
   7155 static inline __ATTRS_o_ai vector unsigned int
   7156 vec_srab(vector unsigned int __a, vector signed int __b) {
   7157   return (vector unsigned int)__builtin_s390_vsrab(
   7158     (vector unsigned char)__a, (vector unsigned char)__b);
   7159 }
   7160 
   7161 static inline __ATTRS_o_ai vector unsigned int
   7162 vec_srab(vector unsigned int __a, vector unsigned int __b) {
   7163   return (vector unsigned int)__builtin_s390_vsrab(
   7164     (vector unsigned char)__a, (vector unsigned char)__b);
   7165 }
   7166 
   7167 static inline __ATTRS_o_ai vector signed long long
   7168 vec_srab(vector signed long long __a, vector signed long long __b) {
   7169   return (vector signed long long)__builtin_s390_vsrab(
   7170     (vector unsigned char)__a, (vector unsigned char)__b);
   7171 }
   7172 
   7173 static inline __ATTRS_o_ai vector signed long long
   7174 vec_srab(vector signed long long __a, vector unsigned long long __b) {
   7175   return (vector signed long long)__builtin_s390_vsrab(
   7176     (vector unsigned char)__a, (vector unsigned char)__b);
   7177 }
   7178 
   7179 static inline __ATTRS_o_ai vector unsigned long long
   7180 vec_srab(vector unsigned long long __a, vector signed long long __b) {
   7181   return (vector unsigned long long)__builtin_s390_vsrab(
   7182     (vector unsigned char)__a, (vector unsigned char)__b);
   7183 }
   7184 
   7185 static inline __ATTRS_o_ai vector unsigned long long
   7186 vec_srab(vector unsigned long long __a, vector unsigned long long __b) {
   7187   return (vector unsigned long long)__builtin_s390_vsrab(
   7188     (vector unsigned char)__a, (vector unsigned char)__b);
   7189 }
   7190 
   7191 #if __ARCH__ >= 12
   7192 static inline __ATTRS_o_ai vector float
   7193 vec_srab(vector float __a, vector signed int __b) {
   7194   return (vector float)__builtin_s390_vsrab(
   7195     (vector unsigned char)__a, (vector unsigned char)__b);
   7196 }
   7197 
   7198 static inline __ATTRS_o_ai vector float
   7199 vec_srab(vector float __a, vector unsigned int __b) {
   7200   return (vector float)__builtin_s390_vsrab(
   7201     (vector unsigned char)__a, (vector unsigned char)__b);
   7202 }
   7203 #endif
   7204 
   7205 static inline __ATTRS_o_ai vector double
   7206 vec_srab(vector double __a, vector signed long long __b) {
   7207   return (vector double)__builtin_s390_vsrab(
   7208     (vector unsigned char)__a, (vector unsigned char)__b);
   7209 }
   7210 
   7211 static inline __ATTRS_o_ai vector double
   7212 vec_srab(vector double __a, vector unsigned long long __b) {
   7213   return (vector double)__builtin_s390_vsrab(
   7214     (vector unsigned char)__a, (vector unsigned char)__b);
   7215 }
   7216 
   7217 /*-- vec_srl ----------------------------------------------------------------*/
   7218 
   7219 static inline __ATTRS_o_ai vector signed char
   7220 vec_srl(vector signed char __a, vector unsigned char __b) {
   7221   return (vector signed char)__builtin_s390_vsrl(
   7222     (vector unsigned char)__a, __b);
   7223 }
   7224 
   7225 // This prototype is deprecated.
   7226 static inline __ATTRS_o_ai vector signed char
   7227 vec_srl(vector signed char __a, vector unsigned short __b) {
   7228   return (vector signed char)__builtin_s390_vsrl(
   7229     (vector unsigned char)__a, (vector unsigned char)__b);
   7230 }
   7231 
   7232 // This prototype is deprecated.
   7233 static inline __ATTRS_o_ai vector signed char
   7234 vec_srl(vector signed char __a, vector unsigned int __b) {
   7235   return (vector signed char)__builtin_s390_vsrl(
   7236     (vector unsigned char)__a, (vector unsigned char)__b);
   7237 }
   7238 
   7239 // This prototype is deprecated.
   7240 static inline __ATTRS_o_ai vector bool char
   7241 vec_srl(vector bool char __a, vector unsigned char __b) {
   7242   return (vector bool char)__builtin_s390_vsrl(
   7243     (vector unsigned char)__a, __b);
   7244 }
   7245 
   7246 // This prototype is deprecated.
   7247 static inline __ATTRS_o_ai vector bool char
   7248 vec_srl(vector bool char __a, vector unsigned short __b) {
   7249   return (vector bool char)__builtin_s390_vsrl(
   7250     (vector unsigned char)__a, (vector unsigned char)__b);
   7251 }
   7252 
   7253 // This prototype is deprecated.
   7254 static inline __ATTRS_o_ai vector bool char
   7255 vec_srl(vector bool char __a, vector unsigned int __b) {
   7256   return (vector bool char)__builtin_s390_vsrl(
   7257     (vector unsigned char)__a, (vector unsigned char)__b);
   7258 }
   7259 
   7260 static inline __ATTRS_o_ai vector unsigned char
   7261 vec_srl(vector unsigned char __a, vector unsigned char __b) {
   7262   return __builtin_s390_vsrl(__a, __b);
   7263 }
   7264 
   7265 // This prototype is deprecated.
   7266 static inline __ATTRS_o_ai vector unsigned char
   7267 vec_srl(vector unsigned char __a, vector unsigned short __b) {
   7268   return __builtin_s390_vsrl(__a, (vector unsigned char)__b);
   7269 }
   7270 
   7271 // This prototype is deprecated.
   7272 static inline __ATTRS_o_ai vector unsigned char
   7273 vec_srl(vector unsigned char __a, vector unsigned int __b) {
   7274   return __builtin_s390_vsrl(__a, (vector unsigned char)__b);
   7275 }
   7276 
   7277 static inline __ATTRS_o_ai vector signed short
   7278 vec_srl(vector signed short __a, vector unsigned char __b) {
   7279   return (vector signed short)__builtin_s390_vsrl(
   7280     (vector unsigned char)__a, __b);
   7281 }
   7282 
   7283 // This prototype is deprecated.
   7284 static inline __ATTRS_o_ai vector signed short
   7285 vec_srl(vector signed short __a, vector unsigned short __b) {
   7286   return (vector signed short)__builtin_s390_vsrl(
   7287     (vector unsigned char)__a, (vector unsigned char)__b);
   7288 }
   7289 
   7290 // This prototype is deprecated.
   7291 static inline __ATTRS_o_ai vector signed short
   7292 vec_srl(vector signed short __a, vector unsigned int __b) {
   7293   return (vector signed short)__builtin_s390_vsrl(
   7294     (vector unsigned char)__a, (vector unsigned char)__b);
   7295 }
   7296 
   7297 // This prototype is deprecated.
   7298 static inline __ATTRS_o_ai vector bool short
   7299 vec_srl(vector bool short __a, vector unsigned char __b) {
   7300   return (vector bool short)__builtin_s390_vsrl(
   7301     (vector unsigned char)__a, __b);
   7302 }
   7303 
   7304 // This prototype is deprecated.
   7305 static inline __ATTRS_o_ai vector bool short
   7306 vec_srl(vector bool short __a, vector unsigned short __b) {
   7307   return (vector bool short)__builtin_s390_vsrl(
   7308     (vector unsigned char)__a, (vector unsigned char)__b);
   7309 }
   7310 
   7311 // This prototype is deprecated.
   7312 static inline __ATTRS_o_ai vector bool short
   7313 vec_srl(vector bool short __a, vector unsigned int __b) {
   7314   return (vector bool short)__builtin_s390_vsrl(
   7315     (vector unsigned char)__a, (vector unsigned char)__b);
   7316 }
   7317 
   7318 static inline __ATTRS_o_ai vector unsigned short
   7319 vec_srl(vector unsigned short __a, vector unsigned char __b) {
   7320   return (vector unsigned short)__builtin_s390_vsrl(
   7321     (vector unsigned char)__a, __b);
   7322 }
   7323 
   7324 // This prototype is deprecated.
   7325 static inline __ATTRS_o_ai vector unsigned short
   7326 vec_srl(vector unsigned short __a, vector unsigned short __b) {
   7327   return (vector unsigned short)__builtin_s390_vsrl(
   7328     (vector unsigned char)__a, (vector unsigned char)__b);
   7329 }
   7330 
   7331 // This prototype is deprecated.
   7332 static inline __ATTRS_o_ai vector unsigned short
   7333 vec_srl(vector unsigned short __a, vector unsigned int __b) {
   7334   return (vector unsigned short)__builtin_s390_vsrl(
   7335     (vector unsigned char)__a, (vector unsigned char)__b);
   7336 }
   7337 
   7338 static inline __ATTRS_o_ai vector signed int
   7339 vec_srl(vector signed int __a, vector unsigned char __b) {
   7340   return (vector signed int)__builtin_s390_vsrl(
   7341     (vector unsigned char)__a, __b);
   7342 }
   7343 
   7344 // This prototype is deprecated.
   7345 static inline __ATTRS_o_ai vector signed int
   7346 vec_srl(vector signed int __a, vector unsigned short __b) {
   7347   return (vector signed int)__builtin_s390_vsrl(
   7348     (vector unsigned char)__a, (vector unsigned char)__b);
   7349 }
   7350 
   7351 // This prototype is deprecated.
   7352 static inline __ATTRS_o_ai vector signed int
   7353 vec_srl(vector signed int __a, vector unsigned int __b) {
   7354   return (vector signed int)__builtin_s390_vsrl(
   7355     (vector unsigned char)__a, (vector unsigned char)__b);
   7356 }
   7357 
   7358 // This prototype is deprecated.
   7359 static inline __ATTRS_o_ai vector bool int
   7360 vec_srl(vector bool int __a, vector unsigned char __b) {
   7361   return (vector bool int)__builtin_s390_vsrl(
   7362     (vector unsigned char)__a, __b);
   7363 }
   7364 
   7365 // This prototype is deprecated.
   7366 static inline __ATTRS_o_ai vector bool int
   7367 vec_srl(vector bool int __a, vector unsigned short __b) {
   7368   return (vector bool int)__builtin_s390_vsrl(
   7369     (vector unsigned char)__a, (vector unsigned char)__b);
   7370 }
   7371 
   7372 // This prototype is deprecated.
   7373 static inline __ATTRS_o_ai vector bool int
   7374 vec_srl(vector bool int __a, vector unsigned int __b) {
   7375   return (vector bool int)__builtin_s390_vsrl(
   7376     (vector unsigned char)__a, (vector unsigned char)__b);
   7377 }
   7378 
   7379 static inline __ATTRS_o_ai vector unsigned int
   7380 vec_srl(vector unsigned int __a, vector unsigned char __b) {
   7381   return (vector unsigned int)__builtin_s390_vsrl(
   7382     (vector unsigned char)__a, __b);
   7383 }
   7384 
   7385 // This prototype is deprecated.
   7386 static inline __ATTRS_o_ai vector unsigned int
   7387 vec_srl(vector unsigned int __a, vector unsigned short __b) {
   7388   return (vector unsigned int)__builtin_s390_vsrl(
   7389     (vector unsigned char)__a, (vector unsigned char)__b);
   7390 }
   7391 
   7392 // This prototype is deprecated.
   7393 static inline __ATTRS_o_ai vector unsigned int
   7394 vec_srl(vector unsigned int __a, vector unsigned int __b) {
   7395   return (vector unsigned int)__builtin_s390_vsrl(
   7396     (vector unsigned char)__a, (vector unsigned char)__b);
   7397 }
   7398 
   7399 static inline __ATTRS_o_ai vector signed long long
   7400 vec_srl(vector signed long long __a, vector unsigned char __b) {
   7401   return (vector signed long long)__builtin_s390_vsrl(
   7402     (vector unsigned char)__a, __b);
   7403 }
   7404 
   7405 // This prototype is deprecated.
   7406 static inline __ATTRS_o_ai vector signed long long
   7407 vec_srl(vector signed long long __a, vector unsigned short __b) {
   7408   return (vector signed long long)__builtin_s390_vsrl(
   7409     (vector unsigned char)__a, (vector unsigned char)__b);
   7410 }
   7411 
   7412 // This prototype is deprecated.
   7413 static inline __ATTRS_o_ai vector signed long long
   7414 vec_srl(vector signed long long __a, vector unsigned int __b) {
   7415   return (vector signed long long)__builtin_s390_vsrl(
   7416     (vector unsigned char)__a, (vector unsigned char)__b);
   7417 }
   7418 
   7419 // This prototype is deprecated.
   7420 static inline __ATTRS_o_ai vector bool long long
   7421 vec_srl(vector bool long long __a, vector unsigned char __b) {
   7422   return (vector bool long long)__builtin_s390_vsrl(
   7423     (vector unsigned char)__a, __b);
   7424 }
   7425 
   7426 // This prototype is deprecated.
   7427 static inline __ATTRS_o_ai vector bool long long
   7428 vec_srl(vector bool long long __a, vector unsigned short __b) {
   7429   return (vector bool long long)__builtin_s390_vsrl(
   7430     (vector unsigned char)__a, (vector unsigned char)__b);
   7431 }
   7432 
   7433 // This prototype is deprecated.
   7434 static inline __ATTRS_o_ai vector bool long long
   7435 vec_srl(vector bool long long __a, vector unsigned int __b) {
   7436   return (vector bool long long)__builtin_s390_vsrl(
   7437     (vector unsigned char)__a, (vector unsigned char)__b);
   7438 }
   7439 
   7440 static inline __ATTRS_o_ai vector unsigned long long
   7441 vec_srl(vector unsigned long long __a, vector unsigned char __b) {
   7442   return (vector unsigned long long)__builtin_s390_vsrl(
   7443     (vector unsigned char)__a, __b);
   7444 }
   7445 
   7446 // This prototype is deprecated.
   7447 static inline __ATTRS_o_ai vector unsigned long long
   7448 vec_srl(vector unsigned long long __a, vector unsigned short __b) {
   7449   return (vector unsigned long long)__builtin_s390_vsrl(
   7450     (vector unsigned char)__a, (vector unsigned char)__b);
   7451 }
   7452 
   7453 // This prototype is deprecated.
   7454 static inline __ATTRS_o_ai vector unsigned long long
   7455 vec_srl(vector unsigned long long __a, vector unsigned int __b) {
   7456   return (vector unsigned long long)__builtin_s390_vsrl(
   7457     (vector unsigned char)__a, (vector unsigned char)__b);
   7458 }
   7459 
   7460 /*-- vec_srb ----------------------------------------------------------------*/
   7461 
   7462 static inline __ATTRS_o_ai vector signed char
   7463 vec_srb(vector signed char __a, vector signed char __b) {
   7464   return (vector signed char)__builtin_s390_vsrlb(
   7465     (vector unsigned char)__a, (vector unsigned char)__b);
   7466 }
   7467 
   7468 static inline __ATTRS_o_ai vector signed char
   7469 vec_srb(vector signed char __a, vector unsigned char __b) {
   7470   return (vector signed char)__builtin_s390_vsrlb(
   7471     (vector unsigned char)__a, __b);
   7472 }
   7473 
   7474 static inline __ATTRS_o_ai vector unsigned char
   7475 vec_srb(vector unsigned char __a, vector signed char __b) {
   7476   return __builtin_s390_vsrlb(__a, (vector unsigned char)__b);
   7477 }
   7478 
   7479 static inline __ATTRS_o_ai vector unsigned char
   7480 vec_srb(vector unsigned char __a, vector unsigned char __b) {
   7481   return __builtin_s390_vsrlb(__a, __b);
   7482 }
   7483 
   7484 static inline __ATTRS_o_ai vector signed short
   7485 vec_srb(vector signed short __a, vector signed short __b) {
   7486   return (vector signed short)__builtin_s390_vsrlb(
   7487     (vector unsigned char)__a, (vector unsigned char)__b);
   7488 }
   7489 
   7490 static inline __ATTRS_o_ai vector signed short
   7491 vec_srb(vector signed short __a, vector unsigned short __b) {
   7492   return (vector signed short)__builtin_s390_vsrlb(
   7493     (vector unsigned char)__a, (vector unsigned char)__b);
   7494 }
   7495 
   7496 static inline __ATTRS_o_ai vector unsigned short
   7497 vec_srb(vector unsigned short __a, vector signed short __b) {
   7498   return (vector unsigned short)__builtin_s390_vsrlb(
   7499     (vector unsigned char)__a, (vector unsigned char)__b);
   7500 }
   7501 
   7502 static inline __ATTRS_o_ai vector unsigned short
   7503 vec_srb(vector unsigned short __a, vector unsigned short __b) {
   7504   return (vector unsigned short)__builtin_s390_vsrlb(
   7505     (vector unsigned char)__a, (vector unsigned char)__b);
   7506 }
   7507 
   7508 static inline __ATTRS_o_ai vector signed int
   7509 vec_srb(vector signed int __a, vector signed int __b) {
   7510   return (vector signed int)__builtin_s390_vsrlb(
   7511     (vector unsigned char)__a, (vector unsigned char)__b);
   7512 }
   7513 
   7514 static inline __ATTRS_o_ai vector signed int
   7515 vec_srb(vector signed int __a, vector unsigned int __b) {
   7516   return (vector signed int)__builtin_s390_vsrlb(
   7517     (vector unsigned char)__a, (vector unsigned char)__b);
   7518 }
   7519 
   7520 static inline __ATTRS_o_ai vector unsigned int
   7521 vec_srb(vector unsigned int __a, vector signed int __b) {
   7522   return (vector unsigned int)__builtin_s390_vsrlb(
   7523     (vector unsigned char)__a, (vector unsigned char)__b);
   7524 }
   7525 
   7526 static inline __ATTRS_o_ai vector unsigned int
   7527 vec_srb(vector unsigned int __a, vector unsigned int __b) {
   7528   return (vector unsigned int)__builtin_s390_vsrlb(
   7529     (vector unsigned char)__a, (vector unsigned char)__b);
   7530 }
   7531 
   7532 static inline __ATTRS_o_ai vector signed long long
   7533 vec_srb(vector signed long long __a, vector signed long long __b) {
   7534   return (vector signed long long)__builtin_s390_vsrlb(
   7535     (vector unsigned char)__a, (vector unsigned char)__b);
   7536 }
   7537 
   7538 static inline __ATTRS_o_ai vector signed long long
   7539 vec_srb(vector signed long long __a, vector unsigned long long __b) {
   7540   return (vector signed long long)__builtin_s390_vsrlb(
   7541     (vector unsigned char)__a, (vector unsigned char)__b);
   7542 }
   7543 
   7544 static inline __ATTRS_o_ai vector unsigned long long
   7545 vec_srb(vector unsigned long long __a, vector signed long long __b) {
   7546   return (vector unsigned long long)__builtin_s390_vsrlb(
   7547     (vector unsigned char)__a, (vector unsigned char)__b);
   7548 }
   7549 
   7550 static inline __ATTRS_o_ai vector unsigned long long
   7551 vec_srb(vector unsigned long long __a, vector unsigned long long __b) {
   7552   return (vector unsigned long long)__builtin_s390_vsrlb(
   7553     (vector unsigned char)__a, (vector unsigned char)__b);
   7554 }
   7555 
   7556 #if __ARCH__ >= 12
   7557 static inline __ATTRS_o_ai vector float
   7558 vec_srb(vector float __a, vector signed int __b) {
   7559   return (vector float)__builtin_s390_vsrlb(
   7560     (vector unsigned char)__a, (vector unsigned char)__b);
   7561 }
   7562 
   7563 static inline __ATTRS_o_ai vector float
   7564 vec_srb(vector float __a, vector unsigned int __b) {
   7565   return (vector float)__builtin_s390_vsrlb(
   7566     (vector unsigned char)__a, (vector unsigned char)__b);
   7567 }
   7568 #endif
   7569 
   7570 static inline __ATTRS_o_ai vector double
   7571 vec_srb(vector double __a, vector signed long long __b) {
   7572   return (vector double)__builtin_s390_vsrlb(
   7573     (vector unsigned char)__a, (vector unsigned char)__b);
   7574 }
   7575 
   7576 static inline __ATTRS_o_ai vector double
   7577 vec_srb(vector double __a, vector unsigned long long __b) {
   7578   return (vector double)__builtin_s390_vsrlb(
   7579     (vector unsigned char)__a, (vector unsigned char)__b);
   7580 }
   7581 
   7582 /*-- vec_abs ----------------------------------------------------------------*/
   7583 
   7584 static inline __ATTRS_o_ai vector signed char
   7585 vec_abs(vector signed char __a) {
   7586   return vec_sel(__a, -__a, vec_cmplt(__a, (vector signed char)0));
   7587 }
   7588 
   7589 static inline __ATTRS_o_ai vector signed short
   7590 vec_abs(vector signed short __a) {
   7591   return vec_sel(__a, -__a, vec_cmplt(__a, (vector signed short)0));
   7592 }
   7593 
   7594 static inline __ATTRS_o_ai vector signed int
   7595 vec_abs(vector signed int __a) {
   7596   return vec_sel(__a, -__a, vec_cmplt(__a, (vector signed int)0));
   7597 }
   7598 
   7599 static inline __ATTRS_o_ai vector signed long long
   7600 vec_abs(vector signed long long __a) {
   7601   return vec_sel(__a, -__a, vec_cmplt(__a, (vector signed long long)0));
   7602 }
   7603 
   7604 #if __ARCH__ >= 12
   7605 static inline __ATTRS_o_ai vector float
   7606 vec_abs(vector float __a) {
   7607   return __builtin_s390_vflpsb(__a);
   7608 }
   7609 #endif
   7610 
   7611 static inline __ATTRS_o_ai vector double
   7612 vec_abs(vector double __a) {
   7613   return __builtin_s390_vflpdb(__a);
   7614 }
   7615 
   7616 /*-- vec_nabs ---------------------------------------------------------------*/
   7617 
   7618 #if __ARCH__ >= 12
   7619 static inline __ATTRS_o_ai vector float
   7620 vec_nabs(vector float __a) {
   7621   return __builtin_s390_vflnsb(__a);
   7622 }
   7623 #endif
   7624 
   7625 static inline __ATTRS_o_ai vector double
   7626 vec_nabs(vector double __a) {
   7627   return __builtin_s390_vflndb(__a);
   7628 }
   7629 
   7630 /*-- vec_max ----------------------------------------------------------------*/
   7631 
   7632 static inline __ATTRS_o_ai vector signed char
   7633 vec_max(vector signed char __a, vector signed char __b) {
   7634   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   7635 }
   7636 
   7637 // This prototype is deprecated.
   7638 static inline __ATTRS_o_ai vector signed char
   7639 vec_max(vector signed char __a, vector bool char __b) {
   7640   vector signed char __bc = (vector signed char)__b;
   7641   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   7642 }
   7643 
   7644 // This prototype is deprecated.
   7645 static inline __ATTRS_o_ai vector signed char
   7646 vec_max(vector bool char __a, vector signed char __b) {
   7647   vector signed char __ac = (vector signed char)__a;
   7648   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   7649 }
   7650 
   7651 static inline __ATTRS_o_ai vector unsigned char
   7652 vec_max(vector unsigned char __a, vector unsigned char __b) {
   7653   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   7654 }
   7655 
   7656 // This prototype is deprecated.
   7657 static inline __ATTRS_o_ai vector unsigned char
   7658 vec_max(vector unsigned char __a, vector bool char __b) {
   7659   vector unsigned char __bc = (vector unsigned char)__b;
   7660   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   7661 }
   7662 
   7663 // This prototype is deprecated.
   7664 static inline __ATTRS_o_ai vector unsigned char
   7665 vec_max(vector bool char __a, vector unsigned char __b) {
   7666   vector unsigned char __ac = (vector unsigned char)__a;
   7667   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   7668 }
   7669 
   7670 static inline __ATTRS_o_ai vector signed short
   7671 vec_max(vector signed short __a, vector signed short __b) {
   7672   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   7673 }
   7674 
   7675 // This prototype is deprecated.
   7676 static inline __ATTRS_o_ai vector signed short
   7677 vec_max(vector signed short __a, vector bool short __b) {
   7678   vector signed short __bc = (vector signed short)__b;
   7679   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   7680 }
   7681 
   7682 // This prototype is deprecated.
   7683 static inline __ATTRS_o_ai vector signed short
   7684 vec_max(vector bool short __a, vector signed short __b) {
   7685   vector signed short __ac = (vector signed short)__a;
   7686   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   7687 }
   7688 
   7689 static inline __ATTRS_o_ai vector unsigned short
   7690 vec_max(vector unsigned short __a, vector unsigned short __b) {
   7691   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   7692 }
   7693 
   7694 // This prototype is deprecated.
   7695 static inline __ATTRS_o_ai vector unsigned short
   7696 vec_max(vector unsigned short __a, vector bool short __b) {
   7697   vector unsigned short __bc = (vector unsigned short)__b;
   7698   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   7699 }
   7700 
   7701 // This prototype is deprecated.
   7702 static inline __ATTRS_o_ai vector unsigned short
   7703 vec_max(vector bool short __a, vector unsigned short __b) {
   7704   vector unsigned short __ac = (vector unsigned short)__a;
   7705   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   7706 }
   7707 
   7708 static inline __ATTRS_o_ai vector signed int
   7709 vec_max(vector signed int __a, vector signed int __b) {
   7710   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   7711 }
   7712 
   7713 // This prototype is deprecated.
   7714 static inline __ATTRS_o_ai vector signed int
   7715 vec_max(vector signed int __a, vector bool int __b) {
   7716   vector signed int __bc = (vector signed int)__b;
   7717   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   7718 }
   7719 
   7720 // This prototype is deprecated.
   7721 static inline __ATTRS_o_ai vector signed int
   7722 vec_max(vector bool int __a, vector signed int __b) {
   7723   vector signed int __ac = (vector signed int)__a;
   7724   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   7725 }
   7726 
   7727 static inline __ATTRS_o_ai vector unsigned int
   7728 vec_max(vector unsigned int __a, vector unsigned int __b) {
   7729   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   7730 }
   7731 
   7732 // This prototype is deprecated.
   7733 static inline __ATTRS_o_ai vector unsigned int
   7734 vec_max(vector unsigned int __a, vector bool int __b) {
   7735   vector unsigned int __bc = (vector unsigned int)__b;
   7736   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   7737 }
   7738 
   7739 // This prototype is deprecated.
   7740 static inline __ATTRS_o_ai vector unsigned int
   7741 vec_max(vector bool int __a, vector unsigned int __b) {
   7742   vector unsigned int __ac = (vector unsigned int)__a;
   7743   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   7744 }
   7745 
   7746 static inline __ATTRS_o_ai vector signed long long
   7747 vec_max(vector signed long long __a, vector signed long long __b) {
   7748   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   7749 }
   7750 
   7751 // This prototype is deprecated.
   7752 static inline __ATTRS_o_ai vector signed long long
   7753 vec_max(vector signed long long __a, vector bool long long __b) {
   7754   vector signed long long __bc = (vector signed long long)__b;
   7755   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   7756 }
   7757 
   7758 // This prototype is deprecated.
   7759 static inline __ATTRS_o_ai vector signed long long
   7760 vec_max(vector bool long long __a, vector signed long long __b) {
   7761   vector signed long long __ac = (vector signed long long)__a;
   7762   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   7763 }
   7764 
   7765 static inline __ATTRS_o_ai vector unsigned long long
   7766 vec_max(vector unsigned long long __a, vector unsigned long long __b) {
   7767   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   7768 }
   7769 
   7770 // This prototype is deprecated.
   7771 static inline __ATTRS_o_ai vector unsigned long long
   7772 vec_max(vector unsigned long long __a, vector bool long long __b) {
   7773   vector unsigned long long __bc = (vector unsigned long long)__b;
   7774   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
   7775 }
   7776 
   7777 // This prototype is deprecated.
   7778 static inline __ATTRS_o_ai vector unsigned long long
   7779 vec_max(vector bool long long __a, vector unsigned long long __b) {
   7780   vector unsigned long long __ac = (vector unsigned long long)__a;
   7781   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
   7782 }
   7783 
   7784 #if __ARCH__ >= 12
   7785 static inline __ATTRS_o_ai vector float
   7786 vec_max(vector float __a, vector float __b) {
   7787   return __builtin_s390_vfmaxsb(__a, __b, 0);
   7788 }
   7789 #endif
   7790 
   7791 static inline __ATTRS_o_ai vector double
   7792 vec_max(vector double __a, vector double __b) {
   7793 #if __ARCH__ >= 12
   7794   return __builtin_s390_vfmaxdb(__a, __b, 0);
   7795 #else
   7796   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
   7797 #endif
   7798 }
   7799 
   7800 /*-- vec_min ----------------------------------------------------------------*/
   7801 
   7802 static inline __ATTRS_o_ai vector signed char
   7803 vec_min(vector signed char __a, vector signed char __b) {
   7804   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   7805 }
   7806 
   7807 // This prototype is deprecated.
   7808 static inline __ATTRS_o_ai vector signed char
   7809 vec_min(vector signed char __a, vector bool char __b) {
   7810   vector signed char __bc = (vector signed char)__b;
   7811   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   7812 }
   7813 
   7814 // This prototype is deprecated.
   7815 static inline __ATTRS_o_ai vector signed char
   7816 vec_min(vector bool char __a, vector signed char __b) {
   7817   vector signed char __ac = (vector signed char)__a;
   7818   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   7819 }
   7820 
   7821 static inline __ATTRS_o_ai vector unsigned char
   7822 vec_min(vector unsigned char __a, vector unsigned char __b) {
   7823   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   7824 }
   7825 
   7826 // This prototype is deprecated.
   7827 static inline __ATTRS_o_ai vector unsigned char
   7828 vec_min(vector unsigned char __a, vector bool char __b) {
   7829   vector unsigned char __bc = (vector unsigned char)__b;
   7830   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   7831 }
   7832 
   7833 // This prototype is deprecated.
   7834 static inline __ATTRS_o_ai vector unsigned char
   7835 vec_min(vector bool char __a, vector unsigned char __b) {
   7836   vector unsigned char __ac = (vector unsigned char)__a;
   7837   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   7838 }
   7839 
   7840 static inline __ATTRS_o_ai vector signed short
   7841 vec_min(vector signed short __a, vector signed short __b) {
   7842   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   7843 }
   7844 
   7845 // This prototype is deprecated.
   7846 static inline __ATTRS_o_ai vector signed short
   7847 vec_min(vector signed short __a, vector bool short __b) {
   7848   vector signed short __bc = (vector signed short)__b;
   7849   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   7850 }
   7851 
   7852 // This prototype is deprecated.
   7853 static inline __ATTRS_o_ai vector signed short
   7854 vec_min(vector bool short __a, vector signed short __b) {
   7855   vector signed short __ac = (vector signed short)__a;
   7856   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   7857 }
   7858 
   7859 static inline __ATTRS_o_ai vector unsigned short
   7860 vec_min(vector unsigned short __a, vector unsigned short __b) {
   7861   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   7862 }
   7863 
   7864 // This prototype is deprecated.
   7865 static inline __ATTRS_o_ai vector unsigned short
   7866 vec_min(vector unsigned short __a, vector bool short __b) {
   7867   vector unsigned short __bc = (vector unsigned short)__b;
   7868   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   7869 }
   7870 
   7871 // This prototype is deprecated.
   7872 static inline __ATTRS_o_ai vector unsigned short
   7873 vec_min(vector bool short __a, vector unsigned short __b) {
   7874   vector unsigned short __ac = (vector unsigned short)__a;
   7875   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   7876 }
   7877 
   7878 static inline __ATTRS_o_ai vector signed int
   7879 vec_min(vector signed int __a, vector signed int __b) {
   7880   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   7881 }
   7882 
   7883 // This prototype is deprecated.
   7884 static inline __ATTRS_o_ai vector signed int
   7885 vec_min(vector signed int __a, vector bool int __b) {
   7886   vector signed int __bc = (vector signed int)__b;
   7887   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   7888 }
   7889 
   7890 // This prototype is deprecated.
   7891 static inline __ATTRS_o_ai vector signed int
   7892 vec_min(vector bool int __a, vector signed int __b) {
   7893   vector signed int __ac = (vector signed int)__a;
   7894   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   7895 }
   7896 
   7897 static inline __ATTRS_o_ai vector unsigned int
   7898 vec_min(vector unsigned int __a, vector unsigned int __b) {
   7899   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   7900 }
   7901 
   7902 // This prototype is deprecated.
   7903 static inline __ATTRS_o_ai vector unsigned int
   7904 vec_min(vector unsigned int __a, vector bool int __b) {
   7905   vector unsigned int __bc = (vector unsigned int)__b;
   7906   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   7907 }
   7908 
   7909 // This prototype is deprecated.
   7910 static inline __ATTRS_o_ai vector unsigned int
   7911 vec_min(vector bool int __a, vector unsigned int __b) {
   7912   vector unsigned int __ac = (vector unsigned int)__a;
   7913   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   7914 }
   7915 
   7916 static inline __ATTRS_o_ai vector signed long long
   7917 vec_min(vector signed long long __a, vector signed long long __b) {
   7918   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   7919 }
   7920 
   7921 // This prototype is deprecated.
   7922 static inline __ATTRS_o_ai vector signed long long
   7923 vec_min(vector signed long long __a, vector bool long long __b) {
   7924   vector signed long long __bc = (vector signed long long)__b;
   7925   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   7926 }
   7927 
   7928 // This prototype is deprecated.
   7929 static inline __ATTRS_o_ai vector signed long long
   7930 vec_min(vector bool long long __a, vector signed long long __b) {
   7931   vector signed long long __ac = (vector signed long long)__a;
   7932   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   7933 }
   7934 
   7935 static inline __ATTRS_o_ai vector unsigned long long
   7936 vec_min(vector unsigned long long __a, vector unsigned long long __b) {
   7937   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   7938 }
   7939 
   7940 // This prototype is deprecated.
   7941 static inline __ATTRS_o_ai vector unsigned long long
   7942 vec_min(vector unsigned long long __a, vector bool long long __b) {
   7943   vector unsigned long long __bc = (vector unsigned long long)__b;
   7944   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
   7945 }
   7946 
   7947 // This prototype is deprecated.
   7948 static inline __ATTRS_o_ai vector unsigned long long
   7949 vec_min(vector bool long long __a, vector unsigned long long __b) {
   7950   vector unsigned long long __ac = (vector unsigned long long)__a;
   7951   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
   7952 }
   7953 
   7954 #if __ARCH__ >= 12
   7955 static inline __ATTRS_o_ai vector float
   7956 vec_min(vector float __a, vector float __b) {
   7957   return __builtin_s390_vfminsb(__a, __b, 0);
   7958 }
   7959 #endif
   7960 
   7961 static inline __ATTRS_o_ai vector double
   7962 vec_min(vector double __a, vector double __b) {
   7963 #if __ARCH__ >= 12
   7964   return __builtin_s390_vfmindb(__a, __b, 0);
   7965 #else
   7966   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
   7967 #endif
   7968 }
   7969 
   7970 /*-- vec_add_u128 -----------------------------------------------------------*/
   7971 
   7972 static inline __ATTRS_ai vector unsigned char
   7973 vec_add_u128(vector unsigned char __a, vector unsigned char __b) {
   7974   return __builtin_s390_vaq(__a, __b);
   7975 }
   7976 
   7977 /*-- vec_addc ---------------------------------------------------------------*/
   7978 
   7979 static inline __ATTRS_o_ai vector unsigned char
   7980 vec_addc(vector unsigned char __a, vector unsigned char __b) {
   7981   return __builtin_s390_vaccb(__a, __b);
   7982 }
   7983 
   7984 static inline __ATTRS_o_ai vector unsigned short
   7985 vec_addc(vector unsigned short __a, vector unsigned short __b) {
   7986   return __builtin_s390_vacch(__a, __b);
   7987 }
   7988 
   7989 static inline __ATTRS_o_ai vector unsigned int
   7990 vec_addc(vector unsigned int __a, vector unsigned int __b) {
   7991   return __builtin_s390_vaccf(__a, __b);
   7992 }
   7993 
   7994 static inline __ATTRS_o_ai vector unsigned long long
   7995 vec_addc(vector unsigned long long __a, vector unsigned long long __b) {
   7996   return __builtin_s390_vaccg(__a, __b);
   7997 }
   7998 
   7999 /*-- vec_addc_u128 ----------------------------------------------------------*/
   8000 
   8001 static inline __ATTRS_ai vector unsigned char
   8002 vec_addc_u128(vector unsigned char __a, vector unsigned char __b) {
   8003   return __builtin_s390_vaccq(__a, __b);
   8004 }
   8005 
   8006 /*-- vec_adde_u128 ----------------------------------------------------------*/
   8007 
   8008 static inline __ATTRS_ai vector unsigned char
   8009 vec_adde_u128(vector unsigned char __a, vector unsigned char __b,
   8010               vector unsigned char __c) {
   8011   return __builtin_s390_vacq(__a, __b, __c);
   8012 }
   8013 
   8014 /*-- vec_addec_u128 ---------------------------------------------------------*/
   8015 
   8016 static inline __ATTRS_ai vector unsigned char
   8017 vec_addec_u128(vector unsigned char __a, vector unsigned char __b,
   8018                vector unsigned char __c) {
   8019   return __builtin_s390_vacccq(__a, __b, __c);
   8020 }
   8021 
   8022 /*-- vec_avg ----------------------------------------------------------------*/
   8023 
   8024 static inline __ATTRS_o_ai vector signed char
   8025 vec_avg(vector signed char __a, vector signed char __b) {
   8026   return __builtin_s390_vavgb(__a, __b);
   8027 }
   8028 
   8029 static inline __ATTRS_o_ai vector signed short
   8030 vec_avg(vector signed short __a, vector signed short __b) {
   8031   return __builtin_s390_vavgh(__a, __b);
   8032 }
   8033 
   8034 static inline __ATTRS_o_ai vector signed int
   8035 vec_avg(vector signed int __a, vector signed int __b) {
   8036   return __builtin_s390_vavgf(__a, __b);
   8037 }
   8038 
   8039 static inline __ATTRS_o_ai vector signed long long
   8040 vec_avg(vector signed long long __a, vector signed long long __b) {
   8041   return __builtin_s390_vavgg(__a, __b);
   8042 }
   8043 
   8044 static inline __ATTRS_o_ai vector unsigned char
   8045 vec_avg(vector unsigned char __a, vector unsigned char __b) {
   8046   return __builtin_s390_vavglb(__a, __b);
   8047 }
   8048 
   8049 static inline __ATTRS_o_ai vector unsigned short
   8050 vec_avg(vector unsigned short __a, vector unsigned short __b) {
   8051   return __builtin_s390_vavglh(__a, __b);
   8052 }
   8053 
   8054 static inline __ATTRS_o_ai vector unsigned int
   8055 vec_avg(vector unsigned int __a, vector unsigned int __b) {
   8056   return __builtin_s390_vavglf(__a, __b);
   8057 }
   8058 
   8059 static inline __ATTRS_o_ai vector unsigned long long
   8060 vec_avg(vector unsigned long long __a, vector unsigned long long __b) {
   8061   return __builtin_s390_vavglg(__a, __b);
   8062 }
   8063 
   8064 /*-- vec_checksum -----------------------------------------------------------*/
   8065 
   8066 static inline __ATTRS_ai vector unsigned int
   8067 vec_checksum(vector unsigned int __a, vector unsigned int __b) {
   8068   return __builtin_s390_vcksm(__a, __b);
   8069 }
   8070 
   8071 /*-- vec_gfmsum -------------------------------------------------------------*/
   8072 
   8073 static inline __ATTRS_o_ai vector unsigned short
   8074 vec_gfmsum(vector unsigned char __a, vector unsigned char __b) {
   8075   return __builtin_s390_vgfmb(__a, __b);
   8076 }
   8077 
   8078 static inline __ATTRS_o_ai vector unsigned int
   8079 vec_gfmsum(vector unsigned short __a, vector unsigned short __b) {
   8080   return __builtin_s390_vgfmh(__a, __b);
   8081 }
   8082 
   8083 static inline __ATTRS_o_ai vector unsigned long long
   8084 vec_gfmsum(vector unsigned int __a, vector unsigned int __b) {
   8085   return __builtin_s390_vgfmf(__a, __b);
   8086 }
   8087 
   8088 /*-- vec_gfmsum_128 ---------------------------------------------------------*/
   8089 
   8090 static inline __ATTRS_o_ai vector unsigned char
   8091 vec_gfmsum_128(vector unsigned long long __a, vector unsigned long long __b) {
   8092   return __builtin_s390_vgfmg(__a, __b);
   8093 }
   8094 
   8095 /*-- vec_gfmsum_accum -------------------------------------------------------*/
   8096 
   8097 static inline __ATTRS_o_ai vector unsigned short
   8098 vec_gfmsum_accum(vector unsigned char __a, vector unsigned char __b,
   8099                  vector unsigned short __c) {
   8100   return __builtin_s390_vgfmab(__a, __b, __c);
   8101 }
   8102 
   8103 static inline __ATTRS_o_ai vector unsigned int
   8104 vec_gfmsum_accum(vector unsigned short __a, vector unsigned short __b,
   8105                  vector unsigned int __c) {
   8106   return __builtin_s390_vgfmah(__a, __b, __c);
   8107 }
   8108 
   8109 static inline __ATTRS_o_ai vector unsigned long long
   8110 vec_gfmsum_accum(vector unsigned int __a, vector unsigned int __b,
   8111                  vector unsigned long long __c) {
   8112   return __builtin_s390_vgfmaf(__a, __b, __c);
   8113 }
   8114 
   8115 /*-- vec_gfmsum_accum_128 ---------------------------------------------------*/
   8116 
   8117 static inline __ATTRS_o_ai vector unsigned char
   8118 vec_gfmsum_accum_128(vector unsigned long long __a,
   8119                      vector unsigned long long __b,
   8120                      vector unsigned char __c) {
   8121   return __builtin_s390_vgfmag(__a, __b, __c);
   8122 }
   8123 
   8124 /*-- vec_mladd --------------------------------------------------------------*/
   8125 
   8126 static inline __ATTRS_o_ai vector signed char
   8127 vec_mladd(vector signed char __a, vector signed char __b,
   8128           vector signed char __c) {
   8129   return __a * __b + __c;
   8130 }
   8131 
   8132 static inline __ATTRS_o_ai vector signed char
   8133 vec_mladd(vector unsigned char __a, vector signed char __b,
   8134           vector signed char __c) {
   8135   return (vector signed char)__a * __b + __c;
   8136 }
   8137 
   8138 static inline __ATTRS_o_ai vector signed char
   8139 vec_mladd(vector signed char __a, vector unsigned char __b,
   8140           vector unsigned char __c) {
   8141   return __a * (vector signed char)__b + (vector signed char)__c;
   8142 }
   8143 
   8144 static inline __ATTRS_o_ai vector unsigned char
   8145 vec_mladd(vector unsigned char __a, vector unsigned char __b,
   8146           vector unsigned char __c) {
   8147   return __a * __b + __c;
   8148 }
   8149 
   8150 static inline __ATTRS_o_ai vector signed short
   8151 vec_mladd(vector signed short __a, vector signed short __b,
   8152           vector signed short __c) {
   8153   return __a * __b + __c;
   8154 }
   8155 
   8156 static inline __ATTRS_o_ai vector signed short
   8157 vec_mladd(vector unsigned short __a, vector signed short __b,
   8158           vector signed short __c) {
   8159   return (vector signed short)__a * __b + __c;
   8160 }
   8161 
   8162 static inline __ATTRS_o_ai vector signed short
   8163 vec_mladd(vector signed short __a, vector unsigned short __b,
   8164           vector unsigned short __c) {
   8165   return __a * (vector signed short)__b + (vector signed short)__c;
   8166 }
   8167 
   8168 static inline __ATTRS_o_ai vector unsigned short
   8169 vec_mladd(vector unsigned short __a, vector unsigned short __b,
   8170           vector unsigned short __c) {
   8171   return __a * __b + __c;
   8172 }
   8173 
   8174 static inline __ATTRS_o_ai vector signed int
   8175 vec_mladd(vector signed int __a, vector signed int __b,
   8176           vector signed int __c) {
   8177   return __a * __b + __c;
   8178 }
   8179 
   8180 static inline __ATTRS_o_ai vector signed int
   8181 vec_mladd(vector unsigned int __a, vector signed int __b,
   8182           vector signed int __c) {
   8183   return (vector signed int)__a * __b + __c;
   8184 }
   8185 
   8186 static inline __ATTRS_o_ai vector signed int
   8187 vec_mladd(vector signed int __a, vector unsigned int __b,
   8188           vector unsigned int __c) {
   8189   return __a * (vector signed int)__b + (vector signed int)__c;
   8190 }
   8191 
   8192 static inline __ATTRS_o_ai vector unsigned int
   8193 vec_mladd(vector unsigned int __a, vector unsigned int __b,
   8194           vector unsigned int __c) {
   8195   return __a * __b + __c;
   8196 }
   8197 
   8198 /*-- vec_mhadd --------------------------------------------------------------*/
   8199 
   8200 static inline __ATTRS_o_ai vector signed char
   8201 vec_mhadd(vector signed char __a, vector signed char __b,
   8202           vector signed char __c) {
   8203   return __builtin_s390_vmahb(__a, __b, __c);
   8204 }
   8205 
   8206 static inline __ATTRS_o_ai vector unsigned char
   8207 vec_mhadd(vector unsigned char __a, vector unsigned char __b,
   8208           vector unsigned char __c) {
   8209   return __builtin_s390_vmalhb(__a, __b, __c);
   8210 }
   8211 
   8212 static inline __ATTRS_o_ai vector signed short
   8213 vec_mhadd(vector signed short __a, vector signed short __b,
   8214           vector signed short __c) {
   8215   return __builtin_s390_vmahh(__a, __b, __c);
   8216 }
   8217 
   8218 static inline __ATTRS_o_ai vector unsigned short
   8219 vec_mhadd(vector unsigned short __a, vector unsigned short __b,
   8220           vector unsigned short __c) {
   8221   return __builtin_s390_vmalhh(__a, __b, __c);
   8222 }
   8223 
   8224 static inline __ATTRS_o_ai vector signed int
   8225 vec_mhadd(vector signed int __a, vector signed int __b,
   8226           vector signed int __c) {
   8227   return __builtin_s390_vmahf(__a, __b, __c);
   8228 }
   8229 
   8230 static inline __ATTRS_o_ai vector unsigned int
   8231 vec_mhadd(vector unsigned int __a, vector unsigned int __b,
   8232           vector unsigned int __c) {
   8233   return __builtin_s390_vmalhf(__a, __b, __c);
   8234 }
   8235 
   8236 /*-- vec_meadd --------------------------------------------------------------*/
   8237 
   8238 static inline __ATTRS_o_ai vector signed short
   8239 vec_meadd(vector signed char __a, vector signed char __b,
   8240           vector signed short __c) {
   8241   return __builtin_s390_vmaeb(__a, __b, __c);
   8242 }
   8243 
   8244 static inline __ATTRS_o_ai vector unsigned short
   8245 vec_meadd(vector unsigned char __a, vector unsigned char __b,
   8246           vector unsigned short __c) {
   8247   return __builtin_s390_vmaleb(__a, __b, __c);
   8248 }
   8249 
   8250 static inline __ATTRS_o_ai vector signed int
   8251 vec_meadd(vector signed short __a, vector signed short __b,
   8252           vector signed int __c) {
   8253   return __builtin_s390_vmaeh(__a, __b, __c);
   8254 }
   8255 
   8256 static inline __ATTRS_o_ai vector unsigned int
   8257 vec_meadd(vector unsigned short __a, vector unsigned short __b,
   8258           vector unsigned int __c) {
   8259   return __builtin_s390_vmaleh(__a, __b, __c);
   8260 }
   8261 
   8262 static inline __ATTRS_o_ai vector signed long long
   8263 vec_meadd(vector signed int __a, vector signed int __b,
   8264           vector signed long long __c) {
   8265   return __builtin_s390_vmaef(__a, __b, __c);
   8266 }
   8267 
   8268 static inline __ATTRS_o_ai vector unsigned long long
   8269 vec_meadd(vector unsigned int __a, vector unsigned int __b,
   8270           vector unsigned long long __c) {
   8271   return __builtin_s390_vmalef(__a, __b, __c);
   8272 }
   8273 
   8274 /*-- vec_moadd --------------------------------------------------------------*/
   8275 
   8276 static inline __ATTRS_o_ai vector signed short
   8277 vec_moadd(vector signed char __a, vector signed char __b,
   8278           vector signed short __c) {
   8279   return __builtin_s390_vmaob(__a, __b, __c);
   8280 }
   8281 
   8282 static inline __ATTRS_o_ai vector unsigned short
   8283 vec_moadd(vector unsigned char __a, vector unsigned char __b,
   8284           vector unsigned short __c) {
   8285   return __builtin_s390_vmalob(__a, __b, __c);
   8286 }
   8287 
   8288 static inline __ATTRS_o_ai vector signed int
   8289 vec_moadd(vector signed short __a, vector signed short __b,
   8290           vector signed int __c) {
   8291   return __builtin_s390_vmaoh(__a, __b, __c);
   8292 }
   8293 
   8294 static inline __ATTRS_o_ai vector unsigned int
   8295 vec_moadd(vector unsigned short __a, vector unsigned short __b,
   8296           vector unsigned int __c) {
   8297   return __builtin_s390_vmaloh(__a, __b, __c);
   8298 }
   8299 
   8300 static inline __ATTRS_o_ai vector signed long long
   8301 vec_moadd(vector signed int __a, vector signed int __b,
   8302           vector signed long long __c) {
   8303   return __builtin_s390_vmaof(__a, __b, __c);
   8304 }
   8305 
   8306 static inline __ATTRS_o_ai vector unsigned long long
   8307 vec_moadd(vector unsigned int __a, vector unsigned int __b,
   8308           vector unsigned long long __c) {
   8309   return __builtin_s390_vmalof(__a, __b, __c);
   8310 }
   8311 
   8312 /*-- vec_mulh ---------------------------------------------------------------*/
   8313 
   8314 static inline __ATTRS_o_ai vector signed char
   8315 vec_mulh(vector signed char __a, vector signed char __b) {
   8316   return __builtin_s390_vmhb(__a, __b);
   8317 }
   8318 
   8319 static inline __ATTRS_o_ai vector unsigned char
   8320 vec_mulh(vector unsigned char __a, vector unsigned char __b) {
   8321   return __builtin_s390_vmlhb(__a, __b);
   8322 }
   8323 
   8324 static inline __ATTRS_o_ai vector signed short
   8325 vec_mulh(vector signed short __a, vector signed short __b) {
   8326   return __builtin_s390_vmhh(__a, __b);
   8327 }
   8328 
   8329 static inline __ATTRS_o_ai vector unsigned short
   8330 vec_mulh(vector unsigned short __a, vector unsigned short __b) {
   8331   return __builtin_s390_vmlhh(__a, __b);
   8332 }
   8333 
   8334 static inline __ATTRS_o_ai vector signed int
   8335 vec_mulh(vector signed int __a, vector signed int __b) {
   8336   return __builtin_s390_vmhf(__a, __b);
   8337 }
   8338 
   8339 static inline __ATTRS_o_ai vector unsigned int
   8340 vec_mulh(vector unsigned int __a, vector unsigned int __b) {
   8341   return __builtin_s390_vmlhf(__a, __b);
   8342 }
   8343 
   8344 /*-- vec_mule ---------------------------------------------------------------*/
   8345 
   8346 static inline __ATTRS_o_ai vector signed short
   8347 vec_mule(vector signed char __a, vector signed char __b) {
   8348   return __builtin_s390_vmeb(__a, __b);
   8349 }
   8350 
   8351 static inline __ATTRS_o_ai vector unsigned short
   8352 vec_mule(vector unsigned char __a, vector unsigned char __b) {
   8353   return __builtin_s390_vmleb(__a, __b);
   8354 }
   8355 
   8356 static inline __ATTRS_o_ai vector signed int
   8357 vec_mule(vector signed short __a, vector signed short __b) {
   8358   return __builtin_s390_vmeh(__a, __b);
   8359 }
   8360 
   8361 static inline __ATTRS_o_ai vector unsigned int
   8362 vec_mule(vector unsigned short __a, vector unsigned short __b) {
   8363   return __builtin_s390_vmleh(__a, __b);
   8364 }
   8365 
   8366 static inline __ATTRS_o_ai vector signed long long
   8367 vec_mule(vector signed int __a, vector signed int __b) {
   8368   return __builtin_s390_vmef(__a, __b);
   8369 }
   8370 
   8371 static inline __ATTRS_o_ai vector unsigned long long
   8372 vec_mule(vector unsigned int __a, vector unsigned int __b) {
   8373   return __builtin_s390_vmlef(__a, __b);
   8374 }
   8375 
   8376 /*-- vec_mulo ---------------------------------------------------------------*/
   8377 
   8378 static inline __ATTRS_o_ai vector signed short
   8379 vec_mulo(vector signed char __a, vector signed char __b) {
   8380   return __builtin_s390_vmob(__a, __b);
   8381 }
   8382 
   8383 static inline __ATTRS_o_ai vector unsigned short
   8384 vec_mulo(vector unsigned char __a, vector unsigned char __b) {
   8385   return __builtin_s390_vmlob(__a, __b);
   8386 }
   8387 
   8388 static inline __ATTRS_o_ai vector signed int
   8389 vec_mulo(vector signed short __a, vector signed short __b) {
   8390   return __builtin_s390_vmoh(__a, __b);
   8391 }
   8392 
   8393 static inline __ATTRS_o_ai vector unsigned int
   8394 vec_mulo(vector unsigned short __a, vector unsigned short __b) {
   8395   return __builtin_s390_vmloh(__a, __b);
   8396 }
   8397 
   8398 static inline __ATTRS_o_ai vector signed long long
   8399 vec_mulo(vector signed int __a, vector signed int __b) {
   8400   return __builtin_s390_vmof(__a, __b);
   8401 }
   8402 
   8403 static inline __ATTRS_o_ai vector unsigned long long
   8404 vec_mulo(vector unsigned int __a, vector unsigned int __b) {
   8405   return __builtin_s390_vmlof(__a, __b);
   8406 }
   8407 
   8408 /*-- vec_msum_u128 ----------------------------------------------------------*/
   8409 
   8410 #if __ARCH__ >= 12
   8411 #define vec_msum_u128(X, Y, Z, W) \
   8412   ((vector unsigned char)__builtin_s390_vmslg((X), (Y), (Z), (W)));
   8413 #endif
   8414 
   8415 /*-- vec_sub_u128 -----------------------------------------------------------*/
   8416 
   8417 static inline __ATTRS_ai vector unsigned char
   8418 vec_sub_u128(vector unsigned char __a, vector unsigned char __b) {
   8419   return __builtin_s390_vsq(__a, __b);
   8420 }
   8421 
   8422 /*-- vec_subc ---------------------------------------------------------------*/
   8423 
   8424 static inline __ATTRS_o_ai vector unsigned char
   8425 vec_subc(vector unsigned char __a, vector unsigned char __b) {
   8426   return __builtin_s390_vscbib(__a, __b);
   8427 }
   8428 
   8429 static inline __ATTRS_o_ai vector unsigned short
   8430 vec_subc(vector unsigned short __a, vector unsigned short __b) {
   8431   return __builtin_s390_vscbih(__a, __b);
   8432 }
   8433 
   8434 static inline __ATTRS_o_ai vector unsigned int
   8435 vec_subc(vector unsigned int __a, vector unsigned int __b) {
   8436   return __builtin_s390_vscbif(__a, __b);
   8437 }
   8438 
   8439 static inline __ATTRS_o_ai vector unsigned long long
   8440 vec_subc(vector unsigned long long __a, vector unsigned long long __b) {
   8441   return __builtin_s390_vscbig(__a, __b);
   8442 }
   8443 
   8444 /*-- vec_subc_u128 ----------------------------------------------------------*/
   8445 
   8446 static inline __ATTRS_ai vector unsigned char
   8447 vec_subc_u128(vector unsigned char __a, vector unsigned char __b) {
   8448   return __builtin_s390_vscbiq(__a, __b);
   8449 }
   8450 
   8451 /*-- vec_sube_u128 ----------------------------------------------------------*/
   8452 
   8453 static inline __ATTRS_ai vector unsigned char
   8454 vec_sube_u128(vector unsigned char __a, vector unsigned char __b,
   8455               vector unsigned char __c) {
   8456   return __builtin_s390_vsbiq(__a, __b, __c);
   8457 }
   8458 
   8459 /*-- vec_subec_u128 ---------------------------------------------------------*/
   8460 
   8461 static inline __ATTRS_ai vector unsigned char
   8462 vec_subec_u128(vector unsigned char __a, vector unsigned char __b,
   8463                vector unsigned char __c) {
   8464   return __builtin_s390_vsbcbiq(__a, __b, __c);
   8465 }
   8466 
   8467 /*-- vec_sum2 ---------------------------------------------------------------*/
   8468 
   8469 static inline __ATTRS_o_ai vector unsigned long long
   8470 vec_sum2(vector unsigned short __a, vector unsigned short __b) {
   8471   return __builtin_s390_vsumgh(__a, __b);
   8472 }
   8473 
   8474 static inline __ATTRS_o_ai vector unsigned long long
   8475 vec_sum2(vector unsigned int __a, vector unsigned int __b) {
   8476   return __builtin_s390_vsumgf(__a, __b);
   8477 }
   8478 
   8479 /*-- vec_sum_u128 -----------------------------------------------------------*/
   8480 
   8481 static inline __ATTRS_o_ai vector unsigned char
   8482 vec_sum_u128(vector unsigned int __a, vector unsigned int __b) {
   8483   return __builtin_s390_vsumqf(__a, __b);
   8484 }
   8485 
   8486 static inline __ATTRS_o_ai vector unsigned char
   8487 vec_sum_u128(vector unsigned long long __a, vector unsigned long long __b) {
   8488   return __builtin_s390_vsumqg(__a, __b);
   8489 }
   8490 
   8491 /*-- vec_sum4 ---------------------------------------------------------------*/
   8492 
   8493 static inline __ATTRS_o_ai vector unsigned int
   8494 vec_sum4(vector unsigned char __a, vector unsigned char __b) {
   8495   return __builtin_s390_vsumb(__a, __b);
   8496 }
   8497 
   8498 static inline __ATTRS_o_ai vector unsigned int
   8499 vec_sum4(vector unsigned short __a, vector unsigned short __b) {
   8500   return __builtin_s390_vsumh(__a, __b);
   8501 }
   8502 
   8503 /*-- vec_test_mask ----------------------------------------------------------*/
   8504 
   8505 static inline __ATTRS_o_ai int
   8506 vec_test_mask(vector signed char __a, vector unsigned char __b) {
   8507   return __builtin_s390_vtm((vector unsigned char)__a,
   8508                             (vector unsigned char)__b);
   8509 }
   8510 
   8511 static inline __ATTRS_o_ai int
   8512 vec_test_mask(vector unsigned char __a, vector unsigned char __b) {
   8513   return __builtin_s390_vtm(__a, __b);
   8514 }
   8515 
   8516 static inline __ATTRS_o_ai int
   8517 vec_test_mask(vector signed short __a, vector unsigned short __b) {
   8518   return __builtin_s390_vtm((vector unsigned char)__a,
   8519                             (vector unsigned char)__b);
   8520 }
   8521 
   8522 static inline __ATTRS_o_ai int
   8523 vec_test_mask(vector unsigned short __a, vector unsigned short __b) {
   8524   return __builtin_s390_vtm((vector unsigned char)__a,
   8525                             (vector unsigned char)__b);
   8526 }
   8527 
   8528 static inline __ATTRS_o_ai int
   8529 vec_test_mask(vector signed int __a, vector unsigned int __b) {
   8530   return __builtin_s390_vtm((vector unsigned char)__a,
   8531                             (vector unsigned char)__b);
   8532 }
   8533 
   8534 static inline __ATTRS_o_ai int
   8535 vec_test_mask(vector unsigned int __a, vector unsigned int __b) {
   8536   return __builtin_s390_vtm((vector unsigned char)__a,
   8537                             (vector unsigned char)__b);
   8538 }
   8539 
   8540 static inline __ATTRS_o_ai int
   8541 vec_test_mask(vector signed long long __a, vector unsigned long long __b) {
   8542   return __builtin_s390_vtm((vector unsigned char)__a,
   8543                             (vector unsigned char)__b);
   8544 }
   8545 
   8546 static inline __ATTRS_o_ai int
   8547 vec_test_mask(vector unsigned long long __a, vector unsigned long long __b) {
   8548   return __builtin_s390_vtm((vector unsigned char)__a,
   8549                             (vector unsigned char)__b);
   8550 }
   8551 
   8552 #if __ARCH__ >= 12
   8553 static inline __ATTRS_o_ai int
   8554 vec_test_mask(vector float __a, vector unsigned int __b) {
   8555   return __builtin_s390_vtm((vector unsigned char)__a,
   8556                             (vector unsigned char)__b);
   8557 }
   8558 #endif
   8559 
   8560 static inline __ATTRS_o_ai int
   8561 vec_test_mask(vector double __a, vector unsigned long long __b) {
   8562   return __builtin_s390_vtm((vector unsigned char)__a,
   8563                             (vector unsigned char)__b);
   8564 }
   8565 
   8566 /*-- vec_madd ---------------------------------------------------------------*/
   8567 
   8568 #if __ARCH__ >= 12
   8569 static inline __ATTRS_o_ai vector float
   8570 vec_madd(vector float __a, vector float __b, vector float __c) {
   8571   return __builtin_s390_vfmasb(__a, __b, __c);
   8572 }
   8573 #endif
   8574 
   8575 static inline __ATTRS_o_ai vector double
   8576 vec_madd(vector double __a, vector double __b, vector double __c) {
   8577   return __builtin_s390_vfmadb(__a, __b, __c);
   8578 }
   8579 
   8580 /*-- vec_msub ---------------------------------------------------------------*/
   8581 
   8582 #if __ARCH__ >= 12
   8583 static inline __ATTRS_o_ai vector float
   8584 vec_msub(vector float __a, vector float __b, vector float __c) {
   8585   return __builtin_s390_vfmssb(__a, __b, __c);
   8586 }
   8587 #endif
   8588 
   8589 static inline __ATTRS_o_ai vector double
   8590 vec_msub(vector double __a, vector double __b, vector double __c) {
   8591   return __builtin_s390_vfmsdb(__a, __b, __c);
   8592 }
   8593 
   8594 /*-- vec_nmadd ---------------------------------------------------------------*/
   8595 
   8596 #if __ARCH__ >= 12
   8597 static inline __ATTRS_o_ai vector float
   8598 vec_nmadd(vector float __a, vector float __b, vector float __c) {
   8599   return __builtin_s390_vfnmasb(__a, __b, __c);
   8600 }
   8601 
   8602 static inline __ATTRS_o_ai vector double
   8603 vec_nmadd(vector double __a, vector double __b, vector double __c) {
   8604   return __builtin_s390_vfnmadb(__a, __b, __c);
   8605 }
   8606 #endif
   8607 
   8608 /*-- vec_nmsub ---------------------------------------------------------------*/
   8609 
   8610 #if __ARCH__ >= 12
   8611 static inline __ATTRS_o_ai vector float
   8612 vec_nmsub(vector float __a, vector float __b, vector float __c) {
   8613   return __builtin_s390_vfnmssb(__a, __b, __c);
   8614 }
   8615 
   8616 static inline __ATTRS_o_ai vector double
   8617 vec_nmsub(vector double __a, vector double __b, vector double __c) {
   8618   return __builtin_s390_vfnmsdb(__a, __b, __c);
   8619 }
   8620 #endif
   8621 
   8622 /*-- vec_sqrt ---------------------------------------------------------------*/
   8623 
   8624 #if __ARCH__ >= 12
   8625 static inline __ATTRS_o_ai vector float
   8626 vec_sqrt(vector float __a) {
   8627   return __builtin_s390_vfsqsb(__a);
   8628 }
   8629 #endif
   8630 
   8631 static inline __ATTRS_o_ai vector double
   8632 vec_sqrt(vector double __a) {
   8633   return __builtin_s390_vfsqdb(__a);
   8634 }
   8635 
   8636 /*-- vec_ld2f ---------------------------------------------------------------*/
   8637 
   8638 // This prototype is deprecated.
   8639 static inline __ATTRS_ai vector double
   8640 vec_ld2f(const float *__ptr) {
   8641   typedef float __v2f32 __attribute__((__vector_size__(8)));
   8642   return __builtin_convertvector(*(const __v2f32 *)__ptr, vector double);
   8643 }
   8644 
   8645 /*-- vec_st2f ---------------------------------------------------------------*/
   8646 
   8647 // This prototype is deprecated.
   8648 static inline __ATTRS_ai void
   8649 vec_st2f(vector double __a, float *__ptr) {
   8650   typedef float __v2f32 __attribute__((__vector_size__(8)));
   8651   *(__v2f32 *)__ptr = __builtin_convertvector(__a, __v2f32);
   8652 }
   8653 
   8654 /*-- vec_ctd ----------------------------------------------------------------*/
   8655 
   8656 // This prototype is deprecated.
   8657 static inline __ATTRS_o_ai vector double
   8658 vec_ctd(vector signed long long __a, int __b)
   8659   __constant_range(__b, 0, 31) {
   8660   vector double __conv = __builtin_convertvector(__a, vector double);
   8661   __conv *= (vector double)(vector unsigned long long)((0x3ffULL - __b) << 52);
   8662   return __conv;
   8663 }
   8664 
   8665 // This prototype is deprecated.
   8666 static inline __ATTRS_o_ai vector double
   8667 vec_ctd(vector unsigned long long __a, int __b)
   8668   __constant_range(__b, 0, 31) {
   8669   vector double __conv = __builtin_convertvector(__a, vector double);
   8670   __conv *= (vector double)(vector unsigned long long)((0x3ffULL - __b) << 52);
   8671   return __conv;
   8672 }
   8673 
   8674 /*-- vec_ctsl ---------------------------------------------------------------*/
   8675 
   8676 // This prototype is deprecated.
   8677 static inline __ATTRS_o_ai vector signed long long
   8678 vec_ctsl(vector double __a, int __b)
   8679   __constant_range(__b, 0, 31) {
   8680   __a *= (vector double)(vector unsigned long long)((0x3ffULL + __b) << 52);
   8681   return __builtin_convertvector(__a, vector signed long long);
   8682 }
   8683 
   8684 /*-- vec_ctul ---------------------------------------------------------------*/
   8685 
   8686 // This prototype is deprecated.
   8687 static inline __ATTRS_o_ai vector unsigned long long
   8688 vec_ctul(vector double __a, int __b)
   8689   __constant_range(__b, 0, 31) {
   8690   __a *= (vector double)(vector unsigned long long)((0x3ffULL + __b) << 52);
   8691   return __builtin_convertvector(__a, vector unsigned long long);
   8692 }
   8693 
   8694 /*-- vec_doublee ------------------------------------------------------------*/
   8695 
   8696 #if __ARCH__ >= 12
   8697 static inline __ATTRS_ai vector double
   8698 vec_doublee(vector float __a) {
   8699   typedef float __v2f32 __attribute__((__vector_size__(8)));
   8700   __v2f32 __pack = __builtin_shufflevector(__a, __a, 0, 2);
   8701   return __builtin_convertvector(__pack, vector double);
   8702 }
   8703 #endif
   8704 
   8705 /*-- vec_floate -------------------------------------------------------------*/
   8706 
   8707 #if __ARCH__ >= 12
   8708 static inline __ATTRS_ai vector float
   8709 vec_floate(vector double __a) {
   8710   typedef float __v2f32 __attribute__((__vector_size__(8)));
   8711   __v2f32 __pack = __builtin_convertvector(__a, __v2f32);
   8712   return __builtin_shufflevector(__pack, __pack, 0, -1, 1, -1);
   8713 }
   8714 #endif
   8715 
   8716 /*-- vec_double -------------------------------------------------------------*/
   8717 
   8718 static inline __ATTRS_o_ai vector double
   8719 vec_double(vector signed long long __a) {
   8720   return __builtin_convertvector(__a, vector double);
   8721 }
   8722 
   8723 static inline __ATTRS_o_ai vector double
   8724 vec_double(vector unsigned long long __a) {
   8725   return __builtin_convertvector(__a, vector double);
   8726 }
   8727 
   8728 /*-- vec_signed -------------------------------------------------------------*/
   8729 
   8730 static inline __ATTRS_o_ai vector signed long long
   8731 vec_signed(vector double __a) {
   8732   return __builtin_convertvector(__a, vector signed long long);
   8733 }
   8734 
   8735 /*-- vec_unsigned -----------------------------------------------------------*/
   8736 
   8737 static inline __ATTRS_o_ai vector unsigned long long
   8738 vec_unsigned(vector double __a) {
   8739   return __builtin_convertvector(__a, vector unsigned long long);
   8740 }
   8741 
   8742 /*-- vec_roundp -------------------------------------------------------------*/
   8743 
   8744 #if __ARCH__ >= 12
   8745 static inline __ATTRS_o_ai vector float
   8746 vec_roundp(vector float __a) {
   8747   return __builtin_s390_vfisb(__a, 4, 6);
   8748 }
   8749 #endif
   8750 
   8751 static inline __ATTRS_o_ai vector double
   8752 vec_roundp(vector double __a) {
   8753   return __builtin_s390_vfidb(__a, 4, 6);
   8754 }
   8755 
   8756 /*-- vec_ceil ---------------------------------------------------------------*/
   8757 
   8758 #if __ARCH__ >= 12
   8759 static inline __ATTRS_o_ai vector float
   8760 vec_ceil(vector float __a) {
   8761   // On this platform, vec_ceil never triggers the IEEE-inexact exception.
   8762   return __builtin_s390_vfisb(__a, 4, 6);
   8763 }
   8764 #endif
   8765 
   8766 static inline __ATTRS_o_ai vector double
   8767 vec_ceil(vector double __a) {
   8768   // On this platform, vec_ceil never triggers the IEEE-inexact exception.
   8769   return __builtin_s390_vfidb(__a, 4, 6);
   8770 }
   8771 
   8772 /*-- vec_roundm -------------------------------------------------------------*/
   8773 
   8774 #if __ARCH__ >= 12
   8775 static inline __ATTRS_o_ai vector float
   8776 vec_roundm(vector float __a) {
   8777   return __builtin_s390_vfisb(__a, 4, 7);
   8778 }
   8779 #endif
   8780 
   8781 static inline __ATTRS_o_ai vector double
   8782 vec_roundm(vector double __a) {
   8783   return __builtin_s390_vfidb(__a, 4, 7);
   8784 }
   8785 
   8786 /*-- vec_floor --------------------------------------------------------------*/
   8787 
   8788 #if __ARCH__ >= 12
   8789 static inline __ATTRS_o_ai vector float
   8790 vec_floor(vector float __a) {
   8791   // On this platform, vec_floor never triggers the IEEE-inexact exception.
   8792   return __builtin_s390_vfisb(__a, 4, 7);
   8793 }
   8794 #endif
   8795 
   8796 static inline __ATTRS_o_ai vector double
   8797 vec_floor(vector double __a) {
   8798   // On this platform, vec_floor never triggers the IEEE-inexact exception.
   8799   return __builtin_s390_vfidb(__a, 4, 7);
   8800 }
   8801 
   8802 /*-- vec_roundz -------------------------------------------------------------*/
   8803 
   8804 #if __ARCH__ >= 12
   8805 static inline __ATTRS_o_ai vector float
   8806 vec_roundz(vector float __a) {
   8807   return __builtin_s390_vfisb(__a, 4, 5);
   8808 }
   8809 #endif
   8810 
   8811 static inline __ATTRS_o_ai vector double
   8812 vec_roundz(vector double __a) {
   8813   return __builtin_s390_vfidb(__a, 4, 5);
   8814 }
   8815 
   8816 /*-- vec_trunc --------------------------------------------------------------*/
   8817 
   8818 #if __ARCH__ >= 12
   8819 static inline __ATTRS_o_ai vector float
   8820 vec_trunc(vector float __a) {
   8821   // On this platform, vec_trunc never triggers the IEEE-inexact exception.
   8822   return __builtin_s390_vfisb(__a, 4, 5);
   8823 }
   8824 #endif
   8825 
   8826 static inline __ATTRS_o_ai vector double
   8827 vec_trunc(vector double __a) {
   8828   // On this platform, vec_trunc never triggers the IEEE-inexact exception.
   8829   return __builtin_s390_vfidb(__a, 4, 5);
   8830 }
   8831 
   8832 /*-- vec_roundc -------------------------------------------------------------*/
   8833 
   8834 #if __ARCH__ >= 12
   8835 static inline __ATTRS_o_ai vector float
   8836 vec_roundc(vector float __a) {
   8837   return __builtin_s390_vfisb(__a, 4, 0);
   8838 }
   8839 #endif
   8840 
   8841 static inline __ATTRS_o_ai vector double
   8842 vec_roundc(vector double __a) {
   8843   return __builtin_s390_vfidb(__a, 4, 0);
   8844 }
   8845 
   8846 /*-- vec_rint ---------------------------------------------------------------*/
   8847 
   8848 #if __ARCH__ >= 12
   8849 static inline __ATTRS_o_ai vector float
   8850 vec_rint(vector float __a) {
   8851   // vec_rint may trigger the IEEE-inexact exception.
   8852   return __builtin_s390_vfisb(__a, 0, 0);
   8853 }
   8854 #endif
   8855 
   8856 static inline __ATTRS_o_ai vector double
   8857 vec_rint(vector double __a) {
   8858   // vec_rint may trigger the IEEE-inexact exception.
   8859   return __builtin_s390_vfidb(__a, 0, 0);
   8860 }
   8861 
   8862 /*-- vec_round --------------------------------------------------------------*/
   8863 
   8864 #if __ARCH__ >= 12
   8865 static inline __ATTRS_o_ai vector float
   8866 vec_round(vector float __a) {
   8867   return __builtin_s390_vfisb(__a, 4, 4);
   8868 }
   8869 #endif
   8870 
   8871 static inline __ATTRS_o_ai vector double
   8872 vec_round(vector double __a) {
   8873   return __builtin_s390_vfidb(__a, 4, 4);
   8874 }
   8875 
   8876 /*-- vec_fp_test_data_class -------------------------------------------------*/
   8877 
   8878 #if __ARCH__ >= 12
   8879 extern __ATTRS_o vector bool int
   8880 vec_fp_test_data_class(vector float __a, int __b, int *__c)
   8881   __constant_range(__b, 0, 4095);
   8882 
   8883 extern __ATTRS_o vector bool long long
   8884 vec_fp_test_data_class(vector double __a, int __b, int *__c)
   8885   __constant_range(__b, 0, 4095);
   8886 
   8887 #define vec_fp_test_data_class(X, Y, Z) \
   8888   ((__typeof__((vec_fp_test_data_class)((X), (Y), (Z)))) \
   8889    __extension__ ({ \
   8890      vector unsigned char __res; \
   8891      vector unsigned char __x = (vector unsigned char)(X); \
   8892      int *__z = (Z); \
   8893      switch (sizeof ((X)[0])) { \
   8894      case 4:  __res = (vector unsigned char) \
   8895                       __builtin_s390_vftcisb((vector float)__x, (Y), __z); \
   8896               break; \
   8897      default: __res = (vector unsigned char) \
   8898                       __builtin_s390_vftcidb((vector double)__x, (Y), __z); \
   8899               break; \
   8900      } __res; }))
   8901 #else
   8902 #define vec_fp_test_data_class(X, Y, Z) \
   8903   ((vector bool long long)__builtin_s390_vftcidb((X), (Y), (Z)))
   8904 #endif
   8905 
   8906 #define __VEC_CLASS_FP_ZERO_P (1 << 11)
   8907 #define __VEC_CLASS_FP_ZERO_N (1 << 10)
   8908 #define __VEC_CLASS_FP_ZERO (__VEC_CLASS_FP_ZERO_P | __VEC_CLASS_FP_ZERO_N)
   8909 #define __VEC_CLASS_FP_NORMAL_P (1 << 9)
   8910 #define __VEC_CLASS_FP_NORMAL_N (1 << 8)
   8911 #define __VEC_CLASS_FP_NORMAL (__VEC_CLASS_FP_NORMAL_P | \
   8912                                __VEC_CLASS_FP_NORMAL_N)
   8913 #define __VEC_CLASS_FP_SUBNORMAL_P (1 << 7)
   8914 #define __VEC_CLASS_FP_SUBNORMAL_N (1 << 6)
   8915 #define __VEC_CLASS_FP_SUBNORMAL (__VEC_CLASS_FP_SUBNORMAL_P | \
   8916                                   __VEC_CLASS_FP_SUBNORMAL_N)
   8917 #define __VEC_CLASS_FP_INFINITY_P (1 << 5)
   8918 #define __VEC_CLASS_FP_INFINITY_N (1 << 4)
   8919 #define __VEC_CLASS_FP_INFINITY (__VEC_CLASS_FP_INFINITY_P | \
   8920                                  __VEC_CLASS_FP_INFINITY_N)
   8921 #define __VEC_CLASS_FP_QNAN_P (1 << 3)
   8922 #define __VEC_CLASS_FP_QNAN_N (1 << 2)
   8923 #define __VEC_CLASS_FP_QNAN (__VEC_CLASS_FP_QNAN_P | __VEC_CLASS_FP_QNAN_N)
   8924 #define __VEC_CLASS_FP_SNAN_P (1 << 1)
   8925 #define __VEC_CLASS_FP_SNAN_N (1 << 0)
   8926 #define __VEC_CLASS_FP_SNAN (__VEC_CLASS_FP_SNAN_P | __VEC_CLASS_FP_SNAN_N)
   8927 #define __VEC_CLASS_FP_NAN (__VEC_CLASS_FP_QNAN | __VEC_CLASS_FP_SNAN)
   8928 #define __VEC_CLASS_FP_NOT_NORMAL (__VEC_CLASS_FP_NAN | \
   8929                                    __VEC_CLASS_FP_SUBNORMAL | \
   8930                                    __VEC_CLASS_FP_ZERO | \
   8931                                    __VEC_CLASS_FP_INFINITY)
   8932 
   8933 /*-- vec_cp_until_zero ------------------------------------------------------*/
   8934 
   8935 static inline __ATTRS_o_ai vector signed char
   8936 vec_cp_until_zero(vector signed char __a) {
   8937   return (vector signed char)__builtin_s390_vistrb((vector unsigned char)__a);
   8938 }
   8939 
   8940 static inline __ATTRS_o_ai vector bool char
   8941 vec_cp_until_zero(vector bool char __a) {
   8942   return (vector bool char)__builtin_s390_vistrb((vector unsigned char)__a);
   8943 }
   8944 
   8945 static inline __ATTRS_o_ai vector unsigned char
   8946 vec_cp_until_zero(vector unsigned char __a) {
   8947   return __builtin_s390_vistrb(__a);
   8948 }
   8949 
   8950 static inline __ATTRS_o_ai vector signed short
   8951 vec_cp_until_zero(vector signed short __a) {
   8952   return (vector signed short)__builtin_s390_vistrh((vector unsigned short)__a);
   8953 }
   8954 
   8955 static inline __ATTRS_o_ai vector bool short
   8956 vec_cp_until_zero(vector bool short __a) {
   8957   return (vector bool short)__builtin_s390_vistrh((vector unsigned short)__a);
   8958 }
   8959 
   8960 static inline __ATTRS_o_ai vector unsigned short
   8961 vec_cp_until_zero(vector unsigned short __a) {
   8962   return __builtin_s390_vistrh(__a);
   8963 }
   8964 
   8965 static inline __ATTRS_o_ai vector signed int
   8966 vec_cp_until_zero(vector signed int __a) {
   8967   return (vector signed int)__builtin_s390_vistrf((vector unsigned int)__a);
   8968 }
   8969 
   8970 static inline __ATTRS_o_ai vector bool int
   8971 vec_cp_until_zero(vector bool int __a) {
   8972   return (vector bool int)__builtin_s390_vistrf((vector unsigned int)__a);
   8973 }
   8974 
   8975 static inline __ATTRS_o_ai vector unsigned int
   8976 vec_cp_until_zero(vector unsigned int __a) {
   8977   return __builtin_s390_vistrf(__a);
   8978 }
   8979 
   8980 /*-- vec_cp_until_zero_cc ---------------------------------------------------*/
   8981 
   8982 static inline __ATTRS_o_ai vector signed char
   8983 vec_cp_until_zero_cc(vector signed char __a, int *__cc) {
   8984   return (vector signed char)
   8985     __builtin_s390_vistrbs((vector unsigned char)__a, __cc);
   8986 }
   8987 
   8988 static inline __ATTRS_o_ai vector bool char
   8989 vec_cp_until_zero_cc(vector bool char __a, int *__cc) {
   8990   return (vector bool char)
   8991     __builtin_s390_vistrbs((vector unsigned char)__a, __cc);
   8992 }
   8993 
   8994 static inline __ATTRS_o_ai vector unsigned char
   8995 vec_cp_until_zero_cc(vector unsigned char __a, int *__cc) {
   8996   return __builtin_s390_vistrbs(__a, __cc);
   8997 }
   8998 
   8999 static inline __ATTRS_o_ai vector signed short
   9000 vec_cp_until_zero_cc(vector signed short __a, int *__cc) {
   9001   return (vector signed short)
   9002     __builtin_s390_vistrhs((vector unsigned short)__a, __cc);
   9003 }
   9004 
   9005 static inline __ATTRS_o_ai vector bool short
   9006 vec_cp_until_zero_cc(vector bool short __a, int *__cc) {
   9007   return (vector bool short)
   9008     __builtin_s390_vistrhs((vector unsigned short)__a, __cc);
   9009 }
   9010 
   9011 static inline __ATTRS_o_ai vector unsigned short
   9012 vec_cp_until_zero_cc(vector unsigned short __a, int *__cc) {
   9013   return __builtin_s390_vistrhs(__a, __cc);
   9014 }
   9015 
   9016 static inline __ATTRS_o_ai vector signed int
   9017 vec_cp_until_zero_cc(vector signed int __a, int *__cc) {
   9018   return (vector signed int)
   9019     __builtin_s390_vistrfs((vector unsigned int)__a, __cc);
   9020 }
   9021 
   9022 static inline __ATTRS_o_ai vector bool int
   9023 vec_cp_until_zero_cc(vector bool int __a, int *__cc) {
   9024   return (vector bool int)__builtin_s390_vistrfs((vector unsigned int)__a,
   9025                                                  __cc);
   9026 }
   9027 
   9028 static inline __ATTRS_o_ai vector unsigned int
   9029 vec_cp_until_zero_cc(vector unsigned int __a, int *__cc) {
   9030   return __builtin_s390_vistrfs(__a, __cc);
   9031 }
   9032 
   9033 /*-- vec_cmpeq_idx ----------------------------------------------------------*/
   9034 
   9035 static inline __ATTRS_o_ai vector signed char
   9036 vec_cmpeq_idx(vector signed char __a, vector signed char __b) {
   9037   return (vector signed char)
   9038     __builtin_s390_vfeeb((vector unsigned char)__a,
   9039                          (vector unsigned char)__b);
   9040 }
   9041 
   9042 static inline __ATTRS_o_ai vector unsigned char
   9043 vec_cmpeq_idx(vector bool char __a, vector bool char __b) {
   9044   return __builtin_s390_vfeeb((vector unsigned char)__a,
   9045                               (vector unsigned char)__b);
   9046 }
   9047 
   9048 static inline __ATTRS_o_ai vector unsigned char
   9049 vec_cmpeq_idx(vector unsigned char __a, vector unsigned char __b) {
   9050   return __builtin_s390_vfeeb(__a, __b);
   9051 }
   9052 
   9053 static inline __ATTRS_o_ai vector signed short
   9054 vec_cmpeq_idx(vector signed short __a, vector signed short __b) {
   9055   return (vector signed short)
   9056     __builtin_s390_vfeeh((vector unsigned short)__a,
   9057                          (vector unsigned short)__b);
   9058 }
   9059 
   9060 static inline __ATTRS_o_ai vector unsigned short
   9061 vec_cmpeq_idx(vector bool short __a, vector bool short __b) {
   9062   return __builtin_s390_vfeeh((vector unsigned short)__a,
   9063                               (vector unsigned short)__b);
   9064 }
   9065 
   9066 static inline __ATTRS_o_ai vector unsigned short
   9067 vec_cmpeq_idx(vector unsigned short __a, vector unsigned short __b) {
   9068   return __builtin_s390_vfeeh(__a, __b);
   9069 }
   9070 
   9071 static inline __ATTRS_o_ai vector signed int
   9072 vec_cmpeq_idx(vector signed int __a, vector signed int __b) {
   9073   return (vector signed int)
   9074     __builtin_s390_vfeef((vector unsigned int)__a,
   9075                          (vector unsigned int)__b);
   9076 }
   9077 
   9078 static inline __ATTRS_o_ai vector unsigned int
   9079 vec_cmpeq_idx(vector bool int __a, vector bool int __b) {
   9080   return __builtin_s390_vfeef((vector unsigned int)__a,
   9081                               (vector unsigned int)__b);
   9082 }
   9083 
   9084 static inline __ATTRS_o_ai vector unsigned int
   9085 vec_cmpeq_idx(vector unsigned int __a, vector unsigned int __b) {
   9086   return __builtin_s390_vfeef(__a, __b);
   9087 }
   9088 
   9089 /*-- vec_cmpeq_idx_cc -------------------------------------------------------*/
   9090 
   9091 static inline __ATTRS_o_ai vector signed char
   9092 vec_cmpeq_idx_cc(vector signed char __a, vector signed char __b, int *__cc) {
   9093   return (vector signed char)
   9094     __builtin_s390_vfeebs((vector unsigned char)__a,
   9095                           (vector unsigned char)__b, __cc);
   9096 }
   9097 
   9098 static inline __ATTRS_o_ai vector unsigned char
   9099 vec_cmpeq_idx_cc(vector bool char __a, vector bool char __b, int *__cc) {
   9100   return __builtin_s390_vfeebs((vector unsigned char)__a,
   9101                                (vector unsigned char)__b, __cc);
   9102 }
   9103 
   9104 static inline __ATTRS_o_ai vector unsigned char
   9105 vec_cmpeq_idx_cc(vector unsigned char __a, vector unsigned char __b,
   9106                  int *__cc) {
   9107   return __builtin_s390_vfeebs(__a, __b, __cc);
   9108 }
   9109 
   9110 static inline __ATTRS_o_ai vector signed short
   9111 vec_cmpeq_idx_cc(vector signed short __a, vector signed short __b, int *__cc) {
   9112   return (vector signed short)
   9113     __builtin_s390_vfeehs((vector unsigned short)__a,
   9114                           (vector unsigned short)__b, __cc);
   9115 }
   9116 
   9117 static inline __ATTRS_o_ai vector unsigned short
   9118 vec_cmpeq_idx_cc(vector bool short __a, vector bool short __b, int *__cc) {
   9119   return __builtin_s390_vfeehs((vector unsigned short)__a,
   9120                                (vector unsigned short)__b, __cc);
   9121 }
   9122 
   9123 static inline __ATTRS_o_ai vector unsigned short
   9124 vec_cmpeq_idx_cc(vector unsigned short __a, vector unsigned short __b,
   9125                  int *__cc) {
   9126   return __builtin_s390_vfeehs(__a, __b, __cc);
   9127 }
   9128 
   9129 static inline __ATTRS_o_ai vector signed int
   9130 vec_cmpeq_idx_cc(vector signed int __a, vector signed int __b, int *__cc) {
   9131   return (vector signed int)
   9132     __builtin_s390_vfeefs((vector unsigned int)__a,
   9133                           (vector unsigned int)__b, __cc);
   9134 }
   9135 
   9136 static inline __ATTRS_o_ai vector unsigned int
   9137 vec_cmpeq_idx_cc(vector bool int __a, vector bool int __b, int *__cc) {
   9138   return __builtin_s390_vfeefs((vector unsigned int)__a,
   9139                                (vector unsigned int)__b, __cc);
   9140 }
   9141 
   9142 static inline __ATTRS_o_ai vector unsigned int
   9143 vec_cmpeq_idx_cc(vector unsigned int __a, vector unsigned int __b, int *__cc) {
   9144   return __builtin_s390_vfeefs(__a, __b, __cc);
   9145 }
   9146 
   9147 /*-- vec_cmpeq_or_0_idx -----------------------------------------------------*/
   9148 
   9149 static inline __ATTRS_o_ai vector signed char
   9150 vec_cmpeq_or_0_idx(vector signed char __a, vector signed char __b) {
   9151   return (vector signed char)
   9152     __builtin_s390_vfeezb((vector unsigned char)__a,
   9153                           (vector unsigned char)__b);
   9154 }
   9155 
   9156 static inline __ATTRS_o_ai vector unsigned char
   9157 vec_cmpeq_or_0_idx(vector bool char __a, vector bool char __b) {
   9158   return __builtin_s390_vfeezb((vector unsigned char)__a,
   9159                                (vector unsigned char)__b);
   9160 }
   9161 
   9162 static inline __ATTRS_o_ai vector unsigned char
   9163 vec_cmpeq_or_0_idx(vector unsigned char __a, vector unsigned char __b) {
   9164   return __builtin_s390_vfeezb(__a, __b);
   9165 }
   9166 
   9167 static inline __ATTRS_o_ai vector signed short
   9168 vec_cmpeq_or_0_idx(vector signed short __a, vector signed short __b) {
   9169   return (vector signed short)
   9170     __builtin_s390_vfeezh((vector unsigned short)__a,
   9171                           (vector unsigned short)__b);
   9172 }
   9173 
   9174 static inline __ATTRS_o_ai vector unsigned short
   9175 vec_cmpeq_or_0_idx(vector bool short __a, vector bool short __b) {
   9176   return __builtin_s390_vfeezh((vector unsigned short)__a,
   9177                                (vector unsigned short)__b);
   9178 }
   9179 
   9180 static inline __ATTRS_o_ai vector unsigned short
   9181 vec_cmpeq_or_0_idx(vector unsigned short __a, vector unsigned short __b) {
   9182   return __builtin_s390_vfeezh(__a, __b);
   9183 }
   9184 
   9185 static inline __ATTRS_o_ai vector signed int
   9186 vec_cmpeq_or_0_idx(vector signed int __a, vector signed int __b) {
   9187   return (vector signed int)
   9188     __builtin_s390_vfeezf((vector unsigned int)__a,
   9189                           (vector unsigned int)__b);
   9190 }
   9191 
   9192 static inline __ATTRS_o_ai vector unsigned int
   9193 vec_cmpeq_or_0_idx(vector bool int __a, vector bool int __b) {
   9194   return __builtin_s390_vfeezf((vector unsigned int)__a,
   9195                                (vector unsigned int)__b);
   9196 }
   9197 
   9198 static inline __ATTRS_o_ai vector unsigned int
   9199 vec_cmpeq_or_0_idx(vector unsigned int __a, vector unsigned int __b) {
   9200   return __builtin_s390_vfeezf(__a, __b);
   9201 }
   9202 
   9203 /*-- vec_cmpeq_or_0_idx_cc --------------------------------------------------*/
   9204 
   9205 static inline __ATTRS_o_ai vector signed char
   9206 vec_cmpeq_or_0_idx_cc(vector signed char __a, vector signed char __b,
   9207                       int *__cc) {
   9208   return (vector signed char)
   9209     __builtin_s390_vfeezbs((vector unsigned char)__a,
   9210                            (vector unsigned char)__b, __cc);
   9211 }
   9212 
   9213 static inline __ATTRS_o_ai vector unsigned char
   9214 vec_cmpeq_or_0_idx_cc(vector bool char __a, vector bool char __b, int *__cc) {
   9215   return __builtin_s390_vfeezbs((vector unsigned char)__a,
   9216                                 (vector unsigned char)__b, __cc);
   9217 }
   9218 
   9219 static inline __ATTRS_o_ai vector unsigned char
   9220 vec_cmpeq_or_0_idx_cc(vector unsigned char __a, vector unsigned char __b,
   9221                       int *__cc) {
   9222   return __builtin_s390_vfeezbs(__a, __b, __cc);
   9223 }
   9224 
   9225 static inline __ATTRS_o_ai vector signed short
   9226 vec_cmpeq_or_0_idx_cc(vector signed short __a, vector signed short __b,
   9227                       int *__cc) {
   9228   return (vector signed short)
   9229     __builtin_s390_vfeezhs((vector unsigned short)__a,
   9230                            (vector unsigned short)__b, __cc);
   9231 }
   9232 
   9233 static inline __ATTRS_o_ai vector unsigned short
   9234 vec_cmpeq_or_0_idx_cc(vector bool short __a, vector bool short __b, int *__cc) {
   9235   return __builtin_s390_vfeezhs((vector unsigned short)__a,
   9236                                 (vector unsigned short)__b, __cc);
   9237 }
   9238 
   9239 static inline __ATTRS_o_ai vector unsigned short
   9240 vec_cmpeq_or_0_idx_cc(vector unsigned short __a, vector unsigned short __b,
   9241                       int *__cc) {
   9242   return __builtin_s390_vfeezhs(__a, __b, __cc);
   9243 }
   9244 
   9245 static inline __ATTRS_o_ai vector signed int
   9246 vec_cmpeq_or_0_idx_cc(vector signed int __a, vector signed int __b, int *__cc) {
   9247   return (vector signed int)
   9248     __builtin_s390_vfeezfs((vector unsigned int)__a,
   9249                            (vector unsigned int)__b, __cc);
   9250 }
   9251 
   9252 static inline __ATTRS_o_ai vector unsigned int
   9253 vec_cmpeq_or_0_idx_cc(vector bool int __a, vector bool int __b, int *__cc) {
   9254   return __builtin_s390_vfeezfs((vector unsigned int)__a,
   9255                                 (vector unsigned int)__b, __cc);
   9256 }
   9257 
   9258 static inline __ATTRS_o_ai vector unsigned int
   9259 vec_cmpeq_or_0_idx_cc(vector unsigned int __a, vector unsigned int __b,
   9260                       int *__cc) {
   9261   return __builtin_s390_vfeezfs(__a, __b, __cc);
   9262 }
   9263 
   9264 /*-- vec_cmpne_idx ----------------------------------------------------------*/
   9265 
   9266 static inline __ATTRS_o_ai vector signed char
   9267 vec_cmpne_idx(vector signed char __a, vector signed char __b) {
   9268   return (vector signed char)
   9269     __builtin_s390_vfeneb((vector unsigned char)__a,
   9270                           (vector unsigned char)__b);
   9271 }
   9272 
   9273 static inline __ATTRS_o_ai vector unsigned char
   9274 vec_cmpne_idx(vector bool char __a, vector bool char __b) {
   9275   return __builtin_s390_vfeneb((vector unsigned char)__a,
   9276                                (vector unsigned char)__b);
   9277 }
   9278 
   9279 static inline __ATTRS_o_ai vector unsigned char
   9280 vec_cmpne_idx(vector unsigned char __a, vector unsigned char __b) {
   9281   return __builtin_s390_vfeneb(__a, __b);
   9282 }
   9283 
   9284 static inline __ATTRS_o_ai vector signed short
   9285 vec_cmpne_idx(vector signed short __a, vector signed short __b) {
   9286   return (vector signed short)
   9287     __builtin_s390_vfeneh((vector unsigned short)__a,
   9288                           (vector unsigned short)__b);
   9289 }
   9290 
   9291 static inline __ATTRS_o_ai vector unsigned short
   9292 vec_cmpne_idx(vector bool short __a, vector bool short __b) {
   9293   return __builtin_s390_vfeneh((vector unsigned short)__a,
   9294                                (vector unsigned short)__b);
   9295 }
   9296 
   9297 static inline __ATTRS_o_ai vector unsigned short
   9298 vec_cmpne_idx(vector unsigned short __a, vector unsigned short __b) {
   9299   return __builtin_s390_vfeneh(__a, __b);
   9300 }
   9301 
   9302 static inline __ATTRS_o_ai vector signed int
   9303 vec_cmpne_idx(vector signed int __a, vector signed int __b) {
   9304   return (vector signed int)
   9305     __builtin_s390_vfenef((vector unsigned int)__a,
   9306                           (vector unsigned int)__b);
   9307 }
   9308 
   9309 static inline __ATTRS_o_ai vector unsigned int
   9310 vec_cmpne_idx(vector bool int __a, vector bool int __b) {
   9311   return __builtin_s390_vfenef((vector unsigned int)__a,
   9312                                (vector unsigned int)__b);
   9313 }
   9314 
   9315 static inline __ATTRS_o_ai vector unsigned int
   9316 vec_cmpne_idx(vector unsigned int __a, vector unsigned int __b) {
   9317   return __builtin_s390_vfenef(__a, __b);
   9318 }
   9319 
   9320 /*-- vec_cmpne_idx_cc -------------------------------------------------------*/
   9321 
   9322 static inline __ATTRS_o_ai vector signed char
   9323 vec_cmpne_idx_cc(vector signed char __a, vector signed char __b, int *__cc) {
   9324   return (vector signed char)
   9325     __builtin_s390_vfenebs((vector unsigned char)__a,
   9326                            (vector unsigned char)__b, __cc);
   9327 }
   9328 
   9329 static inline __ATTRS_o_ai vector unsigned char
   9330 vec_cmpne_idx_cc(vector bool char __a, vector bool char __b, int *__cc) {
   9331   return __builtin_s390_vfenebs((vector unsigned char)__a,
   9332                                 (vector unsigned char)__b, __cc);
   9333 }
   9334 
   9335 static inline __ATTRS_o_ai vector unsigned char
   9336 vec_cmpne_idx_cc(vector unsigned char __a, vector unsigned char __b,
   9337                  int *__cc) {
   9338   return __builtin_s390_vfenebs(__a, __b, __cc);
   9339 }
   9340 
   9341 static inline __ATTRS_o_ai vector signed short
   9342 vec_cmpne_idx_cc(vector signed short __a, vector signed short __b, int *__cc) {
   9343   return (vector signed short)
   9344     __builtin_s390_vfenehs((vector unsigned short)__a,
   9345                            (vector unsigned short)__b, __cc);
   9346 }
   9347 
   9348 static inline __ATTRS_o_ai vector unsigned short
   9349 vec_cmpne_idx_cc(vector bool short __a, vector bool short __b, int *__cc) {
   9350   return __builtin_s390_vfenehs((vector unsigned short)__a,
   9351                                 (vector unsigned short)__b, __cc);
   9352 }
   9353 
   9354 static inline __ATTRS_o_ai vector unsigned short
   9355 vec_cmpne_idx_cc(vector unsigned short __a, vector unsigned short __b,
   9356                  int *__cc) {
   9357   return __builtin_s390_vfenehs(__a, __b, __cc);
   9358 }
   9359 
   9360 static inline __ATTRS_o_ai vector signed int
   9361 vec_cmpne_idx_cc(vector signed int __a, vector signed int __b, int *__cc) {
   9362   return (vector signed int)
   9363     __builtin_s390_vfenefs((vector unsigned int)__a,
   9364                            (vector unsigned int)__b, __cc);
   9365 }
   9366 
   9367 static inline __ATTRS_o_ai vector unsigned int
   9368 vec_cmpne_idx_cc(vector bool int __a, vector bool int __b, int *__cc) {
   9369   return __builtin_s390_vfenefs((vector unsigned int)__a,
   9370                                 (vector unsigned int)__b, __cc);
   9371 }
   9372 
   9373 static inline __ATTRS_o_ai vector unsigned int
   9374 vec_cmpne_idx_cc(vector unsigned int __a, vector unsigned int __b, int *__cc) {
   9375   return __builtin_s390_vfenefs(__a, __b, __cc);
   9376 }
   9377 
   9378 /*-- vec_cmpne_or_0_idx -----------------------------------------------------*/
   9379 
   9380 static inline __ATTRS_o_ai vector signed char
   9381 vec_cmpne_or_0_idx(vector signed char __a, vector signed char __b) {
   9382   return (vector signed char)
   9383     __builtin_s390_vfenezb((vector unsigned char)__a,
   9384                            (vector unsigned char)__b);
   9385 }
   9386 
   9387 static inline __ATTRS_o_ai vector unsigned char
   9388 vec_cmpne_or_0_idx(vector bool char __a, vector bool char __b) {
   9389   return __builtin_s390_vfenezb((vector unsigned char)__a,
   9390                                 (vector unsigned char)__b);
   9391 }
   9392 
   9393 static inline __ATTRS_o_ai vector unsigned char
   9394 vec_cmpne_or_0_idx(vector unsigned char __a, vector unsigned char __b) {
   9395   return __builtin_s390_vfenezb(__a, __b);
   9396 }
   9397 
   9398 static inline __ATTRS_o_ai vector signed short
   9399 vec_cmpne_or_0_idx(vector signed short __a, vector signed short __b) {
   9400   return (vector signed short)
   9401     __builtin_s390_vfenezh((vector unsigned short)__a,
   9402                            (vector unsigned short)__b);
   9403 }
   9404 
   9405 static inline __ATTRS_o_ai vector unsigned short
   9406 vec_cmpne_or_0_idx(vector bool short __a, vector bool short __b) {
   9407   return __builtin_s390_vfenezh((vector unsigned short)__a,
   9408                                 (vector unsigned short)__b);
   9409 }
   9410 
   9411 static inline __ATTRS_o_ai vector unsigned short
   9412 vec_cmpne_or_0_idx(vector unsigned short __a, vector unsigned short __b) {
   9413   return __builtin_s390_vfenezh(__a, __b);
   9414 }
   9415 
   9416 static inline __ATTRS_o_ai vector signed int
   9417 vec_cmpne_or_0_idx(vector signed int __a, vector signed int __b) {
   9418   return (vector signed int)
   9419     __builtin_s390_vfenezf((vector unsigned int)__a,
   9420                            (vector unsigned int)__b);
   9421 }
   9422 
   9423 static inline __ATTRS_o_ai vector unsigned int
   9424 vec_cmpne_or_0_idx(vector bool int __a, vector bool int __b) {
   9425   return __builtin_s390_vfenezf((vector unsigned int)__a,
   9426                                 (vector unsigned int)__b);
   9427 }
   9428 
   9429 static inline __ATTRS_o_ai vector unsigned int
   9430 vec_cmpne_or_0_idx(vector unsigned int __a, vector unsigned int __b) {
   9431   return __builtin_s390_vfenezf(__a, __b);
   9432 }
   9433 
   9434 /*-- vec_cmpne_or_0_idx_cc --------------------------------------------------*/
   9435 
   9436 static inline __ATTRS_o_ai vector signed char
   9437 vec_cmpne_or_0_idx_cc(vector signed char __a, vector signed char __b,
   9438                       int *__cc) {
   9439   return (vector signed char)
   9440     __builtin_s390_vfenezbs((vector unsigned char)__a,
   9441                             (vector unsigned char)__b, __cc);
   9442 }
   9443 
   9444 static inline __ATTRS_o_ai vector unsigned char
   9445 vec_cmpne_or_0_idx_cc(vector bool char __a, vector bool char __b, int *__cc) {
   9446   return __builtin_s390_vfenezbs((vector unsigned char)__a,
   9447                                  (vector unsigned char)__b, __cc);
   9448 }
   9449 
   9450 static inline __ATTRS_o_ai vector unsigned char
   9451 vec_cmpne_or_0_idx_cc(vector unsigned char __a, vector unsigned char __b,
   9452                       int *__cc) {
   9453   return __builtin_s390_vfenezbs(__a, __b, __cc);
   9454 }
   9455 
   9456 static inline __ATTRS_o_ai vector signed short
   9457 vec_cmpne_or_0_idx_cc(vector signed short __a, vector signed short __b,
   9458                       int *__cc) {
   9459   return (vector signed short)
   9460     __builtin_s390_vfenezhs((vector unsigned short)__a,
   9461                             (vector unsigned short)__b, __cc);
   9462 }
   9463 
   9464 static inline __ATTRS_o_ai vector unsigned short
   9465 vec_cmpne_or_0_idx_cc(vector bool short __a, vector bool short __b, int *__cc) {
   9466   return __builtin_s390_vfenezhs((vector unsigned short)__a,
   9467                                  (vector unsigned short)__b, __cc);
   9468 }
   9469 
   9470 static inline __ATTRS_o_ai vector unsigned short
   9471 vec_cmpne_or_0_idx_cc(vector unsigned short __a, vector unsigned short __b,
   9472                       int *__cc) {
   9473   return __builtin_s390_vfenezhs(__a, __b, __cc);
   9474 }
   9475 
   9476 static inline __ATTRS_o_ai vector signed int
   9477 vec_cmpne_or_0_idx_cc(vector signed int __a, vector signed int __b, int *__cc) {
   9478   return (vector signed int)
   9479     __builtin_s390_vfenezfs((vector unsigned int)__a,
   9480                             (vector unsigned int)__b, __cc);
   9481 }
   9482 
   9483 static inline __ATTRS_o_ai vector unsigned int
   9484 vec_cmpne_or_0_idx_cc(vector bool int __a, vector bool int __b, int *__cc) {
   9485   return __builtin_s390_vfenezfs((vector unsigned int)__a,
   9486                                  (vector unsigned int)__b, __cc);
   9487 }
   9488 
   9489 static inline __ATTRS_o_ai vector unsigned int
   9490 vec_cmpne_or_0_idx_cc(vector unsigned int __a, vector unsigned int __b,
   9491                       int *__cc) {
   9492   return __builtin_s390_vfenezfs(__a, __b, __cc);
   9493 }
   9494 
   9495 /*-- vec_cmprg --------------------------------------------------------------*/
   9496 
   9497 static inline __ATTRS_o_ai vector bool char
   9498 vec_cmprg(vector unsigned char __a, vector unsigned char __b,
   9499           vector unsigned char __c) {
   9500   return (vector bool char)__builtin_s390_vstrcb(__a, __b, __c, 4);
   9501 }
   9502 
   9503 static inline __ATTRS_o_ai vector bool short
   9504 vec_cmprg(vector unsigned short __a, vector unsigned short __b,
   9505           vector unsigned short __c) {
   9506   return (vector bool short)__builtin_s390_vstrch(__a, __b, __c, 4);
   9507 }
   9508 
   9509 static inline __ATTRS_o_ai vector bool int
   9510 vec_cmprg(vector unsigned int __a, vector unsigned int __b,
   9511           vector unsigned int __c) {
   9512   return (vector bool int)__builtin_s390_vstrcf(__a, __b, __c, 4);
   9513 }
   9514 
   9515 /*-- vec_cmprg_cc -----------------------------------------------------------*/
   9516 
   9517 static inline __ATTRS_o_ai vector bool char
   9518 vec_cmprg_cc(vector unsigned char __a, vector unsigned char __b,
   9519              vector unsigned char __c, int *__cc) {
   9520   return (vector bool char)__builtin_s390_vstrcbs(__a, __b, __c, 4, __cc);
   9521 }
   9522 
   9523 static inline __ATTRS_o_ai vector bool short
   9524 vec_cmprg_cc(vector unsigned short __a, vector unsigned short __b,
   9525              vector unsigned short __c, int *__cc) {
   9526   return (vector bool short)__builtin_s390_vstrchs(__a, __b, __c, 4, __cc);
   9527 }
   9528 
   9529 static inline __ATTRS_o_ai vector bool int
   9530 vec_cmprg_cc(vector unsigned int __a, vector unsigned int __b,
   9531              vector unsigned int __c, int *__cc) {
   9532   return (vector bool int)__builtin_s390_vstrcfs(__a, __b, __c, 4, __cc);
   9533 }
   9534 
   9535 /*-- vec_cmprg_idx ----------------------------------------------------------*/
   9536 
   9537 static inline __ATTRS_o_ai vector unsigned char
   9538 vec_cmprg_idx(vector unsigned char __a, vector unsigned char __b,
   9539               vector unsigned char __c) {
   9540   return __builtin_s390_vstrcb(__a, __b, __c, 0);
   9541 }
   9542 
   9543 static inline __ATTRS_o_ai vector unsigned short
   9544 vec_cmprg_idx(vector unsigned short __a, vector unsigned short __b,
   9545               vector unsigned short __c) {
   9546   return __builtin_s390_vstrch(__a, __b, __c, 0);
   9547 }
   9548 
   9549 static inline __ATTRS_o_ai vector unsigned int
   9550 vec_cmprg_idx(vector unsigned int __a, vector unsigned int __b,
   9551               vector unsigned int __c) {
   9552   return __builtin_s390_vstrcf(__a, __b, __c, 0);
   9553 }
   9554 
   9555 /*-- vec_cmprg_idx_cc -------------------------------------------------------*/
   9556 
   9557 static inline __ATTRS_o_ai vector unsigned char
   9558 vec_cmprg_idx_cc(vector unsigned char __a, vector unsigned char __b,
   9559                  vector unsigned char __c, int *__cc) {
   9560   return __builtin_s390_vstrcbs(__a, __b, __c, 0, __cc);
   9561 }
   9562 
   9563 static inline __ATTRS_o_ai vector unsigned short
   9564 vec_cmprg_idx_cc(vector unsigned short __a, vector unsigned short __b,
   9565                  vector unsigned short __c, int *__cc) {
   9566   return __builtin_s390_vstrchs(__a, __b, __c, 0, __cc);
   9567 }
   9568 
   9569 static inline __ATTRS_o_ai vector unsigned int
   9570 vec_cmprg_idx_cc(vector unsigned int __a, vector unsigned int __b,
   9571                  vector unsigned int __c, int *__cc) {
   9572   return __builtin_s390_vstrcfs(__a, __b, __c, 0, __cc);
   9573 }
   9574 
   9575 /*-- vec_cmprg_or_0_idx -----------------------------------------------------*/
   9576 
   9577 static inline __ATTRS_o_ai vector unsigned char
   9578 vec_cmprg_or_0_idx(vector unsigned char __a, vector unsigned char __b,
   9579                    vector unsigned char __c) {
   9580   return __builtin_s390_vstrczb(__a, __b, __c, 0);
   9581 }
   9582 
   9583 static inline __ATTRS_o_ai vector unsigned short
   9584 vec_cmprg_or_0_idx(vector unsigned short __a, vector unsigned short __b,
   9585                    vector unsigned short __c) {
   9586   return __builtin_s390_vstrczh(__a, __b, __c, 0);
   9587 }
   9588 
   9589 static inline __ATTRS_o_ai vector unsigned int
   9590 vec_cmprg_or_0_idx(vector unsigned int __a, vector unsigned int __b,
   9591                    vector unsigned int __c) {
   9592   return __builtin_s390_vstrczf(__a, __b, __c, 0);
   9593 }
   9594 
   9595 /*-- vec_cmprg_or_0_idx_cc --------------------------------------------------*/
   9596 
   9597 static inline __ATTRS_o_ai vector unsigned char
   9598 vec_cmprg_or_0_idx_cc(vector unsigned char __a, vector unsigned char __b,
   9599                       vector unsigned char __c, int *__cc) {
   9600   return __builtin_s390_vstrczbs(__a, __b, __c, 0, __cc);
   9601 }
   9602 
   9603 static inline __ATTRS_o_ai vector unsigned short
   9604 vec_cmprg_or_0_idx_cc(vector unsigned short __a, vector unsigned short __b,
   9605                       vector unsigned short __c, int *__cc) {
   9606   return __builtin_s390_vstrczhs(__a, __b, __c, 0, __cc);
   9607 }
   9608 
   9609 static inline __ATTRS_o_ai vector unsigned int
   9610 vec_cmprg_or_0_idx_cc(vector unsigned int __a, vector unsigned int __b,
   9611                       vector unsigned int __c, int *__cc) {
   9612   return __builtin_s390_vstrczfs(__a, __b, __c, 0, __cc);
   9613 }
   9614 
   9615 /*-- vec_cmpnrg -------------------------------------------------------------*/
   9616 
   9617 static inline __ATTRS_o_ai vector bool char
   9618 vec_cmpnrg(vector unsigned char __a, vector unsigned char __b,
   9619            vector unsigned char __c) {
   9620   return (vector bool char)__builtin_s390_vstrcb(__a, __b, __c, 12);
   9621 }
   9622 
   9623 static inline __ATTRS_o_ai vector bool short
   9624 vec_cmpnrg(vector unsigned short __a, vector unsigned short __b,
   9625            vector unsigned short __c) {
   9626   return (vector bool short)__builtin_s390_vstrch(__a, __b, __c, 12);
   9627 }
   9628 
   9629 static inline __ATTRS_o_ai vector bool int
   9630 vec_cmpnrg(vector unsigned int __a, vector unsigned int __b,
   9631            vector unsigned int __c) {
   9632   return (vector bool int)__builtin_s390_vstrcf(__a, __b, __c, 12);
   9633 }
   9634 
   9635 /*-- vec_cmpnrg_cc ----------------------------------------------------------*/
   9636 
   9637 static inline __ATTRS_o_ai vector bool char
   9638 vec_cmpnrg_cc(vector unsigned char __a, vector unsigned char __b,
   9639               vector unsigned char __c, int *__cc) {
   9640   return (vector bool char)__builtin_s390_vstrcbs(__a, __b, __c, 12, __cc);
   9641 }
   9642 
   9643 static inline __ATTRS_o_ai vector bool short
   9644 vec_cmpnrg_cc(vector unsigned short __a, vector unsigned short __b,
   9645               vector unsigned short __c, int *__cc) {
   9646   return (vector bool short)__builtin_s390_vstrchs(__a, __b, __c, 12, __cc);
   9647 }
   9648 
   9649 static inline __ATTRS_o_ai vector bool int
   9650 vec_cmpnrg_cc(vector unsigned int __a, vector unsigned int __b,
   9651               vector unsigned int __c, int *__cc) {
   9652   return (vector bool int)__builtin_s390_vstrcfs(__a, __b, __c, 12, __cc);
   9653 }
   9654 
   9655 /*-- vec_cmpnrg_idx ---------------------------------------------------------*/
   9656 
   9657 static inline __ATTRS_o_ai vector unsigned char
   9658 vec_cmpnrg_idx(vector unsigned char __a, vector unsigned char __b,
   9659                vector unsigned char __c) {
   9660   return __builtin_s390_vstrcb(__a, __b, __c, 8);
   9661 }
   9662 
   9663 static inline __ATTRS_o_ai vector unsigned short
   9664 vec_cmpnrg_idx(vector unsigned short __a, vector unsigned short __b,
   9665                vector unsigned short __c) {
   9666   return __builtin_s390_vstrch(__a, __b, __c, 8);
   9667 }
   9668 
   9669 static inline __ATTRS_o_ai vector unsigned int
   9670 vec_cmpnrg_idx(vector unsigned int __a, vector unsigned int __b,
   9671                vector unsigned int __c) {
   9672   return __builtin_s390_vstrcf(__a, __b, __c, 8);
   9673 }
   9674 
   9675 /*-- vec_cmpnrg_idx_cc ------------------------------------------------------*/
   9676 
   9677 static inline __ATTRS_o_ai vector unsigned char
   9678 vec_cmpnrg_idx_cc(vector unsigned char __a, vector unsigned char __b,
   9679                   vector unsigned char __c, int *__cc) {
   9680   return __builtin_s390_vstrcbs(__a, __b, __c, 8, __cc);
   9681 }
   9682 
   9683 static inline __ATTRS_o_ai vector unsigned short
   9684 vec_cmpnrg_idx_cc(vector unsigned short __a, vector unsigned short __b,
   9685                   vector unsigned short __c, int *__cc) {
   9686   return __builtin_s390_vstrchs(__a, __b, __c, 8, __cc);
   9687 }
   9688 
   9689 static inline __ATTRS_o_ai vector unsigned int
   9690 vec_cmpnrg_idx_cc(vector unsigned int __a, vector unsigned int __b,
   9691                   vector unsigned int __c, int *__cc) {
   9692   return __builtin_s390_vstrcfs(__a, __b, __c, 8, __cc);
   9693 }
   9694 
   9695 /*-- vec_cmpnrg_or_0_idx ----------------------------------------------------*/
   9696 
   9697 static inline __ATTRS_o_ai vector unsigned char
   9698 vec_cmpnrg_or_0_idx(vector unsigned char __a, vector unsigned char __b,
   9699                     vector unsigned char __c) {
   9700   return __builtin_s390_vstrczb(__a, __b, __c, 8);
   9701 }
   9702 
   9703 static inline __ATTRS_o_ai vector unsigned short
   9704 vec_cmpnrg_or_0_idx(vector unsigned short __a, vector unsigned short __b,
   9705                     vector unsigned short __c) {
   9706   return __builtin_s390_vstrczh(__a, __b, __c, 8);
   9707 }
   9708 
   9709 static inline __ATTRS_o_ai vector unsigned int
   9710 vec_cmpnrg_or_0_idx(vector unsigned int __a, vector unsigned int __b,
   9711                     vector unsigned int __c) {
   9712   return __builtin_s390_vstrczf(__a, __b, __c, 8);
   9713 }
   9714 
   9715 /*-- vec_cmpnrg_or_0_idx_cc -------------------------------------------------*/
   9716 
   9717 static inline __ATTRS_o_ai vector unsigned char
   9718 vec_cmpnrg_or_0_idx_cc(vector unsigned char __a, vector unsigned char __b,
   9719                        vector unsigned char __c, int *__cc) {
   9720   return __builtin_s390_vstrczbs(__a, __b, __c, 8, __cc);
   9721 }
   9722 
   9723 static inline __ATTRS_o_ai vector unsigned short
   9724 vec_cmpnrg_or_0_idx_cc(vector unsigned short __a, vector unsigned short __b,
   9725                        vector unsigned short __c, int *__cc) {
   9726   return __builtin_s390_vstrczhs(__a, __b, __c, 8, __cc);
   9727 }
   9728 
   9729 static inline __ATTRS_o_ai vector unsigned int
   9730 vec_cmpnrg_or_0_idx_cc(vector unsigned int __a, vector unsigned int __b,
   9731                        vector unsigned int __c, int *__cc) {
   9732   return __builtin_s390_vstrczfs(__a, __b, __c, 8, __cc);
   9733 }
   9734 
   9735 /*-- vec_find_any_eq --------------------------------------------------------*/
   9736 
   9737 static inline __ATTRS_o_ai vector bool char
   9738 vec_find_any_eq(vector signed char __a, vector signed char __b) {
   9739   return (vector bool char)
   9740     __builtin_s390_vfaeb((vector unsigned char)__a,
   9741                          (vector unsigned char)__b, 4);
   9742 }
   9743 
   9744 static inline __ATTRS_o_ai vector bool char
   9745 vec_find_any_eq(vector bool char __a, vector bool char __b) {
   9746   return (vector bool char)
   9747     __builtin_s390_vfaeb((vector unsigned char)__a,
   9748                          (vector unsigned char)__b, 4);
   9749 }
   9750 
   9751 static inline __ATTRS_o_ai vector bool char
   9752 vec_find_any_eq(vector unsigned char __a, vector unsigned char __b) {
   9753   return (vector bool char)__builtin_s390_vfaeb(__a, __b, 4);
   9754 }
   9755 
   9756 static inline __ATTRS_o_ai vector bool short
   9757 vec_find_any_eq(vector signed short __a, vector signed short __b) {
   9758   return (vector bool short)
   9759     __builtin_s390_vfaeh((vector unsigned short)__a,
   9760                          (vector unsigned short)__b, 4);
   9761 }
   9762 
   9763 static inline __ATTRS_o_ai vector bool short
   9764 vec_find_any_eq(vector bool short __a, vector bool short __b) {
   9765   return (vector bool short)
   9766     __builtin_s390_vfaeh((vector unsigned short)__a,
   9767                          (vector unsigned short)__b, 4);
   9768 }
   9769 
   9770 static inline __ATTRS_o_ai vector bool short
   9771 vec_find_any_eq(vector unsigned short __a, vector unsigned short __b) {
   9772   return (vector bool short)__builtin_s390_vfaeh(__a, __b, 4);
   9773 }
   9774 
   9775 static inline __ATTRS_o_ai vector bool int
   9776 vec_find_any_eq(vector signed int __a, vector signed int __b) {
   9777   return (vector bool int)
   9778     __builtin_s390_vfaef((vector unsigned int)__a,
   9779                          (vector unsigned int)__b, 4);
   9780 }
   9781 
   9782 static inline __ATTRS_o_ai vector bool int
   9783 vec_find_any_eq(vector bool int __a, vector bool int __b) {
   9784   return (vector bool int)
   9785     __builtin_s390_vfaef((vector unsigned int)__a,
   9786                          (vector unsigned int)__b, 4);
   9787 }
   9788 
   9789 static inline __ATTRS_o_ai vector bool int
   9790 vec_find_any_eq(vector unsigned int __a, vector unsigned int __b) {
   9791   return (vector bool int)__builtin_s390_vfaef(__a, __b, 4);
   9792 }
   9793 
   9794 /*-- vec_find_any_eq_cc -----------------------------------------------------*/
   9795 
   9796 static inline __ATTRS_o_ai vector bool char
   9797 vec_find_any_eq_cc(vector signed char __a, vector signed char __b, int *__cc) {
   9798   return (vector bool char)
   9799     __builtin_s390_vfaebs((vector unsigned char)__a,
   9800                           (vector unsigned char)__b, 4, __cc);
   9801 }
   9802 
   9803 static inline __ATTRS_o_ai vector bool char
   9804 vec_find_any_eq_cc(vector bool char __a, vector bool char __b, int *__cc) {
   9805   return (vector bool char)
   9806     __builtin_s390_vfaebs((vector unsigned char)__a,
   9807                           (vector unsigned char)__b, 4, __cc);
   9808 }
   9809 
   9810 static inline __ATTRS_o_ai vector bool char
   9811 vec_find_any_eq_cc(vector unsigned char __a, vector unsigned char __b,
   9812                    int *__cc) {
   9813   return (vector bool char)__builtin_s390_vfaebs(__a, __b, 4, __cc);
   9814 }
   9815 
   9816 static inline __ATTRS_o_ai vector bool short
   9817 vec_find_any_eq_cc(vector signed short __a, vector signed short __b,
   9818                    int *__cc) {
   9819   return (vector bool short)
   9820     __builtin_s390_vfaehs((vector unsigned short)__a,
   9821                           (vector unsigned short)__b, 4, __cc);
   9822 }
   9823 
   9824 static inline __ATTRS_o_ai vector bool short
   9825 vec_find_any_eq_cc(vector bool short __a, vector bool short __b, int *__cc) {
   9826   return (vector bool short)
   9827     __builtin_s390_vfaehs((vector unsigned short)__a,
   9828                           (vector unsigned short)__b, 4, __cc);
   9829 }
   9830 
   9831 static inline __ATTRS_o_ai vector bool short
   9832 vec_find_any_eq_cc(vector unsigned short __a, vector unsigned short __b,
   9833                    int *__cc) {
   9834   return (vector bool short)__builtin_s390_vfaehs(__a, __b, 4, __cc);
   9835 }
   9836 
   9837 static inline __ATTRS_o_ai vector bool int
   9838 vec_find_any_eq_cc(vector signed int __a, vector signed int __b, int *__cc) {
   9839   return (vector bool int)
   9840     __builtin_s390_vfaefs((vector unsigned int)__a,
   9841                           (vector unsigned int)__b, 4, __cc);
   9842 }
   9843 
   9844 static inline __ATTRS_o_ai vector bool int
   9845 vec_find_any_eq_cc(vector bool int __a, vector bool int __b, int *__cc) {
   9846   return (vector bool int)
   9847     __builtin_s390_vfaefs((vector unsigned int)__a,
   9848                           (vector unsigned int)__b, 4, __cc);
   9849 }
   9850 
   9851 static inline __ATTRS_o_ai vector bool int
   9852 vec_find_any_eq_cc(vector unsigned int __a, vector unsigned int __b,
   9853                    int *__cc) {
   9854   return (vector bool int)__builtin_s390_vfaefs(__a, __b, 4, __cc);
   9855 }
   9856 
   9857 /*-- vec_find_any_eq_idx ----------------------------------------------------*/
   9858 
   9859 static inline __ATTRS_o_ai vector signed char
   9860 vec_find_any_eq_idx(vector signed char __a, vector signed char __b) {
   9861   return (vector signed char)
   9862     __builtin_s390_vfaeb((vector unsigned char)__a,
   9863                          (vector unsigned char)__b, 0);
   9864 }
   9865 
   9866 static inline __ATTRS_o_ai vector unsigned char
   9867 vec_find_any_eq_idx(vector bool char __a, vector bool char __b) {
   9868   return __builtin_s390_vfaeb((vector unsigned char)__a,
   9869                               (vector unsigned char)__b, 0);
   9870 }
   9871 
   9872 static inline __ATTRS_o_ai vector unsigned char
   9873 vec_find_any_eq_idx(vector unsigned char __a, vector unsigned char __b) {
   9874   return __builtin_s390_vfaeb(__a, __b, 0);
   9875 }
   9876 
   9877 static inline __ATTRS_o_ai vector signed short
   9878 vec_find_any_eq_idx(vector signed short __a, vector signed short __b) {
   9879   return (vector signed short)
   9880     __builtin_s390_vfaeh((vector unsigned short)__a,
   9881                          (vector unsigned short)__b, 0);
   9882 }
   9883 
   9884 static inline __ATTRS_o_ai vector unsigned short
   9885 vec_find_any_eq_idx(vector bool short __a, vector bool short __b) {
   9886   return __builtin_s390_vfaeh((vector unsigned short)__a,
   9887                               (vector unsigned short)__b, 0);
   9888 }
   9889 
   9890 static inline __ATTRS_o_ai vector unsigned short
   9891 vec_find_any_eq_idx(vector unsigned short __a, vector unsigned short __b) {
   9892   return __builtin_s390_vfaeh(__a, __b, 0);
   9893 }
   9894 
   9895 static inline __ATTRS_o_ai vector signed int
   9896 vec_find_any_eq_idx(vector signed int __a, vector signed int __b) {
   9897   return (vector signed int)
   9898     __builtin_s390_vfaef((vector unsigned int)__a,
   9899                          (vector unsigned int)__b, 0);
   9900 }
   9901 
   9902 static inline __ATTRS_o_ai vector unsigned int
   9903 vec_find_any_eq_idx(vector bool int __a, vector bool int __b) {
   9904   return __builtin_s390_vfaef((vector unsigned int)__a,
   9905                               (vector unsigned int)__b, 0);
   9906 }
   9907 
   9908 static inline __ATTRS_o_ai vector unsigned int
   9909 vec_find_any_eq_idx(vector unsigned int __a, vector unsigned int __b) {
   9910   return __builtin_s390_vfaef(__a, __b, 0);
   9911 }
   9912 
   9913 /*-- vec_find_any_eq_idx_cc -------------------------------------------------*/
   9914 
   9915 static inline __ATTRS_o_ai vector signed char
   9916 vec_find_any_eq_idx_cc(vector signed char __a, vector signed char __b,
   9917                        int *__cc) {
   9918   return (vector signed char)
   9919     __builtin_s390_vfaebs((vector unsigned char)__a,
   9920                           (vector unsigned char)__b, 0, __cc);
   9921 }
   9922 
   9923 static inline __ATTRS_o_ai vector unsigned char
   9924 vec_find_any_eq_idx_cc(vector bool char __a, vector bool char __b, int *__cc) {
   9925   return __builtin_s390_vfaebs((vector unsigned char)__a,
   9926                                (vector unsigned char)__b, 0, __cc);
   9927 }
   9928 
   9929 static inline __ATTRS_o_ai vector unsigned char
   9930 vec_find_any_eq_idx_cc(vector unsigned char __a, vector unsigned char __b,
   9931                        int *__cc) {
   9932   return __builtin_s390_vfaebs(__a, __b, 0, __cc);
   9933 }
   9934 
   9935 static inline __ATTRS_o_ai vector signed short
   9936 vec_find_any_eq_idx_cc(vector signed short __a, vector signed short __b,
   9937                        int *__cc) {
   9938   return (vector signed short)
   9939     __builtin_s390_vfaehs((vector unsigned short)__a,
   9940                           (vector unsigned short)__b, 0, __cc);
   9941 }
   9942 
   9943 static inline __ATTRS_o_ai vector unsigned short
   9944 vec_find_any_eq_idx_cc(vector bool short __a, vector bool short __b,
   9945                        int *__cc) {
   9946   return __builtin_s390_vfaehs((vector unsigned short)__a,
   9947                                (vector unsigned short)__b, 0, __cc);
   9948 }
   9949 
   9950 static inline __ATTRS_o_ai vector unsigned short
   9951 vec_find_any_eq_idx_cc(vector unsigned short __a, vector unsigned short __b,
   9952                        int *__cc) {
   9953   return __builtin_s390_vfaehs(__a, __b, 0, __cc);
   9954 }
   9955 
   9956 static inline __ATTRS_o_ai vector signed int
   9957 vec_find_any_eq_idx_cc(vector signed int __a, vector signed int __b,
   9958                        int *__cc) {
   9959   return (vector signed int)
   9960     __builtin_s390_vfaefs((vector unsigned int)__a,
   9961                           (vector unsigned int)__b, 0, __cc);
   9962 }
   9963 
   9964 static inline __ATTRS_o_ai vector unsigned int
   9965 vec_find_any_eq_idx_cc(vector bool int __a, vector bool int __b, int *__cc) {
   9966   return __builtin_s390_vfaefs((vector unsigned int)__a,
   9967                                (vector unsigned int)__b, 0, __cc);
   9968 }
   9969 
   9970 static inline __ATTRS_o_ai vector unsigned int
   9971 vec_find_any_eq_idx_cc(vector unsigned int __a, vector unsigned int __b,
   9972                        int *__cc) {
   9973   return __builtin_s390_vfaefs(__a, __b, 0, __cc);
   9974 }
   9975 
   9976 /*-- vec_find_any_eq_or_0_idx -----------------------------------------------*/
   9977 
   9978 static inline __ATTRS_o_ai vector signed char
   9979 vec_find_any_eq_or_0_idx(vector signed char __a, vector signed char __b) {
   9980   return (vector signed char)
   9981     __builtin_s390_vfaezb((vector unsigned char)__a,
   9982                           (vector unsigned char)__b, 0);
   9983 }
   9984 
   9985 static inline __ATTRS_o_ai vector unsigned char
   9986 vec_find_any_eq_or_0_idx(vector bool char __a, vector bool char __b) {
   9987   return __builtin_s390_vfaezb((vector unsigned char)__a,
   9988                                (vector unsigned char)__b, 0);
   9989 }
   9990 
   9991 static inline __ATTRS_o_ai vector unsigned char
   9992 vec_find_any_eq_or_0_idx(vector unsigned char __a, vector unsigned char __b) {
   9993   return __builtin_s390_vfaezb(__a, __b, 0);
   9994 }
   9995 
   9996 static inline __ATTRS_o_ai vector signed short
   9997 vec_find_any_eq_or_0_idx(vector signed short __a, vector signed short __b) {
   9998   return (vector signed short)
   9999     __builtin_s390_vfaezh((vector unsigned short)__a,
   10000                           (vector unsigned short)__b, 0);
   10001 }
   10002 
   10003 static inline __ATTRS_o_ai vector unsigned short
   10004 vec_find_any_eq_or_0_idx(vector bool short __a, vector bool short __b) {
   10005   return __builtin_s390_vfaezh((vector unsigned short)__a,
   10006                                (vector unsigned short)__b, 0);
   10007 }
   10008 
   10009 static inline __ATTRS_o_ai vector unsigned short
   10010 vec_find_any_eq_or_0_idx(vector unsigned short __a, vector unsigned short __b) {
   10011   return __builtin_s390_vfaezh(__a, __b, 0);
   10012 }
   10013 
   10014 static inline __ATTRS_o_ai vector signed int
   10015 vec_find_any_eq_or_0_idx(vector signed int __a, vector signed int __b) {
   10016   return (vector signed int)
   10017     __builtin_s390_vfaezf((vector unsigned int)__a,
   10018                           (vector unsigned int)__b, 0);
   10019 }
   10020 
   10021 static inline __ATTRS_o_ai vector unsigned int
   10022 vec_find_any_eq_or_0_idx(vector bool int __a, vector bool int __b) {
   10023   return __builtin_s390_vfaezf((vector unsigned int)__a,
   10024                                (vector unsigned int)__b, 0);
   10025 }
   10026 
   10027 static inline __ATTRS_o_ai vector unsigned int
   10028 vec_find_any_eq_or_0_idx(vector unsigned int __a, vector unsigned int __b) {
   10029   return __builtin_s390_vfaezf(__a, __b, 0);
   10030 }
   10031 
   10032 /*-- vec_find_any_eq_or_0_idx_cc --------------------------------------------*/
   10033 
   10034 static inline __ATTRS_o_ai vector signed char
   10035 vec_find_any_eq_or_0_idx_cc(vector signed char __a, vector signed char __b,
   10036                             int *__cc) {
   10037   return (vector signed char)
   10038     __builtin_s390_vfaezbs((vector unsigned char)__a,
   10039                            (vector unsigned char)__b, 0, __cc);
   10040 }
   10041 
   10042 static inline __ATTRS_o_ai vector unsigned char
   10043 vec_find_any_eq_or_0_idx_cc(vector bool char __a, vector bool char __b,
   10044                             int *__cc) {
   10045   return __builtin_s390_vfaezbs((vector unsigned char)__a,
   10046                                 (vector unsigned char)__b, 0, __cc);
   10047 }
   10048 
   10049 static inline __ATTRS_o_ai vector unsigned char
   10050 vec_find_any_eq_or_0_idx_cc(vector unsigned char __a, vector unsigned char __b,
   10051                             int *__cc) {
   10052   return __builtin_s390_vfaezbs(__a, __b, 0, __cc);
   10053 }
   10054 
   10055 static inline __ATTRS_o_ai vector signed short
   10056 vec_find_any_eq_or_0_idx_cc(vector signed short __a, vector signed short __b,
   10057                             int *__cc) {
   10058   return (vector signed short)
   10059     __builtin_s390_vfaezhs((vector unsigned short)__a,
   10060                            (vector unsigned short)__b, 0, __cc);
   10061 }
   10062 
   10063 static inline __ATTRS_o_ai vector unsigned short
   10064 vec_find_any_eq_or_0_idx_cc(vector bool short __a, vector bool short __b,
   10065                             int *__cc) {
   10066   return __builtin_s390_vfaezhs((vector unsigned short)__a,
   10067                                 (vector unsigned short)__b, 0, __cc);
   10068 }
   10069 
   10070 static inline __ATTRS_o_ai vector unsigned short
   10071 vec_find_any_eq_or_0_idx_cc(vector unsigned short __a,
   10072                             vector unsigned short __b, int *__cc) {
   10073   return __builtin_s390_vfaezhs(__a, __b, 0, __cc);
   10074 }
   10075 
   10076 static inline __ATTRS_o_ai vector signed int
   10077 vec_find_any_eq_or_0_idx_cc(vector signed int __a, vector signed int __b,
   10078                             int *__cc) {
   10079   return (vector signed int)
   10080     __builtin_s390_vfaezfs((vector unsigned int)__a,
   10081                            (vector unsigned int)__b, 0, __cc);
   10082 }
   10083 
   10084 static inline __ATTRS_o_ai vector unsigned int
   10085 vec_find_any_eq_or_0_idx_cc(vector bool int __a, vector bool int __b,
   10086                             int *__cc) {
   10087   return __builtin_s390_vfaezfs((vector unsigned int)__a,
   10088                                 (vector unsigned int)__b, 0, __cc);
   10089 }
   10090 
   10091 static inline __ATTRS_o_ai vector unsigned int
   10092 vec_find_any_eq_or_0_idx_cc(vector unsigned int __a, vector unsigned int __b,
   10093                             int *__cc) {
   10094   return __builtin_s390_vfaezfs(__a, __b, 0, __cc);
   10095 }
   10096 
   10097 /*-- vec_find_any_ne --------------------------------------------------------*/
   10098 
   10099 static inline __ATTRS_o_ai vector bool char
   10100 vec_find_any_ne(vector signed char __a, vector signed char __b) {
   10101   return (vector bool char)
   10102     __builtin_s390_vfaeb((vector unsigned char)__a,
   10103                          (vector unsigned char)__b, 12);
   10104 }
   10105 
   10106 static inline __ATTRS_o_ai vector bool char
   10107 vec_find_any_ne(vector bool char __a, vector bool char __b) {
   10108   return (vector bool char)
   10109     __builtin_s390_vfaeb((vector unsigned char)__a,
   10110                          (vector unsigned char)__b, 12);
   10111 }
   10112 
   10113 static inline __ATTRS_o_ai vector bool char
   10114 vec_find_any_ne(vector unsigned char __a, vector unsigned char __b) {
   10115   return (vector bool char)__builtin_s390_vfaeb(__a, __b, 12);
   10116 }
   10117 
   10118 static inline __ATTRS_o_ai vector bool short
   10119 vec_find_any_ne(vector signed short __a, vector signed short __b) {
   10120   return (vector bool short)
   10121     __builtin_s390_vfaeh((vector unsigned short)__a,
   10122                          (vector unsigned short)__b, 12);
   10123 }
   10124 
   10125 static inline __ATTRS_o_ai vector bool short
   10126 vec_find_any_ne(vector bool short __a, vector bool short __b) {
   10127   return (vector bool short)
   10128     __builtin_s390_vfaeh((vector unsigned short)__a,
   10129                          (vector unsigned short)__b, 12);
   10130 }
   10131 
   10132 static inline __ATTRS_o_ai vector bool short
   10133 vec_find_any_ne(vector unsigned short __a, vector unsigned short __b) {
   10134   return (vector bool short)__builtin_s390_vfaeh(__a, __b, 12);
   10135 }
   10136 
   10137 static inline __ATTRS_o_ai vector bool int
   10138 vec_find_any_ne(vector signed int __a, vector signed int __b) {
   10139   return (vector bool int)
   10140     __builtin_s390_vfaef((vector unsigned int)__a,
   10141                          (vector unsigned int)__b, 12);
   10142 }
   10143 
   10144 static inline __ATTRS_o_ai vector bool int
   10145 vec_find_any_ne(vector bool int __a, vector bool int __b) {
   10146   return (vector bool int)
   10147     __builtin_s390_vfaef((vector unsigned int)__a,
   10148                          (vector unsigned int)__b, 12);
   10149 }
   10150 
   10151 static inline __ATTRS_o_ai vector bool int
   10152 vec_find_any_ne(vector unsigned int __a, vector unsigned int __b) {
   10153   return (vector bool int)__builtin_s390_vfaef(__a, __b, 12);
   10154 }
   10155 
   10156 /*-- vec_find_any_ne_cc -----------------------------------------------------*/
   10157 
   10158 static inline __ATTRS_o_ai vector bool char
   10159 vec_find_any_ne_cc(vector signed char __a, vector signed char __b, int *__cc) {
   10160   return (vector bool char)
   10161     __builtin_s390_vfaebs((vector unsigned char)__a,
   10162                           (vector unsigned char)__b, 12, __cc);
   10163 }
   10164 
   10165 static inline __ATTRS_o_ai vector bool char
   10166 vec_find_any_ne_cc(vector bool char __a, vector bool char __b, int *__cc) {
   10167   return (vector bool char)
   10168     __builtin_s390_vfaebs((vector unsigned char)__a,
   10169                           (vector unsigned char)__b, 12, __cc);
   10170 }
   10171 
   10172 static inline __ATTRS_o_ai vector bool char
   10173 vec_find_any_ne_cc(vector unsigned char __a, vector unsigned char __b,
   10174                    int *__cc) {
   10175   return (vector bool char)__builtin_s390_vfaebs(__a, __b, 12, __cc);
   10176 }
   10177 
   10178 static inline __ATTRS_o_ai vector bool short
   10179 vec_find_any_ne_cc(vector signed short __a, vector signed short __b,
   10180                    int *__cc) {
   10181   return (vector bool short)
   10182     __builtin_s390_vfaehs((vector unsigned short)__a,
   10183                           (vector unsigned short)__b, 12, __cc);
   10184 }
   10185 
   10186 static inline __ATTRS_o_ai vector bool short
   10187 vec_find_any_ne_cc(vector bool short __a, vector bool short __b, int *__cc) {
   10188   return (vector bool short)
   10189     __builtin_s390_vfaehs((vector unsigned short)__a,
   10190                           (vector unsigned short)__b, 12, __cc);
   10191 }
   10192 
   10193 static inline __ATTRS_o_ai vector bool short
   10194 vec_find_any_ne_cc(vector unsigned short __a, vector unsigned short __b,
   10195                    int *__cc) {
   10196   return (vector bool short)__builtin_s390_vfaehs(__a, __b, 12, __cc);
   10197 }
   10198 
   10199 static inline __ATTRS_o_ai vector bool int
   10200 vec_find_any_ne_cc(vector signed int __a, vector signed int __b, int *__cc) {
   10201   return (vector bool int)
   10202     __builtin_s390_vfaefs((vector unsigned int)__a,
   10203                           (vector unsigned int)__b, 12, __cc);
   10204 }
   10205 
   10206 static inline __ATTRS_o_ai vector bool int
   10207 vec_find_any_ne_cc(vector bool int __a, vector bool int __b, int *__cc) {
   10208   return (vector bool int)
   10209     __builtin_s390_vfaefs((vector unsigned int)__a,
   10210                           (vector unsigned int)__b, 12, __cc);
   10211 }
   10212 
   10213 static inline __ATTRS_o_ai vector bool int
   10214 vec_find_any_ne_cc(vector unsigned int __a, vector unsigned int __b,
   10215                    int *__cc) {
   10216   return (vector bool int)__builtin_s390_vfaefs(__a, __b, 12, __cc);
   10217 }
   10218 
   10219 /*-- vec_find_any_ne_idx ----------------------------------------------------*/
   10220 
   10221 static inline __ATTRS_o_ai vector signed char
   10222 vec_find_any_ne_idx(vector signed char __a, vector signed char __b) {
   10223   return (vector signed char)
   10224     __builtin_s390_vfaeb((vector unsigned char)__a,
   10225                          (vector unsigned char)__b, 8);
   10226 }
   10227 
   10228 static inline __ATTRS_o_ai vector unsigned char
   10229 vec_find_any_ne_idx(vector bool char __a, vector bool char __b) {
   10230   return __builtin_s390_vfaeb((vector unsigned char)__a,
   10231                               (vector unsigned char)__b, 8);
   10232 }
   10233 
   10234 static inline __ATTRS_o_ai vector unsigned char
   10235 vec_find_any_ne_idx(vector unsigned char __a, vector unsigned char __b) {
   10236   return __builtin_s390_vfaeb(__a, __b, 8);
   10237 }
   10238 
   10239 static inline __ATTRS_o_ai vector signed short
   10240 vec_find_any_ne_idx(vector signed short __a, vector signed short __b) {
   10241   return (vector signed short)
   10242     __builtin_s390_vfaeh((vector unsigned short)__a,
   10243                          (vector unsigned short)__b, 8);
   10244 }
   10245 
   10246 static inline __ATTRS_o_ai vector unsigned short
   10247 vec_find_any_ne_idx(vector bool short __a, vector bool short __b) {
   10248   return __builtin_s390_vfaeh((vector unsigned short)__a,
   10249                               (vector unsigned short)__b, 8);
   10250 }
   10251 
   10252 static inline __ATTRS_o_ai vector unsigned short
   10253 vec_find_any_ne_idx(vector unsigned short __a, vector unsigned short __b) {
   10254   return __builtin_s390_vfaeh(__a, __b, 8);
   10255 }
   10256 
   10257 static inline __ATTRS_o_ai vector signed int
   10258 vec_find_any_ne_idx(vector signed int __a, vector signed int __b) {
   10259   return (vector signed int)
   10260     __builtin_s390_vfaef((vector unsigned int)__a,
   10261                          (vector unsigned int)__b, 8);
   10262 }
   10263 
   10264 static inline __ATTRS_o_ai vector unsigned int
   10265 vec_find_any_ne_idx(vector bool int __a, vector bool int __b) {
   10266   return __builtin_s390_vfaef((vector unsigned int)__a,
   10267                               (vector unsigned int)__b, 8);
   10268 }
   10269 
   10270 static inline __ATTRS_o_ai vector unsigned int
   10271 vec_find_any_ne_idx(vector unsigned int __a, vector unsigned int __b) {
   10272   return __builtin_s390_vfaef(__a, __b, 8);
   10273 }
   10274 
   10275 /*-- vec_find_any_ne_idx_cc -------------------------------------------------*/
   10276 
   10277 static inline __ATTRS_o_ai vector signed char
   10278 vec_find_any_ne_idx_cc(vector signed char __a, vector signed char __b,
   10279                        int *__cc) {
   10280   return (vector signed char)
   10281     __builtin_s390_vfaebs((vector unsigned char)__a,
   10282                           (vector unsigned char)__b, 8, __cc);
   10283 }
   10284 
   10285 static inline __ATTRS_o_ai vector unsigned char
   10286 vec_find_any_ne_idx_cc(vector bool char __a, vector bool char __b, int *__cc) {
   10287   return __builtin_s390_vfaebs((vector unsigned char)__a,
   10288                                (vector unsigned char)__b, 8, __cc);
   10289 }
   10290 
   10291 static inline __ATTRS_o_ai vector unsigned char
   10292 vec_find_any_ne_idx_cc(vector unsigned char __a, vector unsigned char __b,
   10293                        int *__cc) {
   10294   return __builtin_s390_vfaebs(__a, __b, 8, __cc);
   10295 }
   10296 
   10297 static inline __ATTRS_o_ai vector signed short
   10298 vec_find_any_ne_idx_cc(vector signed short __a, vector signed short __b,
   10299                        int *__cc) {
   10300   return (vector signed short)
   10301     __builtin_s390_vfaehs((vector unsigned short)__a,
   10302                           (vector unsigned short)__b, 8, __cc);
   10303 }
   10304 
   10305 static inline __ATTRS_o_ai vector unsigned short
   10306 vec_find_any_ne_idx_cc(vector bool short __a, vector bool short __b,
   10307                        int *__cc) {
   10308   return __builtin_s390_vfaehs((vector unsigned short)__a,
   10309                                (vector unsigned short)__b, 8, __cc);
   10310 }
   10311 
   10312 static inline __ATTRS_o_ai vector unsigned short
   10313 vec_find_any_ne_idx_cc(vector unsigned short __a, vector unsigned short __b,
   10314                        int *__cc) {
   10315   return __builtin_s390_vfaehs(__a, __b, 8, __cc);
   10316 }
   10317 
   10318 static inline __ATTRS_o_ai vector signed int
   10319 vec_find_any_ne_idx_cc(vector signed int __a, vector signed int __b,
   10320                        int *__cc) {
   10321   return (vector signed int)
   10322     __builtin_s390_vfaefs((vector unsigned int)__a,
   10323                           (vector unsigned int)__b, 8, __cc);
   10324 }
   10325 
   10326 static inline __ATTRS_o_ai vector unsigned int
   10327 vec_find_any_ne_idx_cc(vector bool int __a, vector bool int __b, int *__cc) {
   10328   return __builtin_s390_vfaefs((vector unsigned int)__a,
   10329                                (vector unsigned int)__b, 8, __cc);
   10330 }
   10331 
   10332 static inline __ATTRS_o_ai vector unsigned int
   10333 vec_find_any_ne_idx_cc(vector unsigned int __a, vector unsigned int __b,
   10334                        int *__cc) {
   10335   return __builtin_s390_vfaefs(__a, __b, 8, __cc);
   10336 }
   10337 
   10338 /*-- vec_find_any_ne_or_0_idx -----------------------------------------------*/
   10339 
   10340 static inline __ATTRS_o_ai vector signed char
   10341 vec_find_any_ne_or_0_idx(vector signed char __a, vector signed char __b) {
   10342   return (vector signed char)
   10343     __builtin_s390_vfaezb((vector unsigned char)__a,
   10344                           (vector unsigned char)__b, 8);
   10345 }
   10346 
   10347 static inline __ATTRS_o_ai vector unsigned char
   10348 vec_find_any_ne_or_0_idx(vector bool char __a, vector bool char __b) {
   10349   return __builtin_s390_vfaezb((vector unsigned char)__a,
   10350                                (vector unsigned char)__b, 8);
   10351 }
   10352 
   10353 static inline __ATTRS_o_ai vector unsigned char
   10354 vec_find_any_ne_or_0_idx(vector unsigned char __a, vector unsigned char __b) {
   10355   return __builtin_s390_vfaezb(__a, __b, 8);
   10356 }
   10357 
   10358 static inline __ATTRS_o_ai vector signed short
   10359 vec_find_any_ne_or_0_idx(vector signed short __a, vector signed short __b) {
   10360   return (vector signed short)
   10361     __builtin_s390_vfaezh((vector unsigned short)__a,
   10362                           (vector unsigned short)__b, 8);
   10363 }
   10364 
   10365 static inline __ATTRS_o_ai vector unsigned short
   10366 vec_find_any_ne_or_0_idx(vector bool short __a, vector bool short __b) {
   10367   return __builtin_s390_vfaezh((vector unsigned short)__a,
   10368                                (vector unsigned short)__b, 8);
   10369 }
   10370 
   10371 static inline __ATTRS_o_ai vector unsigned short
   10372 vec_find_any_ne_or_0_idx(vector unsigned short __a, vector unsigned short __b) {
   10373   return __builtin_s390_vfaezh(__a, __b, 8);
   10374 }
   10375 
   10376 static inline __ATTRS_o_ai vector signed int
   10377 vec_find_any_ne_or_0_idx(vector signed int __a, vector signed int __b) {
   10378   return (vector signed int)
   10379     __builtin_s390_vfaezf((vector unsigned int)__a,
   10380                           (vector unsigned int)__b, 8);
   10381 }
   10382 
   10383 static inline __ATTRS_o_ai vector unsigned int
   10384 vec_find_any_ne_or_0_idx(vector bool int __a, vector bool int __b) {
   10385   return __builtin_s390_vfaezf((vector unsigned int)__a,
   10386                                (vector unsigned int)__b, 8);
   10387 }
   10388 
   10389 static inline __ATTRS_o_ai vector unsigned int
   10390 vec_find_any_ne_or_0_idx(vector unsigned int __a, vector unsigned int __b) {
   10391   return __builtin_s390_vfaezf(__a, __b, 8);
   10392 }
   10393 
   10394 /*-- vec_find_any_ne_or_0_idx_cc --------------------------------------------*/
   10395 
   10396 static inline __ATTRS_o_ai vector signed char
   10397 vec_find_any_ne_or_0_idx_cc(vector signed char __a, vector signed char __b,
   10398                             int *__cc) {
   10399   return (vector signed char)
   10400     __builtin_s390_vfaezbs((vector unsigned char)__a,
   10401                            (vector unsigned char)__b, 8, __cc);
   10402 }
   10403 
   10404 static inline __ATTRS_o_ai vector unsigned char
   10405 vec_find_any_ne_or_0_idx_cc(vector bool char __a, vector bool char __b,
   10406                             int *__cc) {
   10407   return __builtin_s390_vfaezbs((vector unsigned char)__a,
   10408                                 (vector unsigned char)__b, 8, __cc);
   10409 }
   10410 
   10411 static inline __ATTRS_o_ai vector unsigned char
   10412 vec_find_any_ne_or_0_idx_cc(vector unsigned char __a, vector unsigned char __b,
   10413                             int *__cc) {
   10414   return __builtin_s390_vfaezbs(__a, __b, 8, __cc);
   10415 }
   10416 
   10417 static inline __ATTRS_o_ai vector signed short
   10418 vec_find_any_ne_or_0_idx_cc(vector signed short __a, vector signed short __b,
   10419                             int *__cc) {
   10420   return (vector signed short)
   10421     __builtin_s390_vfaezhs((vector unsigned short)__a,
   10422                            (vector unsigned short)__b, 8, __cc);
   10423 }
   10424 
   10425 static inline __ATTRS_o_ai vector unsigned short
   10426 vec_find_any_ne_or_0_idx_cc(vector bool short __a, vector bool short __b,
   10427                             int *__cc) {
   10428   return __builtin_s390_vfaezhs((vector unsigned short)__a,
   10429                                 (vector unsigned short)__b, 8, __cc);
   10430 }
   10431 
   10432 static inline __ATTRS_o_ai vector unsigned short
   10433 vec_find_any_ne_or_0_idx_cc(vector unsigned short __a,
   10434                             vector unsigned short __b, int *__cc) {
   10435   return __builtin_s390_vfaezhs(__a, __b, 8, __cc);
   10436 }
   10437 
   10438 static inline __ATTRS_o_ai vector signed int
   10439 vec_find_any_ne_or_0_idx_cc(vector signed int __a, vector signed int __b,
   10440                             int *__cc) {
   10441   return (vector signed int)
   10442     __builtin_s390_vfaezfs((vector unsigned int)__a,
   10443                            (vector unsigned int)__b, 8, __cc);
   10444 }
   10445 
   10446 static inline __ATTRS_o_ai vector unsigned int
   10447 vec_find_any_ne_or_0_idx_cc(vector bool int __a, vector bool int __b,
   10448                             int *__cc) {
   10449   return __builtin_s390_vfaezfs((vector unsigned int)__a,
   10450                                 (vector unsigned int)__b, 8, __cc);
   10451 }
   10452 
   10453 static inline __ATTRS_o_ai vector unsigned int
   10454 vec_find_any_ne_or_0_idx_cc(vector unsigned int __a, vector unsigned int __b,
   10455                             int *__cc) {
   10456   return __builtin_s390_vfaezfs(__a, __b, 8, __cc);
   10457 }
   10458 
   10459 #undef __constant_pow2_range
   10460 #undef __constant_range
   10461 #undef __constant
   10462 #undef __ATTRS_o
   10463 #undef __ATTRS_o_ai
   10464 #undef __ATTRS_ai
   10465 
   10466 #else
   10467 
   10468 #error "Use -fzvector to enable vector extensions"
   10469 
   10470 #endif
   10471