clang  10.0.0git
vecintrin.h
Go to the documentation of this file.
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
static __inline__ vector signed char __ATTRS_o_ai vec_srl(vector signed char __a, vector unsigned char __b)
Definition: altivec.h:9657
static __inline__ vector signed char __ATTRS_o_ai vec_rl(vector signed char __a, vector unsigned char __b)
Definition: altivec.h:7589
static __inline__ int __ATTRS_o_ai vec_any_le(vector signed char __a, vector signed char __b)
Definition: altivec.h:15405
static __inline__ vector signed char __ATTRS_o_ai vec_packs(vector short __a, vector short __b)
Definition: altivec.h:7017
static __inline__ vector float __ATTRS_o_ai vec_ceil(vector float __a)
Definition: altivec.h:1587
static __inline__ vector float __ATTRS_o_ai vec_trunc(vector float __a)
Definition: altivec.h:11585
static __inline__ vector unsigned char __ATTRS_o_ai vec_packsu(vector short __a, vector short __b)
Definition: altivec.h:7146
static __inline__ vector bool char __ATTRS_o_ai vec_cmple(vector signed char __a, vector signed char __b)
Definition: altivec.h:2084
static __inline__ int __ATTRS_o_ai vec_any_eq(vector signed char __a, vector signed char __b)
Definition: altivec.h:14859
vector signed char unaligned_vec_schar __attribute__((aligned(1)))
Zeroes the upper 128 bits (bits 255:128) of all YMM registers.
Definition: altivec.h:16347
static __inline__ vector signed char __ATTRS_o_ai vec_sel(vector signed char __a, vector signed char __b, vector unsigned char __c)
Definition: altivec.h:7778
static __inline__ vector signed char __ATTRS_o_ai vec_mergel(vector signed char __a, vector signed char __b)
Definition: altivec.h:4748
static __inline__ vector short __ATTRS_o_ai vec_mulo(vector signed char __a, vector signed char __b)
Definition: altivec.h:5742
static __inline__ vector unsigned int __ATTRS_o_ai vec_unsigned(vector float __a)
Definition: altivec.h:3002
static __inline__ vector signed char __ATTRS_o_ai vec_nor(vector signed char __a, vector signed char __b)
Definition: altivec.h:6042
static __inline__ vector signed char __ATTRS_o_ai vec_splat(vector signed char __a, unsigned const int __b)
Definition: altivec.h:9184
static __inline__ vector bool char __ATTRS_o_ai vec_cmplt(vector signed char __a, vector signed char __b)
Definition: altivec.h:2140
static __inline__ vector signed char __ATTRS_o_ai vec_sll(vector signed char __a, vector unsigned char __b)
Definition: altivec.h:8618
static __inline__ vector signed char __ATTRS_o_ai vec_sldw(vector signed char __a, vector signed char __b, unsigned const int __c)
Definition: altivec.h:8405
static __inline__ int __ATTRS_o_ai vec_all_ge(vector signed char __a, vector signed char __b)
Definition: altivec.h:13905
static __inline__ int __ATTRS_o_ai vec_any_ne(vector signed char __a, vector signed char __b)
Definition: altivec.h:15770
static __inline__ vector signed short __ATTRS_o_ai vec_mladd(vector signed short, vector signed short, vector signed short)
#define __conv
Definition: opencl-c.h:32
static __inline__ void int __a
Definition: emmintrin.h:4185
static vector float __ATTRS_o_ai vec_nabs(vector float __a)
Definition: altivec.h:16736
static __inline__ vector signed char __ATTRS_o_ai vec_insert(signed char __a, vector signed char __b, int __c)
Definition: altivec.h:12626
static __ATTRS_o_ai vector signed char vec_xl(signed long long __offset, signed char *__ptr)
Definition: altivec.h:16355
static __inline__ int __ATTRS_o_ai vec_any_lt(vector signed char __a, vector signed char __b)
Definition: altivec.h:15584
static __inline__ vector signed short __ATTRS_o_ai vec_madd(vector signed short __a, vector signed short __b, vector signed short __c)
Definition: altivec.h:4143
static __inline__ int __ATTRS_o_ai vec_all_nge(vector float __a, vector float __b)
Definition: altivec.h:14802
static __inline__ vector float __ATTRS_o_ai vec_float(vector signed int __a)
Definition: altivec.h:3044
static __inline__ int __ATTRS_o_ai vec_all_gt(vector signed char __a, vector signed char __b)
Definition: altivec.h:14076
static __inline__ vector float __ATTRS_o_ai vec_floor(vector float __a)
Definition: altivec.h:3424
static __inline__ vector signed char __ATTRS_o_ai vec_andc(vector signed char __a, vector signed char __b)
Definition: altivec.h:1163
static __inline__ int __ATTRS_o_ai vec_any_ge(vector signed char __a, vector signed char __b)
Definition: altivec.h:15047
static __inline__ vector signed int __ATTRS_o_ai vec_signed(vector float __a)
Definition: altivec.h:2960
static __inline__ vector bool char __ATTRS_o_ai vec_cmpeq(vector signed char __a, vector signed char __b)
Definition: altivec.h:1625
static __inline__ vector signed char __ATTRS_o_ai vec_splats(signed char __a)
Definition: altivec.h:13654
static __inline__ vector signed int __ATTRS_o_ai vec_subc(vector signed int __a, vector signed int __b)
Definition: altivec.h:11144
static __inline__ vector signed char __ATTRS_o_ai vec_max(vector signed char __a, vector signed char __b)
Definition: altivec.h:4225
static __inline__ vector signed int __ATTRS_o_ai vec_sld(vector signed int, vector signed int, unsigned const int __c)
Definition: altivec.h:8253
static __inline__ vector float vector float __b
Definition: altivec.h:520
static __inline__ vector signed char __ATTRS_o_ai vec_perm(vector signed char __a, vector signed char __b, vector unsigned char __c)
Definition: altivec.h:7264
static __inline__ vector bool char __ATTRS_o_ai vec_cmpge(vector signed char __a, vector signed char __b)
Definition: altivec.h:1968
static __inline__ vector short __ATTRS_o_ai vec_unpackh(vector signed char __a)
Definition: altivec.h:11612
static __inline__ int __ATTRS_o_ai vec_all_ne(vector signed char __a, vector signed char __b)
Definition: altivec.h:14614
static __inline__ int __ATTRS_o_ai vec_all_lt(vector signed char __a, vector signed char __b)
Definition: altivec.h:14426
static __ATTRS_o_ai void vec_xst(vector signed char __vec, signed long long __offset, signed char *__ptr)
Definition: altivec.h:16514
static __inline__ vector int __ATTRS_o_ai vec_splat_s32(signed char __a)
Definition: altivec.h:9447
static __inline__ vector signed char __ATTRS_o_ai vec_splat_s8(signed char __a)
Definition: altivec.h:9414
static __inline__ vector signed int __ATTRS_o_ai vec_addc(vector signed int __a, vector signed int __b)
Definition: altivec.h:527
static __inline__ vector bool char __ATTRS_o_ai vec_cmpgt(vector signed char __a, vector signed char __b)
Definition: altivec.h:1908
static __inline__ vector float __ATTRS_o_ai vec_nmsub(vector float __a, vector float __b, vector float __c)
Definition: altivec.h:6012
static __inline__ vector unsigned char __ATTRS_o_ai vec_splat_u8(unsigned char __a)
Definition: altivec.h:9462
static __inline__ vector unsigned short __ATTRS_o_ai vec_splat_u16(signed char __a)
Definition: altivec.h:9470
static __inline__ vector signed char __ATTRS_o_ai vec_promote(signed char __a, int __b)
Definition: altivec.h:13606
static __inline__ vector signed char __ATTRS_o_ai vec_avg(vector signed char __a, vector signed char __b)
Definition: altivec.h:1514
static __inline__ vector unsigned int __ATTRS_o_ai vec_splat_u32(signed char __a)
Definition: altivec.h:9478
static __inline__ int __ATTRS_o_ai vec_any_gt(vector signed char __a, vector signed char __b)
Definition: altivec.h:15226
static __inline__ vector signed char __ATTRS_o_ai vec_pack(vector signed short __a, vector signed short __b)
Definition: altivec.h:6691
static __inline__ vector short __ATTRS_o_ai vec_mule(vector signed char __a, vector signed char __b)
Definition: altivec.h:5640
static __inline__ void unsigned int __value
Definition: movdirintrin.h:20
static __inline__ signed char __ATTRS_o_ai vec_extract(vector signed char __a, int __b)
Definition: altivec.h:12501
static __inline__ int __ATTRS_o_ai vec_all_nan(vector float __a)
Definition: altivec.h:14598
#define __ATTRS_o_ai
Definition: altivec.h:42
static __inline__ vector bool char __ATTRS_o_ai vec_revb(vector bool char __a)
Definition: altivec.h:16232
static __inline__ vector signed char __ATTRS_o_ai vec_abs(vector signed char __a)
Definition: altivec.h:115
static __inline__ vector float __ATTRS_o_ai vec_round(vector float __a)
Definition: altivec.h:7698
static __inline__ vector short __ATTRS_o_ai vec_unpackl(vector signed char __a)
Definition: altivec.h:11751
static __inline__ int __ATTRS_o_ai vec_all_ngt(vector float __a, vector float __b)
Definition: altivec.h:14820
static __inline__ int __ATTRS_o_ai vec_all_le(vector signed char __a, vector signed char __b)
Definition: altivec.h:14254
static __ATTRS_o_ai vector bool char vec_reve(vector bool char __a)
Definition: altivec.h:16162
static __inline__ vector signed char __ATTRS_o_ai vec_mergeh(vector signed char __a, vector signed char __b)
Definition: altivec.h:4478
static __inline__ vector short __ATTRS_o_ai vec_splat_s16(signed char __a)
Definition: altivec.h:9431
static __inline__ vector signed char __ATTRS_o_ai vec_min(vector signed char __a, vector signed char __b)
Definition: altivec.h:5129
static __inline__ vector float vector float vector float __c
Definition: altivec.h:4187
static __inline__ int __ATTRS_o_ai vec_all_eq(vector signed char __a, vector signed char __b)
Definition: altivec.h:13718