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