10 #if defined(__s390x__) && defined(__VEC__)
12 #define __ATTRS_ai __attribute__((__always_inline__))
13 #define __ATTRS_o __attribute__((__overloadable__))
14 #define __ATTRS_o_ai __attribute__((__overloadable__, __always_inline__))
16 #define __constant(PARM) \
17 __attribute__((__enable_if__ ((PARM) == (PARM), \
18 "argument must be a constant integer")))
19 #define __constant_range(PARM, LOW, HIGH) \
20 __attribute__((__enable_if__ ((PARM) >= (LOW) && (PARM) <= (HIGH), \
21 "argument must be a constant integer from " #LOW " to " #HIGH)))
22 #define __constant_pow2_range(PARM, LOW, HIGH) \
23 __attribute__((__enable_if__ ((PARM) >= (LOW) && (PARM) <= (HIGH) && \
24 ((PARM) & ((PARM) - 1)) == 0, \
25 "argument must be a constant power of 2 from " #LOW " to " #HIGH)))
29 extern __ATTRS_o
unsigned int
30 __lcbb(
const void *__ptr,
unsigned short __len)
31 __constant_pow2_range(__len, 64, 4096);
33 #define __lcbb(X, Y) ((__typeof__((__lcbb)((X), (Y)))) \
34 __builtin_s390_lcbb((X), __builtin_constant_p((Y))? \
41 (Y) == 4096 ? 6 : 0) : 0))
46 vec_extract(__vector
signed char __vec,
int __index) {
47 return __vec[__index & 15];
51 vec_extract(__vector __bool
char __vec,
int __index) {
52 return __vec[__index & 15];
56 vec_extract(__vector
unsigned char __vec,
int __index) {
57 return __vec[__index & 15];
61 vec_extract(__vector
signed short __vec,
int __index) {
62 return __vec[__index & 7];
66 vec_extract(__vector __bool
short __vec,
int __index) {
67 return __vec[__index & 7];
71 vec_extract(__vector
unsigned short __vec,
int __index) {
72 return __vec[__index & 7];
76 vec_extract(__vector
signed int __vec,
int __index) {
77 return __vec[__index & 3];
81 vec_extract(__vector __bool
int __vec,
int __index) {
82 return __vec[__index & 3];
86 vec_extract(__vector
unsigned int __vec,
int __index) {
87 return __vec[__index & 3];
91 vec_extract(__vector
signed long long __vec,
int __index) {
92 return __vec[__index & 1];
96 vec_extract(__vector __bool
long long __vec,
int __index) {
97 return __vec[__index & 1];
101 vec_extract(__vector
unsigned long long __vec,
int __index) {
102 return __vec[__index & 1];
108 return __vec[__index & 3];
114 return __vec[__index & 1];
120 vec_insert(
signed char __scalar, __vector
signed char __vec,
int __index) {
121 __vec[__index & 15] = __scalar;
127 vec_insert(
unsigned char __scalar, __vector __bool
char __vec,
int __index) {
128 __vector
unsigned char __newvec = (__vector
unsigned char)__vec;
129 __newvec[__index & 15] = (
unsigned char)__scalar;
134 vec_insert(
unsigned char __scalar, __vector
unsigned char __vec,
int __index) {
135 __vec[__index & 15] = __scalar;
140 vec_insert(
signed short __scalar, __vector
signed short __vec,
int __index) {
141 __vec[__index & 7] = __scalar;
147 vec_insert(
unsigned short __scalar, __vector __bool
short __vec,
149 __vector
unsigned short __newvec = (__vector
unsigned short)__vec;
150 __newvec[__index & 7] = (
unsigned short)__scalar;
155 vec_insert(
unsigned short __scalar, __vector
unsigned short __vec,
157 __vec[__index & 7] = __scalar;
162 vec_insert(
signed int __scalar, __vector
signed int __vec,
int __index) {
163 __vec[__index & 3] = __scalar;
169 vec_insert(
unsigned int __scalar, __vector __bool
int __vec,
int __index) {
170 __vector
unsigned int __newvec = (__vector
unsigned int)__vec;
171 __newvec[__index & 3] = __scalar;
176 vec_insert(
unsigned int __scalar, __vector
unsigned int __vec,
int __index) {
177 __vec[__index & 3] = __scalar;
182 vec_insert(
signed long long __scalar, __vector
signed long long __vec,
184 __vec[__index & 1] = __scalar;
190 vec_insert(
unsigned long long __scalar, __vector __bool
long long __vec,
192 __vector
unsigned long long __newvec = (__vector
unsigned long long)__vec;
193 __newvec[__index & 1] = __scalar;
198 vec_insert(
unsigned long long __scalar, __vector
unsigned long long __vec,
200 __vec[__index & 1] = __scalar;
206 vec_insert(
float __scalar, __vector
float __vec,
int __index) {
207 __vec[__index & 1] = __scalar;
213 vec_insert(
double __scalar, __vector
double __vec,
int __index) {
214 __vec[__index & 1] = __scalar;
222 const __vector
signed char __zero = (__vector
signed char)0;
223 __vector
signed char __vec = __builtin_shufflevector(__zero, __zero,
224 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1);
225 __vec[__index & 15] = __scalar;
231 const __vector
unsigned char __zero = (__vector
unsigned char)0;
232 __vector
unsigned char __vec = __builtin_shufflevector(__zero, __zero,
233 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1);
234 __vec[__index & 15] = __scalar;
240 const __vector
signed short __zero = (__vector
signed short)0;
241 __vector
signed short __vec = __builtin_shufflevector(__zero, __zero,
242 -1, -1, -1, -1, -1, -1, -1, -1);
243 __vec[__index & 7] = __scalar;
248 vec_promote(
unsigned short __scalar,
int __index) {
249 const __vector
unsigned short __zero = (__vector
unsigned short)0;
250 __vector
unsigned short __vec = __builtin_shufflevector(__zero, __zero,
251 -1, -1, -1, -1, -1, -1, -1, -1);
252 __vec[__index & 7] = __scalar;
258 const __vector
signed int __zero = (__vector
signed int)0;
259 __vector
signed int __vec = __builtin_shufflevector(__zero, __zero,
261 __vec[__index & 3] = __scalar;
267 const __vector
unsigned int __zero = (__vector
unsigned int)0;
268 __vector
unsigned int __vec = __builtin_shufflevector(__zero, __zero,
270 __vec[__index & 3] = __scalar;
275 vec_promote(
signed long long __scalar,
int __index) {
276 const __vector
signed long long __zero = (__vector
signed long long)0;
277 __vector
signed long long __vec = __builtin_shufflevector(__zero, __zero,
279 __vec[__index & 1] = __scalar;
284 vec_promote(
unsigned long long __scalar,
int __index) {
285 const __vector
unsigned long long __zero = (__vector
unsigned long long)0;
286 __vector
unsigned long long __vec = __builtin_shufflevector(__zero, __zero,
288 __vec[__index & 1] = __scalar;
295 const __vector
float __zero = (__vector
float)0.0f;
296 __vector
float __vec = __builtin_shufflevector(__zero, __zero,
298 __vec[__index & 3] = __scalar;
305 const __vector
double __zero = (__vector
double)0.0;
306 __vector
double __vec = __builtin_shufflevector(__zero, __zero, -1, -1);
307 __vec[__index & 1] = __scalar;
314 vec_insert_and_zero(
const signed char *__ptr) {
315 __vector
signed char __vec = (__vector
signed char)0;
321 vec_insert_and_zero(
const unsigned char *__ptr) {
322 __vector
unsigned char __vec = (__vector
unsigned char)0;
328 vec_insert_and_zero(
const signed short *__ptr) {
329 __vector
signed short __vec = (__vector
signed short)0;
335 vec_insert_and_zero(
const unsigned short *__ptr) {
336 __vector
unsigned short __vec = (__vector
unsigned short)0;
342 vec_insert_and_zero(
const signed int *__ptr) {
343 __vector
signed int __vec = (__vector
signed int)0;
349 vec_insert_and_zero(
const unsigned int *__ptr) {
350 __vector
unsigned int __vec = (__vector
unsigned int)0;
356 vec_insert_and_zero(
const signed long long *__ptr) {
357 __vector
signed long long __vec = (__vector
signed long long)0;
363 vec_insert_and_zero(
const unsigned long long *__ptr) {
364 __vector
unsigned long long __vec = (__vector
unsigned long long)0;
371 vec_insert_and_zero(
const float *__ptr) {
372 __vector
float __vec = (__vector
float)0.0f;
379 vec_insert_and_zero(
const double *__ptr) {
380 __vector
double __vec = (__vector
double)0.0;
389 __vector
unsigned char __c) {
390 return (__vector
signed char)__builtin_s390_vperm(
391 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b,
__c);
396 __vector
unsigned char __c) {
397 return (__vector
unsigned char)__builtin_s390_vperm(
398 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b,
__c);
403 __vector
unsigned char __c) {
404 return (__vector __bool
char)__builtin_s390_vperm(
405 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b,
__c);
410 __vector
unsigned char __c) {
411 return (__vector
signed short)__builtin_s390_vperm(
412 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b,
__c);
416 vec_perm(__vector
unsigned short __a, __vector
unsigned short __b,
417 __vector
unsigned char __c) {
418 return (__vector
unsigned short)__builtin_s390_vperm(
419 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b,
__c);
424 __vector
unsigned char __c) {
425 return (__vector __bool
short)__builtin_s390_vperm(
426 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b,
__c);
431 __vector
unsigned char __c) {
432 return (__vector
signed int)__builtin_s390_vperm(
433 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b,
__c);
438 __vector
unsigned char __c) {
439 return (__vector
unsigned int)__builtin_s390_vperm(
440 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b,
__c);
445 __vector
unsigned char __c) {
446 return (__vector __bool
int)__builtin_s390_vperm(
447 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b,
__c);
451 vec_perm(__vector
signed long long __a, __vector
signed long long __b,
452 __vector
unsigned char __c) {
453 return (__vector
signed long long)__builtin_s390_vperm(
454 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b,
__c);
458 vec_perm(__vector
unsigned long long __a, __vector
unsigned long long __b,
459 __vector
unsigned char __c) {
460 return (__vector
unsigned long long)__builtin_s390_vperm(
461 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b,
__c);
465 vec_perm(__vector __bool
long long __a, __vector __bool
long long __b,
466 __vector
unsigned char __c) {
467 return (__vector __bool
long long)__builtin_s390_vperm(
468 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b,
__c);
474 __vector
unsigned char __c) {
475 return (__vector
float)__builtin_s390_vperm(
476 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b,
__c);
482 __vector
unsigned char __c) {
483 return (__vector
double)__builtin_s390_vperm(
484 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b,
__c);
490 extern __ATTRS_o __vector
signed long long
491 vec_permi(__vector
signed long long __a, __vector
signed long long __b,
493 __constant_range(
__c, 0, 3);
496 extern __ATTRS_o __vector
unsigned long long
497 vec_permi(__vector
unsigned long long __a, __vector
unsigned long long __b,
499 __constant_range(
__c, 0, 3);
502 extern __ATTRS_o __vector __bool
long long
503 vec_permi(__vector __bool
long long __a, __vector __bool
long long __b,
505 __constant_range(
__c, 0, 3);
508 extern __ATTRS_o __vector
double
509 vec_permi(__vector
double __a, __vector
double __b,
int __c)
510 __constant_range(
__c, 0, 3);
512 #define vec_permi(X, Y, Z) ((__typeof__((vec_permi)((X), (Y), (Z)))) \
513 __builtin_s390_vpdi((__vector unsigned long long)(X), \
514 (__vector unsigned long long)(Y), \
515 (((Z) & 2) << 1) | ((Z) & 1)))
520 static inline __ATTRS_ai __vector
unsigned long long
521 vec_bperm_u128(__vector
unsigned char __a, __vector
unsigned char __b) {
522 return __builtin_s390_vbperm(
__a,
__b);
529 vec_revb(__vector
signed short __vec) {
530 return (__vector
signed short)
531 __builtin_s390_vlbrh((__vector
unsigned short)__vec);
535 vec_revb(__vector
unsigned short __vec) {
536 return __builtin_s390_vlbrh(__vec);
540 vec_revb(__vector
signed int __vec) {
541 return (__vector
signed int)
542 __builtin_s390_vlbrf((__vector
unsigned int)__vec);
546 vec_revb(__vector
unsigned int __vec) {
547 return __builtin_s390_vlbrf(__vec);
551 vec_revb(__vector
signed long long __vec) {
552 return (__vector
signed long long)
553 __builtin_s390_vlbrg((__vector
unsigned long long)__vec);
557 vec_revb(__vector
unsigned long long __vec) {
558 return __builtin_s390_vlbrg(__vec);
564 return (__vector
float)
565 __builtin_s390_vlbrf((__vector
unsigned int)__vec);
571 return (__vector
double)
572 __builtin_s390_vlbrg((__vector
unsigned long long)__vec);
578 vec_reve(__vector
signed char __vec) {
579 return (__vector
signed char) { __vec[15], __vec[14], __vec[13], __vec[12],
580 __vec[11], __vec[10], __vec[9], __vec[8],
581 __vec[7], __vec[6], __vec[5], __vec[4],
582 __vec[3], __vec[2], __vec[1], __vec[0] };
586 vec_reve(__vector
unsigned char __vec) {
587 return (__vector
unsigned char) { __vec[15], __vec[14], __vec[13], __vec[12],
588 __vec[11], __vec[10], __vec[9], __vec[8],
589 __vec[7], __vec[6], __vec[5], __vec[4],
590 __vec[3], __vec[2], __vec[1], __vec[0] };
594 vec_reve(__vector __bool
char __vec) {
595 return (__vector __bool
char) { __vec[15], __vec[14], __vec[13], __vec[12],
596 __vec[11], __vec[10], __vec[9], __vec[8],
597 __vec[7], __vec[6], __vec[5], __vec[4],
598 __vec[3], __vec[2], __vec[1], __vec[0] };
602 vec_reve(__vector
signed short __vec) {
603 return (__vector
signed short) { __vec[7], __vec[6], __vec[5], __vec[4],
604 __vec[3], __vec[2], __vec[1], __vec[0] };
608 vec_reve(__vector
unsigned short __vec) {
609 return (__vector
unsigned short) { __vec[7], __vec[6], __vec[5], __vec[4],
610 __vec[3], __vec[2], __vec[1], __vec[0] };
614 vec_reve(__vector __bool
short __vec) {
615 return (__vector __bool
short) { __vec[7], __vec[6], __vec[5], __vec[4],
616 __vec[3], __vec[2], __vec[1], __vec[0] };
620 vec_reve(__vector
signed int __vec) {
621 return (__vector
signed int) { __vec[3], __vec[2], __vec[1], __vec[0] };
625 vec_reve(__vector
unsigned int __vec) {
626 return (__vector
unsigned int) { __vec[3], __vec[2], __vec[1], __vec[0] };
630 vec_reve(__vector __bool
int __vec) {
631 return (__vector __bool
int) { __vec[3], __vec[2], __vec[1], __vec[0] };
635 vec_reve(__vector
signed long long __vec) {
636 return (__vector
signed long long) { __vec[1], __vec[0] };
640 vec_reve(__vector
unsigned long long __vec) {
641 return (__vector
unsigned long long) { __vec[1], __vec[0] };
645 vec_reve(__vector __bool
long long __vec) {
646 return (__vector __bool
long long) { __vec[1], __vec[0] };
652 return (__vector
float) { __vec[3], __vec[2], __vec[1], __vec[0] };
658 return (__vector
double) { __vec[1], __vec[0] };
665 __vector
unsigned char __c) {
666 return (((__vector
signed char)
__c &
__b) |
667 (~(__vector
signed char)
__c &
__a));
672 __vector __bool
char __c) {
673 return (((__vector
signed char)
__c &
__b) |
674 (~(__vector
signed char)
__c &
__a));
679 __vector
unsigned char __c) {
680 return (((__vector __bool
char)
__c &
__b) |
681 (~(__vector __bool
char)
__c &
__a));
686 __vector __bool
char __c) {
691 vec_sel(__vector
unsigned char __a, __vector
unsigned char __b,
692 __vector
unsigned char __c) {
697 vec_sel(__vector
unsigned char __a, __vector
unsigned char __b,
698 __vector __bool
char __c) {
699 return (((__vector
unsigned char)
__c &
__b) |
700 (~(__vector
unsigned char)
__c &
__a));
704 vec_sel(__vector
signed short __a, __vector
signed short __b,
705 __vector
unsigned short __c) {
706 return (((__vector
signed short)
__c &
__b) |
707 (~(__vector
signed short)
__c &
__a));
711 vec_sel(__vector
signed short __a, __vector
signed short __b,
712 __vector __bool
short __c) {
713 return (((__vector
signed short)
__c &
__b) |
714 (~(__vector
signed short)
__c &
__a));
718 vec_sel(__vector __bool
short __a, __vector __bool
short __b,
719 __vector
unsigned short __c) {
720 return (((__vector __bool
short)
__c &
__b) |
721 (~(__vector __bool
short)
__c &
__a));
725 vec_sel(__vector __bool
short __a, __vector __bool
short __b,
726 __vector __bool
short __c) {
731 vec_sel(__vector
unsigned short __a, __vector
unsigned short __b,
732 __vector
unsigned short __c) {
737 vec_sel(__vector
unsigned short __a, __vector
unsigned short __b,
738 __vector __bool
short __c) {
739 return (((__vector
unsigned short)
__c &
__b) |
740 (~(__vector
unsigned short)
__c &
__a));
745 __vector
unsigned int __c) {
746 return (((__vector
signed int)
__c &
__b) |
747 (~(__vector
signed int)
__c &
__a));
752 __vector __bool
int __c) {
753 return (((__vector
signed int)
__c &
__b) |
754 (~(__vector
signed int)
__c &
__a));
759 __vector
unsigned int __c) {
760 return (((__vector __bool
int)
__c &
__b) |
761 (~(__vector __bool
int)
__c &
__a));
766 __vector __bool
int __c) {
771 vec_sel(__vector
unsigned int __a, __vector
unsigned int __b,
772 __vector
unsigned int __c) {
777 vec_sel(__vector
unsigned int __a, __vector
unsigned int __b,
778 __vector __bool
int __c) {
779 return (((__vector
unsigned int)
__c &
__b) |
780 (~(__vector
unsigned int)
__c &
__a));
784 vec_sel(__vector
signed long long __a, __vector
signed long long __b,
785 __vector
unsigned long long __c) {
786 return (((__vector
signed long long)
__c &
__b) |
787 (~(__vector
signed long long)
__c &
__a));
791 vec_sel(__vector
signed long long __a, __vector
signed long long __b,
792 __vector __bool
long long __c) {
793 return (((__vector
signed long long)
__c &
__b) |
794 (~(__vector
signed long long)
__c &
__a));
798 vec_sel(__vector __bool
long long __a, __vector __bool
long long __b,
799 __vector
unsigned long long __c) {
800 return (((__vector __bool
long long)
__c &
__b) |
801 (~(__vector __bool
long long)
__c &
__a));
805 vec_sel(__vector __bool
long long __a, __vector __bool
long long __b,
806 __vector __bool
long long __c) {
811 vec_sel(__vector
unsigned long long __a, __vector
unsigned long long __b,
812 __vector
unsigned long long __c) {
817 vec_sel(__vector
unsigned long long __a, __vector
unsigned long long __b,
818 __vector __bool
long long __c) {
819 return (((__vector
unsigned long long)
__c &
__b) |
820 (~(__vector
unsigned long long)
__c &
__a));
825 vec_sel(__vector
float __a, __vector
float __b, __vector
unsigned int __c) {
826 return (__vector
float)((
__c & (__vector
unsigned int)
__b) |
832 __vector
unsigned int __ac = (__vector
unsigned int)
__a;
833 __vector
unsigned int __bc = (__vector
unsigned int)
__b;
834 __vector
unsigned int __cc = (__vector
unsigned int)
__c;
835 return (__vector
float)((__cc & __bc) | (~__cc & __ac));
841 __vector
unsigned long long __c) {
842 return (__vector
double)((
__c & (__vector
unsigned long long)
__b) |
843 (~
__c & (__vector
unsigned long long)
__a));
848 __vector __bool
long long __c) {
849 __vector
unsigned long long __ac = (__vector
unsigned long long)
__a;
850 __vector
unsigned long long __bc = (__vector
unsigned long long)
__b;
851 __vector
unsigned long long __cc = (__vector
unsigned long long)
__c;
852 return (__vector
double)((__cc & __bc) | (~__cc & __ac));
858 vec_gather_element(__vector
signed int __vec,
859 __vector
unsigned int __offset,
860 const signed int *__ptr,
int __index)
861 __constant_range(__index, 0, 3) {
862 __vec[__index] = *(
const signed int *)(
863 (
const char *)__ptr + __offset[__index]);
868 vec_gather_element(__vector __bool
int __vec,
869 __vector
unsigned int __offset,
870 const unsigned int *__ptr,
int __index)
871 __constant_range(__index, 0, 3) {
872 __vec[__index] = *(
const unsigned int *)(
873 (
const char *)__ptr + __offset[__index]);
878 vec_gather_element(__vector
unsigned int __vec,
879 __vector
unsigned int __offset,
880 const unsigned int *__ptr,
int __index)
881 __constant_range(__index, 0, 3) {
882 __vec[__index] = *(
const unsigned int *)(
883 (
const char *)__ptr + __offset[__index]);
888 vec_gather_element(__vector
signed long long __vec,
889 __vector
unsigned long long __offset,
890 const signed long long *__ptr,
int __index)
891 __constant_range(__index, 0, 1) {
892 __vec[__index] = *(
const signed long long *)(
893 (
const char *)__ptr + __offset[__index]);
898 vec_gather_element(__vector __bool
long long __vec,
899 __vector
unsigned long long __offset,
900 const unsigned long long *__ptr,
int __index)
901 __constant_range(__index, 0, 1) {
902 __vec[__index] = *(
const unsigned long long *)(
903 (
const char *)__ptr + __offset[__index]);
908 vec_gather_element(__vector
unsigned long long __vec,
909 __vector
unsigned long long __offset,
910 const unsigned long long *__ptr,
int __index)
911 __constant_range(__index, 0, 1) {
912 __vec[__index] = *(
const unsigned long long *)(
913 (
const char *)__ptr + __offset[__index]);
919 vec_gather_element(__vector
float __vec,
920 __vector
unsigned int __offset,
921 const float *__ptr,
int __index)
922 __constant_range(__index, 0, 3) {
923 __vec[__index] = *(
const float *)(
924 (
const char *)__ptr + __offset[__index]);
930 vec_gather_element(__vector
double __vec,
931 __vector
unsigned long long __offset,
932 const double *__ptr,
int __index)
933 __constant_range(__index, 0, 1) {
934 __vec[__index] = *(
const double *)(
935 (
const char *)__ptr + __offset[__index]);
942 vec_scatter_element(__vector
signed int __vec,
943 __vector
unsigned int __offset,
944 signed int *__ptr,
int __index)
945 __constant_range(__index, 0, 3) {
946 *(
signed int *)((
char *)__ptr + __offset[__index]) =
951 vec_scatter_element(__vector __bool
int __vec,
952 __vector
unsigned int __offset,
953 unsigned int *__ptr,
int __index)
954 __constant_range(__index, 0, 3) {
955 *(
unsigned int *)((
char *)__ptr + __offset[__index]) =
960 vec_scatter_element(__vector
unsigned int __vec,
961 __vector
unsigned int __offset,
962 unsigned int *__ptr,
int __index)
963 __constant_range(__index, 0, 3) {
964 *(
unsigned int *)((
char *)__ptr + __offset[__index]) =
969 vec_scatter_element(__vector
signed long long __vec,
970 __vector
unsigned long long __offset,
971 signed long long *__ptr,
int __index)
972 __constant_range(__index, 0, 1) {
973 *(
signed long long *)((
char *)__ptr + __offset[__index]) =
978 vec_scatter_element(__vector __bool
long long __vec,
979 __vector
unsigned long long __offset,
980 unsigned long long *__ptr,
int __index)
981 __constant_range(__index, 0, 1) {
982 *(
unsigned long long *)((
char *)__ptr + __offset[__index]) =
987 vec_scatter_element(__vector
unsigned long long __vec,
988 __vector
unsigned long long __offset,
989 unsigned long long *__ptr,
int __index)
990 __constant_range(__index, 0, 1) {
991 *(
unsigned long long *)((
char *)__ptr + __offset[__index]) =
997 vec_scatter_element(__vector
float __vec,
998 __vector
unsigned int __offset,
999 float *__ptr,
int __index)
1000 __constant_range(__index, 0, 3) {
1001 *(
float *)((
char *)__ptr + __offset[__index]) =
1007 vec_scatter_element(__vector
double __vec,
1008 __vector
unsigned long long __offset,
1009 double *__ptr,
int __index)
1010 __constant_range(__index, 0, 1) {
1011 *(
double *)((
char *)__ptr + __offset[__index]) =
1018 vec_xl(
long __offset,
const signed char *__ptr) {
1019 __vector
signed char V;
1020 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1021 sizeof(__vector
signed char));
1026 vec_xl(
long __offset,
const unsigned char *__ptr) {
1027 __vector
unsigned char V;
1028 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1029 sizeof(__vector
unsigned char));
1034 vec_xl(
long __offset,
const signed short *__ptr) {
1035 __vector
signed short V;
1036 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1037 sizeof(__vector
signed short));
1042 vec_xl(
long __offset,
const unsigned short *__ptr) {
1043 __vector
unsigned short V;
1044 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1045 sizeof(__vector
unsigned short));
1050 vec_xl(
long __offset,
const signed int *__ptr) {
1051 __vector
signed int V;
1052 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1053 sizeof(__vector
signed int));
1058 vec_xl(
long __offset,
const unsigned int *__ptr) {
1059 __vector
unsigned int V;
1060 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1061 sizeof(__vector
unsigned int));
1066 vec_xl(
long __offset,
const signed long long *__ptr) {
1067 __vector
signed long long V;
1068 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1069 sizeof(__vector
signed long long));
1074 vec_xl(
long __offset,
const unsigned long long *__ptr) {
1075 __vector
unsigned long long V;
1076 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1077 sizeof(__vector
unsigned long long));
1083 vec_xl(
long __offset,
const float *__ptr) {
1085 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1086 sizeof(__vector
float));
1092 vec_xl(
long __offset,
const double *__ptr) {
1094 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1095 sizeof(__vector
double));
1103 vec_xld2(
long __offset,
const signed char *__ptr) {
1104 __vector
signed char V;
1105 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1106 sizeof(__vector
signed char));
1112 vec_xld2(
long __offset,
const unsigned char *__ptr) {
1113 __vector
unsigned char V;
1114 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1115 sizeof(__vector
unsigned char));
1121 vec_xld2(
long __offset,
const signed short *__ptr) {
1122 __vector
signed short V;
1123 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1124 sizeof(__vector
signed short));
1130 vec_xld2(
long __offset,
const unsigned short *__ptr) {
1131 __vector
unsigned short V;
1132 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1133 sizeof(__vector
unsigned short));
1139 vec_xld2(
long __offset,
const signed int *__ptr) {
1140 __vector
signed int V;
1141 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1142 sizeof(__vector
signed int));
1148 vec_xld2(
long __offset,
const unsigned int *__ptr) {
1149 __vector
unsigned int V;
1150 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1151 sizeof(__vector
unsigned int));
1157 vec_xld2(
long __offset,
const signed long long *__ptr) {
1158 __vector
signed long long V;
1159 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1160 sizeof(__vector
signed long long));
1166 vec_xld2(
long __offset,
const unsigned long long *__ptr) {
1167 __vector
unsigned long long V;
1168 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1169 sizeof(__vector
unsigned long long));
1175 vec_xld2(
long __offset,
const double *__ptr) {
1177 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1178 sizeof(__vector
double));
1186 vec_xlw4(
long __offset,
const signed char *__ptr) {
1187 __vector
signed char V;
1188 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1189 sizeof(__vector
signed char));
1195 vec_xlw4(
long __offset,
const unsigned char *__ptr) {
1196 __vector
unsigned char V;
1197 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1198 sizeof(__vector
unsigned char));
1204 vec_xlw4(
long __offset,
const signed short *__ptr) {
1205 __vector
signed short V;
1206 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1207 sizeof(__vector
signed short));
1213 vec_xlw4(
long __offset,
const unsigned short *__ptr) {
1214 __vector
unsigned short V;
1215 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1216 sizeof(__vector
unsigned short));
1222 vec_xlw4(
long __offset,
const signed int *__ptr) {
1223 __vector
signed int V;
1224 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1225 sizeof(__vector
signed int));
1231 vec_xlw4(
long __offset,
const unsigned int *__ptr) {
1232 __vector
unsigned int V;
1233 __builtin_memcpy(&
V, ((
const char *)__ptr + __offset),
1234 sizeof(__vector
unsigned int));
1241 vec_xst(__vector
signed char __vec,
long __offset,
signed char *__ptr) {
1242 __vector
signed char V = __vec;
1243 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1244 sizeof(__vector
signed char));
1248 vec_xst(__vector
unsigned char __vec,
long __offset,
unsigned char *__ptr) {
1249 __vector
unsigned char V = __vec;
1250 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1251 sizeof(__vector
unsigned char));
1255 vec_xst(__vector
signed short __vec,
long __offset,
signed short *__ptr) {
1256 __vector
signed short V = __vec;
1257 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1258 sizeof(__vector
signed short));
1262 vec_xst(__vector
unsigned short __vec,
long __offset,
unsigned short *__ptr) {
1263 __vector
unsigned short V = __vec;
1264 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1265 sizeof(__vector
unsigned short));
1269 vec_xst(__vector
signed int __vec,
long __offset,
signed int *__ptr) {
1270 __vector
signed int V = __vec;
1271 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
sizeof(__vector
signed int));
1275 vec_xst(__vector
unsigned int __vec,
long __offset,
unsigned int *__ptr) {
1276 __vector
unsigned int V = __vec;
1277 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1278 sizeof(__vector
unsigned int));
1282 vec_xst(__vector
signed long long __vec,
long __offset,
1283 signed long long *__ptr) {
1284 __vector
signed long long V = __vec;
1285 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1286 sizeof(__vector
signed long long));
1290 vec_xst(__vector
unsigned long long __vec,
long __offset,
1291 unsigned long long *__ptr) {
1292 __vector
unsigned long long V = __vec;
1293 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1294 sizeof(__vector
unsigned long long));
1299 vec_xst(__vector
float __vec,
long __offset,
float *__ptr) {
1300 __vector
float V = __vec;
1301 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
sizeof(__vector
float));
1306 vec_xst(__vector
double __vec,
long __offset,
double *__ptr) {
1307 __vector
double V = __vec;
1308 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
sizeof(__vector
double));
1315 vec_xstd2(__vector
signed char __vec,
long __offset,
signed char *__ptr) {
1316 __vector
signed char V = __vec;
1317 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1318 sizeof(__vector
signed char));
1323 vec_xstd2(__vector
unsigned char __vec,
long __offset,
unsigned char *__ptr) {
1324 __vector
unsigned char V = __vec;
1325 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1326 sizeof(__vector
unsigned char));
1331 vec_xstd2(__vector
signed short __vec,
long __offset,
signed short *__ptr) {
1332 __vector
signed short V = __vec;
1333 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1334 sizeof(__vector
signed short));
1339 vec_xstd2(__vector
unsigned short __vec,
long __offset,
unsigned short *__ptr) {
1340 __vector
unsigned short V = __vec;
1341 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1342 sizeof(__vector
unsigned short));
1347 vec_xstd2(__vector
signed int __vec,
long __offset,
signed int *__ptr) {
1348 __vector
signed int V = __vec;
1349 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
sizeof(__vector
signed int));
1354 vec_xstd2(__vector
unsigned int __vec,
long __offset,
unsigned int *__ptr) {
1355 __vector
unsigned int V = __vec;
1356 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1357 sizeof(__vector
unsigned int));
1362 vec_xstd2(__vector
signed long long __vec,
long __offset,
1363 signed long long *__ptr) {
1364 __vector
signed long long V = __vec;
1365 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1366 sizeof(__vector
signed long long));
1371 vec_xstd2(__vector
unsigned long long __vec,
long __offset,
1372 unsigned long long *__ptr) {
1373 __vector
unsigned long long V = __vec;
1374 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1375 sizeof(__vector
unsigned long long));
1380 vec_xstd2(__vector
double __vec,
long __offset,
double *__ptr) {
1381 __vector
double V = __vec;
1382 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
sizeof(__vector
double));
1389 vec_xstw4(__vector
signed char __vec,
long __offset,
signed char *__ptr) {
1390 __vector
signed char V = __vec;
1391 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1392 sizeof(__vector
signed char));
1397 vec_xstw4(__vector
unsigned char __vec,
long __offset,
unsigned char *__ptr) {
1398 __vector
unsigned char V = __vec;
1399 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1400 sizeof(__vector
unsigned char));
1405 vec_xstw4(__vector
signed short __vec,
long __offset,
signed short *__ptr) {
1406 __vector
signed short V = __vec;
1407 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1408 sizeof(__vector
signed short));
1413 vec_xstw4(__vector
unsigned short __vec,
long __offset,
unsigned short *__ptr) {
1414 __vector
unsigned short V = __vec;
1415 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1416 sizeof(__vector
unsigned short));
1421 vec_xstw4(__vector
signed int __vec,
long __offset,
signed int *__ptr) {
1422 __vector
signed int V = __vec;
1423 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
sizeof(__vector
signed int));
1428 vec_xstw4(__vector
unsigned int __vec,
long __offset,
unsigned int *__ptr) {
1429 __vector
unsigned int V = __vec;
1430 __builtin_memcpy(((
char *)__ptr + __offset), &
V,
1431 sizeof(__vector
unsigned int));
1436 extern __ATTRS_o __vector
signed char
1437 vec_load_bndry(
const signed char *__ptr,
unsigned short __len)
1438 __constant_pow2_range(__len, 64, 4096);
1440 extern __ATTRS_o __vector
unsigned char
1441 vec_load_bndry(
const unsigned char *__ptr,
unsigned short __len)
1442 __constant_pow2_range(__len, 64, 4096);
1444 extern __ATTRS_o __vector
signed short
1445 vec_load_bndry(
const signed short *__ptr,
unsigned short __len)
1446 __constant_pow2_range(__len, 64, 4096);
1448 extern __ATTRS_o __vector
unsigned short
1449 vec_load_bndry(
const unsigned short *__ptr,
unsigned short __len)
1450 __constant_pow2_range(__len, 64, 4096);
1452 extern __ATTRS_o __vector
signed int
1453 vec_load_bndry(
const signed int *__ptr,
unsigned short __len)
1454 __constant_pow2_range(__len, 64, 4096);
1456 extern __ATTRS_o __vector
unsigned int
1457 vec_load_bndry(
const unsigned int *__ptr,
unsigned short __len)
1458 __constant_pow2_range(__len, 64, 4096);
1460 extern __ATTRS_o __vector
signed long long
1461 vec_load_bndry(
const signed long long *__ptr,
unsigned short __len)
1462 __constant_pow2_range(__len, 64, 4096);
1464 extern __ATTRS_o __vector
unsigned long long
1465 vec_load_bndry(
const unsigned long long *__ptr,
unsigned short __len)
1466 __constant_pow2_range(__len, 64, 4096);
1469 extern __ATTRS_o __vector
float
1470 vec_load_bndry(
const float *__ptr,
unsigned short __len)
1471 __constant_pow2_range(__len, 64, 4096);
1474 extern __ATTRS_o __vector
double
1475 vec_load_bndry(
const double *__ptr,
unsigned short __len)
1476 __constant_pow2_range(__len, 64, 4096);
1478 #define vec_load_bndry(X, Y) ((__typeof__((vec_load_bndry)((X), (Y)))) \
1479 __builtin_s390_vlbb((X), ((Y) == 64 ? 0 : \
1485 (Y) == 4096 ? 6 : -1)))
1490 vec_load_len(
const signed char *__ptr,
unsigned int __len) {
1491 return (__vector
signed char)__builtin_s390_vll(__len, __ptr);
1495 vec_load_len(
const unsigned char *__ptr,
unsigned int __len) {
1496 return (__vector
unsigned char)__builtin_s390_vll(__len, __ptr);
1500 vec_load_len(
const signed short *__ptr,
unsigned int __len) {
1501 return (__vector
signed short)__builtin_s390_vll(__len, __ptr);
1505 vec_load_len(
const unsigned short *__ptr,
unsigned int __len) {
1506 return (__vector
unsigned short)__builtin_s390_vll(__len, __ptr);
1510 vec_load_len(
const signed int *__ptr,
unsigned int __len) {
1511 return (__vector
signed int)__builtin_s390_vll(__len, __ptr);
1515 vec_load_len(
const unsigned int *__ptr,
unsigned int __len) {
1516 return (__vector
unsigned int)__builtin_s390_vll(__len, __ptr);
1520 vec_load_len(
const signed long long *__ptr,
unsigned int __len) {
1521 return (__vector
signed long long)__builtin_s390_vll(__len, __ptr);
1525 vec_load_len(
const unsigned long long *__ptr,
unsigned int __len) {
1526 return (__vector
unsigned long long)__builtin_s390_vll(__len, __ptr);
1531 vec_load_len(
const float *__ptr,
unsigned int __len) {
1532 return (__vector
float)__builtin_s390_vll(__len, __ptr);
1537 vec_load_len(
const double *__ptr,
unsigned int __len) {
1538 return (__vector
double)__builtin_s390_vll(__len, __ptr);
1544 static inline __ATTRS_ai __vector
unsigned char
1545 vec_load_len_r(
const unsigned char *__ptr,
unsigned int __len) {
1546 return (__vector
unsigned char)__builtin_s390_vlrlr(__len, __ptr);
1553 vec_store_len(__vector
signed char __vec,
signed char *__ptr,
1554 unsigned int __len) {
1555 __builtin_s390_vstl((__vector
signed char)__vec, __len, __ptr);
1559 vec_store_len(__vector
unsigned char __vec,
unsigned char *__ptr,
1560 unsigned int __len) {
1561 __builtin_s390_vstl((__vector
signed char)__vec, __len, __ptr);
1565 vec_store_len(__vector
signed short __vec,
signed short *__ptr,
1566 unsigned int __len) {
1567 __builtin_s390_vstl((__vector
signed char)__vec, __len, __ptr);
1571 vec_store_len(__vector
unsigned short __vec,
unsigned short *__ptr,
1572 unsigned int __len) {
1573 __builtin_s390_vstl((__vector
signed char)__vec, __len, __ptr);
1577 vec_store_len(__vector
signed int __vec,
signed int *__ptr,
1578 unsigned int __len) {
1579 __builtin_s390_vstl((__vector
signed char)__vec, __len, __ptr);
1583 vec_store_len(__vector
unsigned int __vec,
unsigned int *__ptr,
1584 unsigned int __len) {
1585 __builtin_s390_vstl((__vector
signed char)__vec, __len, __ptr);
1589 vec_store_len(__vector
signed long long __vec,
signed long long *__ptr,
1590 unsigned int __len) {
1591 __builtin_s390_vstl((__vector
signed char)__vec, __len, __ptr);
1595 vec_store_len(__vector
unsigned long long __vec,
unsigned long long *__ptr,
1596 unsigned int __len) {
1597 __builtin_s390_vstl((__vector
signed char)__vec, __len, __ptr);
1602 vec_store_len(__vector
float __vec,
float *__ptr,
1603 unsigned int __len) {
1604 __builtin_s390_vstl((__vector
signed char)__vec, __len, __ptr);
1609 vec_store_len(__vector
double __vec,
double *__ptr,
1610 unsigned int __len) {
1611 __builtin_s390_vstl((__vector
signed char)__vec, __len, __ptr);
1617 static inline __ATTRS_ai
void
1618 vec_store_len_r(__vector
unsigned char __vec,
unsigned char *__ptr,
1619 unsigned int __len) {
1620 __builtin_s390_vstrlr((__vector
signed char)__vec, __len, __ptr);
1627 vec_load_pair(
signed long long __a,
signed long long __b) {
1628 return (__vector
signed long long)(
__a,
__b);
1632 vec_load_pair(
unsigned long long __a,
unsigned long long __b) {
1633 return (__vector
unsigned long long)(
__a,
__b);
1639 vec_genmask(
unsigned short __mask)
1640 __constant(__mask) {
1641 return (__vector
unsigned char)(
1642 __mask & 0x8000 ? 0xff : 0,
1643 __mask & 0x4000 ? 0xff : 0,
1644 __mask & 0x2000 ? 0xff : 0,
1645 __mask & 0x1000 ? 0xff : 0,
1646 __mask & 0x0800 ? 0xff : 0,
1647 __mask & 0x0400 ? 0xff : 0,
1648 __mask & 0x0200 ? 0xff : 0,
1649 __mask & 0x0100 ? 0xff : 0,
1650 __mask & 0x0080 ? 0xff : 0,
1651 __mask & 0x0040 ? 0xff : 0,
1652 __mask & 0x0020 ? 0xff : 0,
1653 __mask & 0x0010 ? 0xff : 0,
1654 __mask & 0x0008 ? 0xff : 0,
1655 __mask & 0x0004 ? 0xff : 0,
1656 __mask & 0x0002 ? 0xff : 0,
1657 __mask & 0x0001 ? 0xff : 0);
1663 vec_genmasks_8(
unsigned char __first,
unsigned char __last)
1664 __constant(__first) __constant(__last) {
1665 unsigned char __bit1 = __first & 7;
1666 unsigned char __bit2 = __last & 7;
1667 unsigned char __mask1 = (
unsigned char)(1U << (7 - __bit1) << 1) - 1;
1668 unsigned char __mask2 = (
unsigned char)(1U << (7 - __bit2)) - 1;
1669 unsigned char __value = (__bit1 <= __bit2 ?
1670 __mask1 & ~__mask2 :
1671 __mask1 | ~__mask2);
1672 return (__vector
unsigned char)
__value;
1676 vec_genmasks_16(
unsigned char __first,
unsigned char __last)
1677 __constant(__first) __constant(__last) {
1678 unsigned char __bit1 = __first & 15;
1679 unsigned char __bit2 = __last & 15;
1680 unsigned short __mask1 = (
unsigned short)(1U << (15 - __bit1) << 1) - 1;
1681 unsigned short __mask2 = (
unsigned short)(1U << (15 - __bit2)) - 1;
1682 unsigned short __value = (__bit1 <= __bit2 ?
1683 __mask1 & ~__mask2 :
1684 __mask1 | ~__mask2);
1685 return (__vector
unsigned short)
__value;
1689 vec_genmasks_32(
unsigned char __first,
unsigned char __last)
1690 __constant(__first) __constant(__last) {
1691 unsigned char __bit1 = __first & 31;
1692 unsigned char __bit2 = __last & 31;
1693 unsigned int __mask1 = (1U << (31 - __bit1) << 1) - 1;
1694 unsigned int __mask2 = (1U << (31 - __bit2)) - 1;
1695 unsigned int __value = (__bit1 <= __bit2 ?
1696 __mask1 & ~__mask2 :
1697 __mask1 | ~__mask2);
1698 return (__vector
unsigned int)
__value;
1702 vec_genmasks_64(
unsigned char __first,
unsigned char __last)
1703 __constant(__first) __constant(__last) {
1704 unsigned char __bit1 = __first & 63;
1705 unsigned char __bit2 = __last & 63;
1706 unsigned long long __mask1 = (1ULL << (63 - __bit1) << 1) - 1;
1707 unsigned long long __mask2 = (1ULL << (63 - __bit2)) - 1;
1708 unsigned long long __value = (__bit1 <= __bit2 ?
1709 __mask1 & ~__mask2 :
1710 __mask1 | ~__mask2);
1711 return (__vector
unsigned long long)
__value;
1717 vec_splat(__vector
signed char __vec,
int __index)
1718 __constant_range(__index, 0, 15) {
1719 return (__vector
signed char)__vec[__index];
1723 vec_splat(__vector __bool
char __vec,
int __index)
1724 __constant_range(__index, 0, 15) {
1725 return (__vector __bool
char)(__vector
unsigned char)__vec[__index];
1729 vec_splat(__vector
unsigned char __vec,
int __index)
1730 __constant_range(__index, 0, 15) {
1731 return (__vector
unsigned char)__vec[__index];
1735 vec_splat(__vector
signed short __vec,
int __index)
1736 __constant_range(__index, 0, 7) {
1737 return (__vector
signed short)__vec[__index];
1741 vec_splat(__vector __bool
short __vec,
int __index)
1742 __constant_range(__index, 0, 7) {
1743 return (__vector __bool
short)(__vector
unsigned short)__vec[__index];
1747 vec_splat(__vector
unsigned short __vec,
int __index)
1748 __constant_range(__index, 0, 7) {
1749 return (__vector
unsigned short)__vec[__index];
1753 vec_splat(__vector
signed int __vec,
int __index)
1754 __constant_range(__index, 0, 3) {
1755 return (__vector
signed int)__vec[__index];
1759 vec_splat(__vector __bool
int __vec,
int __index)
1760 __constant_range(__index, 0, 3) {
1761 return (__vector __bool
int)(__vector
unsigned int)__vec[__index];
1765 vec_splat(__vector
unsigned int __vec,
int __index)
1766 __constant_range(__index, 0, 3) {
1767 return (__vector
unsigned int)__vec[__index];
1771 vec_splat(__vector
signed long long __vec,
int __index)
1772 __constant_range(__index, 0, 1) {
1773 return (__vector
signed long long)__vec[__index];
1777 vec_splat(__vector __bool
long long __vec,
int __index)
1778 __constant_range(__index, 0, 1) {
1779 return ((__vector __bool
long long)
1780 (__vector
unsigned long long)__vec[__index]);
1784 vec_splat(__vector
unsigned long long __vec,
int __index)
1785 __constant_range(__index, 0, 1) {
1786 return (__vector
unsigned long long)__vec[__index];
1791 vec_splat(__vector
float __vec,
int __index)
1792 __constant_range(__index, 0, 3) {
1793 return (__vector
float)__vec[__index];
1798 vec_splat(__vector
double __vec,
int __index)
1799 __constant_range(__index, 0, 1) {
1800 return (__vector
double)__vec[__index];
1805 static inline __ATTRS_ai __vector
signed char
1807 __constant(__scalar) {
1808 return (__vector
signed char)__scalar;
1811 static inline __ATTRS_ai __vector
signed short
1813 __constant(__scalar) {
1814 return (__vector
signed short)__scalar;
1817 static inline __ATTRS_ai __vector
signed int
1819 __constant(__scalar) {
1820 return (__vector
signed int)(
signed int)__scalar;
1823 static inline __ATTRS_ai __vector
signed long long
1824 vec_splat_s64(
signed short __scalar)
1825 __constant(__scalar) {
1826 return (__vector
signed long long)(
signed long)__scalar;
1831 static inline __ATTRS_ai __vector
unsigned char
1833 __constant(__scalar) {
1834 return (__vector
unsigned char)__scalar;
1837 static inline __ATTRS_ai __vector
unsigned short
1839 __constant(__scalar) {
1840 return (__vector
unsigned short)__scalar;
1843 static inline __ATTRS_ai __vector
unsigned int
1845 __constant(__scalar) {
1846 return (__vector
unsigned int)(
signed int)__scalar;
1849 static inline __ATTRS_ai __vector
unsigned long long
1850 vec_splat_u64(
signed short __scalar)
1851 __constant(__scalar) {
1852 return (__vector
unsigned long long)(
signed long long)__scalar;
1859 return (__vector
signed char)__scalar;
1864 return (__vector
unsigned char)__scalar;
1869 return (__vector
signed short)__scalar;
1874 return (__vector
unsigned short)__scalar;
1879 return (__vector
signed int)__scalar;
1884 return (__vector
unsigned int)__scalar;
1889 return (__vector
signed long long)__scalar;
1894 return (__vector
unsigned long long)__scalar;
1900 return (__vector
float)__scalar;
1906 return (__vector
double)__scalar;
1912 vec_extend_s64(__vector
signed char __a) {
1913 return (__vector
signed long long)(
__a[7],
__a[15]);
1917 vec_extend_s64(__vector
signed short __a) {
1918 return (__vector
signed long long)(
__a[3],
__a[7]);
1922 vec_extend_s64(__vector
signed int __a) {
1923 return (__vector
signed long long)(
__a[1],
__a[3]);
1930 return (__vector
signed char)(
1937 return (__vector __bool
char)(
1944 return (__vector
unsigned char)(
1951 return (__vector
signed short)(
1957 return (__vector __bool
short)(
1963 return (__vector
unsigned short)(
1969 return (__vector
signed int)(
__a[0],
__b[0],
__a[1],
__b[1]);
1974 return (__vector __bool
int)(
__a[0],
__b[0],
__a[1],
__b[1]);
1979 return (__vector
unsigned int)(
__a[0],
__b[0],
__a[1],
__b[1]);
1984 return (__vector
signed long long)(
__a[0],
__b[0]);
1989 return (__vector __bool
long long)(
__a[0],
__b[0]);
1993 vec_mergeh(__vector
unsigned long long __a, __vector
unsigned long long __b) {
1994 return (__vector
unsigned long long)(
__a[0],
__b[0]);
2000 return (__vector
float)(
__a[0],
__b[0],
__a[1],
__b[1]);
2006 return (__vector
double)(
__a[0],
__b[0]);
2013 return (__vector
signed char)(
2020 return (__vector __bool
char)(
2027 return (__vector
unsigned char)(
2034 return (__vector
signed short)(
2040 return (__vector __bool
short)(
2046 return (__vector
unsigned short)(
2052 return (__vector
signed int)(
__a[2],
__b[2],
__a[3],
__b[3]);
2057 return (__vector __bool
int)(
__a[2],
__b[2],
__a[3],
__b[3]);
2062 return (__vector
unsigned int)(
__a[2],
__b[2],
__a[3],
__b[3]);
2067 return (__vector
signed long long)(
__a[1],
__b[1]);
2072 return (__vector __bool
long long)(
__a[1],
__b[1]);
2076 vec_mergel(__vector
unsigned long long __a, __vector
unsigned long long __b) {
2077 return (__vector
unsigned long long)(
__a[1],
__b[1]);
2083 return (__vector
float)(
__a[2],
__b[2],
__a[3],
__b[3]);
2089 return (__vector
double)(
__a[1],
__b[1]);
2096 __vector
signed char __ac = (__vector
signed char)
__a;
2097 __vector
signed char __bc = (__vector
signed char)
__b;
2098 return (__vector
signed char)(
2099 __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
2100 __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
2105 __vector __bool
char __ac = (__vector __bool char)
__a;
2106 __vector __bool
char __bc = (__vector __bool char)
__b;
2107 return (__vector __bool
char)(
2108 __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
2109 __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
2113 vec_pack(__vector
unsigned short __a, __vector
unsigned short __b) {
2114 __vector
unsigned char __ac = (__vector
unsigned char)
__a;
2115 __vector
unsigned char __bc = (__vector
unsigned char)
__b;
2116 return (__vector
unsigned char)(
2117 __ac[1], __ac[3], __ac[5], __ac[7], __ac[9], __ac[11], __ac[13], __ac[15],
2118 __bc[1], __bc[3], __bc[5], __bc[7], __bc[9], __bc[11], __bc[13], __bc[15]);
2123 __vector
signed short __ac = (__vector
signed short)
__a;
2124 __vector
signed short __bc = (__vector
signed short)
__b;
2125 return (__vector
signed short)(
2126 __ac[1], __ac[3], __ac[5], __ac[7],
2127 __bc[1], __bc[3], __bc[5], __bc[7]);
2132 __vector __bool
short __ac = (__vector __bool short)
__a;
2133 __vector __bool
short __bc = (__vector __bool short)
__b;
2134 return (__vector __bool
short)(
2135 __ac[1], __ac[3], __ac[5], __ac[7],
2136 __bc[1], __bc[3], __bc[5], __bc[7]);
2141 __vector
unsigned short __ac = (__vector
unsigned short)
__a;
2142 __vector
unsigned short __bc = (__vector
unsigned short)
__b;
2143 return (__vector
unsigned short)(
2144 __ac[1], __ac[3], __ac[5], __ac[7],
2145 __bc[1], __bc[3], __bc[5], __bc[7]);
2149 vec_pack(__vector
signed long long __a, __vector
signed long long __b) {
2150 __vector
signed int __ac = (__vector
signed int)
__a;
2151 __vector
signed int __bc = (__vector
signed int)
__b;
2152 return (__vector
signed int)(__ac[1], __ac[3], __bc[1], __bc[3]);
2156 vec_pack(__vector __bool
long long __a, __vector __bool
long long __b) {
2157 __vector __bool
int __ac = (__vector __bool
int)
__a;
2158 __vector __bool
int __bc = (__vector __bool
int)
__b;
2159 return (__vector __bool
int)(__ac[1], __ac[3], __bc[1], __bc[3]);
2163 vec_pack(__vector
unsigned long long __a, __vector
unsigned long long __b) {
2164 __vector
unsigned int __ac = (__vector
unsigned int)
__a;
2165 __vector
unsigned int __bc = (__vector
unsigned int)
__b;
2166 return (__vector
unsigned int)(__ac[1], __ac[3], __bc[1], __bc[3]);
2173 return __builtin_s390_vpksh(
__a,
__b);
2178 return __builtin_s390_vpklsh(
__a,
__b);
2183 return __builtin_s390_vpksf(
__a,
__b);
2188 return __builtin_s390_vpklsf(
__a,
__b);
2192 vec_packs(__vector
signed long long __a, __vector
signed long long __b) {
2193 return __builtin_s390_vpksg(
__a,
__b);
2197 vec_packs(__vector
unsigned long long __a, __vector
unsigned long long __b) {
2198 return __builtin_s390_vpklsg(
__a,
__b);
2204 vec_packs_cc(__vector
signed short __a, __vector
signed short __b,
int *__cc) {
2205 return __builtin_s390_vpkshs(
__a,
__b, __cc);
2209 vec_packs_cc(__vector
unsigned short __a, __vector
unsigned short __b,
2211 return __builtin_s390_vpklshs(
__a,
__b, __cc);
2215 vec_packs_cc(__vector
signed int __a, __vector
signed int __b,
int *__cc) {
2216 return __builtin_s390_vpksfs(
__a,
__b, __cc);
2220 vec_packs_cc(__vector
unsigned int __a, __vector
unsigned int __b,
int *__cc) {
2221 return __builtin_s390_vpklsfs(
__a,
__b, __cc);
2225 vec_packs_cc(__vector
signed long long __a, __vector
signed long long __b,
2227 return __builtin_s390_vpksgs(
__a,
__b, __cc);
2231 vec_packs_cc(__vector
unsigned long long __a, __vector
unsigned long long __b,
2233 return __builtin_s390_vpklsgs(
__a,
__b, __cc);
2240 const __vector
signed short __zero = (__vector
signed short)0;
2241 return __builtin_s390_vpklsh(
2242 (__vector
unsigned short)(
__a >= __zero) & (__vector
unsigned short)
__a,
2243 (__vector
unsigned short)(
__b >= __zero) & (__vector
unsigned short)
__b);
2248 return __builtin_s390_vpklsh(
__a,
__b);
2253 const __vector
signed int __zero = (__vector
signed int)0;
2254 return __builtin_s390_vpklsf(
2255 (__vector
unsigned int)(
__a >= __zero) & (__vector
unsigned int)
__a,
2256 (__vector
unsigned int)(
__b >= __zero) & (__vector
unsigned int)
__b);
2261 return __builtin_s390_vpklsf(
__a,
__b);
2266 const __vector
signed long long __zero = (__vector
signed long long)0;
2267 return __builtin_s390_vpklsg(
2268 (__vector
unsigned long long)(
__a >= __zero) &
2269 (__vector
unsigned long long)
__a,
2270 (__vector
unsigned long long)(
__b >= __zero) &
2271 (__vector
unsigned long long)
__b);
2275 vec_packsu(__vector
unsigned long long __a, __vector
unsigned long long __b) {
2276 return __builtin_s390_vpklsg(
__a,
__b);
2282 vec_packsu_cc(__vector
unsigned short __a, __vector
unsigned short __b,
2284 return __builtin_s390_vpklshs(
__a,
__b, __cc);
2288 vec_packsu_cc(__vector
unsigned int __a, __vector
unsigned int __b,
int *__cc) {
2289 return __builtin_s390_vpklsfs(
__a,
__b, __cc);
2293 vec_packsu_cc(__vector
unsigned long long __a, __vector
unsigned long long __b,
2295 return __builtin_s390_vpklsgs(
__a,
__b, __cc);
2302 return __builtin_s390_vuphb(
__a);
2307 return ((__vector __bool
short)
2308 __builtin_s390_vuphb((__vector
signed char)
__a));
2313 return __builtin_s390_vuplhb(
__a);
2318 return __builtin_s390_vuphh(
__a);
2323 return (__vector __bool
int)__builtin_s390_vuphh((__vector
signed short)
__a);
2328 return __builtin_s390_vuplhh(
__a);
2333 return __builtin_s390_vuphf(
__a);
2338 return ((__vector __bool
long long)
2339 __builtin_s390_vuphf((__vector
signed int)
__a));
2344 return __builtin_s390_vuplhf(
__a);
2351 return __builtin_s390_vuplb(
__a);
2356 return ((__vector __bool
short)
2357 __builtin_s390_vuplb((__vector
signed char)
__a));
2362 return __builtin_s390_vupllb(
__a);
2367 return __builtin_s390_vuplhw(
__a);
2372 return ((__vector __bool
int)
2373 __builtin_s390_vuplhw((__vector
signed short)
__a));
2378 return __builtin_s390_vupllh(
__a);
2383 return __builtin_s390_vuplf(
__a);
2388 return ((__vector __bool
long long)
2389 __builtin_s390_vuplf((__vector
signed int)
__a));
2394 return __builtin_s390_vupllf(
__a);
2401 return (__vector __bool
char)(
__a ==
__b);
2406 return (__vector __bool
char)(
__a ==
__b);
2411 return (__vector __bool
char)(
__a ==
__b);
2416 return (__vector __bool
short)(
__a ==
__b);
2421 return (__vector __bool
short)(
__a ==
__b);
2426 return (__vector __bool
short)(
__a ==
__b);
2431 return (__vector __bool
int)(
__a ==
__b);
2436 return (__vector __bool
int)(
__a ==
__b);
2441 return (__vector __bool
int)(
__a ==
__b);
2445 vec_cmpeq(__vector __bool
long long __a, __vector __bool
long long __b) {
2446 return (__vector __bool
long long)(
__a ==
__b);
2450 vec_cmpeq(__vector
signed long long __a, __vector
signed long long __b) {
2451 return (__vector __bool
long long)(
__a ==
__b);
2455 vec_cmpeq(__vector
unsigned long long __a, __vector
unsigned long long __b) {
2456 return (__vector __bool
long long)(
__a ==
__b);
2462 return (__vector __bool
int)(
__a ==
__b);
2468 return (__vector __bool
long long)(
__a ==
__b);
2475 return (__vector __bool
char)(
__a >=
__b);
2480 return (__vector __bool
char)(
__a >=
__b);
2485 return (__vector __bool
short)(
__a >=
__b);
2490 return (__vector __bool
short)(
__a >=
__b);
2495 return (__vector __bool
int)(
__a >=
__b);
2500 return (__vector __bool
int)(
__a >=
__b);
2504 vec_cmpge(__vector
signed long long __a, __vector
signed long long __b) {
2505 return (__vector __bool
long long)(
__a >=
__b);
2509 vec_cmpge(__vector
unsigned long long __a, __vector
unsigned long long __b) {
2510 return (__vector __bool
long long)(
__a >=
__b);
2516 return (__vector __bool
int)(
__a >=
__b);
2522 return (__vector __bool
long long)(
__a >=
__b);
2529 return (__vector __bool
char)(
__a >
__b);
2534 return (__vector __bool
char)(
__a >
__b);
2539 return (__vector __bool
short)(
__a >
__b);
2544 return (__vector __bool
short)(
__a >
__b);
2549 return (__vector __bool
int)(
__a >
__b);
2554 return (__vector __bool
int)(
__a >
__b);
2558 vec_cmpgt(__vector
signed long long __a, __vector
signed long long __b) {
2559 return (__vector __bool
long long)(
__a >
__b);
2563 vec_cmpgt(__vector
unsigned long long __a, __vector
unsigned long long __b) {
2564 return (__vector __bool
long long)(
__a >
__b);
2570 return (__vector __bool
int)(
__a >
__b);
2576 return (__vector __bool
long long)(
__a >
__b);
2583 return (__vector __bool
char)(
__a <=
__b);
2588 return (__vector __bool
char)(
__a <=
__b);
2593 return (__vector __bool
short)(
__a <=
__b);
2598 return (__vector __bool
short)(
__a <=
__b);
2603 return (__vector __bool
int)(
__a <=
__b);
2608 return (__vector __bool
int)(
__a <=
__b);
2612 vec_cmple(__vector
signed long long __a, __vector
signed long long __b) {
2613 return (__vector __bool
long long)(
__a <=
__b);
2617 vec_cmple(__vector
unsigned long long __a, __vector
unsigned long long __b) {
2618 return (__vector __bool
long long)(
__a <=
__b);
2624 return (__vector __bool
int)(
__a <=
__b);
2630 return (__vector __bool
long long)(
__a <=
__b);
2637 return (__vector __bool
char)(
__a <
__b);
2642 return (__vector __bool
char)(
__a <
__b);
2647 return (__vector __bool
short)(
__a <
__b);
2652 return (__vector __bool
short)(
__a <
__b);
2657 return (__vector __bool
int)(
__a <
__b);
2662 return (__vector __bool
int)(
__a <
__b);
2666 vec_cmplt(__vector
signed long long __a, __vector
signed long long __b) {
2667 return (__vector __bool
long long)(
__a <
__b);
2671 vec_cmplt(__vector
unsigned long long __a, __vector
unsigned long long __b) {
2672 return (__vector __bool
long long)(
__a <
__b);
2678 return (__vector __bool
int)(
__a <
__b);
2684 return (__vector __bool
long long)(
__a <
__b);
2692 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
2693 (__vector
unsigned char)
__b, &__cc);
2701 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
2702 (__vector
unsigned char)
__b, &__cc);
2710 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
2711 (__vector
unsigned char)
__b, &__cc);
2718 __builtin_s390_vceqbs(
__a,
__b, &__cc);
2726 __builtin_s390_vceqbs(
__a, (__vector
unsigned char)
__b, &__cc);
2734 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
__b, &__cc);
2741 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
2742 (__vector
unsigned char)
__b, &__cc);
2749 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
2750 (__vector
unsigned short)
__b, &__cc);
2758 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
2759 (__vector
unsigned short)
__b, &__cc);
2767 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
2768 (__vector
unsigned short)
__b, &__cc);
2775 __builtin_s390_vceqhs(
__a,
__b, &__cc);
2783 __builtin_s390_vceqhs(
__a, (__vector
unsigned short)
__b, &__cc);
2791 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
__b, &__cc);
2798 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
2799 (__vector
unsigned short)
__b, &__cc);
2806 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
2807 (__vector
unsigned int)
__b, &__cc);
2815 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
2816 (__vector
unsigned int)
__b, &__cc);
2824 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
2825 (__vector
unsigned int)
__b, &__cc);
2832 __builtin_s390_vceqfs(
__a,
__b, &__cc);
2840 __builtin_s390_vceqfs(
__a, (__vector
unsigned int)
__b, &__cc);
2848 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
__b, &__cc);
2855 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
2856 (__vector
unsigned int)
__b, &__cc);
2863 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
2864 (__vector
unsigned long long)
__b, &__cc);
2872 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
2873 (__vector
unsigned long long)
__b, &__cc);
2881 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
2882 (__vector
unsigned long long)
__b, &__cc);
2887 vec_all_eq(__vector
unsigned long long __a, __vector
unsigned long long __b) {
2889 __builtin_s390_vceqgs(
__a,
__b, &__cc);
2895 vec_all_eq(__vector
unsigned long long __a, __vector __bool
long long __b) {
2897 __builtin_s390_vceqgs(
__a, (__vector
unsigned long long)
__b, &__cc);
2903 vec_all_eq(__vector __bool
long long __a, __vector
unsigned long long __b) {
2905 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
__b, &__cc);
2912 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
2913 (__vector
unsigned long long)
__b, &__cc);
2921 __builtin_s390_vfcesbs(
__a,
__b, &__cc);
2929 __builtin_s390_vfcedbs(
__a,
__b, &__cc);
2938 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
2939 (__vector
unsigned char)
__b, &__cc);
2947 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
2948 (__vector
unsigned char)
__b, &__cc);
2956 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
2957 (__vector
unsigned char)
__b, &__cc);
2964 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
2965 (__vector
unsigned char)
__b, &__cc);
2973 __builtin_s390_vceqbs(
__a, (__vector
unsigned char)
__b, &__cc);
2981 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
__b, &__cc);
2988 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
2989 (__vector
unsigned char)
__b, &__cc);
2996 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
2997 (__vector
unsigned short)
__b, &__cc);
3005 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
3006 (__vector
unsigned short)
__b, &__cc);
3014 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
3015 (__vector
unsigned short)
__b, &__cc);
3022 __builtin_s390_vceqhs(
__a,
__b, &__cc);
3030 __builtin_s390_vceqhs(
__a, (__vector
unsigned short)
__b, &__cc);
3038 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
__b, &__cc);
3045 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
3046 (__vector
unsigned short)
__b, &__cc);
3053 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
3054 (__vector
unsigned int)
__b, &__cc);
3062 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
3063 (__vector
unsigned int)
__b, &__cc);
3071 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
3072 (__vector
unsigned int)
__b, &__cc);
3079 __builtin_s390_vceqfs(
__a,
__b, &__cc);
3087 __builtin_s390_vceqfs(
__a, (__vector
unsigned int)
__b, &__cc);
3095 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
__b, &__cc);
3102 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
3103 (__vector
unsigned int)
__b, &__cc);
3110 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
3111 (__vector
unsigned long long)
__b, &__cc);
3119 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
3120 (__vector
unsigned long long)
__b, &__cc);
3128 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
3129 (__vector
unsigned long long)
__b, &__cc);
3134 vec_all_ne(__vector
unsigned long long __a, __vector
unsigned long long __b) {
3136 __builtin_s390_vceqgs(
__a,
__b, &__cc);
3142 vec_all_ne(__vector
unsigned long long __a, __vector __bool
long long __b) {
3144 __builtin_s390_vceqgs(
__a, (__vector
unsigned long long)
__b, &__cc);
3150 vec_all_ne(__vector __bool
long long __a, __vector
unsigned long long __b) {
3152 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
__b, &__cc);
3159 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
3160 (__vector
unsigned long long)
__b, &__cc);
3168 __builtin_s390_vfcesbs(
__a,
__b, &__cc);
3176 __builtin_s390_vfcedbs(
__a,
__b, &__cc);
3185 __builtin_s390_vchbs(
__b,
__a, &__cc);
3193 __builtin_s390_vchbs((__vector
signed char)
__b,
__a, &__cc);
3201 __builtin_s390_vchbs(
__b, (__vector
signed char)
__a, &__cc);
3208 __builtin_s390_vchlbs(
__b,
__a, &__cc);
3216 __builtin_s390_vchlbs((__vector
unsigned char)
__b,
__a, &__cc);
3224 __builtin_s390_vchlbs(
__b, (__vector
unsigned char)
__a, &__cc);
3232 __builtin_s390_vchlbs((__vector
unsigned char)
__b,
3233 (__vector
unsigned char)
__a, &__cc);
3240 __builtin_s390_vchhs(
__b,
__a, &__cc);
3248 __builtin_s390_vchhs((__vector
signed short)
__b,
__a, &__cc);
3256 __builtin_s390_vchhs(
__b, (__vector
signed short)
__a, &__cc);
3263 __builtin_s390_vchlhs(
__b,
__a, &__cc);
3271 __builtin_s390_vchlhs((__vector
unsigned short)
__b,
__a, &__cc);
3279 __builtin_s390_vchlhs(
__b, (__vector
unsigned short)
__a, &__cc);
3287 __builtin_s390_vchlhs((__vector
unsigned short)
__b,
3288 (__vector
unsigned short)
__a, &__cc);
3295 __builtin_s390_vchfs(
__b,
__a, &__cc);
3303 __builtin_s390_vchfs((__vector
signed int)
__b,
__a, &__cc);
3311 __builtin_s390_vchfs(
__b, (__vector
signed int)
__a, &__cc);
3318 __builtin_s390_vchlfs(
__b,
__a, &__cc);
3326 __builtin_s390_vchlfs((__vector
unsigned int)
__b,
__a, &__cc);
3334 __builtin_s390_vchlfs(
__b, (__vector
unsigned int)
__a, &__cc);
3342 __builtin_s390_vchlfs((__vector
unsigned int)
__b,
3343 (__vector
unsigned int)
__a, &__cc);
3350 __builtin_s390_vchgs(
__b,
__a, &__cc);
3358 __builtin_s390_vchgs((__vector
signed long long)
__b,
__a, &__cc);
3366 __builtin_s390_vchgs(
__b, (__vector
signed long long)
__a, &__cc);
3371 vec_all_ge(__vector
unsigned long long __a, __vector
unsigned long long __b) {
3373 __builtin_s390_vchlgs(
__b,
__a, &__cc);
3379 vec_all_ge(__vector
unsigned long long __a, __vector __bool
long long __b) {
3381 __builtin_s390_vchlgs((__vector
unsigned long long)
__b,
__a, &__cc);
3387 vec_all_ge(__vector __bool
long long __a, __vector
unsigned long long __b) {
3389 __builtin_s390_vchlgs(
__b, (__vector
unsigned long long)
__a, &__cc);
3397 __builtin_s390_vchlgs((__vector
unsigned long long)
__b,
3398 (__vector
unsigned long long)
__a, &__cc);
3406 __builtin_s390_vfchesbs(
__a,
__b, &__cc);
3414 __builtin_s390_vfchedbs(
__a,
__b, &__cc);
3423 __builtin_s390_vchbs(
__a,
__b, &__cc);
3431 __builtin_s390_vchbs(
__a, (__vector
signed char)
__b, &__cc);
3439 __builtin_s390_vchbs((__vector
signed char)
__a,
__b, &__cc);
3446 __builtin_s390_vchlbs(
__a,
__b, &__cc);
3454 __builtin_s390_vchlbs(
__a, (__vector
unsigned char)
__b, &__cc);
3462 __builtin_s390_vchlbs((__vector
unsigned char)
__a,
__b, &__cc);
3470 __builtin_s390_vchlbs((__vector
unsigned char)
__a,
3471 (__vector
unsigned char)
__b, &__cc);
3478 __builtin_s390_vchhs(
__a,
__b, &__cc);
3486 __builtin_s390_vchhs(
__a, (__vector
signed short)
__b, &__cc);
3494 __builtin_s390_vchhs((__vector
signed short)
__a,
__b, &__cc);
3501 __builtin_s390_vchlhs(
__a,
__b, &__cc);
3509 __builtin_s390_vchlhs(
__a, (__vector
unsigned short)
__b, &__cc);
3517 __builtin_s390_vchlhs((__vector
unsigned short)
__a,
__b, &__cc);
3525 __builtin_s390_vchlhs((__vector
unsigned short)
__a,
3526 (__vector
unsigned short)
__b, &__cc);
3533 __builtin_s390_vchfs(
__a,
__b, &__cc);
3541 __builtin_s390_vchfs(
__a, (__vector
signed int)
__b, &__cc);
3549 __builtin_s390_vchfs((__vector
signed int)
__a,
__b, &__cc);
3556 __builtin_s390_vchlfs(
__a,
__b, &__cc);
3564 __builtin_s390_vchlfs(
__a, (__vector
unsigned int)
__b, &__cc);
3572 __builtin_s390_vchlfs((__vector
unsigned int)
__a,
__b, &__cc);
3580 __builtin_s390_vchlfs((__vector
unsigned int)
__a,
3581 (__vector
unsigned int)
__b, &__cc);
3588 __builtin_s390_vchgs(
__a,
__b, &__cc);
3596 __builtin_s390_vchgs(
__a, (__vector
signed long long)
__b, &__cc);
3604 __builtin_s390_vchgs((__vector
signed long long)
__a,
__b, &__cc);
3609 vec_all_gt(__vector
unsigned long long __a, __vector
unsigned long long __b) {
3611 __builtin_s390_vchlgs(
__a,
__b, &__cc);
3617 vec_all_gt(__vector
unsigned long long __a, __vector __bool
long long __b) {
3619 __builtin_s390_vchlgs(
__a, (__vector
unsigned long long)
__b, &__cc);
3625 vec_all_gt(__vector __bool
long long __a, __vector
unsigned long long __b) {
3627 __builtin_s390_vchlgs((__vector
unsigned long long)
__a,
__b, &__cc);
3635 __builtin_s390_vchlgs((__vector
unsigned long long)
__a,
3636 (__vector
unsigned long long)
__b, &__cc);
3644 __builtin_s390_vfchsbs(
__a,
__b, &__cc);
3652 __builtin_s390_vfchdbs(
__a,
__b, &__cc);
3661 __builtin_s390_vchbs(
__a,
__b, &__cc);
3669 __builtin_s390_vchbs(
__a, (__vector
signed char)
__b, &__cc);
3677 __builtin_s390_vchbs((__vector
signed char)
__a,
__b, &__cc);
3684 __builtin_s390_vchlbs(
__a,
__b, &__cc);
3692 __builtin_s390_vchlbs(
__a, (__vector
unsigned char)
__b, &__cc);
3700 __builtin_s390_vchlbs((__vector
unsigned char)
__a,
__b, &__cc);
3708 __builtin_s390_vchlbs((__vector
unsigned char)
__a,
3709 (__vector
unsigned char)
__b, &__cc);
3716 __builtin_s390_vchhs(
__a,
__b, &__cc);
3724 __builtin_s390_vchhs(
__a, (__vector
signed short)
__b, &__cc);
3732 __builtin_s390_vchhs((__vector
signed short)
__a,
__b, &__cc);
3739 __builtin_s390_vchlhs(
__a,
__b, &__cc);
3747 __builtin_s390_vchlhs(
__a, (__vector
unsigned short)
__b, &__cc);
3755 __builtin_s390_vchlhs((__vector
unsigned short)
__a,
__b, &__cc);
3763 __builtin_s390_vchlhs((__vector
unsigned short)
__a,
3764 (__vector
unsigned short)
__b, &__cc);
3771 __builtin_s390_vchfs(
__a,
__b, &__cc);
3779 __builtin_s390_vchfs(
__a, (__vector
signed int)
__b, &__cc);
3787 __builtin_s390_vchfs((__vector
signed int)
__a,
__b, &__cc);
3794 __builtin_s390_vchlfs(
__a,
__b, &__cc);
3802 __builtin_s390_vchlfs(
__a, (__vector
unsigned int)
__b, &__cc);
3810 __builtin_s390_vchlfs((__vector
unsigned int)
__a,
__b, &__cc);
3818 __builtin_s390_vchlfs((__vector
unsigned int)
__a,
3819 (__vector
unsigned int)
__b, &__cc);
3826 __builtin_s390_vchgs(
__a,
__b, &__cc);
3834 __builtin_s390_vchgs(
__a, (__vector
signed long long)
__b, &__cc);
3842 __builtin_s390_vchgs((__vector
signed long long)
__a,
__b, &__cc);
3847 vec_all_le(__vector
unsigned long long __a, __vector
unsigned long long __b) {
3849 __builtin_s390_vchlgs(
__a,
__b, &__cc);
3855 vec_all_le(__vector
unsigned long long __a, __vector __bool
long long __b) {
3857 __builtin_s390_vchlgs(
__a, (__vector
unsigned long long)
__b, &__cc);
3863 vec_all_le(__vector __bool
long long __a, __vector
unsigned long long __b) {
3865 __builtin_s390_vchlgs((__vector
unsigned long long)
__a,
__b, &__cc);
3873 __builtin_s390_vchlgs((__vector
unsigned long long)
__a,
3874 (__vector
unsigned long long)
__b, &__cc);
3882 __builtin_s390_vfchesbs(
__b,
__a, &__cc);
3890 __builtin_s390_vfchedbs(
__b,
__a, &__cc);
3899 __builtin_s390_vchbs(
__b,
__a, &__cc);
3907 __builtin_s390_vchbs((__vector
signed char)
__b,
__a, &__cc);
3915 __builtin_s390_vchbs(
__b, (__vector
signed char)
__a, &__cc);
3922 __builtin_s390_vchlbs(
__b,
__a, &__cc);
3930 __builtin_s390_vchlbs((__vector
unsigned char)
__b,
__a, &__cc);
3938 __builtin_s390_vchlbs(
__b, (__vector
unsigned char)
__a, &__cc);
3946 __builtin_s390_vchlbs((__vector
unsigned char)
__b,
3947 (__vector
unsigned char)
__a, &__cc);
3954 __builtin_s390_vchhs(
__b,
__a, &__cc);
3962 __builtin_s390_vchhs((__vector
signed short)
__b,
__a, &__cc);
3970 __builtin_s390_vchhs(
__b, (__vector
signed short)
__a, &__cc);
3977 __builtin_s390_vchlhs(
__b,
__a, &__cc);
3985 __builtin_s390_vchlhs((__vector
unsigned short)
__b,
__a, &__cc);
3993 __builtin_s390_vchlhs(
__b, (__vector
unsigned short)
__a, &__cc);
4001 __builtin_s390_vchlhs((__vector
unsigned short)
__b,
4002 (__vector
unsigned short)
__a, &__cc);
4009 __builtin_s390_vchfs(
__b,
__a, &__cc);
4017 __builtin_s390_vchfs((__vector
signed int)
__b,
__a, &__cc);
4025 __builtin_s390_vchfs(
__b, (__vector
signed int)
__a, &__cc);
4032 __builtin_s390_vchlfs(
__b,
__a, &__cc);
4040 __builtin_s390_vchlfs((__vector
unsigned int)
__b,
__a, &__cc);
4048 __builtin_s390_vchlfs(
__b, (__vector
unsigned int)
__a, &__cc);
4056 __builtin_s390_vchlfs((__vector
unsigned int)
__b,
4057 (__vector
unsigned int)
__a, &__cc);
4064 __builtin_s390_vchgs(
__b,
__a, &__cc);
4072 __builtin_s390_vchgs((__vector
signed long long)
__b,
__a, &__cc);
4080 __builtin_s390_vchgs(
__b, (__vector
signed long long)
__a, &__cc);
4085 vec_all_lt(__vector
unsigned long long __a, __vector
unsigned long long __b) {
4087 __builtin_s390_vchlgs(
__b,
__a, &__cc);
4093 vec_all_lt(__vector
unsigned long long __a, __vector __bool
long long __b) {
4095 __builtin_s390_vchlgs((__vector
unsigned long long)
__b,
__a, &__cc);
4101 vec_all_lt(__vector __bool
long long __a, __vector
unsigned long long __b) {
4103 __builtin_s390_vchlgs(
__b, (__vector
unsigned long long)
__a, &__cc);
4111 __builtin_s390_vchlgs((__vector
unsigned long long)
__b,
4112 (__vector
unsigned long long)
__a, &__cc);
4120 __builtin_s390_vfchsbs(
__b,
__a, &__cc);
4128 __builtin_s390_vfchdbs(
__b,
__a, &__cc);
4138 __builtin_s390_vfchesbs(
__a,
__b, &__cc);
4146 __builtin_s390_vfchedbs(
__a,
__b, &__cc);
4156 __builtin_s390_vfchsbs(
__a,
__b, &__cc);
4164 __builtin_s390_vfchdbs(
__a,
__b, &__cc);
4174 __builtin_s390_vfchesbs(
__b,
__a, &__cc);
4182 __builtin_s390_vfchedbs(
__b,
__a, &__cc);
4192 __builtin_s390_vfchsbs(
__b,
__a, &__cc);
4200 __builtin_s390_vfchdbs(
__b,
__a, &__cc);
4210 __builtin_s390_vftcisb(
__a, 15, &__cc);
4218 __builtin_s390_vftcidb(
__a, 15, &__cc);
4228 __builtin_s390_vftcisb(
__a, 15, &__cc);
4236 __builtin_s390_vftcidb(
__a, 15, &__cc);
4245 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
4246 (__vector
unsigned char)
__b, &__cc);
4254 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
4255 (__vector
unsigned char)
__b, &__cc);
4263 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
4264 (__vector
unsigned char)
__b, &__cc);
4271 __builtin_s390_vceqbs(
__a,
__b, &__cc);
4279 __builtin_s390_vceqbs(
__a, (__vector
unsigned char)
__b, &__cc);
4287 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
__b, &__cc);
4294 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
4295 (__vector
unsigned char)
__b, &__cc);
4302 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
4303 (__vector
unsigned short)
__b, &__cc);
4311 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
4312 (__vector
unsigned short)
__b, &__cc);
4320 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
4321 (__vector
unsigned short)
__b, &__cc);
4328 __builtin_s390_vceqhs(
__a,
__b, &__cc);
4336 __builtin_s390_vceqhs(
__a, (__vector
unsigned short)
__b, &__cc);
4344 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
__b, &__cc);
4351 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
4352 (__vector
unsigned short)
__b, &__cc);
4359 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
4360 (__vector
unsigned int)
__b, &__cc);
4368 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
4369 (__vector
unsigned int)
__b, &__cc);
4377 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
4378 (__vector
unsigned int)
__b, &__cc);
4385 __builtin_s390_vceqfs(
__a,
__b, &__cc);
4393 __builtin_s390_vceqfs(
__a, (__vector
unsigned int)
__b, &__cc);
4401 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
__b, &__cc);
4408 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
4409 (__vector
unsigned int)
__b, &__cc);
4416 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
4417 (__vector
unsigned long long)
__b, &__cc);
4425 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
4426 (__vector
unsigned long long)
__b, &__cc);
4434 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
4435 (__vector
unsigned long long)
__b, &__cc);
4440 vec_any_eq(__vector
unsigned long long __a, __vector
unsigned long long __b) {
4442 __builtin_s390_vceqgs(
__a,
__b, &__cc);
4448 vec_any_eq(__vector
unsigned long long __a, __vector __bool
long long __b) {
4450 __builtin_s390_vceqgs(
__a, (__vector
unsigned long long)
__b, &__cc);
4456 vec_any_eq(__vector __bool
long long __a, __vector
unsigned long long __b) {
4458 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
__b, &__cc);
4465 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
4466 (__vector
unsigned long long)
__b, &__cc);
4474 __builtin_s390_vfcesbs(
__a,
__b, &__cc);
4482 __builtin_s390_vfcedbs(
__a,
__b, &__cc);
4491 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
4492 (__vector
unsigned char)
__b, &__cc);
4500 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
4501 (__vector
unsigned char)
__b, &__cc);
4509 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
4510 (__vector
unsigned char)
__b, &__cc);
4517 __builtin_s390_vceqbs(
__a,
__b, &__cc);
4525 __builtin_s390_vceqbs(
__a, (__vector
unsigned char)
__b, &__cc);
4533 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
__b, &__cc);
4540 __builtin_s390_vceqbs((__vector
unsigned char)
__a,
4541 (__vector
unsigned char)
__b, &__cc);
4548 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
4549 (__vector
unsigned short)
__b, &__cc);
4557 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
4558 (__vector
unsigned short)
__b, &__cc);
4566 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
4567 (__vector
unsigned short)
__b, &__cc);
4574 __builtin_s390_vceqhs(
__a,
__b, &__cc);
4582 __builtin_s390_vceqhs(
__a, (__vector
unsigned short)
__b, &__cc);
4590 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
__b, &__cc);
4597 __builtin_s390_vceqhs((__vector
unsigned short)
__a,
4598 (__vector
unsigned short)
__b, &__cc);
4605 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
4606 (__vector
unsigned int)
__b, &__cc);
4614 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
4615 (__vector
unsigned int)
__b, &__cc);
4623 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
4624 (__vector
unsigned int)
__b, &__cc);
4631 __builtin_s390_vceqfs(
__a,
__b, &__cc);
4639 __builtin_s390_vceqfs(
__a, (__vector
unsigned int)
__b, &__cc);
4647 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
__b, &__cc);
4654 __builtin_s390_vceqfs((__vector
unsigned int)
__a,
4655 (__vector
unsigned int)
__b, &__cc);
4662 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
4663 (__vector
unsigned long long)
__b, &__cc);
4671 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
4672 (__vector
unsigned long long)
__b, &__cc);
4680 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
4681 (__vector
unsigned long long)
__b, &__cc);
4686 vec_any_ne(__vector
unsigned long long __a, __vector
unsigned long long __b) {
4688 __builtin_s390_vceqgs(
__a,
__b, &__cc);
4694 vec_any_ne(__vector
unsigned long long __a, __vector __bool
long long __b) {
4696 __builtin_s390_vceqgs(
__a, (__vector
unsigned long long)
__b, &__cc);
4702 vec_any_ne(__vector __bool
long long __a, __vector
unsigned long long __b) {
4704 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
__b, &__cc);
4711 __builtin_s390_vceqgs((__vector
unsigned long long)
__a,
4712 (__vector
unsigned long long)
__b, &__cc);
4720 __builtin_s390_vfcesbs(
__a,
__b, &__cc);
4728 __builtin_s390_vfcedbs(
__a,
__b, &__cc);
4737 __builtin_s390_vchbs(
__b,
__a, &__cc);
4745 __builtin_s390_vchbs((__vector
signed char)
__b,
__a, &__cc);
4753 __builtin_s390_vchbs(
__b, (__vector
signed char)
__a, &__cc);
4760 __builtin_s390_vchlbs(
__b,
__a, &__cc);
4768 __builtin_s390_vchlbs((__vector
unsigned char)
__b,
__a, &__cc);
4776 __builtin_s390_vchlbs(
__b, (__vector
unsigned char)
__a, &__cc);
4784 __builtin_s390_vchlbs((__vector
unsigned char)
__b,
4785 (__vector
unsigned char)
__a, &__cc);
4792 __builtin_s390_vchhs(
__b,
__a, &__cc);
4800 __builtin_s390_vchhs((__vector
signed short)
__b,
__a, &__cc);
4808 __builtin_s390_vchhs(
__b, (__vector
signed short)
__a, &__cc);
4815 __builtin_s390_vchlhs(
__b,
__a, &__cc);
4823 __builtin_s390_vchlhs((__vector
unsigned short)
__b,
__a, &__cc);
4831 __builtin_s390_vchlhs(
__b, (__vector
unsigned short)
__a, &__cc);
4839 __builtin_s390_vchlhs((__vector
unsigned short)
__b,
4840 (__vector
unsigned short)
__a, &__cc);
4847 __builtin_s390_vchfs(
__b,
__a, &__cc);
4855 __builtin_s390_vchfs((__vector
signed int)
__b,
__a, &__cc);
4863 __builtin_s390_vchfs(
__b, (__vector
signed int)
__a, &__cc);
4870 __builtin_s390_vchlfs(
__b,
__a, &__cc);
4878 __builtin_s390_vchlfs((__vector
unsigned int)
__b,
__a, &__cc);
4886 __builtin_s390_vchlfs(
__b, (__vector
unsigned int)
__a, &__cc);
4894 __builtin_s390_vchlfs((__vector
unsigned int)
__b,
4895 (__vector
unsigned int)
__a, &__cc);
4902 __builtin_s390_vchgs(
__b,
__a, &__cc);
4910 __builtin_s390_vchgs((__vector
signed long long)
__b,
__a, &__cc);
4918 __builtin_s390_vchgs(
__b, (__vector
signed long long)
__a, &__cc);
4923 vec_any_ge(__vector
unsigned long long __a, __vector
unsigned long long __b) {
4925 __builtin_s390_vchlgs(
__b,
__a, &__cc);
4931 vec_any_ge(__vector
unsigned long long __a, __vector __bool
long long __b) {
4933 __builtin_s390_vchlgs((__vector
unsigned long long)
__b,
__a, &__cc);
4939 vec_any_ge(__vector __bool
long long __a, __vector
unsigned long long __b) {
4941 __builtin_s390_vchlgs(
__b, (__vector
unsigned long long)
__a, &__cc);
4949 __builtin_s390_vchlgs((__vector
unsigned long long)
__b,
4950 (__vector
unsigned long long)
__a, &__cc);
4958 __builtin_s390_vfchesbs(
__a,
__b, &__cc);
4966 __builtin_s390_vfchedbs(
__a,
__b, &__cc);
4975 __builtin_s390_vchbs(
__a,
__b, &__cc);
4983 __builtin_s390_vchbs(
__a, (__vector
signed char)
__b, &__cc);
4991 __builtin_s390_vchbs((__vector
signed char)
__a,
__b, &__cc);
4998 __builtin_s390_vchlbs(
__a,
__b, &__cc);
5006 __builtin_s390_vchlbs(
__a, (__vector
unsigned char)
__b, &__cc);
5014 __builtin_s390_vchlbs((__vector
unsigned char)
__a,
__b, &__cc);
5022 __builtin_s390_vchlbs((__vector
unsigned char)
__a,
5023 (__vector
unsigned char)
__b, &__cc);
5030 __builtin_s390_vchhs(
__a,
__b, &__cc);
5038 __builtin_s390_vchhs(
__a, (__vector
signed short)
__b, &__cc);
5046 __builtin_s390_vchhs((__vector
signed short)
__a,
__b, &__cc);
5053 __builtin_s390_vchlhs(
__a,
__b, &__cc);
5061 __builtin_s390_vchlhs(
__a, (__vector
unsigned short)
__b, &__cc);
5069 __builtin_s390_vchlhs((__vector
unsigned short)
__a,
__b, &__cc);
5077 __builtin_s390_vchlhs((__vector
unsigned short)
__a,
5078 (__vector
unsigned short)
__b, &__cc);
5085 __builtin_s390_vchfs(
__a,
__b, &__cc);
5093 __builtin_s390_vchfs(
__a, (__vector
signed int)
__b, &__cc);
5101 __builtin_s390_vchfs((__vector
signed int)
__a,
__b, &__cc);
5108 __builtin_s390_vchlfs(
__a,
__b, &__cc);
5116 __builtin_s390_vchlfs(
__a, (__vector
unsigned int)
__b, &__cc);
5124 __builtin_s390_vchlfs((__vector
unsigned int)
__a,
__b, &__cc);
5132 __builtin_s390_vchlfs((__vector
unsigned int)
__a,
5133 (__vector
unsigned int)
__b, &__cc);
5140 __builtin_s390_vchgs(
__a,
__b, &__cc);
5148 __builtin_s390_vchgs(
__a, (__vector
signed long long)
__b, &__cc);
5156 __builtin_s390_vchgs((__vector
signed long long)
__a,
__b, &__cc);
5161 vec_any_gt(__vector
unsigned long long __a, __vector
unsigned long long __b) {
5163 __builtin_s390_vchlgs(
__a,
__b, &__cc);
5169 vec_any_gt(__vector
unsigned long long __a, __vector __bool
long long __b) {
5171 __builtin_s390_vchlgs(
__a, (__vector
unsigned long long)
__b, &__cc);
5177 vec_any_gt(__vector __bool
long long __a, __vector
unsigned long long __b) {
5179 __builtin_s390_vchlgs((__vector
unsigned long long)
__a,
__b, &__cc);
5187 __builtin_s390_vchlgs((__vector
unsigned long long)
__a,
5188 (__vector
unsigned long long)
__b, &__cc);
5196 __builtin_s390_vfchsbs(
__a,
__b, &__cc);
5204 __builtin_s390_vfchdbs(
__a,
__b, &__cc);
5213 __builtin_s390_vchbs(
__a,
__b, &__cc);
5221 __builtin_s390_vchbs(
__a, (__vector
signed char)
__b, &__cc);
5229 __builtin_s390_vchbs((__vector
signed char)
__a,
__b, &__cc);
5236 __builtin_s390_vchlbs(
__a,
__b, &__cc);
5244 __builtin_s390_vchlbs(
__a, (__vector
unsigned char)
__b, &__cc);
5252 __builtin_s390_vchlbs((__vector
unsigned char)
__a,
__b, &__cc);
5260 __builtin_s390_vchlbs((__vector
unsigned char)
__a,
5261 (__vector
unsigned char)
__b, &__cc);
5268 __builtin_s390_vchhs(
__a,
__b, &__cc);
5276 __builtin_s390_vchhs(
__a, (__vector
signed short)
__b, &__cc);
5284 __builtin_s390_vchhs((__vector
signed short)
__a,
__b, &__cc);
5291 __builtin_s390_vchlhs(
__a,
__b, &__cc);
5299 __builtin_s390_vchlhs(
__a, (__vector
unsigned short)
__b, &__cc);
5307 __builtin_s390_vchlhs((__vector
unsigned short)
__a,
__b, &__cc);
5315 __builtin_s390_vchlhs((__vector
unsigned short)
__a,
5316 (__vector
unsigned short)
__b, &__cc);
5323 __builtin_s390_vchfs(
__a,
__b, &__cc);
5331 __builtin_s390_vchfs(
__a, (__vector
signed int)
__b, &__cc);
5339 __builtin_s390_vchfs((__vector
signed int)
__a,
__b, &__cc);
5346 __builtin_s390_vchlfs(
__a,
__b, &__cc);
5354 __builtin_s390_vchlfs(
__a, (__vector
unsigned int)
__b, &__cc);
5362 __builtin_s390_vchlfs((__vector
unsigned int)
__a,
__b, &__cc);
5370 __builtin_s390_vchlfs((__vector
unsigned int)
__a,
5371 (__vector
unsigned int)
__b, &__cc);
5378 __builtin_s390_vchgs(
__a,
__b, &__cc);
5386 __builtin_s390_vchgs(
__a, (__vector
signed long long)
__b, &__cc);
5394 __builtin_s390_vchgs((__vector
signed long long)
__a,
__b, &__cc);
5399 vec_any_le(__vector
unsigned long long __a, __vector
unsigned long long __b) {
5401 __builtin_s390_vchlgs(
__a,
__b, &__cc);
5407 vec_any_le(__vector
unsigned long long __a, __vector __bool
long long __b) {
5409 __builtin_s390_vchlgs(
__a, (__vector
unsigned long long)
__b, &__cc);
5415 vec_any_le(__vector __bool
long long __a, __vector
unsigned long long __b) {
5417 __builtin_s390_vchlgs((__vector
unsigned long long)
__a,
__b, &__cc);
5425 __builtin_s390_vchlgs((__vector
unsigned long long)
__a,
5426 (__vector
unsigned long long)
__b, &__cc);
5434 __builtin_s390_vfchesbs(
__b,
__a, &__cc);
5442 __builtin_s390_vfchedbs(
__b,
__a, &__cc);
5451 __builtin_s390_vchbs(
__b,
__a, &__cc);
5459 __builtin_s390_vchbs((__vector
signed char)
__b,
__a, &__cc);
5467 __builtin_s390_vchbs(
__b, (__vector
signed char)
__a, &__cc);
5474 __builtin_s390_vchlbs(
__b,
__a, &__cc);
5482 __builtin_s390_vchlbs((__vector
unsigned char)
__b,
__a, &__cc);
5490 __builtin_s390_vchlbs(
__b, (__vector
unsigned char)
__a, &__cc);
5498 __builtin_s390_vchlbs((__vector
unsigned char)
__b,
5499 (__vector
unsigned char)
__a, &__cc);
5506 __builtin_s390_vchhs(
__b,
__a, &__cc);
5514 __builtin_s390_vchhs((__vector
signed short)
__b,
__a, &__cc);
5522 __builtin_s390_vchhs(
__b, (__vector
signed short)
__a, &__cc);
5529 __builtin_s390_vchlhs(
__b,
__a, &__cc);
5537 __builtin_s390_vchlhs((__vector
unsigned short)
__b,
__a, &__cc);
5545 __builtin_s390_vchlhs(
__b, (__vector
unsigned short)
__a, &__cc);
5553 __builtin_s390_vchlhs((__vector
unsigned short)
__b,
5554 (__vector
unsigned short)
__a, &__cc);
5561 __builtin_s390_vchfs(
__b,
__a, &__cc);
5569 __builtin_s390_vchfs((__vector
signed int)
__b,
__a, &__cc);
5577 __builtin_s390_vchfs(
__b, (__vector
signed int)
__a, &__cc);
5584 __builtin_s390_vchlfs(
__b,
__a, &__cc);
5592 __builtin_s390_vchlfs((__vector
unsigned int)
__b,
__a, &__cc);
5600 __builtin_s390_vchlfs(
__b, (__vector
unsigned int)
__a, &__cc);
5608 __builtin_s390_vchlfs((__vector
unsigned int)
__b,
5609 (__vector
unsigned int)
__a, &__cc);
5616 __builtin_s390_vchgs(
__b,
__a, &__cc);
5624 __builtin_s390_vchgs((__vector
signed long long)
__b,
__a, &__cc);
5632 __builtin_s390_vchgs(
__b, (__vector
signed long long)
__a, &__cc);
5637 vec_any_lt(__vector
unsigned long long __a, __vector
unsigned long long __b) {
5639 __builtin_s390_vchlgs(
__b,
__a, &__cc);
5645 vec_any_lt(__vector
unsigned long long __a, __vector __bool
long long __b) {
5647 __builtin_s390_vchlgs((__vector
unsigned long long)
__b,
__a, &__cc);
5653 vec_any_lt(__vector __bool
long long __a, __vector
unsigned long long __b) {
5655 __builtin_s390_vchlgs(
__b, (__vector
unsigned long long)
__a, &__cc);
5663 __builtin_s390_vchlgs((__vector
unsigned long long)
__b,
5664 (__vector
unsigned long long)
__a, &__cc);
5672 __builtin_s390_vfchsbs(
__b,
__a, &__cc);
5680 __builtin_s390_vfchdbs(
__b,
__a, &__cc);
5690 __builtin_s390_vfchesbs(
__a,
__b, &__cc);
5698 __builtin_s390_vfchedbs(
__a,
__b, &__cc);
5708 __builtin_s390_vfchsbs(
__a,
__b, &__cc);
5716 __builtin_s390_vfchdbs(
__a,
__b, &__cc);
5726 __builtin_s390_vfchesbs(
__b,
__a, &__cc);
5734 __builtin_s390_vfchedbs(
__b,
__a, &__cc);
5744 __builtin_s390_vfchsbs(
__b,
__a, &__cc);
5752 __builtin_s390_vfchdbs(
__b,
__a, &__cc);
5762 __builtin_s390_vftcisb(
__a, 15, &__cc);
5770 __builtin_s390_vftcidb(
__a, 15, &__cc);
5780 __builtin_s390_vftcisb(
__a, 15, &__cc);
5788 __builtin_s390_vftcidb(
__a, 15, &__cc);
5817 vec_andc(__vector
unsigned char __a, __vector
unsigned char __b) {
5856 vec_andc(__vector
unsigned short __a, __vector
unsigned short __b) {
5862 vec_andc(__vector __bool
short __a, __vector
unsigned short __b) {
5868 vec_andc(__vector
unsigned short __a, __vector __bool
short __b) {
5912 vec_andc(__vector __bool
long long __a, __vector __bool
long long __b) {
5917 vec_andc(__vector
signed long long __a, __vector
signed long long __b) {
5923 vec_andc(__vector __bool
long long __a, __vector
signed long long __b) {
5929 vec_andc(__vector
signed long long __a, __vector __bool
long long __b) {
5934 vec_andc(__vector
unsigned long long __a, __vector
unsigned long long __b) {
5940 vec_andc(__vector __bool
long long __a, __vector
unsigned long long __b) {
5946 vec_andc(__vector
unsigned long long __a, __vector __bool
long long __b) {
5953 return (__vector
float)((__vector
unsigned int)
__a &
5954 ~(__vector
unsigned int)
__b);
5960 return (__vector
double)((__vector
unsigned long long)
__a &
5961 ~(__vector
unsigned long long)
__b);
5967 return (__vector
double)((__vector
unsigned long long)
__a &
5968 ~(__vector
unsigned long long)
__b);
5974 return (__vector
double)((__vector
unsigned long long)
__a &
5975 ~(__vector
unsigned long long)
__b);
5981 vec_nor(__vector __bool
char __a, __vector __bool
char __b) {
5986 vec_nor(__vector
signed char __a, __vector
signed char __b) {
5992 vec_nor(__vector __bool
char __a, __vector
signed char __b) {
5998 vec_nor(__vector
signed char __a, __vector __bool
char __b) {
6003 vec_nor(__vector
unsigned char __a, __vector
unsigned char __b) {
6009 vec_nor(__vector __bool
char __a, __vector
unsigned char __b) {
6015 vec_nor(__vector
unsigned char __a, __vector __bool
char __b) {
6020 vec_nor(__vector __bool
short __a, __vector __bool
short __b) {
6025 vec_nor(__vector
signed short __a, __vector
signed short __b) {
6031 vec_nor(__vector __bool
short __a, __vector
signed short __b) {
6037 vec_nor(__vector
signed short __a, __vector __bool
short __b) {
6042 vec_nor(__vector
unsigned short __a, __vector
unsigned short __b) {
6048 vec_nor(__vector __bool
short __a, __vector
unsigned short __b) {
6054 vec_nor(__vector
unsigned short __a, __vector __bool
short __b) {
6081 vec_nor(__vector
unsigned int __a, __vector
unsigned int __b) {
6087 vec_nor(__vector __bool
int __a, __vector
unsigned int __b) {
6093 vec_nor(__vector
unsigned int __a, __vector __bool
int __b) {
6098 vec_nor(__vector __bool
long long __a, __vector __bool
long long __b) {
6103 vec_nor(__vector
signed long long __a, __vector
signed long long __b) {
6109 vec_nor(__vector __bool
long long __a, __vector
signed long long __b) {
6115 vec_nor(__vector
signed long long __a, __vector __bool
long long __b) {
6120 vec_nor(__vector
unsigned long long __a, __vector
unsigned long long __b) {
6126 vec_nor(__vector __bool
long long __a, __vector
unsigned long long __b) {
6132 vec_nor(__vector
unsigned long long __a, __vector __bool
long long __b) {
6139 return (__vector
float)~((__vector
unsigned int)
__a |
6140 (__vector
unsigned int)
__b);
6146 return (__vector
double)~((__vector
unsigned long long)
__a |
6147 (__vector
unsigned long long)
__b);
6152 vec_nor(__vector __bool
long long __a, __vector
double __b) {
6153 return (__vector
double)~((__vector
unsigned long long)
__a |
6154 (__vector
unsigned long long)
__b);
6159 vec_nor(__vector
double __a, __vector __bool
long long __b) {
6160 return (__vector
double)~((__vector
unsigned long long)
__a |
6161 (__vector
unsigned long long)
__b);
6168 vec_orc(__vector __bool
char __a, __vector __bool
char __b) {
6173 vec_orc(__vector
signed char __a, __vector
signed char __b) {
6178 vec_orc(__vector
unsigned char __a, __vector
unsigned char __b) {
6183 vec_orc(__vector __bool
short __a, __vector __bool
short __b) {
6188 vec_orc(__vector
signed short __a, __vector
signed short __b) {
6193 vec_orc(__vector
unsigned short __a, __vector
unsigned short __b) {
6198 vec_orc(__vector __bool
int __a, __vector __bool
int __b) {
6203 vec_orc(__vector
signed int __a, __vector
signed int __b) {
6208 vec_orc(__vector
unsigned int __a, __vector
unsigned int __b) {
6213 vec_orc(__vector __bool
long long __a, __vector __bool
long long __b) {
6218 vec_orc(__vector
signed long long __a, __vector
signed long long __b) {
6223 vec_orc(__vector
unsigned long long __a, __vector
unsigned long long __b) {
6228 vec_orc(__vector
float __a, __vector
float __b) {
6229 return (__vector
float)((__vector
unsigned int)
__a |
6230 ~(__vector
unsigned int)
__b);
6234 vec_orc(__vector
double __a, __vector
double __b) {
6235 return (__vector
double)((__vector
unsigned long long)
__a |
6236 ~(__vector
unsigned long long)
__b);
6244 vec_nand(__vector __bool
char __a, __vector __bool
char __b) {
6249 vec_nand(__vector
signed char __a, __vector
signed char __b) {
6254 vec_nand(__vector
unsigned char __a, __vector
unsigned char __b) {
6259 vec_nand(__vector __bool
short __a, __vector __bool
short __b) {
6264 vec_nand(__vector
signed short __a, __vector
signed short __b) {
6269 vec_nand(__vector
unsigned short __a, __vector
unsigned short __b) {
6274 vec_nand(__vector __bool
int __a, __vector __bool
int __b) {
6279 vec_nand(__vector
signed int __a, __vector
signed int __b) {
6284 vec_nand(__vector
unsigned int __a, __vector
unsigned int __b) {
6289 vec_nand(__vector __bool
long long __a, __vector __bool
long long __b) {
6294 vec_nand(__vector
signed long long __a, __vector
signed long long __b) {
6299 vec_nand(__vector
unsigned long long __a, __vector
unsigned long long __b) {
6304 vec_nand(__vector
float __a, __vector
float __b) {
6305 return (__vector
float)~((__vector
unsigned int)
__a &
6306 (__vector
unsigned int)
__b);
6310 vec_nand(__vector
double __a, __vector
double __b) {
6311 return (__vector
double)~((__vector
unsigned long long)
__a &
6312 (__vector
unsigned long long)
__b);
6320 vec_eqv(__vector __bool
char __a, __vector __bool
char __b) {
6325 vec_eqv(__vector
signed char __a, __vector
signed char __b) {
6330 vec_eqv(__vector
unsigned char __a, __vector
unsigned char __b) {
6335 vec_eqv(__vector __bool
short __a, __vector __bool
short __b) {
6340 vec_eqv(__vector
signed short __a, __vector
signed short __b) {
6345 vec_eqv(__vector
unsigned short __a, __vector
unsigned short __b) {
6350 vec_eqv(__vector __bool
int __a, __vector __bool
int __b) {
6355 vec_eqv(__vector
signed int __a, __vector
signed int __b) {
6360 vec_eqv(__vector
unsigned int __a, __vector
unsigned int __b) {
6365 vec_eqv(__vector __bool
long long __a, __vector __bool
long long __b) {
6370 vec_eqv(__vector
signed long long __a, __vector
signed long long __b) {
6375 vec_eqv(__vector
unsigned long long __a, __vector
unsigned long long __b) {
6380 vec_eqv(__vector
float __a, __vector
float __b) {
6381 return (__vector
float)~((__vector
unsigned int)
__a ^
6382 (__vector
unsigned int)
__b);
6386 vec_eqv(__vector
double __a, __vector
double __b) {
6387 return (__vector
double)~((__vector
unsigned long long)
__a ^
6388 (__vector
unsigned long long)
__b);
6395 vec_cntlz(__vector
signed char __a) {
6396 return __builtin_s390_vclzb((__vector
unsigned char)
__a);
6400 vec_cntlz(__vector
unsigned char __a) {
6401 return __builtin_s390_vclzb(
__a);
6405 vec_cntlz(__vector
signed short __a) {
6406 return __builtin_s390_vclzh((__vector
unsigned short)
__a);
6410 vec_cntlz(__vector
unsigned short __a) {
6411 return __builtin_s390_vclzh(
__a);
6415 vec_cntlz(__vector
signed int __a) {
6416 return __builtin_s390_vclzf((__vector
unsigned int)
__a);
6420 vec_cntlz(__vector
unsigned int __a) {
6421 return __builtin_s390_vclzf(
__a);
6425 vec_cntlz(__vector
signed long long __a) {
6426 return __builtin_s390_vclzg((__vector
unsigned long long)
__a);
6430 vec_cntlz(__vector
unsigned long long __a) {
6431 return __builtin_s390_vclzg(
__a);
6437 vec_cnttz(__vector
signed char __a) {
6438 return __builtin_s390_vctzb((__vector
unsigned char)
__a);
6442 vec_cnttz(__vector
unsigned char __a) {
6443 return __builtin_s390_vctzb(
__a);
6447 vec_cnttz(__vector
signed short __a) {
6448 return __builtin_s390_vctzh((__vector
unsigned short)
__a);
6452 vec_cnttz(__vector
unsigned short __a) {
6453 return __builtin_s390_vctzh(
__a);
6457 vec_cnttz(__vector
signed int __a) {
6458 return __builtin_s390_vctzf((__vector
unsigned int)
__a);
6462 vec_cnttz(__vector
unsigned int __a) {
6463 return __builtin_s390_vctzf(
__a);
6467 vec_cnttz(__vector
signed long long __a) {
6468 return __builtin_s390_vctzg((__vector
unsigned long long)
__a);
6472 vec_cnttz(__vector
unsigned long long __a) {
6473 return __builtin_s390_vctzg(
__a);
6479 vec_popcnt(__vector
signed char __a) {
6480 return __builtin_s390_vpopctb((__vector
unsigned char)
__a);
6484 vec_popcnt(__vector
unsigned char __a) {
6485 return __builtin_s390_vpopctb(
__a);
6489 vec_popcnt(__vector
signed short __a) {
6490 return __builtin_s390_vpopcth((__vector
unsigned short)
__a);
6494 vec_popcnt(__vector
unsigned short __a) {
6495 return __builtin_s390_vpopcth(
__a);
6499 vec_popcnt(__vector
signed int __a) {
6500 return __builtin_s390_vpopctf((__vector
unsigned int)
__a);
6504 vec_popcnt(__vector
unsigned int __a) {
6505 return __builtin_s390_vpopctf(
__a);
6509 vec_popcnt(__vector
signed long long __a) {
6510 return __builtin_s390_vpopctg((__vector
unsigned long long)
__a);
6514 vec_popcnt(__vector
unsigned long long __a) {
6515 return __builtin_s390_vpopctg(
__a);
6521 vec_rl(__vector
signed char __a, __vector
unsigned char __b) {
6522 return (__vector
signed char)__builtin_s390_verllvb(
6523 (__vector
unsigned char)
__a,
__b);
6527 vec_rl(__vector
unsigned char __a, __vector
unsigned char __b) {
6528 return __builtin_s390_verllvb(
__a,
__b);
6532 vec_rl(__vector
signed short __a, __vector
unsigned short __b) {
6533 return (__vector
signed short)__builtin_s390_verllvh(
6534 (__vector
unsigned short)
__a,
__b);
6538 vec_rl(__vector
unsigned short __a, __vector
unsigned short __b) {
6539 return __builtin_s390_verllvh(
__a,
__b);
6543 vec_rl(__vector
signed int __a, __vector
unsigned int __b) {
6544 return (__vector
signed int)__builtin_s390_verllvf(
6545 (__vector
unsigned int)
__a,
__b);
6549 vec_rl(__vector
unsigned int __a, __vector
unsigned int __b) {
6550 return __builtin_s390_verllvf(
__a,
__b);
6554 vec_rl(__vector
signed long long __a, __vector
unsigned long long __b) {
6555 return (__vector
signed long long)__builtin_s390_verllvg(
6556 (__vector
unsigned long long)
__a,
__b);
6560 vec_rl(__vector
unsigned long long __a, __vector
unsigned long long __b) {
6561 return __builtin_s390_verllvg(
__a,
__b);
6567 vec_rli(__vector
signed char __a,
unsigned long __b) {
6568 return (__vector
signed char)__builtin_s390_verllb(
6569 (__vector
unsigned char)
__a, (
unsigned char)
__b);
6573 vec_rli(__vector
unsigned char __a,
unsigned long __b) {
6574 return __builtin_s390_verllb(
__a, (
unsigned char)
__b);
6578 vec_rli(__vector
signed short __a,
unsigned long __b) {
6579 return (__vector
signed short)__builtin_s390_verllh(
6580 (__vector
unsigned short)
__a, (
unsigned char)
__b);
6584 vec_rli(__vector
unsigned short __a,
unsigned long __b) {
6585 return __builtin_s390_verllh(
__a, (
unsigned char)
__b);
6589 vec_rli(__vector
signed int __a,
unsigned long __b) {
6590 return (__vector
signed int)__builtin_s390_verllf(
6591 (__vector
unsigned int)
__a, (
unsigned char)
__b);
6595 vec_rli(__vector
unsigned int __a,
unsigned long __b) {
6596 return __builtin_s390_verllf(
__a, (
unsigned char)
__b);
6600 vec_rli(__vector
signed long long __a,
unsigned long __b) {
6601 return (__vector
signed long long)__builtin_s390_verllg(
6602 (__vector
unsigned long long)
__a, (
unsigned char)
__b);
6606 vec_rli(__vector
unsigned long long __a,
unsigned long __b) {
6607 return __builtin_s390_verllg(
__a, (
unsigned char)
__b);
6612 extern __ATTRS_o __vector
signed char
6613 vec_rl_mask(__vector
signed char __a, __vector
unsigned char __b,
6614 unsigned char __c) __constant(
__c);
6616 extern __ATTRS_o __vector
unsigned char
6617 vec_rl_mask(__vector
unsigned char __a, __vector
unsigned char __b,
6618 unsigned char __c) __constant(
__c);
6620 extern __ATTRS_o __vector
signed short
6621 vec_rl_mask(__vector
signed short __a, __vector
unsigned short __b,
6622 unsigned char __c) __constant(
__c);
6624 extern __ATTRS_o __vector
unsigned short
6625 vec_rl_mask(__vector
unsigned short __a, __vector
unsigned short __b,
6626 unsigned char __c) __constant(
__c);
6628 extern __ATTRS_o __vector
signed int
6629 vec_rl_mask(__vector
signed int __a, __vector
unsigned int __b,
6630 unsigned char __c) __constant(
__c);
6632 extern __ATTRS_o __vector
unsigned int
6633 vec_rl_mask(__vector
unsigned int __a, __vector
unsigned int __b,
6634 unsigned char __c) __constant(
__c);
6636 extern __ATTRS_o __vector
signed long long
6637 vec_rl_mask(__vector
signed long long __a, __vector
unsigned long long __b,
6638 unsigned char __c) __constant(
__c);
6640 extern __ATTRS_o __vector
unsigned long long
6641 vec_rl_mask(__vector
unsigned long long __a, __vector
unsigned long long __b,
6642 unsigned char __c) __constant(
__c);
6644 #define vec_rl_mask(X, Y, Z) ((__typeof__((vec_rl_mask)((X), (Y), (Z)))) \
6646 __vector unsigned char __res; \
6647 __vector unsigned char __x = (__vector unsigned char)(X); \
6648 __vector unsigned char __y = (__vector unsigned char)(Y); \
6649 switch (sizeof ((X)[0])) { \
6650 case 1: __res = (__vector unsigned char) __builtin_s390_verimb( \
6651 (__vector unsigned char)__x, (__vector unsigned char)__x, \
6652 (__vector unsigned char)__y, (Z)); break; \
6653 case 2: __res = (__vector unsigned char) __builtin_s390_verimh( \
6654 (__vector unsigned short)__x, (__vector unsigned short)__x, \
6655 (__vector unsigned short)__y, (Z)); break; \
6656 case 4: __res = (__vector unsigned char) __builtin_s390_verimf( \
6657 (__vector unsigned int)__x, (__vector unsigned int)__x, \
6658 (__vector unsigned int)__y, (Z)); break; \
6659 default: __res = (__vector unsigned char) __builtin_s390_verimg( \
6660 (__vector unsigned long long)__x, (__vector unsigned long long)__x, \
6661 (__vector unsigned long long)__y, (Z)); break; \
6667 vec_sll(__vector
signed char __a, __vector
unsigned char __b) {
6668 return (__vector
signed char)__builtin_s390_vsl(
6669 (__vector
unsigned char)
__a,
__b);
6674 vec_sll(__vector
signed char __a, __vector
unsigned short __b) {
6675 return (__vector
signed char)__builtin_s390_vsl(
6676 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6681 vec_sll(__vector
signed char __a, __vector
unsigned int __b) {
6682 return (__vector
signed char)__builtin_s390_vsl(
6683 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6688 vec_sll(__vector __bool
char __a, __vector
unsigned char __b) {
6689 return (__vector __bool
char)__builtin_s390_vsl(
6690 (__vector
unsigned char)
__a,
__b);
6695 vec_sll(__vector __bool
char __a, __vector
unsigned short __b) {
6696 return (__vector __bool
char)__builtin_s390_vsl(
6697 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6702 vec_sll(__vector __bool
char __a, __vector
unsigned int __b) {
6703 return (__vector __bool
char)__builtin_s390_vsl(
6704 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6708 vec_sll(__vector
unsigned char __a, __vector
unsigned char __b) {
6709 return __builtin_s390_vsl(
__a,
__b);
6714 vec_sll(__vector
unsigned char __a, __vector
unsigned short __b) {
6715 return __builtin_s390_vsl(
__a, (__vector
unsigned char)
__b);
6720 vec_sll(__vector
unsigned char __a, __vector
unsigned int __b) {
6721 return __builtin_s390_vsl(
__a, (__vector
unsigned char)
__b);
6725 vec_sll(__vector
signed short __a, __vector
unsigned char __b) {
6726 return (__vector
signed short)__builtin_s390_vsl(
6727 (__vector
unsigned char)
__a,
__b);
6732 vec_sll(__vector
signed short __a, __vector
unsigned short __b) {
6733 return (__vector
signed short)__builtin_s390_vsl(
6734 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6739 vec_sll(__vector
signed short __a, __vector
unsigned int __b) {
6740 return (__vector
signed short)__builtin_s390_vsl(
6741 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6746 vec_sll(__vector __bool
short __a, __vector
unsigned char __b) {
6747 return (__vector __bool
short)__builtin_s390_vsl(
6748 (__vector
unsigned char)
__a,
__b);
6753 vec_sll(__vector __bool
short __a, __vector
unsigned short __b) {
6754 return (__vector __bool
short)__builtin_s390_vsl(
6755 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6760 vec_sll(__vector __bool
short __a, __vector
unsigned int __b) {
6761 return (__vector __bool
short)__builtin_s390_vsl(
6762 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6766 vec_sll(__vector
unsigned short __a, __vector
unsigned char __b) {
6767 return (__vector
unsigned short)__builtin_s390_vsl(
6768 (__vector
unsigned char)
__a,
__b);
6773 vec_sll(__vector
unsigned short __a, __vector
unsigned short __b) {
6774 return (__vector
unsigned short)__builtin_s390_vsl(
6775 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6780 vec_sll(__vector
unsigned short __a, __vector
unsigned int __b) {
6781 return (__vector
unsigned short)__builtin_s390_vsl(
6782 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6786 vec_sll(__vector
signed int __a, __vector
unsigned char __b) {
6787 return (__vector
signed int)__builtin_s390_vsl(
6788 (__vector
unsigned char)
__a,
__b);
6793 vec_sll(__vector
signed int __a, __vector
unsigned short __b) {
6794 return (__vector
signed int)__builtin_s390_vsl(
6795 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6800 vec_sll(__vector
signed int __a, __vector
unsigned int __b) {
6801 return (__vector
signed int)__builtin_s390_vsl(
6802 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6807 vec_sll(__vector __bool
int __a, __vector
unsigned char __b) {
6808 return (__vector __bool
int)__builtin_s390_vsl(
6809 (__vector
unsigned char)
__a,
__b);
6814 vec_sll(__vector __bool
int __a, __vector
unsigned short __b) {
6815 return (__vector __bool
int)__builtin_s390_vsl(
6816 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6821 vec_sll(__vector __bool
int __a, __vector
unsigned int __b) {
6822 return (__vector __bool
int)__builtin_s390_vsl(
6823 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6827 vec_sll(__vector
unsigned int __a, __vector
unsigned char __b) {
6828 return (__vector
unsigned int)__builtin_s390_vsl(
6829 (__vector
unsigned char)
__a,
__b);
6834 vec_sll(__vector
unsigned int __a, __vector
unsigned short __b) {
6835 return (__vector
unsigned int)__builtin_s390_vsl(
6836 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6841 vec_sll(__vector
unsigned int __a, __vector
unsigned int __b) {
6842 return (__vector
unsigned int)__builtin_s390_vsl(
6843 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6847 vec_sll(__vector
signed long long __a, __vector
unsigned char __b) {
6848 return (__vector
signed long long)__builtin_s390_vsl(
6849 (__vector
unsigned char)
__a,
__b);
6854 vec_sll(__vector
signed long long __a, __vector
unsigned short __b) {
6855 return (__vector
signed long long)__builtin_s390_vsl(
6856 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6861 vec_sll(__vector
signed long long __a, __vector
unsigned int __b) {
6862 return (__vector
signed long long)__builtin_s390_vsl(
6863 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6868 vec_sll(__vector __bool
long long __a, __vector
unsigned char __b) {
6869 return (__vector __bool
long long)__builtin_s390_vsl(
6870 (__vector
unsigned char)
__a,
__b);
6875 vec_sll(__vector __bool
long long __a, __vector
unsigned short __b) {
6876 return (__vector __bool
long long)__builtin_s390_vsl(
6877 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6882 vec_sll(__vector __bool
long long __a, __vector
unsigned int __b) {
6883 return (__vector __bool
long long)__builtin_s390_vsl(
6884 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6888 vec_sll(__vector
unsigned long long __a, __vector
unsigned char __b) {
6889 return (__vector
unsigned long long)__builtin_s390_vsl(
6890 (__vector
unsigned char)
__a,
__b);
6895 vec_sll(__vector
unsigned long long __a, __vector
unsigned short __b) {
6896 return (__vector
unsigned long long)__builtin_s390_vsl(
6897 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6902 vec_sll(__vector
unsigned long long __a, __vector
unsigned int __b) {
6903 return (__vector
unsigned long long)__builtin_s390_vsl(
6904 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6910 vec_slb(__vector
signed char __a, __vector
signed char __b) {
6911 return (__vector
signed char)__builtin_s390_vslb(
6912 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6916 vec_slb(__vector
signed char __a, __vector
unsigned char __b) {
6917 return (__vector
signed char)__builtin_s390_vslb(
6918 (__vector
unsigned char)
__a,
__b);
6922 vec_slb(__vector
unsigned char __a, __vector
signed char __b) {
6923 return __builtin_s390_vslb(
__a, (__vector
unsigned char)
__b);
6927 vec_slb(__vector
unsigned char __a, __vector
unsigned char __b) {
6928 return __builtin_s390_vslb(
__a,
__b);
6932 vec_slb(__vector
signed short __a, __vector
signed short __b) {
6933 return (__vector
signed short)__builtin_s390_vslb(
6934 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6938 vec_slb(__vector
signed short __a, __vector
unsigned short __b) {
6939 return (__vector
signed short)__builtin_s390_vslb(
6940 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6944 vec_slb(__vector
unsigned short __a, __vector
signed short __b) {
6945 return (__vector
unsigned short)__builtin_s390_vslb(
6946 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6950 vec_slb(__vector
unsigned short __a, __vector
unsigned short __b) {
6951 return (__vector
unsigned short)__builtin_s390_vslb(
6952 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6956 vec_slb(__vector
signed int __a, __vector
signed int __b) {
6957 return (__vector
signed int)__builtin_s390_vslb(
6958 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6962 vec_slb(__vector
signed int __a, __vector
unsigned int __b) {
6963 return (__vector
signed int)__builtin_s390_vslb(
6964 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6968 vec_slb(__vector
unsigned int __a, __vector
signed int __b) {
6969 return (__vector
unsigned int)__builtin_s390_vslb(
6970 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6974 vec_slb(__vector
unsigned int __a, __vector
unsigned int __b) {
6975 return (__vector
unsigned int)__builtin_s390_vslb(
6976 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6980 vec_slb(__vector
signed long long __a, __vector
signed long long __b) {
6981 return (__vector
signed long long)__builtin_s390_vslb(
6982 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6986 vec_slb(__vector
signed long long __a, __vector
unsigned long long __b) {
6987 return (__vector
signed long long)__builtin_s390_vslb(
6988 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6992 vec_slb(__vector
unsigned long long __a, __vector
signed long long __b) {
6993 return (__vector
unsigned long long)__builtin_s390_vslb(
6994 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
6998 vec_slb(__vector
unsigned long long __a, __vector
unsigned long long __b) {
6999 return (__vector
unsigned long long)__builtin_s390_vslb(
7000 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7005 vec_slb(__vector
float __a, __vector
signed int __b) {
7006 return (__vector
float)__builtin_s390_vslb(
7007 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7011 vec_slb(__vector
float __a, __vector
unsigned int __b) {
7012 return (__vector
float)__builtin_s390_vslb(
7013 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7018 vec_slb(__vector
double __a, __vector
signed long long __b) {
7019 return (__vector
double)__builtin_s390_vslb(
7020 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7024 vec_slb(__vector
double __a, __vector
unsigned long long __b) {
7025 return (__vector
double)__builtin_s390_vslb(
7026 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7031 extern __ATTRS_o __vector
signed char
7033 __constant_range(
__c, 0, 15);
7035 extern __ATTRS_o __vector __bool
char
7037 __constant_range(
__c, 0, 15);
7039 extern __ATTRS_o __vector
unsigned char
7041 __constant_range(
__c, 0, 15);
7043 extern __ATTRS_o __vector
signed short
7045 __constant_range(
__c, 0, 15);
7047 extern __ATTRS_o __vector __bool
short
7049 __constant_range(
__c, 0, 15);
7051 extern __ATTRS_o __vector
unsigned short
7053 __constant_range(
__c, 0, 15);
7055 extern __ATTRS_o __vector
signed int
7057 __constant_range(
__c, 0, 15);
7059 extern __ATTRS_o __vector __bool
int
7061 __constant_range(
__c, 0, 15);
7063 extern __ATTRS_o __vector
unsigned int
7065 __constant_range(
__c, 0, 15);
7067 extern __ATTRS_o __vector
signed long long
7068 vec_sld(__vector
signed long long __a, __vector
signed long long __b,
int __c)
7069 __constant_range(
__c, 0, 15);
7071 extern __ATTRS_o __vector __bool
long long
7072 vec_sld(__vector __bool
long long __a, __vector __bool
long long __b,
int __c)
7073 __constant_range(
__c, 0, 15);
7075 extern __ATTRS_o __vector
unsigned long long
7076 vec_sld(__vector
unsigned long long __a, __vector
unsigned long long __b,
7078 __constant_range(
__c, 0, 15);
7081 extern __ATTRS_o __vector
float
7083 __constant_range(
__c, 0, 15);
7086 extern __ATTRS_o __vector
double
7088 __constant_range(
__c, 0, 15);
7090 #define vec_sld(X, Y, Z) ((__typeof__((vec_sld)((X), (Y), (Z)))) \
7091 __builtin_s390_vsldb((__vector unsigned char)(X), \
7092 (__vector unsigned char)(Y), (Z)))
7096 extern __ATTRS_o __vector
signed char
7098 __constant_range(
__c, 0, 3);
7100 extern __ATTRS_o __vector
unsigned char
7102 __constant_range(
__c, 0, 3);
7104 extern __ATTRS_o __vector
signed short
7106 __constant_range(
__c, 0, 3);
7108 extern __ATTRS_o __vector
unsigned short
7110 __constant_range(
__c, 0, 3);
7112 extern __ATTRS_o __vector
signed int
7114 __constant_range(
__c, 0, 3);
7116 extern __ATTRS_o __vector
unsigned int
7118 __constant_range(
__c, 0, 3);
7120 extern __ATTRS_o __vector
signed long long
7122 __constant_range(
__c, 0, 3);
7124 extern __ATTRS_o __vector
unsigned long long
7125 vec_sldw(__vector
unsigned long long __a, __vector
unsigned long long __b,
7127 __constant_range(
__c, 0, 3);
7130 extern __ATTRS_o __vector
double
7132 __constant_range(
__c, 0, 3);
7134 #define vec_sldw(X, Y, Z) ((__typeof__((vec_sldw)((X), (Y), (Z)))) \
7135 __builtin_s390_vsldb((__vector unsigned char)(X), \
7136 (__vector unsigned char)(Y), (Z) * 4))
7142 extern __ATTRS_o __vector
signed char
7143 vec_sldb(__vector
signed char __a, __vector
signed char __b,
int __c)
7144 __constant_range(
__c, 0, 7);
7146 extern __ATTRS_o __vector
unsigned char
7147 vec_sldb(__vector
unsigned char __a, __vector
unsigned char __b,
int __c)
7148 __constant_range(
__c, 0, 7);
7150 extern __ATTRS_o __vector
signed short
7151 vec_sldb(__vector
signed short __a, __vector
signed short __b,
int __c)
7152 __constant_range(
__c, 0, 7);
7154 extern __ATTRS_o __vector
unsigned short
7155 vec_sldb(__vector
unsigned short __a, __vector
unsigned short __b,
int __c)
7156 __constant_range(
__c, 0, 7);
7158 extern __ATTRS_o __vector
signed int
7159 vec_sldb(__vector
signed int __a, __vector
signed int __b,
int __c)
7160 __constant_range(
__c, 0, 7);
7162 extern __ATTRS_o __vector
unsigned int
7163 vec_sldb(__vector
unsigned int __a, __vector
unsigned int __b,
int __c)
7164 __constant_range(
__c, 0, 7);
7166 extern __ATTRS_o __vector
signed long long
7167 vec_sldb(__vector
signed long long __a, __vector
signed long long __b,
int __c)
7168 __constant_range(
__c, 0, 7);
7170 extern __ATTRS_o __vector
unsigned long long
7171 vec_sldb(__vector
unsigned long long __a, __vector
unsigned long long __b,
7173 __constant_range(
__c, 0, 7);
7175 extern __ATTRS_o __vector
float
7176 vec_sldb(__vector
float __a, __vector
float __b,
int __c)
7177 __constant_range(
__c, 0, 7);
7179 extern __ATTRS_o __vector
double
7180 vec_sldb(__vector
double __a, __vector
double __b,
int __c)
7181 __constant_range(
__c, 0, 7);
7183 #define vec_sldb(X, Y, Z) ((__typeof__((vec_sldb)((X), (Y), (Z)))) \
7184 __builtin_s390_vsld((__vector unsigned char)(X), \
7185 (__vector unsigned char)(Y), (Z)))
7192 vec_sral(__vector
signed char __a, __vector
unsigned char __b) {
7193 return (__vector
signed char)__builtin_s390_vsra(
7194 (__vector
unsigned char)
__a,
__b);
7199 vec_sral(__vector
signed char __a, __vector
unsigned short __b) {
7200 return (__vector
signed char)__builtin_s390_vsra(
7201 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7206 vec_sral(__vector
signed char __a, __vector
unsigned int __b) {
7207 return (__vector
signed char)__builtin_s390_vsra(
7208 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7213 vec_sral(__vector __bool
char __a, __vector
unsigned char __b) {
7214 return (__vector __bool
char)__builtin_s390_vsra(
7215 (__vector
unsigned char)
__a,
__b);
7220 vec_sral(__vector __bool
char __a, __vector
unsigned short __b) {
7221 return (__vector __bool
char)__builtin_s390_vsra(
7222 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7227 vec_sral(__vector __bool
char __a, __vector
unsigned int __b) {
7228 return (__vector __bool
char)__builtin_s390_vsra(
7229 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7233 vec_sral(__vector
unsigned char __a, __vector
unsigned char __b) {
7234 return __builtin_s390_vsra(
__a,
__b);
7239 vec_sral(__vector
unsigned char __a, __vector
unsigned short __b) {
7240 return __builtin_s390_vsra(
__a, (__vector
unsigned char)
__b);
7245 vec_sral(__vector
unsigned char __a, __vector
unsigned int __b) {
7246 return __builtin_s390_vsra(
__a, (__vector
unsigned char)
__b);
7250 vec_sral(__vector
signed short __a, __vector
unsigned char __b) {
7251 return (__vector
signed short)__builtin_s390_vsra(
7252 (__vector
unsigned char)
__a,
__b);
7257 vec_sral(__vector
signed short __a, __vector
unsigned short __b) {
7258 return (__vector
signed short)__builtin_s390_vsra(
7259 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7264 vec_sral(__vector
signed short __a, __vector
unsigned int __b) {
7265 return (__vector
signed short)__builtin_s390_vsra(
7266 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7271 vec_sral(__vector __bool
short __a, __vector
unsigned char __b) {
7272 return (__vector __bool
short)__builtin_s390_vsra(
7273 (__vector
unsigned char)
__a,
__b);
7278 vec_sral(__vector __bool
short __a, __vector
unsigned short __b) {
7279 return (__vector __bool
short)__builtin_s390_vsra(
7280 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7285 vec_sral(__vector __bool
short __a, __vector
unsigned int __b) {
7286 return (__vector __bool
short)__builtin_s390_vsra(
7287 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7291 vec_sral(__vector
unsigned short __a, __vector
unsigned char __b) {
7292 return (__vector
unsigned short)__builtin_s390_vsra(
7293 (__vector
unsigned char)
__a,
__b);
7298 vec_sral(__vector
unsigned short __a, __vector
unsigned short __b) {
7299 return (__vector
unsigned short)__builtin_s390_vsra(
7300 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7305 vec_sral(__vector
unsigned short __a, __vector
unsigned int __b) {
7306 return (__vector
unsigned short)__builtin_s390_vsra(
7307 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7311 vec_sral(__vector
signed int __a, __vector
unsigned char __b) {
7312 return (__vector
signed int)__builtin_s390_vsra(
7313 (__vector
unsigned char)
__a,
__b);
7318 vec_sral(__vector
signed int __a, __vector
unsigned short __b) {
7319 return (__vector
signed int)__builtin_s390_vsra(
7320 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7325 vec_sral(__vector
signed int __a, __vector
unsigned int __b) {
7326 return (__vector
signed int)__builtin_s390_vsra(
7327 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7332 vec_sral(__vector __bool
int __a, __vector
unsigned char __b) {
7333 return (__vector __bool
int)__builtin_s390_vsra(
7334 (__vector
unsigned char)
__a,
__b);
7339 vec_sral(__vector __bool
int __a, __vector
unsigned short __b) {
7340 return (__vector __bool
int)__builtin_s390_vsra(
7341 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7346 vec_sral(__vector __bool
int __a, __vector
unsigned int __b) {
7347 return (__vector __bool
int)__builtin_s390_vsra(
7348 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7352 vec_sral(__vector
unsigned int __a, __vector
unsigned char __b) {
7353 return (__vector
unsigned int)__builtin_s390_vsra(
7354 (__vector
unsigned char)
__a,
__b);
7359 vec_sral(__vector
unsigned int __a, __vector
unsigned short __b) {
7360 return (__vector
unsigned int)__builtin_s390_vsra(
7361 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7366 vec_sral(__vector
unsigned int __a, __vector
unsigned int __b) {
7367 return (__vector
unsigned int)__builtin_s390_vsra(
7368 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7372 vec_sral(__vector
signed long long __a, __vector
unsigned char __b) {
7373 return (__vector
signed long long)__builtin_s390_vsra(
7374 (__vector
unsigned char)
__a,
__b);
7379 vec_sral(__vector
signed long long __a, __vector
unsigned short __b) {
7380 return (__vector
signed long long)__builtin_s390_vsra(
7381 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7386 vec_sral(__vector
signed long long __a, __vector
unsigned int __b) {
7387 return (__vector
signed long long)__builtin_s390_vsra(
7388 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7393 vec_sral(__vector __bool
long long __a, __vector
unsigned char __b) {
7394 return (__vector __bool
long long)__builtin_s390_vsra(
7395 (__vector
unsigned char)
__a,
__b);
7400 vec_sral(__vector __bool
long long __a, __vector
unsigned short __b) {
7401 return (__vector __bool
long long)__builtin_s390_vsra(
7402 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7407 vec_sral(__vector __bool
long long __a, __vector
unsigned int __b) {
7408 return (__vector __bool
long long)__builtin_s390_vsra(
7409 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7413 vec_sral(__vector
unsigned long long __a, __vector
unsigned char __b) {
7414 return (__vector
unsigned long long)__builtin_s390_vsra(
7415 (__vector
unsigned char)
__a,
__b);
7420 vec_sral(__vector
unsigned long long __a, __vector
unsigned short __b) {
7421 return (__vector
unsigned long long)__builtin_s390_vsra(
7422 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7427 vec_sral(__vector
unsigned long long __a, __vector
unsigned int __b) {
7428 return (__vector
unsigned long long)__builtin_s390_vsra(
7429 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7435 vec_srab(__vector
signed char __a, __vector
signed char __b) {
7436 return (__vector
signed char)__builtin_s390_vsrab(
7437 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7441 vec_srab(__vector
signed char __a, __vector
unsigned char __b) {
7442 return (__vector
signed char)__builtin_s390_vsrab(
7443 (__vector
unsigned char)
__a,
__b);
7447 vec_srab(__vector
unsigned char __a, __vector
signed char __b) {
7448 return __builtin_s390_vsrab(
__a, (__vector
unsigned char)
__b);
7452 vec_srab(__vector
unsigned char __a, __vector
unsigned char __b) {
7453 return __builtin_s390_vsrab(
__a,
__b);
7457 vec_srab(__vector
signed short __a, __vector
signed short __b) {
7458 return (__vector
signed short)__builtin_s390_vsrab(
7459 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7463 vec_srab(__vector
signed short __a, __vector
unsigned short __b) {
7464 return (__vector
signed short)__builtin_s390_vsrab(
7465 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7469 vec_srab(__vector
unsigned short __a, __vector
signed short __b) {
7470 return (__vector
unsigned short)__builtin_s390_vsrab(
7471 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7475 vec_srab(__vector
unsigned short __a, __vector
unsigned short __b) {
7476 return (__vector
unsigned short)__builtin_s390_vsrab(
7477 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7481 vec_srab(__vector
signed int __a, __vector
signed int __b) {
7482 return (__vector
signed int)__builtin_s390_vsrab(
7483 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7487 vec_srab(__vector
signed int __a, __vector
unsigned int __b) {
7488 return (__vector
signed int)__builtin_s390_vsrab(
7489 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7493 vec_srab(__vector
unsigned int __a, __vector
signed int __b) {
7494 return (__vector
unsigned int)__builtin_s390_vsrab(
7495 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7499 vec_srab(__vector
unsigned int __a, __vector
unsigned int __b) {
7500 return (__vector
unsigned int)__builtin_s390_vsrab(
7501 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7505 vec_srab(__vector
signed long long __a, __vector
signed long long __b) {
7506 return (__vector
signed long long)__builtin_s390_vsrab(
7507 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7511 vec_srab(__vector
signed long long __a, __vector
unsigned long long __b) {
7512 return (__vector
signed long long)__builtin_s390_vsrab(
7513 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7517 vec_srab(__vector
unsigned long long __a, __vector
signed long long __b) {
7518 return (__vector
unsigned long long)__builtin_s390_vsrab(
7519 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7523 vec_srab(__vector
unsigned long long __a, __vector
unsigned long long __b) {
7524 return (__vector
unsigned long long)__builtin_s390_vsrab(
7525 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7530 vec_srab(__vector
float __a, __vector
signed int __b) {
7531 return (__vector
float)__builtin_s390_vsrab(
7532 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7536 vec_srab(__vector
float __a, __vector
unsigned int __b) {
7537 return (__vector
float)__builtin_s390_vsrab(
7538 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7543 vec_srab(__vector
double __a, __vector
signed long long __b) {
7544 return (__vector
double)__builtin_s390_vsrab(
7545 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7549 vec_srab(__vector
double __a, __vector
unsigned long long __b) {
7550 return (__vector
double)__builtin_s390_vsrab(
7551 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7557 vec_srl(__vector
signed char __a, __vector
unsigned char __b) {
7558 return (__vector
signed char)__builtin_s390_vsrl(
7559 (__vector
unsigned char)
__a,
__b);
7564 vec_srl(__vector
signed char __a, __vector
unsigned short __b) {
7565 return (__vector
signed char)__builtin_s390_vsrl(
7566 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7571 vec_srl(__vector
signed char __a, __vector
unsigned int __b) {
7572 return (__vector
signed char)__builtin_s390_vsrl(
7573 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7578 vec_srl(__vector __bool
char __a, __vector
unsigned char __b) {
7579 return (__vector __bool
char)__builtin_s390_vsrl(
7580 (__vector
unsigned char)
__a,
__b);
7585 vec_srl(__vector __bool
char __a, __vector
unsigned short __b) {
7586 return (__vector __bool
char)__builtin_s390_vsrl(
7587 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7592 vec_srl(__vector __bool
char __a, __vector
unsigned int __b) {
7593 return (__vector __bool
char)__builtin_s390_vsrl(
7594 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7598 vec_srl(__vector
unsigned char __a, __vector
unsigned char __b) {
7599 return __builtin_s390_vsrl(
__a,
__b);
7604 vec_srl(__vector
unsigned char __a, __vector
unsigned short __b) {
7605 return __builtin_s390_vsrl(
__a, (__vector
unsigned char)
__b);
7610 vec_srl(__vector
unsigned char __a, __vector
unsigned int __b) {
7611 return __builtin_s390_vsrl(
__a, (__vector
unsigned char)
__b);
7615 vec_srl(__vector
signed short __a, __vector
unsigned char __b) {
7616 return (__vector
signed short)__builtin_s390_vsrl(
7617 (__vector
unsigned char)
__a,
__b);
7622 vec_srl(__vector
signed short __a, __vector
unsigned short __b) {
7623 return (__vector
signed short)__builtin_s390_vsrl(
7624 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7629 vec_srl(__vector
signed short __a, __vector
unsigned int __b) {
7630 return (__vector
signed short)__builtin_s390_vsrl(
7631 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7636 vec_srl(__vector __bool
short __a, __vector
unsigned char __b) {
7637 return (__vector __bool
short)__builtin_s390_vsrl(
7638 (__vector
unsigned char)
__a,
__b);
7643 vec_srl(__vector __bool
short __a, __vector
unsigned short __b) {
7644 return (__vector __bool
short)__builtin_s390_vsrl(
7645 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7650 vec_srl(__vector __bool
short __a, __vector
unsigned int __b) {
7651 return (__vector __bool
short)__builtin_s390_vsrl(
7652 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7656 vec_srl(__vector
unsigned short __a, __vector
unsigned char __b) {
7657 return (__vector
unsigned short)__builtin_s390_vsrl(
7658 (__vector
unsigned char)
__a,
__b);
7663 vec_srl(__vector
unsigned short __a, __vector
unsigned short __b) {
7664 return (__vector
unsigned short)__builtin_s390_vsrl(
7665 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7670 vec_srl(__vector
unsigned short __a, __vector
unsigned int __b) {
7671 return (__vector
unsigned short)__builtin_s390_vsrl(
7672 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7676 vec_srl(__vector
signed int __a, __vector
unsigned char __b) {
7677 return (__vector
signed int)__builtin_s390_vsrl(
7678 (__vector
unsigned char)
__a,
__b);
7683 vec_srl(__vector
signed int __a, __vector
unsigned short __b) {
7684 return (__vector
signed int)__builtin_s390_vsrl(
7685 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7690 vec_srl(__vector
signed int __a, __vector
unsigned int __b) {
7691 return (__vector
signed int)__builtin_s390_vsrl(
7692 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7697 vec_srl(__vector __bool
int __a, __vector
unsigned char __b) {
7698 return (__vector __bool
int)__builtin_s390_vsrl(
7699 (__vector
unsigned char)
__a,
__b);
7704 vec_srl(__vector __bool
int __a, __vector
unsigned short __b) {
7705 return (__vector __bool
int)__builtin_s390_vsrl(
7706 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7711 vec_srl(__vector __bool
int __a, __vector
unsigned int __b) {
7712 return (__vector __bool
int)__builtin_s390_vsrl(
7713 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7717 vec_srl(__vector
unsigned int __a, __vector
unsigned char __b) {
7718 return (__vector
unsigned int)__builtin_s390_vsrl(
7719 (__vector
unsigned char)
__a,
__b);
7724 vec_srl(__vector
unsigned int __a, __vector
unsigned short __b) {
7725 return (__vector
unsigned int)__builtin_s390_vsrl(
7726 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7731 vec_srl(__vector
unsigned int __a, __vector
unsigned int __b) {
7732 return (__vector
unsigned int)__builtin_s390_vsrl(
7733 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7737 vec_srl(__vector
signed long long __a, __vector
unsigned char __b) {
7738 return (__vector
signed long long)__builtin_s390_vsrl(
7739 (__vector
unsigned char)
__a,
__b);
7744 vec_srl(__vector
signed long long __a, __vector
unsigned short __b) {
7745 return (__vector
signed long long)__builtin_s390_vsrl(
7746 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7751 vec_srl(__vector
signed long long __a, __vector
unsigned int __b) {
7752 return (__vector
signed long long)__builtin_s390_vsrl(
7753 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7758 vec_srl(__vector __bool
long long __a, __vector
unsigned char __b) {
7759 return (__vector __bool
long long)__builtin_s390_vsrl(
7760 (__vector
unsigned char)
__a,
__b);
7765 vec_srl(__vector __bool
long long __a, __vector
unsigned short __b) {
7766 return (__vector __bool
long long)__builtin_s390_vsrl(
7767 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7772 vec_srl(__vector __bool
long long __a, __vector
unsigned int __b) {
7773 return (__vector __bool
long long)__builtin_s390_vsrl(
7774 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7778 vec_srl(__vector
unsigned long long __a, __vector
unsigned char __b) {
7779 return (__vector
unsigned long long)__builtin_s390_vsrl(
7780 (__vector
unsigned char)
__a,
__b);
7785 vec_srl(__vector
unsigned long long __a, __vector
unsigned short __b) {
7786 return (__vector
unsigned long long)__builtin_s390_vsrl(
7787 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7792 vec_srl(__vector
unsigned long long __a, __vector
unsigned int __b) {
7793 return (__vector
unsigned long long)__builtin_s390_vsrl(
7794 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7800 vec_srb(__vector
signed char __a, __vector
signed char __b) {
7801 return (__vector
signed char)__builtin_s390_vsrlb(
7802 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7806 vec_srb(__vector
signed char __a, __vector
unsigned char __b) {
7807 return (__vector
signed char)__builtin_s390_vsrlb(
7808 (__vector
unsigned char)
__a,
__b);
7812 vec_srb(__vector
unsigned char __a, __vector
signed char __b) {
7813 return __builtin_s390_vsrlb(
__a, (__vector
unsigned char)
__b);
7817 vec_srb(__vector
unsigned char __a, __vector
unsigned char __b) {
7818 return __builtin_s390_vsrlb(
__a,
__b);
7822 vec_srb(__vector
signed short __a, __vector
signed short __b) {
7823 return (__vector
signed short)__builtin_s390_vsrlb(
7824 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7828 vec_srb(__vector
signed short __a, __vector
unsigned short __b) {
7829 return (__vector
signed short)__builtin_s390_vsrlb(
7830 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7834 vec_srb(__vector
unsigned short __a, __vector
signed short __b) {
7835 return (__vector
unsigned short)__builtin_s390_vsrlb(
7836 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7840 vec_srb(__vector
unsigned short __a, __vector
unsigned short __b) {
7841 return (__vector
unsigned short)__builtin_s390_vsrlb(
7842 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7846 vec_srb(__vector
signed int __a, __vector
signed int __b) {
7847 return (__vector
signed int)__builtin_s390_vsrlb(
7848 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7852 vec_srb(__vector
signed int __a, __vector
unsigned int __b) {
7853 return (__vector
signed int)__builtin_s390_vsrlb(
7854 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7858 vec_srb(__vector
unsigned int __a, __vector
signed int __b) {
7859 return (__vector
unsigned int)__builtin_s390_vsrlb(
7860 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7864 vec_srb(__vector
unsigned int __a, __vector
unsigned int __b) {
7865 return (__vector
unsigned int)__builtin_s390_vsrlb(
7866 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7870 vec_srb(__vector
signed long long __a, __vector
signed long long __b) {
7871 return (__vector
signed long long)__builtin_s390_vsrlb(
7872 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7876 vec_srb(__vector
signed long long __a, __vector
unsigned long long __b) {
7877 return (__vector
signed long long)__builtin_s390_vsrlb(
7878 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7882 vec_srb(__vector
unsigned long long __a, __vector
signed long long __b) {
7883 return (__vector
unsigned long long)__builtin_s390_vsrlb(
7884 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7888 vec_srb(__vector
unsigned long long __a, __vector
unsigned long long __b) {
7889 return (__vector
unsigned long long)__builtin_s390_vsrlb(
7890 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7895 vec_srb(__vector
float __a, __vector
signed int __b) {
7896 return (__vector
float)__builtin_s390_vsrlb(
7897 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7901 vec_srb(__vector
float __a, __vector
unsigned int __b) {
7902 return (__vector
float)__builtin_s390_vsrlb(
7903 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7908 vec_srb(__vector
double __a, __vector
signed long long __b) {
7909 return (__vector
double)__builtin_s390_vsrlb(
7910 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7914 vec_srb(__vector
double __a, __vector
unsigned long long __b) {
7915 return (__vector
double)__builtin_s390_vsrlb(
7916 (__vector
unsigned char)
__a, (__vector
unsigned char)
__b);
7923 extern __ATTRS_o __vector
signed char
7924 vec_srdb(__vector
signed char __a, __vector
signed char __b,
int __c)
7925 __constant_range(
__c, 0, 7);
7927 extern __ATTRS_o __vector
unsigned char
7928 vec_srdb(__vector
unsigned char __a, __vector
unsigned char __b,
int __c)
7929 __constant_range(
__c, 0, 7);
7931 extern __ATTRS_o __vector
signed short
7932 vec_srdb(__vector
signed short __a, __vector
signed short __b,
int __c)
7933 __constant_range(
__c, 0, 7);
7935 extern __ATTRS_o __vector
unsigned short
7936 vec_srdb(__vector
unsigned short __a, __vector
unsigned short __b,
int __c)
7937 __constant_range(
__c, 0, 7);
7939 extern __ATTRS_o __vector
signed int
7940 vec_srdb(__vector
signed int __a, __vector
signed int __b,
int __c)
7941 __constant_range(
__c, 0, 7);
7943 extern __ATTRS_o __vector
unsigned int
7944 vec_srdb(__vector
unsigned int __a, __vector
unsigned int __b,
int __c)
7945 __constant_range(
__c, 0, 7);
7947 extern __ATTRS_o __vector
signed long long
7948 vec_srdb(__vector
signed long long __a, __vector
signed long long __b,
int __c)
7949 __constant_range(
__c, 0, 7);
7951 extern __ATTRS_o __vector
unsigned long long
7952 vec_srdb(__vector
unsigned long long __a, __vector
unsigned long long __b,
7954 __constant_range(
__c, 0, 7);
7956 extern __ATTRS_o __vector
float
7957 vec_srdb(__vector
float __a, __vector
float __b,
int __c)
7958 __constant_range(
__c, 0, 7);
7960 extern __ATTRS_o __vector
double
7961 vec_srdb(__vector
double __a, __vector
double __b,
int __c)
7962 __constant_range(
__c, 0, 7);
7964 #define vec_srdb(X, Y, Z) ((__typeof__((vec_srdb)((X), (Y), (Z)))) \
7965 __builtin_s390_vsrd((__vector unsigned char)(X), \
7966 (__vector unsigned char)(Y), (Z)))
7995 return __builtin_s390_vflpsb(
__a);
8001 return __builtin_s390_vflpdb(
__a);
8009 return __builtin_s390_vflnsb(
__a);
8015 return __builtin_s390_vflndb(
__a);
8021 vec_max(__vector
signed char __a, __vector
signed char __b) {
8027 vec_max(__vector
signed char __a, __vector __bool
char __b) {
8028 __vector
signed char __bc = (__vector
signed char)
__b;
8034 vec_max(__vector __bool
char __a, __vector
signed char __b) {
8035 __vector
signed char __ac = (__vector
signed char)
__a;
8040 vec_max(__vector
unsigned char __a, __vector
unsigned char __b) {
8046 vec_max(__vector
unsigned char __a, __vector __bool
char __b) {
8047 __vector
unsigned char __bc = (__vector
unsigned char)
__b;
8053 vec_max(__vector __bool
char __a, __vector
unsigned char __b) {
8054 __vector
unsigned char __ac = (__vector
unsigned char)
__a;
8059 vec_max(__vector
signed short __a, __vector
signed short __b) {
8065 vec_max(__vector
signed short __a, __vector __bool
short __b) {
8066 __vector
signed short __bc = (__vector
signed short)
__b;
8072 vec_max(__vector __bool
short __a, __vector
signed short __b) {
8073 __vector
signed short __ac = (__vector
signed short)
__a;
8078 vec_max(__vector
unsigned short __a, __vector
unsigned short __b) {
8084 vec_max(__vector
unsigned short __a, __vector __bool
short __b) {
8085 __vector
unsigned short __bc = (__vector
unsigned short)
__b;
8091 vec_max(__vector __bool
short __a, __vector
unsigned short __b) {
8092 __vector
unsigned short __ac = (__vector
unsigned short)
__a;
8104 __vector
signed int __bc = (__vector
signed int)
__b;
8111 __vector
signed int __ac = (__vector
signed int)
__a;
8116 vec_max(__vector
unsigned int __a, __vector
unsigned int __b) {
8122 vec_max(__vector
unsigned int __a, __vector __bool
int __b) {
8123 __vector
unsigned int __bc = (__vector
unsigned int)
__b;
8129 vec_max(__vector __bool
int __a, __vector
unsigned int __b) {
8130 __vector
unsigned int __ac = (__vector
unsigned int)
__a;
8135 vec_max(__vector
signed long long __a, __vector
signed long long __b) {
8141 vec_max(__vector
signed long long __a, __vector __bool
long long __b) {
8142 __vector
signed long long __bc = (__vector
signed long long)
__b;
8148 vec_max(__vector __bool
long long __a, __vector
signed long long __b) {
8149 __vector
signed long long __ac = (__vector
signed long long)
__a;
8154 vec_max(__vector
unsigned long long __a, __vector
unsigned long long __b) {
8160 vec_max(__vector
unsigned long long __a, __vector __bool
long long __b) {
8161 __vector
unsigned long long __bc = (__vector
unsigned long long)
__b;
8167 vec_max(__vector __bool
long long __a, __vector
unsigned long long __b) {
8168 __vector
unsigned long long __ac = (__vector
unsigned long long)
__a;
8175 return __builtin_s390_vfmaxsb(
__a,
__b, 0);
8182 return __builtin_s390_vfmaxdb(
__a,
__b, 0);
8191 vec_min(__vector
signed char __a, __vector
signed char __b) {
8197 vec_min(__vector
signed char __a, __vector __bool
char __b) {
8198 __vector
signed char __bc = (__vector
signed char)
__b;
8204 vec_min(__vector __bool
char __a, __vector
signed char __b) {
8205 __vector
signed char __ac = (__vector
signed char)
__a;
8210 vec_min(__vector
unsigned char __a, __vector
unsigned char __b) {
8216 vec_min(__vector
unsigned char __a, __vector __bool
char __b) {
8217 __vector
unsigned char __bc = (__vector
unsigned char)
__b;
8223 vec_min(__vector __bool
char __a, __vector
unsigned char __b) {
8224 __vector
unsigned char __ac = (__vector
unsigned char)
__a;
8229 vec_min(__vector
signed short __a, __vector
signed short __b) {
8235 vec_min(__vector
signed short __a, __vector __bool
short __b) {
8236 __vector
signed short __bc = (__vector
signed short)
__b;
8242 vec_min(__vector __bool
short __a, __vector
signed short __b) {
8243 __vector
signed short __ac = (__vector
signed short)
__a;
8248 vec_min(__vector
unsigned short __a, __vector
unsigned short __b) {
8254 vec_min(__vector
unsigned short __a, __vector __bool
short __b) {
8255 __vector
unsigned short __bc = (__vector
unsigned short)
__b;
8261 vec_min(__vector __bool
short __a, __vector
unsigned short __b) {
8262 __vector
unsigned short __ac = (__vector
unsigned short)
__a;
8274 __vector
signed int __bc = (__vector
signed int)
__b;
8281 __vector
signed int __ac = (__vector
signed int)
__a;
8286 vec_min(__vector
unsigned int __a, __vector
unsigned int __b) {
8292 vec_min(__vector
unsigned int __a, __vector __bool
int __b) {
8293 __vector
unsigned int __bc = (__vector
unsigned int)
__b;
8299 vec_min(__vector __bool
int __a, __vector
unsigned int __b) {
8300 __vector
unsigned int __ac = (__vector
unsigned int)
__a;
8305 vec_min(__vector
signed long long __a, __vector
signed long long __b) {
8311 vec_min(__vector
signed long long __a, __vector __bool
long long __b) {
8312 __vector
signed long long __bc = (__vector
signed long long)
__b;
8318 vec_min(__vector __bool
long long __a, __vector
signed long long __b) {
8319 __vector
signed long long __ac = (__vector
signed long long)
__a;
8324 vec_min(__vector
unsigned long long __a, __vector
unsigned long long __b) {
8330 vec_min(__vector
unsigned long long __a, __vector __bool
long long __b) {
8331 __vector
unsigned long long __bc = (__vector
unsigned long long)
__b;
8337 vec_min(__vector __bool
long long __a, __vector
unsigned long long __b) {
8338 __vector
unsigned long long __ac = (__vector
unsigned long long)
__a;
8345 return __builtin_s390_vfminsb(
__a,
__b, 0);
8352 return __builtin_s390_vfmindb(
__a,
__b, 0);
8360 static inline __ATTRS_ai __vector
unsigned char
8361 vec_add_u128(__vector
unsigned char __a, __vector
unsigned char __b) {
8362 return (__vector
unsigned char)((__int128)
__a + (__int128)
__b);
8368 vec_addc(__vector
unsigned char __a, __vector
unsigned char __b) {
8369 return __builtin_s390_vaccb(
__a,
__b);
8373 vec_addc(__vector
unsigned short __a, __vector
unsigned short __b) {
8374 return __builtin_s390_vacch(
__a,
__b);
8379 return __builtin_s390_vaccf(
__a,
__b);
8383 vec_addc(__vector
unsigned long long __a, __vector
unsigned long long __b) {
8384 return __builtin_s390_vaccg(
__a,
__b);
8389 static inline __ATTRS_ai __vector
unsigned char
8390 vec_addc_u128(__vector
unsigned char __a, __vector
unsigned char __b) {
8391 return (__vector
unsigned char)
8392 __builtin_s390_vaccq((
unsigned __int128)
__a, (
unsigned __int128)
__b);
8397 static inline __ATTRS_ai __vector
unsigned char
8398 vec_adde_u128(__vector
unsigned char __a, __vector
unsigned char __b,
8399 __vector
unsigned char __c) {
8400 return (__vector
unsigned char)
8401 __builtin_s390_vacq((
unsigned __int128)
__a, (
unsigned __int128)
__b,
8402 (
unsigned __int128)
__c);
8407 static inline __ATTRS_ai __vector
unsigned char
8408 vec_addec_u128(__vector
unsigned char __a, __vector
unsigned char __b,
8409 __vector
unsigned char __c) {
8410 return (__vector
unsigned char)
8411 __builtin_s390_vacccq((
unsigned __int128)
__a, (
unsigned __int128)
__b,
8412 (
unsigned __int128)
__c);
8418 vec_avg(__vector
signed char __a, __vector
signed char __b) {
8419 return __builtin_s390_vavgb(
__a,
__b);
8423 vec_avg(__vector
signed short __a, __vector
signed short __b) {
8424 return __builtin_s390_vavgh(
__a,
__b);
8429 return __builtin_s390_vavgf(
__a,
__b);
8433 vec_avg(__vector
signed long long __a, __vector
signed long long __b) {
8434 return __builtin_s390_vavgg(
__a,
__b);
8438 vec_avg(__vector
unsigned char __a, __vector
unsigned char __b) {
8439 return __builtin_s390_vavglb(
__a,
__b);
8443 vec_avg(__vector
unsigned short __a, __vector
unsigned short __b) {
8444 return __builtin_s390_vavglh(
__a,
__b);
8448 vec_avg(__vector
unsigned int __a, __vector
unsigned int __b) {
8449 return __builtin_s390_vavglf(
__a,
__b);
8453 vec_avg(__vector
unsigned long long __a, __vector
unsigned long long __b) {
8454 return __builtin_s390_vavglg(
__a,
__b);
8459 static inline __ATTRS_ai __vector
unsigned int
8460 vec_checksum(__vector
unsigned int __a, __vector
unsigned int __b) {
8461 return __builtin_s390_vcksm(
__a,
__b);
8467 vec_gfmsum(__vector
unsigned char __a, __vector
unsigned char __b) {
8468 return __builtin_s390_vgfmb(
__a,
__b);
8472 vec_gfmsum(__vector
unsigned short __a, __vector
unsigned short __b) {
8473 return __builtin_s390_vgfmh(
__a,
__b);
8477 vec_gfmsum(__vector
unsigned int __a, __vector
unsigned int __b) {
8478 return __builtin_s390_vgfmf(
__a,
__b);
8484 vec_gfmsum_128(__vector
unsigned long long __a,
8485 __vector
unsigned long long __b) {
8486 return (__vector
unsigned char)__builtin_s390_vgfmg(
__a,
__b);
8492 vec_gfmsum_accum(__vector
unsigned char __a, __vector
unsigned char __b,
8493 __vector
unsigned short __c) {
8494 return __builtin_s390_vgfmab(
__a,
__b,
__c);
8498 vec_gfmsum_accum(__vector
unsigned short __a, __vector
unsigned short __b,
8499 __vector
unsigned int __c) {
8500 return __builtin_s390_vgfmah(
__a,
__b,
__c);
8504 vec_gfmsum_accum(__vector
unsigned int __a, __vector
unsigned int __b,
8505 __vector
unsigned long long __c) {
8506 return __builtin_s390_vgfmaf(
__a,
__b,
__c);
8512 vec_gfmsum_accum_128(__vector
unsigned long long __a,
8513 __vector
unsigned long long __b,
8514 __vector
unsigned char __c) {
8515 return (__vector
unsigned char)
8516 __builtin_s390_vgfmag(
__a,
__b, (
unsigned __int128)
__c);
8523 __vector
signed char __c) {
8529 __vector
signed char __c) {
8530 return (__vector
signed char)
__a *
__b +
__c;
8535 __vector
unsigned char __c) {
8536 return __a * (__vector
signed char)
__b + (__vector
signed char)
__c;
8541 __vector
unsigned char __c) {
8547 __vector
signed short __c) {
8553 __vector
signed short __c) {
8554 return (__vector
signed short)
__a *
__b +
__c;
8559 __vector
unsigned short __c) {
8560 return __a * (__vector
signed short)
__b + (__vector
signed short)
__c;
8565 __vector
unsigned short __c) {
8571 __vector
signed int __c) {
8577 __vector
signed int __c) {
8578 return (__vector
signed int)
__a *
__b +
__c;
8583 __vector
unsigned int __c) {
8584 return __a * (__vector
signed int)
__b + (__vector
signed int)
__c;
8589 __vector
unsigned int __c) {
8596 vec_mhadd(__vector
signed char __a, __vector
signed char __b,
8597 __vector
signed char __c) {
8598 return __builtin_s390_vmahb(
__a,
__b,
__c);
8602 vec_mhadd(__vector
unsigned char __a, __vector
unsigned char __b,
8603 __vector
unsigned char __c) {
8604 return __builtin_s390_vmalhb(
__a,
__b,
__c);
8608 vec_mhadd(__vector
signed short __a, __vector
signed short __b,
8609 __vector
signed short __c) {
8610 return __builtin_s390_vmahh(
__a,
__b,
__c);
8614 vec_mhadd(__vector
unsigned short __a, __vector
unsigned short __b,
8615 __vector
unsigned short __c) {
8616 return __builtin_s390_vmalhh(
__a,
__b,
__c);
8620 vec_mhadd(__vector
signed int __a, __vector
signed int __b,
8621 __vector
signed int __c) {
8622 return __builtin_s390_vmahf(
__a,
__b,
__c);
8626 vec_mhadd(__vector
unsigned int __a, __vector
unsigned int __b,
8627 __vector
unsigned int __c) {
8628 return __builtin_s390_vmalhf(
__a,
__b,
__c);
8634 vec_meadd(__vector
signed char __a, __vector
signed char __b,
8635 __vector
signed short __c) {
8636 return __builtin_s390_vmaeb(
__a,
__b,
__c);
8640 vec_meadd(__vector
unsigned char __a, __vector
unsigned char __b,
8641 __vector
unsigned short __c) {
8642 return __builtin_s390_vmaleb(
__a,
__b,
__c);
8646 vec_meadd(__vector
signed short __a, __vector
signed short __b,
8647 __vector
signed int __c) {
8648 return __builtin_s390_vmaeh(
__a,
__b,
__c);
8652 vec_meadd(__vector
unsigned short __a, __vector
unsigned short __b,
8653 __vector
unsigned int __c) {
8654 return __builtin_s390_vmaleh(
__a,
__b,
__c);
8658 vec_meadd(__vector
signed int __a, __vector
signed int __b,
8659 __vector
signed long long __c) {
8660 return __builtin_s390_vmaef(
__a,
__b,
__c);
8664 vec_meadd(__vector
unsigned int __a, __vector
unsigned int __b,
8665 __vector
unsigned long long __c) {
8666 return __builtin_s390_vmalef(
__a,
__b,
__c);
8672 vec_moadd(__vector
signed char __a, __vector
signed char __b,
8673 __vector
signed short __c) {
8674 return __builtin_s390_vmaob(
__a,
__b,
__c);
8678 vec_moadd(__vector
unsigned char __a, __vector
unsigned char __b,
8679 __vector
unsigned short __c) {
8680 return __builtin_s390_vmalob(
__a,
__b,
__c);
8684 vec_moadd(__vector
signed short __a, __vector
signed short __b,
8685 __vector
signed int __c) {
8686 return __builtin_s390_vmaoh(
__a,
__b,
__c);
8690 vec_moadd(__vector
unsigned short __a, __vector
unsigned short __b,
8691 __vector
unsigned int __c) {
8692 return __builtin_s390_vmaloh(
__a,
__b,
__c);
8696 vec_moadd(__vector
signed int __a, __vector
signed int __b,
8697 __vector
signed long long __c) {
8698 return __builtin_s390_vmaof(
__a,
__b,
__c);
8702 vec_moadd(__vector
unsigned int __a, __vector
unsigned int __b,
8703 __vector
unsigned long long __c) {
8704 return __builtin_s390_vmalof(
__a,
__b,
__c);
8710 vec_mulh(__vector
signed char __a, __vector
signed char __b) {
8711 return __builtin_s390_vmhb(
__a,
__b);
8715 vec_mulh(__vector
unsigned char __a, __vector
unsigned char __b) {
8716 return __builtin_s390_vmlhb(
__a,
__b);
8720 vec_mulh(__vector
signed short __a, __vector
signed short __b) {
8721 return __builtin_s390_vmhh(
__a,
__b);
8725 vec_mulh(__vector
unsigned short __a, __vector
unsigned short __b) {
8726 return __builtin_s390_vmlhh(
__a,
__b);
8730 vec_mulh(__vector
signed int __a, __vector
signed int __b) {
8731 return __builtin_s390_vmhf(
__a,
__b);
8735 vec_mulh(__vector
unsigned int __a, __vector
unsigned int __b) {
8736 return __builtin_s390_vmlhf(
__a,
__b);
8743 return __builtin_s390_vmeb(
__a,
__b);
8747 vec_mule(__vector
unsigned char __a, __vector
unsigned char __b) {
8748 return __builtin_s390_vmleb(
__a,
__b);
8753 return __builtin_s390_vmeh(
__a,
__b);
8757 vec_mule(__vector
unsigned short __a, __vector
unsigned short __b) {
8758 return __builtin_s390_vmleh(
__a,
__b);
8763 return __builtin_s390_vmef(
__a,
__b);
8768 return __builtin_s390_vmlef(
__a,
__b);
8775 return __builtin_s390_vmob(
__a,
__b);
8779 vec_mulo(__vector
unsigned char __a, __vector
unsigned char __b) {
8780 return __builtin_s390_vmlob(
__a,
__b);
8785 return __builtin_s390_vmoh(
__a,
__b);
8789 vec_mulo(__vector
unsigned short __a, __vector
unsigned short __b) {
8790 return __builtin_s390_vmloh(
__a,
__b);
8795 return __builtin_s390_vmof(
__a,
__b);
8800 return __builtin_s390_vmlof(
__a,
__b);
8806 extern __ATTRS_o __vector
unsigned char
8807 vec_msum_u128(__vector
unsigned long long __a, __vector
unsigned long long __b,
8808 __vector
unsigned char __c,
int __d)
8809 __constant_range(__d, 0, 15);
8811 #define vec_msum_u128(X, Y, Z, W) \
8812 ((__typeof__((vec_msum_u128)((X), (Y), (Z), (W)))) \
8813 __builtin_s390_vmslg((X), (Y), (unsigned __int128)(Z), (W)))
8818 static inline __ATTRS_ai __vector
unsigned char
8819 vec_sub_u128(__vector
unsigned char __a, __vector
unsigned char __b) {
8820 return (__vector
unsigned char)((__int128)
__a - (__int128)
__b);
8826 vec_subc(__vector
unsigned char __a, __vector
unsigned char __b) {
8827 return __builtin_s390_vscbib(
__a,
__b);
8831 vec_subc(__vector
unsigned short __a, __vector
unsigned short __b) {
8832 return __builtin_s390_vscbih(
__a,
__b);
8837 return __builtin_s390_vscbif(
__a,
__b);
8841 vec_subc(__vector
unsigned long long __a, __vector
unsigned long long __b) {
8842 return __builtin_s390_vscbig(
__a,
__b);
8847 static inline __ATTRS_ai __vector
unsigned char
8848 vec_subc_u128(__vector
unsigned char __a, __vector
unsigned char __b) {
8849 return (__vector
unsigned char)
8850 __builtin_s390_vscbiq((
unsigned __int128)
__a, (
unsigned __int128)
__b);
8855 static inline __ATTRS_ai __vector
unsigned char
8856 vec_sube_u128(__vector
unsigned char __a, __vector
unsigned char __b,
8857 __vector
unsigned char __c) {
8858 return (__vector
unsigned char)
8859 __builtin_s390_vsbiq((
unsigned __int128)
__a, (
unsigned __int128)
__b,
8860 (
unsigned __int128)
__c);
8865 static inline __ATTRS_ai __vector
unsigned char
8866 vec_subec_u128(__vector
unsigned char __a, __vector
unsigned char __b,
8867 __vector
unsigned char __c) {
8868 return (__vector
unsigned char)
8869 __builtin_s390_vsbcbiq((
unsigned __int128)
__a, (
unsigned __int128)
__b,
8870 (
unsigned __int128)
__c);
8876 vec_sum2(__vector
unsigned short __a, __vector
unsigned short __b) {
8877 return __builtin_s390_vsumgh(
__a,
__b);
8881 vec_sum2(__vector
unsigned int __a, __vector
unsigned int __b) {
8882 return __builtin_s390_vsumgf(
__a,
__b);
8888 vec_sum_u128(__vector
unsigned int __a, __vector
unsigned int __b) {
8889 return (__vector
unsigned char)__builtin_s390_vsumqf(
__a,
__b);
8893 vec_sum_u128(__vector
unsigned long long __a, __vector
unsigned long long __b) {
8894 return (__vector
unsigned char)__builtin_s390_vsumqg(
__a,
__b);
8900 vec_sum4(__vector
unsigned char __a, __vector
unsigned char __b) {
8901 return __builtin_s390_vsumb(
__a,
__b);
8905 vec_sum4(__vector
unsigned short __a, __vector
unsigned short __b) {
8906 return __builtin_s390_vsumh(
__a,
__b);
8912 vec_test_mask(__vector
signed char __a, __vector
unsigned char __b) {
8913 return __builtin_s390_vtm((__vector
unsigned char)
__a,
8914 (__vector
unsigned char)
__b);
8918 vec_test_mask(__vector
unsigned char __a, __vector
unsigned char __b) {
8919 return __builtin_s390_vtm(
__a,
__b);
8923 vec_test_mask(__vector
signed short __a, __vector
unsigned short __b) {
8924 return __builtin_s390_vtm((__vector
unsigned char)
__a,
8925 (__vector
unsigned char)
__b);
8929 vec_test_mask(__vector
unsigned short __a, __vector
unsigned short __b) {
8930 return __builtin_s390_vtm((__vector
unsigned char)
__a,
8931 (__vector
unsigned char)
__b);
8935 vec_test_mask(__vector
signed int __a, __vector
unsigned int __b) {
8936 return __builtin_s390_vtm((__vector
unsigned char)
__a,
8937 (__vector
unsigned char)
__b);
8941 vec_test_mask(__vector
unsigned int __a, __vector
unsigned int __b) {
8942 return __builtin_s390_vtm((__vector
unsigned char)
__a,
8943 (__vector
unsigned char)
__b);
8947 vec_test_mask(__vector
signed long long __a, __vector
unsigned long long __b) {
8948 return __builtin_s390_vtm((__vector
unsigned char)
__a,
8949 (__vector
unsigned char)
__b);
8953 vec_test_mask(__vector
unsigned long long __a,
8954 __vector
unsigned long long __b) {
8955 return __builtin_s390_vtm((__vector
unsigned char)
__a,
8956 (__vector
unsigned char)
__b);
8961 vec_test_mask(__vector
float __a, __vector
unsigned int __b) {
8962 return __builtin_s390_vtm((__vector
unsigned char)
__a,
8963 (__vector
unsigned char)
__b);
8968 vec_test_mask(__vector
double __a, __vector
unsigned long long __b) {
8969 return __builtin_s390_vtm((__vector
unsigned char)
__a,
8970 (__vector
unsigned char)
__b);
8978 return __builtin_s390_vfmasb(
__a,
__b,
__c);
8984 return __builtin_s390_vfmadb(
__a,
__b,
__c);
8991 vec_msub(__vector
float __a, __vector
float __b, __vector
float __c) {
8992 return __builtin_s390_vfmssb(
__a,
__b,
__c);
8997 vec_msub(__vector
double __a, __vector
double __b, __vector
double __c) {
8998 return __builtin_s390_vfmsdb(
__a,
__b,
__c);
9005 vec_nmadd(__vector
float __a, __vector
float __b, __vector
float __c) {
9006 return __builtin_s390_vfnmasb(
__a,
__b,
__c);
9010 vec_nmadd(__vector
double __a, __vector
double __b, __vector
double __c) {
9011 return __builtin_s390_vfnmadb(
__a,
__b,
__c);
9020 return __builtin_s390_vfnmssb(
__a,
__b,
__c);
9025 return __builtin_s390_vfnmsdb(
__a,
__b,
__c);
9033 vec_sqrt(__vector
float __a) {
9034 return __builtin_s390_vfsqsb(
__a);
9039 vec_sqrt(__vector
double __a) {
9040 return __builtin_s390_vfsqdb(
__a);
9046 static inline __ATTRS_ai __vector
double
9047 vec_ld2f(
const float *__ptr) {
9049 return __builtin_convertvector(*(
const __v2f32 *)__ptr, __vector
double);
9055 static inline __ATTRS_ai
void
9056 vec_st2f(__vector
double __a,
float *__ptr) {
9058 *(__v2f32 *)__ptr = __builtin_convertvector(
__a, __v2f32);
9065 vec_ctd(__vector
signed long long __a,
int __b)
9066 __constant_range(
__b, 0, 31) {
9067 __vector
double __conv = __builtin_convertvector(
__a, __vector
double);
9068 __conv *= ((__vector
double)(__vector
unsigned long long)
9069 ((0x3ffULL -
__b) << 52));
9075 vec_ctd(__vector
unsigned long long __a,
int __b)
9076 __constant_range(
__b, 0, 31) {
9077 __vector
double __conv = __builtin_convertvector(
__a, __vector
double);
9078 __conv *= ((__vector
double)(__vector
unsigned long long)
9079 ((0x3ffULL -
__b) << 52));
9087 vec_ctsl(__vector
double __a,
int __b)
9088 __constant_range(
__b, 0, 31) {
9089 __a *= ((__vector
double)(__vector
unsigned long long)
9090 ((0x3ffULL +
__b) << 52));
9091 return __builtin_convertvector(
__a, __vector
signed long long);
9098 vec_ctul(__vector
double __a,
int __b)
9099 __constant_range(
__b, 0, 31) {
9100 __a *= ((__vector
double)(__vector
unsigned long long)
9101 ((0x3ffULL +
__b) << 52));
9102 return __builtin_convertvector(
__a, __vector
unsigned long long);
9108 static inline __ATTRS_ai __vector
double
9109 vec_doublee(__vector
float __a) {
9111 __v2f32 __pack = __builtin_shufflevector(
__a,
__a, 0, 2);
9112 return __builtin_convertvector(__pack, __vector
double);
9119 static inline __ATTRS_ai __vector
float
9120 vec_floate(__vector
double __a) {
9122 __v2f32 __pack = __builtin_convertvector(
__a, __v2f32);
9123 return __builtin_shufflevector(__pack, __pack, 0, -1, 1, -1);
9130 vec_double(__vector
signed long long __a) {
9131 return __builtin_convertvector(
__a, __vector
double);
9135 vec_double(__vector
unsigned long long __a) {
9136 return __builtin_convertvector(
__a, __vector
double);
9145 return __builtin_convertvector(
__a, __vector
float);
9150 return __builtin_convertvector(
__a, __vector
float);
9159 return __builtin_convertvector(
__a, __vector
signed long long);
9165 return __builtin_convertvector(
__a, __vector
signed int);
9173 return __builtin_convertvector(
__a, __vector
unsigned long long);
9179 return __builtin_convertvector(
__a, __vector
unsigned int);
9188 return __builtin_s390_vfisb(
__a, 4, 6);
9194 return __builtin_s390_vfidb(
__a, 4, 6);
9203 return __builtin_s390_vfisb(
__a, 4, 6);
9210 return __builtin_s390_vfidb(
__a, 4, 6);
9218 return __builtin_s390_vfisb(
__a, 4, 7);
9224 return __builtin_s390_vfidb(
__a, 4, 7);
9233 return __builtin_s390_vfisb(
__a, 4, 7);
9240 return __builtin_s390_vfidb(
__a, 4, 7);
9248 return __builtin_s390_vfisb(
__a, 4, 5);
9254 return __builtin_s390_vfidb(
__a, 4, 5);
9263 return __builtin_s390_vfisb(
__a, 4, 5);
9270 return __builtin_s390_vfidb(
__a, 4, 5);
9277 vec_roundc(__vector
float __a) {
9278 return __builtin_s390_vfisb(
__a, 4, 0);
9283 vec_roundc(__vector
double __a) {
9284 return __builtin_s390_vfidb(
__a, 4, 0);
9291 vec_rint(__vector
float __a) {
9293 return __builtin_s390_vfisb(
__a, 0, 0);
9298 vec_rint(__vector
double __a) {
9300 return __builtin_s390_vfidb(
__a, 0, 0);
9308 return __builtin_s390_vfisb(
__a, 4, 4);
9314 return __builtin_s390_vfidb(
__a, 4, 4);
9320 extern __ATTRS_o __vector __bool
int
9321 vec_fp_test_data_class(__vector
float __a,
int __b,
int *
__c)
9322 __constant_range(
__b, 0, 4095);
9324 extern __ATTRS_o __vector __bool
long long
9325 vec_fp_test_data_class(__vector
double __a,
int __b,
int *
__c)
9326 __constant_range(
__b, 0, 4095);
9328 #define vec_fp_test_data_class(X, Y, Z) \
9329 ((__typeof__((vec_fp_test_data_class)((X), (Y), (Z)))) \
9331 __vector unsigned char __res; \
9332 __vector unsigned char __x = (__vector unsigned char)(X); \
9334 switch (sizeof ((X)[0])) { \
9335 case 4: __res = (__vector unsigned char) \
9336 __builtin_s390_vftcisb((__vector float)__x, (Y), __z); \
9338 default: __res = (__vector unsigned char) \
9339 __builtin_s390_vftcidb((__vector double)__x, (Y), __z); \
9343 #define vec_fp_test_data_class(X, Y, Z) \
9344 ((__vector __bool long long)__builtin_s390_vftcidb((X), (Y), (Z)))
9347 #define __VEC_CLASS_FP_ZERO_P (1 << 11)
9348 #define __VEC_CLASS_FP_ZERO_N (1 << 10)
9349 #define __VEC_CLASS_FP_ZERO (__VEC_CLASS_FP_ZERO_P | __VEC_CLASS_FP_ZERO_N)
9350 #define __VEC_CLASS_FP_NORMAL_P (1 << 9)
9351 #define __VEC_CLASS_FP_NORMAL_N (1 << 8)
9352 #define __VEC_CLASS_FP_NORMAL (__VEC_CLASS_FP_NORMAL_P | \
9353 __VEC_CLASS_FP_NORMAL_N)
9354 #define __VEC_CLASS_FP_SUBNORMAL_P (1 << 7)
9355 #define __VEC_CLASS_FP_SUBNORMAL_N (1 << 6)
9356 #define __VEC_CLASS_FP_SUBNORMAL (__VEC_CLASS_FP_SUBNORMAL_P | \
9357 __VEC_CLASS_FP_SUBNORMAL_N)
9358 #define __VEC_CLASS_FP_INFINITY_P (1 << 5)
9359 #define __VEC_CLASS_FP_INFINITY_N (1 << 4)
9360 #define __VEC_CLASS_FP_INFINITY (__VEC_CLASS_FP_INFINITY_P | \
9361 __VEC_CLASS_FP_INFINITY_N)
9362 #define __VEC_CLASS_FP_QNAN_P (1 << 3)
9363 #define __VEC_CLASS_FP_QNAN_N (1 << 2)
9364 #define __VEC_CLASS_FP_QNAN (__VEC_CLASS_FP_QNAN_P | __VEC_CLASS_FP_QNAN_N)
9365 #define __VEC_CLASS_FP_SNAN_P (1 << 1)
9366 #define __VEC_CLASS_FP_SNAN_N (1 << 0)
9367 #define __VEC_CLASS_FP_SNAN (__VEC_CLASS_FP_SNAN_P | __VEC_CLASS_FP_SNAN_N)
9368 #define __VEC_CLASS_FP_NAN (__VEC_CLASS_FP_QNAN | __VEC_CLASS_FP_SNAN)
9369 #define __VEC_CLASS_FP_NOT_NORMAL (__VEC_CLASS_FP_NAN | \
9370 __VEC_CLASS_FP_SUBNORMAL | \
9371 __VEC_CLASS_FP_ZERO | \
9372 __VEC_CLASS_FP_INFINITY)
9377 #define vec_extend_to_fp32_hi(X, W) \
9378 ((__vector float)__builtin_s390_vclfnhs((X), (W)));
9384 #define vec_extend_to_fp32_lo(X, W) \
9385 ((__vector float)__builtin_s390_vclfnls((X), (W)));
9391 #define vec_round_from_fp32(X, Y, W) \
9392 ((__vector unsigned short)__builtin_s390_vcrnfs((X), (Y), (W)));
9398 #define vec_convert_to_fp16(X, W) \
9399 ((__vector unsigned short)__builtin_s390_vcfn((X), (W)));
9405 #define vec_convert_from_fp16(X, W) \
9406 ((__vector unsigned short)__builtin_s390_vcnf((X), (W)));
9412 vec_cp_until_zero(__vector
signed char __a) {
9413 return ((__vector
signed char)
9414 __builtin_s390_vistrb((__vector
unsigned char)
__a));
9418 vec_cp_until_zero(__vector __bool
char __a) {
9419 return ((__vector __bool
char)
9420 __builtin_s390_vistrb((__vector
unsigned char)
__a));
9424 vec_cp_until_zero(__vector
unsigned char __a) {
9425 return __builtin_s390_vistrb(
__a);
9429 vec_cp_until_zero(__vector
signed short __a) {
9430 return ((__vector
signed short)
9431 __builtin_s390_vistrh((__vector
unsigned short)
__a));
9435 vec_cp_until_zero(__vector __bool
short __a) {
9436 return ((__vector __bool
short)
9437 __builtin_s390_vistrh((__vector
unsigned short)
__a));
9441 vec_cp_until_zero(__vector
unsigned short __a) {
9442 return __builtin_s390_vistrh(
__a);
9446 vec_cp_until_zero(__vector
signed int __a) {
9447 return ((__vector
signed int)
9448 __builtin_s390_vistrf((__vector
unsigned int)
__a));
9452 vec_cp_until_zero(__vector __bool
int __a) {
9453 return ((__vector __bool
int)
9454 __builtin_s390_vistrf((__vector
unsigned int)
__a));
9458 vec_cp_until_zero(__vector
unsigned int __a) {
9459 return __builtin_s390_vistrf(
__a);
9465 vec_cp_until_zero_cc(__vector
signed char __a,
int *__cc) {
9466 return (__vector
signed char)
9467 __builtin_s390_vistrbs((__vector
unsigned char)
__a, __cc);
9471 vec_cp_until_zero_cc(__vector __bool
char __a,
int *__cc) {
9472 return (__vector __bool
char)
9473 __builtin_s390_vistrbs((__vector
unsigned char)
__a, __cc);
9477 vec_cp_until_zero_cc(__vector
unsigned char __a,
int *__cc) {
9478 return __builtin_s390_vistrbs(
__a, __cc);
9482 vec_cp_until_zero_cc(__vector
signed short __a,
int *__cc) {
9483 return (__vector
signed short)
9484 __builtin_s390_vistrhs((__vector
unsigned short)
__a, __cc);
9488 vec_cp_until_zero_cc(__vector __bool
short __a,
int *__cc) {
9489 return (__vector __bool
short)
9490 __builtin_s390_vistrhs((__vector
unsigned short)
__a, __cc);
9494 vec_cp_until_zero_cc(__vector
unsigned short __a,
int *__cc) {
9495 return __builtin_s390_vistrhs(
__a, __cc);
9499 vec_cp_until_zero_cc(__vector
signed int __a,
int *__cc) {
9500 return (__vector
signed int)
9501 __builtin_s390_vistrfs((__vector
unsigned int)
__a, __cc);
9505 vec_cp_until_zero_cc(__vector __bool
int __a,
int *__cc) {
9506 return (__vector __bool
int)
9507 __builtin_s390_vistrfs((__vector
unsigned int)
__a, __cc);
9511 vec_cp_until_zero_cc(__vector
unsigned int __a,
int *__cc) {
9512 return __builtin_s390_vistrfs(
__a, __cc);
9518 vec_cmpeq_idx(__vector
signed char __a, __vector
signed char __b) {
9519 return (__vector
signed char)
9520 __builtin_s390_vfeeb((__vector
unsigned char)
__a,
9521 (__vector
unsigned char)
__b);
9525 vec_cmpeq_idx(__vector __bool
char __a, __vector __bool
char __b) {
9526 return __builtin_s390_vfeeb((__vector
unsigned char)
__a,
9527 (__vector
unsigned char)
__b);
9531 vec_cmpeq_idx(__vector
unsigned char __a, __vector
unsigned char __b) {
9532 return __builtin_s390_vfeeb(
__a,
__b);
9536 vec_cmpeq_idx(__vector
signed short __a, __vector
signed short __b) {
9537 return (__vector
signed short)
9538 __builtin_s390_vfeeh((__vector
unsigned short)
__a,
9539 (__vector
unsigned short)
__b);
9543 vec_cmpeq_idx(__vector __bool
short __a, __vector __bool
short __b) {
9544 return __builtin_s390_vfeeh((__vector
unsigned short)
__a,
9545 (__vector
unsigned short)
__b);
9549 vec_cmpeq_idx(__vector
unsigned short __a, __vector
unsigned short __b) {
9550 return __builtin_s390_vfeeh(
__a,
__b);
9554 vec_cmpeq_idx(__vector
signed int __a, __vector
signed int __b) {
9555 return (__vector
signed int)
9556 __builtin_s390_vfeef((__vector
unsigned int)
__a,
9557 (__vector
unsigned int)
__b);
9561 vec_cmpeq_idx(__vector __bool
int __a, __vector __bool
int __b) {
9562 return __builtin_s390_vfeef((__vector
unsigned int)
__a,
9563 (__vector
unsigned int)
__b);
9567 vec_cmpeq_idx(__vector
unsigned int __a, __vector
unsigned int __b) {
9568 return __builtin_s390_vfeef(
__a,
__b);
9574 vec_cmpeq_idx_cc(__vector
signed char __a, __vector
signed char __b,
int *__cc) {
9575 return (__vector
signed char)
9576 __builtin_s390_vfeebs((__vector
unsigned char)
__a,
9577 (__vector
unsigned char)
__b, __cc);
9581 vec_cmpeq_idx_cc(__vector __bool
char __a, __vector __bool
char __b,
int *__cc) {
9582 return __builtin_s390_vfeebs((__vector
unsigned char)
__a,
9583 (__vector
unsigned char)
__b, __cc);
9587 vec_cmpeq_idx_cc(__vector
unsigned char __a, __vector
unsigned char __b,
9589 return __builtin_s390_vfeebs(
__a,
__b, __cc);
9593 vec_cmpeq_idx_cc(__vector
signed short __a, __vector
signed short __b,
9595 return (__vector
signed short)
9596 __builtin_s390_vfeehs((__vector
unsigned short)
__a,
9597 (__vector
unsigned short)
__b, __cc);
9601 vec_cmpeq_idx_cc(__vector __bool
short __a, __vector __bool
short __b,
int *__cc) {
9602 return __builtin_s390_vfeehs((__vector
unsigned short)
__a,
9603 (__vector
unsigned short)
__b, __cc);
9607 vec_cmpeq_idx_cc(__vector
unsigned short __a, __vector
unsigned short __b,
9609 return __builtin_s390_vfeehs(
__a,
__b, __cc);
9613 vec_cmpeq_idx_cc(__vector
signed int __a, __vector
signed int __b,
int *__cc) {
9614 return (__vector
signed int)
9615 __builtin_s390_vfeefs((__vector
unsigned int)
__a,
9616 (__vector
unsigned int)
__b, __cc);
9620 vec_cmpeq_idx_cc(__vector __bool
int __a, __vector __bool
int __b,
int *__cc) {
9621 return __builtin_s390_vfeefs((__vector
unsigned int)
__a,
9622 (__vector
unsigned int)
__b, __cc);
9626 vec_cmpeq_idx_cc(__vector
unsigned int __a, __vector
unsigned int __b,
9628 return __builtin_s390_vfeefs(
__a,
__b, __cc);
9634 vec_cmpeq_or_0_idx(__vector
signed char __a, __vector
signed char __b) {
9635 return (__vector
signed char)
9636 __builtin_s390_vfeezb((__vector
unsigned char)
__a,
9637 (__vector
unsigned char)
__b);
9641 vec_cmpeq_or_0_idx(__vector __bool
char __a, __vector __bool
char __b) {
9642 return __builtin_s390_vfeezb((__vector
unsigned char)
__a,
9643 (__vector
unsigned char)
__b);
9647 vec_cmpeq_or_0_idx(__vector
unsigned char __a, __vector
unsigned char __b) {
9648 return __builtin_s390_vfeezb(
__a,
__b);
9652 vec_cmpeq_or_0_idx(__vector
signed short __a, __vector
signed short __b) {
9653 return (__vector
signed short)
9654 __builtin_s390_vfeezh((__vector
unsigned short)
__a,
9655 (__vector
unsigned short)
__b);
9659 vec_cmpeq_or_0_idx(__vector __bool
short __a, __vector __bool
short __b) {
9660 return __builtin_s390_vfeezh((__vector
unsigned short)
__a,
9661 (__vector
unsigned short)
__b);
9665 vec_cmpeq_or_0_idx(__vector
unsigned short __a, __vector
unsigned short __b) {
9666 return __builtin_s390_vfeezh(
__a,
__b);
9670 vec_cmpeq_or_0_idx(__vector
signed int __a, __vector
signed int __b) {
9671 return (__vector
signed int)
9672 __builtin_s390_vfeezf((__vector
unsigned int)
__a,
9673 (__vector
unsigned int)
__b);
9677 vec_cmpeq_or_0_idx(__vector __bool
int __a, __vector __bool
int __b) {
9678 return __builtin_s390_vfeezf((__vector
unsigned int)
__a,
9679 (__vector
unsigned int)
__b);
9683 vec_cmpeq_or_0_idx(__vector
unsigned int __a, __vector
unsigned int __b) {
9684 return __builtin_s390_vfeezf(
__a,
__b);
9690 vec_cmpeq_or_0_idx_cc(__vector
signed char __a, __vector
signed char __b,
9692 return (__vector
signed char)
9693 __builtin_s390_vfeezbs((__vector
unsigned char)
__a,
9694 (__vector
unsigned char)
__b, __cc);
9698 vec_cmpeq_or_0_idx_cc(__vector __bool
char __a, __vector __bool
char __b,
9700 return __builtin_s390_vfeezbs((__vector
unsigned char)
__a,
9701 (__vector
unsigned char)
__b, __cc);
9705 vec_cmpeq_or_0_idx_cc(__vector
unsigned char __a, __vector
unsigned char __b,
9707 return __builtin_s390_vfeezbs(
__a,
__b, __cc);
9711 vec_cmpeq_or_0_idx_cc(__vector
signed short __a, __vector
signed short __b,
9713 return (__vector
signed short)
9714 __builtin_s390_vfeezhs((__vector
unsigned short)
__a,
9715 (__vector
unsigned short)
__b, __cc);
9719 vec_cmpeq_or_0_idx_cc(__vector __bool
short __a, __vector __bool
short __b,
9721 return __builtin_s390_vfeezhs((__vector
unsigned short)
__a,
9722 (__vector
unsigned short)
__b, __cc);
9726 vec_cmpeq_or_0_idx_cc(__vector
unsigned short __a, __vector
unsigned short __b,
9728 return __builtin_s390_vfeezhs(
__a,
__b, __cc);
9732 vec_cmpeq_or_0_idx_cc(__vector
signed int __a, __vector
signed int __b,
9734 return (__vector
signed int)
9735 __builtin_s390_vfeezfs((__vector
unsigned int)
__a,
9736 (__vector
unsigned int)
__b, __cc);
9740 vec_cmpeq_or_0_idx_cc(__vector __bool
int __a, __vector __bool
int __b,
9742 return __builtin_s390_vfeezfs((__vector
unsigned int)
__a,
9743 (__vector
unsigned int)
__b, __cc);
9747 vec_cmpeq_or_0_idx_cc(__vector
unsigned int __a, __vector
unsigned int __b,
9749 return __builtin_s390_vfeezfs(
__a,
__b, __cc);
9755 vec_cmpne_idx(__vector
signed char __a, __vector
signed char __b) {
9756 return (__vector
signed char)
9757 __builtin_s390_vfeneb((__vector
unsigned char)
__a,
9758 (__vector
unsigned char)
__b);
9762 vec_cmpne_idx(__vector __bool
char __a, __vector __bool
char __b) {
9763 return __builtin_s390_vfeneb((__vector
unsigned char)
__a,
9764 (__vector
unsigned char)
__b);
9768 vec_cmpne_idx(__vector
unsigned char __a, __vector
unsigned char __b) {
9769 return __builtin_s390_vfeneb(
__a,
__b);
9773 vec_cmpne_idx(__vector
signed short __a, __vector
signed short __b) {
9774 return (__vector
signed short)
9775 __builtin_s390_vfeneh((__vector
unsigned short)
__a,
9776 (__vector
unsigned short)
__b);
9780 vec_cmpne_idx(__vector __bool
short __a, __vector __bool
short __b) {
9781 return __builtin_s390_vfeneh((__vector
unsigned short)
__a,
9782 (__vector
unsigned short)
__b);
9786 vec_cmpne_idx(__vector
unsigned short __a, __vector
unsigned short __b) {
9787 return __builtin_s390_vfeneh(
__a,
__b);
9791 vec_cmpne_idx(__vector
signed int __a, __vector
signed int __b) {
9792 return (__vector
signed int)
9793 __builtin_s390_vfenef((__vector
unsigned int)
__a,
9794 (__vector
unsigned int)
__b);
9798 vec_cmpne_idx(__vector __bool
int __a, __vector __bool
int __b) {
9799 return __builtin_s390_vfenef((__vector
unsigned int)
__a,
9800 (__vector
unsigned int)
__b);
9804 vec_cmpne_idx(__vector
unsigned int __a, __vector
unsigned int __b) {
9805 return __builtin_s390_vfenef(
__a,
__b);
9811 vec_cmpne_idx_cc(__vector
signed char __a, __vector
signed char __b,
int *__cc) {
9812 return (__vector
signed char)
9813 __builtin_s390_vfenebs((__vector
unsigned char)
__a,
9814 (__vector
unsigned char)
__b, __cc);
9818 vec_cmpne_idx_cc(__vector __bool
char __a, __vector __bool
char __b,
int *__cc) {
9819 return __builtin_s390_vfenebs((__vector
unsigned char)
__a,
9820 (__vector
unsigned char)
__b, __cc);
9824 vec_cmpne_idx_cc(__vector
unsigned char __a, __vector
unsigned char __b,
9826 return __builtin_s390_vfenebs(
__a,
__b, __cc);
9830 vec_cmpne_idx_cc(__vector
signed short __a, __vector
signed short __b,
9832 return (__vector
signed short)
9833 __builtin_s390_vfenehs((__vector
unsigned short)
__a,
9834 (__vector
unsigned short)
__b, __cc);
9838 vec_cmpne_idx_cc(__vector __bool
short __a, __vector __bool
short __b,
9840 return __builtin_s390_vfenehs((__vector
unsigned short)
__a,
9841 (__vector
unsigned short)
__b, __cc);
9845 vec_cmpne_idx_cc(__vector
unsigned short __a, __vector
unsigned short __b,
9847 return __builtin_s390_vfenehs(
__a,
__b, __cc);
9851 vec_cmpne_idx_cc(__vector
signed int __a, __vector
signed int __b,
int *__cc) {
9852 return (__vector
signed int)
9853 __builtin_s390_vfenefs((__vector
unsigned int)
__a,
9854 (__vector
unsigned int)
__b, __cc);
9858 vec_cmpne_idx_cc(__vector __bool
int __a, __vector __bool
int __b,
int *__cc) {
9859 return __builtin_s390_vfenefs((__vector
unsigned int)
__a,
9860 (__vector
unsigned int)
__b, __cc);
9864 vec_cmpne_idx_cc(__vector
unsigned int __a, __vector
unsigned int __b,
9866 return __builtin_s390_vfenefs(
__a,
__b, __cc);
9872 vec_cmpne_or_0_idx(__vector
signed char __a, __vector
signed char __b) {
9873 return (__vector
signed char)
9874 __builtin_s390_vfenezb((__vector
unsigned char)
__a,
9875 (__vector
unsigned char)
__b);
9879 vec_cmpne_or_0_idx(__vector __bool
char __a, __vector __bool
char __b) {
9880 return __builtin_s390_vfenezb((__vector
unsigned char)
__a,
9881 (__vector
unsigned char)
__b);
9885 vec_cmpne_or_0_idx(__vector
unsigned char __a, __vector
unsigned char __b) {
9886 return __builtin_s390_vfenezb(
__a,
__b);
9890 vec_cmpne_or_0_idx(__vector
signed short __a, __vector
signed short __b) {
9891 return (__vector
signed short)
9892 __builtin_s390_vfenezh((__vector
unsigned short)
__a,
9893 (__vector
unsigned short)
__b);
9897 vec_cmpne_or_0_idx(__vector __bool
short __a, __vector __bool
short __b) {
9898 return __builtin_s390_vfenezh((__vector
unsigned short)
__a,
9899 (__vector
unsigned short)
__b);
9903 vec_cmpne_or_0_idx(__vector
unsigned short __a, __vector
unsigned short __b) {
9904 return __builtin_s390_vfenezh(
__a,
__b);
9908 vec_cmpne_or_0_idx(__vector
signed int __a, __vector
signed int __b) {
9909 return (__vector
signed int)
9910 __builtin_s390_vfenezf((__vector
unsigned int)
__a,
9911 (__vector
unsigned int)
__b);
9915 vec_cmpne_or_0_idx(__vector __bool
int __a, __vector __bool
int __b) {
9916 return __builtin_s390_vfenezf((__vector
unsigned int)
__a,
9917 (__vector
unsigned int)
__b);
9921 vec_cmpne_or_0_idx(__vector
unsigned int __a, __vector
unsigned int __b) {
9922 return __builtin_s390_vfenezf(
__a,
__b);
9928 vec_cmpne_or_0_idx_cc(__vector
signed char __a, __vector
signed char __b,
9930 return (__vector
signed char)
9931 __builtin_s390_vfenezbs((__vector
unsigned char)
__a,
9932 (__vector
unsigned char)
__b, __cc);
9936 vec_cmpne_or_0_idx_cc(__vector __bool
char __a, __vector __bool
char __b,
9938 return __builtin_s390_vfenezbs((__vector
unsigned char)
__a,
9939 (__vector
unsigned char)
__b, __cc);
9943 vec_cmpne_or_0_idx_cc(__vector
unsigned char __a, __vector
unsigned char __b,
9945 return __builtin_s390_vfenezbs(
__a,
__b, __cc);
9949 vec_cmpne_or_0_idx_cc(__vector
signed short __a, __vector
signed short __b,
9951 return (__vector
signed short)
9952 __builtin_s390_vfenezhs((__vector
unsigned short)
__a,
9953 (__vector
unsigned short)
__b, __cc);
9957 vec_cmpne_or_0_idx_cc(__vector __bool
short __a, __vector __bool
short __b,
9959 return __builtin_s390_vfenezhs((__vector
unsigned short)
__a,
9960 (__vector
unsigned short)
__b, __cc);
9964 vec_cmpne_or_0_idx_cc(__vector
unsigned short __a, __vector
unsigned short __b,
9966 return __builtin_s390_vfenezhs(
__a,
__b, __cc);
9970 vec_cmpne_or_0_idx_cc(__vector
signed int __a, __vector
signed int __b,
9972 return (__vector
signed int)
9973 __builtin_s390_vfenezfs((__vector
unsigned int)
__a,
9974 (__vector
unsigned int)
__b, __cc);
9978 vec_cmpne_or_0_idx_cc(__vector __bool
int __a, __vector __bool
int __b,
9980 return __builtin_s390_vfenezfs((__vector
unsigned int)
__a,
9981 (__vector
unsigned int)
__b, __cc);
9985 vec_cmpne_or_0_idx_cc(__vector
unsigned int __a, __vector
unsigned int __b,
9987 return __builtin_s390_vfenezfs(
__a,
__b, __cc);
9993 vec_cmprg(__vector
unsigned char __a, __vector
unsigned char __b,
9994 __vector
unsigned char __c) {
9995 return (__vector __bool
char)__builtin_s390_vstrcb(
__a,
__b,
__c, 4);
9999 vec_cmprg(__vector
unsigned short __a, __vector
unsigned short __b,
10000 __vector
unsigned short __c) {
10001 return (__vector __bool
short)__builtin_s390_vstrch(
__a,
__b,
__c, 4);
10005 vec_cmprg(__vector
unsigned int __a, __vector
unsigned int __b,
10006 __vector
unsigned int __c) {
10007 return (__vector __bool
int)__builtin_s390_vstrcf(
__a,
__b,
__c, 4);
10013 vec_cmprg_cc(__vector
unsigned char __a, __vector
unsigned char __b,
10014 __vector
unsigned char __c,
int *__cc) {
10015 return (__vector __bool
char)__builtin_s390_vstrcbs(
__a,
__b,
__c, 4, __cc);
10019 vec_cmprg_cc(__vector
unsigned short __a, __vector
unsigned short __b,
10020 __vector
unsigned short __c,
int *__cc) {
10021 return (__vector __bool
short)__builtin_s390_vstrchs(
__a,
__b,
__c, 4, __cc);
10025 vec_cmprg_cc(__vector
unsigned int __a, __vector
unsigned int __b,
10026 __vector
unsigned int __c,
int *__cc) {
10027 return (__vector __bool
int)__builtin_s390_vstrcfs(
__a,
__b,
__c, 4, __cc);
10033 vec_cmprg_idx(__vector
unsigned char __a, __vector
unsigned char __b,
10034 __vector
unsigned char __c) {
10035 return __builtin_s390_vstrcb(
__a,
__b,
__c, 0);
10039 vec_cmprg_idx(__vector
unsigned short __a, __vector
unsigned short __b,
10040 __vector
unsigned short __c) {
10041 return __builtin_s390_vstrch(
__a,
__b,
__c, 0);
10045 vec_cmprg_idx(__vector
unsigned int __a, __vector
unsigned int __b,
10046 __vector
unsigned int __c) {
10047 return __builtin_s390_vstrcf(
__a,
__b,
__c, 0);
10053 vec_cmprg_idx_cc(__vector
unsigned char __a, __vector
unsigned char __b,
10054 __vector
unsigned char __c,
int *__cc) {
10055 return __builtin_s390_vstrcbs(
__a,
__b,
__c, 0, __cc);
10059 vec_cmprg_idx_cc(__vector
unsigned short __a, __vector
unsigned short __b,
10060 __vector
unsigned short __c,
int *__cc) {
10061 return __builtin_s390_vstrchs(
__a,
__b,
__c, 0, __cc);
10065 vec_cmprg_idx_cc(__vector
unsigned int __a, __vector
unsigned int __b,
10066 __vector
unsigned int __c,
int *__cc) {
10067 return __builtin_s390_vstrcfs(
__a,
__b,
__c, 0, __cc);
10073 vec_cmprg_or_0_idx(__vector
unsigned char __a, __vector
unsigned char __b,
10074 __vector
unsigned char __c) {
10075 return __builtin_s390_vstrczb(
__a,
__b,
__c, 0);
10079 vec_cmprg_or_0_idx(__vector
unsigned short __a, __vector
unsigned short __b,
10080 __vector
unsigned short __c) {
10081 return __builtin_s390_vstrczh(
__a,
__b,
__c, 0);
10085 vec_cmprg_or_0_idx(__vector
unsigned int __a, __vector
unsigned int __b,
10086 __vector
unsigned int __c) {
10087 return __builtin_s390_vstrczf(
__a,
__b,
__c, 0);
10093 vec_cmprg_or_0_idx_cc(__vector
unsigned char __a, __vector
unsigned char __b,
10094 __vector
unsigned char __c,
int *__cc) {
10095 return __builtin_s390_vstrczbs(
__a,
__b,
__c, 0, __cc);
10099 vec_cmprg_or_0_idx_cc(__vector
unsigned short __a, __vector
unsigned short __b,
10100 __vector
unsigned short __c,
int *__cc) {
10101 return __builtin_s390_vstrczhs(
__a,
__b,
__c, 0, __cc);
10105 vec_cmprg_or_0_idx_cc(__vector
unsigned int __a, __vector
unsigned int __b,
10106 __vector
unsigned int __c,
int *__cc) {
10107 return __builtin_s390_vstrczfs(
__a,
__b,
__c, 0, __cc);
10113 vec_cmpnrg(__vector
unsigned char __a, __vector
unsigned char __b,
10114 __vector
unsigned char __c) {
10115 return (__vector __bool
char)__builtin_s390_vstrcb(
__a,
__b,
__c, 12);
10119 vec_cmpnrg(__vector
unsigned short __a, __vector
unsigned short __b,
10120 __vector
unsigned short __c) {
10121 return (__vector __bool
short)__builtin_s390_vstrch(
__a,
__b,
__c, 12);
10125 vec_cmpnrg(__vector
unsigned int __a, __vector
unsigned int __b,
10126 __vector
unsigned int __c) {
10127 return (__vector __bool
int)__builtin_s390_vstrcf(
__a,
__b,
__c, 12);
10133 vec_cmpnrg_cc(__vector
unsigned char __a, __vector
unsigned char __b,
10134 __vector
unsigned char __c,
int *__cc) {
10135 return (__vector __bool
char)
10136 __builtin_s390_vstrcbs(
__a,
__b,
__c, 12, __cc);
10140 vec_cmpnrg_cc(__vector
unsigned short __a, __vector
unsigned short __b,
10141 __vector
unsigned short __c,
int *__cc) {
10142 return (__vector __bool
short)
10143 __builtin_s390_vstrchs(
__a,
__b,
__c, 12, __cc);
10147 vec_cmpnrg_cc(__vector
unsigned int __a, __vector
unsigned int __b,
10148 __vector
unsigned int __c,
int *__cc) {
10149 return (__vector __bool
int)
10150 __builtin_s390_vstrcfs(
__a,
__b,
__c, 12, __cc);
10156 vec_cmpnrg_idx(__vector
unsigned char __a, __vector
unsigned char __b,
10157 __vector
unsigned char __c) {
10158 return __builtin_s390_vstrcb(
__a,
__b,
__c, 8);
10162 vec_cmpnrg_idx(__vector
unsigned short __a, __vector
unsigned short __b,
10163 __vector
unsigned short __c) {
10164 return __builtin_s390_vstrch(
__a,
__b,
__c, 8);
10168 vec_cmpnrg_idx(__vector
unsigned int __a, __vector
unsigned int __b,
10169 __vector
unsigned int __c) {
10170 return __builtin_s390_vstrcf(
__a,
__b,
__c, 8);
10176 vec_cmpnrg_idx_cc(__vector
unsigned char __a, __vector
unsigned char __b,
10177 __vector
unsigned char __c,
int *__cc) {
10178 return __builtin_s390_vstrcbs(
__a,
__b,
__c, 8, __cc);
10182 vec_cmpnrg_idx_cc(__vector
unsigned short __a, __vector
unsigned short __b,
10183 __vector
unsigned short __c,
int *__cc) {
10184 return __builtin_s390_vstrchs(
__a,
__b,
__c, 8, __cc);
10188 vec_cmpnrg_idx_cc(__vector
unsigned int __a, __vector
unsigned int __b,
10189 __vector
unsigned int __c,
int *__cc) {
10190 return __builtin_s390_vstrcfs(
__a,
__b,
__c, 8, __cc);
10196 vec_cmpnrg_or_0_idx(__vector
unsigned char __a, __vector
unsigned char __b,
10197 __vector
unsigned char __c) {
10198 return __builtin_s390_vstrczb(
__a,
__b,
__c, 8);
10202 vec_cmpnrg_or_0_idx(__vector
unsigned short __a, __vector
unsigned short __b,
10203 __vector
unsigned short __c) {
10204 return __builtin_s390_vstrczh(
__a,
__b,
__c, 8);
10208 vec_cmpnrg_or_0_idx(__vector
unsigned int __a, __vector
unsigned int __b,
10209 __vector
unsigned int __c) {
10210 return __builtin_s390_vstrczf(
__a,
__b,
__c, 8);
10216 vec_cmpnrg_or_0_idx_cc(__vector
unsigned char __a,
10217 __vector
unsigned char __b,
10218 __vector
unsigned char __c,
int *__cc) {
10219 return __builtin_s390_vstrczbs(
__a,
__b,
__c, 8, __cc);
10223 vec_cmpnrg_or_0_idx_cc(__vector
unsigned short __a,
10224 __vector
unsigned short __b,
10225 __vector
unsigned short __c,
int *__cc) {
10226 return __builtin_s390_vstrczhs(
__a,
__b,
__c, 8, __cc);
10230 vec_cmpnrg_or_0_idx_cc(__vector
unsigned int __a,
10231 __vector
unsigned int __b,
10232 __vector
unsigned int __c,
int *__cc) {
10233 return __builtin_s390_vstrczfs(
__a,
__b,
__c, 8, __cc);
10239 vec_find_any_eq(__vector
signed char __a, __vector
signed char __b) {
10240 return (__vector __bool
char)
10241 __builtin_s390_vfaeb((__vector
unsigned char)
__a,
10242 (__vector
unsigned char)
__b, 4);
10246 vec_find_any_eq(__vector __bool
char __a, __vector __bool
char __b) {
10247 return (__vector __bool
char)
10248 __builtin_s390_vfaeb((__vector
unsigned char)
__a,
10249 (__vector
unsigned char)
__b, 4);
10253 vec_find_any_eq(__vector
unsigned char __a, __vector
unsigned char __b) {
10254 return (__vector __bool
char)__builtin_s390_vfaeb(
__a,
__b, 4);
10258 vec_find_any_eq(__vector
signed short __a, __vector
signed short __b) {
10259 return (__vector __bool
short)
10260 __builtin_s390_vfaeh((__vector
unsigned short)
__a,
10261 (__vector
unsigned short)
__b, 4);
10265 vec_find_any_eq(__vector __bool
short __a, __vector __bool
short __b) {
10266 return (__vector __bool
short)
10267 __builtin_s390_vfaeh((__vector
unsigned short)
__a,
10268 (__vector
unsigned short)
__b, 4);
10272 vec_find_any_eq(__vector
unsigned short __a, __vector
unsigned short __b) {
10273 return (__vector __bool
short)__builtin_s390_vfaeh(
__a,
__b, 4);
10277 vec_find_any_eq(__vector
signed int __a, __vector
signed int __b) {
10278 return (__vector __bool
int)
10279 __builtin_s390_vfaef((__vector
unsigned int)
__a,
10280 (__vector
unsigned int)
__b, 4);
10284 vec_find_any_eq(__vector __bool
int __a, __vector __bool
int __b) {
10285 return (__vector __bool
int)
10286 __builtin_s390_vfaef((__vector
unsigned int)
__a,
10287 (__vector
unsigned int)
__b, 4);
10291 vec_find_any_eq(__vector
unsigned int __a, __vector
unsigned int __b) {
10292 return (__vector __bool
int)__builtin_s390_vfaef(
__a,
__b, 4);
10298 vec_find_any_eq_cc(__vector
signed char __a, __vector
signed char __b,
10300 return (__vector __bool
char)
10301 __builtin_s390_vfaebs((__vector
unsigned char)
__a,
10302 (__vector
unsigned char)
__b, 4, __cc);
10306 vec_find_any_eq_cc(__vector __bool
char __a, __vector __bool
char __b,
10308 return (__vector __bool
char)
10309 __builtin_s390_vfaebs((__vector
unsigned char)
__a,
10310 (__vector
unsigned char)
__b, 4, __cc);
10314 vec_find_any_eq_cc(__vector
unsigned char __a, __vector
unsigned char __b,
10316 return (__vector __bool
char)__builtin_s390_vfaebs(
__a,
__b, 4, __cc);
10320 vec_find_any_eq_cc(__vector
signed short __a, __vector
signed short __b,
10322 return (__vector __bool
short)
10323 __builtin_s390_vfaehs((__vector
unsigned short)
__a,
10324 (__vector
unsigned short)
__b, 4, __cc);
10328 vec_find_any_eq_cc(__vector __bool
short __a, __vector __bool
short __b,
10330 return (__vector __bool
short)
10331 __builtin_s390_vfaehs((__vector
unsigned short)
__a,
10332 (__vector
unsigned short)
__b, 4, __cc);
10336 vec_find_any_eq_cc(__vector
unsigned short __a, __vector
unsigned short __b,
10338 return (__vector __bool
short)__builtin_s390_vfaehs(
__a,
__b, 4, __cc);
10342 vec_find_any_eq_cc(__vector
signed int __a, __vector
signed int __b,
10344 return (__vector __bool
int)
10345 __builtin_s390_vfaefs((__vector
unsigned int)
__a,
10346 (__vector
unsigned int)
__b, 4, __cc);
10350 vec_find_any_eq_cc(__vector __bool
int __a, __vector __bool
int __b,
10352 return (__vector __bool
int)
10353 __builtin_s390_vfaefs((__vector
unsigned int)
__a,
10354 (__vector
unsigned int)
__b, 4, __cc);
10358 vec_find_any_eq_cc(__vector
unsigned int __a, __vector
unsigned int __b,
10360 return (__vector __bool
int)__builtin_s390_vfaefs(
__a,
__b, 4, __cc);
10366 vec_find_any_eq_idx(__vector
signed char __a, __vector
signed char __b) {
10367 return (__vector
signed char)
10368 __builtin_s390_vfaeb((__vector
unsigned char)
__a,
10369 (__vector
unsigned char)
__b, 0);
10373 vec_find_any_eq_idx(__vector __bool
char __a, __vector __bool
char __b) {
10374 return __builtin_s390_vfaeb((__vector
unsigned char)
__a,
10375 (__vector
unsigned char)
__b, 0);
10379 vec_find_any_eq_idx(__vector
unsigned char __a, __vector
unsigned char __b) {
10380 return __builtin_s390_vfaeb(
__a,
__b, 0);
10384 vec_find_any_eq_idx(__vector
signed short __a, __vector
signed short __b) {
10385 return (__vector
signed short)
10386 __builtin_s390_vfaeh((__vector
unsigned short)
__a,
10387 (__vector
unsigned short)
__b, 0);
10391 vec_find_any_eq_idx(__vector __bool
short __a, __vector __bool
short __b) {
10392 return __builtin_s390_vfaeh((__vector
unsigned short)
__a,
10393 (__vector
unsigned short)
__b, 0);
10397 vec_find_any_eq_idx(__vector
unsigned short __a, __vector
unsigned short __b) {
10398 return __builtin_s390_vfaeh(
__a,
__b, 0);
10402 vec_find_any_eq_idx(__vector
signed int __a, __vector
signed int __b) {
10403 return (__vector
signed int)
10404 __builtin_s390_vfaef((__vector
unsigned int)
__a,
10405 (__vector
unsigned int)
__b, 0);
10409 vec_find_any_eq_idx(__vector __bool
int __a, __vector __bool
int __b) {
10410 return __builtin_s390_vfaef((__vector
unsigned int)
__a,
10411 (__vector
unsigned int)
__b, 0);
10415 vec_find_any_eq_idx(__vector
unsigned int __a, __vector
unsigned int __b) {
10416 return __builtin_s390_vfaef(
__a,
__b, 0);
10422 vec_find_any_eq_idx_cc(__vector
signed char __a,
10423 __vector
signed char __b,
int *__cc) {
10424 return (__vector
signed char)
10425 __builtin_s390_vfaebs((__vector
unsigned char)
__a,
10426 (__vector
unsigned char)
__b, 0, __cc);
10430 vec_find_any_eq_idx_cc(__vector __bool
char __a,
10431 __vector __bool
char __b,
int *__cc) {
10432 return __builtin_s390_vfaebs((__vector
unsigned char)
__a,
10433 (__vector
unsigned char)
__b, 0, __cc);
10437 vec_find_any_eq_idx_cc(__vector
unsigned char __a,
10438 __vector
unsigned char __b,
int *__cc) {
10439 return __builtin_s390_vfaebs(
__a,
__b, 0, __cc);
10443 vec_find_any_eq_idx_cc(__vector
signed short __a,
10444 __vector
signed short __b,
int *__cc) {
10445 return (__vector
signed short)
10446 __builtin_s390_vfaehs((__vector
unsigned short)
__a,
10447 (__vector
unsigned short)
__b, 0, __cc);
10451 vec_find_any_eq_idx_cc(__vector __bool
short __a,
10452 __vector __bool
short __b,
int *__cc) {
10453 return __builtin_s390_vfaehs((__vector
unsigned short)
__a,
10454 (__vector
unsigned short)
__b, 0, __cc);
10458 vec_find_any_eq_idx_cc(__vector
unsigned short __a,
10459 __vector
unsigned short __b,
int *__cc) {
10460 return __builtin_s390_vfaehs(
__a,
__b, 0, __cc);
10464 vec_find_any_eq_idx_cc(__vector
signed int __a,
10465 __vector
signed int __b,
int *__cc) {
10466 return (__vector
signed int)
10467 __builtin_s390_vfaefs((__vector
unsigned int)
__a,
10468 (__vector
unsigned int)
__b, 0, __cc);
10472 vec_find_any_eq_idx_cc(__vector __bool
int __a,
10473 __vector __bool
int __b,
int *__cc) {
10474 return __builtin_s390_vfaefs((__vector
unsigned int)
__a,
10475 (__vector
unsigned int)
__b, 0, __cc);
10479 vec_find_any_eq_idx_cc(__vector
unsigned int __a,
10480 __vector
unsigned int __b,
int *__cc) {
10481 return __builtin_s390_vfaefs(
__a,
__b, 0, __cc);
10487 vec_find_any_eq_or_0_idx(__vector
signed char __a,
10488 __vector
signed char __b) {
10489 return (__vector
signed char)
10490 __builtin_s390_vfaezb((__vector
unsigned char)
__a,
10491 (__vector
unsigned char)
__b, 0);
10495 vec_find_any_eq_or_0_idx(__vector __bool
char __a,
10496 __vector __bool
char __b) {
10497 return __builtin_s390_vfaezb((__vector
unsigned char)
__a,
10498 (__vector
unsigned char)
__b, 0);
10502 vec_find_any_eq_or_0_idx(__vector
unsigned char __a,
10503 __vector
unsigned char __b) {
10504 return __builtin_s390_vfaezb(
__a,
__b, 0);
10508 vec_find_any_eq_or_0_idx(__vector
signed short __a,
10509 __vector
signed short __b) {
10510 return (__vector
signed short)
10511 __builtin_s390_vfaezh((__vector
unsigned short)
__a,
10512 (__vector
unsigned short)
__b, 0);
10516 vec_find_any_eq_or_0_idx(__vector __bool
short __a,
10517 __vector __bool
short __b) {
10518 return __builtin_s390_vfaezh((__vector
unsigned short)
__a,
10519 (__vector
unsigned short)
__b, 0);
10523 vec_find_any_eq_or_0_idx(__vector
unsigned short __a,
10524 __vector
unsigned short __b) {
10525 return __builtin_s390_vfaezh(
__a,
__b, 0);
10529 vec_find_any_eq_or_0_idx(__vector
signed int __a,
10530 __vector
signed int __b) {
10531 return (__vector
signed int)
10532 __builtin_s390_vfaezf((__vector
unsigned int)
__a,
10533 (__vector
unsigned int)
__b, 0);
10537 vec_find_any_eq_or_0_idx(__vector __bool
int __a,
10538 __vector __bool
int __b) {
10539 return __builtin_s390_vfaezf((__vector
unsigned int)
__a,
10540 (__vector
unsigned int)
__b, 0);
10544 vec_find_any_eq_or_0_idx(__vector
unsigned int __a,
10545 __vector
unsigned int __b) {
10546 return __builtin_s390_vfaezf(
__a,
__b, 0);
10552 vec_find_any_eq_or_0_idx_cc(__vector
signed char __a,
10553 __vector
signed char __b,
int *__cc) {
10554 return (__vector
signed char)
10555 __builtin_s390_vfaezbs((__vector
unsigned char)
__a,
10556 (__vector
unsigned char)
__b, 0, __cc);
10560 vec_find_any_eq_or_0_idx_cc(__vector __bool
char __a,
10561 __vector __bool
char __b,
int *__cc) {
10562 return __builtin_s390_vfaezbs((__vector
unsigned char)
__a,
10563 (__vector
unsigned char)
__b, 0, __cc);
10567 vec_find_any_eq_or_0_idx_cc(__vector
unsigned char __a,
10568 __vector
unsigned char __b,
int *__cc) {
10569 return __builtin_s390_vfaezbs(
__a,
__b, 0, __cc);
10573 vec_find_any_eq_or_0_idx_cc(__vector
signed short __a,
10574 __vector
signed short __b,
int *__cc) {
10575 return (__vector
signed short)
10576 __builtin_s390_vfaezhs((__vector
unsigned short)
__a,
10577 (__vector
unsigned short)
__b, 0, __cc);
10581 vec_find_any_eq_or_0_idx_cc(__vector __bool
short __a,
10582 __vector __bool
short __b,
int *__cc) {
10583 return __builtin_s390_vfaezhs((__vector
unsigned short)
__a,
10584 (__vector
unsigned short)
__b, 0, __cc);
10588 vec_find_any_eq_or_0_idx_cc(__vector
unsigned short __a,
10589 __vector
unsigned short __b,
int *__cc) {
10590 return __builtin_s390_vfaezhs(
__a,
__b, 0, __cc);
10594 vec_find_any_eq_or_0_idx_cc(__vector
signed int __a,
10595 __vector
signed int __b,
int *__cc) {
10596 return (__vector
signed int)
10597 __builtin_s390_vfaezfs((__vector
unsigned int)
__a,
10598 (__vector
unsigned int)
__b, 0, __cc);
10602 vec_find_any_eq_or_0_idx_cc(__vector __bool
int __a,
10603 __vector __bool
int __b,
int *__cc) {
10604 return __builtin_s390_vfaezfs((__vector
unsigned int)
__a,
10605 (__vector
unsigned int)
__b, 0, __cc);
10609 vec_find_any_eq_or_0_idx_cc(__vector
unsigned int __a,
10610 __vector
unsigned int __b,
int *__cc) {
10611 return __builtin_s390_vfaezfs(
__a,
__b, 0, __cc);
10617 vec_find_any_ne(__vector
signed char __a, __vector
signed char __b) {
10618 return (__vector __bool
char)
10619 __builtin_s390_vfaeb((__vector
unsigned char)
__a,
10620 (__vector
unsigned char)
__b, 12);
10624 vec_find_any_ne(__vector __bool
char __a, __vector __bool
char __b) {
10625 return (__vector __bool
char)
10626 __builtin_s390_vfaeb((__vector
unsigned char)
__a,
10627 (__vector
unsigned char)
__b, 12);
10631 vec_find_any_ne(__vector
unsigned char __a, __vector
unsigned char __b) {
10632 return (__vector __bool
char)__builtin_s390_vfaeb(
__a,
__b, 12);
10636 vec_find_any_ne(__vector
signed short __a, __vector
signed short __b) {
10637 return (__vector __bool
short)
10638 __builtin_s390_vfaeh((__vector
unsigned short)
__a,
10639 (__vector
unsigned short)
__b, 12);
10643 vec_find_any_ne(__vector __bool
short __a, __vector __bool
short __b) {
10644 return (__vector __bool
short)
10645 __builtin_s390_vfaeh((__vector
unsigned short)
__a,
10646 (__vector
unsigned short)
__b, 12);
10650 vec_find_any_ne(__vector
unsigned short __a, __vector
unsigned short __b) {
10651 return (__vector __bool
short)__builtin_s390_vfaeh(
__a,
__b, 12);
10655 vec_find_any_ne(__vector
signed int __a, __vector
signed int __b) {
10656 return (__vector __bool
int)
10657 __builtin_s390_vfaef((__vector
unsigned int)
__a,
10658 (__vector
unsigned int)
__b, 12);
10662 vec_find_any_ne(__vector __bool
int __a, __vector __bool
int __b) {
10663 return (__vector __bool
int)
10664 __builtin_s390_vfaef((__vector
unsigned int)
__a,
10665 (__vector
unsigned int)
__b, 12);
10669 vec_find_any_ne(__vector
unsigned int __a, __vector
unsigned int __b) {
10670 return (__vector __bool
int)__builtin_s390_vfaef(
__a,
__b, 12);
10676 vec_find_any_ne_cc(__vector
signed char __a,
10677 __vector
signed char __b,
int *__cc) {
10678 return (__vector __bool
char)
10679 __builtin_s390_vfaebs((__vector
unsigned char)
__a,
10680 (__vector
unsigned char)
__b, 12, __cc);
10684 vec_find_any_ne_cc(__vector __bool
char __a,
10685 __vector __bool
char __b,
int *__cc) {
10686 return (__vector __bool
char)
10687 __builtin_s390_vfaebs((__vector
unsigned char)
__a,
10688 (__vector
unsigned char)
__b, 12, __cc);
10692 vec_find_any_ne_cc(__vector
unsigned char __a,
10693 __vector
unsigned char __b,
int *__cc) {
10694 return (__vector __bool
char)__builtin_s390_vfaebs(
__a,
__b, 12, __cc);
10698 vec_find_any_ne_cc(__vector
signed short __a,
10699 __vector
signed short __b,
int *__cc) {
10700 return (__vector __bool
short)
10701 __builtin_s390_vfaehs((__vector
unsigned short)
__a,
10702 (__vector
unsigned short)
__b, 12, __cc);
10706 vec_find_any_ne_cc(__vector __bool
short __a,
10707 __vector __bool
short __b,
int *__cc) {
10708 return (__vector __bool
short)
10709 __builtin_s390_vfaehs((__vector
unsigned short)
__a,
10710 (__vector
unsigned short)
__b, 12, __cc);
10714 vec_find_any_ne_cc(__vector
unsigned short __a,
10715 __vector
unsigned short __b,
int *__cc) {
10716 return (__vector __bool
short)__builtin_s390_vfaehs(
__a,
__b, 12, __cc);
10720 vec_find_any_ne_cc(__vector
signed int __a,
10721 __vector
signed int __b,
int *__cc) {
10722 return (__vector __bool
int)
10723 __builtin_s390_vfaefs((__vector
unsigned int)
__a,
10724 (__vector
unsigned int)
__b, 12, __cc);
10728 vec_find_any_ne_cc(__vector __bool
int __a,
10729 __vector __bool
int __b,
int *__cc) {
10730 return (__vector __bool
int)
10731 __builtin_s390_vfaefs((__vector
unsigned int)
__a,
10732 (__vector
unsigned int)
__b, 12, __cc);
10736 vec_find_any_ne_cc(__vector
unsigned int __a,
10737 __vector
unsigned int __b,
int *__cc) {
10738 return (__vector __bool
int)__builtin_s390_vfaefs(
__a,
__b, 12, __cc);
10744 vec_find_any_ne_idx(__vector
signed char __a, __vector
signed char __b) {
10745 return (__vector
signed char)
10746 __builtin_s390_vfaeb((__vector
unsigned char)
__a,
10747 (__vector
unsigned char)
__b, 8);
10751 vec_find_any_ne_idx(__vector __bool
char __a, __vector __bool
char __b) {
10752 return __builtin_s390_vfaeb((__vector
unsigned char)
__a,
10753 (__vector
unsigned char)
__b, 8);
10757 vec_find_any_ne_idx(__vector
unsigned char __a, __vector
unsigned char __b) {
10758 return __builtin_s390_vfaeb(
__a,
__b, 8);
10762 vec_find_any_ne_idx(__vector
signed short __a, __vector
signed short __b) {
10763 return (__vector
signed short)
10764 __builtin_s390_vfaeh((__vector
unsigned short)
__a,
10765 (__vector
unsigned short)
__b, 8);
10769 vec_find_any_ne_idx(__vector __bool
short __a, __vector __bool
short __b) {
10770 return __builtin_s390_vfaeh((__vector
unsigned short)
__a,
10771 (__vector
unsigned short)
__b, 8);
10775 vec_find_any_ne_idx(__vector
unsigned short __a, __vector
unsigned short __b) {
10776 return __builtin_s390_vfaeh(
__a,
__b, 8);
10780 vec_find_any_ne_idx(__vector
signed int __a, __vector
signed int __b) {
10781 return (__vector
signed int)
10782 __builtin_s390_vfaef((__vector
unsigned int)
__a,
10783 (__vector
unsigned int)
__b, 8);
10787 vec_find_any_ne_idx(__vector __bool
int __a, __vector __bool
int __b) {
10788 return __builtin_s390_vfaef((__vector
unsigned int)
__a,
10789 (__vector
unsigned int)
__b, 8);
10793 vec_find_any_ne_idx(__vector
unsigned int __a, __vector
unsigned int __b) {
10794 return __builtin_s390_vfaef(
__a,
__b, 8);
10800 vec_find_any_ne_idx_cc(__vector
signed char __a,
10801 __vector
signed char __b,
int *__cc) {
10802 return (__vector
signed char)
10803 __builtin_s390_vfaebs((__vector
unsigned char)
__a,
10804 (__vector
unsigned char)
__b, 8, __cc);
10808 vec_find_any_ne_idx_cc(__vector __bool
char __a,
10809 __vector __bool
char __b,
int *__cc) {
10810 return __builtin_s390_vfaebs((__vector
unsigned char)
__a,
10811 (__vector
unsigned char)
__b, 8, __cc);
10815 vec_find_any_ne_idx_cc(__vector
unsigned char __a,
10816 __vector
unsigned char __b,
10818 return __builtin_s390_vfaebs(
__a,
__b, 8, __cc);
10822 vec_find_any_ne_idx_cc(__vector
signed short __a,
10823 __vector
signed short __b,
int *__cc) {
10824 return (__vector
signed short)
10825 __builtin_s390_vfaehs((__vector
unsigned short)
__a,
10826 (__vector
unsigned short)
__b, 8, __cc);
10830 vec_find_any_ne_idx_cc(__vector __bool
short __a,
10831 __vector __bool
short __b,
int *__cc) {
10832 return __builtin_s390_vfaehs((__vector
unsigned short)
__a,
10833 (__vector
unsigned short)
__b, 8, __cc);
10837 vec_find_any_ne_idx_cc(__vector
unsigned short __a,
10838 __vector
unsigned short __b,
int *__cc) {
10839 return __builtin_s390_vfaehs(
__a,
__b, 8, __cc);
10843 vec_find_any_ne_idx_cc(__vector
signed int __a,
10844 __vector
signed int __b,
int *__cc) {
10845 return (__vector
signed int)
10846 __builtin_s390_vfaefs((__vector
unsigned int)
__a,
10847 (__vector
unsigned int)
__b, 8, __cc);
10851 vec_find_any_ne_idx_cc(__vector __bool
int __a,
10852 __vector __bool
int __b,
int *__cc) {
10853 return __builtin_s390_vfaefs((__vector
unsigned int)
__a,
10854 (__vector
unsigned int)
__b, 8, __cc);
10858 vec_find_any_ne_idx_cc(__vector
unsigned int __a,
10859 __vector
unsigned int __b,
int *__cc) {
10860 return __builtin_s390_vfaefs(
__a,
__b, 8, __cc);
10866 vec_find_any_ne_or_0_idx(__vector
signed char __a,
10867 __vector
signed char __b) {
10868 return (__vector
signed char)
10869 __builtin_s390_vfaezb((__vector
unsigned char)
__a,
10870 (__vector
unsigned char)
__b, 8);
10874 vec_find_any_ne_or_0_idx(__vector __bool
char __a,
10875 __vector __bool
char __b) {
10876 return __builtin_s390_vfaezb((__vector
unsigned char)
__a,
10877 (__vector
unsigned char)
__b, 8);
10881 vec_find_any_ne_or_0_idx(__vector
unsigned char __a,
10882 __vector
unsigned char __b) {
10883 return __builtin_s390_vfaezb(
__a,
__b, 8);
10887 vec_find_any_ne_or_0_idx(__vector
signed short __a,
10888 __vector
signed short __b) {
10889 return (__vector
signed short)
10890 __builtin_s390_vfaezh((__vector
unsigned short)
__a,
10891 (__vector
unsigned short)
__b, 8);
10895 vec_find_any_ne_or_0_idx(__vector __bool
short __a,
10896 __vector __bool
short __b) {
10897 return __builtin_s390_vfaezh((__vector
unsigned short)
__a,
10898 (__vector
unsigned short)
__b, 8);
10902 vec_find_any_ne_or_0_idx(__vector
unsigned short __a,
10903 __vector
unsigned short __b) {
10904 return __builtin_s390_vfaezh(
__a,
__b, 8);
10908 vec_find_any_ne_or_0_idx(__vector
signed int __a,
10909 __vector
signed int __b) {
10910 return (__vector
signed int)
10911 __builtin_s390_vfaezf((__vector
unsigned int)
__a,
10912 (__vector
unsigned int)
__b, 8);
10916 vec_find_any_ne_or_0_idx(__vector __bool
int __a,
10917 __vector __bool
int __b) {
10918 return __builtin_s390_vfaezf((__vector
unsigned int)
__a,
10919 (__vector
unsigned int)
__b, 8);
10923 vec_find_any_ne_or_0_idx(__vector
unsigned int __a,
10924 __vector
unsigned int __b) {
10925 return __builtin_s390_vfaezf(
__a,
__b, 8);
10931 vec_find_any_ne_or_0_idx_cc(__vector
signed char __a,
10932 __vector
signed char __b,
int *__cc) {
10933 return (__vector
signed char)
10934 __builtin_s390_vfaezbs((__vector
unsigned char)
__a,
10935 (__vector
unsigned char)
__b, 8, __cc);
10939 vec_find_any_ne_or_0_idx_cc(__vector __bool
char __a,
10940 __vector __bool
char __b,
int *__cc) {
10941 return __builtin_s390_vfaezbs((__vector
unsigned char)
__a,
10942 (__vector
unsigned char)
__b, 8, __cc);
10946 vec_find_any_ne_or_0_idx_cc(__vector
unsigned char __a,
10947 __vector
unsigned char __b,
int *__cc) {
10948 return __builtin_s390_vfaezbs(
__a,
__b, 8, __cc);
10952 vec_find_any_ne_or_0_idx_cc(__vector
signed short __a,
10953 __vector
signed short __b,
int *__cc) {
10954 return (__vector
signed short)
10955 __builtin_s390_vfaezhs((__vector
unsigned short)
__a,
10956 (__vector
unsigned short)
__b, 8, __cc);
10960 vec_find_any_ne_or_0_idx_cc(__vector __bool
short __a,
10961 __vector __bool
short __b,
int *__cc) {
10962 return __builtin_s390_vfaezhs((__vector
unsigned short)
__a,
10963 (__vector
unsigned short)
__b, 8, __cc);
10967 vec_find_any_ne_or_0_idx_cc(__vector
unsigned short __a,
10968 __vector
unsigned short __b,
int *__cc) {
10969 return __builtin_s390_vfaezhs(
__a,
__b, 8, __cc);
10973 vec_find_any_ne_or_0_idx_cc(__vector
signed int __a,
10974 __vector
signed int __b,
int *__cc) {
10975 return (__vector
signed int)
10976 __builtin_s390_vfaezfs((__vector
unsigned int)
__a,
10977 (__vector
unsigned int)
__b, 8, __cc);
10981 vec_find_any_ne_or_0_idx_cc(__vector __bool
int __a,
10982 __vector __bool
int __b,
int *__cc) {
10983 return __builtin_s390_vfaezfs((__vector
unsigned int)
__a,
10984 (__vector
unsigned int)
__b, 8, __cc);
10988 vec_find_any_ne_or_0_idx_cc(__vector
unsigned int __a,
10989 __vector
unsigned int __b,
int *__cc) {
10990 return __builtin_s390_vfaezfs(
__a,
__b, 8, __cc);
10998 vec_search_string_cc(__vector
signed char __a, __vector
signed char __b,
10999 __vector
unsigned char __c,
int *__cc) {
11000 return __builtin_s390_vstrsb((__vector
unsigned char)
__a,
11001 (__vector
unsigned char)
__b,
__c, __cc);
11005 vec_search_string_cc(__vector __bool
char __a, __vector __bool
char __b,
11006 __vector
unsigned char __c,
int *__cc) {
11007 return __builtin_s390_vstrsb((__vector
unsigned char)
__a,
11008 (__vector
unsigned char)
__b,
__c, __cc);
11012 vec_search_string_cc(__vector
unsigned char __a, __vector
unsigned char __b,
11013 __vector
unsigned char __c,
int *__cc) {
11014 return __builtin_s390_vstrsb(
__a,
__b,
__c, __cc);
11018 vec_search_string_cc(__vector
signed short __a, __vector
signed short __b,
11019 __vector
unsigned char __c,
int *__cc) {
11020 return __builtin_s390_vstrsh((__vector
unsigned short)
__a,
11021 (__vector
unsigned short)
__b,
__c, __cc);
11025 vec_search_string_cc(__vector __bool
short __a, __vector __bool
short __b,
11026 __vector
unsigned char __c,
int *__cc) {
11027 return __builtin_s390_vstrsh((__vector
unsigned short)
__a,
11028 (__vector
unsigned short)
__b,
__c, __cc);
11032 vec_search_string_cc(__vector
unsigned short __a, __vector
unsigned short __b,
11033 __vector
unsigned char __c,
int *__cc) {
11034 return __builtin_s390_vstrsh(
__a,
__b,
__c, __cc);
11038 vec_search_string_cc(__vector
signed int __a, __vector
signed int __b,
11039 __vector
unsigned char __c,
int *__cc) {
11040 return __builtin_s390_vstrsf((__vector
unsigned int)
__a,
11041 (__vector
unsigned int)
__b,
__c, __cc);
11045 vec_search_string_cc(__vector __bool
int __a, __vector __bool
int __b,
11046 __vector
unsigned char __c,
int *__cc) {
11047 return __builtin_s390_vstrsf((__vector
unsigned int)
__a,
11048 (__vector
unsigned int)
__b,
__c, __cc);
11052 vec_search_string_cc(__vector
unsigned int __a, __vector
unsigned int __b,
11053 __vector
unsigned char __c,
int *__cc) {
11054 return __builtin_s390_vstrsf(
__a,
__b,
__c, __cc);
11064 vec_search_string_until_zero_cc(__vector
signed char __a,
11065 __vector
signed char __b,
11066 __vector
unsigned char __c,
int *__cc) {
11067 return __builtin_s390_vstrszb((__vector
unsigned char)
__a,
11068 (__vector
unsigned char)
__b,
__c, __cc);
11072 vec_search_string_until_zero_cc(__vector __bool
char __a,
11073 __vector __bool
char __b,
11074 __vector
unsigned char __c,
int *__cc) {
11075 return __builtin_s390_vstrszb((__vector
unsigned char)
__a,
11076 (__vector
unsigned char)
__b,
__c, __cc);
11080 vec_search_string_until_zero_cc(__vector
unsigned char __a,
11081 __vector
unsigned char __b,
11082 __vector
unsigned char __c,
int *__cc) {
11083 return __builtin_s390_vstrszb(
__a,
__b,
__c, __cc);
11087 vec_search_string_until_zero_cc(__vector
signed short __a,
11088 __vector
signed short __b,
11089 __vector
unsigned char __c,
int *__cc) {
11090 return __builtin_s390_vstrszh((__vector
unsigned short)
__a,
11091 (__vector
unsigned short)
__b,
__c, __cc);
11095 vec_search_string_until_zero_cc(__vector __bool
short __a,
11096 __vector __bool
short __b,
11097 __vector
unsigned char __c,
int *__cc) {
11098 return __builtin_s390_vstrszh((__vector
unsigned short)
__a,
11099 (__vector
unsigned short)
__b,
__c, __cc);
11103 vec_search_string_until_zero_cc(__vector
unsigned short __a,
11104 __vector
unsigned short __b,
11105 __vector
unsigned char __c,
int *__cc) {
11106 return __builtin_s390_vstrszh(
__a,
__b,
__c, __cc);
11110 vec_search_string_until_zero_cc(__vector
signed int __a,
11111 __vector
signed int __b,
11112 __vector
unsigned char __c,
int *__cc) {
11113 return __builtin_s390_vstrszf((__vector
unsigned int)
__a,
11114 (__vector
unsigned int)
__b,
__c, __cc);
11118 vec_search_string_until_zero_cc(__vector __bool
int __a,
11119 __vector __bool
int __b,
11120 __vector
unsigned char __c,
int *__cc) {
11121 return __builtin_s390_vstrszf((__vector
unsigned int)
__a,
11122 (__vector
unsigned int)
__b,
__c, __cc);
11126 vec_search_string_until_zero_cc(__vector
unsigned int __a,
11127 __vector
unsigned int __b,
11128 __vector
unsigned char __c,
int *__cc) {
11129 return __builtin_s390_vstrszf(
__a,
__b,
__c, __cc);
11134 #undef __constant_pow2_range
11135 #undef __constant_range
11138 #undef __ATTRS_o_ai
11143 #error "Use -fzvector to enable vector extensions"
_Float16 __2f16 __attribute__((ext_vector_type(2)))
Zeroes the upper 128 bits (bits 255:128) of all YMM registers.
static __inline__ vector bool char __ATTRS_o_ai vec_cmpeq(vector signed char __a, vector signed char __b)
static __inline__ signed char __ATTRS_o_ai vec_extract(vector signed char __a, signed int __b)
static __inline__ vector float __ATTRS_o_ai vec_ceil(vector float __a)
static __inline__ int __ATTRS_o_ai vec_any_ngt(vector float __a, vector float __b)
static __inline__ int __ATTRS_o_ai vec_any_ne(vector signed char __a, vector signed char __b)
static __ATTRS_o_ai vector signed char vec_xl(ptrdiff_t __offset, const signed char *__ptr)
static __inline__ int __ATTRS_o_ai vec_any_nge(vector float __a, vector float __b)
static __inline__ vector signed char __ATTRS_o_ai vec_sldw(vector signed char __a, vector signed char __b, unsigned const int __c)
static __inline__ vector float vector float vector float __c
static __inline__ vector short __ATTRS_o_ai vec_mule(vector signed char __a, vector signed char __b)
static __inline__ int __ATTRS_o_ai vec_any_le(vector signed char __a, vector signed char __b)
static __inline__ vector float vector float __b
static __inline__ vector float __ATTRS_o_ai vec_round(vector float __a)
static __inline__ vector signed int __ATTRS_o_ai vec_subc(vector signed int __a, vector signed int __b)
static __inline__ vector signed int __ATTRS_o_ai vec_addc(vector signed int __a, vector signed int __b)
static __inline__ int __ATTRS_o_ai vec_all_le(vector signed char __a, vector signed char __b)
static __ATTRS_o_ai vector bool char vec_reve(vector bool char __a)
static __inline__ vector signed char __ATTRS_o_ai vec_splats(signed char __a)
static __inline__ vector bool char __ATTRS_o_ai vec_revb(vector bool char __a)
static __inline__ int __ATTRS_o_ai vec_any_nan(vector float __a)
static __inline__ int __ATTRS_o_ai vec_all_eq(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_andc(vector signed char __a, vector signed char __b)
static __inline__ vector signed int __ATTRS_o_ai vec_sld(vector signed int, vector signed int, unsigned const int __c)
static __inline__ vector short __ATTRS_o_ai vec_unpackl(vector signed char __a)
static __inline__ int __ATTRS_o_ai vec_all_ne(vector signed char __a, vector signed char __b)
static __inline__ vector signed int __ATTRS_o_ai vec_signed(vector float __a)
static __inline__ vector signed char __ATTRS_o_ai vec_avg(vector signed char __a, vector signed char __b)
static __ATTRS_o_ai void vec_xst(vector signed char __vec, ptrdiff_t __offset, signed char *__ptr)
static __inline__ vector signed char __ATTRS_o_ai vec_splat_s8(signed char __a)
static __inline__ int __ATTRS_o_ai vec_all_nan(vector float __a)
static __inline__ vector signed char __ATTRS_o_ai vec_mergel(vector signed char __a, vector signed char __b)
static __inline__ int __ATTRS_o_ai vec_all_ngt(vector float __a, vector float __b)
static __inline__ vector float __ATTRS_o_ai vec_floor(vector float __a)
static __inline__ int __ATTRS_o_ai vec_all_gt(vector signed char __a, vector signed char __b)
static __inline__ vector int __ATTRS_o_ai vec_splat_s32(signed char __a)
static __inline__ vector signed char __ATTRS_o_ai vec_promote(signed char __a, int __b)
static __inline__ vector signed char __ATTRS_o_ai vec_perm(vector signed char __a, vector signed char __b, vector unsigned char __c)
static __inline__ vector signed short __ATTRS_o_ai vec_mladd(vector signed short, vector signed short, vector signed short)
static __inline__ vector signed char __ATTRS_o_ai vec_sel(vector signed char __a, vector signed char __b, vector unsigned char __c)
static __inline__ int __ATTRS_o_ai vec_any_numeric(vector float __a)
static __inline__ vector float __ATTRS_o_ai vec_float(vector signed int __a)
static __inline__ vector unsigned int __ATTRS_o_ai vec_splat_u32(signed char __a)
static __inline__ vector signed char __ATTRS_o_ai vec_mergeh(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_rl(vector signed char __a, vector unsigned char __b)
static __inline__ vector bool char __ATTRS_o_ai vec_cmplt(vector signed char __a, vector signed char __b)
static __inline__ vector unsigned int __ATTRS_o_ai vec_unsigned(vector float __a)
static __inline__ vector float __ATTRS_o_ai vec_roundp(vector float __a)
static __inline__ vector signed char __ATTRS_o_ai vec_max(vector signed char __a, vector signed char __b)
static __inline__ int __ATTRS_o_ai vec_all_lt(vector signed char __a, vector signed char __b)
static __inline__ int __ATTRS_o_ai vec_any_ge(vector signed char __a, vector signed char __b)
static __inline__ int __ATTRS_o_ai vec_all_numeric(vector float __a)
static __inline__ vector signed char __ATTRS_o_ai vec_nor(vector signed char __a, vector signed char __b)
static __inline__ vector bool char __ATTRS_o_ai vec_cmpge(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_pack(vector signed short __a, vector signed short __b)
static __inline__ vector unsigned char __ATTRS_o_ai vec_packsu(vector short __a, vector short __b)
static __inline__ vector short __ATTRS_o_ai vec_mulo(vector signed char __a, vector signed char __b)
static __inline__ int __ATTRS_o_ai vec_all_nge(vector float __a, vector float __b)
static __inline__ vector signed char __ATTRS_o_ai vec_srl(vector signed char __a, vector unsigned char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_min(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_splat(vector signed char __a, unsigned const int __b)
static vector float __ATTRS_o_ai vec_nabs(vector float __a)
static __inline__ vector short __ATTRS_o_ai vec_unpackh(vector signed char __a)
static __inline__ vector short __ATTRS_o_ai vec_splat_s16(signed char __a)
static __inline__ int __ATTRS_o_ai vec_any_nlt(vector float __a, vector float __b)
static __inline__ vector signed char __ATTRS_o_ai vec_abs(vector signed char __a)
static __inline__ vector signed short __ATTRS_o_ai vec_madd(vector signed short __a, vector signed short __b, vector signed short __c)
static __inline__ int __ATTRS_o_ai vec_any_lt(vector signed char __a, vector signed char __b)
static __inline__ int __ATTRS_o_ai vec_all_ge(vector signed char __a, vector signed char __b)
static __inline__ vector float __ATTRS_o_ai vec_roundm(vector float __a)
static __inline__ int __ATTRS_o_ai vec_all_nle(vector float __a, vector float __b)
static __inline__ vector float __ATTRS_o_ai vec_trunc(vector float __a)
static __inline__ vector bool char __ATTRS_o_ai vec_cmpgt(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_insert(signed char __a, vector signed char __b, int __c)
static __inline__ vector signed char __ATTRS_o_ai vec_sll(vector signed char __a, vector unsigned char __b)
static __inline__ int __ATTRS_o_ai vec_any_gt(vector signed char __a, vector signed char __b)
static __inline__ vector bool char __ATTRS_o_ai vec_cmple(vector signed char __a, vector signed char __b)
static __inline__ vector unsigned short __ATTRS_o_ai vec_splat_u16(signed char __a)
static __inline__ int __ATTRS_o_ai vec_all_nlt(vector float __a, vector float __b)
static __inline__ vector signed char __ATTRS_o_ai vec_packs(vector short __a, vector short __b)
static __inline__ int __ATTRS_o_ai vec_any_eq(vector signed char __a, vector signed char __b)
static __inline__ vector float __ATTRS_o_ai vec_roundz(vector float __a)
static __inline__ int __ATTRS_o_ai vec_any_nle(vector float __a, vector float __b)
static __inline__ vector float __ATTRS_o_ai vec_nmsub(vector float __a, vector float __b, vector float __c)
static __inline__ vector unsigned char __ATTRS_o_ai vec_splat_u8(unsigned char __a)
static __inline__ void int __a
static __inline__ void unsigned int __value