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