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