brintos

brintos / llvm-project-archived public Read only

0
0
Text · 419.2 KiB · 338ea51 Raw
12869 lines · c
1/*===---- vecintrin.h - Vector intrinsics ----------------------------------===2 *3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4 * See https://llvm.org/LICENSE.txt for license information.5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6 *7 *===-----------------------------------------------------------------------===8 */9 10#ifndef _VECINTRIN_H11#define _VECINTRIN_H12 13#if defined(__s390x__) && defined(__VEC__)14 15#define __ATTRS_ai __attribute__((__always_inline__))16#define __ATTRS_o __attribute__((__overloadable__))17#define __ATTRS_o_ai __attribute__((__overloadable__, __always_inline__))18 19#define __constant(PARM) \20  __attribute__((__enable_if__ ((PARM) == (PARM), \21     "argument must be a constant integer")))22#define __constant_range(PARM, LOW, HIGH) \23  __attribute__((__enable_if__ ((PARM) >= (LOW) && (PARM) <= (HIGH), \24     "argument must be a constant integer from " #LOW " to " #HIGH)))25#define __constant_pow2_range(PARM, LOW, HIGH) \26  __attribute__((__enable_if__ ((PARM) >= (LOW) && (PARM) <= (HIGH) && \27                                ((PARM) & ((PARM) - 1)) == 0, \28     "argument must be a constant power of 2 from " #LOW " to " #HIGH)))29 30/*-- __lcbb -----------------------------------------------------------------*/31 32extern __ATTRS_o unsigned int33__lcbb(const void *__ptr, unsigned short __len)34  __constant_pow2_range(__len, 64, 4096);35 36#define __lcbb(X, Y) ((__typeof__((__lcbb)((X), (Y)))) \37  __builtin_s390_lcbb((X), __builtin_constant_p((Y))? \38                           ((Y) == 64 ? 0 : \39                            (Y) == 128 ? 1 : \40                            (Y) == 256 ? 2 : \41                            (Y) == 512 ? 3 : \42                            (Y) == 1024 ? 4 : \43                            (Y) == 2048 ? 5 : \44                            (Y) == 4096 ? 6 : 0) : 0))45 46/*-- vec_extract ------------------------------------------------------------*/47 48static inline __ATTRS_o_ai signed char49vec_extract(__vector signed char __vec, int __index) {50  return __vec[__index & 15];51}52 53static inline __ATTRS_o_ai unsigned char54vec_extract(__vector __bool char __vec, int __index) {55  return __vec[__index & 15];56}57 58static inline __ATTRS_o_ai unsigned char59vec_extract(__vector unsigned char __vec, int __index) {60  return __vec[__index & 15];61}62 63static inline __ATTRS_o_ai signed short64vec_extract(__vector signed short __vec, int __index) {65  return __vec[__index & 7];66}67 68static inline __ATTRS_o_ai unsigned short69vec_extract(__vector __bool short __vec, int __index) {70  return __vec[__index & 7];71}72 73static inline __ATTRS_o_ai unsigned short74vec_extract(__vector unsigned short __vec, int __index) {75  return __vec[__index & 7];76}77 78static inline __ATTRS_o_ai signed int79vec_extract(__vector signed int __vec, int __index) {80  return __vec[__index & 3];81}82 83static inline __ATTRS_o_ai unsigned int84vec_extract(__vector __bool int __vec, int __index) {85  return __vec[__index & 3];86}87 88static inline __ATTRS_o_ai unsigned int89vec_extract(__vector unsigned int __vec, int __index) {90  return __vec[__index & 3];91}92 93static inline __ATTRS_o_ai signed long long94vec_extract(__vector signed long long __vec, int __index) {95  return __vec[__index & 1];96}97 98static inline __ATTRS_o_ai unsigned long long99vec_extract(__vector __bool long long __vec, int __index) {100  return __vec[__index & 1];101}102 103static inline __ATTRS_o_ai unsigned long long104vec_extract(__vector unsigned long long __vec, int __index) {105  return __vec[__index & 1];106}107 108#if __ARCH__ >= 12109static inline __ATTRS_o_ai float110vec_extract(__vector float __vec, int __index) {111  return __vec[__index & 3];112}113#endif114 115static inline __ATTRS_o_ai double116vec_extract(__vector double __vec, int __index) {117  return __vec[__index & 1];118}119 120/*-- vec_insert -------------------------------------------------------------*/121 122static inline __ATTRS_o_ai __vector signed char123vec_insert(signed char __scalar, __vector signed char __vec, int __index) {124  __vec[__index & 15] = __scalar;125  return __vec;126}127 128// This prototype is deprecated.129static inline __ATTRS_o_ai __vector unsigned char130vec_insert(unsigned char __scalar, __vector __bool char __vec, int __index) {131  __vector unsigned char __newvec = (__vector unsigned char)__vec;132  __newvec[__index & 15] = (unsigned char)__scalar;133  return __newvec;134}135 136static inline __ATTRS_o_ai __vector unsigned char137vec_insert(unsigned char __scalar, __vector unsigned char __vec, int __index) {138  __vec[__index & 15] = __scalar;139  return __vec;140}141 142static inline __ATTRS_o_ai __vector signed short143vec_insert(signed short __scalar, __vector signed short __vec, int __index) {144  __vec[__index & 7] = __scalar;145  return __vec;146}147 148// This prototype is deprecated.149static inline __ATTRS_o_ai __vector unsigned short150vec_insert(unsigned short __scalar, __vector __bool short __vec,151           int __index) {152  __vector unsigned short __newvec = (__vector unsigned short)__vec;153  __newvec[__index & 7] = (unsigned short)__scalar;154  return __newvec;155}156 157static inline __ATTRS_o_ai __vector unsigned short158vec_insert(unsigned short __scalar, __vector unsigned short __vec,159           int __index) {160  __vec[__index & 7] = __scalar;161  return __vec;162}163 164static inline __ATTRS_o_ai __vector signed int165vec_insert(signed int __scalar, __vector signed int __vec, int __index) {166  __vec[__index & 3] = __scalar;167  return __vec;168}169 170// This prototype is deprecated.171static inline __ATTRS_o_ai __vector unsigned int172vec_insert(unsigned int __scalar, __vector __bool int __vec, int __index) {173  __vector unsigned int __newvec = (__vector unsigned int)__vec;174  __newvec[__index & 3] = __scalar;175  return __newvec;176}177 178static inline __ATTRS_o_ai __vector unsigned int179vec_insert(unsigned int __scalar, __vector unsigned int __vec, int __index) {180  __vec[__index & 3] = __scalar;181  return __vec;182}183 184static inline __ATTRS_o_ai __vector signed long long185vec_insert(signed long long __scalar, __vector signed long long __vec,186           int __index) {187  __vec[__index & 1] = __scalar;188  return __vec;189}190 191// This prototype is deprecated.192static inline __ATTRS_o_ai __vector unsigned long long193vec_insert(unsigned long long __scalar, __vector __bool long long __vec,194           int __index) {195  __vector unsigned long long __newvec = (__vector unsigned long long)__vec;196  __newvec[__index & 1] = __scalar;197  return __newvec;198}199 200static inline __ATTRS_o_ai __vector unsigned long long201vec_insert(unsigned long long __scalar, __vector unsigned long long __vec,202           int __index) {203  __vec[__index & 1] = __scalar;204  return __vec;205}206 207#if __ARCH__ >= 12208static inline __ATTRS_o_ai __vector float209vec_insert(float __scalar, __vector float __vec, int __index) {210  __vec[__index & 1] = __scalar;211  return __vec;212}213#endif214 215static inline __ATTRS_o_ai __vector double216vec_insert(double __scalar, __vector double __vec, int __index) {217  __vec[__index & 1] = __scalar;218  return __vec;219}220 221/*-- vec_promote ------------------------------------------------------------*/222 223static inline __ATTRS_o_ai __vector signed char224vec_promote(signed char __scalar, int __index) {225  const __vector signed char __zero = (__vector signed char)0;226  __vector signed char __vec = __builtin_shufflevector(__zero, __zero,227    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1);228  __vec[__index & 15] = __scalar;229  return __vec;230}231 232static inline __ATTRS_o_ai __vector unsigned char233vec_promote(unsigned char __scalar, int __index) {234  const __vector unsigned char __zero = (__vector unsigned char)0;235  __vector unsigned char __vec = __builtin_shufflevector(__zero, __zero,236    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1);237  __vec[__index & 15] = __scalar;238  return __vec;239}240 241static inline __ATTRS_o_ai __vector signed short242vec_promote(signed short __scalar, int __index) {243  const __vector signed short __zero = (__vector signed short)0;244  __vector signed short __vec = __builtin_shufflevector(__zero, __zero,245                                -1, -1, -1, -1, -1, -1, -1, -1);246  __vec[__index & 7] = __scalar;247  return __vec;248}249 250static inline __ATTRS_o_ai __vector unsigned short251vec_promote(unsigned short __scalar, int __index) {252  const __vector unsigned short __zero = (__vector unsigned short)0;253  __vector unsigned short __vec = __builtin_shufflevector(__zero, __zero,254                                  -1, -1, -1, -1, -1, -1, -1, -1);255  __vec[__index & 7] = __scalar;256  return __vec;257}258 259static inline __ATTRS_o_ai __vector signed int260vec_promote(signed int __scalar, int __index) {261  const __vector signed int __zero = (__vector signed int)0;262  __vector signed int __vec = __builtin_shufflevector(__zero, __zero,263                                                      -1, -1, -1, -1);264  __vec[__index & 3] = __scalar;265  return __vec;266}267 268static inline __ATTRS_o_ai __vector unsigned int269vec_promote(unsigned int __scalar, int __index) {270  const __vector unsigned int __zero = (__vector unsigned int)0;271  __vector unsigned int __vec = __builtin_shufflevector(__zero, __zero,272                                                        -1, -1, -1, -1);273  __vec[__index & 3] = __scalar;274  return __vec;275}276 277static inline __ATTRS_o_ai __vector signed long long278vec_promote(signed long long __scalar, int __index) {279  const __vector signed long long __zero = (__vector signed long long)0;280  __vector signed long long __vec = __builtin_shufflevector(__zero, __zero,281                                                            -1, -1);282  __vec[__index & 1] = __scalar;283  return __vec;284}285 286static inline __ATTRS_o_ai __vector unsigned long long287vec_promote(unsigned long long __scalar, int __index) {288  const __vector unsigned long long __zero = (__vector unsigned long long)0;289  __vector unsigned long long __vec = __builtin_shufflevector(__zero, __zero,290                                                              -1, -1);291  __vec[__index & 1] = __scalar;292  return __vec;293}294 295#if __ARCH__ >= 12296static inline __ATTRS_o_ai __vector float297vec_promote(float __scalar, int __index) {298  const __vector float __zero = (__vector float)0.0f;299  __vector float __vec = __builtin_shufflevector(__zero, __zero,300                                                 -1, -1, -1, -1);301  __vec[__index & 3] = __scalar;302  return __vec;303}304#endif305 306static inline __ATTRS_o_ai __vector double307vec_promote(double __scalar, int __index) {308  const __vector double __zero = (__vector double)0.0;309  __vector double __vec = __builtin_shufflevector(__zero, __zero, -1, -1);310  __vec[__index & 1] = __scalar;311  return __vec;312}313 314/*-- vec_insert_and_zero ----------------------------------------------------*/315 316static inline __ATTRS_o_ai __vector signed char317vec_insert_and_zero(const signed char *__ptr) {318  __vector signed char __vec = (__vector signed char)0;319  __vec[7] = *__ptr;320  return __vec;321}322 323static inline __ATTRS_o_ai __vector unsigned char324vec_insert_and_zero(const unsigned char *__ptr) {325  __vector unsigned char __vec = (__vector unsigned char)0;326  __vec[7] = *__ptr;327  return __vec;328}329 330static inline __ATTRS_o_ai __vector signed short331vec_insert_and_zero(const signed short *__ptr) {332  __vector signed short __vec = (__vector signed short)0;333  __vec[3] = *__ptr;334  return __vec;335}336 337static inline __ATTRS_o_ai __vector unsigned short338vec_insert_and_zero(const unsigned short *__ptr) {339  __vector unsigned short __vec = (__vector unsigned short)0;340  __vec[3] = *__ptr;341  return __vec;342}343 344static inline __ATTRS_o_ai __vector signed int345vec_insert_and_zero(const signed int *__ptr) {346  __vector signed int __vec = (__vector signed int)0;347  __vec[1] = *__ptr;348  return __vec;349}350 351static inline __ATTRS_o_ai __vector unsigned int352vec_insert_and_zero(const unsigned int *__ptr) {353  __vector unsigned int __vec = (__vector unsigned int)0;354  __vec[1] = *__ptr;355  return __vec;356}357 358static inline __ATTRS_o_ai __vector signed long long359vec_insert_and_zero(const signed long long *__ptr) {360  __vector signed long long __vec = (__vector signed long long)0;361  __vec[0] = *__ptr;362  return __vec;363}364 365static inline __ATTRS_o_ai __vector unsigned long long366vec_insert_and_zero(const unsigned long long *__ptr) {367  __vector unsigned long long __vec = (__vector unsigned long long)0;368  __vec[0] = *__ptr;369  return __vec;370}371 372#if __ARCH__ >= 12373static inline __ATTRS_o_ai __vector float374vec_insert_and_zero(const float *__ptr) {375  __vector float __vec = (__vector float)0.0f;376  __vec[1] = *__ptr;377  return __vec;378}379#endif380 381static inline __ATTRS_o_ai __vector double382vec_insert_and_zero(const double *__ptr) {383  __vector double __vec = (__vector double)0.0;384  __vec[0] = *__ptr;385  return __vec;386}387 388/*-- vec_perm ---------------------------------------------------------------*/389 390static inline __ATTRS_o_ai __vector signed char391vec_perm(__vector signed char __a, __vector signed char __b,392         __vector unsigned char __c) {393  return (__vector signed char)__builtin_s390_vperm(394           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);395}396 397static inline __ATTRS_o_ai __vector unsigned char398vec_perm(__vector unsigned char __a, __vector unsigned char __b,399         __vector unsigned char __c) {400  return (__vector unsigned char)__builtin_s390_vperm(401           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);402}403 404static inline __ATTRS_o_ai __vector __bool char405vec_perm(__vector __bool char __a, __vector __bool char __b,406         __vector unsigned char __c) {407  return (__vector __bool char)__builtin_s390_vperm(408           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);409}410 411static inline __ATTRS_o_ai __vector signed short412vec_perm(__vector signed short __a, __vector signed short __b,413         __vector unsigned char __c) {414  return (__vector signed short)__builtin_s390_vperm(415           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);416}417 418static inline __ATTRS_o_ai __vector unsigned short419vec_perm(__vector unsigned short __a, __vector unsigned short __b,420         __vector unsigned char __c) {421  return (__vector unsigned short)__builtin_s390_vperm(422           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);423}424 425static inline __ATTRS_o_ai __vector __bool short426vec_perm(__vector __bool short __a, __vector __bool short __b,427         __vector unsigned char __c) {428  return (__vector __bool short)__builtin_s390_vperm(429           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);430}431 432static inline __ATTRS_o_ai __vector signed int433vec_perm(__vector signed int __a, __vector signed int __b,434         __vector unsigned char __c) {435  return (__vector signed int)__builtin_s390_vperm(436           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);437}438 439static inline __ATTRS_o_ai __vector unsigned int440vec_perm(__vector unsigned int __a, __vector unsigned int __b,441         __vector unsigned char __c) {442  return (__vector unsigned int)__builtin_s390_vperm(443           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);444}445 446static inline __ATTRS_o_ai __vector __bool int447vec_perm(__vector __bool int __a, __vector __bool int __b,448         __vector unsigned char __c) {449  return (__vector __bool int)__builtin_s390_vperm(450           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);451}452 453static inline __ATTRS_o_ai __vector signed long long454vec_perm(__vector signed long long __a, __vector signed long long __b,455         __vector unsigned char __c) {456  return (__vector signed long long)__builtin_s390_vperm(457           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);458}459 460static inline __ATTRS_o_ai __vector unsigned long long461vec_perm(__vector unsigned long long __a, __vector unsigned long long __b,462         __vector unsigned char __c) {463  return (__vector unsigned long long)__builtin_s390_vperm(464           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);465}466 467static inline __ATTRS_o_ai __vector __bool long long468vec_perm(__vector __bool long long __a, __vector __bool long long __b,469         __vector unsigned char __c) {470  return (__vector __bool long long)__builtin_s390_vperm(471           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);472}473 474static inline __ATTRS_o_ai __vector signed __int128475vec_perm(__vector signed __int128 __a, __vector signed __int128 __b,476         __vector unsigned char __c) {477  return (__vector signed __int128)__builtin_s390_vperm(478           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);479}480 481static inline __ATTRS_o_ai __vector unsigned __int128482vec_perm(__vector unsigned __int128 __a, __vector unsigned __int128 __b,483         __vector unsigned char __c) {484  return (__vector unsigned __int128)__builtin_s390_vperm(485           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);486}487 488static inline __ATTRS_o_ai __vector __bool __int128489vec_perm(__vector __bool __int128 __a, __vector __bool __int128 __b,490         __vector unsigned char __c) {491  return (__vector __bool __int128)__builtin_s390_vperm(492           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);493}494 495#if __ARCH__ >= 12496static inline __ATTRS_o_ai __vector float497vec_perm(__vector float __a, __vector float __b,498         __vector unsigned char __c) {499  return (__vector float)__builtin_s390_vperm(500           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);501}502#endif503 504static inline __ATTRS_o_ai __vector double505vec_perm(__vector double __a, __vector double __b,506         __vector unsigned char __c) {507  return (__vector double)__builtin_s390_vperm(508           (__vector unsigned char)__a, (__vector unsigned char)__b, __c);509}510 511/*-- vec_permi --------------------------------------------------------------*/512 513// This prototype is deprecated.514extern __ATTRS_o __vector signed long long515vec_permi(__vector signed long long __a, __vector signed long long __b,516          int __c)517  __constant_range(__c, 0, 3);518 519// This prototype is deprecated.520extern __ATTRS_o __vector unsigned long long521vec_permi(__vector unsigned long long __a, __vector unsigned long long __b,522          int __c)523  __constant_range(__c, 0, 3);524 525// This prototype is deprecated.526extern __ATTRS_o __vector __bool long long527vec_permi(__vector __bool long long __a, __vector __bool long long __b,528          int __c)529  __constant_range(__c, 0, 3);530 531// This prototype is deprecated.532extern __ATTRS_o __vector double533vec_permi(__vector double __a, __vector double __b, int __c)534  __constant_range(__c, 0, 3);535 536#define vec_permi(X, Y, Z) ((__typeof__((vec_permi)((X), (Y), (Z)))) \537  __builtin_s390_vpdi((__vector unsigned long long)(X), \538                      (__vector unsigned long long)(Y), \539                      (((Z) & 2) << 1) | ((Z) & 1)))540 541/*-- vec_bperm --------------------------------------------------------------*/542 543#if __ARCH__ >= 12544static inline __ATTRS_ai __vector unsigned long long545vec_bperm(__vector unsigned __int128 __a, __vector unsigned char __b) {546  return __builtin_s390_vbperm((__vector unsigned char)__a, __b);547}548#endif549 550/*-- vec_bperm_u128 ---------------------------------------------------------*/551 552#if __ARCH__ >= 12553// This prototype is deprecated.554static inline __ATTRS_ai __vector unsigned long long555vec_bperm_u128(__vector unsigned char __a, __vector unsigned char __b) {556  return __builtin_s390_vbperm(__a, __b);557}558#endif559 560/*-- vec_revb ---------------------------------------------------------------*/561 562static inline __ATTRS_o_ai __vector signed short563vec_revb(__vector signed short __vec) {564  return (__vector signed short)565         __builtin_s390_vlbrh((__vector unsigned short)__vec);566}567 568static inline __ATTRS_o_ai __vector unsigned short569vec_revb(__vector unsigned short __vec) {570  return __builtin_s390_vlbrh(__vec);571}572 573static inline __ATTRS_o_ai __vector signed int574vec_revb(__vector signed int __vec) {575  return (__vector signed int)576         __builtin_s390_vlbrf((__vector unsigned int)__vec);577}578 579static inline __ATTRS_o_ai __vector unsigned int580vec_revb(__vector unsigned int __vec) {581  return __builtin_s390_vlbrf(__vec);582}583 584static inline __ATTRS_o_ai __vector signed long long585vec_revb(__vector signed long long __vec) {586  return (__vector signed long long)587         __builtin_s390_vlbrg((__vector unsigned long long)__vec);588}589 590static inline __ATTRS_o_ai __vector unsigned long long591vec_revb(__vector unsigned long long __vec) {592  return __builtin_s390_vlbrg(__vec);593}594 595static inline __ATTRS_o_ai __vector signed __int128596vec_revb(__vector signed __int128 __vec) {597  return (__vector signed __int128)598         __builtin_s390_vlbrq((unsigned __int128)__vec);599}600 601static inline __ATTRS_o_ai __vector unsigned __int128602vec_revb(__vector unsigned __int128 __vec) {603  return (__vector unsigned __int128)604         __builtin_s390_vlbrq((unsigned __int128)__vec);605}606 607#if __ARCH__ >= 12608static inline __ATTRS_o_ai __vector float609vec_revb(__vector float __vec) {610  return (__vector float)611         __builtin_s390_vlbrf((__vector unsigned int)__vec);612}613#endif614 615static inline __ATTRS_o_ai __vector double616vec_revb(__vector double __vec) {617  return (__vector double)618         __builtin_s390_vlbrg((__vector unsigned long long)__vec);619}620 621/*-- vec_reve ---------------------------------------------------------------*/622 623static inline __ATTRS_o_ai __vector signed char624vec_reve(__vector signed char __vec) {625  return (__vector signed char) { __vec[15], __vec[14], __vec[13], __vec[12],626                                  __vec[11], __vec[10], __vec[9], __vec[8],627                                  __vec[7], __vec[6], __vec[5], __vec[4],628                                  __vec[3], __vec[2], __vec[1], __vec[0] };629}630 631static inline __ATTRS_o_ai __vector unsigned char632vec_reve(__vector unsigned char __vec) {633  return (__vector unsigned char) { __vec[15], __vec[14], __vec[13], __vec[12],634                                    __vec[11], __vec[10], __vec[9], __vec[8],635                                    __vec[7], __vec[6], __vec[5], __vec[4],636                                    __vec[3], __vec[2], __vec[1], __vec[0] };637}638 639static inline __ATTRS_o_ai __vector __bool char640vec_reve(__vector __bool char __vec) {641  return (__vector __bool char) { __vec[15], __vec[14], __vec[13], __vec[12],642                                  __vec[11], __vec[10], __vec[9], __vec[8],643                                  __vec[7], __vec[6], __vec[5], __vec[4],644                                  __vec[3], __vec[2], __vec[1], __vec[0] };645}646 647static inline __ATTRS_o_ai __vector signed short648vec_reve(__vector signed short __vec) {649  return (__vector signed short) { __vec[7], __vec[6], __vec[5], __vec[4],650                                   __vec[3], __vec[2], __vec[1], __vec[0] };651}652 653static inline __ATTRS_o_ai __vector unsigned short654vec_reve(__vector unsigned short __vec) {655  return (__vector unsigned short) { __vec[7], __vec[6], __vec[5], __vec[4],656                                     __vec[3], __vec[2], __vec[1], __vec[0] };657}658 659static inline __ATTRS_o_ai __vector __bool short660vec_reve(__vector __bool short __vec) {661  return (__vector __bool short) { __vec[7], __vec[6], __vec[5], __vec[4],662                                   __vec[3], __vec[2], __vec[1], __vec[0] };663}664 665static inline __ATTRS_o_ai __vector signed int666vec_reve(__vector signed int __vec) {667  return (__vector signed int) { __vec[3], __vec[2], __vec[1], __vec[0] };668}669 670static inline __ATTRS_o_ai __vector unsigned int671vec_reve(__vector unsigned int __vec) {672  return (__vector unsigned int) { __vec[3], __vec[2], __vec[1], __vec[0] };673}674 675static inline __ATTRS_o_ai __vector __bool int676vec_reve(__vector __bool int __vec) {677  return (__vector __bool int) { __vec[3], __vec[2], __vec[1], __vec[0] };678}679 680static inline __ATTRS_o_ai __vector signed long long681vec_reve(__vector signed long long __vec) {682  return (__vector signed long long) { __vec[1], __vec[0] };683}684 685static inline __ATTRS_o_ai __vector unsigned long long686vec_reve(__vector unsigned long long __vec) {687  return (__vector unsigned long long) { __vec[1], __vec[0] };688}689 690static inline __ATTRS_o_ai __vector __bool long long691vec_reve(__vector __bool long long __vec) {692  return (__vector __bool long long) { __vec[1], __vec[0] };693}694 695#if __ARCH__ >= 12696static inline __ATTRS_o_ai __vector float697vec_reve(__vector float __vec) {698  return (__vector float) { __vec[3], __vec[2], __vec[1], __vec[0] };699}700#endif701 702static inline __ATTRS_o_ai __vector double703vec_reve(__vector double __vec) {704  return (__vector double) { __vec[1], __vec[0] };705}706 707/*-- vec_sel ----------------------------------------------------------------*/708 709static inline __ATTRS_o_ai __vector signed char710vec_sel(__vector signed char __a, __vector signed char __b,711        __vector unsigned char __c) {712  return (((__vector signed char)__c & __b) |713          (~(__vector signed char)__c & __a));714}715 716static inline __ATTRS_o_ai __vector signed char717vec_sel(__vector signed char __a, __vector signed char __b,718        __vector __bool char __c) {719  return (((__vector signed char)__c & __b) |720          (~(__vector signed char)__c & __a));721}722 723static inline __ATTRS_o_ai __vector __bool char724vec_sel(__vector __bool char __a, __vector __bool char __b,725        __vector unsigned char __c) {726  return (((__vector __bool char)__c & __b) |727          (~(__vector __bool char)__c & __a));728}729 730static inline __ATTRS_o_ai __vector __bool char731vec_sel(__vector __bool char __a, __vector __bool char __b,732        __vector __bool char __c) {733  return (__c & __b) | (~__c & __a);734}735 736static inline __ATTRS_o_ai __vector unsigned char737vec_sel(__vector unsigned char __a, __vector unsigned char __b,738        __vector unsigned char __c) {739  return (__c & __b) | (~__c & __a);740}741 742static inline __ATTRS_o_ai __vector unsigned char743vec_sel(__vector unsigned char __a, __vector unsigned char __b,744        __vector __bool char __c) {745  return (((__vector unsigned char)__c & __b) |746          (~(__vector unsigned char)__c & __a));747}748 749static inline __ATTRS_o_ai __vector signed short750vec_sel(__vector signed short __a, __vector signed short __b,751        __vector unsigned short __c) {752  return (((__vector signed short)__c & __b) |753          (~(__vector signed short)__c & __a));754}755 756static inline __ATTRS_o_ai __vector signed short757vec_sel(__vector signed short __a, __vector signed short __b,758        __vector __bool short __c) {759  return (((__vector signed short)__c & __b) |760          (~(__vector signed short)__c & __a));761}762 763static inline __ATTRS_o_ai __vector __bool short764vec_sel(__vector __bool short __a, __vector __bool short __b,765        __vector unsigned short __c) {766  return (((__vector __bool short)__c & __b) |767          (~(__vector __bool short)__c & __a));768}769 770static inline __ATTRS_o_ai __vector __bool short771vec_sel(__vector __bool short __a, __vector __bool short __b,772        __vector __bool short __c) {773  return (__c & __b) | (~__c & __a);774}775 776static inline __ATTRS_o_ai __vector unsigned short777vec_sel(__vector unsigned short __a, __vector unsigned short __b,778        __vector unsigned short __c) {779  return (__c & __b) | (~__c & __a);780}781 782static inline __ATTRS_o_ai __vector unsigned short783vec_sel(__vector unsigned short __a, __vector unsigned short __b,784        __vector __bool short __c) {785  return (((__vector unsigned short)__c & __b) |786          (~(__vector unsigned short)__c & __a));787}788 789static inline __ATTRS_o_ai __vector signed int790vec_sel(__vector signed int __a, __vector signed int __b,791        __vector unsigned int __c) {792  return (((__vector signed int)__c & __b) |793          (~(__vector signed int)__c & __a));794}795 796static inline __ATTRS_o_ai __vector signed int797vec_sel(__vector signed int __a, __vector signed int __b,798        __vector __bool int __c) {799  return (((__vector signed int)__c & __b) |800          (~(__vector signed int)__c & __a));801}802 803static inline __ATTRS_o_ai __vector __bool int804vec_sel(__vector __bool int __a, __vector __bool int __b,805        __vector unsigned int __c) {806  return (((__vector __bool int)__c & __b) |807          (~(__vector __bool int)__c & __a));808}809 810static inline __ATTRS_o_ai __vector __bool int811vec_sel(__vector __bool int __a, __vector __bool int __b,812        __vector __bool int __c) {813  return (__c & __b) | (~__c & __a);814}815 816static inline __ATTRS_o_ai __vector unsigned int817vec_sel(__vector unsigned int __a, __vector unsigned int __b,818        __vector unsigned int __c) {819  return (__c & __b) | (~__c & __a);820}821 822static inline __ATTRS_o_ai __vector unsigned int823vec_sel(__vector unsigned int __a, __vector unsigned int __b,824        __vector __bool int __c) {825  return (((__vector unsigned int)__c & __b) |826          (~(__vector unsigned int)__c & __a));827}828 829static inline __ATTRS_o_ai __vector signed long long830vec_sel(__vector signed long long __a, __vector signed long long __b,831        __vector unsigned long long __c) {832  return (((__vector signed long long)__c & __b) |833          (~(__vector signed long long)__c & __a));834}835 836static inline __ATTRS_o_ai __vector signed long long837vec_sel(__vector signed long long __a, __vector signed long long __b,838        __vector __bool long long __c) {839  return (((__vector signed long long)__c & __b) |840          (~(__vector signed long long)__c & __a));841}842 843static inline __ATTRS_o_ai __vector __bool long long844vec_sel(__vector __bool long long __a, __vector __bool long long __b,845        __vector unsigned long long __c) {846  return (((__vector __bool long long)__c & __b) |847          (~(__vector __bool long long)__c & __a));848}849 850static inline __ATTRS_o_ai __vector __bool long long851vec_sel(__vector __bool long long __a, __vector __bool long long __b,852        __vector __bool long long __c) {853  return (__c & __b) | (~__c & __a);854}855 856static inline __ATTRS_o_ai __vector unsigned long long857vec_sel(__vector unsigned long long __a, __vector unsigned long long __b,858        __vector unsigned long long __c) {859  return (__c & __b) | (~__c & __a);860}861 862static inline __ATTRS_o_ai __vector unsigned long long863vec_sel(__vector unsigned long long __a, __vector unsigned long long __b,864        __vector __bool long long __c) {865  return (((__vector unsigned long long)__c & __b) |866          (~(__vector unsigned long long)__c & __a));867}868 869static inline __ATTRS_o_ai __vector signed __int128870vec_sel(__vector signed __int128 __a, __vector signed __int128 __b,871        __vector unsigned __int128 __c) {872  return (((__vector signed __int128)__c & __b) |873          (~(__vector signed __int128)__c & __a));874}875 876static inline __ATTRS_o_ai __vector signed __int128877vec_sel(__vector signed __int128 __a, __vector signed __int128 __b,878        __vector __bool __int128 __c) {879  return (((__vector signed __int128)__c & __b) |880          (~(__vector signed __int128)__c & __a));881}882 883static inline __ATTRS_o_ai __vector __bool __int128884vec_sel(__vector __bool __int128 __a, __vector __bool __int128 __b,885        __vector unsigned __int128 __c) {886  return (((__vector __bool __int128)__c & __b) |887          (~(__vector __bool __int128)__c & __a));888}889 890static inline __ATTRS_o_ai __vector __bool __int128891vec_sel(__vector __bool __int128 __a, __vector __bool __int128 __b,892        __vector __bool __int128 __c) {893  return (__c & __b) | (~__c & __a);894}895 896static inline __ATTRS_o_ai __vector unsigned __int128897vec_sel(__vector unsigned __int128 __a, __vector unsigned __int128 __b,898        __vector unsigned __int128 __c) {899  return (__c & __b) | (~__c & __a);900}901 902static inline __ATTRS_o_ai __vector unsigned __int128903vec_sel(__vector unsigned __int128 __a, __vector unsigned __int128 __b,904        __vector __bool __int128 __c) {905  return (((__vector unsigned __int128)__c & __b) |906          (~(__vector unsigned __int128)__c & __a));907}908 909#if __ARCH__ >= 12910static inline __ATTRS_o_ai __vector float911vec_sel(__vector float __a, __vector float __b, __vector unsigned int __c) {912  return (__vector float)((__c & (__vector unsigned int)__b) |913                          (~__c & (__vector unsigned int)__a));914}915 916static inline __ATTRS_o_ai __vector float917vec_sel(__vector float __a, __vector float __b, __vector __bool int __c) {918  __vector unsigned int __ac = (__vector unsigned int)__a;919  __vector unsigned int __bc = (__vector unsigned int)__b;920  __vector unsigned int __cc = (__vector unsigned int)__c;921  return (__vector float)((__cc & __bc) | (~__cc & __ac));922}923#endif924 925static inline __ATTRS_o_ai __vector double926vec_sel(__vector double __a, __vector double __b,927        __vector unsigned long long __c) {928  return (__vector double)((__c & (__vector unsigned long long)__b) |929                         (~__c & (__vector unsigned long long)__a));930}931 932static inline __ATTRS_o_ai __vector double933vec_sel(__vector double __a, __vector double __b,934        __vector __bool long long __c) {935  __vector unsigned long long __ac = (__vector unsigned long long)__a;936  __vector unsigned long long __bc = (__vector unsigned long long)__b;937  __vector unsigned long long __cc = (__vector unsigned long long)__c;938  return (__vector double)((__cc & __bc) | (~__cc & __ac));939}940 941/*-- vec_gather_element -----------------------------------------------------*/942 943static inline __ATTRS_o_ai __vector signed int944vec_gather_element(__vector signed int __vec,945                   __vector unsigned int __offset,946                   const signed int *__ptr, int __index)947  __constant_range(__index, 0, 3) {948  __vec[__index] = *(const signed int *)(949    (const char *)__ptr + __offset[__index]);950  return __vec;951}952 953static inline __ATTRS_o_ai __vector __bool int954vec_gather_element(__vector __bool int __vec,955                   __vector unsigned int __offset,956                   const unsigned int *__ptr, int __index)957  __constant_range(__index, 0, 3) {958  __vec[__index] = *(const unsigned int *)(959    (const char *)__ptr + __offset[__index]);960  return __vec;961}962 963static inline __ATTRS_o_ai __vector unsigned int964vec_gather_element(__vector unsigned int __vec,965                   __vector unsigned int __offset,966                   const unsigned int *__ptr, int __index)967  __constant_range(__index, 0, 3) {968  __vec[__index] = *(const unsigned int *)(969    (const char *)__ptr + __offset[__index]);970  return __vec;971}972 973static inline __ATTRS_o_ai __vector signed long long974vec_gather_element(__vector signed long long __vec,975                   __vector unsigned long long __offset,976                   const signed long long *__ptr, int __index)977  __constant_range(__index, 0, 1) {978  __vec[__index] = *(const signed long long *)(979    (const char *)__ptr + __offset[__index]);980  return __vec;981}982 983static inline __ATTRS_o_ai __vector __bool long long984vec_gather_element(__vector __bool long long __vec,985                   __vector unsigned long long __offset,986                   const unsigned long long *__ptr, int __index)987  __constant_range(__index, 0, 1) {988  __vec[__index] = *(const unsigned long long *)(989    (const char *)__ptr + __offset[__index]);990  return __vec;991}992 993static inline __ATTRS_o_ai __vector unsigned long long994vec_gather_element(__vector unsigned long long __vec,995                   __vector unsigned long long __offset,996                   const unsigned long long *__ptr, int __index)997  __constant_range(__index, 0, 1) {998  __vec[__index] = *(const unsigned long long *)(999    (const char *)__ptr + __offset[__index]);1000  return __vec;1001}1002 1003#if __ARCH__ >= 121004static inline __ATTRS_o_ai __vector float1005vec_gather_element(__vector float __vec,1006                   __vector unsigned int __offset,1007                   const float *__ptr, int __index)1008  __constant_range(__index, 0, 3) {1009  __vec[__index] = *(const float *)(1010    (const char *)__ptr + __offset[__index]);1011  return __vec;1012}1013#endif1014 1015static inline __ATTRS_o_ai __vector double1016vec_gather_element(__vector double __vec,1017                   __vector unsigned long long __offset,1018                   const double *__ptr, int __index)1019  __constant_range(__index, 0, 1) {1020  __vec[__index] = *(const double *)(1021    (const char *)__ptr + __offset[__index]);1022  return __vec;1023}1024 1025/*-- vec_scatter_element ----------------------------------------------------*/1026 1027static inline __ATTRS_o_ai void1028vec_scatter_element(__vector signed int __vec,1029                    __vector unsigned int __offset,1030                    signed int *__ptr, int __index)1031  __constant_range(__index, 0, 3) {1032  *(signed int *)((char *)__ptr + __offset[__index]) =1033    __vec[__index];1034}1035 1036static inline __ATTRS_o_ai void1037vec_scatter_element(__vector __bool int __vec,1038                    __vector unsigned int __offset,1039                    unsigned int *__ptr, int __index)1040  __constant_range(__index, 0, 3) {1041  *(unsigned int *)((char *)__ptr + __offset[__index]) =1042    __vec[__index];1043}1044 1045static inline __ATTRS_o_ai void1046vec_scatter_element(__vector unsigned int __vec,1047                    __vector unsigned int __offset,1048                    unsigned int *__ptr, int __index)1049  __constant_range(__index, 0, 3) {1050  *(unsigned int *)((char *)__ptr + __offset[__index]) =1051    __vec[__index];1052}1053 1054static inline __ATTRS_o_ai void1055vec_scatter_element(__vector signed long long __vec,1056                    __vector unsigned long long __offset,1057                    signed long long *__ptr, int __index)1058  __constant_range(__index, 0, 1) {1059  *(signed long long *)((char *)__ptr + __offset[__index]) =1060    __vec[__index];1061}1062 1063static inline __ATTRS_o_ai void1064vec_scatter_element(__vector __bool long long __vec,1065                    __vector unsigned long long __offset,1066                    unsigned long long *__ptr, int __index)1067  __constant_range(__index, 0, 1) {1068  *(unsigned long long *)((char *)__ptr + __offset[__index]) =1069    __vec[__index];1070}1071 1072static inline __ATTRS_o_ai void1073vec_scatter_element(__vector unsigned long long __vec,1074                    __vector unsigned long long __offset,1075                    unsigned long long *__ptr, int __index)1076  __constant_range(__index, 0, 1) {1077  *(unsigned long long *)((char *)__ptr + __offset[__index]) =1078    __vec[__index];1079}1080 1081#if __ARCH__ >= 121082static inline __ATTRS_o_ai void1083vec_scatter_element(__vector float __vec,1084                    __vector unsigned int __offset,1085                    float *__ptr, int __index)1086  __constant_range(__index, 0, 3) {1087  *(float *)((char *)__ptr + __offset[__index]) =1088    __vec[__index];1089}1090#endif1091 1092static inline __ATTRS_o_ai void1093vec_scatter_element(__vector double __vec,1094                    __vector unsigned long long __offset,1095                    double *__ptr, int __index)1096  __constant_range(__index, 0, 1) {1097  *(double *)((char *)__ptr + __offset[__index]) =1098    __vec[__index];1099}1100 1101/*-- vec_xl -----------------------------------------------------------------*/1102 1103static inline __ATTRS_o_ai __vector signed char1104vec_xl(long __offset, const signed char *__ptr) {1105  __vector signed char V;1106  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1107                   sizeof(__vector signed char));1108  return V;1109}1110 1111static inline __ATTRS_o_ai __vector unsigned char1112vec_xl(long __offset, const unsigned char *__ptr) {1113  __vector unsigned char V;1114  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1115                   sizeof(__vector unsigned char));1116  return V;1117}1118 1119static inline __ATTRS_o_ai __vector signed short1120vec_xl(long __offset, const signed short *__ptr) {1121  __vector signed short V;1122  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1123                   sizeof(__vector signed short));1124  return V;1125}1126 1127static inline __ATTRS_o_ai __vector unsigned short1128vec_xl(long __offset, const unsigned short *__ptr) {1129  __vector unsigned short V;1130  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1131                   sizeof(__vector unsigned short));1132  return V;1133}1134 1135static inline __ATTRS_o_ai __vector signed int1136vec_xl(long __offset, const signed int *__ptr) {1137  __vector signed int V;1138  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1139                   sizeof(__vector signed int));1140  return V;1141}1142 1143static inline __ATTRS_o_ai __vector unsigned int1144vec_xl(long __offset, const unsigned int *__ptr) {1145  __vector unsigned int V;1146  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1147                   sizeof(__vector unsigned int));1148  return V;1149}1150 1151static inline __ATTRS_o_ai __vector signed long long1152vec_xl(long __offset, const signed long long *__ptr) {1153  __vector signed long long V;1154  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1155                   sizeof(__vector signed long long));1156  return V;1157}1158 1159static inline __ATTRS_o_ai __vector unsigned long long1160vec_xl(long __offset, const unsigned long long *__ptr) {1161  __vector unsigned long long V;1162  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1163                   sizeof(__vector unsigned long long));1164  return V;1165}1166 1167static inline __ATTRS_o_ai __vector signed __int1281168vec_xl(long __offset, const signed __int128 *__ptr) {1169  __vector signed __int128 V;1170  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1171                   sizeof(__vector signed __int128));1172  return V;1173}1174 1175static inline __ATTRS_o_ai __vector unsigned __int1281176vec_xl(long __offset, const unsigned __int128 *__ptr) {1177  __vector unsigned __int128 V;1178  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1179                   sizeof(__vector unsigned __int128));1180  return V;1181}1182 1183#if __ARCH__ >= 121184static inline __ATTRS_o_ai __vector float1185vec_xl(long __offset, const float *__ptr) {1186  __vector float V;1187  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1188                   sizeof(__vector float));1189  return V;1190}1191#endif1192 1193static inline __ATTRS_o_ai __vector double1194vec_xl(long __offset, const double *__ptr) {1195  __vector double V;1196  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1197                   sizeof(__vector double));1198  return V;1199}1200 1201/*-- vec_xld2 ---------------------------------------------------------------*/1202 1203// This prototype is deprecated.1204static inline __ATTRS_o_ai __vector signed char1205vec_xld2(long __offset, const signed char *__ptr) {1206  __vector signed char V;1207  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1208                   sizeof(__vector signed char));1209  return V;1210}1211 1212// This prototype is deprecated.1213static inline __ATTRS_o_ai __vector unsigned char1214vec_xld2(long __offset, const unsigned char *__ptr) {1215  __vector unsigned char V;1216  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1217                   sizeof(__vector unsigned char));1218  return V;1219}1220 1221// This prototype is deprecated.1222static inline __ATTRS_o_ai __vector signed short1223vec_xld2(long __offset, const signed short *__ptr) {1224  __vector signed short V;1225  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1226                   sizeof(__vector signed short));1227  return V;1228}1229 1230// This prototype is deprecated.1231static inline __ATTRS_o_ai __vector unsigned short1232vec_xld2(long __offset, const unsigned short *__ptr) {1233  __vector unsigned short V;1234  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1235                   sizeof(__vector unsigned short));1236  return V;1237}1238 1239// This prototype is deprecated.1240static inline __ATTRS_o_ai __vector signed int1241vec_xld2(long __offset, const signed int *__ptr) {1242  __vector signed int V;1243  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1244                   sizeof(__vector signed int));1245  return V;1246}1247 1248// This prototype is deprecated.1249static inline __ATTRS_o_ai __vector unsigned int1250vec_xld2(long __offset, const unsigned int *__ptr) {1251  __vector unsigned int V;1252  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1253                   sizeof(__vector unsigned int));1254  return V;1255}1256 1257// This prototype is deprecated.1258static inline __ATTRS_o_ai __vector signed long long1259vec_xld2(long __offset, const signed long long *__ptr) {1260  __vector signed long long V;1261  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1262                   sizeof(__vector signed long long));1263  return V;1264}1265 1266// This prototype is deprecated.1267static inline __ATTRS_o_ai __vector unsigned long long1268vec_xld2(long __offset, const unsigned long long *__ptr) {1269  __vector unsigned long long V;1270  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1271                   sizeof(__vector unsigned long long));1272  return V;1273}1274 1275// This prototype is deprecated.1276static inline __ATTRS_o_ai __vector double1277vec_xld2(long __offset, const double *__ptr) {1278  __vector double V;1279  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1280                   sizeof(__vector double));1281  return V;1282}1283 1284/*-- vec_xlw4 ---------------------------------------------------------------*/1285 1286// This prototype is deprecated.1287static inline __ATTRS_o_ai __vector signed char1288vec_xlw4(long __offset, const signed char *__ptr) {1289  __vector signed char V;1290  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1291                   sizeof(__vector signed char));1292  return V;1293}1294 1295// This prototype is deprecated.1296static inline __ATTRS_o_ai __vector unsigned char1297vec_xlw4(long __offset, const unsigned char *__ptr) {1298  __vector unsigned char V;1299  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1300                   sizeof(__vector unsigned char));1301  return V;1302}1303 1304// This prototype is deprecated.1305static inline __ATTRS_o_ai __vector signed short1306vec_xlw4(long __offset, const signed short *__ptr) {1307  __vector signed short V;1308  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1309                   sizeof(__vector signed short));1310  return V;1311}1312 1313// This prototype is deprecated.1314static inline __ATTRS_o_ai __vector unsigned short1315vec_xlw4(long __offset, const unsigned short *__ptr) {1316  __vector unsigned short V;1317  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1318                   sizeof(__vector unsigned short));1319  return V;1320}1321 1322// This prototype is deprecated.1323static inline __ATTRS_o_ai __vector signed int1324vec_xlw4(long __offset, const signed int *__ptr) {1325  __vector signed int V;1326  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1327                   sizeof(__vector signed int));1328  return V;1329}1330 1331// This prototype is deprecated.1332static inline __ATTRS_o_ai __vector unsigned int1333vec_xlw4(long __offset, const unsigned int *__ptr) {1334  __vector unsigned int V;1335  __builtin_memcpy(&V, ((const char *)__ptr + __offset),1336                   sizeof(__vector unsigned int));1337  return V;1338}1339 1340/*-- vec_xst ----------------------------------------------------------------*/1341 1342static inline __ATTRS_o_ai void1343vec_xst(__vector signed char __vec, long __offset, signed char *__ptr) {1344  __vector signed char V = __vec;1345  __builtin_memcpy(((char *)__ptr + __offset), &V,1346                   sizeof(__vector signed char));1347}1348 1349static inline __ATTRS_o_ai void1350vec_xst(__vector unsigned char __vec, long __offset, unsigned char *__ptr) {1351  __vector unsigned char V = __vec;1352  __builtin_memcpy(((char *)__ptr + __offset), &V,1353                   sizeof(__vector unsigned char));1354}1355 1356static inline __ATTRS_o_ai void1357vec_xst(__vector signed short __vec, long __offset, signed short *__ptr) {1358  __vector signed short V = __vec;1359  __builtin_memcpy(((char *)__ptr + __offset), &V,1360                   sizeof(__vector signed short));1361}1362 1363static inline __ATTRS_o_ai void1364vec_xst(__vector unsigned short __vec, long __offset, unsigned short *__ptr) {1365  __vector unsigned short V = __vec;1366  __builtin_memcpy(((char *)__ptr + __offset), &V,1367                   sizeof(__vector unsigned short));1368}1369 1370static inline __ATTRS_o_ai void1371vec_xst(__vector signed int __vec, long __offset, signed int *__ptr) {1372  __vector signed int V = __vec;1373  __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector signed int));1374}1375 1376static inline __ATTRS_o_ai void1377vec_xst(__vector unsigned int __vec, long __offset, unsigned int *__ptr) {1378  __vector unsigned int V = __vec;1379  __builtin_memcpy(((char *)__ptr + __offset), &V,1380                   sizeof(__vector unsigned int));1381}1382 1383static inline __ATTRS_o_ai void1384vec_xst(__vector signed long long __vec, long __offset,1385        signed long long *__ptr) {1386  __vector signed long long V = __vec;1387  __builtin_memcpy(((char *)__ptr + __offset), &V,1388                   sizeof(__vector signed long long));1389}1390 1391static inline __ATTRS_o_ai void1392vec_xst(__vector unsigned long long __vec, long __offset,1393        unsigned long long *__ptr) {1394  __vector unsigned long long V = __vec;1395  __builtin_memcpy(((char *)__ptr + __offset), &V,1396                   sizeof(__vector unsigned long long));1397}1398 1399static inline __ATTRS_o_ai void1400vec_xst(__vector signed __int128 __vec, long __offset,1401        signed __int128 *__ptr) {1402  __vector signed __int128 V = __vec;1403  __builtin_memcpy(((char *)__ptr + __offset), &V,1404                   sizeof(__vector signed __int128));1405}1406 1407static inline __ATTRS_o_ai void1408vec_xst(__vector unsigned __int128 __vec, long __offset,1409        unsigned __int128 *__ptr) {1410  __vector unsigned __int128 V = __vec;1411  __builtin_memcpy(((char *)__ptr + __offset), &V,1412                   sizeof(__vector unsigned __int128));1413}1414 1415#if __ARCH__ >= 121416static inline __ATTRS_o_ai void1417vec_xst(__vector float __vec, long __offset, float *__ptr) {1418  __vector float V = __vec;1419  __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector float));1420}1421#endif1422 1423static inline __ATTRS_o_ai void1424vec_xst(__vector double __vec, long __offset, double *__ptr) {1425  __vector double V = __vec;1426  __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector double));1427}1428 1429/*-- vec_xstd2 --------------------------------------------------------------*/1430 1431// This prototype is deprecated.1432static inline __ATTRS_o_ai void1433vec_xstd2(__vector signed char __vec, long __offset, signed char *__ptr) {1434  __vector signed char V = __vec;1435  __builtin_memcpy(((char *)__ptr + __offset), &V,1436                   sizeof(__vector signed char));1437}1438 1439// This prototype is deprecated.1440static inline __ATTRS_o_ai void1441vec_xstd2(__vector unsigned char __vec, long __offset, unsigned char *__ptr) {1442  __vector unsigned char V = __vec;1443  __builtin_memcpy(((char *)__ptr + __offset), &V,1444                   sizeof(__vector unsigned char));1445}1446 1447// This prototype is deprecated.1448static inline __ATTRS_o_ai void1449vec_xstd2(__vector signed short __vec, long __offset, signed short *__ptr) {1450  __vector signed short V = __vec;1451  __builtin_memcpy(((char *)__ptr + __offset), &V,1452                   sizeof(__vector signed short));1453}1454 1455// This prototype is deprecated.1456static inline __ATTRS_o_ai void1457vec_xstd2(__vector unsigned short __vec, long __offset, unsigned short *__ptr) {1458  __vector unsigned short V = __vec;1459  __builtin_memcpy(((char *)__ptr + __offset), &V,1460                   sizeof(__vector unsigned short));1461}1462 1463// This prototype is deprecated.1464static inline __ATTRS_o_ai void1465vec_xstd2(__vector signed int __vec, long __offset, signed int *__ptr) {1466  __vector signed int V = __vec;1467  __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector signed int));1468}1469 1470// This prototype is deprecated.1471static inline __ATTRS_o_ai void1472vec_xstd2(__vector unsigned int __vec, long __offset, unsigned int *__ptr) {1473  __vector unsigned int V = __vec;1474  __builtin_memcpy(((char *)__ptr + __offset), &V,1475                   sizeof(__vector unsigned int));1476}1477 1478// This prototype is deprecated.1479static inline __ATTRS_o_ai void1480vec_xstd2(__vector signed long long __vec, long __offset,1481          signed long long *__ptr) {1482  __vector signed long long V = __vec;1483  __builtin_memcpy(((char *)__ptr + __offset), &V,1484                   sizeof(__vector signed long long));1485}1486 1487// This prototype is deprecated.1488static inline __ATTRS_o_ai void1489vec_xstd2(__vector unsigned long long __vec, long __offset,1490          unsigned long long *__ptr) {1491  __vector unsigned long long V = __vec;1492  __builtin_memcpy(((char *)__ptr + __offset), &V,1493                   sizeof(__vector unsigned long long));1494}1495 1496// This prototype is deprecated.1497static inline __ATTRS_o_ai void1498vec_xstd2(__vector double __vec, long __offset, double *__ptr) {1499  __vector double V = __vec;1500  __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector double));1501}1502 1503/*-- vec_xstw4 --------------------------------------------------------------*/1504 1505// This prototype is deprecated.1506static inline __ATTRS_o_ai void1507vec_xstw4(__vector signed char __vec, long __offset, signed char *__ptr) {1508  __vector signed char V = __vec;1509  __builtin_memcpy(((char *)__ptr + __offset), &V,1510                   sizeof(__vector signed char));1511}1512 1513// This prototype is deprecated.1514static inline __ATTRS_o_ai void1515vec_xstw4(__vector unsigned char __vec, long __offset, unsigned char *__ptr) {1516  __vector unsigned char V = __vec;1517  __builtin_memcpy(((char *)__ptr + __offset), &V,1518                   sizeof(__vector unsigned char));1519}1520 1521// This prototype is deprecated.1522static inline __ATTRS_o_ai void1523vec_xstw4(__vector signed short __vec, long __offset, signed short *__ptr) {1524  __vector signed short V = __vec;1525  __builtin_memcpy(((char *)__ptr + __offset), &V,1526                   sizeof(__vector signed short));1527}1528 1529// This prototype is deprecated.1530static inline __ATTRS_o_ai void1531vec_xstw4(__vector unsigned short __vec, long __offset, unsigned short *__ptr) {1532  __vector unsigned short V = __vec;1533  __builtin_memcpy(((char *)__ptr + __offset), &V,1534                   sizeof(__vector unsigned short));1535}1536 1537// This prototype is deprecated.1538static inline __ATTRS_o_ai void1539vec_xstw4(__vector signed int __vec, long __offset, signed int *__ptr) {1540  __vector signed int V = __vec;1541  __builtin_memcpy(((char *)__ptr + __offset), &V, sizeof(__vector signed int));1542}1543 1544// This prototype is deprecated.1545static inline __ATTRS_o_ai void1546vec_xstw4(__vector unsigned int __vec, long __offset, unsigned int *__ptr) {1547  __vector unsigned int V = __vec;1548  __builtin_memcpy(((char *)__ptr + __offset), &V,1549                   sizeof(__vector unsigned int));1550}1551 1552/*-- vec_load_bndry ---------------------------------------------------------*/1553 1554extern __ATTRS_o __vector signed char1555vec_load_bndry(const signed char *__ptr, unsigned short __len)1556  __constant_pow2_range(__len, 64, 4096);1557 1558extern __ATTRS_o __vector unsigned char1559vec_load_bndry(const unsigned char *__ptr, unsigned short __len)1560  __constant_pow2_range(__len, 64, 4096);1561 1562extern __ATTRS_o __vector signed short1563vec_load_bndry(const signed short *__ptr, unsigned short __len)1564  __constant_pow2_range(__len, 64, 4096);1565 1566extern __ATTRS_o __vector unsigned short1567vec_load_bndry(const unsigned short *__ptr, unsigned short __len)1568  __constant_pow2_range(__len, 64, 4096);1569 1570extern __ATTRS_o __vector signed int1571vec_load_bndry(const signed int *__ptr, unsigned short __len)1572  __constant_pow2_range(__len, 64, 4096);1573 1574extern __ATTRS_o __vector unsigned int1575vec_load_bndry(const unsigned int *__ptr, unsigned short __len)1576  __constant_pow2_range(__len, 64, 4096);1577 1578extern __ATTRS_o __vector signed long long1579vec_load_bndry(const signed long long *__ptr, unsigned short __len)1580  __constant_pow2_range(__len, 64, 4096);1581 1582extern __ATTRS_o __vector unsigned long long1583vec_load_bndry(const unsigned long long *__ptr, unsigned short __len)1584  __constant_pow2_range(__len, 64, 4096);1585 1586extern __ATTRS_o __vector signed __int1281587vec_load_bndry(const signed __int128 *__ptr, unsigned short __len)1588  __constant_pow2_range(__len, 64, 4096);1589 1590extern __ATTRS_o __vector unsigned __int1281591vec_load_bndry(const unsigned __int128 *__ptr, unsigned short __len)1592  __constant_pow2_range(__len, 64, 4096);1593 1594#if __ARCH__ >= 121595extern __ATTRS_o __vector float1596vec_load_bndry(const float *__ptr, unsigned short __len)1597  __constant_pow2_range(__len, 64, 4096);1598#endif1599 1600extern __ATTRS_o __vector double1601vec_load_bndry(const double *__ptr, unsigned short __len)1602  __constant_pow2_range(__len, 64, 4096);1603 1604#define vec_load_bndry(X, Y) ((__typeof__((vec_load_bndry)((X), (Y)))) \1605  __builtin_s390_vlbb((X), ((Y) == 64 ? 0 : \1606                            (Y) == 128 ? 1 : \1607                            (Y) == 256 ? 2 : \1608                            (Y) == 512 ? 3 : \1609                            (Y) == 1024 ? 4 : \1610                            (Y) == 2048 ? 5 : \1611                            (Y) == 4096 ? 6 : -1)))1612 1613/*-- vec_load_len -----------------------------------------------------------*/1614 1615static inline __ATTRS_o_ai __vector signed char1616vec_load_len(const signed char *__ptr, unsigned int __len) {1617  return (__vector signed char)__builtin_s390_vll(__len, __ptr);1618}1619 1620static inline __ATTRS_o_ai __vector unsigned char1621vec_load_len(const unsigned char *__ptr, unsigned int __len) {1622  return (__vector unsigned char)__builtin_s390_vll(__len, __ptr);1623}1624 1625// This prototype is deprecated.1626static inline __ATTRS_o_ai __vector signed short1627vec_load_len(const signed short *__ptr, unsigned int __len) {1628  return (__vector signed short)__builtin_s390_vll(__len, __ptr);1629}1630 1631// This prototype is deprecated.1632static inline __ATTRS_o_ai __vector unsigned short1633vec_load_len(const unsigned short *__ptr, unsigned int __len) {1634  return (__vector unsigned short)__builtin_s390_vll(__len, __ptr);1635}1636 1637// This prototype is deprecated.1638static inline __ATTRS_o_ai __vector signed int1639vec_load_len(const signed int *__ptr, unsigned int __len) {1640  return (__vector signed int)__builtin_s390_vll(__len, __ptr);1641}1642 1643// This prototype is deprecated.1644static inline __ATTRS_o_ai __vector unsigned int1645vec_load_len(const unsigned int *__ptr, unsigned int __len) {1646  return (__vector unsigned int)__builtin_s390_vll(__len, __ptr);1647}1648 1649// This prototype is deprecated.1650static inline __ATTRS_o_ai __vector signed long long1651vec_load_len(const signed long long *__ptr, unsigned int __len) {1652  return (__vector signed long long)__builtin_s390_vll(__len, __ptr);1653}1654 1655// This prototype is deprecated.1656static inline __ATTRS_o_ai __vector unsigned long long1657vec_load_len(const unsigned long long *__ptr, unsigned int __len) {1658  return (__vector unsigned long long)__builtin_s390_vll(__len, __ptr);1659}1660 1661#if __ARCH__ >= 121662// This prototype is deprecated.1663static inline __ATTRS_o_ai __vector float1664vec_load_len(const float *__ptr, unsigned int __len) {1665  return (__vector float)__builtin_s390_vll(__len, __ptr);1666}1667#endif1668 1669// This prototype is deprecated.1670static inline __ATTRS_o_ai __vector double1671vec_load_len(const double *__ptr, unsigned int __len) {1672  return (__vector double)__builtin_s390_vll(__len, __ptr);1673}1674 1675/*-- vec_load_len_r ---------------------------------------------------------*/1676 1677#if __ARCH__ >= 121678static inline __ATTRS_o_ai __vector signed char1679vec_load_len_r(const signed char *__ptr, unsigned int __len) {1680  return (__vector signed char)__builtin_s390_vlrlr(__len, __ptr);1681}1682 1683static inline __ATTRS_o_ai __vector unsigned char1684vec_load_len_r(const unsigned char *__ptr, unsigned int __len) {1685  return (__vector unsigned char)__builtin_s390_vlrlr(__len, __ptr);1686}1687#endif1688 1689/*-- vec_store_len ----------------------------------------------------------*/1690 1691static inline __ATTRS_o_ai void1692vec_store_len(__vector signed char __vec, signed char *__ptr,1693              unsigned int __len) {1694  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);1695}1696 1697static inline __ATTRS_o_ai void1698vec_store_len(__vector unsigned char __vec, unsigned char *__ptr,1699              unsigned int __len) {1700  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);1701}1702 1703// This prototype is deprecated.1704static inline __ATTRS_o_ai void1705vec_store_len(__vector signed short __vec, signed short *__ptr,1706              unsigned int __len) {1707  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);1708}1709 1710// This prototype is deprecated.1711static inline __ATTRS_o_ai void1712vec_store_len(__vector unsigned short __vec, unsigned short *__ptr,1713              unsigned int __len) {1714  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);1715}1716 1717// This prototype is deprecated.1718static inline __ATTRS_o_ai void1719vec_store_len(__vector signed int __vec, signed int *__ptr,1720              unsigned int __len) {1721  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);1722}1723 1724// This prototype is deprecated.1725static inline __ATTRS_o_ai void1726vec_store_len(__vector unsigned int __vec, unsigned int *__ptr,1727              unsigned int __len) {1728  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);1729}1730 1731// This prototype is deprecated.1732static inline __ATTRS_o_ai void1733vec_store_len(__vector signed long long __vec, signed long long *__ptr,1734              unsigned int __len) {1735  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);1736}1737 1738// This prototype is deprecated.1739static inline __ATTRS_o_ai void1740vec_store_len(__vector unsigned long long __vec, unsigned long long *__ptr,1741              unsigned int __len) {1742  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);1743}1744 1745#if __ARCH__ >= 121746// This prototype is deprecated.1747static inline __ATTRS_o_ai void1748vec_store_len(__vector float __vec, float *__ptr,1749              unsigned int __len) {1750  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);1751}1752#endif1753 1754// This prototype is deprecated.1755static inline __ATTRS_o_ai void1756vec_store_len(__vector double __vec, double *__ptr,1757              unsigned int __len) {1758  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);1759}1760 1761/*-- vec_store_len_r --------------------------------------------------------*/1762 1763#if __ARCH__ >= 121764static inline __ATTRS_o_ai void1765vec_store_len_r(__vector signed char __vec, signed char *__ptr,1766                unsigned int __len) {1767  __builtin_s390_vstrlr(__vec, __len, __ptr);1768}1769 1770static inline __ATTRS_o_ai void1771vec_store_len_r(__vector unsigned char __vec, unsigned char *__ptr,1772                unsigned int __len) {1773  __builtin_s390_vstrlr((__vector signed char)__vec, __len, __ptr);1774}1775#endif1776 1777/*-- vec_load_pair ----------------------------------------------------------*/1778 1779static inline __ATTRS_o_ai __vector signed long long1780vec_load_pair(signed long long __a, signed long long __b) {1781  return (__vector signed long long)(__a, __b);1782}1783 1784static inline __ATTRS_o_ai __vector unsigned long long1785vec_load_pair(unsigned long long __a, unsigned long long __b) {1786  return (__vector unsigned long long)(__a, __b);1787}1788 1789/*-- vec_genmask ------------------------------------------------------------*/1790 1791static inline __ATTRS_o_ai __vector unsigned char1792vec_genmask(unsigned short __mask)1793  __constant(__mask) {1794  return (__vector unsigned char)(1795    __mask & 0x8000 ? 0xff : 0,1796    __mask & 0x4000 ? 0xff : 0,1797    __mask & 0x2000 ? 0xff : 0,1798    __mask & 0x1000 ? 0xff : 0,1799    __mask & 0x0800 ? 0xff : 0,1800    __mask & 0x0400 ? 0xff : 0,1801    __mask & 0x0200 ? 0xff : 0,1802    __mask & 0x0100 ? 0xff : 0,1803    __mask & 0x0080 ? 0xff : 0,1804    __mask & 0x0040 ? 0xff : 0,1805    __mask & 0x0020 ? 0xff : 0,1806    __mask & 0x0010 ? 0xff : 0,1807    __mask & 0x0008 ? 0xff : 0,1808    __mask & 0x0004 ? 0xff : 0,1809    __mask & 0x0002 ? 0xff : 0,1810    __mask & 0x0001 ? 0xff : 0);1811}1812 1813/*-- vec_genmasks_* ---------------------------------------------------------*/1814 1815static inline __ATTRS_o_ai __vector unsigned char1816vec_genmasks_8(unsigned char __first, unsigned char __last)1817  __constant(__first) __constant(__last) {1818  unsigned char __bit1 = __first & 7;1819  unsigned char __bit2 = __last & 7;1820  unsigned char __mask1 = (unsigned char)(1U << (7 - __bit1) << 1) - 1;1821  unsigned char __mask2 = (unsigned char)(1U << (7 - __bit2)) - 1;1822  unsigned char __value = (__bit1 <= __bit2 ?1823                           __mask1 & ~__mask2 :1824                           __mask1 | ~__mask2);1825  return (__vector unsigned char)__value;1826}1827 1828static inline __ATTRS_o_ai __vector unsigned short1829vec_genmasks_16(unsigned char __first, unsigned char __last)1830  __constant(__first) __constant(__last) {1831  unsigned char __bit1 = __first & 15;1832  unsigned char __bit2 = __last & 15;1833  unsigned short __mask1 = (unsigned short)(1U << (15 - __bit1) << 1) - 1;1834  unsigned short __mask2 = (unsigned short)(1U << (15 - __bit2)) - 1;1835  unsigned short __value = (__bit1 <= __bit2 ?1836                            __mask1 & ~__mask2 :1837                            __mask1 | ~__mask2);1838  return (__vector unsigned short)__value;1839}1840 1841static inline __ATTRS_o_ai __vector unsigned int1842vec_genmasks_32(unsigned char __first, unsigned char __last)1843  __constant(__first) __constant(__last) {1844  unsigned char __bit1 = __first & 31;1845  unsigned char __bit2 = __last & 31;1846  unsigned int __mask1 = (1U << (31 - __bit1) << 1) - 1;1847  unsigned int __mask2 = (1U << (31 - __bit2)) - 1;1848  unsigned int __value = (__bit1 <= __bit2 ?1849                          __mask1 & ~__mask2 :1850                          __mask1 | ~__mask2);1851  return (__vector unsigned int)__value;1852}1853 1854static inline __ATTRS_o_ai __vector unsigned long long1855vec_genmasks_64(unsigned char __first, unsigned char __last)1856  __constant(__first) __constant(__last) {1857  unsigned char __bit1 = __first & 63;1858  unsigned char __bit2 = __last & 63;1859  unsigned long long __mask1 = (1ULL << (63 - __bit1) << 1) - 1;1860  unsigned long long __mask2 = (1ULL << (63 - __bit2)) - 1;1861  unsigned long long __value = (__bit1 <= __bit2 ?1862                                __mask1 & ~__mask2 :1863                                __mask1 | ~__mask2);1864  return (__vector unsigned long long)__value;1865}1866 1867/*-- vec_gen_element_masks_* ------------------------------------------------*/1868 1869#if __ARCH__ >= 151870static inline __ATTRS_ai __vector unsigned char1871vec_gen_element_masks_8(__vector unsigned short __mask) {1872  return __builtin_s390_vgemb(__mask);1873}1874 1875static inline __ATTRS_ai __vector unsigned short1876vec_gen_element_masks_16(__vector unsigned char __mask) {1877  return __builtin_s390_vgemh(__mask);1878}1879 1880static inline __ATTRS_ai __vector unsigned int1881vec_gen_element_masks_32(__vector unsigned char __mask) {1882  return __builtin_s390_vgemf(__mask);1883}1884 1885static inline __ATTRS_ai __vector unsigned long long1886vec_gen_element_masks_64(__vector unsigned char __mask) {1887  return __builtin_s390_vgemg(__mask);1888}1889 1890static inline __ATTRS_ai __vector unsigned __int1281891vec_gen_element_masks_128(__vector unsigned char __mask) {1892  return (__vector unsigned __int128)__builtin_s390_vgemq(__mask);1893}1894#endif1895 1896/*-- vec_splat --------------------------------------------------------------*/1897 1898static inline __ATTRS_o_ai __vector signed char1899vec_splat(__vector signed char __vec, int __index)1900  __constant_range(__index, 0, 15) {1901  return (__vector signed char)__vec[__index];1902}1903 1904static inline __ATTRS_o_ai __vector __bool char1905vec_splat(__vector __bool char __vec, int __index)1906  __constant_range(__index, 0, 15) {1907  return (__vector __bool char)(__vector unsigned char)__vec[__index];1908}1909 1910static inline __ATTRS_o_ai __vector unsigned char1911vec_splat(__vector unsigned char __vec, int __index)1912  __constant_range(__index, 0, 15) {1913  return (__vector unsigned char)__vec[__index];1914}1915 1916static inline __ATTRS_o_ai __vector signed short1917vec_splat(__vector signed short __vec, int __index)1918  __constant_range(__index, 0, 7) {1919  return (__vector signed short)__vec[__index];1920}1921 1922static inline __ATTRS_o_ai __vector __bool short1923vec_splat(__vector __bool short __vec, int __index)1924  __constant_range(__index, 0, 7) {1925  return (__vector __bool short)(__vector unsigned short)__vec[__index];1926}1927 1928static inline __ATTRS_o_ai __vector unsigned short1929vec_splat(__vector unsigned short __vec, int __index)1930  __constant_range(__index, 0, 7) {1931  return (__vector unsigned short)__vec[__index];1932}1933 1934static inline __ATTRS_o_ai __vector signed int1935vec_splat(__vector signed int __vec, int __index)1936  __constant_range(__index, 0, 3) {1937  return (__vector signed int)__vec[__index];1938}1939 1940static inline __ATTRS_o_ai __vector __bool int1941vec_splat(__vector __bool int __vec, int __index)1942  __constant_range(__index, 0, 3) {1943  return (__vector __bool int)(__vector unsigned int)__vec[__index];1944}1945 1946static inline __ATTRS_o_ai __vector unsigned int1947vec_splat(__vector unsigned int __vec, int __index)1948  __constant_range(__index, 0, 3) {1949  return (__vector unsigned int)__vec[__index];1950}1951 1952static inline __ATTRS_o_ai __vector signed long long1953vec_splat(__vector signed long long __vec, int __index)1954  __constant_range(__index, 0, 1) {1955  return (__vector signed long long)__vec[__index];1956}1957 1958static inline __ATTRS_o_ai __vector __bool long long1959vec_splat(__vector __bool long long __vec, int __index)1960  __constant_range(__index, 0, 1) {1961  return ((__vector __bool long long)1962          (__vector unsigned long long)__vec[__index]);1963}1964 1965static inline __ATTRS_o_ai __vector unsigned long long1966vec_splat(__vector unsigned long long __vec, int __index)1967  __constant_range(__index, 0, 1) {1968  return (__vector unsigned long long)__vec[__index];1969}1970 1971#if __ARCH__ >= 121972static inline __ATTRS_o_ai __vector float1973vec_splat(__vector float __vec, int __index)1974  __constant_range(__index, 0, 3) {1975  return (__vector float)__vec[__index];1976}1977#endif1978 1979static inline __ATTRS_o_ai __vector double1980vec_splat(__vector double __vec, int __index)1981  __constant_range(__index, 0, 1) {1982  return (__vector double)__vec[__index];1983}1984 1985/*-- vec_splat_s* -----------------------------------------------------------*/1986 1987static inline __ATTRS_ai __vector signed char1988vec_splat_s8(signed char __scalar)1989  __constant(__scalar) {1990  return (__vector signed char)__scalar;1991}1992 1993static inline __ATTRS_ai __vector signed short1994vec_splat_s16(signed short __scalar)1995  __constant(__scalar) {1996  return (__vector signed short)__scalar;1997}1998 1999static inline __ATTRS_ai __vector signed int2000vec_splat_s32(signed short __scalar)2001  __constant(__scalar) {2002  return (__vector signed int)(signed int)__scalar;2003}2004 2005static inline __ATTRS_ai __vector signed long long2006vec_splat_s64(signed short __scalar)2007  __constant(__scalar) {2008  return (__vector signed long long)(signed long)__scalar;2009}2010 2011/*-- vec_splat_u* -----------------------------------------------------------*/2012 2013static inline __ATTRS_ai __vector unsigned char2014vec_splat_u8(unsigned char __scalar)2015  __constant(__scalar) {2016  return (__vector unsigned char)__scalar;2017}2018 2019static inline __ATTRS_ai __vector unsigned short2020vec_splat_u16(unsigned short __scalar)2021  __constant(__scalar) {2022  return (__vector unsigned short)__scalar;2023}2024 2025static inline __ATTRS_ai __vector unsigned int2026vec_splat_u32(signed short __scalar)2027  __constant(__scalar) {2028  return (__vector unsigned int)(signed int)__scalar;2029}2030 2031static inline __ATTRS_ai __vector unsigned long long2032vec_splat_u64(signed short __scalar)2033  __constant(__scalar) {2034  return (__vector unsigned long long)(signed long long)__scalar;2035}2036 2037/*-- vec_splats -------------------------------------------------------------*/2038 2039static inline __ATTRS_o_ai __vector signed char2040vec_splats(signed char __scalar) {2041  return (__vector signed char)__scalar;2042}2043 2044static inline __ATTRS_o_ai __vector unsigned char2045vec_splats(unsigned char __scalar) {2046  return (__vector unsigned char)__scalar;2047}2048 2049static inline __ATTRS_o_ai __vector signed short2050vec_splats(signed short __scalar) {2051  return (__vector signed short)__scalar;2052}2053 2054static inline __ATTRS_o_ai __vector unsigned short2055vec_splats(unsigned short __scalar) {2056  return (__vector unsigned short)__scalar;2057}2058 2059static inline __ATTRS_o_ai __vector signed int2060vec_splats(signed int __scalar) {2061  return (__vector signed int)__scalar;2062}2063 2064static inline __ATTRS_o_ai __vector unsigned int2065vec_splats(unsigned int __scalar) {2066  return (__vector unsigned int)__scalar;2067}2068 2069static inline __ATTRS_o_ai __vector signed long long2070vec_splats(signed long long __scalar) {2071  return (__vector signed long long)__scalar;2072}2073 2074static inline __ATTRS_o_ai __vector unsigned long long2075vec_splats(unsigned long long __scalar) {2076  return (__vector unsigned long long)__scalar;2077}2078 2079static inline __ATTRS_o_ai __vector signed __int1282080vec_splats(signed __int128 __scalar) {2081  return (__vector signed __int128)__scalar;2082}2083 2084static inline __ATTRS_o_ai __vector unsigned __int1282085vec_splats(unsigned __int128 __scalar) {2086  return (__vector unsigned __int128)__scalar;2087}2088 2089#if __ARCH__ >= 122090static inline __ATTRS_o_ai __vector float2091vec_splats(float __scalar) {2092  return (__vector float)__scalar;2093}2094#endif2095 2096static inline __ATTRS_o_ai __vector double2097vec_splats(double __scalar) {2098  return (__vector double)__scalar;2099}2100 2101/*-- vec_extend_s64 ---------------------------------------------------------*/2102 2103static inline __ATTRS_o_ai __vector signed long long2104vec_extend_s64(__vector signed char __a) {2105  return (__vector signed long long)(__a[7], __a[15]);2106}2107 2108static inline __ATTRS_o_ai __vector signed long long2109vec_extend_s64(__vector signed short __a) {2110  return (__vector signed long long)(__a[3], __a[7]);2111}2112 2113static inline __ATTRS_o_ai __vector signed long long2114vec_extend_s64(__vector signed int __a) {2115  return (__vector signed long long)(__a[1], __a[3]);2116}2117 2118/*-- vec_mergeh -------------------------------------------------------------*/2119 2120static inline __ATTRS_o_ai __vector signed char2121vec_mergeh(__vector signed char __a, __vector signed char __b) {2122  return (__vector signed char)(2123    __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],2124    __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);2125}2126 2127static inline __ATTRS_o_ai __vector __bool char2128vec_mergeh(__vector __bool char __a, __vector __bool char __b) {2129  return (__vector __bool char)(2130    __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],2131    __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);2132}2133 2134static inline __ATTRS_o_ai __vector unsigned char2135vec_mergeh(__vector unsigned char __a, __vector unsigned char __b) {2136  return (__vector unsigned char)(2137    __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],2138    __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);2139}2140 2141static inline __ATTRS_o_ai __vector signed short2142vec_mergeh(__vector signed short __a, __vector signed short __b) {2143  return (__vector signed short)(2144    __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);2145}2146 2147static inline __ATTRS_o_ai __vector __bool short2148vec_mergeh(__vector __bool short __a, __vector __bool short __b) {2149  return (__vector __bool short)(2150    __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);2151}2152 2153static inline __ATTRS_o_ai __vector unsigned short2154vec_mergeh(__vector unsigned short __a, __vector unsigned short __b) {2155  return (__vector unsigned short)(2156    __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);2157}2158 2159static inline __ATTRS_o_ai __vector signed int2160vec_mergeh(__vector signed int __a, __vector signed int __b) {2161  return (__vector signed int)(__a[0], __b[0], __a[1], __b[1]);2162}2163 2164static inline __ATTRS_o_ai __vector __bool int2165vec_mergeh(__vector __bool int __a, __vector __bool int __b) {2166  return (__vector __bool int)(__a[0], __b[0], __a[1], __b[1]);2167}2168 2169static inline __ATTRS_o_ai __vector unsigned int2170vec_mergeh(__vector unsigned int __a, __vector unsigned int __b) {2171  return (__vector unsigned int)(__a[0], __b[0], __a[1], __b[1]);2172}2173 2174static inline __ATTRS_o_ai __vector signed long long2175vec_mergeh(__vector signed long long __a, __vector signed long long __b) {2176  return (__vector signed long long)(__a[0], __b[0]);2177}2178 2179static inline __ATTRS_o_ai __vector __bool long long2180vec_mergeh(__vector __bool long long __a, __vector __bool long long __b) {2181  return (__vector __bool long long)(__a[0], __b[0]);2182}2183 2184static inline __ATTRS_o_ai __vector unsigned long long2185vec_mergeh(__vector unsigned long long __a, __vector unsigned long long __b) {2186  return (__vector unsigned long long)(__a[0], __b[0]);2187}2188 2189#if __ARCH__ >= 122190static inline __ATTRS_o_ai __vector float2191vec_mergeh(__vector float __a, __vector float __b) {2192  return (__vector float)(__a[0], __b[0], __a[1], __b[1]);2193}2194#endif2195 2196static inline __ATTRS_o_ai __vector double2197vec_mergeh(__vector double __a, __vector double __b) {2198  return (__vector double)(__a[0], __b[0]);2199}2200 2201/*-- vec_mergel -------------------------------------------------------------*/2202 2203static inline __ATTRS_o_ai __vector signed char2204vec_mergel(__vector signed char __a, __vector signed char __b) {2205  return (__vector signed char)(2206    __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],2207    __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);2208}2209 2210static inline __ATTRS_o_ai __vector __bool char2211vec_mergel(__vector __bool char __a, __vector __bool char __b) {2212  return (__vector __bool char)(2213    __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],2214    __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);2215}2216 2217static inline __ATTRS_o_ai __vector unsigned char2218vec_mergel(__vector unsigned char __a, __vector unsigned char __b) {2219  return (__vector unsigned char)(2220    __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],2221    __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);2222}2223 2224static inline __ATTRS_o_ai __vector signed short2225vec_mergel(__vector signed short __a, __vector signed short __b) {2226  return (__vector signed short)(2227    __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);2228}2229 2230static inline __ATTRS_o_ai __vector __bool short2231vec_mergel(__vector __bool short __a, __vector __bool short __b) {2232  return (__vector __bool short)(2233    __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);2234}2235 2236static inline __ATTRS_o_ai __vector unsigned short2237vec_mergel(__vector unsigned short __a, __vector unsigned short __b) {2238  return (__vector unsigned short)(2239    __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);2240}2241 2242static inline __ATTRS_o_ai __vector signed int2243vec_mergel(__vector signed int __a, __vector signed int __b) {2244  return (__vector signed int)(__a[2], __b[2], __a[3], __b[3]);2245}2246 2247static inline __ATTRS_o_ai __vector __bool int2248vec_mergel(__vector __bool int __a, __vector __bool int __b) {2249  return (__vector __bool int)(__a[2], __b[2], __a[3], __b[3]);2250}2251 2252static inline __ATTRS_o_ai __vector unsigned int2253vec_mergel(__vector unsigned int __a, __vector unsigned int __b) {2254  return (__vector unsigned int)(__a[2], __b[2], __a[3], __b[3]);2255}2256 2257static inline __ATTRS_o_ai __vector signed long long2258vec_mergel(__vector signed long long __a, __vector signed long long __b) {2259  return (__vector signed long long)(__a[1], __b[1]);2260}2261 2262static inline __ATTRS_o_ai __vector __bool long long2263vec_mergel(__vector __bool long long __a, __vector __bool long long __b) {2264  return (__vector __bool long long)(__a[1], __b[1]);2265}2266 2267static inline __ATTRS_o_ai __vector unsigned long long2268vec_mergel(__vector unsigned long long __a, __vector unsigned long long __b) {2269  return (__vector unsigned long long)(__a[1], __b[1]);2270}2271 2272#if __ARCH__ >= 122273static inline __ATTRS_o_ai __vector float2274vec_mergel(__vector float __a, __vector float __b) {2275  return (__vector float)(__a[2], __b[2], __a[3], __b[3]);2276}2277#endif2278 2279static inline __ATTRS_o_ai __vector double2280vec_mergel(__vector double __a, __vector double __b) {2281  return (__vector double)(__a[1], __b[1]);2282}2283 2284/*-- vec_pack ---------------------------------------------------------------*/2285 2286static inline __ATTRS_o_ai __vector signed char2287vec_pack(__vector signed short __a, __vector signed short __b) {2288  __vector signed char __ac = (__vector signed char)__a;2289  __vector signed char __bc = (__vector signed char)__b;2290  return (__vector signed char)(2291    __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],2292    __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);2293}2294 2295static inline __ATTRS_o_ai __vector __bool char2296vec_pack(__vector __bool short __a, __vector __bool short __b) {2297  __vector __bool char __ac = (__vector __bool char)__a;2298  __vector __bool char __bc = (__vector __bool char)__b;2299  return (__vector __bool char)(2300    __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],2301    __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);2302}2303 2304static inline __ATTRS_o_ai __vector unsigned char2305vec_pack(__vector unsigned short __a, __vector unsigned short __b) {2306  __vector unsigned char __ac = (__vector unsigned char)__a;2307  __vector unsigned char __bc = (__vector unsigned char)__b;2308  return (__vector unsigned char)(2309    __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],2310    __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);2311}2312 2313static inline __ATTRS_o_ai __vector signed short2314vec_pack(__vector signed int __a, __vector signed int __b) {2315  __vector signed short __ac = (__vector signed short)__a;2316  __vector signed short __bc = (__vector signed short)__b;2317  return (__vector signed short)(2318    __ac[1], __ac[3], __ac[5], __ac[7],2319    __bc[1], __bc[3], __bc[5], __bc[7]);2320}2321 2322static inline __ATTRS_o_ai __vector __bool short2323vec_pack(__vector __bool int __a, __vector __bool int __b) {2324  __vector __bool short __ac = (__vector __bool short)__a;2325  __vector __bool short __bc = (__vector __bool short)__b;2326  return (__vector __bool short)(2327    __ac[1], __ac[3], __ac[5], __ac[7],2328    __bc[1], __bc[3], __bc[5], __bc[7]);2329}2330 2331static inline __ATTRS_o_ai __vector unsigned short2332vec_pack(__vector unsigned int __a, __vector unsigned int __b) {2333  __vector unsigned short __ac = (__vector unsigned short)__a;2334  __vector unsigned short __bc = (__vector unsigned short)__b;2335  return (__vector unsigned short)(2336    __ac[1], __ac[3], __ac[5], __ac[7],2337    __bc[1], __bc[3], __bc[5], __bc[7]);2338}2339 2340static inline __ATTRS_o_ai __vector signed int2341vec_pack(__vector signed long long __a, __vector signed long long __b) {2342  __vector signed int __ac = (__vector signed int)__a;2343  __vector signed int __bc = (__vector signed int)__b;2344  return (__vector signed int)(__ac[1], __ac[3], __bc[1], __bc[3]);2345}2346 2347static inline __ATTRS_o_ai __vector __bool int2348vec_pack(__vector __bool long long __a, __vector __bool long long __b) {2349  __vector __bool int __ac = (__vector __bool int)__a;2350  __vector __bool int __bc = (__vector __bool int)__b;2351  return (__vector __bool int)(__ac[1], __ac[3], __bc[1], __bc[3]);2352}2353 2354static inline __ATTRS_o_ai __vector unsigned int2355vec_pack(__vector unsigned long long __a, __vector unsigned long long __b) {2356  __vector unsigned int __ac = (__vector unsigned int)__a;2357  __vector unsigned int __bc = (__vector unsigned int)__b;2358  return (__vector unsigned int)(__ac[1], __ac[3], __bc[1], __bc[3]);2359}2360 2361static inline __ATTRS_o_ai __vector signed long long2362vec_pack(__vector signed __int128 __a, __vector signed __int128 __b) {2363  __vector signed long long __ac = (__vector signed long long)__a;2364  __vector signed long long __bc = (__vector signed long long)__b;2365  return (__vector signed long long)(__ac[1], __bc[1]);2366}2367 2368static inline __ATTRS_o_ai __vector __bool long long2369vec_pack(__vector __bool __int128 __a, __vector __bool __int128 __b) {2370  __vector __bool long long __ac = (__vector __bool long long)__a;2371  __vector __bool long long __bc = (__vector __bool long long)__b;2372  return (__vector __bool long long)(__ac[1], __bc[1]);2373}2374 2375static inline __ATTRS_o_ai __vector unsigned long long2376vec_pack(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {2377  __vector unsigned long long __ac = (__vector unsigned long long)__a;2378  __vector unsigned long long __bc = (__vector unsigned long long)__b;2379  return (__vector unsigned long long)(__ac[1], __bc[1]);2380}2381 2382/*-- vec_packs --------------------------------------------------------------*/2383 2384static inline __ATTRS_o_ai __vector signed char2385vec_packs(__vector signed short __a, __vector signed short __b) {2386  return __builtin_s390_vpksh(__a, __b);2387}2388 2389static inline __ATTRS_o_ai __vector unsigned char2390vec_packs(__vector unsigned short __a, __vector unsigned short __b) {2391  return __builtin_s390_vpklsh(__a, __b);2392}2393 2394static inline __ATTRS_o_ai __vector signed short2395vec_packs(__vector signed int __a, __vector signed int __b) {2396  return __builtin_s390_vpksf(__a, __b);2397}2398 2399static inline __ATTRS_o_ai __vector unsigned short2400vec_packs(__vector unsigned int __a, __vector unsigned int __b) {2401  return __builtin_s390_vpklsf(__a, __b);2402}2403 2404static inline __ATTRS_o_ai __vector signed int2405vec_packs(__vector signed long long __a, __vector signed long long __b) {2406  return __builtin_s390_vpksg(__a, __b);2407}2408 2409static inline __ATTRS_o_ai __vector unsigned int2410vec_packs(__vector unsigned long long __a, __vector unsigned long long __b) {2411  return __builtin_s390_vpklsg(__a, __b);2412}2413 2414/*-- vec_packs_cc -----------------------------------------------------------*/2415 2416static inline __ATTRS_o_ai __vector signed char2417vec_packs_cc(__vector signed short __a, __vector signed short __b, int *__cc) {2418  return __builtin_s390_vpkshs(__a, __b, __cc);2419}2420 2421static inline __ATTRS_o_ai __vector unsigned char2422vec_packs_cc(__vector unsigned short __a, __vector unsigned short __b,2423             int *__cc) {2424  return __builtin_s390_vpklshs(__a, __b, __cc);2425}2426 2427static inline __ATTRS_o_ai __vector signed short2428vec_packs_cc(__vector signed int __a, __vector signed int __b, int *__cc) {2429  return __builtin_s390_vpksfs(__a, __b, __cc);2430}2431 2432static inline __ATTRS_o_ai __vector unsigned short2433vec_packs_cc(__vector unsigned int __a, __vector unsigned int __b, int *__cc) {2434  return __builtin_s390_vpklsfs(__a, __b, __cc);2435}2436 2437static inline __ATTRS_o_ai __vector signed int2438vec_packs_cc(__vector signed long long __a, __vector signed long long __b,2439             int *__cc) {2440  return __builtin_s390_vpksgs(__a, __b, __cc);2441}2442 2443static inline __ATTRS_o_ai __vector unsigned int2444vec_packs_cc(__vector unsigned long long __a, __vector unsigned long long __b,2445             int *__cc) {2446  return __builtin_s390_vpklsgs(__a, __b, __cc);2447}2448 2449/*-- vec_packsu -------------------------------------------------------------*/2450 2451static inline __ATTRS_o_ai __vector unsigned char2452vec_packsu(__vector signed short __a, __vector signed short __b) {2453  const __vector signed short __zero = (__vector signed short)0;2454  return __builtin_s390_vpklsh(2455    (__vector unsigned short)(__a >= __zero) & (__vector unsigned short)__a,2456    (__vector unsigned short)(__b >= __zero) & (__vector unsigned short)__b);2457}2458 2459static inline __ATTRS_o_ai __vector unsigned char2460vec_packsu(__vector unsigned short __a, __vector unsigned short __b) {2461  return __builtin_s390_vpklsh(__a, __b);2462}2463 2464static inline __ATTRS_o_ai __vector unsigned short2465vec_packsu(__vector signed int __a, __vector signed int __b) {2466  const __vector signed int __zero = (__vector signed int)0;2467  return __builtin_s390_vpklsf(2468    (__vector unsigned int)(__a >= __zero) & (__vector unsigned int)__a,2469    (__vector unsigned int)(__b >= __zero) & (__vector unsigned int)__b);2470}2471 2472static inline __ATTRS_o_ai __vector unsigned short2473vec_packsu(__vector unsigned int __a, __vector unsigned int __b) {2474  return __builtin_s390_vpklsf(__a, __b);2475}2476 2477static inline __ATTRS_o_ai __vector unsigned int2478vec_packsu(__vector signed long long __a, __vector signed long long __b) {2479  const __vector signed long long __zero = (__vector signed long long)0;2480  return __builtin_s390_vpklsg(2481    (__vector unsigned long long)(__a >= __zero) &2482    (__vector unsigned long long)__a,2483    (__vector unsigned long long)(__b >= __zero) &2484    (__vector unsigned long long)__b);2485}2486 2487static inline __ATTRS_o_ai __vector unsigned int2488vec_packsu(__vector unsigned long long __a, __vector unsigned long long __b) {2489  return __builtin_s390_vpklsg(__a, __b);2490}2491 2492/*-- vec_packsu_cc ----------------------------------------------------------*/2493 2494static inline __ATTRS_o_ai __vector unsigned char2495vec_packsu_cc(__vector unsigned short __a, __vector unsigned short __b,2496              int *__cc) {2497  return __builtin_s390_vpklshs(__a, __b, __cc);2498}2499 2500static inline __ATTRS_o_ai __vector unsigned short2501vec_packsu_cc(__vector unsigned int __a, __vector unsigned int __b, int *__cc) {2502  return __builtin_s390_vpklsfs(__a, __b, __cc);2503}2504 2505static inline __ATTRS_o_ai __vector unsigned int2506vec_packsu_cc(__vector unsigned long long __a, __vector unsigned long long __b,2507              int *__cc) {2508  return __builtin_s390_vpklsgs(__a, __b, __cc);2509}2510 2511/*-- vec_unpackh ------------------------------------------------------------*/2512 2513static inline __ATTRS_o_ai __vector signed short2514vec_unpackh(__vector signed char __a) {2515  return __builtin_s390_vuphb(__a);2516}2517 2518static inline __ATTRS_o_ai __vector __bool short2519vec_unpackh(__vector __bool char __a) {2520  return ((__vector __bool short)2521          __builtin_s390_vuphb((__vector signed char)__a));2522}2523 2524static inline __ATTRS_o_ai __vector unsigned short2525vec_unpackh(__vector unsigned char __a) {2526  return __builtin_s390_vuplhb(__a);2527}2528 2529static inline __ATTRS_o_ai __vector signed int2530vec_unpackh(__vector signed short __a) {2531  return __builtin_s390_vuphh(__a);2532}2533 2534static inline __ATTRS_o_ai __vector __bool int2535vec_unpackh(__vector __bool short __a) {2536  return (__vector __bool int)__builtin_s390_vuphh((__vector signed short)__a);2537}2538 2539static inline __ATTRS_o_ai __vector unsigned int2540vec_unpackh(__vector unsigned short __a) {2541  return __builtin_s390_vuplhh(__a);2542}2543 2544static inline __ATTRS_o_ai __vector signed long long2545vec_unpackh(__vector signed int __a) {2546  return __builtin_s390_vuphf(__a);2547}2548 2549static inline __ATTRS_o_ai __vector __bool long long2550vec_unpackh(__vector __bool int __a) {2551  return ((__vector __bool long long)2552          __builtin_s390_vuphf((__vector signed int)__a));2553}2554 2555static inline __ATTRS_o_ai __vector unsigned long long2556vec_unpackh(__vector unsigned int __a) {2557  return __builtin_s390_vuplhf(__a);2558}2559 2560#if __ARCH__ >= 152561static inline __ATTRS_o_ai __vector signed __int1282562vec_unpackh(__vector signed long long __a) {2563  return (__vector signed __int128)__builtin_s390_vuphg(__a);2564}2565 2566static inline __ATTRS_o_ai __vector __bool __int1282567vec_unpackh(__vector __bool long long __a) {2568  return ((__vector __bool __int128)2569          __builtin_s390_vuphg((__vector signed long long)__a));2570}2571 2572static inline __ATTRS_o_ai __vector unsigned __int1282573vec_unpackh(__vector unsigned long long __a) {2574  return (__vector unsigned __int128)__builtin_s390_vuplhg(__a);2575}2576#endif2577 2578/*-- vec_unpackl ------------------------------------------------------------*/2579 2580static inline __ATTRS_o_ai __vector signed short2581vec_unpackl(__vector signed char __a) {2582  return __builtin_s390_vuplb(__a);2583}2584 2585static inline __ATTRS_o_ai __vector __bool short2586vec_unpackl(__vector __bool char __a) {2587  return ((__vector __bool short)2588          __builtin_s390_vuplb((__vector signed char)__a));2589}2590 2591static inline __ATTRS_o_ai __vector unsigned short2592vec_unpackl(__vector unsigned char __a) {2593  return __builtin_s390_vupllb(__a);2594}2595 2596static inline __ATTRS_o_ai __vector signed int2597vec_unpackl(__vector signed short __a) {2598  return __builtin_s390_vuplhw(__a);2599}2600 2601static inline __ATTRS_o_ai __vector __bool int2602vec_unpackl(__vector __bool short __a) {2603  return ((__vector __bool int)2604          __builtin_s390_vuplhw((__vector signed short)__a));2605}2606 2607static inline __ATTRS_o_ai __vector unsigned int2608vec_unpackl(__vector unsigned short __a) {2609  return __builtin_s390_vupllh(__a);2610}2611 2612static inline __ATTRS_o_ai __vector signed long long2613vec_unpackl(__vector signed int __a) {2614  return __builtin_s390_vuplf(__a);2615}2616 2617static inline __ATTRS_o_ai __vector __bool long long2618vec_unpackl(__vector __bool int __a) {2619  return ((__vector __bool long long)2620          __builtin_s390_vuplf((__vector signed int)__a));2621}2622 2623static inline __ATTRS_o_ai __vector unsigned long long2624vec_unpackl(__vector unsigned int __a) {2625  return __builtin_s390_vupllf(__a);2626}2627 2628#if __ARCH__ >= 152629static inline __ATTRS_o_ai __vector signed __int1282630vec_unpackl(__vector signed long long __a) {2631  return (__vector signed __int128)__builtin_s390_vuplg(__a);2632}2633 2634static inline __ATTRS_o_ai __vector __bool __int1282635vec_unpackl(__vector __bool long long __a) {2636  return ((__vector __bool __int128)2637          __builtin_s390_vuplg((__vector signed long long)__a));2638}2639 2640static inline __ATTRS_o_ai __vector unsigned __int1282641vec_unpackl(__vector unsigned long long __a) {2642  return (__vector unsigned __int128)__builtin_s390_vupllg(__a);2643}2644#endif2645 2646/*-- vec_cmpeq --------------------------------------------------------------*/2647 2648static inline __ATTRS_o_ai __vector __bool char2649vec_cmpeq(__vector __bool char __a, __vector __bool char __b) {2650  return (__vector __bool char)(__a == __b);2651}2652 2653static inline __ATTRS_o_ai __vector __bool char2654vec_cmpeq(__vector signed char __a, __vector signed char __b) {2655  return (__vector __bool char)(__a == __b);2656}2657 2658static inline __ATTRS_o_ai __vector __bool char2659vec_cmpeq(__vector unsigned char __a, __vector unsigned char __b) {2660  return (__vector __bool char)(__a == __b);2661}2662 2663static inline __ATTRS_o_ai __vector __bool short2664vec_cmpeq(__vector __bool short __a, __vector __bool short __b) {2665  return (__vector __bool short)(__a == __b);2666}2667 2668static inline __ATTRS_o_ai __vector __bool short2669vec_cmpeq(__vector signed short __a, __vector signed short __b) {2670  return (__vector __bool short)(__a == __b);2671}2672 2673static inline __ATTRS_o_ai __vector __bool short2674vec_cmpeq(__vector unsigned short __a, __vector unsigned short __b) {2675  return (__vector __bool short)(__a == __b);2676}2677 2678static inline __ATTRS_o_ai __vector __bool int2679vec_cmpeq(__vector __bool int __a, __vector __bool int __b) {2680  return (__vector __bool int)(__a == __b);2681}2682 2683static inline __ATTRS_o_ai __vector __bool int2684vec_cmpeq(__vector signed int __a, __vector signed int __b) {2685  return (__vector __bool int)(__a == __b);2686}2687 2688static inline __ATTRS_o_ai __vector __bool int2689vec_cmpeq(__vector unsigned int __a, __vector unsigned int __b) {2690  return (__vector __bool int)(__a == __b);2691}2692 2693static inline __ATTRS_o_ai __vector __bool long long2694vec_cmpeq(__vector __bool long long __a, __vector __bool long long __b) {2695  return (__vector __bool long long)(__a == __b);2696}2697 2698static inline __ATTRS_o_ai __vector __bool long long2699vec_cmpeq(__vector signed long long __a, __vector signed long long __b) {2700  return (__vector __bool long long)(__a == __b);2701}2702 2703static inline __ATTRS_o_ai __vector __bool long long2704vec_cmpeq(__vector unsigned long long __a, __vector unsigned long long __b) {2705  return (__vector __bool long long)(__a == __b);2706}2707 2708static inline __ATTRS_o_ai __vector __bool __int1282709vec_cmpeq(__vector __bool __int128 __a, __vector __bool __int128 __b) {2710  return (__vector __bool __int128)(__a == __b);2711}2712 2713static inline __ATTRS_o_ai __vector __bool __int1282714vec_cmpeq(__vector signed __int128 __a, __vector signed __int128 __b) {2715  return (__vector __bool __int128)(__a == __b);2716}2717 2718static inline __ATTRS_o_ai __vector __bool __int1282719vec_cmpeq(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {2720  return (__vector __bool __int128)(__a == __b);2721}2722 2723#if __ARCH__ >= 122724static inline __ATTRS_o_ai __vector __bool int2725vec_cmpeq(__vector float __a, __vector float __b) {2726  return (__vector __bool int)(__a == __b);2727}2728#endif2729 2730static inline __ATTRS_o_ai __vector __bool long long2731vec_cmpeq(__vector double __a, __vector double __b) {2732  return (__vector __bool long long)(__a == __b);2733}2734 2735/*-- vec_cmpge --------------------------------------------------------------*/2736 2737static inline __ATTRS_o_ai __vector __bool char2738vec_cmpge(__vector signed char __a, __vector signed char __b) {2739  return (__vector __bool char)(__a >= __b);2740}2741 2742static inline __ATTRS_o_ai __vector __bool char2743vec_cmpge(__vector unsigned char __a, __vector unsigned char __b) {2744  return (__vector __bool char)(__a >= __b);2745}2746 2747static inline __ATTRS_o_ai __vector __bool short2748vec_cmpge(__vector signed short __a, __vector signed short __b) {2749  return (__vector __bool short)(__a >= __b);2750}2751 2752static inline __ATTRS_o_ai __vector __bool short2753vec_cmpge(__vector unsigned short __a, __vector unsigned short __b) {2754  return (__vector __bool short)(__a >= __b);2755}2756 2757static inline __ATTRS_o_ai __vector __bool int2758vec_cmpge(__vector signed int __a, __vector signed int __b) {2759  return (__vector __bool int)(__a >= __b);2760}2761 2762static inline __ATTRS_o_ai __vector __bool int2763vec_cmpge(__vector unsigned int __a, __vector unsigned int __b) {2764  return (__vector __bool int)(__a >= __b);2765}2766 2767static inline __ATTRS_o_ai __vector __bool long long2768vec_cmpge(__vector signed long long __a, __vector signed long long __b) {2769  return (__vector __bool long long)(__a >= __b);2770}2771 2772static inline __ATTRS_o_ai __vector __bool long long2773vec_cmpge(__vector unsigned long long __a, __vector unsigned long long __b) {2774  return (__vector __bool long long)(__a >= __b);2775}2776 2777static inline __ATTRS_o_ai __vector __bool __int1282778vec_cmpge(__vector signed __int128 __a, __vector signed __int128 __b) {2779  return (__vector __bool __int128)(__a >= __b);2780}2781 2782static inline __ATTRS_o_ai __vector __bool __int1282783vec_cmpge(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {2784  return (__vector __bool __int128)(__a >= __b);2785}2786 2787#if __ARCH__ >= 122788static inline __ATTRS_o_ai __vector __bool int2789vec_cmpge(__vector float __a, __vector float __b) {2790  return (__vector __bool int)(__a >= __b);2791}2792#endif2793 2794static inline __ATTRS_o_ai __vector __bool long long2795vec_cmpge(__vector double __a, __vector double __b) {2796  return (__vector __bool long long)(__a >= __b);2797}2798 2799/*-- vec_cmpgt --------------------------------------------------------------*/2800 2801static inline __ATTRS_o_ai __vector __bool char2802vec_cmpgt(__vector signed char __a, __vector signed char __b) {2803  return (__vector __bool char)(__a > __b);2804}2805 2806static inline __ATTRS_o_ai __vector __bool char2807vec_cmpgt(__vector unsigned char __a, __vector unsigned char __b) {2808  return (__vector __bool char)(__a > __b);2809}2810 2811static inline __ATTRS_o_ai __vector __bool short2812vec_cmpgt(__vector signed short __a, __vector signed short __b) {2813  return (__vector __bool short)(__a > __b);2814}2815 2816static inline __ATTRS_o_ai __vector __bool short2817vec_cmpgt(__vector unsigned short __a, __vector unsigned short __b) {2818  return (__vector __bool short)(__a > __b);2819}2820 2821static inline __ATTRS_o_ai __vector __bool int2822vec_cmpgt(__vector signed int __a, __vector signed int __b) {2823  return (__vector __bool int)(__a > __b);2824}2825 2826static inline __ATTRS_o_ai __vector __bool int2827vec_cmpgt(__vector unsigned int __a, __vector unsigned int __b) {2828  return (__vector __bool int)(__a > __b);2829}2830 2831static inline __ATTRS_o_ai __vector __bool long long2832vec_cmpgt(__vector signed long long __a, __vector signed long long __b) {2833  return (__vector __bool long long)(__a > __b);2834}2835 2836static inline __ATTRS_o_ai __vector __bool long long2837vec_cmpgt(__vector unsigned long long __a, __vector unsigned long long __b) {2838  return (__vector __bool long long)(__a > __b);2839}2840 2841static inline __ATTRS_o_ai __vector __bool __int1282842vec_cmpgt(__vector signed __int128 __a, __vector signed __int128 __b) {2843  return (__vector __bool __int128)(__a > __b);2844}2845 2846static inline __ATTRS_o_ai __vector __bool __int1282847vec_cmpgt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {2848  return (__vector __bool __int128)(__a > __b);2849}2850 2851#if __ARCH__ >= 122852static inline __ATTRS_o_ai __vector __bool int2853vec_cmpgt(__vector float __a, __vector float __b) {2854  return (__vector __bool int)(__a > __b);2855}2856#endif2857 2858static inline __ATTRS_o_ai __vector __bool long long2859vec_cmpgt(__vector double __a, __vector double __b) {2860  return (__vector __bool long long)(__a > __b);2861}2862 2863/*-- vec_cmple --------------------------------------------------------------*/2864 2865static inline __ATTRS_o_ai __vector __bool char2866vec_cmple(__vector signed char __a, __vector signed char __b) {2867  return (__vector __bool char)(__a <= __b);2868}2869 2870static inline __ATTRS_o_ai __vector __bool char2871vec_cmple(__vector unsigned char __a, __vector unsigned char __b) {2872  return (__vector __bool char)(__a <= __b);2873}2874 2875static inline __ATTRS_o_ai __vector __bool short2876vec_cmple(__vector signed short __a, __vector signed short __b) {2877  return (__vector __bool short)(__a <= __b);2878}2879 2880static inline __ATTRS_o_ai __vector __bool short2881vec_cmple(__vector unsigned short __a, __vector unsigned short __b) {2882  return (__vector __bool short)(__a <= __b);2883}2884 2885static inline __ATTRS_o_ai __vector __bool int2886vec_cmple(__vector signed int __a, __vector signed int __b) {2887  return (__vector __bool int)(__a <= __b);2888}2889 2890static inline __ATTRS_o_ai __vector __bool int2891vec_cmple(__vector unsigned int __a, __vector unsigned int __b) {2892  return (__vector __bool int)(__a <= __b);2893}2894 2895static inline __ATTRS_o_ai __vector __bool long long2896vec_cmple(__vector signed long long __a, __vector signed long long __b) {2897  return (__vector __bool long long)(__a <= __b);2898}2899 2900static inline __ATTRS_o_ai __vector __bool long long2901vec_cmple(__vector unsigned long long __a, __vector unsigned long long __b) {2902  return (__vector __bool long long)(__a <= __b);2903}2904 2905static inline __ATTRS_o_ai __vector __bool __int1282906vec_cmple(__vector signed __int128 __a, __vector signed __int128 __b) {2907  return (__vector __bool __int128)(__a <= __b);2908}2909 2910static inline __ATTRS_o_ai __vector __bool __int1282911vec_cmple(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {2912  return (__vector __bool __int128)(__a <= __b);2913}2914 2915#if __ARCH__ >= 122916static inline __ATTRS_o_ai __vector __bool int2917vec_cmple(__vector float __a, __vector float __b) {2918  return (__vector __bool int)(__a <= __b);2919}2920#endif2921 2922static inline __ATTRS_o_ai __vector __bool long long2923vec_cmple(__vector double __a, __vector double __b) {2924  return (__vector __bool long long)(__a <= __b);2925}2926 2927/*-- vec_cmplt --------------------------------------------------------------*/2928 2929static inline __ATTRS_o_ai __vector __bool char2930vec_cmplt(__vector signed char __a, __vector signed char __b) {2931  return (__vector __bool char)(__a < __b);2932}2933 2934static inline __ATTRS_o_ai __vector __bool char2935vec_cmplt(__vector unsigned char __a, __vector unsigned char __b) {2936  return (__vector __bool char)(__a < __b);2937}2938 2939static inline __ATTRS_o_ai __vector __bool short2940vec_cmplt(__vector signed short __a, __vector signed short __b) {2941  return (__vector __bool short)(__a < __b);2942}2943 2944static inline __ATTRS_o_ai __vector __bool short2945vec_cmplt(__vector unsigned short __a, __vector unsigned short __b) {2946  return (__vector __bool short)(__a < __b);2947}2948 2949static inline __ATTRS_o_ai __vector __bool int2950vec_cmplt(__vector signed int __a, __vector signed int __b) {2951  return (__vector __bool int)(__a < __b);2952}2953 2954static inline __ATTRS_o_ai __vector __bool int2955vec_cmplt(__vector unsigned int __a, __vector unsigned int __b) {2956  return (__vector __bool int)(__a < __b);2957}2958 2959static inline __ATTRS_o_ai __vector __bool long long2960vec_cmplt(__vector signed long long __a, __vector signed long long __b) {2961  return (__vector __bool long long)(__a < __b);2962}2963 2964static inline __ATTRS_o_ai __vector __bool long long2965vec_cmplt(__vector unsigned long long __a, __vector unsigned long long __b) {2966  return (__vector __bool long long)(__a < __b);2967}2968 2969static inline __ATTRS_o_ai __vector __bool __int1282970vec_cmplt(__vector signed __int128 __a, __vector signed __int128 __b) {2971  return (__vector __bool __int128)(__a < __b);2972}2973 2974static inline __ATTRS_o_ai __vector __bool __int1282975vec_cmplt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {2976  return (__vector __bool __int128)(__a < __b);2977}2978 2979#if __ARCH__ >= 122980static inline __ATTRS_o_ai __vector __bool int2981vec_cmplt(__vector float __a, __vector float __b) {2982  return (__vector __bool int)(__a < __b);2983}2984#endif2985 2986static inline __ATTRS_o_ai __vector __bool long long2987vec_cmplt(__vector double __a, __vector double __b) {2988  return (__vector __bool long long)(__a < __b);2989}2990 2991/*-- vec_all_eq -------------------------------------------------------------*/2992 2993static inline __ATTRS_o_ai int2994vec_all_eq(__vector signed char __a, __vector signed char __b) {2995  int __cc;2996  __builtin_s390_vceqbs((__vector unsigned char)__a,2997                        (__vector unsigned char)__b, &__cc);2998  return __cc == 0;2999}3000 3001// This prototype is deprecated.3002static inline __ATTRS_o_ai int3003vec_all_eq(__vector signed char __a, __vector __bool char __b) {3004  int __cc;3005  __builtin_s390_vceqbs((__vector unsigned char)__a,3006                        (__vector unsigned char)__b, &__cc);3007  return __cc == 0;3008}3009 3010// This prototype is deprecated.3011static inline __ATTRS_o_ai int3012vec_all_eq(__vector __bool char __a, __vector signed char __b) {3013  int __cc;3014  __builtin_s390_vceqbs((__vector unsigned char)__a,3015                        (__vector unsigned char)__b, &__cc);3016  return __cc == 0;3017}3018 3019static inline __ATTRS_o_ai int3020vec_all_eq(__vector unsigned char __a, __vector unsigned char __b) {3021  int __cc;3022  __builtin_s390_vceqbs(__a, __b, &__cc);3023  return __cc == 0;3024}3025 3026// This prototype is deprecated.3027static inline __ATTRS_o_ai int3028vec_all_eq(__vector unsigned char __a, __vector __bool char __b) {3029  int __cc;3030  __builtin_s390_vceqbs(__a, (__vector unsigned char)__b, &__cc);3031  return __cc == 0;3032}3033 3034// This prototype is deprecated.3035static inline __ATTRS_o_ai int3036vec_all_eq(__vector __bool char __a, __vector unsigned char __b) {3037  int __cc;3038  __builtin_s390_vceqbs((__vector unsigned char)__a, __b, &__cc);3039  return __cc == 0;3040}3041 3042static inline __ATTRS_o_ai int3043vec_all_eq(__vector __bool char __a, __vector __bool char __b) {3044  int __cc;3045  __builtin_s390_vceqbs((__vector unsigned char)__a,3046                        (__vector unsigned char)__b, &__cc);3047  return __cc == 0;3048}3049 3050static inline __ATTRS_o_ai int3051vec_all_eq(__vector signed short __a, __vector signed short __b) {3052  int __cc;3053  __builtin_s390_vceqhs((__vector unsigned short)__a,3054                        (__vector unsigned short)__b, &__cc);3055  return __cc == 0;3056}3057 3058// This prototype is deprecated.3059static inline __ATTRS_o_ai int3060vec_all_eq(__vector signed short __a, __vector __bool short __b) {3061  int __cc;3062  __builtin_s390_vceqhs((__vector unsigned short)__a,3063                        (__vector unsigned short)__b, &__cc);3064  return __cc == 0;3065}3066 3067// This prototype is deprecated.3068static inline __ATTRS_o_ai int3069vec_all_eq(__vector __bool short __a, __vector signed short __b) {3070  int __cc;3071  __builtin_s390_vceqhs((__vector unsigned short)__a,3072                        (__vector unsigned short)__b, &__cc);3073  return __cc == 0;3074}3075 3076static inline __ATTRS_o_ai int3077vec_all_eq(__vector unsigned short __a, __vector unsigned short __b) {3078  int __cc;3079  __builtin_s390_vceqhs(__a, __b, &__cc);3080  return __cc == 0;3081}3082 3083// This prototype is deprecated.3084static inline __ATTRS_o_ai int3085vec_all_eq(__vector unsigned short __a, __vector __bool short __b) {3086  int __cc;3087  __builtin_s390_vceqhs(__a, (__vector unsigned short)__b, &__cc);3088  return __cc == 0;3089}3090 3091// This prototype is deprecated.3092static inline __ATTRS_o_ai int3093vec_all_eq(__vector __bool short __a, __vector unsigned short __b) {3094  int __cc;3095  __builtin_s390_vceqhs((__vector unsigned short)__a, __b, &__cc);3096  return __cc == 0;3097}3098 3099static inline __ATTRS_o_ai int3100vec_all_eq(__vector __bool short __a, __vector __bool short __b) {3101  int __cc;3102  __builtin_s390_vceqhs((__vector unsigned short)__a,3103                        (__vector unsigned short)__b, &__cc);3104  return __cc == 0;3105}3106 3107static inline __ATTRS_o_ai int3108vec_all_eq(__vector signed int __a, __vector signed int __b) {3109  int __cc;3110  __builtin_s390_vceqfs((__vector unsigned int)__a,3111                        (__vector unsigned int)__b, &__cc);3112  return __cc == 0;3113}3114 3115// This prototype is deprecated.3116static inline __ATTRS_o_ai int3117vec_all_eq(__vector signed int __a, __vector __bool int __b) {3118  int __cc;3119  __builtin_s390_vceqfs((__vector unsigned int)__a,3120                        (__vector unsigned int)__b, &__cc);3121  return __cc == 0;3122}3123 3124// This prototype is deprecated.3125static inline __ATTRS_o_ai int3126vec_all_eq(__vector __bool int __a, __vector signed int __b) {3127  int __cc;3128  __builtin_s390_vceqfs((__vector unsigned int)__a,3129                        (__vector unsigned int)__b, &__cc);3130  return __cc == 0;3131}3132 3133static inline __ATTRS_o_ai int3134vec_all_eq(__vector unsigned int __a, __vector unsigned int __b) {3135  int __cc;3136  __builtin_s390_vceqfs(__a, __b, &__cc);3137  return __cc == 0;3138}3139 3140// This prototype is deprecated.3141static inline __ATTRS_o_ai int3142vec_all_eq(__vector unsigned int __a, __vector __bool int __b) {3143  int __cc;3144  __builtin_s390_vceqfs(__a, (__vector unsigned int)__b, &__cc);3145  return __cc == 0;3146}3147 3148// This prototype is deprecated.3149static inline __ATTRS_o_ai int3150vec_all_eq(__vector __bool int __a, __vector unsigned int __b) {3151  int __cc;3152  __builtin_s390_vceqfs((__vector unsigned int)__a, __b, &__cc);3153  return __cc == 0;3154}3155 3156static inline __ATTRS_o_ai int3157vec_all_eq(__vector __bool int __a, __vector __bool int __b) {3158  int __cc;3159  __builtin_s390_vceqfs((__vector unsigned int)__a,3160                        (__vector unsigned int)__b, &__cc);3161  return __cc == 0;3162}3163 3164static inline __ATTRS_o_ai int3165vec_all_eq(__vector signed long long __a, __vector signed long long __b) {3166  int __cc;3167  __builtin_s390_vceqgs((__vector unsigned long long)__a,3168                        (__vector unsigned long long)__b, &__cc);3169  return __cc == 0;3170}3171 3172// This prototype is deprecated.3173static inline __ATTRS_o_ai int3174vec_all_eq(__vector signed long long __a, __vector __bool long long __b) {3175  int __cc;3176  __builtin_s390_vceqgs((__vector unsigned long long)__a,3177                        (__vector unsigned long long)__b, &__cc);3178  return __cc == 0;3179}3180 3181// This prototype is deprecated.3182static inline __ATTRS_o_ai int3183vec_all_eq(__vector __bool long long __a, __vector signed long long __b) {3184  int __cc;3185  __builtin_s390_vceqgs((__vector unsigned long long)__a,3186                        (__vector unsigned long long)__b, &__cc);3187  return __cc == 0;3188}3189 3190static inline __ATTRS_o_ai int3191vec_all_eq(__vector unsigned long long __a, __vector unsigned long long __b) {3192  int __cc;3193  __builtin_s390_vceqgs(__a, __b, &__cc);3194  return __cc == 0;3195}3196 3197// This prototype is deprecated.3198static inline __ATTRS_o_ai int3199vec_all_eq(__vector unsigned long long __a, __vector __bool long long __b) {3200  int __cc;3201  __builtin_s390_vceqgs(__a, (__vector unsigned long long)__b, &__cc);3202  return __cc == 0;3203}3204 3205// This prototype is deprecated.3206static inline __ATTRS_o_ai int3207vec_all_eq(__vector __bool long long __a, __vector unsigned long long __b) {3208  int __cc;3209  __builtin_s390_vceqgs((__vector unsigned long long)__a, __b, &__cc);3210  return __cc == 0;3211}3212 3213static inline __ATTRS_o_ai int3214vec_all_eq(__vector __bool long long __a, __vector __bool long long __b) {3215  int __cc;3216  __builtin_s390_vceqgs((__vector unsigned long long)__a,3217                        (__vector unsigned long long)__b, &__cc);3218  return __cc == 0;3219}3220 3221#if __ARCH__ >= 153222static inline __ATTRS_o_ai int3223vec_all_eq(__vector signed __int128 __a, __vector signed __int128 __b) {3224  int __cc;3225  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);3226  return __cc == 0;3227}3228 3229static inline __ATTRS_o_ai int3230vec_all_eq(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {3231  int __cc;3232  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);3233  return __cc == 0;3234}3235 3236static inline __ATTRS_o_ai int3237vec_all_eq(__vector __bool __int128 __a, __vector __bool __int128 __b) {3238  int __cc;3239  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);3240  return __cc == 0;3241}3242#endif3243 3244#if __ARCH__ >= 123245static inline __ATTRS_o_ai int3246vec_all_eq(__vector float __a, __vector float __b) {3247  int __cc;3248  __builtin_s390_vfcesbs(__a, __b, &__cc);3249  return __cc == 0;3250}3251#endif3252 3253static inline __ATTRS_o_ai int3254vec_all_eq(__vector double __a, __vector double __b) {3255  int __cc;3256  __builtin_s390_vfcedbs(__a, __b, &__cc);3257  return __cc == 0;3258}3259 3260/*-- vec_all_ne -------------------------------------------------------------*/3261 3262static inline __ATTRS_o_ai int3263vec_all_ne(__vector signed char __a, __vector signed char __b) {3264  int __cc;3265  __builtin_s390_vceqbs((__vector unsigned char)__a,3266                        (__vector unsigned char)__b, &__cc);3267  return __cc == 3;3268}3269 3270// This prototype is deprecated.3271static inline __ATTRS_o_ai int3272vec_all_ne(__vector signed char __a, __vector __bool char __b) {3273  int __cc;3274  __builtin_s390_vceqbs((__vector unsigned char)__a,3275                        (__vector unsigned char)__b, &__cc);3276  return __cc == 3;3277}3278 3279// This prototype is deprecated.3280static inline __ATTRS_o_ai int3281vec_all_ne(__vector __bool char __a, __vector signed char __b) {3282  int __cc;3283  __builtin_s390_vceqbs((__vector unsigned char)__a,3284                        (__vector unsigned char)__b, &__cc);3285  return __cc == 3;3286}3287 3288static inline __ATTRS_o_ai int3289vec_all_ne(__vector unsigned char __a, __vector unsigned char __b) {3290  int __cc;3291  __builtin_s390_vceqbs((__vector unsigned char)__a,3292                        (__vector unsigned char)__b, &__cc);3293  return __cc == 3;3294}3295 3296// This prototype is deprecated.3297static inline __ATTRS_o_ai int3298vec_all_ne(__vector unsigned char __a, __vector __bool char __b) {3299  int __cc;3300  __builtin_s390_vceqbs(__a, (__vector unsigned char)__b, &__cc);3301  return __cc == 3;3302}3303 3304// This prototype is deprecated.3305static inline __ATTRS_o_ai int3306vec_all_ne(__vector __bool char __a, __vector unsigned char __b) {3307  int __cc;3308  __builtin_s390_vceqbs((__vector unsigned char)__a, __b, &__cc);3309  return __cc == 3;3310}3311 3312static inline __ATTRS_o_ai int3313vec_all_ne(__vector __bool char __a, __vector __bool char __b) {3314  int __cc;3315  __builtin_s390_vceqbs((__vector unsigned char)__a,3316                        (__vector unsigned char)__b, &__cc);3317  return __cc == 3;3318}3319 3320static inline __ATTRS_o_ai int3321vec_all_ne(__vector signed short __a, __vector signed short __b) {3322  int __cc;3323  __builtin_s390_vceqhs((__vector unsigned short)__a,3324                        (__vector unsigned short)__b, &__cc);3325  return __cc == 3;3326}3327 3328// This prototype is deprecated.3329static inline __ATTRS_o_ai int3330vec_all_ne(__vector signed short __a, __vector __bool short __b) {3331  int __cc;3332  __builtin_s390_vceqhs((__vector unsigned short)__a,3333                        (__vector unsigned short)__b, &__cc);3334  return __cc == 3;3335}3336 3337// This prototype is deprecated.3338static inline __ATTRS_o_ai int3339vec_all_ne(__vector __bool short __a, __vector signed short __b) {3340  int __cc;3341  __builtin_s390_vceqhs((__vector unsigned short)__a,3342                        (__vector unsigned short)__b, &__cc);3343  return __cc == 3;3344}3345 3346static inline __ATTRS_o_ai int3347vec_all_ne(__vector unsigned short __a, __vector unsigned short __b) {3348  int __cc;3349  __builtin_s390_vceqhs(__a, __b, &__cc);3350  return __cc == 3;3351}3352 3353// This prototype is deprecated.3354static inline __ATTRS_o_ai int3355vec_all_ne(__vector unsigned short __a, __vector __bool short __b) {3356  int __cc;3357  __builtin_s390_vceqhs(__a, (__vector unsigned short)__b, &__cc);3358  return __cc == 3;3359}3360 3361// This prototype is deprecated.3362static inline __ATTRS_o_ai int3363vec_all_ne(__vector __bool short __a, __vector unsigned short __b) {3364  int __cc;3365  __builtin_s390_vceqhs((__vector unsigned short)__a, __b, &__cc);3366  return __cc == 3;3367}3368 3369static inline __ATTRS_o_ai int3370vec_all_ne(__vector __bool short __a, __vector __bool short __b) {3371  int __cc;3372  __builtin_s390_vceqhs((__vector unsigned short)__a,3373                        (__vector unsigned short)__b, &__cc);3374  return __cc == 3;3375}3376 3377static inline __ATTRS_o_ai int3378vec_all_ne(__vector signed int __a, __vector signed int __b) {3379  int __cc;3380  __builtin_s390_vceqfs((__vector unsigned int)__a,3381                        (__vector unsigned int)__b, &__cc);3382  return __cc == 3;3383}3384 3385// This prototype is deprecated.3386static inline __ATTRS_o_ai int3387vec_all_ne(__vector signed int __a, __vector __bool int __b) {3388  int __cc;3389  __builtin_s390_vceqfs((__vector unsigned int)__a,3390                        (__vector unsigned int)__b, &__cc);3391  return __cc == 3;3392}3393 3394// This prototype is deprecated.3395static inline __ATTRS_o_ai int3396vec_all_ne(__vector __bool int __a, __vector signed int __b) {3397  int __cc;3398  __builtin_s390_vceqfs((__vector unsigned int)__a,3399                        (__vector unsigned int)__b, &__cc);3400  return __cc == 3;3401}3402 3403static inline __ATTRS_o_ai int3404vec_all_ne(__vector unsigned int __a, __vector unsigned int __b) {3405  int __cc;3406  __builtin_s390_vceqfs(__a, __b, &__cc);3407  return __cc == 3;3408}3409 3410// This prototype is deprecated.3411static inline __ATTRS_o_ai int3412vec_all_ne(__vector unsigned int __a, __vector __bool int __b) {3413  int __cc;3414  __builtin_s390_vceqfs(__a, (__vector unsigned int)__b, &__cc);3415  return __cc == 3;3416}3417 3418// This prototype is deprecated.3419static inline __ATTRS_o_ai int3420vec_all_ne(__vector __bool int __a, __vector unsigned int __b) {3421  int __cc;3422  __builtin_s390_vceqfs((__vector unsigned int)__a, __b, &__cc);3423  return __cc == 3;3424}3425 3426static inline __ATTRS_o_ai int3427vec_all_ne(__vector __bool int __a, __vector __bool int __b) {3428  int __cc;3429  __builtin_s390_vceqfs((__vector unsigned int)__a,3430                        (__vector unsigned int)__b, &__cc);3431  return __cc == 3;3432}3433 3434static inline __ATTRS_o_ai int3435vec_all_ne(__vector signed long long __a, __vector signed long long __b) {3436  int __cc;3437  __builtin_s390_vceqgs((__vector unsigned long long)__a,3438                        (__vector unsigned long long)__b, &__cc);3439  return __cc == 3;3440}3441 3442// This prototype is deprecated.3443static inline __ATTRS_o_ai int3444vec_all_ne(__vector signed long long __a, __vector __bool long long __b) {3445  int __cc;3446  __builtin_s390_vceqgs((__vector unsigned long long)__a,3447                        (__vector unsigned long long)__b, &__cc);3448  return __cc == 3;3449}3450 3451// This prototype is deprecated.3452static inline __ATTRS_o_ai int3453vec_all_ne(__vector __bool long long __a, __vector signed long long __b) {3454  int __cc;3455  __builtin_s390_vceqgs((__vector unsigned long long)__a,3456                        (__vector unsigned long long)__b, &__cc);3457  return __cc == 3;3458}3459 3460static inline __ATTRS_o_ai int3461vec_all_ne(__vector unsigned long long __a, __vector unsigned long long __b) {3462  int __cc;3463  __builtin_s390_vceqgs(__a, __b, &__cc);3464  return __cc == 3;3465}3466 3467// This prototype is deprecated.3468static inline __ATTRS_o_ai int3469vec_all_ne(__vector unsigned long long __a, __vector __bool long long __b) {3470  int __cc;3471  __builtin_s390_vceqgs(__a, (__vector unsigned long long)__b, &__cc);3472  return __cc == 3;3473}3474 3475// This prototype is deprecated.3476static inline __ATTRS_o_ai int3477vec_all_ne(__vector __bool long long __a, __vector unsigned long long __b) {3478  int __cc;3479  __builtin_s390_vceqgs((__vector unsigned long long)__a, __b, &__cc);3480  return __cc == 3;3481}3482 3483static inline __ATTRS_o_ai int3484vec_all_ne(__vector __bool long long __a, __vector __bool long long __b) {3485  int __cc;3486  __builtin_s390_vceqgs((__vector unsigned long long)__a,3487                        (__vector unsigned long long)__b, &__cc);3488  return __cc == 3;3489}3490 3491#if __ARCH__ >= 153492static inline __ATTRS_o_ai int3493vec_all_ne(__vector signed __int128 __a, __vector signed __int128 __b) {3494  int __cc;3495  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);3496  return __cc == 3;3497}3498 3499static inline __ATTRS_o_ai int3500vec_all_ne(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {3501  int __cc;3502  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);3503  return __cc == 3;3504}3505 3506static inline __ATTRS_o_ai int3507vec_all_ne(__vector __bool __int128 __a, __vector __bool __int128 __b) {3508  int __cc;3509  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);3510  return __cc == 3;3511}3512#endif3513 3514#if __ARCH__ >= 123515static inline __ATTRS_o_ai int3516vec_all_ne(__vector float __a, __vector float __b) {3517  int __cc;3518  __builtin_s390_vfcesbs(__a, __b, &__cc);3519  return __cc == 3;3520}3521#endif3522 3523static inline __ATTRS_o_ai int3524vec_all_ne(__vector double __a, __vector double __b) {3525  int __cc;3526  __builtin_s390_vfcedbs(__a, __b, &__cc);3527  return __cc == 3;3528}3529 3530/*-- vec_all_ge -------------------------------------------------------------*/3531 3532static inline __ATTRS_o_ai int3533vec_all_ge(__vector signed char __a, __vector signed char __b) {3534  int __cc;3535  __builtin_s390_vchbs(__b, __a, &__cc);3536  return __cc == 3;3537}3538 3539// This prototype is deprecated.3540static inline __ATTRS_o_ai int3541vec_all_ge(__vector signed char __a, __vector __bool char __b) {3542  int __cc;3543  __builtin_s390_vchbs((__vector signed char)__b, __a, &__cc);3544  return __cc == 3;3545}3546 3547// This prototype is deprecated.3548static inline __ATTRS_o_ai int3549vec_all_ge(__vector __bool char __a, __vector signed char __b) {3550  int __cc;3551  __builtin_s390_vchbs(__b, (__vector signed char)__a, &__cc);3552  return __cc == 3;3553}3554 3555static inline __ATTRS_o_ai int3556vec_all_ge(__vector unsigned char __a, __vector unsigned char __b) {3557  int __cc;3558  __builtin_s390_vchlbs(__b, __a, &__cc);3559  return __cc == 3;3560}3561 3562// This prototype is deprecated.3563static inline __ATTRS_o_ai int3564vec_all_ge(__vector unsigned char __a, __vector __bool char __b) {3565  int __cc;3566  __builtin_s390_vchlbs((__vector unsigned char)__b, __a, &__cc);3567  return __cc == 3;3568}3569 3570// This prototype is deprecated.3571static inline __ATTRS_o_ai int3572vec_all_ge(__vector __bool char __a, __vector unsigned char __b) {3573  int __cc;3574  __builtin_s390_vchlbs(__b, (__vector unsigned char)__a, &__cc);3575  return __cc == 3;3576}3577 3578// This prototype is deprecated.3579static inline __ATTRS_o_ai int3580vec_all_ge(__vector __bool char __a, __vector __bool char __b) {3581  int __cc;3582  __builtin_s390_vchlbs((__vector unsigned char)__b,3583                        (__vector unsigned char)__a, &__cc);3584  return __cc == 3;3585}3586 3587static inline __ATTRS_o_ai int3588vec_all_ge(__vector signed short __a, __vector signed short __b) {3589  int __cc;3590  __builtin_s390_vchhs(__b, __a, &__cc);3591  return __cc == 3;3592}3593 3594// This prototype is deprecated.3595static inline __ATTRS_o_ai int3596vec_all_ge(__vector signed short __a, __vector __bool short __b) {3597  int __cc;3598  __builtin_s390_vchhs((__vector signed short)__b, __a, &__cc);3599  return __cc == 3;3600}3601 3602// This prototype is deprecated.3603static inline __ATTRS_o_ai int3604vec_all_ge(__vector __bool short __a, __vector signed short __b) {3605  int __cc;3606  __builtin_s390_vchhs(__b, (__vector signed short)__a, &__cc);3607  return __cc == 3;3608}3609 3610static inline __ATTRS_o_ai int3611vec_all_ge(__vector unsigned short __a, __vector unsigned short __b) {3612  int __cc;3613  __builtin_s390_vchlhs(__b, __a, &__cc);3614  return __cc == 3;3615}3616 3617// This prototype is deprecated.3618static inline __ATTRS_o_ai int3619vec_all_ge(__vector unsigned short __a, __vector __bool short __b) {3620  int __cc;3621  __builtin_s390_vchlhs((__vector unsigned short)__b, __a, &__cc);3622  return __cc == 3;3623}3624 3625// This prototype is deprecated.3626static inline __ATTRS_o_ai int3627vec_all_ge(__vector __bool short __a, __vector unsigned short __b) {3628  int __cc;3629  __builtin_s390_vchlhs(__b, (__vector unsigned short)__a, &__cc);3630  return __cc == 3;3631}3632 3633// This prototype is deprecated.3634static inline __ATTRS_o_ai int3635vec_all_ge(__vector __bool short __a, __vector __bool short __b) {3636  int __cc;3637  __builtin_s390_vchlhs((__vector unsigned short)__b,3638                        (__vector unsigned short)__a, &__cc);3639  return __cc == 3;3640}3641 3642static inline __ATTRS_o_ai int3643vec_all_ge(__vector signed int __a, __vector signed int __b) {3644  int __cc;3645  __builtin_s390_vchfs(__b, __a, &__cc);3646  return __cc == 3;3647}3648 3649// This prototype is deprecated.3650static inline __ATTRS_o_ai int3651vec_all_ge(__vector signed int __a, __vector __bool int __b) {3652  int __cc;3653  __builtin_s390_vchfs((__vector signed int)__b, __a, &__cc);3654  return __cc == 3;3655}3656 3657// This prototype is deprecated.3658static inline __ATTRS_o_ai int3659vec_all_ge(__vector __bool int __a, __vector signed int __b) {3660  int __cc;3661  __builtin_s390_vchfs(__b, (__vector signed int)__a, &__cc);3662  return __cc == 3;3663}3664 3665static inline __ATTRS_o_ai int3666vec_all_ge(__vector unsigned int __a, __vector unsigned int __b) {3667  int __cc;3668  __builtin_s390_vchlfs(__b, __a, &__cc);3669  return __cc == 3;3670}3671 3672// This prototype is deprecated.3673static inline __ATTRS_o_ai int3674vec_all_ge(__vector unsigned int __a, __vector __bool int __b) {3675  int __cc;3676  __builtin_s390_vchlfs((__vector unsigned int)__b, __a, &__cc);3677  return __cc == 3;3678}3679 3680// This prototype is deprecated.3681static inline __ATTRS_o_ai int3682vec_all_ge(__vector __bool int __a, __vector unsigned int __b) {3683  int __cc;3684  __builtin_s390_vchlfs(__b, (__vector unsigned int)__a, &__cc);3685  return __cc == 3;3686}3687 3688// This prototype is deprecated.3689static inline __ATTRS_o_ai int3690vec_all_ge(__vector __bool int __a, __vector __bool int __b) {3691  int __cc;3692  __builtin_s390_vchlfs((__vector unsigned int)__b,3693                        (__vector unsigned int)__a, &__cc);3694  return __cc == 3;3695}3696 3697static inline __ATTRS_o_ai int3698vec_all_ge(__vector signed long long __a, __vector signed long long __b) {3699  int __cc;3700  __builtin_s390_vchgs(__b, __a, &__cc);3701  return __cc == 3;3702}3703 3704// This prototype is deprecated.3705static inline __ATTRS_o_ai int3706vec_all_ge(__vector signed long long __a, __vector __bool long long __b) {3707  int __cc;3708  __builtin_s390_vchgs((__vector signed long long)__b, __a, &__cc);3709  return __cc == 3;3710}3711 3712// This prototype is deprecated.3713static inline __ATTRS_o_ai int3714vec_all_ge(__vector __bool long long __a, __vector signed long long __b) {3715  int __cc;3716  __builtin_s390_vchgs(__b, (__vector signed long long)__a, &__cc);3717  return __cc == 3;3718}3719 3720static inline __ATTRS_o_ai int3721vec_all_ge(__vector unsigned long long __a, __vector unsigned long long __b) {3722  int __cc;3723  __builtin_s390_vchlgs(__b, __a, &__cc);3724  return __cc == 3;3725}3726 3727// This prototype is deprecated.3728static inline __ATTRS_o_ai int3729vec_all_ge(__vector unsigned long long __a, __vector __bool long long __b) {3730  int __cc;3731  __builtin_s390_vchlgs((__vector unsigned long long)__b, __a, &__cc);3732  return __cc == 3;3733}3734 3735// This prototype is deprecated.3736static inline __ATTRS_o_ai int3737vec_all_ge(__vector __bool long long __a, __vector unsigned long long __b) {3738  int __cc;3739  __builtin_s390_vchlgs(__b, (__vector unsigned long long)__a, &__cc);3740  return __cc == 3;3741}3742 3743// This prototype is deprecated.3744static inline __ATTRS_o_ai int3745vec_all_ge(__vector __bool long long __a, __vector __bool long long __b) {3746  int __cc;3747  __builtin_s390_vchlgs((__vector unsigned long long)__b,3748                        (__vector unsigned long long)__a, &__cc);3749  return __cc == 3;3750}3751 3752#if __ARCH__ >= 153753static inline __ATTRS_o_ai int3754vec_all_ge(__vector signed __int128 __a, __vector signed __int128 __b) {3755  int __cc;3756  __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);3757  return __cc == 3;3758}3759 3760static inline __ATTRS_o_ai int3761vec_all_ge(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {3762  int __cc;3763  __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);3764  return __cc == 3;3765}3766#endif3767 3768#if __ARCH__ >= 123769static inline __ATTRS_o_ai int3770vec_all_ge(__vector float __a, __vector float __b) {3771  int __cc;3772  __builtin_s390_vfchesbs(__a, __b, &__cc);3773  return __cc == 0;3774}3775#endif3776 3777static inline __ATTRS_o_ai int3778vec_all_ge(__vector double __a, __vector double __b) {3779  int __cc;3780  __builtin_s390_vfchedbs(__a, __b, &__cc);3781  return __cc == 0;3782}3783 3784/*-- vec_all_gt -------------------------------------------------------------*/3785 3786static inline __ATTRS_o_ai int3787vec_all_gt(__vector signed char __a, __vector signed char __b) {3788  int __cc;3789  __builtin_s390_vchbs(__a, __b, &__cc);3790  return __cc == 0;3791}3792 3793// This prototype is deprecated.3794static inline __ATTRS_o_ai int3795vec_all_gt(__vector signed char __a, __vector __bool char __b) {3796  int __cc;3797  __builtin_s390_vchbs(__a, (__vector signed char)__b, &__cc);3798  return __cc == 0;3799}3800 3801// This prototype is deprecated.3802static inline __ATTRS_o_ai int3803vec_all_gt(__vector __bool char __a, __vector signed char __b) {3804  int __cc;3805  __builtin_s390_vchbs((__vector signed char)__a, __b, &__cc);3806  return __cc == 0;3807}3808 3809static inline __ATTRS_o_ai int3810vec_all_gt(__vector unsigned char __a, __vector unsigned char __b) {3811  int __cc;3812  __builtin_s390_vchlbs(__a, __b, &__cc);3813  return __cc == 0;3814}3815 3816// This prototype is deprecated.3817static inline __ATTRS_o_ai int3818vec_all_gt(__vector unsigned char __a, __vector __bool char __b) {3819  int __cc;3820  __builtin_s390_vchlbs(__a, (__vector unsigned char)__b, &__cc);3821  return __cc == 0;3822}3823 3824// This prototype is deprecated.3825static inline __ATTRS_o_ai int3826vec_all_gt(__vector __bool char __a, __vector unsigned char __b) {3827  int __cc;3828  __builtin_s390_vchlbs((__vector unsigned char)__a, __b, &__cc);3829  return __cc == 0;3830}3831 3832// This prototype is deprecated.3833static inline __ATTRS_o_ai int3834vec_all_gt(__vector __bool char __a, __vector __bool char __b) {3835  int __cc;3836  __builtin_s390_vchlbs((__vector unsigned char)__a,3837                        (__vector unsigned char)__b, &__cc);3838  return __cc == 0;3839}3840 3841static inline __ATTRS_o_ai int3842vec_all_gt(__vector signed short __a, __vector signed short __b) {3843  int __cc;3844  __builtin_s390_vchhs(__a, __b, &__cc);3845  return __cc == 0;3846}3847 3848// This prototype is deprecated.3849static inline __ATTRS_o_ai int3850vec_all_gt(__vector signed short __a, __vector __bool short __b) {3851  int __cc;3852  __builtin_s390_vchhs(__a, (__vector signed short)__b, &__cc);3853  return __cc == 0;3854}3855 3856// This prototype is deprecated.3857static inline __ATTRS_o_ai int3858vec_all_gt(__vector __bool short __a, __vector signed short __b) {3859  int __cc;3860  __builtin_s390_vchhs((__vector signed short)__a, __b, &__cc);3861  return __cc == 0;3862}3863 3864static inline __ATTRS_o_ai int3865vec_all_gt(__vector unsigned short __a, __vector unsigned short __b) {3866  int __cc;3867  __builtin_s390_vchlhs(__a, __b, &__cc);3868  return __cc == 0;3869}3870 3871// This prototype is deprecated.3872static inline __ATTRS_o_ai int3873vec_all_gt(__vector unsigned short __a, __vector __bool short __b) {3874  int __cc;3875  __builtin_s390_vchlhs(__a, (__vector unsigned short)__b, &__cc);3876  return __cc == 0;3877}3878 3879// This prototype is deprecated.3880static inline __ATTRS_o_ai int3881vec_all_gt(__vector __bool short __a, __vector unsigned short __b) {3882  int __cc;3883  __builtin_s390_vchlhs((__vector unsigned short)__a, __b, &__cc);3884  return __cc == 0;3885}3886 3887// This prototype is deprecated.3888static inline __ATTRS_o_ai int3889vec_all_gt(__vector __bool short __a, __vector __bool short __b) {3890  int __cc;3891  __builtin_s390_vchlhs((__vector unsigned short)__a,3892                        (__vector unsigned short)__b, &__cc);3893  return __cc == 0;3894}3895 3896static inline __ATTRS_o_ai int3897vec_all_gt(__vector signed int __a, __vector signed int __b) {3898  int __cc;3899  __builtin_s390_vchfs(__a, __b, &__cc);3900  return __cc == 0;3901}3902 3903// This prototype is deprecated.3904static inline __ATTRS_o_ai int3905vec_all_gt(__vector signed int __a, __vector __bool int __b) {3906  int __cc;3907  __builtin_s390_vchfs(__a, (__vector signed int)__b, &__cc);3908  return __cc == 0;3909}3910 3911// This prototype is deprecated.3912static inline __ATTRS_o_ai int3913vec_all_gt(__vector __bool int __a, __vector signed int __b) {3914  int __cc;3915  __builtin_s390_vchfs((__vector signed int)__a, __b, &__cc);3916  return __cc == 0;3917}3918 3919static inline __ATTRS_o_ai int3920vec_all_gt(__vector unsigned int __a, __vector unsigned int __b) {3921  int __cc;3922  __builtin_s390_vchlfs(__a, __b, &__cc);3923  return __cc == 0;3924}3925 3926// This prototype is deprecated.3927static inline __ATTRS_o_ai int3928vec_all_gt(__vector unsigned int __a, __vector __bool int __b) {3929  int __cc;3930  __builtin_s390_vchlfs(__a, (__vector unsigned int)__b, &__cc);3931  return __cc == 0;3932}3933 3934// This prototype is deprecated.3935static inline __ATTRS_o_ai int3936vec_all_gt(__vector __bool int __a, __vector unsigned int __b) {3937  int __cc;3938  __builtin_s390_vchlfs((__vector unsigned int)__a, __b, &__cc);3939  return __cc == 0;3940}3941 3942// This prototype is deprecated.3943static inline __ATTRS_o_ai int3944vec_all_gt(__vector __bool int __a, __vector __bool int __b) {3945  int __cc;3946  __builtin_s390_vchlfs((__vector unsigned int)__a,3947                        (__vector unsigned int)__b, &__cc);3948  return __cc == 0;3949}3950 3951static inline __ATTRS_o_ai int3952vec_all_gt(__vector signed long long __a, __vector signed long long __b) {3953  int __cc;3954  __builtin_s390_vchgs(__a, __b, &__cc);3955  return __cc == 0;3956}3957 3958// This prototype is deprecated.3959static inline __ATTRS_o_ai int3960vec_all_gt(__vector signed long long __a, __vector __bool long long __b) {3961  int __cc;3962  __builtin_s390_vchgs(__a, (__vector signed long long)__b, &__cc);3963  return __cc == 0;3964}3965 3966// This prototype is deprecated.3967static inline __ATTRS_o_ai int3968vec_all_gt(__vector __bool long long __a, __vector signed long long __b) {3969  int __cc;3970  __builtin_s390_vchgs((__vector signed long long)__a, __b, &__cc);3971  return __cc == 0;3972}3973 3974static inline __ATTRS_o_ai int3975vec_all_gt(__vector unsigned long long __a, __vector unsigned long long __b) {3976  int __cc;3977  __builtin_s390_vchlgs(__a, __b, &__cc);3978  return __cc == 0;3979}3980 3981// This prototype is deprecated.3982static inline __ATTRS_o_ai int3983vec_all_gt(__vector unsigned long long __a, __vector __bool long long __b) {3984  int __cc;3985  __builtin_s390_vchlgs(__a, (__vector unsigned long long)__b, &__cc);3986  return __cc == 0;3987}3988 3989// This prototype is deprecated.3990static inline __ATTRS_o_ai int3991vec_all_gt(__vector __bool long long __a, __vector unsigned long long __b) {3992  int __cc;3993  __builtin_s390_vchlgs((__vector unsigned long long)__a, __b, &__cc);3994  return __cc == 0;3995}3996 3997// This prototype is deprecated.3998static inline __ATTRS_o_ai int3999vec_all_gt(__vector __bool long long __a, __vector __bool long long __b) {4000  int __cc;4001  __builtin_s390_vchlgs((__vector unsigned long long)__a,4002                        (__vector unsigned long long)__b, &__cc);4003  return __cc == 0;4004}4005 4006#if __ARCH__ >= 154007static inline __ATTRS_o_ai int4008vec_all_gt(__vector signed __int128 __a, __vector signed __int128 __b) {4009  int __cc;4010  __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);4011  return __cc == 0;4012}4013 4014static inline __ATTRS_o_ai int4015vec_all_gt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {4016  int __cc;4017  __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);4018  return __cc == 0;4019}4020#endif4021 4022#if __ARCH__ >= 124023static inline __ATTRS_o_ai int4024vec_all_gt(__vector float __a, __vector float __b) {4025  int __cc;4026  __builtin_s390_vfchsbs(__a, __b, &__cc);4027  return __cc == 0;4028}4029#endif4030 4031static inline __ATTRS_o_ai int4032vec_all_gt(__vector double __a, __vector double __b) {4033  int __cc;4034  __builtin_s390_vfchdbs(__a, __b, &__cc);4035  return __cc == 0;4036}4037 4038/*-- vec_all_le -------------------------------------------------------------*/4039 4040static inline __ATTRS_o_ai int4041vec_all_le(__vector signed char __a, __vector signed char __b) {4042  int __cc;4043  __builtin_s390_vchbs(__a, __b, &__cc);4044  return __cc == 3;4045}4046 4047// This prototype is deprecated.4048static inline __ATTRS_o_ai int4049vec_all_le(__vector signed char __a, __vector __bool char __b) {4050  int __cc;4051  __builtin_s390_vchbs(__a, (__vector signed char)__b, &__cc);4052  return __cc == 3;4053}4054 4055// This prototype is deprecated.4056static inline __ATTRS_o_ai int4057vec_all_le(__vector __bool char __a, __vector signed char __b) {4058  int __cc;4059  __builtin_s390_vchbs((__vector signed char)__a, __b, &__cc);4060  return __cc == 3;4061}4062 4063static inline __ATTRS_o_ai int4064vec_all_le(__vector unsigned char __a, __vector unsigned char __b) {4065  int __cc;4066  __builtin_s390_vchlbs(__a, __b, &__cc);4067  return __cc == 3;4068}4069 4070// This prototype is deprecated.4071static inline __ATTRS_o_ai int4072vec_all_le(__vector unsigned char __a, __vector __bool char __b) {4073  int __cc;4074  __builtin_s390_vchlbs(__a, (__vector unsigned char)__b, &__cc);4075  return __cc == 3;4076}4077 4078// This prototype is deprecated.4079static inline __ATTRS_o_ai int4080vec_all_le(__vector __bool char __a, __vector unsigned char __b) {4081  int __cc;4082  __builtin_s390_vchlbs((__vector unsigned char)__a, __b, &__cc);4083  return __cc == 3;4084}4085 4086// This prototype is deprecated.4087static inline __ATTRS_o_ai int4088vec_all_le(__vector __bool char __a, __vector __bool char __b) {4089  int __cc;4090  __builtin_s390_vchlbs((__vector unsigned char)__a,4091                        (__vector unsigned char)__b, &__cc);4092  return __cc == 3;4093}4094 4095static inline __ATTRS_o_ai int4096vec_all_le(__vector signed short __a, __vector signed short __b) {4097  int __cc;4098  __builtin_s390_vchhs(__a, __b, &__cc);4099  return __cc == 3;4100}4101 4102// This prototype is deprecated.4103static inline __ATTRS_o_ai int4104vec_all_le(__vector signed short __a, __vector __bool short __b) {4105  int __cc;4106  __builtin_s390_vchhs(__a, (__vector signed short)__b, &__cc);4107  return __cc == 3;4108}4109 4110// This prototype is deprecated.4111static inline __ATTRS_o_ai int4112vec_all_le(__vector __bool short __a, __vector signed short __b) {4113  int __cc;4114  __builtin_s390_vchhs((__vector signed short)__a, __b, &__cc);4115  return __cc == 3;4116}4117 4118static inline __ATTRS_o_ai int4119vec_all_le(__vector unsigned short __a, __vector unsigned short __b) {4120  int __cc;4121  __builtin_s390_vchlhs(__a, __b, &__cc);4122  return __cc == 3;4123}4124 4125// This prototype is deprecated.4126static inline __ATTRS_o_ai int4127vec_all_le(__vector unsigned short __a, __vector __bool short __b) {4128  int __cc;4129  __builtin_s390_vchlhs(__a, (__vector unsigned short)__b, &__cc);4130  return __cc == 3;4131}4132 4133// This prototype is deprecated.4134static inline __ATTRS_o_ai int4135vec_all_le(__vector __bool short __a, __vector unsigned short __b) {4136  int __cc;4137  __builtin_s390_vchlhs((__vector unsigned short)__a, __b, &__cc);4138  return __cc == 3;4139}4140 4141// This prototype is deprecated.4142static inline __ATTRS_o_ai int4143vec_all_le(__vector __bool short __a, __vector __bool short __b) {4144  int __cc;4145  __builtin_s390_vchlhs((__vector unsigned short)__a,4146                        (__vector unsigned short)__b, &__cc);4147  return __cc == 3;4148}4149 4150static inline __ATTRS_o_ai int4151vec_all_le(__vector signed int __a, __vector signed int __b) {4152  int __cc;4153  __builtin_s390_vchfs(__a, __b, &__cc);4154  return __cc == 3;4155}4156 4157// This prototype is deprecated.4158static inline __ATTRS_o_ai int4159vec_all_le(__vector signed int __a, __vector __bool int __b) {4160  int __cc;4161  __builtin_s390_vchfs(__a, (__vector signed int)__b, &__cc);4162  return __cc == 3;4163}4164 4165// This prototype is deprecated.4166static inline __ATTRS_o_ai int4167vec_all_le(__vector __bool int __a, __vector signed int __b) {4168  int __cc;4169  __builtin_s390_vchfs((__vector signed int)__a, __b, &__cc);4170  return __cc == 3;4171}4172 4173static inline __ATTRS_o_ai int4174vec_all_le(__vector unsigned int __a, __vector unsigned int __b) {4175  int __cc;4176  __builtin_s390_vchlfs(__a, __b, &__cc);4177  return __cc == 3;4178}4179 4180// This prototype is deprecated.4181static inline __ATTRS_o_ai int4182vec_all_le(__vector unsigned int __a, __vector __bool int __b) {4183  int __cc;4184  __builtin_s390_vchlfs(__a, (__vector unsigned int)__b, &__cc);4185  return __cc == 3;4186}4187 4188// This prototype is deprecated.4189static inline __ATTRS_o_ai int4190vec_all_le(__vector __bool int __a, __vector unsigned int __b) {4191  int __cc;4192  __builtin_s390_vchlfs((__vector unsigned int)__a, __b, &__cc);4193  return __cc == 3;4194}4195 4196// This prototype is deprecated.4197static inline __ATTRS_o_ai int4198vec_all_le(__vector __bool int __a, __vector __bool int __b) {4199  int __cc;4200  __builtin_s390_vchlfs((__vector unsigned int)__a,4201                        (__vector unsigned int)__b, &__cc);4202  return __cc == 3;4203}4204 4205static inline __ATTRS_o_ai int4206vec_all_le(__vector signed long long __a, __vector signed long long __b) {4207  int __cc;4208  __builtin_s390_vchgs(__a, __b, &__cc);4209  return __cc == 3;4210}4211 4212// This prototype is deprecated.4213static inline __ATTRS_o_ai int4214vec_all_le(__vector signed long long __a, __vector __bool long long __b) {4215  int __cc;4216  __builtin_s390_vchgs(__a, (__vector signed long long)__b, &__cc);4217  return __cc == 3;4218}4219 4220// This prototype is deprecated.4221static inline __ATTRS_o_ai int4222vec_all_le(__vector __bool long long __a, __vector signed long long __b) {4223  int __cc;4224  __builtin_s390_vchgs((__vector signed long long)__a, __b, &__cc);4225  return __cc == 3;4226}4227 4228static inline __ATTRS_o_ai int4229vec_all_le(__vector unsigned long long __a, __vector unsigned long long __b) {4230  int __cc;4231  __builtin_s390_vchlgs(__a, __b, &__cc);4232  return __cc == 3;4233}4234 4235// This prototype is deprecated.4236static inline __ATTRS_o_ai int4237vec_all_le(__vector unsigned long long __a, __vector __bool long long __b) {4238  int __cc;4239  __builtin_s390_vchlgs(__a, (__vector unsigned long long)__b, &__cc);4240  return __cc == 3;4241}4242 4243// This prototype is deprecated.4244static inline __ATTRS_o_ai int4245vec_all_le(__vector __bool long long __a, __vector unsigned long long __b) {4246  int __cc;4247  __builtin_s390_vchlgs((__vector unsigned long long)__a, __b, &__cc);4248  return __cc == 3;4249}4250 4251// This prototype is deprecated.4252static inline __ATTRS_o_ai int4253vec_all_le(__vector __bool long long __a, __vector __bool long long __b) {4254  int __cc;4255  __builtin_s390_vchlgs((__vector unsigned long long)__a,4256                        (__vector unsigned long long)__b, &__cc);4257  return __cc == 3;4258}4259 4260#if __ARCH__ >= 154261static inline __ATTRS_o_ai int4262vec_all_le(__vector signed __int128 __a, __vector signed __int128 __b) {4263  int __cc;4264  __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);4265  return __cc == 3;4266}4267 4268static inline __ATTRS_o_ai int4269vec_all_le(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {4270  int __cc;4271  __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);4272  return __cc == 3;4273}4274#endif4275 4276#if __ARCH__ >= 124277static inline __ATTRS_o_ai int4278vec_all_le(__vector float __a, __vector float __b) {4279  int __cc;4280  __builtin_s390_vfchesbs(__b, __a, &__cc);4281  return __cc == 0;4282}4283#endif4284 4285static inline __ATTRS_o_ai int4286vec_all_le(__vector double __a, __vector double __b) {4287  int __cc;4288  __builtin_s390_vfchedbs(__b, __a, &__cc);4289  return __cc == 0;4290}4291 4292/*-- vec_all_lt -------------------------------------------------------------*/4293 4294static inline __ATTRS_o_ai int4295vec_all_lt(__vector signed char __a, __vector signed char __b) {4296  int __cc;4297  __builtin_s390_vchbs(__b, __a, &__cc);4298  return __cc == 0;4299}4300 4301// This prototype is deprecated.4302static inline __ATTRS_o_ai int4303vec_all_lt(__vector signed char __a, __vector __bool char __b) {4304  int __cc;4305  __builtin_s390_vchbs((__vector signed char)__b, __a, &__cc);4306  return __cc == 0;4307}4308 4309// This prototype is deprecated.4310static inline __ATTRS_o_ai int4311vec_all_lt(__vector __bool char __a, __vector signed char __b) {4312  int __cc;4313  __builtin_s390_vchbs(__b, (__vector signed char)__a, &__cc);4314  return __cc == 0;4315}4316 4317static inline __ATTRS_o_ai int4318vec_all_lt(__vector unsigned char __a, __vector unsigned char __b) {4319  int __cc;4320  __builtin_s390_vchlbs(__b, __a, &__cc);4321  return __cc == 0;4322}4323 4324// This prototype is deprecated.4325static inline __ATTRS_o_ai int4326vec_all_lt(__vector unsigned char __a, __vector __bool char __b) {4327  int __cc;4328  __builtin_s390_vchlbs((__vector unsigned char)__b, __a, &__cc);4329  return __cc == 0;4330}4331 4332// This prototype is deprecated.4333static inline __ATTRS_o_ai int4334vec_all_lt(__vector __bool char __a, __vector unsigned char __b) {4335  int __cc;4336  __builtin_s390_vchlbs(__b, (__vector unsigned char)__a, &__cc);4337  return __cc == 0;4338}4339 4340// This prototype is deprecated.4341static inline __ATTRS_o_ai int4342vec_all_lt(__vector __bool char __a, __vector __bool char __b) {4343  int __cc;4344  __builtin_s390_vchlbs((__vector unsigned char)__b,4345                        (__vector unsigned char)__a, &__cc);4346  return __cc == 0;4347}4348 4349static inline __ATTRS_o_ai int4350vec_all_lt(__vector signed short __a, __vector signed short __b) {4351  int __cc;4352  __builtin_s390_vchhs(__b, __a, &__cc);4353  return __cc == 0;4354}4355 4356// This prototype is deprecated.4357static inline __ATTRS_o_ai int4358vec_all_lt(__vector signed short __a, __vector __bool short __b) {4359  int __cc;4360  __builtin_s390_vchhs((__vector signed short)__b, __a, &__cc);4361  return __cc == 0;4362}4363 4364// This prototype is deprecated.4365static inline __ATTRS_o_ai int4366vec_all_lt(__vector __bool short __a, __vector signed short __b) {4367  int __cc;4368  __builtin_s390_vchhs(__b, (__vector signed short)__a, &__cc);4369  return __cc == 0;4370}4371 4372static inline __ATTRS_o_ai int4373vec_all_lt(__vector unsigned short __a, __vector unsigned short __b) {4374  int __cc;4375  __builtin_s390_vchlhs(__b, __a, &__cc);4376  return __cc == 0;4377}4378 4379// This prototype is deprecated.4380static inline __ATTRS_o_ai int4381vec_all_lt(__vector unsigned short __a, __vector __bool short __b) {4382  int __cc;4383  __builtin_s390_vchlhs((__vector unsigned short)__b, __a, &__cc);4384  return __cc == 0;4385}4386 4387// This prototype is deprecated.4388static inline __ATTRS_o_ai int4389vec_all_lt(__vector __bool short __a, __vector unsigned short __b) {4390  int __cc;4391  __builtin_s390_vchlhs(__b, (__vector unsigned short)__a, &__cc);4392  return __cc == 0;4393}4394 4395// This prototype is deprecated.4396static inline __ATTRS_o_ai int4397vec_all_lt(__vector __bool short __a, __vector __bool short __b) {4398  int __cc;4399  __builtin_s390_vchlhs((__vector unsigned short)__b,4400                        (__vector unsigned short)__a, &__cc);4401  return __cc == 0;4402}4403 4404static inline __ATTRS_o_ai int4405vec_all_lt(__vector signed int __a, __vector signed int __b) {4406  int __cc;4407  __builtin_s390_vchfs(__b, __a, &__cc);4408  return __cc == 0;4409}4410 4411// This prototype is deprecated.4412static inline __ATTRS_o_ai int4413vec_all_lt(__vector signed int __a, __vector __bool int __b) {4414  int __cc;4415  __builtin_s390_vchfs((__vector signed int)__b, __a, &__cc);4416  return __cc == 0;4417}4418 4419// This prototype is deprecated.4420static inline __ATTRS_o_ai int4421vec_all_lt(__vector __bool int __a, __vector signed int __b) {4422  int __cc;4423  __builtin_s390_vchfs(__b, (__vector signed int)__a, &__cc);4424  return __cc == 0;4425}4426 4427static inline __ATTRS_o_ai int4428vec_all_lt(__vector unsigned int __a, __vector unsigned int __b) {4429  int __cc;4430  __builtin_s390_vchlfs(__b, __a, &__cc);4431  return __cc == 0;4432}4433 4434// This prototype is deprecated.4435static inline __ATTRS_o_ai int4436vec_all_lt(__vector unsigned int __a, __vector __bool int __b) {4437  int __cc;4438  __builtin_s390_vchlfs((__vector unsigned int)__b, __a, &__cc);4439  return __cc == 0;4440}4441 4442// This prototype is deprecated.4443static inline __ATTRS_o_ai int4444vec_all_lt(__vector __bool int __a, __vector unsigned int __b) {4445  int __cc;4446  __builtin_s390_vchlfs(__b, (__vector unsigned int)__a, &__cc);4447  return __cc == 0;4448}4449 4450// This prototype is deprecated.4451static inline __ATTRS_o_ai int4452vec_all_lt(__vector __bool int __a, __vector __bool int __b) {4453  int __cc;4454  __builtin_s390_vchlfs((__vector unsigned int)__b,4455                        (__vector unsigned int)__a, &__cc);4456  return __cc == 0;4457}4458 4459static inline __ATTRS_o_ai int4460vec_all_lt(__vector signed long long __a, __vector signed long long __b) {4461  int __cc;4462  __builtin_s390_vchgs(__b, __a, &__cc);4463  return __cc == 0;4464}4465 4466// This prototype is deprecated.4467static inline __ATTRS_o_ai int4468vec_all_lt(__vector signed long long __a, __vector __bool long long __b) {4469  int __cc;4470  __builtin_s390_vchgs((__vector signed long long)__b, __a, &__cc);4471  return __cc == 0;4472}4473 4474// This prototype is deprecated.4475static inline __ATTRS_o_ai int4476vec_all_lt(__vector __bool long long __a, __vector signed long long __b) {4477  int __cc;4478  __builtin_s390_vchgs(__b, (__vector signed long long)__a, &__cc);4479  return __cc == 0;4480}4481 4482static inline __ATTRS_o_ai int4483vec_all_lt(__vector unsigned long long __a, __vector unsigned long long __b) {4484  int __cc;4485  __builtin_s390_vchlgs(__b, __a, &__cc);4486  return __cc == 0;4487}4488 4489// This prototype is deprecated.4490static inline __ATTRS_o_ai int4491vec_all_lt(__vector unsigned long long __a, __vector __bool long long __b) {4492  int __cc;4493  __builtin_s390_vchlgs((__vector unsigned long long)__b, __a, &__cc);4494  return __cc == 0;4495}4496 4497// This prototype is deprecated.4498static inline __ATTRS_o_ai int4499vec_all_lt(__vector __bool long long __a, __vector unsigned long long __b) {4500  int __cc;4501  __builtin_s390_vchlgs(__b, (__vector unsigned long long)__a, &__cc);4502  return __cc == 0;4503}4504 4505// This prototype is deprecated.4506static inline __ATTRS_o_ai int4507vec_all_lt(__vector __bool long long __a, __vector __bool long long __b) {4508  int __cc;4509  __builtin_s390_vchlgs((__vector unsigned long long)__b,4510                        (__vector unsigned long long)__a, &__cc);4511  return __cc == 0;4512}4513 4514#if __ARCH__ >= 154515static inline __ATTRS_o_ai int4516vec_all_lt(__vector signed __int128 __a, __vector signed __int128 __b) {4517  int __cc;4518  __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);4519  return __cc == 0;4520}4521 4522static inline __ATTRS_o_ai int4523vec_all_lt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {4524  int __cc;4525  __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);4526  return __cc == 0;4527}4528#endif4529 4530#if __ARCH__ >= 124531static inline __ATTRS_o_ai int4532vec_all_lt(__vector float __a, __vector float __b) {4533  int __cc;4534  __builtin_s390_vfchsbs(__b, __a, &__cc);4535  return __cc == 0;4536}4537#endif4538 4539static inline __ATTRS_o_ai int4540vec_all_lt(__vector double __a, __vector double __b) {4541  int __cc;4542  __builtin_s390_vfchdbs(__b, __a, &__cc);4543  return __cc == 0;4544}4545 4546/*-- vec_all_nge ------------------------------------------------------------*/4547 4548#if __ARCH__ >= 124549static inline __ATTRS_o_ai int4550vec_all_nge(__vector float __a, __vector float __b) {4551  int __cc;4552  __builtin_s390_vfchesbs(__a, __b, &__cc);4553  return __cc == 3;4554}4555#endif4556 4557static inline __ATTRS_o_ai int4558vec_all_nge(__vector double __a, __vector double __b) {4559  int __cc;4560  __builtin_s390_vfchedbs(__a, __b, &__cc);4561  return __cc == 3;4562}4563 4564/*-- vec_all_ngt ------------------------------------------------------------*/4565 4566#if __ARCH__ >= 124567static inline __ATTRS_o_ai int4568vec_all_ngt(__vector float __a, __vector float __b) {4569  int __cc;4570  __builtin_s390_vfchsbs(__a, __b, &__cc);4571  return __cc == 3;4572}4573#endif4574 4575static inline __ATTRS_o_ai int4576vec_all_ngt(__vector double __a, __vector double __b) {4577  int __cc;4578  __builtin_s390_vfchdbs(__a, __b, &__cc);4579  return __cc == 3;4580}4581 4582/*-- vec_all_nle ------------------------------------------------------------*/4583 4584#if __ARCH__ >= 124585static inline __ATTRS_o_ai int4586vec_all_nle(__vector float __a, __vector float __b) {4587  int __cc;4588  __builtin_s390_vfchesbs(__b, __a, &__cc);4589  return __cc == 3;4590}4591#endif4592 4593static inline __ATTRS_o_ai int4594vec_all_nle(__vector double __a, __vector double __b) {4595  int __cc;4596  __builtin_s390_vfchedbs(__b, __a, &__cc);4597  return __cc == 3;4598}4599 4600/*-- vec_all_nlt ------------------------------------------------------------*/4601 4602#if __ARCH__ >= 124603static inline __ATTRS_o_ai int4604vec_all_nlt(__vector float __a, __vector float __b) {4605  int __cc;4606  __builtin_s390_vfchsbs(__b, __a, &__cc);4607  return __cc == 3;4608}4609#endif4610 4611static inline __ATTRS_o_ai int4612vec_all_nlt(__vector double __a, __vector double __b) {4613  int __cc;4614  __builtin_s390_vfchdbs(__b, __a, &__cc);4615  return __cc == 3;4616}4617 4618/*-- vec_all_nan ------------------------------------------------------------*/4619 4620#if __ARCH__ >= 124621static inline __ATTRS_o_ai int4622vec_all_nan(__vector float __a) {4623  int __cc;4624  __builtin_s390_vftcisb(__a, 15, &__cc);4625  return __cc == 0;4626}4627#endif4628 4629static inline __ATTRS_o_ai int4630vec_all_nan(__vector double __a) {4631  int __cc;4632  __builtin_s390_vftcidb(__a, 15, &__cc);4633  return __cc == 0;4634}4635 4636/*-- vec_all_numeric --------------------------------------------------------*/4637 4638#if __ARCH__ >= 124639static inline __ATTRS_o_ai int4640vec_all_numeric(__vector float __a) {4641  int __cc;4642  __builtin_s390_vftcisb(__a, 15, &__cc);4643  return __cc == 3;4644}4645#endif4646 4647static inline __ATTRS_o_ai int4648vec_all_numeric(__vector double __a) {4649  int __cc;4650  __builtin_s390_vftcidb(__a, 15, &__cc);4651  return __cc == 3;4652}4653 4654/*-- vec_any_eq -------------------------------------------------------------*/4655 4656static inline __ATTRS_o_ai int4657vec_any_eq(__vector signed char __a, __vector signed char __b) {4658  int __cc;4659  __builtin_s390_vceqbs((__vector unsigned char)__a,4660                        (__vector unsigned char)__b, &__cc);4661  return __cc <= 1;4662}4663 4664// This prototype is deprecated.4665static inline __ATTRS_o_ai int4666vec_any_eq(__vector signed char __a, __vector __bool char __b) {4667  int __cc;4668  __builtin_s390_vceqbs((__vector unsigned char)__a,4669                        (__vector unsigned char)__b, &__cc);4670  return __cc <= 1;4671}4672 4673// This prototype is deprecated.4674static inline __ATTRS_o_ai int4675vec_any_eq(__vector __bool char __a, __vector signed char __b) {4676  int __cc;4677  __builtin_s390_vceqbs((__vector unsigned char)__a,4678                        (__vector unsigned char)__b, &__cc);4679  return __cc <= 1;4680}4681 4682static inline __ATTRS_o_ai int4683vec_any_eq(__vector unsigned char __a, __vector unsigned char __b) {4684  int __cc;4685  __builtin_s390_vceqbs(__a, __b, &__cc);4686  return __cc <= 1;4687}4688 4689// This prototype is deprecated.4690static inline __ATTRS_o_ai int4691vec_any_eq(__vector unsigned char __a, __vector __bool char __b) {4692  int __cc;4693  __builtin_s390_vceqbs(__a, (__vector unsigned char)__b, &__cc);4694  return __cc <= 1;4695}4696 4697// This prototype is deprecated.4698static inline __ATTRS_o_ai int4699vec_any_eq(__vector __bool char __a, __vector unsigned char __b) {4700  int __cc;4701  __builtin_s390_vceqbs((__vector unsigned char)__a, __b, &__cc);4702  return __cc <= 1;4703}4704 4705static inline __ATTRS_o_ai int4706vec_any_eq(__vector __bool char __a, __vector __bool char __b) {4707  int __cc;4708  __builtin_s390_vceqbs((__vector unsigned char)__a,4709                        (__vector unsigned char)__b, &__cc);4710  return __cc <= 1;4711}4712 4713static inline __ATTRS_o_ai int4714vec_any_eq(__vector signed short __a, __vector signed short __b) {4715  int __cc;4716  __builtin_s390_vceqhs((__vector unsigned short)__a,4717                        (__vector unsigned short)__b, &__cc);4718  return __cc <= 1;4719}4720 4721// This prototype is deprecated.4722static inline __ATTRS_o_ai int4723vec_any_eq(__vector signed short __a, __vector __bool short __b) {4724  int __cc;4725  __builtin_s390_vceqhs((__vector unsigned short)__a,4726                        (__vector unsigned short)__b, &__cc);4727  return __cc <= 1;4728}4729 4730// This prototype is deprecated.4731static inline __ATTRS_o_ai int4732vec_any_eq(__vector __bool short __a, __vector signed short __b) {4733  int __cc;4734  __builtin_s390_vceqhs((__vector unsigned short)__a,4735                        (__vector unsigned short)__b, &__cc);4736  return __cc <= 1;4737}4738 4739static inline __ATTRS_o_ai int4740vec_any_eq(__vector unsigned short __a, __vector unsigned short __b) {4741  int __cc;4742  __builtin_s390_vceqhs(__a, __b, &__cc);4743  return __cc <= 1;4744}4745 4746// This prototype is deprecated.4747static inline __ATTRS_o_ai int4748vec_any_eq(__vector unsigned short __a, __vector __bool short __b) {4749  int __cc;4750  __builtin_s390_vceqhs(__a, (__vector unsigned short)__b, &__cc);4751  return __cc <= 1;4752}4753 4754// This prototype is deprecated.4755static inline __ATTRS_o_ai int4756vec_any_eq(__vector __bool short __a, __vector unsigned short __b) {4757  int __cc;4758  __builtin_s390_vceqhs((__vector unsigned short)__a, __b, &__cc);4759  return __cc <= 1;4760}4761 4762static inline __ATTRS_o_ai int4763vec_any_eq(__vector __bool short __a, __vector __bool short __b) {4764  int __cc;4765  __builtin_s390_vceqhs((__vector unsigned short)__a,4766                        (__vector unsigned short)__b, &__cc);4767  return __cc <= 1;4768}4769 4770static inline __ATTRS_o_ai int4771vec_any_eq(__vector signed int __a, __vector signed int __b) {4772  int __cc;4773  __builtin_s390_vceqfs((__vector unsigned int)__a,4774                        (__vector unsigned int)__b, &__cc);4775  return __cc <= 1;4776}4777 4778// This prototype is deprecated.4779static inline __ATTRS_o_ai int4780vec_any_eq(__vector signed int __a, __vector __bool int __b) {4781  int __cc;4782  __builtin_s390_vceqfs((__vector unsigned int)__a,4783                        (__vector unsigned int)__b, &__cc);4784  return __cc <= 1;4785}4786 4787// This prototype is deprecated.4788static inline __ATTRS_o_ai int4789vec_any_eq(__vector __bool int __a, __vector signed int __b) {4790  int __cc;4791  __builtin_s390_vceqfs((__vector unsigned int)__a,4792                        (__vector unsigned int)__b, &__cc);4793  return __cc <= 1;4794}4795 4796static inline __ATTRS_o_ai int4797vec_any_eq(__vector unsigned int __a, __vector unsigned int __b) {4798  int __cc;4799  __builtin_s390_vceqfs(__a, __b, &__cc);4800  return __cc <= 1;4801}4802 4803// This prototype is deprecated.4804static inline __ATTRS_o_ai int4805vec_any_eq(__vector unsigned int __a, __vector __bool int __b) {4806  int __cc;4807  __builtin_s390_vceqfs(__a, (__vector unsigned int)__b, &__cc);4808  return __cc <= 1;4809}4810 4811// This prototype is deprecated.4812static inline __ATTRS_o_ai int4813vec_any_eq(__vector __bool int __a, __vector unsigned int __b) {4814  int __cc;4815  __builtin_s390_vceqfs((__vector unsigned int)__a, __b, &__cc);4816  return __cc <= 1;4817}4818 4819static inline __ATTRS_o_ai int4820vec_any_eq(__vector __bool int __a, __vector __bool int __b) {4821  int __cc;4822  __builtin_s390_vceqfs((__vector unsigned int)__a,4823                        (__vector unsigned int)__b, &__cc);4824  return __cc <= 1;4825}4826 4827static inline __ATTRS_o_ai int4828vec_any_eq(__vector signed long long __a, __vector signed long long __b) {4829  int __cc;4830  __builtin_s390_vceqgs((__vector unsigned long long)__a,4831                        (__vector unsigned long long)__b, &__cc);4832  return __cc <= 1;4833}4834 4835// This prototype is deprecated.4836static inline __ATTRS_o_ai int4837vec_any_eq(__vector signed long long __a, __vector __bool long long __b) {4838  int __cc;4839  __builtin_s390_vceqgs((__vector unsigned long long)__a,4840                        (__vector unsigned long long)__b, &__cc);4841  return __cc <= 1;4842}4843 4844// This prototype is deprecated.4845static inline __ATTRS_o_ai int4846vec_any_eq(__vector __bool long long __a, __vector signed long long __b) {4847  int __cc;4848  __builtin_s390_vceqgs((__vector unsigned long long)__a,4849                        (__vector unsigned long long)__b, &__cc);4850  return __cc <= 1;4851}4852 4853static inline __ATTRS_o_ai int4854vec_any_eq(__vector unsigned long long __a, __vector unsigned long long __b) {4855  int __cc;4856  __builtin_s390_vceqgs(__a, __b, &__cc);4857  return __cc <= 1;4858}4859 4860// This prototype is deprecated.4861static inline __ATTRS_o_ai int4862vec_any_eq(__vector unsigned long long __a, __vector __bool long long __b) {4863  int __cc;4864  __builtin_s390_vceqgs(__a, (__vector unsigned long long)__b, &__cc);4865  return __cc <= 1;4866}4867 4868// This prototype is deprecated.4869static inline __ATTRS_o_ai int4870vec_any_eq(__vector __bool long long __a, __vector unsigned long long __b) {4871  int __cc;4872  __builtin_s390_vceqgs((__vector unsigned long long)__a, __b, &__cc);4873  return __cc <= 1;4874}4875 4876static inline __ATTRS_o_ai int4877vec_any_eq(__vector __bool long long __a, __vector __bool long long __b) {4878  int __cc;4879  __builtin_s390_vceqgs((__vector unsigned long long)__a,4880                        (__vector unsigned long long)__b, &__cc);4881  return __cc <= 1;4882}4883 4884#if __ARCH__ >= 154885static inline __ATTRS_o_ai int4886vec_any_eq(__vector signed __int128 __a, __vector signed __int128 __b) {4887  int __cc;4888  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);4889  return __cc <= 1;4890}4891 4892static inline __ATTRS_o_ai int4893vec_any_eq(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {4894  int __cc;4895  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);4896  return __cc <= 1;4897}4898 4899static inline __ATTRS_o_ai int4900vec_any_eq(__vector __bool __int128 __a, __vector __bool __int128 __b) {4901  int __cc;4902  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);4903  return __cc <= 1;4904}4905#endif4906 4907#if __ARCH__ >= 124908static inline __ATTRS_o_ai int4909vec_any_eq(__vector float __a, __vector float __b) {4910  int __cc;4911  __builtin_s390_vfcesbs(__a, __b, &__cc);4912  return __cc <= 1;4913}4914#endif4915 4916static inline __ATTRS_o_ai int4917vec_any_eq(__vector double __a, __vector double __b) {4918  int __cc;4919  __builtin_s390_vfcedbs(__a, __b, &__cc);4920  return __cc <= 1;4921}4922 4923/*-- vec_any_ne -------------------------------------------------------------*/4924 4925static inline __ATTRS_o_ai int4926vec_any_ne(__vector signed char __a, __vector signed char __b) {4927  int __cc;4928  __builtin_s390_vceqbs((__vector unsigned char)__a,4929                        (__vector unsigned char)__b, &__cc);4930  return __cc != 0;4931}4932 4933// This prototype is deprecated.4934static inline __ATTRS_o_ai int4935vec_any_ne(__vector signed char __a, __vector __bool char __b) {4936  int __cc;4937  __builtin_s390_vceqbs((__vector unsigned char)__a,4938                        (__vector unsigned char)__b, &__cc);4939  return __cc != 0;4940}4941 4942// This prototype is deprecated.4943static inline __ATTRS_o_ai int4944vec_any_ne(__vector __bool char __a, __vector signed char __b) {4945  int __cc;4946  __builtin_s390_vceqbs((__vector unsigned char)__a,4947                        (__vector unsigned char)__b, &__cc);4948  return __cc != 0;4949}4950 4951static inline __ATTRS_o_ai int4952vec_any_ne(__vector unsigned char __a, __vector unsigned char __b) {4953  int __cc;4954  __builtin_s390_vceqbs(__a, __b, &__cc);4955  return __cc != 0;4956}4957 4958// This prototype is deprecated.4959static inline __ATTRS_o_ai int4960vec_any_ne(__vector unsigned char __a, __vector __bool char __b) {4961  int __cc;4962  __builtin_s390_vceqbs(__a, (__vector unsigned char)__b, &__cc);4963  return __cc != 0;4964}4965 4966// This prototype is deprecated.4967static inline __ATTRS_o_ai int4968vec_any_ne(__vector __bool char __a, __vector unsigned char __b) {4969  int __cc;4970  __builtin_s390_vceqbs((__vector unsigned char)__a, __b, &__cc);4971  return __cc != 0;4972}4973 4974static inline __ATTRS_o_ai int4975vec_any_ne(__vector __bool char __a, __vector __bool char __b) {4976  int __cc;4977  __builtin_s390_vceqbs((__vector unsigned char)__a,4978                        (__vector unsigned char)__b, &__cc);4979  return __cc != 0;4980}4981 4982static inline __ATTRS_o_ai int4983vec_any_ne(__vector signed short __a, __vector signed short __b) {4984  int __cc;4985  __builtin_s390_vceqhs((__vector unsigned short)__a,4986                        (__vector unsigned short)__b, &__cc);4987  return __cc != 0;4988}4989 4990// This prototype is deprecated.4991static inline __ATTRS_o_ai int4992vec_any_ne(__vector signed short __a, __vector __bool short __b) {4993  int __cc;4994  __builtin_s390_vceqhs((__vector unsigned short)__a,4995                        (__vector unsigned short)__b, &__cc);4996  return __cc != 0;4997}4998 4999// This prototype is deprecated.5000static inline __ATTRS_o_ai int5001vec_any_ne(__vector __bool short __a, __vector signed short __b) {5002  int __cc;5003  __builtin_s390_vceqhs((__vector unsigned short)__a,5004                        (__vector unsigned short)__b, &__cc);5005  return __cc != 0;5006}5007 5008static inline __ATTRS_o_ai int5009vec_any_ne(__vector unsigned short __a, __vector unsigned short __b) {5010  int __cc;5011  __builtin_s390_vceqhs(__a, __b, &__cc);5012  return __cc != 0;5013}5014 5015// This prototype is deprecated.5016static inline __ATTRS_o_ai int5017vec_any_ne(__vector unsigned short __a, __vector __bool short __b) {5018  int __cc;5019  __builtin_s390_vceqhs(__a, (__vector unsigned short)__b, &__cc);5020  return __cc != 0;5021}5022 5023// This prototype is deprecated.5024static inline __ATTRS_o_ai int5025vec_any_ne(__vector __bool short __a, __vector unsigned short __b) {5026  int __cc;5027  __builtin_s390_vceqhs((__vector unsigned short)__a, __b, &__cc);5028  return __cc != 0;5029}5030 5031static inline __ATTRS_o_ai int5032vec_any_ne(__vector __bool short __a, __vector __bool short __b) {5033  int __cc;5034  __builtin_s390_vceqhs((__vector unsigned short)__a,5035                        (__vector unsigned short)__b, &__cc);5036  return __cc != 0;5037}5038 5039static inline __ATTRS_o_ai int5040vec_any_ne(__vector signed int __a, __vector signed int __b) {5041  int __cc;5042  __builtin_s390_vceqfs((__vector unsigned int)__a,5043                        (__vector unsigned int)__b, &__cc);5044  return __cc != 0;5045}5046 5047// This prototype is deprecated.5048static inline __ATTRS_o_ai int5049vec_any_ne(__vector signed int __a, __vector __bool int __b) {5050  int __cc;5051  __builtin_s390_vceqfs((__vector unsigned int)__a,5052                        (__vector unsigned int)__b, &__cc);5053  return __cc != 0;5054}5055 5056// This prototype is deprecated.5057static inline __ATTRS_o_ai int5058vec_any_ne(__vector __bool int __a, __vector signed int __b) {5059  int __cc;5060  __builtin_s390_vceqfs((__vector unsigned int)__a,5061                        (__vector unsigned int)__b, &__cc);5062  return __cc != 0;5063}5064 5065static inline __ATTRS_o_ai int5066vec_any_ne(__vector unsigned int __a, __vector unsigned int __b) {5067  int __cc;5068  __builtin_s390_vceqfs(__a, __b, &__cc);5069  return __cc != 0;5070}5071 5072// This prototype is deprecated.5073static inline __ATTRS_o_ai int5074vec_any_ne(__vector unsigned int __a, __vector __bool int __b) {5075  int __cc;5076  __builtin_s390_vceqfs(__a, (__vector unsigned int)__b, &__cc);5077  return __cc != 0;5078}5079 5080// This prototype is deprecated.5081static inline __ATTRS_o_ai int5082vec_any_ne(__vector __bool int __a, __vector unsigned int __b) {5083  int __cc;5084  __builtin_s390_vceqfs((__vector unsigned int)__a, __b, &__cc);5085  return __cc != 0;5086}5087 5088static inline __ATTRS_o_ai int5089vec_any_ne(__vector __bool int __a, __vector __bool int __b) {5090  int __cc;5091  __builtin_s390_vceqfs((__vector unsigned int)__a,5092                        (__vector unsigned int)__b, &__cc);5093  return __cc != 0;5094}5095 5096static inline __ATTRS_o_ai int5097vec_any_ne(__vector signed long long __a, __vector signed long long __b) {5098  int __cc;5099  __builtin_s390_vceqgs((__vector unsigned long long)__a,5100                        (__vector unsigned long long)__b, &__cc);5101  return __cc != 0;5102}5103 5104// This prototype is deprecated.5105static inline __ATTRS_o_ai int5106vec_any_ne(__vector signed long long __a, __vector __bool long long __b) {5107  int __cc;5108  __builtin_s390_vceqgs((__vector unsigned long long)__a,5109                        (__vector unsigned long long)__b, &__cc);5110  return __cc != 0;5111}5112 5113// This prototype is deprecated.5114static inline __ATTRS_o_ai int5115vec_any_ne(__vector __bool long long __a, __vector signed long long __b) {5116  int __cc;5117  __builtin_s390_vceqgs((__vector unsigned long long)__a,5118                        (__vector unsigned long long)__b, &__cc);5119  return __cc != 0;5120}5121 5122static inline __ATTRS_o_ai int5123vec_any_ne(__vector unsigned long long __a, __vector unsigned long long __b) {5124  int __cc;5125  __builtin_s390_vceqgs(__a, __b, &__cc);5126  return __cc != 0;5127}5128 5129// This prototype is deprecated.5130static inline __ATTRS_o_ai int5131vec_any_ne(__vector unsigned long long __a, __vector __bool long long __b) {5132  int __cc;5133  __builtin_s390_vceqgs(__a, (__vector unsigned long long)__b, &__cc);5134  return __cc != 0;5135}5136 5137// This prototype is deprecated.5138static inline __ATTRS_o_ai int5139vec_any_ne(__vector __bool long long __a, __vector unsigned long long __b) {5140  int __cc;5141  __builtin_s390_vceqgs((__vector unsigned long long)__a, __b, &__cc);5142  return __cc != 0;5143}5144 5145static inline __ATTRS_o_ai int5146vec_any_ne(__vector __bool long long __a, __vector __bool long long __b) {5147  int __cc;5148  __builtin_s390_vceqgs((__vector unsigned long long)__a,5149                        (__vector unsigned long long)__b, &__cc);5150  return __cc != 0;5151}5152 5153#if __ARCH__ >= 155154static inline __ATTRS_o_ai int5155vec_any_ne(__vector signed __int128 __a, __vector signed __int128 __b) {5156  int __cc;5157  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);5158  return __cc != 0;5159}5160 5161static inline __ATTRS_o_ai int5162vec_any_ne(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {5163  int __cc;5164  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);5165  return __cc != 0;5166}5167 5168static inline __ATTRS_o_ai int5169vec_any_ne(__vector __bool __int128 __a, __vector __bool __int128 __b) {5170  int __cc;5171  __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);5172  return __cc != 0;5173}5174#endif5175 5176#if __ARCH__ >= 125177static inline __ATTRS_o_ai int5178vec_any_ne(__vector float __a, __vector float __b) {5179  int __cc;5180  __builtin_s390_vfcesbs(__a, __b, &__cc);5181  return __cc != 0;5182}5183#endif5184 5185static inline __ATTRS_o_ai int5186vec_any_ne(__vector double __a, __vector double __b) {5187  int __cc;5188  __builtin_s390_vfcedbs(__a, __b, &__cc);5189  return __cc != 0;5190}5191 5192/*-- vec_any_ge -------------------------------------------------------------*/5193 5194static inline __ATTRS_o_ai int5195vec_any_ge(__vector signed char __a, __vector signed char __b) {5196  int __cc;5197  __builtin_s390_vchbs(__b, __a, &__cc);5198  return __cc != 0;5199}5200 5201// This prototype is deprecated.5202static inline __ATTRS_o_ai int5203vec_any_ge(__vector signed char __a, __vector __bool char __b) {5204  int __cc;5205  __builtin_s390_vchbs((__vector signed char)__b, __a, &__cc);5206  return __cc != 0;5207}5208 5209// This prototype is deprecated.5210static inline __ATTRS_o_ai int5211vec_any_ge(__vector __bool char __a, __vector signed char __b) {5212  int __cc;5213  __builtin_s390_vchbs(__b, (__vector signed char)__a, &__cc);5214  return __cc != 0;5215}5216 5217static inline __ATTRS_o_ai int5218vec_any_ge(__vector unsigned char __a, __vector unsigned char __b) {5219  int __cc;5220  __builtin_s390_vchlbs(__b, __a, &__cc);5221  return __cc != 0;5222}5223 5224// This prototype is deprecated.5225static inline __ATTRS_o_ai int5226vec_any_ge(__vector unsigned char __a, __vector __bool char __b) {5227  int __cc;5228  __builtin_s390_vchlbs((__vector unsigned char)__b, __a, &__cc);5229  return __cc != 0;5230}5231 5232// This prototype is deprecated.5233static inline __ATTRS_o_ai int5234vec_any_ge(__vector __bool char __a, __vector unsigned char __b) {5235  int __cc;5236  __builtin_s390_vchlbs(__b, (__vector unsigned char)__a, &__cc);5237  return __cc != 0;5238}5239 5240// This prototype is deprecated.5241static inline __ATTRS_o_ai int5242vec_any_ge(__vector __bool char __a, __vector __bool char __b) {5243  int __cc;5244  __builtin_s390_vchlbs((__vector unsigned char)__b,5245                        (__vector unsigned char)__a, &__cc);5246  return __cc != 0;5247}5248 5249static inline __ATTRS_o_ai int5250vec_any_ge(__vector signed short __a, __vector signed short __b) {5251  int __cc;5252  __builtin_s390_vchhs(__b, __a, &__cc);5253  return __cc != 0;5254}5255 5256// This prototype is deprecated.5257static inline __ATTRS_o_ai int5258vec_any_ge(__vector signed short __a, __vector __bool short __b) {5259  int __cc;5260  __builtin_s390_vchhs((__vector signed short)__b, __a, &__cc);5261  return __cc != 0;5262}5263 5264// This prototype is deprecated.5265static inline __ATTRS_o_ai int5266vec_any_ge(__vector __bool short __a, __vector signed short __b) {5267  int __cc;5268  __builtin_s390_vchhs(__b, (__vector signed short)__a, &__cc);5269  return __cc != 0;5270}5271 5272static inline __ATTRS_o_ai int5273vec_any_ge(__vector unsigned short __a, __vector unsigned short __b) {5274  int __cc;5275  __builtin_s390_vchlhs(__b, __a, &__cc);5276  return __cc != 0;5277}5278 5279// This prototype is deprecated.5280static inline __ATTRS_o_ai int5281vec_any_ge(__vector unsigned short __a, __vector __bool short __b) {5282  int __cc;5283  __builtin_s390_vchlhs((__vector unsigned short)__b, __a, &__cc);5284  return __cc != 0;5285}5286 5287// This prototype is deprecated.5288static inline __ATTRS_o_ai int5289vec_any_ge(__vector __bool short __a, __vector unsigned short __b) {5290  int __cc;5291  __builtin_s390_vchlhs(__b, (__vector unsigned short)__a, &__cc);5292  return __cc != 0;5293}5294 5295// This prototype is deprecated.5296static inline __ATTRS_o_ai int5297vec_any_ge(__vector __bool short __a, __vector __bool short __b) {5298  int __cc;5299  __builtin_s390_vchlhs((__vector unsigned short)__b,5300                        (__vector unsigned short)__a, &__cc);5301  return __cc != 0;5302}5303 5304static inline __ATTRS_o_ai int5305vec_any_ge(__vector signed int __a, __vector signed int __b) {5306  int __cc;5307  __builtin_s390_vchfs(__b, __a, &__cc);5308  return __cc != 0;5309}5310 5311// This prototype is deprecated.5312static inline __ATTRS_o_ai int5313vec_any_ge(__vector signed int __a, __vector __bool int __b) {5314  int __cc;5315  __builtin_s390_vchfs((__vector signed int)__b, __a, &__cc);5316  return __cc != 0;5317}5318 5319// This prototype is deprecated.5320static inline __ATTRS_o_ai int5321vec_any_ge(__vector __bool int __a, __vector signed int __b) {5322  int __cc;5323  __builtin_s390_vchfs(__b, (__vector signed int)__a, &__cc);5324  return __cc != 0;5325}5326 5327static inline __ATTRS_o_ai int5328vec_any_ge(__vector unsigned int __a, __vector unsigned int __b) {5329  int __cc;5330  __builtin_s390_vchlfs(__b, __a, &__cc);5331  return __cc != 0;5332}5333 5334// This prototype is deprecated.5335static inline __ATTRS_o_ai int5336vec_any_ge(__vector unsigned int __a, __vector __bool int __b) {5337  int __cc;5338  __builtin_s390_vchlfs((__vector unsigned int)__b, __a, &__cc);5339  return __cc != 0;5340}5341 5342// This prototype is deprecated.5343static inline __ATTRS_o_ai int5344vec_any_ge(__vector __bool int __a, __vector unsigned int __b) {5345  int __cc;5346  __builtin_s390_vchlfs(__b, (__vector unsigned int)__a, &__cc);5347  return __cc != 0;5348}5349 5350// This prototype is deprecated.5351static inline __ATTRS_o_ai int5352vec_any_ge(__vector __bool int __a, __vector __bool int __b) {5353  int __cc;5354  __builtin_s390_vchlfs((__vector unsigned int)__b,5355                        (__vector unsigned int)__a, &__cc);5356  return __cc != 0;5357}5358 5359static inline __ATTRS_o_ai int5360vec_any_ge(__vector signed long long __a, __vector signed long long __b) {5361  int __cc;5362  __builtin_s390_vchgs(__b, __a, &__cc);5363  return __cc != 0;5364}5365 5366// This prototype is deprecated.5367static inline __ATTRS_o_ai int5368vec_any_ge(__vector signed long long __a, __vector __bool long long __b) {5369  int __cc;5370  __builtin_s390_vchgs((__vector signed long long)__b, __a, &__cc);5371  return __cc != 0;5372}5373 5374// This prototype is deprecated.5375static inline __ATTRS_o_ai int5376vec_any_ge(__vector __bool long long __a, __vector signed long long __b) {5377  int __cc;5378  __builtin_s390_vchgs(__b, (__vector signed long long)__a, &__cc);5379  return __cc != 0;5380}5381 5382static inline __ATTRS_o_ai int5383vec_any_ge(__vector unsigned long long __a, __vector unsigned long long __b) {5384  int __cc;5385  __builtin_s390_vchlgs(__b, __a, &__cc);5386  return __cc != 0;5387}5388 5389// This prototype is deprecated.5390static inline __ATTRS_o_ai int5391vec_any_ge(__vector unsigned long long __a, __vector __bool long long __b) {5392  int __cc;5393  __builtin_s390_vchlgs((__vector unsigned long long)__b, __a, &__cc);5394  return __cc != 0;5395}5396 5397// This prototype is deprecated.5398static inline __ATTRS_o_ai int5399vec_any_ge(__vector __bool long long __a, __vector unsigned long long __b) {5400  int __cc;5401  __builtin_s390_vchlgs(__b, (__vector unsigned long long)__a, &__cc);5402  return __cc != 0;5403}5404 5405// This prototype is deprecated.5406static inline __ATTRS_o_ai int5407vec_any_ge(__vector __bool long long __a, __vector __bool long long __b) {5408  int __cc;5409  __builtin_s390_vchlgs((__vector unsigned long long)__b,5410                        (__vector unsigned long long)__a, &__cc);5411  return __cc != 0;5412}5413 5414#if __ARCH__ >= 155415static inline __ATTRS_o_ai int5416vec_any_ge(__vector signed __int128 __a, __vector signed __int128 __b) {5417  int __cc;5418  __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);5419  return __cc != 0;5420}5421 5422static inline __ATTRS_o_ai int5423vec_any_ge(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {5424  int __cc;5425  __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);5426  return __cc != 0;5427}5428#endif5429 5430#if __ARCH__ >= 125431static inline __ATTRS_o_ai int5432vec_any_ge(__vector float __a, __vector float __b) {5433  int __cc;5434  __builtin_s390_vfchesbs(__a, __b, &__cc);5435  return __cc <= 1;5436}5437#endif5438 5439static inline __ATTRS_o_ai int5440vec_any_ge(__vector double __a, __vector double __b) {5441  int __cc;5442  __builtin_s390_vfchedbs(__a, __b, &__cc);5443  return __cc <= 1;5444}5445 5446/*-- vec_any_gt -------------------------------------------------------------*/5447 5448static inline __ATTRS_o_ai int5449vec_any_gt(__vector signed char __a, __vector signed char __b) {5450  int __cc;5451  __builtin_s390_vchbs(__a, __b, &__cc);5452  return __cc <= 1;5453}5454 5455// This prototype is deprecated.5456static inline __ATTRS_o_ai int5457vec_any_gt(__vector signed char __a, __vector __bool char __b) {5458  int __cc;5459  __builtin_s390_vchbs(__a, (__vector signed char)__b, &__cc);5460  return __cc <= 1;5461}5462 5463// This prototype is deprecated.5464static inline __ATTRS_o_ai int5465vec_any_gt(__vector __bool char __a, __vector signed char __b) {5466  int __cc;5467  __builtin_s390_vchbs((__vector signed char)__a, __b, &__cc);5468  return __cc <= 1;5469}5470 5471static inline __ATTRS_o_ai int5472vec_any_gt(__vector unsigned char __a, __vector unsigned char __b) {5473  int __cc;5474  __builtin_s390_vchlbs(__a, __b, &__cc);5475  return __cc <= 1;5476}5477 5478// This prototype is deprecated.5479static inline __ATTRS_o_ai int5480vec_any_gt(__vector unsigned char __a, __vector __bool char __b) {5481  int __cc;5482  __builtin_s390_vchlbs(__a, (__vector unsigned char)__b, &__cc);5483  return __cc <= 1;5484}5485 5486// This prototype is deprecated.5487static inline __ATTRS_o_ai int5488vec_any_gt(__vector __bool char __a, __vector unsigned char __b) {5489  int __cc;5490  __builtin_s390_vchlbs((__vector unsigned char)__a, __b, &__cc);5491  return __cc <= 1;5492}5493 5494// This prototype is deprecated.5495static inline __ATTRS_o_ai int5496vec_any_gt(__vector __bool char __a, __vector __bool char __b) {5497  int __cc;5498  __builtin_s390_vchlbs((__vector unsigned char)__a,5499                        (__vector unsigned char)__b, &__cc);5500  return __cc <= 1;5501}5502 5503static inline __ATTRS_o_ai int5504vec_any_gt(__vector signed short __a, __vector signed short __b) {5505  int __cc;5506  __builtin_s390_vchhs(__a, __b, &__cc);5507  return __cc <= 1;5508}5509 5510// This prototype is deprecated.5511static inline __ATTRS_o_ai int5512vec_any_gt(__vector signed short __a, __vector __bool short __b) {5513  int __cc;5514  __builtin_s390_vchhs(__a, (__vector signed short)__b, &__cc);5515  return __cc <= 1;5516}5517 5518// This prototype is deprecated.5519static inline __ATTRS_o_ai int5520vec_any_gt(__vector __bool short __a, __vector signed short __b) {5521  int __cc;5522  __builtin_s390_vchhs((__vector signed short)__a, __b, &__cc);5523  return __cc <= 1;5524}5525 5526static inline __ATTRS_o_ai int5527vec_any_gt(__vector unsigned short __a, __vector unsigned short __b) {5528  int __cc;5529  __builtin_s390_vchlhs(__a, __b, &__cc);5530  return __cc <= 1;5531}5532 5533// This prototype is deprecated.5534static inline __ATTRS_o_ai int5535vec_any_gt(__vector unsigned short __a, __vector __bool short __b) {5536  int __cc;5537  __builtin_s390_vchlhs(__a, (__vector unsigned short)__b, &__cc);5538  return __cc <= 1;5539}5540 5541// This prototype is deprecated.5542static inline __ATTRS_o_ai int5543vec_any_gt(__vector __bool short __a, __vector unsigned short __b) {5544  int __cc;5545  __builtin_s390_vchlhs((__vector unsigned short)__a, __b, &__cc);5546  return __cc <= 1;5547}5548 5549// This prototype is deprecated.5550static inline __ATTRS_o_ai int5551vec_any_gt(__vector __bool short __a, __vector __bool short __b) {5552  int __cc;5553  __builtin_s390_vchlhs((__vector unsigned short)__a,5554                        (__vector unsigned short)__b, &__cc);5555  return __cc <= 1;5556}5557 5558static inline __ATTRS_o_ai int5559vec_any_gt(__vector signed int __a, __vector signed int __b) {5560  int __cc;5561  __builtin_s390_vchfs(__a, __b, &__cc);5562  return __cc <= 1;5563}5564 5565// This prototype is deprecated.5566static inline __ATTRS_o_ai int5567vec_any_gt(__vector signed int __a, __vector __bool int __b) {5568  int __cc;5569  __builtin_s390_vchfs(__a, (__vector signed int)__b, &__cc);5570  return __cc <= 1;5571}5572 5573// This prototype is deprecated.5574static inline __ATTRS_o_ai int5575vec_any_gt(__vector __bool int __a, __vector signed int __b) {5576  int __cc;5577  __builtin_s390_vchfs((__vector signed int)__a, __b, &__cc);5578  return __cc <= 1;5579}5580 5581static inline __ATTRS_o_ai int5582vec_any_gt(__vector unsigned int __a, __vector unsigned int __b) {5583  int __cc;5584  __builtin_s390_vchlfs(__a, __b, &__cc);5585  return __cc <= 1;5586}5587 5588// This prototype is deprecated.5589static inline __ATTRS_o_ai int5590vec_any_gt(__vector unsigned int __a, __vector __bool int __b) {5591  int __cc;5592  __builtin_s390_vchlfs(__a, (__vector unsigned int)__b, &__cc);5593  return __cc <= 1;5594}5595 5596// This prototype is deprecated.5597static inline __ATTRS_o_ai int5598vec_any_gt(__vector __bool int __a, __vector unsigned int __b) {5599  int __cc;5600  __builtin_s390_vchlfs((__vector unsigned int)__a, __b, &__cc);5601  return __cc <= 1;5602}5603 5604// This prototype is deprecated.5605static inline __ATTRS_o_ai int5606vec_any_gt(__vector __bool int __a, __vector __bool int __b) {5607  int __cc;5608  __builtin_s390_vchlfs((__vector unsigned int)__a,5609                        (__vector unsigned int)__b, &__cc);5610  return __cc <= 1;5611}5612 5613static inline __ATTRS_o_ai int5614vec_any_gt(__vector signed long long __a, __vector signed long long __b) {5615  int __cc;5616  __builtin_s390_vchgs(__a, __b, &__cc);5617  return __cc <= 1;5618}5619 5620// This prototype is deprecated.5621static inline __ATTRS_o_ai int5622vec_any_gt(__vector signed long long __a, __vector __bool long long __b) {5623  int __cc;5624  __builtin_s390_vchgs(__a, (__vector signed long long)__b, &__cc);5625  return __cc <= 1;5626}5627 5628// This prototype is deprecated.5629static inline __ATTRS_o_ai int5630vec_any_gt(__vector __bool long long __a, __vector signed long long __b) {5631  int __cc;5632  __builtin_s390_vchgs((__vector signed long long)__a, __b, &__cc);5633  return __cc <= 1;5634}5635 5636static inline __ATTRS_o_ai int5637vec_any_gt(__vector unsigned long long __a, __vector unsigned long long __b) {5638  int __cc;5639  __builtin_s390_vchlgs(__a, __b, &__cc);5640  return __cc <= 1;5641}5642 5643// This prototype is deprecated.5644static inline __ATTRS_o_ai int5645vec_any_gt(__vector unsigned long long __a, __vector __bool long long __b) {5646  int __cc;5647  __builtin_s390_vchlgs(__a, (__vector unsigned long long)__b, &__cc);5648  return __cc <= 1;5649}5650 5651// This prototype is deprecated.5652static inline __ATTRS_o_ai int5653vec_any_gt(__vector __bool long long __a, __vector unsigned long long __b) {5654  int __cc;5655  __builtin_s390_vchlgs((__vector unsigned long long)__a, __b, &__cc);5656  return __cc <= 1;5657}5658 5659// This prototype is deprecated.5660static inline __ATTRS_o_ai int5661vec_any_gt(__vector __bool long long __a, __vector __bool long long __b) {5662  int __cc;5663  __builtin_s390_vchlgs((__vector unsigned long long)__a,5664                        (__vector unsigned long long)__b, &__cc);5665  return __cc <= 1;5666}5667 5668#if __ARCH__ >= 155669static inline __ATTRS_o_ai int5670vec_any_gt(__vector signed __int128 __a, __vector signed __int128 __b) {5671  int __cc;5672  __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);5673  return __cc <= 1;5674}5675 5676static inline __ATTRS_o_ai int5677vec_any_gt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {5678  int __cc;5679  __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);5680  return __cc <= 1;5681}5682#endif5683 5684#if __ARCH__ >= 125685static inline __ATTRS_o_ai int5686vec_any_gt(__vector float __a, __vector float __b) {5687  int __cc;5688  __builtin_s390_vfchsbs(__a, __b, &__cc);5689  return __cc <= 1;5690}5691#endif5692 5693static inline __ATTRS_o_ai int5694vec_any_gt(__vector double __a, __vector double __b) {5695  int __cc;5696  __builtin_s390_vfchdbs(__a, __b, &__cc);5697  return __cc <= 1;5698}5699 5700/*-- vec_any_le -------------------------------------------------------------*/5701 5702static inline __ATTRS_o_ai int5703vec_any_le(__vector signed char __a, __vector signed char __b) {5704  int __cc;5705  __builtin_s390_vchbs(__a, __b, &__cc);5706  return __cc != 0;5707}5708 5709// This prototype is deprecated.5710static inline __ATTRS_o_ai int5711vec_any_le(__vector signed char __a, __vector __bool char __b) {5712  int __cc;5713  __builtin_s390_vchbs(__a, (__vector signed char)__b, &__cc);5714  return __cc != 0;5715}5716 5717// This prototype is deprecated.5718static inline __ATTRS_o_ai int5719vec_any_le(__vector __bool char __a, __vector signed char __b) {5720  int __cc;5721  __builtin_s390_vchbs((__vector signed char)__a, __b, &__cc);5722  return __cc != 0;5723}5724 5725static inline __ATTRS_o_ai int5726vec_any_le(__vector unsigned char __a, __vector unsigned char __b) {5727  int __cc;5728  __builtin_s390_vchlbs(__a, __b, &__cc);5729  return __cc != 0;5730}5731 5732// This prototype is deprecated.5733static inline __ATTRS_o_ai int5734vec_any_le(__vector unsigned char __a, __vector __bool char __b) {5735  int __cc;5736  __builtin_s390_vchlbs(__a, (__vector unsigned char)__b, &__cc);5737  return __cc != 0;5738}5739 5740// This prototype is deprecated.5741static inline __ATTRS_o_ai int5742vec_any_le(__vector __bool char __a, __vector unsigned char __b) {5743  int __cc;5744  __builtin_s390_vchlbs((__vector unsigned char)__a, __b, &__cc);5745  return __cc != 0;5746}5747 5748// This prototype is deprecated.5749static inline __ATTRS_o_ai int5750vec_any_le(__vector __bool char __a, __vector __bool char __b) {5751  int __cc;5752  __builtin_s390_vchlbs((__vector unsigned char)__a,5753                        (__vector unsigned char)__b, &__cc);5754  return __cc != 0;5755}5756 5757static inline __ATTRS_o_ai int5758vec_any_le(__vector signed short __a, __vector signed short __b) {5759  int __cc;5760  __builtin_s390_vchhs(__a, __b, &__cc);5761  return __cc != 0;5762}5763 5764// This prototype is deprecated.5765static inline __ATTRS_o_ai int5766vec_any_le(__vector signed short __a, __vector __bool short __b) {5767  int __cc;5768  __builtin_s390_vchhs(__a, (__vector signed short)__b, &__cc);5769  return __cc != 0;5770}5771 5772// This prototype is deprecated.5773static inline __ATTRS_o_ai int5774vec_any_le(__vector __bool short __a, __vector signed short __b) {5775  int __cc;5776  __builtin_s390_vchhs((__vector signed short)__a, __b, &__cc);5777  return __cc != 0;5778}5779 5780static inline __ATTRS_o_ai int5781vec_any_le(__vector unsigned short __a, __vector unsigned short __b) {5782  int __cc;5783  __builtin_s390_vchlhs(__a, __b, &__cc);5784  return __cc != 0;5785}5786 5787// This prototype is deprecated.5788static inline __ATTRS_o_ai int5789vec_any_le(__vector unsigned short __a, __vector __bool short __b) {5790  int __cc;5791  __builtin_s390_vchlhs(__a, (__vector unsigned short)__b, &__cc);5792  return __cc != 0;5793}5794 5795// This prototype is deprecated.5796static inline __ATTRS_o_ai int5797vec_any_le(__vector __bool short __a, __vector unsigned short __b) {5798  int __cc;5799  __builtin_s390_vchlhs((__vector unsigned short)__a, __b, &__cc);5800  return __cc != 0;5801}5802 5803// This prototype is deprecated.5804static inline __ATTRS_o_ai int5805vec_any_le(__vector __bool short __a, __vector __bool short __b) {5806  int __cc;5807  __builtin_s390_vchlhs((__vector unsigned short)__a,5808                        (__vector unsigned short)__b, &__cc);5809  return __cc != 0;5810}5811 5812static inline __ATTRS_o_ai int5813vec_any_le(__vector signed int __a, __vector signed int __b) {5814  int __cc;5815  __builtin_s390_vchfs(__a, __b, &__cc);5816  return __cc != 0;5817}5818 5819// This prototype is deprecated.5820static inline __ATTRS_o_ai int5821vec_any_le(__vector signed int __a, __vector __bool int __b) {5822  int __cc;5823  __builtin_s390_vchfs(__a, (__vector signed int)__b, &__cc);5824  return __cc != 0;5825}5826 5827// This prototype is deprecated.5828static inline __ATTRS_o_ai int5829vec_any_le(__vector __bool int __a, __vector signed int __b) {5830  int __cc;5831  __builtin_s390_vchfs((__vector signed int)__a, __b, &__cc);5832  return __cc != 0;5833}5834 5835static inline __ATTRS_o_ai int5836vec_any_le(__vector unsigned int __a, __vector unsigned int __b) {5837  int __cc;5838  __builtin_s390_vchlfs(__a, __b, &__cc);5839  return __cc != 0;5840}5841 5842// This prototype is deprecated.5843static inline __ATTRS_o_ai int5844vec_any_le(__vector unsigned int __a, __vector __bool int __b) {5845  int __cc;5846  __builtin_s390_vchlfs(__a, (__vector unsigned int)__b, &__cc);5847  return __cc != 0;5848}5849 5850// This prototype is deprecated.5851static inline __ATTRS_o_ai int5852vec_any_le(__vector __bool int __a, __vector unsigned int __b) {5853  int __cc;5854  __builtin_s390_vchlfs((__vector unsigned int)__a, __b, &__cc);5855  return __cc != 0;5856}5857 5858// This prototype is deprecated.5859static inline __ATTRS_o_ai int5860vec_any_le(__vector __bool int __a, __vector __bool int __b) {5861  int __cc;5862  __builtin_s390_vchlfs((__vector unsigned int)__a,5863                        (__vector unsigned int)__b, &__cc);5864  return __cc != 0;5865}5866 5867static inline __ATTRS_o_ai int5868vec_any_le(__vector signed long long __a, __vector signed long long __b) {5869  int __cc;5870  __builtin_s390_vchgs(__a, __b, &__cc);5871  return __cc != 0;5872}5873 5874// This prototype is deprecated.5875static inline __ATTRS_o_ai int5876vec_any_le(__vector signed long long __a, __vector __bool long long __b) {5877  int __cc;5878  __builtin_s390_vchgs(__a, (__vector signed long long)__b, &__cc);5879  return __cc != 0;5880}5881 5882// This prototype is deprecated.5883static inline __ATTRS_o_ai int5884vec_any_le(__vector __bool long long __a, __vector signed long long __b) {5885  int __cc;5886  __builtin_s390_vchgs((__vector signed long long)__a, __b, &__cc);5887  return __cc != 0;5888}5889 5890static inline __ATTRS_o_ai int5891vec_any_le(__vector unsigned long long __a, __vector unsigned long long __b) {5892  int __cc;5893  __builtin_s390_vchlgs(__a, __b, &__cc);5894  return __cc != 0;5895}5896 5897// This prototype is deprecated.5898static inline __ATTRS_o_ai int5899vec_any_le(__vector unsigned long long __a, __vector __bool long long __b) {5900  int __cc;5901  __builtin_s390_vchlgs(__a, (__vector unsigned long long)__b, &__cc);5902  return __cc != 0;5903}5904 5905// This prototype is deprecated.5906static inline __ATTRS_o_ai int5907vec_any_le(__vector __bool long long __a, __vector unsigned long long __b) {5908  int __cc;5909  __builtin_s390_vchlgs((__vector unsigned long long)__a, __b, &__cc);5910  return __cc != 0;5911}5912 5913// This prototype is deprecated.5914static inline __ATTRS_o_ai int5915vec_any_le(__vector __bool long long __a, __vector __bool long long __b) {5916  int __cc;5917  __builtin_s390_vchlgs((__vector unsigned long long)__a,5918                        (__vector unsigned long long)__b, &__cc);5919  return __cc != 0;5920}5921 5922#if __ARCH__ >= 155923static inline __ATTRS_o_ai int5924vec_any_le(__vector signed __int128 __a, __vector signed __int128 __b) {5925  int __cc;5926  __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);5927  return __cc != 0;5928}5929 5930static inline __ATTRS_o_ai int5931vec_any_le(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {5932  int __cc;5933  __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);5934  return __cc != 0;5935}5936#endif5937 5938#if __ARCH__ >= 125939static inline __ATTRS_o_ai int5940vec_any_le(__vector float __a, __vector float __b) {5941  int __cc;5942  __builtin_s390_vfchesbs(__b, __a, &__cc);5943  return __cc <= 1;5944}5945#endif5946 5947static inline __ATTRS_o_ai int5948vec_any_le(__vector double __a, __vector double __b) {5949  int __cc;5950  __builtin_s390_vfchedbs(__b, __a, &__cc);5951  return __cc <= 1;5952}5953 5954/*-- vec_any_lt -------------------------------------------------------------*/5955 5956static inline __ATTRS_o_ai int5957vec_any_lt(__vector signed char __a, __vector signed char __b) {5958  int __cc;5959  __builtin_s390_vchbs(__b, __a, &__cc);5960  return __cc <= 1;5961}5962 5963// This prototype is deprecated.5964static inline __ATTRS_o_ai int5965vec_any_lt(__vector signed char __a, __vector __bool char __b) {5966  int __cc;5967  __builtin_s390_vchbs((__vector signed char)__b, __a, &__cc);5968  return __cc <= 1;5969}5970 5971// This prototype is deprecated.5972static inline __ATTRS_o_ai int5973vec_any_lt(__vector __bool char __a, __vector signed char __b) {5974  int __cc;5975  __builtin_s390_vchbs(__b, (__vector signed char)__a, &__cc);5976  return __cc <= 1;5977}5978 5979static inline __ATTRS_o_ai int5980vec_any_lt(__vector unsigned char __a, __vector unsigned char __b) {5981  int __cc;5982  __builtin_s390_vchlbs(__b, __a, &__cc);5983  return __cc <= 1;5984}5985 5986// This prototype is deprecated.5987static inline __ATTRS_o_ai int5988vec_any_lt(__vector unsigned char __a, __vector __bool char __b) {5989  int __cc;5990  __builtin_s390_vchlbs((__vector unsigned char)__b, __a, &__cc);5991  return __cc <= 1;5992}5993 5994// This prototype is deprecated.5995static inline __ATTRS_o_ai int5996vec_any_lt(__vector __bool char __a, __vector unsigned char __b) {5997  int __cc;5998  __builtin_s390_vchlbs(__b, (__vector unsigned char)__a, &__cc);5999  return __cc <= 1;6000}6001 6002// This prototype is deprecated.6003static inline __ATTRS_o_ai int6004vec_any_lt(__vector __bool char __a, __vector __bool char __b) {6005  int __cc;6006  __builtin_s390_vchlbs((__vector unsigned char)__b,6007                        (__vector unsigned char)__a, &__cc);6008  return __cc <= 1;6009}6010 6011static inline __ATTRS_o_ai int6012vec_any_lt(__vector signed short __a, __vector signed short __b) {6013  int __cc;6014  __builtin_s390_vchhs(__b, __a, &__cc);6015  return __cc <= 1;6016}6017 6018// This prototype is deprecated.6019static inline __ATTRS_o_ai int6020vec_any_lt(__vector signed short __a, __vector __bool short __b) {6021  int __cc;6022  __builtin_s390_vchhs((__vector signed short)__b, __a, &__cc);6023  return __cc <= 1;6024}6025 6026// This prototype is deprecated.6027static inline __ATTRS_o_ai int6028vec_any_lt(__vector __bool short __a, __vector signed short __b) {6029  int __cc;6030  __builtin_s390_vchhs(__b, (__vector signed short)__a, &__cc);6031  return __cc <= 1;6032}6033 6034static inline __ATTRS_o_ai int6035vec_any_lt(__vector unsigned short __a, __vector unsigned short __b) {6036  int __cc;6037  __builtin_s390_vchlhs(__b, __a, &__cc);6038  return __cc <= 1;6039}6040 6041// This prototype is deprecated.6042static inline __ATTRS_o_ai int6043vec_any_lt(__vector unsigned short __a, __vector __bool short __b) {6044  int __cc;6045  __builtin_s390_vchlhs((__vector unsigned short)__b, __a, &__cc);6046  return __cc <= 1;6047}6048 6049// This prototype is deprecated.6050static inline __ATTRS_o_ai int6051vec_any_lt(__vector __bool short __a, __vector unsigned short __b) {6052  int __cc;6053  __builtin_s390_vchlhs(__b, (__vector unsigned short)__a, &__cc);6054  return __cc <= 1;6055}6056 6057// This prototype is deprecated.6058static inline __ATTRS_o_ai int6059vec_any_lt(__vector __bool short __a, __vector __bool short __b) {6060  int __cc;6061  __builtin_s390_vchlhs((__vector unsigned short)__b,6062                        (__vector unsigned short)__a, &__cc);6063  return __cc <= 1;6064}6065 6066static inline __ATTRS_o_ai int6067vec_any_lt(__vector signed int __a, __vector signed int __b) {6068  int __cc;6069  __builtin_s390_vchfs(__b, __a, &__cc);6070  return __cc <= 1;6071}6072 6073// This prototype is deprecated.6074static inline __ATTRS_o_ai int6075vec_any_lt(__vector signed int __a, __vector __bool int __b) {6076  int __cc;6077  __builtin_s390_vchfs((__vector signed int)__b, __a, &__cc);6078  return __cc <= 1;6079}6080 6081// This prototype is deprecated.6082static inline __ATTRS_o_ai int6083vec_any_lt(__vector __bool int __a, __vector signed int __b) {6084  int __cc;6085  __builtin_s390_vchfs(__b, (__vector signed int)__a, &__cc);6086  return __cc <= 1;6087}6088 6089static inline __ATTRS_o_ai int6090vec_any_lt(__vector unsigned int __a, __vector unsigned int __b) {6091  int __cc;6092  __builtin_s390_vchlfs(__b, __a, &__cc);6093  return __cc <= 1;6094}6095 6096// This prototype is deprecated.6097static inline __ATTRS_o_ai int6098vec_any_lt(__vector unsigned int __a, __vector __bool int __b) {6099  int __cc;6100  __builtin_s390_vchlfs((__vector unsigned int)__b, __a, &__cc);6101  return __cc <= 1;6102}6103 6104// This prototype is deprecated.6105static inline __ATTRS_o_ai int6106vec_any_lt(__vector __bool int __a, __vector unsigned int __b) {6107  int __cc;6108  __builtin_s390_vchlfs(__b, (__vector unsigned int)__a, &__cc);6109  return __cc <= 1;6110}6111 6112// This prototype is deprecated.6113static inline __ATTRS_o_ai int6114vec_any_lt(__vector __bool int __a, __vector __bool int __b) {6115  int __cc;6116  __builtin_s390_vchlfs((__vector unsigned int)__b,6117                        (__vector unsigned int)__a, &__cc);6118  return __cc <= 1;6119}6120 6121static inline __ATTRS_o_ai int6122vec_any_lt(__vector signed long long __a, __vector signed long long __b) {6123  int __cc;6124  __builtin_s390_vchgs(__b, __a, &__cc);6125  return __cc <= 1;6126}6127 6128// This prototype is deprecated.6129static inline __ATTRS_o_ai int6130vec_any_lt(__vector signed long long __a, __vector __bool long long __b) {6131  int __cc;6132  __builtin_s390_vchgs((__vector signed long long)__b, __a, &__cc);6133  return __cc <= 1;6134}6135 6136// This prototype is deprecated.6137static inline __ATTRS_o_ai int6138vec_any_lt(__vector __bool long long __a, __vector signed long long __b) {6139  int __cc;6140  __builtin_s390_vchgs(__b, (__vector signed long long)__a, &__cc);6141  return __cc <= 1;6142}6143 6144static inline __ATTRS_o_ai int6145vec_any_lt(__vector unsigned long long __a, __vector unsigned long long __b) {6146  int __cc;6147  __builtin_s390_vchlgs(__b, __a, &__cc);6148  return __cc <= 1;6149}6150 6151// This prototype is deprecated.6152static inline __ATTRS_o_ai int6153vec_any_lt(__vector unsigned long long __a, __vector __bool long long __b) {6154  int __cc;6155  __builtin_s390_vchlgs((__vector unsigned long long)__b, __a, &__cc);6156  return __cc <= 1;6157}6158 6159// This prototype is deprecated.6160static inline __ATTRS_o_ai int6161vec_any_lt(__vector __bool long long __a, __vector unsigned long long __b) {6162  int __cc;6163  __builtin_s390_vchlgs(__b, (__vector unsigned long long)__a, &__cc);6164  return __cc <= 1;6165}6166 6167// This prototype is deprecated.6168static inline __ATTRS_o_ai int6169vec_any_lt(__vector __bool long long __a, __vector __bool long long __b) {6170  int __cc;6171  __builtin_s390_vchlgs((__vector unsigned long long)__b,6172                        (__vector unsigned long long)__a, &__cc);6173  return __cc <= 1;6174}6175 6176#if __ARCH__ >= 156177static inline __ATTRS_o_ai int6178vec_any_lt(__vector signed __int128 __a, __vector signed __int128 __b) {6179  int __cc;6180  __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);6181  return __cc <= 1;6182}6183 6184static inline __ATTRS_o_ai int6185vec_any_lt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {6186  int __cc;6187  __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);6188  return __cc <= 1;6189}6190#endif6191 6192#if __ARCH__ >= 126193static inline __ATTRS_o_ai int6194vec_any_lt(__vector float __a, __vector float __b) {6195  int __cc;6196  __builtin_s390_vfchsbs(__b, __a, &__cc);6197  return __cc <= 1;6198}6199#endif6200 6201static inline __ATTRS_o_ai int6202vec_any_lt(__vector double __a, __vector double __b) {6203  int __cc;6204  __builtin_s390_vfchdbs(__b, __a, &__cc);6205  return __cc <= 1;6206}6207 6208/*-- vec_any_nge ------------------------------------------------------------*/6209 6210#if __ARCH__ >= 126211static inline __ATTRS_o_ai int6212vec_any_nge(__vector float __a, __vector float __b) {6213  int __cc;6214  __builtin_s390_vfchesbs(__a, __b, &__cc);6215  return __cc != 0;6216}6217#endif6218 6219static inline __ATTRS_o_ai int6220vec_any_nge(__vector double __a, __vector double __b) {6221  int __cc;6222  __builtin_s390_vfchedbs(__a, __b, &__cc);6223  return __cc != 0;6224}6225 6226/*-- vec_any_ngt ------------------------------------------------------------*/6227 6228#if __ARCH__ >= 126229static inline __ATTRS_o_ai int6230vec_any_ngt(__vector float __a, __vector float __b) {6231  int __cc;6232  __builtin_s390_vfchsbs(__a, __b, &__cc);6233  return __cc != 0;6234}6235#endif6236 6237static inline __ATTRS_o_ai int6238vec_any_ngt(__vector double __a, __vector double __b) {6239  int __cc;6240  __builtin_s390_vfchdbs(__a, __b, &__cc);6241  return __cc != 0;6242}6243 6244/*-- vec_any_nle ------------------------------------------------------------*/6245 6246#if __ARCH__ >= 126247static inline __ATTRS_o_ai int6248vec_any_nle(__vector float __a, __vector float __b) {6249  int __cc;6250  __builtin_s390_vfchesbs(__b, __a, &__cc);6251  return __cc != 0;6252}6253#endif6254 6255static inline __ATTRS_o_ai int6256vec_any_nle(__vector double __a, __vector double __b) {6257  int __cc;6258  __builtin_s390_vfchedbs(__b, __a, &__cc);6259  return __cc != 0;6260}6261 6262/*-- vec_any_nlt ------------------------------------------------------------*/6263 6264#if __ARCH__ >= 126265static inline __ATTRS_o_ai int6266vec_any_nlt(__vector float __a, __vector float __b) {6267  int __cc;6268  __builtin_s390_vfchsbs(__b, __a, &__cc);6269  return __cc != 0;6270}6271#endif6272 6273static inline __ATTRS_o_ai int6274vec_any_nlt(__vector double __a, __vector double __b) {6275  int __cc;6276  __builtin_s390_vfchdbs(__b, __a, &__cc);6277  return __cc != 0;6278}6279 6280/*-- vec_any_nan ------------------------------------------------------------*/6281 6282#if __ARCH__ >= 126283static inline __ATTRS_o_ai int6284vec_any_nan(__vector float __a) {6285  int __cc;6286  __builtin_s390_vftcisb(__a, 15, &__cc);6287  return __cc != 3;6288}6289#endif6290 6291static inline __ATTRS_o_ai int6292vec_any_nan(__vector double __a) {6293  int __cc;6294  __builtin_s390_vftcidb(__a, 15, &__cc);6295  return __cc != 3;6296}6297 6298/*-- vec_any_numeric --------------------------------------------------------*/6299 6300#if __ARCH__ >= 126301static inline __ATTRS_o_ai int6302vec_any_numeric(__vector float __a) {6303  int __cc;6304  __builtin_s390_vftcisb(__a, 15, &__cc);6305  return __cc != 0;6306}6307#endif6308 6309static inline __ATTRS_o_ai int6310vec_any_numeric(__vector double __a) {6311  int __cc;6312  __builtin_s390_vftcidb(__a, 15, &__cc);6313  return __cc != 0;6314}6315 6316/*-- vec_blend --------------------------------------------------------------*/6317 6318#if __ARCH__ >= 156319static inline __ATTRS_o_ai __vector signed char6320vec_blend(__vector signed char __a, __vector signed char __b,6321          __vector signed char __c) {6322  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed char)0));6323}6324 6325static inline __ATTRS_o_ai __vector __bool char6326vec_blend(__vector __bool char __a, __vector __bool char __b,6327          __vector signed char __c) {6328  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed char)0));6329}6330 6331static inline __ATTRS_o_ai __vector unsigned char6332vec_blend(__vector unsigned char __a, __vector unsigned char __b,6333          __vector signed char __c) {6334  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed char)0));6335}6336 6337static inline __ATTRS_o_ai __vector signed short6338vec_blend(__vector signed short __a, __vector signed short __b,6339          __vector signed short __c) {6340  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed short)0));6341}6342 6343static inline __ATTRS_o_ai __vector __bool short6344vec_blend(__vector __bool short __a, __vector __bool short __b,6345          __vector signed short __c) {6346  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed short)0));6347}6348 6349static inline __ATTRS_o_ai __vector unsigned short6350vec_blend(__vector unsigned short __a, __vector unsigned short __b,6351          __vector signed short __c) {6352  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed short)0));6353}6354 6355static inline __ATTRS_o_ai __vector signed int6356vec_blend(__vector signed int __a, __vector signed int __b,6357          __vector signed int __c) {6358  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));6359}6360 6361static inline __ATTRS_o_ai __vector __bool int6362vec_blend(__vector __bool int __a, __vector __bool int __b,6363          __vector signed int __c) {6364  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));6365}6366 6367static inline __ATTRS_o_ai __vector unsigned int6368vec_blend(__vector unsigned int __a, __vector unsigned int __b,6369          __vector signed int __c) {6370  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));6371}6372 6373static inline __ATTRS_o_ai __vector signed long long6374vec_blend(__vector signed long long __a, __vector signed long long __b,6375          __vector signed long long __c) {6376  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));6377}6378 6379static inline __ATTRS_o_ai __vector __bool long long6380vec_blend(__vector __bool long long __a, __vector __bool long long __b,6381          __vector signed long long __c) {6382  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));6383}6384 6385static inline __ATTRS_o_ai __vector unsigned long long6386vec_blend(__vector unsigned long long __a, __vector unsigned long long __b,6387          __vector signed long long __c) {6388  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));6389}6390 6391static inline __ATTRS_o_ai __vector signed __int1286392vec_blend(__vector signed __int128 __a, __vector signed __int128 __b,6393          __vector signed __int128 __c) {6394  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed __int128)0));6395}6396 6397static inline __ATTRS_o_ai __vector __bool __int1286398vec_blend(__vector __bool __int128 __a, __vector __bool __int128 __b,6399          __vector signed __int128 __c) {6400  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed __int128)0));6401}6402 6403static inline __ATTRS_o_ai __vector unsigned __int1286404vec_blend(__vector unsigned __int128 __a, __vector unsigned __int128 __b,6405          __vector signed __int128 __c) {6406  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed __int128)0));6407}6408 6409static inline __ATTRS_o_ai __vector float6410vec_blend(__vector float __a, __vector float __b,6411          __vector signed int __c) {6412  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));6413}6414 6415static inline __ATTRS_o_ai __vector double6416vec_blend(__vector double __a, __vector double __b,6417          __vector signed long long __c) {6418  return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));6419}6420#endif6421 6422/*-- vec_and ---------------------------------------------------------------*/6423 6424static inline __ATTRS_o_ai __vector __bool char6425vec_and(__vector __bool char __a, __vector __bool char __b) {6426  return __a & __b;6427}6428 6429static inline __ATTRS_o_ai __vector signed char6430vec_and(__vector signed char __a, __vector signed char __b) {6431  return __a & __b;6432}6433 6434static inline __ATTRS_o_ai __vector unsigned char6435vec_and(__vector unsigned char __a, __vector unsigned char __b) {6436  return __a & __b;6437}6438 6439static inline __ATTRS_o_ai __vector __bool short6440vec_and(__vector __bool short __a, __vector __bool short __b) {6441  return __a & __b;6442}6443 6444static inline __ATTRS_o_ai __vector signed short6445vec_and(__vector signed short __a, __vector signed short __b) {6446  return __a & __b;6447}6448 6449static inline __ATTRS_o_ai __vector unsigned short6450vec_and(__vector unsigned short __a, __vector unsigned short __b) {6451  return __a & __b;6452}6453 6454static inline __ATTRS_o_ai __vector __bool int6455vec_and(__vector __bool int __a, __vector __bool int __b) {6456  return __a & __b;6457}6458 6459static inline __ATTRS_o_ai __vector signed int6460vec_and(__vector signed int __a, __vector signed int __b) {6461  return __a & __b;6462}6463 6464static inline __ATTRS_o_ai __vector unsigned int6465vec_and(__vector unsigned int __a, __vector unsigned int __b) {6466  return __a & __b;6467}6468 6469static inline __ATTRS_o_ai __vector __bool long long6470vec_and(__vector __bool long long __a, __vector __bool long long __b) {6471  return __a & __b;6472}6473 6474static inline __ATTRS_o_ai __vector signed long long6475vec_and(__vector signed long long __a, __vector signed long long __b) {6476  return __a & __b;6477}6478 6479static inline __ATTRS_o_ai __vector unsigned long long6480vec_and(__vector unsigned long long __a, __vector unsigned long long __b) {6481  return __a & __b;6482}6483 6484static inline __ATTRS_o_ai __vector __bool __int1286485vec_and(__vector __bool __int128 __a, __vector __bool __int128 __b) {6486  return __a & __b;6487}6488 6489static inline __ATTRS_o_ai __vector signed __int1286490vec_and(__vector signed __int128 __a, __vector signed __int128 __b) {6491  return __a & __b;6492}6493 6494static inline __ATTRS_o_ai __vector unsigned __int1286495vec_and(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {6496  return __a & __b;6497}6498 6499#if __ARCH__ >= 126500static inline __ATTRS_o_ai __vector float6501vec_and(__vector float __a, __vector float __b) {6502  return (__vector float)((__vector unsigned int)__a &6503                          (__vector unsigned int)__b);6504}6505#endif6506 6507static inline __ATTRS_o_ai __vector double6508vec_and(__vector double __a, __vector double __b) {6509  return (__vector double)((__vector unsigned long long)__a &6510                           (__vector unsigned long long)__b);6511}6512 6513/*-- vec_or ----------------------------------------------------------------*/6514 6515static inline __ATTRS_o_ai __vector __bool char6516vec_or(__vector __bool char __a, __vector __bool char __b) {6517  return __a | __b;6518}6519 6520static inline __ATTRS_o_ai __vector signed char6521vec_or(__vector signed char __a, __vector signed char __b) {6522  return __a | __b;6523}6524 6525static inline __ATTRS_o_ai __vector unsigned char6526vec_or(__vector unsigned char __a, __vector unsigned char __b) {6527  return __a | __b;6528}6529 6530static inline __ATTRS_o_ai __vector __bool short6531vec_or(__vector __bool short __a, __vector __bool short __b) {6532  return __a | __b;6533}6534 6535static inline __ATTRS_o_ai __vector signed short6536vec_or(__vector signed short __a, __vector signed short __b) {6537  return __a | __b;6538}6539 6540static inline __ATTRS_o_ai __vector unsigned short6541vec_or(__vector unsigned short __a, __vector unsigned short __b) {6542  return __a | __b;6543}6544 6545static inline __ATTRS_o_ai __vector __bool int6546vec_or(__vector __bool int __a, __vector __bool int __b) {6547  return __a | __b;6548}6549 6550static inline __ATTRS_o_ai __vector signed int6551vec_or(__vector signed int __a, __vector signed int __b) {6552  return __a | __b;6553}6554 6555static inline __ATTRS_o_ai __vector unsigned int6556vec_or(__vector unsigned int __a, __vector unsigned int __b) {6557  return __a | __b;6558}6559 6560static inline __ATTRS_o_ai __vector __bool long long6561vec_or(__vector __bool long long __a, __vector __bool long long __b) {6562  return __a | __b;6563}6564 6565static inline __ATTRS_o_ai __vector signed long long6566vec_or(__vector signed long long __a, __vector signed long long __b) {6567  return __a | __b;6568}6569 6570static inline __ATTRS_o_ai __vector unsigned long long6571vec_or(__vector unsigned long long __a, __vector unsigned long long __b) {6572  return __a | __b;6573}6574 6575static inline __ATTRS_o_ai __vector __bool __int1286576vec_or(__vector __bool __int128 __a, __vector __bool __int128 __b) {6577  return __a | __b;6578}6579 6580static inline __ATTRS_o_ai __vector signed __int1286581vec_or(__vector signed __int128 __a, __vector signed __int128 __b) {6582  return __a | __b;6583}6584 6585static inline __ATTRS_o_ai __vector unsigned __int1286586vec_or(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {6587  return __a | __b;6588}6589 6590#if __ARCH__ >= 126591static inline __ATTRS_o_ai __vector float6592vec_or(__vector float __a, __vector float __b) {6593  return (__vector float)((__vector unsigned int)__a |6594                          (__vector unsigned int)__b);6595}6596#endif6597 6598static inline __ATTRS_o_ai __vector double6599vec_or(__vector double __a, __vector double __b) {6600  return (__vector double)((__vector unsigned long long)__a |6601                           (__vector unsigned long long)__b);6602}6603 6604/*-- vec_xor ----------------------------------------------------------------*/6605 6606static inline __ATTRS_o_ai __vector __bool char6607vec_xor(__vector __bool char __a, __vector __bool char __b) {6608  return __a ^ __b;6609}6610 6611static inline __ATTRS_o_ai __vector signed char6612vec_xor(__vector signed char __a, __vector signed char __b) {6613  return __a ^ __b;6614}6615 6616static inline __ATTRS_o_ai __vector unsigned char6617vec_xor(__vector unsigned char __a, __vector unsigned char __b) {6618  return __a ^ __b;6619}6620 6621static inline __ATTRS_o_ai __vector __bool short6622vec_xor(__vector __bool short __a, __vector __bool short __b) {6623  return __a ^ __b;6624}6625 6626static inline __ATTRS_o_ai __vector signed short6627vec_xor(__vector signed short __a, __vector signed short __b) {6628  return __a ^ __b;6629}6630 6631static inline __ATTRS_o_ai __vector unsigned short6632vec_xor(__vector unsigned short __a, __vector unsigned short __b) {6633  return __a ^ __b;6634}6635 6636static inline __ATTRS_o_ai __vector __bool int6637vec_xor(__vector __bool int __a, __vector __bool int __b) {6638  return __a ^ __b;6639}6640 6641static inline __ATTRS_o_ai __vector signed int6642vec_xor(__vector signed int __a, __vector signed int __b) {6643  return __a ^ __b;6644}6645 6646static inline __ATTRS_o_ai __vector unsigned int6647vec_xor(__vector unsigned int __a, __vector unsigned int __b) {6648  return __a ^ __b;6649}6650 6651static inline __ATTRS_o_ai __vector __bool long long6652vec_xor(__vector __bool long long __a, __vector __bool long long __b) {6653  return __a ^ __b;6654}6655 6656static inline __ATTRS_o_ai __vector signed long long6657vec_xor(__vector signed long long __a, __vector signed long long __b) {6658  return __a ^ __b;6659}6660 6661static inline __ATTRS_o_ai __vector unsigned long long6662vec_xor(__vector unsigned long long __a, __vector unsigned long long __b) {6663  return __a ^ __b;6664}6665 6666static inline __ATTRS_o_ai __vector __bool __int1286667vec_xor(__vector __bool __int128 __a, __vector __bool __int128 __b) {6668  return __a ^ __b;6669}6670 6671static inline __ATTRS_o_ai __vector signed __int1286672vec_xor(__vector signed __int128 __a, __vector signed __int128 __b) {6673  return __a ^ __b;6674}6675 6676static inline __ATTRS_o_ai __vector unsigned __int1286677vec_xor(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {6678  return __a ^ __b;6679}6680 6681#if __ARCH__ >= 126682static inline __ATTRS_o_ai __vector float6683vec_xor(__vector float __a, __vector float __b) {6684  return (__vector float)((__vector unsigned int)__a ^6685                          (__vector unsigned int)__b);6686}6687#endif6688 6689static inline __ATTRS_o_ai __vector double6690vec_xor(__vector double __a, __vector double __b) {6691  return (__vector double)((__vector unsigned long long)__a ^6692                           (__vector unsigned long long)__b);6693}6694 6695/*-- vec_andc ---------------------------------------------------------------*/6696 6697static inline __ATTRS_o_ai __vector __bool char6698vec_andc(__vector __bool char __a, __vector __bool char __b) {6699  return __a & ~__b;6700}6701 6702static inline __ATTRS_o_ai __vector signed char6703vec_andc(__vector signed char __a, __vector signed char __b) {6704  return __a & ~__b;6705}6706 6707// This prototype is deprecated.6708static inline __ATTRS_o_ai __vector signed char6709vec_andc(__vector __bool char __a, __vector signed char __b) {6710  return __a & ~__b;6711}6712 6713// This prototype is deprecated.6714static inline __ATTRS_o_ai __vector signed char6715vec_andc(__vector signed char __a, __vector __bool char __b) {6716  return __a & ~__b;6717}6718 6719static inline __ATTRS_o_ai __vector unsigned char6720vec_andc(__vector unsigned char __a, __vector unsigned char __b) {6721  return __a & ~__b;6722}6723 6724// This prototype is deprecated.6725static inline __ATTRS_o_ai __vector unsigned char6726vec_andc(__vector __bool char __a, __vector unsigned char __b) {6727  return __a & ~__b;6728}6729 6730// This prototype is deprecated.6731static inline __ATTRS_o_ai __vector unsigned char6732vec_andc(__vector unsigned char __a, __vector __bool char __b) {6733  return __a & ~__b;6734}6735 6736static inline __ATTRS_o_ai __vector __bool short6737vec_andc(__vector __bool short __a, __vector __bool short __b) {6738  return __a & ~__b;6739}6740 6741static inline __ATTRS_o_ai __vector signed short6742vec_andc(__vector signed short __a, __vector signed short __b) {6743  return __a & ~__b;6744}6745 6746// This prototype is deprecated.6747static inline __ATTRS_o_ai __vector signed short6748vec_andc(__vector __bool short __a, __vector signed short __b) {6749  return __a & ~__b;6750}6751 6752// This prototype is deprecated.6753static inline __ATTRS_o_ai __vector signed short6754vec_andc(__vector signed short __a, __vector __bool short __b) {6755  return __a & ~__b;6756}6757 6758static inline __ATTRS_o_ai __vector unsigned short6759vec_andc(__vector unsigned short __a, __vector unsigned short __b) {6760  return __a & ~__b;6761}6762 6763// This prototype is deprecated.6764static inline __ATTRS_o_ai __vector unsigned short6765vec_andc(__vector __bool short __a, __vector unsigned short __b) {6766  return __a & ~__b;6767}6768 6769// This prototype is deprecated.6770static inline __ATTRS_o_ai __vector unsigned short6771vec_andc(__vector unsigned short __a, __vector __bool short __b) {6772  return __a & ~__b;6773}6774 6775static inline __ATTRS_o_ai __vector __bool int6776vec_andc(__vector __bool int __a, __vector __bool int __b) {6777  return __a & ~__b;6778}6779 6780static inline __ATTRS_o_ai __vector signed int6781vec_andc(__vector signed int __a, __vector signed int __b) {6782  return __a & ~__b;6783}6784 6785// This prototype is deprecated.6786static inline __ATTRS_o_ai __vector signed int6787vec_andc(__vector __bool int __a, __vector signed int __b) {6788  return __a & ~__b;6789}6790 6791// This prototype is deprecated.6792static inline __ATTRS_o_ai __vector signed int6793vec_andc(__vector signed int __a, __vector __bool int __b) {6794  return __a & ~__b;6795}6796 6797static inline __ATTRS_o_ai __vector unsigned int6798vec_andc(__vector unsigned int __a, __vector unsigned int __b) {6799  return __a & ~__b;6800}6801 6802// This prototype is deprecated.6803static inline __ATTRS_o_ai __vector unsigned int6804vec_andc(__vector __bool int __a, __vector unsigned int __b) {6805  return __a & ~__b;6806}6807 6808// This prototype is deprecated.6809static inline __ATTRS_o_ai __vector unsigned int6810vec_andc(__vector unsigned int __a, __vector __bool int __b) {6811  return __a & ~__b;6812}6813 6814static inline __ATTRS_o_ai __vector __bool long long6815vec_andc(__vector __bool long long __a, __vector __bool long long __b) {6816  return __a & ~__b;6817}6818 6819static inline __ATTRS_o_ai __vector signed long long6820vec_andc(__vector signed long long __a, __vector signed long long __b) {6821  return __a & ~__b;6822}6823 6824// This prototype is deprecated.6825static inline __ATTRS_o_ai __vector signed long long6826vec_andc(__vector __bool long long __a, __vector signed long long __b) {6827  return __a & ~__b;6828}6829 6830// This prototype is deprecated.6831static inline __ATTRS_o_ai __vector signed long long6832vec_andc(__vector signed long long __a, __vector __bool long long __b) {6833  return __a & ~__b;6834}6835 6836static inline __ATTRS_o_ai __vector unsigned long long6837vec_andc(__vector unsigned long long __a, __vector unsigned long long __b) {6838  return __a & ~__b;6839}6840 6841// This prototype is deprecated.6842static inline __ATTRS_o_ai __vector unsigned long long6843vec_andc(__vector __bool long long __a, __vector unsigned long long __b) {6844  return __a & ~__b;6845}6846 6847// This prototype is deprecated.6848static inline __ATTRS_o_ai __vector unsigned long long6849vec_andc(__vector unsigned long long __a, __vector __bool long long __b) {6850  return __a & ~__b;6851}6852 6853static inline __ATTRS_o_ai __vector __bool __int1286854vec_andc(__vector __bool __int128 __a, __vector __bool __int128 __b) {6855  return __a & ~__b;6856}6857 6858static inline __ATTRS_o_ai __vector signed __int1286859vec_andc(__vector signed __int128 __a, __vector signed __int128 __b) {6860  return __a & ~__b;6861}6862 6863static inline __ATTRS_o_ai __vector unsigned __int1286864vec_andc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {6865  return __a & ~__b;6866}6867 6868#if __ARCH__ >= 126869static inline __ATTRS_o_ai __vector float6870vec_andc(__vector float __a, __vector float __b) {6871  return (__vector float)((__vector unsigned int)__a &6872                         ~(__vector unsigned int)__b);6873}6874#endif6875 6876static inline __ATTRS_o_ai __vector double6877vec_andc(__vector double __a, __vector double __b) {6878  return (__vector double)((__vector unsigned long long)__a &6879                         ~(__vector unsigned long long)__b);6880}6881 6882// This prototype is deprecated.6883static inline __ATTRS_o_ai __vector double6884vec_andc(__vector __bool long long __a, __vector double __b) {6885  return (__vector double)((__vector unsigned long long)__a &6886                         ~(__vector unsigned long long)__b);6887}6888 6889// This prototype is deprecated.6890static inline __ATTRS_o_ai __vector double6891vec_andc(__vector double __a, __vector __bool long long __b) {6892  return (__vector double)((__vector unsigned long long)__a &6893                         ~(__vector unsigned long long)__b);6894}6895 6896/*-- vec_nor ----------------------------------------------------------------*/6897 6898static inline __ATTRS_o_ai __vector __bool char6899vec_nor(__vector __bool char __a, __vector __bool char __b) {6900  return ~(__a | __b);6901}6902 6903static inline __ATTRS_o_ai __vector signed char6904vec_nor(__vector signed char __a, __vector signed char __b) {6905  return ~(__a | __b);6906}6907 6908// This prototype is deprecated.6909static inline __ATTRS_o_ai __vector signed char6910vec_nor(__vector __bool char __a, __vector signed char __b) {6911  return ~(__a | __b);6912}6913 6914// This prototype is deprecated.6915static inline __ATTRS_o_ai __vector signed char6916vec_nor(__vector signed char __a, __vector __bool char __b) {6917  return ~(__a | __b);6918}6919 6920static inline __ATTRS_o_ai __vector unsigned char6921vec_nor(__vector unsigned char __a, __vector unsigned char __b) {6922  return ~(__a | __b);6923}6924 6925// This prototype is deprecated.6926static inline __ATTRS_o_ai __vector unsigned char6927vec_nor(__vector __bool char __a, __vector unsigned char __b) {6928  return ~(__a | __b);6929}6930 6931// This prototype is deprecated.6932static inline __ATTRS_o_ai __vector unsigned char6933vec_nor(__vector unsigned char __a, __vector __bool char __b) {6934  return ~(__a | __b);6935}6936 6937static inline __ATTRS_o_ai __vector __bool short6938vec_nor(__vector __bool short __a, __vector __bool short __b) {6939  return ~(__a | __b);6940}6941 6942static inline __ATTRS_o_ai __vector signed short6943vec_nor(__vector signed short __a, __vector signed short __b) {6944  return ~(__a | __b);6945}6946 6947// This prototype is deprecated.6948static inline __ATTRS_o_ai __vector signed short6949vec_nor(__vector __bool short __a, __vector signed short __b) {6950  return ~(__a | __b);6951}6952 6953// This prototype is deprecated.6954static inline __ATTRS_o_ai __vector signed short6955vec_nor(__vector signed short __a, __vector __bool short __b) {6956  return ~(__a | __b);6957}6958 6959static inline __ATTRS_o_ai __vector unsigned short6960vec_nor(__vector unsigned short __a, __vector unsigned short __b) {6961  return ~(__a | __b);6962}6963 6964// This prototype is deprecated.6965static inline __ATTRS_o_ai __vector unsigned short6966vec_nor(__vector __bool short __a, __vector unsigned short __b) {6967  return ~(__a | __b);6968}6969 6970// This prototype is deprecated.6971static inline __ATTRS_o_ai __vector unsigned short6972vec_nor(__vector unsigned short __a, __vector __bool short __b) {6973  return ~(__a | __b);6974}6975 6976static inline __ATTRS_o_ai __vector __bool int6977vec_nor(__vector __bool int __a, __vector __bool int __b) {6978  return ~(__a | __b);6979}6980 6981static inline __ATTRS_o_ai __vector signed int6982vec_nor(__vector signed int __a, __vector signed int __b) {6983  return ~(__a | __b);6984}6985 6986// This prototype is deprecated.6987static inline __ATTRS_o_ai __vector signed int6988vec_nor(__vector __bool int __a, __vector signed int __b) {6989  return ~(__a | __b);6990}6991 6992// This prototype is deprecated.6993static inline __ATTRS_o_ai __vector signed int6994vec_nor(__vector signed int __a, __vector __bool int __b) {6995  return ~(__a | __b);6996}6997 6998static inline __ATTRS_o_ai __vector unsigned int6999vec_nor(__vector unsigned int __a, __vector unsigned int __b) {7000  return ~(__a | __b);7001}7002 7003// This prototype is deprecated.7004static inline __ATTRS_o_ai __vector unsigned int7005vec_nor(__vector __bool int __a, __vector unsigned int __b) {7006  return ~(__a | __b);7007}7008 7009// This prototype is deprecated.7010static inline __ATTRS_o_ai __vector unsigned int7011vec_nor(__vector unsigned int __a, __vector __bool int __b) {7012  return ~(__a | __b);7013}7014 7015static inline __ATTRS_o_ai __vector __bool long long7016vec_nor(__vector __bool long long __a, __vector __bool long long __b) {7017  return ~(__a | __b);7018}7019 7020static inline __ATTRS_o_ai __vector signed long long7021vec_nor(__vector signed long long __a, __vector signed long long __b) {7022  return ~(__a | __b);7023}7024 7025// This prototype is deprecated.7026static inline __ATTRS_o_ai __vector signed long long7027vec_nor(__vector __bool long long __a, __vector signed long long __b) {7028  return ~(__a | __b);7029}7030 7031// This prototype is deprecated.7032static inline __ATTRS_o_ai __vector signed long long7033vec_nor(__vector signed long long __a, __vector __bool long long __b) {7034  return ~(__a | __b);7035}7036 7037static inline __ATTRS_o_ai __vector unsigned long long7038vec_nor(__vector unsigned long long __a, __vector unsigned long long __b) {7039  return ~(__a | __b);7040}7041 7042// This prototype is deprecated.7043static inline __ATTRS_o_ai __vector unsigned long long7044vec_nor(__vector __bool long long __a, __vector unsigned long long __b) {7045  return ~(__a | __b);7046}7047 7048// This prototype is deprecated.7049static inline __ATTRS_o_ai __vector unsigned long long7050vec_nor(__vector unsigned long long __a, __vector __bool long long __b) {7051  return ~(__a | __b);7052}7053 7054static inline __ATTRS_o_ai __vector __bool __int1287055vec_nor(__vector __bool __int128 __a, __vector __bool __int128 __b) {7056  return ~(__a | __b);7057}7058 7059static inline __ATTRS_o_ai __vector signed __int1287060vec_nor(__vector signed __int128 __a, __vector signed __int128 __b) {7061  return ~(__a | __b);7062}7063 7064static inline __ATTRS_o_ai __vector unsigned __int1287065vec_nor(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {7066  return ~(__a | __b);7067}7068 7069#if __ARCH__ >= 127070static inline __ATTRS_o_ai __vector float7071vec_nor(__vector float __a, __vector float __b) {7072  return (__vector float)~((__vector unsigned int)__a |7073                         (__vector unsigned int)__b);7074}7075#endif7076 7077static inline __ATTRS_o_ai __vector double7078vec_nor(__vector double __a, __vector double __b) {7079  return (__vector double)~((__vector unsigned long long)__a |7080                          (__vector unsigned long long)__b);7081}7082 7083// This prototype is deprecated.7084static inline __ATTRS_o_ai __vector double7085vec_nor(__vector __bool long long __a, __vector double __b) {7086  return (__vector double)~((__vector unsigned long long)__a |7087                          (__vector unsigned long long)__b);7088}7089 7090// This prototype is deprecated.7091static inline __ATTRS_o_ai __vector double7092vec_nor(__vector double __a, __vector __bool long long __b) {7093  return (__vector double)~((__vector unsigned long long)__a |7094                          (__vector unsigned long long)__b);7095}7096 7097/*-- vec_orc ----------------------------------------------------------------*/7098 7099#if __ARCH__ >= 127100static inline __ATTRS_o_ai __vector __bool char7101vec_orc(__vector __bool char __a, __vector __bool char __b) {7102  return __a | ~__b;7103}7104 7105static inline __ATTRS_o_ai __vector signed char7106vec_orc(__vector signed char __a, __vector signed char __b) {7107  return __a | ~__b;7108}7109 7110static inline __ATTRS_o_ai __vector unsigned char7111vec_orc(__vector unsigned char __a, __vector unsigned char __b) {7112  return __a | ~__b;7113}7114 7115static inline __ATTRS_o_ai __vector __bool short7116vec_orc(__vector __bool short __a, __vector __bool short __b) {7117  return __a | ~__b;7118}7119 7120static inline __ATTRS_o_ai __vector signed short7121vec_orc(__vector signed short __a, __vector signed short __b) {7122  return __a | ~__b;7123}7124 7125static inline __ATTRS_o_ai __vector unsigned short7126vec_orc(__vector unsigned short __a, __vector unsigned short __b) {7127  return __a | ~__b;7128}7129 7130static inline __ATTRS_o_ai __vector __bool int7131vec_orc(__vector __bool int __a, __vector __bool int __b) {7132  return __a | ~__b;7133}7134 7135static inline __ATTRS_o_ai __vector signed int7136vec_orc(__vector signed int __a, __vector signed int __b) {7137  return __a | ~__b;7138}7139 7140static inline __ATTRS_o_ai __vector unsigned int7141vec_orc(__vector unsigned int __a, __vector unsigned int __b) {7142  return __a | ~__b;7143}7144 7145static inline __ATTRS_o_ai __vector __bool long long7146vec_orc(__vector __bool long long __a, __vector __bool long long __b) {7147  return __a | ~__b;7148}7149 7150static inline __ATTRS_o_ai __vector signed long long7151vec_orc(__vector signed long long __a, __vector signed long long __b) {7152  return __a | ~__b;7153}7154 7155static inline __ATTRS_o_ai __vector unsigned long long7156vec_orc(__vector unsigned long long __a, __vector unsigned long long __b) {7157  return __a | ~__b;7158}7159 7160static inline __ATTRS_o_ai __vector __bool __int1287161vec_orc(__vector __bool __int128 __a, __vector __bool __int128 __b) {7162  return __a | ~__b;7163}7164 7165static inline __ATTRS_o_ai __vector signed __int1287166vec_orc(__vector signed __int128 __a, __vector signed __int128 __b) {7167  return __a | ~__b;7168}7169 7170static inline __ATTRS_o_ai __vector unsigned __int1287171vec_orc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {7172  return __a | ~__b;7173}7174 7175static inline __ATTRS_o_ai __vector float7176vec_orc(__vector float __a, __vector float __b) {7177  return (__vector float)((__vector unsigned int)__a |7178                        ~(__vector unsigned int)__b);7179}7180 7181static inline __ATTRS_o_ai __vector double7182vec_orc(__vector double __a, __vector double __b) {7183  return (__vector double)((__vector unsigned long long)__a |7184                         ~(__vector unsigned long long)__b);7185}7186#endif7187 7188/*-- vec_nand ---------------------------------------------------------------*/7189 7190#if __ARCH__ >= 127191static inline __ATTRS_o_ai __vector __bool char7192vec_nand(__vector __bool char __a, __vector __bool char __b) {7193  return ~(__a & __b);7194}7195 7196static inline __ATTRS_o_ai __vector signed char7197vec_nand(__vector signed char __a, __vector signed char __b) {7198  return ~(__a & __b);7199}7200 7201static inline __ATTRS_o_ai __vector unsigned char7202vec_nand(__vector unsigned char __a, __vector unsigned char __b) {7203  return ~(__a & __b);7204}7205 7206static inline __ATTRS_o_ai __vector __bool short7207vec_nand(__vector __bool short __a, __vector __bool short __b) {7208  return ~(__a & __b);7209}7210 7211static inline __ATTRS_o_ai __vector signed short7212vec_nand(__vector signed short __a, __vector signed short __b) {7213  return ~(__a & __b);7214}7215 7216static inline __ATTRS_o_ai __vector unsigned short7217vec_nand(__vector unsigned short __a, __vector unsigned short __b) {7218  return ~(__a & __b);7219}7220 7221static inline __ATTRS_o_ai __vector __bool int7222vec_nand(__vector __bool int __a, __vector __bool int __b) {7223  return ~(__a & __b);7224}7225 7226static inline __ATTRS_o_ai __vector signed int7227vec_nand(__vector signed int __a, __vector signed int __b) {7228  return ~(__a & __b);7229}7230 7231static inline __ATTRS_o_ai __vector unsigned int7232vec_nand(__vector unsigned int __a, __vector unsigned int __b) {7233  return ~(__a & __b);7234}7235 7236static inline __ATTRS_o_ai __vector __bool long long7237vec_nand(__vector __bool long long __a, __vector __bool long long __b) {7238  return ~(__a & __b);7239}7240 7241static inline __ATTRS_o_ai __vector signed long long7242vec_nand(__vector signed long long __a, __vector signed long long __b) {7243  return ~(__a & __b);7244}7245 7246static inline __ATTRS_o_ai __vector unsigned long long7247vec_nand(__vector unsigned long long __a, __vector unsigned long long __b) {7248  return ~(__a & __b);7249}7250 7251static inline __ATTRS_o_ai __vector __bool __int1287252vec_nand(__vector __bool __int128 __a, __vector __bool __int128 __b) {7253  return ~(__a & __b);7254}7255 7256static inline __ATTRS_o_ai __vector signed __int1287257vec_nand(__vector signed __int128 __a, __vector signed __int128 __b) {7258  return ~(__a & __b);7259}7260 7261static inline __ATTRS_o_ai __vector unsigned __int1287262vec_nand(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {7263  return ~(__a & __b);7264}7265 7266static inline __ATTRS_o_ai __vector float7267vec_nand(__vector float __a, __vector float __b) {7268  return (__vector float)~((__vector unsigned int)__a &7269                         (__vector unsigned int)__b);7270}7271 7272static inline __ATTRS_o_ai __vector double7273vec_nand(__vector double __a, __vector double __b) {7274  return (__vector double)~((__vector unsigned long long)__a &7275                          (__vector unsigned long long)__b);7276}7277#endif7278 7279/*-- vec_eqv ----------------------------------------------------------------*/7280 7281#if __ARCH__ >= 127282static inline __ATTRS_o_ai __vector __bool char7283vec_eqv(__vector __bool char __a, __vector __bool char __b) {7284  return ~(__a ^ __b);7285}7286 7287static inline __ATTRS_o_ai __vector signed char7288vec_eqv(__vector signed char __a, __vector signed char __b) {7289  return ~(__a ^ __b);7290}7291 7292static inline __ATTRS_o_ai __vector unsigned char7293vec_eqv(__vector unsigned char __a, __vector unsigned char __b) {7294  return ~(__a ^ __b);7295}7296 7297static inline __ATTRS_o_ai __vector __bool short7298vec_eqv(__vector __bool short __a, __vector __bool short __b) {7299  return ~(__a ^ __b);7300}7301 7302static inline __ATTRS_o_ai __vector signed short7303vec_eqv(__vector signed short __a, __vector signed short __b) {7304  return ~(__a ^ __b);7305}7306 7307static inline __ATTRS_o_ai __vector unsigned short7308vec_eqv(__vector unsigned short __a, __vector unsigned short __b) {7309  return ~(__a ^ __b);7310}7311 7312static inline __ATTRS_o_ai __vector __bool int7313vec_eqv(__vector __bool int __a, __vector __bool int __b) {7314  return ~(__a ^ __b);7315}7316 7317static inline __ATTRS_o_ai __vector signed int7318vec_eqv(__vector signed int __a, __vector signed int __b) {7319  return ~(__a ^ __b);7320}7321 7322static inline __ATTRS_o_ai __vector unsigned int7323vec_eqv(__vector unsigned int __a, __vector unsigned int __b) {7324  return ~(__a ^ __b);7325}7326 7327static inline __ATTRS_o_ai __vector __bool long long7328vec_eqv(__vector __bool long long __a, __vector __bool long long __b) {7329  return ~(__a ^ __b);7330}7331 7332static inline __ATTRS_o_ai __vector signed long long7333vec_eqv(__vector signed long long __a, __vector signed long long __b) {7334  return ~(__a ^ __b);7335}7336 7337static inline __ATTRS_o_ai __vector unsigned long long7338vec_eqv(__vector unsigned long long __a, __vector unsigned long long __b) {7339  return ~(__a ^ __b);7340}7341 7342static inline __ATTRS_o_ai __vector __bool __int1287343vec_eqv(__vector __bool __int128 __a, __vector __bool __int128 __b) {7344  return ~(__a ^ __b);7345}7346 7347static inline __ATTRS_o_ai __vector signed __int1287348vec_eqv(__vector signed __int128 __a, __vector signed __int128 __b) {7349  return ~(__a ^ __b);7350}7351 7352static inline __ATTRS_o_ai __vector unsigned __int1287353vec_eqv(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {7354  return ~(__a ^ __b);7355}7356 7357static inline __ATTRS_o_ai __vector float7358vec_eqv(__vector float __a, __vector float __b) {7359  return (__vector float)~((__vector unsigned int)__a ^7360                         (__vector unsigned int)__b);7361}7362 7363static inline __ATTRS_o_ai __vector double7364vec_eqv(__vector double __a, __vector double __b) {7365  return (__vector double)~((__vector unsigned long long)__a ^7366                          (__vector unsigned long long)__b);7367}7368#endif7369 7370/*-- vec_evaluate -----------------------------------------------------------*/7371 7372#if __ARCH__ >= 157373extern __ATTRS_o __vector signed char7374vec_evaluate(__vector signed char __a, __vector signed char __b,7375             __vector signed char __c, unsigned char __d)7376  __constant(__d);7377 7378extern __ATTRS_o __vector unsigned char7379vec_evaluate(__vector unsigned char __a, __vector unsigned char __b,7380             __vector unsigned char __c, unsigned char __d)7381  __constant(__d);7382 7383extern __ATTRS_o __vector __bool char7384vec_evaluate(__vector __bool char __a, __vector __bool char __b,7385             __vector __bool char __c, unsigned char __d)7386  __constant(__d);7387 7388extern __ATTRS_o __vector signed short7389vec_evaluate(__vector signed short __a, __vector signed short __b,7390             __vector signed short __c, unsigned char __d)7391  __constant(__d);7392 7393extern __ATTRS_o __vector unsigned short7394vec_evaluate(__vector unsigned short __a, __vector unsigned short __b,7395             __vector unsigned short __c, unsigned char __d)7396  __constant(__d);7397 7398extern __ATTRS_o __vector __bool short7399vec_evaluate(__vector __bool short __a, __vector __bool short __b,7400             __vector __bool short __c, unsigned char __d)7401  __constant(__d);7402 7403extern __ATTRS_o __vector signed int7404vec_evaluate(__vector signed int __a, __vector signed int __b,7405             __vector signed int __c, unsigned char __d)7406  __constant(__d);7407 7408extern __ATTRS_o __vector unsigned int7409vec_evaluate(__vector unsigned int __a, __vector unsigned int __b,7410             __vector unsigned int __c, unsigned char __d)7411  __constant(__d);7412 7413extern __ATTRS_o __vector __bool int7414vec_evaluate(__vector __bool int __a, __vector __bool int __b,7415             __vector __bool int __c, unsigned char __d)7416  __constant(__d);7417 7418extern __ATTRS_o __vector signed long long7419vec_evaluate(__vector signed long long __a, __vector signed long long __b,7420             __vector signed long long __c, unsigned char __d)7421  __constant(__d);7422 7423extern __ATTRS_o __vector unsigned long long7424vec_evaluate(__vector unsigned long long __a, __vector unsigned long long __b,7425             __vector unsigned long long __c, unsigned char __d)7426  __constant(__d);7427 7428extern __ATTRS_o __vector __bool long long7429vec_evaluate(__vector __bool long long __a, __vector __bool long long __b,7430             __vector __bool long long __c, unsigned char __d)7431  __constant(__d);7432 7433extern __ATTRS_o __vector signed __int1287434vec_evaluate(__vector signed __int128 __a, __vector signed __int128 __b,7435             __vector signed __int128 __c, unsigned char __d)7436  __constant(__d);7437 7438extern __ATTRS_o __vector unsigned __int1287439vec_evaluate(__vector unsigned __int128 __a, __vector unsigned __int128 __b,7440             __vector unsigned __int128 __c, unsigned char __d)7441  __constant(__d);7442 7443extern __ATTRS_o __vector __bool __int1287444vec_evaluate(__vector __bool __int128 __a, __vector __bool __int128 __b,7445             __vector __bool __int128 __c, unsigned char __d)7446  __constant(__d);7447 7448#define vec_evaluate(A, B, C, D) \7449  ((__typeof__((vec_evaluate)((A), (B), (C), (D)))) \7450  __builtin_s390_veval((__vector unsigned char)(A), \7451                       (__vector unsigned char)(B), \7452                       (__vector unsigned char)(C), (D)))7453#endif7454 7455/*-- vec_cntlz --------------------------------------------------------------*/7456 7457static inline __ATTRS_o_ai __vector unsigned char7458vec_cntlz(__vector signed char __a) {7459  return __builtin_s390_vclzb((__vector unsigned char)__a);7460}7461 7462static inline __ATTRS_o_ai __vector unsigned char7463vec_cntlz(__vector unsigned char __a) {7464  return __builtin_s390_vclzb(__a);7465}7466 7467static inline __ATTRS_o_ai __vector unsigned short7468vec_cntlz(__vector signed short __a) {7469  return __builtin_s390_vclzh((__vector unsigned short)__a);7470}7471 7472static inline __ATTRS_o_ai __vector unsigned short7473vec_cntlz(__vector unsigned short __a) {7474  return __builtin_s390_vclzh(__a);7475}7476 7477static inline __ATTRS_o_ai __vector unsigned int7478vec_cntlz(__vector signed int __a) {7479  return __builtin_s390_vclzf((__vector unsigned int)__a);7480}7481 7482static inline __ATTRS_o_ai __vector unsigned int7483vec_cntlz(__vector unsigned int __a) {7484  return __builtin_s390_vclzf(__a);7485}7486 7487static inline __ATTRS_o_ai __vector unsigned long long7488vec_cntlz(__vector signed long long __a) {7489  return __builtin_s390_vclzg((__vector unsigned long long)__a);7490}7491 7492static inline __ATTRS_o_ai __vector unsigned long long7493vec_cntlz(__vector unsigned long long __a) {7494  return __builtin_s390_vclzg(__a);7495}7496 7497#if __ARCH__ >= 157498static inline __ATTRS_o_ai __vector unsigned __int1287499vec_cntlz(__vector signed __int128 __a) {7500  return (__vector unsigned __int128)7501         __builtin_s390_vclzq((unsigned __int128)__a);7502}7503 7504static inline __ATTRS_o_ai __vector unsigned __int1287505vec_cntlz(__vector unsigned __int128 __a) {7506  return (__vector unsigned __int128)7507         __builtin_s390_vclzq((unsigned __int128)__a);7508}7509#endif7510 7511/*-- vec_cnttz --------------------------------------------------------------*/7512 7513static inline __ATTRS_o_ai __vector unsigned char7514vec_cnttz(__vector signed char __a) {7515  return __builtin_s390_vctzb((__vector unsigned char)__a);7516}7517 7518static inline __ATTRS_o_ai __vector unsigned char7519vec_cnttz(__vector unsigned char __a) {7520  return __builtin_s390_vctzb(__a);7521}7522 7523static inline __ATTRS_o_ai __vector unsigned short7524vec_cnttz(__vector signed short __a) {7525  return __builtin_s390_vctzh((__vector unsigned short)__a);7526}7527 7528static inline __ATTRS_o_ai __vector unsigned short7529vec_cnttz(__vector unsigned short __a) {7530  return __builtin_s390_vctzh(__a);7531}7532 7533static inline __ATTRS_o_ai __vector unsigned int7534vec_cnttz(__vector signed int __a) {7535  return __builtin_s390_vctzf((__vector unsigned int)__a);7536}7537 7538static inline __ATTRS_o_ai __vector unsigned int7539vec_cnttz(__vector unsigned int __a) {7540  return __builtin_s390_vctzf(__a);7541}7542 7543static inline __ATTRS_o_ai __vector unsigned long long7544vec_cnttz(__vector signed long long __a) {7545  return __builtin_s390_vctzg((__vector unsigned long long)__a);7546}7547 7548static inline __ATTRS_o_ai __vector unsigned long long7549vec_cnttz(__vector unsigned long long __a) {7550  return __builtin_s390_vctzg(__a);7551}7552 7553#if __ARCH__ >= 157554static inline __ATTRS_o_ai __vector unsigned __int1287555vec_cnttz(__vector signed __int128 __a) {7556  return (__vector unsigned __int128)7557         __builtin_s390_vctzq((unsigned __int128)__a);7558}7559 7560static inline __ATTRS_o_ai __vector unsigned __int1287561vec_cnttz(__vector unsigned __int128 __a) {7562  return (__vector unsigned __int128)7563         __builtin_s390_vctzq((unsigned __int128)__a);7564}7565#endif7566 7567/*-- vec_popcnt -------------------------------------------------------------*/7568 7569static inline __ATTRS_o_ai __vector unsigned char7570vec_popcnt(__vector signed char __a) {7571  return __builtin_elementwise_popcount((__vector unsigned char)__a);7572}7573 7574static inline __ATTRS_o_ai __vector unsigned char7575vec_popcnt(__vector unsigned char __a) {7576  return __builtin_elementwise_popcount(__a);7577}7578 7579static inline __ATTRS_o_ai __vector unsigned short7580vec_popcnt(__vector signed short __a) {7581  return __builtin_elementwise_popcount((__vector unsigned short)__a);7582}7583 7584static inline __ATTRS_o_ai __vector unsigned short7585vec_popcnt(__vector unsigned short __a) {7586  return __builtin_elementwise_popcount(__a);7587}7588 7589static inline __ATTRS_o_ai __vector unsigned int7590vec_popcnt(__vector signed int __a) {7591  return __builtin_elementwise_popcount((__vector unsigned int)__a);7592}7593 7594static inline __ATTRS_o_ai __vector unsigned int7595vec_popcnt(__vector unsigned int __a) {7596  return __builtin_elementwise_popcount(__a);7597}7598 7599static inline __ATTRS_o_ai __vector unsigned long long7600vec_popcnt(__vector signed long long __a) {7601  return __builtin_elementwise_popcount((__vector unsigned long long)__a);7602}7603 7604static inline __ATTRS_o_ai __vector unsigned long long7605vec_popcnt(__vector unsigned long long __a) {7606  return __builtin_elementwise_popcount(__a);7607}7608 7609/*-- vec_rl -----------------------------------------------------------------*/7610 7611static inline __ATTRS_o_ai __vector signed char7612vec_rl(__vector signed char __a, __vector unsigned char __b) {7613  return (__vector signed char)__builtin_s390_verllvb(7614    (__vector unsigned char)__a, __b);7615}7616 7617static inline __ATTRS_o_ai __vector unsigned char7618vec_rl(__vector unsigned char __a, __vector unsigned char __b) {7619  return __builtin_s390_verllvb(__a, __b);7620}7621 7622static inline __ATTRS_o_ai __vector signed short7623vec_rl(__vector signed short __a, __vector unsigned short __b) {7624  return (__vector signed short)__builtin_s390_verllvh(7625    (__vector unsigned short)__a, __b);7626}7627 7628static inline __ATTRS_o_ai __vector unsigned short7629vec_rl(__vector unsigned short __a, __vector unsigned short __b) {7630  return __builtin_s390_verllvh(__a, __b);7631}7632 7633static inline __ATTRS_o_ai __vector signed int7634vec_rl(__vector signed int __a, __vector unsigned int __b) {7635  return (__vector signed int)__builtin_s390_verllvf(7636    (__vector unsigned int)__a, __b);7637}7638 7639static inline __ATTRS_o_ai __vector unsigned int7640vec_rl(__vector unsigned int __a, __vector unsigned int __b) {7641  return __builtin_s390_verllvf(__a, __b);7642}7643 7644static inline __ATTRS_o_ai __vector signed long long7645vec_rl(__vector signed long long __a, __vector unsigned long long __b) {7646  return (__vector signed long long)__builtin_s390_verllvg(7647    (__vector unsigned long long)__a, __b);7648}7649 7650static inline __ATTRS_o_ai __vector unsigned long long7651vec_rl(__vector unsigned long long __a, __vector unsigned long long __b) {7652  return __builtin_s390_verllvg(__a, __b);7653}7654 7655/*-- vec_rli ----------------------------------------------------------------*/7656 7657static inline __ATTRS_o_ai __vector signed char7658vec_rli(__vector signed char __a, unsigned long __b) {7659  return (__vector signed char)__builtin_s390_verllb(7660    (__vector unsigned char)__a, (unsigned char)__b);7661}7662 7663static inline __ATTRS_o_ai __vector unsigned char7664vec_rli(__vector unsigned char __a, unsigned long __b) {7665  return __builtin_s390_verllb(__a, (unsigned char)__b);7666}7667 7668static inline __ATTRS_o_ai __vector signed short7669vec_rli(__vector signed short __a, unsigned long __b) {7670  return (__vector signed short)__builtin_s390_verllh(7671    (__vector unsigned short)__a, (unsigned char)__b);7672}7673 7674static inline __ATTRS_o_ai __vector unsigned short7675vec_rli(__vector unsigned short __a, unsigned long __b) {7676  return __builtin_s390_verllh(__a, (unsigned char)__b);7677}7678 7679static inline __ATTRS_o_ai __vector signed int7680vec_rli(__vector signed int __a, unsigned long __b) {7681  return (__vector signed int)__builtin_s390_verllf(7682    (__vector unsigned int)__a, (unsigned char)__b);7683}7684 7685static inline __ATTRS_o_ai __vector unsigned int7686vec_rli(__vector unsigned int __a, unsigned long __b) {7687  return __builtin_s390_verllf(__a, (unsigned char)__b);7688}7689 7690static inline __ATTRS_o_ai __vector signed long long7691vec_rli(__vector signed long long __a, unsigned long __b) {7692  return (__vector signed long long)__builtin_s390_verllg(7693    (__vector unsigned long long)__a, (unsigned char)__b);7694}7695 7696static inline __ATTRS_o_ai __vector unsigned long long7697vec_rli(__vector unsigned long long __a, unsigned long __b) {7698  return __builtin_s390_verllg(__a, (unsigned char)__b);7699}7700 7701/*-- vec_rl_mask ------------------------------------------------------------*/7702 7703extern __ATTRS_o __vector signed char7704vec_rl_mask(__vector signed char __a, __vector unsigned char __b,7705            unsigned char __c) __constant(__c);7706 7707extern __ATTRS_o __vector unsigned char7708vec_rl_mask(__vector unsigned char __a, __vector unsigned char __b,7709            unsigned char __c) __constant(__c);7710 7711extern __ATTRS_o __vector signed short7712vec_rl_mask(__vector signed short __a, __vector unsigned short __b,7713            unsigned char __c) __constant(__c);7714 7715extern __ATTRS_o __vector unsigned short7716vec_rl_mask(__vector unsigned short __a, __vector unsigned short __b,7717            unsigned char __c) __constant(__c);7718 7719extern __ATTRS_o __vector signed int7720vec_rl_mask(__vector signed int __a, __vector unsigned int __b,7721            unsigned char __c) __constant(__c);7722 7723extern __ATTRS_o __vector unsigned int7724vec_rl_mask(__vector unsigned int __a, __vector unsigned int __b,7725            unsigned char __c) __constant(__c);7726 7727extern __ATTRS_o __vector signed long long7728vec_rl_mask(__vector signed long long __a, __vector unsigned long long __b,7729            unsigned char __c) __constant(__c);7730 7731extern __ATTRS_o __vector unsigned long long7732vec_rl_mask(__vector unsigned long long __a, __vector unsigned long long __b,7733            unsigned char __c) __constant(__c);7734 7735#define vec_rl_mask(X, Y, Z) ((__typeof__((vec_rl_mask)((X), (Y), (Z)))) \7736  __extension__ ({ \7737    __vector unsigned char __res; \7738    __vector unsigned char __x = (__vector unsigned char)(X); \7739    __vector unsigned char __y = (__vector unsigned char)(Y); \7740    switch (sizeof ((X)[0])) { \7741    case 1: __res = (__vector unsigned char) __builtin_s390_verimb( \7742             (__vector unsigned char)__x, (__vector unsigned char)__x, \7743             (__vector unsigned char)__y, (Z)); break; \7744    case 2: __res = (__vector unsigned char) __builtin_s390_verimh( \7745             (__vector unsigned short)__x, (__vector unsigned short)__x, \7746             (__vector unsigned short)__y, (Z)); break; \7747    case 4: __res = (__vector unsigned char) __builtin_s390_verimf( \7748             (__vector unsigned int)__x, (__vector unsigned int)__x, \7749             (__vector unsigned int)__y, (Z)); break; \7750    default: __res = (__vector unsigned char) __builtin_s390_verimg( \7751             (__vector unsigned long long)__x, (__vector unsigned long long)__x, \7752             (__vector unsigned long long)__y, (Z)); break; \7753    } __res; }))7754 7755/*-- vec_sll ----------------------------------------------------------------*/7756 7757static inline __ATTRS_o_ai __vector signed char7758vec_sll(__vector signed char __a, __vector unsigned char __b) {7759  return (__vector signed char)__builtin_s390_vsl(7760    (__vector unsigned char)__a, __b);7761}7762 7763// This prototype is deprecated.7764static inline __ATTRS_o_ai __vector signed char7765vec_sll(__vector signed char __a, __vector unsigned short __b) {7766  return (__vector signed char)__builtin_s390_vsl(7767    (__vector unsigned char)__a, (__vector unsigned char)__b);7768}7769 7770// This prototype is deprecated.7771static inline __ATTRS_o_ai __vector signed char7772vec_sll(__vector signed char __a, __vector unsigned int __b) {7773  return (__vector signed char)__builtin_s390_vsl(7774    (__vector unsigned char)__a, (__vector unsigned char)__b);7775}7776 7777// This prototype is deprecated.7778static inline __ATTRS_o_ai __vector __bool char7779vec_sll(__vector __bool char __a, __vector unsigned char __b) {7780  return (__vector __bool char)__builtin_s390_vsl(7781    (__vector unsigned char)__a, __b);7782}7783 7784// This prototype is deprecated.7785static inline __ATTRS_o_ai __vector __bool char7786vec_sll(__vector __bool char __a, __vector unsigned short __b) {7787  return (__vector __bool char)__builtin_s390_vsl(7788    (__vector unsigned char)__a, (__vector unsigned char)__b);7789}7790 7791// This prototype is deprecated.7792static inline __ATTRS_o_ai __vector __bool char7793vec_sll(__vector __bool char __a, __vector unsigned int __b) {7794  return (__vector __bool char)__builtin_s390_vsl(7795    (__vector unsigned char)__a, (__vector unsigned char)__b);7796}7797 7798static inline __ATTRS_o_ai __vector unsigned char7799vec_sll(__vector unsigned char __a, __vector unsigned char __b) {7800  return __builtin_s390_vsl(__a, __b);7801}7802 7803// This prototype is deprecated.7804static inline __ATTRS_o_ai __vector unsigned char7805vec_sll(__vector unsigned char __a, __vector unsigned short __b) {7806  return __builtin_s390_vsl(__a, (__vector unsigned char)__b);7807}7808 7809// This prototype is deprecated.7810static inline __ATTRS_o_ai __vector unsigned char7811vec_sll(__vector unsigned char __a, __vector unsigned int __b) {7812  return __builtin_s390_vsl(__a, (__vector unsigned char)__b);7813}7814 7815static inline __ATTRS_o_ai __vector signed short7816vec_sll(__vector signed short __a, __vector unsigned char __b) {7817  return (__vector signed short)__builtin_s390_vsl(7818    (__vector unsigned char)__a, __b);7819}7820 7821// This prototype is deprecated.7822static inline __ATTRS_o_ai __vector signed short7823vec_sll(__vector signed short __a, __vector unsigned short __b) {7824  return (__vector signed short)__builtin_s390_vsl(7825    (__vector unsigned char)__a, (__vector unsigned char)__b);7826}7827 7828// This prototype is deprecated.7829static inline __ATTRS_o_ai __vector signed short7830vec_sll(__vector signed short __a, __vector unsigned int __b) {7831  return (__vector signed short)__builtin_s390_vsl(7832    (__vector unsigned char)__a, (__vector unsigned char)__b);7833}7834 7835// This prototype is deprecated.7836static inline __ATTRS_o_ai __vector __bool short7837vec_sll(__vector __bool short __a, __vector unsigned char __b) {7838  return (__vector __bool short)__builtin_s390_vsl(7839    (__vector unsigned char)__a, __b);7840}7841 7842// This prototype is deprecated.7843static inline __ATTRS_o_ai __vector __bool short7844vec_sll(__vector __bool short __a, __vector unsigned short __b) {7845  return (__vector __bool short)__builtin_s390_vsl(7846    (__vector unsigned char)__a, (__vector unsigned char)__b);7847}7848 7849// This prototype is deprecated.7850static inline __ATTRS_o_ai __vector __bool short7851vec_sll(__vector __bool short __a, __vector unsigned int __b) {7852  return (__vector __bool short)__builtin_s390_vsl(7853    (__vector unsigned char)__a, (__vector unsigned char)__b);7854}7855 7856static inline __ATTRS_o_ai __vector unsigned short7857vec_sll(__vector unsigned short __a, __vector unsigned char __b) {7858  return (__vector unsigned short)__builtin_s390_vsl(7859    (__vector unsigned char)__a, __b);7860}7861 7862// This prototype is deprecated.7863static inline __ATTRS_o_ai __vector unsigned short7864vec_sll(__vector unsigned short __a, __vector unsigned short __b) {7865  return (__vector unsigned short)__builtin_s390_vsl(7866    (__vector unsigned char)__a, (__vector unsigned char)__b);7867}7868 7869// This prototype is deprecated.7870static inline __ATTRS_o_ai __vector unsigned short7871vec_sll(__vector unsigned short __a, __vector unsigned int __b) {7872  return (__vector unsigned short)__builtin_s390_vsl(7873    (__vector unsigned char)__a, (__vector unsigned char)__b);7874}7875 7876static inline __ATTRS_o_ai __vector signed int7877vec_sll(__vector signed int __a, __vector unsigned char __b) {7878  return (__vector signed int)__builtin_s390_vsl(7879    (__vector unsigned char)__a, __b);7880}7881 7882// This prototype is deprecated.7883static inline __ATTRS_o_ai __vector signed int7884vec_sll(__vector signed int __a, __vector unsigned short __b) {7885  return (__vector signed int)__builtin_s390_vsl(7886    (__vector unsigned char)__a, (__vector unsigned char)__b);7887}7888 7889// This prototype is deprecated.7890static inline __ATTRS_o_ai __vector signed int7891vec_sll(__vector signed int __a, __vector unsigned int __b) {7892  return (__vector signed int)__builtin_s390_vsl(7893    (__vector unsigned char)__a, (__vector unsigned char)__b);7894}7895 7896// This prototype is deprecated.7897static inline __ATTRS_o_ai __vector __bool int7898vec_sll(__vector __bool int __a, __vector unsigned char __b) {7899  return (__vector __bool int)__builtin_s390_vsl(7900    (__vector unsigned char)__a, __b);7901}7902 7903// This prototype is deprecated.7904static inline __ATTRS_o_ai __vector __bool int7905vec_sll(__vector __bool int __a, __vector unsigned short __b) {7906  return (__vector __bool int)__builtin_s390_vsl(7907    (__vector unsigned char)__a, (__vector unsigned char)__b);7908}7909 7910// This prototype is deprecated.7911static inline __ATTRS_o_ai __vector __bool int7912vec_sll(__vector __bool int __a, __vector unsigned int __b) {7913  return (__vector __bool int)__builtin_s390_vsl(7914    (__vector unsigned char)__a, (__vector unsigned char)__b);7915}7916 7917static inline __ATTRS_o_ai __vector unsigned int7918vec_sll(__vector unsigned int __a, __vector unsigned char __b) {7919  return (__vector unsigned int)__builtin_s390_vsl(7920    (__vector unsigned char)__a, __b);7921}7922 7923// This prototype is deprecated.7924static inline __ATTRS_o_ai __vector unsigned int7925vec_sll(__vector unsigned int __a, __vector unsigned short __b) {7926  return (__vector unsigned int)__builtin_s390_vsl(7927    (__vector unsigned char)__a, (__vector unsigned char)__b);7928}7929 7930// This prototype is deprecated.7931static inline __ATTRS_o_ai __vector unsigned int7932vec_sll(__vector unsigned int __a, __vector unsigned int __b) {7933  return (__vector unsigned int)__builtin_s390_vsl(7934    (__vector unsigned char)__a, (__vector unsigned char)__b);7935}7936 7937static inline __ATTRS_o_ai __vector signed long long7938vec_sll(__vector signed long long __a, __vector unsigned char __b) {7939  return (__vector signed long long)__builtin_s390_vsl(7940    (__vector unsigned char)__a, __b);7941}7942 7943// This prototype is deprecated.7944static inline __ATTRS_o_ai __vector signed long long7945vec_sll(__vector signed long long __a, __vector unsigned short __b) {7946  return (__vector signed long long)__builtin_s390_vsl(7947    (__vector unsigned char)__a, (__vector unsigned char)__b);7948}7949 7950// This prototype is deprecated.7951static inline __ATTRS_o_ai __vector signed long long7952vec_sll(__vector signed long long __a, __vector unsigned int __b) {7953  return (__vector signed long long)__builtin_s390_vsl(7954    (__vector unsigned char)__a, (__vector unsigned char)__b);7955}7956 7957// This prototype is deprecated.7958static inline __ATTRS_o_ai __vector __bool long long7959vec_sll(__vector __bool long long __a, __vector unsigned char __b) {7960  return (__vector __bool long long)__builtin_s390_vsl(7961    (__vector unsigned char)__a, __b);7962}7963 7964// This prototype is deprecated.7965static inline __ATTRS_o_ai __vector __bool long long7966vec_sll(__vector __bool long long __a, __vector unsigned short __b) {7967  return (__vector __bool long long)__builtin_s390_vsl(7968    (__vector unsigned char)__a, (__vector unsigned char)__b);7969}7970 7971// This prototype is deprecated.7972static inline __ATTRS_o_ai __vector __bool long long7973vec_sll(__vector __bool long long __a, __vector unsigned int __b) {7974  return (__vector __bool long long)__builtin_s390_vsl(7975    (__vector unsigned char)__a, (__vector unsigned char)__b);7976}7977 7978static inline __ATTRS_o_ai __vector unsigned long long7979vec_sll(__vector unsigned long long __a, __vector unsigned char __b) {7980  return (__vector unsigned long long)__builtin_s390_vsl(7981    (__vector unsigned char)__a, __b);7982}7983 7984// This prototype is deprecated.7985static inline __ATTRS_o_ai __vector unsigned long long7986vec_sll(__vector unsigned long long __a, __vector unsigned short __b) {7987  return (__vector unsigned long long)__builtin_s390_vsl(7988    (__vector unsigned char)__a, (__vector unsigned char)__b);7989}7990 7991// This prototype is deprecated.7992static inline __ATTRS_o_ai __vector unsigned long long7993vec_sll(__vector unsigned long long __a, __vector unsigned int __b) {7994  return (__vector unsigned long long)__builtin_s390_vsl(7995    (__vector unsigned char)__a, (__vector unsigned char)__b);7996}7997 7998static inline __ATTRS_o_ai __vector signed __int1287999vec_sll(__vector signed __int128 __a, __vector unsigned char __b) {8000  return (__vector signed __int128)__builtin_s390_vsl(8001    (__vector unsigned char)__a, __b);8002}8003 8004static inline __ATTRS_o_ai __vector unsigned __int1288005vec_sll(__vector unsigned __int128 __a, __vector unsigned char __b) {8006  return (__vector unsigned __int128)__builtin_s390_vsl(8007    (__vector unsigned char)__a, __b);8008}8009 8010/*-- vec_slb ----------------------------------------------------------------*/8011 8012// This prototype is deprecated.8013static inline __ATTRS_o_ai __vector signed char8014vec_slb(__vector signed char __a, __vector signed char __b) {8015  return (__vector signed char)__builtin_s390_vslb(8016    (__vector unsigned char)__a, (__vector unsigned char)__b);8017}8018 8019static inline __ATTRS_o_ai __vector signed char8020vec_slb(__vector signed char __a, __vector unsigned char __b) {8021  return (__vector signed char)__builtin_s390_vslb(8022    (__vector unsigned char)__a, __b);8023}8024 8025// This prototype is deprecated.8026static inline __ATTRS_o_ai __vector unsigned char8027vec_slb(__vector unsigned char __a, __vector signed char __b) {8028  return __builtin_s390_vslb(__a, (__vector unsigned char)__b);8029}8030 8031static inline __ATTRS_o_ai __vector unsigned char8032vec_slb(__vector unsigned char __a, __vector unsigned char __b) {8033  return __builtin_s390_vslb(__a, __b);8034}8035 8036// This prototype is deprecated.8037static inline __ATTRS_o_ai __vector signed short8038vec_slb(__vector signed short __a, __vector signed short __b) {8039  return (__vector signed short)__builtin_s390_vslb(8040    (__vector unsigned char)__a, (__vector unsigned char)__b);8041}8042 8043// This prototype is deprecated.8044static inline __ATTRS_o_ai __vector signed short8045vec_slb(__vector signed short __a, __vector unsigned short __b) {8046  return (__vector signed short)__builtin_s390_vslb(8047    (__vector unsigned char)__a, (__vector unsigned char)__b);8048}8049 8050static inline __ATTRS_o_ai __vector signed short8051vec_slb(__vector signed short __a, __vector unsigned char __b) {8052  return (__vector signed short)__builtin_s390_vslb(8053    (__vector unsigned char)__a, __b);8054}8055 8056// This prototype is deprecated.8057static inline __ATTRS_o_ai __vector unsigned short8058vec_slb(__vector unsigned short __a, __vector signed short __b) {8059  return (__vector unsigned short)__builtin_s390_vslb(8060    (__vector unsigned char)__a, (__vector unsigned char)__b);8061}8062 8063// This prototype is deprecated.8064static inline __ATTRS_o_ai __vector unsigned short8065vec_slb(__vector unsigned short __a, __vector unsigned short __b) {8066  return (__vector unsigned short)__builtin_s390_vslb(8067    (__vector unsigned char)__a, (__vector unsigned char)__b);8068}8069 8070static inline __ATTRS_o_ai __vector unsigned short8071vec_slb(__vector unsigned short __a, __vector unsigned char __b) {8072  return (__vector unsigned short)__builtin_s390_vslb(8073    (__vector unsigned char)__a, __b);8074}8075 8076// This prototype is deprecated.8077static inline __ATTRS_o_ai __vector signed int8078vec_slb(__vector signed int __a, __vector signed int __b) {8079  return (__vector signed int)__builtin_s390_vslb(8080    (__vector unsigned char)__a, (__vector unsigned char)__b);8081}8082 8083// This prototype is deprecated.8084static inline __ATTRS_o_ai __vector signed int8085vec_slb(__vector signed int __a, __vector unsigned int __b) {8086  return (__vector signed int)__builtin_s390_vslb(8087    (__vector unsigned char)__a, (__vector unsigned char)__b);8088}8089 8090static inline __ATTRS_o_ai __vector signed int8091vec_slb(__vector signed int __a, __vector unsigned char __b) {8092  return (__vector signed int)__builtin_s390_vslb(8093    (__vector unsigned char)__a, __b);8094}8095 8096// This prototype is deprecated.8097static inline __ATTRS_o_ai __vector unsigned int8098vec_slb(__vector unsigned int __a, __vector signed int __b) {8099  return (__vector unsigned int)__builtin_s390_vslb(8100    (__vector unsigned char)__a, (__vector unsigned char)__b);8101}8102 8103// This prototype is deprecated.8104static inline __ATTRS_o_ai __vector unsigned int8105vec_slb(__vector unsigned int __a, __vector unsigned int __b) {8106  return (__vector unsigned int)__builtin_s390_vslb(8107    (__vector unsigned char)__a, (__vector unsigned char)__b);8108}8109 8110static inline __ATTRS_o_ai __vector unsigned int8111vec_slb(__vector unsigned int __a, __vector unsigned char __b) {8112  return (__vector unsigned int)__builtin_s390_vslb(8113    (__vector unsigned char)__a, __b);8114}8115 8116// This prototype is deprecated.8117static inline __ATTRS_o_ai __vector signed long long8118vec_slb(__vector signed long long __a, __vector signed long long __b) {8119  return (__vector signed long long)__builtin_s390_vslb(8120    (__vector unsigned char)__a, (__vector unsigned char)__b);8121}8122 8123// This prototype is deprecated.8124static inline __ATTRS_o_ai __vector signed long long8125vec_slb(__vector signed long long __a, __vector unsigned long long __b) {8126  return (__vector signed long long)__builtin_s390_vslb(8127    (__vector unsigned char)__a, (__vector unsigned char)__b);8128}8129 8130static inline __ATTRS_o_ai __vector signed long long8131vec_slb(__vector signed long long __a, __vector unsigned char __b) {8132  return (__vector signed long long)__builtin_s390_vslb(8133    (__vector unsigned char)__a, __b);8134}8135 8136// This prototype is deprecated.8137static inline __ATTRS_o_ai __vector unsigned long long8138vec_slb(__vector unsigned long long __a, __vector signed long long __b) {8139  return (__vector unsigned long long)__builtin_s390_vslb(8140    (__vector unsigned char)__a, (__vector unsigned char)__b);8141}8142 8143// This prototype is deprecated.8144static inline __ATTRS_o_ai __vector unsigned long long8145vec_slb(__vector unsigned long long __a, __vector unsigned long long __b) {8146  return (__vector unsigned long long)__builtin_s390_vslb(8147    (__vector unsigned char)__a, (__vector unsigned char)__b);8148}8149 8150static inline __ATTRS_o_ai __vector unsigned long long8151vec_slb(__vector unsigned long long __a, __vector unsigned char __b) {8152  return (__vector unsigned long long)__builtin_s390_vslb(8153    (__vector unsigned char)__a, __b);8154}8155 8156static inline __ATTRS_o_ai __vector signed __int1288157vec_slb(__vector signed __int128 __a, __vector unsigned char __b) {8158  return (__vector signed __int128)__builtin_s390_vslb(8159    (__vector unsigned char)__a, __b);8160}8161 8162static inline __ATTRS_o_ai __vector unsigned __int1288163vec_slb(__vector unsigned __int128 __a, __vector unsigned char __b) {8164  return (__vector unsigned __int128)__builtin_s390_vslb(8165    (__vector unsigned char)__a, __b);8166}8167 8168#if __ARCH__ >= 128169// This prototype is deprecated.8170static inline __ATTRS_o_ai __vector float8171vec_slb(__vector float __a, __vector signed int __b) {8172  return (__vector float)__builtin_s390_vslb(8173    (__vector unsigned char)__a, (__vector unsigned char)__b);8174}8175 8176// This prototype is deprecated.8177static inline __ATTRS_o_ai __vector float8178vec_slb(__vector float __a, __vector unsigned int __b) {8179  return (__vector float)__builtin_s390_vslb(8180    (__vector unsigned char)__a, (__vector unsigned char)__b);8181}8182 8183static inline __ATTRS_o_ai __vector float8184vec_slb(__vector float __a, __vector unsigned char __b) {8185  return (__vector float)__builtin_s390_vslb(8186    (__vector unsigned char)__a, __b);8187}8188#endif8189 8190// This prototype is deprecated.8191static inline __ATTRS_o_ai __vector double8192vec_slb(__vector double __a, __vector signed long long __b) {8193  return (__vector double)__builtin_s390_vslb(8194    (__vector unsigned char)__a, (__vector unsigned char)__b);8195}8196 8197// This prototype is deprecated.8198static inline __ATTRS_o_ai __vector double8199vec_slb(__vector double __a, __vector unsigned long long __b) {8200  return (__vector double)__builtin_s390_vslb(8201    (__vector unsigned char)__a, (__vector unsigned char)__b);8202}8203 8204static inline __ATTRS_o_ai __vector double8205vec_slb(__vector double __a, __vector unsigned char __b) {8206  return (__vector double)__builtin_s390_vslb(8207    (__vector unsigned char)__a, __b);8208}8209 8210/*-- vec_sld ----------------------------------------------------------------*/8211 8212extern __ATTRS_o __vector signed char8213vec_sld(__vector signed char __a, __vector signed char __b, int __c)8214  __constant_range(__c, 0, 15);8215 8216// This prototype is deprecated.8217extern __ATTRS_o __vector __bool char8218vec_sld(__vector __bool char __a, __vector __bool char __b, int __c)8219  __constant_range(__c, 0, 15);8220 8221extern __ATTRS_o __vector unsigned char8222vec_sld(__vector unsigned char __a, __vector unsigned char __b, int __c)8223  __constant_range(__c, 0, 15);8224 8225extern __ATTRS_o __vector signed short8226vec_sld(__vector signed short __a, __vector signed short __b, int __c)8227  __constant_range(__c, 0, 15);8228 8229// This prototype is deprecated.8230extern __ATTRS_o __vector __bool short8231vec_sld(__vector __bool short __a, __vector __bool short __b, int __c)8232  __constant_range(__c, 0, 15);8233 8234extern __ATTRS_o __vector unsigned short8235vec_sld(__vector unsigned short __a, __vector unsigned short __b, int __c)8236  __constant_range(__c, 0, 15);8237 8238extern __ATTRS_o __vector signed int8239vec_sld(__vector signed int __a, __vector signed int __b, int __c)8240  __constant_range(__c, 0, 15);8241 8242// This prototype is deprecated.8243extern __ATTRS_o __vector __bool int8244vec_sld(__vector __bool int __a, __vector __bool int __b, int __c)8245  __constant_range(__c, 0, 15);8246 8247extern __ATTRS_o __vector unsigned int8248vec_sld(__vector unsigned int __a, __vector unsigned int __b, int __c)8249  __constant_range(__c, 0, 15);8250 8251extern __ATTRS_o __vector signed long long8252vec_sld(__vector signed long long __a, __vector signed long long __b, int __c)8253  __constant_range(__c, 0, 15);8254 8255// This prototype is deprecated.8256extern __ATTRS_o __vector __bool long long8257vec_sld(__vector __bool long long __a, __vector __bool long long __b, int __c)8258  __constant_range(__c, 0, 15);8259 8260extern __ATTRS_o __vector unsigned long long8261vec_sld(__vector unsigned long long __a, __vector unsigned long long __b,8262        int __c)8263  __constant_range(__c, 0, 15);8264 8265extern __ATTRS_o __vector signed __int1288266vec_sld(__vector signed __int128 __a, __vector signed __int128 __b, int __c)8267  __constant_range(__c, 0, 15);8268 8269extern __ATTRS_o __vector unsigned __int1288270vec_sld(__vector unsigned __int128 __a, __vector unsigned __int128 __b,8271        int __c)8272  __constant_range(__c, 0, 15);8273 8274#if __ARCH__ >= 128275extern __ATTRS_o __vector float8276vec_sld(__vector float __a, __vector float __b, int __c)8277  __constant_range(__c, 0, 15);8278#endif8279 8280extern __ATTRS_o __vector double8281vec_sld(__vector double __a, __vector double __b, int __c)8282  __constant_range(__c, 0, 15);8283 8284#define vec_sld(X, Y, Z) ((__typeof__((vec_sld)((X), (Y), (Z)))) \8285  __builtin_s390_vsldb((__vector unsigned char)(X), \8286                       (__vector unsigned char)(Y), (Z)))8287 8288/*-- vec_sldw ---------------------------------------------------------------*/8289 8290extern __ATTRS_o __vector signed char8291vec_sldw(__vector signed char __a, __vector signed char __b, int __c)8292  __constant_range(__c, 0, 3);8293 8294extern __ATTRS_o __vector unsigned char8295vec_sldw(__vector unsigned char __a, __vector unsigned char __b, int __c)8296  __constant_range(__c, 0, 3);8297 8298extern __ATTRS_o __vector signed short8299vec_sldw(__vector signed short __a, __vector signed short __b, int __c)8300  __constant_range(__c, 0, 3);8301 8302extern __ATTRS_o __vector unsigned short8303vec_sldw(__vector unsigned short __a, __vector unsigned short __b, int __c)8304  __constant_range(__c, 0, 3);8305 8306extern __ATTRS_o __vector signed int8307vec_sldw(__vector signed int __a, __vector signed int __b, int __c)8308  __constant_range(__c, 0, 3);8309 8310extern __ATTRS_o __vector unsigned int8311vec_sldw(__vector unsigned int __a, __vector unsigned int __b, int __c)8312  __constant_range(__c, 0, 3);8313 8314extern __ATTRS_o __vector signed long long8315vec_sldw(__vector signed long long __a, __vector signed long long __b, int __c)8316  __constant_range(__c, 0, 3);8317 8318extern __ATTRS_o __vector unsigned long long8319vec_sldw(__vector unsigned long long __a, __vector unsigned long long __b,8320         int __c)8321  __constant_range(__c, 0, 3);8322 8323extern __ATTRS_o __vector signed __int1288324vec_sldw(__vector signed __int128 __a, __vector signed __int128 __b, int __c)8325  __constant_range(__c, 0, 3);8326 8327extern __ATTRS_o __vector unsigned __int1288328vec_sldw(__vector unsigned __int128 __a, __vector unsigned __int128 __b,8329         int __c)8330  __constant_range(__c, 0, 3);8331 8332// This prototype is deprecated.8333extern __ATTRS_o __vector double8334vec_sldw(__vector double __a, __vector double __b, int __c)8335  __constant_range(__c, 0, 3);8336 8337#define vec_sldw(X, Y, Z) ((__typeof__((vec_sldw)((X), (Y), (Z)))) \8338  __builtin_s390_vsldb((__vector unsigned char)(X), \8339                       (__vector unsigned char)(Y), (Z) * 4))8340 8341/*-- vec_sldb ---------------------------------------------------------------*/8342 8343#if __ARCH__ >= 138344 8345extern __ATTRS_o __vector signed char8346vec_sldb(__vector signed char __a, __vector signed char __b, int __c)8347  __constant_range(__c, 0, 7);8348 8349extern __ATTRS_o __vector unsigned char8350vec_sldb(__vector unsigned char __a, __vector unsigned char __b, int __c)8351  __constant_range(__c, 0, 7);8352 8353extern __ATTRS_o __vector signed short8354vec_sldb(__vector signed short __a, __vector signed short __b, int __c)8355  __constant_range(__c, 0, 7);8356 8357extern __ATTRS_o __vector unsigned short8358vec_sldb(__vector unsigned short __a, __vector unsigned short __b, int __c)8359  __constant_range(__c, 0, 7);8360 8361extern __ATTRS_o __vector signed int8362vec_sldb(__vector signed int __a, __vector signed int __b, int __c)8363  __constant_range(__c, 0, 7);8364 8365extern __ATTRS_o __vector unsigned int8366vec_sldb(__vector unsigned int __a, __vector unsigned int __b, int __c)8367  __constant_range(__c, 0, 7);8368 8369extern __ATTRS_o __vector signed long long8370vec_sldb(__vector signed long long __a, __vector signed long long __b, int __c)8371  __constant_range(__c, 0, 7);8372 8373extern __ATTRS_o __vector unsigned long long8374vec_sldb(__vector unsigned long long __a, __vector unsigned long long __b,8375         int __c)8376  __constant_range(__c, 0, 7);8377 8378extern __ATTRS_o __vector signed __int1288379vec_sldb(__vector signed __int128 __a, __vector signed __int128 __b, int __c)8380  __constant_range(__c, 0, 7);8381 8382extern __ATTRS_o __vector unsigned __int1288383vec_sldb(__vector unsigned __int128 __a, __vector unsigned __int128 __b,8384         int __c)8385  __constant_range(__c, 0, 7);8386 8387extern __ATTRS_o __vector float8388vec_sldb(__vector float __a, __vector float __b, int __c)8389  __constant_range(__c, 0, 7);8390 8391extern __ATTRS_o __vector double8392vec_sldb(__vector double __a, __vector double __b, int __c)8393  __constant_range(__c, 0, 7);8394 8395#define vec_sldb(X, Y, Z) ((__typeof__((vec_sldb)((X), (Y), (Z)))) \8396  __builtin_s390_vsld((__vector unsigned char)(X), \8397                      (__vector unsigned char)(Y), (Z)))8398 8399#endif8400 8401/*-- vec_sral ---------------------------------------------------------------*/8402 8403static inline __ATTRS_o_ai __vector signed char8404vec_sral(__vector signed char __a, __vector unsigned char __b) {8405  return (__vector signed char)__builtin_s390_vsra(8406    (__vector unsigned char)__a, __b);8407}8408 8409// This prototype is deprecated.8410static inline __ATTRS_o_ai __vector signed char8411vec_sral(__vector signed char __a, __vector unsigned short __b) {8412  return (__vector signed char)__builtin_s390_vsra(8413    (__vector unsigned char)__a, (__vector unsigned char)__b);8414}8415 8416// This prototype is deprecated.8417static inline __ATTRS_o_ai __vector signed char8418vec_sral(__vector signed char __a, __vector unsigned int __b) {8419  return (__vector signed char)__builtin_s390_vsra(8420    (__vector unsigned char)__a, (__vector unsigned char)__b);8421}8422 8423// This prototype is deprecated.8424static inline __ATTRS_o_ai __vector __bool char8425vec_sral(__vector __bool char __a, __vector unsigned char __b) {8426  return (__vector __bool char)__builtin_s390_vsra(8427    (__vector unsigned char)__a, __b);8428}8429 8430// This prototype is deprecated.8431static inline __ATTRS_o_ai __vector __bool char8432vec_sral(__vector __bool char __a, __vector unsigned short __b) {8433  return (__vector __bool char)__builtin_s390_vsra(8434    (__vector unsigned char)__a, (__vector unsigned char)__b);8435}8436 8437// This prototype is deprecated.8438static inline __ATTRS_o_ai __vector __bool char8439vec_sral(__vector __bool char __a, __vector unsigned int __b) {8440  return (__vector __bool char)__builtin_s390_vsra(8441    (__vector unsigned char)__a, (__vector unsigned char)__b);8442}8443 8444static inline __ATTRS_o_ai __vector unsigned char8445vec_sral(__vector unsigned char __a, __vector unsigned char __b) {8446  return __builtin_s390_vsra(__a, __b);8447}8448 8449// This prototype is deprecated.8450static inline __ATTRS_o_ai __vector unsigned char8451vec_sral(__vector unsigned char __a, __vector unsigned short __b) {8452  return __builtin_s390_vsra(__a, (__vector unsigned char)__b);8453}8454 8455// This prototype is deprecated.8456static inline __ATTRS_o_ai __vector unsigned char8457vec_sral(__vector unsigned char __a, __vector unsigned int __b) {8458  return __builtin_s390_vsra(__a, (__vector unsigned char)__b);8459}8460 8461static inline __ATTRS_o_ai __vector signed short8462vec_sral(__vector signed short __a, __vector unsigned char __b) {8463  return (__vector signed short)__builtin_s390_vsra(8464    (__vector unsigned char)__a, __b);8465}8466 8467// This prototype is deprecated.8468static inline __ATTRS_o_ai __vector signed short8469vec_sral(__vector signed short __a, __vector unsigned short __b) {8470  return (__vector signed short)__builtin_s390_vsra(8471    (__vector unsigned char)__a, (__vector unsigned char)__b);8472}8473 8474// This prototype is deprecated.8475static inline __ATTRS_o_ai __vector signed short8476vec_sral(__vector signed short __a, __vector unsigned int __b) {8477  return (__vector signed short)__builtin_s390_vsra(8478    (__vector unsigned char)__a, (__vector unsigned char)__b);8479}8480 8481// This prototype is deprecated.8482static inline __ATTRS_o_ai __vector __bool short8483vec_sral(__vector __bool short __a, __vector unsigned char __b) {8484  return (__vector __bool short)__builtin_s390_vsra(8485    (__vector unsigned char)__a, __b);8486}8487 8488// This prototype is deprecated.8489static inline __ATTRS_o_ai __vector __bool short8490vec_sral(__vector __bool short __a, __vector unsigned short __b) {8491  return (__vector __bool short)__builtin_s390_vsra(8492    (__vector unsigned char)__a, (__vector unsigned char)__b);8493}8494 8495// This prototype is deprecated.8496static inline __ATTRS_o_ai __vector __bool short8497vec_sral(__vector __bool short __a, __vector unsigned int __b) {8498  return (__vector __bool short)__builtin_s390_vsra(8499    (__vector unsigned char)__a, (__vector unsigned char)__b);8500}8501 8502static inline __ATTRS_o_ai __vector unsigned short8503vec_sral(__vector unsigned short __a, __vector unsigned char __b) {8504  return (__vector unsigned short)__builtin_s390_vsra(8505    (__vector unsigned char)__a, __b);8506}8507 8508// This prototype is deprecated.8509static inline __ATTRS_o_ai __vector unsigned short8510vec_sral(__vector unsigned short __a, __vector unsigned short __b) {8511  return (__vector unsigned short)__builtin_s390_vsra(8512    (__vector unsigned char)__a, (__vector unsigned char)__b);8513}8514 8515// This prototype is deprecated.8516static inline __ATTRS_o_ai __vector unsigned short8517vec_sral(__vector unsigned short __a, __vector unsigned int __b) {8518  return (__vector unsigned short)__builtin_s390_vsra(8519    (__vector unsigned char)__a, (__vector unsigned char)__b);8520}8521 8522static inline __ATTRS_o_ai __vector signed int8523vec_sral(__vector signed int __a, __vector unsigned char __b) {8524  return (__vector signed int)__builtin_s390_vsra(8525    (__vector unsigned char)__a, __b);8526}8527 8528// This prototype is deprecated.8529static inline __ATTRS_o_ai __vector signed int8530vec_sral(__vector signed int __a, __vector unsigned short __b) {8531  return (__vector signed int)__builtin_s390_vsra(8532    (__vector unsigned char)__a, (__vector unsigned char)__b);8533}8534 8535// This prototype is deprecated.8536static inline __ATTRS_o_ai __vector signed int8537vec_sral(__vector signed int __a, __vector unsigned int __b) {8538  return (__vector signed int)__builtin_s390_vsra(8539    (__vector unsigned char)__a, (__vector unsigned char)__b);8540}8541 8542// This prototype is deprecated.8543static inline __ATTRS_o_ai __vector __bool int8544vec_sral(__vector __bool int __a, __vector unsigned char __b) {8545  return (__vector __bool int)__builtin_s390_vsra(8546    (__vector unsigned char)__a, __b);8547}8548 8549// This prototype is deprecated.8550static inline __ATTRS_o_ai __vector __bool int8551vec_sral(__vector __bool int __a, __vector unsigned short __b) {8552  return (__vector __bool int)__builtin_s390_vsra(8553    (__vector unsigned char)__a, (__vector unsigned char)__b);8554}8555 8556// This prototype is deprecated.8557static inline __ATTRS_o_ai __vector __bool int8558vec_sral(__vector __bool int __a, __vector unsigned int __b) {8559  return (__vector __bool int)__builtin_s390_vsra(8560    (__vector unsigned char)__a, (__vector unsigned char)__b);8561}8562 8563static inline __ATTRS_o_ai __vector unsigned int8564vec_sral(__vector unsigned int __a, __vector unsigned char __b) {8565  return (__vector unsigned int)__builtin_s390_vsra(8566    (__vector unsigned char)__a, __b);8567}8568 8569// This prototype is deprecated.8570static inline __ATTRS_o_ai __vector unsigned int8571vec_sral(__vector unsigned int __a, __vector unsigned short __b) {8572  return (__vector unsigned int)__builtin_s390_vsra(8573    (__vector unsigned char)__a, (__vector unsigned char)__b);8574}8575 8576// This prototype is deprecated.8577static inline __ATTRS_o_ai __vector unsigned int8578vec_sral(__vector unsigned int __a, __vector unsigned int __b) {8579  return (__vector unsigned int)__builtin_s390_vsra(8580    (__vector unsigned char)__a, (__vector unsigned char)__b);8581}8582 8583static inline __ATTRS_o_ai __vector signed long long8584vec_sral(__vector signed long long __a, __vector unsigned char __b) {8585  return (__vector signed long long)__builtin_s390_vsra(8586    (__vector unsigned char)__a, __b);8587}8588 8589// This prototype is deprecated.8590static inline __ATTRS_o_ai __vector signed long long8591vec_sral(__vector signed long long __a, __vector unsigned short __b) {8592  return (__vector signed long long)__builtin_s390_vsra(8593    (__vector unsigned char)__a, (__vector unsigned char)__b);8594}8595 8596// This prototype is deprecated.8597static inline __ATTRS_o_ai __vector signed long long8598vec_sral(__vector signed long long __a, __vector unsigned int __b) {8599  return (__vector signed long long)__builtin_s390_vsra(8600    (__vector unsigned char)__a, (__vector unsigned char)__b);8601}8602 8603// This prototype is deprecated.8604static inline __ATTRS_o_ai __vector __bool long long8605vec_sral(__vector __bool long long __a, __vector unsigned char __b) {8606  return (__vector __bool long long)__builtin_s390_vsra(8607    (__vector unsigned char)__a, __b);8608}8609 8610// This prototype is deprecated.8611static inline __ATTRS_o_ai __vector __bool long long8612vec_sral(__vector __bool long long __a, __vector unsigned short __b) {8613  return (__vector __bool long long)__builtin_s390_vsra(8614    (__vector unsigned char)__a, (__vector unsigned char)__b);8615}8616 8617// This prototype is deprecated.8618static inline __ATTRS_o_ai __vector __bool long long8619vec_sral(__vector __bool long long __a, __vector unsigned int __b) {8620  return (__vector __bool long long)__builtin_s390_vsra(8621    (__vector unsigned char)__a, (__vector unsigned char)__b);8622}8623 8624static inline __ATTRS_o_ai __vector unsigned long long8625vec_sral(__vector unsigned long long __a, __vector unsigned char __b) {8626  return (__vector unsigned long long)__builtin_s390_vsra(8627    (__vector unsigned char)__a, __b);8628}8629 8630// This prototype is deprecated.8631static inline __ATTRS_o_ai __vector unsigned long long8632vec_sral(__vector unsigned long long __a, __vector unsigned short __b) {8633  return (__vector unsigned long long)__builtin_s390_vsra(8634    (__vector unsigned char)__a, (__vector unsigned char)__b);8635}8636 8637// This prototype is deprecated.8638static inline __ATTRS_o_ai __vector unsigned long long8639vec_sral(__vector unsigned long long __a, __vector unsigned int __b) {8640  return (__vector unsigned long long)__builtin_s390_vsra(8641    (__vector unsigned char)__a, (__vector unsigned char)__b);8642}8643 8644static inline __ATTRS_o_ai __vector signed __int1288645vec_sral(__vector signed __int128 __a, __vector unsigned char __b) {8646  return (__vector signed __int128)__builtin_s390_vsra(8647    (__vector unsigned char)__a, __b);8648}8649 8650static inline __ATTRS_o_ai __vector unsigned __int1288651vec_sral(__vector unsigned __int128 __a, __vector unsigned char __b) {8652  return (__vector unsigned __int128)__builtin_s390_vsra(8653    (__vector unsigned char)__a, __b);8654}8655 8656/*-- vec_srab ---------------------------------------------------------------*/8657 8658// This prototype is deprecated.8659static inline __ATTRS_o_ai __vector signed char8660vec_srab(__vector signed char __a, __vector signed char __b) {8661  return (__vector signed char)__builtin_s390_vsrab(8662    (__vector unsigned char)__a, (__vector unsigned char)__b);8663}8664 8665static inline __ATTRS_o_ai __vector signed char8666vec_srab(__vector signed char __a, __vector unsigned char __b) {8667  return (__vector signed char)__builtin_s390_vsrab(8668    (__vector unsigned char)__a, __b);8669}8670 8671// This prototype is deprecated.8672static inline __ATTRS_o_ai __vector unsigned char8673vec_srab(__vector unsigned char __a, __vector signed char __b) {8674  return __builtin_s390_vsrab(__a, (__vector unsigned char)__b);8675}8676 8677static inline __ATTRS_o_ai __vector unsigned char8678vec_srab(__vector unsigned char __a, __vector unsigned char __b) {8679  return __builtin_s390_vsrab(__a, __b);8680}8681 8682// This prototype is deprecated.8683static inline __ATTRS_o_ai __vector signed short8684vec_srab(__vector signed short __a, __vector signed short __b) {8685  return (__vector signed short)__builtin_s390_vsrab(8686    (__vector unsigned char)__a, (__vector unsigned char)__b);8687}8688 8689// This prototype is deprecated.8690static inline __ATTRS_o_ai __vector signed short8691vec_srab(__vector signed short __a, __vector unsigned short __b) {8692  return (__vector signed short)__builtin_s390_vsrab(8693    (__vector unsigned char)__a, (__vector unsigned char)__b);8694}8695 8696static inline __ATTRS_o_ai __vector signed short8697vec_srab(__vector signed short __a, __vector unsigned char __b) {8698  return (__vector signed short)__builtin_s390_vsrab(8699    (__vector unsigned char)__a, __b);8700}8701 8702// This prototype is deprecated.8703static inline __ATTRS_o_ai __vector unsigned short8704vec_srab(__vector unsigned short __a, __vector signed short __b) {8705  return (__vector unsigned short)__builtin_s390_vsrab(8706    (__vector unsigned char)__a, (__vector unsigned char)__b);8707}8708 8709// This prototype is deprecated.8710static inline __ATTRS_o_ai __vector unsigned short8711vec_srab(__vector unsigned short __a, __vector unsigned short __b) {8712  return (__vector unsigned short)__builtin_s390_vsrab(8713    (__vector unsigned char)__a, (__vector unsigned char)__b);8714}8715 8716static inline __ATTRS_o_ai __vector unsigned short8717vec_srab(__vector unsigned short __a, __vector unsigned char __b) {8718  return (__vector unsigned short)__builtin_s390_vsrab(8719    (__vector unsigned char)__a, __b);8720}8721 8722// This prototype is deprecated.8723static inline __ATTRS_o_ai __vector signed int8724vec_srab(__vector signed int __a, __vector signed int __b) {8725  return (__vector signed int)__builtin_s390_vsrab(8726    (__vector unsigned char)__a, (__vector unsigned char)__b);8727}8728 8729// This prototype is deprecated.8730static inline __ATTRS_o_ai __vector signed int8731vec_srab(__vector signed int __a, __vector unsigned int __b) {8732  return (__vector signed int)__builtin_s390_vsrab(8733    (__vector unsigned char)__a, (__vector unsigned char)__b);8734}8735 8736static inline __ATTRS_o_ai __vector signed int8737vec_srab(__vector signed int __a, __vector unsigned char __b) {8738  return (__vector signed int)__builtin_s390_vsrab(8739    (__vector unsigned char)__a, __b);8740}8741 8742// This prototype is deprecated.8743static inline __ATTRS_o_ai __vector unsigned int8744vec_srab(__vector unsigned int __a, __vector signed int __b) {8745  return (__vector unsigned int)__builtin_s390_vsrab(8746    (__vector unsigned char)__a, (__vector unsigned char)__b);8747}8748 8749// This prototype is deprecated.8750static inline __ATTRS_o_ai __vector unsigned int8751vec_srab(__vector unsigned int __a, __vector unsigned int __b) {8752  return (__vector unsigned int)__builtin_s390_vsrab(8753    (__vector unsigned char)__a, (__vector unsigned char)__b);8754}8755 8756static inline __ATTRS_o_ai __vector unsigned int8757vec_srab(__vector unsigned int __a, __vector unsigned char __b) {8758  return (__vector unsigned int)__builtin_s390_vsrab(8759    (__vector unsigned char)__a, __b);8760}8761 8762// This prototype is deprecated.8763static inline __ATTRS_o_ai __vector signed long long8764vec_srab(__vector signed long long __a, __vector signed long long __b) {8765  return (__vector signed long long)__builtin_s390_vsrab(8766    (__vector unsigned char)__a, (__vector unsigned char)__b);8767}8768 8769// This prototype is deprecated.8770static inline __ATTRS_o_ai __vector signed long long8771vec_srab(__vector signed long long __a, __vector unsigned long long __b) {8772  return (__vector signed long long)__builtin_s390_vsrab(8773    (__vector unsigned char)__a, (__vector unsigned char)__b);8774}8775 8776static inline __ATTRS_o_ai __vector signed long long8777vec_srab(__vector signed long long __a, __vector unsigned char __b) {8778  return (__vector signed long long)__builtin_s390_vsrab(8779    (__vector unsigned char)__a, __b);8780}8781 8782// This prototype is deprecated.8783static inline __ATTRS_o_ai __vector unsigned long long8784vec_srab(__vector unsigned long long __a, __vector signed long long __b) {8785  return (__vector unsigned long long)__builtin_s390_vsrab(8786    (__vector unsigned char)__a, (__vector unsigned char)__b);8787}8788 8789// This prototype is deprecated.8790static inline __ATTRS_o_ai __vector unsigned long long8791vec_srab(__vector unsigned long long __a, __vector unsigned long long __b) {8792  return (__vector unsigned long long)__builtin_s390_vsrab(8793    (__vector unsigned char)__a, (__vector unsigned char)__b);8794}8795 8796static inline __ATTRS_o_ai __vector unsigned long long8797vec_srab(__vector unsigned long long __a, __vector unsigned char __b) {8798  return (__vector unsigned long long)__builtin_s390_vsrab(8799    (__vector unsigned char)__a, __b);8800}8801 8802static inline __ATTRS_o_ai __vector signed __int1288803vec_srab(__vector signed __int128 __a, __vector unsigned char __b) {8804  return (__vector signed __int128)__builtin_s390_vsrab(8805    (__vector unsigned char)__a, __b);8806}8807 8808static inline __ATTRS_o_ai __vector unsigned __int1288809vec_srab(__vector unsigned __int128 __a, __vector unsigned char __b) {8810  return (__vector unsigned __int128)__builtin_s390_vsrab(8811    (__vector unsigned char)__a, __b);8812}8813 8814#if __ARCH__ >= 128815// This prototype is deprecated.8816static inline __ATTRS_o_ai __vector float8817vec_srab(__vector float __a, __vector signed int __b) {8818  return (__vector float)__builtin_s390_vsrab(8819    (__vector unsigned char)__a, (__vector unsigned char)__b);8820}8821 8822// This prototype is deprecated.8823static inline __ATTRS_o_ai __vector float8824vec_srab(__vector float __a, __vector unsigned int __b) {8825  return (__vector float)__builtin_s390_vsrab(8826    (__vector unsigned char)__a, (__vector unsigned char)__b);8827}8828 8829static inline __ATTRS_o_ai __vector float8830vec_srab(__vector float __a, __vector unsigned char __b) {8831  return (__vector float)__builtin_s390_vsrab(8832    (__vector unsigned char)__a, __b);8833}8834#endif8835 8836// This prototype is deprecated.8837static inline __ATTRS_o_ai __vector double8838vec_srab(__vector double __a, __vector signed long long __b) {8839  return (__vector double)__builtin_s390_vsrab(8840    (__vector unsigned char)__a, (__vector unsigned char)__b);8841}8842 8843// This prototype is deprecated.8844static inline __ATTRS_o_ai __vector double8845vec_srab(__vector double __a, __vector unsigned long long __b) {8846  return (__vector double)__builtin_s390_vsrab(8847    (__vector unsigned char)__a, (__vector unsigned char)__b);8848}8849 8850static inline __ATTRS_o_ai __vector double8851vec_srab(__vector double __a, __vector unsigned char __b) {8852  return (__vector double)__builtin_s390_vsrab(8853    (__vector unsigned char)__a, __b);8854}8855 8856/*-- vec_srl ----------------------------------------------------------------*/8857 8858static inline __ATTRS_o_ai __vector signed char8859vec_srl(__vector signed char __a, __vector unsigned char __b) {8860  return (__vector signed char)__builtin_s390_vsrl(8861    (__vector unsigned char)__a, __b);8862}8863 8864// This prototype is deprecated.8865static inline __ATTRS_o_ai __vector signed char8866vec_srl(__vector signed char __a, __vector unsigned short __b) {8867  return (__vector signed char)__builtin_s390_vsrl(8868    (__vector unsigned char)__a, (__vector unsigned char)__b);8869}8870 8871// This prototype is deprecated.8872static inline __ATTRS_o_ai __vector signed char8873vec_srl(__vector signed char __a, __vector unsigned int __b) {8874  return (__vector signed char)__builtin_s390_vsrl(8875    (__vector unsigned char)__a, (__vector unsigned char)__b);8876}8877 8878// This prototype is deprecated.8879static inline __ATTRS_o_ai __vector __bool char8880vec_srl(__vector __bool char __a, __vector unsigned char __b) {8881  return (__vector __bool char)__builtin_s390_vsrl(8882    (__vector unsigned char)__a, __b);8883}8884 8885// This prototype is deprecated.8886static inline __ATTRS_o_ai __vector __bool char8887vec_srl(__vector __bool char __a, __vector unsigned short __b) {8888  return (__vector __bool char)__builtin_s390_vsrl(8889    (__vector unsigned char)__a, (__vector unsigned char)__b);8890}8891 8892// This prototype is deprecated.8893static inline __ATTRS_o_ai __vector __bool char8894vec_srl(__vector __bool char __a, __vector unsigned int __b) {8895  return (__vector __bool char)__builtin_s390_vsrl(8896    (__vector unsigned char)__a, (__vector unsigned char)__b);8897}8898 8899static inline __ATTRS_o_ai __vector unsigned char8900vec_srl(__vector unsigned char __a, __vector unsigned char __b) {8901  return __builtin_s390_vsrl(__a, __b);8902}8903 8904// This prototype is deprecated.8905static inline __ATTRS_o_ai __vector unsigned char8906vec_srl(__vector unsigned char __a, __vector unsigned short __b) {8907  return __builtin_s390_vsrl(__a, (__vector unsigned char)__b);8908}8909 8910// This prototype is deprecated.8911static inline __ATTRS_o_ai __vector unsigned char8912vec_srl(__vector unsigned char __a, __vector unsigned int __b) {8913  return __builtin_s390_vsrl(__a, (__vector unsigned char)__b);8914}8915 8916static inline __ATTRS_o_ai __vector signed short8917vec_srl(__vector signed short __a, __vector unsigned char __b) {8918  return (__vector signed short)__builtin_s390_vsrl(8919    (__vector unsigned char)__a, __b);8920}8921 8922// This prototype is deprecated.8923static inline __ATTRS_o_ai __vector signed short8924vec_srl(__vector signed short __a, __vector unsigned short __b) {8925  return (__vector signed short)__builtin_s390_vsrl(8926    (__vector unsigned char)__a, (__vector unsigned char)__b);8927}8928 8929// This prototype is deprecated.8930static inline __ATTRS_o_ai __vector signed short8931vec_srl(__vector signed short __a, __vector unsigned int __b) {8932  return (__vector signed short)__builtin_s390_vsrl(8933    (__vector unsigned char)__a, (__vector unsigned char)__b);8934}8935 8936// This prototype is deprecated.8937static inline __ATTRS_o_ai __vector __bool short8938vec_srl(__vector __bool short __a, __vector unsigned char __b) {8939  return (__vector __bool short)__builtin_s390_vsrl(8940    (__vector unsigned char)__a, __b);8941}8942 8943// This prototype is deprecated.8944static inline __ATTRS_o_ai __vector __bool short8945vec_srl(__vector __bool short __a, __vector unsigned short __b) {8946  return (__vector __bool short)__builtin_s390_vsrl(8947    (__vector unsigned char)__a, (__vector unsigned char)__b);8948}8949 8950// This prototype is deprecated.8951static inline __ATTRS_o_ai __vector __bool short8952vec_srl(__vector __bool short __a, __vector unsigned int __b) {8953  return (__vector __bool short)__builtin_s390_vsrl(8954    (__vector unsigned char)__a, (__vector unsigned char)__b);8955}8956 8957static inline __ATTRS_o_ai __vector unsigned short8958vec_srl(__vector unsigned short __a, __vector unsigned char __b) {8959  return (__vector unsigned short)__builtin_s390_vsrl(8960    (__vector unsigned char)__a, __b);8961}8962 8963// This prototype is deprecated.8964static inline __ATTRS_o_ai __vector unsigned short8965vec_srl(__vector unsigned short __a, __vector unsigned short __b) {8966  return (__vector unsigned short)__builtin_s390_vsrl(8967    (__vector unsigned char)__a, (__vector unsigned char)__b);8968}8969 8970// This prototype is deprecated.8971static inline __ATTRS_o_ai __vector unsigned short8972vec_srl(__vector unsigned short __a, __vector unsigned int __b) {8973  return (__vector unsigned short)__builtin_s390_vsrl(8974    (__vector unsigned char)__a, (__vector unsigned char)__b);8975}8976 8977static inline __ATTRS_o_ai __vector signed int8978vec_srl(__vector signed int __a, __vector unsigned char __b) {8979  return (__vector signed int)__builtin_s390_vsrl(8980    (__vector unsigned char)__a, __b);8981}8982 8983// This prototype is deprecated.8984static inline __ATTRS_o_ai __vector signed int8985vec_srl(__vector signed int __a, __vector unsigned short __b) {8986  return (__vector signed int)__builtin_s390_vsrl(8987    (__vector unsigned char)__a, (__vector unsigned char)__b);8988}8989 8990// This prototype is deprecated.8991static inline __ATTRS_o_ai __vector signed int8992vec_srl(__vector signed int __a, __vector unsigned int __b) {8993  return (__vector signed int)__builtin_s390_vsrl(8994    (__vector unsigned char)__a, (__vector unsigned char)__b);8995}8996 8997// This prototype is deprecated.8998static inline __ATTRS_o_ai __vector __bool int8999vec_srl(__vector __bool int __a, __vector unsigned char __b) {9000  return (__vector __bool int)__builtin_s390_vsrl(9001    (__vector unsigned char)__a, __b);9002}9003 9004// This prototype is deprecated.9005static inline __ATTRS_o_ai __vector __bool int9006vec_srl(__vector __bool int __a, __vector unsigned short __b) {9007  return (__vector __bool int)__builtin_s390_vsrl(9008    (__vector unsigned char)__a, (__vector unsigned char)__b);9009}9010 9011// This prototype is deprecated.9012static inline __ATTRS_o_ai __vector __bool int9013vec_srl(__vector __bool int __a, __vector unsigned int __b) {9014  return (__vector __bool int)__builtin_s390_vsrl(9015    (__vector unsigned char)__a, (__vector unsigned char)__b);9016}9017 9018static inline __ATTRS_o_ai __vector unsigned int9019vec_srl(__vector unsigned int __a, __vector unsigned char __b) {9020  return (__vector unsigned int)__builtin_s390_vsrl(9021    (__vector unsigned char)__a, __b);9022}9023 9024// This prototype is deprecated.9025static inline __ATTRS_o_ai __vector unsigned int9026vec_srl(__vector unsigned int __a, __vector unsigned short __b) {9027  return (__vector unsigned int)__builtin_s390_vsrl(9028    (__vector unsigned char)__a, (__vector unsigned char)__b);9029}9030 9031// This prototype is deprecated.9032static inline __ATTRS_o_ai __vector unsigned int9033vec_srl(__vector unsigned int __a, __vector unsigned int __b) {9034  return (__vector unsigned int)__builtin_s390_vsrl(9035    (__vector unsigned char)__a, (__vector unsigned char)__b);9036}9037 9038static inline __ATTRS_o_ai __vector signed long long9039vec_srl(__vector signed long long __a, __vector unsigned char __b) {9040  return (__vector signed long long)__builtin_s390_vsrl(9041    (__vector unsigned char)__a, __b);9042}9043 9044// This prototype is deprecated.9045static inline __ATTRS_o_ai __vector signed long long9046vec_srl(__vector signed long long __a, __vector unsigned short __b) {9047  return (__vector signed long long)__builtin_s390_vsrl(9048    (__vector unsigned char)__a, (__vector unsigned char)__b);9049}9050 9051// This prototype is deprecated.9052static inline __ATTRS_o_ai __vector signed long long9053vec_srl(__vector signed long long __a, __vector unsigned int __b) {9054  return (__vector signed long long)__builtin_s390_vsrl(9055    (__vector unsigned char)__a, (__vector unsigned char)__b);9056}9057 9058// This prototype is deprecated.9059static inline __ATTRS_o_ai __vector __bool long long9060vec_srl(__vector __bool long long __a, __vector unsigned char __b) {9061  return (__vector __bool long long)__builtin_s390_vsrl(9062    (__vector unsigned char)__a, __b);9063}9064 9065// This prototype is deprecated.9066static inline __ATTRS_o_ai __vector __bool long long9067vec_srl(__vector __bool long long __a, __vector unsigned short __b) {9068  return (__vector __bool long long)__builtin_s390_vsrl(9069    (__vector unsigned char)__a, (__vector unsigned char)__b);9070}9071 9072// This prototype is deprecated.9073static inline __ATTRS_o_ai __vector __bool long long9074vec_srl(__vector __bool long long __a, __vector unsigned int __b) {9075  return (__vector __bool long long)__builtin_s390_vsrl(9076    (__vector unsigned char)__a, (__vector unsigned char)__b);9077}9078 9079static inline __ATTRS_o_ai __vector unsigned long long9080vec_srl(__vector unsigned long long __a, __vector unsigned char __b) {9081  return (__vector unsigned long long)__builtin_s390_vsrl(9082    (__vector unsigned char)__a, __b);9083}9084 9085// This prototype is deprecated.9086static inline __ATTRS_o_ai __vector unsigned long long9087vec_srl(__vector unsigned long long __a, __vector unsigned short __b) {9088  return (__vector unsigned long long)__builtin_s390_vsrl(9089    (__vector unsigned char)__a, (__vector unsigned char)__b);9090}9091 9092// This prototype is deprecated.9093static inline __ATTRS_o_ai __vector unsigned long long9094vec_srl(__vector unsigned long long __a, __vector unsigned int __b) {9095  return (__vector unsigned long long)__builtin_s390_vsrl(9096    (__vector unsigned char)__a, (__vector unsigned char)__b);9097}9098 9099static inline __ATTRS_o_ai __vector signed __int1289100vec_srl(__vector signed __int128 __a, __vector unsigned char __b) {9101  return (__vector signed __int128)__builtin_s390_vsrl(9102    (__vector unsigned char)__a, __b);9103}9104 9105static inline __ATTRS_o_ai __vector unsigned __int1289106vec_srl(__vector unsigned __int128 __a, __vector unsigned char __b) {9107  return (__vector unsigned __int128)__builtin_s390_vsrl(9108    (__vector unsigned char)__a, __b);9109}9110 9111/*-- vec_srb ----------------------------------------------------------------*/9112 9113// This prototype is deprecated.9114static inline __ATTRS_o_ai __vector signed char9115vec_srb(__vector signed char __a, __vector signed char __b) {9116  return (__vector signed char)__builtin_s390_vsrlb(9117    (__vector unsigned char)__a, (__vector unsigned char)__b);9118}9119 9120static inline __ATTRS_o_ai __vector signed char9121vec_srb(__vector signed char __a, __vector unsigned char __b) {9122  return (__vector signed char)__builtin_s390_vsrlb(9123    (__vector unsigned char)__a, __b);9124}9125 9126// This prototype is deprecated.9127static inline __ATTRS_o_ai __vector unsigned char9128vec_srb(__vector unsigned char __a, __vector signed char __b) {9129  return __builtin_s390_vsrlb(__a, (__vector unsigned char)__b);9130}9131 9132static inline __ATTRS_o_ai __vector unsigned char9133vec_srb(__vector unsigned char __a, __vector unsigned char __b) {9134  return __builtin_s390_vsrlb(__a, __b);9135}9136 9137// This prototype is deprecated.9138static inline __ATTRS_o_ai __vector signed short9139vec_srb(__vector signed short __a, __vector signed short __b) {9140  return (__vector signed short)__builtin_s390_vsrlb(9141    (__vector unsigned char)__a, (__vector unsigned char)__b);9142}9143 9144// This prototype is deprecated.9145static inline __ATTRS_o_ai __vector signed short9146vec_srb(__vector signed short __a, __vector unsigned short __b) {9147  return (__vector signed short)__builtin_s390_vsrlb(9148    (__vector unsigned char)__a, (__vector unsigned char)__b);9149}9150 9151static inline __ATTRS_o_ai __vector signed short9152vec_srb(__vector signed short __a, __vector unsigned char __b) {9153  return (__vector signed short)__builtin_s390_vsrlb(9154    (__vector unsigned char)__a, __b);9155}9156 9157// This prototype is deprecated.9158static inline __ATTRS_o_ai __vector unsigned short9159vec_srb(__vector unsigned short __a, __vector signed short __b) {9160  return (__vector unsigned short)__builtin_s390_vsrlb(9161    (__vector unsigned char)__a, (__vector unsigned char)__b);9162}9163 9164// This prototype is deprecated.9165static inline __ATTRS_o_ai __vector unsigned short9166vec_srb(__vector unsigned short __a, __vector unsigned short __b) {9167  return (__vector unsigned short)__builtin_s390_vsrlb(9168    (__vector unsigned char)__a, (__vector unsigned char)__b);9169}9170 9171static inline __ATTRS_o_ai __vector unsigned short9172vec_srb(__vector unsigned short __a, __vector unsigned char __b) {9173  return (__vector unsigned short)__builtin_s390_vsrlb(9174    (__vector unsigned char)__a, __b);9175}9176 9177// This prototype is deprecated.9178static inline __ATTRS_o_ai __vector signed int9179vec_srb(__vector signed int __a, __vector signed int __b) {9180  return (__vector signed int)__builtin_s390_vsrlb(9181    (__vector unsigned char)__a, (__vector unsigned char)__b);9182}9183 9184// This prototype is deprecated.9185static inline __ATTRS_o_ai __vector signed int9186vec_srb(__vector signed int __a, __vector unsigned int __b) {9187  return (__vector signed int)__builtin_s390_vsrlb(9188    (__vector unsigned char)__a, (__vector unsigned char)__b);9189}9190 9191static inline __ATTRS_o_ai __vector signed int9192vec_srb(__vector signed int __a, __vector unsigned char __b) {9193  return (__vector signed int)__builtin_s390_vsrlb(9194    (__vector unsigned char)__a, __b);9195}9196 9197// This prototype is deprecated.9198static inline __ATTRS_o_ai __vector unsigned int9199vec_srb(__vector unsigned int __a, __vector signed int __b) {9200  return (__vector unsigned int)__builtin_s390_vsrlb(9201    (__vector unsigned char)__a, (__vector unsigned char)__b);9202}9203 9204// This prototype is deprecated.9205static inline __ATTRS_o_ai __vector unsigned int9206vec_srb(__vector unsigned int __a, __vector unsigned int __b) {9207  return (__vector unsigned int)__builtin_s390_vsrlb(9208    (__vector unsigned char)__a, (__vector unsigned char)__b);9209}9210 9211static inline __ATTRS_o_ai __vector unsigned int9212vec_srb(__vector unsigned int __a, __vector unsigned char __b) {9213  return (__vector unsigned int)__builtin_s390_vsrlb(9214    (__vector unsigned char)__a, __b);9215}9216 9217// This prototype is deprecated.9218static inline __ATTRS_o_ai __vector signed long long9219vec_srb(__vector signed long long __a, __vector signed long long __b) {9220  return (__vector signed long long)__builtin_s390_vsrlb(9221    (__vector unsigned char)__a, (__vector unsigned char)__b);9222}9223 9224// This prototype is deprecated.9225static inline __ATTRS_o_ai __vector signed long long9226vec_srb(__vector signed long long __a, __vector unsigned long long __b) {9227  return (__vector signed long long)__builtin_s390_vsrlb(9228    (__vector unsigned char)__a, (__vector unsigned char)__b);9229}9230 9231static inline __ATTRS_o_ai __vector signed long long9232vec_srb(__vector signed long long __a, __vector unsigned char __b) {9233  return (__vector signed long long)__builtin_s390_vsrlb(9234    (__vector unsigned char)__a, __b);9235}9236 9237// This prototype is deprecated.9238static inline __ATTRS_o_ai __vector unsigned long long9239vec_srb(__vector unsigned long long __a, __vector signed long long __b) {9240  return (__vector unsigned long long)__builtin_s390_vsrlb(9241    (__vector unsigned char)__a, (__vector unsigned char)__b);9242}9243 9244// This prototype is deprecated.9245static inline __ATTRS_o_ai __vector unsigned long long9246vec_srb(__vector unsigned long long __a, __vector unsigned long long __b) {9247  return (__vector unsigned long long)__builtin_s390_vsrlb(9248    (__vector unsigned char)__a, (__vector unsigned char)__b);9249}9250 9251static inline __ATTRS_o_ai __vector unsigned long long9252vec_srb(__vector unsigned long long __a, __vector unsigned char __b) {9253  return (__vector unsigned long long)__builtin_s390_vsrlb(9254    (__vector unsigned char)__a, __b);9255}9256 9257static inline __ATTRS_o_ai __vector signed __int1289258vec_srb(__vector signed __int128 __a, __vector unsigned char __b) {9259  return (__vector signed __int128)__builtin_s390_vsrlb(9260    (__vector unsigned char)__a, __b);9261}9262 9263static inline __ATTRS_o_ai __vector unsigned __int1289264vec_srb(__vector unsigned __int128 __a, __vector unsigned char __b) {9265  return (__vector unsigned __int128)__builtin_s390_vsrlb(9266    (__vector unsigned char)__a, __b);9267}9268 9269#if __ARCH__ >= 129270// This prototype is deprecated.9271static inline __ATTRS_o_ai __vector float9272vec_srb(__vector float __a, __vector signed int __b) {9273  return (__vector float)__builtin_s390_vsrlb(9274    (__vector unsigned char)__a, (__vector unsigned char)__b);9275}9276 9277// This prototype is deprecated.9278static inline __ATTRS_o_ai __vector float9279vec_srb(__vector float __a, __vector unsigned int __b) {9280  return (__vector float)__builtin_s390_vsrlb(9281    (__vector unsigned char)__a, (__vector unsigned char)__b);9282}9283 9284static inline __ATTRS_o_ai __vector float9285vec_srb(__vector float __a, __vector unsigned char __b) {9286  return (__vector float)__builtin_s390_vsrlb(9287    (__vector unsigned char)__a, __b);9288}9289#endif9290 9291// This prototype is deprecated.9292static inline __ATTRS_o_ai __vector double9293vec_srb(__vector double __a, __vector signed long long __b) {9294  return (__vector double)__builtin_s390_vsrlb(9295    (__vector unsigned char)__a, (__vector unsigned char)__b);9296}9297 9298// This prototype is deprecated.9299static inline __ATTRS_o_ai __vector double9300vec_srb(__vector double __a, __vector unsigned long long __b) {9301  return (__vector double)__builtin_s390_vsrlb(9302    (__vector unsigned char)__a, (__vector unsigned char)__b);9303}9304 9305static inline __ATTRS_o_ai __vector double9306vec_srb(__vector double __a, __vector unsigned char __b) {9307  return (__vector double)__builtin_s390_vsrlb(9308    (__vector unsigned char)__a, __b);9309}9310 9311/*-- vec_srdb ---------------------------------------------------------------*/9312 9313#if __ARCH__ >= 139314 9315extern __ATTRS_o __vector signed char9316vec_srdb(__vector signed char __a, __vector signed char __b, int __c)9317  __constant_range(__c, 0, 7);9318 9319extern __ATTRS_o __vector unsigned char9320vec_srdb(__vector unsigned char __a, __vector unsigned char __b, int __c)9321  __constant_range(__c, 0, 7);9322 9323extern __ATTRS_o __vector signed short9324vec_srdb(__vector signed short __a, __vector signed short __b, int __c)9325  __constant_range(__c, 0, 7);9326 9327extern __ATTRS_o __vector unsigned short9328vec_srdb(__vector unsigned short __a, __vector unsigned short __b, int __c)9329  __constant_range(__c, 0, 7);9330 9331extern __ATTRS_o __vector signed int9332vec_srdb(__vector signed int __a, __vector signed int __b, int __c)9333  __constant_range(__c, 0, 7);9334 9335extern __ATTRS_o __vector unsigned int9336vec_srdb(__vector unsigned int __a, __vector unsigned int __b, int __c)9337  __constant_range(__c, 0, 7);9338 9339extern __ATTRS_o __vector signed long long9340vec_srdb(__vector signed long long __a, __vector signed long long __b, int __c)9341  __constant_range(__c, 0, 7);9342 9343extern __ATTRS_o __vector unsigned long long9344vec_srdb(__vector unsigned long long __a, __vector unsigned long long __b,9345         int __c)9346  __constant_range(__c, 0, 7);9347 9348extern __ATTRS_o __vector signed __int1289349vec_srdb(__vector signed __int128 __a, __vector signed __int128 __b, int __c)9350  __constant_range(__c, 0, 7);9351 9352extern __ATTRS_o __vector unsigned __int1289353vec_srdb(__vector unsigned __int128 __a, __vector unsigned __int128 __b,9354         int __c)9355  __constant_range(__c, 0, 7);9356 9357extern __ATTRS_o __vector float9358vec_srdb(__vector float __a, __vector float __b, int __c)9359  __constant_range(__c, 0, 7);9360 9361extern __ATTRS_o __vector double9362vec_srdb(__vector double __a, __vector double __b, int __c)9363  __constant_range(__c, 0, 7);9364 9365#define vec_srdb(X, Y, Z) ((__typeof__((vec_srdb)((X), (Y), (Z)))) \9366  __builtin_s390_vsrd((__vector unsigned char)(X), \9367                      (__vector unsigned char)(Y), (Z)))9368 9369#endif9370 9371/*-- vec_abs ----------------------------------------------------------------*/9372 9373static inline __ATTRS_o_ai __vector signed char9374vec_abs(__vector signed char __a) {9375  return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed char)0));9376}9377 9378static inline __ATTRS_o_ai __vector signed short9379vec_abs(__vector signed short __a) {9380  return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed short)0));9381}9382 9383static inline __ATTRS_o_ai __vector signed int9384vec_abs(__vector signed int __a) {9385  return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed int)0));9386}9387 9388static inline __ATTRS_o_ai __vector signed long long9389vec_abs(__vector signed long long __a) {9390  return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed long long)0));9391}9392 9393static inline __ATTRS_o_ai __vector signed __int1289394vec_abs(__vector signed __int128 __a) {9395  return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed __int128)0));9396}9397 9398#if __ARCH__ >= 129399static inline __ATTRS_o_ai __vector float9400vec_abs(__vector float __a) {9401  return __builtin_s390_vflpsb(__a);9402}9403#endif9404 9405static inline __ATTRS_o_ai __vector double9406vec_abs(__vector double __a) {9407  return __builtin_s390_vflpdb(__a);9408}9409 9410/*-- vec_nabs ---------------------------------------------------------------*/9411 9412#if __ARCH__ >= 129413static inline __ATTRS_o_ai __vector float9414vec_nabs(__vector float __a) {9415  return __builtin_s390_vflnsb(__a);9416}9417#endif9418 9419static inline __ATTRS_o_ai __vector double9420vec_nabs(__vector double __a) {9421  return __builtin_s390_vflndb(__a);9422}9423 9424/*-- vec_max ----------------------------------------------------------------*/9425 9426static inline __ATTRS_o_ai __vector signed char9427vec_max(__vector signed char __a, __vector signed char __b) {9428  return vec_sel(__b, __a, vec_cmpgt(__a, __b));9429}9430 9431// This prototype is deprecated.9432static inline __ATTRS_o_ai __vector signed char9433vec_max(__vector signed char __a, __vector __bool char __b) {9434  __vector signed char __bc = (__vector signed char)__b;9435  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));9436}9437 9438// This prototype is deprecated.9439static inline __ATTRS_o_ai __vector signed char9440vec_max(__vector __bool char __a, __vector signed char __b) {9441  __vector signed char __ac = (__vector signed char)__a;9442  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));9443}9444 9445static inline __ATTRS_o_ai __vector unsigned char9446vec_max(__vector unsigned char __a, __vector unsigned char __b) {9447  return vec_sel(__b, __a, vec_cmpgt(__a, __b));9448}9449 9450// This prototype is deprecated.9451static inline __ATTRS_o_ai __vector unsigned char9452vec_max(__vector unsigned char __a, __vector __bool char __b) {9453  __vector unsigned char __bc = (__vector unsigned char)__b;9454  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));9455}9456 9457// This prototype is deprecated.9458static inline __ATTRS_o_ai __vector unsigned char9459vec_max(__vector __bool char __a, __vector unsigned char __b) {9460  __vector unsigned char __ac = (__vector unsigned char)__a;9461  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));9462}9463 9464static inline __ATTRS_o_ai __vector signed short9465vec_max(__vector signed short __a, __vector signed short __b) {9466  return vec_sel(__b, __a, vec_cmpgt(__a, __b));9467}9468 9469// This prototype is deprecated.9470static inline __ATTRS_o_ai __vector signed short9471vec_max(__vector signed short __a, __vector __bool short __b) {9472  __vector signed short __bc = (__vector signed short)__b;9473  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));9474}9475 9476// This prototype is deprecated.9477static inline __ATTRS_o_ai __vector signed short9478vec_max(__vector __bool short __a, __vector signed short __b) {9479  __vector signed short __ac = (__vector signed short)__a;9480  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));9481}9482 9483static inline __ATTRS_o_ai __vector unsigned short9484vec_max(__vector unsigned short __a, __vector unsigned short __b) {9485  return vec_sel(__b, __a, vec_cmpgt(__a, __b));9486}9487 9488// This prototype is deprecated.9489static inline __ATTRS_o_ai __vector unsigned short9490vec_max(__vector unsigned short __a, __vector __bool short __b) {9491  __vector unsigned short __bc = (__vector unsigned short)__b;9492  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));9493}9494 9495// This prototype is deprecated.9496static inline __ATTRS_o_ai __vector unsigned short9497vec_max(__vector __bool short __a, __vector unsigned short __b) {9498  __vector unsigned short __ac = (__vector unsigned short)__a;9499  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));9500}9501 9502static inline __ATTRS_o_ai __vector signed int9503vec_max(__vector signed int __a, __vector signed int __b) {9504  return vec_sel(__b, __a, vec_cmpgt(__a, __b));9505}9506 9507// This prototype is deprecated.9508static inline __ATTRS_o_ai __vector signed int9509vec_max(__vector signed int __a, __vector __bool int __b) {9510  __vector signed int __bc = (__vector signed int)__b;9511  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));9512}9513 9514// This prototype is deprecated.9515static inline __ATTRS_o_ai __vector signed int9516vec_max(__vector __bool int __a, __vector signed int __b) {9517  __vector signed int __ac = (__vector signed int)__a;9518  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));9519}9520 9521static inline __ATTRS_o_ai __vector unsigned int9522vec_max(__vector unsigned int __a, __vector unsigned int __b) {9523  return vec_sel(__b, __a, vec_cmpgt(__a, __b));9524}9525 9526// This prototype is deprecated.9527static inline __ATTRS_o_ai __vector unsigned int9528vec_max(__vector unsigned int __a, __vector __bool int __b) {9529  __vector unsigned int __bc = (__vector unsigned int)__b;9530  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));9531}9532 9533// This prototype is deprecated.9534static inline __ATTRS_o_ai __vector unsigned int9535vec_max(__vector __bool int __a, __vector unsigned int __b) {9536  __vector unsigned int __ac = (__vector unsigned int)__a;9537  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));9538}9539 9540static inline __ATTRS_o_ai __vector signed long long9541vec_max(__vector signed long long __a, __vector signed long long __b) {9542  return vec_sel(__b, __a, vec_cmpgt(__a, __b));9543}9544 9545// This prototype is deprecated.9546static inline __ATTRS_o_ai __vector signed long long9547vec_max(__vector signed long long __a, __vector __bool long long __b) {9548  __vector signed long long __bc = (__vector signed long long)__b;9549  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));9550}9551 9552// This prototype is deprecated.9553static inline __ATTRS_o_ai __vector signed long long9554vec_max(__vector __bool long long __a, __vector signed long long __b) {9555  __vector signed long long __ac = (__vector signed long long)__a;9556  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));9557}9558 9559static inline __ATTRS_o_ai __vector unsigned long long9560vec_max(__vector unsigned long long __a, __vector unsigned long long __b) {9561  return vec_sel(__b, __a, vec_cmpgt(__a, __b));9562}9563 9564// This prototype is deprecated.9565static inline __ATTRS_o_ai __vector unsigned long long9566vec_max(__vector unsigned long long __a, __vector __bool long long __b) {9567  __vector unsigned long long __bc = (__vector unsigned long long)__b;9568  return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));9569}9570 9571// This prototype is deprecated.9572static inline __ATTRS_o_ai __vector unsigned long long9573vec_max(__vector __bool long long __a, __vector unsigned long long __b) {9574  __vector unsigned long long __ac = (__vector unsigned long long)__a;9575  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));9576}9577 9578static inline __ATTRS_o_ai __vector signed __int1289579vec_max(__vector signed __int128 __a, __vector signed __int128 __b) {9580  return vec_sel(__b, __a, vec_cmpgt(__a, __b));9581}9582 9583static inline __ATTRS_o_ai __vector unsigned __int1289584vec_max(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {9585  return vec_sel(__b, __a, vec_cmpgt(__a, __b));9586}9587 9588#if __ARCH__ >= 129589static inline __ATTRS_o_ai __vector float9590vec_max(__vector float __a, __vector float __b) {9591  return __builtin_s390_vfmaxsb(__a, __b, 0);9592}9593#endif9594 9595static inline __ATTRS_o_ai __vector double9596vec_max(__vector double __a, __vector double __b) {9597#if __ARCH__ >= 129598  return __builtin_s390_vfmaxdb(__a, __b, 0);9599#else9600  return vec_sel(__b, __a, vec_cmpgt(__a, __b));9601#endif9602}9603 9604/*-- vec_min ----------------------------------------------------------------*/9605 9606static inline __ATTRS_o_ai __vector signed char9607vec_min(__vector signed char __a, __vector signed char __b) {9608  return vec_sel(__a, __b, vec_cmpgt(__a, __b));9609}9610 9611// This prototype is deprecated.9612static inline __ATTRS_o_ai __vector signed char9613vec_min(__vector signed char __a, __vector __bool char __b) {9614  __vector signed char __bc = (__vector signed char)__b;9615  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));9616}9617 9618// This prototype is deprecated.9619static inline __ATTRS_o_ai __vector signed char9620vec_min(__vector __bool char __a, __vector signed char __b) {9621  __vector signed char __ac = (__vector signed char)__a;9622  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));9623}9624 9625static inline __ATTRS_o_ai __vector unsigned char9626vec_min(__vector unsigned char __a, __vector unsigned char __b) {9627  return vec_sel(__a, __b, vec_cmpgt(__a, __b));9628}9629 9630// This prototype is deprecated.9631static inline __ATTRS_o_ai __vector unsigned char9632vec_min(__vector unsigned char __a, __vector __bool char __b) {9633  __vector unsigned char __bc = (__vector unsigned char)__b;9634  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));9635}9636 9637// This prototype is deprecated.9638static inline __ATTRS_o_ai __vector unsigned char9639vec_min(__vector __bool char __a, __vector unsigned char __b) {9640  __vector unsigned char __ac = (__vector unsigned char)__a;9641  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));9642}9643 9644static inline __ATTRS_o_ai __vector signed short9645vec_min(__vector signed short __a, __vector signed short __b) {9646  return vec_sel(__a, __b, vec_cmpgt(__a, __b));9647}9648 9649// This prototype is deprecated.9650static inline __ATTRS_o_ai __vector signed short9651vec_min(__vector signed short __a, __vector __bool short __b) {9652  __vector signed short __bc = (__vector signed short)__b;9653  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));9654}9655 9656// This prototype is deprecated.9657static inline __ATTRS_o_ai __vector signed short9658vec_min(__vector __bool short __a, __vector signed short __b) {9659  __vector signed short __ac = (__vector signed short)__a;9660  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));9661}9662 9663static inline __ATTRS_o_ai __vector unsigned short9664vec_min(__vector unsigned short __a, __vector unsigned short __b) {9665  return vec_sel(__a, __b, vec_cmpgt(__a, __b));9666}9667 9668// This prototype is deprecated.9669static inline __ATTRS_o_ai __vector unsigned short9670vec_min(__vector unsigned short __a, __vector __bool short __b) {9671  __vector unsigned short __bc = (__vector unsigned short)__b;9672  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));9673}9674 9675// This prototype is deprecated.9676static inline __ATTRS_o_ai __vector unsigned short9677vec_min(__vector __bool short __a, __vector unsigned short __b) {9678  __vector unsigned short __ac = (__vector unsigned short)__a;9679  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));9680}9681 9682static inline __ATTRS_o_ai __vector signed int9683vec_min(__vector signed int __a, __vector signed int __b) {9684  return vec_sel(__a, __b, vec_cmpgt(__a, __b));9685}9686 9687// This prototype is deprecated.9688static inline __ATTRS_o_ai __vector signed int9689vec_min(__vector signed int __a, __vector __bool int __b) {9690  __vector signed int __bc = (__vector signed int)__b;9691  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));9692}9693 9694// This prototype is deprecated.9695static inline __ATTRS_o_ai __vector signed int9696vec_min(__vector __bool int __a, __vector signed int __b) {9697  __vector signed int __ac = (__vector signed int)__a;9698  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));9699}9700 9701static inline __ATTRS_o_ai __vector unsigned int9702vec_min(__vector unsigned int __a, __vector unsigned int __b) {9703  return vec_sel(__a, __b, vec_cmpgt(__a, __b));9704}9705 9706// This prototype is deprecated.9707static inline __ATTRS_o_ai __vector unsigned int9708vec_min(__vector unsigned int __a, __vector __bool int __b) {9709  __vector unsigned int __bc = (__vector unsigned int)__b;9710  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));9711}9712 9713// This prototype is deprecated.9714static inline __ATTRS_o_ai __vector unsigned int9715vec_min(__vector __bool int __a, __vector unsigned int __b) {9716  __vector unsigned int __ac = (__vector unsigned int)__a;9717  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));9718}9719 9720static inline __ATTRS_o_ai __vector signed long long9721vec_min(__vector signed long long __a, __vector signed long long __b) {9722  return vec_sel(__a, __b, vec_cmpgt(__a, __b));9723}9724 9725// This prototype is deprecated.9726static inline __ATTRS_o_ai __vector signed long long9727vec_min(__vector signed long long __a, __vector __bool long long __b) {9728  __vector signed long long __bc = (__vector signed long long)__b;9729  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));9730}9731 9732// This prototype is deprecated.9733static inline __ATTRS_o_ai __vector signed long long9734vec_min(__vector __bool long long __a, __vector signed long long __b) {9735  __vector signed long long __ac = (__vector signed long long)__a;9736  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));9737}9738 9739static inline __ATTRS_o_ai __vector unsigned long long9740vec_min(__vector unsigned long long __a, __vector unsigned long long __b) {9741  return vec_sel(__a, __b, vec_cmpgt(__a, __b));9742}9743 9744// This prototype is deprecated.9745static inline __ATTRS_o_ai __vector unsigned long long9746vec_min(__vector unsigned long long __a, __vector __bool long long __b) {9747  __vector unsigned long long __bc = (__vector unsigned long long)__b;9748  return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));9749}9750 9751// This prototype is deprecated.9752static inline __ATTRS_o_ai __vector unsigned long long9753vec_min(__vector __bool long long __a, __vector unsigned long long __b) {9754  __vector unsigned long long __ac = (__vector unsigned long long)__a;9755  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));9756}9757 9758static inline __ATTRS_o_ai __vector signed __int1289759vec_min(__vector signed __int128 __a, __vector signed __int128 __b) {9760  return vec_sel(__a, __b, vec_cmpgt(__a, __b));9761}9762 9763static inline __ATTRS_o_ai __vector unsigned __int1289764vec_min(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {9765  return vec_sel(__a, __b, vec_cmpgt(__a, __b));9766}9767 9768#if __ARCH__ >= 129769static inline __ATTRS_o_ai __vector float9770vec_min(__vector float __a, __vector float __b) {9771  return __builtin_s390_vfminsb(__a, __b, 0);9772}9773#endif9774 9775static inline __ATTRS_o_ai __vector double9776vec_min(__vector double __a, __vector double __b) {9777#if __ARCH__ >= 129778  return __builtin_s390_vfmindb(__a, __b, 0);9779#else9780  return vec_sel(__a, __b, vec_cmpgt(__a, __b));9781#endif9782}9783 9784/*-- vec_add_u128 -----------------------------------------------------------*/9785 9786// This prototype is deprecated.9787static inline __ATTRS_ai __vector unsigned char9788vec_add_u128(__vector unsigned char __a, __vector unsigned char __b) {9789  return (__vector unsigned char)(__vector unsigned __int128)9790         ((__int128)__a + (__int128)__b);9791}9792 9793/*-- vec_addc ---------------------------------------------------------------*/9794 9795static inline __ATTRS_o_ai __vector unsigned char9796vec_addc(__vector unsigned char __a, __vector unsigned char __b) {9797  return __builtin_s390_vaccb(__a, __b);9798}9799 9800static inline __ATTRS_o_ai __vector unsigned short9801vec_addc(__vector unsigned short __a, __vector unsigned short __b) {9802  return __builtin_s390_vacch(__a, __b);9803}9804 9805static inline __ATTRS_o_ai __vector unsigned int9806vec_addc(__vector unsigned int __a, __vector unsigned int __b) {9807  return __builtin_s390_vaccf(__a, __b);9808}9809 9810static inline __ATTRS_o_ai __vector unsigned long long9811vec_addc(__vector unsigned long long __a, __vector unsigned long long __b) {9812  return __builtin_s390_vaccg(__a, __b);9813}9814 9815static inline __ATTRS_o_ai __vector unsigned __int1289816vec_addc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {9817  return (__vector unsigned __int128)9818         __builtin_s390_vaccq((unsigned __int128)__a, (unsigned __int128)__b);9819}9820 9821/*-- vec_addc_u128 ----------------------------------------------------------*/9822 9823// This prototype is deprecated.9824static inline __ATTRS_ai __vector unsigned char9825vec_addc_u128(__vector unsigned char __a, __vector unsigned char __b) {9826  return (__vector unsigned char)(__vector unsigned __int128)9827         __builtin_s390_vaccq((unsigned __int128)__a, (unsigned __int128)__b);9828}9829 9830/*-- vec_adde ---------------------------------------------------------------*/9831 9832static inline __ATTRS_ai __vector unsigned __int1289833vec_adde(__vector unsigned __int128 __a, __vector unsigned __int128 __b,9834         __vector unsigned __int128 __c) {9835  return (__vector unsigned __int128)9836         __builtin_s390_vacq((unsigned __int128)__a, (unsigned __int128)__b,9837                             (unsigned __int128)__c);9838}9839 9840/*-- vec_adde_u128 ----------------------------------------------------------*/9841 9842// This prototype is deprecated.9843static inline __ATTRS_ai __vector unsigned char9844vec_adde_u128(__vector unsigned char __a, __vector unsigned char __b,9845              __vector unsigned char __c) {9846  return (__vector unsigned char)(__vector unsigned __int128)9847         __builtin_s390_vacq((unsigned __int128)__a, (unsigned __int128)__b,9848                             (unsigned __int128)__c);9849}9850 9851/*-- vec_addec --------------------------------------------------------------*/9852 9853static inline __ATTRS_ai __vector unsigned __int1289854vec_addec(__vector unsigned __int128 __a, __vector unsigned __int128 __b,9855          __vector unsigned __int128 __c) {9856  return (__vector unsigned __int128)9857         __builtin_s390_vacccq((unsigned __int128)__a, (unsigned __int128)__b,9858                               (unsigned __int128)__c);9859}9860 9861/*-- vec_addec_u128 ---------------------------------------------------------*/9862 9863// This prototype is deprecated.9864static inline __ATTRS_ai __vector unsigned char9865vec_addec_u128(__vector unsigned char __a, __vector unsigned char __b,9866               __vector unsigned char __c) {9867  return (__vector unsigned char)(__vector unsigned __int128)9868         __builtin_s390_vacccq((unsigned __int128)__a, (unsigned __int128)__b,9869                               (unsigned __int128)__c);9870}9871 9872/*-- vec_avg ----------------------------------------------------------------*/9873 9874static inline __ATTRS_o_ai __vector signed char9875vec_avg(__vector signed char __a, __vector signed char __b) {9876  return __builtin_s390_vavgb(__a, __b);9877}9878 9879static inline __ATTRS_o_ai __vector signed short9880vec_avg(__vector signed short __a, __vector signed short __b) {9881  return __builtin_s390_vavgh(__a, __b);9882}9883 9884static inline __ATTRS_o_ai __vector signed int9885vec_avg(__vector signed int __a, __vector signed int __b) {9886  return __builtin_s390_vavgf(__a, __b);9887}9888 9889static inline __ATTRS_o_ai __vector signed long long9890vec_avg(__vector signed long long __a, __vector signed long long __b) {9891  return __builtin_s390_vavgg(__a, __b);9892}9893 9894#if __ARCH__ >= 159895static inline __ATTRS_o_ai __vector signed __int1289896vec_avg(__vector signed __int128 __a, __vector signed __int128 __b) {9897  return (__vector signed __int128)9898         __builtin_s390_vavgq((signed __int128)__a, (signed __int128)__b);9899}9900#endif9901 9902static inline __ATTRS_o_ai __vector unsigned char9903vec_avg(__vector unsigned char __a, __vector unsigned char __b) {9904  return __builtin_s390_vavglb(__a, __b);9905}9906 9907static inline __ATTRS_o_ai __vector unsigned short9908vec_avg(__vector unsigned short __a, __vector unsigned short __b) {9909  return __builtin_s390_vavglh(__a, __b);9910}9911 9912static inline __ATTRS_o_ai __vector unsigned int9913vec_avg(__vector unsigned int __a, __vector unsigned int __b) {9914  return __builtin_s390_vavglf(__a, __b);9915}9916 9917static inline __ATTRS_o_ai __vector unsigned long long9918vec_avg(__vector unsigned long long __a, __vector unsigned long long __b) {9919  return __builtin_s390_vavglg(__a, __b);9920}9921 9922#if __ARCH__ >= 159923static inline __ATTRS_o_ai __vector unsigned __int1289924vec_avg(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {9925  return (__vector unsigned __int128)9926         __builtin_s390_vavglq((unsigned __int128)__a, (unsigned __int128)__b);9927}9928#endif9929 9930/*-- vec_checksum -----------------------------------------------------------*/9931 9932static inline __ATTRS_ai __vector unsigned int9933vec_checksum(__vector unsigned int __a, __vector unsigned int __b) {9934  return __builtin_s390_vcksm(__a, __b);9935}9936 9937/*-- vec_gfmsum -------------------------------------------------------------*/9938 9939static inline __ATTRS_o_ai __vector unsigned short9940vec_gfmsum(__vector unsigned char __a, __vector unsigned char __b) {9941  return __builtin_s390_vgfmb(__a, __b);9942}9943 9944static inline __ATTRS_o_ai __vector unsigned int9945vec_gfmsum(__vector unsigned short __a, __vector unsigned short __b) {9946  return __builtin_s390_vgfmh(__a, __b);9947}9948 9949static inline __ATTRS_o_ai __vector unsigned long long9950vec_gfmsum(__vector unsigned int __a, __vector unsigned int __b) {9951  return __builtin_s390_vgfmf(__a, __b);9952}9953 9954static inline __ATTRS_o_ai __vector unsigned __int1289955vec_gfmsum(__vector unsigned long long __a, __vector unsigned long long __b) {9956  return (__vector unsigned __int128)__builtin_s390_vgfmg(__a, __b);9957}9958 9959/*-- vec_gfmsum_128 ---------------------------------------------------------*/9960 9961// This prototype is deprecated.9962static inline __ATTRS_o_ai __vector unsigned char9963vec_gfmsum_128(__vector unsigned long long __a,9964               __vector unsigned long long __b) {9965  return (__vector unsigned char)(__vector unsigned __int128)9966         __builtin_s390_vgfmg(__a, __b);9967}9968 9969/*-- vec_gfmsum_accum -------------------------------------------------------*/9970 9971static inline __ATTRS_o_ai __vector unsigned short9972vec_gfmsum_accum(__vector unsigned char __a, __vector unsigned char __b,9973                 __vector unsigned short __c) {9974  return __builtin_s390_vgfmab(__a, __b, __c);9975}9976 9977static inline __ATTRS_o_ai __vector unsigned int9978vec_gfmsum_accum(__vector unsigned short __a, __vector unsigned short __b,9979                 __vector unsigned int __c) {9980  return __builtin_s390_vgfmah(__a, __b, __c);9981}9982 9983static inline __ATTRS_o_ai __vector unsigned long long9984vec_gfmsum_accum(__vector unsigned int __a, __vector unsigned int __b,9985                 __vector unsigned long long __c) {9986  return __builtin_s390_vgfmaf(__a, __b, __c);9987}9988 9989static inline __ATTRS_o_ai __vector unsigned __int1289990vec_gfmsum_accum(__vector unsigned long long __a, __vector unsigned long long __b,9991                 __vector unsigned __int128 __c) {9992  return (__vector unsigned __int128)9993         __builtin_s390_vgfmag(__a, __b, (unsigned __int128)__c);9994}9995 9996/*-- vec_gfmsum_accum_128 ---------------------------------------------------*/9997 9998// This prototype is deprecated.9999static inline __ATTRS_o_ai __vector unsigned char10000vec_gfmsum_accum_128(__vector unsigned long long __a,10001                     __vector unsigned long long __b,10002                     __vector unsigned char __c) {10003  return (__vector unsigned char)(__vector unsigned __int128)10004         __builtin_s390_vgfmag(__a, __b, (unsigned __int128)__c);10005}10006 10007/*-- vec_mladd --------------------------------------------------------------*/10008 10009static inline __ATTRS_o_ai __vector signed char10010vec_mladd(__vector signed char __a, __vector signed char __b,10011          __vector signed char __c) {10012  return __a * __b + __c;10013}10014 10015static inline __ATTRS_o_ai __vector signed char10016vec_mladd(__vector unsigned char __a, __vector signed char __b,10017          __vector signed char __c) {10018  return (__vector signed char)__a * __b + __c;10019}10020 10021static inline __ATTRS_o_ai __vector signed char10022vec_mladd(__vector signed char __a, __vector unsigned char __b,10023          __vector unsigned char __c) {10024  return __a * (__vector signed char)__b + (__vector signed char)__c;10025}10026 10027static inline __ATTRS_o_ai __vector unsigned char10028vec_mladd(__vector unsigned char __a, __vector unsigned char __b,10029          __vector unsigned char __c) {10030  return __a * __b + __c;10031}10032 10033static inline __ATTRS_o_ai __vector signed short10034vec_mladd(__vector signed short __a, __vector signed short __b,10035          __vector signed short __c) {10036  return __a * __b + __c;10037}10038 10039static inline __ATTRS_o_ai __vector signed short10040vec_mladd(__vector unsigned short __a, __vector signed short __b,10041          __vector signed short __c) {10042  return (__vector signed short)__a * __b + __c;10043}10044 10045static inline __ATTRS_o_ai __vector signed short10046vec_mladd(__vector signed short __a, __vector unsigned short __b,10047          __vector unsigned short __c) {10048  return __a * (__vector signed short)__b + (__vector signed short)__c;10049}10050 10051static inline __ATTRS_o_ai __vector unsigned short10052vec_mladd(__vector unsigned short __a, __vector unsigned short __b,10053          __vector unsigned short __c) {10054  return __a * __b + __c;10055}10056 10057static inline __ATTRS_o_ai __vector signed int10058vec_mladd(__vector signed int __a, __vector signed int __b,10059          __vector signed int __c) {10060  return __a * __b + __c;10061}10062 10063static inline __ATTRS_o_ai __vector signed int10064vec_mladd(__vector unsigned int __a, __vector signed int __b,10065          __vector signed int __c) {10066  return (__vector signed int)__a * __b + __c;10067}10068 10069static inline __ATTRS_o_ai __vector signed int10070vec_mladd(__vector signed int __a, __vector unsigned int __b,10071          __vector unsigned int __c) {10072  return __a * (__vector signed int)__b + (__vector signed int)__c;10073}10074 10075static inline __ATTRS_o_ai __vector unsigned int10076vec_mladd(__vector unsigned int __a, __vector unsigned int __b,10077          __vector unsigned int __c) {10078  return __a * __b + __c;10079}10080 10081#if __ARCH__ >= 1510082static inline __ATTRS_o_ai __vector signed long long10083vec_mladd(__vector signed long long __a, __vector signed long long __b,10084          __vector signed long long __c) {10085  return __a * __b + __c;10086}10087 10088static inline __ATTRS_o_ai __vector signed long long10089vec_mladd(__vector unsigned long long __a, __vector signed long long __b,10090          __vector signed long long __c) {10091  return (__vector signed long long)__a * __b + __c;10092}10093 10094static inline __ATTRS_o_ai __vector signed long long10095vec_mladd(__vector signed long long __a, __vector unsigned long long __b,10096          __vector unsigned long long __c) {10097  return __a * (__vector signed long long)__b + (__vector signed long long)__c;10098}10099 10100static inline __ATTRS_o_ai __vector unsigned long long10101vec_mladd(__vector unsigned long long __a, __vector unsigned long long __b,10102          __vector unsigned long long __c) {10103  return __a * __b + __c;10104}10105 10106static inline __ATTRS_o_ai __vector signed __int12810107vec_mladd(__vector signed __int128 __a, __vector signed __int128 __b,10108          __vector signed __int128 __c) {10109  return __a * __b + __c;10110}10111 10112static inline __ATTRS_o_ai __vector signed __int12810113vec_mladd(__vector unsigned __int128 __a, __vector signed __int128 __b,10114          __vector signed __int128 __c) {10115  return (__vector signed __int128)__a * __b + __c;10116}10117 10118static inline __ATTRS_o_ai __vector signed __int12810119vec_mladd(__vector signed __int128 __a, __vector unsigned __int128 __b,10120          __vector unsigned __int128 __c) {10121  return __a * (__vector signed __int128)__b + (__vector signed __int128)__c;10122}10123 10124static inline __ATTRS_o_ai __vector unsigned __int12810125vec_mladd(__vector unsigned __int128 __a, __vector unsigned __int128 __b,10126          __vector unsigned __int128 __c) {10127  return __a * __b + __c;10128}10129#endif10130 10131/*-- vec_mhadd --------------------------------------------------------------*/10132 10133static inline __ATTRS_o_ai __vector signed char10134vec_mhadd(__vector signed char __a, __vector signed char __b,10135          __vector signed char __c) {10136  return __builtin_s390_vmahb(__a, __b, __c);10137}10138 10139static inline __ATTRS_o_ai __vector unsigned char10140vec_mhadd(__vector unsigned char __a, __vector unsigned char __b,10141          __vector unsigned char __c) {10142  return __builtin_s390_vmalhb(__a, __b, __c);10143}10144 10145static inline __ATTRS_o_ai __vector signed short10146vec_mhadd(__vector signed short __a, __vector signed short __b,10147          __vector signed short __c) {10148  return __builtin_s390_vmahh(__a, __b, __c);10149}10150 10151static inline __ATTRS_o_ai __vector unsigned short10152vec_mhadd(__vector unsigned short __a, __vector unsigned short __b,10153          __vector unsigned short __c) {10154  return __builtin_s390_vmalhh(__a, __b, __c);10155}10156 10157static inline __ATTRS_o_ai __vector signed int10158vec_mhadd(__vector signed int __a, __vector signed int __b,10159          __vector signed int __c) {10160  return __builtin_s390_vmahf(__a, __b, __c);10161}10162 10163static inline __ATTRS_o_ai __vector unsigned int10164vec_mhadd(__vector unsigned int __a, __vector unsigned int __b,10165          __vector unsigned int __c) {10166  return __builtin_s390_vmalhf(__a, __b, __c);10167}10168 10169#if __ARCH__ >= 1510170static inline __ATTRS_o_ai __vector signed long long10171vec_mhadd(__vector signed long long __a, __vector signed long long __b,10172          __vector signed long long __c) {10173  return __builtin_s390_vmahg(__a, __b, __c);10174}10175 10176static inline __ATTRS_o_ai __vector unsigned long long10177vec_mhadd(__vector unsigned long long __a, __vector unsigned long long __b,10178          __vector unsigned long long __c) {10179  return __builtin_s390_vmalhg(__a, __b, __c);10180}10181 10182static inline __ATTRS_o_ai __vector signed __int12810183vec_mhadd(__vector signed __int128 __a, __vector signed __int128 __b,10184          __vector signed __int128 __c) {10185  return (__vector signed __int128)10186         __builtin_s390_vmahq((signed __int128)__a, (signed __int128)__b, (signed __int128)__c);10187}10188 10189static inline __ATTRS_o_ai __vector unsigned __int12810190vec_mhadd(__vector unsigned __int128 __a, __vector unsigned __int128 __b,10191          __vector unsigned __int128 __c) {10192  return (__vector unsigned __int128)10193         __builtin_s390_vmalhq((unsigned __int128)__a, (unsigned __int128)__b, (unsigned __int128)__c);10194}10195#endif10196 10197/*-- vec_meadd --------------------------------------------------------------*/10198 10199static inline __ATTRS_o_ai __vector signed short10200vec_meadd(__vector signed char __a, __vector signed char __b,10201          __vector signed short __c) {10202  return __builtin_s390_vmaeb(__a, __b, __c);10203}10204 10205static inline __ATTRS_o_ai __vector unsigned short10206vec_meadd(__vector unsigned char __a, __vector unsigned char __b,10207          __vector unsigned short __c) {10208  return __builtin_s390_vmaleb(__a, __b, __c);10209}10210 10211static inline __ATTRS_o_ai __vector signed int10212vec_meadd(__vector signed short __a, __vector signed short __b,10213          __vector signed int __c) {10214  return __builtin_s390_vmaeh(__a, __b, __c);10215}10216 10217static inline __ATTRS_o_ai __vector unsigned int10218vec_meadd(__vector unsigned short __a, __vector unsigned short __b,10219          __vector unsigned int __c) {10220  return __builtin_s390_vmaleh(__a, __b, __c);10221}10222 10223static inline __ATTRS_o_ai __vector signed long long10224vec_meadd(__vector signed int __a, __vector signed int __b,10225          __vector signed long long __c) {10226  return __builtin_s390_vmaef(__a, __b, __c);10227}10228 10229static inline __ATTRS_o_ai __vector unsigned long long10230vec_meadd(__vector unsigned int __a, __vector unsigned int __b,10231          __vector unsigned long long __c) {10232  return __builtin_s390_vmalef(__a, __b, __c);10233}10234 10235#if __ARCH__ >= 1510236static inline __ATTRS_o_ai __vector signed __int12810237vec_meadd(__vector signed long long __a, __vector signed long long __b,10238          __vector signed __int128 __c) {10239  return (__vector signed __int128)10240         __builtin_s390_vmaeg(__a, __b, (signed __int128)__c);10241}10242 10243static inline __ATTRS_o_ai __vector unsigned __int12810244vec_meadd(__vector unsigned long long __a, __vector unsigned long long __b,10245          __vector unsigned __int128 __c) {10246  return (__vector unsigned __int128)10247         __builtin_s390_vmaleg(__a, __b, (unsigned __int128)__c);10248}10249#endif10250 10251/*-- vec_moadd --------------------------------------------------------------*/10252 10253static inline __ATTRS_o_ai __vector signed short10254vec_moadd(__vector signed char __a, __vector signed char __b,10255          __vector signed short __c) {10256  return __builtin_s390_vmaob(__a, __b, __c);10257}10258 10259static inline __ATTRS_o_ai __vector unsigned short10260vec_moadd(__vector unsigned char __a, __vector unsigned char __b,10261          __vector unsigned short __c) {10262  return __builtin_s390_vmalob(__a, __b, __c);10263}10264 10265static inline __ATTRS_o_ai __vector signed int10266vec_moadd(__vector signed short __a, __vector signed short __b,10267          __vector signed int __c) {10268  return __builtin_s390_vmaoh(__a, __b, __c);10269}10270 10271static inline __ATTRS_o_ai __vector unsigned int10272vec_moadd(__vector unsigned short __a, __vector unsigned short __b,10273          __vector unsigned int __c) {10274  return __builtin_s390_vmaloh(__a, __b, __c);10275}10276 10277static inline __ATTRS_o_ai __vector signed long long10278vec_moadd(__vector signed int __a, __vector signed int __b,10279          __vector signed long long __c) {10280  return __builtin_s390_vmaof(__a, __b, __c);10281}10282 10283static inline __ATTRS_o_ai __vector unsigned long long10284vec_moadd(__vector unsigned int __a, __vector unsigned int __b,10285          __vector unsigned long long __c) {10286  return __builtin_s390_vmalof(__a, __b, __c);10287}10288 10289#if __ARCH__ >= 1510290static inline __ATTRS_o_ai __vector signed __int12810291vec_moadd(__vector signed long long __a, __vector signed long long __b,10292          __vector signed __int128 __c) {10293  return (__vector signed __int128)10294         __builtin_s390_vmaog(__a, __b, (signed __int128)__c);10295}10296 10297static inline __ATTRS_o_ai __vector unsigned __int12810298vec_moadd(__vector unsigned long long __a, __vector unsigned long long __b,10299          __vector unsigned __int128 __c) {10300  return (__vector unsigned __int128)10301         __builtin_s390_vmalog(__a, __b, (unsigned __int128)__c);10302}10303#endif10304 10305/*-- vec_mulh ---------------------------------------------------------------*/10306 10307static inline __ATTRS_o_ai __vector signed char10308vec_mulh(__vector signed char __a, __vector signed char __b) {10309  return __builtin_s390_vmhb(__a, __b);10310}10311 10312static inline __ATTRS_o_ai __vector unsigned char10313vec_mulh(__vector unsigned char __a, __vector unsigned char __b) {10314  return __builtin_s390_vmlhb(__a, __b);10315}10316 10317static inline __ATTRS_o_ai __vector signed short10318vec_mulh(__vector signed short __a, __vector signed short __b) {10319  return __builtin_s390_vmhh(__a, __b);10320}10321 10322static inline __ATTRS_o_ai __vector unsigned short10323vec_mulh(__vector unsigned short __a, __vector unsigned short __b) {10324  return __builtin_s390_vmlhh(__a, __b);10325}10326 10327static inline __ATTRS_o_ai __vector signed int10328vec_mulh(__vector signed int __a, __vector signed int __b) {10329  return __builtin_s390_vmhf(__a, __b);10330}10331 10332static inline __ATTRS_o_ai __vector unsigned int10333vec_mulh(__vector unsigned int __a, __vector unsigned int __b) {10334  return __builtin_s390_vmlhf(__a, __b);10335}10336 10337#if __ARCH__ >= 1510338static inline __ATTRS_o_ai __vector signed long long10339vec_mulh(__vector signed long long __a, __vector signed long long __b) {10340  return __builtin_s390_vmhg(__a, __b);10341}10342 10343static inline __ATTRS_o_ai __vector unsigned long long10344vec_mulh(__vector unsigned long long __a, __vector unsigned long long __b) {10345  return __builtin_s390_vmlhg(__a, __b);10346}10347 10348static inline __ATTRS_o_ai __vector signed __int12810349vec_mulh(__vector signed __int128 __a, __vector signed __int128 __b) {10350  return (__vector signed __int128)10351         __builtin_s390_vmhq((signed __int128)__a, (signed __int128)__b);10352}10353 10354static inline __ATTRS_o_ai __vector unsigned __int12810355vec_mulh(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {10356  return (__vector unsigned __int128)10357         __builtin_s390_vmlhq((unsigned __int128)__a, (unsigned __int128)__b);10358}10359#endif10360 10361/*-- vec_mule ---------------------------------------------------------------*/10362 10363static inline __ATTRS_o_ai __vector signed short10364vec_mule(__vector signed char __a, __vector signed char __b) {10365  return __builtin_s390_vmeb(__a, __b);10366}10367 10368static inline __ATTRS_o_ai __vector unsigned short10369vec_mule(__vector unsigned char __a, __vector unsigned char __b) {10370  return __builtin_s390_vmleb(__a, __b);10371}10372 10373static inline __ATTRS_o_ai __vector signed int10374vec_mule(__vector signed short __a, __vector signed short __b) {10375  return __builtin_s390_vmeh(__a, __b);10376}10377 10378static inline __ATTRS_o_ai __vector unsigned int10379vec_mule(__vector unsigned short __a, __vector unsigned short __b) {10380  return __builtin_s390_vmleh(__a, __b);10381}10382 10383static inline __ATTRS_o_ai __vector signed long long10384vec_mule(__vector signed int __a, __vector signed int __b) {10385  return __builtin_s390_vmef(__a, __b);10386}10387 10388static inline __ATTRS_o_ai __vector unsigned long long10389vec_mule(__vector unsigned int __a, __vector unsigned int __b) {10390  return __builtin_s390_vmlef(__a, __b);10391}10392 10393#if __ARCH__ >= 1510394static inline __ATTRS_o_ai __vector signed __int12810395vec_mule(__vector signed long long __a, __vector signed long long __b) {10396  return (__vector signed __int128)__builtin_s390_vmeg(__a, __b);10397}10398 10399static inline __ATTRS_o_ai __vector unsigned __int12810400vec_mule(__vector unsigned long long __a, __vector unsigned long long __b) {10401  return (__vector unsigned __int128)__builtin_s390_vmleg(__a, __b);10402}10403#endif10404 10405/*-- vec_mulo ---------------------------------------------------------------*/10406 10407static inline __ATTRS_o_ai __vector signed short10408vec_mulo(__vector signed char __a, __vector signed char __b) {10409  return __builtin_s390_vmob(__a, __b);10410}10411 10412static inline __ATTRS_o_ai __vector unsigned short10413vec_mulo(__vector unsigned char __a, __vector unsigned char __b) {10414  return __builtin_s390_vmlob(__a, __b);10415}10416 10417static inline __ATTRS_o_ai __vector signed int10418vec_mulo(__vector signed short __a, __vector signed short __b) {10419  return __builtin_s390_vmoh(__a, __b);10420}10421 10422static inline __ATTRS_o_ai __vector unsigned int10423vec_mulo(__vector unsigned short __a, __vector unsigned short __b) {10424  return __builtin_s390_vmloh(__a, __b);10425}10426 10427static inline __ATTRS_o_ai __vector signed long long10428vec_mulo(__vector signed int __a, __vector signed int __b) {10429  return __builtin_s390_vmof(__a, __b);10430}10431 10432static inline __ATTRS_o_ai __vector unsigned long long10433vec_mulo(__vector unsigned int __a, __vector unsigned int __b) {10434  return __builtin_s390_vmlof(__a, __b);10435}10436 10437#if __ARCH__ >= 1510438static inline __ATTRS_o_ai __vector signed __int12810439vec_mulo(__vector signed long long __a, __vector signed long long __b) {10440  return (__vector signed __int128)__builtin_s390_vmog(__a, __b);10441}10442 10443static inline __ATTRS_o_ai __vector unsigned __int12810444vec_mulo(__vector unsigned long long __a, __vector unsigned long long __b) {10445  return (__vector unsigned __int128)__builtin_s390_vmlog(__a, __b);10446}10447#endif10448 10449/*-- vec_msum ---------------------------------------------------------------*/10450 10451#if __ARCH__ >= 1210452extern __ATTRS_o __vector unsigned __int12810453vec_msum(__vector unsigned long long __a, __vector unsigned long long __b,10454         __vector unsigned __int128 __c, int __d)10455  __constant_range(__d, 0, 15);10456 10457#define vec_msum(X, Y, Z, W) \10458  ((__typeof__((vec_msum)((X), (Y), (Z), (W)))) \10459   __builtin_s390_vmslg((X), (Y), (unsigned __int128)(Z), (W)))10460#endif10461 10462/*-- vec_msum_u128 ----------------------------------------------------------*/10463 10464#if __ARCH__ >= 1210465// This prototype is deprecated.10466extern __ATTRS_o __vector unsigned char10467vec_msum_u128(__vector unsigned long long __a, __vector unsigned long long __b,10468              __vector unsigned char __c, int __d)10469  __constant_range(__d, 0, 15);10470 10471#define vec_msum_u128(X, Y, Z, W) \10472  ((__typeof__((vec_msum_u128)((X), (Y), (Z), (W)))) \10473   (__vector unsigned __int128) \10474   __builtin_s390_vmslg((X), (Y), (unsigned __int128)(Z), (W)))10475#endif10476 10477/*-- vec_sub_u128 -----------------------------------------------------------*/10478 10479// This prototype is deprecated.10480static inline __ATTRS_ai __vector unsigned char10481vec_sub_u128(__vector unsigned char __a, __vector unsigned char __b) {10482  return (__vector unsigned char)(__vector unsigned __int128)10483         ((__int128)__a - (__int128)__b);10484}10485 10486/*-- vec_subc ---------------------------------------------------------------*/10487 10488static inline __ATTRS_o_ai __vector unsigned char10489vec_subc(__vector unsigned char __a, __vector unsigned char __b) {10490  return __builtin_s390_vscbib(__a, __b);10491}10492 10493static inline __ATTRS_o_ai __vector unsigned short10494vec_subc(__vector unsigned short __a, __vector unsigned short __b) {10495  return __builtin_s390_vscbih(__a, __b);10496}10497 10498static inline __ATTRS_o_ai __vector unsigned int10499vec_subc(__vector unsigned int __a, __vector unsigned int __b) {10500  return __builtin_s390_vscbif(__a, __b);10501}10502 10503static inline __ATTRS_o_ai __vector unsigned long long10504vec_subc(__vector unsigned long long __a, __vector unsigned long long __b) {10505  return __builtin_s390_vscbig(__a, __b);10506}10507 10508static inline __ATTRS_o_ai __vector unsigned __int12810509vec_subc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {10510  return (__vector unsigned __int128)10511         __builtin_s390_vscbiq((unsigned __int128)__a, (unsigned __int128)__b);10512}10513 10514/*-- vec_subc_u128 ----------------------------------------------------------*/10515 10516// This prototype is deprecated.10517static inline __ATTRS_ai __vector unsigned char10518vec_subc_u128(__vector unsigned char __a, __vector unsigned char __b) {10519  return (__vector unsigned char)(__vector unsigned __int128)10520         __builtin_s390_vscbiq((unsigned __int128)__a, (unsigned __int128)__b);10521}10522 10523/*-- vec_sube ---------------------------------------------------------------*/10524 10525static inline __ATTRS_ai __vector unsigned __int12810526vec_sube(__vector unsigned __int128 __a, __vector unsigned __int128 __b,10527         __vector unsigned __int128 __c) {10528  return (__vector unsigned __int128)10529         __builtin_s390_vsbiq((unsigned __int128)__a, (unsigned __int128)__b,10530                              (unsigned __int128)__c);10531}10532 10533/*-- vec_sube_u128 ----------------------------------------------------------*/10534 10535// This prototype is deprecated.10536static inline __ATTRS_ai __vector unsigned char10537vec_sube_u128(__vector unsigned char __a, __vector unsigned char __b,10538              __vector unsigned char __c) {10539  return (__vector unsigned char)(__vector unsigned __int128)10540         __builtin_s390_vsbiq((unsigned __int128)__a, (unsigned __int128)__b,10541                              (unsigned __int128)__c);10542}10543 10544/*-- vec_subec --------------------------------------------------------------*/10545 10546static inline __ATTRS_ai __vector unsigned __int12810547vec_subec(__vector unsigned __int128 __a, __vector unsigned __int128 __b,10548          __vector unsigned __int128 __c) {10549  return (__vector unsigned __int128)10550         __builtin_s390_vsbcbiq((unsigned __int128)__a, (unsigned __int128)__b,10551                                (unsigned __int128)__c);10552}10553 10554/*-- vec_subec_u128 ---------------------------------------------------------*/10555 10556// This prototype is deprecated.10557static inline __ATTRS_ai __vector unsigned char10558vec_subec_u128(__vector unsigned char __a, __vector unsigned char __b,10559               __vector unsigned char __c) {10560  return (__vector unsigned char)(__vector unsigned __int128)10561         __builtin_s390_vsbcbiq((unsigned __int128)__a, (unsigned __int128)__b,10562                                (unsigned __int128)__c);10563}10564 10565/*-- vec_sum2 ---------------------------------------------------------------*/10566 10567static inline __ATTRS_o_ai __vector unsigned long long10568vec_sum2(__vector unsigned short __a, __vector unsigned short __b) {10569  return __builtin_s390_vsumgh(__a, __b);10570}10571 10572static inline __ATTRS_o_ai __vector unsigned long long10573vec_sum2(__vector unsigned int __a, __vector unsigned int __b) {10574  return __builtin_s390_vsumgf(__a, __b);10575}10576 10577/*-- vec_sum ----------------------------------------------------------------*/10578 10579static inline __ATTRS_o_ai __vector unsigned __int12810580vec_sum(__vector unsigned int __a, __vector unsigned int __b) {10581  return (__vector unsigned __int128)__builtin_s390_vsumqf(__a, __b);10582}10583 10584static inline __ATTRS_o_ai __vector unsigned __int12810585vec_sum(__vector unsigned long long __a, __vector unsigned long long __b) {10586  return (__vector unsigned __int128)__builtin_s390_vsumqg(__a, __b);10587}10588 10589/*-- vec_sum_u128 -----------------------------------------------------------*/10590 10591// This prototype is deprecated.10592static inline __ATTRS_o_ai __vector unsigned char10593vec_sum_u128(__vector unsigned int __a, __vector unsigned int __b) {10594  return (__vector unsigned char)(__vector unsigned __int128)10595         __builtin_s390_vsumqf(__a, __b);10596}10597 10598// This prototype is deprecated.10599static inline __ATTRS_o_ai __vector unsigned char10600vec_sum_u128(__vector unsigned long long __a, __vector unsigned long long __b) {10601  return (__vector unsigned char)(__vector unsigned __int128)10602         __builtin_s390_vsumqg(__a, __b);10603}10604 10605/*-- vec_sum4 ---------------------------------------------------------------*/10606 10607static inline __ATTRS_o_ai __vector unsigned int10608vec_sum4(__vector unsigned char __a, __vector unsigned char __b) {10609  return __builtin_s390_vsumb(__a, __b);10610}10611 10612static inline __ATTRS_o_ai __vector unsigned int10613vec_sum4(__vector unsigned short __a, __vector unsigned short __b) {10614  return __builtin_s390_vsumh(__a, __b);10615}10616 10617/*-- vec_test_mask ----------------------------------------------------------*/10618 10619static inline __ATTRS_o_ai int10620vec_test_mask(__vector signed char __a, __vector unsigned char __b) {10621  return __builtin_s390_vtm((__vector unsigned char)__a,10622                            (__vector unsigned char)__b);10623}10624 10625static inline __ATTRS_o_ai int10626vec_test_mask(__vector unsigned char __a, __vector unsigned char __b) {10627  return __builtin_s390_vtm(__a, __b);10628}10629 10630static inline __ATTRS_o_ai int10631vec_test_mask(__vector signed short __a, __vector unsigned short __b) {10632  return __builtin_s390_vtm((__vector unsigned char)__a,10633                            (__vector unsigned char)__b);10634}10635 10636static inline __ATTRS_o_ai int10637vec_test_mask(__vector unsigned short __a, __vector unsigned short __b) {10638  return __builtin_s390_vtm((__vector unsigned char)__a,10639                            (__vector unsigned char)__b);10640}10641 10642static inline __ATTRS_o_ai int10643vec_test_mask(__vector signed int __a, __vector unsigned int __b) {10644  return __builtin_s390_vtm((__vector unsigned char)__a,10645                            (__vector unsigned char)__b);10646}10647 10648static inline __ATTRS_o_ai int10649vec_test_mask(__vector unsigned int __a, __vector unsigned int __b) {10650  return __builtin_s390_vtm((__vector unsigned char)__a,10651                            (__vector unsigned char)__b);10652}10653 10654static inline __ATTRS_o_ai int10655vec_test_mask(__vector signed long long __a, __vector unsigned long long __b) {10656  return __builtin_s390_vtm((__vector unsigned char)__a,10657                            (__vector unsigned char)__b);10658}10659 10660static inline __ATTRS_o_ai int10661vec_test_mask(__vector unsigned long long __a,10662              __vector unsigned long long __b) {10663  return __builtin_s390_vtm((__vector unsigned char)__a,10664                            (__vector unsigned char)__b);10665}10666 10667static inline __ATTRS_o_ai int10668vec_test_mask(__vector signed __int128 __a, __vector unsigned __int128 __b) {10669  return __builtin_s390_vtm((__vector unsigned char)__a,10670                            (__vector unsigned char)__b);10671}10672 10673static inline __ATTRS_o_ai int10674vec_test_mask(__vector unsigned __int128 __a,10675              __vector unsigned __int128 __b) {10676  return __builtin_s390_vtm((__vector unsigned char)__a,10677                            (__vector unsigned char)__b);10678}10679 10680#if __ARCH__ >= 1210681static inline __ATTRS_o_ai int10682vec_test_mask(__vector float __a, __vector unsigned int __b) {10683  return __builtin_s390_vtm((__vector unsigned char)__a,10684                            (__vector unsigned char)__b);10685}10686#endif10687 10688static inline __ATTRS_o_ai int10689vec_test_mask(__vector double __a, __vector unsigned long long __b) {10690  return __builtin_s390_vtm((__vector unsigned char)__a,10691                            (__vector unsigned char)__b);10692}10693 10694/*-- vec_madd ---------------------------------------------------------------*/10695 10696#if __ARCH__ >= 1210697static inline __ATTRS_o_ai __vector float10698vec_madd(__vector float __a, __vector float __b, __vector float __c) {10699  return __builtin_s390_vfmasb(__a, __b, __c);10700}10701#endif10702 10703static inline __ATTRS_o_ai __vector double10704vec_madd(__vector double __a, __vector double __b, __vector double __c) {10705  return __builtin_s390_vfmadb(__a, __b, __c);10706}10707 10708/*-- vec_msub ---------------------------------------------------------------*/10709 10710#if __ARCH__ >= 1210711static inline __ATTRS_o_ai __vector float10712vec_msub(__vector float __a, __vector float __b, __vector float __c) {10713  return __builtin_s390_vfmssb(__a, __b, __c);10714}10715#endif10716 10717static inline __ATTRS_o_ai __vector double10718vec_msub(__vector double __a, __vector double __b, __vector double __c) {10719  return __builtin_s390_vfmsdb(__a, __b, __c);10720}10721 10722/*-- vec_nmadd ---------------------------------------------------------------*/10723 10724#if __ARCH__ >= 1210725static inline __ATTRS_o_ai __vector float10726vec_nmadd(__vector float __a, __vector float __b, __vector float __c) {10727  return __builtin_s390_vfnmasb(__a, __b, __c);10728}10729 10730static inline __ATTRS_o_ai __vector double10731vec_nmadd(__vector double __a, __vector double __b, __vector double __c) {10732  return __builtin_s390_vfnmadb(__a, __b, __c);10733}10734#endif10735 10736/*-- vec_nmsub ---------------------------------------------------------------*/10737 10738#if __ARCH__ >= 1210739static inline __ATTRS_o_ai __vector float10740vec_nmsub(__vector float __a, __vector float __b, __vector float __c) {10741  return __builtin_s390_vfnmssb(__a, __b, __c);10742}10743 10744static inline __ATTRS_o_ai __vector double10745vec_nmsub(__vector double __a, __vector double __b, __vector double __c) {10746  return __builtin_s390_vfnmsdb(__a, __b, __c);10747}10748#endif10749 10750/*-- vec_sqrt ---------------------------------------------------------------*/10751 10752#if __ARCH__ >= 1210753static inline __ATTRS_o_ai __vector float10754vec_sqrt(__vector float __a) {10755  return __builtin_s390_vfsqsb(__a);10756}10757#endif10758 10759static inline __ATTRS_o_ai __vector double10760vec_sqrt(__vector double __a) {10761  return __builtin_s390_vfsqdb(__a);10762}10763 10764/*-- vec_ld2f ---------------------------------------------------------------*/10765 10766// This prototype is deprecated.10767static inline __ATTRS_ai __vector double10768vec_ld2f(const float *__ptr) {10769  typedef float __v2f32 __attribute__((__vector_size__(8)));10770  return __builtin_convertvector(*(const __v2f32 *)__ptr, __vector double);10771}10772 10773/*-- vec_st2f ---------------------------------------------------------------*/10774 10775// This prototype is deprecated.10776static inline __ATTRS_ai void10777vec_st2f(__vector double __a, float *__ptr) {10778  typedef float __v2f32 __attribute__((__vector_size__(8)));10779  *(__v2f32 *)__ptr = __builtin_convertvector(__a, __v2f32);10780}10781 10782/*-- vec_ctd ----------------------------------------------------------------*/10783 10784// This prototype is deprecated.10785static inline __ATTRS_o_ai __vector double10786vec_ctd(__vector signed long long __a, int __b)10787  __constant_range(__b, 0, 31) {10788  __vector double __conv = __builtin_convertvector(__a, __vector double);10789  __conv *= ((__vector double)(__vector unsigned long long)10790             ((0x3ffULL - __b) << 52));10791  return __conv;10792}10793 10794// This prototype is deprecated.10795static inline __ATTRS_o_ai __vector double10796vec_ctd(__vector unsigned long long __a, int __b)10797  __constant_range(__b, 0, 31) {10798  __vector double __conv = __builtin_convertvector(__a, __vector double);10799  __conv *= ((__vector double)(__vector unsigned long long)10800             ((0x3ffULL - __b) << 52));10801  return __conv;10802}10803 10804/*-- vec_ctsl ---------------------------------------------------------------*/10805 10806// This prototype is deprecated.10807static inline __ATTRS_o_ai __vector signed long long10808vec_ctsl(__vector double __a, int __b)10809  __constant_range(__b, 0, 31) {10810  __a *= ((__vector double)(__vector unsigned long long)10811          ((0x3ffULL + __b) << 52));10812  return __builtin_convertvector(__a, __vector signed long long);10813}10814 10815/*-- vec_ctul ---------------------------------------------------------------*/10816 10817// This prototype is deprecated.10818static inline __ATTRS_o_ai __vector unsigned long long10819vec_ctul(__vector double __a, int __b)10820  __constant_range(__b, 0, 31) {10821  __a *= ((__vector double)(__vector unsigned long long)10822          ((0x3ffULL + __b) << 52));10823  return __builtin_convertvector(__a, __vector unsigned long long);10824}10825 10826/*-- vec_doublee ------------------------------------------------------------*/10827 10828#if __ARCH__ >= 1210829static inline __ATTRS_ai __vector double10830vec_doublee(__vector float __a) {10831  typedef float __v2f32 __attribute__((__vector_size__(8)));10832  __v2f32 __pack = __builtin_shufflevector(__a, __a, 0, 2);10833  return __builtin_convertvector(__pack, __vector double);10834}10835#endif10836 10837/*-- vec_floate -------------------------------------------------------------*/10838 10839#if __ARCH__ >= 1210840static inline __ATTRS_ai __vector float10841vec_floate(__vector double __a) {10842  typedef float __v2f32 __attribute__((__vector_size__(8)));10843  __v2f32 __pack = __builtin_convertvector(__a, __v2f32);10844  return __builtin_shufflevector(__pack, __pack, 0, -1, 1, -1);10845}10846#endif10847 10848/*-- vec_double -------------------------------------------------------------*/10849 10850static inline __ATTRS_o_ai __vector double10851vec_double(__vector signed long long __a) {10852  return __builtin_convertvector(__a, __vector double);10853}10854 10855static inline __ATTRS_o_ai __vector double10856vec_double(__vector unsigned long long __a) {10857  return __builtin_convertvector(__a, __vector double);10858}10859 10860/*-- vec_float --------------------------------------------------------------*/10861 10862#if __ARCH__ >= 1310863 10864static inline __ATTRS_o_ai __vector float10865vec_float(__vector signed int __a) {10866  return __builtin_convertvector(__a, __vector float);10867}10868 10869static inline __ATTRS_o_ai __vector float10870vec_float(__vector unsigned int __a) {10871  return __builtin_convertvector(__a, __vector float);10872}10873 10874#endif10875 10876/*-- vec_signed -------------------------------------------------------------*/10877 10878static inline __ATTRS_o_ai __vector signed long long10879vec_signed(__vector double __a) {10880  return __builtin_convertvector(__a, __vector signed long long);10881}10882 10883#if __ARCH__ >= 1310884static inline __ATTRS_o_ai __vector signed int10885vec_signed(__vector float __a) {10886  return __builtin_convertvector(__a, __vector signed int);10887}10888#endif10889 10890/*-- vec_unsigned -----------------------------------------------------------*/10891 10892static inline __ATTRS_o_ai __vector unsigned long long10893vec_unsigned(__vector double __a) {10894  return __builtin_convertvector(__a, __vector unsigned long long);10895}10896 10897#if __ARCH__ >= 1310898static inline __ATTRS_o_ai __vector unsigned int10899vec_unsigned(__vector float __a) {10900  return __builtin_convertvector(__a, __vector unsigned int);10901}10902#endif10903 10904/*-- vec_roundp -------------------------------------------------------------*/10905 10906#if __ARCH__ >= 1210907static inline __ATTRS_o_ai __vector float10908vec_roundp(__vector float __a) {10909  return __builtin_s390_vfisb(__a, 4, 6);10910}10911#endif10912 10913static inline __ATTRS_o_ai __vector double10914vec_roundp(__vector double __a) {10915  return __builtin_s390_vfidb(__a, 4, 6);10916}10917 10918/*-- vec_ceil ---------------------------------------------------------------*/10919 10920#if __ARCH__ >= 1210921static inline __ATTRS_o_ai __vector float10922vec_ceil(__vector float __a) {10923  // On this platform, vec_ceil never triggers the IEEE-inexact exception.10924  return __builtin_s390_vfisb(__a, 4, 6);10925}10926#endif10927 10928static inline __ATTRS_o_ai __vector double10929vec_ceil(__vector double __a) {10930  // On this platform, vec_ceil never triggers the IEEE-inexact exception.10931  return __builtin_s390_vfidb(__a, 4, 6);10932}10933 10934/*-- vec_roundm -------------------------------------------------------------*/10935 10936#if __ARCH__ >= 1210937static inline __ATTRS_o_ai __vector float10938vec_roundm(__vector float __a) {10939  return __builtin_s390_vfisb(__a, 4, 7);10940}10941#endif10942 10943static inline __ATTRS_o_ai __vector double10944vec_roundm(__vector double __a) {10945  return __builtin_s390_vfidb(__a, 4, 7);10946}10947 10948/*-- vec_floor --------------------------------------------------------------*/10949 10950#if __ARCH__ >= 1210951static inline __ATTRS_o_ai __vector float10952vec_floor(__vector float __a) {10953  // On this platform, vec_floor never triggers the IEEE-inexact exception.10954  return __builtin_s390_vfisb(__a, 4, 7);10955}10956#endif10957 10958static inline __ATTRS_o_ai __vector double10959vec_floor(__vector double __a) {10960  // On this platform, vec_floor never triggers the IEEE-inexact exception.10961  return __builtin_s390_vfidb(__a, 4, 7);10962}10963 10964/*-- vec_roundz -------------------------------------------------------------*/10965 10966#if __ARCH__ >= 1210967static inline __ATTRS_o_ai __vector float10968vec_roundz(__vector float __a) {10969  return __builtin_s390_vfisb(__a, 4, 5);10970}10971#endif10972 10973static inline __ATTRS_o_ai __vector double10974vec_roundz(__vector double __a) {10975  return __builtin_s390_vfidb(__a, 4, 5);10976}10977 10978/*-- vec_trunc --------------------------------------------------------------*/10979 10980#if __ARCH__ >= 1210981static inline __ATTRS_o_ai __vector float10982vec_trunc(__vector float __a) {10983  // On this platform, vec_trunc never triggers the IEEE-inexact exception.10984  return __builtin_s390_vfisb(__a, 4, 5);10985}10986#endif10987 10988static inline __ATTRS_o_ai __vector double10989vec_trunc(__vector double __a) {10990  // On this platform, vec_trunc never triggers the IEEE-inexact exception.10991  return __builtin_s390_vfidb(__a, 4, 5);10992}10993 10994/*-- vec_roundc -------------------------------------------------------------*/10995 10996#if __ARCH__ >= 1210997static inline __ATTRS_o_ai __vector float10998vec_roundc(__vector float __a) {10999  return __builtin_s390_vfisb(__a, 4, 0);11000}11001#endif11002 11003static inline __ATTRS_o_ai __vector double11004vec_roundc(__vector double __a) {11005  return __builtin_s390_vfidb(__a, 4, 0);11006}11007 11008/*-- vec_rint ---------------------------------------------------------------*/11009 11010#if __ARCH__ >= 1211011static inline __ATTRS_o_ai __vector float11012vec_rint(__vector float __a) {11013  // vec_rint may trigger the IEEE-inexact exception.11014  return __builtin_s390_vfisb(__a, 0, 0);11015}11016#endif11017 11018static inline __ATTRS_o_ai __vector double11019vec_rint(__vector double __a) {11020  // vec_rint may trigger the IEEE-inexact exception.11021  return __builtin_s390_vfidb(__a, 0, 0);11022}11023 11024/*-- vec_round --------------------------------------------------------------*/11025 11026#if __ARCH__ >= 1211027static inline __ATTRS_o_ai __vector float11028vec_round(__vector float __a) {11029  return __builtin_s390_vfisb(__a, 4, 4);11030}11031#endif11032 11033static inline __ATTRS_o_ai __vector double11034vec_round(__vector double __a) {11035  return __builtin_s390_vfidb(__a, 4, 4);11036}11037 11038/*-- vec_fp_test_data_class -------------------------------------------------*/11039 11040#if __ARCH__ >= 1211041extern __ATTRS_o __vector __bool int11042vec_fp_test_data_class(__vector float __a, int __b, int *__c)11043  __constant_range(__b, 0, 4095);11044 11045extern __ATTRS_o __vector __bool long long11046vec_fp_test_data_class(__vector double __a, int __b, int *__c)11047  __constant_range(__b, 0, 4095);11048 11049#define vec_fp_test_data_class(X, Y, Z) \11050  ((__typeof__((vec_fp_test_data_class)((X), (Y), (Z)))) \11051   __extension__ ({ \11052     __vector unsigned char __res; \11053     __vector unsigned char __x = (__vector unsigned char)(X); \11054     int *__z = (Z); \11055     switch (sizeof ((X)[0])) { \11056     case 4:  __res = (__vector unsigned char) \11057                      __builtin_s390_vftcisb((__vector float)__x, (Y), __z); \11058              break; \11059     default: __res = (__vector unsigned char) \11060                      __builtin_s390_vftcidb((__vector double)__x, (Y), __z); \11061              break; \11062     } __res; }))11063#else11064#define vec_fp_test_data_class(X, Y, Z) \11065  ((__vector __bool long long)__builtin_s390_vftcidb((X), (Y), (Z)))11066#endif11067 11068#define __VEC_CLASS_FP_ZERO_P (1 << 11)11069#define __VEC_CLASS_FP_ZERO_N (1 << 10)11070#define __VEC_CLASS_FP_ZERO (__VEC_CLASS_FP_ZERO_P | __VEC_CLASS_FP_ZERO_N)11071#define __VEC_CLASS_FP_NORMAL_P (1 << 9)11072#define __VEC_CLASS_FP_NORMAL_N (1 << 8)11073#define __VEC_CLASS_FP_NORMAL (__VEC_CLASS_FP_NORMAL_P | \11074                               __VEC_CLASS_FP_NORMAL_N)11075#define __VEC_CLASS_FP_SUBNORMAL_P (1 << 7)11076#define __VEC_CLASS_FP_SUBNORMAL_N (1 << 6)11077#define __VEC_CLASS_FP_SUBNORMAL (__VEC_CLASS_FP_SUBNORMAL_P | \11078                                  __VEC_CLASS_FP_SUBNORMAL_N)11079#define __VEC_CLASS_FP_INFINITY_P (1 << 5)11080#define __VEC_CLASS_FP_INFINITY_N (1 << 4)11081#define __VEC_CLASS_FP_INFINITY (__VEC_CLASS_FP_INFINITY_P | \11082                                 __VEC_CLASS_FP_INFINITY_N)11083#define __VEC_CLASS_FP_QNAN_P (1 << 3)11084#define __VEC_CLASS_FP_QNAN_N (1 << 2)11085#define __VEC_CLASS_FP_QNAN (__VEC_CLASS_FP_QNAN_P | __VEC_CLASS_FP_QNAN_N)11086#define __VEC_CLASS_FP_SNAN_P (1 << 1)11087#define __VEC_CLASS_FP_SNAN_N (1 << 0)11088#define __VEC_CLASS_FP_SNAN (__VEC_CLASS_FP_SNAN_P | __VEC_CLASS_FP_SNAN_N)11089#define __VEC_CLASS_FP_NAN (__VEC_CLASS_FP_QNAN | __VEC_CLASS_FP_SNAN)11090#define __VEC_CLASS_FP_NOT_NORMAL (__VEC_CLASS_FP_NAN | \11091                                   __VEC_CLASS_FP_SUBNORMAL | \11092                                   __VEC_CLASS_FP_ZERO | \11093                                   __VEC_CLASS_FP_INFINITY)11094 11095/*-- vec_extend_to_fp32_hi --------------------------------------------------*/11096 11097#if __ARCH__ >= 1411098#define vec_extend_to_fp32_hi(X, W) \11099  ((__vector float)__builtin_s390_vclfnhs((X), (W)));11100#endif11101 11102/*-- vec_extend_to_fp32_hi --------------------------------------------------*/11103 11104#if __ARCH__ >= 1411105#define vec_extend_to_fp32_lo(X, W) \11106  ((__vector float)__builtin_s390_vclfnls((X), (W)));11107#endif11108 11109/*-- vec_round_from_fp32 ----------------------------------------------------*/11110 11111#if __ARCH__ >= 1411112#define vec_round_from_fp32(X, Y, W) \11113  ((__vector unsigned short)__builtin_s390_vcrnfs((X), (Y), (W)));11114#endif11115 11116/*-- vec_convert_to_fp16 ----------------------------------------------------*/11117 11118#if __ARCH__ >= 1411119#define vec_convert_to_fp16(X, W) \11120  ((__vector unsigned short)__builtin_s390_vcfn((X), (W)));11121#endif11122 11123/*-- vec_convert_from_fp16 --------------------------------------------------*/11124 11125#if __ARCH__ >= 1411126#define vec_convert_from_fp16(X, W) \11127  ((__vector unsigned short)__builtin_s390_vcnf((X), (W)));11128#endif11129 11130/*-- vec_cp_until_zero ------------------------------------------------------*/11131 11132static inline __ATTRS_o_ai __vector signed char11133vec_cp_until_zero(__vector signed char __a) {11134  return ((__vector signed char)11135          __builtin_s390_vistrb((__vector unsigned char)__a));11136}11137 11138static inline __ATTRS_o_ai __vector __bool char11139vec_cp_until_zero(__vector __bool char __a) {11140  return ((__vector __bool char)11141          __builtin_s390_vistrb((__vector unsigned char)__a));11142}11143 11144static inline __ATTRS_o_ai __vector unsigned char11145vec_cp_until_zero(__vector unsigned char __a) {11146  return __builtin_s390_vistrb(__a);11147}11148 11149static inline __ATTRS_o_ai __vector signed short11150vec_cp_until_zero(__vector signed short __a) {11151  return ((__vector signed short)11152          __builtin_s390_vistrh((__vector unsigned short)__a));11153}11154 11155static inline __ATTRS_o_ai __vector __bool short11156vec_cp_until_zero(__vector __bool short __a) {11157  return ((__vector __bool short)11158          __builtin_s390_vistrh((__vector unsigned short)__a));11159}11160 11161static inline __ATTRS_o_ai __vector unsigned short11162vec_cp_until_zero(__vector unsigned short __a) {11163  return __builtin_s390_vistrh(__a);11164}11165 11166static inline __ATTRS_o_ai __vector signed int11167vec_cp_until_zero(__vector signed int __a) {11168  return ((__vector signed int)11169          __builtin_s390_vistrf((__vector unsigned int)__a));11170}11171 11172static inline __ATTRS_o_ai __vector __bool int11173vec_cp_until_zero(__vector __bool int __a) {11174  return ((__vector __bool int)11175          __builtin_s390_vistrf((__vector unsigned int)__a));11176}11177 11178static inline __ATTRS_o_ai __vector unsigned int11179vec_cp_until_zero(__vector unsigned int __a) {11180  return __builtin_s390_vistrf(__a);11181}11182 11183/*-- vec_cp_until_zero_cc ---------------------------------------------------*/11184 11185static inline __ATTRS_o_ai __vector signed char11186vec_cp_until_zero_cc(__vector signed char __a, int *__cc) {11187  return (__vector signed char)11188    __builtin_s390_vistrbs((__vector unsigned char)__a, __cc);11189}11190 11191static inline __ATTRS_o_ai __vector __bool char11192vec_cp_until_zero_cc(__vector __bool char __a, int *__cc) {11193  return (__vector __bool char)11194    __builtin_s390_vistrbs((__vector unsigned char)__a, __cc);11195}11196 11197static inline __ATTRS_o_ai __vector unsigned char11198vec_cp_until_zero_cc(__vector unsigned char __a, int *__cc) {11199  return __builtin_s390_vistrbs(__a, __cc);11200}11201 11202static inline __ATTRS_o_ai __vector signed short11203vec_cp_until_zero_cc(__vector signed short __a, int *__cc) {11204  return (__vector signed short)11205    __builtin_s390_vistrhs((__vector unsigned short)__a, __cc);11206}11207 11208static inline __ATTRS_o_ai __vector __bool short11209vec_cp_until_zero_cc(__vector __bool short __a, int *__cc) {11210  return (__vector __bool short)11211    __builtin_s390_vistrhs((__vector unsigned short)__a, __cc);11212}11213 11214static inline __ATTRS_o_ai __vector unsigned short11215vec_cp_until_zero_cc(__vector unsigned short __a, int *__cc) {11216  return __builtin_s390_vistrhs(__a, __cc);11217}11218 11219static inline __ATTRS_o_ai __vector signed int11220vec_cp_until_zero_cc(__vector signed int __a, int *__cc) {11221  return (__vector signed int)11222    __builtin_s390_vistrfs((__vector unsigned int)__a, __cc);11223}11224 11225static inline __ATTRS_o_ai __vector __bool int11226vec_cp_until_zero_cc(__vector __bool int __a, int *__cc) {11227  return (__vector __bool int)11228    __builtin_s390_vistrfs((__vector unsigned int)__a, __cc);11229}11230 11231static inline __ATTRS_o_ai __vector unsigned int11232vec_cp_until_zero_cc(__vector unsigned int __a, int *__cc) {11233  return __builtin_s390_vistrfs(__a, __cc);11234}11235 11236/*-- vec_cmpeq_idx ----------------------------------------------------------*/11237 11238static inline __ATTRS_o_ai __vector signed char11239vec_cmpeq_idx(__vector signed char __a, __vector signed char __b) {11240  return (__vector signed char)11241    __builtin_s390_vfeeb((__vector unsigned char)__a,11242                         (__vector unsigned char)__b);11243}11244 11245static inline __ATTRS_o_ai __vector unsigned char11246vec_cmpeq_idx(__vector __bool char __a, __vector __bool char __b) {11247  return __builtin_s390_vfeeb((__vector unsigned char)__a,11248                              (__vector unsigned char)__b);11249}11250 11251static inline __ATTRS_o_ai __vector unsigned char11252vec_cmpeq_idx(__vector unsigned char __a, __vector unsigned char __b) {11253  return __builtin_s390_vfeeb(__a, __b);11254}11255 11256static inline __ATTRS_o_ai __vector signed short11257vec_cmpeq_idx(__vector signed short __a, __vector signed short __b) {11258  return (__vector signed short)11259    __builtin_s390_vfeeh((__vector unsigned short)__a,11260                         (__vector unsigned short)__b);11261}11262 11263static inline __ATTRS_o_ai __vector unsigned short11264vec_cmpeq_idx(__vector __bool short __a, __vector __bool short __b) {11265  return __builtin_s390_vfeeh((__vector unsigned short)__a,11266                              (__vector unsigned short)__b);11267}11268 11269static inline __ATTRS_o_ai __vector unsigned short11270vec_cmpeq_idx(__vector unsigned short __a, __vector unsigned short __b) {11271  return __builtin_s390_vfeeh(__a, __b);11272}11273 11274static inline __ATTRS_o_ai __vector signed int11275vec_cmpeq_idx(__vector signed int __a, __vector signed int __b) {11276  return (__vector signed int)11277    __builtin_s390_vfeef((__vector unsigned int)__a,11278                         (__vector unsigned int)__b);11279}11280 11281static inline __ATTRS_o_ai __vector unsigned int11282vec_cmpeq_idx(__vector __bool int __a, __vector __bool int __b) {11283  return __builtin_s390_vfeef((__vector unsigned int)__a,11284                              (__vector unsigned int)__b);11285}11286 11287static inline __ATTRS_o_ai __vector unsigned int11288vec_cmpeq_idx(__vector unsigned int __a, __vector unsigned int __b) {11289  return __builtin_s390_vfeef(__a, __b);11290}11291 11292/*-- vec_cmpeq_idx_cc -------------------------------------------------------*/11293 11294static inline __ATTRS_o_ai __vector signed char11295vec_cmpeq_idx_cc(__vector signed char __a, __vector signed char __b, int *__cc) {11296  return (__vector signed char)11297    __builtin_s390_vfeebs((__vector unsigned char)__a,11298                          (__vector unsigned char)__b, __cc);11299}11300 11301static inline __ATTRS_o_ai __vector unsigned char11302vec_cmpeq_idx_cc(__vector __bool char __a, __vector __bool char __b, int *__cc) {11303  return __builtin_s390_vfeebs((__vector unsigned char)__a,11304                               (__vector unsigned char)__b, __cc);11305}11306 11307static inline __ATTRS_o_ai __vector unsigned char11308vec_cmpeq_idx_cc(__vector unsigned char __a, __vector unsigned char __b,11309                 int *__cc) {11310  return __builtin_s390_vfeebs(__a, __b, __cc);11311}11312 11313static inline __ATTRS_o_ai __vector signed short11314vec_cmpeq_idx_cc(__vector signed short __a, __vector signed short __b,11315                 int *__cc) {11316  return (__vector signed short)11317    __builtin_s390_vfeehs((__vector unsigned short)__a,11318                          (__vector unsigned short)__b, __cc);11319}11320 11321static inline __ATTRS_o_ai __vector unsigned short11322vec_cmpeq_idx_cc(__vector __bool short __a, __vector __bool short __b, int *__cc) {11323  return __builtin_s390_vfeehs((__vector unsigned short)__a,11324                               (__vector unsigned short)__b, __cc);11325}11326 11327static inline __ATTRS_o_ai __vector unsigned short11328vec_cmpeq_idx_cc(__vector unsigned short __a, __vector unsigned short __b,11329                 int *__cc) {11330  return __builtin_s390_vfeehs(__a, __b, __cc);11331}11332 11333static inline __ATTRS_o_ai __vector signed int11334vec_cmpeq_idx_cc(__vector signed int __a, __vector signed int __b, int *__cc) {11335  return (__vector signed int)11336    __builtin_s390_vfeefs((__vector unsigned int)__a,11337                          (__vector unsigned int)__b, __cc);11338}11339 11340static inline __ATTRS_o_ai __vector unsigned int11341vec_cmpeq_idx_cc(__vector __bool int __a, __vector __bool int __b, int *__cc) {11342  return __builtin_s390_vfeefs((__vector unsigned int)__a,11343                               (__vector unsigned int)__b, __cc);11344}11345 11346static inline __ATTRS_o_ai __vector unsigned int11347vec_cmpeq_idx_cc(__vector unsigned int __a, __vector unsigned int __b,11348                 int *__cc) {11349  return __builtin_s390_vfeefs(__a, __b, __cc);11350}11351 11352/*-- vec_cmpeq_or_0_idx -----------------------------------------------------*/11353 11354static inline __ATTRS_o_ai __vector signed char11355vec_cmpeq_or_0_idx(__vector signed char __a, __vector signed char __b) {11356  return (__vector signed char)11357    __builtin_s390_vfeezb((__vector unsigned char)__a,11358                          (__vector unsigned char)__b);11359}11360 11361static inline __ATTRS_o_ai __vector unsigned char11362vec_cmpeq_or_0_idx(__vector __bool char __a, __vector __bool char __b) {11363  return __builtin_s390_vfeezb((__vector unsigned char)__a,11364                               (__vector unsigned char)__b);11365}11366 11367static inline __ATTRS_o_ai __vector unsigned char11368vec_cmpeq_or_0_idx(__vector unsigned char __a, __vector unsigned char __b) {11369  return __builtin_s390_vfeezb(__a, __b);11370}11371 11372static inline __ATTRS_o_ai __vector signed short11373vec_cmpeq_or_0_idx(__vector signed short __a, __vector signed short __b) {11374  return (__vector signed short)11375    __builtin_s390_vfeezh((__vector unsigned short)__a,11376                          (__vector unsigned short)__b);11377}11378 11379static inline __ATTRS_o_ai __vector unsigned short11380vec_cmpeq_or_0_idx(__vector __bool short __a, __vector __bool short __b) {11381  return __builtin_s390_vfeezh((__vector unsigned short)__a,11382                               (__vector unsigned short)__b);11383}11384 11385static inline __ATTRS_o_ai __vector unsigned short11386vec_cmpeq_or_0_idx(__vector unsigned short __a, __vector unsigned short __b) {11387  return __builtin_s390_vfeezh(__a, __b);11388}11389 11390static inline __ATTRS_o_ai __vector signed int11391vec_cmpeq_or_0_idx(__vector signed int __a, __vector signed int __b) {11392  return (__vector signed int)11393    __builtin_s390_vfeezf((__vector unsigned int)__a,11394                          (__vector unsigned int)__b);11395}11396 11397static inline __ATTRS_o_ai __vector unsigned int11398vec_cmpeq_or_0_idx(__vector __bool int __a, __vector __bool int __b) {11399  return __builtin_s390_vfeezf((__vector unsigned int)__a,11400                               (__vector unsigned int)__b);11401}11402 11403static inline __ATTRS_o_ai __vector unsigned int11404vec_cmpeq_or_0_idx(__vector unsigned int __a, __vector unsigned int __b) {11405  return __builtin_s390_vfeezf(__a, __b);11406}11407 11408/*-- vec_cmpeq_or_0_idx_cc --------------------------------------------------*/11409 11410static inline __ATTRS_o_ai __vector signed char11411vec_cmpeq_or_0_idx_cc(__vector signed char __a, __vector signed char __b,11412                      int *__cc) {11413  return (__vector signed char)11414    __builtin_s390_vfeezbs((__vector unsigned char)__a,11415                           (__vector unsigned char)__b, __cc);11416}11417 11418static inline __ATTRS_o_ai __vector unsigned char11419vec_cmpeq_or_0_idx_cc(__vector __bool char __a, __vector __bool char __b,11420                      int *__cc) {11421  return __builtin_s390_vfeezbs((__vector unsigned char)__a,11422                                (__vector unsigned char)__b, __cc);11423}11424 11425static inline __ATTRS_o_ai __vector unsigned char11426vec_cmpeq_or_0_idx_cc(__vector unsigned char __a, __vector unsigned char __b,11427                      int *__cc) {11428  return __builtin_s390_vfeezbs(__a, __b, __cc);11429}11430 11431static inline __ATTRS_o_ai __vector signed short11432vec_cmpeq_or_0_idx_cc(__vector signed short __a, __vector signed short __b,11433                      int *__cc) {11434  return (__vector signed short)11435    __builtin_s390_vfeezhs((__vector unsigned short)__a,11436                           (__vector unsigned short)__b, __cc);11437}11438 11439static inline __ATTRS_o_ai __vector unsigned short11440vec_cmpeq_or_0_idx_cc(__vector __bool short __a, __vector __bool short __b,11441                      int *__cc) {11442  return __builtin_s390_vfeezhs((__vector unsigned short)__a,11443                                (__vector unsigned short)__b, __cc);11444}11445 11446static inline __ATTRS_o_ai __vector unsigned short11447vec_cmpeq_or_0_idx_cc(__vector unsigned short __a, __vector unsigned short __b,11448                      int *__cc) {11449  return __builtin_s390_vfeezhs(__a, __b, __cc);11450}11451 11452static inline __ATTRS_o_ai __vector signed int11453vec_cmpeq_or_0_idx_cc(__vector signed int __a, __vector signed int __b,11454                      int *__cc) {11455  return (__vector signed int)11456    __builtin_s390_vfeezfs((__vector unsigned int)__a,11457                           (__vector unsigned int)__b, __cc);11458}11459 11460static inline __ATTRS_o_ai __vector unsigned int11461vec_cmpeq_or_0_idx_cc(__vector __bool int __a, __vector __bool int __b,11462                      int *__cc) {11463  return __builtin_s390_vfeezfs((__vector unsigned int)__a,11464                                (__vector unsigned int)__b, __cc);11465}11466 11467static inline __ATTRS_o_ai __vector unsigned int11468vec_cmpeq_or_0_idx_cc(__vector unsigned int __a, __vector unsigned int __b,11469                      int *__cc) {11470  return __builtin_s390_vfeezfs(__a, __b, __cc);11471}11472 11473/*-- vec_cmpne_idx ----------------------------------------------------------*/11474 11475static inline __ATTRS_o_ai __vector signed char11476vec_cmpne_idx(__vector signed char __a, __vector signed char __b) {11477  return (__vector signed char)11478    __builtin_s390_vfeneb((__vector unsigned char)__a,11479                          (__vector unsigned char)__b);11480}11481 11482static inline __ATTRS_o_ai __vector unsigned char11483vec_cmpne_idx(__vector __bool char __a, __vector __bool char __b) {11484  return __builtin_s390_vfeneb((__vector unsigned char)__a,11485                               (__vector unsigned char)__b);11486}11487 11488static inline __ATTRS_o_ai __vector unsigned char11489vec_cmpne_idx(__vector unsigned char __a, __vector unsigned char __b) {11490  return __builtin_s390_vfeneb(__a, __b);11491}11492 11493static inline __ATTRS_o_ai __vector signed short11494vec_cmpne_idx(__vector signed short __a, __vector signed short __b) {11495  return (__vector signed short)11496    __builtin_s390_vfeneh((__vector unsigned short)__a,11497                          (__vector unsigned short)__b);11498}11499 11500static inline __ATTRS_o_ai __vector unsigned short11501vec_cmpne_idx(__vector __bool short __a, __vector __bool short __b) {11502  return __builtin_s390_vfeneh((__vector unsigned short)__a,11503                               (__vector unsigned short)__b);11504}11505 11506static inline __ATTRS_o_ai __vector unsigned short11507vec_cmpne_idx(__vector unsigned short __a, __vector unsigned short __b) {11508  return __builtin_s390_vfeneh(__a, __b);11509}11510 11511static inline __ATTRS_o_ai __vector signed int11512vec_cmpne_idx(__vector signed int __a, __vector signed int __b) {11513  return (__vector signed int)11514    __builtin_s390_vfenef((__vector unsigned int)__a,11515                          (__vector unsigned int)__b);11516}11517 11518static inline __ATTRS_o_ai __vector unsigned int11519vec_cmpne_idx(__vector __bool int __a, __vector __bool int __b) {11520  return __builtin_s390_vfenef((__vector unsigned int)__a,11521                               (__vector unsigned int)__b);11522}11523 11524static inline __ATTRS_o_ai __vector unsigned int11525vec_cmpne_idx(__vector unsigned int __a, __vector unsigned int __b) {11526  return __builtin_s390_vfenef(__a, __b);11527}11528 11529/*-- vec_cmpne_idx_cc -------------------------------------------------------*/11530 11531static inline __ATTRS_o_ai __vector signed char11532vec_cmpne_idx_cc(__vector signed char __a, __vector signed char __b, int *__cc) {11533  return (__vector signed char)11534    __builtin_s390_vfenebs((__vector unsigned char)__a,11535                           (__vector unsigned char)__b, __cc);11536}11537 11538static inline __ATTRS_o_ai __vector unsigned char11539vec_cmpne_idx_cc(__vector __bool char __a, __vector __bool char __b, int *__cc) {11540  return __builtin_s390_vfenebs((__vector unsigned char)__a,11541                                (__vector unsigned char)__b, __cc);11542}11543 11544static inline __ATTRS_o_ai __vector unsigned char11545vec_cmpne_idx_cc(__vector unsigned char __a, __vector unsigned char __b,11546                 int *__cc) {11547  return __builtin_s390_vfenebs(__a, __b, __cc);11548}11549 11550static inline __ATTRS_o_ai __vector signed short11551vec_cmpne_idx_cc(__vector signed short __a, __vector signed short __b,11552                 int *__cc) {11553  return (__vector signed short)11554    __builtin_s390_vfenehs((__vector unsigned short)__a,11555                           (__vector unsigned short)__b, __cc);11556}11557 11558static inline __ATTRS_o_ai __vector unsigned short11559vec_cmpne_idx_cc(__vector __bool short __a, __vector __bool short __b,11560                 int *__cc) {11561  return __builtin_s390_vfenehs((__vector unsigned short)__a,11562                                (__vector unsigned short)__b, __cc);11563}11564 11565static inline __ATTRS_o_ai __vector unsigned short11566vec_cmpne_idx_cc(__vector unsigned short __a, __vector unsigned short __b,11567                 int *__cc) {11568  return __builtin_s390_vfenehs(__a, __b, __cc);11569}11570 11571static inline __ATTRS_o_ai __vector signed int11572vec_cmpne_idx_cc(__vector signed int __a, __vector signed int __b, int *__cc) {11573  return (__vector signed int)11574    __builtin_s390_vfenefs((__vector unsigned int)__a,11575                           (__vector unsigned int)__b, __cc);11576}11577 11578static inline __ATTRS_o_ai __vector unsigned int11579vec_cmpne_idx_cc(__vector __bool int __a, __vector __bool int __b, int *__cc) {11580  return __builtin_s390_vfenefs((__vector unsigned int)__a,11581                                (__vector unsigned int)__b, __cc);11582}11583 11584static inline __ATTRS_o_ai __vector unsigned int11585vec_cmpne_idx_cc(__vector unsigned int __a, __vector unsigned int __b,11586                 int *__cc) {11587  return __builtin_s390_vfenefs(__a, __b, __cc);11588}11589 11590/*-- vec_cmpne_or_0_idx -----------------------------------------------------*/11591 11592static inline __ATTRS_o_ai __vector signed char11593vec_cmpne_or_0_idx(__vector signed char __a, __vector signed char __b) {11594  return (__vector signed char)11595    __builtin_s390_vfenezb((__vector unsigned char)__a,11596                           (__vector unsigned char)__b);11597}11598 11599static inline __ATTRS_o_ai __vector unsigned char11600vec_cmpne_or_0_idx(__vector __bool char __a, __vector __bool char __b) {11601  return __builtin_s390_vfenezb((__vector unsigned char)__a,11602                                (__vector unsigned char)__b);11603}11604 11605static inline __ATTRS_o_ai __vector unsigned char11606vec_cmpne_or_0_idx(__vector unsigned char __a, __vector unsigned char __b) {11607  return __builtin_s390_vfenezb(__a, __b);11608}11609 11610static inline __ATTRS_o_ai __vector signed short11611vec_cmpne_or_0_idx(__vector signed short __a, __vector signed short __b) {11612  return (__vector signed short)11613    __builtin_s390_vfenezh((__vector unsigned short)__a,11614                           (__vector unsigned short)__b);11615}11616 11617static inline __ATTRS_o_ai __vector unsigned short11618vec_cmpne_or_0_idx(__vector __bool short __a, __vector __bool short __b) {11619  return __builtin_s390_vfenezh((__vector unsigned short)__a,11620                                (__vector unsigned short)__b);11621}11622 11623static inline __ATTRS_o_ai __vector unsigned short11624vec_cmpne_or_0_idx(__vector unsigned short __a, __vector unsigned short __b) {11625  return __builtin_s390_vfenezh(__a, __b);11626}11627 11628static inline __ATTRS_o_ai __vector signed int11629vec_cmpne_or_0_idx(__vector signed int __a, __vector signed int __b) {11630  return (__vector signed int)11631    __builtin_s390_vfenezf((__vector unsigned int)__a,11632                           (__vector unsigned int)__b);11633}11634 11635static inline __ATTRS_o_ai __vector unsigned int11636vec_cmpne_or_0_idx(__vector __bool int __a, __vector __bool int __b) {11637  return __builtin_s390_vfenezf((__vector unsigned int)__a,11638                                (__vector unsigned int)__b);11639}11640 11641static inline __ATTRS_o_ai __vector unsigned int11642vec_cmpne_or_0_idx(__vector unsigned int __a, __vector unsigned int __b) {11643  return __builtin_s390_vfenezf(__a, __b);11644}11645 11646/*-- vec_cmpne_or_0_idx_cc --------------------------------------------------*/11647 11648static inline __ATTRS_o_ai __vector signed char11649vec_cmpne_or_0_idx_cc(__vector signed char __a, __vector signed char __b,11650                      int *__cc) {11651  return (__vector signed char)11652    __builtin_s390_vfenezbs((__vector unsigned char)__a,11653                            (__vector unsigned char)__b, __cc);11654}11655 11656static inline __ATTRS_o_ai __vector unsigned char11657vec_cmpne_or_0_idx_cc(__vector __bool char __a, __vector __bool char __b,11658                      int *__cc) {11659  return __builtin_s390_vfenezbs((__vector unsigned char)__a,11660                                 (__vector unsigned char)__b, __cc);11661}11662 11663static inline __ATTRS_o_ai __vector unsigned char11664vec_cmpne_or_0_idx_cc(__vector unsigned char __a, __vector unsigned char __b,11665                      int *__cc) {11666  return __builtin_s390_vfenezbs(__a, __b, __cc);11667}11668 11669static inline __ATTRS_o_ai __vector signed short11670vec_cmpne_or_0_idx_cc(__vector signed short __a, __vector signed short __b,11671                      int *__cc) {11672  return (__vector signed short)11673    __builtin_s390_vfenezhs((__vector unsigned short)__a,11674                            (__vector unsigned short)__b, __cc);11675}11676 11677static inline __ATTRS_o_ai __vector unsigned short11678vec_cmpne_or_0_idx_cc(__vector __bool short __a, __vector __bool short __b,11679                      int *__cc) {11680  return __builtin_s390_vfenezhs((__vector unsigned short)__a,11681                                 (__vector unsigned short)__b, __cc);11682}11683 11684static inline __ATTRS_o_ai __vector unsigned short11685vec_cmpne_or_0_idx_cc(__vector unsigned short __a, __vector unsigned short __b,11686                      int *__cc) {11687  return __builtin_s390_vfenezhs(__a, __b, __cc);11688}11689 11690static inline __ATTRS_o_ai __vector signed int11691vec_cmpne_or_0_idx_cc(__vector signed int __a, __vector signed int __b,11692                      int *__cc) {11693  return (__vector signed int)11694    __builtin_s390_vfenezfs((__vector unsigned int)__a,11695                            (__vector unsigned int)__b, __cc);11696}11697 11698static inline __ATTRS_o_ai __vector unsigned int11699vec_cmpne_or_0_idx_cc(__vector __bool int __a, __vector __bool int __b,11700                      int *__cc) {11701  return __builtin_s390_vfenezfs((__vector unsigned int)__a,11702                                 (__vector unsigned int)__b, __cc);11703}11704 11705static inline __ATTRS_o_ai __vector unsigned int11706vec_cmpne_or_0_idx_cc(__vector unsigned int __a, __vector unsigned int __b,11707                      int *__cc) {11708  return __builtin_s390_vfenezfs(__a, __b, __cc);11709}11710 11711/*-- vec_cmprg --------------------------------------------------------------*/11712 11713static inline __ATTRS_o_ai __vector __bool char11714vec_cmprg(__vector unsigned char __a, __vector unsigned char __b,11715          __vector unsigned char __c) {11716  return (__vector __bool char)__builtin_s390_vstrcb(__a, __b, __c, 4);11717}11718 11719static inline __ATTRS_o_ai __vector __bool short11720vec_cmprg(__vector unsigned short __a, __vector unsigned short __b,11721          __vector unsigned short __c) {11722  return (__vector __bool short)__builtin_s390_vstrch(__a, __b, __c, 4);11723}11724 11725static inline __ATTRS_o_ai __vector __bool int11726vec_cmprg(__vector unsigned int __a, __vector unsigned int __b,11727          __vector unsigned int __c) {11728  return (__vector __bool int)__builtin_s390_vstrcf(__a, __b, __c, 4);11729}11730 11731/*-- vec_cmprg_cc -----------------------------------------------------------*/11732 11733static inline __ATTRS_o_ai __vector __bool char11734vec_cmprg_cc(__vector unsigned char __a, __vector unsigned char __b,11735             __vector unsigned char __c, int *__cc) {11736  return (__vector __bool char)__builtin_s390_vstrcbs(__a, __b, __c, 4, __cc);11737}11738 11739static inline __ATTRS_o_ai __vector __bool short11740vec_cmprg_cc(__vector unsigned short __a, __vector unsigned short __b,11741             __vector unsigned short __c, int *__cc) {11742  return (__vector __bool short)__builtin_s390_vstrchs(__a, __b, __c, 4, __cc);11743}11744 11745static inline __ATTRS_o_ai __vector __bool int11746vec_cmprg_cc(__vector unsigned int __a, __vector unsigned int __b,11747             __vector unsigned int __c, int *__cc) {11748  return (__vector __bool int)__builtin_s390_vstrcfs(__a, __b, __c, 4, __cc);11749}11750 11751/*-- vec_cmprg_idx ----------------------------------------------------------*/11752 11753static inline __ATTRS_o_ai __vector unsigned char11754vec_cmprg_idx(__vector unsigned char __a, __vector unsigned char __b,11755              __vector unsigned char __c) {11756  return __builtin_s390_vstrcb(__a, __b, __c, 0);11757}11758 11759static inline __ATTRS_o_ai __vector unsigned short11760vec_cmprg_idx(__vector unsigned short __a, __vector unsigned short __b,11761              __vector unsigned short __c) {11762  return __builtin_s390_vstrch(__a, __b, __c, 0);11763}11764 11765static inline __ATTRS_o_ai __vector unsigned int11766vec_cmprg_idx(__vector unsigned int __a, __vector unsigned int __b,11767              __vector unsigned int __c) {11768  return __builtin_s390_vstrcf(__a, __b, __c, 0);11769}11770 11771/*-- vec_cmprg_idx_cc -------------------------------------------------------*/11772 11773static inline __ATTRS_o_ai __vector unsigned char11774vec_cmprg_idx_cc(__vector unsigned char __a, __vector unsigned char __b,11775                 __vector unsigned char __c, int *__cc) {11776  return __builtin_s390_vstrcbs(__a, __b, __c, 0, __cc);11777}11778 11779static inline __ATTRS_o_ai __vector unsigned short11780vec_cmprg_idx_cc(__vector unsigned short __a, __vector unsigned short __b,11781                 __vector unsigned short __c, int *__cc) {11782  return __builtin_s390_vstrchs(__a, __b, __c, 0, __cc);11783}11784 11785static inline __ATTRS_o_ai __vector unsigned int11786vec_cmprg_idx_cc(__vector unsigned int __a, __vector unsigned int __b,11787                 __vector unsigned int __c, int *__cc) {11788  return __builtin_s390_vstrcfs(__a, __b, __c, 0, __cc);11789}11790 11791/*-- vec_cmprg_or_0_idx -----------------------------------------------------*/11792 11793static inline __ATTRS_o_ai __vector unsigned char11794vec_cmprg_or_0_idx(__vector unsigned char __a, __vector unsigned char __b,11795                   __vector unsigned char __c) {11796  return __builtin_s390_vstrczb(__a, __b, __c, 0);11797}11798 11799static inline __ATTRS_o_ai __vector unsigned short11800vec_cmprg_or_0_idx(__vector unsigned short __a, __vector unsigned short __b,11801                   __vector unsigned short __c) {11802  return __builtin_s390_vstrczh(__a, __b, __c, 0);11803}11804 11805static inline __ATTRS_o_ai __vector unsigned int11806vec_cmprg_or_0_idx(__vector unsigned int __a, __vector unsigned int __b,11807                   __vector unsigned int __c) {11808  return __builtin_s390_vstrczf(__a, __b, __c, 0);11809}11810 11811/*-- vec_cmprg_or_0_idx_cc --------------------------------------------------*/11812 11813static inline __ATTRS_o_ai __vector unsigned char11814vec_cmprg_or_0_idx_cc(__vector unsigned char __a, __vector unsigned char __b,11815                      __vector unsigned char __c, int *__cc) {11816  return __builtin_s390_vstrczbs(__a, __b, __c, 0, __cc);11817}11818 11819static inline __ATTRS_o_ai __vector unsigned short11820vec_cmprg_or_0_idx_cc(__vector unsigned short __a, __vector unsigned short __b,11821                      __vector unsigned short __c, int *__cc) {11822  return __builtin_s390_vstrczhs(__a, __b, __c, 0, __cc);11823}11824 11825static inline __ATTRS_o_ai __vector unsigned int11826vec_cmprg_or_0_idx_cc(__vector unsigned int __a, __vector unsigned int __b,11827                      __vector unsigned int __c, int *__cc) {11828  return __builtin_s390_vstrczfs(__a, __b, __c, 0, __cc);11829}11830 11831/*-- vec_cmpnrg -------------------------------------------------------------*/11832 11833static inline __ATTRS_o_ai __vector __bool char11834vec_cmpnrg(__vector unsigned char __a, __vector unsigned char __b,11835           __vector unsigned char __c) {11836  return (__vector __bool char)__builtin_s390_vstrcb(__a, __b, __c, 12);11837}11838 11839static inline __ATTRS_o_ai __vector __bool short11840vec_cmpnrg(__vector unsigned short __a, __vector unsigned short __b,11841           __vector unsigned short __c) {11842  return (__vector __bool short)__builtin_s390_vstrch(__a, __b, __c, 12);11843}11844 11845static inline __ATTRS_o_ai __vector __bool int11846vec_cmpnrg(__vector unsigned int __a, __vector unsigned int __b,11847           __vector unsigned int __c) {11848  return (__vector __bool int)__builtin_s390_vstrcf(__a, __b, __c, 12);11849}11850 11851/*-- vec_cmpnrg_cc ----------------------------------------------------------*/11852 11853static inline __ATTRS_o_ai __vector __bool char11854vec_cmpnrg_cc(__vector unsigned char __a, __vector unsigned char __b,11855              __vector unsigned char __c, int *__cc) {11856  return (__vector __bool char)11857    __builtin_s390_vstrcbs(__a, __b, __c, 12, __cc);11858}11859 11860static inline __ATTRS_o_ai __vector __bool short11861vec_cmpnrg_cc(__vector unsigned short __a, __vector unsigned short __b,11862              __vector unsigned short __c, int *__cc) {11863  return (__vector __bool short)11864    __builtin_s390_vstrchs(__a, __b, __c, 12, __cc);11865}11866 11867static inline __ATTRS_o_ai __vector __bool int11868vec_cmpnrg_cc(__vector unsigned int __a, __vector unsigned int __b,11869              __vector unsigned int __c, int *__cc) {11870  return (__vector __bool int)11871    __builtin_s390_vstrcfs(__a, __b, __c, 12, __cc);11872}11873 11874/*-- vec_cmpnrg_idx ---------------------------------------------------------*/11875 11876static inline __ATTRS_o_ai __vector unsigned char11877vec_cmpnrg_idx(__vector unsigned char __a, __vector unsigned char __b,11878               __vector unsigned char __c) {11879  return __builtin_s390_vstrcb(__a, __b, __c, 8);11880}11881 11882static inline __ATTRS_o_ai __vector unsigned short11883vec_cmpnrg_idx(__vector unsigned short __a, __vector unsigned short __b,11884               __vector unsigned short __c) {11885  return __builtin_s390_vstrch(__a, __b, __c, 8);11886}11887 11888static inline __ATTRS_o_ai __vector unsigned int11889vec_cmpnrg_idx(__vector unsigned int __a, __vector unsigned int __b,11890               __vector unsigned int __c) {11891  return __builtin_s390_vstrcf(__a, __b, __c, 8);11892}11893 11894/*-- vec_cmpnrg_idx_cc ------------------------------------------------------*/11895 11896static inline __ATTRS_o_ai __vector unsigned char11897vec_cmpnrg_idx_cc(__vector unsigned char __a, __vector unsigned char __b,11898                  __vector unsigned char __c, int *__cc) {11899  return __builtin_s390_vstrcbs(__a, __b, __c, 8, __cc);11900}11901 11902static inline __ATTRS_o_ai __vector unsigned short11903vec_cmpnrg_idx_cc(__vector unsigned short __a, __vector unsigned short __b,11904                  __vector unsigned short __c, int *__cc) {11905  return __builtin_s390_vstrchs(__a, __b, __c, 8, __cc);11906}11907 11908static inline __ATTRS_o_ai __vector unsigned int11909vec_cmpnrg_idx_cc(__vector unsigned int __a, __vector unsigned int __b,11910                  __vector unsigned int __c, int *__cc) {11911  return __builtin_s390_vstrcfs(__a, __b, __c, 8, __cc);11912}11913 11914/*-- vec_cmpnrg_or_0_idx ----------------------------------------------------*/11915 11916static inline __ATTRS_o_ai __vector unsigned char11917vec_cmpnrg_or_0_idx(__vector unsigned char __a, __vector unsigned char __b,11918                    __vector unsigned char __c) {11919  return __builtin_s390_vstrczb(__a, __b, __c, 8);11920}11921 11922static inline __ATTRS_o_ai __vector unsigned short11923vec_cmpnrg_or_0_idx(__vector unsigned short __a, __vector unsigned short __b,11924                    __vector unsigned short __c) {11925  return __builtin_s390_vstrczh(__a, __b, __c, 8);11926}11927 11928static inline __ATTRS_o_ai __vector unsigned int11929vec_cmpnrg_or_0_idx(__vector unsigned int __a, __vector unsigned int __b,11930                    __vector unsigned int __c) {11931  return __builtin_s390_vstrczf(__a, __b, __c, 8);11932}11933 11934/*-- vec_cmpnrg_or_0_idx_cc -------------------------------------------------*/11935 11936static inline __ATTRS_o_ai __vector unsigned char11937vec_cmpnrg_or_0_idx_cc(__vector unsigned char __a,11938                       __vector unsigned char __b,11939                       __vector unsigned char __c, int *__cc) {11940  return __builtin_s390_vstrczbs(__a, __b, __c, 8, __cc);11941}11942 11943static inline __ATTRS_o_ai __vector unsigned short11944vec_cmpnrg_or_0_idx_cc(__vector unsigned short __a,11945                       __vector unsigned short __b,11946                       __vector unsigned short __c, int *__cc) {11947  return __builtin_s390_vstrczhs(__a, __b, __c, 8, __cc);11948}11949 11950static inline __ATTRS_o_ai __vector unsigned int11951vec_cmpnrg_or_0_idx_cc(__vector unsigned int __a,11952                       __vector unsigned int __b,11953                       __vector unsigned int __c, int *__cc) {11954  return __builtin_s390_vstrczfs(__a, __b, __c, 8, __cc);11955}11956 11957/*-- vec_find_any_eq --------------------------------------------------------*/11958 11959static inline __ATTRS_o_ai __vector __bool char11960vec_find_any_eq(__vector signed char __a, __vector signed char __b) {11961  return (__vector __bool char)11962    __builtin_s390_vfaeb((__vector unsigned char)__a,11963                         (__vector unsigned char)__b, 4);11964}11965 11966static inline __ATTRS_o_ai __vector __bool char11967vec_find_any_eq(__vector __bool char __a, __vector __bool char __b) {11968  return (__vector __bool char)11969    __builtin_s390_vfaeb((__vector unsigned char)__a,11970                         (__vector unsigned char)__b, 4);11971}11972 11973static inline __ATTRS_o_ai __vector __bool char11974vec_find_any_eq(__vector unsigned char __a, __vector unsigned char __b) {11975  return (__vector __bool char)__builtin_s390_vfaeb(__a, __b, 4);11976}11977 11978static inline __ATTRS_o_ai __vector __bool short11979vec_find_any_eq(__vector signed short __a, __vector signed short __b) {11980  return (__vector __bool short)11981    __builtin_s390_vfaeh((__vector unsigned short)__a,11982                         (__vector unsigned short)__b, 4);11983}11984 11985static inline __ATTRS_o_ai __vector __bool short11986vec_find_any_eq(__vector __bool short __a, __vector __bool short __b) {11987  return (__vector __bool short)11988    __builtin_s390_vfaeh((__vector unsigned short)__a,11989                         (__vector unsigned short)__b, 4);11990}11991 11992static inline __ATTRS_o_ai __vector __bool short11993vec_find_any_eq(__vector unsigned short __a, __vector unsigned short __b) {11994  return (__vector __bool short)__builtin_s390_vfaeh(__a, __b, 4);11995}11996 11997static inline __ATTRS_o_ai __vector __bool int11998vec_find_any_eq(__vector signed int __a, __vector signed int __b) {11999  return (__vector __bool int)12000    __builtin_s390_vfaef((__vector unsigned int)__a,12001                         (__vector unsigned int)__b, 4);12002}12003 12004static inline __ATTRS_o_ai __vector __bool int12005vec_find_any_eq(__vector __bool int __a, __vector __bool int __b) {12006  return (__vector __bool int)12007    __builtin_s390_vfaef((__vector unsigned int)__a,12008                         (__vector unsigned int)__b, 4);12009}12010 12011static inline __ATTRS_o_ai __vector __bool int12012vec_find_any_eq(__vector unsigned int __a, __vector unsigned int __b) {12013  return (__vector __bool int)__builtin_s390_vfaef(__a, __b, 4);12014}12015 12016/*-- vec_find_any_eq_cc -----------------------------------------------------*/12017 12018static inline __ATTRS_o_ai __vector __bool char12019vec_find_any_eq_cc(__vector signed char __a, __vector signed char __b,12020                   int *__cc) {12021  return (__vector __bool char)12022    __builtin_s390_vfaebs((__vector unsigned char)__a,12023                          (__vector unsigned char)__b, 4, __cc);12024}12025 12026static inline __ATTRS_o_ai __vector __bool char12027vec_find_any_eq_cc(__vector __bool char __a, __vector __bool char __b,12028                   int *__cc) {12029  return (__vector __bool char)12030    __builtin_s390_vfaebs((__vector unsigned char)__a,12031                          (__vector unsigned char)__b, 4, __cc);12032}12033 12034static inline __ATTRS_o_ai __vector __bool char12035vec_find_any_eq_cc(__vector unsigned char __a, __vector unsigned char __b,12036                   int *__cc) {12037  return (__vector __bool char)__builtin_s390_vfaebs(__a, __b, 4, __cc);12038}12039 12040static inline __ATTRS_o_ai __vector __bool short12041vec_find_any_eq_cc(__vector signed short __a, __vector signed short __b,12042                   int *__cc) {12043  return (__vector __bool short)12044    __builtin_s390_vfaehs((__vector unsigned short)__a,12045                          (__vector unsigned short)__b, 4, __cc);12046}12047 12048static inline __ATTRS_o_ai __vector __bool short12049vec_find_any_eq_cc(__vector __bool short __a, __vector __bool short __b,12050                   int *__cc) {12051  return (__vector __bool short)12052    __builtin_s390_vfaehs((__vector unsigned short)__a,12053                          (__vector unsigned short)__b, 4, __cc);12054}12055 12056static inline __ATTRS_o_ai __vector __bool short12057vec_find_any_eq_cc(__vector unsigned short __a, __vector unsigned short __b,12058                   int *__cc) {12059  return (__vector __bool short)__builtin_s390_vfaehs(__a, __b, 4, __cc);12060}12061 12062static inline __ATTRS_o_ai __vector __bool int12063vec_find_any_eq_cc(__vector signed int __a, __vector signed int __b,12064                   int *__cc) {12065  return (__vector __bool int)12066    __builtin_s390_vfaefs((__vector unsigned int)__a,12067                          (__vector unsigned int)__b, 4, __cc);12068}12069 12070static inline __ATTRS_o_ai __vector __bool int12071vec_find_any_eq_cc(__vector __bool int __a, __vector __bool int __b,12072                   int *__cc) {12073  return (__vector __bool int)12074    __builtin_s390_vfaefs((__vector unsigned int)__a,12075                          (__vector unsigned int)__b, 4, __cc);12076}12077 12078static inline __ATTRS_o_ai __vector __bool int12079vec_find_any_eq_cc(__vector unsigned int __a, __vector unsigned int __b,12080                   int *__cc) {12081  return (__vector __bool int)__builtin_s390_vfaefs(__a, __b, 4, __cc);12082}12083 12084/*-- vec_find_any_eq_idx ----------------------------------------------------*/12085 12086static inline __ATTRS_o_ai __vector signed char12087vec_find_any_eq_idx(__vector signed char __a, __vector signed char __b) {12088  return (__vector signed char)12089    __builtin_s390_vfaeb((__vector unsigned char)__a,12090                         (__vector unsigned char)__b, 0);12091}12092 12093static inline __ATTRS_o_ai __vector unsigned char12094vec_find_any_eq_idx(__vector __bool char __a, __vector __bool char __b) {12095  return __builtin_s390_vfaeb((__vector unsigned char)__a,12096                              (__vector unsigned char)__b, 0);12097}12098 12099static inline __ATTRS_o_ai __vector unsigned char12100vec_find_any_eq_idx(__vector unsigned char __a, __vector unsigned char __b) {12101  return __builtin_s390_vfaeb(__a, __b, 0);12102}12103 12104static inline __ATTRS_o_ai __vector signed short12105vec_find_any_eq_idx(__vector signed short __a, __vector signed short __b) {12106  return (__vector signed short)12107    __builtin_s390_vfaeh((__vector unsigned short)__a,12108                         (__vector unsigned short)__b, 0);12109}12110 12111static inline __ATTRS_o_ai __vector unsigned short12112vec_find_any_eq_idx(__vector __bool short __a, __vector __bool short __b) {12113  return __builtin_s390_vfaeh((__vector unsigned short)__a,12114                              (__vector unsigned short)__b, 0);12115}12116 12117static inline __ATTRS_o_ai __vector unsigned short12118vec_find_any_eq_idx(__vector unsigned short __a, __vector unsigned short __b) {12119  return __builtin_s390_vfaeh(__a, __b, 0);12120}12121 12122static inline __ATTRS_o_ai __vector signed int12123vec_find_any_eq_idx(__vector signed int __a, __vector signed int __b) {12124  return (__vector signed int)12125    __builtin_s390_vfaef((__vector unsigned int)__a,12126                         (__vector unsigned int)__b, 0);12127}12128 12129static inline __ATTRS_o_ai __vector unsigned int12130vec_find_any_eq_idx(__vector __bool int __a, __vector __bool int __b) {12131  return __builtin_s390_vfaef((__vector unsigned int)__a,12132                              (__vector unsigned int)__b, 0);12133}12134 12135static inline __ATTRS_o_ai __vector unsigned int12136vec_find_any_eq_idx(__vector unsigned int __a, __vector unsigned int __b) {12137  return __builtin_s390_vfaef(__a, __b, 0);12138}12139 12140/*-- vec_find_any_eq_idx_cc -------------------------------------------------*/12141 12142static inline __ATTRS_o_ai __vector signed char12143vec_find_any_eq_idx_cc(__vector signed char __a,12144                       __vector signed char __b, int *__cc) {12145  return (__vector signed char)12146    __builtin_s390_vfaebs((__vector unsigned char)__a,12147                          (__vector unsigned char)__b, 0, __cc);12148}12149 12150static inline __ATTRS_o_ai __vector unsigned char12151vec_find_any_eq_idx_cc(__vector __bool char __a,12152                       __vector __bool char __b, int *__cc) {12153  return __builtin_s390_vfaebs((__vector unsigned char)__a,12154                               (__vector unsigned char)__b, 0, __cc);12155}12156 12157static inline __ATTRS_o_ai __vector unsigned char12158vec_find_any_eq_idx_cc(__vector unsigned char __a,12159                       __vector unsigned char __b, int *__cc) {12160  return __builtin_s390_vfaebs(__a, __b, 0, __cc);12161}12162 12163static inline __ATTRS_o_ai __vector signed short12164vec_find_any_eq_idx_cc(__vector signed short __a,12165                       __vector signed short __b, int *__cc) {12166  return (__vector signed short)12167    __builtin_s390_vfaehs((__vector unsigned short)__a,12168                          (__vector unsigned short)__b, 0, __cc);12169}12170 12171static inline __ATTRS_o_ai __vector unsigned short12172vec_find_any_eq_idx_cc(__vector __bool short __a,12173                       __vector __bool short __b, int *__cc) {12174  return __builtin_s390_vfaehs((__vector unsigned short)__a,12175                               (__vector unsigned short)__b, 0, __cc);12176}12177 12178static inline __ATTRS_o_ai __vector unsigned short12179vec_find_any_eq_idx_cc(__vector unsigned short __a,12180                       __vector unsigned short __b, int *__cc) {12181  return __builtin_s390_vfaehs(__a, __b, 0, __cc);12182}12183 12184static inline __ATTRS_o_ai __vector signed int12185vec_find_any_eq_idx_cc(__vector signed int __a,12186                       __vector signed int __b, int *__cc) {12187  return (__vector signed int)12188    __builtin_s390_vfaefs((__vector unsigned int)__a,12189                          (__vector unsigned int)__b, 0, __cc);12190}12191 12192static inline __ATTRS_o_ai __vector unsigned int12193vec_find_any_eq_idx_cc(__vector __bool int __a,12194                       __vector __bool int __b, int *__cc) {12195  return __builtin_s390_vfaefs((__vector unsigned int)__a,12196                               (__vector unsigned int)__b, 0, __cc);12197}12198 12199static inline __ATTRS_o_ai __vector unsigned int12200vec_find_any_eq_idx_cc(__vector unsigned int __a,12201                       __vector unsigned int __b, int *__cc) {12202  return __builtin_s390_vfaefs(__a, __b, 0, __cc);12203}12204 12205/*-- vec_find_any_eq_or_0_idx -----------------------------------------------*/12206 12207static inline __ATTRS_o_ai __vector signed char12208vec_find_any_eq_or_0_idx(__vector signed char __a,12209                         __vector signed char __b) {12210  return (__vector signed char)12211    __builtin_s390_vfaezb((__vector unsigned char)__a,12212                          (__vector unsigned char)__b, 0);12213}12214 12215static inline __ATTRS_o_ai __vector unsigned char12216vec_find_any_eq_or_0_idx(__vector __bool char __a,12217                         __vector __bool char __b) {12218  return __builtin_s390_vfaezb((__vector unsigned char)__a,12219                               (__vector unsigned char)__b, 0);12220}12221 12222static inline __ATTRS_o_ai __vector unsigned char12223vec_find_any_eq_or_0_idx(__vector unsigned char __a,12224                         __vector unsigned char __b) {12225  return __builtin_s390_vfaezb(__a, __b, 0);12226}12227 12228static inline __ATTRS_o_ai __vector signed short12229vec_find_any_eq_or_0_idx(__vector signed short __a,12230                         __vector signed short __b) {12231  return (__vector signed short)12232    __builtin_s390_vfaezh((__vector unsigned short)__a,12233                          (__vector unsigned short)__b, 0);12234}12235 12236static inline __ATTRS_o_ai __vector unsigned short12237vec_find_any_eq_or_0_idx(__vector __bool short __a,12238                         __vector __bool short __b) {12239  return __builtin_s390_vfaezh((__vector unsigned short)__a,12240                               (__vector unsigned short)__b, 0);12241}12242 12243static inline __ATTRS_o_ai __vector unsigned short12244vec_find_any_eq_or_0_idx(__vector unsigned short __a,12245                         __vector unsigned short __b) {12246  return __builtin_s390_vfaezh(__a, __b, 0);12247}12248 12249static inline __ATTRS_o_ai __vector signed int12250vec_find_any_eq_or_0_idx(__vector signed int __a,12251                         __vector signed int __b) {12252  return (__vector signed int)12253    __builtin_s390_vfaezf((__vector unsigned int)__a,12254                          (__vector unsigned int)__b, 0);12255}12256 12257static inline __ATTRS_o_ai __vector unsigned int12258vec_find_any_eq_or_0_idx(__vector __bool int __a,12259                         __vector __bool int __b) {12260  return __builtin_s390_vfaezf((__vector unsigned int)__a,12261                               (__vector unsigned int)__b, 0);12262}12263 12264static inline __ATTRS_o_ai __vector unsigned int12265vec_find_any_eq_or_0_idx(__vector unsigned int __a,12266                         __vector unsigned int __b) {12267  return __builtin_s390_vfaezf(__a, __b, 0);12268}12269 12270/*-- vec_find_any_eq_or_0_idx_cc --------------------------------------------*/12271 12272static inline __ATTRS_o_ai __vector signed char12273vec_find_any_eq_or_0_idx_cc(__vector signed char __a,12274                            __vector signed char __b, int *__cc) {12275  return (__vector signed char)12276    __builtin_s390_vfaezbs((__vector unsigned char)__a,12277                           (__vector unsigned char)__b, 0, __cc);12278}12279 12280static inline __ATTRS_o_ai __vector unsigned char12281vec_find_any_eq_or_0_idx_cc(__vector __bool char __a,12282                            __vector __bool char __b, int *__cc) {12283  return __builtin_s390_vfaezbs((__vector unsigned char)__a,12284                                (__vector unsigned char)__b, 0, __cc);12285}12286 12287static inline __ATTRS_o_ai __vector unsigned char12288vec_find_any_eq_or_0_idx_cc(__vector unsigned char __a,12289                            __vector unsigned char __b, int *__cc) {12290  return __builtin_s390_vfaezbs(__a, __b, 0, __cc);12291}12292 12293static inline __ATTRS_o_ai __vector signed short12294vec_find_any_eq_or_0_idx_cc(__vector signed short __a,12295                            __vector signed short __b, int *__cc) {12296  return (__vector signed short)12297    __builtin_s390_vfaezhs((__vector unsigned short)__a,12298                           (__vector unsigned short)__b, 0, __cc);12299}12300 12301static inline __ATTRS_o_ai __vector unsigned short12302vec_find_any_eq_or_0_idx_cc(__vector __bool short __a,12303                            __vector __bool short __b, int *__cc) {12304  return __builtin_s390_vfaezhs((__vector unsigned short)__a,12305                                (__vector unsigned short)__b, 0, __cc);12306}12307 12308static inline __ATTRS_o_ai __vector unsigned short12309vec_find_any_eq_or_0_idx_cc(__vector unsigned short __a,12310                            __vector unsigned short __b, int *__cc) {12311  return __builtin_s390_vfaezhs(__a, __b, 0, __cc);12312}12313 12314static inline __ATTRS_o_ai __vector signed int12315vec_find_any_eq_or_0_idx_cc(__vector signed int __a,12316                            __vector signed int __b, int *__cc) {12317  return (__vector signed int)12318    __builtin_s390_vfaezfs((__vector unsigned int)__a,12319                           (__vector unsigned int)__b, 0, __cc);12320}12321 12322static inline __ATTRS_o_ai __vector unsigned int12323vec_find_any_eq_or_0_idx_cc(__vector __bool int __a,12324                            __vector __bool int __b, int *__cc) {12325  return __builtin_s390_vfaezfs((__vector unsigned int)__a,12326                                (__vector unsigned int)__b, 0, __cc);12327}12328 12329static inline __ATTRS_o_ai __vector unsigned int12330vec_find_any_eq_or_0_idx_cc(__vector unsigned int __a,12331                            __vector unsigned int __b, int *__cc) {12332  return __builtin_s390_vfaezfs(__a, __b, 0, __cc);12333}12334 12335/*-- vec_find_any_ne --------------------------------------------------------*/12336 12337static inline __ATTRS_o_ai __vector __bool char12338vec_find_any_ne(__vector signed char __a, __vector signed char __b) {12339  return (__vector __bool char)12340    __builtin_s390_vfaeb((__vector unsigned char)__a,12341                         (__vector unsigned char)__b, 12);12342}12343 12344static inline __ATTRS_o_ai __vector __bool char12345vec_find_any_ne(__vector __bool char __a, __vector __bool char __b) {12346  return (__vector __bool char)12347    __builtin_s390_vfaeb((__vector unsigned char)__a,12348                         (__vector unsigned char)__b, 12);12349}12350 12351static inline __ATTRS_o_ai __vector __bool char12352vec_find_any_ne(__vector unsigned char __a, __vector unsigned char __b) {12353  return (__vector __bool char)__builtin_s390_vfaeb(__a, __b, 12);12354}12355 12356static inline __ATTRS_o_ai __vector __bool short12357vec_find_any_ne(__vector signed short __a, __vector signed short __b) {12358  return (__vector __bool short)12359    __builtin_s390_vfaeh((__vector unsigned short)__a,12360                         (__vector unsigned short)__b, 12);12361}12362 12363static inline __ATTRS_o_ai __vector __bool short12364vec_find_any_ne(__vector __bool short __a, __vector __bool short __b) {12365  return (__vector __bool short)12366    __builtin_s390_vfaeh((__vector unsigned short)__a,12367                         (__vector unsigned short)__b, 12);12368}12369 12370static inline __ATTRS_o_ai __vector __bool short12371vec_find_any_ne(__vector unsigned short __a, __vector unsigned short __b) {12372  return (__vector __bool short)__builtin_s390_vfaeh(__a, __b, 12);12373}12374 12375static inline __ATTRS_o_ai __vector __bool int12376vec_find_any_ne(__vector signed int __a, __vector signed int __b) {12377  return (__vector __bool int)12378    __builtin_s390_vfaef((__vector unsigned int)__a,12379                         (__vector unsigned int)__b, 12);12380}12381 12382static inline __ATTRS_o_ai __vector __bool int12383vec_find_any_ne(__vector __bool int __a, __vector __bool int __b) {12384  return (__vector __bool int)12385    __builtin_s390_vfaef((__vector unsigned int)__a,12386                         (__vector unsigned int)__b, 12);12387}12388 12389static inline __ATTRS_o_ai __vector __bool int12390vec_find_any_ne(__vector unsigned int __a, __vector unsigned int __b) {12391  return (__vector __bool int)__builtin_s390_vfaef(__a, __b, 12);12392}12393 12394/*-- vec_find_any_ne_cc -----------------------------------------------------*/12395 12396static inline __ATTRS_o_ai __vector __bool char12397vec_find_any_ne_cc(__vector signed char __a,12398                   __vector signed char __b, int *__cc) {12399  return (__vector __bool char)12400    __builtin_s390_vfaebs((__vector unsigned char)__a,12401                          (__vector unsigned char)__b, 12, __cc);12402}12403 12404static inline __ATTRS_o_ai __vector __bool char12405vec_find_any_ne_cc(__vector __bool char __a,12406                   __vector __bool char __b, int *__cc) {12407  return (__vector __bool char)12408    __builtin_s390_vfaebs((__vector unsigned char)__a,12409                          (__vector unsigned char)__b, 12, __cc);12410}12411 12412static inline __ATTRS_o_ai __vector __bool char12413vec_find_any_ne_cc(__vector unsigned char __a,12414                   __vector unsigned char __b, int *__cc) {12415  return (__vector __bool char)__builtin_s390_vfaebs(__a, __b, 12, __cc);12416}12417 12418static inline __ATTRS_o_ai __vector __bool short12419vec_find_any_ne_cc(__vector signed short __a,12420                   __vector signed short __b, int *__cc) {12421  return (__vector __bool short)12422    __builtin_s390_vfaehs((__vector unsigned short)__a,12423                          (__vector unsigned short)__b, 12, __cc);12424}12425 12426static inline __ATTRS_o_ai __vector __bool short12427vec_find_any_ne_cc(__vector __bool short __a,12428                   __vector __bool short __b, int *__cc) {12429  return (__vector __bool short)12430    __builtin_s390_vfaehs((__vector unsigned short)__a,12431                          (__vector unsigned short)__b, 12, __cc);12432}12433 12434static inline __ATTRS_o_ai __vector __bool short12435vec_find_any_ne_cc(__vector unsigned short __a,12436                   __vector unsigned short __b, int *__cc) {12437  return (__vector __bool short)__builtin_s390_vfaehs(__a, __b, 12, __cc);12438}12439 12440static inline __ATTRS_o_ai __vector __bool int12441vec_find_any_ne_cc(__vector signed int __a,12442                   __vector signed int __b, int *__cc) {12443  return (__vector __bool int)12444    __builtin_s390_vfaefs((__vector unsigned int)__a,12445                          (__vector unsigned int)__b, 12, __cc);12446}12447 12448static inline __ATTRS_o_ai __vector __bool int12449vec_find_any_ne_cc(__vector __bool int __a,12450                   __vector __bool int __b, int *__cc) {12451  return (__vector __bool int)12452    __builtin_s390_vfaefs((__vector unsigned int)__a,12453                          (__vector unsigned int)__b, 12, __cc);12454}12455 12456static inline __ATTRS_o_ai __vector __bool int12457vec_find_any_ne_cc(__vector unsigned int __a,12458                   __vector unsigned int __b, int *__cc) {12459  return (__vector __bool int)__builtin_s390_vfaefs(__a, __b, 12, __cc);12460}12461 12462/*-- vec_find_any_ne_idx ----------------------------------------------------*/12463 12464static inline __ATTRS_o_ai __vector signed char12465vec_find_any_ne_idx(__vector signed char __a, __vector signed char __b) {12466  return (__vector signed char)12467    __builtin_s390_vfaeb((__vector unsigned char)__a,12468                         (__vector unsigned char)__b, 8);12469}12470 12471static inline __ATTRS_o_ai __vector unsigned char12472vec_find_any_ne_idx(__vector __bool char __a, __vector __bool char __b) {12473  return __builtin_s390_vfaeb((__vector unsigned char)__a,12474                              (__vector unsigned char)__b, 8);12475}12476 12477static inline __ATTRS_o_ai __vector unsigned char12478vec_find_any_ne_idx(__vector unsigned char __a, __vector unsigned char __b) {12479  return __builtin_s390_vfaeb(__a, __b, 8);12480}12481 12482static inline __ATTRS_o_ai __vector signed short12483vec_find_any_ne_idx(__vector signed short __a, __vector signed short __b) {12484  return (__vector signed short)12485    __builtin_s390_vfaeh((__vector unsigned short)__a,12486                         (__vector unsigned short)__b, 8);12487}12488 12489static inline __ATTRS_o_ai __vector unsigned short12490vec_find_any_ne_idx(__vector __bool short __a, __vector __bool short __b) {12491  return __builtin_s390_vfaeh((__vector unsigned short)__a,12492                              (__vector unsigned short)__b, 8);12493}12494 12495static inline __ATTRS_o_ai __vector unsigned short12496vec_find_any_ne_idx(__vector unsigned short __a, __vector unsigned short __b) {12497  return __builtin_s390_vfaeh(__a, __b, 8);12498}12499 12500static inline __ATTRS_o_ai __vector signed int12501vec_find_any_ne_idx(__vector signed int __a, __vector signed int __b) {12502  return (__vector signed int)12503    __builtin_s390_vfaef((__vector unsigned int)__a,12504                         (__vector unsigned int)__b, 8);12505}12506 12507static inline __ATTRS_o_ai __vector unsigned int12508vec_find_any_ne_idx(__vector __bool int __a, __vector __bool int __b) {12509  return __builtin_s390_vfaef((__vector unsigned int)__a,12510                              (__vector unsigned int)__b, 8);12511}12512 12513static inline __ATTRS_o_ai __vector unsigned int12514vec_find_any_ne_idx(__vector unsigned int __a, __vector unsigned int __b) {12515  return __builtin_s390_vfaef(__a, __b, 8);12516}12517 12518/*-- vec_find_any_ne_idx_cc -------------------------------------------------*/12519 12520static inline __ATTRS_o_ai __vector signed char12521vec_find_any_ne_idx_cc(__vector signed char __a,12522                       __vector signed char __b, int *__cc) {12523  return (__vector signed char)12524    __builtin_s390_vfaebs((__vector unsigned char)__a,12525                          (__vector unsigned char)__b, 8, __cc);12526}12527 12528static inline __ATTRS_o_ai __vector unsigned char12529vec_find_any_ne_idx_cc(__vector __bool char __a,12530                       __vector __bool char __b, int *__cc) {12531  return __builtin_s390_vfaebs((__vector unsigned char)__a,12532                               (__vector unsigned char)__b, 8, __cc);12533}12534 12535static inline __ATTRS_o_ai __vector unsigned char12536vec_find_any_ne_idx_cc(__vector unsigned char __a,12537                       __vector unsigned char __b,12538                       int *__cc) {12539  return __builtin_s390_vfaebs(__a, __b, 8, __cc);12540}12541 12542static inline __ATTRS_o_ai __vector signed short12543vec_find_any_ne_idx_cc(__vector signed short __a,12544                       __vector signed short __b, int *__cc) {12545  return (__vector signed short)12546    __builtin_s390_vfaehs((__vector unsigned short)__a,12547                          (__vector unsigned short)__b, 8, __cc);12548}12549 12550static inline __ATTRS_o_ai __vector unsigned short12551vec_find_any_ne_idx_cc(__vector __bool short __a,12552                       __vector __bool short __b, int *__cc) {12553  return __builtin_s390_vfaehs((__vector unsigned short)__a,12554                               (__vector unsigned short)__b, 8, __cc);12555}12556 12557static inline __ATTRS_o_ai __vector unsigned short12558vec_find_any_ne_idx_cc(__vector unsigned short __a,12559                       __vector unsigned short __b, int *__cc) {12560  return __builtin_s390_vfaehs(__a, __b, 8, __cc);12561}12562 12563static inline __ATTRS_o_ai __vector signed int12564vec_find_any_ne_idx_cc(__vector signed int __a,12565                       __vector signed int __b, int *__cc) {12566  return (__vector signed int)12567    __builtin_s390_vfaefs((__vector unsigned int)__a,12568                          (__vector unsigned int)__b, 8, __cc);12569}12570 12571static inline __ATTRS_o_ai __vector unsigned int12572vec_find_any_ne_idx_cc(__vector __bool int __a,12573                       __vector __bool int __b, int *__cc) {12574  return __builtin_s390_vfaefs((__vector unsigned int)__a,12575                               (__vector unsigned int)__b, 8, __cc);12576}12577 12578static inline __ATTRS_o_ai __vector unsigned int12579vec_find_any_ne_idx_cc(__vector unsigned int __a,12580                       __vector unsigned int __b, int *__cc) {12581  return __builtin_s390_vfaefs(__a, __b, 8, __cc);12582}12583 12584/*-- vec_find_any_ne_or_0_idx -----------------------------------------------*/12585 12586static inline __ATTRS_o_ai __vector signed char12587vec_find_any_ne_or_0_idx(__vector signed char __a,12588                         __vector signed char __b) {12589  return (__vector signed char)12590    __builtin_s390_vfaezb((__vector unsigned char)__a,12591                          (__vector unsigned char)__b, 8);12592}12593 12594static inline __ATTRS_o_ai __vector unsigned char12595vec_find_any_ne_or_0_idx(__vector __bool char __a,12596                         __vector __bool char __b) {12597  return __builtin_s390_vfaezb((__vector unsigned char)__a,12598                               (__vector unsigned char)__b, 8);12599}12600 12601static inline __ATTRS_o_ai __vector unsigned char12602vec_find_any_ne_or_0_idx(__vector unsigned char __a,12603                         __vector unsigned char __b) {12604  return __builtin_s390_vfaezb(__a, __b, 8);12605}12606 12607static inline __ATTRS_o_ai __vector signed short12608vec_find_any_ne_or_0_idx(__vector signed short __a,12609                         __vector signed short __b) {12610  return (__vector signed short)12611    __builtin_s390_vfaezh((__vector unsigned short)__a,12612                          (__vector unsigned short)__b, 8);12613}12614 12615static inline __ATTRS_o_ai __vector unsigned short12616vec_find_any_ne_or_0_idx(__vector __bool short __a,12617                         __vector __bool short __b) {12618  return __builtin_s390_vfaezh((__vector unsigned short)__a,12619                               (__vector unsigned short)__b, 8);12620}12621 12622static inline __ATTRS_o_ai __vector unsigned short12623vec_find_any_ne_or_0_idx(__vector unsigned short __a,12624                         __vector unsigned short __b) {12625  return __builtin_s390_vfaezh(__a, __b, 8);12626}12627 12628static inline __ATTRS_o_ai __vector signed int12629vec_find_any_ne_or_0_idx(__vector signed int __a,12630                         __vector signed int __b) {12631  return (__vector signed int)12632    __builtin_s390_vfaezf((__vector unsigned int)__a,12633                          (__vector unsigned int)__b, 8);12634}12635 12636static inline __ATTRS_o_ai __vector unsigned int12637vec_find_any_ne_or_0_idx(__vector __bool int __a,12638                         __vector __bool int __b) {12639  return __builtin_s390_vfaezf((__vector unsigned int)__a,12640                               (__vector unsigned int)__b, 8);12641}12642 12643static inline __ATTRS_o_ai __vector unsigned int12644vec_find_any_ne_or_0_idx(__vector unsigned int __a,12645                         __vector unsigned int __b) {12646  return __builtin_s390_vfaezf(__a, __b, 8);12647}12648 12649/*-- vec_find_any_ne_or_0_idx_cc --------------------------------------------*/12650 12651static inline __ATTRS_o_ai __vector signed char12652vec_find_any_ne_or_0_idx_cc(__vector signed char __a,12653                            __vector signed char __b, int *__cc) {12654  return (__vector signed char)12655    __builtin_s390_vfaezbs((__vector unsigned char)__a,12656                           (__vector unsigned char)__b, 8, __cc);12657}12658 12659static inline __ATTRS_o_ai __vector unsigned char12660vec_find_any_ne_or_0_idx_cc(__vector __bool char __a,12661                            __vector __bool char __b, int *__cc) {12662  return __builtin_s390_vfaezbs((__vector unsigned char)__a,12663                                (__vector unsigned char)__b, 8, __cc);12664}12665 12666static inline __ATTRS_o_ai __vector unsigned char12667vec_find_any_ne_or_0_idx_cc(__vector unsigned char __a,12668                            __vector unsigned char __b, int *__cc) {12669  return __builtin_s390_vfaezbs(__a, __b, 8, __cc);12670}12671 12672static inline __ATTRS_o_ai __vector signed short12673vec_find_any_ne_or_0_idx_cc(__vector signed short __a,12674                            __vector signed short __b, int *__cc) {12675  return (__vector signed short)12676    __builtin_s390_vfaezhs((__vector unsigned short)__a,12677                           (__vector unsigned short)__b, 8, __cc);12678}12679 12680static inline __ATTRS_o_ai __vector unsigned short12681vec_find_any_ne_or_0_idx_cc(__vector __bool short __a,12682                            __vector __bool short __b, int *__cc) {12683  return __builtin_s390_vfaezhs((__vector unsigned short)__a,12684                                (__vector unsigned short)__b, 8, __cc);12685}12686 12687static inline __ATTRS_o_ai __vector unsigned short12688vec_find_any_ne_or_0_idx_cc(__vector unsigned short __a,12689                            __vector unsigned short __b, int *__cc) {12690  return __builtin_s390_vfaezhs(__a, __b, 8, __cc);12691}12692 12693static inline __ATTRS_o_ai __vector signed int12694vec_find_any_ne_or_0_idx_cc(__vector signed int __a,12695                            __vector signed int __b, int *__cc) {12696  return (__vector signed int)12697    __builtin_s390_vfaezfs((__vector unsigned int)__a,12698                           (__vector unsigned int)__b, 8, __cc);12699}12700 12701static inline __ATTRS_o_ai __vector unsigned int12702vec_find_any_ne_or_0_idx_cc(__vector __bool int __a,12703                            __vector __bool int __b, int *__cc) {12704  return __builtin_s390_vfaezfs((__vector unsigned int)__a,12705                                (__vector unsigned int)__b, 8, __cc);12706}12707 12708static inline __ATTRS_o_ai __vector unsigned int12709vec_find_any_ne_or_0_idx_cc(__vector unsigned int __a,12710                            __vector unsigned int __b, int *__cc) {12711  return __builtin_s390_vfaezfs(__a, __b, 8, __cc);12712}12713 12714/*-- vec_search_string_cc ---------------------------------------------------*/12715 12716#if __ARCH__ >= 1312717 12718static inline __ATTRS_o_ai __vector unsigned char12719vec_search_string_cc(__vector signed char __a, __vector signed char __b,12720                     __vector unsigned char __c, int *__cc) {12721  return __builtin_s390_vstrsb((__vector unsigned char)__a,12722                               (__vector unsigned char)__b, __c, __cc);12723}12724 12725static inline __ATTRS_o_ai __vector unsigned char12726vec_search_string_cc(__vector __bool char __a, __vector __bool char __b,12727                     __vector unsigned char __c, int *__cc) {12728  return __builtin_s390_vstrsb((__vector unsigned char)__a,12729                               (__vector unsigned char)__b, __c, __cc);12730}12731 12732static inline __ATTRS_o_ai __vector unsigned char12733vec_search_string_cc(__vector unsigned char __a, __vector unsigned char __b,12734                     __vector unsigned char __c, int *__cc) {12735  return __builtin_s390_vstrsb(__a, __b, __c, __cc);12736}12737 12738static inline __ATTRS_o_ai __vector unsigned char12739vec_search_string_cc(__vector signed short __a, __vector signed short __b,12740                     __vector unsigned char __c, int *__cc) {12741  return __builtin_s390_vstrsh((__vector unsigned short)__a,12742                               (__vector unsigned short)__b, __c, __cc);12743}12744 12745static inline __ATTRS_o_ai __vector unsigned char12746vec_search_string_cc(__vector __bool short __a, __vector __bool short __b,12747                     __vector unsigned char __c, int *__cc) {12748  return __builtin_s390_vstrsh((__vector unsigned short)__a,12749                               (__vector unsigned short)__b, __c, __cc);12750}12751 12752static inline __ATTRS_o_ai __vector unsigned char12753vec_search_string_cc(__vector unsigned short __a, __vector unsigned short __b,12754                     __vector unsigned char __c, int *__cc) {12755  return __builtin_s390_vstrsh(__a, __b, __c, __cc);12756}12757 12758static inline __ATTRS_o_ai __vector unsigned char12759vec_search_string_cc(__vector signed int __a, __vector signed int __b,12760                     __vector unsigned char __c, int *__cc) {12761  return __builtin_s390_vstrsf((__vector unsigned int)__a,12762                               (__vector unsigned int)__b, __c, __cc);12763}12764 12765static inline __ATTRS_o_ai __vector unsigned char12766vec_search_string_cc(__vector __bool int __a, __vector __bool int __b,12767                     __vector unsigned char __c, int *__cc) {12768  return __builtin_s390_vstrsf((__vector unsigned int)__a,12769                               (__vector unsigned int)__b, __c, __cc);12770}12771 12772static inline __ATTRS_o_ai __vector unsigned char12773vec_search_string_cc(__vector unsigned int __a, __vector unsigned int __b,12774                     __vector unsigned char __c, int *__cc) {12775  return __builtin_s390_vstrsf(__a, __b, __c, __cc);12776}12777 12778#endif12779 12780/*-- vec_search_string_until_zero_cc ----------------------------------------*/12781 12782#if __ARCH__ >= 1312783 12784static inline __ATTRS_o_ai __vector unsigned char12785vec_search_string_until_zero_cc(__vector signed char __a,12786                                __vector signed char __b,12787                                __vector unsigned char __c, int *__cc) {12788  return __builtin_s390_vstrszb((__vector unsigned char)__a,12789                                (__vector unsigned char)__b, __c, __cc);12790}12791 12792static inline __ATTRS_o_ai __vector unsigned char12793vec_search_string_until_zero_cc(__vector __bool char __a,12794                                __vector __bool char __b,12795                                __vector unsigned char __c, int *__cc) {12796  return __builtin_s390_vstrszb((__vector unsigned char)__a,12797                                (__vector unsigned char)__b, __c, __cc);12798}12799 12800static inline __ATTRS_o_ai __vector unsigned char12801vec_search_string_until_zero_cc(__vector unsigned char __a,12802                                __vector unsigned char __b,12803                                __vector unsigned char __c, int *__cc) {12804  return __builtin_s390_vstrszb(__a, __b, __c, __cc);12805}12806 12807static inline __ATTRS_o_ai __vector unsigned char12808vec_search_string_until_zero_cc(__vector signed short __a,12809                                __vector signed short __b,12810                                __vector unsigned char __c, int *__cc) {12811  return __builtin_s390_vstrszh((__vector unsigned short)__a,12812                                (__vector unsigned short)__b, __c, __cc);12813}12814 12815static inline __ATTRS_o_ai __vector unsigned char12816vec_search_string_until_zero_cc(__vector __bool short __a,12817                                __vector __bool short __b,12818                                __vector unsigned char __c, int *__cc) {12819  return __builtin_s390_vstrszh((__vector unsigned short)__a,12820                                (__vector unsigned short)__b, __c, __cc);12821}12822 12823static inline __ATTRS_o_ai __vector unsigned char12824vec_search_string_until_zero_cc(__vector unsigned short __a,12825                                __vector unsigned short __b,12826                                __vector unsigned char __c, int *__cc) {12827  return __builtin_s390_vstrszh(__a, __b, __c, __cc);12828}12829 12830static inline __ATTRS_o_ai __vector unsigned char12831vec_search_string_until_zero_cc(__vector signed int __a,12832                                __vector signed int __b,12833                                __vector unsigned char __c, int *__cc) {12834  return __builtin_s390_vstrszf((__vector unsigned int)__a,12835                                (__vector unsigned int)__b, __c, __cc);12836}12837 12838static inline __ATTRS_o_ai __vector unsigned char12839vec_search_string_until_zero_cc(__vector __bool int __a,12840                                __vector __bool int __b,12841                                __vector unsigned char __c, int *__cc) {12842  return __builtin_s390_vstrszf((__vector unsigned int)__a,12843                                (__vector unsigned int)__b, __c, __cc);12844}12845 12846static inline __ATTRS_o_ai __vector unsigned char12847vec_search_string_until_zero_cc(__vector unsigned int __a,12848                                __vector unsigned int __b,12849                                __vector unsigned char __c, int *__cc) {12850  return __builtin_s390_vstrszf(__a, __b, __c, __cc);12851}12852 12853#endif12854 12855#undef __constant_pow2_range12856#undef __constant_range12857#undef __constant12858#undef __ATTRS_o12859#undef __ATTRS_o_ai12860#undef __ATTRS_ai12861 12862#else12863 12864#error "Use -fzvector to enable vector extensions"12865 12866#endif12867 12868#endif /* _VECINTRIN_H */12869