1 /*===---- vecintrin.h - Vector intrinsics ----------------------------------===
2  *
3  * Permission is hereby granted, free of charge, to any person obtaining a copy
4  * of this software and associated documentation files (the "Software"), to deal
5  * in the Software without restriction, including without limitation the rights
6  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7  * copies of the Software, and to permit persons to whom the Software is
8  * furnished to do so, subject to the following conditions:
9  *
10  * The above copyright notice and this permission notice shall be included in
11  * all copies or substantial portions of the Software.
12  *
13  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19  * THE SOFTWARE.
20  *
21  *===-----------------------------------------------------------------------===
22  */
23 
24 #if defined(__s390x__) && defined(__VEC__)
25 
26 #define __ATTRS_ai __attribute__((__always_inline__))
27 #define __ATTRS_o __attribute__((__overloadable__))
28 #define __ATTRS_o_ai __attribute__((__overloadable__, __always_inline__))
29 
30 #define __constant(PARM) \
31   __attribute__((__enable_if__ ((PARM) == (PARM), \
32      "argument must be a constant integer")))
33 #define __constant_range(PARM, LOW, HIGH) \
34   __attribute__((__enable_if__ ((PARM) >= (LOW) && (PARM) <= (HIGH), \
35      "argument must be a constant integer from " #LOW " to " #HIGH)))
36 #define __constant_pow2_range(PARM, LOW, HIGH) \
37   __attribute__((__enable_if__ ((PARM) >= (LOW) && (PARM) <= (HIGH) && \
38                                 ((PARM) & ((PARM) - 1)) == 0, \
39      "argument must be a constant power of 2 from " #LOW " to " #HIGH)))
40 
41 /*-- __lcbb -----------------------------------------------------------------*/
42 
43 extern __ATTRS_o unsigned int
44 __lcbb(const void *__ptr, unsigned short __len)
45   __constant_pow2_range(__len, 64, 4096);
46 
47 #define __lcbb(X, Y) ((__typeof__((__lcbb)((X), (Y)))) \
48   __builtin_s390_lcbb((X), __builtin_constant_p((Y))? \
49                            ((Y) == 64 ? 0 : \
50                             (Y) == 128 ? 1 : \
51                             (Y) == 256 ? 2 : \
52                             (Y) == 512 ? 3 : \
53                             (Y) == 1024 ? 4 : \
54                             (Y) == 2048 ? 5 : \
55                             (Y) == 4096 ? 6 : 0) : 0))
56 
57 /*-- vec_extract ------------------------------------------------------------*/
58 
59 static inline __ATTRS_o_ai signed char
vec_extract(vector signed char __vec,int __index)60 vec_extract(vector signed char __vec, int __index) {
61   return __vec[__index & 15];
62 }
63 
64 static inline __ATTRS_o_ai unsigned char
vec_extract(vector bool char __vec,int __index)65 vec_extract(vector bool char __vec, int __index) {
66   return __vec[__index & 15];
67 }
68 
69 static inline __ATTRS_o_ai unsigned char
vec_extract(vector unsigned char __vec,int __index)70 vec_extract(vector unsigned char __vec, int __index) {
71   return __vec[__index & 15];
72 }
73 
74 static inline __ATTRS_o_ai signed short
vec_extract(vector signed short __vec,int __index)75 vec_extract(vector signed short __vec, int __index) {
76   return __vec[__index & 7];
77 }
78 
79 static inline __ATTRS_o_ai unsigned short
vec_extract(vector bool short __vec,int __index)80 vec_extract(vector bool short __vec, int __index) {
81   return __vec[__index & 7];
82 }
83 
84 static inline __ATTRS_o_ai unsigned short
vec_extract(vector unsigned short __vec,int __index)85 vec_extract(vector unsigned short __vec, int __index) {
86   return __vec[__index & 7];
87 }
88 
89 static inline __ATTRS_o_ai signed int
vec_extract(vector signed int __vec,int __index)90 vec_extract(vector signed int __vec, int __index) {
91   return __vec[__index & 3];
92 }
93 
94 static inline __ATTRS_o_ai unsigned int
vec_extract(vector bool int __vec,int __index)95 vec_extract(vector bool int __vec, int __index) {
96   return __vec[__index & 3];
97 }
98 
99 static inline __ATTRS_o_ai unsigned int
vec_extract(vector unsigned int __vec,int __index)100 vec_extract(vector unsigned int __vec, int __index) {
101   return __vec[__index & 3];
102 }
103 
104 static inline __ATTRS_o_ai signed long long
vec_extract(vector signed long long __vec,int __index)105 vec_extract(vector signed long long __vec, int __index) {
106   return __vec[__index & 1];
107 }
108 
109 static inline __ATTRS_o_ai unsigned long long
vec_extract(vector bool long long __vec,int __index)110 vec_extract(vector bool long long __vec, int __index) {
111   return __vec[__index & 1];
112 }
113 
114 static inline __ATTRS_o_ai unsigned long long
vec_extract(vector unsigned long long __vec,int __index)115 vec_extract(vector unsigned long long __vec, int __index) {
116   return __vec[__index & 1];
117 }
118 
119 #if __ARCH__ >= 12
120 static inline __ATTRS_o_ai float
vec_extract(vector float __vec,int __index)121 vec_extract(vector float __vec, int __index) {
122   return __vec[__index & 3];
123 }
124 #endif
125 
126 static inline __ATTRS_o_ai double
vec_extract(vector double __vec,int __index)127 vec_extract(vector double __vec, int __index) {
128   return __vec[__index & 1];
129 }
130 
131 /*-- vec_insert -------------------------------------------------------------*/
132 
133 static inline __ATTRS_o_ai vector signed char
vec_insert(signed char __scalar,vector signed char __vec,int __index)134 vec_insert(signed char __scalar, vector signed char __vec, int __index) {
135   __vec[__index & 15] = __scalar;
136   return __vec;
137 }
138 
139 // This prototype is deprecated.
140 static inline __ATTRS_o_ai vector unsigned char
vec_insert(unsigned char __scalar,vector bool char __vec,int __index)141 vec_insert(unsigned char __scalar, vector bool char __vec, int __index) {
142   vector unsigned char __newvec = (vector unsigned char)__vec;
143   __newvec[__index & 15] = (unsigned char)__scalar;
144   return __newvec;
145 }
146 
147 static inline __ATTRS_o_ai vector unsigned char
vec_insert(unsigned char __scalar,vector unsigned char __vec,int __index)148 vec_insert(unsigned char __scalar, vector unsigned char __vec, int __index) {
149   __vec[__index & 15] = __scalar;
150   return __vec;
151 }
152 
153 static inline __ATTRS_o_ai vector signed short
vec_insert(signed short __scalar,vector signed short __vec,int __index)154 vec_insert(signed short __scalar, vector signed short __vec, int __index) {
155   __vec[__index & 7] = __scalar;
156   return __vec;
157 }
158 
159 // This prototype is deprecated.
160 static inline __ATTRS_o_ai vector unsigned short
vec_insert(unsigned short __scalar,vector bool short __vec,int __index)161 vec_insert(unsigned short __scalar, vector bool short __vec, int __index) {
162   vector unsigned short __newvec = (vector unsigned short)__vec;
163   __newvec[__index & 7] = (unsigned short)__scalar;
164   return __newvec;
165 }
166 
167 static inline __ATTRS_o_ai vector unsigned short
vec_insert(unsigned short __scalar,vector unsigned short __vec,int __index)168 vec_insert(unsigned short __scalar, vector unsigned short __vec, int __index) {
169   __vec[__index & 7] = __scalar;
170   return __vec;
171 }
172 
173 static inline __ATTRS_o_ai vector signed int
vec_insert(signed int __scalar,vector signed int __vec,int __index)174 vec_insert(signed int __scalar, vector signed int __vec, int __index) {
175   __vec[__index & 3] = __scalar;
176   return __vec;
177 }
178 
179 // This prototype is deprecated.
180 static inline __ATTRS_o_ai vector unsigned int
vec_insert(unsigned int __scalar,vector bool int __vec,int __index)181 vec_insert(unsigned int __scalar, vector bool int __vec, int __index) {
182   vector unsigned int __newvec = (vector unsigned int)__vec;
183   __newvec[__index & 3] = __scalar;
184   return __newvec;
185 }
186 
187 static inline __ATTRS_o_ai vector unsigned int
vec_insert(unsigned int __scalar,vector unsigned int __vec,int __index)188 vec_insert(unsigned int __scalar, vector unsigned int __vec, int __index) {
189   __vec[__index & 3] = __scalar;
190   return __vec;
191 }
192 
193 static inline __ATTRS_o_ai vector signed long long
vec_insert(signed long long __scalar,vector signed long long __vec,int __index)194 vec_insert(signed long long __scalar, vector signed long long __vec,
195            int __index) {
196   __vec[__index & 1] = __scalar;
197   return __vec;
198 }
199 
200 // This prototype is deprecated.
201 static inline __ATTRS_o_ai vector unsigned long long
vec_insert(unsigned long long __scalar,vector bool long long __vec,int __index)202 vec_insert(unsigned long long __scalar, vector bool long long __vec,
203            int __index) {
204   vector unsigned long long __newvec = (vector unsigned long long)__vec;
205   __newvec[__index & 1] = __scalar;
206   return __newvec;
207 }
208 
209 static inline __ATTRS_o_ai vector unsigned long long
vec_insert(unsigned long long __scalar,vector unsigned long long __vec,int __index)210 vec_insert(unsigned long long __scalar, vector unsigned long long __vec,
211            int __index) {
212   __vec[__index & 1] = __scalar;
213   return __vec;
214 }
215 
216 #if __ARCH__ >= 12
217 static inline __ATTRS_o_ai vector float
vec_insert(float __scalar,vector float __vec,int __index)218 vec_insert(float __scalar, vector float __vec, int __index) {
219   __vec[__index & 1] = __scalar;
220   return __vec;
221 }
222 #endif
223 
224 static inline __ATTRS_o_ai vector double
vec_insert(double __scalar,vector double __vec,int __index)225 vec_insert(double __scalar, vector double __vec, int __index) {
226   __vec[__index & 1] = __scalar;
227   return __vec;
228 }
229 
230 /*-- vec_promote ------------------------------------------------------------*/
231 
232 static inline __ATTRS_o_ai vector signed char
vec_promote(signed char __scalar,int __index)233 vec_promote(signed char __scalar, int __index) {
234   const vector signed char __zero = (vector signed char)0;
235   vector signed char __vec = __builtin_shufflevector(__zero, __zero,
236     -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1);
237   __vec[__index & 15] = __scalar;
238   return __vec;
239 }
240 
241 static inline __ATTRS_o_ai vector unsigned char
vec_promote(unsigned char __scalar,int __index)242 vec_promote(unsigned char __scalar, int __index) {
243   const vector unsigned char __zero = (vector unsigned char)0;
244   vector unsigned char __vec = __builtin_shufflevector(__zero, __zero,
245     -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1);
246   __vec[__index & 15] = __scalar;
247   return __vec;
248 }
249 
250 static inline __ATTRS_o_ai vector signed short
vec_promote(signed short __scalar,int __index)251 vec_promote(signed short __scalar, int __index) {
252   const vector signed short __zero = (vector signed short)0;
253   vector signed short __vec = __builtin_shufflevector(__zero, __zero,
254                                 -1, -1, -1, -1, -1, -1, -1, -1);
255   __vec[__index & 7] = __scalar;
256   return __vec;
257 }
258 
259 static inline __ATTRS_o_ai vector unsigned short
vec_promote(unsigned short __scalar,int __index)260 vec_promote(unsigned short __scalar, int __index) {
261   const vector unsigned short __zero = (vector unsigned short)0;
262   vector unsigned short __vec = __builtin_shufflevector(__zero, __zero,
263                                   -1, -1, -1, -1, -1, -1, -1, -1);
264   __vec[__index & 7] = __scalar;
265   return __vec;
266 }
267 
268 static inline __ATTRS_o_ai vector signed int
vec_promote(signed int __scalar,int __index)269 vec_promote(signed int __scalar, int __index) {
270   const vector signed int __zero = (vector signed int)0;
271   vector signed int __vec = __builtin_shufflevector(__zero, __zero,
272                                                     -1, -1, -1, -1);
273   __vec[__index & 3] = __scalar;
274   return __vec;
275 }
276 
277 static inline __ATTRS_o_ai vector unsigned int
vec_promote(unsigned int __scalar,int __index)278 vec_promote(unsigned int __scalar, int __index) {
279   const vector unsigned int __zero = (vector unsigned int)0;
280   vector unsigned int __vec = __builtin_shufflevector(__zero, __zero,
281                                                       -1, -1, -1, -1);
282   __vec[__index & 3] = __scalar;
283   return __vec;
284 }
285 
286 static inline __ATTRS_o_ai vector signed long long
vec_promote(signed long long __scalar,int __index)287 vec_promote(signed long long __scalar, int __index) {
288   const vector signed long long __zero = (vector signed long long)0;
289   vector signed long long __vec = __builtin_shufflevector(__zero, __zero,
290                                                           -1, -1);
291   __vec[__index & 1] = __scalar;
292   return __vec;
293 }
294 
295 static inline __ATTRS_o_ai vector unsigned long long
vec_promote(unsigned long long __scalar,int __index)296 vec_promote(unsigned long long __scalar, int __index) {
297   const vector unsigned long long __zero = (vector unsigned long long)0;
298   vector unsigned long long __vec = __builtin_shufflevector(__zero, __zero,
299                                                             -1, -1);
300   __vec[__index & 1] = __scalar;
301   return __vec;
302 }
303 
304 #if __ARCH__ >= 12
305 static inline __ATTRS_o_ai vector float
vec_promote(float __scalar,int __index)306 vec_promote(float __scalar, int __index) {
307   const vector float __zero = (vector float)0;
308   vector float __vec = __builtin_shufflevector(__zero, __zero, -1, -1, -1, -1);
309   __vec[__index & 3] = __scalar;
310   return __vec;
311 }
312 #endif
313 
314 static inline __ATTRS_o_ai vector double
vec_promote(double __scalar,int __index)315 vec_promote(double __scalar, int __index) {
316   const vector double __zero = (vector double)0;
317   vector double __vec = __builtin_shufflevector(__zero, __zero, -1, -1);
318   __vec[__index & 1] = __scalar;
319   return __vec;
320 }
321 
322 /*-- vec_insert_and_zero ----------------------------------------------------*/
323 
324 static inline __ATTRS_o_ai vector signed char
vec_insert_and_zero(const signed char * __ptr)325 vec_insert_and_zero(const signed char *__ptr) {
326   vector signed char __vec = (vector signed char)0;
327   __vec[7] = *__ptr;
328   return __vec;
329 }
330 
331 static inline __ATTRS_o_ai vector unsigned char
vec_insert_and_zero(const unsigned char * __ptr)332 vec_insert_and_zero(const unsigned char *__ptr) {
333   vector unsigned char __vec = (vector unsigned char)0;
334   __vec[7] = *__ptr;
335   return __vec;
336 }
337 
338 static inline __ATTRS_o_ai vector signed short
vec_insert_and_zero(const signed short * __ptr)339 vec_insert_and_zero(const signed short *__ptr) {
340   vector signed short __vec = (vector signed short)0;
341   __vec[3] = *__ptr;
342   return __vec;
343 }
344 
345 static inline __ATTRS_o_ai vector unsigned short
vec_insert_and_zero(const unsigned short * __ptr)346 vec_insert_and_zero(const unsigned short *__ptr) {
347   vector unsigned short __vec = (vector unsigned short)0;
348   __vec[3] = *__ptr;
349   return __vec;
350 }
351 
352 static inline __ATTRS_o_ai vector signed int
vec_insert_and_zero(const signed int * __ptr)353 vec_insert_and_zero(const signed int *__ptr) {
354   vector signed int __vec = (vector signed int)0;
355   __vec[1] = *__ptr;
356   return __vec;
357 }
358 
359 static inline __ATTRS_o_ai vector unsigned int
vec_insert_and_zero(const unsigned int * __ptr)360 vec_insert_and_zero(const unsigned int *__ptr) {
361   vector unsigned int __vec = (vector unsigned int)0;
362   __vec[1] = *__ptr;
363   return __vec;
364 }
365 
366 static inline __ATTRS_o_ai vector signed long long
vec_insert_and_zero(const signed long long * __ptr)367 vec_insert_and_zero(const signed long long *__ptr) {
368   vector signed long long __vec = (vector signed long long)0;
369   __vec[0] = *__ptr;
370   return __vec;
371 }
372 
373 static inline __ATTRS_o_ai vector unsigned long long
vec_insert_and_zero(const unsigned long long * __ptr)374 vec_insert_and_zero(const unsigned long long *__ptr) {
375   vector unsigned long long __vec = (vector unsigned long long)0;
376   __vec[0] = *__ptr;
377   return __vec;
378 }
379 
380 #if __ARCH__ >= 12
381 static inline __ATTRS_o_ai vector float
vec_insert_and_zero(const float * __ptr)382 vec_insert_and_zero(const float *__ptr) {
383   vector float __vec = (vector float)0;
384   __vec[1] = *__ptr;
385   return __vec;
386 }
387 #endif
388 
389 static inline __ATTRS_o_ai vector double
vec_insert_and_zero(const double * __ptr)390 vec_insert_and_zero(const double *__ptr) {
391   vector double __vec = (vector double)0;
392   __vec[0] = *__ptr;
393   return __vec;
394 }
395 
396 /*-- vec_perm ---------------------------------------------------------------*/
397 
398 static inline __ATTRS_o_ai vector signed char
vec_perm(vector signed char __a,vector signed char __b,vector unsigned char __c)399 vec_perm(vector signed char __a, vector signed char __b,
400          vector unsigned char __c) {
401   return (vector signed char)__builtin_s390_vperm(
402            (vector unsigned char)__a, (vector unsigned char)__b, __c);
403 }
404 
405 static inline __ATTRS_o_ai vector unsigned char
vec_perm(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)406 vec_perm(vector unsigned char __a, vector unsigned char __b,
407          vector unsigned char __c) {
408   return (vector unsigned char)__builtin_s390_vperm(
409            (vector unsigned char)__a, (vector unsigned char)__b, __c);
410 }
411 
412 static inline __ATTRS_o_ai vector bool char
vec_perm(vector bool char __a,vector bool char __b,vector unsigned char __c)413 vec_perm(vector bool char __a, vector bool char __b,
414          vector unsigned char __c) {
415   return (vector bool char)__builtin_s390_vperm(
416            (vector unsigned char)__a, (vector unsigned char)__b, __c);
417 }
418 
419 static inline __ATTRS_o_ai vector signed short
vec_perm(vector signed short __a,vector signed short __b,vector unsigned char __c)420 vec_perm(vector signed short __a, vector signed short __b,
421          vector unsigned char __c) {
422   return (vector signed short)__builtin_s390_vperm(
423            (vector unsigned char)__a, (vector unsigned char)__b, __c);
424 }
425 
426 static inline __ATTRS_o_ai vector unsigned short
vec_perm(vector unsigned short __a,vector unsigned short __b,vector unsigned char __c)427 vec_perm(vector unsigned short __a, vector unsigned short __b,
428          vector unsigned char __c) {
429   return (vector unsigned short)__builtin_s390_vperm(
430            (vector unsigned char)__a, (vector unsigned char)__b, __c);
431 }
432 
433 static inline __ATTRS_o_ai vector bool short
vec_perm(vector bool short __a,vector bool short __b,vector unsigned char __c)434 vec_perm(vector bool short __a, vector bool short __b,
435          vector unsigned char __c) {
436   return (vector bool short)__builtin_s390_vperm(
437            (vector unsigned char)__a, (vector unsigned char)__b, __c);
438 }
439 
440 static inline __ATTRS_o_ai vector signed int
vec_perm(vector signed int __a,vector signed int __b,vector unsigned char __c)441 vec_perm(vector signed int __a, vector signed int __b,
442          vector unsigned char __c) {
443   return (vector signed int)__builtin_s390_vperm(
444            (vector unsigned char)__a, (vector unsigned char)__b, __c);
445 }
446 
447 static inline __ATTRS_o_ai vector unsigned int
vec_perm(vector unsigned int __a,vector unsigned int __b,vector unsigned char __c)448 vec_perm(vector unsigned int __a, vector unsigned int __b,
449          vector unsigned char __c) {
450   return (vector unsigned int)__builtin_s390_vperm(
451            (vector unsigned char)__a, (vector unsigned char)__b, __c);
452 }
453 
454 static inline __ATTRS_o_ai vector bool int
vec_perm(vector bool int __a,vector bool int __b,vector unsigned char __c)455 vec_perm(vector bool int __a, vector bool int __b,
456          vector unsigned char __c) {
457   return (vector bool int)__builtin_s390_vperm(
458            (vector unsigned char)__a, (vector unsigned char)__b, __c);
459 }
460 
461 static inline __ATTRS_o_ai vector signed long long
vec_perm(vector signed long long __a,vector signed long long __b,vector unsigned char __c)462 vec_perm(vector signed long long __a, vector signed long long __b,
463          vector unsigned char __c) {
464   return (vector signed long long)__builtin_s390_vperm(
465            (vector unsigned char)__a, (vector unsigned char)__b, __c);
466 }
467 
468 static inline __ATTRS_o_ai vector unsigned long long
vec_perm(vector unsigned long long __a,vector unsigned long long __b,vector unsigned char __c)469 vec_perm(vector unsigned long long __a, vector unsigned long long __b,
470          vector unsigned char __c) {
471   return (vector unsigned long long)__builtin_s390_vperm(
472            (vector unsigned char)__a, (vector unsigned char)__b, __c);
473 }
474 
475 static inline __ATTRS_o_ai vector bool long long
vec_perm(vector bool long long __a,vector bool long long __b,vector unsigned char __c)476 vec_perm(vector bool long long __a, vector bool long long __b,
477          vector unsigned char __c) {
478   return (vector bool long long)__builtin_s390_vperm(
479            (vector unsigned char)__a, (vector unsigned char)__b, __c);
480 }
481 
482 #if __ARCH__ >= 12
483 static inline __ATTRS_o_ai vector float
vec_perm(vector float __a,vector float __b,vector unsigned char __c)484 vec_perm(vector float __a, vector float __b,
485          vector unsigned char __c) {
486   return (vector float)__builtin_s390_vperm(
487            (vector unsigned char)__a, (vector unsigned char)__b, __c);
488 }
489 #endif
490 
491 static inline __ATTRS_o_ai vector double
vec_perm(vector double __a,vector double __b,vector unsigned char __c)492 vec_perm(vector double __a, vector double __b,
493          vector unsigned char __c) {
494   return (vector double)__builtin_s390_vperm(
495            (vector unsigned char)__a, (vector unsigned char)__b, __c);
496 }
497 
498 /*-- vec_permi --------------------------------------------------------------*/
499 
500 // This prototype is deprecated.
501 extern __ATTRS_o vector signed long long
502 vec_permi(vector signed long long __a, vector signed long long __b, int __c)
503   __constant_range(__c, 0, 3);
504 
505 // This prototype is deprecated.
506 extern __ATTRS_o vector unsigned long long
507 vec_permi(vector unsigned long long __a, vector unsigned long long __b, int __c)
508   __constant_range(__c, 0, 3);
509 
510 // This prototype is deprecated.
511 extern __ATTRS_o vector bool long long
512 vec_permi(vector bool long long __a, vector bool long long __b, int __c)
513   __constant_range(__c, 0, 3);
514 
515 // This prototype is deprecated.
516 extern __ATTRS_o vector double
517 vec_permi(vector double __a, vector double __b, int __c)
518   __constant_range(__c, 0, 3);
519 
520 #define vec_permi(X, Y, Z) ((__typeof__((vec_permi)((X), (Y), (Z)))) \
521   __builtin_s390_vpdi((vector unsigned long long)(X), \
522                       (vector unsigned long long)(Y), \
523                       (((Z) & 2) << 1) | ((Z) & 1)))
524 
525 /*-- vec_bperm_u128 ---------------------------------------------------------*/
526 
527 #if __ARCH__ >= 12
528 static inline __ATTRS_ai vector unsigned long long
vec_bperm_u128(vector unsigned char __a,vector unsigned char __b)529 vec_bperm_u128(vector unsigned char __a, vector unsigned char __b) {
530   return __builtin_s390_vbperm(__a, __b);
531 }
532 #endif
533 
534 /*-- vec_sel ----------------------------------------------------------------*/
535 
536 static inline __ATTRS_o_ai vector signed char
vec_sel(vector signed char __a,vector signed char __b,vector unsigned char __c)537 vec_sel(vector signed char __a, vector signed char __b,
538         vector unsigned char __c) {
539   return ((vector signed char)__c & __b) | (~(vector signed char)__c & __a);
540 }
541 
542 static inline __ATTRS_o_ai vector signed char
vec_sel(vector signed char __a,vector signed char __b,vector bool char __c)543 vec_sel(vector signed char __a, vector signed char __b, vector bool char __c) {
544   return ((vector signed char)__c & __b) | (~(vector signed char)__c & __a);
545 }
546 
547 static inline __ATTRS_o_ai vector bool char
vec_sel(vector bool char __a,vector bool char __b,vector unsigned char __c)548 vec_sel(vector bool char __a, vector bool char __b, vector unsigned char __c) {
549   return ((vector bool char)__c & __b) | (~(vector bool char)__c & __a);
550 }
551 
552 static inline __ATTRS_o_ai vector bool char
vec_sel(vector bool char __a,vector bool char __b,vector bool char __c)553 vec_sel(vector bool char __a, vector bool char __b, vector bool char __c) {
554   return (__c & __b) | (~__c & __a);
555 }
556 
557 static inline __ATTRS_o_ai vector unsigned char
vec_sel(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)558 vec_sel(vector unsigned char __a, vector unsigned char __b,
559         vector unsigned char __c) {
560   return (__c & __b) | (~__c & __a);
561 }
562 
563 static inline __ATTRS_o_ai vector unsigned char
vec_sel(vector unsigned char __a,vector unsigned char __b,vector bool char __c)564 vec_sel(vector unsigned char __a, vector unsigned char __b,
565         vector bool char __c) {
566   return ((vector unsigned char)__c & __b) | (~(vector unsigned char)__c & __a);
567 }
568 
569 static inline __ATTRS_o_ai vector signed short
vec_sel(vector signed short __a,vector signed short __b,vector unsigned short __c)570 vec_sel(vector signed short __a, vector signed short __b,
571         vector unsigned short __c) {
572   return ((vector signed short)__c & __b) | (~(vector signed short)__c & __a);
573 }
574 
575 static inline __ATTRS_o_ai vector signed short
vec_sel(vector signed short __a,vector signed short __b,vector bool short __c)576 vec_sel(vector signed short __a, vector signed short __b,
577         vector bool short __c) {
578   return ((vector signed short)__c & __b) | (~(vector signed short)__c & __a);
579 }
580 
581 static inline __ATTRS_o_ai vector bool short
vec_sel(vector bool short __a,vector bool short __b,vector unsigned short __c)582 vec_sel(vector bool short __a, vector bool short __b,
583         vector unsigned short __c) {
584   return ((vector bool short)__c & __b) | (~(vector bool short)__c & __a);
585 }
586 
587 static inline __ATTRS_o_ai vector bool short
vec_sel(vector bool short __a,vector bool short __b,vector bool short __c)588 vec_sel(vector bool short __a, vector bool short __b, vector bool short __c) {
589   return (__c & __b) | (~__c & __a);
590 }
591 
592 static inline __ATTRS_o_ai vector unsigned short
vec_sel(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c)593 vec_sel(vector unsigned short __a, vector unsigned short __b,
594         vector unsigned short __c) {
595   return (__c & __b) | (~__c & __a);
596 }
597 
598 static inline __ATTRS_o_ai vector unsigned short
vec_sel(vector unsigned short __a,vector unsigned short __b,vector bool short __c)599 vec_sel(vector unsigned short __a, vector unsigned short __b,
600         vector bool short __c) {
601   return (((vector unsigned short)__c & __b) |
602           (~(vector unsigned short)__c & __a));
603 }
604 
605 static inline __ATTRS_o_ai vector signed int
vec_sel(vector signed int __a,vector signed int __b,vector unsigned int __c)606 vec_sel(vector signed int __a, vector signed int __b,
607         vector unsigned int __c) {
608   return ((vector signed int)__c & __b) | (~(vector signed int)__c & __a);
609 }
610 
611 static inline __ATTRS_o_ai vector signed int
vec_sel(vector signed int __a,vector signed int __b,vector bool int __c)612 vec_sel(vector signed int __a, vector signed int __b, vector bool int __c) {
613   return ((vector signed int)__c & __b) | (~(vector signed int)__c & __a);
614 }
615 
616 static inline __ATTRS_o_ai vector bool int
vec_sel(vector bool int __a,vector bool int __b,vector unsigned int __c)617 vec_sel(vector bool int __a, vector bool int __b, vector unsigned int __c) {
618   return ((vector bool int)__c & __b) | (~(vector bool int)__c & __a);
619 }
620 
621 static inline __ATTRS_o_ai vector bool int
vec_sel(vector bool int __a,vector bool int __b,vector bool int __c)622 vec_sel(vector bool int __a, vector bool int __b, vector bool int __c) {
623   return (__c & __b) | (~__c & __a);
624 }
625 
626 static inline __ATTRS_o_ai vector unsigned int
vec_sel(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c)627 vec_sel(vector unsigned int __a, vector unsigned int __b,
628         vector unsigned int __c) {
629   return (__c & __b) | (~__c & __a);
630 }
631 
632 static inline __ATTRS_o_ai vector unsigned int
vec_sel(vector unsigned int __a,vector unsigned int __b,vector bool int __c)633 vec_sel(vector unsigned int __a, vector unsigned int __b, vector bool int __c) {
634   return ((vector unsigned int)__c & __b) | (~(vector unsigned int)__c & __a);
635 }
636 
637 static inline __ATTRS_o_ai vector signed long long
vec_sel(vector signed long long __a,vector signed long long __b,vector unsigned long long __c)638 vec_sel(vector signed long long __a, vector signed long long __b,
639         vector unsigned long long __c) {
640   return (((vector signed long long)__c & __b) |
641           (~(vector signed long long)__c & __a));
642 }
643 
644 static inline __ATTRS_o_ai vector signed long long
vec_sel(vector signed long long __a,vector signed long long __b,vector bool long long __c)645 vec_sel(vector signed long long __a, vector signed long long __b,
646         vector bool long long __c) {
647   return (((vector signed long long)__c & __b) |
648           (~(vector signed long long)__c & __a));
649 }
650 
651 static inline __ATTRS_o_ai vector bool long long
vec_sel(vector bool long long __a,vector bool long long __b,vector unsigned long long __c)652 vec_sel(vector bool long long __a, vector bool long long __b,
653         vector unsigned long long __c) {
654   return (((vector bool long long)__c & __b) |
655           (~(vector bool long long)__c & __a));
656 }
657 
658 static inline __ATTRS_o_ai vector bool long long
vec_sel(vector bool long long __a,vector bool long long __b,vector bool long long __c)659 vec_sel(vector bool long long __a, vector bool long long __b,
660         vector bool long long __c) {
661   return (__c & __b) | (~__c & __a);
662 }
663 
664 static inline __ATTRS_o_ai vector unsigned long long
vec_sel(vector unsigned long long __a,vector unsigned long long __b,vector unsigned long long __c)665 vec_sel(vector unsigned long long __a, vector unsigned long long __b,
666         vector unsigned long long __c) {
667   return (__c & __b) | (~__c & __a);
668 }
669 
670 static inline __ATTRS_o_ai vector unsigned long long
vec_sel(vector unsigned long long __a,vector unsigned long long __b,vector bool long long __c)671 vec_sel(vector unsigned long long __a, vector unsigned long long __b,
672         vector bool long long __c) {
673   return (((vector unsigned long long)__c & __b) |
674           (~(vector unsigned long long)__c & __a));
675 }
676 
677 #if __ARCH__ >= 12
678 static inline __ATTRS_o_ai vector float
vec_sel(vector float __a,vector float __b,vector unsigned int __c)679 vec_sel(vector float __a, vector float __b, vector unsigned int __c) {
680   return (vector float)((__c & (vector unsigned int)__b) |
681                         (~__c & (vector unsigned int)__a));
682 }
683 
684 static inline __ATTRS_o_ai vector float
vec_sel(vector float __a,vector float __b,vector bool int __c)685 vec_sel(vector float __a, vector float __b, vector bool int __c) {
686   vector unsigned int __ac = (vector unsigned int)__a;
687   vector unsigned int __bc = (vector unsigned int)__b;
688   vector unsigned int __cc = (vector unsigned int)__c;
689   return (vector float)((__cc & __bc) | (~__cc & __ac));
690 }
691 #endif
692 
693 static inline __ATTRS_o_ai vector double
vec_sel(vector double __a,vector double __b,vector unsigned long long __c)694 vec_sel(vector double __a, vector double __b, vector unsigned long long __c) {
695   return (vector double)((__c & (vector unsigned long long)__b) |
696                          (~__c & (vector unsigned long long)__a));
697 }
698 
699 static inline __ATTRS_o_ai vector double
vec_sel(vector double __a,vector double __b,vector bool long long __c)700 vec_sel(vector double __a, vector double __b, vector bool long long __c) {
701   vector unsigned long long __ac = (vector unsigned long long)__a;
702   vector unsigned long long __bc = (vector unsigned long long)__b;
703   vector unsigned long long __cc = (vector unsigned long long)__c;
704   return (vector double)((__cc & __bc) | (~__cc & __ac));
705 }
706 
707 /*-- vec_gather_element -----------------------------------------------------*/
708 
709 static inline __ATTRS_o_ai vector signed int
vec_gather_element(vector signed int __vec,vector unsigned int __offset,const signed int * __ptr,int __index)710 vec_gather_element(vector signed int __vec, vector unsigned int __offset,
711                    const signed int *__ptr, int __index)
712   __constant_range(__index, 0, 3) {
713   __vec[__index] = *(const signed int *)(
714     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
715   return __vec;
716 }
717 
718 static inline __ATTRS_o_ai vector bool int
vec_gather_element(vector bool int __vec,vector unsigned int __offset,const unsigned int * __ptr,int __index)719 vec_gather_element(vector bool int __vec, vector unsigned int __offset,
720                    const unsigned int *__ptr, int __index)
721   __constant_range(__index, 0, 3) {
722   __vec[__index] = *(const unsigned int *)(
723     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
724   return __vec;
725 }
726 
727 static inline __ATTRS_o_ai vector unsigned int
vec_gather_element(vector unsigned int __vec,vector unsigned int __offset,const unsigned int * __ptr,int __index)728 vec_gather_element(vector unsigned int __vec, vector unsigned int __offset,
729                    const unsigned int *__ptr, int __index)
730   __constant_range(__index, 0, 3) {
731   __vec[__index] = *(const unsigned int *)(
732     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
733   return __vec;
734 }
735 
736 static inline __ATTRS_o_ai vector signed long long
vec_gather_element(vector signed long long __vec,vector unsigned long long __offset,const signed long long * __ptr,int __index)737 vec_gather_element(vector signed long long __vec,
738                    vector unsigned long long __offset,
739                    const signed long long *__ptr, int __index)
740   __constant_range(__index, 0, 1) {
741   __vec[__index] = *(const signed long long *)(
742     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
743   return __vec;
744 }
745 
746 static inline __ATTRS_o_ai vector bool long long
vec_gather_element(vector bool long long __vec,vector unsigned long long __offset,const unsigned long long * __ptr,int __index)747 vec_gather_element(vector bool long long __vec,
748                    vector unsigned long long __offset,
749                    const unsigned long long *__ptr, int __index)
750   __constant_range(__index, 0, 1) {
751   __vec[__index] = *(const unsigned long long *)(
752     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
753   return __vec;
754 }
755 
756 static inline __ATTRS_o_ai vector unsigned long long
vec_gather_element(vector unsigned long long __vec,vector unsigned long long __offset,const unsigned long long * __ptr,int __index)757 vec_gather_element(vector unsigned long long __vec,
758                    vector unsigned long long __offset,
759                    const unsigned long long *__ptr, int __index)
760   __constant_range(__index, 0, 1) {
761   __vec[__index] = *(const unsigned long long *)(
762     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
763   return __vec;
764 }
765 
766 #if __ARCH__ >= 12
767 static inline __ATTRS_o_ai vector float
vec_gather_element(vector float __vec,vector unsigned int __offset,const float * __ptr,int __index)768 vec_gather_element(vector float __vec, vector unsigned int __offset,
769                    const float *__ptr, int __index)
770   __constant_range(__index, 0, 3) {
771   __vec[__index] = *(const float *)(
772     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
773   return __vec;
774 }
775 #endif
776 
777 static inline __ATTRS_o_ai vector double
vec_gather_element(vector double __vec,vector unsigned long long __offset,const double * __ptr,int __index)778 vec_gather_element(vector double __vec, vector unsigned long long __offset,
779                    const double *__ptr, int __index)
780   __constant_range(__index, 0, 1) {
781   __vec[__index] = *(const double *)(
782     (__INTPTR_TYPE__)__ptr + (__INTPTR_TYPE__)__offset[__index]);
783   return __vec;
784 }
785 
786 /*-- vec_scatter_element ----------------------------------------------------*/
787 
788 static inline __ATTRS_o_ai void
vec_scatter_element(vector signed int __vec,vector unsigned int __offset,signed int * __ptr,int __index)789 vec_scatter_element(vector signed int __vec, vector unsigned int __offset,
790                     signed int *__ptr, int __index)
791   __constant_range(__index, 0, 3) {
792   *(signed int *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
793     __vec[__index];
794 }
795 
796 static inline __ATTRS_o_ai void
vec_scatter_element(vector bool int __vec,vector unsigned int __offset,unsigned int * __ptr,int __index)797 vec_scatter_element(vector bool int __vec, vector unsigned int __offset,
798                     unsigned int *__ptr, int __index)
799   __constant_range(__index, 0, 3) {
800   *(unsigned int *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
801     __vec[__index];
802 }
803 
804 static inline __ATTRS_o_ai void
vec_scatter_element(vector unsigned int __vec,vector unsigned int __offset,unsigned int * __ptr,int __index)805 vec_scatter_element(vector unsigned int __vec, vector unsigned int __offset,
806                     unsigned int *__ptr, int __index)
807   __constant_range(__index, 0, 3) {
808   *(unsigned int *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
809     __vec[__index];
810 }
811 
812 static inline __ATTRS_o_ai void
vec_scatter_element(vector signed long long __vec,vector unsigned long long __offset,signed long long * __ptr,int __index)813 vec_scatter_element(vector signed long long __vec,
814                     vector unsigned long long __offset,
815                     signed long long *__ptr, int __index)
816   __constant_range(__index, 0, 1) {
817   *(signed long long *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
818     __vec[__index];
819 }
820 
821 static inline __ATTRS_o_ai void
vec_scatter_element(vector bool long long __vec,vector unsigned long long __offset,unsigned long long * __ptr,int __index)822 vec_scatter_element(vector bool long long __vec,
823                     vector unsigned long long __offset,
824                     unsigned long long *__ptr, int __index)
825   __constant_range(__index, 0, 1) {
826   *(unsigned long long *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
827     __vec[__index];
828 }
829 
830 static inline __ATTRS_o_ai void
vec_scatter_element(vector unsigned long long __vec,vector unsigned long long __offset,unsigned long long * __ptr,int __index)831 vec_scatter_element(vector unsigned long long __vec,
832                     vector unsigned long long __offset,
833                     unsigned long long *__ptr, int __index)
834   __constant_range(__index, 0, 1) {
835   *(unsigned long long *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
836     __vec[__index];
837 }
838 
839 #if __ARCH__ >= 12
840 static inline __ATTRS_o_ai void
vec_scatter_element(vector float __vec,vector unsigned int __offset,float * __ptr,int __index)841 vec_scatter_element(vector float __vec, vector unsigned int __offset,
842                     float *__ptr, int __index)
843   __constant_range(__index, 0, 3) {
844   *(float *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
845     __vec[__index];
846 }
847 #endif
848 
849 static inline __ATTRS_o_ai void
vec_scatter_element(vector double __vec,vector unsigned long long __offset,double * __ptr,int __index)850 vec_scatter_element(vector double __vec, vector unsigned long long __offset,
851                     double *__ptr, int __index)
852   __constant_range(__index, 0, 1) {
853   *(double *)((__INTPTR_TYPE__)__ptr + __offset[__index]) =
854     __vec[__index];
855 }
856 
857 /*-- vec_xl -----------------------------------------------------------------*/
858 
859 static inline __ATTRS_o_ai vector signed char
vec_xl(long __offset,const signed char * __ptr)860 vec_xl(long __offset, const signed char *__ptr) {
861   return *(const vector signed char *)((__INTPTR_TYPE__)__ptr + __offset);
862 }
863 
864 static inline __ATTRS_o_ai vector unsigned char
vec_xl(long __offset,const unsigned char * __ptr)865 vec_xl(long __offset, const unsigned char *__ptr) {
866   return *(const vector unsigned char *)((__INTPTR_TYPE__)__ptr + __offset);
867 }
868 
869 static inline __ATTRS_o_ai vector signed short
vec_xl(long __offset,const signed short * __ptr)870 vec_xl(long __offset, const signed short *__ptr) {
871   return *(const vector signed short *)((__INTPTR_TYPE__)__ptr + __offset);
872 }
873 
874 static inline __ATTRS_o_ai vector unsigned short
vec_xl(long __offset,const unsigned short * __ptr)875 vec_xl(long __offset, const unsigned short *__ptr) {
876   return *(const vector unsigned short *)((__INTPTR_TYPE__)__ptr + __offset);
877 }
878 
879 static inline __ATTRS_o_ai vector signed int
vec_xl(long __offset,const signed int * __ptr)880 vec_xl(long __offset, const signed int *__ptr) {
881   return *(const vector signed int *)((__INTPTR_TYPE__)__ptr + __offset);
882 }
883 
884 static inline __ATTRS_o_ai vector unsigned int
vec_xl(long __offset,const unsigned int * __ptr)885 vec_xl(long __offset, const unsigned int *__ptr) {
886   return *(const vector unsigned int *)((__INTPTR_TYPE__)__ptr + __offset);
887 }
888 
889 static inline __ATTRS_o_ai vector signed long long
vec_xl(long __offset,const signed long long * __ptr)890 vec_xl(long __offset, const signed long long *__ptr) {
891   return *(const vector signed long long *)((__INTPTR_TYPE__)__ptr + __offset);
892 }
893 
894 static inline __ATTRS_o_ai vector unsigned long long
vec_xl(long __offset,const unsigned long long * __ptr)895 vec_xl(long __offset, const unsigned long long *__ptr) {
896   return *(const vector unsigned long long *)((__INTPTR_TYPE__)__ptr + __offset);
897 }
898 
899 #if __ARCH__ >= 12
900 static inline __ATTRS_o_ai vector float
vec_xl(long __offset,const float * __ptr)901 vec_xl(long __offset, const float *__ptr) {
902   return *(const vector float *)((__INTPTR_TYPE__)__ptr + __offset);
903 }
904 #endif
905 
906 static inline __ATTRS_o_ai vector double
vec_xl(long __offset,const double * __ptr)907 vec_xl(long __offset, const double *__ptr) {
908   return *(const vector double *)((__INTPTR_TYPE__)__ptr + __offset);
909 }
910 
911 /*-- vec_xld2 ---------------------------------------------------------------*/
912 
913 // This prototype is deprecated.
914 static inline __ATTRS_o_ai vector signed char
vec_xld2(long __offset,const signed char * __ptr)915 vec_xld2(long __offset, const signed char *__ptr) {
916   return *(const vector signed char *)((__INTPTR_TYPE__)__ptr + __offset);
917 }
918 
919 // This prototype is deprecated.
920 static inline __ATTRS_o_ai vector unsigned char
vec_xld2(long __offset,const unsigned char * __ptr)921 vec_xld2(long __offset, const unsigned char *__ptr) {
922   return *(const vector unsigned char *)((__INTPTR_TYPE__)__ptr + __offset);
923 }
924 
925 // This prototype is deprecated.
926 static inline __ATTRS_o_ai vector signed short
vec_xld2(long __offset,const signed short * __ptr)927 vec_xld2(long __offset, const signed short *__ptr) {
928   return *(const vector signed short *)((__INTPTR_TYPE__)__ptr + __offset);
929 }
930 
931 // This prototype is deprecated.
932 static inline __ATTRS_o_ai vector unsigned short
vec_xld2(long __offset,const unsigned short * __ptr)933 vec_xld2(long __offset, const unsigned short *__ptr) {
934   return *(const vector unsigned short *)((__INTPTR_TYPE__)__ptr + __offset);
935 }
936 
937 // This prototype is deprecated.
938 static inline __ATTRS_o_ai vector signed int
vec_xld2(long __offset,const signed int * __ptr)939 vec_xld2(long __offset, const signed int *__ptr) {
940   return *(const vector signed int *)((__INTPTR_TYPE__)__ptr + __offset);
941 }
942 
943 // This prototype is deprecated.
944 static inline __ATTRS_o_ai vector unsigned int
vec_xld2(long __offset,const unsigned int * __ptr)945 vec_xld2(long __offset, const unsigned int *__ptr) {
946   return *(const vector unsigned int *)((__INTPTR_TYPE__)__ptr + __offset);
947 }
948 
949 // This prototype is deprecated.
950 static inline __ATTRS_o_ai vector signed long long
vec_xld2(long __offset,const signed long long * __ptr)951 vec_xld2(long __offset, const signed long long *__ptr) {
952   return *(const vector signed long long *)((__INTPTR_TYPE__)__ptr + __offset);
953 }
954 
955 // This prototype is deprecated.
956 static inline __ATTRS_o_ai vector unsigned long long
vec_xld2(long __offset,const unsigned long long * __ptr)957 vec_xld2(long __offset, const unsigned long long *__ptr) {
958   return *(const vector unsigned long long *)((__INTPTR_TYPE__)__ptr + __offset);
959 }
960 
961 // This prototype is deprecated.
962 static inline __ATTRS_o_ai vector double
vec_xld2(long __offset,const double * __ptr)963 vec_xld2(long __offset, const double *__ptr) {
964   return *(const vector double *)((__INTPTR_TYPE__)__ptr + __offset);
965 }
966 
967 /*-- vec_xlw4 ---------------------------------------------------------------*/
968 
969 // This prototype is deprecated.
970 static inline __ATTRS_o_ai vector signed char
vec_xlw4(long __offset,const signed char * __ptr)971 vec_xlw4(long __offset, const signed char *__ptr) {
972   return *(const vector signed char *)((__INTPTR_TYPE__)__ptr + __offset);
973 }
974 
975 // This prototype is deprecated.
976 static inline __ATTRS_o_ai vector unsigned char
vec_xlw4(long __offset,const unsigned char * __ptr)977 vec_xlw4(long __offset, const unsigned char *__ptr) {
978   return *(const vector unsigned char *)((__INTPTR_TYPE__)__ptr + __offset);
979 }
980 
981 // This prototype is deprecated.
982 static inline __ATTRS_o_ai vector signed short
vec_xlw4(long __offset,const signed short * __ptr)983 vec_xlw4(long __offset, const signed short *__ptr) {
984   return *(const vector signed short *)((__INTPTR_TYPE__)__ptr + __offset);
985 }
986 
987 // This prototype is deprecated.
988 static inline __ATTRS_o_ai vector unsigned short
vec_xlw4(long __offset,const unsigned short * __ptr)989 vec_xlw4(long __offset, const unsigned short *__ptr) {
990   return *(const vector unsigned short *)((__INTPTR_TYPE__)__ptr + __offset);
991 }
992 
993 // This prototype is deprecated.
994 static inline __ATTRS_o_ai vector signed int
vec_xlw4(long __offset,const signed int * __ptr)995 vec_xlw4(long __offset, const signed int *__ptr) {
996   return *(const vector signed int *)((__INTPTR_TYPE__)__ptr + __offset);
997 }
998 
999 // This prototype is deprecated.
1000 static inline __ATTRS_o_ai vector unsigned int
vec_xlw4(long __offset,const unsigned int * __ptr)1001 vec_xlw4(long __offset, const unsigned int *__ptr) {
1002   return *(const vector unsigned int *)((__INTPTR_TYPE__)__ptr + __offset);
1003 }
1004 
1005 /*-- vec_xst ----------------------------------------------------------------*/
1006 
1007 static inline __ATTRS_o_ai void
vec_xst(vector signed char __vec,long __offset,signed char * __ptr)1008 vec_xst(vector signed char __vec, long __offset, signed char *__ptr) {
1009   *(vector signed char *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1010 }
1011 
1012 static inline __ATTRS_o_ai void
vec_xst(vector unsigned char __vec,long __offset,unsigned char * __ptr)1013 vec_xst(vector unsigned char __vec, long __offset, unsigned char *__ptr) {
1014   *(vector unsigned char *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1015 }
1016 
1017 static inline __ATTRS_o_ai void
vec_xst(vector signed short __vec,long __offset,signed short * __ptr)1018 vec_xst(vector signed short __vec, long __offset, signed short *__ptr) {
1019   *(vector signed short *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1020 }
1021 
1022 static inline __ATTRS_o_ai void
vec_xst(vector unsigned short __vec,long __offset,unsigned short * __ptr)1023 vec_xst(vector unsigned short __vec, long __offset, unsigned short *__ptr) {
1024   *(vector unsigned short *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1025 }
1026 
1027 static inline __ATTRS_o_ai void
vec_xst(vector signed int __vec,long __offset,signed int * __ptr)1028 vec_xst(vector signed int __vec, long __offset, signed int *__ptr) {
1029   *(vector signed int *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1030 }
1031 
1032 static inline __ATTRS_o_ai void
vec_xst(vector unsigned int __vec,long __offset,unsigned int * __ptr)1033 vec_xst(vector unsigned int __vec, long __offset, unsigned int *__ptr) {
1034   *(vector unsigned int *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1035 }
1036 
1037 static inline __ATTRS_o_ai void
vec_xst(vector signed long long __vec,long __offset,signed long long * __ptr)1038 vec_xst(vector signed long long __vec, long __offset,
1039           signed long long *__ptr) {
1040   *(vector signed long long *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1041 }
1042 
1043 static inline __ATTRS_o_ai void
vec_xst(vector unsigned long long __vec,long __offset,unsigned long long * __ptr)1044 vec_xst(vector unsigned long long __vec, long __offset,
1045           unsigned long long *__ptr) {
1046   *(vector unsigned long long *)((__INTPTR_TYPE__)__ptr + __offset) =
1047     __vec;
1048 }
1049 
1050 #if __ARCH__ >= 12
1051 static inline __ATTRS_o_ai void
vec_xst(vector float __vec,long __offset,float * __ptr)1052 vec_xst(vector float __vec, long __offset, float *__ptr) {
1053   *(vector float *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1054 }
1055 #endif
1056 
1057 static inline __ATTRS_o_ai void
vec_xst(vector double __vec,long __offset,double * __ptr)1058 vec_xst(vector double __vec, long __offset, double *__ptr) {
1059   *(vector double *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1060 }
1061 
1062 /*-- vec_xstd2 --------------------------------------------------------------*/
1063 
1064 // This prototype is deprecated.
1065 static inline __ATTRS_o_ai void
vec_xstd2(vector signed char __vec,long __offset,signed char * __ptr)1066 vec_xstd2(vector signed char __vec, long __offset, signed char *__ptr) {
1067   *(vector signed char *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1068 }
1069 
1070 // This prototype is deprecated.
1071 static inline __ATTRS_o_ai void
vec_xstd2(vector unsigned char __vec,long __offset,unsigned char * __ptr)1072 vec_xstd2(vector unsigned char __vec, long __offset, unsigned char *__ptr) {
1073   *(vector unsigned char *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1074 }
1075 
1076 // This prototype is deprecated.
1077 static inline __ATTRS_o_ai void
vec_xstd2(vector signed short __vec,long __offset,signed short * __ptr)1078 vec_xstd2(vector signed short __vec, long __offset, signed short *__ptr) {
1079   *(vector signed short *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1080 }
1081 
1082 // This prototype is deprecated.
1083 static inline __ATTRS_o_ai void
vec_xstd2(vector unsigned short __vec,long __offset,unsigned short * __ptr)1084 vec_xstd2(vector unsigned short __vec, long __offset, unsigned short *__ptr) {
1085   *(vector unsigned short *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1086 }
1087 
1088 // This prototype is deprecated.
1089 static inline __ATTRS_o_ai void
vec_xstd2(vector signed int __vec,long __offset,signed int * __ptr)1090 vec_xstd2(vector signed int __vec, long __offset, signed int *__ptr) {
1091   *(vector signed int *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1092 }
1093 
1094 // This prototype is deprecated.
1095 static inline __ATTRS_o_ai void
vec_xstd2(vector unsigned int __vec,long __offset,unsigned int * __ptr)1096 vec_xstd2(vector unsigned int __vec, long __offset, unsigned int *__ptr) {
1097   *(vector unsigned int *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1098 }
1099 
1100 // This prototype is deprecated.
1101 static inline __ATTRS_o_ai void
vec_xstd2(vector signed long long __vec,long __offset,signed long long * __ptr)1102 vec_xstd2(vector signed long long __vec, long __offset,
1103           signed long long *__ptr) {
1104   *(vector signed long long *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1105 }
1106 
1107 // This prototype is deprecated.
1108 static inline __ATTRS_o_ai void
vec_xstd2(vector unsigned long long __vec,long __offset,unsigned long long * __ptr)1109 vec_xstd2(vector unsigned long long __vec, long __offset,
1110           unsigned long long *__ptr) {
1111   *(vector unsigned long long *)((__INTPTR_TYPE__)__ptr + __offset) =
1112     __vec;
1113 }
1114 
1115 // This prototype is deprecated.
1116 static inline __ATTRS_o_ai void
vec_xstd2(vector double __vec,long __offset,double * __ptr)1117 vec_xstd2(vector double __vec, long __offset, double *__ptr) {
1118   *(vector double *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1119 }
1120 
1121 /*-- vec_xstw4 --------------------------------------------------------------*/
1122 
1123 // This prototype is deprecated.
1124 static inline __ATTRS_o_ai void
vec_xstw4(vector signed char __vec,long __offset,signed char * __ptr)1125 vec_xstw4(vector signed char __vec, long __offset, signed char *__ptr) {
1126   *(vector signed char *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1127 }
1128 
1129 // This prototype is deprecated.
1130 static inline __ATTRS_o_ai void
vec_xstw4(vector unsigned char __vec,long __offset,unsigned char * __ptr)1131 vec_xstw4(vector unsigned char __vec, long __offset, unsigned char *__ptr) {
1132   *(vector unsigned char *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1133 }
1134 
1135 // This prototype is deprecated.
1136 static inline __ATTRS_o_ai void
vec_xstw4(vector signed short __vec,long __offset,signed short * __ptr)1137 vec_xstw4(vector signed short __vec, long __offset, signed short *__ptr) {
1138   *(vector signed short *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1139 }
1140 
1141 // This prototype is deprecated.
1142 static inline __ATTRS_o_ai void
vec_xstw4(vector unsigned short __vec,long __offset,unsigned short * __ptr)1143 vec_xstw4(vector unsigned short __vec, long __offset, unsigned short *__ptr) {
1144   *(vector unsigned short *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1145 }
1146 
1147 // This prototype is deprecated.
1148 static inline __ATTRS_o_ai void
vec_xstw4(vector signed int __vec,long __offset,signed int * __ptr)1149 vec_xstw4(vector signed int __vec, long __offset, signed int *__ptr) {
1150   *(vector signed int *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1151 }
1152 
1153 // This prototype is deprecated.
1154 static inline __ATTRS_o_ai void
vec_xstw4(vector unsigned int __vec,long __offset,unsigned int * __ptr)1155 vec_xstw4(vector unsigned int __vec, long __offset, unsigned int *__ptr) {
1156   *(vector unsigned int *)((__INTPTR_TYPE__)__ptr + __offset) = __vec;
1157 }
1158 
1159 /*-- vec_load_bndry ---------------------------------------------------------*/
1160 
1161 extern __ATTRS_o vector signed char
1162 vec_load_bndry(const signed char *__ptr, unsigned short __len)
1163   __constant_pow2_range(__len, 64, 4096);
1164 
1165 extern __ATTRS_o vector unsigned char
1166 vec_load_bndry(const unsigned char *__ptr, unsigned short __len)
1167   __constant_pow2_range(__len, 64, 4096);
1168 
1169 extern __ATTRS_o vector signed short
1170 vec_load_bndry(const signed short *__ptr, unsigned short __len)
1171   __constant_pow2_range(__len, 64, 4096);
1172 
1173 extern __ATTRS_o vector unsigned short
1174 vec_load_bndry(const unsigned short *__ptr, unsigned short __len)
1175   __constant_pow2_range(__len, 64, 4096);
1176 
1177 extern __ATTRS_o vector signed int
1178 vec_load_bndry(const signed int *__ptr, unsigned short __len)
1179   __constant_pow2_range(__len, 64, 4096);
1180 
1181 extern __ATTRS_o vector unsigned int
1182 vec_load_bndry(const unsigned int *__ptr, unsigned short __len)
1183   __constant_pow2_range(__len, 64, 4096);
1184 
1185 extern __ATTRS_o vector signed long long
1186 vec_load_bndry(const signed long long *__ptr, unsigned short __len)
1187   __constant_pow2_range(__len, 64, 4096);
1188 
1189 extern __ATTRS_o vector unsigned long long
1190 vec_load_bndry(const unsigned long long *__ptr, unsigned short __len)
1191   __constant_pow2_range(__len, 64, 4096);
1192 
1193 #if __ARCH__ >= 12
1194 extern __ATTRS_o vector float
1195 vec_load_bndry(const float *__ptr, unsigned short __len)
1196   __constant_pow2_range(__len, 64, 4096);
1197 #endif
1198 
1199 extern __ATTRS_o vector double
1200 vec_load_bndry(const double *__ptr, unsigned short __len)
1201   __constant_pow2_range(__len, 64, 4096);
1202 
1203 #define vec_load_bndry(X, Y) ((__typeof__((vec_load_bndry)((X), (Y)))) \
1204   __builtin_s390_vlbb((X), ((Y) == 64 ? 0 : \
1205                             (Y) == 128 ? 1 : \
1206                             (Y) == 256 ? 2 : \
1207                             (Y) == 512 ? 3 : \
1208                             (Y) == 1024 ? 4 : \
1209                             (Y) == 2048 ? 5 : \
1210                             (Y) == 4096 ? 6 : -1)))
1211 
1212 /*-- vec_load_len -----------------------------------------------------------*/
1213 
1214 static inline __ATTRS_o_ai vector signed char
vec_load_len(const signed char * __ptr,unsigned int __len)1215 vec_load_len(const signed char *__ptr, unsigned int __len) {
1216   return (vector signed char)__builtin_s390_vll(__len, __ptr);
1217 }
1218 
1219 static inline __ATTRS_o_ai vector unsigned char
vec_load_len(const unsigned char * __ptr,unsigned int __len)1220 vec_load_len(const unsigned char *__ptr, unsigned int __len) {
1221   return (vector unsigned char)__builtin_s390_vll(__len, __ptr);
1222 }
1223 
1224 static inline __ATTRS_o_ai vector signed short
vec_load_len(const signed short * __ptr,unsigned int __len)1225 vec_load_len(const signed short *__ptr, unsigned int __len) {
1226   return (vector signed short)__builtin_s390_vll(__len, __ptr);
1227 }
1228 
1229 static inline __ATTRS_o_ai vector unsigned short
vec_load_len(const unsigned short * __ptr,unsigned int __len)1230 vec_load_len(const unsigned short *__ptr, unsigned int __len) {
1231   return (vector unsigned short)__builtin_s390_vll(__len, __ptr);
1232 }
1233 
1234 static inline __ATTRS_o_ai vector signed int
vec_load_len(const signed int * __ptr,unsigned int __len)1235 vec_load_len(const signed int *__ptr, unsigned int __len) {
1236   return (vector signed int)__builtin_s390_vll(__len, __ptr);
1237 }
1238 
1239 static inline __ATTRS_o_ai vector unsigned int
vec_load_len(const unsigned int * __ptr,unsigned int __len)1240 vec_load_len(const unsigned int *__ptr, unsigned int __len) {
1241   return (vector unsigned int)__builtin_s390_vll(__len, __ptr);
1242 }
1243 
1244 static inline __ATTRS_o_ai vector signed long long
vec_load_len(const signed long long * __ptr,unsigned int __len)1245 vec_load_len(const signed long long *__ptr, unsigned int __len) {
1246   return (vector signed long long)__builtin_s390_vll(__len, __ptr);
1247 }
1248 
1249 static inline __ATTRS_o_ai vector unsigned long long
vec_load_len(const unsigned long long * __ptr,unsigned int __len)1250 vec_load_len(const unsigned long long *__ptr, unsigned int __len) {
1251   return (vector unsigned long long)__builtin_s390_vll(__len, __ptr);
1252 }
1253 
1254 #if __ARCH__ >= 12
1255 static inline __ATTRS_o_ai vector float
vec_load_len(const float * __ptr,unsigned int __len)1256 vec_load_len(const float *__ptr, unsigned int __len) {
1257   return (vector float)__builtin_s390_vll(__len, __ptr);
1258 }
1259 #endif
1260 
1261 static inline __ATTRS_o_ai vector double
vec_load_len(const double * __ptr,unsigned int __len)1262 vec_load_len(const double *__ptr, unsigned int __len) {
1263   return (vector double)__builtin_s390_vll(__len, __ptr);
1264 }
1265 
1266 /*-- vec_load_len_r ---------------------------------------------------------*/
1267 
1268 #if __ARCH__ >= 12
1269 static inline __ATTRS_ai vector unsigned char
vec_load_len_r(const unsigned char * __ptr,unsigned int __len)1270 vec_load_len_r(const unsigned char *__ptr, unsigned int __len) {
1271   return (vector unsigned char)__builtin_s390_vlrl(__len, __ptr);
1272 }
1273 #endif
1274 
1275 /*-- vec_store_len ----------------------------------------------------------*/
1276 
1277 static inline __ATTRS_o_ai void
vec_store_len(vector signed char __vec,signed char * __ptr,unsigned int __len)1278 vec_store_len(vector signed char __vec, signed char *__ptr,
1279               unsigned int __len) {
1280   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
1281 }
1282 
1283 static inline __ATTRS_o_ai void
vec_store_len(vector unsigned char __vec,unsigned char * __ptr,unsigned int __len)1284 vec_store_len(vector unsigned char __vec, unsigned char *__ptr,
1285               unsigned int __len) {
1286   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
1287 }
1288 
1289 static inline __ATTRS_o_ai void
vec_store_len(vector signed short __vec,signed short * __ptr,unsigned int __len)1290 vec_store_len(vector signed short __vec, signed short *__ptr,
1291               unsigned int __len) {
1292   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
1293 }
1294 
1295 static inline __ATTRS_o_ai void
vec_store_len(vector unsigned short __vec,unsigned short * __ptr,unsigned int __len)1296 vec_store_len(vector unsigned short __vec, unsigned short *__ptr,
1297               unsigned int __len) {
1298   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
1299 }
1300 
1301 static inline __ATTRS_o_ai void
vec_store_len(vector signed int __vec,signed int * __ptr,unsigned int __len)1302 vec_store_len(vector signed int __vec, signed int *__ptr,
1303               unsigned int __len) {
1304   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
1305 }
1306 
1307 static inline __ATTRS_o_ai void
vec_store_len(vector unsigned int __vec,unsigned int * __ptr,unsigned int __len)1308 vec_store_len(vector unsigned int __vec, unsigned int *__ptr,
1309               unsigned int __len) {
1310   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
1311 }
1312 
1313 static inline __ATTRS_o_ai void
vec_store_len(vector signed long long __vec,signed long long * __ptr,unsigned int __len)1314 vec_store_len(vector signed long long __vec, signed long long *__ptr,
1315               unsigned int __len) {
1316   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
1317 }
1318 
1319 static inline __ATTRS_o_ai void
vec_store_len(vector unsigned long long __vec,unsigned long long * __ptr,unsigned int __len)1320 vec_store_len(vector unsigned long long __vec, unsigned long long *__ptr,
1321               unsigned int __len) {
1322   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
1323 }
1324 
1325 #if __ARCH__ >= 12
1326 static inline __ATTRS_o_ai void
vec_store_len(vector float __vec,float * __ptr,unsigned int __len)1327 vec_store_len(vector float __vec, float *__ptr,
1328               unsigned int __len) {
1329   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
1330 }
1331 #endif
1332 
1333 static inline __ATTRS_o_ai void
vec_store_len(vector double __vec,double * __ptr,unsigned int __len)1334 vec_store_len(vector double __vec, double *__ptr,
1335               unsigned int __len) {
1336   __builtin_s390_vstl((vector signed char)__vec, __len, __ptr);
1337 }
1338 
1339 /*-- vec_store_len_r --------------------------------------------------------*/
1340 
1341 #if __ARCH__ >= 12
1342 static inline __ATTRS_ai void
vec_store_len_r(vector unsigned char __vec,unsigned char * __ptr,unsigned int __len)1343 vec_store_len_r(vector unsigned char __vec, unsigned char *__ptr,
1344                 unsigned int __len) {
1345   __builtin_s390_vstrl((vector signed char)__vec, __len, __ptr);
1346 }
1347 #endif
1348 
1349 /*-- vec_load_pair ----------------------------------------------------------*/
1350 
1351 static inline __ATTRS_o_ai vector signed long long
vec_load_pair(signed long long __a,signed long long __b)1352 vec_load_pair(signed long long __a, signed long long __b) {
1353   return (vector signed long long)(__a, __b);
1354 }
1355 
1356 static inline __ATTRS_o_ai vector unsigned long long
vec_load_pair(unsigned long long __a,unsigned long long __b)1357 vec_load_pair(unsigned long long __a, unsigned long long __b) {
1358   return (vector unsigned long long)(__a, __b);
1359 }
1360 
1361 /*-- vec_genmask ------------------------------------------------------------*/
1362 
1363 static inline __ATTRS_o_ai vector unsigned char
vec_genmask(unsigned short __mask)1364 vec_genmask(unsigned short __mask)
1365   __constant(__mask) {
1366   return (vector unsigned char)(
1367     __mask & 0x8000 ? 0xff : 0,
1368     __mask & 0x4000 ? 0xff : 0,
1369     __mask & 0x2000 ? 0xff : 0,
1370     __mask & 0x1000 ? 0xff : 0,
1371     __mask & 0x0800 ? 0xff : 0,
1372     __mask & 0x0400 ? 0xff : 0,
1373     __mask & 0x0200 ? 0xff : 0,
1374     __mask & 0x0100 ? 0xff : 0,
1375     __mask & 0x0080 ? 0xff : 0,
1376     __mask & 0x0040 ? 0xff : 0,
1377     __mask & 0x0020 ? 0xff : 0,
1378     __mask & 0x0010 ? 0xff : 0,
1379     __mask & 0x0008 ? 0xff : 0,
1380     __mask & 0x0004 ? 0xff : 0,
1381     __mask & 0x0002 ? 0xff : 0,
1382     __mask & 0x0001 ? 0xff : 0);
1383 }
1384 
1385 /*-- vec_genmasks_* ---------------------------------------------------------*/
1386 
1387 static inline __ATTRS_o_ai vector unsigned char
vec_genmasks_8(unsigned char __first,unsigned char __last)1388 vec_genmasks_8(unsigned char __first, unsigned char __last)
1389   __constant(__first) __constant(__last) {
1390   unsigned char __bit1 = __first & 7;
1391   unsigned char __bit2 = __last & 7;
1392   unsigned char __mask1 = (unsigned char)(1U << (7 - __bit1) << 1) - 1;
1393   unsigned char __mask2 = (unsigned char)(1U << (7 - __bit2)) - 1;
1394   unsigned char __value = (__bit1 <= __bit2 ?
1395                            __mask1 & ~__mask2 :
1396                            __mask1 | ~__mask2);
1397   return (vector unsigned char)__value;
1398 }
1399 
1400 static inline __ATTRS_o_ai vector unsigned short
vec_genmasks_16(unsigned char __first,unsigned char __last)1401 vec_genmasks_16(unsigned char __first, unsigned char __last)
1402   __constant(__first) __constant(__last) {
1403   unsigned char __bit1 = __first & 15;
1404   unsigned char __bit2 = __last & 15;
1405   unsigned short __mask1 = (unsigned short)(1U << (15 - __bit1) << 1) - 1;
1406   unsigned short __mask2 = (unsigned short)(1U << (15 - __bit2)) - 1;
1407   unsigned short __value = (__bit1 <= __bit2 ?
1408                             __mask1 & ~__mask2 :
1409                             __mask1 | ~__mask2);
1410   return (vector unsigned short)__value;
1411 }
1412 
1413 static inline __ATTRS_o_ai vector unsigned int
vec_genmasks_32(unsigned char __first,unsigned char __last)1414 vec_genmasks_32(unsigned char __first, unsigned char __last)
1415   __constant(__first) __constant(__last) {
1416   unsigned char __bit1 = __first & 31;
1417   unsigned char __bit2 = __last & 31;
1418   unsigned int __mask1 = (1U << (31 - __bit1) << 1) - 1;
1419   unsigned int __mask2 = (1U << (31 - __bit2)) - 1;
1420   unsigned int __value = (__bit1 <= __bit2 ?
1421                           __mask1 & ~__mask2 :
1422                           __mask1 | ~__mask2);
1423   return (vector unsigned int)__value;
1424 }
1425 
1426 static inline __ATTRS_o_ai vector unsigned long long
vec_genmasks_64(unsigned char __first,unsigned char __last)1427 vec_genmasks_64(unsigned char __first, unsigned char __last)
1428   __constant(__first) __constant(__last) {
1429   unsigned char __bit1 = __first & 63;
1430   unsigned char __bit2 = __last & 63;
1431   unsigned long long __mask1 = (1ULL << (63 - __bit1) << 1) - 1;
1432   unsigned long long __mask2 = (1ULL << (63 - __bit2)) - 1;
1433   unsigned long long __value = (__bit1 <= __bit2 ?
1434                                 __mask1 & ~__mask2 :
1435                                 __mask1 | ~__mask2);
1436   return (vector unsigned long long)__value;
1437 }
1438 
1439 /*-- vec_splat --------------------------------------------------------------*/
1440 
1441 static inline __ATTRS_o_ai vector signed char
vec_splat(vector signed char __vec,int __index)1442 vec_splat(vector signed char __vec, int __index)
1443   __constant_range(__index, 0, 15) {
1444   return (vector signed char)__vec[__index];
1445 }
1446 
1447 static inline __ATTRS_o_ai vector bool char
vec_splat(vector bool char __vec,int __index)1448 vec_splat(vector bool char __vec, int __index)
1449   __constant_range(__index, 0, 15) {
1450   return (vector bool char)(vector unsigned char)__vec[__index];
1451 }
1452 
1453 static inline __ATTRS_o_ai vector unsigned char
vec_splat(vector unsigned char __vec,int __index)1454 vec_splat(vector unsigned char __vec, int __index)
1455   __constant_range(__index, 0, 15) {
1456   return (vector unsigned char)__vec[__index];
1457 }
1458 
1459 static inline __ATTRS_o_ai vector signed short
vec_splat(vector signed short __vec,int __index)1460 vec_splat(vector signed short __vec, int __index)
1461   __constant_range(__index, 0, 7) {
1462   return (vector signed short)__vec[__index];
1463 }
1464 
1465 static inline __ATTRS_o_ai vector bool short
vec_splat(vector bool short __vec,int __index)1466 vec_splat(vector bool short __vec, int __index)
1467   __constant_range(__index, 0, 7) {
1468   return (vector bool short)(vector unsigned short)__vec[__index];
1469 }
1470 
1471 static inline __ATTRS_o_ai vector unsigned short
vec_splat(vector unsigned short __vec,int __index)1472 vec_splat(vector unsigned short __vec, int __index)
1473   __constant_range(__index, 0, 7) {
1474   return (vector unsigned short)__vec[__index];
1475 }
1476 
1477 static inline __ATTRS_o_ai vector signed int
vec_splat(vector signed int __vec,int __index)1478 vec_splat(vector signed int __vec, int __index)
1479   __constant_range(__index, 0, 3) {
1480   return (vector signed int)__vec[__index];
1481 }
1482 
1483 static inline __ATTRS_o_ai vector bool int
vec_splat(vector bool int __vec,int __index)1484 vec_splat(vector bool int __vec, int __index)
1485   __constant_range(__index, 0, 3) {
1486   return (vector bool int)(vector unsigned int)__vec[__index];
1487 }
1488 
1489 static inline __ATTRS_o_ai vector unsigned int
vec_splat(vector unsigned int __vec,int __index)1490 vec_splat(vector unsigned int __vec, int __index)
1491   __constant_range(__index, 0, 3) {
1492   return (vector unsigned int)__vec[__index];
1493 }
1494 
1495 static inline __ATTRS_o_ai vector signed long long
vec_splat(vector signed long long __vec,int __index)1496 vec_splat(vector signed long long __vec, int __index)
1497   __constant_range(__index, 0, 1) {
1498   return (vector signed long long)__vec[__index];
1499 }
1500 
1501 static inline __ATTRS_o_ai vector bool long long
vec_splat(vector bool long long __vec,int __index)1502 vec_splat(vector bool long long __vec, int __index)
1503   __constant_range(__index, 0, 1) {
1504   return (vector bool long long)(vector unsigned long long)__vec[__index];
1505 }
1506 
1507 static inline __ATTRS_o_ai vector unsigned long long
vec_splat(vector unsigned long long __vec,int __index)1508 vec_splat(vector unsigned long long __vec, int __index)
1509   __constant_range(__index, 0, 1) {
1510   return (vector unsigned long long)__vec[__index];
1511 }
1512 
1513 #if __ARCH__ >= 12
1514 static inline __ATTRS_o_ai vector float
vec_splat(vector float __vec,int __index)1515 vec_splat(vector float __vec, int __index)
1516   __constant_range(__index, 0, 3) {
1517   return (vector float)__vec[__index];
1518 }
1519 #endif
1520 
1521 static inline __ATTRS_o_ai vector double
vec_splat(vector double __vec,int __index)1522 vec_splat(vector double __vec, int __index)
1523   __constant_range(__index, 0, 1) {
1524   return (vector double)__vec[__index];
1525 }
1526 
1527 /*-- vec_splat_s* -----------------------------------------------------------*/
1528 
1529 static inline __ATTRS_ai vector signed char
vec_splat_s8(signed char __scalar)1530 vec_splat_s8(signed char __scalar)
1531   __constant(__scalar) {
1532   return (vector signed char)__scalar;
1533 }
1534 
1535 static inline __ATTRS_ai vector signed short
vec_splat_s16(signed short __scalar)1536 vec_splat_s16(signed short __scalar)
1537   __constant(__scalar) {
1538   return (vector signed short)__scalar;
1539 }
1540 
1541 static inline __ATTRS_ai vector signed int
vec_splat_s32(signed short __scalar)1542 vec_splat_s32(signed short __scalar)
1543   __constant(__scalar) {
1544   return (vector signed int)(signed int)__scalar;
1545 }
1546 
1547 static inline __ATTRS_ai vector signed long long
vec_splat_s64(signed short __scalar)1548 vec_splat_s64(signed short __scalar)
1549   __constant(__scalar) {
1550   return (vector signed long long)(signed long)__scalar;
1551 }
1552 
1553 /*-- vec_splat_u* -----------------------------------------------------------*/
1554 
1555 static inline __ATTRS_ai vector unsigned char
vec_splat_u8(unsigned char __scalar)1556 vec_splat_u8(unsigned char __scalar)
1557   __constant(__scalar) {
1558   return (vector unsigned char)__scalar;
1559 }
1560 
1561 static inline __ATTRS_ai vector unsigned short
vec_splat_u16(unsigned short __scalar)1562 vec_splat_u16(unsigned short __scalar)
1563   __constant(__scalar) {
1564   return (vector unsigned short)__scalar;
1565 }
1566 
1567 static inline __ATTRS_ai vector unsigned int
vec_splat_u32(signed short __scalar)1568 vec_splat_u32(signed short __scalar)
1569   __constant(__scalar) {
1570   return (vector unsigned int)(signed int)__scalar;
1571 }
1572 
1573 static inline __ATTRS_ai vector unsigned long long
vec_splat_u64(signed short __scalar)1574 vec_splat_u64(signed short __scalar)
1575   __constant(__scalar) {
1576   return (vector unsigned long long)(signed long long)__scalar;
1577 }
1578 
1579 /*-- vec_splats -------------------------------------------------------------*/
1580 
1581 static inline __ATTRS_o_ai vector signed char
vec_splats(signed char __scalar)1582 vec_splats(signed char __scalar) {
1583   return (vector signed char)__scalar;
1584 }
1585 
1586 static inline __ATTRS_o_ai vector unsigned char
vec_splats(unsigned char __scalar)1587 vec_splats(unsigned char __scalar) {
1588   return (vector unsigned char)__scalar;
1589 }
1590 
1591 static inline __ATTRS_o_ai vector signed short
vec_splats(signed short __scalar)1592 vec_splats(signed short __scalar) {
1593   return (vector signed short)__scalar;
1594 }
1595 
1596 static inline __ATTRS_o_ai vector unsigned short
vec_splats(unsigned short __scalar)1597 vec_splats(unsigned short __scalar) {
1598   return (vector unsigned short)__scalar;
1599 }
1600 
1601 static inline __ATTRS_o_ai vector signed int
vec_splats(signed int __scalar)1602 vec_splats(signed int __scalar) {
1603   return (vector signed int)__scalar;
1604 }
1605 
1606 static inline __ATTRS_o_ai vector unsigned int
vec_splats(unsigned int __scalar)1607 vec_splats(unsigned int __scalar) {
1608   return (vector unsigned int)__scalar;
1609 }
1610 
1611 static inline __ATTRS_o_ai vector signed long long
vec_splats(signed long long __scalar)1612 vec_splats(signed long long __scalar) {
1613   return (vector signed long long)__scalar;
1614 }
1615 
1616 static inline __ATTRS_o_ai vector unsigned long long
vec_splats(unsigned long long __scalar)1617 vec_splats(unsigned long long __scalar) {
1618   return (vector unsigned long long)__scalar;
1619 }
1620 
1621 #if __ARCH__ >= 12
1622 static inline __ATTRS_o_ai vector float
vec_splats(float __scalar)1623 vec_splats(float __scalar) {
1624   return (vector float)__scalar;
1625 }
1626 #endif
1627 
1628 static inline __ATTRS_o_ai vector double
vec_splats(double __scalar)1629 vec_splats(double __scalar) {
1630   return (vector double)__scalar;
1631 }
1632 
1633 /*-- vec_extend_s64 ---------------------------------------------------------*/
1634 
1635 static inline __ATTRS_o_ai vector signed long long
vec_extend_s64(vector signed char __a)1636 vec_extend_s64(vector signed char __a) {
1637   return (vector signed long long)(__a[7], __a[15]);
1638 }
1639 
1640 static inline __ATTRS_o_ai vector signed long long
vec_extend_s64(vector signed short __a)1641 vec_extend_s64(vector signed short __a) {
1642   return (vector signed long long)(__a[3], __a[7]);
1643 }
1644 
1645 static inline __ATTRS_o_ai vector signed long long
vec_extend_s64(vector signed int __a)1646 vec_extend_s64(vector signed int __a) {
1647   return (vector signed long long)(__a[1], __a[3]);
1648 }
1649 
1650 /*-- vec_mergeh -------------------------------------------------------------*/
1651 
1652 static inline __ATTRS_o_ai vector signed char
vec_mergeh(vector signed char __a,vector signed char __b)1653 vec_mergeh(vector signed char __a, vector signed char __b) {
1654   return (vector signed char)(
1655     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],
1656     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
1657 }
1658 
1659 static inline __ATTRS_o_ai vector bool char
vec_mergeh(vector bool char __a,vector bool char __b)1660 vec_mergeh(vector bool char __a, vector bool char __b) {
1661   return (vector bool char)(
1662     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],
1663     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
1664 }
1665 
1666 static inline __ATTRS_o_ai vector unsigned char
vec_mergeh(vector unsigned char __a,vector unsigned char __b)1667 vec_mergeh(vector unsigned char __a, vector unsigned char __b) {
1668   return (vector unsigned char)(
1669     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3],
1670     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
1671 }
1672 
1673 static inline __ATTRS_o_ai vector signed short
vec_mergeh(vector signed short __a,vector signed short __b)1674 vec_mergeh(vector signed short __a, vector signed short __b) {
1675   return (vector signed short)(
1676     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);
1677 }
1678 
1679 static inline __ATTRS_o_ai vector bool short
vec_mergeh(vector bool short __a,vector bool short __b)1680 vec_mergeh(vector bool short __a, vector bool short __b) {
1681   return (vector bool short)(
1682     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);
1683 }
1684 
1685 static inline __ATTRS_o_ai vector unsigned short
vec_mergeh(vector unsigned short __a,vector unsigned short __b)1686 vec_mergeh(vector unsigned short __a, vector unsigned short __b) {
1687   return (vector unsigned short)(
1688     __a[0], __b[0], __a[1], __b[1], __a[2], __b[2], __a[3], __b[3]);
1689 }
1690 
1691 static inline __ATTRS_o_ai vector signed int
vec_mergeh(vector signed int __a,vector signed int __b)1692 vec_mergeh(vector signed int __a, vector signed int __b) {
1693   return (vector signed int)(__a[0], __b[0], __a[1], __b[1]);
1694 }
1695 
1696 static inline __ATTRS_o_ai vector bool int
vec_mergeh(vector bool int __a,vector bool int __b)1697 vec_mergeh(vector bool int __a, vector bool int __b) {
1698   return (vector bool int)(__a[0], __b[0], __a[1], __b[1]);
1699 }
1700 
1701 static inline __ATTRS_o_ai vector unsigned int
vec_mergeh(vector unsigned int __a,vector unsigned int __b)1702 vec_mergeh(vector unsigned int __a, vector unsigned int __b) {
1703   return (vector unsigned int)(__a[0], __b[0], __a[1], __b[1]);
1704 }
1705 
1706 static inline __ATTRS_o_ai vector signed long long
vec_mergeh(vector signed long long __a,vector signed long long __b)1707 vec_mergeh(vector signed long long __a, vector signed long long __b) {
1708   return (vector signed long long)(__a[0], __b[0]);
1709 }
1710 
1711 static inline __ATTRS_o_ai vector bool long long
vec_mergeh(vector bool long long __a,vector bool long long __b)1712 vec_mergeh(vector bool long long __a, vector bool long long __b) {
1713   return (vector bool long long)(__a[0], __b[0]);
1714 }
1715 
1716 static inline __ATTRS_o_ai vector unsigned long long
vec_mergeh(vector unsigned long long __a,vector unsigned long long __b)1717 vec_mergeh(vector unsigned long long __a, vector unsigned long long __b) {
1718   return (vector unsigned long long)(__a[0], __b[0]);
1719 }
1720 
1721 #if __ARCH__ >= 12
1722 static inline __ATTRS_o_ai vector float
vec_mergeh(vector float __a,vector float __b)1723 vec_mergeh(vector float __a, vector float __b) {
1724   return (vector float)(__a[0], __b[0], __a[1], __b[1]);
1725 }
1726 #endif
1727 
1728 static inline __ATTRS_o_ai vector double
vec_mergeh(vector double __a,vector double __b)1729 vec_mergeh(vector double __a, vector double __b) {
1730   return (vector double)(__a[0], __b[0]);
1731 }
1732 
1733 /*-- vec_mergel -------------------------------------------------------------*/
1734 
1735 static inline __ATTRS_o_ai vector signed char
vec_mergel(vector signed char __a,vector signed char __b)1736 vec_mergel(vector signed char __a, vector signed char __b) {
1737   return (vector signed char)(
1738     __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],
1739     __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);
1740 }
1741 
1742 static inline __ATTRS_o_ai vector bool char
vec_mergel(vector bool char __a,vector bool char __b)1743 vec_mergel(vector bool char __a, vector bool char __b) {
1744   return (vector bool char)(
1745     __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],
1746     __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);
1747 }
1748 
1749 static inline __ATTRS_o_ai vector unsigned char
vec_mergel(vector unsigned char __a,vector unsigned char __b)1750 vec_mergel(vector unsigned char __a, vector unsigned char __b) {
1751   return (vector unsigned char)(
1752     __a[8], __b[8], __a[9], __b[9], __a[10], __b[10], __a[11], __b[11],
1753     __a[12], __b[12], __a[13], __b[13], __a[14], __b[14], __a[15], __b[15]);
1754 }
1755 
1756 static inline __ATTRS_o_ai vector signed short
vec_mergel(vector signed short __a,vector signed short __b)1757 vec_mergel(vector signed short __a, vector signed short __b) {
1758   return (vector signed short)(
1759     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
1760 }
1761 
1762 static inline __ATTRS_o_ai vector bool short
vec_mergel(vector bool short __a,vector bool short __b)1763 vec_mergel(vector bool short __a, vector bool short __b) {
1764   return (vector bool short)(
1765     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
1766 }
1767 
1768 static inline __ATTRS_o_ai vector unsigned short
vec_mergel(vector unsigned short __a,vector unsigned short __b)1769 vec_mergel(vector unsigned short __a, vector unsigned short __b) {
1770   return (vector unsigned short)(
1771     __a[4], __b[4], __a[5], __b[5], __a[6], __b[6], __a[7], __b[7]);
1772 }
1773 
1774 static inline __ATTRS_o_ai vector signed int
vec_mergel(vector signed int __a,vector signed int __b)1775 vec_mergel(vector signed int __a, vector signed int __b) {
1776   return (vector signed int)(__a[2], __b[2], __a[3], __b[3]);
1777 }
1778 
1779 static inline __ATTRS_o_ai vector bool int
vec_mergel(vector bool int __a,vector bool int __b)1780 vec_mergel(vector bool int __a, vector bool int __b) {
1781   return (vector bool int)(__a[2], __b[2], __a[3], __b[3]);
1782 }
1783 
1784 static inline __ATTRS_o_ai vector unsigned int
vec_mergel(vector unsigned int __a,vector unsigned int __b)1785 vec_mergel(vector unsigned int __a, vector unsigned int __b) {
1786   return (vector unsigned int)(__a[2], __b[2], __a[3], __b[3]);
1787 }
1788 
1789 static inline __ATTRS_o_ai vector signed long long
vec_mergel(vector signed long long __a,vector signed long long __b)1790 vec_mergel(vector signed long long __a, vector signed long long __b) {
1791   return (vector signed long long)(__a[1], __b[1]);
1792 }
1793 
1794 static inline __ATTRS_o_ai vector bool long long
vec_mergel(vector bool long long __a,vector bool long long __b)1795 vec_mergel(vector bool long long __a, vector bool long long __b) {
1796   return (vector bool long long)(__a[1], __b[1]);
1797 }
1798 
1799 static inline __ATTRS_o_ai vector unsigned long long
vec_mergel(vector unsigned long long __a,vector unsigned long long __b)1800 vec_mergel(vector unsigned long long __a, vector unsigned long long __b) {
1801   return (vector unsigned long long)(__a[1], __b[1]);
1802 }
1803 
1804 #if __ARCH__ >= 12
1805 static inline __ATTRS_o_ai vector float
vec_mergel(vector float __a,vector float __b)1806 vec_mergel(vector float __a, vector float __b) {
1807   return (vector float)(__a[2], __b[2], __a[3], __b[3]);
1808 }
1809 #endif
1810 
1811 static inline __ATTRS_o_ai vector double
vec_mergel(vector double __a,vector double __b)1812 vec_mergel(vector double __a, vector double __b) {
1813   return (vector double)(__a[1], __b[1]);
1814 }
1815 
1816 /*-- vec_pack ---------------------------------------------------------------*/
1817 
1818 static inline __ATTRS_o_ai vector signed char
vec_pack(vector signed short __a,vector signed short __b)1819 vec_pack(vector signed short __a, vector signed short __b) {
1820   vector signed char __ac = (vector signed char)__a;
1821   vector signed char __bc = (vector signed char)__b;
1822   return (vector signed char)(
1823     __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
1824     __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
1825 }
1826 
1827 static inline __ATTRS_o_ai vector bool char
vec_pack(vector bool short __a,vector bool short __b)1828 vec_pack(vector bool short __a, vector bool short __b) {
1829   vector bool char __ac = (vector bool char)__a;
1830   vector bool char __bc = (vector bool char)__b;
1831   return (vector bool char)(
1832     __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
1833     __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
1834 }
1835 
1836 static inline __ATTRS_o_ai vector unsigned char
vec_pack(vector unsigned short __a,vector unsigned short __b)1837 vec_pack(vector unsigned short __a, vector unsigned short __b) {
1838   vector unsigned char __ac = (vector unsigned char)__a;
1839   vector unsigned char __bc = (vector unsigned char)__b;
1840   return (vector unsigned char)(
1841     __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
1842     __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
1843 }
1844 
1845 static inline __ATTRS_o_ai vector signed short
vec_pack(vector signed int __a,vector signed int __b)1846 vec_pack(vector signed int __a, vector signed int __b) {
1847   vector signed short __ac = (vector signed short)__a;
1848   vector signed short __bc = (vector signed short)__b;
1849   return (vector signed short)(
1850     __ac[1], __ac[3], __ac[5], __ac[7],
1851     __bc[1], __bc[3], __bc[5], __bc[7]);
1852 }
1853 
1854 static inline __ATTRS_o_ai vector bool short
vec_pack(vector bool int __a,vector bool int __b)1855 vec_pack(vector bool int __a, vector bool int __b) {
1856   vector bool short __ac = (vector bool short)__a;
1857   vector bool short __bc = (vector bool short)__b;
1858   return (vector bool short)(
1859     __ac[1], __ac[3], __ac[5], __ac[7],
1860     __bc[1], __bc[3], __bc[5], __bc[7]);
1861 }
1862 
1863 static inline __ATTRS_o_ai vector unsigned short
vec_pack(vector unsigned int __a,vector unsigned int __b)1864 vec_pack(vector unsigned int __a, vector unsigned int __b) {
1865   vector unsigned short __ac = (vector unsigned short)__a;
1866   vector unsigned short __bc = (vector unsigned short)__b;
1867   return (vector unsigned short)(
1868     __ac[1], __ac[3], __ac[5], __ac[7],
1869     __bc[1], __bc[3], __bc[5], __bc[7]);
1870 }
1871 
1872 static inline __ATTRS_o_ai vector signed int
vec_pack(vector signed long long __a,vector signed long long __b)1873 vec_pack(vector signed long long __a, vector signed long long __b) {
1874   vector signed int __ac = (vector signed int)__a;
1875   vector signed int __bc = (vector signed int)__b;
1876   return (vector signed int)(__ac[1], __ac[3], __bc[1], __bc[3]);
1877 }
1878 
1879 static inline __ATTRS_o_ai vector bool int
vec_pack(vector bool long long __a,vector bool long long __b)1880 vec_pack(vector bool long long __a, vector bool long long __b) {
1881   vector bool int __ac = (vector bool int)__a;
1882   vector bool int __bc = (vector bool int)__b;
1883   return (vector bool int)(__ac[1], __ac[3], __bc[1], __bc[3]);
1884 }
1885 
1886 static inline __ATTRS_o_ai vector unsigned int
vec_pack(vector unsigned long long __a,vector unsigned long long __b)1887 vec_pack(vector unsigned long long __a, vector unsigned long long __b) {
1888   vector unsigned int __ac = (vector unsigned int)__a;
1889   vector unsigned int __bc = (vector unsigned int)__b;
1890   return (vector unsigned int)(__ac[1], __ac[3], __bc[1], __bc[3]);
1891 }
1892 
1893 /*-- vec_packs --------------------------------------------------------------*/
1894 
1895 static inline __ATTRS_o_ai vector signed char
vec_packs(vector signed short __a,vector signed short __b)1896 vec_packs(vector signed short __a, vector signed short __b) {
1897   return __builtin_s390_vpksh(__a, __b);
1898 }
1899 
1900 static inline __ATTRS_o_ai vector unsigned char
vec_packs(vector unsigned short __a,vector unsigned short __b)1901 vec_packs(vector unsigned short __a, vector unsigned short __b) {
1902   return __builtin_s390_vpklsh(__a, __b);
1903 }
1904 
1905 static inline __ATTRS_o_ai vector signed short
vec_packs(vector signed int __a,vector signed int __b)1906 vec_packs(vector signed int __a, vector signed int __b) {
1907   return __builtin_s390_vpksf(__a, __b);
1908 }
1909 
1910 static inline __ATTRS_o_ai vector unsigned short
vec_packs(vector unsigned int __a,vector unsigned int __b)1911 vec_packs(vector unsigned int __a, vector unsigned int __b) {
1912   return __builtin_s390_vpklsf(__a, __b);
1913 }
1914 
1915 static inline __ATTRS_o_ai vector signed int
vec_packs(vector signed long long __a,vector signed long long __b)1916 vec_packs(vector signed long long __a, vector signed long long __b) {
1917   return __builtin_s390_vpksg(__a, __b);
1918 }
1919 
1920 static inline __ATTRS_o_ai vector unsigned int
vec_packs(vector unsigned long long __a,vector unsigned long long __b)1921 vec_packs(vector unsigned long long __a, vector unsigned long long __b) {
1922   return __builtin_s390_vpklsg(__a, __b);
1923 }
1924 
1925 /*-- vec_packs_cc -----------------------------------------------------------*/
1926 
1927 static inline __ATTRS_o_ai vector signed char
vec_packs_cc(vector signed short __a,vector signed short __b,int * __cc)1928 vec_packs_cc(vector signed short __a, vector signed short __b, int *__cc) {
1929   return __builtin_s390_vpkshs(__a, __b, __cc);
1930 }
1931 
1932 static inline __ATTRS_o_ai vector unsigned char
vec_packs_cc(vector unsigned short __a,vector unsigned short __b,int * __cc)1933 vec_packs_cc(vector unsigned short __a, vector unsigned short __b, int *__cc) {
1934   return __builtin_s390_vpklshs(__a, __b, __cc);
1935 }
1936 
1937 static inline __ATTRS_o_ai vector signed short
vec_packs_cc(vector signed int __a,vector signed int __b,int * __cc)1938 vec_packs_cc(vector signed int __a, vector signed int __b, int *__cc) {
1939   return __builtin_s390_vpksfs(__a, __b, __cc);
1940 }
1941 
1942 static inline __ATTRS_o_ai vector unsigned short
vec_packs_cc(vector unsigned int __a,vector unsigned int __b,int * __cc)1943 vec_packs_cc(vector unsigned int __a, vector unsigned int __b, int *__cc) {
1944   return __builtin_s390_vpklsfs(__a, __b, __cc);
1945 }
1946 
1947 static inline __ATTRS_o_ai vector signed int
vec_packs_cc(vector signed long long __a,vector signed long long __b,int * __cc)1948 vec_packs_cc(vector signed long long __a, vector signed long long __b,
1949              int *__cc) {
1950   return __builtin_s390_vpksgs(__a, __b, __cc);
1951 }
1952 
1953 static inline __ATTRS_o_ai vector unsigned int
vec_packs_cc(vector unsigned long long __a,vector unsigned long long __b,int * __cc)1954 vec_packs_cc(vector unsigned long long __a, vector unsigned long long __b,
1955              int *__cc) {
1956   return __builtin_s390_vpklsgs(__a, __b, __cc);
1957 }
1958 
1959 /*-- vec_packsu -------------------------------------------------------------*/
1960 
1961 static inline __ATTRS_o_ai vector unsigned char
vec_packsu(vector signed short __a,vector signed short __b)1962 vec_packsu(vector signed short __a, vector signed short __b) {
1963   const vector signed short __zero = (vector signed short)0;
1964   return __builtin_s390_vpklsh(
1965     (vector unsigned short)(__a >= __zero) & (vector unsigned short)__a,
1966     (vector unsigned short)(__b >= __zero) & (vector unsigned short)__b);
1967 }
1968 
1969 static inline __ATTRS_o_ai vector unsigned char
vec_packsu(vector unsigned short __a,vector unsigned short __b)1970 vec_packsu(vector unsigned short __a, vector unsigned short __b) {
1971   return __builtin_s390_vpklsh(__a, __b);
1972 }
1973 
1974 static inline __ATTRS_o_ai vector unsigned short
vec_packsu(vector signed int __a,vector signed int __b)1975 vec_packsu(vector signed int __a, vector signed int __b) {
1976   const vector signed int __zero = (vector signed int)0;
1977   return __builtin_s390_vpklsf(
1978     (vector unsigned int)(__a >= __zero) & (vector unsigned int)__a,
1979     (vector unsigned int)(__b >= __zero) & (vector unsigned int)__b);
1980 }
1981 
1982 static inline __ATTRS_o_ai vector unsigned short
vec_packsu(vector unsigned int __a,vector unsigned int __b)1983 vec_packsu(vector unsigned int __a, vector unsigned int __b) {
1984   return __builtin_s390_vpklsf(__a, __b);
1985 }
1986 
1987 static inline __ATTRS_o_ai vector unsigned int
vec_packsu(vector signed long long __a,vector signed long long __b)1988 vec_packsu(vector signed long long __a, vector signed long long __b) {
1989   const vector signed long long __zero = (vector signed long long)0;
1990   return __builtin_s390_vpklsg(
1991     (vector unsigned long long)(__a >= __zero) &
1992     (vector unsigned long long)__a,
1993     (vector unsigned long long)(__b >= __zero) &
1994     (vector unsigned long long)__b);
1995 }
1996 
1997 static inline __ATTRS_o_ai vector unsigned int
vec_packsu(vector unsigned long long __a,vector unsigned long long __b)1998 vec_packsu(vector unsigned long long __a, vector unsigned long long __b) {
1999   return __builtin_s390_vpklsg(__a, __b);
2000 }
2001 
2002 /*-- vec_packsu_cc ----------------------------------------------------------*/
2003 
2004 static inline __ATTRS_o_ai vector unsigned char
vec_packsu_cc(vector unsigned short __a,vector unsigned short __b,int * __cc)2005 vec_packsu_cc(vector unsigned short __a, vector unsigned short __b, int *__cc) {
2006   return __builtin_s390_vpklshs(__a, __b, __cc);
2007 }
2008 
2009 static inline __ATTRS_o_ai vector unsigned short
vec_packsu_cc(vector unsigned int __a,vector unsigned int __b,int * __cc)2010 vec_packsu_cc(vector unsigned int __a, vector unsigned int __b, int *__cc) {
2011   return __builtin_s390_vpklsfs(__a, __b, __cc);
2012 }
2013 
2014 static inline __ATTRS_o_ai vector unsigned int
vec_packsu_cc(vector unsigned long long __a,vector unsigned long long __b,int * __cc)2015 vec_packsu_cc(vector unsigned long long __a, vector unsigned long long __b,
2016               int *__cc) {
2017   return __builtin_s390_vpklsgs(__a, __b, __cc);
2018 }
2019 
2020 /*-- vec_unpackh ------------------------------------------------------------*/
2021 
2022 static inline __ATTRS_o_ai vector signed short
vec_unpackh(vector signed char __a)2023 vec_unpackh(vector signed char __a) {
2024   return __builtin_s390_vuphb(__a);
2025 }
2026 
2027 static inline __ATTRS_o_ai vector bool short
vec_unpackh(vector bool char __a)2028 vec_unpackh(vector bool char __a) {
2029   return (vector bool short)__builtin_s390_vuphb((vector signed char)__a);
2030 }
2031 
2032 static inline __ATTRS_o_ai vector unsigned short
vec_unpackh(vector unsigned char __a)2033 vec_unpackh(vector unsigned char __a) {
2034   return __builtin_s390_vuplhb(__a);
2035 }
2036 
2037 static inline __ATTRS_o_ai vector signed int
vec_unpackh(vector signed short __a)2038 vec_unpackh(vector signed short __a) {
2039   return __builtin_s390_vuphh(__a);
2040 }
2041 
2042 static inline __ATTRS_o_ai vector bool int
vec_unpackh(vector bool short __a)2043 vec_unpackh(vector bool short __a) {
2044   return (vector bool int)__builtin_s390_vuphh((vector signed short)__a);
2045 }
2046 
2047 static inline __ATTRS_o_ai vector unsigned int
vec_unpackh(vector unsigned short __a)2048 vec_unpackh(vector unsigned short __a) {
2049   return __builtin_s390_vuplhh(__a);
2050 }
2051 
2052 static inline __ATTRS_o_ai vector signed long long
vec_unpackh(vector signed int __a)2053 vec_unpackh(vector signed int __a) {
2054   return __builtin_s390_vuphf(__a);
2055 }
2056 
2057 static inline __ATTRS_o_ai vector bool long long
vec_unpackh(vector bool int __a)2058 vec_unpackh(vector bool int __a) {
2059   return (vector bool long long)__builtin_s390_vuphf((vector signed int)__a);
2060 }
2061 
2062 static inline __ATTRS_o_ai vector unsigned long long
vec_unpackh(vector unsigned int __a)2063 vec_unpackh(vector unsigned int __a) {
2064   return __builtin_s390_vuplhf(__a);
2065 }
2066 
2067 /*-- vec_unpackl ------------------------------------------------------------*/
2068 
2069 static inline __ATTRS_o_ai vector signed short
vec_unpackl(vector signed char __a)2070 vec_unpackl(vector signed char __a) {
2071   return __builtin_s390_vuplb(__a);
2072 }
2073 
2074 static inline __ATTRS_o_ai vector bool short
vec_unpackl(vector bool char __a)2075 vec_unpackl(vector bool char __a) {
2076   return (vector bool short)__builtin_s390_vuplb((vector signed char)__a);
2077 }
2078 
2079 static inline __ATTRS_o_ai vector unsigned short
vec_unpackl(vector unsigned char __a)2080 vec_unpackl(vector unsigned char __a) {
2081   return __builtin_s390_vupllb(__a);
2082 }
2083 
2084 static inline __ATTRS_o_ai vector signed int
vec_unpackl(vector signed short __a)2085 vec_unpackl(vector signed short __a) {
2086   return __builtin_s390_vuplhw(__a);
2087 }
2088 
2089 static inline __ATTRS_o_ai vector bool int
vec_unpackl(vector bool short __a)2090 vec_unpackl(vector bool short __a) {
2091   return (vector bool int)__builtin_s390_vuplhw((vector signed short)__a);
2092 }
2093 
2094 static inline __ATTRS_o_ai vector unsigned int
vec_unpackl(vector unsigned short __a)2095 vec_unpackl(vector unsigned short __a) {
2096   return __builtin_s390_vupllh(__a);
2097 }
2098 
2099 static inline __ATTRS_o_ai vector signed long long
vec_unpackl(vector signed int __a)2100 vec_unpackl(vector signed int __a) {
2101   return __builtin_s390_vuplf(__a);
2102 }
2103 
2104 static inline __ATTRS_o_ai vector bool long long
vec_unpackl(vector bool int __a)2105 vec_unpackl(vector bool int __a) {
2106   return (vector bool long long)__builtin_s390_vuplf((vector signed int)__a);
2107 }
2108 
2109 static inline __ATTRS_o_ai vector unsigned long long
vec_unpackl(vector unsigned int __a)2110 vec_unpackl(vector unsigned int __a) {
2111   return __builtin_s390_vupllf(__a);
2112 }
2113 
2114 /*-- vec_cmpeq --------------------------------------------------------------*/
2115 
2116 static inline __ATTRS_o_ai vector bool char
vec_cmpeq(vector bool char __a,vector bool char __b)2117 vec_cmpeq(vector bool char __a, vector bool char __b) {
2118   return (vector bool char)(__a == __b);
2119 }
2120 
2121 static inline __ATTRS_o_ai vector bool char
vec_cmpeq(vector signed char __a,vector signed char __b)2122 vec_cmpeq(vector signed char __a, vector signed char __b) {
2123   return (vector bool char)(__a == __b);
2124 }
2125 
2126 static inline __ATTRS_o_ai vector bool char
vec_cmpeq(vector unsigned char __a,vector unsigned char __b)2127 vec_cmpeq(vector unsigned char __a, vector unsigned char __b) {
2128   return (vector bool char)(__a == __b);
2129 }
2130 
2131 static inline __ATTRS_o_ai vector bool short
vec_cmpeq(vector bool short __a,vector bool short __b)2132 vec_cmpeq(vector bool short __a, vector bool short __b) {
2133   return (vector bool short)(__a == __b);
2134 }
2135 
2136 static inline __ATTRS_o_ai vector bool short
vec_cmpeq(vector signed short __a,vector signed short __b)2137 vec_cmpeq(vector signed short __a, vector signed short __b) {
2138   return (vector bool short)(__a == __b);
2139 }
2140 
2141 static inline __ATTRS_o_ai vector bool short
vec_cmpeq(vector unsigned short __a,vector unsigned short __b)2142 vec_cmpeq(vector unsigned short __a, vector unsigned short __b) {
2143   return (vector bool short)(__a == __b);
2144 }
2145 
2146 static inline __ATTRS_o_ai vector bool int
vec_cmpeq(vector bool int __a,vector bool int __b)2147 vec_cmpeq(vector bool int __a, vector bool int __b) {
2148   return (vector bool int)(__a == __b);
2149 }
2150 
2151 static inline __ATTRS_o_ai vector bool int
vec_cmpeq(vector signed int __a,vector signed int __b)2152 vec_cmpeq(vector signed int __a, vector signed int __b) {
2153   return (vector bool int)(__a == __b);
2154 }
2155 
2156 static inline __ATTRS_o_ai vector bool int
vec_cmpeq(vector unsigned int __a,vector unsigned int __b)2157 vec_cmpeq(vector unsigned int __a, vector unsigned int __b) {
2158   return (vector bool int)(__a == __b);
2159 }
2160 
2161 static inline __ATTRS_o_ai vector bool long long
vec_cmpeq(vector bool long long __a,vector bool long long __b)2162 vec_cmpeq(vector bool long long __a, vector bool long long __b) {
2163   return (vector bool long long)(__a == __b);
2164 }
2165 
2166 static inline __ATTRS_o_ai vector bool long long
vec_cmpeq(vector signed long long __a,vector signed long long __b)2167 vec_cmpeq(vector signed long long __a, vector signed long long __b) {
2168   return (vector bool long long)(__a == __b);
2169 }
2170 
2171 static inline __ATTRS_o_ai vector bool long long
vec_cmpeq(vector unsigned long long __a,vector unsigned long long __b)2172 vec_cmpeq(vector unsigned long long __a, vector unsigned long long __b) {
2173   return (vector bool long long)(__a == __b);
2174 }
2175 
2176 #if __ARCH__ >= 12
2177 static inline __ATTRS_o_ai vector bool int
vec_cmpeq(vector float __a,vector float __b)2178 vec_cmpeq(vector float __a, vector float __b) {
2179   return (vector bool int)(__a == __b);
2180 }
2181 #endif
2182 
2183 static inline __ATTRS_o_ai vector bool long long
vec_cmpeq(vector double __a,vector double __b)2184 vec_cmpeq(vector double __a, vector double __b) {
2185   return (vector bool long long)(__a == __b);
2186 }
2187 
2188 /*-- vec_cmpge --------------------------------------------------------------*/
2189 
2190 static inline __ATTRS_o_ai vector bool char
vec_cmpge(vector signed char __a,vector signed char __b)2191 vec_cmpge(vector signed char __a, vector signed char __b) {
2192   return (vector bool char)(__a >= __b);
2193 }
2194 
2195 static inline __ATTRS_o_ai vector bool char
vec_cmpge(vector unsigned char __a,vector unsigned char __b)2196 vec_cmpge(vector unsigned char __a, vector unsigned char __b) {
2197   return (vector bool char)(__a >= __b);
2198 }
2199 
2200 static inline __ATTRS_o_ai vector bool short
vec_cmpge(vector signed short __a,vector signed short __b)2201 vec_cmpge(vector signed short __a, vector signed short __b) {
2202   return (vector bool short)(__a >= __b);
2203 }
2204 
2205 static inline __ATTRS_o_ai vector bool short
vec_cmpge(vector unsigned short __a,vector unsigned short __b)2206 vec_cmpge(vector unsigned short __a, vector unsigned short __b) {
2207   return (vector bool short)(__a >= __b);
2208 }
2209 
2210 static inline __ATTRS_o_ai vector bool int
vec_cmpge(vector signed int __a,vector signed int __b)2211 vec_cmpge(vector signed int __a, vector signed int __b) {
2212   return (vector bool int)(__a >= __b);
2213 }
2214 
2215 static inline __ATTRS_o_ai vector bool int
vec_cmpge(vector unsigned int __a,vector unsigned int __b)2216 vec_cmpge(vector unsigned int __a, vector unsigned int __b) {
2217   return (vector bool int)(__a >= __b);
2218 }
2219 
2220 static inline __ATTRS_o_ai vector bool long long
vec_cmpge(vector signed long long __a,vector signed long long __b)2221 vec_cmpge(vector signed long long __a, vector signed long long __b) {
2222   return (vector bool long long)(__a >= __b);
2223 }
2224 
2225 static inline __ATTRS_o_ai vector bool long long
vec_cmpge(vector unsigned long long __a,vector unsigned long long __b)2226 vec_cmpge(vector unsigned long long __a, vector unsigned long long __b) {
2227   return (vector bool long long)(__a >= __b);
2228 }
2229 
2230 #if __ARCH__ >= 12
2231 static inline __ATTRS_o_ai vector bool int
vec_cmpge(vector float __a,vector float __b)2232 vec_cmpge(vector float __a, vector float __b) {
2233   return (vector bool int)(__a >= __b);
2234 }
2235 #endif
2236 
2237 static inline __ATTRS_o_ai vector bool long long
vec_cmpge(vector double __a,vector double __b)2238 vec_cmpge(vector double __a, vector double __b) {
2239   return (vector bool long long)(__a >= __b);
2240 }
2241 
2242 /*-- vec_cmpgt --------------------------------------------------------------*/
2243 
2244 static inline __ATTRS_o_ai vector bool char
vec_cmpgt(vector signed char __a,vector signed char __b)2245 vec_cmpgt(vector signed char __a, vector signed char __b) {
2246   return (vector bool char)(__a > __b);
2247 }
2248 
2249 static inline __ATTRS_o_ai vector bool char
vec_cmpgt(vector unsigned char __a,vector unsigned char __b)2250 vec_cmpgt(vector unsigned char __a, vector unsigned char __b) {
2251   return (vector bool char)(__a > __b);
2252 }
2253 
2254 static inline __ATTRS_o_ai vector bool short
vec_cmpgt(vector signed short __a,vector signed short __b)2255 vec_cmpgt(vector signed short __a, vector signed short __b) {
2256   return (vector bool short)(__a > __b);
2257 }
2258 
2259 static inline __ATTRS_o_ai vector bool short
vec_cmpgt(vector unsigned short __a,vector unsigned short __b)2260 vec_cmpgt(vector unsigned short __a, vector unsigned short __b) {
2261   return (vector bool short)(__a > __b);
2262 }
2263 
2264 static inline __ATTRS_o_ai vector bool int
vec_cmpgt(vector signed int __a,vector signed int __b)2265 vec_cmpgt(vector signed int __a, vector signed int __b) {
2266   return (vector bool int)(__a > __b);
2267 }
2268 
2269 static inline __ATTRS_o_ai vector bool int
vec_cmpgt(vector unsigned int __a,vector unsigned int __b)2270 vec_cmpgt(vector unsigned int __a, vector unsigned int __b) {
2271   return (vector bool int)(__a > __b);
2272 }
2273 
2274 static inline __ATTRS_o_ai vector bool long long
vec_cmpgt(vector signed long long __a,vector signed long long __b)2275 vec_cmpgt(vector signed long long __a, vector signed long long __b) {
2276   return (vector bool long long)(__a > __b);
2277 }
2278 
2279 static inline __ATTRS_o_ai vector bool long long
vec_cmpgt(vector unsigned long long __a,vector unsigned long long __b)2280 vec_cmpgt(vector unsigned long long __a, vector unsigned long long __b) {
2281   return (vector bool long long)(__a > __b);
2282 }
2283 
2284 #if __ARCH__ >= 12
2285 static inline __ATTRS_o_ai vector bool int
vec_cmpgt(vector float __a,vector float __b)2286 vec_cmpgt(vector float __a, vector float __b) {
2287   return (vector bool int)(__a > __b);
2288 }
2289 #endif
2290 
2291 static inline __ATTRS_o_ai vector bool long long
vec_cmpgt(vector double __a,vector double __b)2292 vec_cmpgt(vector double __a, vector double __b) {
2293   return (vector bool long long)(__a > __b);
2294 }
2295 
2296 /*-- vec_cmple --------------------------------------------------------------*/
2297 
2298 static inline __ATTRS_o_ai vector bool char
vec_cmple(vector signed char __a,vector signed char __b)2299 vec_cmple(vector signed char __a, vector signed char __b) {
2300   return (vector bool char)(__a <= __b);
2301 }
2302 
2303 static inline __ATTRS_o_ai vector bool char
vec_cmple(vector unsigned char __a,vector unsigned char __b)2304 vec_cmple(vector unsigned char __a, vector unsigned char __b) {
2305   return (vector bool char)(__a <= __b);
2306 }
2307 
2308 static inline __ATTRS_o_ai vector bool short
vec_cmple(vector signed short __a,vector signed short __b)2309 vec_cmple(vector signed short __a, vector signed short __b) {
2310   return (vector bool short)(__a <= __b);
2311 }
2312 
2313 static inline __ATTRS_o_ai vector bool short
vec_cmple(vector unsigned short __a,vector unsigned short __b)2314 vec_cmple(vector unsigned short __a, vector unsigned short __b) {
2315   return (vector bool short)(__a <= __b);
2316 }
2317 
2318 static inline __ATTRS_o_ai vector bool int
vec_cmple(vector signed int __a,vector signed int __b)2319 vec_cmple(vector signed int __a, vector signed int __b) {
2320   return (vector bool int)(__a <= __b);
2321 }
2322 
2323 static inline __ATTRS_o_ai vector bool int
vec_cmple(vector unsigned int __a,vector unsigned int __b)2324 vec_cmple(vector unsigned int __a, vector unsigned int __b) {
2325   return (vector bool int)(__a <= __b);
2326 }
2327 
2328 static inline __ATTRS_o_ai vector bool long long
vec_cmple(vector signed long long __a,vector signed long long __b)2329 vec_cmple(vector signed long long __a, vector signed long long __b) {
2330   return (vector bool long long)(__a <= __b);
2331 }
2332 
2333 static inline __ATTRS_o_ai vector bool long long
vec_cmple(vector unsigned long long __a,vector unsigned long long __b)2334 vec_cmple(vector unsigned long long __a, vector unsigned long long __b) {
2335   return (vector bool long long)(__a <= __b);
2336 }
2337 
2338 #if __ARCH__ >= 12
2339 static inline __ATTRS_o_ai vector bool int
vec_cmple(vector float __a,vector float __b)2340 vec_cmple(vector float __a, vector float __b) {
2341   return (vector bool int)(__a <= __b);
2342 }
2343 #endif
2344 
2345 static inline __ATTRS_o_ai vector bool long long
vec_cmple(vector double __a,vector double __b)2346 vec_cmple(vector double __a, vector double __b) {
2347   return (vector bool long long)(__a <= __b);
2348 }
2349 
2350 /*-- vec_cmplt --------------------------------------------------------------*/
2351 
2352 static inline __ATTRS_o_ai vector bool char
vec_cmplt(vector signed char __a,vector signed char __b)2353 vec_cmplt(vector signed char __a, vector signed char __b) {
2354   return (vector bool char)(__a < __b);
2355 }
2356 
2357 static inline __ATTRS_o_ai vector bool char
vec_cmplt(vector unsigned char __a,vector unsigned char __b)2358 vec_cmplt(vector unsigned char __a, vector unsigned char __b) {
2359   return (vector bool char)(__a < __b);
2360 }
2361 
2362 static inline __ATTRS_o_ai vector bool short
vec_cmplt(vector signed short __a,vector signed short __b)2363 vec_cmplt(vector signed short __a, vector signed short __b) {
2364   return (vector bool short)(__a < __b);
2365 }
2366 
2367 static inline __ATTRS_o_ai vector bool short
vec_cmplt(vector unsigned short __a,vector unsigned short __b)2368 vec_cmplt(vector unsigned short __a, vector unsigned short __b) {
2369   return (vector bool short)(__a < __b);
2370 }
2371 
2372 static inline __ATTRS_o_ai vector bool int
vec_cmplt(vector signed int __a,vector signed int __b)2373 vec_cmplt(vector signed int __a, vector signed int __b) {
2374   return (vector bool int)(__a < __b);
2375 }
2376 
2377 static inline __ATTRS_o_ai vector bool int
vec_cmplt(vector unsigned int __a,vector unsigned int __b)2378 vec_cmplt(vector unsigned int __a, vector unsigned int __b) {
2379   return (vector bool int)(__a < __b);
2380 }
2381 
2382 static inline __ATTRS_o_ai vector bool long long
vec_cmplt(vector signed long long __a,vector signed long long __b)2383 vec_cmplt(vector signed long long __a, vector signed long long __b) {
2384   return (vector bool long long)(__a < __b);
2385 }
2386 
2387 static inline __ATTRS_o_ai vector bool long long
vec_cmplt(vector unsigned long long __a,vector unsigned long long __b)2388 vec_cmplt(vector unsigned long long __a, vector unsigned long long __b) {
2389   return (vector bool long long)(__a < __b);
2390 }
2391 
2392 #if __ARCH__ >= 12
2393 static inline __ATTRS_o_ai vector bool int
vec_cmplt(vector float __a,vector float __b)2394 vec_cmplt(vector float __a, vector float __b) {
2395   return (vector bool int)(__a < __b);
2396 }
2397 #endif
2398 
2399 static inline __ATTRS_o_ai vector bool long long
vec_cmplt(vector double __a,vector double __b)2400 vec_cmplt(vector double __a, vector double __b) {
2401   return (vector bool long long)(__a < __b);
2402 }
2403 
2404 /*-- vec_all_eq -------------------------------------------------------------*/
2405 
2406 static inline __ATTRS_o_ai int
vec_all_eq(vector signed char __a,vector signed char __b)2407 vec_all_eq(vector signed char __a, vector signed char __b) {
2408   int __cc;
2409   __builtin_s390_vceqbs(__a, __b, &__cc);
2410   return __cc == 0;
2411 }
2412 
2413 // This prototype is deprecated.
2414 static inline __ATTRS_o_ai int
vec_all_eq(vector signed char __a,vector bool char __b)2415 vec_all_eq(vector signed char __a, vector bool char __b) {
2416   int __cc;
2417   __builtin_s390_vceqbs(__a, (vector signed char)__b, &__cc);
2418   return __cc == 0;
2419 }
2420 
2421 // This prototype is deprecated.
2422 static inline __ATTRS_o_ai int
vec_all_eq(vector bool char __a,vector signed char __b)2423 vec_all_eq(vector bool char __a, vector signed char __b) {
2424   int __cc;
2425   __builtin_s390_vceqbs((vector signed char)__a, __b, &__cc);
2426   return __cc == 0;
2427 }
2428 
2429 static inline __ATTRS_o_ai int
vec_all_eq(vector unsigned char __a,vector unsigned char __b)2430 vec_all_eq(vector unsigned char __a, vector unsigned char __b) {
2431   int __cc;
2432   __builtin_s390_vceqbs((vector signed char)__a,
2433                         (vector signed char)__b, &__cc);
2434   return __cc == 0;
2435 }
2436 
2437 // This prototype is deprecated.
2438 static inline __ATTRS_o_ai int
vec_all_eq(vector unsigned char __a,vector bool char __b)2439 vec_all_eq(vector unsigned char __a, vector bool char __b) {
2440   int __cc;
2441   __builtin_s390_vceqbs((vector signed char)__a,
2442                         (vector signed char)__b, &__cc);
2443   return __cc == 0;
2444 }
2445 
2446 // This prototype is deprecated.
2447 static inline __ATTRS_o_ai int
vec_all_eq(vector bool char __a,vector unsigned char __b)2448 vec_all_eq(vector bool char __a, vector unsigned char __b) {
2449   int __cc;
2450   __builtin_s390_vceqbs((vector signed char)__a,
2451                         (vector signed char)__b, &__cc);
2452   return __cc == 0;
2453 }
2454 
2455 static inline __ATTRS_o_ai int
vec_all_eq(vector bool char __a,vector bool char __b)2456 vec_all_eq(vector bool char __a, vector bool char __b) {
2457   int __cc;
2458   __builtin_s390_vceqbs((vector signed char)__a,
2459                         (vector signed char)__b, &__cc);
2460   return __cc == 0;
2461 }
2462 
2463 static inline __ATTRS_o_ai int
vec_all_eq(vector signed short __a,vector signed short __b)2464 vec_all_eq(vector signed short __a, vector signed short __b) {
2465   int __cc;
2466   __builtin_s390_vceqhs(__a, __b, &__cc);
2467   return __cc == 0;
2468 }
2469 
2470 // This prototype is deprecated.
2471 static inline __ATTRS_o_ai int
vec_all_eq(vector signed short __a,vector bool short __b)2472 vec_all_eq(vector signed short __a, vector bool short __b) {
2473   int __cc;
2474   __builtin_s390_vceqhs(__a, (vector signed short)__b, &__cc);
2475   return __cc == 0;
2476 }
2477 
2478 // This prototype is deprecated.
2479 static inline __ATTRS_o_ai int
vec_all_eq(vector bool short __a,vector signed short __b)2480 vec_all_eq(vector bool short __a, vector signed short __b) {
2481   int __cc;
2482   __builtin_s390_vceqhs((vector signed short)__a, __b, &__cc);
2483   return __cc == 0;
2484 }
2485 
2486 static inline __ATTRS_o_ai int
vec_all_eq(vector unsigned short __a,vector unsigned short __b)2487 vec_all_eq(vector unsigned short __a, vector unsigned short __b) {
2488   int __cc;
2489   __builtin_s390_vceqhs((vector signed short)__a,
2490                         (vector signed short)__b, &__cc);
2491   return __cc == 0;
2492 }
2493 
2494 // This prototype is deprecated.
2495 static inline __ATTRS_o_ai int
vec_all_eq(vector unsigned short __a,vector bool short __b)2496 vec_all_eq(vector unsigned short __a, vector bool short __b) {
2497   int __cc;
2498   __builtin_s390_vceqhs((vector signed short)__a,
2499                         (vector signed short)__b, &__cc);
2500   return __cc == 0;
2501 }
2502 
2503 // This prototype is deprecated.
2504 static inline __ATTRS_o_ai int
vec_all_eq(vector bool short __a,vector unsigned short __b)2505 vec_all_eq(vector bool short __a, vector unsigned short __b) {
2506   int __cc;
2507   __builtin_s390_vceqhs((vector signed short)__a,
2508                         (vector signed short)__b, &__cc);
2509   return __cc == 0;
2510 }
2511 
2512 static inline __ATTRS_o_ai int
vec_all_eq(vector bool short __a,vector bool short __b)2513 vec_all_eq(vector bool short __a, vector bool short __b) {
2514   int __cc;
2515   __builtin_s390_vceqhs((vector signed short)__a,
2516                         (vector signed short)__b, &__cc);
2517   return __cc == 0;
2518 }
2519 
2520 static inline __ATTRS_o_ai int
vec_all_eq(vector signed int __a,vector signed int __b)2521 vec_all_eq(vector signed int __a, vector signed int __b) {
2522   int __cc;
2523   __builtin_s390_vceqfs(__a, __b, &__cc);
2524   return __cc == 0;
2525 }
2526 
2527 // This prototype is deprecated.
2528 static inline __ATTRS_o_ai int
vec_all_eq(vector signed int __a,vector bool int __b)2529 vec_all_eq(vector signed int __a, vector bool int __b) {
2530   int __cc;
2531   __builtin_s390_vceqfs(__a, (vector signed int)__b, &__cc);
2532   return __cc == 0;
2533 }
2534 
2535 // This prototype is deprecated.
2536 static inline __ATTRS_o_ai int
vec_all_eq(vector bool int __a,vector signed int __b)2537 vec_all_eq(vector bool int __a, vector signed int __b) {
2538   int __cc;
2539   __builtin_s390_vceqfs((vector signed int)__a, __b, &__cc);
2540   return __cc == 0;
2541 }
2542 
2543 static inline __ATTRS_o_ai int
vec_all_eq(vector unsigned int __a,vector unsigned int __b)2544 vec_all_eq(vector unsigned int __a, vector unsigned int __b) {
2545   int __cc;
2546   __builtin_s390_vceqfs((vector signed int)__a,
2547                         (vector signed int)__b, &__cc);
2548   return __cc == 0;
2549 }
2550 
2551 // This prototype is deprecated.
2552 static inline __ATTRS_o_ai int
vec_all_eq(vector unsigned int __a,vector bool int __b)2553 vec_all_eq(vector unsigned int __a, vector bool int __b) {
2554   int __cc;
2555   __builtin_s390_vceqfs((vector signed int)__a,
2556                         (vector signed int)__b, &__cc);
2557   return __cc == 0;
2558 }
2559 
2560 // This prototype is deprecated.
2561 static inline __ATTRS_o_ai int
vec_all_eq(vector bool int __a,vector unsigned int __b)2562 vec_all_eq(vector bool int __a, vector unsigned int __b) {
2563   int __cc;
2564   __builtin_s390_vceqfs((vector signed int)__a,
2565                         (vector signed int)__b, &__cc);
2566   return __cc == 0;
2567 }
2568 
2569 static inline __ATTRS_o_ai int
vec_all_eq(vector bool int __a,vector bool int __b)2570 vec_all_eq(vector bool int __a, vector bool int __b) {
2571   int __cc;
2572   __builtin_s390_vceqfs((vector signed int)__a,
2573                         (vector signed int)__b, &__cc);
2574   return __cc == 0;
2575 }
2576 
2577 static inline __ATTRS_o_ai int
vec_all_eq(vector signed long long __a,vector signed long long __b)2578 vec_all_eq(vector signed long long __a, vector signed long long __b) {
2579   int __cc;
2580   __builtin_s390_vceqgs(__a, __b, &__cc);
2581   return __cc == 0;
2582 }
2583 
2584 // This prototype is deprecated.
2585 static inline __ATTRS_o_ai int
vec_all_eq(vector signed long long __a,vector bool long long __b)2586 vec_all_eq(vector signed long long __a, vector bool long long __b) {
2587   int __cc;
2588   __builtin_s390_vceqgs(__a, (vector signed long long)__b, &__cc);
2589   return __cc == 0;
2590 }
2591 
2592 // This prototype is deprecated.
2593 static inline __ATTRS_o_ai int
vec_all_eq(vector bool long long __a,vector signed long long __b)2594 vec_all_eq(vector bool long long __a, vector signed long long __b) {
2595   int __cc;
2596   __builtin_s390_vceqgs((vector signed long long)__a, __b, &__cc);
2597   return __cc == 0;
2598 }
2599 
2600 static inline __ATTRS_o_ai int
vec_all_eq(vector unsigned long long __a,vector unsigned long long __b)2601 vec_all_eq(vector unsigned long long __a, vector unsigned long long __b) {
2602   int __cc;
2603   __builtin_s390_vceqgs((vector signed long long)__a,
2604                         (vector signed long long)__b, &__cc);
2605   return __cc == 0;
2606 }
2607 
2608 // This prototype is deprecated.
2609 static inline __ATTRS_o_ai int
vec_all_eq(vector unsigned long long __a,vector bool long long __b)2610 vec_all_eq(vector unsigned long long __a, vector bool long long __b) {
2611   int __cc;
2612   __builtin_s390_vceqgs((vector signed long long)__a,
2613                         (vector signed long long)__b, &__cc);
2614   return __cc == 0;
2615 }
2616 
2617 // This prototype is deprecated.
2618 static inline __ATTRS_o_ai int
vec_all_eq(vector bool long long __a,vector unsigned long long __b)2619 vec_all_eq(vector bool long long __a, vector unsigned long long __b) {
2620   int __cc;
2621   __builtin_s390_vceqgs((vector signed long long)__a,
2622                         (vector signed long long)__b, &__cc);
2623   return __cc == 0;
2624 }
2625 
2626 static inline __ATTRS_o_ai int
vec_all_eq(vector bool long long __a,vector bool long long __b)2627 vec_all_eq(vector bool long long __a, vector bool long long __b) {
2628   int __cc;
2629   __builtin_s390_vceqgs((vector signed long long)__a,
2630                         (vector signed long long)__b, &__cc);
2631   return __cc == 0;
2632 }
2633 
2634 #if __ARCH__ >= 12
2635 static inline __ATTRS_o_ai int
vec_all_eq(vector float __a,vector float __b)2636 vec_all_eq(vector float __a, vector float __b) {
2637   int __cc;
2638   __builtin_s390_vfcesbs(__a, __b, &__cc);
2639   return __cc == 0;
2640 }
2641 #endif
2642 
2643 static inline __ATTRS_o_ai int
vec_all_eq(vector double __a,vector double __b)2644 vec_all_eq(vector double __a, vector double __b) {
2645   int __cc;
2646   __builtin_s390_vfcedbs(__a, __b, &__cc);
2647   return __cc == 0;
2648 }
2649 
2650 /*-- vec_all_ne -------------------------------------------------------------*/
2651 
2652 static inline __ATTRS_o_ai int
vec_all_ne(vector signed char __a,vector signed char __b)2653 vec_all_ne(vector signed char __a, vector signed char __b) {
2654   int __cc;
2655   __builtin_s390_vceqbs(__a, __b, &__cc);
2656   return __cc == 3;
2657 }
2658 
2659 // This prototype is deprecated.
2660 static inline __ATTRS_o_ai int
vec_all_ne(vector signed char __a,vector bool char __b)2661 vec_all_ne(vector signed char __a, vector bool char __b) {
2662   int __cc;
2663   __builtin_s390_vceqbs(__a, (vector signed char)__b, &__cc);
2664   return __cc == 3;
2665 }
2666 
2667 // This prototype is deprecated.
2668 static inline __ATTRS_o_ai int
vec_all_ne(vector bool char __a,vector signed char __b)2669 vec_all_ne(vector bool char __a, vector signed char __b) {
2670   int __cc;
2671   __builtin_s390_vceqbs((vector signed char)__a, __b, &__cc);
2672   return __cc == 3;
2673 }
2674 
2675 static inline __ATTRS_o_ai int
vec_all_ne(vector unsigned char __a,vector unsigned char __b)2676 vec_all_ne(vector unsigned char __a, vector unsigned char __b) {
2677   int __cc;
2678   __builtin_s390_vceqbs((vector signed char)__a,
2679                         (vector signed char)__b, &__cc);
2680   return __cc == 3;
2681 }
2682 
2683 // This prototype is deprecated.
2684 static inline __ATTRS_o_ai int
vec_all_ne(vector unsigned char __a,vector bool char __b)2685 vec_all_ne(vector unsigned char __a, vector bool char __b) {
2686   int __cc;
2687   __builtin_s390_vceqbs((vector signed char)__a,
2688                         (vector signed char)__b, &__cc);
2689   return __cc == 3;
2690 }
2691 
2692 // This prototype is deprecated.
2693 static inline __ATTRS_o_ai int
vec_all_ne(vector bool char __a,vector unsigned char __b)2694 vec_all_ne(vector bool char __a, vector unsigned char __b) {
2695   int __cc;
2696   __builtin_s390_vceqbs((vector signed char)__a,
2697                         (vector signed char)__b, &__cc);
2698   return __cc == 3;
2699 }
2700 
2701 static inline __ATTRS_o_ai int
vec_all_ne(vector bool char __a,vector bool char __b)2702 vec_all_ne(vector bool char __a, vector bool char __b) {
2703   int __cc;
2704   __builtin_s390_vceqbs((vector signed char)__a,
2705                         (vector signed char)__b, &__cc);
2706   return __cc == 3;
2707 }
2708 
2709 static inline __ATTRS_o_ai int
vec_all_ne(vector signed short __a,vector signed short __b)2710 vec_all_ne(vector signed short __a, vector signed short __b) {
2711   int __cc;
2712   __builtin_s390_vceqhs(__a, __b, &__cc);
2713   return __cc == 3;
2714 }
2715 
2716 // This prototype is deprecated.
2717 static inline __ATTRS_o_ai int
vec_all_ne(vector signed short __a,vector bool short __b)2718 vec_all_ne(vector signed short __a, vector bool short __b) {
2719   int __cc;
2720   __builtin_s390_vceqhs(__a, (vector signed short)__b, &__cc);
2721   return __cc == 3;
2722 }
2723 
2724 // This prototype is deprecated.
2725 static inline __ATTRS_o_ai int
vec_all_ne(vector bool short __a,vector signed short __b)2726 vec_all_ne(vector bool short __a, vector signed short __b) {
2727   int __cc;
2728   __builtin_s390_vceqhs((vector signed short)__a, __b, &__cc);
2729   return __cc == 3;
2730 }
2731 
2732 static inline __ATTRS_o_ai int
vec_all_ne(vector unsigned short __a,vector unsigned short __b)2733 vec_all_ne(vector unsigned short __a, vector unsigned short __b) {
2734   int __cc;
2735   __builtin_s390_vceqhs((vector signed short)__a,
2736                         (vector signed short)__b, &__cc);
2737   return __cc == 3;
2738 }
2739 
2740 // This prototype is deprecated.
2741 static inline __ATTRS_o_ai int
vec_all_ne(vector unsigned short __a,vector bool short __b)2742 vec_all_ne(vector unsigned short __a, vector bool short __b) {
2743   int __cc;
2744   __builtin_s390_vceqhs((vector signed short)__a,
2745                         (vector signed short)__b, &__cc);
2746   return __cc == 3;
2747 }
2748 
2749 // This prototype is deprecated.
2750 static inline __ATTRS_o_ai int
vec_all_ne(vector bool short __a,vector unsigned short __b)2751 vec_all_ne(vector bool short __a, vector unsigned short __b) {
2752   int __cc;
2753   __builtin_s390_vceqhs((vector signed short)__a,
2754                         (vector signed short)__b, &__cc);
2755   return __cc == 3;
2756 }
2757 
2758 static inline __ATTRS_o_ai int
vec_all_ne(vector bool short __a,vector bool short __b)2759 vec_all_ne(vector bool short __a, vector bool short __b) {
2760   int __cc;
2761   __builtin_s390_vceqhs((vector signed short)__a,
2762                         (vector signed short)__b, &__cc);
2763   return __cc == 3;
2764 }
2765 
2766 static inline __ATTRS_o_ai int
vec_all_ne(vector signed int __a,vector signed int __b)2767 vec_all_ne(vector signed int __a, vector signed int __b) {
2768   int __cc;
2769   __builtin_s390_vceqfs(__a, __b, &__cc);
2770   return __cc == 3;
2771 }
2772 
2773 // This prototype is deprecated.
2774 static inline __ATTRS_o_ai int
vec_all_ne(vector signed int __a,vector bool int __b)2775 vec_all_ne(vector signed int __a, vector bool int __b) {
2776   int __cc;
2777   __builtin_s390_vceqfs(__a, (vector signed int)__b, &__cc);
2778   return __cc == 3;
2779 }
2780 
2781 // This prototype is deprecated.
2782 static inline __ATTRS_o_ai int
vec_all_ne(vector bool int __a,vector signed int __b)2783 vec_all_ne(vector bool int __a, vector signed int __b) {
2784   int __cc;
2785   __builtin_s390_vceqfs((vector signed int)__a, __b, &__cc);
2786   return __cc == 3;
2787 }
2788 
2789 static inline __ATTRS_o_ai int
vec_all_ne(vector unsigned int __a,vector unsigned int __b)2790 vec_all_ne(vector unsigned int __a, vector unsigned int __b) {
2791   int __cc;
2792   __builtin_s390_vceqfs((vector signed int)__a,
2793                         (vector signed int)__b, &__cc);
2794   return __cc == 3;
2795 }
2796 
2797 // This prototype is deprecated.
2798 static inline __ATTRS_o_ai int
vec_all_ne(vector unsigned int __a,vector bool int __b)2799 vec_all_ne(vector unsigned int __a, vector bool int __b) {
2800   int __cc;
2801   __builtin_s390_vceqfs((vector signed int)__a,
2802                         (vector signed int)__b, &__cc);
2803   return __cc == 3;
2804 }
2805 
2806 // This prototype is deprecated.
2807 static inline __ATTRS_o_ai int
vec_all_ne(vector bool int __a,vector unsigned int __b)2808 vec_all_ne(vector bool int __a, vector unsigned int __b) {
2809   int __cc;
2810   __builtin_s390_vceqfs((vector signed int)__a,
2811                         (vector signed int)__b, &__cc);
2812   return __cc == 3;
2813 }
2814 
2815 static inline __ATTRS_o_ai int
vec_all_ne(vector bool int __a,vector bool int __b)2816 vec_all_ne(vector bool int __a, vector bool int __b) {
2817   int __cc;
2818   __builtin_s390_vceqfs((vector signed int)__a,
2819                         (vector signed int)__b, &__cc);
2820   return __cc == 3;
2821 }
2822 
2823 static inline __ATTRS_o_ai int
vec_all_ne(vector signed long long __a,vector signed long long __b)2824 vec_all_ne(vector signed long long __a, vector signed long long __b) {
2825   int __cc;
2826   __builtin_s390_vceqgs(__a, __b, &__cc);
2827   return __cc == 3;
2828 }
2829 
2830 // This prototype is deprecated.
2831 static inline __ATTRS_o_ai int
vec_all_ne(vector signed long long __a,vector bool long long __b)2832 vec_all_ne(vector signed long long __a, vector bool long long __b) {
2833   int __cc;
2834   __builtin_s390_vceqgs(__a, (vector signed long long)__b, &__cc);
2835   return __cc == 3;
2836 }
2837 
2838 // This prototype is deprecated.
2839 static inline __ATTRS_o_ai int
vec_all_ne(vector bool long long __a,vector signed long long __b)2840 vec_all_ne(vector bool long long __a, vector signed long long __b) {
2841   int __cc;
2842   __builtin_s390_vceqgs((vector signed long long)__a, __b, &__cc);
2843   return __cc == 3;
2844 }
2845 
2846 static inline __ATTRS_o_ai int
vec_all_ne(vector unsigned long long __a,vector unsigned long long __b)2847 vec_all_ne(vector unsigned long long __a, vector unsigned long long __b) {
2848   int __cc;
2849   __builtin_s390_vceqgs((vector signed long long)__a,
2850                         (vector signed long long)__b, &__cc);
2851   return __cc == 3;
2852 }
2853 
2854 // This prototype is deprecated.
2855 static inline __ATTRS_o_ai int
vec_all_ne(vector unsigned long long __a,vector bool long long __b)2856 vec_all_ne(vector unsigned long long __a, vector bool long long __b) {
2857   int __cc;
2858   __builtin_s390_vceqgs((vector signed long long)__a,
2859                         (vector signed long long)__b, &__cc);
2860   return __cc == 3;
2861 }
2862 
2863 // This prototype is deprecated.
2864 static inline __ATTRS_o_ai int
vec_all_ne(vector bool long long __a,vector unsigned long long __b)2865 vec_all_ne(vector bool long long __a, vector unsigned long long __b) {
2866   int __cc;
2867   __builtin_s390_vceqgs((vector signed long long)__a,
2868                         (vector signed long long)__b, &__cc);
2869   return __cc == 3;
2870 }
2871 
2872 static inline __ATTRS_o_ai int
vec_all_ne(vector bool long long __a,vector bool long long __b)2873 vec_all_ne(vector bool long long __a, vector bool long long __b) {
2874   int __cc;
2875   __builtin_s390_vceqgs((vector signed long long)__a,
2876                         (vector signed long long)__b, &__cc);
2877   return __cc == 3;
2878 }
2879 
2880 #if __ARCH__ >= 12
2881 static inline __ATTRS_o_ai int
vec_all_ne(vector float __a,vector float __b)2882 vec_all_ne(vector float __a, vector float __b) {
2883   int __cc;
2884   __builtin_s390_vfcesbs(__a, __b, &__cc);
2885   return __cc == 3;
2886 }
2887 #endif
2888 
2889 static inline __ATTRS_o_ai int
vec_all_ne(vector double __a,vector double __b)2890 vec_all_ne(vector double __a, vector double __b) {
2891   int __cc;
2892   __builtin_s390_vfcedbs(__a, __b, &__cc);
2893   return __cc == 3;
2894 }
2895 
2896 /*-- vec_all_ge -------------------------------------------------------------*/
2897 
2898 static inline __ATTRS_o_ai int
vec_all_ge(vector signed char __a,vector signed char __b)2899 vec_all_ge(vector signed char __a, vector signed char __b) {
2900   int __cc;
2901   __builtin_s390_vchbs(__b, __a, &__cc);
2902   return __cc == 3;
2903 }
2904 
2905 // This prototype is deprecated.
2906 static inline __ATTRS_o_ai int
vec_all_ge(vector signed char __a,vector bool char __b)2907 vec_all_ge(vector signed char __a, vector bool char __b) {
2908   int __cc;
2909   __builtin_s390_vchbs((vector signed char)__b, __a, &__cc);
2910   return __cc == 3;
2911 }
2912 
2913 // This prototype is deprecated.
2914 static inline __ATTRS_o_ai int
vec_all_ge(vector bool char __a,vector signed char __b)2915 vec_all_ge(vector bool char __a, vector signed char __b) {
2916   int __cc;
2917   __builtin_s390_vchbs(__b, (vector signed char)__a, &__cc);
2918   return __cc == 3;
2919 }
2920 
2921 static inline __ATTRS_o_ai int
vec_all_ge(vector unsigned char __a,vector unsigned char __b)2922 vec_all_ge(vector unsigned char __a, vector unsigned char __b) {
2923   int __cc;
2924   __builtin_s390_vchlbs(__b, __a, &__cc);
2925   return __cc == 3;
2926 }
2927 
2928 // This prototype is deprecated.
2929 static inline __ATTRS_o_ai int
vec_all_ge(vector unsigned char __a,vector bool char __b)2930 vec_all_ge(vector unsigned char __a, vector bool char __b) {
2931   int __cc;
2932   __builtin_s390_vchlbs((vector unsigned char)__b, __a, &__cc);
2933   return __cc == 3;
2934 }
2935 
2936 // This prototype is deprecated.
2937 static inline __ATTRS_o_ai int
vec_all_ge(vector bool char __a,vector unsigned char __b)2938 vec_all_ge(vector bool char __a, vector unsigned char __b) {
2939   int __cc;
2940   __builtin_s390_vchlbs(__b, (vector unsigned char)__a, &__cc);
2941   return __cc == 3;
2942 }
2943 
2944 // This prototype is deprecated.
2945 static inline __ATTRS_o_ai int
vec_all_ge(vector bool char __a,vector bool char __b)2946 vec_all_ge(vector bool char __a, vector bool char __b) {
2947   int __cc;
2948   __builtin_s390_vchlbs((vector unsigned char)__b,
2949                         (vector unsigned char)__a, &__cc);
2950   return __cc == 3;
2951 }
2952 
2953 static inline __ATTRS_o_ai int
vec_all_ge(vector signed short __a,vector signed short __b)2954 vec_all_ge(vector signed short __a, vector signed short __b) {
2955   int __cc;
2956   __builtin_s390_vchhs(__b, __a, &__cc);
2957   return __cc == 3;
2958 }
2959 
2960 // This prototype is deprecated.
2961 static inline __ATTRS_o_ai int
vec_all_ge(vector signed short __a,vector bool short __b)2962 vec_all_ge(vector signed short __a, vector bool short __b) {
2963   int __cc;
2964   __builtin_s390_vchhs((vector signed short)__b, __a, &__cc);
2965   return __cc == 3;
2966 }
2967 
2968 // This prototype is deprecated.
2969 static inline __ATTRS_o_ai int
vec_all_ge(vector bool short __a,vector signed short __b)2970 vec_all_ge(vector bool short __a, vector signed short __b) {
2971   int __cc;
2972   __builtin_s390_vchhs(__b, (vector signed short)__a, &__cc);
2973   return __cc == 3;
2974 }
2975 
2976 static inline __ATTRS_o_ai int
vec_all_ge(vector unsigned short __a,vector unsigned short __b)2977 vec_all_ge(vector unsigned short __a, vector unsigned short __b) {
2978   int __cc;
2979   __builtin_s390_vchlhs(__b, __a, &__cc);
2980   return __cc == 3;
2981 }
2982 
2983 // This prototype is deprecated.
2984 static inline __ATTRS_o_ai int
vec_all_ge(vector unsigned short __a,vector bool short __b)2985 vec_all_ge(vector unsigned short __a, vector bool short __b) {
2986   int __cc;
2987   __builtin_s390_vchlhs((vector unsigned short)__b, __a, &__cc);
2988   return __cc == 3;
2989 }
2990 
2991 // This prototype is deprecated.
2992 static inline __ATTRS_o_ai int
vec_all_ge(vector bool short __a,vector unsigned short __b)2993 vec_all_ge(vector bool short __a, vector unsigned short __b) {
2994   int __cc;
2995   __builtin_s390_vchlhs(__b, (vector unsigned short)__a, &__cc);
2996   return __cc == 3;
2997 }
2998 
2999 // This prototype is deprecated.
3000 static inline __ATTRS_o_ai int
vec_all_ge(vector bool short __a,vector bool short __b)3001 vec_all_ge(vector bool short __a, vector bool short __b) {
3002   int __cc;
3003   __builtin_s390_vchlhs((vector unsigned short)__b,
3004                         (vector unsigned short)__a, &__cc);
3005   return __cc == 3;
3006 }
3007 
3008 static inline __ATTRS_o_ai int
vec_all_ge(vector signed int __a,vector signed int __b)3009 vec_all_ge(vector signed int __a, vector signed int __b) {
3010   int __cc;
3011   __builtin_s390_vchfs(__b, __a, &__cc);
3012   return __cc == 3;
3013 }
3014 
3015 // This prototype is deprecated.
3016 static inline __ATTRS_o_ai int
vec_all_ge(vector signed int __a,vector bool int __b)3017 vec_all_ge(vector signed int __a, vector bool int __b) {
3018   int __cc;
3019   __builtin_s390_vchfs((vector signed int)__b, __a, &__cc);
3020   return __cc == 3;
3021 }
3022 
3023 // This prototype is deprecated.
3024 static inline __ATTRS_o_ai int
vec_all_ge(vector bool int __a,vector signed int __b)3025 vec_all_ge(vector bool int __a, vector signed int __b) {
3026   int __cc;
3027   __builtin_s390_vchfs(__b, (vector signed int)__a, &__cc);
3028   return __cc == 3;
3029 }
3030 
3031 static inline __ATTRS_o_ai int
vec_all_ge(vector unsigned int __a,vector unsigned int __b)3032 vec_all_ge(vector unsigned int __a, vector unsigned int __b) {
3033   int __cc;
3034   __builtin_s390_vchlfs(__b, __a, &__cc);
3035   return __cc == 3;
3036 }
3037 
3038 // This prototype is deprecated.
3039 static inline __ATTRS_o_ai int
vec_all_ge(vector unsigned int __a,vector bool int __b)3040 vec_all_ge(vector unsigned int __a, vector bool int __b) {
3041   int __cc;
3042   __builtin_s390_vchlfs((vector unsigned int)__b, __a, &__cc);
3043   return __cc == 3;
3044 }
3045 
3046 // This prototype is deprecated.
3047 static inline __ATTRS_o_ai int
vec_all_ge(vector bool int __a,vector unsigned int __b)3048 vec_all_ge(vector bool int __a, vector unsigned int __b) {
3049   int __cc;
3050   __builtin_s390_vchlfs(__b, (vector unsigned int)__a, &__cc);
3051   return __cc == 3;
3052 }
3053 
3054 // This prototype is deprecated.
3055 static inline __ATTRS_o_ai int
vec_all_ge(vector bool int __a,vector bool int __b)3056 vec_all_ge(vector bool int __a, vector bool int __b) {
3057   int __cc;
3058   __builtin_s390_vchlfs((vector unsigned int)__b,
3059                         (vector unsigned int)__a, &__cc);
3060   return __cc == 3;
3061 }
3062 
3063 static inline __ATTRS_o_ai int
vec_all_ge(vector signed long long __a,vector signed long long __b)3064 vec_all_ge(vector signed long long __a, vector signed long long __b) {
3065   int __cc;
3066   __builtin_s390_vchgs(__b, __a, &__cc);
3067   return __cc == 3;
3068 }
3069 
3070 // This prototype is deprecated.
3071 static inline __ATTRS_o_ai int
vec_all_ge(vector signed long long __a,vector bool long long __b)3072 vec_all_ge(vector signed long long __a, vector bool long long __b) {
3073   int __cc;
3074   __builtin_s390_vchgs((vector signed long long)__b, __a, &__cc);
3075   return __cc == 3;
3076 }
3077 
3078 // This prototype is deprecated.
3079 static inline __ATTRS_o_ai int
vec_all_ge(vector bool long long __a,vector signed long long __b)3080 vec_all_ge(vector bool long long __a, vector signed long long __b) {
3081   int __cc;
3082   __builtin_s390_vchgs(__b, (vector signed long long)__a, &__cc);
3083   return __cc == 3;
3084 }
3085 
3086 static inline __ATTRS_o_ai int
vec_all_ge(vector unsigned long long __a,vector unsigned long long __b)3087 vec_all_ge(vector unsigned long long __a, vector unsigned long long __b) {
3088   int __cc;
3089   __builtin_s390_vchlgs(__b, __a, &__cc);
3090   return __cc == 3;
3091 }
3092 
3093 // This prototype is deprecated.
3094 static inline __ATTRS_o_ai int
vec_all_ge(vector unsigned long long __a,vector bool long long __b)3095 vec_all_ge(vector unsigned long long __a, vector bool long long __b) {
3096   int __cc;
3097   __builtin_s390_vchlgs((vector unsigned long long)__b, __a, &__cc);
3098   return __cc == 3;
3099 }
3100 
3101 // This prototype is deprecated.
3102 static inline __ATTRS_o_ai int
vec_all_ge(vector bool long long __a,vector unsigned long long __b)3103 vec_all_ge(vector bool long long __a, vector unsigned long long __b) {
3104   int __cc;
3105   __builtin_s390_vchlgs(__b, (vector unsigned long long)__a, &__cc);
3106   return __cc == 3;
3107 }
3108 
3109 // This prototype is deprecated.
3110 static inline __ATTRS_o_ai int
vec_all_ge(vector bool long long __a,vector bool long long __b)3111 vec_all_ge(vector bool long long __a, vector bool long long __b) {
3112   int __cc;
3113   __builtin_s390_vchlgs((vector unsigned long long)__b,
3114                         (vector unsigned long long)__a, &__cc);
3115   return __cc == 3;
3116 }
3117 
3118 #if __ARCH__ >= 12
3119 static inline __ATTRS_o_ai int
vec_all_ge(vector float __a,vector float __b)3120 vec_all_ge(vector float __a, vector float __b) {
3121   int __cc;
3122   __builtin_s390_vfchesbs(__a, __b, &__cc);
3123   return __cc == 0;
3124 }
3125 #endif
3126 
3127 static inline __ATTRS_o_ai int
vec_all_ge(vector double __a,vector double __b)3128 vec_all_ge(vector double __a, vector double __b) {
3129   int __cc;
3130   __builtin_s390_vfchedbs(__a, __b, &__cc);
3131   return __cc == 0;
3132 }
3133 
3134 /*-- vec_all_gt -------------------------------------------------------------*/
3135 
3136 static inline __ATTRS_o_ai int
vec_all_gt(vector signed char __a,vector signed char __b)3137 vec_all_gt(vector signed char __a, vector signed char __b) {
3138   int __cc;
3139   __builtin_s390_vchbs(__a, __b, &__cc);
3140   return __cc == 0;
3141 }
3142 
3143 // This prototype is deprecated.
3144 static inline __ATTRS_o_ai int
vec_all_gt(vector signed char __a,vector bool char __b)3145 vec_all_gt(vector signed char __a, vector bool char __b) {
3146   int __cc;
3147   __builtin_s390_vchbs(__a, (vector signed char)__b, &__cc);
3148   return __cc == 0;
3149 }
3150 
3151 // This prototype is deprecated.
3152 static inline __ATTRS_o_ai int
vec_all_gt(vector bool char __a,vector signed char __b)3153 vec_all_gt(vector bool char __a, vector signed char __b) {
3154   int __cc;
3155   __builtin_s390_vchbs((vector signed char)__a, __b, &__cc);
3156   return __cc == 0;
3157 }
3158 
3159 static inline __ATTRS_o_ai int
vec_all_gt(vector unsigned char __a,vector unsigned char __b)3160 vec_all_gt(vector unsigned char __a, vector unsigned char __b) {
3161   int __cc;
3162   __builtin_s390_vchlbs(__a, __b, &__cc);
3163   return __cc == 0;
3164 }
3165 
3166 // This prototype is deprecated.
3167 static inline __ATTRS_o_ai int
vec_all_gt(vector unsigned char __a,vector bool char __b)3168 vec_all_gt(vector unsigned char __a, vector bool char __b) {
3169   int __cc;
3170   __builtin_s390_vchlbs(__a, (vector unsigned char)__b, &__cc);
3171   return __cc == 0;
3172 }
3173 
3174 // This prototype is deprecated.
3175 static inline __ATTRS_o_ai int
vec_all_gt(vector bool char __a,vector unsigned char __b)3176 vec_all_gt(vector bool char __a, vector unsigned char __b) {
3177   int __cc;
3178   __builtin_s390_vchlbs((vector unsigned char)__a, __b, &__cc);
3179   return __cc == 0;
3180 }
3181 
3182 // This prototype is deprecated.
3183 static inline __ATTRS_o_ai int
vec_all_gt(vector bool char __a,vector bool char __b)3184 vec_all_gt(vector bool char __a, vector bool char __b) {
3185   int __cc;
3186   __builtin_s390_vchlbs((vector unsigned char)__a,
3187                         (vector unsigned char)__b, &__cc);
3188   return __cc == 0;
3189 }
3190 
3191 static inline __ATTRS_o_ai int
vec_all_gt(vector signed short __a,vector signed short __b)3192 vec_all_gt(vector signed short __a, vector signed short __b) {
3193   int __cc;
3194   __builtin_s390_vchhs(__a, __b, &__cc);
3195   return __cc == 0;
3196 }
3197 
3198 // This prototype is deprecated.
3199 static inline __ATTRS_o_ai int
vec_all_gt(vector signed short __a,vector bool short __b)3200 vec_all_gt(vector signed short __a, vector bool short __b) {
3201   int __cc;
3202   __builtin_s390_vchhs(__a, (vector signed short)__b, &__cc);
3203   return __cc == 0;
3204 }
3205 
3206 // This prototype is deprecated.
3207 static inline __ATTRS_o_ai int
vec_all_gt(vector bool short __a,vector signed short __b)3208 vec_all_gt(vector bool short __a, vector signed short __b) {
3209   int __cc;
3210   __builtin_s390_vchhs((vector signed short)__a, __b, &__cc);
3211   return __cc == 0;
3212 }
3213 
3214 static inline __ATTRS_o_ai int
vec_all_gt(vector unsigned short __a,vector unsigned short __b)3215 vec_all_gt(vector unsigned short __a, vector unsigned short __b) {
3216   int __cc;
3217   __builtin_s390_vchlhs(__a, __b, &__cc);
3218   return __cc == 0;
3219 }
3220 
3221 // This prototype is deprecated.
3222 static inline __ATTRS_o_ai int
vec_all_gt(vector unsigned short __a,vector bool short __b)3223 vec_all_gt(vector unsigned short __a, vector bool short __b) {
3224   int __cc;
3225   __builtin_s390_vchlhs(__a, (vector unsigned short)__b, &__cc);
3226   return __cc == 0;
3227 }
3228 
3229 // This prototype is deprecated.
3230 static inline __ATTRS_o_ai int
vec_all_gt(vector bool short __a,vector unsigned short __b)3231 vec_all_gt(vector bool short __a, vector unsigned short __b) {
3232   int __cc;
3233   __builtin_s390_vchlhs((vector unsigned short)__a, __b, &__cc);
3234   return __cc == 0;
3235 }
3236 
3237 // This prototype is deprecated.
3238 static inline __ATTRS_o_ai int
vec_all_gt(vector bool short __a,vector bool short __b)3239 vec_all_gt(vector bool short __a, vector bool short __b) {
3240   int __cc;
3241   __builtin_s390_vchlhs((vector unsigned short)__a,
3242                         (vector unsigned short)__b, &__cc);
3243   return __cc == 0;
3244 }
3245 
3246 static inline __ATTRS_o_ai int
vec_all_gt(vector signed int __a,vector signed int __b)3247 vec_all_gt(vector signed int __a, vector signed int __b) {
3248   int __cc;
3249   __builtin_s390_vchfs(__a, __b, &__cc);
3250   return __cc == 0;
3251 }
3252 
3253 // This prototype is deprecated.
3254 static inline __ATTRS_o_ai int
vec_all_gt(vector signed int __a,vector bool int __b)3255 vec_all_gt(vector signed int __a, vector bool int __b) {
3256   int __cc;
3257   __builtin_s390_vchfs(__a, (vector signed int)__b, &__cc);
3258   return __cc == 0;
3259 }
3260 
3261 // This prototype is deprecated.
3262 static inline __ATTRS_o_ai int
vec_all_gt(vector bool int __a,vector signed int __b)3263 vec_all_gt(vector bool int __a, vector signed int __b) {
3264   int __cc;
3265   __builtin_s390_vchfs((vector signed int)__a, __b, &__cc);
3266   return __cc == 0;
3267 }
3268 
3269 static inline __ATTRS_o_ai int
vec_all_gt(vector unsigned int __a,vector unsigned int __b)3270 vec_all_gt(vector unsigned int __a, vector unsigned int __b) {
3271   int __cc;
3272   __builtin_s390_vchlfs(__a, __b, &__cc);
3273   return __cc == 0;
3274 }
3275 
3276 // This prototype is deprecated.
3277 static inline __ATTRS_o_ai int
vec_all_gt(vector unsigned int __a,vector bool int __b)3278 vec_all_gt(vector unsigned int __a, vector bool int __b) {
3279   int __cc;
3280   __builtin_s390_vchlfs(__a, (vector unsigned int)__b, &__cc);
3281   return __cc == 0;
3282 }
3283 
3284 // This prototype is deprecated.
3285 static inline __ATTRS_o_ai int
vec_all_gt(vector bool int __a,vector unsigned int __b)3286 vec_all_gt(vector bool int __a, vector unsigned int __b) {
3287   int __cc;
3288   __builtin_s390_vchlfs((vector unsigned int)__a, __b, &__cc);
3289   return __cc == 0;
3290 }
3291 
3292 // This prototype is deprecated.
3293 static inline __ATTRS_o_ai int
vec_all_gt(vector bool int __a,vector bool int __b)3294 vec_all_gt(vector bool int __a, vector bool int __b) {
3295   int __cc;
3296   __builtin_s390_vchlfs((vector unsigned int)__a,
3297                         (vector unsigned int)__b, &__cc);
3298   return __cc == 0;
3299 }
3300 
3301 static inline __ATTRS_o_ai int
vec_all_gt(vector signed long long __a,vector signed long long __b)3302 vec_all_gt(vector signed long long __a, vector signed long long __b) {
3303   int __cc;
3304   __builtin_s390_vchgs(__a, __b, &__cc);
3305   return __cc == 0;
3306 }
3307 
3308 // This prototype is deprecated.
3309 static inline __ATTRS_o_ai int
vec_all_gt(vector signed long long __a,vector bool long long __b)3310 vec_all_gt(vector signed long long __a, vector bool long long __b) {
3311   int __cc;
3312   __builtin_s390_vchgs(__a, (vector signed long long)__b, &__cc);
3313   return __cc == 0;
3314 }
3315 
3316 // This prototype is deprecated.
3317 static inline __ATTRS_o_ai int
vec_all_gt(vector bool long long __a,vector signed long long __b)3318 vec_all_gt(vector bool long long __a, vector signed long long __b) {
3319   int __cc;
3320   __builtin_s390_vchgs((vector signed long long)__a, __b, &__cc);
3321   return __cc == 0;
3322 }
3323 
3324 static inline __ATTRS_o_ai int
vec_all_gt(vector unsigned long long __a,vector unsigned long long __b)3325 vec_all_gt(vector unsigned long long __a, vector unsigned long long __b) {
3326   int __cc;
3327   __builtin_s390_vchlgs(__a, __b, &__cc);
3328   return __cc == 0;
3329 }
3330 
3331 // This prototype is deprecated.
3332 static inline __ATTRS_o_ai int
vec_all_gt(vector unsigned long long __a,vector bool long long __b)3333 vec_all_gt(vector unsigned long long __a, vector bool long long __b) {
3334   int __cc;
3335   __builtin_s390_vchlgs(__a, (vector unsigned long long)__b, &__cc);
3336   return __cc == 0;
3337 }
3338 
3339 // This prototype is deprecated.
3340 static inline __ATTRS_o_ai int
vec_all_gt(vector bool long long __a,vector unsigned long long __b)3341 vec_all_gt(vector bool long long __a, vector unsigned long long __b) {
3342   int __cc;
3343   __builtin_s390_vchlgs((vector unsigned long long)__a, __b, &__cc);
3344   return __cc == 0;
3345 }
3346 
3347 // This prototype is deprecated.
3348 static inline __ATTRS_o_ai int
vec_all_gt(vector bool long long __a,vector bool long long __b)3349 vec_all_gt(vector bool long long __a, vector bool long long __b) {
3350   int __cc;
3351   __builtin_s390_vchlgs((vector unsigned long long)__a,
3352                         (vector unsigned long long)__b, &__cc);
3353   return __cc == 0;
3354 }
3355 
3356 #if __ARCH__ >= 12
3357 static inline __ATTRS_o_ai int
vec_all_gt(vector float __a,vector float __b)3358 vec_all_gt(vector float __a, vector float __b) {
3359   int __cc;
3360   __builtin_s390_vfchsbs(__a, __b, &__cc);
3361   return __cc == 0;
3362 }
3363 #endif
3364 
3365 static inline __ATTRS_o_ai int
vec_all_gt(vector double __a,vector double __b)3366 vec_all_gt(vector double __a, vector double __b) {
3367   int __cc;
3368   __builtin_s390_vfchdbs(__a, __b, &__cc);
3369   return __cc == 0;
3370 }
3371 
3372 /*-- vec_all_le -------------------------------------------------------------*/
3373 
3374 static inline __ATTRS_o_ai int
vec_all_le(vector signed char __a,vector signed char __b)3375 vec_all_le(vector signed char __a, vector signed char __b) {
3376   int __cc;
3377   __builtin_s390_vchbs(__a, __b, &__cc);
3378   return __cc == 3;
3379 }
3380 
3381 // This prototype is deprecated.
3382 static inline __ATTRS_o_ai int
vec_all_le(vector signed char __a,vector bool char __b)3383 vec_all_le(vector signed char __a, vector bool char __b) {
3384   int __cc;
3385   __builtin_s390_vchbs(__a, (vector signed char)__b, &__cc);
3386   return __cc == 3;
3387 }
3388 
3389 // This prototype is deprecated.
3390 static inline __ATTRS_o_ai int
vec_all_le(vector bool char __a,vector signed char __b)3391 vec_all_le(vector bool char __a, vector signed char __b) {
3392   int __cc;
3393   __builtin_s390_vchbs((vector signed char)__a, __b, &__cc);
3394   return __cc == 3;
3395 }
3396 
3397 static inline __ATTRS_o_ai int
vec_all_le(vector unsigned char __a,vector unsigned char __b)3398 vec_all_le(vector unsigned char __a, vector unsigned char __b) {
3399   int __cc;
3400   __builtin_s390_vchlbs(__a, __b, &__cc);
3401   return __cc == 3;
3402 }
3403 
3404 // This prototype is deprecated.
3405 static inline __ATTRS_o_ai int
vec_all_le(vector unsigned char __a,vector bool char __b)3406 vec_all_le(vector unsigned char __a, vector bool char __b) {
3407   int __cc;
3408   __builtin_s390_vchlbs(__a, (vector unsigned char)__b, &__cc);
3409   return __cc == 3;
3410 }
3411 
3412 // This prototype is deprecated.
3413 static inline __ATTRS_o_ai int
vec_all_le(vector bool char __a,vector unsigned char __b)3414 vec_all_le(vector bool char __a, vector unsigned char __b) {
3415   int __cc;
3416   __builtin_s390_vchlbs((vector unsigned char)__a, __b, &__cc);
3417   return __cc == 3;
3418 }
3419 
3420 // This prototype is deprecated.
3421 static inline __ATTRS_o_ai int
vec_all_le(vector bool char __a,vector bool char __b)3422 vec_all_le(vector bool char __a, vector bool char __b) {
3423   int __cc;
3424   __builtin_s390_vchlbs((vector unsigned char)__a,
3425                         (vector unsigned char)__b, &__cc);
3426   return __cc == 3;
3427 }
3428 
3429 static inline __ATTRS_o_ai int
vec_all_le(vector signed short __a,vector signed short __b)3430 vec_all_le(vector signed short __a, vector signed short __b) {
3431   int __cc;
3432   __builtin_s390_vchhs(__a, __b, &__cc);
3433   return __cc == 3;
3434 }
3435 
3436 // This prototype is deprecated.
3437 static inline __ATTRS_o_ai int
vec_all_le(vector signed short __a,vector bool short __b)3438 vec_all_le(vector signed short __a, vector bool short __b) {
3439   int __cc;
3440   __builtin_s390_vchhs(__a, (vector signed short)__b, &__cc);
3441   return __cc == 3;
3442 }
3443 
3444 // This prototype is deprecated.
3445 static inline __ATTRS_o_ai int
vec_all_le(vector bool short __a,vector signed short __b)3446 vec_all_le(vector bool short __a, vector signed short __b) {
3447   int __cc;
3448   __builtin_s390_vchhs((vector signed short)__a, __b, &__cc);
3449   return __cc == 3;
3450 }
3451 
3452 static inline __ATTRS_o_ai int
vec_all_le(vector unsigned short __a,vector unsigned short __b)3453 vec_all_le(vector unsigned short __a, vector unsigned short __b) {
3454   int __cc;
3455   __builtin_s390_vchlhs(__a, __b, &__cc);
3456   return __cc == 3;
3457 }
3458 
3459 // This prototype is deprecated.
3460 static inline __ATTRS_o_ai int
vec_all_le(vector unsigned short __a,vector bool short __b)3461 vec_all_le(vector unsigned short __a, vector bool short __b) {
3462   int __cc;
3463   __builtin_s390_vchlhs(__a, (vector unsigned short)__b, &__cc);
3464   return __cc == 3;
3465 }
3466 
3467 // This prototype is deprecated.
3468 static inline __ATTRS_o_ai int
vec_all_le(vector bool short __a,vector unsigned short __b)3469 vec_all_le(vector bool short __a, vector unsigned short __b) {
3470   int __cc;
3471   __builtin_s390_vchlhs((vector unsigned short)__a, __b, &__cc);
3472   return __cc == 3;
3473 }
3474 
3475 // This prototype is deprecated.
3476 static inline __ATTRS_o_ai int
vec_all_le(vector bool short __a,vector bool short __b)3477 vec_all_le(vector bool short __a, vector bool short __b) {
3478   int __cc;
3479   __builtin_s390_vchlhs((vector unsigned short)__a,
3480                         (vector unsigned short)__b, &__cc);
3481   return __cc == 3;
3482 }
3483 
3484 static inline __ATTRS_o_ai int
vec_all_le(vector signed int __a,vector signed int __b)3485 vec_all_le(vector signed int __a, vector signed int __b) {
3486   int __cc;
3487   __builtin_s390_vchfs(__a, __b, &__cc);
3488   return __cc == 3;
3489 }
3490 
3491 // This prototype is deprecated.
3492 static inline __ATTRS_o_ai int
vec_all_le(vector signed int __a,vector bool int __b)3493 vec_all_le(vector signed int __a, vector bool int __b) {
3494   int __cc;
3495   __builtin_s390_vchfs(__a, (vector signed int)__b, &__cc);
3496   return __cc == 3;
3497 }
3498 
3499 // This prototype is deprecated.
3500 static inline __ATTRS_o_ai int
vec_all_le(vector bool int __a,vector signed int __b)3501 vec_all_le(vector bool int __a, vector signed int __b) {
3502   int __cc;
3503   __builtin_s390_vchfs((vector signed int)__a, __b, &__cc);
3504   return __cc == 3;
3505 }
3506 
3507 static inline __ATTRS_o_ai int
vec_all_le(vector unsigned int __a,vector unsigned int __b)3508 vec_all_le(vector unsigned int __a, vector unsigned int __b) {
3509   int __cc;
3510   __builtin_s390_vchlfs(__a, __b, &__cc);
3511   return __cc == 3;
3512 }
3513 
3514 // This prototype is deprecated.
3515 static inline __ATTRS_o_ai int
vec_all_le(vector unsigned int __a,vector bool int __b)3516 vec_all_le(vector unsigned int __a, vector bool int __b) {
3517   int __cc;
3518   __builtin_s390_vchlfs(__a, (vector unsigned int)__b, &__cc);
3519   return __cc == 3;
3520 }
3521 
3522 // This prototype is deprecated.
3523 static inline __ATTRS_o_ai int
vec_all_le(vector bool int __a,vector unsigned int __b)3524 vec_all_le(vector bool int __a, vector unsigned int __b) {
3525   int __cc;
3526   __builtin_s390_vchlfs((vector unsigned int)__a, __b, &__cc);
3527   return __cc == 3;
3528 }
3529 
3530 // This prototype is deprecated.
3531 static inline __ATTRS_o_ai int
vec_all_le(vector bool int __a,vector bool int __b)3532 vec_all_le(vector bool int __a, vector bool int __b) {
3533   int __cc;
3534   __builtin_s390_vchlfs((vector unsigned int)__a,
3535                         (vector unsigned int)__b, &__cc);
3536   return __cc == 3;
3537 }
3538 
3539 static inline __ATTRS_o_ai int
vec_all_le(vector signed long long __a,vector signed long long __b)3540 vec_all_le(vector signed long long __a, vector signed long long __b) {
3541   int __cc;
3542   __builtin_s390_vchgs(__a, __b, &__cc);
3543   return __cc == 3;
3544 }
3545 
3546 // This prototype is deprecated.
3547 static inline __ATTRS_o_ai int
vec_all_le(vector signed long long __a,vector bool long long __b)3548 vec_all_le(vector signed long long __a, vector bool long long __b) {
3549   int __cc;
3550   __builtin_s390_vchgs(__a, (vector signed long long)__b, &__cc);
3551   return __cc == 3;
3552 }
3553 
3554 // This prototype is deprecated.
3555 static inline __ATTRS_o_ai int
vec_all_le(vector bool long long __a,vector signed long long __b)3556 vec_all_le(vector bool long long __a, vector signed long long __b) {
3557   int __cc;
3558   __builtin_s390_vchgs((vector signed long long)__a, __b, &__cc);
3559   return __cc == 3;
3560 }
3561 
3562 static inline __ATTRS_o_ai int
vec_all_le(vector unsigned long long __a,vector unsigned long long __b)3563 vec_all_le(vector unsigned long long __a, vector unsigned long long __b) {
3564   int __cc;
3565   __builtin_s390_vchlgs(__a, __b, &__cc);
3566   return __cc == 3;
3567 }
3568 
3569 // This prototype is deprecated.
3570 static inline __ATTRS_o_ai int
vec_all_le(vector unsigned long long __a,vector bool long long __b)3571 vec_all_le(vector unsigned long long __a, vector bool long long __b) {
3572   int __cc;
3573   __builtin_s390_vchlgs(__a, (vector unsigned long long)__b, &__cc);
3574   return __cc == 3;
3575 }
3576 
3577 // This prototype is deprecated.
3578 static inline __ATTRS_o_ai int
vec_all_le(vector bool long long __a,vector unsigned long long __b)3579 vec_all_le(vector bool long long __a, vector unsigned long long __b) {
3580   int __cc;
3581   __builtin_s390_vchlgs((vector unsigned long long)__a, __b, &__cc);
3582   return __cc == 3;
3583 }
3584 
3585 // This prototype is deprecated.
3586 static inline __ATTRS_o_ai int
vec_all_le(vector bool long long __a,vector bool long long __b)3587 vec_all_le(vector bool long long __a, vector bool long long __b) {
3588   int __cc;
3589   __builtin_s390_vchlgs((vector unsigned long long)__a,
3590                         (vector unsigned long long)__b, &__cc);
3591   return __cc == 3;
3592 }
3593 
3594 #if __ARCH__ >= 12
3595 static inline __ATTRS_o_ai int
vec_all_le(vector float __a,vector float __b)3596 vec_all_le(vector float __a, vector float __b) {
3597   int __cc;
3598   __builtin_s390_vfchesbs(__b, __a, &__cc);
3599   return __cc == 0;
3600 }
3601 #endif
3602 
3603 static inline __ATTRS_o_ai int
vec_all_le(vector double __a,vector double __b)3604 vec_all_le(vector double __a, vector double __b) {
3605   int __cc;
3606   __builtin_s390_vfchedbs(__b, __a, &__cc);
3607   return __cc == 0;
3608 }
3609 
3610 /*-- vec_all_lt -------------------------------------------------------------*/
3611 
3612 static inline __ATTRS_o_ai int
vec_all_lt(vector signed char __a,vector signed char __b)3613 vec_all_lt(vector signed char __a, vector signed char __b) {
3614   int __cc;
3615   __builtin_s390_vchbs(__b, __a, &__cc);
3616   return __cc == 0;
3617 }
3618 
3619 // This prototype is deprecated.
3620 static inline __ATTRS_o_ai int
vec_all_lt(vector signed char __a,vector bool char __b)3621 vec_all_lt(vector signed char __a, vector bool char __b) {
3622   int __cc;
3623   __builtin_s390_vchbs((vector signed char)__b, __a, &__cc);
3624   return __cc == 0;
3625 }
3626 
3627 // This prototype is deprecated.
3628 static inline __ATTRS_o_ai int
vec_all_lt(vector bool char __a,vector signed char __b)3629 vec_all_lt(vector bool char __a, vector signed char __b) {
3630   int __cc;
3631   __builtin_s390_vchbs(__b, (vector signed char)__a, &__cc);
3632   return __cc == 0;
3633 }
3634 
3635 static inline __ATTRS_o_ai int
vec_all_lt(vector unsigned char __a,vector unsigned char __b)3636 vec_all_lt(vector unsigned char __a, vector unsigned char __b) {
3637   int __cc;
3638   __builtin_s390_vchlbs(__b, __a, &__cc);
3639   return __cc == 0;
3640 }
3641 
3642 // This prototype is deprecated.
3643 static inline __ATTRS_o_ai int
vec_all_lt(vector unsigned char __a,vector bool char __b)3644 vec_all_lt(vector unsigned char __a, vector bool char __b) {
3645   int __cc;
3646   __builtin_s390_vchlbs((vector unsigned char)__b, __a, &__cc);
3647   return __cc == 0;
3648 }
3649 
3650 // This prototype is deprecated.
3651 static inline __ATTRS_o_ai int
vec_all_lt(vector bool char __a,vector unsigned char __b)3652 vec_all_lt(vector bool char __a, vector unsigned char __b) {
3653   int __cc;
3654   __builtin_s390_vchlbs(__b, (vector unsigned char)__a, &__cc);
3655   return __cc == 0;
3656 }
3657 
3658 // This prototype is deprecated.
3659 static inline __ATTRS_o_ai int
vec_all_lt(vector bool char __a,vector bool char __b)3660 vec_all_lt(vector bool char __a, vector bool char __b) {
3661   int __cc;
3662   __builtin_s390_vchlbs((vector unsigned char)__b,
3663                         (vector unsigned char)__a, &__cc);
3664   return __cc == 0;
3665 }
3666 
3667 static inline __ATTRS_o_ai int
vec_all_lt(vector signed short __a,vector signed short __b)3668 vec_all_lt(vector signed short __a, vector signed short __b) {
3669   int __cc;
3670   __builtin_s390_vchhs(__b, __a, &__cc);
3671   return __cc == 0;
3672 }
3673 
3674 // This prototype is deprecated.
3675 static inline __ATTRS_o_ai int
vec_all_lt(vector signed short __a,vector bool short __b)3676 vec_all_lt(vector signed short __a, vector bool short __b) {
3677   int __cc;
3678   __builtin_s390_vchhs((vector signed short)__b, __a, &__cc);
3679   return __cc == 0;
3680 }
3681 
3682 // This prototype is deprecated.
3683 static inline __ATTRS_o_ai int
vec_all_lt(vector bool short __a,vector signed short __b)3684 vec_all_lt(vector bool short __a, vector signed short __b) {
3685   int __cc;
3686   __builtin_s390_vchhs(__b, (vector signed short)__a, &__cc);
3687   return __cc == 0;
3688 }
3689 
3690 static inline __ATTRS_o_ai int
vec_all_lt(vector unsigned short __a,vector unsigned short __b)3691 vec_all_lt(vector unsigned short __a, vector unsigned short __b) {
3692   int __cc;
3693   __builtin_s390_vchlhs(__b, __a, &__cc);
3694   return __cc == 0;
3695 }
3696 
3697 // This prototype is deprecated.
3698 static inline __ATTRS_o_ai int
vec_all_lt(vector unsigned short __a,vector bool short __b)3699 vec_all_lt(vector unsigned short __a, vector bool short __b) {
3700   int __cc;
3701   __builtin_s390_vchlhs((vector unsigned short)__b, __a, &__cc);
3702   return __cc == 0;
3703 }
3704 
3705 // This prototype is deprecated.
3706 static inline __ATTRS_o_ai int
vec_all_lt(vector bool short __a,vector unsigned short __b)3707 vec_all_lt(vector bool short __a, vector unsigned short __b) {
3708   int __cc;
3709   __builtin_s390_vchlhs(__b, (vector unsigned short)__a, &__cc);
3710   return __cc == 0;
3711 }
3712 
3713 // This prototype is deprecated.
3714 static inline __ATTRS_o_ai int
vec_all_lt(vector bool short __a,vector bool short __b)3715 vec_all_lt(vector bool short __a, vector bool short __b) {
3716   int __cc;
3717   __builtin_s390_vchlhs((vector unsigned short)__b,
3718                         (vector unsigned short)__a, &__cc);
3719   return __cc == 0;
3720 }
3721 
3722 static inline __ATTRS_o_ai int
vec_all_lt(vector signed int __a,vector signed int __b)3723 vec_all_lt(vector signed int __a, vector signed int __b) {
3724   int __cc;
3725   __builtin_s390_vchfs(__b, __a, &__cc);
3726   return __cc == 0;
3727 }
3728 
3729 // This prototype is deprecated.
3730 static inline __ATTRS_o_ai int
vec_all_lt(vector signed int __a,vector bool int __b)3731 vec_all_lt(vector signed int __a, vector bool int __b) {
3732   int __cc;
3733   __builtin_s390_vchfs((vector signed int)__b, __a, &__cc);
3734   return __cc == 0;
3735 }
3736 
3737 // This prototype is deprecated.
3738 static inline __ATTRS_o_ai int
vec_all_lt(vector bool int __a,vector signed int __b)3739 vec_all_lt(vector bool int __a, vector signed int __b) {
3740   int __cc;
3741   __builtin_s390_vchfs(__b, (vector signed int)__a, &__cc);
3742   return __cc == 0;
3743 }
3744 
3745 static inline __ATTRS_o_ai int
vec_all_lt(vector unsigned int __a,vector unsigned int __b)3746 vec_all_lt(vector unsigned int __a, vector unsigned int __b) {
3747   int __cc;
3748   __builtin_s390_vchlfs(__b, __a, &__cc);
3749   return __cc == 0;
3750 }
3751 
3752 // This prototype is deprecated.
3753 static inline __ATTRS_o_ai int
vec_all_lt(vector unsigned int __a,vector bool int __b)3754 vec_all_lt(vector unsigned int __a, vector bool int __b) {
3755   int __cc;
3756   __builtin_s390_vchlfs((vector unsigned int)__b, __a, &__cc);
3757   return __cc == 0;
3758 }
3759 
3760 // This prototype is deprecated.
3761 static inline __ATTRS_o_ai int
vec_all_lt(vector bool int __a,vector unsigned int __b)3762 vec_all_lt(vector bool int __a, vector unsigned int __b) {
3763   int __cc;
3764   __builtin_s390_vchlfs(__b, (vector unsigned int)__a, &__cc);
3765   return __cc == 0;
3766 }
3767 
3768 // This prototype is deprecated.
3769 static inline __ATTRS_o_ai int
vec_all_lt(vector bool int __a,vector bool int __b)3770 vec_all_lt(vector bool int __a, vector bool int __b) {
3771   int __cc;
3772   __builtin_s390_vchlfs((vector unsigned int)__b,
3773                         (vector unsigned int)__a, &__cc);
3774   return __cc == 0;
3775 }
3776 
3777 static inline __ATTRS_o_ai int
vec_all_lt(vector signed long long __a,vector signed long long __b)3778 vec_all_lt(vector signed long long __a, vector signed long long __b) {
3779   int __cc;
3780   __builtin_s390_vchgs(__b, __a, &__cc);
3781   return __cc == 0;
3782 }
3783 
3784 // This prototype is deprecated.
3785 static inline __ATTRS_o_ai int
vec_all_lt(vector signed long long __a,vector bool long long __b)3786 vec_all_lt(vector signed long long __a, vector bool long long __b) {
3787   int __cc;
3788   __builtin_s390_vchgs((vector signed long long)__b, __a, &__cc);
3789   return __cc == 0;
3790 }
3791 
3792 // This prototype is deprecated.
3793 static inline __ATTRS_o_ai int
vec_all_lt(vector bool long long __a,vector signed long long __b)3794 vec_all_lt(vector bool long long __a, vector signed long long __b) {
3795   int __cc;
3796   __builtin_s390_vchgs(__b, (vector signed long long)__a, &__cc);
3797   return __cc == 0;
3798 }
3799 
3800 static inline __ATTRS_o_ai int
vec_all_lt(vector unsigned long long __a,vector unsigned long long __b)3801 vec_all_lt(vector unsigned long long __a, vector unsigned long long __b) {
3802   int __cc;
3803   __builtin_s390_vchlgs(__b, __a, &__cc);
3804   return __cc == 0;
3805 }
3806 
3807 // This prototype is deprecated.
3808 static inline __ATTRS_o_ai int
vec_all_lt(vector unsigned long long __a,vector bool long long __b)3809 vec_all_lt(vector unsigned long long __a, vector bool long long __b) {
3810   int __cc;
3811   __builtin_s390_vchlgs((vector unsigned long long)__b, __a, &__cc);
3812   return __cc == 0;
3813 }
3814 
3815 // This prototype is deprecated.
3816 static inline __ATTRS_o_ai int
vec_all_lt(vector bool long long __a,vector unsigned long long __b)3817 vec_all_lt(vector bool long long __a, vector unsigned long long __b) {
3818   int __cc;
3819   __builtin_s390_vchlgs(__b, (vector unsigned long long)__a, &__cc);
3820   return __cc == 0;
3821 }
3822 
3823 // This prototype is deprecated.
3824 static inline __ATTRS_o_ai int
vec_all_lt(vector bool long long __a,vector bool long long __b)3825 vec_all_lt(vector bool long long __a, vector bool long long __b) {
3826   int __cc;
3827   __builtin_s390_vchlgs((vector unsigned long long)__b,
3828                         (vector unsigned long long)__a, &__cc);
3829   return __cc == 0;
3830 }
3831 
3832 #if __ARCH__ >= 12
3833 static inline __ATTRS_o_ai int
vec_all_lt(vector float __a,vector float __b)3834 vec_all_lt(vector float __a, vector float __b) {
3835   int __cc;
3836   __builtin_s390_vfchsbs(__b, __a, &__cc);
3837   return __cc == 0;
3838 }
3839 #endif
3840 
3841 static inline __ATTRS_o_ai int
vec_all_lt(vector double __a,vector double __b)3842 vec_all_lt(vector double __a, vector double __b) {
3843   int __cc;
3844   __builtin_s390_vfchdbs(__b, __a, &__cc);
3845   return __cc == 0;
3846 }
3847 
3848 /*-- vec_all_nge ------------------------------------------------------------*/
3849 
3850 #if __ARCH__ >= 12
3851 static inline __ATTRS_o_ai int
vec_all_nge(vector float __a,vector float __b)3852 vec_all_nge(vector float __a, vector float __b) {
3853   int __cc;
3854   __builtin_s390_vfchesbs(__a, __b, &__cc);
3855   return __cc == 3;
3856 }
3857 #endif
3858 
3859 static inline __ATTRS_o_ai int
vec_all_nge(vector double __a,vector double __b)3860 vec_all_nge(vector double __a, vector double __b) {
3861   int __cc;
3862   __builtin_s390_vfchedbs(__a, __b, &__cc);
3863   return __cc == 3;
3864 }
3865 
3866 /*-- vec_all_ngt ------------------------------------------------------------*/
3867 
3868 #if __ARCH__ >= 12
3869 static inline __ATTRS_o_ai int
vec_all_ngt(vector float __a,vector float __b)3870 vec_all_ngt(vector float __a, vector float __b) {
3871   int __cc;
3872   __builtin_s390_vfchsbs(__a, __b, &__cc);
3873   return __cc == 3;
3874 }
3875 #endif
3876 
3877 static inline __ATTRS_o_ai int
vec_all_ngt(vector double __a,vector double __b)3878 vec_all_ngt(vector double __a, vector double __b) {
3879   int __cc;
3880   __builtin_s390_vfchdbs(__a, __b, &__cc);
3881   return __cc == 3;
3882 }
3883 
3884 /*-- vec_all_nle ------------------------------------------------------------*/
3885 
3886 #if __ARCH__ >= 12
3887 static inline __ATTRS_o_ai int
vec_all_nle(vector float __a,vector float __b)3888 vec_all_nle(vector float __a, vector float __b) {
3889   int __cc;
3890   __builtin_s390_vfchesbs(__b, __a, &__cc);
3891   return __cc == 3;
3892 }
3893 #endif
3894 
3895 static inline __ATTRS_o_ai int
vec_all_nle(vector double __a,vector double __b)3896 vec_all_nle(vector double __a, vector double __b) {
3897   int __cc;
3898   __builtin_s390_vfchedbs(__b, __a, &__cc);
3899   return __cc == 3;
3900 }
3901 
3902 /*-- vec_all_nlt ------------------------------------------------------------*/
3903 
3904 #if __ARCH__ >= 12
3905 static inline __ATTRS_o_ai int
vec_all_nlt(vector float __a,vector float __b)3906 vec_all_nlt(vector float __a, vector float __b) {
3907   int __cc;
3908   __builtin_s390_vfchsbs(__b, __a, &__cc);
3909   return __cc == 3;
3910 }
3911 #endif
3912 
3913 static inline __ATTRS_o_ai int
vec_all_nlt(vector double __a,vector double __b)3914 vec_all_nlt(vector double __a, vector double __b) {
3915   int __cc;
3916   __builtin_s390_vfchdbs(__b, __a, &__cc);
3917   return __cc == 3;
3918 }
3919 
3920 /*-- vec_all_nan ------------------------------------------------------------*/
3921 
3922 #if __ARCH__ >= 12
3923 static inline __ATTRS_o_ai int
vec_all_nan(vector float __a)3924 vec_all_nan(vector float __a) {
3925   int __cc;
3926   __builtin_s390_vftcisb(__a, 15, &__cc);
3927   return __cc == 0;
3928 }
3929 #endif
3930 
3931 static inline __ATTRS_o_ai int
vec_all_nan(vector double __a)3932 vec_all_nan(vector double __a) {
3933   int __cc;
3934   __builtin_s390_vftcidb(__a, 15, &__cc);
3935   return __cc == 0;
3936 }
3937 
3938 /*-- vec_all_numeric --------------------------------------------------------*/
3939 
3940 #if __ARCH__ >= 12
3941 static inline __ATTRS_o_ai int
vec_all_numeric(vector float __a)3942 vec_all_numeric(vector float __a) {
3943   int __cc;
3944   __builtin_s390_vftcisb(__a, 15, &__cc);
3945   return __cc == 3;
3946 }
3947 #endif
3948 
3949 static inline __ATTRS_o_ai int
vec_all_numeric(vector double __a)3950 vec_all_numeric(vector double __a) {
3951   int __cc;
3952   __builtin_s390_vftcidb(__a, 15, &__cc);
3953   return __cc == 3;
3954 }
3955 
3956 /*-- vec_any_eq -------------------------------------------------------------*/
3957 
3958 static inline __ATTRS_o_ai int
vec_any_eq(vector signed char __a,vector signed char __b)3959 vec_any_eq(vector signed char __a, vector signed char __b) {
3960   int __cc;
3961   __builtin_s390_vceqbs(__a, __b, &__cc);
3962   return __cc <= 1;
3963 }
3964 
3965 // This prototype is deprecated.
3966 static inline __ATTRS_o_ai int
vec_any_eq(vector signed char __a,vector bool char __b)3967 vec_any_eq(vector signed char __a, vector bool char __b) {
3968   int __cc;
3969   __builtin_s390_vceqbs(__a, (vector signed char)__b, &__cc);
3970   return __cc <= 1;
3971 }
3972 
3973 // This prototype is deprecated.
3974 static inline __ATTRS_o_ai int
vec_any_eq(vector bool char __a,vector signed char __b)3975 vec_any_eq(vector bool char __a, vector signed char __b) {
3976   int __cc;
3977   __builtin_s390_vceqbs((vector signed char)__a, __b, &__cc);
3978   return __cc <= 1;
3979 }
3980 
3981 static inline __ATTRS_o_ai int
vec_any_eq(vector unsigned char __a,vector unsigned char __b)3982 vec_any_eq(vector unsigned char __a, vector unsigned char __b) {
3983   int __cc;
3984   __builtin_s390_vceqbs((vector signed char)__a,
3985                         (vector signed char)__b, &__cc);
3986   return __cc <= 1;
3987 }
3988 
3989 // This prototype is deprecated.
3990 static inline __ATTRS_o_ai int
vec_any_eq(vector unsigned char __a,vector bool char __b)3991 vec_any_eq(vector unsigned char __a, vector bool char __b) {
3992   int __cc;
3993   __builtin_s390_vceqbs((vector signed char)__a,
3994                         (vector signed char)__b, &__cc);
3995   return __cc <= 1;
3996 }
3997 
3998 // This prototype is deprecated.
3999 static inline __ATTRS_o_ai int
vec_any_eq(vector bool char __a,vector unsigned char __b)4000 vec_any_eq(vector bool char __a, vector unsigned char __b) {
4001   int __cc;
4002   __builtin_s390_vceqbs((vector signed char)__a,
4003                         (vector signed char)__b, &__cc);
4004   return __cc <= 1;
4005 }
4006 
4007 static inline __ATTRS_o_ai int
vec_any_eq(vector bool char __a,vector bool char __b)4008 vec_any_eq(vector bool char __a, vector bool char __b) {
4009   int __cc;
4010   __builtin_s390_vceqbs((vector signed char)__a,
4011                         (vector signed char)__b, &__cc);
4012   return __cc <= 1;
4013 }
4014 
4015 static inline __ATTRS_o_ai int
vec_any_eq(vector signed short __a,vector signed short __b)4016 vec_any_eq(vector signed short __a, vector signed short __b) {
4017   int __cc;
4018   __builtin_s390_vceqhs(__a, __b, &__cc);
4019   return __cc <= 1;
4020 }
4021 
4022 // This prototype is deprecated.
4023 static inline __ATTRS_o_ai int
vec_any_eq(vector signed short __a,vector bool short __b)4024 vec_any_eq(vector signed short __a, vector bool short __b) {
4025   int __cc;
4026   __builtin_s390_vceqhs(__a, (vector signed short)__b, &__cc);
4027   return __cc <= 1;
4028 }
4029 
4030 // This prototype is deprecated.
4031 static inline __ATTRS_o_ai int
vec_any_eq(vector bool short __a,vector signed short __b)4032 vec_any_eq(vector bool short __a, vector signed short __b) {
4033   int __cc;
4034   __builtin_s390_vceqhs((vector signed short)__a, __b, &__cc);
4035   return __cc <= 1;
4036 }
4037 
4038 static inline __ATTRS_o_ai int
vec_any_eq(vector unsigned short __a,vector unsigned short __b)4039 vec_any_eq(vector unsigned short __a, vector unsigned short __b) {
4040   int __cc;
4041   __builtin_s390_vceqhs((vector signed short)__a,
4042                         (vector signed short)__b, &__cc);
4043   return __cc <= 1;
4044 }
4045 
4046 // This prototype is deprecated.
4047 static inline __ATTRS_o_ai int
vec_any_eq(vector unsigned short __a,vector bool short __b)4048 vec_any_eq(vector unsigned short __a, vector bool short __b) {
4049   int __cc;
4050   __builtin_s390_vceqhs((vector signed short)__a,
4051                         (vector signed short)__b, &__cc);
4052   return __cc <= 1;
4053 }
4054 
4055 // This prototype is deprecated.
4056 static inline __ATTRS_o_ai int
vec_any_eq(vector bool short __a,vector unsigned short __b)4057 vec_any_eq(vector bool short __a, vector unsigned short __b) {
4058   int __cc;
4059   __builtin_s390_vceqhs((vector signed short)__a,
4060                         (vector signed short)__b, &__cc);
4061   return __cc <= 1;
4062 }
4063 
4064 static inline __ATTRS_o_ai int
vec_any_eq(vector bool short __a,vector bool short __b)4065 vec_any_eq(vector bool short __a, vector bool short __b) {
4066   int __cc;
4067   __builtin_s390_vceqhs((vector signed short)__a,
4068                         (vector signed short)__b, &__cc);
4069   return __cc <= 1;
4070 }
4071 
4072 static inline __ATTRS_o_ai int
vec_any_eq(vector signed int __a,vector signed int __b)4073 vec_any_eq(vector signed int __a, vector signed int __b) {
4074   int __cc;
4075   __builtin_s390_vceqfs(__a, __b, &__cc);
4076   return __cc <= 1;
4077 }
4078 
4079 // This prototype is deprecated.
4080 static inline __ATTRS_o_ai int
vec_any_eq(vector signed int __a,vector bool int __b)4081 vec_any_eq(vector signed int __a, vector bool int __b) {
4082   int __cc;
4083   __builtin_s390_vceqfs(__a, (vector signed int)__b, &__cc);
4084   return __cc <= 1;
4085 }
4086 
4087 // This prototype is deprecated.
4088 static inline __ATTRS_o_ai int
vec_any_eq(vector bool int __a,vector signed int __b)4089 vec_any_eq(vector bool int __a, vector signed int __b) {
4090   int __cc;
4091   __builtin_s390_vceqfs((vector signed int)__a, __b, &__cc);
4092   return __cc <= 1;
4093 }
4094 
4095 static inline __ATTRS_o_ai int
vec_any_eq(vector unsigned int __a,vector unsigned int __b)4096 vec_any_eq(vector unsigned int __a, vector unsigned int __b) {
4097   int __cc;
4098   __builtin_s390_vceqfs((vector signed int)__a,
4099                         (vector signed int)__b, &__cc);
4100   return __cc <= 1;
4101 }
4102 
4103 // This prototype is deprecated.
4104 static inline __ATTRS_o_ai int
vec_any_eq(vector unsigned int __a,vector bool int __b)4105 vec_any_eq(vector unsigned int __a, vector bool int __b) {
4106   int __cc;
4107   __builtin_s390_vceqfs((vector signed int)__a,
4108                         (vector signed int)__b, &__cc);
4109   return __cc <= 1;
4110 }
4111 
4112 // This prototype is deprecated.
4113 static inline __ATTRS_o_ai int
vec_any_eq(vector bool int __a,vector unsigned int __b)4114 vec_any_eq(vector bool int __a, vector unsigned int __b) {
4115   int __cc;
4116   __builtin_s390_vceqfs((vector signed int)__a,
4117                         (vector signed int)__b, &__cc);
4118   return __cc <= 1;
4119 }
4120 
4121 static inline __ATTRS_o_ai int
vec_any_eq(vector bool int __a,vector bool int __b)4122 vec_any_eq(vector bool int __a, vector bool int __b) {
4123   int __cc;
4124   __builtin_s390_vceqfs((vector signed int)__a,
4125                         (vector signed int)__b, &__cc);
4126   return __cc <= 1;
4127 }
4128 
4129 static inline __ATTRS_o_ai int
vec_any_eq(vector signed long long __a,vector signed long long __b)4130 vec_any_eq(vector signed long long __a, vector signed long long __b) {
4131   int __cc;
4132   __builtin_s390_vceqgs(__a, __b, &__cc);
4133   return __cc <= 1;
4134 }
4135 
4136 // This prototype is deprecated.
4137 static inline __ATTRS_o_ai int
vec_any_eq(vector signed long long __a,vector bool long long __b)4138 vec_any_eq(vector signed long long __a, vector bool long long __b) {
4139   int __cc;
4140   __builtin_s390_vceqgs(__a, (vector signed long long)__b, &__cc);
4141   return __cc <= 1;
4142 }
4143 
4144 // This prototype is deprecated.
4145 static inline __ATTRS_o_ai int
vec_any_eq(vector bool long long __a,vector signed long long __b)4146 vec_any_eq(vector bool long long __a, vector signed long long __b) {
4147   int __cc;
4148   __builtin_s390_vceqgs((vector signed long long)__a, __b, &__cc);
4149   return __cc <= 1;
4150 }
4151 
4152 static inline __ATTRS_o_ai int
vec_any_eq(vector unsigned long long __a,vector unsigned long long __b)4153 vec_any_eq(vector unsigned long long __a, vector unsigned long long __b) {
4154   int __cc;
4155   __builtin_s390_vceqgs((vector signed long long)__a,
4156                         (vector signed long long)__b, &__cc);
4157   return __cc <= 1;
4158 }
4159 
4160 // This prototype is deprecated.
4161 static inline __ATTRS_o_ai int
vec_any_eq(vector unsigned long long __a,vector bool long long __b)4162 vec_any_eq(vector unsigned long long __a, vector bool long long __b) {
4163   int __cc;
4164   __builtin_s390_vceqgs((vector signed long long)__a,
4165                         (vector signed long long)__b, &__cc);
4166   return __cc <= 1;
4167 }
4168 
4169 // This prototype is deprecated.
4170 static inline __ATTRS_o_ai int
vec_any_eq(vector bool long long __a,vector unsigned long long __b)4171 vec_any_eq(vector bool long long __a, vector unsigned long long __b) {
4172   int __cc;
4173   __builtin_s390_vceqgs((vector signed long long)__a,
4174                         (vector signed long long)__b, &__cc);
4175   return __cc <= 1;
4176 }
4177 
4178 static inline __ATTRS_o_ai int
vec_any_eq(vector bool long long __a,vector bool long long __b)4179 vec_any_eq(vector bool long long __a, vector bool long long __b) {
4180   int __cc;
4181   __builtin_s390_vceqgs((vector signed long long)__a,
4182                         (vector signed long long)__b, &__cc);
4183   return __cc <= 1;
4184 }
4185 
4186 #if __ARCH__ >= 12
4187 static inline __ATTRS_o_ai int
vec_any_eq(vector float __a,vector float __b)4188 vec_any_eq(vector float __a, vector float __b) {
4189   int __cc;
4190   __builtin_s390_vfcesbs(__a, __b, &__cc);
4191   return __cc <= 1;
4192 }
4193 #endif
4194 
4195 static inline __ATTRS_o_ai int
vec_any_eq(vector double __a,vector double __b)4196 vec_any_eq(vector double __a, vector double __b) {
4197   int __cc;
4198   __builtin_s390_vfcedbs(__a, __b, &__cc);
4199   return __cc <= 1;
4200 }
4201 
4202 /*-- vec_any_ne -------------------------------------------------------------*/
4203 
4204 static inline __ATTRS_o_ai int
vec_any_ne(vector signed char __a,vector signed char __b)4205 vec_any_ne(vector signed char __a, vector signed char __b) {
4206   int __cc;
4207   __builtin_s390_vceqbs(__a, __b, &__cc);
4208   return __cc != 0;
4209 }
4210 
4211 // This prototype is deprecated.
4212 static inline __ATTRS_o_ai int
vec_any_ne(vector signed char __a,vector bool char __b)4213 vec_any_ne(vector signed char __a, vector bool char __b) {
4214   int __cc;
4215   __builtin_s390_vceqbs(__a, (vector signed char)__b, &__cc);
4216   return __cc != 0;
4217 }
4218 
4219 // This prototype is deprecated.
4220 static inline __ATTRS_o_ai int
vec_any_ne(vector bool char __a,vector signed char __b)4221 vec_any_ne(vector bool char __a, vector signed char __b) {
4222   int __cc;
4223   __builtin_s390_vceqbs((vector signed char)__a, __b, &__cc);
4224   return __cc != 0;
4225 }
4226 
4227 static inline __ATTRS_o_ai int
vec_any_ne(vector unsigned char __a,vector unsigned char __b)4228 vec_any_ne(vector unsigned char __a, vector unsigned char __b) {
4229   int __cc;
4230   __builtin_s390_vceqbs((vector signed char)__a,
4231                         (vector signed char)__b, &__cc);
4232   return __cc != 0;
4233 }
4234 
4235 // This prototype is deprecated.
4236 static inline __ATTRS_o_ai int
vec_any_ne(vector unsigned char __a,vector bool char __b)4237 vec_any_ne(vector unsigned char __a, vector bool char __b) {
4238   int __cc;
4239   __builtin_s390_vceqbs((vector signed char)__a,
4240                         (vector signed char)__b, &__cc);
4241   return __cc != 0;
4242 }
4243 
4244 // This prototype is deprecated.
4245 static inline __ATTRS_o_ai int
vec_any_ne(vector bool char __a,vector unsigned char __b)4246 vec_any_ne(vector bool char __a, vector unsigned char __b) {
4247   int __cc;
4248   __builtin_s390_vceqbs((vector signed char)__a,
4249                         (vector signed char)__b, &__cc);
4250   return __cc != 0;
4251 }
4252 
4253 static inline __ATTRS_o_ai int
vec_any_ne(vector bool char __a,vector bool char __b)4254 vec_any_ne(vector bool char __a, vector bool char __b) {
4255   int __cc;
4256   __builtin_s390_vceqbs((vector signed char)__a,
4257                         (vector signed char)__b, &__cc);
4258   return __cc != 0;
4259 }
4260 
4261 static inline __ATTRS_o_ai int
vec_any_ne(vector signed short __a,vector signed short __b)4262 vec_any_ne(vector signed short __a, vector signed short __b) {
4263   int __cc;
4264   __builtin_s390_vceqhs(__a, __b, &__cc);
4265   return __cc != 0;
4266 }
4267 
4268 // This prototype is deprecated.
4269 static inline __ATTRS_o_ai int
vec_any_ne(vector signed short __a,vector bool short __b)4270 vec_any_ne(vector signed short __a, vector bool short __b) {
4271   int __cc;
4272   __builtin_s390_vceqhs(__a, (vector signed short)__b, &__cc);
4273   return __cc != 0;
4274 }
4275 
4276 // This prototype is deprecated.
4277 static inline __ATTRS_o_ai int
vec_any_ne(vector bool short __a,vector signed short __b)4278 vec_any_ne(vector bool short __a, vector signed short __b) {
4279   int __cc;
4280   __builtin_s390_vceqhs((vector signed short)__a, __b, &__cc);
4281   return __cc != 0;
4282 }
4283 
4284 static inline __ATTRS_o_ai int
vec_any_ne(vector unsigned short __a,vector unsigned short __b)4285 vec_any_ne(vector unsigned short __a, vector unsigned short __b) {
4286   int __cc;
4287   __builtin_s390_vceqhs((vector signed short)__a,
4288                         (vector signed short)__b, &__cc);
4289   return __cc != 0;
4290 }
4291 
4292 // This prototype is deprecated.
4293 static inline __ATTRS_o_ai int
vec_any_ne(vector unsigned short __a,vector bool short __b)4294 vec_any_ne(vector unsigned short __a, vector bool short __b) {
4295   int __cc;
4296   __builtin_s390_vceqhs((vector signed short)__a,
4297                         (vector signed short)__b, &__cc);
4298   return __cc != 0;
4299 }
4300 
4301 // This prototype is deprecated.
4302 static inline __ATTRS_o_ai int
vec_any_ne(vector bool short __a,vector unsigned short __b)4303 vec_any_ne(vector bool short __a, vector unsigned short __b) {
4304   int __cc;
4305   __builtin_s390_vceqhs((vector signed short)__a,
4306                         (vector signed short)__b, &__cc);
4307   return __cc != 0;
4308 }
4309 
4310 static inline __ATTRS_o_ai int
vec_any_ne(vector bool short __a,vector bool short __b)4311 vec_any_ne(vector bool short __a, vector bool short __b) {
4312   int __cc;
4313   __builtin_s390_vceqhs((vector signed short)__a,
4314                         (vector signed short)__b, &__cc);
4315   return __cc != 0;
4316 }
4317 
4318 static inline __ATTRS_o_ai int
vec_any_ne(vector signed int __a,vector signed int __b)4319 vec_any_ne(vector signed int __a, vector signed int __b) {
4320   int __cc;
4321   __builtin_s390_vceqfs(__a, __b, &__cc);
4322   return __cc != 0;
4323 }
4324 
4325 // This prototype is deprecated.
4326 static inline __ATTRS_o_ai int
vec_any_ne(vector signed int __a,vector bool int __b)4327 vec_any_ne(vector signed int __a, vector bool int __b) {
4328   int __cc;
4329   __builtin_s390_vceqfs(__a, (vector signed int)__b, &__cc);
4330   return __cc != 0;
4331 }
4332 
4333 // This prototype is deprecated.
4334 static inline __ATTRS_o_ai int
vec_any_ne(vector bool int __a,vector signed int __b)4335 vec_any_ne(vector bool int __a, vector signed int __b) {
4336   int __cc;
4337   __builtin_s390_vceqfs((vector signed int)__a, __b, &__cc);
4338   return __cc != 0;
4339 }
4340 
4341 static inline __ATTRS_o_ai int
vec_any_ne(vector unsigned int __a,vector unsigned int __b)4342 vec_any_ne(vector unsigned int __a, vector unsigned int __b) {
4343   int __cc;
4344   __builtin_s390_vceqfs((vector signed int)__a,
4345                         (vector signed int)__b, &__cc);
4346   return __cc != 0;
4347 }
4348 
4349 // This prototype is deprecated.
4350 static inline __ATTRS_o_ai int
vec_any_ne(vector unsigned int __a,vector bool int __b)4351 vec_any_ne(vector unsigned int __a, vector bool int __b) {
4352   int __cc;
4353   __builtin_s390_vceqfs((vector signed int)__a,
4354                         (vector signed int)__b, &__cc);
4355   return __cc != 0;
4356 }
4357 
4358 // This prototype is deprecated.
4359 static inline __ATTRS_o_ai int
vec_any_ne(vector bool int __a,vector unsigned int __b)4360 vec_any_ne(vector bool int __a, vector unsigned int __b) {
4361   int __cc;
4362   __builtin_s390_vceqfs((vector signed int)__a,
4363                         (vector signed int)__b, &__cc);
4364   return __cc != 0;
4365 }
4366 
4367 static inline __ATTRS_o_ai int
vec_any_ne(vector bool int __a,vector bool int __b)4368 vec_any_ne(vector bool int __a, vector bool int __b) {
4369   int __cc;
4370   __builtin_s390_vceqfs((vector signed int)__a,
4371                         (vector signed int)__b, &__cc);
4372   return __cc != 0;
4373 }
4374 
4375 static inline __ATTRS_o_ai int
vec_any_ne(vector signed long long __a,vector signed long long __b)4376 vec_any_ne(vector signed long long __a, vector signed long long __b) {
4377   int __cc;
4378   __builtin_s390_vceqgs(__a, __b, &__cc);
4379   return __cc != 0;
4380 }
4381 
4382 // This prototype is deprecated.
4383 static inline __ATTRS_o_ai int
vec_any_ne(vector signed long long __a,vector bool long long __b)4384 vec_any_ne(vector signed long long __a, vector bool long long __b) {
4385   int __cc;
4386   __builtin_s390_vceqgs(__a, (vector signed long long)__b, &__cc);
4387   return __cc != 0;
4388 }
4389 
4390 // This prototype is deprecated.
4391 static inline __ATTRS_o_ai int
vec_any_ne(vector bool long long __a,vector signed long long __b)4392 vec_any_ne(vector bool long long __a, vector signed long long __b) {
4393   int __cc;
4394   __builtin_s390_vceqgs((vector signed long long)__a, __b, &__cc);
4395   return __cc != 0;
4396 }
4397 
4398 static inline __ATTRS_o_ai int
vec_any_ne(vector unsigned long long __a,vector unsigned long long __b)4399 vec_any_ne(vector unsigned long long __a, vector unsigned long long __b) {
4400   int __cc;
4401   __builtin_s390_vceqgs((vector signed long long)__a,
4402                         (vector signed long long)__b, &__cc);
4403   return __cc != 0;
4404 }
4405 
4406 // This prototype is deprecated.
4407 static inline __ATTRS_o_ai int
vec_any_ne(vector unsigned long long __a,vector bool long long __b)4408 vec_any_ne(vector unsigned long long __a, vector bool long long __b) {
4409   int __cc;
4410   __builtin_s390_vceqgs((vector signed long long)__a,
4411                         (vector signed long long)__b, &__cc);
4412   return __cc != 0;
4413 }
4414 
4415 // This prototype is deprecated.
4416 static inline __ATTRS_o_ai int
vec_any_ne(vector bool long long __a,vector unsigned long long __b)4417 vec_any_ne(vector bool long long __a, vector unsigned long long __b) {
4418   int __cc;
4419   __builtin_s390_vceqgs((vector signed long long)__a,
4420                         (vector signed long long)__b, &__cc);
4421   return __cc != 0;
4422 }
4423 
4424 static inline __ATTRS_o_ai int
vec_any_ne(vector bool long long __a,vector bool long long __b)4425 vec_any_ne(vector bool long long __a, vector bool long long __b) {
4426   int __cc;
4427   __builtin_s390_vceqgs((vector signed long long)__a,
4428                         (vector signed long long)__b, &__cc);
4429   return __cc != 0;
4430 }
4431 
4432 #if __ARCH__ >= 12
4433 static inline __ATTRS_o_ai int
vec_any_ne(vector float __a,vector float __b)4434 vec_any_ne(vector float __a, vector float __b) {
4435   int __cc;
4436   __builtin_s390_vfcesbs(__a, __b, &__cc);
4437   return __cc != 0;
4438 }
4439 #endif
4440 
4441 static inline __ATTRS_o_ai int
vec_any_ne(vector double __a,vector double __b)4442 vec_any_ne(vector double __a, vector double __b) {
4443   int __cc;
4444   __builtin_s390_vfcedbs(__a, __b, &__cc);
4445   return __cc != 0;
4446 }
4447 
4448 /*-- vec_any_ge -------------------------------------------------------------*/
4449 
4450 static inline __ATTRS_o_ai int
vec_any_ge(vector signed char __a,vector signed char __b)4451 vec_any_ge(vector signed char __a, vector signed char __b) {
4452   int __cc;
4453   __builtin_s390_vchbs(__b, __a, &__cc);
4454   return __cc != 0;
4455 }
4456 
4457 // This prototype is deprecated.
4458 static inline __ATTRS_o_ai int
vec_any_ge(vector signed char __a,vector bool char __b)4459 vec_any_ge(vector signed char __a, vector bool char __b) {
4460   int __cc;
4461   __builtin_s390_vchbs((vector signed char)__b, __a, &__cc);
4462   return __cc != 0;
4463 }
4464 
4465 // This prototype is deprecated.
4466 static inline __ATTRS_o_ai int
vec_any_ge(vector bool char __a,vector signed char __b)4467 vec_any_ge(vector bool char __a, vector signed char __b) {
4468   int __cc;
4469   __builtin_s390_vchbs(__b, (vector signed char)__a, &__cc);
4470   return __cc != 0;
4471 }
4472 
4473 static inline __ATTRS_o_ai int
vec_any_ge(vector unsigned char __a,vector unsigned char __b)4474 vec_any_ge(vector unsigned char __a, vector unsigned char __b) {
4475   int __cc;
4476   __builtin_s390_vchlbs(__b, __a, &__cc);
4477   return __cc != 0;
4478 }
4479 
4480 // This prototype is deprecated.
4481 static inline __ATTRS_o_ai int
vec_any_ge(vector unsigned char __a,vector bool char __b)4482 vec_any_ge(vector unsigned char __a, vector bool char __b) {
4483   int __cc;
4484   __builtin_s390_vchlbs((vector unsigned char)__b, __a, &__cc);
4485   return __cc != 0;
4486 }
4487 
4488 // This prototype is deprecated.
4489 static inline __ATTRS_o_ai int
vec_any_ge(vector bool char __a,vector unsigned char __b)4490 vec_any_ge(vector bool char __a, vector unsigned char __b) {
4491   int __cc;
4492   __builtin_s390_vchlbs(__b, (vector unsigned char)__a, &__cc);
4493   return __cc != 0;
4494 }
4495 
4496 // This prototype is deprecated.
4497 static inline __ATTRS_o_ai int
vec_any_ge(vector bool char __a,vector bool char __b)4498 vec_any_ge(vector bool char __a, vector bool char __b) {
4499   int __cc;
4500   __builtin_s390_vchlbs((vector unsigned char)__b,
4501                         (vector unsigned char)__a, &__cc);
4502   return __cc != 0;
4503 }
4504 
4505 static inline __ATTRS_o_ai int
vec_any_ge(vector signed short __a,vector signed short __b)4506 vec_any_ge(vector signed short __a, vector signed short __b) {
4507   int __cc;
4508   __builtin_s390_vchhs(__b, __a, &__cc);
4509   return __cc != 0;
4510 }
4511 
4512 // This prototype is deprecated.
4513 static inline __ATTRS_o_ai int
vec_any_ge(vector signed short __a,vector bool short __b)4514 vec_any_ge(vector signed short __a, vector bool short __b) {
4515   int __cc;
4516   __builtin_s390_vchhs((vector signed short)__b, __a, &__cc);
4517   return __cc != 0;
4518 }
4519 
4520 // This prototype is deprecated.
4521 static inline __ATTRS_o_ai int
vec_any_ge(vector bool short __a,vector signed short __b)4522 vec_any_ge(vector bool short __a, vector signed short __b) {
4523   int __cc;
4524   __builtin_s390_vchhs(__b, (vector signed short)__a, &__cc);
4525   return __cc != 0;
4526 }
4527 
4528 static inline __ATTRS_o_ai int
vec_any_ge(vector unsigned short __a,vector unsigned short __b)4529 vec_any_ge(vector unsigned short __a, vector unsigned short __b) {
4530   int __cc;
4531   __builtin_s390_vchlhs(__b, __a, &__cc);
4532   return __cc != 0;
4533 }
4534 
4535 // This prototype is deprecated.
4536 static inline __ATTRS_o_ai int
vec_any_ge(vector unsigned short __a,vector bool short __b)4537 vec_any_ge(vector unsigned short __a, vector bool short __b) {
4538   int __cc;
4539   __builtin_s390_vchlhs((vector unsigned short)__b, __a, &__cc);
4540   return __cc != 0;
4541 }
4542 
4543 // This prototype is deprecated.
4544 static inline __ATTRS_o_ai int
vec_any_ge(vector bool short __a,vector unsigned short __b)4545 vec_any_ge(vector bool short __a, vector unsigned short __b) {
4546   int __cc;
4547   __builtin_s390_vchlhs(__b, (vector unsigned short)__a, &__cc);
4548   return __cc != 0;
4549 }
4550 
4551 // This prototype is deprecated.
4552 static inline __ATTRS_o_ai int
vec_any_ge(vector bool short __a,vector bool short __b)4553 vec_any_ge(vector bool short __a, vector bool short __b) {
4554   int __cc;
4555   __builtin_s390_vchlhs((vector unsigned short)__b,
4556                         (vector unsigned short)__a, &__cc);
4557   return __cc != 0;
4558 }
4559 
4560 static inline __ATTRS_o_ai int
vec_any_ge(vector signed int __a,vector signed int __b)4561 vec_any_ge(vector signed int __a, vector signed int __b) {
4562   int __cc;
4563   __builtin_s390_vchfs(__b, __a, &__cc);
4564   return __cc != 0;
4565 }
4566 
4567 // This prototype is deprecated.
4568 static inline __ATTRS_o_ai int
vec_any_ge(vector signed int __a,vector bool int __b)4569 vec_any_ge(vector signed int __a, vector bool int __b) {
4570   int __cc;
4571   __builtin_s390_vchfs((vector signed int)__b, __a, &__cc);
4572   return __cc != 0;
4573 }
4574 
4575 // This prototype is deprecated.
4576 static inline __ATTRS_o_ai int
vec_any_ge(vector bool int __a,vector signed int __b)4577 vec_any_ge(vector bool int __a, vector signed int __b) {
4578   int __cc;
4579   __builtin_s390_vchfs(__b, (vector signed int)__a, &__cc);
4580   return __cc != 0;
4581 }
4582 
4583 static inline __ATTRS_o_ai int
vec_any_ge(vector unsigned int __a,vector unsigned int __b)4584 vec_any_ge(vector unsigned int __a, vector unsigned int __b) {
4585   int __cc;
4586   __builtin_s390_vchlfs(__b, __a, &__cc);
4587   return __cc != 0;
4588 }
4589 
4590 // This prototype is deprecated.
4591 static inline __ATTRS_o_ai int
vec_any_ge(vector unsigned int __a,vector bool int __b)4592 vec_any_ge(vector unsigned int __a, vector bool int __b) {
4593   int __cc;
4594   __builtin_s390_vchlfs((vector unsigned int)__b, __a, &__cc);
4595   return __cc != 0;
4596 }
4597 
4598 // This prototype is deprecated.
4599 static inline __ATTRS_o_ai int
vec_any_ge(vector bool int __a,vector unsigned int __b)4600 vec_any_ge(vector bool int __a, vector unsigned int __b) {
4601   int __cc;
4602   __builtin_s390_vchlfs(__b, (vector unsigned int)__a, &__cc);
4603   return __cc != 0;
4604 }
4605 
4606 // This prototype is deprecated.
4607 static inline __ATTRS_o_ai int
vec_any_ge(vector bool int __a,vector bool int __b)4608 vec_any_ge(vector bool int __a, vector bool int __b) {
4609   int __cc;
4610   __builtin_s390_vchlfs((vector unsigned int)__b,
4611                         (vector unsigned int)__a, &__cc);
4612   return __cc != 0;
4613 }
4614 
4615 static inline __ATTRS_o_ai int
vec_any_ge(vector signed long long __a,vector signed long long __b)4616 vec_any_ge(vector signed long long __a, vector signed long long __b) {
4617   int __cc;
4618   __builtin_s390_vchgs(__b, __a, &__cc);
4619   return __cc != 0;
4620 }
4621 
4622 // This prototype is deprecated.
4623 static inline __ATTRS_o_ai int
vec_any_ge(vector signed long long __a,vector bool long long __b)4624 vec_any_ge(vector signed long long __a, vector bool long long __b) {
4625   int __cc;
4626   __builtin_s390_vchgs((vector signed long long)__b, __a, &__cc);
4627   return __cc != 0;
4628 }
4629 
4630 // This prototype is deprecated.
4631 static inline __ATTRS_o_ai int
vec_any_ge(vector bool long long __a,vector signed long long __b)4632 vec_any_ge(vector bool long long __a, vector signed long long __b) {
4633   int __cc;
4634   __builtin_s390_vchgs(__b, (vector signed long long)__a, &__cc);
4635   return __cc != 0;
4636 }
4637 
4638 static inline __ATTRS_o_ai int
vec_any_ge(vector unsigned long long __a,vector unsigned long long __b)4639 vec_any_ge(vector unsigned long long __a, vector unsigned long long __b) {
4640   int __cc;
4641   __builtin_s390_vchlgs(__b, __a, &__cc);
4642   return __cc != 0;
4643 }
4644 
4645 // This prototype is deprecated.
4646 static inline __ATTRS_o_ai int
vec_any_ge(vector unsigned long long __a,vector bool long long __b)4647 vec_any_ge(vector unsigned long long __a, vector bool long long __b) {
4648   int __cc;
4649   __builtin_s390_vchlgs((vector unsigned long long)__b, __a, &__cc);
4650   return __cc != 0;
4651 }
4652 
4653 // This prototype is deprecated.
4654 static inline __ATTRS_o_ai int
vec_any_ge(vector bool long long __a,vector unsigned long long __b)4655 vec_any_ge(vector bool long long __a, vector unsigned long long __b) {
4656   int __cc;
4657   __builtin_s390_vchlgs(__b, (vector unsigned long long)__a, &__cc);
4658   return __cc != 0;
4659 }
4660 
4661 // This prototype is deprecated.
4662 static inline __ATTRS_o_ai int
vec_any_ge(vector bool long long __a,vector bool long long __b)4663 vec_any_ge(vector bool long long __a, vector bool long long __b) {
4664   int __cc;
4665   __builtin_s390_vchlgs((vector unsigned long long)__b,
4666                         (vector unsigned long long)__a, &__cc);
4667   return __cc != 0;
4668 }
4669 
4670 #if __ARCH__ >= 12
4671 static inline __ATTRS_o_ai int
vec_any_ge(vector float __a,vector float __b)4672 vec_any_ge(vector float __a, vector float __b) {
4673   int __cc;
4674   __builtin_s390_vfchesbs(__a, __b, &__cc);
4675   return __cc <= 1;
4676 }
4677 #endif
4678 
4679 static inline __ATTRS_o_ai int
vec_any_ge(vector double __a,vector double __b)4680 vec_any_ge(vector double __a, vector double __b) {
4681   int __cc;
4682   __builtin_s390_vfchedbs(__a, __b, &__cc);
4683   return __cc <= 1;
4684 }
4685 
4686 /*-- vec_any_gt -------------------------------------------------------------*/
4687 
4688 static inline __ATTRS_o_ai int
vec_any_gt(vector signed char __a,vector signed char __b)4689 vec_any_gt(vector signed char __a, vector signed char __b) {
4690   int __cc;
4691   __builtin_s390_vchbs(__a, __b, &__cc);
4692   return __cc <= 1;
4693 }
4694 
4695 // This prototype is deprecated.
4696 static inline __ATTRS_o_ai int
vec_any_gt(vector signed char __a,vector bool char __b)4697 vec_any_gt(vector signed char __a, vector bool char __b) {
4698   int __cc;
4699   __builtin_s390_vchbs(__a, (vector signed char)__b, &__cc);
4700   return __cc <= 1;
4701 }
4702 
4703 // This prototype is deprecated.
4704 static inline __ATTRS_o_ai int
vec_any_gt(vector bool char __a,vector signed char __b)4705 vec_any_gt(vector bool char __a, vector signed char __b) {
4706   int __cc;
4707   __builtin_s390_vchbs((vector signed char)__a, __b, &__cc);
4708   return __cc <= 1;
4709 }
4710 
4711 static inline __ATTRS_o_ai int
vec_any_gt(vector unsigned char __a,vector unsigned char __b)4712 vec_any_gt(vector unsigned char __a, vector unsigned char __b) {
4713   int __cc;
4714   __builtin_s390_vchlbs(__a, __b, &__cc);
4715   return __cc <= 1;
4716 }
4717 
4718 // This prototype is deprecated.
4719 static inline __ATTRS_o_ai int
vec_any_gt(vector unsigned char __a,vector bool char __b)4720 vec_any_gt(vector unsigned char __a, vector bool char __b) {
4721   int __cc;
4722   __builtin_s390_vchlbs(__a, (vector unsigned char)__b, &__cc);
4723   return __cc <= 1;
4724 }
4725 
4726 // This prototype is deprecated.
4727 static inline __ATTRS_o_ai int
vec_any_gt(vector bool char __a,vector unsigned char __b)4728 vec_any_gt(vector bool char __a, vector unsigned char __b) {
4729   int __cc;
4730   __builtin_s390_vchlbs((vector unsigned char)__a, __b, &__cc);
4731   return __cc <= 1;
4732 }
4733 
4734 // This prototype is deprecated.
4735 static inline __ATTRS_o_ai int
vec_any_gt(vector bool char __a,vector bool char __b)4736 vec_any_gt(vector bool char __a, vector bool char __b) {
4737   int __cc;
4738   __builtin_s390_vchlbs((vector unsigned char)__a,
4739                         (vector unsigned char)__b, &__cc);
4740   return __cc <= 1;
4741 }
4742 
4743 static inline __ATTRS_o_ai int
vec_any_gt(vector signed short __a,vector signed short __b)4744 vec_any_gt(vector signed short __a, vector signed short __b) {
4745   int __cc;
4746   __builtin_s390_vchhs(__a, __b, &__cc);
4747   return __cc <= 1;
4748 }
4749 
4750 // This prototype is deprecated.
4751 static inline __ATTRS_o_ai int
vec_any_gt(vector signed short __a,vector bool short __b)4752 vec_any_gt(vector signed short __a, vector bool short __b) {
4753   int __cc;
4754   __builtin_s390_vchhs(__a, (vector signed short)__b, &__cc);
4755   return __cc <= 1;
4756 }
4757 
4758 // This prototype is deprecated.
4759 static inline __ATTRS_o_ai int
vec_any_gt(vector bool short __a,vector signed short __b)4760 vec_any_gt(vector bool short __a, vector signed short __b) {
4761   int __cc;
4762   __builtin_s390_vchhs((vector signed short)__a, __b, &__cc);
4763   return __cc <= 1;
4764 }
4765 
4766 static inline __ATTRS_o_ai int
vec_any_gt(vector unsigned short __a,vector unsigned short __b)4767 vec_any_gt(vector unsigned short __a, vector unsigned short __b) {
4768   int __cc;
4769   __builtin_s390_vchlhs(__a, __b, &__cc);
4770   return __cc <= 1;
4771 }
4772 
4773 // This prototype is deprecated.
4774 static inline __ATTRS_o_ai int
vec_any_gt(vector unsigned short __a,vector bool short __b)4775 vec_any_gt(vector unsigned short __a, vector bool short __b) {
4776   int __cc;
4777   __builtin_s390_vchlhs(__a, (vector unsigned short)__b, &__cc);
4778   return __cc <= 1;
4779 }
4780 
4781 // This prototype is deprecated.
4782 static inline __ATTRS_o_ai int
vec_any_gt(vector bool short __a,vector unsigned short __b)4783 vec_any_gt(vector bool short __a, vector unsigned short __b) {
4784   int __cc;
4785   __builtin_s390_vchlhs((vector unsigned short)__a, __b, &__cc);
4786   return __cc <= 1;
4787 }
4788 
4789 // This prototype is deprecated.
4790 static inline __ATTRS_o_ai int
vec_any_gt(vector bool short __a,vector bool short __b)4791 vec_any_gt(vector bool short __a, vector bool short __b) {
4792   int __cc;
4793   __builtin_s390_vchlhs((vector unsigned short)__a,
4794                         (vector unsigned short)__b, &__cc);
4795   return __cc <= 1;
4796 }
4797 
4798 static inline __ATTRS_o_ai int
vec_any_gt(vector signed int __a,vector signed int __b)4799 vec_any_gt(vector signed int __a, vector signed int __b) {
4800   int __cc;
4801   __builtin_s390_vchfs(__a, __b, &__cc);
4802   return __cc <= 1;
4803 }
4804 
4805 // This prototype is deprecated.
4806 static inline __ATTRS_o_ai int
vec_any_gt(vector signed int __a,vector bool int __b)4807 vec_any_gt(vector signed int __a, vector bool int __b) {
4808   int __cc;
4809   __builtin_s390_vchfs(__a, (vector signed int)__b, &__cc);
4810   return __cc <= 1;
4811 }
4812 
4813 // This prototype is deprecated.
4814 static inline __ATTRS_o_ai int
vec_any_gt(vector bool int __a,vector signed int __b)4815 vec_any_gt(vector bool int __a, vector signed int __b) {
4816   int __cc;
4817   __builtin_s390_vchfs((vector signed int)__a, __b, &__cc);
4818   return __cc <= 1;
4819 }
4820 
4821 static inline __ATTRS_o_ai int
vec_any_gt(vector unsigned int __a,vector unsigned int __b)4822 vec_any_gt(vector unsigned int __a, vector unsigned int __b) {
4823   int __cc;
4824   __builtin_s390_vchlfs(__a, __b, &__cc);
4825   return __cc <= 1;
4826 }
4827 
4828 // This prototype is deprecated.
4829 static inline __ATTRS_o_ai int
vec_any_gt(vector unsigned int __a,vector bool int __b)4830 vec_any_gt(vector unsigned int __a, vector bool int __b) {
4831   int __cc;
4832   __builtin_s390_vchlfs(__a, (vector unsigned int)__b, &__cc);
4833   return __cc <= 1;
4834 }
4835 
4836 // This prototype is deprecated.
4837 static inline __ATTRS_o_ai int
vec_any_gt(vector bool int __a,vector unsigned int __b)4838 vec_any_gt(vector bool int __a, vector unsigned int __b) {
4839   int __cc;
4840   __builtin_s390_vchlfs((vector unsigned int)__a, __b, &__cc);
4841   return __cc <= 1;
4842 }
4843 
4844 // This prototype is deprecated.
4845 static inline __ATTRS_o_ai int
vec_any_gt(vector bool int __a,vector bool int __b)4846 vec_any_gt(vector bool int __a, vector bool int __b) {
4847   int __cc;
4848   __builtin_s390_vchlfs((vector unsigned int)__a,
4849                         (vector unsigned int)__b, &__cc);
4850   return __cc <= 1;
4851 }
4852 
4853 static inline __ATTRS_o_ai int
vec_any_gt(vector signed long long __a,vector signed long long __b)4854 vec_any_gt(vector signed long long __a, vector signed long long __b) {
4855   int __cc;
4856   __builtin_s390_vchgs(__a, __b, &__cc);
4857   return __cc <= 1;
4858 }
4859 
4860 // This prototype is deprecated.
4861 static inline __ATTRS_o_ai int
vec_any_gt(vector signed long long __a,vector bool long long __b)4862 vec_any_gt(vector signed long long __a, vector bool long long __b) {
4863   int __cc;
4864   __builtin_s390_vchgs(__a, (vector signed long long)__b, &__cc);
4865   return __cc <= 1;
4866 }
4867 
4868 // This prototype is deprecated.
4869 static inline __ATTRS_o_ai int
vec_any_gt(vector bool long long __a,vector signed long long __b)4870 vec_any_gt(vector bool long long __a, vector signed long long __b) {
4871   int __cc;
4872   __builtin_s390_vchgs((vector signed long long)__a, __b, &__cc);
4873   return __cc <= 1;
4874 }
4875 
4876 static inline __ATTRS_o_ai int
vec_any_gt(vector unsigned long long __a,vector unsigned long long __b)4877 vec_any_gt(vector unsigned long long __a, vector unsigned long long __b) {
4878   int __cc;
4879   __builtin_s390_vchlgs(__a, __b, &__cc);
4880   return __cc <= 1;
4881 }
4882 
4883 // This prototype is deprecated.
4884 static inline __ATTRS_o_ai int
vec_any_gt(vector unsigned long long __a,vector bool long long __b)4885 vec_any_gt(vector unsigned long long __a, vector bool long long __b) {
4886   int __cc;
4887   __builtin_s390_vchlgs(__a, (vector unsigned long long)__b, &__cc);
4888   return __cc <= 1;
4889 }
4890 
4891 // This prototype is deprecated.
4892 static inline __ATTRS_o_ai int
vec_any_gt(vector bool long long __a,vector unsigned long long __b)4893 vec_any_gt(vector bool long long __a, vector unsigned long long __b) {
4894   int __cc;
4895   __builtin_s390_vchlgs((vector unsigned long long)__a, __b, &__cc);
4896   return __cc <= 1;
4897 }
4898 
4899 // This prototype is deprecated.
4900 static inline __ATTRS_o_ai int
vec_any_gt(vector bool long long __a,vector bool long long __b)4901 vec_any_gt(vector bool long long __a, vector bool long long __b) {
4902   int __cc;
4903   __builtin_s390_vchlgs((vector unsigned long long)__a,
4904                         (vector unsigned long long)__b, &__cc);
4905   return __cc <= 1;
4906 }
4907 
4908 #if __ARCH__ >= 12
4909 static inline __ATTRS_o_ai int
vec_any_gt(vector float __a,vector float __b)4910 vec_any_gt(vector float __a, vector float __b) {
4911   int __cc;
4912   __builtin_s390_vfchsbs(__a, __b, &__cc);
4913   return __cc <= 1;
4914 }
4915 #endif
4916 
4917 static inline __ATTRS_o_ai int
vec_any_gt(vector double __a,vector double __b)4918 vec_any_gt(vector double __a, vector double __b) {
4919   int __cc;
4920   __builtin_s390_vfchdbs(__a, __b, &__cc);
4921   return __cc <= 1;
4922 }
4923 
4924 /*-- vec_any_le -------------------------------------------------------------*/
4925 
4926 static inline __ATTRS_o_ai int
vec_any_le(vector signed char __a,vector signed char __b)4927 vec_any_le(vector signed char __a, vector signed char __b) {
4928   int __cc;
4929   __builtin_s390_vchbs(__a, __b, &__cc);
4930   return __cc != 0;
4931 }
4932 
4933 // This prototype is deprecated.
4934 static inline __ATTRS_o_ai int
vec_any_le(vector signed char __a,vector bool char __b)4935 vec_any_le(vector signed char __a, vector bool char __b) {
4936   int __cc;
4937   __builtin_s390_vchbs(__a, (vector signed char)__b, &__cc);
4938   return __cc != 0;
4939 }
4940 
4941 // This prototype is deprecated.
4942 static inline __ATTRS_o_ai int
vec_any_le(vector bool char __a,vector signed char __b)4943 vec_any_le(vector bool char __a, vector signed char __b) {
4944   int __cc;
4945   __builtin_s390_vchbs((vector signed char)__a, __b, &__cc);
4946   return __cc != 0;
4947 }
4948 
4949 static inline __ATTRS_o_ai int
vec_any_le(vector unsigned char __a,vector unsigned char __b)4950 vec_any_le(vector unsigned char __a, vector unsigned char __b) {
4951   int __cc;
4952   __builtin_s390_vchlbs(__a, __b, &__cc);
4953   return __cc != 0;
4954 }
4955 
4956 // This prototype is deprecated.
4957 static inline __ATTRS_o_ai int
vec_any_le(vector unsigned char __a,vector bool char __b)4958 vec_any_le(vector unsigned char __a, vector bool char __b) {
4959   int __cc;
4960   __builtin_s390_vchlbs(__a, (vector unsigned char)__b, &__cc);
4961   return __cc != 0;
4962 }
4963 
4964 // This prototype is deprecated.
4965 static inline __ATTRS_o_ai int
vec_any_le(vector bool char __a,vector unsigned char __b)4966 vec_any_le(vector bool char __a, vector unsigned char __b) {
4967   int __cc;
4968   __builtin_s390_vchlbs((vector unsigned char)__a, __b, &__cc);
4969   return __cc != 0;
4970 }
4971 
4972 // This prototype is deprecated.
4973 static inline __ATTRS_o_ai int
vec_any_le(vector bool char __a,vector bool char __b)4974 vec_any_le(vector bool char __a, vector bool char __b) {
4975   int __cc;
4976   __builtin_s390_vchlbs((vector unsigned char)__a,
4977                         (vector unsigned char)__b, &__cc);
4978   return __cc != 0;
4979 }
4980 
4981 static inline __ATTRS_o_ai int
vec_any_le(vector signed short __a,vector signed short __b)4982 vec_any_le(vector signed short __a, vector signed short __b) {
4983   int __cc;
4984   __builtin_s390_vchhs(__a, __b, &__cc);
4985   return __cc != 0;
4986 }
4987 
4988 // This prototype is deprecated.
4989 static inline __ATTRS_o_ai int
vec_any_le(vector signed short __a,vector bool short __b)4990 vec_any_le(vector signed short __a, vector bool short __b) {
4991   int __cc;
4992   __builtin_s390_vchhs(__a, (vector signed short)__b, &__cc);
4993   return __cc != 0;
4994 }
4995 
4996 // This prototype is deprecated.
4997 static inline __ATTRS_o_ai int
vec_any_le(vector bool short __a,vector signed short __b)4998 vec_any_le(vector bool short __a, vector signed short __b) {
4999   int __cc;
5000   __builtin_s390_vchhs((vector signed short)__a, __b, &__cc);
5001   return __cc != 0;
5002 }
5003 
5004 static inline __ATTRS_o_ai int
vec_any_le(vector unsigned short __a,vector unsigned short __b)5005 vec_any_le(vector unsigned short __a, vector unsigned short __b) {
5006   int __cc;
5007   __builtin_s390_vchlhs(__a, __b, &__cc);
5008   return __cc != 0;
5009 }
5010 
5011 // This prototype is deprecated.
5012 static inline __ATTRS_o_ai int
vec_any_le(vector unsigned short __a,vector bool short __b)5013 vec_any_le(vector unsigned short __a, vector bool short __b) {
5014   int __cc;
5015   __builtin_s390_vchlhs(__a, (vector unsigned short)__b, &__cc);
5016   return __cc != 0;
5017 }
5018 
5019 // This prototype is deprecated.
5020 static inline __ATTRS_o_ai int
vec_any_le(vector bool short __a,vector unsigned short __b)5021 vec_any_le(vector bool short __a, vector unsigned short __b) {
5022   int __cc;
5023   __builtin_s390_vchlhs((vector unsigned short)__a, __b, &__cc);
5024   return __cc != 0;
5025 }
5026 
5027 // This prototype is deprecated.
5028 static inline __ATTRS_o_ai int
vec_any_le(vector bool short __a,vector bool short __b)5029 vec_any_le(vector bool short __a, vector bool short __b) {
5030   int __cc;
5031   __builtin_s390_vchlhs((vector unsigned short)__a,
5032                         (vector unsigned short)__b, &__cc);
5033   return __cc != 0;
5034 }
5035 
5036 static inline __ATTRS_o_ai int
vec_any_le(vector signed int __a,vector signed int __b)5037 vec_any_le(vector signed int __a, vector signed int __b) {
5038   int __cc;
5039   __builtin_s390_vchfs(__a, __b, &__cc);
5040   return __cc != 0;
5041 }
5042 
5043 // This prototype is deprecated.
5044 static inline __ATTRS_o_ai int
vec_any_le(vector signed int __a,vector bool int __b)5045 vec_any_le(vector signed int __a, vector bool int __b) {
5046   int __cc;
5047   __builtin_s390_vchfs(__a, (vector signed int)__b, &__cc);
5048   return __cc != 0;
5049 }
5050 
5051 // This prototype is deprecated.
5052 static inline __ATTRS_o_ai int
vec_any_le(vector bool int __a,vector signed int __b)5053 vec_any_le(vector bool int __a, vector signed int __b) {
5054   int __cc;
5055   __builtin_s390_vchfs((vector signed int)__a, __b, &__cc);
5056   return __cc != 0;
5057 }
5058 
5059 static inline __ATTRS_o_ai int
vec_any_le(vector unsigned int __a,vector unsigned int __b)5060 vec_any_le(vector unsigned int __a, vector unsigned int __b) {
5061   int __cc;
5062   __builtin_s390_vchlfs(__a, __b, &__cc);
5063   return __cc != 0;
5064 }
5065 
5066 // This prototype is deprecated.
5067 static inline __ATTRS_o_ai int
vec_any_le(vector unsigned int __a,vector bool int __b)5068 vec_any_le(vector unsigned int __a, vector bool int __b) {
5069   int __cc;
5070   __builtin_s390_vchlfs(__a, (vector unsigned int)__b, &__cc);
5071   return __cc != 0;
5072 }
5073 
5074 // This prototype is deprecated.
5075 static inline __ATTRS_o_ai int
vec_any_le(vector bool int __a,vector unsigned int __b)5076 vec_any_le(vector bool int __a, vector unsigned int __b) {
5077   int __cc;
5078   __builtin_s390_vchlfs((vector unsigned int)__a, __b, &__cc);
5079   return __cc != 0;
5080 }
5081 
5082 // This prototype is deprecated.
5083 static inline __ATTRS_o_ai int
vec_any_le(vector bool int __a,vector bool int __b)5084 vec_any_le(vector bool int __a, vector bool int __b) {
5085   int __cc;
5086   __builtin_s390_vchlfs((vector unsigned int)__a,
5087                         (vector unsigned int)__b, &__cc);
5088   return __cc != 0;
5089 }
5090 
5091 static inline __ATTRS_o_ai int
vec_any_le(vector signed long long __a,vector signed long long __b)5092 vec_any_le(vector signed long long __a, vector signed long long __b) {
5093   int __cc;
5094   __builtin_s390_vchgs(__a, __b, &__cc);
5095   return __cc != 0;
5096 }
5097 
5098 // This prototype is deprecated.
5099 static inline __ATTRS_o_ai int
vec_any_le(vector signed long long __a,vector bool long long __b)5100 vec_any_le(vector signed long long __a, vector bool long long __b) {
5101   int __cc;
5102   __builtin_s390_vchgs(__a, (vector signed long long)__b, &__cc);
5103   return __cc != 0;
5104 }
5105 
5106 // This prototype is deprecated.
5107 static inline __ATTRS_o_ai int
vec_any_le(vector bool long long __a,vector signed long long __b)5108 vec_any_le(vector bool long long __a, vector signed long long __b) {
5109   int __cc;
5110   __builtin_s390_vchgs((vector signed long long)__a, __b, &__cc);
5111   return __cc != 0;
5112 }
5113 
5114 static inline __ATTRS_o_ai int
vec_any_le(vector unsigned long long __a,vector unsigned long long __b)5115 vec_any_le(vector unsigned long long __a, vector unsigned long long __b) {
5116   int __cc;
5117   __builtin_s390_vchlgs(__a, __b, &__cc);
5118   return __cc != 0;
5119 }
5120 
5121 // This prototype is deprecated.
5122 static inline __ATTRS_o_ai int
vec_any_le(vector unsigned long long __a,vector bool long long __b)5123 vec_any_le(vector unsigned long long __a, vector bool long long __b) {
5124   int __cc;
5125   __builtin_s390_vchlgs(__a, (vector unsigned long long)__b, &__cc);
5126   return __cc != 0;
5127 }
5128 
5129 // This prototype is deprecated.
5130 static inline __ATTRS_o_ai int
vec_any_le(vector bool long long __a,vector unsigned long long __b)5131 vec_any_le(vector bool long long __a, vector unsigned long long __b) {
5132   int __cc;
5133   __builtin_s390_vchlgs((vector unsigned long long)__a, __b, &__cc);
5134   return __cc != 0;
5135 }
5136 
5137 // This prototype is deprecated.
5138 static inline __ATTRS_o_ai int
vec_any_le(vector bool long long __a,vector bool long long __b)5139 vec_any_le(vector bool long long __a, vector bool long long __b) {
5140   int __cc;
5141   __builtin_s390_vchlgs((vector unsigned long long)__a,
5142                         (vector unsigned long long)__b, &__cc);
5143   return __cc != 0;
5144 }
5145 
5146 #if __ARCH__ >= 12
5147 static inline __ATTRS_o_ai int
vec_any_le(vector float __a,vector float __b)5148 vec_any_le(vector float __a, vector float __b) {
5149   int __cc;
5150   __builtin_s390_vfchesbs(__b, __a, &__cc);
5151   return __cc <= 1;
5152 }
5153 #endif
5154 
5155 static inline __ATTRS_o_ai int
vec_any_le(vector double __a,vector double __b)5156 vec_any_le(vector double __a, vector double __b) {
5157   int __cc;
5158   __builtin_s390_vfchedbs(__b, __a, &__cc);
5159   return __cc <= 1;
5160 }
5161 
5162 /*-- vec_any_lt -------------------------------------------------------------*/
5163 
5164 static inline __ATTRS_o_ai int
vec_any_lt(vector signed char __a,vector signed char __b)5165 vec_any_lt(vector signed char __a, vector signed char __b) {
5166   int __cc;
5167   __builtin_s390_vchbs(__b, __a, &__cc);
5168   return __cc <= 1;
5169 }
5170 
5171 // This prototype is deprecated.
5172 static inline __ATTRS_o_ai int
vec_any_lt(vector signed char __a,vector bool char __b)5173 vec_any_lt(vector signed char __a, vector bool char __b) {
5174   int __cc;
5175   __builtin_s390_vchbs((vector signed char)__b, __a, &__cc);
5176   return __cc <= 1;
5177 }
5178 
5179 // This prototype is deprecated.
5180 static inline __ATTRS_o_ai int
vec_any_lt(vector bool char __a,vector signed char __b)5181 vec_any_lt(vector bool char __a, vector signed char __b) {
5182   int __cc;
5183   __builtin_s390_vchbs(__b, (vector signed char)__a, &__cc);
5184   return __cc <= 1;
5185 }
5186 
5187 static inline __ATTRS_o_ai int
vec_any_lt(vector unsigned char __a,vector unsigned char __b)5188 vec_any_lt(vector unsigned char __a, vector unsigned char __b) {
5189   int __cc;
5190   __builtin_s390_vchlbs(__b, __a, &__cc);
5191   return __cc <= 1;
5192 }
5193 
5194 // This prototype is deprecated.
5195 static inline __ATTRS_o_ai int
vec_any_lt(vector unsigned char __a,vector bool char __b)5196 vec_any_lt(vector unsigned char __a, vector bool char __b) {
5197   int __cc;
5198   __builtin_s390_vchlbs((vector unsigned char)__b, __a, &__cc);
5199   return __cc <= 1;
5200 }
5201 
5202 // This prototype is deprecated.
5203 static inline __ATTRS_o_ai int
vec_any_lt(vector bool char __a,vector unsigned char __b)5204 vec_any_lt(vector bool char __a, vector unsigned char __b) {
5205   int __cc;
5206   __builtin_s390_vchlbs(__b, (vector unsigned char)__a, &__cc);
5207   return __cc <= 1;
5208 }
5209 
5210 // This prototype is deprecated.
5211 static inline __ATTRS_o_ai int
vec_any_lt(vector bool char __a,vector bool char __b)5212 vec_any_lt(vector bool char __a, vector bool char __b) {
5213   int __cc;
5214   __builtin_s390_vchlbs((vector unsigned char)__b,
5215                         (vector unsigned char)__a, &__cc);
5216   return __cc <= 1;
5217 }
5218 
5219 static inline __ATTRS_o_ai int
vec_any_lt(vector signed short __a,vector signed short __b)5220 vec_any_lt(vector signed short __a, vector signed short __b) {
5221   int __cc;
5222   __builtin_s390_vchhs(__b, __a, &__cc);
5223   return __cc <= 1;
5224 }
5225 
5226 // This prototype is deprecated.
5227 static inline __ATTRS_o_ai int
vec_any_lt(vector signed short __a,vector bool short __b)5228 vec_any_lt(vector signed short __a, vector bool short __b) {
5229   int __cc;
5230   __builtin_s390_vchhs((vector signed short)__b, __a, &__cc);
5231   return __cc <= 1;
5232 }
5233 
5234 // This prototype is deprecated.
5235 static inline __ATTRS_o_ai int
vec_any_lt(vector bool short __a,vector signed short __b)5236 vec_any_lt(vector bool short __a, vector signed short __b) {
5237   int __cc;
5238   __builtin_s390_vchhs(__b, (vector signed short)__a, &__cc);
5239   return __cc <= 1;
5240 }
5241 
5242 static inline __ATTRS_o_ai int
vec_any_lt(vector unsigned short __a,vector unsigned short __b)5243 vec_any_lt(vector unsigned short __a, vector unsigned short __b) {
5244   int __cc;
5245   __builtin_s390_vchlhs(__b, __a, &__cc);
5246   return __cc <= 1;
5247 }
5248 
5249 // This prototype is deprecated.
5250 static inline __ATTRS_o_ai int
vec_any_lt(vector unsigned short __a,vector bool short __b)5251 vec_any_lt(vector unsigned short __a, vector bool short __b) {
5252   int __cc;
5253   __builtin_s390_vchlhs((vector unsigned short)__b, __a, &__cc);
5254   return __cc <= 1;
5255 }
5256 
5257 // This prototype is deprecated.
5258 static inline __ATTRS_o_ai int
vec_any_lt(vector bool short __a,vector unsigned short __b)5259 vec_any_lt(vector bool short __a, vector unsigned short __b) {
5260   int __cc;
5261   __builtin_s390_vchlhs(__b, (vector unsigned short)__a, &__cc);
5262   return __cc <= 1;
5263 }
5264 
5265 // This prototype is deprecated.
5266 static inline __ATTRS_o_ai int
vec_any_lt(vector bool short __a,vector bool short __b)5267 vec_any_lt(vector bool short __a, vector bool short __b) {
5268   int __cc;
5269   __builtin_s390_vchlhs((vector unsigned short)__b,
5270                         (vector unsigned short)__a, &__cc);
5271   return __cc <= 1;
5272 }
5273 
5274 static inline __ATTRS_o_ai int
vec_any_lt(vector signed int __a,vector signed int __b)5275 vec_any_lt(vector signed int __a, vector signed int __b) {
5276   int __cc;
5277   __builtin_s390_vchfs(__b, __a, &__cc);
5278   return __cc <= 1;
5279 }
5280 
5281 // This prototype is deprecated.
5282 static inline __ATTRS_o_ai int
vec_any_lt(vector signed int __a,vector bool int __b)5283 vec_any_lt(vector signed int __a, vector bool int __b) {
5284   int __cc;
5285   __builtin_s390_vchfs((vector signed int)__b, __a, &__cc);
5286   return __cc <= 1;
5287 }
5288 
5289 // This prototype is deprecated.
5290 static inline __ATTRS_o_ai int
vec_any_lt(vector bool int __a,vector signed int __b)5291 vec_any_lt(vector bool int __a, vector signed int __b) {
5292   int __cc;
5293   __builtin_s390_vchfs(__b, (vector signed int)__a, &__cc);
5294   return __cc <= 1;
5295 }
5296 
5297 static inline __ATTRS_o_ai int
vec_any_lt(vector unsigned int __a,vector unsigned int __b)5298 vec_any_lt(vector unsigned int __a, vector unsigned int __b) {
5299   int __cc;
5300   __builtin_s390_vchlfs(__b, __a, &__cc);
5301   return __cc <= 1;
5302 }
5303 
5304 // This prototype is deprecated.
5305 static inline __ATTRS_o_ai int
vec_any_lt(vector unsigned int __a,vector bool int __b)5306 vec_any_lt(vector unsigned int __a, vector bool int __b) {
5307   int __cc;
5308   __builtin_s390_vchlfs((vector unsigned int)__b, __a, &__cc);
5309   return __cc <= 1;
5310 }
5311 
5312 // This prototype is deprecated.
5313 static inline __ATTRS_o_ai int
vec_any_lt(vector bool int __a,vector unsigned int __b)5314 vec_any_lt(vector bool int __a, vector unsigned int __b) {
5315   int __cc;
5316   __builtin_s390_vchlfs(__b, (vector unsigned int)__a, &__cc);
5317   return __cc <= 1;
5318 }
5319 
5320 // This prototype is deprecated.
5321 static inline __ATTRS_o_ai int
vec_any_lt(vector bool int __a,vector bool int __b)5322 vec_any_lt(vector bool int __a, vector bool int __b) {
5323   int __cc;
5324   __builtin_s390_vchlfs((vector unsigned int)__b,
5325                         (vector unsigned int)__a, &__cc);
5326   return __cc <= 1;
5327 }
5328 
5329 static inline __ATTRS_o_ai int
vec_any_lt(vector signed long long __a,vector signed long long __b)5330 vec_any_lt(vector signed long long __a, vector signed long long __b) {
5331   int __cc;
5332   __builtin_s390_vchgs(__b, __a, &__cc);
5333   return __cc <= 1;
5334 }
5335 
5336 // This prototype is deprecated.
5337 static inline __ATTRS_o_ai int
vec_any_lt(vector signed long long __a,vector bool long long __b)5338 vec_any_lt(vector signed long long __a, vector bool long long __b) {
5339   int __cc;
5340   __builtin_s390_vchgs((vector signed long long)__b, __a, &__cc);
5341   return __cc <= 1;
5342 }
5343 
5344 // This prototype is deprecated.
5345 static inline __ATTRS_o_ai int
vec_any_lt(vector bool long long __a,vector signed long long __b)5346 vec_any_lt(vector bool long long __a, vector signed long long __b) {
5347   int __cc;
5348   __builtin_s390_vchgs(__b, (vector signed long long)__a, &__cc);
5349   return __cc <= 1;
5350 }
5351 
5352 static inline __ATTRS_o_ai int
vec_any_lt(vector unsigned long long __a,vector unsigned long long __b)5353 vec_any_lt(vector unsigned long long __a, vector unsigned long long __b) {
5354   int __cc;
5355   __builtin_s390_vchlgs(__b, __a, &__cc);
5356   return __cc <= 1;
5357 }
5358 
5359 // This prototype is deprecated.
5360 static inline __ATTRS_o_ai int
vec_any_lt(vector unsigned long long __a,vector bool long long __b)5361 vec_any_lt(vector unsigned long long __a, vector bool long long __b) {
5362   int __cc;
5363   __builtin_s390_vchlgs((vector unsigned long long)__b, __a, &__cc);
5364   return __cc <= 1;
5365 }
5366 
5367 // This prototype is deprecated.
5368 static inline __ATTRS_o_ai int
vec_any_lt(vector bool long long __a,vector unsigned long long __b)5369 vec_any_lt(vector bool long long __a, vector unsigned long long __b) {
5370   int __cc;
5371   __builtin_s390_vchlgs(__b, (vector unsigned long long)__a, &__cc);
5372   return __cc <= 1;
5373 }
5374 
5375 // This prototype is deprecated.
5376 static inline __ATTRS_o_ai int
vec_any_lt(vector bool long long __a,vector bool long long __b)5377 vec_any_lt(vector bool long long __a, vector bool long long __b) {
5378   int __cc;
5379   __builtin_s390_vchlgs((vector unsigned long long)__b,
5380                         (vector unsigned long long)__a, &__cc);
5381   return __cc <= 1;
5382 }
5383 
5384 #if __ARCH__ >= 12
5385 static inline __ATTRS_o_ai int
vec_any_lt(vector float __a,vector float __b)5386 vec_any_lt(vector float __a, vector float __b) {
5387   int __cc;
5388   __builtin_s390_vfchsbs(__b, __a, &__cc);
5389   return __cc <= 1;
5390 }
5391 #endif
5392 
5393 static inline __ATTRS_o_ai int
vec_any_lt(vector double __a,vector double __b)5394 vec_any_lt(vector double __a, vector double __b) {
5395   int __cc;
5396   __builtin_s390_vfchdbs(__b, __a, &__cc);
5397   return __cc <= 1;
5398 }
5399 
5400 /*-- vec_any_nge ------------------------------------------------------------*/
5401 
5402 #if __ARCH__ >= 12
5403 static inline __ATTRS_o_ai int
vec_any_nge(vector float __a,vector float __b)5404 vec_any_nge(vector float __a, vector float __b) {
5405   int __cc;
5406   __builtin_s390_vfchesbs(__a, __b, &__cc);
5407   return __cc != 0;
5408 }
5409 #endif
5410 
5411 static inline __ATTRS_o_ai int
vec_any_nge(vector double __a,vector double __b)5412 vec_any_nge(vector double __a, vector double __b) {
5413   int __cc;
5414   __builtin_s390_vfchedbs(__a, __b, &__cc);
5415   return __cc != 0;
5416 }
5417 
5418 /*-- vec_any_ngt ------------------------------------------------------------*/
5419 
5420 #if __ARCH__ >= 12
5421 static inline __ATTRS_o_ai int
vec_any_ngt(vector float __a,vector float __b)5422 vec_any_ngt(vector float __a, vector float __b) {
5423   int __cc;
5424   __builtin_s390_vfchsbs(__a, __b, &__cc);
5425   return __cc != 0;
5426 }
5427 #endif
5428 
5429 static inline __ATTRS_o_ai int
vec_any_ngt(vector double __a,vector double __b)5430 vec_any_ngt(vector double __a, vector double __b) {
5431   int __cc;
5432   __builtin_s390_vfchdbs(__a, __b, &__cc);
5433   return __cc != 0;
5434 }
5435 
5436 /*-- vec_any_nle ------------------------------------------------------------*/
5437 
5438 #if __ARCH__ >= 12
5439 static inline __ATTRS_o_ai int
vec_any_nle(vector float __a,vector float __b)5440 vec_any_nle(vector float __a, vector float __b) {
5441   int __cc;
5442   __builtin_s390_vfchesbs(__b, __a, &__cc);
5443   return __cc != 0;
5444 }
5445 #endif
5446 
5447 static inline __ATTRS_o_ai int
vec_any_nle(vector double __a,vector double __b)5448 vec_any_nle(vector double __a, vector double __b) {
5449   int __cc;
5450   __builtin_s390_vfchedbs(__b, __a, &__cc);
5451   return __cc != 0;
5452 }
5453 
5454 /*-- vec_any_nlt ------------------------------------------------------------*/
5455 
5456 #if __ARCH__ >= 12
5457 static inline __ATTRS_o_ai int
vec_any_nlt(vector float __a,vector float __b)5458 vec_any_nlt(vector float __a, vector float __b) {
5459   int __cc;
5460   __builtin_s390_vfchsbs(__b, __a, &__cc);
5461   return __cc != 0;
5462 }
5463 #endif
5464 
5465 static inline __ATTRS_o_ai int
vec_any_nlt(vector double __a,vector double __b)5466 vec_any_nlt(vector double __a, vector double __b) {
5467   int __cc;
5468   __builtin_s390_vfchdbs(__b, __a, &__cc);
5469   return __cc != 0;
5470 }
5471 
5472 /*-- vec_any_nan ------------------------------------------------------------*/
5473 
5474 #if __ARCH__ >= 12
5475 static inline __ATTRS_o_ai int
vec_any_nan(vector float __a)5476 vec_any_nan(vector float __a) {
5477   int __cc;
5478   __builtin_s390_vftcisb(__a, 15, &__cc);
5479   return __cc != 3;
5480 }
5481 #endif
5482 
5483 static inline __ATTRS_o_ai int
vec_any_nan(vector double __a)5484 vec_any_nan(vector double __a) {
5485   int __cc;
5486   __builtin_s390_vftcidb(__a, 15, &__cc);
5487   return __cc != 3;
5488 }
5489 
5490 /*-- vec_any_numeric --------------------------------------------------------*/
5491 
5492 #if __ARCH__ >= 12
5493 static inline __ATTRS_o_ai int
vec_any_numeric(vector float __a)5494 vec_any_numeric(vector float __a) {
5495   int __cc;
5496   __builtin_s390_vftcisb(__a, 15, &__cc);
5497   return __cc != 0;
5498 }
5499 #endif
5500 
5501 static inline __ATTRS_o_ai int
vec_any_numeric(vector double __a)5502 vec_any_numeric(vector double __a) {
5503   int __cc;
5504   __builtin_s390_vftcidb(__a, 15, &__cc);
5505   return __cc != 0;
5506 }
5507 
5508 /*-- vec_andc ---------------------------------------------------------------*/
5509 
5510 static inline __ATTRS_o_ai vector bool char
vec_andc(vector bool char __a,vector bool char __b)5511 vec_andc(vector bool char __a, vector bool char __b) {
5512   return __a & ~__b;
5513 }
5514 
5515 static inline __ATTRS_o_ai vector signed char
vec_andc(vector signed char __a,vector signed char __b)5516 vec_andc(vector signed char __a, vector signed char __b) {
5517   return __a & ~__b;
5518 }
5519 
5520 // This prototype is deprecated.
5521 static inline __ATTRS_o_ai vector signed char
vec_andc(vector bool char __a,vector signed char __b)5522 vec_andc(vector bool char __a, vector signed char __b) {
5523   return __a & ~__b;
5524 }
5525 
5526 // This prototype is deprecated.
5527 static inline __ATTRS_o_ai vector signed char
vec_andc(vector signed char __a,vector bool char __b)5528 vec_andc(vector signed char __a, vector bool char __b) {
5529   return __a & ~__b;
5530 }
5531 
5532 static inline __ATTRS_o_ai vector unsigned char
vec_andc(vector unsigned char __a,vector unsigned char __b)5533 vec_andc(vector unsigned char __a, vector unsigned char __b) {
5534   return __a & ~__b;
5535 }
5536 
5537 // This prototype is deprecated.
5538 static inline __ATTRS_o_ai vector unsigned char
vec_andc(vector bool char __a,vector unsigned char __b)5539 vec_andc(vector bool char __a, vector unsigned char __b) {
5540   return __a & ~__b;
5541 }
5542 
5543 // This prototype is deprecated.
5544 static inline __ATTRS_o_ai vector unsigned char
vec_andc(vector unsigned char __a,vector bool char __b)5545 vec_andc(vector unsigned char __a, vector bool char __b) {
5546   return __a & ~__b;
5547 }
5548 
5549 static inline __ATTRS_o_ai vector bool short
vec_andc(vector bool short __a,vector bool short __b)5550 vec_andc(vector bool short __a, vector bool short __b) {
5551   return __a & ~__b;
5552 }
5553 
5554 static inline __ATTRS_o_ai vector signed short
vec_andc(vector signed short __a,vector signed short __b)5555 vec_andc(vector signed short __a, vector signed short __b) {
5556   return __a & ~__b;
5557 }
5558 
5559 // This prototype is deprecated.
5560 static inline __ATTRS_o_ai vector signed short
vec_andc(vector bool short __a,vector signed short __b)5561 vec_andc(vector bool short __a, vector signed short __b) {
5562   return __a & ~__b;
5563 }
5564 
5565 // This prototype is deprecated.
5566 static inline __ATTRS_o_ai vector signed short
vec_andc(vector signed short __a,vector bool short __b)5567 vec_andc(vector signed short __a, vector bool short __b) {
5568   return __a & ~__b;
5569 }
5570 
5571 static inline __ATTRS_o_ai vector unsigned short
vec_andc(vector unsigned short __a,vector unsigned short __b)5572 vec_andc(vector unsigned short __a, vector unsigned short __b) {
5573   return __a & ~__b;
5574 }
5575 
5576 // This prototype is deprecated.
5577 static inline __ATTRS_o_ai vector unsigned short
vec_andc(vector bool short __a,vector unsigned short __b)5578 vec_andc(vector bool short __a, vector unsigned short __b) {
5579   return __a & ~__b;
5580 }
5581 
5582 // This prototype is deprecated.
5583 static inline __ATTRS_o_ai vector unsigned short
vec_andc(vector unsigned short __a,vector bool short __b)5584 vec_andc(vector unsigned short __a, vector bool short __b) {
5585   return __a & ~__b;
5586 }
5587 
5588 static inline __ATTRS_o_ai vector bool int
vec_andc(vector bool int __a,vector bool int __b)5589 vec_andc(vector bool int __a, vector bool int __b) {
5590   return __a & ~__b;
5591 }
5592 
5593 static inline __ATTRS_o_ai vector signed int
vec_andc(vector signed int __a,vector signed int __b)5594 vec_andc(vector signed int __a, vector signed int __b) {
5595   return __a & ~__b;
5596 }
5597 
5598 // This prototype is deprecated.
5599 static inline __ATTRS_o_ai vector signed int
vec_andc(vector bool int __a,vector signed int __b)5600 vec_andc(vector bool int __a, vector signed int __b) {
5601   return __a & ~__b;
5602 }
5603 
5604 // This prototype is deprecated.
5605 static inline __ATTRS_o_ai vector signed int
vec_andc(vector signed int __a,vector bool int __b)5606 vec_andc(vector signed int __a, vector bool int __b) {
5607   return __a & ~__b;
5608 }
5609 
5610 static inline __ATTRS_o_ai vector unsigned int
vec_andc(vector unsigned int __a,vector unsigned int __b)5611 vec_andc(vector unsigned int __a, vector unsigned int __b) {
5612   return __a & ~__b;
5613 }
5614 
5615 // This prototype is deprecated.
5616 static inline __ATTRS_o_ai vector unsigned int
vec_andc(vector bool int __a,vector unsigned int __b)5617 vec_andc(vector bool int __a, vector unsigned int __b) {
5618   return __a & ~__b;
5619 }
5620 
5621 // This prototype is deprecated.
5622 static inline __ATTRS_o_ai vector unsigned int
vec_andc(vector unsigned int __a,vector bool int __b)5623 vec_andc(vector unsigned int __a, vector bool int __b) {
5624   return __a & ~__b;
5625 }
5626 
5627 static inline __ATTRS_o_ai vector bool long long
vec_andc(vector bool long long __a,vector bool long long __b)5628 vec_andc(vector bool long long __a, vector bool long long __b) {
5629   return __a & ~__b;
5630 }
5631 
5632 static inline __ATTRS_o_ai vector signed long long
vec_andc(vector signed long long __a,vector signed long long __b)5633 vec_andc(vector signed long long __a, vector signed long long __b) {
5634   return __a & ~__b;
5635 }
5636 
5637 // This prototype is deprecated.
5638 static inline __ATTRS_o_ai vector signed long long
vec_andc(vector bool long long __a,vector signed long long __b)5639 vec_andc(vector bool long long __a, vector signed long long __b) {
5640   return __a & ~__b;
5641 }
5642 
5643 // This prototype is deprecated.
5644 static inline __ATTRS_o_ai vector signed long long
vec_andc(vector signed long long __a,vector bool long long __b)5645 vec_andc(vector signed long long __a, vector bool long long __b) {
5646   return __a & ~__b;
5647 }
5648 
5649 static inline __ATTRS_o_ai vector unsigned long long
vec_andc(vector unsigned long long __a,vector unsigned long long __b)5650 vec_andc(vector unsigned long long __a, vector unsigned long long __b) {
5651   return __a & ~__b;
5652 }
5653 
5654 // This prototype is deprecated.
5655 static inline __ATTRS_o_ai vector unsigned long long
vec_andc(vector bool long long __a,vector unsigned long long __b)5656 vec_andc(vector bool long long __a, vector unsigned long long __b) {
5657   return __a & ~__b;
5658 }
5659 
5660 // This prototype is deprecated.
5661 static inline __ATTRS_o_ai vector unsigned long long
vec_andc(vector unsigned long long __a,vector bool long long __b)5662 vec_andc(vector unsigned long long __a, vector bool long long __b) {
5663   return __a & ~__b;
5664 }
5665 
5666 #if __ARCH__ >= 12
5667 static inline __ATTRS_o_ai vector float
vec_andc(vector float __a,vector float __b)5668 vec_andc(vector float __a, vector float __b) {
5669   return (vector float)((vector unsigned int)__a &
5670                          ~(vector unsigned int)__b);
5671 }
5672 #endif
5673 
5674 static inline __ATTRS_o_ai vector double
vec_andc(vector double __a,vector double __b)5675 vec_andc(vector double __a, vector double __b) {
5676   return (vector double)((vector unsigned long long)__a &
5677                          ~(vector unsigned long long)__b);
5678 }
5679 
5680 // This prototype is deprecated.
5681 static inline __ATTRS_o_ai vector double
vec_andc(vector bool long long __a,vector double __b)5682 vec_andc(vector bool long long __a, vector double __b) {
5683   return (vector double)((vector unsigned long long)__a &
5684                          ~(vector unsigned long long)__b);
5685 }
5686 
5687 // This prototype is deprecated.
5688 static inline __ATTRS_o_ai vector double
vec_andc(vector double __a,vector bool long long __b)5689 vec_andc(vector double __a, vector bool long long __b) {
5690   return (vector double)((vector unsigned long long)__a &
5691                          ~(vector unsigned long long)__b);
5692 }
5693 
5694 /*-- vec_nor ----------------------------------------------------------------*/
5695 
5696 static inline __ATTRS_o_ai vector bool char
vec_nor(vector bool char __a,vector bool char __b)5697 vec_nor(vector bool char __a, vector bool char __b) {
5698   return ~(__a | __b);
5699 }
5700 
5701 static inline __ATTRS_o_ai vector signed char
vec_nor(vector signed char __a,vector signed char __b)5702 vec_nor(vector signed char __a, vector signed char __b) {
5703   return ~(__a | __b);
5704 }
5705 
5706 // This prototype is deprecated.
5707 static inline __ATTRS_o_ai vector signed char
vec_nor(vector bool char __a,vector signed char __b)5708 vec_nor(vector bool char __a, vector signed char __b) {
5709   return ~(__a | __b);
5710 }
5711 
5712 // This prototype is deprecated.
5713 static inline __ATTRS_o_ai vector signed char
vec_nor(vector signed char __a,vector bool char __b)5714 vec_nor(vector signed char __a, vector bool char __b) {
5715   return ~(__a | __b);
5716 }
5717 
5718 static inline __ATTRS_o_ai vector unsigned char
vec_nor(vector unsigned char __a,vector unsigned char __b)5719 vec_nor(vector unsigned char __a, vector unsigned char __b) {
5720   return ~(__a | __b);
5721 }
5722 
5723 // This prototype is deprecated.
5724 static inline __ATTRS_o_ai vector unsigned char
vec_nor(vector bool char __a,vector unsigned char __b)5725 vec_nor(vector bool char __a, vector unsigned char __b) {
5726   return ~(__a | __b);
5727 }
5728 
5729 // This prototype is deprecated.
5730 static inline __ATTRS_o_ai vector unsigned char
vec_nor(vector unsigned char __a,vector bool char __b)5731 vec_nor(vector unsigned char __a, vector bool char __b) {
5732   return ~(__a | __b);
5733 }
5734 
5735 static inline __ATTRS_o_ai vector bool short
vec_nor(vector bool short __a,vector bool short __b)5736 vec_nor(vector bool short __a, vector bool short __b) {
5737   return ~(__a | __b);
5738 }
5739 
5740 static inline __ATTRS_o_ai vector signed short
vec_nor(vector signed short __a,vector signed short __b)5741 vec_nor(vector signed short __a, vector signed short __b) {
5742   return ~(__a | __b);
5743 }
5744 
5745 // This prototype is deprecated.
5746 static inline __ATTRS_o_ai vector signed short
vec_nor(vector bool short __a,vector signed short __b)5747 vec_nor(vector bool short __a, vector signed short __b) {
5748   return ~(__a | __b);
5749 }
5750 
5751 // This prototype is deprecated.
5752 static inline __ATTRS_o_ai vector signed short
vec_nor(vector signed short __a,vector bool short __b)5753 vec_nor(vector signed short __a, vector bool short __b) {
5754   return ~(__a | __b);
5755 }
5756 
5757 static inline __ATTRS_o_ai vector unsigned short
vec_nor(vector unsigned short __a,vector unsigned short __b)5758 vec_nor(vector unsigned short __a, vector unsigned short __b) {
5759   return ~(__a | __b);
5760 }
5761 
5762 // This prototype is deprecated.
5763 static inline __ATTRS_o_ai vector unsigned short
vec_nor(vector bool short __a,vector unsigned short __b)5764 vec_nor(vector bool short __a, vector unsigned short __b) {
5765   return ~(__a | __b);
5766 }
5767 
5768 // This prototype is deprecated.
5769 static inline __ATTRS_o_ai vector unsigned short
vec_nor(vector unsigned short __a,vector bool short __b)5770 vec_nor(vector unsigned short __a, vector bool short __b) {
5771   return ~(__a | __b);
5772 }
5773 
5774 static inline __ATTRS_o_ai vector bool int
vec_nor(vector bool int __a,vector bool int __b)5775 vec_nor(vector bool int __a, vector bool int __b) {
5776   return ~(__a | __b);
5777 }
5778 
5779 static inline __ATTRS_o_ai vector signed int
vec_nor(vector signed int __a,vector signed int __b)5780 vec_nor(vector signed int __a, vector signed int __b) {
5781   return ~(__a | __b);
5782 }
5783 
5784 // This prototype is deprecated.
5785 static inline __ATTRS_o_ai vector signed int
vec_nor(vector bool int __a,vector signed int __b)5786 vec_nor(vector bool int __a, vector signed int __b) {
5787   return ~(__a | __b);
5788 }
5789 
5790 // This prototype is deprecated.
5791 static inline __ATTRS_o_ai vector signed int
vec_nor(vector signed int __a,vector bool int __b)5792 vec_nor(vector signed int __a, vector bool int __b) {
5793   return ~(__a | __b);
5794 }
5795 
5796 static inline __ATTRS_o_ai vector unsigned int
vec_nor(vector unsigned int __a,vector unsigned int __b)5797 vec_nor(vector unsigned int __a, vector unsigned int __b) {
5798   return ~(__a | __b);
5799 }
5800 
5801 // This prototype is deprecated.
5802 static inline __ATTRS_o_ai vector unsigned int
vec_nor(vector bool int __a,vector unsigned int __b)5803 vec_nor(vector bool int __a, vector unsigned int __b) {
5804   return ~(__a | __b);
5805 }
5806 
5807 // This prototype is deprecated.
5808 static inline __ATTRS_o_ai vector unsigned int
vec_nor(vector unsigned int __a,vector bool int __b)5809 vec_nor(vector unsigned int __a, vector bool int __b) {
5810   return ~(__a | __b);
5811 }
5812 
5813 static inline __ATTRS_o_ai vector bool long long
vec_nor(vector bool long long __a,vector bool long long __b)5814 vec_nor(vector bool long long __a, vector bool long long __b) {
5815   return ~(__a | __b);
5816 }
5817 
5818 static inline __ATTRS_o_ai vector signed long long
vec_nor(vector signed long long __a,vector signed long long __b)5819 vec_nor(vector signed long long __a, vector signed long long __b) {
5820   return ~(__a | __b);
5821 }
5822 
5823 // This prototype is deprecated.
5824 static inline __ATTRS_o_ai vector signed long long
vec_nor(vector bool long long __a,vector signed long long __b)5825 vec_nor(vector bool long long __a, vector signed long long __b) {
5826   return ~(__a | __b);
5827 }
5828 
5829 // This prototype is deprecated.
5830 static inline __ATTRS_o_ai vector signed long long
vec_nor(vector signed long long __a,vector bool long long __b)5831 vec_nor(vector signed long long __a, vector bool long long __b) {
5832   return ~(__a | __b);
5833 }
5834 
5835 static inline __ATTRS_o_ai vector unsigned long long
vec_nor(vector unsigned long long __a,vector unsigned long long __b)5836 vec_nor(vector unsigned long long __a, vector unsigned long long __b) {
5837   return ~(__a | __b);
5838 }
5839 
5840 // This prototype is deprecated.
5841 static inline __ATTRS_o_ai vector unsigned long long
vec_nor(vector bool long long __a,vector unsigned long long __b)5842 vec_nor(vector bool long long __a, vector unsigned long long __b) {
5843   return ~(__a | __b);
5844 }
5845 
5846 // This prototype is deprecated.
5847 static inline __ATTRS_o_ai vector unsigned long long
vec_nor(vector unsigned long long __a,vector bool long long __b)5848 vec_nor(vector unsigned long long __a, vector bool long long __b) {
5849   return ~(__a | __b);
5850 }
5851 
5852 #if __ARCH__ >= 12
5853 static inline __ATTRS_o_ai vector float
vec_nor(vector float __a,vector float __b)5854 vec_nor(vector float __a, vector float __b) {
5855   return (vector float)~((vector unsigned int)__a |
5856                          (vector unsigned int)__b);
5857 }
5858 #endif
5859 
5860 static inline __ATTRS_o_ai vector double
vec_nor(vector double __a,vector double __b)5861 vec_nor(vector double __a, vector double __b) {
5862   return (vector double)~((vector unsigned long long)__a |
5863                           (vector unsigned long long)__b);
5864 }
5865 
5866 // This prototype is deprecated.
5867 static inline __ATTRS_o_ai vector double
vec_nor(vector bool long long __a,vector double __b)5868 vec_nor(vector bool long long __a, vector double __b) {
5869   return (vector double)~((vector unsigned long long)__a |
5870                           (vector unsigned long long)__b);
5871 }
5872 
5873 // This prototype is deprecated.
5874 static inline __ATTRS_o_ai vector double
vec_nor(vector double __a,vector bool long long __b)5875 vec_nor(vector double __a, vector bool long long __b) {
5876   return (vector double)~((vector unsigned long long)__a |
5877                           (vector unsigned long long)__b);
5878 }
5879 
5880 /*-- vec_orc ----------------------------------------------------------------*/
5881 
5882 #if __ARCH__ >= 12
5883 static inline __ATTRS_o_ai vector bool char
vec_orc(vector bool char __a,vector bool char __b)5884 vec_orc(vector bool char __a, vector bool char __b) {
5885   return __a | ~__b;
5886 }
5887 
5888 static inline __ATTRS_o_ai vector signed char
vec_orc(vector signed char __a,vector signed char __b)5889 vec_orc(vector signed char __a, vector signed char __b) {
5890   return __a | ~__b;
5891 }
5892 
5893 static inline __ATTRS_o_ai vector unsigned char
vec_orc(vector unsigned char __a,vector unsigned char __b)5894 vec_orc(vector unsigned char __a, vector unsigned char __b) {
5895   return __a | ~__b;
5896 }
5897 
5898 static inline __ATTRS_o_ai vector bool short
vec_orc(vector bool short __a,vector bool short __b)5899 vec_orc(vector bool short __a, vector bool short __b) {
5900   return __a | ~__b;
5901 }
5902 
5903 static inline __ATTRS_o_ai vector signed short
vec_orc(vector signed short __a,vector signed short __b)5904 vec_orc(vector signed short __a, vector signed short __b) {
5905   return __a | ~__b;
5906 }
5907 
5908 static inline __ATTRS_o_ai vector unsigned short
vec_orc(vector unsigned short __a,vector unsigned short __b)5909 vec_orc(vector unsigned short __a, vector unsigned short __b) {
5910   return __a | ~__b;
5911 }
5912 
5913 static inline __ATTRS_o_ai vector bool int
vec_orc(vector bool int __a,vector bool int __b)5914 vec_orc(vector bool int __a, vector bool int __b) {
5915   return __a | ~__b;
5916 }
5917 
5918 static inline __ATTRS_o_ai vector signed int
vec_orc(vector signed int __a,vector signed int __b)5919 vec_orc(vector signed int __a, vector signed int __b) {
5920   return __a | ~__b;
5921 }
5922 
5923 static inline __ATTRS_o_ai vector unsigned int
vec_orc(vector unsigned int __a,vector unsigned int __b)5924 vec_orc(vector unsigned int __a, vector unsigned int __b) {
5925   return __a | ~__b;
5926 }
5927 
5928 static inline __ATTRS_o_ai vector bool long long
vec_orc(vector bool long long __a,vector bool long long __b)5929 vec_orc(vector bool long long __a, vector bool long long __b) {
5930   return __a | ~__b;
5931 }
5932 
5933 static inline __ATTRS_o_ai vector signed long long
vec_orc(vector signed long long __a,vector signed long long __b)5934 vec_orc(vector signed long long __a, vector signed long long __b) {
5935   return __a | ~__b;
5936 }
5937 
5938 static inline __ATTRS_o_ai vector unsigned long long
vec_orc(vector unsigned long long __a,vector unsigned long long __b)5939 vec_orc(vector unsigned long long __a, vector unsigned long long __b) {
5940   return __a | ~__b;
5941 }
5942 
5943 static inline __ATTRS_o_ai vector float
vec_orc(vector float __a,vector float __b)5944 vec_orc(vector float __a, vector float __b) {
5945   return (vector float)((vector unsigned int)__a |
5946                         ~(vector unsigned int)__b);
5947 }
5948 
5949 static inline __ATTRS_o_ai vector double
vec_orc(vector double __a,vector double __b)5950 vec_orc(vector double __a, vector double __b) {
5951   return (vector double)((vector unsigned long long)__a |
5952                          ~(vector unsigned long long)__b);
5953 }
5954 #endif
5955 
5956 /*-- vec_nand ---------------------------------------------------------------*/
5957 
5958 #if __ARCH__ >= 12
5959 static inline __ATTRS_o_ai vector bool char
vec_nand(vector bool char __a,vector bool char __b)5960 vec_nand(vector bool char __a, vector bool char __b) {
5961   return ~(__a & __b);
5962 }
5963 
5964 static inline __ATTRS_o_ai vector signed char
vec_nand(vector signed char __a,vector signed char __b)5965 vec_nand(vector signed char __a, vector signed char __b) {
5966   return ~(__a & __b);
5967 }
5968 
5969 static inline __ATTRS_o_ai vector unsigned char
vec_nand(vector unsigned char __a,vector unsigned char __b)5970 vec_nand(vector unsigned char __a, vector unsigned char __b) {
5971   return ~(__a & __b);
5972 }
5973 
5974 static inline __ATTRS_o_ai vector bool short
vec_nand(vector bool short __a,vector bool short __b)5975 vec_nand(vector bool short __a, vector bool short __b) {
5976   return ~(__a & __b);
5977 }
5978 
5979 static inline __ATTRS_o_ai vector signed short
vec_nand(vector signed short __a,vector signed short __b)5980 vec_nand(vector signed short __a, vector signed short __b) {
5981   return ~(__a & __b);
5982 }
5983 
5984 static inline __ATTRS_o_ai vector unsigned short
vec_nand(vector unsigned short __a,vector unsigned short __b)5985 vec_nand(vector unsigned short __a, vector unsigned short __b) {
5986   return ~(__a & __b);
5987 }
5988 
5989 static inline __ATTRS_o_ai vector bool int
vec_nand(vector bool int __a,vector bool int __b)5990 vec_nand(vector bool int __a, vector bool int __b) {
5991   return ~(__a & __b);
5992 }
5993 
5994 static inline __ATTRS_o_ai vector signed int
vec_nand(vector signed int __a,vector signed int __b)5995 vec_nand(vector signed int __a, vector signed int __b) {
5996   return ~(__a & __b);
5997 }
5998 
5999 static inline __ATTRS_o_ai vector unsigned int
vec_nand(vector unsigned int __a,vector unsigned int __b)6000 vec_nand(vector unsigned int __a, vector unsigned int __b) {
6001   return ~(__a & __b);
6002 }
6003 
6004 static inline __ATTRS_o_ai vector bool long long
vec_nand(vector bool long long __a,vector bool long long __b)6005 vec_nand(vector bool long long __a, vector bool long long __b) {
6006   return ~(__a & __b);
6007 }
6008 
6009 static inline __ATTRS_o_ai vector signed long long
vec_nand(vector signed long long __a,vector signed long long __b)6010 vec_nand(vector signed long long __a, vector signed long long __b) {
6011   return ~(__a & __b);
6012 }
6013 
6014 static inline __ATTRS_o_ai vector unsigned long long
vec_nand(vector unsigned long long __a,vector unsigned long long __b)6015 vec_nand(vector unsigned long long __a, vector unsigned long long __b) {
6016   return ~(__a & __b);
6017 }
6018 
6019 static inline __ATTRS_o_ai vector float
vec_nand(vector float __a,vector float __b)6020 vec_nand(vector float __a, vector float __b) {
6021   return (vector float)~((vector unsigned int)__a &
6022                          (vector unsigned int)__b);
6023 }
6024 
6025 static inline __ATTRS_o_ai vector double
vec_nand(vector double __a,vector double __b)6026 vec_nand(vector double __a, vector double __b) {
6027   return (vector double)~((vector unsigned long long)__a &
6028                           (vector unsigned long long)__b);
6029 }
6030 #endif
6031 
6032 /*-- vec_eqv ----------------------------------------------------------------*/
6033 
6034 #if __ARCH__ >= 12
6035 static inline __ATTRS_o_ai vector bool char
vec_eqv(vector bool char __a,vector bool char __b)6036 vec_eqv(vector bool char __a, vector bool char __b) {
6037   return ~(__a ^ __b);
6038 }
6039 
6040 static inline __ATTRS_o_ai vector signed char
vec_eqv(vector signed char __a,vector signed char __b)6041 vec_eqv(vector signed char __a, vector signed char __b) {
6042   return ~(__a ^ __b);
6043 }
6044 
6045 static inline __ATTRS_o_ai vector unsigned char
vec_eqv(vector unsigned char __a,vector unsigned char __b)6046 vec_eqv(vector unsigned char __a, vector unsigned char __b) {
6047   return ~(__a ^ __b);
6048 }
6049 
6050 static inline __ATTRS_o_ai vector bool short
vec_eqv(vector bool short __a,vector bool short __b)6051 vec_eqv(vector bool short __a, vector bool short __b) {
6052   return ~(__a ^ __b);
6053 }
6054 
6055 static inline __ATTRS_o_ai vector signed short
vec_eqv(vector signed short __a,vector signed short __b)6056 vec_eqv(vector signed short __a, vector signed short __b) {
6057   return ~(__a ^ __b);
6058 }
6059 
6060 static inline __ATTRS_o_ai vector unsigned short
vec_eqv(vector unsigned short __a,vector unsigned short __b)6061 vec_eqv(vector unsigned short __a, vector unsigned short __b) {
6062   return ~(__a ^ __b);
6063 }
6064 
6065 static inline __ATTRS_o_ai vector bool int
vec_eqv(vector bool int __a,vector bool int __b)6066 vec_eqv(vector bool int __a, vector bool int __b) {
6067   return ~(__a ^ __b);
6068 }
6069 
6070 static inline __ATTRS_o_ai vector signed int
vec_eqv(vector signed int __a,vector signed int __b)6071 vec_eqv(vector signed int __a, vector signed int __b) {
6072   return ~(__a ^ __b);
6073 }
6074 
6075 static inline __ATTRS_o_ai vector unsigned int
vec_eqv(vector unsigned int __a,vector unsigned int __b)6076 vec_eqv(vector unsigned int __a, vector unsigned int __b) {
6077   return ~(__a ^ __b);
6078 }
6079 
6080 static inline __ATTRS_o_ai vector bool long long
vec_eqv(vector bool long long __a,vector bool long long __b)6081 vec_eqv(vector bool long long __a, vector bool long long __b) {
6082   return ~(__a ^ __b);
6083 }
6084 
6085 static inline __ATTRS_o_ai vector signed long long
vec_eqv(vector signed long long __a,vector signed long long __b)6086 vec_eqv(vector signed long long __a, vector signed long long __b) {
6087   return ~(__a ^ __b);
6088 }
6089 
6090 static inline __ATTRS_o_ai vector unsigned long long
vec_eqv(vector unsigned long long __a,vector unsigned long long __b)6091 vec_eqv(vector unsigned long long __a, vector unsigned long long __b) {
6092   return ~(__a ^ __b);
6093 }
6094 
6095 static inline __ATTRS_o_ai vector float
vec_eqv(vector float __a,vector float __b)6096 vec_eqv(vector float __a, vector float __b) {
6097   return (vector float)~((vector unsigned int)__a ^
6098                          (vector unsigned int)__b);
6099 }
6100 
6101 static inline __ATTRS_o_ai vector double
vec_eqv(vector double __a,vector double __b)6102 vec_eqv(vector double __a, vector double __b) {
6103   return (vector double)~((vector unsigned long long)__a ^
6104                           (vector unsigned long long)__b);
6105 }
6106 #endif
6107 
6108 /*-- vec_cntlz --------------------------------------------------------------*/
6109 
6110 static inline __ATTRS_o_ai vector unsigned char
vec_cntlz(vector signed char __a)6111 vec_cntlz(vector signed char __a) {
6112   return __builtin_s390_vclzb((vector unsigned char)__a);
6113 }
6114 
6115 static inline __ATTRS_o_ai vector unsigned char
vec_cntlz(vector unsigned char __a)6116 vec_cntlz(vector unsigned char __a) {
6117   return __builtin_s390_vclzb(__a);
6118 }
6119 
6120 static inline __ATTRS_o_ai vector unsigned short
vec_cntlz(vector signed short __a)6121 vec_cntlz(vector signed short __a) {
6122   return __builtin_s390_vclzh((vector unsigned short)__a);
6123 }
6124 
6125 static inline __ATTRS_o_ai vector unsigned short
vec_cntlz(vector unsigned short __a)6126 vec_cntlz(vector unsigned short __a) {
6127   return __builtin_s390_vclzh(__a);
6128 }
6129 
6130 static inline __ATTRS_o_ai vector unsigned int
vec_cntlz(vector signed int __a)6131 vec_cntlz(vector signed int __a) {
6132   return __builtin_s390_vclzf((vector unsigned int)__a);
6133 }
6134 
6135 static inline __ATTRS_o_ai vector unsigned int
vec_cntlz(vector unsigned int __a)6136 vec_cntlz(vector unsigned int __a) {
6137   return __builtin_s390_vclzf(__a);
6138 }
6139 
6140 static inline __ATTRS_o_ai vector unsigned long long
vec_cntlz(vector signed long long __a)6141 vec_cntlz(vector signed long long __a) {
6142   return __builtin_s390_vclzg((vector unsigned long long)__a);
6143 }
6144 
6145 static inline __ATTRS_o_ai vector unsigned long long
vec_cntlz(vector unsigned long long __a)6146 vec_cntlz(vector unsigned long long __a) {
6147   return __builtin_s390_vclzg(__a);
6148 }
6149 
6150 /*-- vec_cnttz --------------------------------------------------------------*/
6151 
6152 static inline __ATTRS_o_ai vector unsigned char
vec_cnttz(vector signed char __a)6153 vec_cnttz(vector signed char __a) {
6154   return __builtin_s390_vctzb((vector unsigned char)__a);
6155 }
6156 
6157 static inline __ATTRS_o_ai vector unsigned char
vec_cnttz(vector unsigned char __a)6158 vec_cnttz(vector unsigned char __a) {
6159   return __builtin_s390_vctzb(__a);
6160 }
6161 
6162 static inline __ATTRS_o_ai vector unsigned short
vec_cnttz(vector signed short __a)6163 vec_cnttz(vector signed short __a) {
6164   return __builtin_s390_vctzh((vector unsigned short)__a);
6165 }
6166 
6167 static inline __ATTRS_o_ai vector unsigned short
vec_cnttz(vector unsigned short __a)6168 vec_cnttz(vector unsigned short __a) {
6169   return __builtin_s390_vctzh(__a);
6170 }
6171 
6172 static inline __ATTRS_o_ai vector unsigned int
vec_cnttz(vector signed int __a)6173 vec_cnttz(vector signed int __a) {
6174   return __builtin_s390_vctzf((vector unsigned int)__a);
6175 }
6176 
6177 static inline __ATTRS_o_ai vector unsigned int
vec_cnttz(vector unsigned int __a)6178 vec_cnttz(vector unsigned int __a) {
6179   return __builtin_s390_vctzf(__a);
6180 }
6181 
6182 static inline __ATTRS_o_ai vector unsigned long long
vec_cnttz(vector signed long long __a)6183 vec_cnttz(vector signed long long __a) {
6184   return __builtin_s390_vctzg((vector unsigned long long)__a);
6185 }
6186 
6187 static inline __ATTRS_o_ai vector unsigned long long
vec_cnttz(vector unsigned long long __a)6188 vec_cnttz(vector unsigned long long __a) {
6189   return __builtin_s390_vctzg(__a);
6190 }
6191 
6192 /*-- vec_popcnt -------------------------------------------------------------*/
6193 
6194 static inline __ATTRS_o_ai vector unsigned char
vec_popcnt(vector signed char __a)6195 vec_popcnt(vector signed char __a) {
6196   return __builtin_s390_vpopctb((vector unsigned char)__a);
6197 }
6198 
6199 static inline __ATTRS_o_ai vector unsigned char
vec_popcnt(vector unsigned char __a)6200 vec_popcnt(vector unsigned char __a) {
6201   return __builtin_s390_vpopctb(__a);
6202 }
6203 
6204 static inline __ATTRS_o_ai vector unsigned short
vec_popcnt(vector signed short __a)6205 vec_popcnt(vector signed short __a) {
6206   return __builtin_s390_vpopcth((vector unsigned short)__a);
6207 }
6208 
6209 static inline __ATTRS_o_ai vector unsigned short
vec_popcnt(vector unsigned short __a)6210 vec_popcnt(vector unsigned short __a) {
6211   return __builtin_s390_vpopcth(__a);
6212 }
6213 
6214 static inline __ATTRS_o_ai vector unsigned int
vec_popcnt(vector signed int __a)6215 vec_popcnt(vector signed int __a) {
6216   return __builtin_s390_vpopctf((vector unsigned int)__a);
6217 }
6218 
6219 static inline __ATTRS_o_ai vector unsigned int
vec_popcnt(vector unsigned int __a)6220 vec_popcnt(vector unsigned int __a) {
6221   return __builtin_s390_vpopctf(__a);
6222 }
6223 
6224 static inline __ATTRS_o_ai vector unsigned long long
vec_popcnt(vector signed long long __a)6225 vec_popcnt(vector signed long long __a) {
6226   return __builtin_s390_vpopctg((vector unsigned long long)__a);
6227 }
6228 
6229 static inline __ATTRS_o_ai vector unsigned long long
vec_popcnt(vector unsigned long long __a)6230 vec_popcnt(vector unsigned long long __a) {
6231   return __builtin_s390_vpopctg(__a);
6232 }
6233 
6234 /*-- vec_rl -----------------------------------------------------------------*/
6235 
6236 static inline __ATTRS_o_ai vector signed char
vec_rl(vector signed char __a,vector unsigned char __b)6237 vec_rl(vector signed char __a, vector unsigned char __b) {
6238   return (vector signed char)__builtin_s390_verllvb(
6239     (vector unsigned char)__a, __b);
6240 }
6241 
6242 static inline __ATTRS_o_ai vector unsigned char
vec_rl(vector unsigned char __a,vector unsigned char __b)6243 vec_rl(vector unsigned char __a, vector unsigned char __b) {
6244   return __builtin_s390_verllvb(__a, __b);
6245 }
6246 
6247 static inline __ATTRS_o_ai vector signed short
vec_rl(vector signed short __a,vector unsigned short __b)6248 vec_rl(vector signed short __a, vector unsigned short __b) {
6249   return (vector signed short)__builtin_s390_verllvh(
6250     (vector unsigned short)__a, __b);
6251 }
6252 
6253 static inline __ATTRS_o_ai vector unsigned short
vec_rl(vector unsigned short __a,vector unsigned short __b)6254 vec_rl(vector unsigned short __a, vector unsigned short __b) {
6255   return __builtin_s390_verllvh(__a, __b);
6256 }
6257 
6258 static inline __ATTRS_o_ai vector signed int
vec_rl(vector signed int __a,vector unsigned int __b)6259 vec_rl(vector signed int __a, vector unsigned int __b) {
6260   return (vector signed int)__builtin_s390_verllvf(
6261     (vector unsigned int)__a, __b);
6262 }
6263 
6264 static inline __ATTRS_o_ai vector unsigned int
vec_rl(vector unsigned int __a,vector unsigned int __b)6265 vec_rl(vector unsigned int __a, vector unsigned int __b) {
6266   return __builtin_s390_verllvf(__a, __b);
6267 }
6268 
6269 static inline __ATTRS_o_ai vector signed long long
vec_rl(vector signed long long __a,vector unsigned long long __b)6270 vec_rl(vector signed long long __a, vector unsigned long long __b) {
6271   return (vector signed long long)__builtin_s390_verllvg(
6272     (vector unsigned long long)__a, __b);
6273 }
6274 
6275 static inline __ATTRS_o_ai vector unsigned long long
vec_rl(vector unsigned long long __a,vector unsigned long long __b)6276 vec_rl(vector unsigned long long __a, vector unsigned long long __b) {
6277   return __builtin_s390_verllvg(__a, __b);
6278 }
6279 
6280 /*-- vec_rli ----------------------------------------------------------------*/
6281 
6282 static inline __ATTRS_o_ai vector signed char
vec_rli(vector signed char __a,unsigned long __b)6283 vec_rli(vector signed char __a, unsigned long __b) {
6284   return (vector signed char)__builtin_s390_verllb(
6285     (vector unsigned char)__a, (int)__b);
6286 }
6287 
6288 static inline __ATTRS_o_ai vector unsigned char
vec_rli(vector unsigned char __a,unsigned long __b)6289 vec_rli(vector unsigned char __a, unsigned long __b) {
6290   return __builtin_s390_verllb(__a, (int)__b);
6291 }
6292 
6293 static inline __ATTRS_o_ai vector signed short
vec_rli(vector signed short __a,unsigned long __b)6294 vec_rli(vector signed short __a, unsigned long __b) {
6295   return (vector signed short)__builtin_s390_verllh(
6296     (vector unsigned short)__a, (int)__b);
6297 }
6298 
6299 static inline __ATTRS_o_ai vector unsigned short
vec_rli(vector unsigned short __a,unsigned long __b)6300 vec_rli(vector unsigned short __a, unsigned long __b) {
6301   return __builtin_s390_verllh(__a, (int)__b);
6302 }
6303 
6304 static inline __ATTRS_o_ai vector signed int
vec_rli(vector signed int __a,unsigned long __b)6305 vec_rli(vector signed int __a, unsigned long __b) {
6306   return (vector signed int)__builtin_s390_verllf(
6307     (vector unsigned int)__a, (int)__b);
6308 }
6309 
6310 static inline __ATTRS_o_ai vector unsigned int
vec_rli(vector unsigned int __a,unsigned long __b)6311 vec_rli(vector unsigned int __a, unsigned long __b) {
6312   return __builtin_s390_verllf(__a, (int)__b);
6313 }
6314 
6315 static inline __ATTRS_o_ai vector signed long long
vec_rli(vector signed long long __a,unsigned long __b)6316 vec_rli(vector signed long long __a, unsigned long __b) {
6317   return (vector signed long long)__builtin_s390_verllg(
6318     (vector unsigned long long)__a, (int)__b);
6319 }
6320 
6321 static inline __ATTRS_o_ai vector unsigned long long
vec_rli(vector unsigned long long __a,unsigned long __b)6322 vec_rli(vector unsigned long long __a, unsigned long __b) {
6323   return __builtin_s390_verllg(__a, (int)__b);
6324 }
6325 
6326 /*-- vec_rl_mask ------------------------------------------------------------*/
6327 
6328 extern __ATTRS_o vector signed char
6329 vec_rl_mask(vector signed char __a, vector unsigned char __b,
6330             unsigned char __c) __constant(__c);
6331 
6332 extern __ATTRS_o vector unsigned char
6333 vec_rl_mask(vector unsigned char __a, vector unsigned char __b,
6334             unsigned char __c) __constant(__c);
6335 
6336 extern __ATTRS_o vector signed short
6337 vec_rl_mask(vector signed short __a, vector unsigned short __b,
6338             unsigned char __c) __constant(__c);
6339 
6340 extern __ATTRS_o vector unsigned short
6341 vec_rl_mask(vector unsigned short __a, vector unsigned short __b,
6342             unsigned char __c) __constant(__c);
6343 
6344 extern __ATTRS_o vector signed int
6345 vec_rl_mask(vector signed int __a, vector unsigned int __b,
6346             unsigned char __c) __constant(__c);
6347 
6348 extern __ATTRS_o vector unsigned int
6349 vec_rl_mask(vector unsigned int __a, vector unsigned int __b,
6350             unsigned char __c) __constant(__c);
6351 
6352 extern __ATTRS_o vector signed long long
6353 vec_rl_mask(vector signed long long __a, vector unsigned long long __b,
6354             unsigned char __c) __constant(__c);
6355 
6356 extern __ATTRS_o vector unsigned long long
6357 vec_rl_mask(vector unsigned long long __a, vector unsigned long long __b,
6358             unsigned char __c) __constant(__c);
6359 
6360 #define vec_rl_mask(X, Y, Z) ((__typeof__((vec_rl_mask)((X), (Y), (Z)))) \
6361   __extension__ ({ \
6362     vector unsigned char __res; \
6363     vector unsigned char __x = (vector unsigned char)(X); \
6364     vector unsigned char __y = (vector unsigned char)(Y); \
6365     switch (sizeof ((X)[0])) { \
6366     case 1: __res = (vector unsigned char) __builtin_s390_verimb( \
6367              (vector unsigned char)__x, (vector unsigned char)__x, \
6368              (vector unsigned char)__y, (Z)); break; \
6369     case 2: __res = (vector unsigned char) __builtin_s390_verimh( \
6370              (vector unsigned short)__x, (vector unsigned short)__x, \
6371              (vector unsigned short)__y, (Z)); break; \
6372     case 4: __res = (vector unsigned char) __builtin_s390_verimf( \
6373              (vector unsigned int)__x, (vector unsigned int)__x, \
6374              (vector unsigned int)__y, (Z)); break; \
6375     default: __res = (vector unsigned char) __builtin_s390_verimg( \
6376              (vector unsigned long long)__x, (vector unsigned long long)__x, \
6377              (vector unsigned long long)__y, (Z)); break; \
6378     } __res; }))
6379 
6380 /*-- vec_sll ----------------------------------------------------------------*/
6381 
6382 static inline __ATTRS_o_ai vector signed char
vec_sll(vector signed char __a,vector unsigned char __b)6383 vec_sll(vector signed char __a, vector unsigned char __b) {
6384   return (vector signed char)__builtin_s390_vsl(
6385     (vector unsigned char)__a, __b);
6386 }
6387 
6388 // This prototype is deprecated.
6389 static inline __ATTRS_o_ai vector signed char
vec_sll(vector signed char __a,vector unsigned short __b)6390 vec_sll(vector signed char __a, vector unsigned short __b) {
6391   return (vector signed char)__builtin_s390_vsl(
6392     (vector unsigned char)__a, (vector unsigned char)__b);
6393 }
6394 
6395 // This prototype is deprecated.
6396 static inline __ATTRS_o_ai vector signed char
vec_sll(vector signed char __a,vector unsigned int __b)6397 vec_sll(vector signed char __a, vector unsigned int __b) {
6398   return (vector signed char)__builtin_s390_vsl(
6399     (vector unsigned char)__a, (vector unsigned char)__b);
6400 }
6401 
6402 // This prototype is deprecated.
6403 static inline __ATTRS_o_ai vector bool char
vec_sll(vector bool char __a,vector unsigned char __b)6404 vec_sll(vector bool char __a, vector unsigned char __b) {
6405   return (vector bool char)__builtin_s390_vsl(
6406     (vector unsigned char)__a, __b);
6407 }
6408 
6409 // This prototype is deprecated.
6410 static inline __ATTRS_o_ai vector bool char
vec_sll(vector bool char __a,vector unsigned short __b)6411 vec_sll(vector bool char __a, vector unsigned short __b) {
6412   return (vector bool char)__builtin_s390_vsl(
6413     (vector unsigned char)__a, (vector unsigned char)__b);
6414 }
6415 
6416 // This prototype is deprecated.
6417 static inline __ATTRS_o_ai vector bool char
vec_sll(vector bool char __a,vector unsigned int __b)6418 vec_sll(vector bool char __a, vector unsigned int __b) {
6419   return (vector bool char)__builtin_s390_vsl(
6420     (vector unsigned char)__a, (vector unsigned char)__b);
6421 }
6422 
6423 static inline __ATTRS_o_ai vector unsigned char
vec_sll(vector unsigned char __a,vector unsigned char __b)6424 vec_sll(vector unsigned char __a, vector unsigned char __b) {
6425   return __builtin_s390_vsl(__a, __b);
6426 }
6427 
6428 // This prototype is deprecated.
6429 static inline __ATTRS_o_ai vector unsigned char
vec_sll(vector unsigned char __a,vector unsigned short __b)6430 vec_sll(vector unsigned char __a, vector unsigned short __b) {
6431   return __builtin_s390_vsl(__a, (vector unsigned char)__b);
6432 }
6433 
6434 // This prototype is deprecated.
6435 static inline __ATTRS_o_ai vector unsigned char
vec_sll(vector unsigned char __a,vector unsigned int __b)6436 vec_sll(vector unsigned char __a, vector unsigned int __b) {
6437   return __builtin_s390_vsl(__a, (vector unsigned char)__b);
6438 }
6439 
6440 static inline __ATTRS_o_ai vector signed short
vec_sll(vector signed short __a,vector unsigned char __b)6441 vec_sll(vector signed short __a, vector unsigned char __b) {
6442   return (vector signed short)__builtin_s390_vsl(
6443     (vector unsigned char)__a, __b);
6444 }
6445 
6446 // This prototype is deprecated.
6447 static inline __ATTRS_o_ai vector signed short
vec_sll(vector signed short __a,vector unsigned short __b)6448 vec_sll(vector signed short __a, vector unsigned short __b) {
6449   return (vector signed short)__builtin_s390_vsl(
6450     (vector unsigned char)__a, (vector unsigned char)__b);
6451 }
6452 
6453 // This prototype is deprecated.
6454 static inline __ATTRS_o_ai vector signed short
vec_sll(vector signed short __a,vector unsigned int __b)6455 vec_sll(vector signed short __a, vector unsigned int __b) {
6456   return (vector signed short)__builtin_s390_vsl(
6457     (vector unsigned char)__a, (vector unsigned char)__b);
6458 }
6459 
6460 // This prototype is deprecated.
6461 static inline __ATTRS_o_ai vector bool short
vec_sll(vector bool short __a,vector unsigned char __b)6462 vec_sll(vector bool short __a, vector unsigned char __b) {
6463   return (vector bool short)__builtin_s390_vsl(
6464     (vector unsigned char)__a, __b);
6465 }
6466 
6467 // This prototype is deprecated.
6468 static inline __ATTRS_o_ai vector bool short
vec_sll(vector bool short __a,vector unsigned short __b)6469 vec_sll(vector bool short __a, vector unsigned short __b) {
6470   return (vector bool short)__builtin_s390_vsl(
6471     (vector unsigned char)__a, (vector unsigned char)__b);
6472 }
6473 
6474 // This prototype is deprecated.
6475 static inline __ATTRS_o_ai vector bool short
vec_sll(vector bool short __a,vector unsigned int __b)6476 vec_sll(vector bool short __a, vector unsigned int __b) {
6477   return (vector bool short)__builtin_s390_vsl(
6478     (vector unsigned char)__a, (vector unsigned char)__b);
6479 }
6480 
6481 static inline __ATTRS_o_ai vector unsigned short
vec_sll(vector unsigned short __a,vector unsigned char __b)6482 vec_sll(vector unsigned short __a, vector unsigned char __b) {
6483   return (vector unsigned short)__builtin_s390_vsl(
6484     (vector unsigned char)__a, __b);
6485 }
6486 
6487 // This prototype is deprecated.
6488 static inline __ATTRS_o_ai vector unsigned short
vec_sll(vector unsigned short __a,vector unsigned short __b)6489 vec_sll(vector unsigned short __a, vector unsigned short __b) {
6490   return (vector unsigned short)__builtin_s390_vsl(
6491     (vector unsigned char)__a, (vector unsigned char)__b);
6492 }
6493 
6494 // This prototype is deprecated.
6495 static inline __ATTRS_o_ai vector unsigned short
vec_sll(vector unsigned short __a,vector unsigned int __b)6496 vec_sll(vector unsigned short __a, vector unsigned int __b) {
6497   return (vector unsigned short)__builtin_s390_vsl(
6498     (vector unsigned char)__a, (vector unsigned char)__b);
6499 }
6500 
6501 static inline __ATTRS_o_ai vector signed int
vec_sll(vector signed int __a,vector unsigned char __b)6502 vec_sll(vector signed int __a, vector unsigned char __b) {
6503   return (vector signed int)__builtin_s390_vsl(
6504     (vector unsigned char)__a, __b);
6505 }
6506 
6507 // This prototype is deprecated.
6508 static inline __ATTRS_o_ai vector signed int
vec_sll(vector signed int __a,vector unsigned short __b)6509 vec_sll(vector signed int __a, vector unsigned short __b) {
6510   return (vector signed int)__builtin_s390_vsl(
6511     (vector unsigned char)__a, (vector unsigned char)__b);
6512 }
6513 
6514 // This prototype is deprecated.
6515 static inline __ATTRS_o_ai vector signed int
vec_sll(vector signed int __a,vector unsigned int __b)6516 vec_sll(vector signed int __a, vector unsigned int __b) {
6517   return (vector signed int)__builtin_s390_vsl(
6518     (vector unsigned char)__a, (vector unsigned char)__b);
6519 }
6520 
6521 // This prototype is deprecated.
6522 static inline __ATTRS_o_ai vector bool int
vec_sll(vector bool int __a,vector unsigned char __b)6523 vec_sll(vector bool int __a, vector unsigned char __b) {
6524   return (vector bool int)__builtin_s390_vsl(
6525     (vector unsigned char)__a, __b);
6526 }
6527 
6528 // This prototype is deprecated.
6529 static inline __ATTRS_o_ai vector bool int
vec_sll(vector bool int __a,vector unsigned short __b)6530 vec_sll(vector bool int __a, vector unsigned short __b) {
6531   return (vector bool int)__builtin_s390_vsl(
6532     (vector unsigned char)__a, (vector unsigned char)__b);
6533 }
6534 
6535 // This prototype is deprecated.
6536 static inline __ATTRS_o_ai vector bool int
vec_sll(vector bool int __a,vector unsigned int __b)6537 vec_sll(vector bool int __a, vector unsigned int __b) {
6538   return (vector bool int)__builtin_s390_vsl(
6539     (vector unsigned char)__a, (vector unsigned char)__b);
6540 }
6541 
6542 static inline __ATTRS_o_ai vector unsigned int
vec_sll(vector unsigned int __a,vector unsigned char __b)6543 vec_sll(vector unsigned int __a, vector unsigned char __b) {
6544   return (vector unsigned int)__builtin_s390_vsl(
6545     (vector unsigned char)__a, __b);
6546 }
6547 
6548 // This prototype is deprecated.
6549 static inline __ATTRS_o_ai vector unsigned int
vec_sll(vector unsigned int __a,vector unsigned short __b)6550 vec_sll(vector unsigned int __a, vector unsigned short __b) {
6551   return (vector unsigned int)__builtin_s390_vsl(
6552     (vector unsigned char)__a, (vector unsigned char)__b);
6553 }
6554 
6555 // This prototype is deprecated.
6556 static inline __ATTRS_o_ai vector unsigned int
vec_sll(vector unsigned int __a,vector unsigned int __b)6557 vec_sll(vector unsigned int __a, vector unsigned int __b) {
6558   return (vector unsigned int)__builtin_s390_vsl(
6559     (vector unsigned char)__a, (vector unsigned char)__b);
6560 }
6561 
6562 static inline __ATTRS_o_ai vector signed long long
vec_sll(vector signed long long __a,vector unsigned char __b)6563 vec_sll(vector signed long long __a, vector unsigned char __b) {
6564   return (vector signed long long)__builtin_s390_vsl(
6565     (vector unsigned char)__a, __b);
6566 }
6567 
6568 // This prototype is deprecated.
6569 static inline __ATTRS_o_ai vector signed long long
vec_sll(vector signed long long __a,vector unsigned short __b)6570 vec_sll(vector signed long long __a, vector unsigned short __b) {
6571   return (vector signed long long)__builtin_s390_vsl(
6572     (vector unsigned char)__a, (vector unsigned char)__b);
6573 }
6574 
6575 // This prototype is deprecated.
6576 static inline __ATTRS_o_ai vector signed long long
vec_sll(vector signed long long __a,vector unsigned int __b)6577 vec_sll(vector signed long long __a, vector unsigned int __b) {
6578   return (vector signed long long)__builtin_s390_vsl(
6579     (vector unsigned char)__a, (vector unsigned char)__b);
6580 }
6581 
6582 // This prototype is deprecated.
6583 static inline __ATTRS_o_ai vector bool long long
vec_sll(vector bool long long __a,vector unsigned char __b)6584 vec_sll(vector bool long long __a, vector unsigned char __b) {
6585   return (vector bool long long)__builtin_s390_vsl(
6586     (vector unsigned char)__a, __b);
6587 }
6588 
6589 // This prototype is deprecated.
6590 static inline __ATTRS_o_ai vector bool long long
vec_sll(vector bool long long __a,vector unsigned short __b)6591 vec_sll(vector bool long long __a, vector unsigned short __b) {
6592   return (vector bool long long)__builtin_s390_vsl(
6593     (vector unsigned char)__a, (vector unsigned char)__b);
6594 }
6595 
6596 // This prototype is deprecated.
6597 static inline __ATTRS_o_ai vector bool long long
vec_sll(vector bool long long __a,vector unsigned int __b)6598 vec_sll(vector bool long long __a, vector unsigned int __b) {
6599   return (vector bool long long)__builtin_s390_vsl(
6600     (vector unsigned char)__a, (vector unsigned char)__b);
6601 }
6602 
6603 static inline __ATTRS_o_ai vector unsigned long long
vec_sll(vector unsigned long long __a,vector unsigned char __b)6604 vec_sll(vector unsigned long long __a, vector unsigned char __b) {
6605   return (vector unsigned long long)__builtin_s390_vsl(
6606     (vector unsigned char)__a, __b);
6607 }
6608 
6609 // This prototype is deprecated.
6610 static inline __ATTRS_o_ai vector unsigned long long
vec_sll(vector unsigned long long __a,vector unsigned short __b)6611 vec_sll(vector unsigned long long __a, vector unsigned short __b) {
6612   return (vector unsigned long long)__builtin_s390_vsl(
6613     (vector unsigned char)__a, (vector unsigned char)__b);
6614 }
6615 
6616 // This prototype is deprecated.
6617 static inline __ATTRS_o_ai vector unsigned long long
vec_sll(vector unsigned long long __a,vector unsigned int __b)6618 vec_sll(vector unsigned long long __a, vector unsigned int __b) {
6619   return (vector unsigned long long)__builtin_s390_vsl(
6620     (vector unsigned char)__a, (vector unsigned char)__b);
6621 }
6622 
6623 /*-- vec_slb ----------------------------------------------------------------*/
6624 
6625 static inline __ATTRS_o_ai vector signed char
vec_slb(vector signed char __a,vector signed char __b)6626 vec_slb(vector signed char __a, vector signed char __b) {
6627   return (vector signed char)__builtin_s390_vslb(
6628     (vector unsigned char)__a, (vector unsigned char)__b);
6629 }
6630 
6631 static inline __ATTRS_o_ai vector signed char
vec_slb(vector signed char __a,vector unsigned char __b)6632 vec_slb(vector signed char __a, vector unsigned char __b) {
6633   return (vector signed char)__builtin_s390_vslb(
6634     (vector unsigned char)__a, __b);
6635 }
6636 
6637 static inline __ATTRS_o_ai vector unsigned char
vec_slb(vector unsigned char __a,vector signed char __b)6638 vec_slb(vector unsigned char __a, vector signed char __b) {
6639   return __builtin_s390_vslb(__a, (vector unsigned char)__b);
6640 }
6641 
6642 static inline __ATTRS_o_ai vector unsigned char
vec_slb(vector unsigned char __a,vector unsigned char __b)6643 vec_slb(vector unsigned char __a, vector unsigned char __b) {
6644   return __builtin_s390_vslb(__a, __b);
6645 }
6646 
6647 static inline __ATTRS_o_ai vector signed short
vec_slb(vector signed short __a,vector signed short __b)6648 vec_slb(vector signed short __a, vector signed short __b) {
6649   return (vector signed short)__builtin_s390_vslb(
6650     (vector unsigned char)__a, (vector unsigned char)__b);
6651 }
6652 
6653 static inline __ATTRS_o_ai vector signed short
vec_slb(vector signed short __a,vector unsigned short __b)6654 vec_slb(vector signed short __a, vector unsigned short __b) {
6655   return (vector signed short)__builtin_s390_vslb(
6656     (vector unsigned char)__a, (vector unsigned char)__b);
6657 }
6658 
6659 static inline __ATTRS_o_ai vector unsigned short
vec_slb(vector unsigned short __a,vector signed short __b)6660 vec_slb(vector unsigned short __a, vector signed short __b) {
6661   return (vector unsigned short)__builtin_s390_vslb(
6662     (vector unsigned char)__a, (vector unsigned char)__b);
6663 }
6664 
6665 static inline __ATTRS_o_ai vector unsigned short
vec_slb(vector unsigned short __a,vector unsigned short __b)6666 vec_slb(vector unsigned short __a, vector unsigned short __b) {
6667   return (vector unsigned short)__builtin_s390_vslb(
6668     (vector unsigned char)__a, (vector unsigned char)__b);
6669 }
6670 
6671 static inline __ATTRS_o_ai vector signed int
vec_slb(vector signed int __a,vector signed int __b)6672 vec_slb(vector signed int __a, vector signed int __b) {
6673   return (vector signed int)__builtin_s390_vslb(
6674     (vector unsigned char)__a, (vector unsigned char)__b);
6675 }
6676 
6677 static inline __ATTRS_o_ai vector signed int
vec_slb(vector signed int __a,vector unsigned int __b)6678 vec_slb(vector signed int __a, vector unsigned int __b) {
6679   return (vector signed int)__builtin_s390_vslb(
6680     (vector unsigned char)__a, (vector unsigned char)__b);
6681 }
6682 
6683 static inline __ATTRS_o_ai vector unsigned int
vec_slb(vector unsigned int __a,vector signed int __b)6684 vec_slb(vector unsigned int __a, vector signed int __b) {
6685   return (vector unsigned int)__builtin_s390_vslb(
6686     (vector unsigned char)__a, (vector unsigned char)__b);
6687 }
6688 
6689 static inline __ATTRS_o_ai vector unsigned int
vec_slb(vector unsigned int __a,vector unsigned int __b)6690 vec_slb(vector unsigned int __a, vector unsigned int __b) {
6691   return (vector unsigned int)__builtin_s390_vslb(
6692     (vector unsigned char)__a, (vector unsigned char)__b);
6693 }
6694 
6695 static inline __ATTRS_o_ai vector signed long long
vec_slb(vector signed long long __a,vector signed long long __b)6696 vec_slb(vector signed long long __a, vector signed long long __b) {
6697   return (vector signed long long)__builtin_s390_vslb(
6698     (vector unsigned char)__a, (vector unsigned char)__b);
6699 }
6700 
6701 static inline __ATTRS_o_ai vector signed long long
vec_slb(vector signed long long __a,vector unsigned long long __b)6702 vec_slb(vector signed long long __a, vector unsigned long long __b) {
6703   return (vector signed long long)__builtin_s390_vslb(
6704     (vector unsigned char)__a, (vector unsigned char)__b);
6705 }
6706 
6707 static inline __ATTRS_o_ai vector unsigned long long
vec_slb(vector unsigned long long __a,vector signed long long __b)6708 vec_slb(vector unsigned long long __a, vector signed long long __b) {
6709   return (vector unsigned long long)__builtin_s390_vslb(
6710     (vector unsigned char)__a, (vector unsigned char)__b);
6711 }
6712 
6713 static inline __ATTRS_o_ai vector unsigned long long
vec_slb(vector unsigned long long __a,vector unsigned long long __b)6714 vec_slb(vector unsigned long long __a, vector unsigned long long __b) {
6715   return (vector unsigned long long)__builtin_s390_vslb(
6716     (vector unsigned char)__a, (vector unsigned char)__b);
6717 }
6718 
6719 #if __ARCH__ >= 12
6720 static inline __ATTRS_o_ai vector float
vec_slb(vector float __a,vector signed int __b)6721 vec_slb(vector float __a, vector signed int __b) {
6722   return (vector float)__builtin_s390_vslb(
6723     (vector unsigned char)__a, (vector unsigned char)__b);
6724 }
6725 
6726 static inline __ATTRS_o_ai vector float
vec_slb(vector float __a,vector unsigned int __b)6727 vec_slb(vector float __a, vector unsigned int __b) {
6728   return (vector float)__builtin_s390_vslb(
6729     (vector unsigned char)__a, (vector unsigned char)__b);
6730 }
6731 #endif
6732 
6733 static inline __ATTRS_o_ai vector double
vec_slb(vector double __a,vector signed long long __b)6734 vec_slb(vector double __a, vector signed long long __b) {
6735   return (vector double)__builtin_s390_vslb(
6736     (vector unsigned char)__a, (vector unsigned char)__b);
6737 }
6738 
6739 static inline __ATTRS_o_ai vector double
vec_slb(vector double __a,vector unsigned long long __b)6740 vec_slb(vector double __a, vector unsigned long long __b) {
6741   return (vector double)__builtin_s390_vslb(
6742     (vector unsigned char)__a, (vector unsigned char)__b);
6743 }
6744 
6745 /*-- vec_sld ----------------------------------------------------------------*/
6746 
6747 extern __ATTRS_o vector signed char
6748 vec_sld(vector signed char __a, vector signed char __b, int __c)
6749   __constant_range(__c, 0, 15);
6750 
6751 extern __ATTRS_o vector bool char
6752 vec_sld(vector bool char __a, vector bool char __b, int __c)
6753   __constant_range(__c, 0, 15);
6754 
6755 extern __ATTRS_o vector unsigned char
6756 vec_sld(vector unsigned char __a, vector unsigned char __b, int __c)
6757   __constant_range(__c, 0, 15);
6758 
6759 extern __ATTRS_o vector signed short
6760 vec_sld(vector signed short __a, vector signed short __b, int __c)
6761   __constant_range(__c, 0, 15);
6762 
6763 extern __ATTRS_o vector bool short
6764 vec_sld(vector bool short __a, vector bool short __b, int __c)
6765   __constant_range(__c, 0, 15);
6766 
6767 extern __ATTRS_o vector unsigned short
6768 vec_sld(vector unsigned short __a, vector unsigned short __b, int __c)
6769   __constant_range(__c, 0, 15);
6770 
6771 extern __ATTRS_o vector signed int
6772 vec_sld(vector signed int __a, vector signed int __b, int __c)
6773   __constant_range(__c, 0, 15);
6774 
6775 extern __ATTRS_o vector bool int
6776 vec_sld(vector bool int __a, vector bool int __b, int __c)
6777   __constant_range(__c, 0, 15);
6778 
6779 extern __ATTRS_o vector unsigned int
6780 vec_sld(vector unsigned int __a, vector unsigned int __b, int __c)
6781   __constant_range(__c, 0, 15);
6782 
6783 extern __ATTRS_o vector signed long long
6784 vec_sld(vector signed long long __a, vector signed long long __b, int __c)
6785   __constant_range(__c, 0, 15);
6786 
6787 extern __ATTRS_o vector bool long long
6788 vec_sld(vector bool long long __a, vector bool long long __b, int __c)
6789   __constant_range(__c, 0, 15);
6790 
6791 extern __ATTRS_o vector unsigned long long
6792 vec_sld(vector unsigned long long __a, vector unsigned long long __b, int __c)
6793   __constant_range(__c, 0, 15);
6794 
6795 #if __ARCH__ >= 12
6796 extern __ATTRS_o vector float
6797 vec_sld(vector float __a, vector float __b, int __c)
6798   __constant_range(__c, 0, 15);
6799 #endif
6800 
6801 extern __ATTRS_o vector double
6802 vec_sld(vector double __a, vector double __b, int __c)
6803   __constant_range(__c, 0, 15);
6804 
6805 #define vec_sld(X, Y, Z) ((__typeof__((vec_sld)((X), (Y), (Z)))) \
6806   __builtin_s390_vsldb((vector unsigned char)(X), \
6807                        (vector unsigned char)(Y), (Z)))
6808 
6809 /*-- vec_sldw ---------------------------------------------------------------*/
6810 
6811 extern __ATTRS_o vector signed char
6812 vec_sldw(vector signed char __a, vector signed char __b, int __c)
6813   __constant_range(__c, 0, 3);
6814 
6815 extern __ATTRS_o vector unsigned char
6816 vec_sldw(vector unsigned char __a, vector unsigned char __b, int __c)
6817   __constant_range(__c, 0, 3);
6818 
6819 extern __ATTRS_o vector signed short
6820 vec_sldw(vector signed short __a, vector signed short __b, int __c)
6821   __constant_range(__c, 0, 3);
6822 
6823 extern __ATTRS_o vector unsigned short
6824 vec_sldw(vector unsigned short __a, vector unsigned short __b, int __c)
6825   __constant_range(__c, 0, 3);
6826 
6827 extern __ATTRS_o vector signed int
6828 vec_sldw(vector signed int __a, vector signed int __b, int __c)
6829   __constant_range(__c, 0, 3);
6830 
6831 extern __ATTRS_o vector unsigned int
6832 vec_sldw(vector unsigned int __a, vector unsigned int __b, int __c)
6833   __constant_range(__c, 0, 3);
6834 
6835 extern __ATTRS_o vector signed long long
6836 vec_sldw(vector signed long long __a, vector signed long long __b, int __c)
6837   __constant_range(__c, 0, 3);
6838 
6839 extern __ATTRS_o vector unsigned long long
6840 vec_sldw(vector unsigned long long __a, vector unsigned long long __b, int __c)
6841   __constant_range(__c, 0, 3);
6842 
6843 // This prototype is deprecated.
6844 extern __ATTRS_o vector double
6845 vec_sldw(vector double __a, vector double __b, int __c)
6846   __constant_range(__c, 0, 3);
6847 
6848 #define vec_sldw(X, Y, Z) ((__typeof__((vec_sldw)((X), (Y), (Z)))) \
6849   __builtin_s390_vsldb((vector unsigned char)(X), \
6850                        (vector unsigned char)(Y), (Z) * 4))
6851 
6852 /*-- vec_sral ---------------------------------------------------------------*/
6853 
6854 static inline __ATTRS_o_ai vector signed char
vec_sral(vector signed char __a,vector unsigned char __b)6855 vec_sral(vector signed char __a, vector unsigned char __b) {
6856   return (vector signed char)__builtin_s390_vsra(
6857     (vector unsigned char)__a, __b);
6858 }
6859 
6860 // This prototype is deprecated.
6861 static inline __ATTRS_o_ai vector signed char
vec_sral(vector signed char __a,vector unsigned short __b)6862 vec_sral(vector signed char __a, vector unsigned short __b) {
6863   return (vector signed char)__builtin_s390_vsra(
6864     (vector unsigned char)__a, (vector unsigned char)__b);
6865 }
6866 
6867 // This prototype is deprecated.
6868 static inline __ATTRS_o_ai vector signed char
vec_sral(vector signed char __a,vector unsigned int __b)6869 vec_sral(vector signed char __a, vector unsigned int __b) {
6870   return (vector signed char)__builtin_s390_vsra(
6871     (vector unsigned char)__a, (vector unsigned char)__b);
6872 }
6873 
6874 // This prototype is deprecated.
6875 static inline __ATTRS_o_ai vector bool char
vec_sral(vector bool char __a,vector unsigned char __b)6876 vec_sral(vector bool char __a, vector unsigned char __b) {
6877   return (vector bool char)__builtin_s390_vsra(
6878     (vector unsigned char)__a, __b);
6879 }
6880 
6881 // This prototype is deprecated.
6882 static inline __ATTRS_o_ai vector bool char
vec_sral(vector bool char __a,vector unsigned short __b)6883 vec_sral(vector bool char __a, vector unsigned short __b) {
6884   return (vector bool char)__builtin_s390_vsra(
6885     (vector unsigned char)__a, (vector unsigned char)__b);
6886 }
6887 
6888 // This prototype is deprecated.
6889 static inline __ATTRS_o_ai vector bool char
vec_sral(vector bool char __a,vector unsigned int __b)6890 vec_sral(vector bool char __a, vector unsigned int __b) {
6891   return (vector bool char)__builtin_s390_vsra(
6892     (vector unsigned char)__a, (vector unsigned char)__b);
6893 }
6894 
6895 static inline __ATTRS_o_ai vector unsigned char
vec_sral(vector unsigned char __a,vector unsigned char __b)6896 vec_sral(vector unsigned char __a, vector unsigned char __b) {
6897   return __builtin_s390_vsra(__a, __b);
6898 }
6899 
6900 // This prototype is deprecated.
6901 static inline __ATTRS_o_ai vector unsigned char
vec_sral(vector unsigned char __a,vector unsigned short __b)6902 vec_sral(vector unsigned char __a, vector unsigned short __b) {
6903   return __builtin_s390_vsra(__a, (vector unsigned char)__b);
6904 }
6905 
6906 // This prototype is deprecated.
6907 static inline __ATTRS_o_ai vector unsigned char
vec_sral(vector unsigned char __a,vector unsigned int __b)6908 vec_sral(vector unsigned char __a, vector unsigned int __b) {
6909   return __builtin_s390_vsra(__a, (vector unsigned char)__b);
6910 }
6911 
6912 static inline __ATTRS_o_ai vector signed short
vec_sral(vector signed short __a,vector unsigned char __b)6913 vec_sral(vector signed short __a, vector unsigned char __b) {
6914   return (vector signed short)__builtin_s390_vsra(
6915     (vector unsigned char)__a, __b);
6916 }
6917 
6918 // This prototype is deprecated.
6919 static inline __ATTRS_o_ai vector signed short
vec_sral(vector signed short __a,vector unsigned short __b)6920 vec_sral(vector signed short __a, vector unsigned short __b) {
6921   return (vector signed short)__builtin_s390_vsra(
6922     (vector unsigned char)__a, (vector unsigned char)__b);
6923 }
6924 
6925 // This prototype is deprecated.
6926 static inline __ATTRS_o_ai vector signed short
vec_sral(vector signed short __a,vector unsigned int __b)6927 vec_sral(vector signed short __a, vector unsigned int __b) {
6928   return (vector signed short)__builtin_s390_vsra(
6929     (vector unsigned char)__a, (vector unsigned char)__b);
6930 }
6931 
6932 // This prototype is deprecated.
6933 static inline __ATTRS_o_ai vector bool short
vec_sral(vector bool short __a,vector unsigned char __b)6934 vec_sral(vector bool short __a, vector unsigned char __b) {
6935   return (vector bool short)__builtin_s390_vsra(
6936     (vector unsigned char)__a, __b);
6937 }
6938 
6939 // This prototype is deprecated.
6940 static inline __ATTRS_o_ai vector bool short
vec_sral(vector bool short __a,vector unsigned short __b)6941 vec_sral(vector bool short __a, vector unsigned short __b) {
6942   return (vector bool short)__builtin_s390_vsra(
6943     (vector unsigned char)__a, (vector unsigned char)__b);
6944 }
6945 
6946 // This prototype is deprecated.
6947 static inline __ATTRS_o_ai vector bool short
vec_sral(vector bool short __a,vector unsigned int __b)6948 vec_sral(vector bool short __a, vector unsigned int __b) {
6949   return (vector bool short)__builtin_s390_vsra(
6950     (vector unsigned char)__a, (vector unsigned char)__b);
6951 }
6952 
6953 static inline __ATTRS_o_ai vector unsigned short
vec_sral(vector unsigned short __a,vector unsigned char __b)6954 vec_sral(vector unsigned short __a, vector unsigned char __b) {
6955   return (vector unsigned short)__builtin_s390_vsra(
6956     (vector unsigned char)__a, __b);
6957 }
6958 
6959 // This prototype is deprecated.
6960 static inline __ATTRS_o_ai vector unsigned short
vec_sral(vector unsigned short __a,vector unsigned short __b)6961 vec_sral(vector unsigned short __a, vector unsigned short __b) {
6962   return (vector unsigned short)__builtin_s390_vsra(
6963     (vector unsigned char)__a, (vector unsigned char)__b);
6964 }
6965 
6966 // This prototype is deprecated.
6967 static inline __ATTRS_o_ai vector unsigned short
vec_sral(vector unsigned short __a,vector unsigned int __b)6968 vec_sral(vector unsigned short __a, vector unsigned int __b) {
6969   return (vector unsigned short)__builtin_s390_vsra(
6970     (vector unsigned char)__a, (vector unsigned char)__b);
6971 }
6972 
6973 static inline __ATTRS_o_ai vector signed int
vec_sral(vector signed int __a,vector unsigned char __b)6974 vec_sral(vector signed int __a, vector unsigned char __b) {
6975   return (vector signed int)__builtin_s390_vsra(
6976     (vector unsigned char)__a, __b);
6977 }
6978 
6979 // This prototype is deprecated.
6980 static inline __ATTRS_o_ai vector signed int
vec_sral(vector signed int __a,vector unsigned short __b)6981 vec_sral(vector signed int __a, vector unsigned short __b) {
6982   return (vector signed int)__builtin_s390_vsra(
6983     (vector unsigned char)__a, (vector unsigned char)__b);
6984 }
6985 
6986 // This prototype is deprecated.
6987 static inline __ATTRS_o_ai vector signed int
vec_sral(vector signed int __a,vector unsigned int __b)6988 vec_sral(vector signed int __a, vector unsigned int __b) {
6989   return (vector signed int)__builtin_s390_vsra(
6990     (vector unsigned char)__a, (vector unsigned char)__b);
6991 }
6992 
6993 // This prototype is deprecated.
6994 static inline __ATTRS_o_ai vector bool int
vec_sral(vector bool int __a,vector unsigned char __b)6995 vec_sral(vector bool int __a, vector unsigned char __b) {
6996   return (vector bool int)__builtin_s390_vsra(
6997     (vector unsigned char)__a, __b);
6998 }
6999 
7000 // This prototype is deprecated.
7001 static inline __ATTRS_o_ai vector bool int
vec_sral(vector bool int __a,vector unsigned short __b)7002 vec_sral(vector bool int __a, vector unsigned short __b) {
7003   return (vector bool int)__builtin_s390_vsra(
7004     (vector unsigned char)__a, (vector unsigned char)__b);
7005 }
7006 
7007 // This prototype is deprecated.
7008 static inline __ATTRS_o_ai vector bool int
vec_sral(vector bool int __a,vector unsigned int __b)7009 vec_sral(vector bool int __a, vector unsigned int __b) {
7010   return (vector bool int)__builtin_s390_vsra(
7011     (vector unsigned char)__a, (vector unsigned char)__b);
7012 }
7013 
7014 static inline __ATTRS_o_ai vector unsigned int
vec_sral(vector unsigned int __a,vector unsigned char __b)7015 vec_sral(vector unsigned int __a, vector unsigned char __b) {
7016   return (vector unsigned int)__builtin_s390_vsra(
7017     (vector unsigned char)__a, __b);
7018 }
7019 
7020 // This prototype is deprecated.
7021 static inline __ATTRS_o_ai vector unsigned int
vec_sral(vector unsigned int __a,vector unsigned short __b)7022 vec_sral(vector unsigned int __a, vector unsigned short __b) {
7023   return (vector unsigned int)__builtin_s390_vsra(
7024     (vector unsigned char)__a, (vector unsigned char)__b);
7025 }
7026 
7027 // This prototype is deprecated.
7028 static inline __ATTRS_o_ai vector unsigned int
vec_sral(vector unsigned int __a,vector unsigned int __b)7029 vec_sral(vector unsigned int __a, vector unsigned int __b) {
7030   return (vector unsigned int)__builtin_s390_vsra(
7031     (vector unsigned char)__a, (vector unsigned char)__b);
7032 }
7033 
7034 static inline __ATTRS_o_ai vector signed long long
vec_sral(vector signed long long __a,vector unsigned char __b)7035 vec_sral(vector signed long long __a, vector unsigned char __b) {
7036   return (vector signed long long)__builtin_s390_vsra(
7037     (vector unsigned char)__a, __b);
7038 }
7039 
7040 // This prototype is deprecated.
7041 static inline __ATTRS_o_ai vector signed long long
vec_sral(vector signed long long __a,vector unsigned short __b)7042 vec_sral(vector signed long long __a, vector unsigned short __b) {
7043   return (vector signed long long)__builtin_s390_vsra(
7044     (vector unsigned char)__a, (vector unsigned char)__b);
7045 }
7046 
7047 // This prototype is deprecated.
7048 static inline __ATTRS_o_ai vector signed long long
vec_sral(vector signed long long __a,vector unsigned int __b)7049 vec_sral(vector signed long long __a, vector unsigned int __b) {
7050   return (vector signed long long)__builtin_s390_vsra(
7051     (vector unsigned char)__a, (vector unsigned char)__b);
7052 }
7053 
7054 // This prototype is deprecated.
7055 static inline __ATTRS_o_ai vector bool long long
vec_sral(vector bool long long __a,vector unsigned char __b)7056 vec_sral(vector bool long long __a, vector unsigned char __b) {
7057   return (vector bool long long)__builtin_s390_vsra(
7058     (vector unsigned char)__a, __b);
7059 }
7060 
7061 // This prototype is deprecated.
7062 static inline __ATTRS_o_ai vector bool long long
vec_sral(vector bool long long __a,vector unsigned short __b)7063 vec_sral(vector bool long long __a, vector unsigned short __b) {
7064   return (vector bool long long)__builtin_s390_vsra(
7065     (vector unsigned char)__a, (vector unsigned char)__b);
7066 }
7067 
7068 // This prototype is deprecated.
7069 static inline __ATTRS_o_ai vector bool long long
vec_sral(vector bool long long __a,vector unsigned int __b)7070 vec_sral(vector bool long long __a, vector unsigned int __b) {
7071   return (vector bool long long)__builtin_s390_vsra(
7072     (vector unsigned char)__a, (vector unsigned char)__b);
7073 }
7074 
7075 static inline __ATTRS_o_ai vector unsigned long long
vec_sral(vector unsigned long long __a,vector unsigned char __b)7076 vec_sral(vector unsigned long long __a, vector unsigned char __b) {
7077   return (vector unsigned long long)__builtin_s390_vsra(
7078     (vector unsigned char)__a, __b);
7079 }
7080 
7081 // This prototype is deprecated.
7082 static inline __ATTRS_o_ai vector unsigned long long
vec_sral(vector unsigned long long __a,vector unsigned short __b)7083 vec_sral(vector unsigned long long __a, vector unsigned short __b) {
7084   return (vector unsigned long long)__builtin_s390_vsra(
7085     (vector unsigned char)__a, (vector unsigned char)__b);
7086 }
7087 
7088 // This prototype is deprecated.
7089 static inline __ATTRS_o_ai vector unsigned long long
vec_sral(vector unsigned long long __a,vector unsigned int __b)7090 vec_sral(vector unsigned long long __a, vector unsigned int __b) {
7091   return (vector unsigned long long)__builtin_s390_vsra(
7092     (vector unsigned char)__a, (vector unsigned char)__b);
7093 }
7094 
7095 /*-- vec_srab ---------------------------------------------------------------*/
7096 
7097 static inline __ATTRS_o_ai vector signed char
vec_srab(vector signed char __a,vector signed char __b)7098 vec_srab(vector signed char __a, vector signed char __b) {
7099   return (vector signed char)__builtin_s390_vsrab(
7100     (vector unsigned char)__a, (vector unsigned char)__b);
7101 }
7102 
7103 static inline __ATTRS_o_ai vector signed char
vec_srab(vector signed char __a,vector unsigned char __b)7104 vec_srab(vector signed char __a, vector unsigned char __b) {
7105   return (vector signed char)__builtin_s390_vsrab(
7106     (vector unsigned char)__a, __b);
7107 }
7108 
7109 static inline __ATTRS_o_ai vector unsigned char
vec_srab(vector unsigned char __a,vector signed char __b)7110 vec_srab(vector unsigned char __a, vector signed char __b) {
7111   return __builtin_s390_vsrab(__a, (vector unsigned char)__b);
7112 }
7113 
7114 static inline __ATTRS_o_ai vector unsigned char
vec_srab(vector unsigned char __a,vector unsigned char __b)7115 vec_srab(vector unsigned char __a, vector unsigned char __b) {
7116   return __builtin_s390_vsrab(__a, __b);
7117 }
7118 
7119 static inline __ATTRS_o_ai vector signed short
vec_srab(vector signed short __a,vector signed short __b)7120 vec_srab(vector signed short __a, vector signed short __b) {
7121   return (vector signed short)__builtin_s390_vsrab(
7122     (vector unsigned char)__a, (vector unsigned char)__b);
7123 }
7124 
7125 static inline __ATTRS_o_ai vector signed short
vec_srab(vector signed short __a,vector unsigned short __b)7126 vec_srab(vector signed short __a, vector unsigned short __b) {
7127   return (vector signed short)__builtin_s390_vsrab(
7128     (vector unsigned char)__a, (vector unsigned char)__b);
7129 }
7130 
7131 static inline __ATTRS_o_ai vector unsigned short
vec_srab(vector unsigned short __a,vector signed short __b)7132 vec_srab(vector unsigned short __a, vector signed short __b) {
7133   return (vector unsigned short)__builtin_s390_vsrab(
7134     (vector unsigned char)__a, (vector unsigned char)__b);
7135 }
7136 
7137 static inline __ATTRS_o_ai vector unsigned short
vec_srab(vector unsigned short __a,vector unsigned short __b)7138 vec_srab(vector unsigned short __a, vector unsigned short __b) {
7139   return (vector unsigned short)__builtin_s390_vsrab(
7140     (vector unsigned char)__a, (vector unsigned char)__b);
7141 }
7142 
7143 static inline __ATTRS_o_ai vector signed int
vec_srab(vector signed int __a,vector signed int __b)7144 vec_srab(vector signed int __a, vector signed int __b) {
7145   return (vector signed int)__builtin_s390_vsrab(
7146     (vector unsigned char)__a, (vector unsigned char)__b);
7147 }
7148 
7149 static inline __ATTRS_o_ai vector signed int
vec_srab(vector signed int __a,vector unsigned int __b)7150 vec_srab(vector signed int __a, vector unsigned int __b) {
7151   return (vector signed int)__builtin_s390_vsrab(
7152     (vector unsigned char)__a, (vector unsigned char)__b);
7153 }
7154 
7155 static inline __ATTRS_o_ai vector unsigned int
vec_srab(vector unsigned int __a,vector signed int __b)7156 vec_srab(vector unsigned int __a, vector signed int __b) {
7157   return (vector unsigned int)__builtin_s390_vsrab(
7158     (vector unsigned char)__a, (vector unsigned char)__b);
7159 }
7160 
7161 static inline __ATTRS_o_ai vector unsigned int
vec_srab(vector unsigned int __a,vector unsigned int __b)7162 vec_srab(vector unsigned int __a, vector unsigned int __b) {
7163   return (vector unsigned int)__builtin_s390_vsrab(
7164     (vector unsigned char)__a, (vector unsigned char)__b);
7165 }
7166 
7167 static inline __ATTRS_o_ai vector signed long long
vec_srab(vector signed long long __a,vector signed long long __b)7168 vec_srab(vector signed long long __a, vector signed long long __b) {
7169   return (vector signed long long)__builtin_s390_vsrab(
7170     (vector unsigned char)__a, (vector unsigned char)__b);
7171 }
7172 
7173 static inline __ATTRS_o_ai vector signed long long
vec_srab(vector signed long long __a,vector unsigned long long __b)7174 vec_srab(vector signed long long __a, vector unsigned long long __b) {
7175   return (vector signed long long)__builtin_s390_vsrab(
7176     (vector unsigned char)__a, (vector unsigned char)__b);
7177 }
7178 
7179 static inline __ATTRS_o_ai vector unsigned long long
vec_srab(vector unsigned long long __a,vector signed long long __b)7180 vec_srab(vector unsigned long long __a, vector signed long long __b) {
7181   return (vector unsigned long long)__builtin_s390_vsrab(
7182     (vector unsigned char)__a, (vector unsigned char)__b);
7183 }
7184 
7185 static inline __ATTRS_o_ai vector unsigned long long
vec_srab(vector unsigned long long __a,vector unsigned long long __b)7186 vec_srab(vector unsigned long long __a, vector unsigned long long __b) {
7187   return (vector unsigned long long)__builtin_s390_vsrab(
7188     (vector unsigned char)__a, (vector unsigned char)__b);
7189 }
7190 
7191 #if __ARCH__ >= 12
7192 static inline __ATTRS_o_ai vector float
vec_srab(vector float __a,vector signed int __b)7193 vec_srab(vector float __a, vector signed int __b) {
7194   return (vector float)__builtin_s390_vsrab(
7195     (vector unsigned char)__a, (vector unsigned char)__b);
7196 }
7197 
7198 static inline __ATTRS_o_ai vector float
vec_srab(vector float __a,vector unsigned int __b)7199 vec_srab(vector float __a, vector unsigned int __b) {
7200   return (vector float)__builtin_s390_vsrab(
7201     (vector unsigned char)__a, (vector unsigned char)__b);
7202 }
7203 #endif
7204 
7205 static inline __ATTRS_o_ai vector double
vec_srab(vector double __a,vector signed long long __b)7206 vec_srab(vector double __a, vector signed long long __b) {
7207   return (vector double)__builtin_s390_vsrab(
7208     (vector unsigned char)__a, (vector unsigned char)__b);
7209 }
7210 
7211 static inline __ATTRS_o_ai vector double
vec_srab(vector double __a,vector unsigned long long __b)7212 vec_srab(vector double __a, vector unsigned long long __b) {
7213   return (vector double)__builtin_s390_vsrab(
7214     (vector unsigned char)__a, (vector unsigned char)__b);
7215 }
7216 
7217 /*-- vec_srl ----------------------------------------------------------------*/
7218 
7219 static inline __ATTRS_o_ai vector signed char
vec_srl(vector signed char __a,vector unsigned char __b)7220 vec_srl(vector signed char __a, vector unsigned char __b) {
7221   return (vector signed char)__builtin_s390_vsrl(
7222     (vector unsigned char)__a, __b);
7223 }
7224 
7225 // This prototype is deprecated.
7226 static inline __ATTRS_o_ai vector signed char
vec_srl(vector signed char __a,vector unsigned short __b)7227 vec_srl(vector signed char __a, vector unsigned short __b) {
7228   return (vector signed char)__builtin_s390_vsrl(
7229     (vector unsigned char)__a, (vector unsigned char)__b);
7230 }
7231 
7232 // This prototype is deprecated.
7233 static inline __ATTRS_o_ai vector signed char
vec_srl(vector signed char __a,vector unsigned int __b)7234 vec_srl(vector signed char __a, vector unsigned int __b) {
7235   return (vector signed char)__builtin_s390_vsrl(
7236     (vector unsigned char)__a, (vector unsigned char)__b);
7237 }
7238 
7239 // This prototype is deprecated.
7240 static inline __ATTRS_o_ai vector bool char
vec_srl(vector bool char __a,vector unsigned char __b)7241 vec_srl(vector bool char __a, vector unsigned char __b) {
7242   return (vector bool char)__builtin_s390_vsrl(
7243     (vector unsigned char)__a, __b);
7244 }
7245 
7246 // This prototype is deprecated.
7247 static inline __ATTRS_o_ai vector bool char
vec_srl(vector bool char __a,vector unsigned short __b)7248 vec_srl(vector bool char __a, vector unsigned short __b) {
7249   return (vector bool char)__builtin_s390_vsrl(
7250     (vector unsigned char)__a, (vector unsigned char)__b);
7251 }
7252 
7253 // This prototype is deprecated.
7254 static inline __ATTRS_o_ai vector bool char
vec_srl(vector bool char __a,vector unsigned int __b)7255 vec_srl(vector bool char __a, vector unsigned int __b) {
7256   return (vector bool char)__builtin_s390_vsrl(
7257     (vector unsigned char)__a, (vector unsigned char)__b);
7258 }
7259 
7260 static inline __ATTRS_o_ai vector unsigned char
vec_srl(vector unsigned char __a,vector unsigned char __b)7261 vec_srl(vector unsigned char __a, vector unsigned char __b) {
7262   return __builtin_s390_vsrl(__a, __b);
7263 }
7264 
7265 // This prototype is deprecated.
7266 static inline __ATTRS_o_ai vector unsigned char
vec_srl(vector unsigned char __a,vector unsigned short __b)7267 vec_srl(vector unsigned char __a, vector unsigned short __b) {
7268   return __builtin_s390_vsrl(__a, (vector unsigned char)__b);
7269 }
7270 
7271 // This prototype is deprecated.
7272 static inline __ATTRS_o_ai vector unsigned char
vec_srl(vector unsigned char __a,vector unsigned int __b)7273 vec_srl(vector unsigned char __a, vector unsigned int __b) {
7274   return __builtin_s390_vsrl(__a, (vector unsigned char)__b);
7275 }
7276 
7277 static inline __ATTRS_o_ai vector signed short
vec_srl(vector signed short __a,vector unsigned char __b)7278 vec_srl(vector signed short __a, vector unsigned char __b) {
7279   return (vector signed short)__builtin_s390_vsrl(
7280     (vector unsigned char)__a, __b);
7281 }
7282 
7283 // This prototype is deprecated.
7284 static inline __ATTRS_o_ai vector signed short
vec_srl(vector signed short __a,vector unsigned short __b)7285 vec_srl(vector signed short __a, vector unsigned short __b) {
7286   return (vector signed short)__builtin_s390_vsrl(
7287     (vector unsigned char)__a, (vector unsigned char)__b);
7288 }
7289 
7290 // This prototype is deprecated.
7291 static inline __ATTRS_o_ai vector signed short
vec_srl(vector signed short __a,vector unsigned int __b)7292 vec_srl(vector signed short __a, vector unsigned int __b) {
7293   return (vector signed short)__builtin_s390_vsrl(
7294     (vector unsigned char)__a, (vector unsigned char)__b);
7295 }
7296 
7297 // This prototype is deprecated.
7298 static inline __ATTRS_o_ai vector bool short
vec_srl(vector bool short __a,vector unsigned char __b)7299 vec_srl(vector bool short __a, vector unsigned char __b) {
7300   return (vector bool short)__builtin_s390_vsrl(
7301     (vector unsigned char)__a, __b);
7302 }
7303 
7304 // This prototype is deprecated.
7305 static inline __ATTRS_o_ai vector bool short
vec_srl(vector bool short __a,vector unsigned short __b)7306 vec_srl(vector bool short __a, vector unsigned short __b) {
7307   return (vector bool short)__builtin_s390_vsrl(
7308     (vector unsigned char)__a, (vector unsigned char)__b);
7309 }
7310 
7311 // This prototype is deprecated.
7312 static inline __ATTRS_o_ai vector bool short
vec_srl(vector bool short __a,vector unsigned int __b)7313 vec_srl(vector bool short __a, vector unsigned int __b) {
7314   return (vector bool short)__builtin_s390_vsrl(
7315     (vector unsigned char)__a, (vector unsigned char)__b);
7316 }
7317 
7318 static inline __ATTRS_o_ai vector unsigned short
vec_srl(vector unsigned short __a,vector unsigned char __b)7319 vec_srl(vector unsigned short __a, vector unsigned char __b) {
7320   return (vector unsigned short)__builtin_s390_vsrl(
7321     (vector unsigned char)__a, __b);
7322 }
7323 
7324 // This prototype is deprecated.
7325 static inline __ATTRS_o_ai vector unsigned short
vec_srl(vector unsigned short __a,vector unsigned short __b)7326 vec_srl(vector unsigned short __a, vector unsigned short __b) {
7327   return (vector unsigned short)__builtin_s390_vsrl(
7328     (vector unsigned char)__a, (vector unsigned char)__b);
7329 }
7330 
7331 // This prototype is deprecated.
7332 static inline __ATTRS_o_ai vector unsigned short
vec_srl(vector unsigned short __a,vector unsigned int __b)7333 vec_srl(vector unsigned short __a, vector unsigned int __b) {
7334   return (vector unsigned short)__builtin_s390_vsrl(
7335     (vector unsigned char)__a, (vector unsigned char)__b);
7336 }
7337 
7338 static inline __ATTRS_o_ai vector signed int
vec_srl(vector signed int __a,vector unsigned char __b)7339 vec_srl(vector signed int __a, vector unsigned char __b) {
7340   return (vector signed int)__builtin_s390_vsrl(
7341     (vector unsigned char)__a, __b);
7342 }
7343 
7344 // This prototype is deprecated.
7345 static inline __ATTRS_o_ai vector signed int
vec_srl(vector signed int __a,vector unsigned short __b)7346 vec_srl(vector signed int __a, vector unsigned short __b) {
7347   return (vector signed int)__builtin_s390_vsrl(
7348     (vector unsigned char)__a, (vector unsigned char)__b);
7349 }
7350 
7351 // This prototype is deprecated.
7352 static inline __ATTRS_o_ai vector signed int
vec_srl(vector signed int __a,vector unsigned int __b)7353 vec_srl(vector signed int __a, vector unsigned int __b) {
7354   return (vector signed int)__builtin_s390_vsrl(
7355     (vector unsigned char)__a, (vector unsigned char)__b);
7356 }
7357 
7358 // This prototype is deprecated.
7359 static inline __ATTRS_o_ai vector bool int
vec_srl(vector bool int __a,vector unsigned char __b)7360 vec_srl(vector bool int __a, vector unsigned char __b) {
7361   return (vector bool int)__builtin_s390_vsrl(
7362     (vector unsigned char)__a, __b);
7363 }
7364 
7365 // This prototype is deprecated.
7366 static inline __ATTRS_o_ai vector bool int
vec_srl(vector bool int __a,vector unsigned short __b)7367 vec_srl(vector bool int __a, vector unsigned short __b) {
7368   return (vector bool int)__builtin_s390_vsrl(
7369     (vector unsigned char)__a, (vector unsigned char)__b);
7370 }
7371 
7372 // This prototype is deprecated.
7373 static inline __ATTRS_o_ai vector bool int
vec_srl(vector bool int __a,vector unsigned int __b)7374 vec_srl(vector bool int __a, vector unsigned int __b) {
7375   return (vector bool int)__builtin_s390_vsrl(
7376     (vector unsigned char)__a, (vector unsigned char)__b);
7377 }
7378 
7379 static inline __ATTRS_o_ai vector unsigned int
vec_srl(vector unsigned int __a,vector unsigned char __b)7380 vec_srl(vector unsigned int __a, vector unsigned char __b) {
7381   return (vector unsigned int)__builtin_s390_vsrl(
7382     (vector unsigned char)__a, __b);
7383 }
7384 
7385 // This prototype is deprecated.
7386 static inline __ATTRS_o_ai vector unsigned int
vec_srl(vector unsigned int __a,vector unsigned short __b)7387 vec_srl(vector unsigned int __a, vector unsigned short __b) {
7388   return (vector unsigned int)__builtin_s390_vsrl(
7389     (vector unsigned char)__a, (vector unsigned char)__b);
7390 }
7391 
7392 // This prototype is deprecated.
7393 static inline __ATTRS_o_ai vector unsigned int
vec_srl(vector unsigned int __a,vector unsigned int __b)7394 vec_srl(vector unsigned int __a, vector unsigned int __b) {
7395   return (vector unsigned int)__builtin_s390_vsrl(
7396     (vector unsigned char)__a, (vector unsigned char)__b);
7397 }
7398 
7399 static inline __ATTRS_o_ai vector signed long long
vec_srl(vector signed long long __a,vector unsigned char __b)7400 vec_srl(vector signed long long __a, vector unsigned char __b) {
7401   return (vector signed long long)__builtin_s390_vsrl(
7402     (vector unsigned char)__a, __b);
7403 }
7404 
7405 // This prototype is deprecated.
7406 static inline __ATTRS_o_ai vector signed long long
vec_srl(vector signed long long __a,vector unsigned short __b)7407 vec_srl(vector signed long long __a, vector unsigned short __b) {
7408   return (vector signed long long)__builtin_s390_vsrl(
7409     (vector unsigned char)__a, (vector unsigned char)__b);
7410 }
7411 
7412 // This prototype is deprecated.
7413 static inline __ATTRS_o_ai vector signed long long
vec_srl(vector signed long long __a,vector unsigned int __b)7414 vec_srl(vector signed long long __a, vector unsigned int __b) {
7415   return (vector signed long long)__builtin_s390_vsrl(
7416     (vector unsigned char)__a, (vector unsigned char)__b);
7417 }
7418 
7419 // This prototype is deprecated.
7420 static inline __ATTRS_o_ai vector bool long long
vec_srl(vector bool long long __a,vector unsigned char __b)7421 vec_srl(vector bool long long __a, vector unsigned char __b) {
7422   return (vector bool long long)__builtin_s390_vsrl(
7423     (vector unsigned char)__a, __b);
7424 }
7425 
7426 // This prototype is deprecated.
7427 static inline __ATTRS_o_ai vector bool long long
vec_srl(vector bool long long __a,vector unsigned short __b)7428 vec_srl(vector bool long long __a, vector unsigned short __b) {
7429   return (vector bool long long)__builtin_s390_vsrl(
7430     (vector unsigned char)__a, (vector unsigned char)__b);
7431 }
7432 
7433 // This prototype is deprecated.
7434 static inline __ATTRS_o_ai vector bool long long
vec_srl(vector bool long long __a,vector unsigned int __b)7435 vec_srl(vector bool long long __a, vector unsigned int __b) {
7436   return (vector bool long long)__builtin_s390_vsrl(
7437     (vector unsigned char)__a, (vector unsigned char)__b);
7438 }
7439 
7440 static inline __ATTRS_o_ai vector unsigned long long
vec_srl(vector unsigned long long __a,vector unsigned char __b)7441 vec_srl(vector unsigned long long __a, vector unsigned char __b) {
7442   return (vector unsigned long long)__builtin_s390_vsrl(
7443     (vector unsigned char)__a, __b);
7444 }
7445 
7446 // This prototype is deprecated.
7447 static inline __ATTRS_o_ai vector unsigned long long
vec_srl(vector unsigned long long __a,vector unsigned short __b)7448 vec_srl(vector unsigned long long __a, vector unsigned short __b) {
7449   return (vector unsigned long long)__builtin_s390_vsrl(
7450     (vector unsigned char)__a, (vector unsigned char)__b);
7451 }
7452 
7453 // This prototype is deprecated.
7454 static inline __ATTRS_o_ai vector unsigned long long
vec_srl(vector unsigned long long __a,vector unsigned int __b)7455 vec_srl(vector unsigned long long __a, vector unsigned int __b) {
7456   return (vector unsigned long long)__builtin_s390_vsrl(
7457     (vector unsigned char)__a, (vector unsigned char)__b);
7458 }
7459 
7460 /*-- vec_srb ----------------------------------------------------------------*/
7461 
7462 static inline __ATTRS_o_ai vector signed char
vec_srb(vector signed char __a,vector signed char __b)7463 vec_srb(vector signed char __a, vector signed char __b) {
7464   return (vector signed char)__builtin_s390_vsrlb(
7465     (vector unsigned char)__a, (vector unsigned char)__b);
7466 }
7467 
7468 static inline __ATTRS_o_ai vector signed char
vec_srb(vector signed char __a,vector unsigned char __b)7469 vec_srb(vector signed char __a, vector unsigned char __b) {
7470   return (vector signed char)__builtin_s390_vsrlb(
7471     (vector unsigned char)__a, __b);
7472 }
7473 
7474 static inline __ATTRS_o_ai vector unsigned char
vec_srb(vector unsigned char __a,vector signed char __b)7475 vec_srb(vector unsigned char __a, vector signed char __b) {
7476   return __builtin_s390_vsrlb(__a, (vector unsigned char)__b);
7477 }
7478 
7479 static inline __ATTRS_o_ai vector unsigned char
vec_srb(vector unsigned char __a,vector unsigned char __b)7480 vec_srb(vector unsigned char __a, vector unsigned char __b) {
7481   return __builtin_s390_vsrlb(__a, __b);
7482 }
7483 
7484 static inline __ATTRS_o_ai vector signed short
vec_srb(vector signed short __a,vector signed short __b)7485 vec_srb(vector signed short __a, vector signed short __b) {
7486   return (vector signed short)__builtin_s390_vsrlb(
7487     (vector unsigned char)__a, (vector unsigned char)__b);
7488 }
7489 
7490 static inline __ATTRS_o_ai vector signed short
vec_srb(vector signed short __a,vector unsigned short __b)7491 vec_srb(vector signed short __a, vector unsigned short __b) {
7492   return (vector signed short)__builtin_s390_vsrlb(
7493     (vector unsigned char)__a, (vector unsigned char)__b);
7494 }
7495 
7496 static inline __ATTRS_o_ai vector unsigned short
vec_srb(vector unsigned short __a,vector signed short __b)7497 vec_srb(vector unsigned short __a, vector signed short __b) {
7498   return (vector unsigned short)__builtin_s390_vsrlb(
7499     (vector unsigned char)__a, (vector unsigned char)__b);
7500 }
7501 
7502 static inline __ATTRS_o_ai vector unsigned short
vec_srb(vector unsigned short __a,vector unsigned short __b)7503 vec_srb(vector unsigned short __a, vector unsigned short __b) {
7504   return (vector unsigned short)__builtin_s390_vsrlb(
7505     (vector unsigned char)__a, (vector unsigned char)__b);
7506 }
7507 
7508 static inline __ATTRS_o_ai vector signed int
vec_srb(vector signed int __a,vector signed int __b)7509 vec_srb(vector signed int __a, vector signed int __b) {
7510   return (vector signed int)__builtin_s390_vsrlb(
7511     (vector unsigned char)__a, (vector unsigned char)__b);
7512 }
7513 
7514 static inline __ATTRS_o_ai vector signed int
vec_srb(vector signed int __a,vector unsigned int __b)7515 vec_srb(vector signed int __a, vector unsigned int __b) {
7516   return (vector signed int)__builtin_s390_vsrlb(
7517     (vector unsigned char)__a, (vector unsigned char)__b);
7518 }
7519 
7520 static inline __ATTRS_o_ai vector unsigned int
vec_srb(vector unsigned int __a,vector signed int __b)7521 vec_srb(vector unsigned int __a, vector signed int __b) {
7522   return (vector unsigned int)__builtin_s390_vsrlb(
7523     (vector unsigned char)__a, (vector unsigned char)__b);
7524 }
7525 
7526 static inline __ATTRS_o_ai vector unsigned int
vec_srb(vector unsigned int __a,vector unsigned int __b)7527 vec_srb(vector unsigned int __a, vector unsigned int __b) {
7528   return (vector unsigned int)__builtin_s390_vsrlb(
7529     (vector unsigned char)__a, (vector unsigned char)__b);
7530 }
7531 
7532 static inline __ATTRS_o_ai vector signed long long
vec_srb(vector signed long long __a,vector signed long long __b)7533 vec_srb(vector signed long long __a, vector signed long long __b) {
7534   return (vector signed long long)__builtin_s390_vsrlb(
7535     (vector unsigned char)__a, (vector unsigned char)__b);
7536 }
7537 
7538 static inline __ATTRS_o_ai vector signed long long
vec_srb(vector signed long long __a,vector unsigned long long __b)7539 vec_srb(vector signed long long __a, vector unsigned long long __b) {
7540   return (vector signed long long)__builtin_s390_vsrlb(
7541     (vector unsigned char)__a, (vector unsigned char)__b);
7542 }
7543 
7544 static inline __ATTRS_o_ai vector unsigned long long
vec_srb(vector unsigned long long __a,vector signed long long __b)7545 vec_srb(vector unsigned long long __a, vector signed long long __b) {
7546   return (vector unsigned long long)__builtin_s390_vsrlb(
7547     (vector unsigned char)__a, (vector unsigned char)__b);
7548 }
7549 
7550 static inline __ATTRS_o_ai vector unsigned long long
vec_srb(vector unsigned long long __a,vector unsigned long long __b)7551 vec_srb(vector unsigned long long __a, vector unsigned long long __b) {
7552   return (vector unsigned long long)__builtin_s390_vsrlb(
7553     (vector unsigned char)__a, (vector unsigned char)__b);
7554 }
7555 
7556 #if __ARCH__ >= 12
7557 static inline __ATTRS_o_ai vector float
vec_srb(vector float __a,vector signed int __b)7558 vec_srb(vector float __a, vector signed int __b) {
7559   return (vector float)__builtin_s390_vsrlb(
7560     (vector unsigned char)__a, (vector unsigned char)__b);
7561 }
7562 
7563 static inline __ATTRS_o_ai vector float
vec_srb(vector float __a,vector unsigned int __b)7564 vec_srb(vector float __a, vector unsigned int __b) {
7565   return (vector float)__builtin_s390_vsrlb(
7566     (vector unsigned char)__a, (vector unsigned char)__b);
7567 }
7568 #endif
7569 
7570 static inline __ATTRS_o_ai vector double
vec_srb(vector double __a,vector signed long long __b)7571 vec_srb(vector double __a, vector signed long long __b) {
7572   return (vector double)__builtin_s390_vsrlb(
7573     (vector unsigned char)__a, (vector unsigned char)__b);
7574 }
7575 
7576 static inline __ATTRS_o_ai vector double
vec_srb(vector double __a,vector unsigned long long __b)7577 vec_srb(vector double __a, vector unsigned long long __b) {
7578   return (vector double)__builtin_s390_vsrlb(
7579     (vector unsigned char)__a, (vector unsigned char)__b);
7580 }
7581 
7582 /*-- vec_abs ----------------------------------------------------------------*/
7583 
7584 static inline __ATTRS_o_ai vector signed char
vec_abs(vector signed char __a)7585 vec_abs(vector signed char __a) {
7586   return vec_sel(__a, -__a, vec_cmplt(__a, (vector signed char)0));
7587 }
7588 
7589 static inline __ATTRS_o_ai vector signed short
vec_abs(vector signed short __a)7590 vec_abs(vector signed short __a) {
7591   return vec_sel(__a, -__a, vec_cmplt(__a, (vector signed short)0));
7592 }
7593 
7594 static inline __ATTRS_o_ai vector signed int
vec_abs(vector signed int __a)7595 vec_abs(vector signed int __a) {
7596   return vec_sel(__a, -__a, vec_cmplt(__a, (vector signed int)0));
7597 }
7598 
7599 static inline __ATTRS_o_ai vector signed long long
vec_abs(vector signed long long __a)7600 vec_abs(vector signed long long __a) {
7601   return vec_sel(__a, -__a, vec_cmplt(__a, (vector signed long long)0));
7602 }
7603 
7604 #if __ARCH__ >= 12
7605 static inline __ATTRS_o_ai vector float
vec_abs(vector float __a)7606 vec_abs(vector float __a) {
7607   return __builtin_s390_vflpsb(__a);
7608 }
7609 #endif
7610 
7611 static inline __ATTRS_o_ai vector double
vec_abs(vector double __a)7612 vec_abs(vector double __a) {
7613   return __builtin_s390_vflpdb(__a);
7614 }
7615 
7616 /*-- vec_nabs ---------------------------------------------------------------*/
7617 
7618 #if __ARCH__ >= 12
7619 static inline __ATTRS_o_ai vector float
vec_nabs(vector float __a)7620 vec_nabs(vector float __a) {
7621   return __builtin_s390_vflnsb(__a);
7622 }
7623 #endif
7624 
7625 static inline __ATTRS_o_ai vector double
vec_nabs(vector double __a)7626 vec_nabs(vector double __a) {
7627   return __builtin_s390_vflndb(__a);
7628 }
7629 
7630 /*-- vec_max ----------------------------------------------------------------*/
7631 
7632 static inline __ATTRS_o_ai vector signed char
vec_max(vector signed char __a,vector signed char __b)7633 vec_max(vector signed char __a, vector signed char __b) {
7634   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
7635 }
7636 
7637 // This prototype is deprecated.
7638 static inline __ATTRS_o_ai vector signed char
vec_max(vector signed char __a,vector bool char __b)7639 vec_max(vector signed char __a, vector bool char __b) {
7640   vector signed char __bc = (vector signed char)__b;
7641   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
7642 }
7643 
7644 // This prototype is deprecated.
7645 static inline __ATTRS_o_ai vector signed char
vec_max(vector bool char __a,vector signed char __b)7646 vec_max(vector bool char __a, vector signed char __b) {
7647   vector signed char __ac = (vector signed char)__a;
7648   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
7649 }
7650 
7651 static inline __ATTRS_o_ai vector unsigned char
vec_max(vector unsigned char __a,vector unsigned char __b)7652 vec_max(vector unsigned char __a, vector unsigned char __b) {
7653   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
7654 }
7655 
7656 // This prototype is deprecated.
7657 static inline __ATTRS_o_ai vector unsigned char
vec_max(vector unsigned char __a,vector bool char __b)7658 vec_max(vector unsigned char __a, vector bool char __b) {
7659   vector unsigned char __bc = (vector unsigned char)__b;
7660   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
7661 }
7662 
7663 // This prototype is deprecated.
7664 static inline __ATTRS_o_ai vector unsigned char
vec_max(vector bool char __a,vector unsigned char __b)7665 vec_max(vector bool char __a, vector unsigned char __b) {
7666   vector unsigned char __ac = (vector unsigned char)__a;
7667   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
7668 }
7669 
7670 static inline __ATTRS_o_ai vector signed short
vec_max(vector signed short __a,vector signed short __b)7671 vec_max(vector signed short __a, vector signed short __b) {
7672   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
7673 }
7674 
7675 // This prototype is deprecated.
7676 static inline __ATTRS_o_ai vector signed short
vec_max(vector signed short __a,vector bool short __b)7677 vec_max(vector signed short __a, vector bool short __b) {
7678   vector signed short __bc = (vector signed short)__b;
7679   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
7680 }
7681 
7682 // This prototype is deprecated.
7683 static inline __ATTRS_o_ai vector signed short
vec_max(vector bool short __a,vector signed short __b)7684 vec_max(vector bool short __a, vector signed short __b) {
7685   vector signed short __ac = (vector signed short)__a;
7686   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
7687 }
7688 
7689 static inline __ATTRS_o_ai vector unsigned short
vec_max(vector unsigned short __a,vector unsigned short __b)7690 vec_max(vector unsigned short __a, vector unsigned short __b) {
7691   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
7692 }
7693 
7694 // This prototype is deprecated.
7695 static inline __ATTRS_o_ai vector unsigned short
vec_max(vector unsigned short __a,vector bool short __b)7696 vec_max(vector unsigned short __a, vector bool short __b) {
7697   vector unsigned short __bc = (vector unsigned short)__b;
7698   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
7699 }
7700 
7701 // This prototype is deprecated.
7702 static inline __ATTRS_o_ai vector unsigned short
vec_max(vector bool short __a,vector unsigned short __b)7703 vec_max(vector bool short __a, vector unsigned short __b) {
7704   vector unsigned short __ac = (vector unsigned short)__a;
7705   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
7706 }
7707 
7708 static inline __ATTRS_o_ai vector signed int
vec_max(vector signed int __a,vector signed int __b)7709 vec_max(vector signed int __a, vector signed int __b) {
7710   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
7711 }
7712 
7713 // This prototype is deprecated.
7714 static inline __ATTRS_o_ai vector signed int
vec_max(vector signed int __a,vector bool int __b)7715 vec_max(vector signed int __a, vector bool int __b) {
7716   vector signed int __bc = (vector signed int)__b;
7717   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
7718 }
7719 
7720 // This prototype is deprecated.
7721 static inline __ATTRS_o_ai vector signed int
vec_max(vector bool int __a,vector signed int __b)7722 vec_max(vector bool int __a, vector signed int __b) {
7723   vector signed int __ac = (vector signed int)__a;
7724   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
7725 }
7726 
7727 static inline __ATTRS_o_ai vector unsigned int
vec_max(vector unsigned int __a,vector unsigned int __b)7728 vec_max(vector unsigned int __a, vector unsigned int __b) {
7729   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
7730 }
7731 
7732 // This prototype is deprecated.
7733 static inline __ATTRS_o_ai vector unsigned int
vec_max(vector unsigned int __a,vector bool int __b)7734 vec_max(vector unsigned int __a, vector bool int __b) {
7735   vector unsigned int __bc = (vector unsigned int)__b;
7736   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
7737 }
7738 
7739 // This prototype is deprecated.
7740 static inline __ATTRS_o_ai vector unsigned int
vec_max(vector bool int __a,vector unsigned int __b)7741 vec_max(vector bool int __a, vector unsigned int __b) {
7742   vector unsigned int __ac = (vector unsigned int)__a;
7743   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
7744 }
7745 
7746 static inline __ATTRS_o_ai vector signed long long
vec_max(vector signed long long __a,vector signed long long __b)7747 vec_max(vector signed long long __a, vector signed long long __b) {
7748   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
7749 }
7750 
7751 // This prototype is deprecated.
7752 static inline __ATTRS_o_ai vector signed long long
vec_max(vector signed long long __a,vector bool long long __b)7753 vec_max(vector signed long long __a, vector bool long long __b) {
7754   vector signed long long __bc = (vector signed long long)__b;
7755   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
7756 }
7757 
7758 // This prototype is deprecated.
7759 static inline __ATTRS_o_ai vector signed long long
vec_max(vector bool long long __a,vector signed long long __b)7760 vec_max(vector bool long long __a, vector signed long long __b) {
7761   vector signed long long __ac = (vector signed long long)__a;
7762   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
7763 }
7764 
7765 static inline __ATTRS_o_ai vector unsigned long long
vec_max(vector unsigned long long __a,vector unsigned long long __b)7766 vec_max(vector unsigned long long __a, vector unsigned long long __b) {
7767   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
7768 }
7769 
7770 // This prototype is deprecated.
7771 static inline __ATTRS_o_ai vector unsigned long long
vec_max(vector unsigned long long __a,vector bool long long __b)7772 vec_max(vector unsigned long long __a, vector bool long long __b) {
7773   vector unsigned long long __bc = (vector unsigned long long)__b;
7774   return vec_sel(__bc, __a, vec_cmpgt(__a, __bc));
7775 }
7776 
7777 // This prototype is deprecated.
7778 static inline __ATTRS_o_ai vector unsigned long long
vec_max(vector bool long long __a,vector unsigned long long __b)7779 vec_max(vector bool long long __a, vector unsigned long long __b) {
7780   vector unsigned long long __ac = (vector unsigned long long)__a;
7781   return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
7782 }
7783 
7784 #if __ARCH__ >= 12
7785 static inline __ATTRS_o_ai vector float
vec_max(vector float __a,vector float __b)7786 vec_max(vector float __a, vector float __b) {
7787   return __builtin_s390_vfmaxsb(__a, __b, 0);
7788 }
7789 #endif
7790 
7791 static inline __ATTRS_o_ai vector double
vec_max(vector double __a,vector double __b)7792 vec_max(vector double __a, vector double __b) {
7793 #if __ARCH__ >= 12
7794   return __builtin_s390_vfmaxdb(__a, __b, 0);
7795 #else
7796   return vec_sel(__b, __a, vec_cmpgt(__a, __b));
7797 #endif
7798 }
7799 
7800 /*-- vec_min ----------------------------------------------------------------*/
7801 
7802 static inline __ATTRS_o_ai vector signed char
vec_min(vector signed char __a,vector signed char __b)7803 vec_min(vector signed char __a, vector signed char __b) {
7804   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
7805 }
7806 
7807 // This prototype is deprecated.
7808 static inline __ATTRS_o_ai vector signed char
vec_min(vector signed char __a,vector bool char __b)7809 vec_min(vector signed char __a, vector bool char __b) {
7810   vector signed char __bc = (vector signed char)__b;
7811   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
7812 }
7813 
7814 // This prototype is deprecated.
7815 static inline __ATTRS_o_ai vector signed char
vec_min(vector bool char __a,vector signed char __b)7816 vec_min(vector bool char __a, vector signed char __b) {
7817   vector signed char __ac = (vector signed char)__a;
7818   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
7819 }
7820 
7821 static inline __ATTRS_o_ai vector unsigned char
vec_min(vector unsigned char __a,vector unsigned char __b)7822 vec_min(vector unsigned char __a, vector unsigned char __b) {
7823   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
7824 }
7825 
7826 // This prototype is deprecated.
7827 static inline __ATTRS_o_ai vector unsigned char
vec_min(vector unsigned char __a,vector bool char __b)7828 vec_min(vector unsigned char __a, vector bool char __b) {
7829   vector unsigned char __bc = (vector unsigned char)__b;
7830   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
7831 }
7832 
7833 // This prototype is deprecated.
7834 static inline __ATTRS_o_ai vector unsigned char
vec_min(vector bool char __a,vector unsigned char __b)7835 vec_min(vector bool char __a, vector unsigned char __b) {
7836   vector unsigned char __ac = (vector unsigned char)__a;
7837   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
7838 }
7839 
7840 static inline __ATTRS_o_ai vector signed short
vec_min(vector signed short __a,vector signed short __b)7841 vec_min(vector signed short __a, vector signed short __b) {
7842   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
7843 }
7844 
7845 // This prototype is deprecated.
7846 static inline __ATTRS_o_ai vector signed short
vec_min(vector signed short __a,vector bool short __b)7847 vec_min(vector signed short __a, vector bool short __b) {
7848   vector signed short __bc = (vector signed short)__b;
7849   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
7850 }
7851 
7852 // This prototype is deprecated.
7853 static inline __ATTRS_o_ai vector signed short
vec_min(vector bool short __a,vector signed short __b)7854 vec_min(vector bool short __a, vector signed short __b) {
7855   vector signed short __ac = (vector signed short)__a;
7856   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
7857 }
7858 
7859 static inline __ATTRS_o_ai vector unsigned short
vec_min(vector unsigned short __a,vector unsigned short __b)7860 vec_min(vector unsigned short __a, vector unsigned short __b) {
7861   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
7862 }
7863 
7864 // This prototype is deprecated.
7865 static inline __ATTRS_o_ai vector unsigned short
vec_min(vector unsigned short __a,vector bool short __b)7866 vec_min(vector unsigned short __a, vector bool short __b) {
7867   vector unsigned short __bc = (vector unsigned short)__b;
7868   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
7869 }
7870 
7871 // This prototype is deprecated.
7872 static inline __ATTRS_o_ai vector unsigned short
vec_min(vector bool short __a,vector unsigned short __b)7873 vec_min(vector bool short __a, vector unsigned short __b) {
7874   vector unsigned short __ac = (vector unsigned short)__a;
7875   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
7876 }
7877 
7878 static inline __ATTRS_o_ai vector signed int
vec_min(vector signed int __a,vector signed int __b)7879 vec_min(vector signed int __a, vector signed int __b) {
7880   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
7881 }
7882 
7883 // This prototype is deprecated.
7884 static inline __ATTRS_o_ai vector signed int
vec_min(vector signed int __a,vector bool int __b)7885 vec_min(vector signed int __a, vector bool int __b) {
7886   vector signed int __bc = (vector signed int)__b;
7887   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
7888 }
7889 
7890 // This prototype is deprecated.
7891 static inline __ATTRS_o_ai vector signed int
vec_min(vector bool int __a,vector signed int __b)7892 vec_min(vector bool int __a, vector signed int __b) {
7893   vector signed int __ac = (vector signed int)__a;
7894   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
7895 }
7896 
7897 static inline __ATTRS_o_ai vector unsigned int
vec_min(vector unsigned int __a,vector unsigned int __b)7898 vec_min(vector unsigned int __a, vector unsigned int __b) {
7899   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
7900 }
7901 
7902 // This prototype is deprecated.
7903 static inline __ATTRS_o_ai vector unsigned int
vec_min(vector unsigned int __a,vector bool int __b)7904 vec_min(vector unsigned int __a, vector bool int __b) {
7905   vector unsigned int __bc = (vector unsigned int)__b;
7906   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
7907 }
7908 
7909 // This prototype is deprecated.
7910 static inline __ATTRS_o_ai vector unsigned int
vec_min(vector bool int __a,vector unsigned int __b)7911 vec_min(vector bool int __a, vector unsigned int __b) {
7912   vector unsigned int __ac = (vector unsigned int)__a;
7913   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
7914 }
7915 
7916 static inline __ATTRS_o_ai vector signed long long
vec_min(vector signed long long __a,vector signed long long __b)7917 vec_min(vector signed long long __a, vector signed long long __b) {
7918   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
7919 }
7920 
7921 // This prototype is deprecated.
7922 static inline __ATTRS_o_ai vector signed long long
vec_min(vector signed long long __a,vector bool long long __b)7923 vec_min(vector signed long long __a, vector bool long long __b) {
7924   vector signed long long __bc = (vector signed long long)__b;
7925   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
7926 }
7927 
7928 // This prototype is deprecated.
7929 static inline __ATTRS_o_ai vector signed long long
vec_min(vector bool long long __a,vector signed long long __b)7930 vec_min(vector bool long long __a, vector signed long long __b) {
7931   vector signed long long __ac = (vector signed long long)__a;
7932   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
7933 }
7934 
7935 static inline __ATTRS_o_ai vector unsigned long long
vec_min(vector unsigned long long __a,vector unsigned long long __b)7936 vec_min(vector unsigned long long __a, vector unsigned long long __b) {
7937   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
7938 }
7939 
7940 // This prototype is deprecated.
7941 static inline __ATTRS_o_ai vector unsigned long long
vec_min(vector unsigned long long __a,vector bool long long __b)7942 vec_min(vector unsigned long long __a, vector bool long long __b) {
7943   vector unsigned long long __bc = (vector unsigned long long)__b;
7944   return vec_sel(__a, __bc, vec_cmpgt(__a, __bc));
7945 }
7946 
7947 // This prototype is deprecated.
7948 static inline __ATTRS_o_ai vector unsigned long long
vec_min(vector bool long long __a,vector unsigned long long __b)7949 vec_min(vector bool long long __a, vector unsigned long long __b) {
7950   vector unsigned long long __ac = (vector unsigned long long)__a;
7951   return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
7952 }
7953 
7954 #if __ARCH__ >= 12
7955 static inline __ATTRS_o_ai vector float
vec_min(vector float __a,vector float __b)7956 vec_min(vector float __a, vector float __b) {
7957   return __builtin_s390_vfminsb(__a, __b, 0);
7958 }
7959 #endif
7960 
7961 static inline __ATTRS_o_ai vector double
vec_min(vector double __a,vector double __b)7962 vec_min(vector double __a, vector double __b) {
7963 #if __ARCH__ >= 12
7964   return __builtin_s390_vfmindb(__a, __b, 0);
7965 #else
7966   return vec_sel(__a, __b, vec_cmpgt(__a, __b));
7967 #endif
7968 }
7969 
7970 /*-- vec_add_u128 -----------------------------------------------------------*/
7971 
7972 static inline __ATTRS_ai vector unsigned char
vec_add_u128(vector unsigned char __a,vector unsigned char __b)7973 vec_add_u128(vector unsigned char __a, vector unsigned char __b) {
7974   return __builtin_s390_vaq(__a, __b);
7975 }
7976 
7977 /*-- vec_addc ---------------------------------------------------------------*/
7978 
7979 static inline __ATTRS_o_ai vector unsigned char
vec_addc(vector unsigned char __a,vector unsigned char __b)7980 vec_addc(vector unsigned char __a, vector unsigned char __b) {
7981   return __builtin_s390_vaccb(__a, __b);
7982 }
7983 
7984 static inline __ATTRS_o_ai vector unsigned short
vec_addc(vector unsigned short __a,vector unsigned short __b)7985 vec_addc(vector unsigned short __a, vector unsigned short __b) {
7986   return __builtin_s390_vacch(__a, __b);
7987 }
7988 
7989 static inline __ATTRS_o_ai vector unsigned int
vec_addc(vector unsigned int __a,vector unsigned int __b)7990 vec_addc(vector unsigned int __a, vector unsigned int __b) {
7991   return __builtin_s390_vaccf(__a, __b);
7992 }
7993 
7994 static inline __ATTRS_o_ai vector unsigned long long
vec_addc(vector unsigned long long __a,vector unsigned long long __b)7995 vec_addc(vector unsigned long long __a, vector unsigned long long __b) {
7996   return __builtin_s390_vaccg(__a, __b);
7997 }
7998 
7999 /*-- vec_addc_u128 ----------------------------------------------------------*/
8000 
8001 static inline __ATTRS_ai vector unsigned char
vec_addc_u128(vector unsigned char __a,vector unsigned char __b)8002 vec_addc_u128(vector unsigned char __a, vector unsigned char __b) {
8003   return __builtin_s390_vaccq(__a, __b);
8004 }
8005 
8006 /*-- vec_adde_u128 ----------------------------------------------------------*/
8007 
8008 static inline __ATTRS_ai vector unsigned char
vec_adde_u128(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)8009 vec_adde_u128(vector unsigned char __a, vector unsigned char __b,
8010               vector unsigned char __c) {
8011   return __builtin_s390_vacq(__a, __b, __c);
8012 }
8013 
8014 /*-- vec_addec_u128 ---------------------------------------------------------*/
8015 
8016 static inline __ATTRS_ai vector unsigned char
vec_addec_u128(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)8017 vec_addec_u128(vector unsigned char __a, vector unsigned char __b,
8018                vector unsigned char __c) {
8019   return __builtin_s390_vacccq(__a, __b, __c);
8020 }
8021 
8022 /*-- vec_avg ----------------------------------------------------------------*/
8023 
8024 static inline __ATTRS_o_ai vector signed char
vec_avg(vector signed char __a,vector signed char __b)8025 vec_avg(vector signed char __a, vector signed char __b) {
8026   return __builtin_s390_vavgb(__a, __b);
8027 }
8028 
8029 static inline __ATTRS_o_ai vector signed short
vec_avg(vector signed short __a,vector signed short __b)8030 vec_avg(vector signed short __a, vector signed short __b) {
8031   return __builtin_s390_vavgh(__a, __b);
8032 }
8033 
8034 static inline __ATTRS_o_ai vector signed int
vec_avg(vector signed int __a,vector signed int __b)8035 vec_avg(vector signed int __a, vector signed int __b) {
8036   return __builtin_s390_vavgf(__a, __b);
8037 }
8038 
8039 static inline __ATTRS_o_ai vector signed long long
vec_avg(vector signed long long __a,vector signed long long __b)8040 vec_avg(vector signed long long __a, vector signed long long __b) {
8041   return __builtin_s390_vavgg(__a, __b);
8042 }
8043 
8044 static inline __ATTRS_o_ai vector unsigned char
vec_avg(vector unsigned char __a,vector unsigned char __b)8045 vec_avg(vector unsigned char __a, vector unsigned char __b) {
8046   return __builtin_s390_vavglb(__a, __b);
8047 }
8048 
8049 static inline __ATTRS_o_ai vector unsigned short
vec_avg(vector unsigned short __a,vector unsigned short __b)8050 vec_avg(vector unsigned short __a, vector unsigned short __b) {
8051   return __builtin_s390_vavglh(__a, __b);
8052 }
8053 
8054 static inline __ATTRS_o_ai vector unsigned int
vec_avg(vector unsigned int __a,vector unsigned int __b)8055 vec_avg(vector unsigned int __a, vector unsigned int __b) {
8056   return __builtin_s390_vavglf(__a, __b);
8057 }
8058 
8059 static inline __ATTRS_o_ai vector unsigned long long
vec_avg(vector unsigned long long __a,vector unsigned long long __b)8060 vec_avg(vector unsigned long long __a, vector unsigned long long __b) {
8061   return __builtin_s390_vavglg(__a, __b);
8062 }
8063 
8064 /*-- vec_checksum -----------------------------------------------------------*/
8065 
8066 static inline __ATTRS_ai vector unsigned int
vec_checksum(vector unsigned int __a,vector unsigned int __b)8067 vec_checksum(vector unsigned int __a, vector unsigned int __b) {
8068   return __builtin_s390_vcksm(__a, __b);
8069 }
8070 
8071 /*-- vec_gfmsum -------------------------------------------------------------*/
8072 
8073 static inline __ATTRS_o_ai vector unsigned short
vec_gfmsum(vector unsigned char __a,vector unsigned char __b)8074 vec_gfmsum(vector unsigned char __a, vector unsigned char __b) {
8075   return __builtin_s390_vgfmb(__a, __b);
8076 }
8077 
8078 static inline __ATTRS_o_ai vector unsigned int
vec_gfmsum(vector unsigned short __a,vector unsigned short __b)8079 vec_gfmsum(vector unsigned short __a, vector unsigned short __b) {
8080   return __builtin_s390_vgfmh(__a, __b);
8081 }
8082 
8083 static inline __ATTRS_o_ai vector unsigned long long
vec_gfmsum(vector unsigned int __a,vector unsigned int __b)8084 vec_gfmsum(vector unsigned int __a, vector unsigned int __b) {
8085   return __builtin_s390_vgfmf(__a, __b);
8086 }
8087 
8088 /*-- vec_gfmsum_128 ---------------------------------------------------------*/
8089 
8090 static inline __ATTRS_o_ai vector unsigned char
vec_gfmsum_128(vector unsigned long long __a,vector unsigned long long __b)8091 vec_gfmsum_128(vector unsigned long long __a, vector unsigned long long __b) {
8092   return __builtin_s390_vgfmg(__a, __b);
8093 }
8094 
8095 /*-- vec_gfmsum_accum -------------------------------------------------------*/
8096 
8097 static inline __ATTRS_o_ai vector unsigned short
vec_gfmsum_accum(vector unsigned char __a,vector unsigned char __b,vector unsigned short __c)8098 vec_gfmsum_accum(vector unsigned char __a, vector unsigned char __b,
8099                  vector unsigned short __c) {
8100   return __builtin_s390_vgfmab(__a, __b, __c);
8101 }
8102 
8103 static inline __ATTRS_o_ai vector unsigned int
vec_gfmsum_accum(vector unsigned short __a,vector unsigned short __b,vector unsigned int __c)8104 vec_gfmsum_accum(vector unsigned short __a, vector unsigned short __b,
8105                  vector unsigned int __c) {
8106   return __builtin_s390_vgfmah(__a, __b, __c);
8107 }
8108 
8109 static inline __ATTRS_o_ai vector unsigned long long
vec_gfmsum_accum(vector unsigned int __a,vector unsigned int __b,vector unsigned long long __c)8110 vec_gfmsum_accum(vector unsigned int __a, vector unsigned int __b,
8111                  vector unsigned long long __c) {
8112   return __builtin_s390_vgfmaf(__a, __b, __c);
8113 }
8114 
8115 /*-- vec_gfmsum_accum_128 ---------------------------------------------------*/
8116 
8117 static inline __ATTRS_o_ai vector unsigned char
vec_gfmsum_accum_128(vector unsigned long long __a,vector unsigned long long __b,vector unsigned char __c)8118 vec_gfmsum_accum_128(vector unsigned long long __a,
8119                      vector unsigned long long __b,
8120                      vector unsigned char __c) {
8121   return __builtin_s390_vgfmag(__a, __b, __c);
8122 }
8123 
8124 /*-- vec_mladd --------------------------------------------------------------*/
8125 
8126 static inline __ATTRS_o_ai vector signed char
vec_mladd(vector signed char __a,vector signed char __b,vector signed char __c)8127 vec_mladd(vector signed char __a, vector signed char __b,
8128           vector signed char __c) {
8129   return __a * __b + __c;
8130 }
8131 
8132 static inline __ATTRS_o_ai vector signed char
vec_mladd(vector unsigned char __a,vector signed char __b,vector signed char __c)8133 vec_mladd(vector unsigned char __a, vector signed char __b,
8134           vector signed char __c) {
8135   return (vector signed char)__a * __b + __c;
8136 }
8137 
8138 static inline __ATTRS_o_ai vector signed char
vec_mladd(vector signed char __a,vector unsigned char __b,vector unsigned char __c)8139 vec_mladd(vector signed char __a, vector unsigned char __b,
8140           vector unsigned char __c) {
8141   return __a * (vector signed char)__b + (vector signed char)__c;
8142 }
8143 
8144 static inline __ATTRS_o_ai vector unsigned char
vec_mladd(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)8145 vec_mladd(vector unsigned char __a, vector unsigned char __b,
8146           vector unsigned char __c) {
8147   return __a * __b + __c;
8148 }
8149 
8150 static inline __ATTRS_o_ai vector signed short
vec_mladd(vector signed short __a,vector signed short __b,vector signed short __c)8151 vec_mladd(vector signed short __a, vector signed short __b,
8152           vector signed short __c) {
8153   return __a * __b + __c;
8154 }
8155 
8156 static inline __ATTRS_o_ai vector signed short
vec_mladd(vector unsigned short __a,vector signed short __b,vector signed short __c)8157 vec_mladd(vector unsigned short __a, vector signed short __b,
8158           vector signed short __c) {
8159   return (vector signed short)__a * __b + __c;
8160 }
8161 
8162 static inline __ATTRS_o_ai vector signed short
vec_mladd(vector signed short __a,vector unsigned short __b,vector unsigned short __c)8163 vec_mladd(vector signed short __a, vector unsigned short __b,
8164           vector unsigned short __c) {
8165   return __a * (vector signed short)__b + (vector signed short)__c;
8166 }
8167 
8168 static inline __ATTRS_o_ai vector unsigned short
vec_mladd(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c)8169 vec_mladd(vector unsigned short __a, vector unsigned short __b,
8170           vector unsigned short __c) {
8171   return __a * __b + __c;
8172 }
8173 
8174 static inline __ATTRS_o_ai vector signed int
vec_mladd(vector signed int __a,vector signed int __b,vector signed int __c)8175 vec_mladd(vector signed int __a, vector signed int __b,
8176           vector signed int __c) {
8177   return __a * __b + __c;
8178 }
8179 
8180 static inline __ATTRS_o_ai vector signed int
vec_mladd(vector unsigned int __a,vector signed int __b,vector signed int __c)8181 vec_mladd(vector unsigned int __a, vector signed int __b,
8182           vector signed int __c) {
8183   return (vector signed int)__a * __b + __c;
8184 }
8185 
8186 static inline __ATTRS_o_ai vector signed int
vec_mladd(vector signed int __a,vector unsigned int __b,vector unsigned int __c)8187 vec_mladd(vector signed int __a, vector unsigned int __b,
8188           vector unsigned int __c) {
8189   return __a * (vector signed int)__b + (vector signed int)__c;
8190 }
8191 
8192 static inline __ATTRS_o_ai vector unsigned int
vec_mladd(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c)8193 vec_mladd(vector unsigned int __a, vector unsigned int __b,
8194           vector unsigned int __c) {
8195   return __a * __b + __c;
8196 }
8197 
8198 /*-- vec_mhadd --------------------------------------------------------------*/
8199 
8200 static inline __ATTRS_o_ai vector signed char
vec_mhadd(vector signed char __a,vector signed char __b,vector signed char __c)8201 vec_mhadd(vector signed char __a, vector signed char __b,
8202           vector signed char __c) {
8203   return __builtin_s390_vmahb(__a, __b, __c);
8204 }
8205 
8206 static inline __ATTRS_o_ai vector unsigned char
vec_mhadd(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)8207 vec_mhadd(vector unsigned char __a, vector unsigned char __b,
8208           vector unsigned char __c) {
8209   return __builtin_s390_vmalhb(__a, __b, __c);
8210 }
8211 
8212 static inline __ATTRS_o_ai vector signed short
vec_mhadd(vector signed short __a,vector signed short __b,vector signed short __c)8213 vec_mhadd(vector signed short __a, vector signed short __b,
8214           vector signed short __c) {
8215   return __builtin_s390_vmahh(__a, __b, __c);
8216 }
8217 
8218 static inline __ATTRS_o_ai vector unsigned short
vec_mhadd(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c)8219 vec_mhadd(vector unsigned short __a, vector unsigned short __b,
8220           vector unsigned short __c) {
8221   return __builtin_s390_vmalhh(__a, __b, __c);
8222 }
8223 
8224 static inline __ATTRS_o_ai vector signed int
vec_mhadd(vector signed int __a,vector signed int __b,vector signed int __c)8225 vec_mhadd(vector signed int __a, vector signed int __b,
8226           vector signed int __c) {
8227   return __builtin_s390_vmahf(__a, __b, __c);
8228 }
8229 
8230 static inline __ATTRS_o_ai vector unsigned int
vec_mhadd(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c)8231 vec_mhadd(vector unsigned int __a, vector unsigned int __b,
8232           vector unsigned int __c) {
8233   return __builtin_s390_vmalhf(__a, __b, __c);
8234 }
8235 
8236 /*-- vec_meadd --------------------------------------------------------------*/
8237 
8238 static inline __ATTRS_o_ai vector signed short
vec_meadd(vector signed char __a,vector signed char __b,vector signed short __c)8239 vec_meadd(vector signed char __a, vector signed char __b,
8240           vector signed short __c) {
8241   return __builtin_s390_vmaeb(__a, __b, __c);
8242 }
8243 
8244 static inline __ATTRS_o_ai vector unsigned short
vec_meadd(vector unsigned char __a,vector unsigned char __b,vector unsigned short __c)8245 vec_meadd(vector unsigned char __a, vector unsigned char __b,
8246           vector unsigned short __c) {
8247   return __builtin_s390_vmaleb(__a, __b, __c);
8248 }
8249 
8250 static inline __ATTRS_o_ai vector signed int
vec_meadd(vector signed short __a,vector signed short __b,vector signed int __c)8251 vec_meadd(vector signed short __a, vector signed short __b,
8252           vector signed int __c) {
8253   return __builtin_s390_vmaeh(__a, __b, __c);
8254 }
8255 
8256 static inline __ATTRS_o_ai vector unsigned int
vec_meadd(vector unsigned short __a,vector unsigned short __b,vector unsigned int __c)8257 vec_meadd(vector unsigned short __a, vector unsigned short __b,
8258           vector unsigned int __c) {
8259   return __builtin_s390_vmaleh(__a, __b, __c);
8260 }
8261 
8262 static inline __ATTRS_o_ai vector signed long long
vec_meadd(vector signed int __a,vector signed int __b,vector signed long long __c)8263 vec_meadd(vector signed int __a, vector signed int __b,
8264           vector signed long long __c) {
8265   return __builtin_s390_vmaef(__a, __b, __c);
8266 }
8267 
8268 static inline __ATTRS_o_ai vector unsigned long long
vec_meadd(vector unsigned int __a,vector unsigned int __b,vector unsigned long long __c)8269 vec_meadd(vector unsigned int __a, vector unsigned int __b,
8270           vector unsigned long long __c) {
8271   return __builtin_s390_vmalef(__a, __b, __c);
8272 }
8273 
8274 /*-- vec_moadd --------------------------------------------------------------*/
8275 
8276 static inline __ATTRS_o_ai vector signed short
vec_moadd(vector signed char __a,vector signed char __b,vector signed short __c)8277 vec_moadd(vector signed char __a, vector signed char __b,
8278           vector signed short __c) {
8279   return __builtin_s390_vmaob(__a, __b, __c);
8280 }
8281 
8282 static inline __ATTRS_o_ai vector unsigned short
vec_moadd(vector unsigned char __a,vector unsigned char __b,vector unsigned short __c)8283 vec_moadd(vector unsigned char __a, vector unsigned char __b,
8284           vector unsigned short __c) {
8285   return __builtin_s390_vmalob(__a, __b, __c);
8286 }
8287 
8288 static inline __ATTRS_o_ai vector signed int
vec_moadd(vector signed short __a,vector signed short __b,vector signed int __c)8289 vec_moadd(vector signed short __a, vector signed short __b,
8290           vector signed int __c) {
8291   return __builtin_s390_vmaoh(__a, __b, __c);
8292 }
8293 
8294 static inline __ATTRS_o_ai vector unsigned int
vec_moadd(vector unsigned short __a,vector unsigned short __b,vector unsigned int __c)8295 vec_moadd(vector unsigned short __a, vector unsigned short __b,
8296           vector unsigned int __c) {
8297   return __builtin_s390_vmaloh(__a, __b, __c);
8298 }
8299 
8300 static inline __ATTRS_o_ai vector signed long long
vec_moadd(vector signed int __a,vector signed int __b,vector signed long long __c)8301 vec_moadd(vector signed int __a, vector signed int __b,
8302           vector signed long long __c) {
8303   return __builtin_s390_vmaof(__a, __b, __c);
8304 }
8305 
8306 static inline __ATTRS_o_ai vector unsigned long long
vec_moadd(vector unsigned int __a,vector unsigned int __b,vector unsigned long long __c)8307 vec_moadd(vector unsigned int __a, vector unsigned int __b,
8308           vector unsigned long long __c) {
8309   return __builtin_s390_vmalof(__a, __b, __c);
8310 }
8311 
8312 /*-- vec_mulh ---------------------------------------------------------------*/
8313 
8314 static inline __ATTRS_o_ai vector signed char
vec_mulh(vector signed char __a,vector signed char __b)8315 vec_mulh(vector signed char __a, vector signed char __b) {
8316   return __builtin_s390_vmhb(__a, __b);
8317 }
8318 
8319 static inline __ATTRS_o_ai vector unsigned char
vec_mulh(vector unsigned char __a,vector unsigned char __b)8320 vec_mulh(vector unsigned char __a, vector unsigned char __b) {
8321   return __builtin_s390_vmlhb(__a, __b);
8322 }
8323 
8324 static inline __ATTRS_o_ai vector signed short
vec_mulh(vector signed short __a,vector signed short __b)8325 vec_mulh(vector signed short __a, vector signed short __b) {
8326   return __builtin_s390_vmhh(__a, __b);
8327 }
8328 
8329 static inline __ATTRS_o_ai vector unsigned short
vec_mulh(vector unsigned short __a,vector unsigned short __b)8330 vec_mulh(vector unsigned short __a, vector unsigned short __b) {
8331   return __builtin_s390_vmlhh(__a, __b);
8332 }
8333 
8334 static inline __ATTRS_o_ai vector signed int
vec_mulh(vector signed int __a,vector signed int __b)8335 vec_mulh(vector signed int __a, vector signed int __b) {
8336   return __builtin_s390_vmhf(__a, __b);
8337 }
8338 
8339 static inline __ATTRS_o_ai vector unsigned int
vec_mulh(vector unsigned int __a,vector unsigned int __b)8340 vec_mulh(vector unsigned int __a, vector unsigned int __b) {
8341   return __builtin_s390_vmlhf(__a, __b);
8342 }
8343 
8344 /*-- vec_mule ---------------------------------------------------------------*/
8345 
8346 static inline __ATTRS_o_ai vector signed short
vec_mule(vector signed char __a,vector signed char __b)8347 vec_mule(vector signed char __a, vector signed char __b) {
8348   return __builtin_s390_vmeb(__a, __b);
8349 }
8350 
8351 static inline __ATTRS_o_ai vector unsigned short
vec_mule(vector unsigned char __a,vector unsigned char __b)8352 vec_mule(vector unsigned char __a, vector unsigned char __b) {
8353   return __builtin_s390_vmleb(__a, __b);
8354 }
8355 
8356 static inline __ATTRS_o_ai vector signed int
vec_mule(vector signed short __a,vector signed short __b)8357 vec_mule(vector signed short __a, vector signed short __b) {
8358   return __builtin_s390_vmeh(__a, __b);
8359 }
8360 
8361 static inline __ATTRS_o_ai vector unsigned int
vec_mule(vector unsigned short __a,vector unsigned short __b)8362 vec_mule(vector unsigned short __a, vector unsigned short __b) {
8363   return __builtin_s390_vmleh(__a, __b);
8364 }
8365 
8366 static inline __ATTRS_o_ai vector signed long long
vec_mule(vector signed int __a,vector signed int __b)8367 vec_mule(vector signed int __a, vector signed int __b) {
8368   return __builtin_s390_vmef(__a, __b);
8369 }
8370 
8371 static inline __ATTRS_o_ai vector unsigned long long
vec_mule(vector unsigned int __a,vector unsigned int __b)8372 vec_mule(vector unsigned int __a, vector unsigned int __b) {
8373   return __builtin_s390_vmlef(__a, __b);
8374 }
8375 
8376 /*-- vec_mulo ---------------------------------------------------------------*/
8377 
8378 static inline __ATTRS_o_ai vector signed short
vec_mulo(vector signed char __a,vector signed char __b)8379 vec_mulo(vector signed char __a, vector signed char __b) {
8380   return __builtin_s390_vmob(__a, __b);
8381 }
8382 
8383 static inline __ATTRS_o_ai vector unsigned short
vec_mulo(vector unsigned char __a,vector unsigned char __b)8384 vec_mulo(vector unsigned char __a, vector unsigned char __b) {
8385   return __builtin_s390_vmlob(__a, __b);
8386 }
8387 
8388 static inline __ATTRS_o_ai vector signed int
vec_mulo(vector signed short __a,vector signed short __b)8389 vec_mulo(vector signed short __a, vector signed short __b) {
8390   return __builtin_s390_vmoh(__a, __b);
8391 }
8392 
8393 static inline __ATTRS_o_ai vector unsigned int
vec_mulo(vector unsigned short __a,vector unsigned short __b)8394 vec_mulo(vector unsigned short __a, vector unsigned short __b) {
8395   return __builtin_s390_vmloh(__a, __b);
8396 }
8397 
8398 static inline __ATTRS_o_ai vector signed long long
vec_mulo(vector signed int __a,vector signed int __b)8399 vec_mulo(vector signed int __a, vector signed int __b) {
8400   return __builtin_s390_vmof(__a, __b);
8401 }
8402 
8403 static inline __ATTRS_o_ai vector unsigned long long
vec_mulo(vector unsigned int __a,vector unsigned int __b)8404 vec_mulo(vector unsigned int __a, vector unsigned int __b) {
8405   return __builtin_s390_vmlof(__a, __b);
8406 }
8407 
8408 /*-- vec_msum_u128 ----------------------------------------------------------*/
8409 
8410 #if __ARCH__ >= 12
8411 #define vec_msum_u128(X, Y, Z, W) \
8412   ((vector unsigned char)__builtin_s390_vmslg((X), (Y), (Z), (W)));
8413 #endif
8414 
8415 /*-- vec_sub_u128 -----------------------------------------------------------*/
8416 
8417 static inline __ATTRS_ai vector unsigned char
vec_sub_u128(vector unsigned char __a,vector unsigned char __b)8418 vec_sub_u128(vector unsigned char __a, vector unsigned char __b) {
8419   return __builtin_s390_vsq(__a, __b);
8420 }
8421 
8422 /*-- vec_subc ---------------------------------------------------------------*/
8423 
8424 static inline __ATTRS_o_ai vector unsigned char
vec_subc(vector unsigned char __a,vector unsigned char __b)8425 vec_subc(vector unsigned char __a, vector unsigned char __b) {
8426   return __builtin_s390_vscbib(__a, __b);
8427 }
8428 
8429 static inline __ATTRS_o_ai vector unsigned short
vec_subc(vector unsigned short __a,vector unsigned short __b)8430 vec_subc(vector unsigned short __a, vector unsigned short __b) {
8431   return __builtin_s390_vscbih(__a, __b);
8432 }
8433 
8434 static inline __ATTRS_o_ai vector unsigned int
vec_subc(vector unsigned int __a,vector unsigned int __b)8435 vec_subc(vector unsigned int __a, vector unsigned int __b) {
8436   return __builtin_s390_vscbif(__a, __b);
8437 }
8438 
8439 static inline __ATTRS_o_ai vector unsigned long long
vec_subc(vector unsigned long long __a,vector unsigned long long __b)8440 vec_subc(vector unsigned long long __a, vector unsigned long long __b) {
8441   return __builtin_s390_vscbig(__a, __b);
8442 }
8443 
8444 /*-- vec_subc_u128 ----------------------------------------------------------*/
8445 
8446 static inline __ATTRS_ai vector unsigned char
vec_subc_u128(vector unsigned char __a,vector unsigned char __b)8447 vec_subc_u128(vector unsigned char __a, vector unsigned char __b) {
8448   return __builtin_s390_vscbiq(__a, __b);
8449 }
8450 
8451 /*-- vec_sube_u128 ----------------------------------------------------------*/
8452 
8453 static inline __ATTRS_ai vector unsigned char
vec_sube_u128(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)8454 vec_sube_u128(vector unsigned char __a, vector unsigned char __b,
8455               vector unsigned char __c) {
8456   return __builtin_s390_vsbiq(__a, __b, __c);
8457 }
8458 
8459 /*-- vec_subec_u128 ---------------------------------------------------------*/
8460 
8461 static inline __ATTRS_ai vector unsigned char
vec_subec_u128(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)8462 vec_subec_u128(vector unsigned char __a, vector unsigned char __b,
8463                vector unsigned char __c) {
8464   return __builtin_s390_vsbcbiq(__a, __b, __c);
8465 }
8466 
8467 /*-- vec_sum2 ---------------------------------------------------------------*/
8468 
8469 static inline __ATTRS_o_ai vector unsigned long long
vec_sum2(vector unsigned short __a,vector unsigned short __b)8470 vec_sum2(vector unsigned short __a, vector unsigned short __b) {
8471   return __builtin_s390_vsumgh(__a, __b);
8472 }
8473 
8474 static inline __ATTRS_o_ai vector unsigned long long
vec_sum2(vector unsigned int __a,vector unsigned int __b)8475 vec_sum2(vector unsigned int __a, vector unsigned int __b) {
8476   return __builtin_s390_vsumgf(__a, __b);
8477 }
8478 
8479 /*-- vec_sum_u128 -----------------------------------------------------------*/
8480 
8481 static inline __ATTRS_o_ai vector unsigned char
vec_sum_u128(vector unsigned int __a,vector unsigned int __b)8482 vec_sum_u128(vector unsigned int __a, vector unsigned int __b) {
8483   return __builtin_s390_vsumqf(__a, __b);
8484 }
8485 
8486 static inline __ATTRS_o_ai vector unsigned char
vec_sum_u128(vector unsigned long long __a,vector unsigned long long __b)8487 vec_sum_u128(vector unsigned long long __a, vector unsigned long long __b) {
8488   return __builtin_s390_vsumqg(__a, __b);
8489 }
8490 
8491 /*-- vec_sum4 ---------------------------------------------------------------*/
8492 
8493 static inline __ATTRS_o_ai vector unsigned int
vec_sum4(vector unsigned char __a,vector unsigned char __b)8494 vec_sum4(vector unsigned char __a, vector unsigned char __b) {
8495   return __builtin_s390_vsumb(__a, __b);
8496 }
8497 
8498 static inline __ATTRS_o_ai vector unsigned int
vec_sum4(vector unsigned short __a,vector unsigned short __b)8499 vec_sum4(vector unsigned short __a, vector unsigned short __b) {
8500   return __builtin_s390_vsumh(__a, __b);
8501 }
8502 
8503 /*-- vec_test_mask ----------------------------------------------------------*/
8504 
8505 static inline __ATTRS_o_ai int
vec_test_mask(vector signed char __a,vector unsigned char __b)8506 vec_test_mask(vector signed char __a, vector unsigned char __b) {
8507   return __builtin_s390_vtm((vector unsigned char)__a,
8508                             (vector unsigned char)__b);
8509 }
8510 
8511 static inline __ATTRS_o_ai int
vec_test_mask(vector unsigned char __a,vector unsigned char __b)8512 vec_test_mask(vector unsigned char __a, vector unsigned char __b) {
8513   return __builtin_s390_vtm(__a, __b);
8514 }
8515 
8516 static inline __ATTRS_o_ai int
vec_test_mask(vector signed short __a,vector unsigned short __b)8517 vec_test_mask(vector signed short __a, vector unsigned short __b) {
8518   return __builtin_s390_vtm((vector unsigned char)__a,
8519                             (vector unsigned char)__b);
8520 }
8521 
8522 static inline __ATTRS_o_ai int
vec_test_mask(vector unsigned short __a,vector unsigned short __b)8523 vec_test_mask(vector unsigned short __a, vector unsigned short __b) {
8524   return __builtin_s390_vtm((vector unsigned char)__a,
8525                             (vector unsigned char)__b);
8526 }
8527 
8528 static inline __ATTRS_o_ai int
vec_test_mask(vector signed int __a,vector unsigned int __b)8529 vec_test_mask(vector signed int __a, vector unsigned int __b) {
8530   return __builtin_s390_vtm((vector unsigned char)__a,
8531                             (vector unsigned char)__b);
8532 }
8533 
8534 static inline __ATTRS_o_ai int
vec_test_mask(vector unsigned int __a,vector unsigned int __b)8535 vec_test_mask(vector unsigned int __a, vector unsigned int __b) {
8536   return __builtin_s390_vtm((vector unsigned char)__a,
8537                             (vector unsigned char)__b);
8538 }
8539 
8540 static inline __ATTRS_o_ai int
vec_test_mask(vector signed long long __a,vector unsigned long long __b)8541 vec_test_mask(vector signed long long __a, vector unsigned long long __b) {
8542   return __builtin_s390_vtm((vector unsigned char)__a,
8543                             (vector unsigned char)__b);
8544 }
8545 
8546 static inline __ATTRS_o_ai int
vec_test_mask(vector unsigned long long __a,vector unsigned long long __b)8547 vec_test_mask(vector unsigned long long __a, vector unsigned long long __b) {
8548   return __builtin_s390_vtm((vector unsigned char)__a,
8549                             (vector unsigned char)__b);
8550 }
8551 
8552 #if __ARCH__ >= 12
8553 static inline __ATTRS_o_ai int
vec_test_mask(vector float __a,vector unsigned int __b)8554 vec_test_mask(vector float __a, vector unsigned int __b) {
8555   return __builtin_s390_vtm((vector unsigned char)__a,
8556                             (vector unsigned char)__b);
8557 }
8558 #endif
8559 
8560 static inline __ATTRS_o_ai int
vec_test_mask(vector double __a,vector unsigned long long __b)8561 vec_test_mask(vector double __a, vector unsigned long long __b) {
8562   return __builtin_s390_vtm((vector unsigned char)__a,
8563                             (vector unsigned char)__b);
8564 }
8565 
8566 /*-- vec_madd ---------------------------------------------------------------*/
8567 
8568 #if __ARCH__ >= 12
8569 static inline __ATTRS_o_ai vector float
vec_madd(vector float __a,vector float __b,vector float __c)8570 vec_madd(vector float __a, vector float __b, vector float __c) {
8571   return __builtin_s390_vfmasb(__a, __b, __c);
8572 }
8573 #endif
8574 
8575 static inline __ATTRS_o_ai vector double
vec_madd(vector double __a,vector double __b,vector double __c)8576 vec_madd(vector double __a, vector double __b, vector double __c) {
8577   return __builtin_s390_vfmadb(__a, __b, __c);
8578 }
8579 
8580 /*-- vec_msub ---------------------------------------------------------------*/
8581 
8582 #if __ARCH__ >= 12
8583 static inline __ATTRS_o_ai vector float
vec_msub(vector float __a,vector float __b,vector float __c)8584 vec_msub(vector float __a, vector float __b, vector float __c) {
8585   return __builtin_s390_vfmssb(__a, __b, __c);
8586 }
8587 #endif
8588 
8589 static inline __ATTRS_o_ai vector double
vec_msub(vector double __a,vector double __b,vector double __c)8590 vec_msub(vector double __a, vector double __b, vector double __c) {
8591   return __builtin_s390_vfmsdb(__a, __b, __c);
8592 }
8593 
8594 /*-- vec_nmadd ---------------------------------------------------------------*/
8595 
8596 #if __ARCH__ >= 12
8597 static inline __ATTRS_o_ai vector float
vec_nmadd(vector float __a,vector float __b,vector float __c)8598 vec_nmadd(vector float __a, vector float __b, vector float __c) {
8599   return __builtin_s390_vfnmasb(__a, __b, __c);
8600 }
8601 
8602 static inline __ATTRS_o_ai vector double
vec_nmadd(vector double __a,vector double __b,vector double __c)8603 vec_nmadd(vector double __a, vector double __b, vector double __c) {
8604   return __builtin_s390_vfnmadb(__a, __b, __c);
8605 }
8606 #endif
8607 
8608 /*-- vec_nmsub ---------------------------------------------------------------*/
8609 
8610 #if __ARCH__ >= 12
8611 static inline __ATTRS_o_ai vector float
vec_nmsub(vector float __a,vector float __b,vector float __c)8612 vec_nmsub(vector float __a, vector float __b, vector float __c) {
8613   return __builtin_s390_vfnmssb(__a, __b, __c);
8614 }
8615 
8616 static inline __ATTRS_o_ai vector double
vec_nmsub(vector double __a,vector double __b,vector double __c)8617 vec_nmsub(vector double __a, vector double __b, vector double __c) {
8618   return __builtin_s390_vfnmsdb(__a, __b, __c);
8619 }
8620 #endif
8621 
8622 /*-- vec_sqrt ---------------------------------------------------------------*/
8623 
8624 #if __ARCH__ >= 12
8625 static inline __ATTRS_o_ai vector float
vec_sqrt(vector float __a)8626 vec_sqrt(vector float __a) {
8627   return __builtin_s390_vfsqsb(__a);
8628 }
8629 #endif
8630 
8631 static inline __ATTRS_o_ai vector double
vec_sqrt(vector double __a)8632 vec_sqrt(vector double __a) {
8633   return __builtin_s390_vfsqdb(__a);
8634 }
8635 
8636 /*-- vec_ld2f ---------------------------------------------------------------*/
8637 
8638 // This prototype is deprecated.
8639 static inline __ATTRS_ai vector double
vec_ld2f(const float * __ptr)8640 vec_ld2f(const float *__ptr) {
8641   typedef float __v2f32 __attribute__((__vector_size__(8)));
8642   return __builtin_convertvector(*(const __v2f32 *)__ptr, vector double);
8643 }
8644 
8645 /*-- vec_st2f ---------------------------------------------------------------*/
8646 
8647 // This prototype is deprecated.
8648 static inline __ATTRS_ai void
vec_st2f(vector double __a,float * __ptr)8649 vec_st2f(vector double __a, float *__ptr) {
8650   typedef float __v2f32 __attribute__((__vector_size__(8)));
8651   *(__v2f32 *)__ptr = __builtin_convertvector(__a, __v2f32);
8652 }
8653 
8654 /*-- vec_ctd ----------------------------------------------------------------*/
8655 
8656 // This prototype is deprecated.
8657 static inline __ATTRS_o_ai vector double
vec_ctd(vector signed long long __a,int __b)8658 vec_ctd(vector signed long long __a, int __b)
8659   __constant_range(__b, 0, 31) {
8660   vector double __conv = __builtin_convertvector(__a, vector double);
8661   __conv *= (vector double)(vector unsigned long long)((0x3ffULL - __b) << 52);
8662   return __conv;
8663 }
8664 
8665 // This prototype is deprecated.
8666 static inline __ATTRS_o_ai vector double
vec_ctd(vector unsigned long long __a,int __b)8667 vec_ctd(vector unsigned long long __a, int __b)
8668   __constant_range(__b, 0, 31) {
8669   vector double __conv = __builtin_convertvector(__a, vector double);
8670   __conv *= (vector double)(vector unsigned long long)((0x3ffULL - __b) << 52);
8671   return __conv;
8672 }
8673 
8674 /*-- vec_ctsl ---------------------------------------------------------------*/
8675 
8676 // This prototype is deprecated.
8677 static inline __ATTRS_o_ai vector signed long long
vec_ctsl(vector double __a,int __b)8678 vec_ctsl(vector double __a, int __b)
8679   __constant_range(__b, 0, 31) {
8680   __a *= (vector double)(vector unsigned long long)((0x3ffULL + __b) << 52);
8681   return __builtin_convertvector(__a, vector signed long long);
8682 }
8683 
8684 /*-- vec_ctul ---------------------------------------------------------------*/
8685 
8686 // This prototype is deprecated.
8687 static inline __ATTRS_o_ai vector unsigned long long
vec_ctul(vector double __a,int __b)8688 vec_ctul(vector double __a, int __b)
8689   __constant_range(__b, 0, 31) {
8690   __a *= (vector double)(vector unsigned long long)((0x3ffULL + __b) << 52);
8691   return __builtin_convertvector(__a, vector unsigned long long);
8692 }
8693 
8694 /*-- vec_doublee ------------------------------------------------------------*/
8695 
8696 #if __ARCH__ >= 12
8697 static inline __ATTRS_ai vector double
vec_doublee(vector float __a)8698 vec_doublee(vector float __a) {
8699   typedef float __v2f32 __attribute__((__vector_size__(8)));
8700   __v2f32 __pack = __builtin_shufflevector(__a, __a, 0, 2);
8701   return __builtin_convertvector(__pack, vector double);
8702 }
8703 #endif
8704 
8705 /*-- vec_floate -------------------------------------------------------------*/
8706 
8707 #if __ARCH__ >= 12
8708 static inline __ATTRS_ai vector float
vec_floate(vector double __a)8709 vec_floate(vector double __a) {
8710   typedef float __v2f32 __attribute__((__vector_size__(8)));
8711   __v2f32 __pack = __builtin_convertvector(__a, __v2f32);
8712   return __builtin_shufflevector(__pack, __pack, 0, -1, 1, -1);
8713 }
8714 #endif
8715 
8716 /*-- vec_double -------------------------------------------------------------*/
8717 
8718 static inline __ATTRS_o_ai vector double
vec_double(vector signed long long __a)8719 vec_double(vector signed long long __a) {
8720   return __builtin_convertvector(__a, vector double);
8721 }
8722 
8723 static inline __ATTRS_o_ai vector double
vec_double(vector unsigned long long __a)8724 vec_double(vector unsigned long long __a) {
8725   return __builtin_convertvector(__a, vector double);
8726 }
8727 
8728 /*-- vec_signed -------------------------------------------------------------*/
8729 
8730 static inline __ATTRS_o_ai vector signed long long
vec_signed(vector double __a)8731 vec_signed(vector double __a) {
8732   return __builtin_convertvector(__a, vector signed long long);
8733 }
8734 
8735 /*-- vec_unsigned -----------------------------------------------------------*/
8736 
8737 static inline __ATTRS_o_ai vector unsigned long long
vec_unsigned(vector double __a)8738 vec_unsigned(vector double __a) {
8739   return __builtin_convertvector(__a, vector unsigned long long);
8740 }
8741 
8742 /*-- vec_roundp -------------------------------------------------------------*/
8743 
8744 #if __ARCH__ >= 12
8745 static inline __ATTRS_o_ai vector float
vec_roundp(vector float __a)8746 vec_roundp(vector float __a) {
8747   return __builtin_s390_vfisb(__a, 4, 6);
8748 }
8749 #endif
8750 
8751 static inline __ATTRS_o_ai vector double
vec_roundp(vector double __a)8752 vec_roundp(vector double __a) {
8753   return __builtin_s390_vfidb(__a, 4, 6);
8754 }
8755 
8756 /*-- vec_ceil ---------------------------------------------------------------*/
8757 
8758 #if __ARCH__ >= 12
8759 static inline __ATTRS_o_ai vector float
vec_ceil(vector float __a)8760 vec_ceil(vector float __a) {
8761   // On this platform, vec_ceil never triggers the IEEE-inexact exception.
8762   return __builtin_s390_vfisb(__a, 4, 6);
8763 }
8764 #endif
8765 
8766 static inline __ATTRS_o_ai vector double
vec_ceil(vector double __a)8767 vec_ceil(vector double __a) {
8768   // On this platform, vec_ceil never triggers the IEEE-inexact exception.
8769   return __builtin_s390_vfidb(__a, 4, 6);
8770 }
8771 
8772 /*-- vec_roundm -------------------------------------------------------------*/
8773 
8774 #if __ARCH__ >= 12
8775 static inline __ATTRS_o_ai vector float
vec_roundm(vector float __a)8776 vec_roundm(vector float __a) {
8777   return __builtin_s390_vfisb(__a, 4, 7);
8778 }
8779 #endif
8780 
8781 static inline __ATTRS_o_ai vector double
vec_roundm(vector double __a)8782 vec_roundm(vector double __a) {
8783   return __builtin_s390_vfidb(__a, 4, 7);
8784 }
8785 
8786 /*-- vec_floor --------------------------------------------------------------*/
8787 
8788 #if __ARCH__ >= 12
8789 static inline __ATTRS_o_ai vector float
vec_floor(vector float __a)8790 vec_floor(vector float __a) {
8791   // On this platform, vec_floor never triggers the IEEE-inexact exception.
8792   return __builtin_s390_vfisb(__a, 4, 7);
8793 }
8794 #endif
8795 
8796 static inline __ATTRS_o_ai vector double
vec_floor(vector double __a)8797 vec_floor(vector double __a) {
8798   // On this platform, vec_floor never triggers the IEEE-inexact exception.
8799   return __builtin_s390_vfidb(__a, 4, 7);
8800 }
8801 
8802 /*-- vec_roundz -------------------------------------------------------------*/
8803 
8804 #if __ARCH__ >= 12
8805 static inline __ATTRS_o_ai vector float
vec_roundz(vector float __a)8806 vec_roundz(vector float __a) {
8807   return __builtin_s390_vfisb(__a, 4, 5);
8808 }
8809 #endif
8810 
8811 static inline __ATTRS_o_ai vector double
vec_roundz(vector double __a)8812 vec_roundz(vector double __a) {
8813   return __builtin_s390_vfidb(__a, 4, 5);
8814 }
8815 
8816 /*-- vec_trunc --------------------------------------------------------------*/
8817 
8818 #if __ARCH__ >= 12
8819 static inline __ATTRS_o_ai vector float
vec_trunc(vector float __a)8820 vec_trunc(vector float __a) {
8821   // On this platform, vec_trunc never triggers the IEEE-inexact exception.
8822   return __builtin_s390_vfisb(__a, 4, 5);
8823 }
8824 #endif
8825 
8826 static inline __ATTRS_o_ai vector double
vec_trunc(vector double __a)8827 vec_trunc(vector double __a) {
8828   // On this platform, vec_trunc never triggers the IEEE-inexact exception.
8829   return __builtin_s390_vfidb(__a, 4, 5);
8830 }
8831 
8832 /*-- vec_roundc -------------------------------------------------------------*/
8833 
8834 #if __ARCH__ >= 12
8835 static inline __ATTRS_o_ai vector float
vec_roundc(vector float __a)8836 vec_roundc(vector float __a) {
8837   return __builtin_s390_vfisb(__a, 4, 0);
8838 }
8839 #endif
8840 
8841 static inline __ATTRS_o_ai vector double
vec_roundc(vector double __a)8842 vec_roundc(vector double __a) {
8843   return __builtin_s390_vfidb(__a, 4, 0);
8844 }
8845 
8846 /*-- vec_rint ---------------------------------------------------------------*/
8847 
8848 #if __ARCH__ >= 12
8849 static inline __ATTRS_o_ai vector float
vec_rint(vector float __a)8850 vec_rint(vector float __a) {
8851   // vec_rint may trigger the IEEE-inexact exception.
8852   return __builtin_s390_vfisb(__a, 0, 0);
8853 }
8854 #endif
8855 
8856 static inline __ATTRS_o_ai vector double
vec_rint(vector double __a)8857 vec_rint(vector double __a) {
8858   // vec_rint may trigger the IEEE-inexact exception.
8859   return __builtin_s390_vfidb(__a, 0, 0);
8860 }
8861 
8862 /*-- vec_round --------------------------------------------------------------*/
8863 
8864 #if __ARCH__ >= 12
8865 static inline __ATTRS_o_ai vector float
vec_round(vector float __a)8866 vec_round(vector float __a) {
8867   return __builtin_s390_vfisb(__a, 4, 4);
8868 }
8869 #endif
8870 
8871 static inline __ATTRS_o_ai vector double
vec_round(vector double __a)8872 vec_round(vector double __a) {
8873   return __builtin_s390_vfidb(__a, 4, 4);
8874 }
8875 
8876 /*-- vec_fp_test_data_class -------------------------------------------------*/
8877 
8878 #if __ARCH__ >= 12
8879 extern __ATTRS_o vector bool int
8880 vec_fp_test_data_class(vector float __a, int __b, int *__c)
8881   __constant_range(__b, 0, 4095);
8882 
8883 extern __ATTRS_o vector bool long long
8884 vec_fp_test_data_class(vector double __a, int __b, int *__c)
8885   __constant_range(__b, 0, 4095);
8886 
8887 #define vec_fp_test_data_class(X, Y, Z) \
8888   ((__typeof__((vec_fp_test_data_class)((X), (Y), (Z)))) \
8889    __extension__ ({ \
8890      vector unsigned char __res; \
8891      vector unsigned char __x = (vector unsigned char)(X); \
8892      int *__z = (Z); \
8893      switch (sizeof ((X)[0])) { \
8894      case 4:  __res = (vector unsigned char) \
8895                       __builtin_s390_vftcisb((vector float)__x, (Y), __z); \
8896               break; \
8897      default: __res = (vector unsigned char) \
8898                       __builtin_s390_vftcidb((vector double)__x, (Y), __z); \
8899               break; \
8900      } __res; }))
8901 #else
8902 #define vec_fp_test_data_class(X, Y, Z) \
8903   ((vector bool long long)__builtin_s390_vftcidb((X), (Y), (Z)))
8904 #endif
8905 
8906 #define __VEC_CLASS_FP_ZERO_P (1 << 11)
8907 #define __VEC_CLASS_FP_ZERO_N (1 << 10)
8908 #define __VEC_CLASS_FP_ZERO (__VEC_CLASS_FP_ZERO_P | __VEC_CLASS_FP_ZERO_N)
8909 #define __VEC_CLASS_FP_NORMAL_P (1 << 9)
8910 #define __VEC_CLASS_FP_NORMAL_N (1 << 8)
8911 #define __VEC_CLASS_FP_NORMAL (__VEC_CLASS_FP_NORMAL_P | \
8912                                __VEC_CLASS_FP_NORMAL_N)
8913 #define __VEC_CLASS_FP_SUBNORMAL_P (1 << 7)
8914 #define __VEC_CLASS_FP_SUBNORMAL_N (1 << 6)
8915 #define __VEC_CLASS_FP_SUBNORMAL (__VEC_CLASS_FP_SUBNORMAL_P | \
8916                                   __VEC_CLASS_FP_SUBNORMAL_N)
8917 #define __VEC_CLASS_FP_INFINITY_P (1 << 5)
8918 #define __VEC_CLASS_FP_INFINITY_N (1 << 4)
8919 #define __VEC_CLASS_FP_INFINITY (__VEC_CLASS_FP_INFINITY_P | \
8920                                  __VEC_CLASS_FP_INFINITY_N)
8921 #define __VEC_CLASS_FP_QNAN_P (1 << 3)
8922 #define __VEC_CLASS_FP_QNAN_N (1 << 2)
8923 #define __VEC_CLASS_FP_QNAN (__VEC_CLASS_FP_QNAN_P | __VEC_CLASS_FP_QNAN_N)
8924 #define __VEC_CLASS_FP_SNAN_P (1 << 1)
8925 #define __VEC_CLASS_FP_SNAN_N (1 << 0)
8926 #define __VEC_CLASS_FP_SNAN (__VEC_CLASS_FP_SNAN_P | __VEC_CLASS_FP_SNAN_N)
8927 #define __VEC_CLASS_FP_NAN (__VEC_CLASS_FP_QNAN | __VEC_CLASS_FP_SNAN)
8928 #define __VEC_CLASS_FP_NOT_NORMAL (__VEC_CLASS_FP_NAN | \
8929                                    __VEC_CLASS_FP_SUBNORMAL | \
8930                                    __VEC_CLASS_FP_ZERO | \
8931                                    __VEC_CLASS_FP_INFINITY)
8932 
8933 /*-- vec_cp_until_zero ------------------------------------------------------*/
8934 
8935 static inline __ATTRS_o_ai vector signed char
vec_cp_until_zero(vector signed char __a)8936 vec_cp_until_zero(vector signed char __a) {
8937   return (vector signed char)__builtin_s390_vistrb((vector unsigned char)__a);
8938 }
8939 
8940 static inline __ATTRS_o_ai vector bool char
vec_cp_until_zero(vector bool char __a)8941 vec_cp_until_zero(vector bool char __a) {
8942   return (vector bool char)__builtin_s390_vistrb((vector unsigned char)__a);
8943 }
8944 
8945 static inline __ATTRS_o_ai vector unsigned char
vec_cp_until_zero(vector unsigned char __a)8946 vec_cp_until_zero(vector unsigned char __a) {
8947   return __builtin_s390_vistrb(__a);
8948 }
8949 
8950 static inline __ATTRS_o_ai vector signed short
vec_cp_until_zero(vector signed short __a)8951 vec_cp_until_zero(vector signed short __a) {
8952   return (vector signed short)__builtin_s390_vistrh((vector unsigned short)__a);
8953 }
8954 
8955 static inline __ATTRS_o_ai vector bool short
vec_cp_until_zero(vector bool short __a)8956 vec_cp_until_zero(vector bool short __a) {
8957   return (vector bool short)__builtin_s390_vistrh((vector unsigned short)__a);
8958 }
8959 
8960 static inline __ATTRS_o_ai vector unsigned short
vec_cp_until_zero(vector unsigned short __a)8961 vec_cp_until_zero(vector unsigned short __a) {
8962   return __builtin_s390_vistrh(__a);
8963 }
8964 
8965 static inline __ATTRS_o_ai vector signed int
vec_cp_until_zero(vector signed int __a)8966 vec_cp_until_zero(vector signed int __a) {
8967   return (vector signed int)__builtin_s390_vistrf((vector unsigned int)__a);
8968 }
8969 
8970 static inline __ATTRS_o_ai vector bool int
vec_cp_until_zero(vector bool int __a)8971 vec_cp_until_zero(vector bool int __a) {
8972   return (vector bool int)__builtin_s390_vistrf((vector unsigned int)__a);
8973 }
8974 
8975 static inline __ATTRS_o_ai vector unsigned int
vec_cp_until_zero(vector unsigned int __a)8976 vec_cp_until_zero(vector unsigned int __a) {
8977   return __builtin_s390_vistrf(__a);
8978 }
8979 
8980 /*-- vec_cp_until_zero_cc ---------------------------------------------------*/
8981 
8982 static inline __ATTRS_o_ai vector signed char
vec_cp_until_zero_cc(vector signed char __a,int * __cc)8983 vec_cp_until_zero_cc(vector signed char __a, int *__cc) {
8984   return (vector signed char)
8985     __builtin_s390_vistrbs((vector unsigned char)__a, __cc);
8986 }
8987 
8988 static inline __ATTRS_o_ai vector bool char
vec_cp_until_zero_cc(vector bool char __a,int * __cc)8989 vec_cp_until_zero_cc(vector bool char __a, int *__cc) {
8990   return (vector bool char)
8991     __builtin_s390_vistrbs((vector unsigned char)__a, __cc);
8992 }
8993 
8994 static inline __ATTRS_o_ai vector unsigned char
vec_cp_until_zero_cc(vector unsigned char __a,int * __cc)8995 vec_cp_until_zero_cc(vector unsigned char __a, int *__cc) {
8996   return __builtin_s390_vistrbs(__a, __cc);
8997 }
8998 
8999 static inline __ATTRS_o_ai vector signed short
vec_cp_until_zero_cc(vector signed short __a,int * __cc)9000 vec_cp_until_zero_cc(vector signed short __a, int *__cc) {
9001   return (vector signed short)
9002     __builtin_s390_vistrhs((vector unsigned short)__a, __cc);
9003 }
9004 
9005 static inline __ATTRS_o_ai vector bool short
vec_cp_until_zero_cc(vector bool short __a,int * __cc)9006 vec_cp_until_zero_cc(vector bool short __a, int *__cc) {
9007   return (vector bool short)
9008     __builtin_s390_vistrhs((vector unsigned short)__a, __cc);
9009 }
9010 
9011 static inline __ATTRS_o_ai vector unsigned short
vec_cp_until_zero_cc(vector unsigned short __a,int * __cc)9012 vec_cp_until_zero_cc(vector unsigned short __a, int *__cc) {
9013   return __builtin_s390_vistrhs(__a, __cc);
9014 }
9015 
9016 static inline __ATTRS_o_ai vector signed int
vec_cp_until_zero_cc(vector signed int __a,int * __cc)9017 vec_cp_until_zero_cc(vector signed int __a, int *__cc) {
9018   return (vector signed int)
9019     __builtin_s390_vistrfs((vector unsigned int)__a, __cc);
9020 }
9021 
9022 static inline __ATTRS_o_ai vector bool int
vec_cp_until_zero_cc(vector bool int __a,int * __cc)9023 vec_cp_until_zero_cc(vector bool int __a, int *__cc) {
9024   return (vector bool int)__builtin_s390_vistrfs((vector unsigned int)__a,
9025                                                  __cc);
9026 }
9027 
9028 static inline __ATTRS_o_ai vector unsigned int
vec_cp_until_zero_cc(vector unsigned int __a,int * __cc)9029 vec_cp_until_zero_cc(vector unsigned int __a, int *__cc) {
9030   return __builtin_s390_vistrfs(__a, __cc);
9031 }
9032 
9033 /*-- vec_cmpeq_idx ----------------------------------------------------------*/
9034 
9035 static inline __ATTRS_o_ai vector signed char
vec_cmpeq_idx(vector signed char __a,vector signed char __b)9036 vec_cmpeq_idx(vector signed char __a, vector signed char __b) {
9037   return (vector signed char)
9038     __builtin_s390_vfeeb((vector unsigned char)__a,
9039                          (vector unsigned char)__b);
9040 }
9041 
9042 static inline __ATTRS_o_ai vector unsigned char
vec_cmpeq_idx(vector bool char __a,vector bool char __b)9043 vec_cmpeq_idx(vector bool char __a, vector bool char __b) {
9044   return __builtin_s390_vfeeb((vector unsigned char)__a,
9045                               (vector unsigned char)__b);
9046 }
9047 
9048 static inline __ATTRS_o_ai vector unsigned char
vec_cmpeq_idx(vector unsigned char __a,vector unsigned char __b)9049 vec_cmpeq_idx(vector unsigned char __a, vector unsigned char __b) {
9050   return __builtin_s390_vfeeb(__a, __b);
9051 }
9052 
9053 static inline __ATTRS_o_ai vector signed short
vec_cmpeq_idx(vector signed short __a,vector signed short __b)9054 vec_cmpeq_idx(vector signed short __a, vector signed short __b) {
9055   return (vector signed short)
9056     __builtin_s390_vfeeh((vector unsigned short)__a,
9057                          (vector unsigned short)__b);
9058 }
9059 
9060 static inline __ATTRS_o_ai vector unsigned short
vec_cmpeq_idx(vector bool short __a,vector bool short __b)9061 vec_cmpeq_idx(vector bool short __a, vector bool short __b) {
9062   return __builtin_s390_vfeeh((vector unsigned short)__a,
9063                               (vector unsigned short)__b);
9064 }
9065 
9066 static inline __ATTRS_o_ai vector unsigned short
vec_cmpeq_idx(vector unsigned short __a,vector unsigned short __b)9067 vec_cmpeq_idx(vector unsigned short __a, vector unsigned short __b) {
9068   return __builtin_s390_vfeeh(__a, __b);
9069 }
9070 
9071 static inline __ATTRS_o_ai vector signed int
vec_cmpeq_idx(vector signed int __a,vector signed int __b)9072 vec_cmpeq_idx(vector signed int __a, vector signed int __b) {
9073   return (vector signed int)
9074     __builtin_s390_vfeef((vector unsigned int)__a,
9075                          (vector unsigned int)__b);
9076 }
9077 
9078 static inline __ATTRS_o_ai vector unsigned int
vec_cmpeq_idx(vector bool int __a,vector bool int __b)9079 vec_cmpeq_idx(vector bool int __a, vector bool int __b) {
9080   return __builtin_s390_vfeef((vector unsigned int)__a,
9081                               (vector unsigned int)__b);
9082 }
9083 
9084 static inline __ATTRS_o_ai vector unsigned int
vec_cmpeq_idx(vector unsigned int __a,vector unsigned int __b)9085 vec_cmpeq_idx(vector unsigned int __a, vector unsigned int __b) {
9086   return __builtin_s390_vfeef(__a, __b);
9087 }
9088 
9089 /*-- vec_cmpeq_idx_cc -------------------------------------------------------*/
9090 
9091 static inline __ATTRS_o_ai vector signed char
vec_cmpeq_idx_cc(vector signed char __a,vector signed char __b,int * __cc)9092 vec_cmpeq_idx_cc(vector signed char __a, vector signed char __b, int *__cc) {
9093   return (vector signed char)
9094     __builtin_s390_vfeebs((vector unsigned char)__a,
9095                           (vector unsigned char)__b, __cc);
9096 }
9097 
9098 static inline __ATTRS_o_ai vector unsigned char
vec_cmpeq_idx_cc(vector bool char __a,vector bool char __b,int * __cc)9099 vec_cmpeq_idx_cc(vector bool char __a, vector bool char __b, int *__cc) {
9100   return __builtin_s390_vfeebs((vector unsigned char)__a,
9101                                (vector unsigned char)__b, __cc);
9102 }
9103 
9104 static inline __ATTRS_o_ai vector unsigned char
vec_cmpeq_idx_cc(vector unsigned char __a,vector unsigned char __b,int * __cc)9105 vec_cmpeq_idx_cc(vector unsigned char __a, vector unsigned char __b,
9106                  int *__cc) {
9107   return __builtin_s390_vfeebs(__a, __b, __cc);
9108 }
9109 
9110 static inline __ATTRS_o_ai vector signed short
vec_cmpeq_idx_cc(vector signed short __a,vector signed short __b,int * __cc)9111 vec_cmpeq_idx_cc(vector signed short __a, vector signed short __b, int *__cc) {
9112   return (vector signed short)
9113     __builtin_s390_vfeehs((vector unsigned short)__a,
9114                           (vector unsigned short)__b, __cc);
9115 }
9116 
9117 static inline __ATTRS_o_ai vector unsigned short
vec_cmpeq_idx_cc(vector bool short __a,vector bool short __b,int * __cc)9118 vec_cmpeq_idx_cc(vector bool short __a, vector bool short __b, int *__cc) {
9119   return __builtin_s390_vfeehs((vector unsigned short)__a,
9120                                (vector unsigned short)__b, __cc);
9121 }
9122 
9123 static inline __ATTRS_o_ai vector unsigned short
vec_cmpeq_idx_cc(vector unsigned short __a,vector unsigned short __b,int * __cc)9124 vec_cmpeq_idx_cc(vector unsigned short __a, vector unsigned short __b,
9125                  int *__cc) {
9126   return __builtin_s390_vfeehs(__a, __b, __cc);
9127 }
9128 
9129 static inline __ATTRS_o_ai vector signed int
vec_cmpeq_idx_cc(vector signed int __a,vector signed int __b,int * __cc)9130 vec_cmpeq_idx_cc(vector signed int __a, vector signed int __b, int *__cc) {
9131   return (vector signed int)
9132     __builtin_s390_vfeefs((vector unsigned int)__a,
9133                           (vector unsigned int)__b, __cc);
9134 }
9135 
9136 static inline __ATTRS_o_ai vector unsigned int
vec_cmpeq_idx_cc(vector bool int __a,vector bool int __b,int * __cc)9137 vec_cmpeq_idx_cc(vector bool int __a, vector bool int __b, int *__cc) {
9138   return __builtin_s390_vfeefs((vector unsigned int)__a,
9139                                (vector unsigned int)__b, __cc);
9140 }
9141 
9142 static inline __ATTRS_o_ai vector unsigned int
vec_cmpeq_idx_cc(vector unsigned int __a,vector unsigned int __b,int * __cc)9143 vec_cmpeq_idx_cc(vector unsigned int __a, vector unsigned int __b, int *__cc) {
9144   return __builtin_s390_vfeefs(__a, __b, __cc);
9145 }
9146 
9147 /*-- vec_cmpeq_or_0_idx -----------------------------------------------------*/
9148 
9149 static inline __ATTRS_o_ai vector signed char
vec_cmpeq_or_0_idx(vector signed char __a,vector signed char __b)9150 vec_cmpeq_or_0_idx(vector signed char __a, vector signed char __b) {
9151   return (vector signed char)
9152     __builtin_s390_vfeezb((vector unsigned char)__a,
9153                           (vector unsigned char)__b);
9154 }
9155 
9156 static inline __ATTRS_o_ai vector unsigned char
vec_cmpeq_or_0_idx(vector bool char __a,vector bool char __b)9157 vec_cmpeq_or_0_idx(vector bool char __a, vector bool char __b) {
9158   return __builtin_s390_vfeezb((vector unsigned char)__a,
9159                                (vector unsigned char)__b);
9160 }
9161 
9162 static inline __ATTRS_o_ai vector unsigned char
vec_cmpeq_or_0_idx(vector unsigned char __a,vector unsigned char __b)9163 vec_cmpeq_or_0_idx(vector unsigned char __a, vector unsigned char __b) {
9164   return __builtin_s390_vfeezb(__a, __b);
9165 }
9166 
9167 static inline __ATTRS_o_ai vector signed short
vec_cmpeq_or_0_idx(vector signed short __a,vector signed short __b)9168 vec_cmpeq_or_0_idx(vector signed short __a, vector signed short __b) {
9169   return (vector signed short)
9170     __builtin_s390_vfeezh((vector unsigned short)__a,
9171                           (vector unsigned short)__b);
9172 }
9173 
9174 static inline __ATTRS_o_ai vector unsigned short
vec_cmpeq_or_0_idx(vector bool short __a,vector bool short __b)9175 vec_cmpeq_or_0_idx(vector bool short __a, vector bool short __b) {
9176   return __builtin_s390_vfeezh((vector unsigned short)__a,
9177                                (vector unsigned short)__b);
9178 }
9179 
9180 static inline __ATTRS_o_ai vector unsigned short
vec_cmpeq_or_0_idx(vector unsigned short __a,vector unsigned short __b)9181 vec_cmpeq_or_0_idx(vector unsigned short __a, vector unsigned short __b) {
9182   return __builtin_s390_vfeezh(__a, __b);
9183 }
9184 
9185 static inline __ATTRS_o_ai vector signed int
vec_cmpeq_or_0_idx(vector signed int __a,vector signed int __b)9186 vec_cmpeq_or_0_idx(vector signed int __a, vector signed int __b) {
9187   return (vector signed int)
9188     __builtin_s390_vfeezf((vector unsigned int)__a,
9189                           (vector unsigned int)__b);
9190 }
9191 
9192 static inline __ATTRS_o_ai vector unsigned int
vec_cmpeq_or_0_idx(vector bool int __a,vector bool int __b)9193 vec_cmpeq_or_0_idx(vector bool int __a, vector bool int __b) {
9194   return __builtin_s390_vfeezf((vector unsigned int)__a,
9195                                (vector unsigned int)__b);
9196 }
9197 
9198 static inline __ATTRS_o_ai vector unsigned int
vec_cmpeq_or_0_idx(vector unsigned int __a,vector unsigned int __b)9199 vec_cmpeq_or_0_idx(vector unsigned int __a, vector unsigned int __b) {
9200   return __builtin_s390_vfeezf(__a, __b);
9201 }
9202 
9203 /*-- vec_cmpeq_or_0_idx_cc --------------------------------------------------*/
9204 
9205 static inline __ATTRS_o_ai vector signed char
vec_cmpeq_or_0_idx_cc(vector signed char __a,vector signed char __b,int * __cc)9206 vec_cmpeq_or_0_idx_cc(vector signed char __a, vector signed char __b,
9207                       int *__cc) {
9208   return (vector signed char)
9209     __builtin_s390_vfeezbs((vector unsigned char)__a,
9210                            (vector unsigned char)__b, __cc);
9211 }
9212 
9213 static inline __ATTRS_o_ai vector unsigned char
vec_cmpeq_or_0_idx_cc(vector bool char __a,vector bool char __b,int * __cc)9214 vec_cmpeq_or_0_idx_cc(vector bool char __a, vector bool char __b, int *__cc) {
9215   return __builtin_s390_vfeezbs((vector unsigned char)__a,
9216                                 (vector unsigned char)__b, __cc);
9217 }
9218 
9219 static inline __ATTRS_o_ai vector unsigned char
vec_cmpeq_or_0_idx_cc(vector unsigned char __a,vector unsigned char __b,int * __cc)9220 vec_cmpeq_or_0_idx_cc(vector unsigned char __a, vector unsigned char __b,
9221                       int *__cc) {
9222   return __builtin_s390_vfeezbs(__a, __b, __cc);
9223 }
9224 
9225 static inline __ATTRS_o_ai vector signed short
vec_cmpeq_or_0_idx_cc(vector signed short __a,vector signed short __b,int * __cc)9226 vec_cmpeq_or_0_idx_cc(vector signed short __a, vector signed short __b,
9227                       int *__cc) {
9228   return (vector signed short)
9229     __builtin_s390_vfeezhs((vector unsigned short)__a,
9230                            (vector unsigned short)__b, __cc);
9231 }
9232 
9233 static inline __ATTRS_o_ai vector unsigned short
vec_cmpeq_or_0_idx_cc(vector bool short __a,vector bool short __b,int * __cc)9234 vec_cmpeq_or_0_idx_cc(vector bool short __a, vector bool short __b, int *__cc) {
9235   return __builtin_s390_vfeezhs((vector unsigned short)__a,
9236                                 (vector unsigned short)__b, __cc);
9237 }
9238 
9239 static inline __ATTRS_o_ai vector unsigned short
vec_cmpeq_or_0_idx_cc(vector unsigned short __a,vector unsigned short __b,int * __cc)9240 vec_cmpeq_or_0_idx_cc(vector unsigned short __a, vector unsigned short __b,
9241                       int *__cc) {
9242   return __builtin_s390_vfeezhs(__a, __b, __cc);
9243 }
9244 
9245 static inline __ATTRS_o_ai vector signed int
vec_cmpeq_or_0_idx_cc(vector signed int __a,vector signed int __b,int * __cc)9246 vec_cmpeq_or_0_idx_cc(vector signed int __a, vector signed int __b, int *__cc) {
9247   return (vector signed int)
9248     __builtin_s390_vfeezfs((vector unsigned int)__a,
9249                            (vector unsigned int)__b, __cc);
9250 }
9251 
9252 static inline __ATTRS_o_ai vector unsigned int
vec_cmpeq_or_0_idx_cc(vector bool int __a,vector bool int __b,int * __cc)9253 vec_cmpeq_or_0_idx_cc(vector bool int __a, vector bool int __b, int *__cc) {
9254   return __builtin_s390_vfeezfs((vector unsigned int)__a,
9255                                 (vector unsigned int)__b, __cc);
9256 }
9257 
9258 static inline __ATTRS_o_ai vector unsigned int
vec_cmpeq_or_0_idx_cc(vector unsigned int __a,vector unsigned int __b,int * __cc)9259 vec_cmpeq_or_0_idx_cc(vector unsigned int __a, vector unsigned int __b,
9260                       int *__cc) {
9261   return __builtin_s390_vfeezfs(__a, __b, __cc);
9262 }
9263 
9264 /*-- vec_cmpne_idx ----------------------------------------------------------*/
9265 
9266 static inline __ATTRS_o_ai vector signed char
vec_cmpne_idx(vector signed char __a,vector signed char __b)9267 vec_cmpne_idx(vector signed char __a, vector signed char __b) {
9268   return (vector signed char)
9269     __builtin_s390_vfeneb((vector unsigned char)__a,
9270                           (vector unsigned char)__b);
9271 }
9272 
9273 static inline __ATTRS_o_ai vector unsigned char
vec_cmpne_idx(vector bool char __a,vector bool char __b)9274 vec_cmpne_idx(vector bool char __a, vector bool char __b) {
9275   return __builtin_s390_vfeneb((vector unsigned char)__a,
9276                                (vector unsigned char)__b);
9277 }
9278 
9279 static inline __ATTRS_o_ai vector unsigned char
vec_cmpne_idx(vector unsigned char __a,vector unsigned char __b)9280 vec_cmpne_idx(vector unsigned char __a, vector unsigned char __b) {
9281   return __builtin_s390_vfeneb(__a, __b);
9282 }
9283 
9284 static inline __ATTRS_o_ai vector signed short
vec_cmpne_idx(vector signed short __a,vector signed short __b)9285 vec_cmpne_idx(vector signed short __a, vector signed short __b) {
9286   return (vector signed short)
9287     __builtin_s390_vfeneh((vector unsigned short)__a,
9288                           (vector unsigned short)__b);
9289 }
9290 
9291 static inline __ATTRS_o_ai vector unsigned short
vec_cmpne_idx(vector bool short __a,vector bool short __b)9292 vec_cmpne_idx(vector bool short __a, vector bool short __b) {
9293   return __builtin_s390_vfeneh((vector unsigned short)__a,
9294                                (vector unsigned short)__b);
9295 }
9296 
9297 static inline __ATTRS_o_ai vector unsigned short
vec_cmpne_idx(vector unsigned short __a,vector unsigned short __b)9298 vec_cmpne_idx(vector unsigned short __a, vector unsigned short __b) {
9299   return __builtin_s390_vfeneh(__a, __b);
9300 }
9301 
9302 static inline __ATTRS_o_ai vector signed int
vec_cmpne_idx(vector signed int __a,vector signed int __b)9303 vec_cmpne_idx(vector signed int __a, vector signed int __b) {
9304   return (vector signed int)
9305     __builtin_s390_vfenef((vector unsigned int)__a,
9306                           (vector unsigned int)__b);
9307 }
9308 
9309 static inline __ATTRS_o_ai vector unsigned int
vec_cmpne_idx(vector bool int __a,vector bool int __b)9310 vec_cmpne_idx(vector bool int __a, vector bool int __b) {
9311   return __builtin_s390_vfenef((vector unsigned int)__a,
9312                                (vector unsigned int)__b);
9313 }
9314 
9315 static inline __ATTRS_o_ai vector unsigned int
vec_cmpne_idx(vector unsigned int __a,vector unsigned int __b)9316 vec_cmpne_idx(vector unsigned int __a, vector unsigned int __b) {
9317   return __builtin_s390_vfenef(__a, __b);
9318 }
9319 
9320 /*-- vec_cmpne_idx_cc -------------------------------------------------------*/
9321 
9322 static inline __ATTRS_o_ai vector signed char
vec_cmpne_idx_cc(vector signed char __a,vector signed char __b,int * __cc)9323 vec_cmpne_idx_cc(vector signed char __a, vector signed char __b, int *__cc) {
9324   return (vector signed char)
9325     __builtin_s390_vfenebs((vector unsigned char)__a,
9326                            (vector unsigned char)__b, __cc);
9327 }
9328 
9329 static inline __ATTRS_o_ai vector unsigned char
vec_cmpne_idx_cc(vector bool char __a,vector bool char __b,int * __cc)9330 vec_cmpne_idx_cc(vector bool char __a, vector bool char __b, int *__cc) {
9331   return __builtin_s390_vfenebs((vector unsigned char)__a,
9332                                 (vector unsigned char)__b, __cc);
9333 }
9334 
9335 static inline __ATTRS_o_ai vector unsigned char
vec_cmpne_idx_cc(vector unsigned char __a,vector unsigned char __b,int * __cc)9336 vec_cmpne_idx_cc(vector unsigned char __a, vector unsigned char __b,
9337                  int *__cc) {
9338   return __builtin_s390_vfenebs(__a, __b, __cc);
9339 }
9340 
9341 static inline __ATTRS_o_ai vector signed short
vec_cmpne_idx_cc(vector signed short __a,vector signed short __b,int * __cc)9342 vec_cmpne_idx_cc(vector signed short __a, vector signed short __b, int *__cc) {
9343   return (vector signed short)
9344     __builtin_s390_vfenehs((vector unsigned short)__a,
9345                            (vector unsigned short)__b, __cc);
9346 }
9347 
9348 static inline __ATTRS_o_ai vector unsigned short
vec_cmpne_idx_cc(vector bool short __a,vector bool short __b,int * __cc)9349 vec_cmpne_idx_cc(vector bool short __a, vector bool short __b, int *__cc) {
9350   return __builtin_s390_vfenehs((vector unsigned short)__a,
9351                                 (vector unsigned short)__b, __cc);
9352 }
9353 
9354 static inline __ATTRS_o_ai vector unsigned short
vec_cmpne_idx_cc(vector unsigned short __a,vector unsigned short __b,int * __cc)9355 vec_cmpne_idx_cc(vector unsigned short __a, vector unsigned short __b,
9356                  int *__cc) {
9357   return __builtin_s390_vfenehs(__a, __b, __cc);
9358 }
9359 
9360 static inline __ATTRS_o_ai vector signed int
vec_cmpne_idx_cc(vector signed int __a,vector signed int __b,int * __cc)9361 vec_cmpne_idx_cc(vector signed int __a, vector signed int __b, int *__cc) {
9362   return (vector signed int)
9363     __builtin_s390_vfenefs((vector unsigned int)__a,
9364                            (vector unsigned int)__b, __cc);
9365 }
9366 
9367 static inline __ATTRS_o_ai vector unsigned int
vec_cmpne_idx_cc(vector bool int __a,vector bool int __b,int * __cc)9368 vec_cmpne_idx_cc(vector bool int __a, vector bool int __b, int *__cc) {
9369   return __builtin_s390_vfenefs((vector unsigned int)__a,
9370                                 (vector unsigned int)__b, __cc);
9371 }
9372 
9373 static inline __ATTRS_o_ai vector unsigned int
vec_cmpne_idx_cc(vector unsigned int __a,vector unsigned int __b,int * __cc)9374 vec_cmpne_idx_cc(vector unsigned int __a, vector unsigned int __b, int *__cc) {
9375   return __builtin_s390_vfenefs(__a, __b, __cc);
9376 }
9377 
9378 /*-- vec_cmpne_or_0_idx -----------------------------------------------------*/
9379 
9380 static inline __ATTRS_o_ai vector signed char
vec_cmpne_or_0_idx(vector signed char __a,vector signed char __b)9381 vec_cmpne_or_0_idx(vector signed char __a, vector signed char __b) {
9382   return (vector signed char)
9383     __builtin_s390_vfenezb((vector unsigned char)__a,
9384                            (vector unsigned char)__b);
9385 }
9386 
9387 static inline __ATTRS_o_ai vector unsigned char
vec_cmpne_or_0_idx(vector bool char __a,vector bool char __b)9388 vec_cmpne_or_0_idx(vector bool char __a, vector bool char __b) {
9389   return __builtin_s390_vfenezb((vector unsigned char)__a,
9390                                 (vector unsigned char)__b);
9391 }
9392 
9393 static inline __ATTRS_o_ai vector unsigned char
vec_cmpne_or_0_idx(vector unsigned char __a,vector unsigned char __b)9394 vec_cmpne_or_0_idx(vector unsigned char __a, vector unsigned char __b) {
9395   return __builtin_s390_vfenezb(__a, __b);
9396 }
9397 
9398 static inline __ATTRS_o_ai vector signed short
vec_cmpne_or_0_idx(vector signed short __a,vector signed short __b)9399 vec_cmpne_or_0_idx(vector signed short __a, vector signed short __b) {
9400   return (vector signed short)
9401     __builtin_s390_vfenezh((vector unsigned short)__a,
9402                            (vector unsigned short)__b);
9403 }
9404 
9405 static inline __ATTRS_o_ai vector unsigned short
vec_cmpne_or_0_idx(vector bool short __a,vector bool short __b)9406 vec_cmpne_or_0_idx(vector bool short __a, vector bool short __b) {
9407   return __builtin_s390_vfenezh((vector unsigned short)__a,
9408                                 (vector unsigned short)__b);
9409 }
9410 
9411 static inline __ATTRS_o_ai vector unsigned short
vec_cmpne_or_0_idx(vector unsigned short __a,vector unsigned short __b)9412 vec_cmpne_or_0_idx(vector unsigned short __a, vector unsigned short __b) {
9413   return __builtin_s390_vfenezh(__a, __b);
9414 }
9415 
9416 static inline __ATTRS_o_ai vector signed int
vec_cmpne_or_0_idx(vector signed int __a,vector signed int __b)9417 vec_cmpne_or_0_idx(vector signed int __a, vector signed int __b) {
9418   return (vector signed int)
9419     __builtin_s390_vfenezf((vector unsigned int)__a,
9420                            (vector unsigned int)__b);
9421 }
9422 
9423 static inline __ATTRS_o_ai vector unsigned int
vec_cmpne_or_0_idx(vector bool int __a,vector bool int __b)9424 vec_cmpne_or_0_idx(vector bool int __a, vector bool int __b) {
9425   return __builtin_s390_vfenezf((vector unsigned int)__a,
9426                                 (vector unsigned int)__b);
9427 }
9428 
9429 static inline __ATTRS_o_ai vector unsigned int
vec_cmpne_or_0_idx(vector unsigned int __a,vector unsigned int __b)9430 vec_cmpne_or_0_idx(vector unsigned int __a, vector unsigned int __b) {
9431   return __builtin_s390_vfenezf(__a, __b);
9432 }
9433 
9434 /*-- vec_cmpne_or_0_idx_cc --------------------------------------------------*/
9435 
9436 static inline __ATTRS_o_ai vector signed char
vec_cmpne_or_0_idx_cc(vector signed char __a,vector signed char __b,int * __cc)9437 vec_cmpne_or_0_idx_cc(vector signed char __a, vector signed char __b,
9438                       int *__cc) {
9439   return (vector signed char)
9440     __builtin_s390_vfenezbs((vector unsigned char)__a,
9441                             (vector unsigned char)__b, __cc);
9442 }
9443 
9444 static inline __ATTRS_o_ai vector unsigned char
vec_cmpne_or_0_idx_cc(vector bool char __a,vector bool char __b,int * __cc)9445 vec_cmpne_or_0_idx_cc(vector bool char __a, vector bool char __b, int *__cc) {
9446   return __builtin_s390_vfenezbs((vector unsigned char)__a,
9447                                  (vector unsigned char)__b, __cc);
9448 }
9449 
9450 static inline __ATTRS_o_ai vector unsigned char
vec_cmpne_or_0_idx_cc(vector unsigned char __a,vector unsigned char __b,int * __cc)9451 vec_cmpne_or_0_idx_cc(vector unsigned char __a, vector unsigned char __b,
9452                       int *__cc) {
9453   return __builtin_s390_vfenezbs(__a, __b, __cc);
9454 }
9455 
9456 static inline __ATTRS_o_ai vector signed short
vec_cmpne_or_0_idx_cc(vector signed short __a,vector signed short __b,int * __cc)9457 vec_cmpne_or_0_idx_cc(vector signed short __a, vector signed short __b,
9458                       int *__cc) {
9459   return (vector signed short)
9460     __builtin_s390_vfenezhs((vector unsigned short)__a,
9461                             (vector unsigned short)__b, __cc);
9462 }
9463 
9464 static inline __ATTRS_o_ai vector unsigned short
vec_cmpne_or_0_idx_cc(vector bool short __a,vector bool short __b,int * __cc)9465 vec_cmpne_or_0_idx_cc(vector bool short __a, vector bool short __b, int *__cc) {
9466   return __builtin_s390_vfenezhs((vector unsigned short)__a,
9467                                  (vector unsigned short)__b, __cc);
9468 }
9469 
9470 static inline __ATTRS_o_ai vector unsigned short
vec_cmpne_or_0_idx_cc(vector unsigned short __a,vector unsigned short __b,int * __cc)9471 vec_cmpne_or_0_idx_cc(vector unsigned short __a, vector unsigned short __b,
9472                       int *__cc) {
9473   return __builtin_s390_vfenezhs(__a, __b, __cc);
9474 }
9475 
9476 static inline __ATTRS_o_ai vector signed int
vec_cmpne_or_0_idx_cc(vector signed int __a,vector signed int __b,int * __cc)9477 vec_cmpne_or_0_idx_cc(vector signed int __a, vector signed int __b, int *__cc) {
9478   return (vector signed int)
9479     __builtin_s390_vfenezfs((vector unsigned int)__a,
9480                             (vector unsigned int)__b, __cc);
9481 }
9482 
9483 static inline __ATTRS_o_ai vector unsigned int
vec_cmpne_or_0_idx_cc(vector bool int __a,vector bool int __b,int * __cc)9484 vec_cmpne_or_0_idx_cc(vector bool int __a, vector bool int __b, int *__cc) {
9485   return __builtin_s390_vfenezfs((vector unsigned int)__a,
9486                                  (vector unsigned int)__b, __cc);
9487 }
9488 
9489 static inline __ATTRS_o_ai vector unsigned int
vec_cmpne_or_0_idx_cc(vector unsigned int __a,vector unsigned int __b,int * __cc)9490 vec_cmpne_or_0_idx_cc(vector unsigned int __a, vector unsigned int __b,
9491                       int *__cc) {
9492   return __builtin_s390_vfenezfs(__a, __b, __cc);
9493 }
9494 
9495 /*-- vec_cmprg --------------------------------------------------------------*/
9496 
9497 static inline __ATTRS_o_ai vector bool char
vec_cmprg(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)9498 vec_cmprg(vector unsigned char __a, vector unsigned char __b,
9499           vector unsigned char __c) {
9500   return (vector bool char)__builtin_s390_vstrcb(__a, __b, __c, 4);
9501 }
9502 
9503 static inline __ATTRS_o_ai vector bool short
vec_cmprg(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c)9504 vec_cmprg(vector unsigned short __a, vector unsigned short __b,
9505           vector unsigned short __c) {
9506   return (vector bool short)__builtin_s390_vstrch(__a, __b, __c, 4);
9507 }
9508 
9509 static inline __ATTRS_o_ai vector bool int
vec_cmprg(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c)9510 vec_cmprg(vector unsigned int __a, vector unsigned int __b,
9511           vector unsigned int __c) {
9512   return (vector bool int)__builtin_s390_vstrcf(__a, __b, __c, 4);
9513 }
9514 
9515 /*-- vec_cmprg_cc -----------------------------------------------------------*/
9516 
9517 static inline __ATTRS_o_ai vector bool char
vec_cmprg_cc(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c,int * __cc)9518 vec_cmprg_cc(vector unsigned char __a, vector unsigned char __b,
9519              vector unsigned char __c, int *__cc) {
9520   return (vector bool char)__builtin_s390_vstrcbs(__a, __b, __c, 4, __cc);
9521 }
9522 
9523 static inline __ATTRS_o_ai vector bool short
vec_cmprg_cc(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c,int * __cc)9524 vec_cmprg_cc(vector unsigned short __a, vector unsigned short __b,
9525              vector unsigned short __c, int *__cc) {
9526   return (vector bool short)__builtin_s390_vstrchs(__a, __b, __c, 4, __cc);
9527 }
9528 
9529 static inline __ATTRS_o_ai vector bool int
vec_cmprg_cc(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c,int * __cc)9530 vec_cmprg_cc(vector unsigned int __a, vector unsigned int __b,
9531              vector unsigned int __c, int *__cc) {
9532   return (vector bool int)__builtin_s390_vstrcfs(__a, __b, __c, 4, __cc);
9533 }
9534 
9535 /*-- vec_cmprg_idx ----------------------------------------------------------*/
9536 
9537 static inline __ATTRS_o_ai vector unsigned char
vec_cmprg_idx(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)9538 vec_cmprg_idx(vector unsigned char __a, vector unsigned char __b,
9539               vector unsigned char __c) {
9540   return __builtin_s390_vstrcb(__a, __b, __c, 0);
9541 }
9542 
9543 static inline __ATTRS_o_ai vector unsigned short
vec_cmprg_idx(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c)9544 vec_cmprg_idx(vector unsigned short __a, vector unsigned short __b,
9545               vector unsigned short __c) {
9546   return __builtin_s390_vstrch(__a, __b, __c, 0);
9547 }
9548 
9549 static inline __ATTRS_o_ai vector unsigned int
vec_cmprg_idx(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c)9550 vec_cmprg_idx(vector unsigned int __a, vector unsigned int __b,
9551               vector unsigned int __c) {
9552   return __builtin_s390_vstrcf(__a, __b, __c, 0);
9553 }
9554 
9555 /*-- vec_cmprg_idx_cc -------------------------------------------------------*/
9556 
9557 static inline __ATTRS_o_ai vector unsigned char
vec_cmprg_idx_cc(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c,int * __cc)9558 vec_cmprg_idx_cc(vector unsigned char __a, vector unsigned char __b,
9559                  vector unsigned char __c, int *__cc) {
9560   return __builtin_s390_vstrcbs(__a, __b, __c, 0, __cc);
9561 }
9562 
9563 static inline __ATTRS_o_ai vector unsigned short
vec_cmprg_idx_cc(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c,int * __cc)9564 vec_cmprg_idx_cc(vector unsigned short __a, vector unsigned short __b,
9565                  vector unsigned short __c, int *__cc) {
9566   return __builtin_s390_vstrchs(__a, __b, __c, 0, __cc);
9567 }
9568 
9569 static inline __ATTRS_o_ai vector unsigned int
vec_cmprg_idx_cc(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c,int * __cc)9570 vec_cmprg_idx_cc(vector unsigned int __a, vector unsigned int __b,
9571                  vector unsigned int __c, int *__cc) {
9572   return __builtin_s390_vstrcfs(__a, __b, __c, 0, __cc);
9573 }
9574 
9575 /*-- vec_cmprg_or_0_idx -----------------------------------------------------*/
9576 
9577 static inline __ATTRS_o_ai vector unsigned char
vec_cmprg_or_0_idx(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)9578 vec_cmprg_or_0_idx(vector unsigned char __a, vector unsigned char __b,
9579                    vector unsigned char __c) {
9580   return __builtin_s390_vstrczb(__a, __b, __c, 0);
9581 }
9582 
9583 static inline __ATTRS_o_ai vector unsigned short
vec_cmprg_or_0_idx(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c)9584 vec_cmprg_or_0_idx(vector unsigned short __a, vector unsigned short __b,
9585                    vector unsigned short __c) {
9586   return __builtin_s390_vstrczh(__a, __b, __c, 0);
9587 }
9588 
9589 static inline __ATTRS_o_ai vector unsigned int
vec_cmprg_or_0_idx(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c)9590 vec_cmprg_or_0_idx(vector unsigned int __a, vector unsigned int __b,
9591                    vector unsigned int __c) {
9592   return __builtin_s390_vstrczf(__a, __b, __c, 0);
9593 }
9594 
9595 /*-- vec_cmprg_or_0_idx_cc --------------------------------------------------*/
9596 
9597 static inline __ATTRS_o_ai vector unsigned char
vec_cmprg_or_0_idx_cc(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c,int * __cc)9598 vec_cmprg_or_0_idx_cc(vector unsigned char __a, vector unsigned char __b,
9599                       vector unsigned char __c, int *__cc) {
9600   return __builtin_s390_vstrczbs(__a, __b, __c, 0, __cc);
9601 }
9602 
9603 static inline __ATTRS_o_ai vector unsigned short
vec_cmprg_or_0_idx_cc(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c,int * __cc)9604 vec_cmprg_or_0_idx_cc(vector unsigned short __a, vector unsigned short __b,
9605                       vector unsigned short __c, int *__cc) {
9606   return __builtin_s390_vstrczhs(__a, __b, __c, 0, __cc);
9607 }
9608 
9609 static inline __ATTRS_o_ai vector unsigned int
vec_cmprg_or_0_idx_cc(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c,int * __cc)9610 vec_cmprg_or_0_idx_cc(vector unsigned int __a, vector unsigned int __b,
9611                       vector unsigned int __c, int *__cc) {
9612   return __builtin_s390_vstrczfs(__a, __b, __c, 0, __cc);
9613 }
9614 
9615 /*-- vec_cmpnrg -------------------------------------------------------------*/
9616 
9617 static inline __ATTRS_o_ai vector bool char
vec_cmpnrg(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)9618 vec_cmpnrg(vector unsigned char __a, vector unsigned char __b,
9619            vector unsigned char __c) {
9620   return (vector bool char)__builtin_s390_vstrcb(__a, __b, __c, 12);
9621 }
9622 
9623 static inline __ATTRS_o_ai vector bool short
vec_cmpnrg(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c)9624 vec_cmpnrg(vector unsigned short __a, vector unsigned short __b,
9625            vector unsigned short __c) {
9626   return (vector bool short)__builtin_s390_vstrch(__a, __b, __c, 12);
9627 }
9628 
9629 static inline __ATTRS_o_ai vector bool int
vec_cmpnrg(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c)9630 vec_cmpnrg(vector unsigned int __a, vector unsigned int __b,
9631            vector unsigned int __c) {
9632   return (vector bool int)__builtin_s390_vstrcf(__a, __b, __c, 12);
9633 }
9634 
9635 /*-- vec_cmpnrg_cc ----------------------------------------------------------*/
9636 
9637 static inline __ATTRS_o_ai vector bool char
vec_cmpnrg_cc(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c,int * __cc)9638 vec_cmpnrg_cc(vector unsigned char __a, vector unsigned char __b,
9639               vector unsigned char __c, int *__cc) {
9640   return (vector bool char)__builtin_s390_vstrcbs(__a, __b, __c, 12, __cc);
9641 }
9642 
9643 static inline __ATTRS_o_ai vector bool short
vec_cmpnrg_cc(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c,int * __cc)9644 vec_cmpnrg_cc(vector unsigned short __a, vector unsigned short __b,
9645               vector unsigned short __c, int *__cc) {
9646   return (vector bool short)__builtin_s390_vstrchs(__a, __b, __c, 12, __cc);
9647 }
9648 
9649 static inline __ATTRS_o_ai vector bool int
vec_cmpnrg_cc(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c,int * __cc)9650 vec_cmpnrg_cc(vector unsigned int __a, vector unsigned int __b,
9651               vector unsigned int __c, int *__cc) {
9652   return (vector bool int)__builtin_s390_vstrcfs(__a, __b, __c, 12, __cc);
9653 }
9654 
9655 /*-- vec_cmpnrg_idx ---------------------------------------------------------*/
9656 
9657 static inline __ATTRS_o_ai vector unsigned char
vec_cmpnrg_idx(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)9658 vec_cmpnrg_idx(vector unsigned char __a, vector unsigned char __b,
9659                vector unsigned char __c) {
9660   return __builtin_s390_vstrcb(__a, __b, __c, 8);
9661 }
9662 
9663 static inline __ATTRS_o_ai vector unsigned short
vec_cmpnrg_idx(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c)9664 vec_cmpnrg_idx(vector unsigned short __a, vector unsigned short __b,
9665                vector unsigned short __c) {
9666   return __builtin_s390_vstrch(__a, __b, __c, 8);
9667 }
9668 
9669 static inline __ATTRS_o_ai vector unsigned int
vec_cmpnrg_idx(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c)9670 vec_cmpnrg_idx(vector unsigned int __a, vector unsigned int __b,
9671                vector unsigned int __c) {
9672   return __builtin_s390_vstrcf(__a, __b, __c, 8);
9673 }
9674 
9675 /*-- vec_cmpnrg_idx_cc ------------------------------------------------------*/
9676 
9677 static inline __ATTRS_o_ai vector unsigned char
vec_cmpnrg_idx_cc(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c,int * __cc)9678 vec_cmpnrg_idx_cc(vector unsigned char __a, vector unsigned char __b,
9679                   vector unsigned char __c, int *__cc) {
9680   return __builtin_s390_vstrcbs(__a, __b, __c, 8, __cc);
9681 }
9682 
9683 static inline __ATTRS_o_ai vector unsigned short
vec_cmpnrg_idx_cc(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c,int * __cc)9684 vec_cmpnrg_idx_cc(vector unsigned short __a, vector unsigned short __b,
9685                   vector unsigned short __c, int *__cc) {
9686   return __builtin_s390_vstrchs(__a, __b, __c, 8, __cc);
9687 }
9688 
9689 static inline __ATTRS_o_ai vector unsigned int
vec_cmpnrg_idx_cc(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c,int * __cc)9690 vec_cmpnrg_idx_cc(vector unsigned int __a, vector unsigned int __b,
9691                   vector unsigned int __c, int *__cc) {
9692   return __builtin_s390_vstrcfs(__a, __b, __c, 8, __cc);
9693 }
9694 
9695 /*-- vec_cmpnrg_or_0_idx ----------------------------------------------------*/
9696 
9697 static inline __ATTRS_o_ai vector unsigned char
vec_cmpnrg_or_0_idx(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)9698 vec_cmpnrg_or_0_idx(vector unsigned char __a, vector unsigned char __b,
9699                     vector unsigned char __c) {
9700   return __builtin_s390_vstrczb(__a, __b, __c, 8);
9701 }
9702 
9703 static inline __ATTRS_o_ai vector unsigned short
vec_cmpnrg_or_0_idx(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c)9704 vec_cmpnrg_or_0_idx(vector unsigned short __a, vector unsigned short __b,
9705                     vector unsigned short __c) {
9706   return __builtin_s390_vstrczh(__a, __b, __c, 8);
9707 }
9708 
9709 static inline __ATTRS_o_ai vector unsigned int
vec_cmpnrg_or_0_idx(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c)9710 vec_cmpnrg_or_0_idx(vector unsigned int __a, vector unsigned int __b,
9711                     vector unsigned int __c) {
9712   return __builtin_s390_vstrczf(__a, __b, __c, 8);
9713 }
9714 
9715 /*-- vec_cmpnrg_or_0_idx_cc -------------------------------------------------*/
9716 
9717 static inline __ATTRS_o_ai vector unsigned char
vec_cmpnrg_or_0_idx_cc(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c,int * __cc)9718 vec_cmpnrg_or_0_idx_cc(vector unsigned char __a, vector unsigned char __b,
9719                        vector unsigned char __c, int *__cc) {
9720   return __builtin_s390_vstrczbs(__a, __b, __c, 8, __cc);
9721 }
9722 
9723 static inline __ATTRS_o_ai vector unsigned short
vec_cmpnrg_or_0_idx_cc(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c,int * __cc)9724 vec_cmpnrg_or_0_idx_cc(vector unsigned short __a, vector unsigned short __b,
9725                        vector unsigned short __c, int *__cc) {
9726   return __builtin_s390_vstrczhs(__a, __b, __c, 8, __cc);
9727 }
9728 
9729 static inline __ATTRS_o_ai vector unsigned int
vec_cmpnrg_or_0_idx_cc(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c,int * __cc)9730 vec_cmpnrg_or_0_idx_cc(vector unsigned int __a, vector unsigned int __b,
9731                        vector unsigned int __c, int *__cc) {
9732   return __builtin_s390_vstrczfs(__a, __b, __c, 8, __cc);
9733 }
9734 
9735 /*-- vec_find_any_eq --------------------------------------------------------*/
9736 
9737 static inline __ATTRS_o_ai vector bool char
vec_find_any_eq(vector signed char __a,vector signed char __b)9738 vec_find_any_eq(vector signed char __a, vector signed char __b) {
9739   return (vector bool char)
9740     __builtin_s390_vfaeb((vector unsigned char)__a,
9741                          (vector unsigned char)__b, 4);
9742 }
9743 
9744 static inline __ATTRS_o_ai vector bool char
vec_find_any_eq(vector bool char __a,vector bool char __b)9745 vec_find_any_eq(vector bool char __a, vector bool char __b) {
9746   return (vector bool char)
9747     __builtin_s390_vfaeb((vector unsigned char)__a,
9748                          (vector unsigned char)__b, 4);
9749 }
9750 
9751 static inline __ATTRS_o_ai vector bool char
vec_find_any_eq(vector unsigned char __a,vector unsigned char __b)9752 vec_find_any_eq(vector unsigned char __a, vector unsigned char __b) {
9753   return (vector bool char)__builtin_s390_vfaeb(__a, __b, 4);
9754 }
9755 
9756 static inline __ATTRS_o_ai vector bool short
vec_find_any_eq(vector signed short __a,vector signed short __b)9757 vec_find_any_eq(vector signed short __a, vector signed short __b) {
9758   return (vector bool short)
9759     __builtin_s390_vfaeh((vector unsigned short)__a,
9760                          (vector unsigned short)__b, 4);
9761 }
9762 
9763 static inline __ATTRS_o_ai vector bool short
vec_find_any_eq(vector bool short __a,vector bool short __b)9764 vec_find_any_eq(vector bool short __a, vector bool short __b) {
9765   return (vector bool short)
9766     __builtin_s390_vfaeh((vector unsigned short)__a,
9767                          (vector unsigned short)__b, 4);
9768 }
9769 
9770 static inline __ATTRS_o_ai vector bool short
vec_find_any_eq(vector unsigned short __a,vector unsigned short __b)9771 vec_find_any_eq(vector unsigned short __a, vector unsigned short __b) {
9772   return (vector bool short)__builtin_s390_vfaeh(__a, __b, 4);
9773 }
9774 
9775 static inline __ATTRS_o_ai vector bool int
vec_find_any_eq(vector signed int __a,vector signed int __b)9776 vec_find_any_eq(vector signed int __a, vector signed int __b) {
9777   return (vector bool int)
9778     __builtin_s390_vfaef((vector unsigned int)__a,
9779                          (vector unsigned int)__b, 4);
9780 }
9781 
9782 static inline __ATTRS_o_ai vector bool int
vec_find_any_eq(vector bool int __a,vector bool int __b)9783 vec_find_any_eq(vector bool int __a, vector bool int __b) {
9784   return (vector bool int)
9785     __builtin_s390_vfaef((vector unsigned int)__a,
9786                          (vector unsigned int)__b, 4);
9787 }
9788 
9789 static inline __ATTRS_o_ai vector bool int
vec_find_any_eq(vector unsigned int __a,vector unsigned int __b)9790 vec_find_any_eq(vector unsigned int __a, vector unsigned int __b) {
9791   return (vector bool int)__builtin_s390_vfaef(__a, __b, 4);
9792 }
9793 
9794 /*-- vec_find_any_eq_cc -----------------------------------------------------*/
9795 
9796 static inline __ATTRS_o_ai vector bool char
vec_find_any_eq_cc(vector signed char __a,vector signed char __b,int * __cc)9797 vec_find_any_eq_cc(vector signed char __a, vector signed char __b, int *__cc) {
9798   return (vector bool char)
9799     __builtin_s390_vfaebs((vector unsigned char)__a,
9800                           (vector unsigned char)__b, 4, __cc);
9801 }
9802 
9803 static inline __ATTRS_o_ai vector bool char
vec_find_any_eq_cc(vector bool char __a,vector bool char __b,int * __cc)9804 vec_find_any_eq_cc(vector bool char __a, vector bool char __b, int *__cc) {
9805   return (vector bool char)
9806     __builtin_s390_vfaebs((vector unsigned char)__a,
9807                           (vector unsigned char)__b, 4, __cc);
9808 }
9809 
9810 static inline __ATTRS_o_ai vector bool char
vec_find_any_eq_cc(vector unsigned char __a,vector unsigned char __b,int * __cc)9811 vec_find_any_eq_cc(vector unsigned char __a, vector unsigned char __b,
9812                    int *__cc) {
9813   return (vector bool char)__builtin_s390_vfaebs(__a, __b, 4, __cc);
9814 }
9815 
9816 static inline __ATTRS_o_ai vector bool short
vec_find_any_eq_cc(vector signed short __a,vector signed short __b,int * __cc)9817 vec_find_any_eq_cc(vector signed short __a, vector signed short __b,
9818                    int *__cc) {
9819   return (vector bool short)
9820     __builtin_s390_vfaehs((vector unsigned short)__a,
9821                           (vector unsigned short)__b, 4, __cc);
9822 }
9823 
9824 static inline __ATTRS_o_ai vector bool short
vec_find_any_eq_cc(vector bool short __a,vector bool short __b,int * __cc)9825 vec_find_any_eq_cc(vector bool short __a, vector bool short __b, int *__cc) {
9826   return (vector bool short)
9827     __builtin_s390_vfaehs((vector unsigned short)__a,
9828                           (vector unsigned short)__b, 4, __cc);
9829 }
9830 
9831 static inline __ATTRS_o_ai vector bool short
vec_find_any_eq_cc(vector unsigned short __a,vector unsigned short __b,int * __cc)9832 vec_find_any_eq_cc(vector unsigned short __a, vector unsigned short __b,
9833                    int *__cc) {
9834   return (vector bool short)__builtin_s390_vfaehs(__a, __b, 4, __cc);
9835 }
9836 
9837 static inline __ATTRS_o_ai vector bool int
vec_find_any_eq_cc(vector signed int __a,vector signed int __b,int * __cc)9838 vec_find_any_eq_cc(vector signed int __a, vector signed int __b, int *__cc) {
9839   return (vector bool int)
9840     __builtin_s390_vfaefs((vector unsigned int)__a,
9841                           (vector unsigned int)__b, 4, __cc);
9842 }
9843 
9844 static inline __ATTRS_o_ai vector bool int
vec_find_any_eq_cc(vector bool int __a,vector bool int __b,int * __cc)9845 vec_find_any_eq_cc(vector bool int __a, vector bool int __b, int *__cc) {
9846   return (vector bool int)
9847     __builtin_s390_vfaefs((vector unsigned int)__a,
9848                           (vector unsigned int)__b, 4, __cc);
9849 }
9850 
9851 static inline __ATTRS_o_ai vector bool int
vec_find_any_eq_cc(vector unsigned int __a,vector unsigned int __b,int * __cc)9852 vec_find_any_eq_cc(vector unsigned int __a, vector unsigned int __b,
9853                    int *__cc) {
9854   return (vector bool int)__builtin_s390_vfaefs(__a, __b, 4, __cc);
9855 }
9856 
9857 /*-- vec_find_any_eq_idx ----------------------------------------------------*/
9858 
9859 static inline __ATTRS_o_ai vector signed char
vec_find_any_eq_idx(vector signed char __a,vector signed char __b)9860 vec_find_any_eq_idx(vector signed char __a, vector signed char __b) {
9861   return (vector signed char)
9862     __builtin_s390_vfaeb((vector unsigned char)__a,
9863                          (vector unsigned char)__b, 0);
9864 }
9865 
9866 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_eq_idx(vector bool char __a,vector bool char __b)9867 vec_find_any_eq_idx(vector bool char __a, vector bool char __b) {
9868   return __builtin_s390_vfaeb((vector unsigned char)__a,
9869                               (vector unsigned char)__b, 0);
9870 }
9871 
9872 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_eq_idx(vector unsigned char __a,vector unsigned char __b)9873 vec_find_any_eq_idx(vector unsigned char __a, vector unsigned char __b) {
9874   return __builtin_s390_vfaeb(__a, __b, 0);
9875 }
9876 
9877 static inline __ATTRS_o_ai vector signed short
vec_find_any_eq_idx(vector signed short __a,vector signed short __b)9878 vec_find_any_eq_idx(vector signed short __a, vector signed short __b) {
9879   return (vector signed short)
9880     __builtin_s390_vfaeh((vector unsigned short)__a,
9881                          (vector unsigned short)__b, 0);
9882 }
9883 
9884 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_eq_idx(vector bool short __a,vector bool short __b)9885 vec_find_any_eq_idx(vector bool short __a, vector bool short __b) {
9886   return __builtin_s390_vfaeh((vector unsigned short)__a,
9887                               (vector unsigned short)__b, 0);
9888 }
9889 
9890 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_eq_idx(vector unsigned short __a,vector unsigned short __b)9891 vec_find_any_eq_idx(vector unsigned short __a, vector unsigned short __b) {
9892   return __builtin_s390_vfaeh(__a, __b, 0);
9893 }
9894 
9895 static inline __ATTRS_o_ai vector signed int
vec_find_any_eq_idx(vector signed int __a,vector signed int __b)9896 vec_find_any_eq_idx(vector signed int __a, vector signed int __b) {
9897   return (vector signed int)
9898     __builtin_s390_vfaef((vector unsigned int)__a,
9899                          (vector unsigned int)__b, 0);
9900 }
9901 
9902 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_eq_idx(vector bool int __a,vector bool int __b)9903 vec_find_any_eq_idx(vector bool int __a, vector bool int __b) {
9904   return __builtin_s390_vfaef((vector unsigned int)__a,
9905                               (vector unsigned int)__b, 0);
9906 }
9907 
9908 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_eq_idx(vector unsigned int __a,vector unsigned int __b)9909 vec_find_any_eq_idx(vector unsigned int __a, vector unsigned int __b) {
9910   return __builtin_s390_vfaef(__a, __b, 0);
9911 }
9912 
9913 /*-- vec_find_any_eq_idx_cc -------------------------------------------------*/
9914 
9915 static inline __ATTRS_o_ai vector signed char
vec_find_any_eq_idx_cc(vector signed char __a,vector signed char __b,int * __cc)9916 vec_find_any_eq_idx_cc(vector signed char __a, vector signed char __b,
9917                        int *__cc) {
9918   return (vector signed char)
9919     __builtin_s390_vfaebs((vector unsigned char)__a,
9920                           (vector unsigned char)__b, 0, __cc);
9921 }
9922 
9923 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_eq_idx_cc(vector bool char __a,vector bool char __b,int * __cc)9924 vec_find_any_eq_idx_cc(vector bool char __a, vector bool char __b, int *__cc) {
9925   return __builtin_s390_vfaebs((vector unsigned char)__a,
9926                                (vector unsigned char)__b, 0, __cc);
9927 }
9928 
9929 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_eq_idx_cc(vector unsigned char __a,vector unsigned char __b,int * __cc)9930 vec_find_any_eq_idx_cc(vector unsigned char __a, vector unsigned char __b,
9931                        int *__cc) {
9932   return __builtin_s390_vfaebs(__a, __b, 0, __cc);
9933 }
9934 
9935 static inline __ATTRS_o_ai vector signed short
vec_find_any_eq_idx_cc(vector signed short __a,vector signed short __b,int * __cc)9936 vec_find_any_eq_idx_cc(vector signed short __a, vector signed short __b,
9937                        int *__cc) {
9938   return (vector signed short)
9939     __builtin_s390_vfaehs((vector unsigned short)__a,
9940                           (vector unsigned short)__b, 0, __cc);
9941 }
9942 
9943 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_eq_idx_cc(vector bool short __a,vector bool short __b,int * __cc)9944 vec_find_any_eq_idx_cc(vector bool short __a, vector bool short __b,
9945                        int *__cc) {
9946   return __builtin_s390_vfaehs((vector unsigned short)__a,
9947                                (vector unsigned short)__b, 0, __cc);
9948 }
9949 
9950 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_eq_idx_cc(vector unsigned short __a,vector unsigned short __b,int * __cc)9951 vec_find_any_eq_idx_cc(vector unsigned short __a, vector unsigned short __b,
9952                        int *__cc) {
9953   return __builtin_s390_vfaehs(__a, __b, 0, __cc);
9954 }
9955 
9956 static inline __ATTRS_o_ai vector signed int
vec_find_any_eq_idx_cc(vector signed int __a,vector signed int __b,int * __cc)9957 vec_find_any_eq_idx_cc(vector signed int __a, vector signed int __b,
9958                        int *__cc) {
9959   return (vector signed int)
9960     __builtin_s390_vfaefs((vector unsigned int)__a,
9961                           (vector unsigned int)__b, 0, __cc);
9962 }
9963 
9964 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_eq_idx_cc(vector bool int __a,vector bool int __b,int * __cc)9965 vec_find_any_eq_idx_cc(vector bool int __a, vector bool int __b, int *__cc) {
9966   return __builtin_s390_vfaefs((vector unsigned int)__a,
9967                                (vector unsigned int)__b, 0, __cc);
9968 }
9969 
9970 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_eq_idx_cc(vector unsigned int __a,vector unsigned int __b,int * __cc)9971 vec_find_any_eq_idx_cc(vector unsigned int __a, vector unsigned int __b,
9972                        int *__cc) {
9973   return __builtin_s390_vfaefs(__a, __b, 0, __cc);
9974 }
9975 
9976 /*-- vec_find_any_eq_or_0_idx -----------------------------------------------*/
9977 
9978 static inline __ATTRS_o_ai vector signed char
vec_find_any_eq_or_0_idx(vector signed char __a,vector signed char __b)9979 vec_find_any_eq_or_0_idx(vector signed char __a, vector signed char __b) {
9980   return (vector signed char)
9981     __builtin_s390_vfaezb((vector unsigned char)__a,
9982                           (vector unsigned char)__b, 0);
9983 }
9984 
9985 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_eq_or_0_idx(vector bool char __a,vector bool char __b)9986 vec_find_any_eq_or_0_idx(vector bool char __a, vector bool char __b) {
9987   return __builtin_s390_vfaezb((vector unsigned char)__a,
9988                                (vector unsigned char)__b, 0);
9989 }
9990 
9991 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_eq_or_0_idx(vector unsigned char __a,vector unsigned char __b)9992 vec_find_any_eq_or_0_idx(vector unsigned char __a, vector unsigned char __b) {
9993   return __builtin_s390_vfaezb(__a, __b, 0);
9994 }
9995 
9996 static inline __ATTRS_o_ai vector signed short
vec_find_any_eq_or_0_idx(vector signed short __a,vector signed short __b)9997 vec_find_any_eq_or_0_idx(vector signed short __a, vector signed short __b) {
9998   return (vector signed short)
9999     __builtin_s390_vfaezh((vector unsigned short)__a,
10000                           (vector unsigned short)__b, 0);
10001 }
10002 
10003 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_eq_or_0_idx(vector bool short __a,vector bool short __b)10004 vec_find_any_eq_or_0_idx(vector bool short __a, vector bool short __b) {
10005   return __builtin_s390_vfaezh((vector unsigned short)__a,
10006                                (vector unsigned short)__b, 0);
10007 }
10008 
10009 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_eq_or_0_idx(vector unsigned short __a,vector unsigned short __b)10010 vec_find_any_eq_or_0_idx(vector unsigned short __a, vector unsigned short __b) {
10011   return __builtin_s390_vfaezh(__a, __b, 0);
10012 }
10013 
10014 static inline __ATTRS_o_ai vector signed int
vec_find_any_eq_or_0_idx(vector signed int __a,vector signed int __b)10015 vec_find_any_eq_or_0_idx(vector signed int __a, vector signed int __b) {
10016   return (vector signed int)
10017     __builtin_s390_vfaezf((vector unsigned int)__a,
10018                           (vector unsigned int)__b, 0);
10019 }
10020 
10021 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_eq_or_0_idx(vector bool int __a,vector bool int __b)10022 vec_find_any_eq_or_0_idx(vector bool int __a, vector bool int __b) {
10023   return __builtin_s390_vfaezf((vector unsigned int)__a,
10024                                (vector unsigned int)__b, 0);
10025 }
10026 
10027 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_eq_or_0_idx(vector unsigned int __a,vector unsigned int __b)10028 vec_find_any_eq_or_0_idx(vector unsigned int __a, vector unsigned int __b) {
10029   return __builtin_s390_vfaezf(__a, __b, 0);
10030 }
10031 
10032 /*-- vec_find_any_eq_or_0_idx_cc --------------------------------------------*/
10033 
10034 static inline __ATTRS_o_ai vector signed char
vec_find_any_eq_or_0_idx_cc(vector signed char __a,vector signed char __b,int * __cc)10035 vec_find_any_eq_or_0_idx_cc(vector signed char __a, vector signed char __b,
10036                             int *__cc) {
10037   return (vector signed char)
10038     __builtin_s390_vfaezbs((vector unsigned char)__a,
10039                            (vector unsigned char)__b, 0, __cc);
10040 }
10041 
10042 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_eq_or_0_idx_cc(vector bool char __a,vector bool char __b,int * __cc)10043 vec_find_any_eq_or_0_idx_cc(vector bool char __a, vector bool char __b,
10044                             int *__cc) {
10045   return __builtin_s390_vfaezbs((vector unsigned char)__a,
10046                                 (vector unsigned char)__b, 0, __cc);
10047 }
10048 
10049 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_eq_or_0_idx_cc(vector unsigned char __a,vector unsigned char __b,int * __cc)10050 vec_find_any_eq_or_0_idx_cc(vector unsigned char __a, vector unsigned char __b,
10051                             int *__cc) {
10052   return __builtin_s390_vfaezbs(__a, __b, 0, __cc);
10053 }
10054 
10055 static inline __ATTRS_o_ai vector signed short
vec_find_any_eq_or_0_idx_cc(vector signed short __a,vector signed short __b,int * __cc)10056 vec_find_any_eq_or_0_idx_cc(vector signed short __a, vector signed short __b,
10057                             int *__cc) {
10058   return (vector signed short)
10059     __builtin_s390_vfaezhs((vector unsigned short)__a,
10060                            (vector unsigned short)__b, 0, __cc);
10061 }
10062 
10063 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_eq_or_0_idx_cc(vector bool short __a,vector bool short __b,int * __cc)10064 vec_find_any_eq_or_0_idx_cc(vector bool short __a, vector bool short __b,
10065                             int *__cc) {
10066   return __builtin_s390_vfaezhs((vector unsigned short)__a,
10067                                 (vector unsigned short)__b, 0, __cc);
10068 }
10069 
10070 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_eq_or_0_idx_cc(vector unsigned short __a,vector unsigned short __b,int * __cc)10071 vec_find_any_eq_or_0_idx_cc(vector unsigned short __a,
10072                             vector unsigned short __b, int *__cc) {
10073   return __builtin_s390_vfaezhs(__a, __b, 0, __cc);
10074 }
10075 
10076 static inline __ATTRS_o_ai vector signed int
vec_find_any_eq_or_0_idx_cc(vector signed int __a,vector signed int __b,int * __cc)10077 vec_find_any_eq_or_0_idx_cc(vector signed int __a, vector signed int __b,
10078                             int *__cc) {
10079   return (vector signed int)
10080     __builtin_s390_vfaezfs((vector unsigned int)__a,
10081                            (vector unsigned int)__b, 0, __cc);
10082 }
10083 
10084 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_eq_or_0_idx_cc(vector bool int __a,vector bool int __b,int * __cc)10085 vec_find_any_eq_or_0_idx_cc(vector bool int __a, vector bool int __b,
10086                             int *__cc) {
10087   return __builtin_s390_vfaezfs((vector unsigned int)__a,
10088                                 (vector unsigned int)__b, 0, __cc);
10089 }
10090 
10091 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_eq_or_0_idx_cc(vector unsigned int __a,vector unsigned int __b,int * __cc)10092 vec_find_any_eq_or_0_idx_cc(vector unsigned int __a, vector unsigned int __b,
10093                             int *__cc) {
10094   return __builtin_s390_vfaezfs(__a, __b, 0, __cc);
10095 }
10096 
10097 /*-- vec_find_any_ne --------------------------------------------------------*/
10098 
10099 static inline __ATTRS_o_ai vector bool char
vec_find_any_ne(vector signed char __a,vector signed char __b)10100 vec_find_any_ne(vector signed char __a, vector signed char __b) {
10101   return (vector bool char)
10102     __builtin_s390_vfaeb((vector unsigned char)__a,
10103                          (vector unsigned char)__b, 12);
10104 }
10105 
10106 static inline __ATTRS_o_ai vector bool char
vec_find_any_ne(vector bool char __a,vector bool char __b)10107 vec_find_any_ne(vector bool char __a, vector bool char __b) {
10108   return (vector bool char)
10109     __builtin_s390_vfaeb((vector unsigned char)__a,
10110                          (vector unsigned char)__b, 12);
10111 }
10112 
10113 static inline __ATTRS_o_ai vector bool char
vec_find_any_ne(vector unsigned char __a,vector unsigned char __b)10114 vec_find_any_ne(vector unsigned char __a, vector unsigned char __b) {
10115   return (vector bool char)__builtin_s390_vfaeb(__a, __b, 12);
10116 }
10117 
10118 static inline __ATTRS_o_ai vector bool short
vec_find_any_ne(vector signed short __a,vector signed short __b)10119 vec_find_any_ne(vector signed short __a, vector signed short __b) {
10120   return (vector bool short)
10121     __builtin_s390_vfaeh((vector unsigned short)__a,
10122                          (vector unsigned short)__b, 12);
10123 }
10124 
10125 static inline __ATTRS_o_ai vector bool short
vec_find_any_ne(vector bool short __a,vector bool short __b)10126 vec_find_any_ne(vector bool short __a, vector bool short __b) {
10127   return (vector bool short)
10128     __builtin_s390_vfaeh((vector unsigned short)__a,
10129                          (vector unsigned short)__b, 12);
10130 }
10131 
10132 static inline __ATTRS_o_ai vector bool short
vec_find_any_ne(vector unsigned short __a,vector unsigned short __b)10133 vec_find_any_ne(vector unsigned short __a, vector unsigned short __b) {
10134   return (vector bool short)__builtin_s390_vfaeh(__a, __b, 12);
10135 }
10136 
10137 static inline __ATTRS_o_ai vector bool int
vec_find_any_ne(vector signed int __a,vector signed int __b)10138 vec_find_any_ne(vector signed int __a, vector signed int __b) {
10139   return (vector bool int)
10140     __builtin_s390_vfaef((vector unsigned int)__a,
10141                          (vector unsigned int)__b, 12);
10142 }
10143 
10144 static inline __ATTRS_o_ai vector bool int
vec_find_any_ne(vector bool int __a,vector bool int __b)10145 vec_find_any_ne(vector bool int __a, vector bool int __b) {
10146   return (vector bool int)
10147     __builtin_s390_vfaef((vector unsigned int)__a,
10148                          (vector unsigned int)__b, 12);
10149 }
10150 
10151 static inline __ATTRS_o_ai vector bool int
vec_find_any_ne(vector unsigned int __a,vector unsigned int __b)10152 vec_find_any_ne(vector unsigned int __a, vector unsigned int __b) {
10153   return (vector bool int)__builtin_s390_vfaef(__a, __b, 12);
10154 }
10155 
10156 /*-- vec_find_any_ne_cc -----------------------------------------------------*/
10157 
10158 static inline __ATTRS_o_ai vector bool char
vec_find_any_ne_cc(vector signed char __a,vector signed char __b,int * __cc)10159 vec_find_any_ne_cc(vector signed char __a, vector signed char __b, int *__cc) {
10160   return (vector bool char)
10161     __builtin_s390_vfaebs((vector unsigned char)__a,
10162                           (vector unsigned char)__b, 12, __cc);
10163 }
10164 
10165 static inline __ATTRS_o_ai vector bool char
vec_find_any_ne_cc(vector bool char __a,vector bool char __b,int * __cc)10166 vec_find_any_ne_cc(vector bool char __a, vector bool char __b, int *__cc) {
10167   return (vector bool char)
10168     __builtin_s390_vfaebs((vector unsigned char)__a,
10169                           (vector unsigned char)__b, 12, __cc);
10170 }
10171 
10172 static inline __ATTRS_o_ai vector bool char
vec_find_any_ne_cc(vector unsigned char __a,vector unsigned char __b,int * __cc)10173 vec_find_any_ne_cc(vector unsigned char __a, vector unsigned char __b,
10174                    int *__cc) {
10175   return (vector bool char)__builtin_s390_vfaebs(__a, __b, 12, __cc);
10176 }
10177 
10178 static inline __ATTRS_o_ai vector bool short
vec_find_any_ne_cc(vector signed short __a,vector signed short __b,int * __cc)10179 vec_find_any_ne_cc(vector signed short __a, vector signed short __b,
10180                    int *__cc) {
10181   return (vector bool short)
10182     __builtin_s390_vfaehs((vector unsigned short)__a,
10183                           (vector unsigned short)__b, 12, __cc);
10184 }
10185 
10186 static inline __ATTRS_o_ai vector bool short
vec_find_any_ne_cc(vector bool short __a,vector bool short __b,int * __cc)10187 vec_find_any_ne_cc(vector bool short __a, vector bool short __b, int *__cc) {
10188   return (vector bool short)
10189     __builtin_s390_vfaehs((vector unsigned short)__a,
10190                           (vector unsigned short)__b, 12, __cc);
10191 }
10192 
10193 static inline __ATTRS_o_ai vector bool short
vec_find_any_ne_cc(vector unsigned short __a,vector unsigned short __b,int * __cc)10194 vec_find_any_ne_cc(vector unsigned short __a, vector unsigned short __b,
10195                    int *__cc) {
10196   return (vector bool short)__builtin_s390_vfaehs(__a, __b, 12, __cc);
10197 }
10198 
10199 static inline __ATTRS_o_ai vector bool int
vec_find_any_ne_cc(vector signed int __a,vector signed int __b,int * __cc)10200 vec_find_any_ne_cc(vector signed int __a, vector signed int __b, int *__cc) {
10201   return (vector bool int)
10202     __builtin_s390_vfaefs((vector unsigned int)__a,
10203                           (vector unsigned int)__b, 12, __cc);
10204 }
10205 
10206 static inline __ATTRS_o_ai vector bool int
vec_find_any_ne_cc(vector bool int __a,vector bool int __b,int * __cc)10207 vec_find_any_ne_cc(vector bool int __a, vector bool int __b, int *__cc) {
10208   return (vector bool int)
10209     __builtin_s390_vfaefs((vector unsigned int)__a,
10210                           (vector unsigned int)__b, 12, __cc);
10211 }
10212 
10213 static inline __ATTRS_o_ai vector bool int
vec_find_any_ne_cc(vector unsigned int __a,vector unsigned int __b,int * __cc)10214 vec_find_any_ne_cc(vector unsigned int __a, vector unsigned int __b,
10215                    int *__cc) {
10216   return (vector bool int)__builtin_s390_vfaefs(__a, __b, 12, __cc);
10217 }
10218 
10219 /*-- vec_find_any_ne_idx ----------------------------------------------------*/
10220 
10221 static inline __ATTRS_o_ai vector signed char
vec_find_any_ne_idx(vector signed char __a,vector signed char __b)10222 vec_find_any_ne_idx(vector signed char __a, vector signed char __b) {
10223   return (vector signed char)
10224     __builtin_s390_vfaeb((vector unsigned char)__a,
10225                          (vector unsigned char)__b, 8);
10226 }
10227 
10228 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_ne_idx(vector bool char __a,vector bool char __b)10229 vec_find_any_ne_idx(vector bool char __a, vector bool char __b) {
10230   return __builtin_s390_vfaeb((vector unsigned char)__a,
10231                               (vector unsigned char)__b, 8);
10232 }
10233 
10234 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_ne_idx(vector unsigned char __a,vector unsigned char __b)10235 vec_find_any_ne_idx(vector unsigned char __a, vector unsigned char __b) {
10236   return __builtin_s390_vfaeb(__a, __b, 8);
10237 }
10238 
10239 static inline __ATTRS_o_ai vector signed short
vec_find_any_ne_idx(vector signed short __a,vector signed short __b)10240 vec_find_any_ne_idx(vector signed short __a, vector signed short __b) {
10241   return (vector signed short)
10242     __builtin_s390_vfaeh((vector unsigned short)__a,
10243                          (vector unsigned short)__b, 8);
10244 }
10245 
10246 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_ne_idx(vector bool short __a,vector bool short __b)10247 vec_find_any_ne_idx(vector bool short __a, vector bool short __b) {
10248   return __builtin_s390_vfaeh((vector unsigned short)__a,
10249                               (vector unsigned short)__b, 8);
10250 }
10251 
10252 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_ne_idx(vector unsigned short __a,vector unsigned short __b)10253 vec_find_any_ne_idx(vector unsigned short __a, vector unsigned short __b) {
10254   return __builtin_s390_vfaeh(__a, __b, 8);
10255 }
10256 
10257 static inline __ATTRS_o_ai vector signed int
vec_find_any_ne_idx(vector signed int __a,vector signed int __b)10258 vec_find_any_ne_idx(vector signed int __a, vector signed int __b) {
10259   return (vector signed int)
10260     __builtin_s390_vfaef((vector unsigned int)__a,
10261                          (vector unsigned int)__b, 8);
10262 }
10263 
10264 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_ne_idx(vector bool int __a,vector bool int __b)10265 vec_find_any_ne_idx(vector bool int __a, vector bool int __b) {
10266   return __builtin_s390_vfaef((vector unsigned int)__a,
10267                               (vector unsigned int)__b, 8);
10268 }
10269 
10270 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_ne_idx(vector unsigned int __a,vector unsigned int __b)10271 vec_find_any_ne_idx(vector unsigned int __a, vector unsigned int __b) {
10272   return __builtin_s390_vfaef(__a, __b, 8);
10273 }
10274 
10275 /*-- vec_find_any_ne_idx_cc -------------------------------------------------*/
10276 
10277 static inline __ATTRS_o_ai vector signed char
vec_find_any_ne_idx_cc(vector signed char __a,vector signed char __b,int * __cc)10278 vec_find_any_ne_idx_cc(vector signed char __a, vector signed char __b,
10279                        int *__cc) {
10280   return (vector signed char)
10281     __builtin_s390_vfaebs((vector unsigned char)__a,
10282                           (vector unsigned char)__b, 8, __cc);
10283 }
10284 
10285 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_ne_idx_cc(vector bool char __a,vector bool char __b,int * __cc)10286 vec_find_any_ne_idx_cc(vector bool char __a, vector bool char __b, int *__cc) {
10287   return __builtin_s390_vfaebs((vector unsigned char)__a,
10288                                (vector unsigned char)__b, 8, __cc);
10289 }
10290 
10291 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_ne_idx_cc(vector unsigned char __a,vector unsigned char __b,int * __cc)10292 vec_find_any_ne_idx_cc(vector unsigned char __a, vector unsigned char __b,
10293                        int *__cc) {
10294   return __builtin_s390_vfaebs(__a, __b, 8, __cc);
10295 }
10296 
10297 static inline __ATTRS_o_ai vector signed short
vec_find_any_ne_idx_cc(vector signed short __a,vector signed short __b,int * __cc)10298 vec_find_any_ne_idx_cc(vector signed short __a, vector signed short __b,
10299                        int *__cc) {
10300   return (vector signed short)
10301     __builtin_s390_vfaehs((vector unsigned short)__a,
10302                           (vector unsigned short)__b, 8, __cc);
10303 }
10304 
10305 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_ne_idx_cc(vector bool short __a,vector bool short __b,int * __cc)10306 vec_find_any_ne_idx_cc(vector bool short __a, vector bool short __b,
10307                        int *__cc) {
10308   return __builtin_s390_vfaehs((vector unsigned short)__a,
10309                                (vector unsigned short)__b, 8, __cc);
10310 }
10311 
10312 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_ne_idx_cc(vector unsigned short __a,vector unsigned short __b,int * __cc)10313 vec_find_any_ne_idx_cc(vector unsigned short __a, vector unsigned short __b,
10314                        int *__cc) {
10315   return __builtin_s390_vfaehs(__a, __b, 8, __cc);
10316 }
10317 
10318 static inline __ATTRS_o_ai vector signed int
vec_find_any_ne_idx_cc(vector signed int __a,vector signed int __b,int * __cc)10319 vec_find_any_ne_idx_cc(vector signed int __a, vector signed int __b,
10320                        int *__cc) {
10321   return (vector signed int)
10322     __builtin_s390_vfaefs((vector unsigned int)__a,
10323                           (vector unsigned int)__b, 8, __cc);
10324 }
10325 
10326 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_ne_idx_cc(vector bool int __a,vector bool int __b,int * __cc)10327 vec_find_any_ne_idx_cc(vector bool int __a, vector bool int __b, int *__cc) {
10328   return __builtin_s390_vfaefs((vector unsigned int)__a,
10329                                (vector unsigned int)__b, 8, __cc);
10330 }
10331 
10332 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_ne_idx_cc(vector unsigned int __a,vector unsigned int __b,int * __cc)10333 vec_find_any_ne_idx_cc(vector unsigned int __a, vector unsigned int __b,
10334                        int *__cc) {
10335   return __builtin_s390_vfaefs(__a, __b, 8, __cc);
10336 }
10337 
10338 /*-- vec_find_any_ne_or_0_idx -----------------------------------------------*/
10339 
10340 static inline __ATTRS_o_ai vector signed char
vec_find_any_ne_or_0_idx(vector signed char __a,vector signed char __b)10341 vec_find_any_ne_or_0_idx(vector signed char __a, vector signed char __b) {
10342   return (vector signed char)
10343     __builtin_s390_vfaezb((vector unsigned char)__a,
10344                           (vector unsigned char)__b, 8);
10345 }
10346 
10347 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_ne_or_0_idx(vector bool char __a,vector bool char __b)10348 vec_find_any_ne_or_0_idx(vector bool char __a, vector bool char __b) {
10349   return __builtin_s390_vfaezb((vector unsigned char)__a,
10350                                (vector unsigned char)__b, 8);
10351 }
10352 
10353 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_ne_or_0_idx(vector unsigned char __a,vector unsigned char __b)10354 vec_find_any_ne_or_0_idx(vector unsigned char __a, vector unsigned char __b) {
10355   return __builtin_s390_vfaezb(__a, __b, 8);
10356 }
10357 
10358 static inline __ATTRS_o_ai vector signed short
vec_find_any_ne_or_0_idx(vector signed short __a,vector signed short __b)10359 vec_find_any_ne_or_0_idx(vector signed short __a, vector signed short __b) {
10360   return (vector signed short)
10361     __builtin_s390_vfaezh((vector unsigned short)__a,
10362                           (vector unsigned short)__b, 8);
10363 }
10364 
10365 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_ne_or_0_idx(vector bool short __a,vector bool short __b)10366 vec_find_any_ne_or_0_idx(vector bool short __a, vector bool short __b) {
10367   return __builtin_s390_vfaezh((vector unsigned short)__a,
10368                                (vector unsigned short)__b, 8);
10369 }
10370 
10371 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_ne_or_0_idx(vector unsigned short __a,vector unsigned short __b)10372 vec_find_any_ne_or_0_idx(vector unsigned short __a, vector unsigned short __b) {
10373   return __builtin_s390_vfaezh(__a, __b, 8);
10374 }
10375 
10376 static inline __ATTRS_o_ai vector signed int
vec_find_any_ne_or_0_idx(vector signed int __a,vector signed int __b)10377 vec_find_any_ne_or_0_idx(vector signed int __a, vector signed int __b) {
10378   return (vector signed int)
10379     __builtin_s390_vfaezf((vector unsigned int)__a,
10380                           (vector unsigned int)__b, 8);
10381 }
10382 
10383 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_ne_or_0_idx(vector bool int __a,vector bool int __b)10384 vec_find_any_ne_or_0_idx(vector bool int __a, vector bool int __b) {
10385   return __builtin_s390_vfaezf((vector unsigned int)__a,
10386                                (vector unsigned int)__b, 8);
10387 }
10388 
10389 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_ne_or_0_idx(vector unsigned int __a,vector unsigned int __b)10390 vec_find_any_ne_or_0_idx(vector unsigned int __a, vector unsigned int __b) {
10391   return __builtin_s390_vfaezf(__a, __b, 8);
10392 }
10393 
10394 /*-- vec_find_any_ne_or_0_idx_cc --------------------------------------------*/
10395 
10396 static inline __ATTRS_o_ai vector signed char
vec_find_any_ne_or_0_idx_cc(vector signed char __a,vector signed char __b,int * __cc)10397 vec_find_any_ne_or_0_idx_cc(vector signed char __a, vector signed char __b,
10398                             int *__cc) {
10399   return (vector signed char)
10400     __builtin_s390_vfaezbs((vector unsigned char)__a,
10401                            (vector unsigned char)__b, 8, __cc);
10402 }
10403 
10404 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_ne_or_0_idx_cc(vector bool char __a,vector bool char __b,int * __cc)10405 vec_find_any_ne_or_0_idx_cc(vector bool char __a, vector bool char __b,
10406                             int *__cc) {
10407   return __builtin_s390_vfaezbs((vector unsigned char)__a,
10408                                 (vector unsigned char)__b, 8, __cc);
10409 }
10410 
10411 static inline __ATTRS_o_ai vector unsigned char
vec_find_any_ne_or_0_idx_cc(vector unsigned char __a,vector unsigned char __b,int * __cc)10412 vec_find_any_ne_or_0_idx_cc(vector unsigned char __a, vector unsigned char __b,
10413                             int *__cc) {
10414   return __builtin_s390_vfaezbs(__a, __b, 8, __cc);
10415 }
10416 
10417 static inline __ATTRS_o_ai vector signed short
vec_find_any_ne_or_0_idx_cc(vector signed short __a,vector signed short __b,int * __cc)10418 vec_find_any_ne_or_0_idx_cc(vector signed short __a, vector signed short __b,
10419                             int *__cc) {
10420   return (vector signed short)
10421     __builtin_s390_vfaezhs((vector unsigned short)__a,
10422                            (vector unsigned short)__b, 8, __cc);
10423 }
10424 
10425 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_ne_or_0_idx_cc(vector bool short __a,vector bool short __b,int * __cc)10426 vec_find_any_ne_or_0_idx_cc(vector bool short __a, vector bool short __b,
10427                             int *__cc) {
10428   return __builtin_s390_vfaezhs((vector unsigned short)__a,
10429                                 (vector unsigned short)__b, 8, __cc);
10430 }
10431 
10432 static inline __ATTRS_o_ai vector unsigned short
vec_find_any_ne_or_0_idx_cc(vector unsigned short __a,vector unsigned short __b,int * __cc)10433 vec_find_any_ne_or_0_idx_cc(vector unsigned short __a,
10434                             vector unsigned short __b, int *__cc) {
10435   return __builtin_s390_vfaezhs(__a, __b, 8, __cc);
10436 }
10437 
10438 static inline __ATTRS_o_ai vector signed int
vec_find_any_ne_or_0_idx_cc(vector signed int __a,vector signed int __b,int * __cc)10439 vec_find_any_ne_or_0_idx_cc(vector signed int __a, vector signed int __b,
10440                             int *__cc) {
10441   return (vector signed int)
10442     __builtin_s390_vfaezfs((vector unsigned int)__a,
10443                            (vector unsigned int)__b, 8, __cc);
10444 }
10445 
10446 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_ne_or_0_idx_cc(vector bool int __a,vector bool int __b,int * __cc)10447 vec_find_any_ne_or_0_idx_cc(vector bool int __a, vector bool int __b,
10448                             int *__cc) {
10449   return __builtin_s390_vfaezfs((vector unsigned int)__a,
10450                                 (vector unsigned int)__b, 8, __cc);
10451 }
10452 
10453 static inline __ATTRS_o_ai vector unsigned int
vec_find_any_ne_or_0_idx_cc(vector unsigned int __a,vector unsigned int __b,int * __cc)10454 vec_find_any_ne_or_0_idx_cc(vector unsigned int __a, vector unsigned int __b,
10455                             int *__cc) {
10456   return __builtin_s390_vfaezfs(__a, __b, 8, __cc);
10457 }
10458 
10459 #undef __constant_pow2_range
10460 #undef __constant_range
10461 #undef __constant
10462 #undef __ATTRS_o
10463 #undef __ATTRS_o_ai
10464 #undef __ATTRS_ai
10465 
10466 #else
10467 
10468 #error "Use -fzvector to enable vector extensions"
10469 
10470 #endif
10471