27 #error "AltiVec support not enabled"
33 #define __CR6_EQ_REV 1
35 #define __CR6_LT_REV 3
37 #define __ATTRS_o_ai __attribute__((__overloadable__, __always_inline__))
40 vector
signed char __a, vector
signed char __b, vector
unsigned char __c);
43 vec_perm(vector
unsigned char __a, vector
unsigned char __b,
44 vector
unsigned char __c);
47 vec_perm(vector
bool char __a, vector
bool char __b, vector
unsigned char __c);
50 vector
signed short __b,
51 vector
unsigned char __c);
54 vec_perm(vector
unsigned short __a, vector
unsigned short __b,
55 vector
unsigned char __c);
58 vector
bool short __a, vector
bool short __b, vector
unsigned char __c);
62 vector
unsigned char __c);
65 vector
signed int __b,
66 vector
unsigned char __c);
69 vector
unsigned int __a, vector
unsigned int __b, vector
unsigned char __c);
72 vec_perm(vector
bool int __a, vector
bool int __b, vector
unsigned char __c);
76 vector
unsigned char __c);
80 vec_perm(vector
signed long long __a, vector
signed long long __b,
81 vector
unsigned char __c);
84 vec_perm(vector
unsigned long long __a, vector
unsigned long long __b,
85 vector
unsigned char __c);
88 vec_perm(vector
bool long long __a, vector
bool long long __b,
89 vector
unsigned char __c);
93 vector
unsigned char __c);
97 vec_xor(vector
unsigned char __a, vector
unsigned char __b);
101 #define __builtin_altivec_abs_v16qi vec_abs
102 #define __builtin_altivec_abs_v8hi vec_abs
103 #define __builtin_altivec_abs_v4si vec_abs
107 return __builtin_altivec_vmaxsb(__a, -__a);
112 return __builtin_altivec_vmaxsh(__a, -__a);
117 return __builtin_altivec_vmaxsw(__a, -__a);
120 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
122 vec_abs(vector
signed long long __a) {
123 return __builtin_altivec_vmaxsd(__a, -__a);
129 return __builtin_vsx_xvabssp(__a);
131 vector
unsigned int __res =
132 (vector
unsigned int)__a & (vector
unsigned int)(0x7FFFFFFF);
133 return (vector
float)__res;
137 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
139 return __builtin_vsx_xvabsdp(__a);
144 #define __builtin_altivec_abss_v16qi vec_abss
145 #define __builtin_altivec_abss_v8hi vec_abss
146 #define __builtin_altivec_abss_v4si vec_abss
150 return __builtin_altivec_vmaxsb(
151 __a, __builtin_altivec_vsubsbs((vector
signed char)(0), __a));
156 return __builtin_altivec_vmaxsh(
157 __a, __builtin_altivec_vsubshs((vector
signed short)(0), __a));
162 return __builtin_altivec_vmaxsw(
163 __a, __builtin_altivec_vsubsws((vector
signed int)(0), __a));
175 return (vector
signed char)__a +
__b;
180 return __a + (vector
signed char)__b;
184 vec_add(vector
unsigned char __a, vector
unsigned char __b) {
190 return (vector
unsigned char)__a +
__b;
195 return __a + (vector
unsigned char)__b;
205 return (vector
short)__a +
__b;
209 vector
bool short __b) {
210 return __a + (vector short)__b;
214 vec_add(vector
unsigned short __a, vector
unsigned short __b) {
220 return (vector
unsigned short)__a +
__b;
225 return __a + (vector
unsigned short)__b;
235 return (vector
int)__a +
__b;
239 vector
bool int __b) {
240 return __a + (vector int)__b;
250 return (vector
unsigned int)__a +
__b;
255 return __a + (vector
unsigned int)__b;
258 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
260 vec_add(vector
signed long long __a, vector
signed long long __b) {
264 static __inline__ vector
unsigned long long __ATTRS_o_ai
265 vec_add(vector
unsigned long long __a, vector
unsigned long long __b) {
270 vec_add(vector
signed __int128 __a, vector
signed __int128
__b) {
275 vec_add(vector
unsigned __int128 __a, vector
unsigned __int128
__b) {
278 #endif // defined(__POWER8_VECTOR__) && defined(__powerpc64__)
294 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
296 vec_adde(vector
signed __int128 __a, vector
signed __int128
__b,
297 vector
signed __int128
__c) {
298 return __builtin_altivec_vaddeuqm(__a, __b, __c);
302 vec_adde(vector
unsigned __int128 __a, vector
unsigned __int128
__b,
303 vector
unsigned __int128
__c) {
304 return __builtin_altivec_vaddeuqm(__a, __b, __c);
310 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
312 vec_addec(vector
signed __int128 __a, vector
signed __int128
__b,
313 vector
signed __int128
__c) {
314 return __builtin_altivec_vaddecuq(__a, __b, __c);
318 vec_addec(vector
unsigned __int128 __a, vector
unsigned __int128
__b,
319 vector
unsigned __int128
__c) {
320 return __builtin_altivec_vaddecuq(__a, __b, __c);
326 #define __builtin_altivec_vaddubm vec_vaddubm
335 return (vector
signed char)__a +
__b;
340 return __a + (vector
signed char)__b;
350 return (vector
unsigned char)__a +
__b;
355 return __a + (vector
unsigned char)__b;
360 #define __builtin_altivec_vadduhm vec_vadduhm
369 return (vector
short)__a +
__b;
373 vector
bool short __b) {
374 return __a + (vector short)__b;
384 return (vector
unsigned short)__a +
__b;
389 return __a + (vector
unsigned short)__b;
394 #define __builtin_altivec_vadduwm vec_vadduwm
403 return (vector
int)__a +
__b;
407 vector
bool int __b) {
408 return __a + (vector int)__b;
418 return (vector
unsigned int)__a +
__b;
423 return __a + (vector
unsigned int)__b;
428 #define __builtin_altivec_vaddfp vec_vaddfp
430 static __inline__ vector
float __attribute__((__always_inline__))
431 vec_vaddfp(vector
float __a, vector
float __b) {
439 return (vector
signed int)__builtin_altivec_vaddcuw((vector
unsigned int)__a,
440 (vector
unsigned int)__b);
445 return __builtin_altivec_vaddcuw(__a, __b);
448 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
450 vec_addc(vector
signed __int128 __a, vector
signed __int128
__b) {
451 return (vector
signed __int128)__builtin_altivec_vaddcuq(
452 (vector
unsigned __int128)__a, (vector
unsigned __int128)__b);
456 vec_addc(vector
unsigned __int128 __a, vector
unsigned __int128 __b) {
457 return __builtin_altivec_vaddcuq(__a, __b);
459 #endif // defined(__POWER8_VECTOR__) && defined(__powerpc64__)
463 static __inline__ vector
unsigned int __attribute__((__always_inline__))
464 vec_vaddcuw(vector
unsigned int __a, vector
unsigned int __b) {
465 return __builtin_altivec_vaddcuw(__a, __b);
471 vec_adds(vector
signed char __a, vector
signed char __b) {
472 return __builtin_altivec_vaddsbs(__a, __b);
476 vec_adds(vector
bool char __a, vector
signed char __b) {
477 return __builtin_altivec_vaddsbs((vector
signed char)__a, __b);
481 vec_adds(vector
signed char __a, vector
bool char __b) {
482 return __builtin_altivec_vaddsbs(__a, (vector
signed char)__b);
486 vec_adds(vector
unsigned char __a, vector
unsigned char __b) {
487 return __builtin_altivec_vaddubs(__a, __b);
491 vec_adds(vector
bool char __a, vector
unsigned char __b) {
492 return __builtin_altivec_vaddubs((vector
unsigned char)__a, __b);
496 vec_adds(vector
unsigned char __a, vector
bool char __b) {
497 return __builtin_altivec_vaddubs(__a, (vector
unsigned char)__b);
502 return __builtin_altivec_vaddshs(__a, __b);
507 return __builtin_altivec_vaddshs((vector
short)__a, __b);
511 vector
bool short __b) {
512 return __builtin_altivec_vaddshs(__a, (vector
short)__b);
516 vec_adds(vector
unsigned short __a, vector
unsigned short __b) {
517 return __builtin_altivec_vadduhs(__a, __b);
521 vec_adds(vector
bool short __a, vector
unsigned short __b) {
522 return __builtin_altivec_vadduhs((vector
unsigned short)__a, __b);
526 vec_adds(vector
unsigned short __a, vector
bool short __b) {
527 return __builtin_altivec_vadduhs(__a, (vector
unsigned short)__b);
532 return __builtin_altivec_vaddsws(__a, __b);
537 return __builtin_altivec_vaddsws((vector
int)__a, __b);
541 vector
bool int __b) {
542 return __builtin_altivec_vaddsws(__a, (vector
int)__b);
546 vec_adds(vector
unsigned int __a, vector
unsigned int __b) {
547 return __builtin_altivec_vadduws(__a, __b);
551 vec_adds(vector
bool int __a, vector
unsigned int __b) {
552 return __builtin_altivec_vadduws((vector
unsigned int)__a, __b);
556 vec_adds(vector
unsigned int __a, vector
bool int __b) {
557 return __builtin_altivec_vadduws(__a, (vector
unsigned int)__b);
564 return __builtin_altivec_vaddsbs(__a, __b);
569 return __builtin_altivec_vaddsbs((vector
signed char)__a, __b);
574 return __builtin_altivec_vaddsbs(__a, (vector
signed char)__b);
581 return __builtin_altivec_vaddubs(__a, __b);
586 return __builtin_altivec_vaddubs((vector
unsigned char)__a, __b);
591 return __builtin_altivec_vaddubs(__a, (vector
unsigned char)__b);
598 return __builtin_altivec_vaddshs(__a, __b);
603 return __builtin_altivec_vaddshs((vector
short)__a, __b);
607 vector
bool short __b) {
608 return __builtin_altivec_vaddshs(__a, (vector
short)__b);
614 vec_vadduhs(vector
unsigned short __a, vector
unsigned short __b) {
615 return __builtin_altivec_vadduhs(__a, __b);
620 return __builtin_altivec_vadduhs((vector
unsigned short)__a, __b);
625 return __builtin_altivec_vadduhs(__a, (vector
unsigned short)__b);
632 return __builtin_altivec_vaddsws(__a, __b);
637 return __builtin_altivec_vaddsws((vector
int)__a, __b);
641 vector
bool int __b) {
642 return __builtin_altivec_vaddsws(__a, (vector
int)__b);
649 return __builtin_altivec_vadduws(__a, __b);
654 return __builtin_altivec_vadduws((vector
unsigned int)__a, __b);
659 return __builtin_altivec_vadduws(__a, (vector
unsigned int)__b);
662 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
666 vec_vadduqm(vector
signed __int128 __a, vector
signed __int128 __b) {
671 vec_vadduqm(vector
unsigned __int128 __a, vector
unsigned __int128 __b) {
678 vec_vaddeuqm(vector
signed __int128 __a, vector
signed __int128 __b,
679 vector
signed __int128
__c) {
680 return __builtin_altivec_vaddeuqm(__a, __b, __c);
684 vec_vaddeuqm(vector
unsigned __int128 __a, vector
unsigned __int128 __b,
685 vector
unsigned __int128
__c) {
686 return __builtin_altivec_vaddeuqm(__a, __b, __c);
692 vec_vaddcuq(vector
signed __int128 __a, vector
signed __int128 __b) {
693 return __builtin_altivec_vaddcuq(__a, __b);
697 vec_vaddcuq(vector
unsigned __int128 __a, vector
unsigned __int128 __b) {
698 return __builtin_altivec_vaddcuq(__a, __b);
704 vec_vaddecuq(vector
signed __int128 __a, vector
signed __int128 __b,
705 vector
signed __int128
__c) {
706 return __builtin_altivec_vaddecuq(__a, __b, __c);
710 vec_vaddecuq(vector
unsigned __int128 __a, vector
unsigned __int128 __b,
711 vector
unsigned __int128
__c) {
712 return __builtin_altivec_vaddecuq(__a, __b, __c);
714 #endif // defined(__POWER8_VECTOR__) && defined(__powerpc64__)
718 #define __builtin_altivec_vand vec_and
721 vec_and(vector
signed char __a, vector
signed char __b) {
726 vec_and(vector
bool char __a, vector
signed char __b) {
727 return (vector
signed char)__a &
__b;
731 vec_and(vector
signed char __a, vector
bool char __b) {
732 return __a & (vector
signed char)__b;
736 vec_and(vector
unsigned char __a, vector
unsigned char __b) {
741 vec_and(vector
bool char __a, vector
unsigned char __b) {
742 return (vector
unsigned char)__a &
__b;
746 vec_and(vector
unsigned char __a, vector
bool char __b) {
747 return __a & (vector
unsigned char)__b;
751 vector
bool char __b) {
762 return (vector
short)__a &
__b;
766 vector
bool short __b) {
767 return __a & (vector short)__b;
771 vec_and(vector
unsigned short __a, vector
unsigned short __b) {
776 vec_and(vector
bool short __a, vector
unsigned short __b) {
777 return (vector
unsigned short)__a &
__b;
781 vec_and(vector
unsigned short __a, vector
bool short __b) {
782 return __a & (vector
unsigned short)__b;
786 vec_and(vector
bool short __a, vector
bool short __b) {
797 return (vector
int)__a &
__b;
801 vector
bool int __b) {
802 return __a & (vector int)__b;
806 vec_and(vector
unsigned int __a, vector
unsigned int __b) {
811 vec_and(vector
bool int __a, vector
unsigned int __b) {
812 return (vector
unsigned int)__a &
__b;
816 vec_and(vector
unsigned int __a, vector
bool int __b) {
817 return __a & (vector
unsigned int)__b;
821 vector
bool int __b) {
827 vector
unsigned int __res =
828 (vector
unsigned int)__a & (vector
unsigned int)
__b;
829 return (vector
float)__res;
834 vector
unsigned int __res =
835 (vector
unsigned int)__a & (vector
unsigned int)
__b;
836 return (vector
float)__res;
840 vector
bool int __b) {
841 vector
unsigned int __res =
842 (vector
unsigned int)__a & (vector
unsigned int)
__b;
843 return (vector
float)__res;
849 vector
unsigned long long __res =
850 (vector
unsigned long long)__a & (vector
unsigned long long)
__b;
851 return (vector
double)__res;
855 vec_and(vector
double __a, vector
bool long long __b) {
856 vector
unsigned long long __res =
857 (vector
unsigned long long)__a & (vector
unsigned long long)
__b;
858 return (vector
double)__res;
863 vector
unsigned long long __res =
864 (vector
unsigned long long)__a & (vector
unsigned long long)
__b;
865 return (vector
double)__res;
869 vec_and(vector
signed long long __a, vector
signed long long __b) {
874 vec_and(vector
bool long long __a, vector
signed long long __b) {
875 return (vector
signed long long)__a &
__b;
879 vec_and(vector
signed long long __a, vector
bool long long __b) {
880 return __a & (vector
signed long long)__b;
883 static __inline__ vector
unsigned long long __ATTRS_o_ai
884 vec_and(vector
unsigned long long __a, vector
unsigned long long __b) {
888 static __inline__ vector
unsigned long long __ATTRS_o_ai
889 vec_and(vector
bool long long __a, vector
unsigned long long __b) {
890 return (vector
unsigned long long)__a &
__b;
893 static __inline__ vector
unsigned long long __ATTRS_o_ai
894 vec_and(vector
unsigned long long __a, vector
bool long long __b) {
895 return __a & (vector
unsigned long long)__b;
899 vec_and(vector
bool long long __a, vector
bool long long __b) {
907 vec_vand(vector
signed char __a, vector
signed char __b) {
912 vec_vand(vector
bool char __a, vector
signed char __b) {
913 return (vector
signed char)__a &
__b;
917 vec_vand(vector
signed char __a, vector
bool char __b) {
918 return __a & (vector
signed char)__b;
922 vec_vand(vector
unsigned char __a, vector
unsigned char __b) {
927 vec_vand(vector
bool char __a, vector
unsigned char __b) {
928 return (vector
unsigned char)__a &
__b;
932 vec_vand(vector
unsigned char __a, vector
bool char __b) {
933 return __a & (vector
unsigned char)__b;
937 vector
bool char __b) {
948 return (vector
short)__a &
__b;
952 vector
bool short __b) {
953 return __a & (vector short)__b;
957 vec_vand(vector
unsigned short __a, vector
unsigned short __b) {
962 vec_vand(vector
bool short __a, vector
unsigned short __b) {
963 return (vector
unsigned short)__a &
__b;
967 vec_vand(vector
unsigned short __a, vector
bool short __b) {
968 return __a & (vector
unsigned short)__b;
972 vec_vand(vector
bool short __a, vector
bool short __b) {
983 return (vector
int)__a &
__b;
987 vector
bool int __b) {
988 return __a & (vector int)__b;
992 vec_vand(vector
unsigned int __a, vector
unsigned int __b) {
997 vec_vand(vector
bool int __a, vector
unsigned int __b) {
998 return (vector
unsigned int)__a &
__b;
1002 vec_vand(vector
unsigned int __a, vector
bool int __b) {
1003 return __a & (vector
unsigned int)__b;
1007 vector
bool int __b) {
1013 vector
unsigned int __res =
1014 (vector
unsigned int)__a & (vector
unsigned int)
__b;
1015 return (vector
float)__res;
1020 vector
unsigned int __res =
1021 (vector
unsigned int)__a & (vector
unsigned int)
__b;
1022 return (vector
float)__res;
1026 vector
bool int __b) {
1027 vector
unsigned int __res =
1028 (vector
unsigned int)__a & (vector
unsigned int)
__b;
1029 return (vector
float)__res;
1034 vec_vand(vector
signed long long __a, vector
signed long long __b) {
1039 vec_vand(vector
bool long long __a, vector
signed long long __b) {
1040 return (vector
signed long long)__a &
__b;
1044 vec_vand(vector
signed long long __a, vector
bool long long __b) {
1045 return __a & (vector
signed long long)__b;
1048 static __inline__ vector
unsigned long long __ATTRS_o_ai
1049 vec_vand(vector
unsigned long long __a, vector
unsigned long long __b) {
1053 static __inline__ vector
unsigned long long __ATTRS_o_ai
1054 vec_vand(vector
bool long long __a, vector
unsigned long long __b) {
1055 return (vector
unsigned long long)__a &
__b;
1058 static __inline__ vector
unsigned long long __ATTRS_o_ai
1059 vec_vand(vector
unsigned long long __a, vector
bool long long __b) {
1060 return __a & (vector
unsigned long long)__b;
1064 vec_vand(vector
bool long long __a, vector
bool long long __b) {
1071 #define __builtin_altivec_vandc vec_andc
1074 vec_andc(vector
signed char __a, vector
signed char __b) {
1079 vec_andc(vector
bool char __a, vector
signed char __b) {
1080 return (vector
signed char)__a & ~__b;
1084 vec_andc(vector
signed char __a, vector
bool char __b) {
1085 return __a & ~(vector
signed char)__b;
1089 vec_andc(vector
unsigned char __a, vector
unsigned char __b) {
1094 vec_andc(vector
bool char __a, vector
unsigned char __b) {
1095 return (vector
unsigned char)__a & ~__b;
1099 vec_andc(vector
unsigned char __a, vector
bool char __b) {
1100 return __a & ~(vector
unsigned char)__b;
1104 vector
bool char __b) {
1115 return (vector
short)__a & ~__b;
1119 vector
bool short __b) {
1120 return __a & ~(vector short)__b;
1124 vec_andc(vector
unsigned short __a, vector
unsigned short __b) {
1129 vec_andc(vector
bool short __a, vector
unsigned short __b) {
1130 return (vector
unsigned short)__a & ~__b;
1134 vec_andc(vector
unsigned short __a, vector
bool short __b) {
1135 return __a & ~(vector
unsigned short)__b;
1139 vec_andc(vector
bool short __a, vector
bool short __b) {
1150 return (vector
int)__a & ~__b;
1154 vector
bool int __b) {
1155 return __a & ~(vector int)__b;
1159 vec_andc(vector
unsigned int __a, vector
unsigned int __b) {
1164 vec_andc(vector
bool int __a, vector
unsigned int __b) {
1165 return (vector
unsigned int)__a & ~__b;
1169 vec_andc(vector
unsigned int __a, vector
bool int __b) {
1170 return __a & ~(vector
unsigned int)__b;
1174 vector
bool int __b) {
1180 vector
unsigned int __res =
1181 (vector
unsigned int)__a & ~(vector
unsigned int)
__b;
1182 return (vector
float)__res;
1187 vector
unsigned int __res =
1188 (vector
unsigned int)__a & ~(vector
unsigned int)
__b;
1189 return (vector
float)__res;
1193 vector
bool int __b) {
1194 vector
unsigned int __res =
1195 (vector
unsigned int)__a & ~(vector
unsigned int)
__b;
1196 return (vector
float)__res;
1201 vector
double __b) {
1202 vector
unsigned long long __res =
1203 (vector
unsigned long long)__a & ~(vector
unsigned long long)
__b;
1204 return (vector
double)__res;
1208 vec_andc(vector
double __a, vector
bool long long __b) {
1209 vector
unsigned long long __res =
1210 (vector
unsigned long long)__a & ~(vector
unsigned long long)
__b;
1211 return (vector
double)__res;
1215 vector
double __b) {
1216 vector
unsigned long long __res =
1217 (vector
unsigned long long)__a & ~(vector
unsigned long long)
__b;
1218 return (vector
double)__res;
1222 vec_andc(vector
signed long long __a, vector
signed long long __b) {
1227 vec_andc(vector
bool long long __a, vector
signed long long __b) {
1228 return (vector
signed long long)__a & ~__b;
1232 vec_andc(vector
signed long long __a, vector
bool long long __b) {
1233 return __a & ~(vector
signed long long)__b;
1236 static __inline__ vector
unsigned long long __ATTRS_o_ai
1237 vec_andc(vector
unsigned long long __a, vector
unsigned long long __b) {
1241 static __inline__ vector
unsigned long long __ATTRS_o_ai
1242 vec_andc(vector
bool long long __a, vector
unsigned long long __b) {
1243 return (vector
unsigned long long)__a & ~__b;
1246 static __inline__ vector
unsigned long long __ATTRS_o_ai
1247 vec_andc(vector
unsigned long long __a, vector
bool long long __b) {
1248 return __a & ~(vector
unsigned long long)__b;
1252 vec_andc(vector
bool long long __a, vector
bool long long __b) {
1266 return (vector
signed char)__a & ~__b;
1271 return __a & ~(vector
signed char)__b;
1275 vec_vandc(vector
unsigned char __a, vector
unsigned char __b) {
1281 return (vector
unsigned char)__a & ~__b;
1286 return __a & ~(vector
unsigned char)__b;
1301 return (vector
short)__a & ~__b;
1305 vector
bool short __b) {
1306 return __a & ~(vector short)__b;
1310 vec_vandc(vector
unsigned short __a, vector
unsigned short __b) {
1315 vec_vandc(vector
bool short __a, vector
unsigned short __b) {
1316 return (vector
unsigned short)__a & ~__b;
1320 vec_vandc(vector
unsigned short __a, vector
bool short __b) {
1321 return __a & ~(vector
unsigned short)__b;
1336 return (vector
int)__a & ~__b;
1340 vector
bool int __b) {
1341 return __a & ~(vector int)__b;
1345 vec_vandc(vector
unsigned int __a, vector
unsigned int __b) {
1351 return (vector
unsigned int)__a & ~__b;
1356 return __a & ~(vector
unsigned int)__b;
1360 vector
bool int __b) {
1366 vector
unsigned int __res =
1367 (vector
unsigned int)__a & ~(vector
unsigned int)
__b;
1368 return (vector
float)__res;
1373 vector
unsigned int __res =
1374 (vector
unsigned int)__a & ~(vector
unsigned int)
__b;
1375 return (vector
float)__res;
1379 vector
bool int __b) {
1380 vector
unsigned int __res =
1381 (vector
unsigned int)__a & ~(vector
unsigned int)
__b;
1382 return (vector
float)__res;
1387 vec_vandc(vector
signed long long __a, vector
signed long long __b) {
1392 vec_vandc(vector
bool long long __a, vector
signed long long __b) {
1393 return (vector
signed long long)__a & ~__b;
1397 vec_vandc(vector
signed long long __a, vector
bool long long __b) {
1398 return __a & ~(vector
signed long long)__b;
1401 static __inline__ vector
unsigned long long __ATTRS_o_ai
1402 vec_vandc(vector
unsigned long long __a, vector
unsigned long long __b) {
1406 static __inline__ vector
unsigned long long __ATTRS_o_ai
1407 vec_vandc(vector
bool long long __a, vector
unsigned long long __b) {
1408 return (vector
unsigned long long)__a & ~__b;
1411 static __inline__ vector
unsigned long long __ATTRS_o_ai
1412 vec_vandc(vector
unsigned long long __a, vector
bool long long __b) {
1413 return __a & ~(vector
unsigned long long)__b;
1417 vec_vandc(vector
bool long long __a, vector
bool long long __b) {
1425 vec_avg(vector
signed char __a, vector
signed char __b) {
1426 return __builtin_altivec_vavgsb(__a, __b);
1430 vec_avg(vector
unsigned char __a, vector
unsigned char __b) {
1431 return __builtin_altivec_vavgub(__a, __b);
1436 return __builtin_altivec_vavgsh(__a, __b);
1440 vec_avg(vector
unsigned short __a, vector
unsigned short __b) {
1441 return __builtin_altivec_vavguh(__a, __b);
1446 return __builtin_altivec_vavgsw(__a, __b);
1450 vec_avg(vector
unsigned int __a, vector
unsigned int __b) {
1451 return __builtin_altivec_vavguw(__a, __b);
1456 static __inline__ vector
signed char __attribute__((__always_inline__))
1457 vec_vavgsb(vector
signed char __a, vector
signed char __b) {
1458 return __builtin_altivec_vavgsb(__a, __b);
1463 static __inline__ vector
unsigned char __attribute__((__always_inline__))
1464 vec_vavgub(vector
unsigned char __a, vector
unsigned char __b) {
1465 return __builtin_altivec_vavgub(__a, __b);
1470 static __inline__ vector
short __attribute__((__always_inline__))
1471 vec_vavgsh(vector
short __a, vector
short __b) {
1472 return __builtin_altivec_vavgsh(__a, __b);
1477 static __inline__ vector
unsigned short __attribute__((__always_inline__))
1478 vec_vavguh(vector
unsigned short __a, vector
unsigned short __b) {
1479 return __builtin_altivec_vavguh(__a, __b);
1484 static __inline__ vector
int __attribute__((__always_inline__))
1485 vec_vavgsw(vector
int __a, vector
int __b) {
1486 return __builtin_altivec_vavgsw(__a, __b);
1491 static __inline__ vector
unsigned int __attribute__((__always_inline__))
1492 vec_vavguw(vector
unsigned int __a, vector
unsigned int __b) {
1493 return __builtin_altivec_vavguw(__a, __b);
1500 return __builtin_vsx_xvrspip(__a);
1502 return __builtin_altivec_vrfip(__a);
1508 return __builtin_vsx_xvrdpip(__a);
1515 vec_vrfip(vector
float __a) {
1516 return __builtin_altivec_vrfip(__a);
1521 static __inline__ vector
int __attribute__((__always_inline__))
1522 vec_cmpb(vector
float __a, vector
float __b) {
1523 return __builtin_altivec_vcmpbfp(__a, __b);
1528 static __inline__ vector
int __attribute__((__always_inline__))
1529 vec_vcmpbfp(vector
float __a, vector
float __b) {
1530 return __builtin_altivec_vcmpbfp(__a, __b);
1537 return (vector
bool char)__builtin_altivec_vcmpequb((vector
char)__a,
1542 vec_cmpeq(vector
unsigned char __a, vector
unsigned char __b) {
1543 return (vector
bool char)__builtin_altivec_vcmpequb((vector
char)__a,
1549 return (vector
bool short)__builtin_altivec_vcmpequh(__a, __b);
1553 vec_cmpeq(vector
unsigned short __a, vector
unsigned short __b) {
1554 return (vector
bool short)__builtin_altivec_vcmpequh((vector
short)__a,
1560 return (vector
bool int)__builtin_altivec_vcmpequw(__a, __b);
1564 vec_cmpeq(vector
unsigned int __a, vector
unsigned int __b) {
1565 return (vector
bool int)__builtin_altivec_vcmpequw((vector
int)__a,
1569 #ifdef __POWER8_VECTOR__
1571 vec_cmpeq(vector
signed long long __a, vector
signed long long __b) {
1572 return (vector
bool long long)__builtin_altivec_vcmpequd(__a, __b);
1576 vec_cmpeq(vector
unsigned long long __a, vector
unsigned long long __b) {
1577 return (vector
bool long long)__builtin_altivec_vcmpequd(
1578 (vector
long long)__a, (vector
long long)__b);
1585 return (vector
bool int)__builtin_vsx_xvcmpeqsp(__a, __b);
1587 return (vector
bool int)__builtin_altivec_vcmpeqfp(__a, __b);
1593 vec_cmpeq(vector
double __a, vector
double __b) {
1594 return (vector
bool long long)__builtin_vsx_xvcmpeqdp(__a, __b);
1602 return (vector
bool char)__builtin_altivec_vcmpgtsb(__a, __b);
1606 vec_cmpgt(vector
unsigned char __a, vector
unsigned char __b) {
1607 return (vector
bool char)__builtin_altivec_vcmpgtub(__a, __b);
1612 return (vector
bool short)__builtin_altivec_vcmpgtsh(__a, __b);
1616 vec_cmpgt(vector
unsigned short __a, vector
unsigned short __b) {
1617 return (vector
bool short)__builtin_altivec_vcmpgtuh(__a, __b);
1622 return (vector
bool int)__builtin_altivec_vcmpgtsw(__a, __b);
1626 vec_cmpgt(vector
unsigned int __a, vector
unsigned int __b) {
1627 return (vector
bool int)__builtin_altivec_vcmpgtuw(__a, __b);
1630 #ifdef __POWER8_VECTOR__
1632 vec_cmpgt(vector
signed long long __a, vector
signed long long __b) {
1633 return (vector
bool long long)__builtin_altivec_vcmpgtsd(__a, __b);
1637 vec_cmpgt(vector
unsigned long long __a, vector
unsigned long long __b) {
1638 return (vector
bool long long)__builtin_altivec_vcmpgtud(__a, __b);
1645 return (vector
bool int)__builtin_vsx_xvcmpgtsp(__a, __b);
1647 return (vector
bool int)__builtin_altivec_vcmpgtfp(__a, __b);
1653 vec_cmpgt(vector
double __a, vector
double __b) {
1654 return (vector
bool long long)__builtin_vsx_xvcmpgtdp(__a, __b);
1666 vec_cmpge(vector
unsigned char __a, vector
unsigned char __b) {
1671 vec_cmpge(vector
signed short __a, vector
signed short __b) {
1676 vec_cmpge(vector
unsigned short __a, vector
unsigned short __b) {
1686 vec_cmpge(vector
unsigned int __a, vector
unsigned int __b) {
1693 return (vector
bool int)__builtin_vsx_xvcmpgesp(__a, __b);
1695 return (vector
bool int)__builtin_altivec_vcmpgefp(__a, __b);
1701 vec_cmpge(vector
double __a, vector
double __b) {
1702 return (vector
bool long long)__builtin_vsx_xvcmpgedp(__a, __b);
1706 #ifdef __POWER8_VECTOR__
1708 vec_cmpge(vector
signed long long __a, vector
signed long long __b) {
1713 vec_cmpge(vector
unsigned long long __a, vector
unsigned long long __b) {
1720 static __inline__ vector
bool int __attribute__((__always_inline__))
1721 vec_vcmpgefp(vector
float __a, vector
float __b) {
1722 return (vector
bool int)__builtin_altivec_vcmpgefp(__a, __b);
1727 static __inline__ vector
bool char __attribute__((__always_inline__))
1728 vec_vcmpgtsb(vector
signed char __a, vector
signed char __b) {
1729 return (vector
bool char)__builtin_altivec_vcmpgtsb(__a, __b);
1734 static __inline__ vector
bool char __attribute__((__always_inline__))
1735 vec_vcmpgtub(vector
unsigned char __a, vector
unsigned char __b) {
1736 return (vector
bool char)__builtin_altivec_vcmpgtub(__a, __b);
1741 static __inline__ vector
bool short __attribute__((__always_inline__))
1742 vec_vcmpgtsh(vector
short __a, vector
short __b) {
1743 return (vector
bool short)__builtin_altivec_vcmpgtsh(__a, __b);
1748 static __inline__ vector
bool short __attribute__((__always_inline__))
1749 vec_vcmpgtuh(vector
unsigned short __a, vector
unsigned short __b) {
1750 return (vector
bool short)__builtin_altivec_vcmpgtuh(__a, __b);
1755 static __inline__ vector
bool int __attribute__((__always_inline__))
1756 vec_vcmpgtsw(vector
int __a, vector
int __b) {
1757 return (vector
bool int)__builtin_altivec_vcmpgtsw(__a, __b);
1762 static __inline__ vector
bool int __attribute__((__always_inline__))
1763 vec_vcmpgtuw(vector
unsigned int __a, vector
unsigned int __b) {
1764 return (vector
bool int)__builtin_altivec_vcmpgtuw(__a, __b);
1769 static __inline__ vector
bool int __attribute__((__always_inline__))
1770 vec_vcmpgtfp(vector
float __a, vector
float __b) {
1771 return (vector
bool int)__builtin_altivec_vcmpgtfp(__a, __b);
1782 vec_cmple(vector
unsigned char __a, vector
unsigned char __b) {
1787 vec_cmple(vector
signed short __a, vector
signed short __b) {
1792 vec_cmple(vector
unsigned short __a, vector
unsigned short __b) {
1802 vec_cmple(vector
unsigned int __a, vector
unsigned int __b) {
1813 vec_cmple(vector
double __a, vector
double __b) {
1818 #ifdef __POWER8_VECTOR__
1820 vec_cmple(vector
signed long long __a, vector
signed long long __b) {
1825 vec_cmple(vector
unsigned long long __a, vector
unsigned long long __b) {
1838 vec_cmplt(vector
unsigned char __a, vector
unsigned char __b) {
1848 vec_cmplt(vector
unsigned short __a, vector
unsigned short __b) {
1858 vec_cmplt(vector
unsigned int __a, vector
unsigned int __b) {
1869 vec_cmplt(vector
double __a, vector
double __b) {
1874 #ifdef __POWER8_VECTOR__
1876 vec_cmplt(vector
signed long long __a, vector
signed long long __b) {
1881 vec_cmplt(vector
unsigned long long __a, vector
unsigned long long __b) {
1888 vec_cntlz(vector
signed char __a) {
1889 return __builtin_altivec_vclzb(__a);
1892 vec_cntlz(vector
unsigned char __a) {
1893 return __builtin_altivec_vclzb(__a);
1896 vec_cntlz(vector
signed short __a) {
1897 return __builtin_altivec_vclzh(__a);
1900 vec_cntlz(vector
unsigned short __a) {
1901 return __builtin_altivec_vclzh(__a);
1904 vec_cntlz(vector
signed int __a) {
1905 return __builtin_altivec_vclzw(__a);
1908 vec_cntlz(vector
unsigned int __a) {
1909 return __builtin_altivec_vclzw(__a);
1912 vec_cntlz(vector
signed long long __a) {
1913 return __builtin_altivec_vclzd(__a);
1915 static __inline__ vector
unsigned long long __ATTRS_o_ai
1916 vec_cntlz(vector
unsigned long long __a) {
1917 return __builtin_altivec_vclzd(__a);
1924 static __inline__ vector
float __ATTRS_o_ai vec_cpsgn(vector
float __a,
1926 return __builtin_vsx_xvcpsgnsp(__a, __b);
1929 static __inline__ vector
double __ATTRS_o_ai vec_cpsgn(vector
double __a,
1930 vector
double __b) {
1931 return __builtin_vsx_xvcpsgndp(__a, __b);
1938 return __builtin_altivec_vcfsx(__a, __b);
1943 return __builtin_altivec_vcfux((vector
int)__a, __b);
1948 vec_ctf(vector
unsigned long long __a,
int __b) {
1949 vector
double __ret = __builtin_convertvector(__a, vector
double);
1950 __ret *= (vector double)(vector
unsigned long long)((0x3ffULL -
__b) << 52);
1955 vec_ctf(vector
signed long long __a,
int __b) {
1956 vector
double __ret = __builtin_convertvector(__a, vector
double);
1957 __ret *= (vector double)(vector
unsigned long long)((0x3ffULL -
__b) << 52);
1964 static __inline__ vector
float __attribute__((__always_inline__))
1965 vec_vcfsx(vector
int __a,
int __b) {
1966 return __builtin_altivec_vcfsx(__a, __b);
1971 static __inline__ vector
float __attribute__((__always_inline__))
1972 vec_vcfux(vector
unsigned int __a,
int __b) {
1973 return __builtin_altivec_vcfux((vector
int)__a, __b);
1979 return __builtin_altivec_vctsxs(__a, __b);
1984 vec_cts(vector
double __a,
int __b) {
1985 __a *= (vector double)(vector
unsigned long long)((0x3ffULL +
__b) << 52);
1986 return __builtin_convertvector(__a, vector
signed long long);
1992 static __inline__ vector
int __attribute__((__always_inline__))
1993 vec_vctsxs(vector
float __a,
int __b) {
1994 return __builtin_altivec_vctsxs(__a, __b);
2001 return __builtin_altivec_vctuxs(__a, __b);
2005 static __inline__ vector
unsigned long long __ATTRS_o_ai
2006 vec_ctu(vector
double __a,
int __b) {
2007 __a *= (vector double)(vector
unsigned long long)((0x3ffULL +
__b) << 52);
2008 return __builtin_convertvector(__a, vector
unsigned long long);
2014 static __inline__ vector
unsigned int __attribute__((__always_inline__))
2015 vec_vctuxs(vector
float __a,
int __b) {
2016 return __builtin_altivec_vctuxs(__a, __b);
2023 vec_double(vector
signed long long __a) {
2024 vector
double __ret = {__a[0], __a[1]};
2029 vec_double(vector
unsigned long long __a) {
2030 vector
double __ret = {__a[0], __a[1]};
2041 vec_div(vector
signed char __a, vector
signed char __b) {
2046 vec_div(vector
unsigned char __a, vector
unsigned char __b) {
2051 vec_div(vector
signed short __a, vector
signed short __b) {
2056 vec_div(vector
unsigned short __a, vector
unsigned short __b) {
2061 vec_div(vector
signed int __a, vector
signed int __b) {
2066 vec_div(vector
unsigned int __a, vector
unsigned int __b) {
2072 vec_div(vector
signed long long __a, vector
signed long long __b) {
2076 static __inline__ vector
unsigned long long __ATTRS_o_ai
2077 vec_div(vector
unsigned long long __a, vector
unsigned long long __b) {
2087 vector
double __b) {
2094 static __inline__
void __attribute__((__always_inline__)) vec_dss(
int __a) {
2095 __builtin_altivec_dss(__a);
2100 static __inline__
void __attribute__((__always_inline__)) vec_dssall(
void) {
2101 __builtin_altivec_dssall();
2105 #define vec_dst(__PTR, __CW, __STR) \
2107 { __builtin_altivec_dst((const void *)(__PTR), (__CW), (__STR)); })
2110 #define vec_dstst(__PTR, __CW, __STR) \
2112 { __builtin_altivec_dstst((const void *)(__PTR), (__CW), (__STR)); })
2115 #define vec_dststt(__PTR, __CW, __STR) \
2117 { __builtin_altivec_dststt((const void *)(__PTR), (__CW), (__STR)); })
2120 #define vec_dstt(__PTR, __CW, __STR) \
2122 { __builtin_altivec_dstt((const void *)(__PTR), (__CW), (__STR)); })
2126 #ifdef __POWER8_VECTOR__
2128 vec_eqv(vector
signed char __a, vector
signed char __b) {
2129 return (vector
signed char)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2130 (vector
unsigned int)__b);
2134 vec_eqv(vector
unsigned char __a, vector
unsigned char __b) {
2135 return (vector
unsigned char)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2136 (vector
unsigned int)__b);
2139 static __inline__ vector
bool char __ATTRS_o_ai vec_eqv(vector
bool char __a,
2140 vector
bool char __b) {
2141 return (vector
bool char)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2142 (vector
unsigned int)__b);
2146 vec_eqv(vector
signed short __a, vector
signed short __b) {
2147 return (vector
signed short)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2148 (vector
unsigned int)__b);
2152 vec_eqv(vector
unsigned short __a, vector
unsigned short __b) {
2153 return (vector
unsigned short)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2154 (vector
unsigned int)__b);
2158 vec_eqv(vector
bool short __a, vector
bool short __b) {
2159 return (vector
bool short)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2160 (vector
unsigned int)__b);
2164 vec_eqv(vector
signed int __a, vector
signed int __b) {
2165 return (vector
signed int)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2166 (vector
unsigned int)__b);
2170 vec_eqv(vector
unsigned int __a, vector
unsigned int __b) {
2171 return __builtin_vsx_xxleqv(__a, __b);
2174 static __inline__ vector
bool int __ATTRS_o_ai vec_eqv(vector
bool int __a,
2175 vector
bool int __b) {
2176 return (vector
bool int)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2177 (vector
unsigned int)__b);
2181 vec_eqv(vector
signed long long __a, vector
signed long long __b) {
2182 return (vector
signed long long)__builtin_vsx_xxleqv(
2183 (vector
unsigned int)__a, (vector
unsigned int)__b);
2186 static __inline__ vector
unsigned long long __ATTRS_o_ai
2187 vec_eqv(vector
unsigned long long __a, vector
unsigned long long __b) {
2188 return (vector
unsigned long long)__builtin_vsx_xxleqv(
2189 (vector
unsigned int)__a, (vector
unsigned int)__b);
2193 vec_eqv(vector
bool long long __a, vector
bool long long __b) {
2194 return (vector
bool long long)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2195 (vector
unsigned int)__b);
2198 static __inline__ vector
float __ATTRS_o_ai vec_eqv(vector
float __a,
2200 return (vector
float)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2201 (vector
unsigned int)__b);
2204 static __inline__ vector
double __ATTRS_o_ai vec_eqv(vector
double __a,
2205 vector
double __b) {
2206 return (vector
double)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2207 (vector
unsigned int)__b);
2213 static __inline__ vector
float __attribute__((__always_inline__))
2214 vec_expte(vector
float __a) {
2215 return __builtin_altivec_vexptefp(__a);
2220 static __inline__ vector
float __attribute__((__always_inline__))
2221 vec_vexptefp(vector
float __a) {
2222 return __builtin_altivec_vexptefp(__a);
2229 return __builtin_vsx_xvrspim(__a);
2231 return __builtin_altivec_vrfim(__a);
2237 return __builtin_vsx_xvrdpim(__a);
2243 static __inline__ vector
float __attribute__((__always_inline__))
2244 vec_vrfim(vector
float __a) {
2245 return __builtin_altivec_vrfim(__a);
2251 vec_ld(
int __a,
const vector
signed char *__b) {
2252 return (vector
signed char)__builtin_altivec_lvx(__a, __b);
2257 return (vector
signed char)__builtin_altivec_lvx(__a, __b);
2261 vec_ld(
int __a,
const vector
unsigned char *__b) {
2262 return (vector
unsigned char)__builtin_altivec_lvx(__a, __b);
2267 return (vector
unsigned char)__builtin_altivec_lvx(__a, __b);
2271 vec_ld(
int __a,
const vector
bool char *__b) {
2272 return (vector
bool char)__builtin_altivec_lvx(__a, __b);
2276 const vector
short *__b) {
2277 return (vector
short)__builtin_altivec_lvx(__a, __b);
2281 return (vector
short)__builtin_altivec_lvx(__a, __b);
2285 vec_ld(
int __a,
const vector
unsigned short *__b) {
2286 return (vector
unsigned short)__builtin_altivec_lvx(__a, __b);
2291 return (vector
unsigned short)__builtin_altivec_lvx(__a, __b);
2295 vec_ld(
int __a,
const vector
bool short *__b) {
2296 return (vector
bool short)__builtin_altivec_lvx(__a, __b);
2300 const vector pixel *__b) {
2301 return (vector pixel)__builtin_altivec_lvx(__a, __b);
2305 const vector
int *__b) {
2306 return (vector
int)__builtin_altivec_lvx(__a, __b);
2310 return (vector
int)__builtin_altivec_lvx(__a, __b);
2314 vec_ld(
int __a,
const vector
unsigned int *__b) {
2315 return (vector
unsigned int)__builtin_altivec_lvx(__a, __b);
2320 return (vector
unsigned int)__builtin_altivec_lvx(__a, __b);
2324 vec_ld(
int __a,
const vector
bool int *__b) {
2325 return (vector
bool int)__builtin_altivec_lvx(__a, __b);
2329 const vector
float *__b) {
2330 return (vector
float)__builtin_altivec_lvx(__a, __b);
2334 return (vector
float)__builtin_altivec_lvx(__a, __b);
2341 return (vector
signed char)__builtin_altivec_lvx(__a, __b);
2346 return (vector
signed char)__builtin_altivec_lvx(__a, __b);
2350 vec_lvx(
int __a,
const vector
unsigned char *__b) {
2351 return (vector
unsigned char)__builtin_altivec_lvx(__a, __b);
2356 return (vector
unsigned char)__builtin_altivec_lvx(__a, __b);
2361 return (vector
bool char)__builtin_altivec_lvx(__a, __b);
2365 const vector
short *__b) {
2366 return (vector
short)__builtin_altivec_lvx(__a, __b);
2370 return (vector
short)__builtin_altivec_lvx(__a, __b);
2374 vec_lvx(
int __a,
const vector
unsigned short *__b) {
2375 return (vector
unsigned short)__builtin_altivec_lvx(__a, __b);
2380 return (vector
unsigned short)__builtin_altivec_lvx(__a, __b);
2385 return (vector
bool short)__builtin_altivec_lvx(__a, __b);
2389 const vector pixel *__b) {
2390 return (vector pixel)__builtin_altivec_lvx(__a, __b);
2394 const vector
int *__b) {
2395 return (vector
int)__builtin_altivec_lvx(__a, __b);
2399 return (vector
int)__builtin_altivec_lvx(__a, __b);
2403 vec_lvx(
int __a,
const vector
unsigned int *__b) {
2404 return (vector
unsigned int)__builtin_altivec_lvx(__a, __b);
2409 return (vector
unsigned int)__builtin_altivec_lvx(__a, __b);
2414 return (vector
bool int)__builtin_altivec_lvx(__a, __b);
2418 const vector
float *__b) {
2419 return (vector
float)__builtin_altivec_lvx(__a, __b);
2423 return (vector
float)__builtin_altivec_lvx(__a, __b);
2430 return (vector
signed char)__builtin_altivec_lvebx(__a, __b);
2435 return (vector
unsigned char)__builtin_altivec_lvebx(__a, __b);
2439 return (vector
short)__builtin_altivec_lvehx(__a, __b);
2444 return (vector
unsigned short)__builtin_altivec_lvehx(__a, __b);
2448 return (vector
int)__builtin_altivec_lvewx(__a, __b);
2453 return (vector
unsigned int)__builtin_altivec_lvewx(__a, __b);
2457 return (vector
float)__builtin_altivec_lvewx(__a, __b);
2464 return (vector
signed char)__builtin_altivec_lvebx(__a, __b);
2469 return (vector
unsigned char)__builtin_altivec_lvebx(__a, __b);
2476 return (vector
short)__builtin_altivec_lvehx(__a, __b);
2481 return (vector
unsigned short)__builtin_altivec_lvehx(__a, __b);
2487 return (vector
int)__builtin_altivec_lvewx(__a, __b);
2492 return (vector
unsigned int)__builtin_altivec_lvewx(__a, __b);
2497 return (vector
float)__builtin_altivec_lvewx(__a, __b);
2504 return (vector
signed char)__builtin_altivec_lvxl(__a, __b);
2509 return (vector
signed char)__builtin_altivec_lvxl(__a, __b);
2513 vec_ldl(
int __a,
const vector
unsigned char *__b) {
2514 return (vector
unsigned char)__builtin_altivec_lvxl(__a, __b);
2519 return (vector
unsigned char)__builtin_altivec_lvxl(__a, __b);
2524 return (vector
bool char)__builtin_altivec_lvxl(__a, __b);
2528 const vector
short *__b) {
2529 return (vector
short)__builtin_altivec_lvxl(__a, __b);
2533 return (vector
short)__builtin_altivec_lvxl(__a, __b);
2537 vec_ldl(
int __a,
const vector
unsigned short *__b) {
2538 return (vector
unsigned short)__builtin_altivec_lvxl(__a, __b);
2543 return (vector
unsigned short)__builtin_altivec_lvxl(__a, __b);
2548 return (vector
bool short)__builtin_altivec_lvxl(__a, __b);
2552 const vector pixel *__b) {
2553 return (vector pixel
short)__builtin_altivec_lvxl(__a, __b);
2557 const vector
int *__b) {
2558 return (vector
int)__builtin_altivec_lvxl(__a, __b);
2562 return (vector
int)__builtin_altivec_lvxl(__a, __b);
2566 vec_ldl(
int __a,
const vector
unsigned int *__b) {
2567 return (vector
unsigned int)__builtin_altivec_lvxl(__a, __b);
2572 return (vector
unsigned int)__builtin_altivec_lvxl(__a, __b);
2577 return (vector
bool int)__builtin_altivec_lvxl(__a, __b);
2581 const vector
float *__b) {
2582 return (vector
float)__builtin_altivec_lvxl(__a, __b);
2586 return (vector
float)__builtin_altivec_lvxl(__a, __b);
2593 return (vector
signed char)__builtin_altivec_lvxl(__a, __b);
2598 return (vector
signed char)__builtin_altivec_lvxl(__a, __b);
2603 return (vector
unsigned char)__builtin_altivec_lvxl(__a, __b);
2608 return (vector
unsigned char)__builtin_altivec_lvxl(__a, __b);
2613 return (vector
bool char)__builtin_altivec_lvxl(__a, __b);
2617 const vector
short *__b) {
2618 return (vector
short)__builtin_altivec_lvxl(__a, __b);
2623 return (vector
short)__builtin_altivec_lvxl(__a, __b);
2628 return (vector
unsigned short)__builtin_altivec_lvxl(__a, __b);
2633 return (vector
unsigned short)__builtin_altivec_lvxl(__a, __b);
2638 return (vector
bool short)__builtin_altivec_lvxl(__a, __b);
2642 const vector pixel *__b) {
2643 return (vector pixel)__builtin_altivec_lvxl(__a, __b);
2647 const vector
int *__b) {
2648 return (vector
int)__builtin_altivec_lvxl(__a, __b);
2652 return (vector
int)__builtin_altivec_lvxl(__a, __b);
2657 return (vector
unsigned int)__builtin_altivec_lvxl(__a, __b);
2662 return (vector
unsigned int)__builtin_altivec_lvxl(__a, __b);
2667 return (vector
bool int)__builtin_altivec_lvxl(__a, __b);
2671 const vector
float *__b) {
2672 return (vector
float)__builtin_altivec_lvxl(__a, __b);
2677 return (vector
float)__builtin_altivec_lvxl(__a, __b);
2682 static __inline__ vector
float __attribute__((__always_inline__))
2683 vec_loge(vector
float __a) {
2684 return __builtin_altivec_vlogefp(__a);
2689 static __inline__ vector
float __attribute__((__always_inline__))
2690 vec_vlogefp(vector
float __a) {
2691 return __builtin_altivec_vlogefp(__a);
2696 #ifdef __LITTLE_ENDIAN__
2698 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2699 loads/stores")))
vec_lvsl(
int __a, const
signed char *__b) {
2700 vector
unsigned char mask =
2701 (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2702 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2703 7, 6, 5, 4, 3, 2, 1, 0};
2704 return vec_perm(mask, mask, reverse);
2709 return (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2713 #ifdef __LITTLE_ENDIAN__
2715 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2716 loads/stores")))
vec_lvsl(
int __a, const
unsigned char *__b) {
2717 vector
unsigned char mask =
2718 (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2719 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2720 7, 6, 5, 4, 3, 2, 1, 0};
2721 return vec_perm(mask, mask, reverse);
2726 return (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2730 #ifdef __LITTLE_ENDIAN__
2732 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2733 loads/stores")))
vec_lvsl(
int __a, const
short *__b) {
2734 vector
unsigned char mask =
2735 (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2736 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2737 7, 6, 5, 4, 3, 2, 1, 0};
2738 return vec_perm(mask, mask, reverse);
2743 return (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2747 #ifdef __LITTLE_ENDIAN__
2749 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2750 loads/stores")))
vec_lvsl(
int __a, const
unsigned short *__b) {
2751 vector
unsigned char mask =
2752 (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2753 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2754 7, 6, 5, 4, 3, 2, 1, 0};
2755 return vec_perm(mask, mask, reverse);
2760 return (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2764 #ifdef __LITTLE_ENDIAN__
2766 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2767 loads/stores")))
vec_lvsl(
int __a, const
int *__b) {
2768 vector
unsigned char mask =
2769 (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2770 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2771 7, 6, 5, 4, 3, 2, 1, 0};
2772 return vec_perm(mask, mask, reverse);
2777 return (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2781 #ifdef __LITTLE_ENDIAN__
2783 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2784 loads/stores")))
vec_lvsl(
int __a, const
unsigned int *__b) {
2785 vector
unsigned char mask =
2786 (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2787 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2788 7, 6, 5, 4, 3, 2, 1, 0};
2789 return vec_perm(mask, mask, reverse);
2794 return (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2798 #ifdef __LITTLE_ENDIAN__
2800 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2801 loads/stores")))
vec_lvsl(
int __a, const
float *__b) {
2802 vector
unsigned char mask =
2803 (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2804 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2805 7, 6, 5, 4, 3, 2, 1, 0};
2806 return vec_perm(mask, mask, reverse);
2811 return (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2817 #ifdef __LITTLE_ENDIAN__
2819 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2820 loads/stores")))
vec_lvsr(
int __a, const
signed char *__b) {
2821 vector
unsigned char mask =
2822 (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2823 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2824 7, 6, 5, 4, 3, 2, 1, 0};
2825 return vec_perm(mask, mask, reverse);
2830 return (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2834 #ifdef __LITTLE_ENDIAN__
2836 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2837 loads/stores")))
vec_lvsr(
int __a, const
unsigned char *__b) {
2838 vector
unsigned char mask =
2839 (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2840 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2841 7, 6, 5, 4, 3, 2, 1, 0};
2842 return vec_perm(mask, mask, reverse);
2847 return (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2851 #ifdef __LITTLE_ENDIAN__
2853 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2854 loads/stores")))
vec_lvsr(
int __a, const
short *__b) {
2855 vector
unsigned char mask =
2856 (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2857 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2858 7, 6, 5, 4, 3, 2, 1, 0};
2859 return vec_perm(mask, mask, reverse);
2864 return (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2868 #ifdef __LITTLE_ENDIAN__
2870 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2871 loads/stores")))
vec_lvsr(
int __a, const
unsigned short *__b) {
2872 vector
unsigned char mask =
2873 (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2874 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2875 7, 6, 5, 4, 3, 2, 1, 0};
2876 return vec_perm(mask, mask, reverse);
2881 return (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2885 #ifdef __LITTLE_ENDIAN__
2887 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2888 loads/stores")))
vec_lvsr(
int __a, const
int *__b) {
2889 vector
unsigned char mask =
2890 (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2891 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2892 7, 6, 5, 4, 3, 2, 1, 0};
2893 return vec_perm(mask, mask, reverse);
2898 return (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2902 #ifdef __LITTLE_ENDIAN__
2904 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2905 loads/stores")))
vec_lvsr(
int __a, const
unsigned int *__b) {
2906 vector
unsigned char mask =
2907 (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2908 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2909 7, 6, 5, 4, 3, 2, 1, 0};
2910 return vec_perm(mask, mask, reverse);
2915 return (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2919 #ifdef __LITTLE_ENDIAN__
2921 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2922 loads/stores")))
vec_lvsr(
int __a, const
float *__b) {
2923 vector
unsigned char mask =
2924 (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2925 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2926 7, 6, 5, 4, 3, 2, 1, 0};
2927 return vec_perm(mask, mask, reverse);
2932 return (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2938 vec_mladd(vector
signed short, vector
signed short, vector
signed short);
2940 vec_mladd(vector
signed short, vector
unsigned short, vector
unsigned short);
2942 vec_mladd(vector
unsigned short, vector
signed short, vector
signed short);
2944 vec_mladd(vector
unsigned short, vector
unsigned short, vector
unsigned short);
2947 vector
signed short __a, vector
signed short __b, vector
signed short __c) {
2952 vec_madd(vector
signed short __a, vector
unsigned short __b,
2953 vector
unsigned short __c) {
2958 vec_madd(vector
unsigned short __a, vector
signed short __b,
2959 vector
signed short __c) {
2964 vec_madd(vector
unsigned short __a, vector
unsigned short __b,
2965 vector
unsigned short __c) {
2973 return __builtin_vsx_xvmaddasp(__a, __b, __c);
2975 return __builtin_altivec_vmaddfp(__a, __b, __c);
2982 vector
double __c) {
2983 return __builtin_vsx_xvmaddadp(__a, __b, __c);
2989 static __inline__ vector
float __attribute__((__always_inline__))
2990 vec_vmaddfp(vector
float __a, vector
float __b, vector
float __c) {
2991 return __builtin_altivec_vmaddfp(__a, __b, __c);
2996 static __inline__ vector
signed short __attribute__((__always_inline__))
2997 vec_madds(vector
signed short __a, vector
signed short __b,
2998 vector
signed short __c) {
2999 return __builtin_altivec_vmhaddshs(__a, __b, __c);
3003 static __inline__ vector
signed short __attribute__((__always_inline__))
3004 vec_vmhaddshs(vector
signed short __a, vector
signed short __b,
3005 vector
signed short __c) {
3006 return __builtin_altivec_vmhaddshs(__a, __b, __c);
3012 static __inline__ vector
float __ATTRS_o_ai vec_msub(vector
float __a,
3015 return __builtin_vsx_xvmsubasp(__a, __b, __c);
3018 static __inline__ vector
double __ATTRS_o_ai vec_msub(vector
double __a,
3020 vector
double __c) {
3021 return __builtin_vsx_xvmsubadp(__a, __b, __c);
3028 vec_max(vector
signed char __a, vector
signed char __b) {
3029 return __builtin_altivec_vmaxsb(__a, __b);
3033 vec_max(vector
bool char __a, vector
signed char __b) {
3034 return __builtin_altivec_vmaxsb((vector
signed char)__a, __b);
3038 vec_max(vector
signed char __a, vector
bool char __b) {
3039 return __builtin_altivec_vmaxsb(__a, (vector
signed char)__b);
3043 vec_max(vector
unsigned char __a, vector
unsigned char __b) {
3044 return __builtin_altivec_vmaxub(__a, __b);
3048 vec_max(vector
bool char __a, vector
unsigned char __b) {
3049 return __builtin_altivec_vmaxub((vector
unsigned char)__a, __b);
3053 vec_max(vector
unsigned char __a, vector
bool char __b) {
3054 return __builtin_altivec_vmaxub(__a, (vector
unsigned char)__b);
3059 return __builtin_altivec_vmaxsh(__a, __b);
3064 return __builtin_altivec_vmaxsh((vector
short)__a, __b);
3068 vector
bool short __b) {
3069 return __builtin_altivec_vmaxsh(__a, (vector
short)__b);
3073 vec_max(vector
unsigned short __a, vector
unsigned short __b) {
3074 return __builtin_altivec_vmaxuh(__a, __b);
3078 vec_max(vector
bool short __a, vector
unsigned short __b) {
3079 return __builtin_altivec_vmaxuh((vector
unsigned short)__a, __b);
3083 vec_max(vector
unsigned short __a, vector
bool short __b) {
3084 return __builtin_altivec_vmaxuh(__a, (vector
unsigned short)__b);
3089 return __builtin_altivec_vmaxsw(__a, __b);
3094 return __builtin_altivec_vmaxsw((vector
int)__a, __b);
3098 vector
bool int __b) {
3099 return __builtin_altivec_vmaxsw(__a, (vector
int)__b);
3103 vec_max(vector
unsigned int __a, vector
unsigned int __b) {
3104 return __builtin_altivec_vmaxuw(__a, __b);
3108 vec_max(vector
bool int __a, vector
unsigned int __b) {
3109 return __builtin_altivec_vmaxuw((vector
unsigned int)__a, __b);
3113 vec_max(vector
unsigned int __a, vector
bool int __b) {
3114 return __builtin_altivec_vmaxuw(__a, (vector
unsigned int)__b);
3117 #ifdef __POWER8_VECTOR__
3119 vec_max(vector
signed long long __a, vector
signed long long __b) {
3120 return __builtin_altivec_vmaxsd(__a, __b);
3124 vec_max(vector
bool long long __a, vector
signed long long __b) {
3125 return __builtin_altivec_vmaxsd((vector
signed long long)__a, __b);
3129 vec_max(vector
signed long long __a, vector
bool long long __b) {
3130 return __builtin_altivec_vmaxsd(__a, (vector
signed long long)__b);
3133 static __inline__ vector
unsigned long long __ATTRS_o_ai
3134 vec_max(vector
unsigned long long __a, vector
unsigned long long __b) {
3135 return __builtin_altivec_vmaxud(__a, __b);
3138 static __inline__ vector
unsigned long long __ATTRS_o_ai
3139 vec_max(vector
bool long long __a, vector
unsigned long long __b) {
3140 return __builtin_altivec_vmaxud((vector
unsigned long long)__a, __b);
3143 static __inline__ vector
unsigned long long __ATTRS_o_ai
3144 vec_max(vector
unsigned long long __a, vector
bool long long __b) {
3145 return __builtin_altivec_vmaxud(__a, (vector
unsigned long long)__b);
3152 return __builtin_vsx_xvmaxsp(__a, __b);
3154 return __builtin_altivec_vmaxfp(__a, __b);
3160 vector
double __b) {
3161 return __builtin_vsx_xvmaxdp(__a, __b);
3169 return __builtin_altivec_vmaxsb(__a, __b);
3174 return __builtin_altivec_vmaxsb((vector
signed char)__a, __b);
3179 return __builtin_altivec_vmaxsb(__a, (vector
signed char)__b);
3186 return __builtin_altivec_vmaxub(__a, __b);
3191 return __builtin_altivec_vmaxub((vector
unsigned char)__a, __b);
3196 return __builtin_altivec_vmaxub(__a, (vector
unsigned char)__b);
3203 return __builtin_altivec_vmaxsh(__a, __b);
3208 return __builtin_altivec_vmaxsh((vector
short)__a, __b);
3212 vector
bool short __b) {
3213 return __builtin_altivec_vmaxsh(__a, (vector
short)__b);
3219 vec_vmaxuh(vector
unsigned short __a, vector
unsigned short __b) {
3220 return __builtin_altivec_vmaxuh(__a, __b);
3225 return __builtin_altivec_vmaxuh((vector
unsigned short)__a, __b);
3230 return __builtin_altivec_vmaxuh(__a, (vector
unsigned short)__b);
3237 return __builtin_altivec_vmaxsw(__a, __b);
3242 return __builtin_altivec_vmaxsw((vector
int)__a, __b);
3246 vector
bool int __b) {
3247 return __builtin_altivec_vmaxsw(__a, (vector
int)__b);
3254 return __builtin_altivec_vmaxuw(__a, __b);
3259 return __builtin_altivec_vmaxuw((vector
unsigned int)__a, __b);
3264 return __builtin_altivec_vmaxuw(__a, (vector
unsigned int)__b);
3269 static __inline__ vector
float __attribute__((__always_inline__))
3270 vec_vmaxfp(vector
float __a, vector
float __b) {
3272 return __builtin_vsx_xvmaxsp(__a, __b);
3274 return __builtin_altivec_vmaxfp(__a, __b);
3283 (vector
unsigned char)(0x00, 0x10, 0x01, 0x11, 0x02, 0x12,
3284 0x03, 0x13, 0x04, 0x14, 0x05, 0x15,
3285 0x06, 0x16, 0x07, 0x17));
3291 (vector
unsigned char)(0x00, 0x10, 0x01, 0x11, 0x02, 0x12,
3292 0x03, 0x13, 0x04, 0x14, 0x05, 0x15,
3293 0x06, 0x16, 0x07, 0x17));
3299 (vector
unsigned char)(0x00, 0x10, 0x01, 0x11, 0x02, 0x12,
3300 0x03, 0x13, 0x04, 0x14, 0x05, 0x15,
3301 0x06, 0x16, 0x07, 0x17));
3307 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3308 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3309 0x06, 0x07, 0x16, 0x17));
3313 vec_mergeh(vector
unsigned short __a, vector
unsigned short __b) {
3315 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3316 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3317 0x06, 0x07, 0x16, 0x17));
3323 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3324 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3325 0x06, 0x07, 0x16, 0x17));
3331 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3332 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3333 0x06, 0x07, 0x16, 0x17));
3339 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3340 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3341 0x14, 0x15, 0x16, 0x17));
3347 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3348 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3349 0x14, 0x15, 0x16, 0x17));
3353 vector
bool int __b) {
3355 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3356 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3357 0x14, 0x15, 0x16, 0x17));
3363 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3364 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3365 0x14, 0x15, 0x16, 0x17));
3370 vec_mergeh(vector
signed long long __a, vector
signed long long __b) {
3372 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
3373 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
3374 0x14, 0x15, 0x16, 0x17));
3378 vec_mergeh(vector
signed long long __a, vector
bool long long __b) {
3379 return vec_perm(__a, (vector
signed long long)__b,
3380 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
3381 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
3382 0x14, 0x15, 0x16, 0x17));
3386 vec_mergeh(vector
bool long long __a, vector
signed long long __b) {
3387 return vec_perm((vector
signed long long)__a, __b,
3388 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
3389 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
3390 0x14, 0x15, 0x16, 0x17));
3393 static __inline__ vector
unsigned long long __ATTRS_o_ai
3394 vec_mergeh(vector
unsigned long long __a, vector
unsigned long long __b) {
3396 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
3397 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
3398 0x14, 0x15, 0x16, 0x17));
3401 static __inline__ vector
unsigned long long __ATTRS_o_ai
3402 vec_mergeh(vector
unsigned long long __a, vector
bool long long __b) {
3403 return vec_perm(__a, (vector
unsigned long long)__b,
3404 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
3405 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
3406 0x14, 0x15, 0x16, 0x17));
3409 static __inline__ vector
unsigned long long __ATTRS_o_ai
3410 vec_mergeh(vector
bool long long __a, vector
unsigned long long __b) {
3411 return vec_perm((vector
unsigned long long)__a, __b,
3412 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
3413 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
3414 0x14, 0x15, 0x16, 0x17));
3418 vec_mergeh(vector
bool long long __a, vector
bool long long __b) {
3420 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
3421 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
3422 0x14, 0x15, 0x16, 0x17));
3426 vector
double __b) {
3428 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
3429 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
3430 0x14, 0x15, 0x16, 0x17));
3433 vec_mergeh(vector
double __a, vector
bool long long __b) {
3434 return vec_perm(__a, (vector
double)__b,
3435 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
3436 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
3437 0x14, 0x15, 0x16, 0x17));
3440 vec_mergeh(vector
bool long long __a, vector
double __b) {
3441 return vec_perm((vector
double)__a, __b,
3442 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
3443 0x06, 0x07, 0x10, 0x11, 0x12, 0x13,
3444 0x14, 0x15, 0x16, 0x17));
3450 #define __builtin_altivec_vmrghb vec_vmrghb
3455 (vector
unsigned char)(0x00, 0x10, 0x01, 0x11, 0x02, 0x12,
3456 0x03, 0x13, 0x04, 0x14, 0x05, 0x15,
3457 0x06, 0x16, 0x07, 0x17));
3463 (vector
unsigned char)(0x00, 0x10, 0x01, 0x11, 0x02, 0x12,
3464 0x03, 0x13, 0x04, 0x14, 0x05, 0x15,
3465 0x06, 0x16, 0x07, 0x17));
3471 (vector
unsigned char)(0x00, 0x10, 0x01, 0x11, 0x02, 0x12,
3472 0x03, 0x13, 0x04, 0x14, 0x05, 0x15,
3473 0x06, 0x16, 0x07, 0x17));
3478 #define __builtin_altivec_vmrghh vec_vmrghh
3483 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3484 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3485 0x06, 0x07, 0x16, 0x17));
3489 vec_vmrghh(vector
unsigned short __a, vector
unsigned short __b) {
3491 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3492 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3493 0x06, 0x07, 0x16, 0x17));
3499 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3500 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3501 0x06, 0x07, 0x16, 0x17));
3507 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3508 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3509 0x06, 0x07, 0x16, 0x17));
3514 #define __builtin_altivec_vmrghw vec_vmrghw
3519 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3520 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3521 0x14, 0x15, 0x16, 0x17));
3527 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3528 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3529 0x14, 0x15, 0x16, 0x17));
3533 vector
bool int __b) {
3535 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3536 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3537 0x14, 0x15, 0x16, 0x17));
3543 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3544 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3545 0x14, 0x15, 0x16, 0x17));
3553 (vector
unsigned char)(0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A,
3554 0x0B, 0x1B, 0x0C, 0x1C, 0x0D, 0x1D,
3555 0x0E, 0x1E, 0x0F, 0x1F));
3561 (vector
unsigned char)(0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A,
3562 0x0B, 0x1B, 0x0C, 0x1C, 0x0D, 0x1D,
3563 0x0E, 0x1E, 0x0F, 0x1F));
3569 (vector
unsigned char)(0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A,
3570 0x0B, 0x1B, 0x0C, 0x1C, 0x0D, 0x1D,
3571 0x0E, 0x1E, 0x0F, 0x1F));
3577 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3578 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3579 0x0E, 0x0F, 0x1E, 0x1F));
3583 vec_mergel(vector
unsigned short __a, vector
unsigned short __b) {
3585 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3586 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3587 0x0E, 0x0F, 0x1E, 0x1F));
3593 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3594 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3595 0x0E, 0x0F, 0x1E, 0x1F));
3601 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3602 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3603 0x0E, 0x0F, 0x1E, 0x1F));
3609 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3610 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3611 0x1C, 0x1D, 0x1E, 0x1F));
3617 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3618 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3619 0x1C, 0x1D, 0x1E, 0x1F));
3623 vector
bool int __b) {
3625 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3626 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3627 0x1C, 0x1D, 0x1E, 0x1F));
3633 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3634 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3635 0x1C, 0x1D, 0x1E, 0x1F));
3640 vec_mergel(vector
signed long long __a, vector
signed long long __b) {
3642 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D,
3643 0x0E, 0x0F, 0x18, 0X19, 0x1A, 0x1B,
3644 0x1C, 0x1D, 0x1E, 0x1F));
3647 vec_mergel(vector
signed long long __a, vector
bool long long __b) {
3648 return vec_perm(__a, (vector
signed long long)__b,
3649 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D,
3650 0x0E, 0x0F, 0x18, 0X19, 0x1A, 0x1B,
3651 0x1C, 0x1D, 0x1E, 0x1F));
3654 vec_mergel(vector
bool long long __a, vector
signed long long __b) {
3655 return vec_perm((vector
signed long long)__a, __b,
3656 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D,
3657 0x0E, 0x0F, 0x18, 0X19, 0x1A, 0x1B,
3658 0x1C, 0x1D, 0x1E, 0x1F));
3660 static __inline__ vector
unsigned long long __ATTRS_o_ai
3661 vec_mergel(vector
unsigned long long __a, vector
unsigned long long __b) {
3663 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D,
3664 0x0E, 0x0F, 0x18, 0X19, 0x1A, 0x1B,
3665 0x1C, 0x1D, 0x1E, 0x1F));
3667 static __inline__ vector
unsigned long long __ATTRS_o_ai
3668 vec_mergel(vector
unsigned long long __a, vector
bool long long __b) {
3669 return vec_perm(__a, (vector
unsigned long long)__b,
3670 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D,
3671 0x0E, 0x0F, 0x18, 0X19, 0x1A, 0x1B,
3672 0x1C, 0x1D, 0x1E, 0x1F));
3674 static __inline__ vector
unsigned long long __ATTRS_o_ai
3675 vec_mergel(vector
bool long long __a, vector
unsigned long long __b) {
3676 return vec_perm((vector
unsigned long long)__a, __b,
3677 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D,
3678 0x0E, 0x0F, 0x18, 0X19, 0x1A, 0x1B,
3679 0x1C, 0x1D, 0x1E, 0x1F));
3682 vec_mergel(vector
bool long long __a, vector
bool long long __b) {
3684 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D,
3685 0x0E, 0x0F, 0x18, 0X19, 0x1A, 0x1B,
3686 0x1C, 0x1D, 0x1E, 0x1F));
3689 vector
double __b) {
3691 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D,
3692 0x0E, 0x0F, 0x18, 0X19, 0x1A, 0x1B,
3693 0x1C, 0x1D, 0x1E, 0x1F));
3696 vec_mergel(vector
double __a, vector
bool long long __b) {
3697 return vec_perm(__a, (vector
double)__b,
3698 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D,
3699 0x0E, 0x0F, 0x18, 0X19, 0x1A, 0x1B,
3700 0x1C, 0x1D, 0x1E, 0x1F));
3703 vec_mergel(vector
bool long long __a, vector
double __b) {
3704 return vec_perm((vector
double)__a, __b,
3705 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D,
3706 0x0E, 0x0F, 0x18, 0X19, 0x1A, 0x1B,
3707 0x1C, 0x1D, 0x1E, 0x1F));
3713 #define __builtin_altivec_vmrglb vec_vmrglb
3718 (vector
unsigned char)(0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A,
3719 0x0B, 0x1B, 0x0C, 0x1C, 0x0D, 0x1D,
3720 0x0E, 0x1E, 0x0F, 0x1F));
3726 (vector
unsigned char)(0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A,
3727 0x0B, 0x1B, 0x0C, 0x1C, 0x0D, 0x1D,
3728 0x0E, 0x1E, 0x0F, 0x1F));
3734 (vector
unsigned char)(0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A,
3735 0x0B, 0x1B, 0x0C, 0x1C, 0x0D, 0x1D,
3736 0x0E, 0x1E, 0x0F, 0x1F));
3741 #define __builtin_altivec_vmrglh vec_vmrglh
3746 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3747 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3748 0x0E, 0x0F, 0x1E, 0x1F));
3752 vec_vmrglh(vector
unsigned short __a, vector
unsigned short __b) {
3754 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3755 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3756 0x0E, 0x0F, 0x1E, 0x1F));
3762 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3763 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3764 0x0E, 0x0F, 0x1E, 0x1F));
3770 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3771 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3772 0x0E, 0x0F, 0x1E, 0x1F));
3777 #define __builtin_altivec_vmrglw vec_vmrglw
3782 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3783 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3784 0x1C, 0x1D, 0x1E, 0x1F));
3790 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3791 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3792 0x1C, 0x1D, 0x1E, 0x1F));
3796 vector
bool int __b) {
3798 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3799 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3800 0x1C, 0x1D, 0x1E, 0x1F));
3806 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3807 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3808 0x1C, 0x1D, 0x1E, 0x1F));
3811 #ifdef __POWER8_VECTOR__
3814 static __inline__ vector
bool int __ATTRS_o_ai vec_mergee(vector
bool int __a,
3815 vector
bool int __b) {
3817 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3818 0x12, 0x13, 0x08, 0x09, 0x0A, 0x0B,
3819 0x18, 0x19, 0x1A, 0x1B));
3823 vec_mergee(vector
signed int __a, vector
signed int __b) {
3825 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3826 0x12, 0x13, 0x08, 0x09, 0x0A, 0x0B,
3827 0x18, 0x19, 0x1A, 0x1B));
3831 vec_mergee(vector
unsigned int __a, vector
unsigned int __b) {
3833 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3834 0x12, 0x13, 0x08, 0x09, 0x0A, 0x0B,
3835 0x18, 0x19, 0x1A, 0x1B));
3840 static __inline__ vector
bool int __ATTRS_o_ai vec_mergeo(vector
bool int __a,
3841 vector
bool int __b) {
3843 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x14, 0x15,
3844 0x16, 0x17, 0x0C, 0x0D, 0x0E, 0x0F,
3845 0x1C, 0x1D, 0x1E, 0x1F));
3849 vec_mergeo(vector
signed int __a, vector
signed int __b) {
3851 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x14, 0x15,
3852 0x16, 0x17, 0x0C, 0x0D, 0x0E, 0x0F,
3853 0x1C, 0x1D, 0x1E, 0x1F));
3857 vec_mergeo(vector
unsigned int __a, vector
unsigned int __b) {
3859 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x14, 0x15,
3860 0x16, 0x17, 0x0C, 0x0D, 0x0E, 0x0F,
3861 0x1C, 0x1D, 0x1E, 0x1F));
3868 static __inline__ vector
unsigned short __attribute__((__always_inline__))
3870 return __builtin_altivec_mfvscr();
3876 vec_min(vector
signed char __a, vector
signed char __b) {
3877 return __builtin_altivec_vminsb(__a, __b);
3881 vec_min(vector
bool char __a, vector
signed char __b) {
3882 return __builtin_altivec_vminsb((vector
signed char)__a, __b);
3886 vec_min(vector
signed char __a, vector
bool char __b) {
3887 return __builtin_altivec_vminsb(__a, (vector
signed char)__b);
3891 vec_min(vector
unsigned char __a, vector
unsigned char __b) {
3892 return __builtin_altivec_vminub(__a, __b);
3896 vec_min(vector
bool char __a, vector
unsigned char __b) {
3897 return __builtin_altivec_vminub((vector
unsigned char)__a, __b);
3901 vec_min(vector
unsigned char __a, vector
bool char __b) {
3902 return __builtin_altivec_vminub(__a, (vector
unsigned char)__b);
3907 return __builtin_altivec_vminsh(__a, __b);
3912 return __builtin_altivec_vminsh((vector
short)__a, __b);
3916 vector
bool short __b) {
3917 return __builtin_altivec_vminsh(__a, (vector
short)__b);
3921 vec_min(vector
unsigned short __a, vector
unsigned short __b) {
3922 return __builtin_altivec_vminuh(__a, __b);
3926 vec_min(vector
bool short __a, vector
unsigned short __b) {
3927 return __builtin_altivec_vminuh((vector
unsigned short)__a, __b);
3931 vec_min(vector
unsigned short __a, vector
bool short __b) {
3932 return __builtin_altivec_vminuh(__a, (vector
unsigned short)__b);
3937 return __builtin_altivec_vminsw(__a, __b);
3942 return __builtin_altivec_vminsw((vector
int)__a, __b);
3946 vector
bool int __b) {
3947 return __builtin_altivec_vminsw(__a, (vector
int)__b);
3951 vec_min(vector
unsigned int __a, vector
unsigned int __b) {
3952 return __builtin_altivec_vminuw(__a, __b);
3956 vec_min(vector
bool int __a, vector
unsigned int __b) {
3957 return __builtin_altivec_vminuw((vector
unsigned int)__a, __b);
3961 vec_min(vector
unsigned int __a, vector
bool int __b) {
3962 return __builtin_altivec_vminuw(__a, (vector
unsigned int)__b);
3965 #ifdef __POWER8_VECTOR__
3967 vec_min(vector
signed long long __a, vector
signed long long __b) {
3968 return __builtin_altivec_vminsd(__a, __b);
3972 vec_min(vector
bool long long __a, vector
signed long long __b) {
3973 return __builtin_altivec_vminsd((vector
signed long long)__a, __b);
3977 vec_min(vector
signed long long __a, vector
bool long long __b) {
3978 return __builtin_altivec_vminsd(__a, (vector
signed long long)__b);
3981 static __inline__ vector
unsigned long long __ATTRS_o_ai
3982 vec_min(vector
unsigned long long __a, vector
unsigned long long __b) {
3983 return __builtin_altivec_vminud(__a, __b);
3986 static __inline__ vector
unsigned long long __ATTRS_o_ai
3987 vec_min(vector
bool long long __a, vector
unsigned long long __b) {
3988 return __builtin_altivec_vminud((vector
unsigned long long)__a, __b);
3991 static __inline__ vector
unsigned long long __ATTRS_o_ai
3992 vec_min(vector
unsigned long long __a, vector
bool long long __b) {
3993 return __builtin_altivec_vminud(__a, (vector
unsigned long long)__b);
4000 return __builtin_vsx_xvminsp(__a, __b);
4002 return __builtin_altivec_vminfp(__a, __b);
4008 vector
double __b) {
4009 return __builtin_vsx_xvmindp(__a, __b);
4017 return __builtin_altivec_vminsb(__a, __b);
4022 return __builtin_altivec_vminsb((vector
signed char)__a, __b);
4027 return __builtin_altivec_vminsb(__a, (vector
signed char)__b);
4034 return __builtin_altivec_vminub(__a, __b);
4039 return __builtin_altivec_vminub((vector
unsigned char)__a, __b);
4044 return __builtin_altivec_vminub(__a, (vector
unsigned char)__b);
4051 return __builtin_altivec_vminsh(__a, __b);
4056 return __builtin_altivec_vminsh((vector
short)__a, __b);
4060 vector
bool short __b) {
4061 return __builtin_altivec_vminsh(__a, (vector
short)__b);
4067 vec_vminuh(vector
unsigned short __a, vector
unsigned short __b) {
4068 return __builtin_altivec_vminuh(__a, __b);
4073 return __builtin_altivec_vminuh((vector
unsigned short)__a, __b);
4078 return __builtin_altivec_vminuh(__a, (vector
unsigned short)__b);
4085 return __builtin_altivec_vminsw(__a, __b);
4090 return __builtin_altivec_vminsw((vector
int)__a, __b);
4094 vector
bool int __b) {
4095 return __builtin_altivec_vminsw(__a, (vector
int)__b);
4102 return __builtin_altivec_vminuw(__a, __b);
4107 return __builtin_altivec_vminuw((vector
unsigned int)__a, __b);
4112 return __builtin_altivec_vminuw(__a, (vector
unsigned int)__b);
4117 static __inline__ vector
float __attribute__((__always_inline__))
4118 vec_vminfp(vector
float __a, vector
float __b) {
4120 return __builtin_vsx_xvminsp(__a, __b);
4122 return __builtin_altivec_vminfp(__a, __b);
4128 #define __builtin_altivec_vmladduhm vec_mladd
4133 return __a * __b +
__c;
4137 vector
short __a, vector
unsigned short __b, vector
unsigned short __c) {
4138 return __a * (vector short)__b + (vector
short)
__c;
4144 return (vector
short)__a * __b +
__c;
4148 vec_mladd(vector
unsigned short __a, vector
unsigned short __b,
4149 vector
unsigned short __c) {
4150 return __a * __b +
__c;
4158 return __a * __b +
__c;
4162 vector
short __a, vector
unsigned short __b, vector
unsigned short __c) {
4163 return __a * (vector short)__b + (vector
short)
__c;
4168 return (vector
short)__a * __b +
__c;
4173 vector
unsigned short __c) {
4174 return __a * __b +
__c;
4179 static __inline__ vector
short __attribute__((__always_inline__))
4180 vec_mradds(vector
short __a, vector
short __b, vector
short __c) {
4181 return __builtin_altivec_vmhraddshs(__a, __b, __c);
4186 static __inline__ vector
short __attribute__((__always_inline__))
4187 vec_vmhraddshs(vector
short __a, vector
short __b, vector
short __c) {
4188 return __builtin_altivec_vmhraddshs(__a, __b, __c);
4194 vector
unsigned char __b,
4196 return __builtin_altivec_vmsummbm(__a, __b, __c);
4200 vec_msum(vector
unsigned char __a, vector
unsigned char __b,
4201 vector
unsigned int __c) {
4202 return __builtin_altivec_vmsumubm(__a, __b, __c);
4208 return __builtin_altivec_vmsumshm(__a, __b, __c);
4212 vec_msum(vector
unsigned short __a, vector
unsigned short __b,
4213 vector
unsigned int __c) {
4214 return __builtin_altivec_vmsumuhm(__a, __b, __c);
4219 static __inline__ vector
int __attribute__((__always_inline__))
4220 vec_vmsummbm(vector
signed char __a, vector
unsigned char __b, vector
int __c) {
4221 return __builtin_altivec_vmsummbm(__a, __b, __c);
4226 static __inline__ vector
unsigned int __attribute__((__always_inline__))
4227 vec_vmsumubm(vector
unsigned char __a, vector
unsigned char __b,
4228 vector
unsigned int __c) {
4229 return __builtin_altivec_vmsumubm(__a, __b, __c);
4234 static __inline__ vector
int __attribute__((__always_inline__))
4235 vec_vmsumshm(vector
short __a, vector
short __b, vector
int __c) {
4236 return __builtin_altivec_vmsumshm(__a, __b, __c);
4241 static __inline__ vector
unsigned int __attribute__((__always_inline__))
4242 vec_vmsumuhm(vector
unsigned short __a, vector
unsigned short __b,
4243 vector
unsigned int __c) {
4244 return __builtin_altivec_vmsumuhm(__a, __b, __c);
4252 return __builtin_altivec_vmsumshs(__a, __b, __c);
4256 vec_msums(vector
unsigned short __a, vector
unsigned short __b,
4257 vector
unsigned int __c) {
4258 return __builtin_altivec_vmsumuhs(__a, __b, __c);
4263 static __inline__ vector
int __attribute__((__always_inline__))
4264 vec_vmsumshs(vector
short __a, vector
short __b, vector
int __c) {
4265 return __builtin_altivec_vmsumshs(__a, __b, __c);
4270 static __inline__ vector
unsigned int __attribute__((__always_inline__))
4271 vec_vmsumuhs(vector
unsigned short __a, vector
unsigned short __b,
4272 vector
unsigned int __c) {
4273 return __builtin_altivec_vmsumuhs(__a, __b, __c);
4279 __builtin_altivec_mtvscr((vector
int)__a);
4283 __builtin_altivec_mtvscr((vector
int)__a);
4287 __builtin_altivec_mtvscr((vector
int)__a);
4291 __builtin_altivec_mtvscr((vector
int)__a);
4295 __builtin_altivec_mtvscr((vector
int)__a);
4299 __builtin_altivec_mtvscr((vector
int)__a);
4303 __builtin_altivec_mtvscr((vector
int)__a);
4307 __builtin_altivec_mtvscr((vector
int)__a);
4311 __builtin_altivec_mtvscr((vector
int)__a);
4315 __builtin_altivec_mtvscr((vector
int)__a);
4319 __builtin_altivec_mtvscr((vector
int)__a);
4329 vec_mul(vector
signed char __a, vector
signed char __b) {
4334 vec_mul(vector
unsigned char __a, vector
unsigned char __b) {
4339 vec_mul(vector
signed short __a, vector
signed short __b) {
4344 vec_mul(vector
unsigned short __a, vector
unsigned short __b) {
4349 vec_mul(vector
signed int __a, vector
signed int __b) {
4354 vec_mul(vector
unsigned int __a, vector
unsigned int __b) {
4360 vec_mul(vector
signed long long __a, vector
signed long long __b) {
4364 static __inline__ vector
unsigned long long __ATTRS_o_ai
4365 vec_mul(vector
unsigned long long __a, vector
unsigned long long __b) {
4377 vector
double __b) {
4388 vector
signed char __b) {
4389 #ifdef __LITTLE_ENDIAN__
4390 return __builtin_altivec_vmulosb(__a, __b);
4392 return __builtin_altivec_vmulesb(__a, __b);
4397 vec_mule(vector
unsigned char __a, vector
unsigned char __b) {
4398 #ifdef __LITTLE_ENDIAN__
4399 return __builtin_altivec_vmuloub(__a, __b);
4401 return __builtin_altivec_vmuleub(__a, __b);
4407 #ifdef __LITTLE_ENDIAN__
4408 return __builtin_altivec_vmulosh(__a, __b);
4410 return __builtin_altivec_vmulesh(__a, __b);
4415 vec_mule(vector
unsigned short __a, vector
unsigned short __b) {
4416 #ifdef __LITTLE_ENDIAN__
4417 return __builtin_altivec_vmulouh(__a, __b);
4419 return __builtin_altivec_vmuleuh(__a, __b);
4423 #ifdef __POWER8_VECTOR__
4425 vec_mule(vector
signed int __a, vector
signed int __b) {
4426 #ifdef __LITTLE_ENDIAN__
4427 return __builtin_altivec_vmulosw(__a, __b);
4429 return __builtin_altivec_vmulesw(__a, __b);
4433 static __inline__ vector
unsigned long long __ATTRS_o_ai
4434 vec_mule(vector
unsigned int __a, vector
unsigned int __b) {
4435 #ifdef __LITTLE_ENDIAN__
4436 return __builtin_altivec_vmulouw(__a, __b);
4438 return __builtin_altivec_vmuleuw(__a, __b);
4445 static __inline__ vector
short __attribute__((__always_inline__))
4446 vec_vmulesb(vector
signed char __a, vector
signed char __b) {
4447 #ifdef __LITTLE_ENDIAN__
4448 return __builtin_altivec_vmulosb(__a, __b);
4450 return __builtin_altivec_vmulesb(__a, __b);
4456 static __inline__ vector
unsigned short __attribute__((__always_inline__))
4457 vec_vmuleub(vector
unsigned char __a, vector
unsigned char __b) {
4458 #ifdef __LITTLE_ENDIAN__
4459 return __builtin_altivec_vmuloub(__a, __b);
4461 return __builtin_altivec_vmuleub(__a, __b);
4467 static __inline__ vector
int __attribute__((__always_inline__))
4468 vec_vmulesh(vector
short __a, vector
short __b) {
4469 #ifdef __LITTLE_ENDIAN__
4470 return __builtin_altivec_vmulosh(__a, __b);
4472 return __builtin_altivec_vmulesh(__a, __b);
4478 static __inline__ vector
unsigned int __attribute__((__always_inline__))
4479 vec_vmuleuh(vector
unsigned short __a, vector
unsigned short __b) {
4480 #ifdef __LITTLE_ENDIAN__
4481 return __builtin_altivec_vmulouh(__a, __b);
4483 return __builtin_altivec_vmuleuh(__a, __b);
4490 vector
signed char __b) {
4491 #ifdef __LITTLE_ENDIAN__
4492 return __builtin_altivec_vmulesb(__a, __b);
4494 return __builtin_altivec_vmulosb(__a, __b);
4499 vec_mulo(vector
unsigned char __a, vector
unsigned char __b) {
4500 #ifdef __LITTLE_ENDIAN__
4501 return __builtin_altivec_vmuleub(__a, __b);
4503 return __builtin_altivec_vmuloub(__a, __b);
4509 #ifdef __LITTLE_ENDIAN__
4510 return __builtin_altivec_vmulesh(__a, __b);
4512 return __builtin_altivec_vmulosh(__a, __b);
4517 vec_mulo(vector
unsigned short __a, vector
unsigned short __b) {
4518 #ifdef __LITTLE_ENDIAN__
4519 return __builtin_altivec_vmuleuh(__a, __b);
4521 return __builtin_altivec_vmulouh(__a, __b);
4525 #ifdef __POWER8_VECTOR__
4527 vec_mulo(vector
signed int __a, vector
signed int __b) {
4528 #ifdef __LITTLE_ENDIAN__
4529 return __builtin_altivec_vmulesw(__a, __b);
4531 return __builtin_altivec_vmulosw(__a, __b);
4535 static __inline__ vector
unsigned long long __ATTRS_o_ai
4536 vec_mulo(vector
unsigned int __a, vector
unsigned int __b) {
4537 #ifdef __LITTLE_ENDIAN__
4538 return __builtin_altivec_vmuleuw(__a, __b);
4540 return __builtin_altivec_vmulouw(__a, __b);
4547 static __inline__ vector
short __attribute__((__always_inline__))
4548 vec_vmulosb(vector
signed char __a, vector
signed char __b) {
4549 #ifdef __LITTLE_ENDIAN__
4550 return __builtin_altivec_vmulesb(__a, __b);
4552 return __builtin_altivec_vmulosb(__a, __b);
4558 static __inline__ vector
unsigned short __attribute__((__always_inline__))
4559 vec_vmuloub(vector
unsigned char __a, vector
unsigned char __b) {
4560 #ifdef __LITTLE_ENDIAN__
4561 return __builtin_altivec_vmuleub(__a, __b);
4563 return __builtin_altivec_vmuloub(__a, __b);
4569 static __inline__ vector
int __attribute__((__always_inline__))
4570 vec_vmulosh(vector
short __a, vector
short __b) {
4571 #ifdef __LITTLE_ENDIAN__
4572 return __builtin_altivec_vmulesh(__a, __b);
4574 return __builtin_altivec_vmulosh(__a, __b);
4580 static __inline__ vector
unsigned int __attribute__((__always_inline__))
4581 vec_vmulouh(vector
unsigned short __a, vector
unsigned short __b) {
4582 #ifdef __LITTLE_ENDIAN__
4583 return __builtin_altivec_vmuleuh(__a, __b);
4585 return __builtin_altivec_vmulouh(__a, __b);
4591 #ifdef __POWER8_VECTOR__
4593 vec_nand(vector
signed char __a, vector
signed char __b) {
4594 return ~(__a &
__b);
4598 vec_nand(vector
signed char __a, vector
bool char __b) {
4599 return ~(__a &
__b);
4603 vec_nand(vector
bool char __a, vector
signed char __b) {
4604 return ~(__a &
__b);
4608 vec_nand(vector
unsigned char __a, vector
unsigned char __b) {
4609 return ~(__a &
__b);
4613 vec_nand(vector
unsigned char __a, vector
bool char __b) {
4614 return ~(__a &
__b);
4618 vec_nand(vector
bool char __a, vector
unsigned char __b) {
4619 return ~(__a &
__b);
4622 static __inline__ vector
bool char __ATTRS_o_ai vec_nand(vector
bool char __a,
4623 vector
bool char __b) {
4624 return ~(__a &
__b);
4628 vec_nand(vector
signed short __a, vector
signed short __b) {
4629 return ~(__a &
__b);
4633 vec_nand(vector
signed short __a, vector
bool short __b) {
4634 return ~(__a &
__b);
4638 vec_nand(vector
bool short __a, vector
signed short __b) {
4639 return ~(__a &
__b);
4643 vec_nand(vector
unsigned short __a, vector
unsigned short __b) {
4644 return ~(__a &
__b);
4648 vec_nand(vector
unsigned short __a, vector
bool short __b) {
4649 return ~(__a &
__b);
4653 vec_nand(vector
bool short __a, vector
bool short __b) {
4654 return ~(__a &
__b);
4658 vec_nand(vector
signed int __a, vector
signed int __b) {
4659 return ~(__a &
__b);
4662 static __inline__ vector
signed int __ATTRS_o_ai vec_nand(vector
signed int __a,
4663 vector
bool int __b) {
4664 return ~(__a &
__b);
4668 vec_nand(vector
bool int __a, vector
signed int __b) {
4669 return ~(__a &
__b);
4673 vec_nand(vector
unsigned int __a, vector
unsigned int __b) {
4674 return ~(__a &
__b);
4678 vec_nand(vector
unsigned int __a, vector
bool int __b) {
4679 return ~(__a &
__b);
4683 vec_nand(vector
bool int __a, vector
unsigned int __b) {
4684 return ~(__a &
__b);
4687 static __inline__ vector
bool int __ATTRS_o_ai vec_nand(vector
bool int __a,
4688 vector
bool int __b) {
4689 return ~(__a &
__b);
4693 vec_nand(vector
signed long long __a, vector
signed long long __b) {
4694 return ~(__a &
__b);
4698 vec_nand(vector
signed long long __a, vector
bool long long __b) {
4699 return ~(__a &
__b);
4703 vec_nand(vector
bool long long __a, vector
signed long long __b) {
4704 return ~(__a &
__b);
4707 static __inline__ vector
unsigned long long __ATTRS_o_ai
4708 vec_nand(vector
unsigned long long __a, vector
unsigned long long __b) {
4709 return ~(__a &
__b);
4712 static __inline__ vector
unsigned long long __ATTRS_o_ai
4713 vec_nand(vector
unsigned long long __a, vector
bool long long __b) {
4714 return ~(__a &
__b);
4717 static __inline__ vector
unsigned long long __ATTRS_o_ai
4718 vec_nand(vector
bool long long __a, vector
unsigned long long __b) {
4719 return ~(__a &
__b);
4723 vec_nand(vector
bool long long __a, vector
bool long long __b) {
4724 return ~(__a &
__b);
4732 static __inline__ vector
float __ATTRS_o_ai vec_nmadd(vector
float __a,
4735 return __builtin_vsx_xvnmaddasp(__a, __b, __c);
4738 static __inline__ vector
double __ATTRS_o_ai vec_nmadd(vector
double __a,
4740 vector
double __c) {
4741 return __builtin_vsx_xvnmaddadp(__a, __b, __c);
4751 return __builtin_vsx_xvnmsubasp(__a, __b, __c);
4753 return __builtin_altivec_vnmsubfp(__a, __b, __c);
4760 vector
double __c) {
4761 return __builtin_vsx_xvnmsubadp(__a, __b, __c);
4767 static __inline__ vector
float __attribute__((__always_inline__))
4768 vec_vnmsubfp(vector
float __a, vector
float __b, vector
float __c) {
4769 return __builtin_altivec_vnmsubfp(__a, __b, __c);
4774 #define __builtin_altivec_vnor vec_nor
4777 vec_nor(vector
signed char __a, vector
signed char __b) {
4778 return ~(__a |
__b);
4782 vec_nor(vector
unsigned char __a, vector
unsigned char __b) {
4783 return ~(__a |
__b);
4787 vector
bool char __b) {
4788 return ~(__a |
__b);
4793 return ~(__a |
__b);
4797 vec_nor(vector
unsigned short __a, vector
unsigned short __b) {
4798 return ~(__a |
__b);
4802 vec_nor(vector
bool short __a, vector
bool short __b) {
4803 return ~(__a |
__b);
4808 return ~(__a |
__b);
4812 vec_nor(vector
unsigned int __a, vector
unsigned int __b) {
4813 return ~(__a |
__b);
4817 vector
bool int __b) {
4818 return ~(__a |
__b);
4823 vector
unsigned int __res =
4824 ~((vector
unsigned int)__a | (vector
unsigned int)
__b);
4825 return (vector
float)__res;
4830 vector
double __b) {
4831 vector
unsigned long long __res =
4832 ~((vector
unsigned long long)__a | (vector
unsigned long long)
__b);
4833 return (vector
double)__res;
4840 vec_vnor(vector
signed char __a, vector
signed char __b) {
4841 return ~(__a |
__b);
4845 vec_vnor(vector
unsigned char __a, vector
unsigned char __b) {
4846 return ~(__a |
__b);
4850 vector
bool char __b) {
4851 return ~(__a |
__b);
4856 return ~(__a |
__b);
4860 vec_vnor(vector
unsigned short __a, vector
unsigned short __b) {
4861 return ~(__a |
__b);
4865 vec_vnor(vector
bool short __a, vector
bool short __b) {
4866 return ~(__a |
__b);
4871 return ~(__a |
__b);
4875 vec_vnor(vector
unsigned int __a, vector
unsigned int __b) {
4876 return ~(__a |
__b);
4880 vector
bool int __b) {
4881 return ~(__a |
__b);
4886 vector
unsigned int __res =
4887 ~((vector
unsigned int)__a | (vector
unsigned int)
__b);
4888 return (vector
float)__res;
4893 vec_nor(vector
signed long long __a, vector
signed long long __b) {
4894 return ~(__a |
__b);
4897 static __inline__ vector
unsigned long long __ATTRS_o_ai
4898 vec_nor(vector
unsigned long long __a, vector
unsigned long long __b) {
4899 return ~(__a |
__b);
4903 vec_nor(vector
bool long long __a, vector
bool long long __b) {
4904 return ~(__a |
__b);
4910 #define __builtin_altivec_vor vec_or
4913 vec_or(vector
signed char __a, vector
signed char __b) {
4918 vec_or(vector
bool char __a, vector
signed char __b) {
4919 return (vector
signed char)__a |
__b;
4923 vector
bool char __b) {
4924 return __a | (vector
signed char)__b;
4928 vec_or(vector
unsigned char __a, vector
unsigned char __b) {
4933 vec_or(vector
bool char __a, vector
unsigned char __b) {
4934 return (vector
unsigned char)__a |
__b;
4938 vec_or(vector
unsigned char __a, vector
bool char __b) {
4939 return __a | (vector
unsigned char)__b;
4943 vector
bool char __b) {
4954 return (vector
short)__a |
__b;
4958 vector
bool short __b) {
4959 return __a | (vector short)__b;
4963 vec_or(vector
unsigned short __a, vector
unsigned short __b) {
4968 vec_or(vector
bool short __a, vector
unsigned short __b) {
4969 return (vector
unsigned short)__a |
__b;
4973 vec_or(vector
unsigned short __a, vector
bool short __b) {
4974 return __a | (vector
unsigned short)__b;
4978 vector
bool short __b) {
4989 return (vector
int)__a |
__b;
4993 vector
bool int __b) {
4994 return __a | (vector int)__b;
4998 vec_or(vector
unsigned int __a, vector
unsigned int __b) {
5003 vec_or(vector
bool int __a, vector
unsigned int __b) {
5004 return (vector
unsigned int)__a |
__b;
5008 vec_or(vector
unsigned int __a, vector
bool int __b) {
5009 return __a | (vector
unsigned int)__b;
5013 vector
bool int __b) {
5019 vector
unsigned int __res =
5020 (vector
unsigned int)__a | (vector
unsigned int)
__b;
5021 return (vector
float)__res;
5026 vector
unsigned int __res =
5027 (vector
unsigned int)__a | (vector
unsigned int)
__b;
5028 return (vector
float)__res;
5032 vector
bool int __b) {
5033 vector
unsigned int __res =
5034 (vector
unsigned int)__a | (vector
unsigned int)
__b;
5035 return (vector
float)__res;
5040 vector
double __b) {
5041 return (vector
unsigned long long)__a | (vector
unsigned long long)__b;
5045 vector
bool long long __b) {
5046 return (vector
unsigned long long)__a | (vector
unsigned long long)__b;
5050 vector
double __b) {
5051 vector
unsigned long long __res =
5052 (vector
unsigned long long)__a | (vector
unsigned long long)
__b;
5053 return (vector
double)__res;
5057 vec_or(vector
signed long long __a, vector
signed long long __b) {
5062 vec_or(vector
bool long long __a, vector
signed long long __b) {
5063 return (vector
signed long long)__a |
__b;
5067 vec_or(vector
signed long long __a, vector
bool long long __b) {
5068 return __a | (vector
signed long long)__b;
5071 static __inline__ vector
unsigned long long __ATTRS_o_ai
5072 vec_or(vector
unsigned long long __a, vector
unsigned long long __b) {
5076 static __inline__ vector
unsigned long long __ATTRS_o_ai
5077 vec_or(vector
bool long long __a, vector
unsigned long long __b) {
5078 return (vector
unsigned long long)__a |
__b;
5081 static __inline__ vector
unsigned long long __ATTRS_o_ai
5082 vec_or(vector
unsigned long long __a, vector
bool long long __b) {
5083 return __a | (vector
unsigned long long)__b;
5087 vec_or(vector
bool long long __a, vector
bool long long __b) {
5092 #ifdef __POWER8_VECTOR__
5094 vec_orc(vector
signed char __a, vector
signed char __b) {
5099 vec_orc(vector
signed char __a, vector
bool char __b) {
5104 vec_orc(vector
bool char __a, vector
signed char __b) {
5109 vec_orc(vector
unsigned char __a, vector
unsigned char __b) {
5114 vec_orc(vector
unsigned char __a, vector
bool char __b) {
5119 vec_orc(vector
bool char __a, vector
unsigned char __b) {
5123 static __inline__ vector
bool char __ATTRS_o_ai vec_orc(vector
bool char __a,
5124 vector
bool char __b) {
5129 vec_orc(vector
signed short __a, vector
signed short __b) {
5134 vec_orc(vector
signed short __a, vector
bool short __b) {
5139 vec_orc(vector
bool short __a, vector
signed short __b) {
5144 vec_orc(vector
unsigned short __a, vector
unsigned short __b) {
5149 vec_orc(vector
unsigned short __a, vector
bool short __b) {
5154 vec_orc(vector
bool short __a, vector
unsigned short __b) {
5159 vec_orc(vector
bool short __a, vector
bool short __b) {
5164 vec_orc(vector
signed int __a, vector
signed int __b) {
5168 static __inline__ vector
signed int __ATTRS_o_ai vec_orc(vector
signed int __a,
5169 vector
bool int __b) {
5174 vec_orc(vector
bool int __a, vector
signed int __b) {
5179 vec_orc(vector
unsigned int __a, vector
unsigned int __b) {
5184 vec_orc(vector
unsigned int __a, vector
bool int __b) {
5189 vec_orc(vector
bool int __a, vector
unsigned int __b) {
5193 static __inline__ vector
bool int __ATTRS_o_ai vec_orc(vector
bool int __a,
5194 vector
bool int __b) {
5199 vec_orc(vector
signed long long __a, vector
signed long long __b) {
5204 vec_orc(vector
signed long long __a, vector
bool long long __b) {
5209 vec_orc(vector
bool long long __a, vector
signed long long __b) {
5213 static __inline__ vector
unsigned long long __ATTRS_o_ai
5214 vec_orc(vector
unsigned long long __a, vector
unsigned long long __b) {
5218 static __inline__ vector
unsigned long long __ATTRS_o_ai
5219 vec_orc(vector
unsigned long long __a, vector
bool long long __b) {
5223 static __inline__ vector
unsigned long long __ATTRS_o_ai
5224 vec_orc(vector
bool long long __a, vector
unsigned long long __b) {
5229 vec_orc(vector
bool long long __a, vector
bool long long __b) {
5237 vec_vor(vector
signed char __a, vector
signed char __b) {
5242 vec_vor(vector
bool char __a, vector
signed char __b) {
5243 return (vector
signed char)__a |
__b;
5247 vec_vor(vector
signed char __a, vector
bool char __b) {
5248 return __a | (vector
signed char)__b;
5252 vec_vor(vector
unsigned char __a, vector
unsigned char __b) {
5257 vec_vor(vector
bool char __a, vector
unsigned char __b) {
5258 return (vector
unsigned char)__a |
__b;
5262 vec_vor(vector
unsigned char __a, vector
bool char __b) {
5263 return __a | (vector
unsigned char)__b;
5267 vector
bool char __b) {
5278 return (vector
short)__a |
__b;
5282 vector
bool short __b) {
5283 return __a | (vector short)__b;
5287 vec_vor(vector
unsigned short __a, vector
unsigned short __b) {
5292 vec_vor(vector
bool short __a, vector
unsigned short __b) {
5293 return (vector
unsigned short)__a |
__b;
5297 vec_vor(vector
unsigned short __a, vector
bool short __b) {
5298 return __a | (vector
unsigned short)__b;
5302 vec_vor(vector
bool short __a, vector
bool short __b) {
5313 return (vector
int)__a |
__b;
5317 vector
bool int __b) {
5318 return __a | (vector int)__b;
5322 vec_vor(vector
unsigned int __a, vector
unsigned int __b) {
5327 vec_vor(vector
bool int __a, vector
unsigned int __b) {
5328 return (vector
unsigned int)__a |
__b;
5332 vec_vor(vector
unsigned int __a, vector
bool int __b) {
5333 return __a | (vector
unsigned int)__b;
5337 vector
bool int __b) {
5343 vector
unsigned int __res =
5344 (vector
unsigned int)__a | (vector
unsigned int)
__b;
5345 return (vector
float)__res;
5350 vector
unsigned int __res =
5351 (vector
unsigned int)__a | (vector
unsigned int)
__b;
5352 return (vector
float)__res;
5356 vector
bool int __b) {
5357 vector
unsigned int __res =
5358 (vector
unsigned int)__a | (vector
unsigned int)
__b;
5359 return (vector
float)__res;
5364 vec_vor(vector
signed long long __a, vector
signed long long __b) {
5369 vec_vor(vector
bool long long __a, vector
signed long long __b) {
5370 return (vector
signed long long)__a |
__b;
5374 vec_vor(vector
signed long long __a, vector
bool long long __b) {
5375 return __a | (vector
signed long long)__b;
5378 static __inline__ vector
unsigned long long __ATTRS_o_ai
5379 vec_vor(vector
unsigned long long __a, vector
unsigned long long __b) {
5383 static __inline__ vector
unsigned long long __ATTRS_o_ai
5384 vec_vor(vector
bool long long __a, vector
unsigned long long __b) {
5385 return (vector
unsigned long long)__a |
__b;
5388 static __inline__ vector
unsigned long long __ATTRS_o_ai
5389 vec_vor(vector
unsigned long long __a, vector
bool long long __b) {
5390 return __a | (vector
unsigned long long)__b;
5394 vec_vor(vector
bool long long __a, vector
bool long long __b) {
5405 vec_pack(vector
signed short __a, vector
signed short __b) {
5406 #ifdef __LITTLE_ENDIAN__
5407 return (vector
signed char)
vec_perm(
5409 (vector
unsigned char)(0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
5410 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
5412 return (vector
signed char)
vec_perm(
5414 (vector
unsigned char)(0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
5415 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
5420 vec_pack(vector
unsigned short __a, vector
unsigned short __b) {
5421 #ifdef __LITTLE_ENDIAN__
5422 return (vector
unsigned char)
vec_perm(
5424 (vector
unsigned char)(0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
5425 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
5427 return (vector
unsigned char)
vec_perm(
5429 (vector
unsigned char)(0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
5430 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
5435 vec_pack(vector
bool short __a, vector
bool short __b) {
5436 #ifdef __LITTLE_ENDIAN__
5439 (vector
unsigned char)(0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
5440 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
5444 (vector
unsigned char)(0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
5445 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
5451 #ifdef __LITTLE_ENDIAN__
5454 (vector
unsigned char)(0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
5455 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
5459 (vector
unsigned char)(0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
5460 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
5465 vec_pack(vector
unsigned int __a, vector
unsigned int __b) {
5466 #ifdef __LITTLE_ENDIAN__
5467 return (vector
unsigned short)
vec_perm(
5469 (vector
unsigned char)(0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
5470 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
5472 return (vector
unsigned short)
vec_perm(
5474 (vector
unsigned char)(0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
5475 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
5480 vector
bool int __b) {
5481 #ifdef __LITTLE_ENDIAN__
5482 return (vector
bool short)
vec_perm(
5484 (vector
unsigned char)(0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
5485 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
5487 return (vector
bool short)
vec_perm(
5489 (vector
unsigned char)(0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
5490 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
5496 vec_pack(vector
signed long long __a, vector
signed long long __b) {
5497 #ifdef __LITTLE_ENDIAN__
5498 return (vector
signed int)
vec_perm(
5500 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0B,
5501 0x10, 0x11, 0x12, 0x13, 0x18, 0x19, 0x1A, 0x1B));
5503 return (vector
signed int)
vec_perm(
5505 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D, 0x0E, 0x0F,
5506 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F));
5510 vec_pack(vector
unsigned long long __a, vector
unsigned long long __b) {
5511 #ifdef __LITTLE_ENDIAN__
5512 return (vector
unsigned int)
vec_perm(
5514 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0B,
5515 0x10, 0x11, 0x12, 0x13, 0x18, 0x19, 0x1A, 0x1B));
5517 return (vector
unsigned int)
vec_perm(
5519 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D, 0x0E, 0x0F,
5520 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F));
5525 vec_pack(vector
bool long long __a, vector
bool long long __b) {
5526 #ifdef __LITTLE_ENDIAN__
5529 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0B,
5530 0x10, 0x11, 0x12, 0x13, 0x18, 0x19, 0x1A, 0x1B));
5534 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D, 0x0E, 0x0F,
5535 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F));
5543 #define __builtin_altivec_vpkuhum vec_vpkuhum
5547 #ifdef __LITTLE_ENDIAN__
5548 return (vector
signed char)
vec_perm(
5550 (vector
unsigned char)(0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
5551 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
5553 return (vector
signed char)
vec_perm(
5555 (vector
unsigned char)(0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
5556 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
5562 #ifdef __LITTLE_ENDIAN__
5563 return (vector
unsigned char)
vec_perm(
5565 (vector
unsigned char)(0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
5566 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
5568 return (vector
unsigned char)
vec_perm(
5570 (vector
unsigned char)(0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
5571 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
5577 #ifdef __LITTLE_ENDIAN__
5580 (vector
unsigned char)(0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
5581 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
5585 (vector
unsigned char)(0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
5586 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
5592 #define __builtin_altivec_vpkuwum vec_vpkuwum
5596 #ifdef __LITTLE_ENDIAN__
5599 (vector
unsigned char)(0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
5600 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
5604 (vector
unsigned char)(0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
5605 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
5611 #ifdef __LITTLE_ENDIAN__
5612 return (vector
unsigned short)
vec_perm(
5614 (vector
unsigned char)(0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
5615 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
5617 return (vector
unsigned short)
vec_perm(
5619 (vector
unsigned char)(0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
5620 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
5626 #ifdef __LITTLE_ENDIAN__
5627 return (vector
bool short)
vec_perm(
5629 (vector
unsigned char)(0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
5630 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
5632 return (vector
bool short)
vec_perm(
5634 (vector
unsigned char)(0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
5635 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
5641 #ifdef __POWER8_VECTOR__
5642 #define __builtin_altivec_vpkudum vec_vpkudum
5644 static __inline__ vector
int __ATTRS_o_ai vec_vpkudum(vector
long long __a,
5645 vector
long long __b) {
5646 #ifdef __LITTLE_ENDIAN__
5649 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0B,
5650 0x10, 0x11, 0x12, 0x13, 0x18, 0x19, 0x1A, 0x1B));
5654 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D, 0x0E, 0x0F,
5655 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F));
5660 vec_vpkudum(vector
unsigned long long __a, vector
unsigned long long __b) {
5661 #ifdef __LITTLE_ENDIAN__
5662 return (vector
unsigned int)
vec_perm(
5664 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0B,
5665 0x10, 0x11, 0x12, 0x13, 0x18, 0x19, 0x1A, 0x1B));
5667 return (vector
unsigned int)
vec_perm(
5669 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D, 0x0E, 0x0F,
5670 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F));
5675 vec_vpkudum(vector
bool long long __a, vector
bool long long __b) {
5676 #ifdef __LITTLE_ENDIAN__
5678 (vector
long long)__a, (vector
long long)__b,
5679 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0B,
5680 0x10, 0x11, 0x12, 0x13, 0x18, 0x19, 0x1A, 0x1B));
5683 (vector
long long)__a, (vector
long long)__b,
5684 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D, 0x0E, 0x0F,
5685 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F));
5692 static __inline__ vector pixel
__attribute__((__always_inline__))
5693 vec_packpx(vector
unsigned int __a, vector
unsigned int __b) {
5694 #ifdef __LITTLE_ENDIAN__
5695 return (vector pixel)__builtin_altivec_vpkpx(__b, __a);
5697 return (vector pixel)__builtin_altivec_vpkpx(__a, __b);
5703 static __inline__ vector pixel
__attribute__((__always_inline__))
5704 vec_vpkpx(vector
unsigned int __a, vector
unsigned int __b) {
5705 #ifdef __LITTLE_ENDIAN__
5706 return (vector pixel)__builtin_altivec_vpkpx(__b, __a);
5708 return (vector pixel)__builtin_altivec_vpkpx(__a, __b);
5716 #ifdef __LITTLE_ENDIAN__
5717 return __builtin_altivec_vpkshss(__b, __a);
5719 return __builtin_altivec_vpkshss(__a, __b);
5724 vec_packs(vector
unsigned short __a, vector
unsigned short __b) {
5725 #ifdef __LITTLE_ENDIAN__
5726 return __builtin_altivec_vpkuhus(__b, __a);
5728 return __builtin_altivec_vpkuhus(__a, __b);
5734 #ifdef __LITTLE_ENDIAN__
5735 return __builtin_altivec_vpkswss(__b, __a);
5737 return __builtin_altivec_vpkswss(__a, __b);
5742 vec_packs(vector
unsigned int __a, vector
unsigned int __b) {
5743 #ifdef __LITTLE_ENDIAN__
5744 return __builtin_altivec_vpkuwus(__b, __a);
5746 return __builtin_altivec_vpkuwus(__a, __b);
5750 #ifdef __POWER8_VECTOR__
5752 vector
long long __b) {
5753 #ifdef __LITTLE_ENDIAN__
5754 return __builtin_altivec_vpksdss(__b, __a);
5756 return __builtin_altivec_vpksdss(__a, __b);
5761 vec_packs(vector
unsigned long long __a, vector
unsigned long long __b) {
5762 #ifdef __LITTLE_ENDIAN__
5763 return __builtin_altivec_vpkudus(__b, __a);
5765 return __builtin_altivec_vpkudus(__a, __b);
5772 static __inline__ vector
signed char __attribute__((__always_inline__))
5773 vec_vpkshss(vector
short __a, vector
short __b) {
5774 #ifdef __LITTLE_ENDIAN__
5775 return __builtin_altivec_vpkshss(__b, __a);
5777 return __builtin_altivec_vpkshss(__a, __b);
5783 #ifdef __POWER8_VECTOR__
5784 static __inline__ vector
int __ATTRS_o_ai vec_vpksdss(vector
long long __a,
5785 vector
long long __b) {
5786 #ifdef __LITTLE_ENDIAN__
5787 return __builtin_altivec_vpksdss(__b, __a);
5789 return __builtin_altivec_vpksdss(__a, __b);
5796 static __inline__ vector
unsigned char __attribute__((__always_inline__))
5797 vec_vpkuhus(vector
unsigned short __a, vector
unsigned short __b) {
5798 #ifdef __LITTLE_ENDIAN__
5799 return __builtin_altivec_vpkuhus(__b, __a);
5801 return __builtin_altivec_vpkuhus(__a, __b);
5807 #ifdef __POWER8_VECTOR__
5808 static __inline__ vector
unsigned int __attribute__((__always_inline__))
5809 vec_vpkudus(vector
unsigned long long __a, vector
unsigned long long __b) {
5810 #ifdef __LITTLE_ENDIAN__
5811 return __builtin_altivec_vpkudus(__b, __a);
5813 return __builtin_altivec_vpkudus(__a, __b);
5820 static __inline__ vector
signed short __attribute__((__always_inline__))
5821 vec_vpkswss(vector
int __a, vector
int __b) {
5822 #ifdef __LITTLE_ENDIAN__
5823 return __builtin_altivec_vpkswss(__b, __a);
5825 return __builtin_altivec_vpkswss(__a, __b);
5831 static __inline__ vector
unsigned short __attribute__((__always_inline__))
5832 vec_vpkuwus(vector
unsigned int __a, vector
unsigned int __b) {
5833 #ifdef __LITTLE_ENDIAN__
5834 return __builtin_altivec_vpkuwus(__b, __a);
5836 return __builtin_altivec_vpkuwus(__a, __b);
5844 #ifdef __LITTLE_ENDIAN__
5845 return __builtin_altivec_vpkshus(__b, __a);
5847 return __builtin_altivec_vpkshus(__a, __b);
5852 vec_packsu(vector
unsigned short __a, vector
unsigned short __b) {
5853 #ifdef __LITTLE_ENDIAN__
5854 return __builtin_altivec_vpkuhus(__b, __a);
5856 return __builtin_altivec_vpkuhus(__a, __b);
5862 #ifdef __LITTLE_ENDIAN__
5863 return __builtin_altivec_vpkswus(__b, __a);
5865 return __builtin_altivec_vpkswus(__a, __b);
5871 #ifdef __LITTLE_ENDIAN__
5872 return __builtin_altivec_vpkuwus(__b, __a);
5874 return __builtin_altivec_vpkuwus(__a, __b);
5878 #ifdef __POWER8_VECTOR__
5880 vec_packsu(vector
long long __a, vector
long long __b) {
5881 #ifdef __LITTLE_ENDIAN__
5882 return __builtin_altivec_vpksdus(__b, __a);
5884 return __builtin_altivec_vpksdus(__a, __b);
5889 vec_packsu(vector
unsigned long long __a, vector
unsigned long long __b) {
5890 #ifdef __LITTLE_ENDIAN__
5891 return __builtin_altivec_vpkudus(__b, __a);
5893 return __builtin_altivec_vpkudus(__a, __b);
5902 #ifdef __LITTLE_ENDIAN__
5903 return __builtin_altivec_vpkshus(__b, __a);
5905 return __builtin_altivec_vpkshus(__a, __b);
5911 #ifdef __LITTLE_ENDIAN__
5912 return __builtin_altivec_vpkuhus(__b, __a);
5914 return __builtin_altivec_vpkuhus(__a, __b);
5922 #ifdef __LITTLE_ENDIAN__
5923 return __builtin_altivec_vpkswus(__b, __a);
5925 return __builtin_altivec_vpkswus(__a, __b);
5931 #ifdef __LITTLE_ENDIAN__
5932 return __builtin_altivec_vpkuwus(__b, __a);
5934 return __builtin_altivec_vpkuwus(__a, __b);
5940 #ifdef __POWER8_VECTOR__
5942 vec_vpksdus(vector
long long __a, vector
long long __b) {
5943 #ifdef __LITTLE_ENDIAN__
5944 return __builtin_altivec_vpksdus(__b, __a);
5946 return __builtin_altivec_vpksdus(__a, __b);
5962 vector
signed char __a, vector
signed char __b, vector
unsigned char __c) {
5963 #ifdef __LITTLE_ENDIAN__
5964 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
5965 255, 255, 255, 255, 255, 255, 255, 255};
5967 return (vector
signed char)__builtin_altivec_vperm_4si((vector
int)__b,
5968 (vector
int)__a, __d);
5970 return (vector
signed char)__builtin_altivec_vperm_4si((vector
int)__a,
5971 (vector
int)__b, __c);
5976 vec_perm(vector
unsigned char __a, vector
unsigned char __b,
5977 vector
unsigned char __c) {
5978 #ifdef __LITTLE_ENDIAN__
5979 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
5980 255, 255, 255, 255, 255, 255, 255, 255};
5982 return (vector
unsigned char)__builtin_altivec_vperm_4si(
5983 (vector
int)__b, (vector
int)__a, __d);
5985 return (vector
unsigned char)__builtin_altivec_vperm_4si(
5986 (vector
int)__a, (vector
int)__b, __c);
5991 vec_perm(vector
bool char __a, vector
bool char __b, vector
unsigned char __c) {
5992 #ifdef __LITTLE_ENDIAN__
5993 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
5994 255, 255, 255, 255, 255, 255, 255, 255};
5996 return (vector
bool char)__builtin_altivec_vperm_4si((vector
int)__b,
5997 (vector
int)__a, __d);
5999 return (vector
bool char)__builtin_altivec_vperm_4si((vector
int)__a,
6000 (vector
int)__b, __c);
6005 vector
signed short __b,
6006 vector
unsigned char __c) {
6007 #ifdef __LITTLE_ENDIAN__
6008 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6009 255, 255, 255, 255, 255, 255, 255, 255};
6011 return (vector
signed short)__builtin_altivec_vperm_4si((vector
int)__b,
6012 (vector
int)__a, __d);
6014 return (vector
signed short)__builtin_altivec_vperm_4si((vector
int)__a,
6015 (vector
int)__b, __c);
6020 vec_perm(vector
unsigned short __a, vector
unsigned short __b,
6021 vector
unsigned char __c) {
6022 #ifdef __LITTLE_ENDIAN__
6023 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6024 255, 255, 255, 255, 255, 255, 255, 255};
6026 return (vector
unsigned short)__builtin_altivec_vperm_4si(
6027 (vector
int)__b, (vector
int)__a, __d);
6029 return (vector
unsigned short)__builtin_altivec_vperm_4si(
6030 (vector
int)__a, (vector
int)__b, __c);
6035 vector
bool short __a, vector
bool short __b, vector
unsigned char __c) {
6036 #ifdef __LITTLE_ENDIAN__
6037 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6038 255, 255, 255, 255, 255, 255, 255, 255};
6040 return (vector
bool short)__builtin_altivec_vperm_4si((vector
int)__b,
6041 (vector
int)__a, __d);
6043 return (vector
bool short)__builtin_altivec_vperm_4si((vector
int)__a,
6044 (vector
int)__b, __c);
6050 vector
unsigned char __c) {
6051 #ifdef __LITTLE_ENDIAN__
6052 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6053 255, 255, 255, 255, 255, 255, 255, 255};
6055 return (vector pixel)__builtin_altivec_vperm_4si((vector
int)__b,
6056 (vector
int)__a, __d);
6058 return (vector pixel)__builtin_altivec_vperm_4si((vector
int)__a,
6059 (vector
int)__b, __c);
6064 vector
signed int __b,
6065 vector
unsigned char __c) {
6066 #ifdef __LITTLE_ENDIAN__
6067 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6068 255, 255, 255, 255, 255, 255, 255, 255};
6070 return (vector
signed int)__builtin_altivec_vperm_4si(__b, __a, __d);
6072 return (vector
signed int)__builtin_altivec_vperm_4si(__a, __b, __c);
6077 vec_perm(vector
unsigned int __a, vector
unsigned int __b,
6078 vector
unsigned char __c) {
6079 #ifdef __LITTLE_ENDIAN__
6080 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6081 255, 255, 255, 255, 255, 255, 255, 255};
6083 return (vector
unsigned int)__builtin_altivec_vperm_4si((vector
int)__b,
6084 (vector
int)__a, __d);
6086 return (vector
unsigned int)__builtin_altivec_vperm_4si((vector
int)__a,
6087 (vector
int)__b, __c);
6092 vec_perm(vector
bool int __a, vector
bool int __b, vector
unsigned char __c) {
6093 #ifdef __LITTLE_ENDIAN__
6094 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6095 255, 255, 255, 255, 255, 255, 255, 255};
6097 return (vector
bool int)__builtin_altivec_vperm_4si((vector
int)__b,
6098 (vector
int)__a, __d);
6100 return (vector
bool int)__builtin_altivec_vperm_4si((vector
int)__a,
6101 (vector
int)__b, __c);
6107 vector
unsigned char __c) {
6108 #ifdef __LITTLE_ENDIAN__
6109 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6110 255, 255, 255, 255, 255, 255, 255, 255};
6112 return (vector
float)__builtin_altivec_vperm_4si((vector
int)__b,
6113 (vector
int)__a, __d);
6115 return (vector
float)__builtin_altivec_vperm_4si((vector
int)__a,
6116 (vector
int)__b, __c);
6122 vec_perm(vector
signed long long __a, vector
signed long long __b,
6123 vector
unsigned char __c) {
6124 #ifdef __LITTLE_ENDIAN__
6125 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6126 255, 255, 255, 255, 255, 255, 255, 255};
6128 return (vector
signed long long)__builtin_altivec_vperm_4si(
6129 (vector
int)__b, (vector
int)__a, __d);
6131 return (vector
signed long long)__builtin_altivec_vperm_4si(
6132 (vector
int)__a, (vector
int)__b, __c);
6136 static __inline__ vector
unsigned long long __ATTRS_o_ai
6137 vec_perm(vector
unsigned long long __a, vector
unsigned long long __b,
6138 vector
unsigned char __c) {
6139 #ifdef __LITTLE_ENDIAN__
6140 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6141 255, 255, 255, 255, 255, 255, 255, 255};
6143 return (vector
unsigned long long)__builtin_altivec_vperm_4si(
6144 (vector
int)__b, (vector
int)__a, __d);
6146 return (vector
unsigned long long)__builtin_altivec_vperm_4si(
6147 (vector
int)__a, (vector
int)__b, __c);
6152 vec_perm(vector
bool long long __a, vector
bool long long __b,
6153 vector
unsigned char __c) {
6154 #ifdef __LITTLE_ENDIAN__
6155 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6156 255, 255, 255, 255, 255, 255, 255, 255};
6158 return (vector
bool long long)__builtin_altivec_vperm_4si(
6159 (vector
int)__b, (vector
int)__a, __d);
6161 return (vector
bool long long)__builtin_altivec_vperm_4si(
6162 (vector
int)__a, (vector
int)__b, __c);
6167 vec_perm(vector
double __a, vector
double __b, vector
unsigned char __c) {
6168 #ifdef __LITTLE_ENDIAN__
6169 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6170 255, 255, 255, 255, 255, 255, 255, 255};
6172 return (vector
double)__builtin_altivec_vperm_4si((vector
int)__b,
6173 (vector
int)__a, __d);
6175 return (vector
double)__builtin_altivec_vperm_4si((vector
int)__a,
6176 (vector
int)__b, __c);
6184 vector
signed char __a, vector
signed char __b, vector
unsigned char __c) {
6189 vec_vperm(vector
unsigned char __a, vector
unsigned char __b,
6190 vector
unsigned char __c) {
6195 vector
bool char __a, vector
bool char __b, vector
unsigned char __c) {
6200 vec_vperm(vector
short __a, vector
short __b, vector
unsigned char __c) {
6205 vec_vperm(vector
unsigned short __a, vector
unsigned short __b,
6206 vector
unsigned char __c) {
6211 vector
bool short __a, vector
bool short __b, vector
unsigned char __c) {
6216 vec_vperm(vector pixel __a, vector pixel __b, vector
unsigned char __c) {
6222 vector
unsigned char __c) {
6228 vector
unsigned char __c) {
6233 vec_vperm(vector
bool int __a, vector
bool int __b, vector
unsigned char __c) {
6238 vec_vperm(vector
float __a, vector
float __b, vector
unsigned char __c) {
6244 vector
long long __a, vector
long long __b, vector
unsigned char __c) {
6248 static __inline__ vector
unsigned long long __ATTRS_o_ai
6249 vec_vperm(vector
unsigned long long __a, vector
unsigned long long __b,
6250 vector
unsigned char __c) {
6255 vec_vperm(vector
double __a, vector
double __b, vector
unsigned char __c) {
6264 return __builtin_vsx_xvresp(__a);
6266 return __builtin_altivec_vrefp(__a);
6272 return __builtin_vsx_xvredp(__a);
6278 static __inline__ vector
float __attribute__((__always_inline__))
6279 vec_vrefp(vector
float __a) {
6280 return __builtin_altivec_vrefp(__a);
6286 vec_rl(vector
signed char __a, vector
unsigned char __b) {
6287 return (vector
signed char)__builtin_altivec_vrlb((vector
char)__a, __b);
6291 vec_rl(vector
unsigned char __a, vector
unsigned char __b) {
6292 return (vector
unsigned char)__builtin_altivec_vrlb((vector
char)__a, __b);
6296 vector
unsigned short __b) {
6297 return __builtin_altivec_vrlh(__a, __b);
6301 vec_rl(vector
unsigned short __a, vector
unsigned short __b) {
6302 return (vector
unsigned short)__builtin_altivec_vrlh((vector
short)__a, __b);
6306 vector
unsigned int __b) {
6307 return __builtin_altivec_vrlw(__a, __b);
6311 vec_rl(vector
unsigned int __a, vector
unsigned int __b) {
6312 return (vector
unsigned int)__builtin_altivec_vrlw((vector
int)__a, __b);
6315 #ifdef __POWER8_VECTOR__
6317 vec_rl(vector
signed long long __a, vector
unsigned long long __b) {
6318 return __builtin_altivec_vrld(__a, __b);
6321 static __inline__ vector
unsigned long long __ATTRS_o_ai
6322 vec_rl(vector
unsigned long long __a, vector
unsigned long long __b) {
6323 return __builtin_altivec_vrld(__a, __b);
6330 vec_vrlb(vector
signed char __a, vector
unsigned char __b) {
6331 return (vector
signed char)__builtin_altivec_vrlb((vector
char)__a, __b);
6335 vec_vrlb(vector
unsigned char __a, vector
unsigned char __b) {
6336 return (vector
unsigned char)__builtin_altivec_vrlb((vector
char)__a, __b);
6342 vec_vrlh(vector
short __a, vector
unsigned short __b) {
6343 return __builtin_altivec_vrlh(__a, __b);
6347 vec_vrlh(vector
unsigned short __a, vector
unsigned short __b) {
6348 return (vector
unsigned short)__builtin_altivec_vrlh((vector
short)__a, __b);
6354 vector
unsigned int __b) {
6355 return __builtin_altivec_vrlw(__a, __b);
6359 vec_vrlw(vector
unsigned int __a, vector
unsigned int __b) {
6360 return (vector
unsigned int)__builtin_altivec_vrlw((vector
int)__a, __b);
6367 return __builtin_vsx_xvrspi(__a);
6369 return __builtin_altivec_vrfin(__a);
6375 return __builtin_vsx_xvrdpi(__a);
6380 static __inline__ vector
float __ATTRS_o_ai vec_rint(vector
float __a) {
6381 return __builtin_vsx_xvrspic(__a);
6384 static __inline__ vector
double __ATTRS_o_ai vec_rint(vector
double __a) {
6385 return __builtin_vsx_xvrdpic(__a);
6390 static __inline__ vector
float __ATTRS_o_ai vec_nearbyint(vector
float __a) {
6391 return __builtin_vsx_xvrspi(__a);
6394 static __inline__ vector
double __ATTRS_o_ai vec_nearbyint(vector
double __a) {
6395 return __builtin_vsx_xvrdpi(__a);
6401 static __inline__ vector
float __attribute__((__always_inline__))
6402 vec_vrfin(vector
float __a) {
6403 return __builtin_altivec_vrfin(__a);
6409 static __inline__ vector
float __ATTRS_o_ai vec_sqrt(vector
float __a) {
6410 return __builtin_vsx_xvsqrtsp(__a);
6413 static __inline__ vector
double __ATTRS_o_ai vec_sqrt(vector
double __a) {
6414 return __builtin_vsx_xvsqrtdp(__a);
6422 return __builtin_vsx_xvrsqrtesp(__a);
6424 return __builtin_altivec_vrsqrtefp(__a);
6430 return __builtin_vsx_xvrsqrtedp(__a);
6436 static __inline__ __vector
float __attribute__((__always_inline__))
6437 vec_vrsqrtefp(vector
float __a) {
6438 return __builtin_altivec_vrsqrtefp(__a);
6443 #define __builtin_altivec_vsel_4si vec_sel
6446 vector
signed char __a, vector
signed char __b, vector
unsigned char __c) {
6447 return (__a & ~(vector
signed char)__c) | (__b & (vector
signed char)__c);
6451 vec_sel(vector
signed char __a, vector
signed char __b, vector
bool char __c) {
6452 return (__a & ~(vector
signed char)__c) | (__b & (vector
signed char)__c);
6456 vec_sel(vector
unsigned char __a, vector
unsigned char __b,
6457 vector
unsigned char __c) {
6458 return (__a & ~__c) | (__b &
__c);
6462 vector
unsigned char __a, vector
unsigned char __b, vector
bool char __c) {
6463 return (__a & ~(vector
unsigned char)__c) | (__b & (vector
unsigned char)__c);
6467 vec_sel(vector
bool char __a, vector
bool char __b, vector
unsigned char __c) {
6468 return (__a & ~(vector
bool char)__c) | (__b & (vector
bool char)__c);
6472 vector
bool char __b,
6473 vector
bool char __c) {
6474 return (__a & ~__c) | (__b &
__c);
6479 vector
unsigned short __c) {
6480 return (__a & ~(vector
short)__c) | (__b & (vector short)__c);
6485 vector
bool short __c) {
6486 return (__a & ~(vector
short)__c) | (__b & (vector short)__c);
6490 vec_sel(vector
unsigned short __a, vector
unsigned short __b,
6491 vector
unsigned short __c) {
6492 return (__a & ~__c) | (__b &
__c);
6496 vec_sel(vector
unsigned short __a, vector
unsigned short __b,
6497 vector
bool short __c) {
6498 return (__a & ~(vector
unsigned short)__c) |
6499 (__b & (vector
unsigned short)__c);
6503 vector
bool short __a, vector
bool short __b, vector
unsigned short __c) {
6504 return (__a & ~(vector
bool short)__c) | (__b & (vector
bool short)__c);
6508 vec_sel(vector
bool short __a, vector
bool short __b, vector
bool short __c) {
6509 return (__a & ~__c) | (__b &
__c);
6514 vector
unsigned int __c) {
6515 return (__a & ~(vector
int)__c) | (__b & (vector int)__c);
6520 vector
bool int __c) {
6521 return (__a & ~(vector
int)__c) | (__b & (vector int)__c);
6525 vector
unsigned int __a, vector
unsigned int __b, vector
unsigned int __c) {
6526 return (__a & ~__c) | (__b &
__c);
6530 vec_sel(vector
unsigned int __a, vector
unsigned int __b, vector
bool int __c) {
6531 return (__a & ~(vector
unsigned int)__c) | (__b & (vector
unsigned int)__c);
6535 vec_sel(vector
bool int __a, vector
bool int __b, vector
unsigned int __c) {
6536 return (__a & ~(vector
bool int)__c) | (__b & (vector
bool int)__c);
6540 vector
bool int __b,
6541 vector
bool int __c) {
6542 return (__a & ~__c) | (__b &
__c);
6547 vector
unsigned int __c) {
6548 vector
int __res = ((vector int)__a & ~(vector
int)
__c) |
6549 ((vector
int)__b & (vector int)__c);
6550 return (vector
float)__res;
6555 vector
bool int __c) {
6556 vector
int __res = ((vector int)__a & ~(vector
int)
__c) |
6557 ((vector
int)__b & (vector int)__c);
6558 return (vector
float)__res;
6563 vec_sel(vector
double __a, vector
double __b, vector
bool long long __c) {
6564 vector
long long __res = ((vector
long long)__a & ~(vector
long long)
__c) |
6565 ((vector
long long)__b & (vector
long long)__c);
6566 return (vector
double)__res;
6570 vec_sel(vector
double __a, vector
double __b, vector
unsigned long long __c) {
6571 vector
long long __res = ((vector
long long)__a & ~(vector
long long)
__c) |
6572 ((vector
long long)__b & (vector
long long)__c);
6573 return (vector
double)__res;
6580 vector
signed char __a, vector
signed char __b, vector
unsigned char __c) {
6581 return (__a & ~(vector
signed char)__c) | (__b & (vector
signed char)__c);
6585 vec_vsel(vector
signed char __a, vector
signed char __b, vector
bool char __c) {
6586 return (__a & ~(vector
signed char)__c) | (__b & (vector
signed char)__c);
6590 vec_vsel(vector
unsigned char __a, vector
unsigned char __b,
6591 vector
unsigned char __c) {
6592 return (__a & ~__c) | (__b &
__c);
6596 vector
unsigned char __a, vector
unsigned char __b, vector
bool char __c) {
6597 return (__a & ~(vector
unsigned char)__c) | (__b & (vector
unsigned char)__c);
6601 vec_vsel(vector
bool char __a, vector
bool char __b, vector
unsigned char __c) {
6602 return (__a & ~(vector
bool char)__c) | (__b & (vector
bool char)__c);
6606 vector
bool char __b,
6607 vector
bool char __c) {
6608 return (__a & ~__c) | (__b &
__c);
6612 vec_vsel(vector
short __a, vector
short __b, vector
unsigned short __c) {
6613 return (__a & ~(vector
short)__c) | (__b & (vector short)__c);
6618 vector
bool short __c) {
6619 return (__a & ~(vector
short)__c) | (__b & (vector short)__c);
6623 vec_vsel(vector
unsigned short __a, vector
unsigned short __b,
6624 vector
unsigned short __c) {
6625 return (__a & ~__c) | (__b &
__c);
6629 vec_vsel(vector
unsigned short __a, vector
unsigned short __b,
6630 vector
bool short __c) {
6631 return (__a & ~(vector
unsigned short)__c) |
6632 (__b & (vector
unsigned short)__c);
6636 vector
bool short __a, vector
bool short __b, vector
unsigned short __c) {
6637 return (__a & ~(vector
bool short)__c) | (__b & (vector
bool short)__c);
6641 vec_vsel(vector
bool short __a, vector
bool short __b, vector
bool short __c) {
6642 return (__a & ~__c) | (__b &
__c);
6647 vector
unsigned int __c) {
6648 return (__a & ~(vector
int)__c) | (__b & (vector int)__c);
6653 vector
bool int __c) {
6654 return (__a & ~(vector
int)__c) | (__b & (vector int)__c);
6658 vector
unsigned int __a, vector
unsigned int __b, vector
unsigned int __c) {
6659 return (__a & ~__c) | (__b &
__c);
6663 vector
unsigned int __a, vector
unsigned int __b, vector
bool int __c) {
6664 return (__a & ~(vector
unsigned int)__c) | (__b & (vector
unsigned int)__c);
6668 vec_vsel(vector
bool int __a, vector
bool int __b, vector
unsigned int __c) {
6669 return (__a & ~(vector
bool int)__c) | (__b & (vector
bool int)__c);
6673 vector
bool int __b,
6674 vector
bool int __c) {
6675 return (__a & ~__c) | (__b &
__c);
6680 vector
unsigned int __c) {
6681 vector
int __res = ((vector int)__a & ~(vector
int)
__c) |
6682 ((vector
int)__b & (vector int)__c);
6683 return (vector
float)__res;
6688 vector
bool int __c) {
6689 vector
int __res = ((vector int)__a & ~(vector
int)
__c) |
6690 ((vector
int)__b & (vector int)__c);
6691 return (vector
float)__res;
6697 vec_sl(vector
signed char __a, vector
unsigned char __b) {
6698 return __a << (vector
signed char)__b;
6702 vec_sl(vector
unsigned char __a, vector
unsigned char __b) {
6707 vector
unsigned short __b) {
6708 return __a << (vector short)__b;
6712 vec_sl(vector
unsigned short __a, vector
unsigned short __b) {
6717 vector
unsigned int __b) {
6718 return __a << (vector int)__b;
6722 vec_sl(vector
unsigned int __a, vector
unsigned int __b) {
6726 #ifdef __POWER8_VECTOR__
6728 vec_sl(vector
signed long long __a, vector
unsigned long long __b) {
6729 return __a << (vector
long long)__b;
6732 static __inline__ vector
unsigned long long __ATTRS_o_ai
6733 vec_sl(vector
unsigned long long __a, vector
unsigned long long __b) {
6740 #define __builtin_altivec_vslb vec_vslb
6743 vec_vslb(vector
signed char __a, vector
unsigned char __b) {
6748 vec_vslb(vector
unsigned char __a, vector
unsigned char __b) {
6754 #define __builtin_altivec_vslh vec_vslh
6757 vec_vslh(vector
short __a, vector
unsigned short __b) {
6762 vec_vslh(vector
unsigned short __a, vector
unsigned short __b) {
6768 #define __builtin_altivec_vslw vec_vslw
6771 vector
unsigned int __b) {
6776 vec_vslw(vector
unsigned int __a, vector
unsigned int __b) {
6782 #define __builtin_altivec_vsldoi_4si vec_sld
6785 vector
signed char __a, vector
signed char __b,
unsigned const int __c) {
6786 unsigned char __d = __c & 0x0F;
6787 #ifdef __LITTLE_ENDIAN__
6789 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
6790 20 - __d, 21 - __d, 22 - __d, 23 - __d,
6791 24 - __d, 25 - __d, 26 - __d, 27 - __d,
6792 28 - __d, 29 - __d, 30 - __d, 31 - __d));
6796 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6797 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6798 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6803 vec_sld(vector
unsigned char __a, vector
unsigned char __b,
6804 unsigned const int __c) {
6805 unsigned char __d = __c & 0x0F;
6806 #ifdef __LITTLE_ENDIAN__
6808 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
6809 20 - __d, 21 - __d, 22 - __d, 23 - __d,
6810 24 - __d, 25 - __d, 26 - __d, 27 - __d,
6811 28 - __d, 29 - __d, 30 - __d, 31 - __d));
6815 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6816 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6817 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6822 vec_sld(vector
bool char __a, vector
bool char __b,
unsigned const int __c) {
6823 unsigned char __d = __c & 0x0F;
6824 #ifdef __LITTLE_ENDIAN__
6826 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
6827 20 - __d, 21 - __d, 22 - __d, 23 - __d,
6828 24 - __d, 25 - __d, 26 - __d, 27 - __d,
6829 28 - __d, 29 - __d, 30 - __d, 31 - __d));
6833 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6834 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6835 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6840 vector
signed short __a, vector
signed short __b,
unsigned const int __c) {
6841 unsigned char __d = __c & 0x0F;
6842 #ifdef __LITTLE_ENDIAN__
6844 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
6845 20 - __d, 21 - __d, 22 - __d, 23 - __d,
6846 24 - __d, 25 - __d, 26 - __d, 27 - __d,
6847 28 - __d, 29 - __d, 30 - __d, 31 - __d));
6851 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6852 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6853 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6858 vec_sld(vector
unsigned short __a, vector
unsigned short __b,
6859 unsigned const int __c) {
6860 unsigned char __d = __c & 0x0F;
6861 #ifdef __LITTLE_ENDIAN__
6863 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
6864 20 - __d, 21 - __d, 22 - __d, 23 - __d,
6865 24 - __d, 25 - __d, 26 - __d, 27 - __d,
6866 28 - __d, 29 - __d, 30 - __d, 31 - __d));
6870 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6871 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6872 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6877 vec_sld(vector
bool short __a, vector
bool short __b,
unsigned const int __c) {
6878 unsigned char __d = __c & 0x0F;
6879 #ifdef __LITTLE_ENDIAN__
6881 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
6882 20 - __d, 21 - __d, 22 - __d, 23 - __d,
6883 24 - __d, 25 - __d, 26 - __d, 27 - __d,
6884 28 - __d, 29 - __d, 30 - __d, 31 - __d));
6888 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6889 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6890 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6896 unsigned const int __c) {
6897 unsigned char __d = __c & 0x0F;
6898 #ifdef __LITTLE_ENDIAN__
6900 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
6901 20 - __d, 21 - __d, 22 - __d, 23 - __d,
6902 24 - __d, 25 - __d, 26 - __d, 27 - __d,
6903 28 - __d, 29 - __d, 30 - __d, 31 - __d));
6907 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6908 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6909 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6914 vec_sld(vector
signed int __a, vector
signed int __b,
unsigned const int __c) {
6915 unsigned char __d = __c & 0x0F;
6916 #ifdef __LITTLE_ENDIAN__
6918 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
6919 20 - __d, 21 - __d, 22 - __d, 23 - __d,
6920 24 - __d, 25 - __d, 26 - __d, 27 - __d,
6921 28 - __d, 29 - __d, 30 - __d, 31 - __d));
6925 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6926 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6927 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6932 vector
unsigned int __a, vector
unsigned int __b,
unsigned const int __c) {
6933 unsigned char __d = __c & 0x0F;
6934 #ifdef __LITTLE_ENDIAN__
6936 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
6937 20 - __d, 21 - __d, 22 - __d, 23 - __d,
6938 24 - __d, 25 - __d, 26 - __d, 27 - __d,
6939 28 - __d, 29 - __d, 30 - __d, 31 - __d));
6943 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6944 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6945 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6950 vector
bool int __b,
6951 unsigned const int __c) {
6952 unsigned char __d = __c & 0x0F;
6953 #ifdef __LITTLE_ENDIAN__
6955 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
6956 20 - __d, 21 - __d, 22 - __d, 23 - __d,
6957 24 - __d, 25 - __d, 26 - __d, 27 - __d,
6958 28 - __d, 29 - __d, 30 - __d, 31 - __d));
6962 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6963 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6964 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6970 unsigned const int __c) {
6971 unsigned char __d = __c & 0x0F;
6972 #ifdef __LITTLE_ENDIAN__
6974 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
6975 20 - __d, 21 - __d, 22 - __d, 23 - __d,
6976 24 - __d, 25 - __d, 26 - __d, 27 - __d,
6977 28 - __d, 29 - __d, 30 - __d, 31 - __d));
6981 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6982 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6983 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6990 vec_vsldoi(vector
signed char __a, vector
signed char __b,
unsigned char __c) {
6991 unsigned char __d = __c & 0x0F;
6992 #ifdef __LITTLE_ENDIAN__
6994 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
6995 20 - __d, 21 - __d, 22 - __d, 23 - __d,
6996 24 - __d, 25 - __d, 26 - __d, 27 - __d,
6997 28 - __d, 29 - __d, 30 - __d, 31 - __d));
7001 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
7002 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
7003 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
7008 vector
unsigned char __a, vector
unsigned char __b,
unsigned char __c) {
7009 unsigned char __d = __c & 0x0F;
7010 #ifdef __LITTLE_ENDIAN__
7012 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
7013 20 - __d, 21 - __d, 22 - __d, 23 - __d,
7014 24 - __d, 25 - __d, 26 - __d, 27 - __d,
7015 28 - __d, 29 - __d, 30 - __d, 31 - __d));
7019 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
7020 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
7021 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
7027 unsigned char __c) {
7028 unsigned char __d = __c & 0x0F;
7029 #ifdef __LITTLE_ENDIAN__
7031 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
7032 20 - __d, 21 - __d, 22 - __d, 23 - __d,
7033 24 - __d, 25 - __d, 26 - __d, 27 - __d,
7034 28 - __d, 29 - __d, 30 - __d, 31 - __d));
7038 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
7039 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
7040 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
7045 vector
unsigned short __a, vector
unsigned short __b,
unsigned char __c) {
7046 unsigned char __d = __c & 0x0F;
7047 #ifdef __LITTLE_ENDIAN__
7049 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
7050 20 - __d, 21 - __d, 22 - __d, 23 - __d,
7051 24 - __d, 25 - __d, 26 - __d, 27 - __d,
7052 28 - __d, 29 - __d, 30 - __d, 31 - __d));
7056 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
7057 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
7058 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
7064 unsigned char __c) {
7065 unsigned char __d = __c & 0x0F;
7066 #ifdef __LITTLE_ENDIAN__
7068 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
7069 20 - __d, 21 - __d, 22 - __d, 23 - __d,
7070 24 - __d, 25 - __d, 26 - __d, 27 - __d,
7071 28 - __d, 29 - __d, 30 - __d, 31 - __d));
7075 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
7076 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
7077 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
7083 unsigned char __c) {
7084 unsigned char __d = __c & 0x0F;
7085 #ifdef __LITTLE_ENDIAN__
7087 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
7088 20 - __d, 21 - __d, 22 - __d, 23 - __d,
7089 24 - __d, 25 - __d, 26 - __d, 27 - __d,
7090 28 - __d, 29 - __d, 30 - __d, 31 - __d));
7094 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
7095 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
7096 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
7101 vector
unsigned int __a, vector
unsigned int __b,
unsigned char __c) {
7102 unsigned char __d = __c & 0x0F;
7103 #ifdef __LITTLE_ENDIAN__
7105 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
7106 20 - __d, 21 - __d, 22 - __d, 23 - __d,
7107 24 - __d, 25 - __d, 26 - __d, 27 - __d,
7108 28 - __d, 29 - __d, 30 - __d, 31 - __d));
7112 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
7113 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
7114 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
7120 unsigned char __c) {
7121 unsigned char __d = __c & 0x0F;
7122 #ifdef __LITTLE_ENDIAN__
7124 __b, __a, (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d,
7125 20 - __d, 21 - __d, 22 - __d, 23 - __d,
7126 24 - __d, 25 - __d, 26 - __d, 27 - __d,
7127 28 - __d, 29 - __d, 30 - __d, 31 - __d));
7131 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
7132 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
7133 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
7140 vec_sll(vector
signed char __a, vector
unsigned char __b) {
7141 return (vector
signed char)__builtin_altivec_vsl((vector
int)__a,
7146 vec_sll(vector
signed char __a, vector
unsigned short __b) {
7147 return (vector
signed char)__builtin_altivec_vsl((vector
int)__a,
7152 vec_sll(vector
signed char __a, vector
unsigned int __b) {
7153 return (vector
signed char)__builtin_altivec_vsl((vector
int)__a,
7158 vec_sll(vector
unsigned char __a, vector
unsigned char __b) {
7159 return (vector
unsigned char)__builtin_altivec_vsl((vector
int)__a,
7164 vec_sll(vector
unsigned char __a, vector
unsigned short __b) {
7165 return (vector
unsigned char)__builtin_altivec_vsl((vector
int)__a,
7170 vec_sll(vector
unsigned char __a, vector
unsigned int __b) {
7171 return (vector
unsigned char)__builtin_altivec_vsl((vector
int)__a,
7176 vec_sll(vector
bool char __a, vector
unsigned char __b) {
7177 return (vector
bool char)__builtin_altivec_vsl((vector
int)__a,
7182 vec_sll(vector
bool char __a, vector
unsigned short __b) {
7183 return (vector
bool char)__builtin_altivec_vsl((vector
int)__a,
7188 vec_sll(vector
bool char __a, vector
unsigned int __b) {
7189 return (vector
bool char)__builtin_altivec_vsl((vector
int)__a,
7194 vector
unsigned char __b) {
7195 return (vector
short)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7199 vector
unsigned short __b) {
7200 return (vector
short)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7204 vector
unsigned int __b) {
7205 return (vector
short)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7209 vec_sll(vector
unsigned short __a, vector
unsigned char __b) {
7210 return (vector
unsigned short)__builtin_altivec_vsl((vector
int)__a,
7215 vec_sll(vector
unsigned short __a, vector
unsigned short __b) {
7216 return (vector
unsigned short)__builtin_altivec_vsl((vector
int)__a,
7221 vec_sll(vector
unsigned short __a, vector
unsigned int __b) {
7222 return (vector
unsigned short)__builtin_altivec_vsl((vector
int)__a,
7227 vec_sll(vector
bool short __a, vector
unsigned char __b) {
7228 return (vector
bool short)__builtin_altivec_vsl((vector
int)__a,
7233 vec_sll(vector
bool short __a, vector
unsigned short __b) {
7234 return (vector
bool short)__builtin_altivec_vsl((vector
int)__a,
7239 vec_sll(vector
bool short __a, vector
unsigned int __b) {
7240 return (vector
bool short)__builtin_altivec_vsl((vector
int)__a,
7245 vector
unsigned char __b) {
7246 return (vector pixel)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7250 vector
unsigned short __b) {
7251 return (vector pixel)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7255 vector
unsigned int __b) {
7256 return (vector pixel)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7260 vector
unsigned char __b) {
7261 return (vector
int)__builtin_altivec_vsl(__a, (vector
int)__b);
7265 vector
unsigned short __b) {
7266 return (vector
int)__builtin_altivec_vsl(__a, (vector
int)__b);
7270 vector
unsigned int __b) {
7271 return (vector
int)__builtin_altivec_vsl(__a, (vector
int)__b);
7275 vec_sll(vector
unsigned int __a, vector
unsigned char __b) {
7276 return (vector
unsigned int)__builtin_altivec_vsl((vector
int)__a,
7281 vec_sll(vector
unsigned int __a, vector
unsigned short __b) {
7282 return (vector
unsigned int)__builtin_altivec_vsl((vector
int)__a,
7287 vec_sll(vector
unsigned int __a, vector
unsigned int __b) {
7288 return (vector
unsigned int)__builtin_altivec_vsl((vector
int)__a,
7293 vec_sll(vector
bool int __a, vector
unsigned char __b) {
7294 return (vector
bool int)__builtin_altivec_vsl((vector
int)__a,
7299 vec_sll(vector
bool int __a, vector
unsigned short __b) {
7300 return (vector
bool int)__builtin_altivec_vsl((vector
int)__a,
7305 vec_sll(vector
bool int __a, vector
unsigned int __b) {
7306 return (vector
bool int)__builtin_altivec_vsl((vector
int)__a,
7313 vec_vsl(vector
signed char __a, vector
unsigned char __b) {
7314 return (vector
signed char)__builtin_altivec_vsl((vector
int)__a,
7319 vec_vsl(vector
signed char __a, vector
unsigned short __b) {
7320 return (vector
signed char)__builtin_altivec_vsl((vector
int)__a,
7325 vec_vsl(vector
signed char __a, vector
unsigned int __b) {
7326 return (vector
signed char)__builtin_altivec_vsl((vector
int)__a,
7331 vec_vsl(vector
unsigned char __a, vector
unsigned char __b) {
7332 return (vector
unsigned char)__builtin_altivec_vsl((vector
int)__a,
7337 vec_vsl(vector
unsigned char __a, vector
unsigned short __b) {
7338 return (vector
unsigned char)__builtin_altivec_vsl((vector
int)__a,
7343 vec_vsl(vector
unsigned char __a, vector
unsigned int __b) {
7344 return (vector
unsigned char)__builtin_altivec_vsl((vector
int)__a,
7349 vec_vsl(vector
bool char __a, vector
unsigned char __b) {
7350 return (vector
bool char)__builtin_altivec_vsl((vector
int)__a,
7355 vec_vsl(vector
bool char __a, vector
unsigned short __b) {
7356 return (vector
bool char)__builtin_altivec_vsl((vector
int)__a,
7361 vec_vsl(vector
bool char __a, vector
unsigned int __b) {
7362 return (vector
bool char)__builtin_altivec_vsl((vector
int)__a,
7367 vector
unsigned char __b) {
7368 return (vector
short)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7372 vector
unsigned short __b) {
7373 return (vector
short)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7377 vector
unsigned int __b) {
7378 return (vector
short)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7382 vec_vsl(vector
unsigned short __a, vector
unsigned char __b) {
7383 return (vector
unsigned short)__builtin_altivec_vsl((vector
int)__a,
7388 vec_vsl(vector
unsigned short __a, vector
unsigned short __b) {
7389 return (vector
unsigned short)__builtin_altivec_vsl((vector
int)__a,
7394 vec_vsl(vector
unsigned short __a, vector
unsigned int __b) {
7395 return (vector
unsigned short)__builtin_altivec_vsl((vector
int)__a,
7400 vec_vsl(vector
bool short __a, vector
unsigned char __b) {
7401 return (vector
bool short)__builtin_altivec_vsl((vector
int)__a,
7406 vec_vsl(vector
bool short __a, vector
unsigned short __b) {
7407 return (vector
bool short)__builtin_altivec_vsl((vector
int)__a,
7412 vec_vsl(vector
bool short __a, vector
unsigned int __b) {
7413 return (vector
bool short)__builtin_altivec_vsl((vector
int)__a,
7418 vector
unsigned char __b) {
7419 return (vector pixel)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7423 vector
unsigned short __b) {
7424 return (vector pixel)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7428 vector
unsigned int __b) {
7429 return (vector pixel)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7433 vector
unsigned char __b) {
7434 return (vector
int)__builtin_altivec_vsl(__a, (vector
int)__b);
7438 vector
unsigned short __b) {
7439 return (vector
int)__builtin_altivec_vsl(__a, (vector
int)__b);
7443 vector
unsigned int __b) {
7444 return (vector
int)__builtin_altivec_vsl(__a, (vector
int)__b);
7448 vec_vsl(vector
unsigned int __a, vector
unsigned char __b) {
7449 return (vector
unsigned int)__builtin_altivec_vsl((vector
int)__a,
7454 vec_vsl(vector
unsigned int __a, vector
unsigned short __b) {
7455 return (vector
unsigned int)__builtin_altivec_vsl((vector
int)__a,
7460 vec_vsl(vector
unsigned int __a, vector
unsigned int __b) {
7461 return (vector
unsigned int)__builtin_altivec_vsl((vector
int)__a,
7466 vec_vsl(vector
bool int __a, vector
unsigned char __b) {
7467 return (vector
bool int)__builtin_altivec_vsl((vector
int)__a,
7472 vec_vsl(vector
bool int __a, vector
unsigned short __b) {
7473 return (vector
bool int)__builtin_altivec_vsl((vector
int)__a,
7478 vec_vsl(vector
bool int __a, vector
unsigned int __b) {
7479 return (vector
bool int)__builtin_altivec_vsl((vector
int)__a,
7486 vec_slo(vector
signed char __a, vector
signed char __b) {
7487 return (vector
signed char)__builtin_altivec_vslo((vector
int)__a,
7492 vec_slo(vector
signed char __a, vector
unsigned char __b) {
7493 return (vector
signed char)__builtin_altivec_vslo((vector
int)__a,
7498 vec_slo(vector
unsigned char __a, vector
signed char __b) {
7499 return (vector
unsigned char)__builtin_altivec_vslo((vector
int)__a,
7504 vec_slo(vector
unsigned char __a, vector
unsigned char __b) {
7505 return (vector
unsigned char)__builtin_altivec_vslo((vector
int)__a,
7510 vector
signed char __b) {
7511 return (vector
short)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7515 vector
unsigned char __b) {
7516 return (vector
short)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7520 vec_slo(vector
unsigned short __a, vector
signed char __b) {
7521 return (vector
unsigned short)__builtin_altivec_vslo((vector
int)__a,
7526 vec_slo(vector
unsigned short __a, vector
unsigned char __b) {
7527 return (vector
unsigned short)__builtin_altivec_vslo((vector
int)__a,
7532 vector
signed char __b) {
7533 return (vector pixel)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7537 vector
unsigned char __b) {
7538 return (vector pixel)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7542 vector
signed char __b) {
7543 return (vector
int)__builtin_altivec_vslo(__a, (vector
int)__b);
7547 vector
unsigned char __b) {
7548 return (vector
int)__builtin_altivec_vslo(__a, (vector
int)__b);
7552 vec_slo(vector
unsigned int __a, vector
signed char __b) {
7553 return (vector
unsigned int)__builtin_altivec_vslo((vector
int)__a,
7558 vec_slo(vector
unsigned int __a, vector
unsigned char __b) {
7559 return (vector
unsigned int)__builtin_altivec_vslo((vector
int)__a,
7564 vector
signed char __b) {
7565 return (vector
float)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7569 vector
unsigned char __b) {
7570 return (vector
float)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7576 vec_vslo(vector
signed char __a, vector
signed char __b) {
7577 return (vector
signed char)__builtin_altivec_vslo((vector
int)__a,
7582 vec_vslo(vector
signed char __a, vector
unsigned char __b) {
7583 return (vector
signed char)__builtin_altivec_vslo((vector
int)__a,
7588 vec_vslo(vector
unsigned char __a, vector
signed char __b) {
7589 return (vector
unsigned char)__builtin_altivec_vslo((vector
int)__a,
7594 vec_vslo(vector
unsigned char __a, vector
unsigned char __b) {
7595 return (vector
unsigned char)__builtin_altivec_vslo((vector
int)__a,
7600 vector
signed char __b) {
7601 return (vector
short)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7605 vector
unsigned char __b) {
7606 return (vector
short)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7610 vec_vslo(vector
unsigned short __a, vector
signed char __b) {
7611 return (vector
unsigned short)__builtin_altivec_vslo((vector
int)__a,
7616 vec_vslo(vector
unsigned short __a, vector
unsigned char __b) {
7617 return (vector
unsigned short)__builtin_altivec_vslo((vector
int)__a,
7622 vector
signed char __b) {
7623 return (vector pixel)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7627 vector
unsigned char __b) {
7628 return (vector pixel)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7632 vector
signed char __b) {
7633 return (vector
int)__builtin_altivec_vslo(__a, (vector
int)__b);
7637 vector
unsigned char __b) {
7638 return (vector
int)__builtin_altivec_vslo(__a, (vector
int)__b);
7642 vec_vslo(vector
unsigned int __a, vector
signed char __b) {
7643 return (vector
unsigned int)__builtin_altivec_vslo((vector
int)__a,
7648 vec_vslo(vector
unsigned int __a, vector
unsigned char __b) {
7649 return (vector
unsigned int)__builtin_altivec_vslo((vector
int)__a,
7654 vector
signed char __b) {
7655 return (vector
float)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7659 vector
unsigned char __b) {
7660 return (vector
float)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7667 return vec_perm(__a, __a, (vector
unsigned char)(__b & 0x0F));
7671 vec_splat(vector
unsigned char __a,
unsigned const int __b) {
7672 return vec_perm(__a, __a, (vector
unsigned char)(__b & 0x0F));
7677 return vec_perm(__a, __a, (vector
unsigned char)(__b & 0x0F));
7681 vec_splat(vector
signed short __a,
unsigned const int __b) {
7682 unsigned char b0 = (__b & 0x07) * 2;
7683 unsigned char b1 = b0 + 1;
7685 (vector
unsigned char)(b0, b1, b0, b1, b0, b1, b0, b1, b0, b1,
7686 b0, b1, b0, b1, b0, b1));
7690 vec_splat(vector
unsigned short __a,
unsigned const int __b) {
7691 unsigned char b0 = (__b & 0x07) * 2;
7692 unsigned char b1 = b0 + 1;
7694 (vector
unsigned char)(b0, b1, b0, b1, b0, b1, b0, b1, b0, b1,
7695 b0, b1, b0, b1, b0, b1));
7700 unsigned char b0 = (__b & 0x07) * 2;
7701 unsigned char b1 = b0 + 1;
7703 (vector
unsigned char)(b0, b1, b0, b1, b0, b1, b0, b1, b0, b1,
7704 b0, b1, b0, b1, b0, b1));
7708 unsigned const int __b) {
7709 unsigned char b0 = (__b & 0x07) * 2;
7710 unsigned char b1 = b0 + 1;
7712 (vector
unsigned char)(b0, b1, b0, b1, b0, b1, b0, b1, b0, b1,
7713 b0, b1, b0, b1, b0, b1));
7718 unsigned char b0 = (__b & 0x03) * 4;
7719 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3;
7721 (vector
unsigned char)(b0, b1, b2, b3, b0, b1, b2, b3, b0, b1,
7722 b2, b3, b0, b1, b2, b3));
7726 vec_splat(vector
unsigned int __a,
unsigned const int __b) {
7727 unsigned char b0 = (__b & 0x03) * 4;
7728 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3;
7730 (vector
unsigned char)(b0, b1, b2, b3, b0, b1, b2, b3, b0, b1,
7731 b2, b3, b0, b1, b2, b3));
7736 unsigned char b0 = (__b & 0x03) * 4;
7737 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3;
7739 (vector
unsigned char)(b0, b1, b2, b3, b0, b1, b2, b3, b0, b1,
7740 b2, b3, b0, b1, b2, b3));
7744 unsigned const int __b) {
7745 unsigned char b0 = (__b & 0x03) * 4;
7746 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3;
7748 (vector
unsigned char)(b0, b1, b2, b3, b0, b1, b2, b3, b0, b1,
7749 b2, b3, b0, b1, b2, b3));
7754 unsigned const int __b) {
7755 unsigned char b0 = (__b & 0x01) * 8;
7756 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3, b4 = b0 + 4, b5 = b0 + 5,
7757 b6 = b0 + 6, b7 = b0 + 7;
7759 (vector
unsigned char)(b0, b1, b2, b3, b4, b5, b6, b7, b0, b1,
7760 b2, b3, b4, b5, b6, b7));
7763 vec_splat(vector
bool long long __a,
unsigned const int __b) {
7764 unsigned char b0 = (__b & 0x01) * 8;
7765 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3, b4 = b0 + 4, b5 = b0 + 5,
7766 b6 = b0 + 6, b7 = b0 + 7;
7768 (vector
unsigned char)(b0, b1, b2, b3, b4, b5, b6, b7, b0, b1,
7769 b2, b3, b4, b5, b6, b7));
7772 vec_splat(vector
signed long long __a,
unsigned const int __b) {
7773 unsigned char b0 = (__b & 0x01) * 8;
7774 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3, b4 = b0 + 4, b5 = b0 + 5,
7775 b6 = b0 + 6, b7 = b0 + 7;
7777 (vector
unsigned char)(b0, b1, b2, b3, b4, b5, b6, b7, b0, b1,
7778 b2, b3, b4, b5, b6, b7));
7780 static __inline__ vector
unsigned long long __ATTRS_o_ai
7781 vec_splat(vector
unsigned long long __a,
unsigned const int __b) {
7782 unsigned char b0 = (__b & 0x01) * 8;
7783 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3, b4 = b0 + 4, b5 = b0 + 5,
7784 b6 = b0 + 6, b7 = b0 + 7;
7786 (vector
unsigned char)(b0, b1, b2, b3, b4, b5, b6, b7, b0, b1,
7787 b2, b3, b4, b5, b6, b7));
7793 #define __builtin_altivec_vspltb vec_vspltb
7797 return vec_perm(__a, __a, (vector
unsigned char)(__b));
7802 return vec_perm(__a, __a, (vector
unsigned char)(__b));
7806 unsigned char __b) {
7807 return vec_perm(__a, __a, (vector
unsigned char)(__b));
7812 #define __builtin_altivec_vsplth vec_vsplth
7815 unsigned char __b) {
7817 unsigned char b1 = __b + 1;
7819 (vector
unsigned char)(__b, b1, __b, b1, __b, b1, __b, b1,
7820 __b, b1, __b, b1, __b, b1, __b, b1));
7826 unsigned char b1 = __b + 1;
7828 (vector
unsigned char)(__b, b1, __b, b1, __b, b1, __b, b1,
7829 __b, b1, __b, b1, __b, b1, __b, b1));
7835 unsigned char b1 = __b + 1;
7837 (vector
unsigned char)(__b, b1, __b, b1, __b, b1, __b, b1,
7838 __b, b1, __b, b1, __b, b1, __b, b1));
7842 unsigned char __b) {
7844 unsigned char b1 = __b + 1;
7846 (vector
unsigned char)(__b, b1, __b, b1, __b, b1, __b, b1,
7847 __b, b1, __b, b1, __b, b1, __b, b1));
7852 #define __builtin_altivec_vspltw vec_vspltw
7855 unsigned char __b) {
7857 unsigned char b1 = __b + 1, b2 = __b + 2, b3 = __b + 3;
7859 (vector
unsigned char)(__b, b1, b2, b3, __b, b1, b2, b3, __b,
7860 b1, b2, b3, __b, b1, b2, b3));
7866 unsigned char b1 = __b + 1, b2 = __b + 2, b3 = __b + 3;
7868 (vector
unsigned char)(__b, b1, b2, b3, __b, b1, b2, b3, __b,
7869 b1, b2, b3, __b, b1, b2, b3));
7873 unsigned char __b) {
7875 unsigned char b1 = __b + 1, b2 = __b + 2, b3 = __b + 3;
7877 (vector
unsigned char)(__b, b1, b2, b3, __b, b1, b2, b3, __b,
7878 b1, b2, b3, __b, b1, b2, b3));
7882 unsigned char __b) {
7884 unsigned char b1 = __b + 1, b2 = __b + 2, b3 = __b + 3;
7886 (vector
unsigned char)(__b, b1, b2, b3, __b, b1, b2, b3, __b,
7887 b1, b2, b3, __b, b1, b2, b3));
7892 #define __builtin_altivec_vspltisb vec_splat_s8
7897 return (vector
signed char)(__a);
7905 return (vector
signed char)(__a);
7910 #define __builtin_altivec_vspltish vec_splat_s16
7914 return (vector
short)(__a);
7921 return (vector
short)(__a);
7926 #define __builtin_altivec_vspltisw vec_splat_s32
7930 return (vector
int)(__a);
7937 return (vector
int)(__a);
7945 return (vector
unsigned char)(__a);
7953 return (vector
unsigned short)(__a);
7961 return (vector
unsigned int)(__a);
7967 vec_sr(vector
signed char __a, vector
unsigned char __b) {
7968 vector
unsigned char __res = (vector
unsigned char)__a >> __b;
7969 return (vector
signed char)__res;
7973 vec_sr(vector
unsigned char __a, vector
unsigned char __b) {
7978 vec_sr(vector
signed short __a, vector
unsigned short __b) {
7979 vector
unsigned short __res = (vector
unsigned short)__a >> __b;
7980 return (vector
signed short)__res;
7984 vec_sr(vector
unsigned short __a, vector
unsigned short __b) {
7989 vec_sr(vector
signed int __a, vector
unsigned int __b) {
7990 vector
unsigned int __res = (vector
unsigned int)__a >> __b;
7991 return (vector
signed int)__res;
7995 vec_sr(vector
unsigned int __a, vector
unsigned int __b) {
7999 #ifdef __POWER8_VECTOR__
8001 vec_sr(vector
signed long long __a, vector
unsigned long long __b) {
8002 vector
unsigned long long __res = (vector
unsigned long long)__a >> __b;
8003 return (vector
signed long long)__res;
8006 static __inline__ vector
unsigned long long __ATTRS_o_ai
8007 vec_sr(vector
unsigned long long __a, vector
unsigned long long __b) {
8014 #define __builtin_altivec_vsrb vec_vsrb
8017 vec_vsrb(vector
signed char __a, vector
unsigned char __b) {
8018 return __a >> (vector
signed char)__b;
8022 vec_vsrb(vector
unsigned char __a, vector
unsigned char __b) {
8028 #define __builtin_altivec_vsrh vec_vsrh
8031 vec_vsrh(vector
short __a, vector
unsigned short __b) {
8032 return __a >> (vector short)__b;
8036 vec_vsrh(vector
unsigned short __a, vector
unsigned short __b) {
8042 #define __builtin_altivec_vsrw vec_vsrw
8045 vector
unsigned int __b) {
8046 return __a >> (vector int)__b;
8050 vec_vsrw(vector
unsigned int __a, vector
unsigned int __b) {
8057 vec_sra(vector
signed char __a, vector
unsigned char __b) {
8058 return (vector
signed char)__builtin_altivec_vsrab((vector
char)__a, __b);
8062 vec_sra(vector
unsigned char __a, vector
unsigned char __b) {
8063 return (vector
unsigned char)__builtin_altivec_vsrab((vector
char)__a, __b);
8067 vector
unsigned short __b) {
8068 return __builtin_altivec_vsrah(__a, (vector
unsigned short)__b);
8072 vec_sra(vector
unsigned short __a, vector
unsigned short __b) {
8073 return (vector
unsigned short)__builtin_altivec_vsrah((vector
short)__a, __b);
8077 vector
unsigned int __b) {
8078 return __builtin_altivec_vsraw(__a, __b);
8082 vec_sra(vector
unsigned int __a, vector
unsigned int __b) {
8083 return (vector
unsigned int)__builtin_altivec_vsraw((vector
int)__a, __b);
8086 #ifdef __POWER8_VECTOR__
8088 vec_sra(vector
signed long long __a, vector
unsigned long long __b) {
8092 static __inline__ vector
unsigned long long __ATTRS_o_ai
8093 vec_sra(vector
unsigned long long __a, vector
unsigned long long __b) {
8094 return (vector
unsigned long long)((vector
signed long long)__a >> __b);
8101 vec_vsrab(vector
signed char __a, vector
unsigned char __b) {
8102 return (vector
signed char)__builtin_altivec_vsrab((vector
char)__a, __b);
8106 vec_vsrab(vector
unsigned char __a, vector
unsigned char __b) {
8107 return (vector
unsigned char)__builtin_altivec_vsrab((vector
char)__a, __b);
8114 return __builtin_altivec_vsrah(__a, (vector
unsigned short)__b);
8118 vec_vsrah(vector
unsigned short __a, vector
unsigned short __b) {
8119 return (vector
unsigned short)__builtin_altivec_vsrah((vector
short)__a, __b);
8125 vector
unsigned int __b) {
8126 return __builtin_altivec_vsraw(__a, __b);
8130 vec_vsraw(vector
unsigned int __a, vector
unsigned int __b) {
8131 return (vector
unsigned int)__builtin_altivec_vsraw((vector
int)__a, __b);
8137 vec_srl(vector
signed char __a, vector
unsigned char __b) {
8138 return (vector
signed char)__builtin_altivec_vsr((vector
int)__a,
8143 vec_srl(vector
signed char __a, vector
unsigned short __b) {
8144 return (vector
signed char)__builtin_altivec_vsr((vector
int)__a,
8149 vec_srl(vector
signed char __a, vector
unsigned int __b) {
8150 return (vector
signed char)__builtin_altivec_vsr((vector
int)__a,
8155 vec_srl(vector
unsigned char __a, vector
unsigned char __b) {
8156 return (vector
unsigned char)__builtin_altivec_vsr((vector
int)__a,
8161 vec_srl(vector
unsigned char __a, vector
unsigned short __b) {
8162 return (vector
unsigned char)__builtin_altivec_vsr((vector
int)__a,
8167 vec_srl(vector
unsigned char __a, vector
unsigned int __b) {
8168 return (vector
unsigned char)__builtin_altivec_vsr((vector
int)__a,
8173 vec_srl(vector
bool char __a, vector
unsigned char __b) {
8174 return (vector
bool char)__builtin_altivec_vsr((vector
int)__a,
8179 vec_srl(vector
bool char __a, vector
unsigned short __b) {
8180 return (vector
bool char)__builtin_altivec_vsr((vector
int)__a,
8185 vec_srl(vector
bool char __a, vector
unsigned int __b) {
8186 return (vector
bool char)__builtin_altivec_vsr((vector
int)__a,
8191 vector
unsigned char __b) {
8192 return (vector
short)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8196 vector
unsigned short __b) {
8197 return (vector
short)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8201 vector
unsigned int __b) {
8202 return (vector
short)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8206 vec_srl(vector
unsigned short __a, vector
unsigned char __b) {
8207 return (vector
unsigned short)__builtin_altivec_vsr((vector
int)__a,
8212 vec_srl(vector
unsigned short __a, vector
unsigned short __b) {
8213 return (vector
unsigned short)__builtin_altivec_vsr((vector
int)__a,
8218 vec_srl(vector
unsigned short __a, vector
unsigned int __b) {
8219 return (vector
unsigned short)__builtin_altivec_vsr((vector
int)__a,
8224 vec_srl(vector
bool short __a, vector
unsigned char __b) {
8225 return (vector
bool short)__builtin_altivec_vsr((vector
int)__a,
8230 vec_srl(vector
bool short __a, vector
unsigned short __b) {
8231 return (vector
bool short)__builtin_altivec_vsr((vector
int)__a,
8236 vec_srl(vector
bool short __a, vector
unsigned int __b) {
8237 return (vector
bool short)__builtin_altivec_vsr((vector
int)__a,
8242 vector
unsigned char __b) {
8243 return (vector pixel)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8247 vector
unsigned short __b) {
8248 return (vector pixel)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8252 vector
unsigned int __b) {
8253 return (vector pixel)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8257 vector
unsigned char __b) {
8258 return (vector
int)__builtin_altivec_vsr(__a, (vector
int)__b);
8262 vector
unsigned short __b) {
8263 return (vector
int)__builtin_altivec_vsr(__a, (vector
int)__b);
8267 vector
unsigned int __b) {
8268 return (vector
int)__builtin_altivec_vsr(__a, (vector
int)__b);
8272 vec_srl(vector
unsigned int __a, vector
unsigned char __b) {
8273 return (vector
unsigned int)__builtin_altivec_vsr((vector
int)__a,
8278 vec_srl(vector
unsigned int __a, vector
unsigned short __b) {
8279 return (vector
unsigned int)__builtin_altivec_vsr((vector
int)__a,
8284 vec_srl(vector
unsigned int __a, vector
unsigned int __b) {
8285 return (vector
unsigned int)__builtin_altivec_vsr((vector
int)__a,
8290 vec_srl(vector
bool int __a, vector
unsigned char __b) {
8291 return (vector
bool int)__builtin_altivec_vsr((vector
int)__a,
8296 vec_srl(vector
bool int __a, vector
unsigned short __b) {
8297 return (vector
bool int)__builtin_altivec_vsr((vector
int)__a,
8302 vec_srl(vector
bool int __a, vector
unsigned int __b) {
8303 return (vector
bool int)__builtin_altivec_vsr((vector
int)__a,
8310 vec_vsr(vector
signed char __a, vector
unsigned char __b) {
8311 return (vector
signed char)__builtin_altivec_vsr((vector
int)__a,
8316 vec_vsr(vector
signed char __a, vector
unsigned short __b) {
8317 return (vector
signed char)__builtin_altivec_vsr((vector
int)__a,
8322 vec_vsr(vector
signed char __a, vector
unsigned int __b) {
8323 return (vector
signed char)__builtin_altivec_vsr((vector
int)__a,
8328 vec_vsr(vector
unsigned char __a, vector
unsigned char __b) {
8329 return (vector
unsigned char)__builtin_altivec_vsr((vector
int)__a,
8334 vec_vsr(vector
unsigned char __a, vector
unsigned short __b) {
8335 return (vector
unsigned char)__builtin_altivec_vsr((vector
int)__a,
8340 vec_vsr(vector
unsigned char __a, vector
unsigned int __b) {
8341 return (vector
unsigned char)__builtin_altivec_vsr((vector
int)__a,
8346 vec_vsr(vector
bool char __a, vector
unsigned char __b) {
8347 return (vector
bool char)__builtin_altivec_vsr((vector
int)__a,
8352 vec_vsr(vector
bool char __a, vector
unsigned short __b) {
8353 return (vector
bool char)__builtin_altivec_vsr((vector
int)__a,
8358 vec_vsr(vector
bool char __a, vector
unsigned int __b) {
8359 return (vector
bool char)__builtin_altivec_vsr((vector
int)__a,
8364 vector
unsigned char __b) {
8365 return (vector
short)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8369 vector
unsigned short __b) {
8370 return (vector
short)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8374 vector
unsigned int __b) {
8375 return (vector
short)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8379 vec_vsr(vector
unsigned short __a, vector
unsigned char __b) {
8380 return (vector
unsigned short)__builtin_altivec_vsr((vector
int)__a,
8385 vec_vsr(vector
unsigned short __a, vector
unsigned short __b) {
8386 return (vector
unsigned short)__builtin_altivec_vsr((vector
int)__a,
8391 vec_vsr(vector
unsigned short __a, vector
unsigned int __b) {
8392 return (vector
unsigned short)__builtin_altivec_vsr((vector
int)__a,
8397 vec_vsr(vector
bool short __a, vector
unsigned char __b) {
8398 return (vector
bool short)__builtin_altivec_vsr((vector
int)__a,
8403 vec_vsr(vector
bool short __a, vector
unsigned short __b) {
8404 return (vector
bool short)__builtin_altivec_vsr((vector
int)__a,
8409 vec_vsr(vector
bool short __a, vector
unsigned int __b) {
8410 return (vector
bool short)__builtin_altivec_vsr((vector
int)__a,
8415 vector
unsigned char __b) {
8416 return (vector pixel)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8420 vector
unsigned short __b) {
8421 return (vector pixel)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8425 vector
unsigned int __b) {
8426 return (vector pixel)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8430 vector
unsigned char __b) {
8431 return (vector
int)__builtin_altivec_vsr(__a, (vector
int)__b);
8435 vector
unsigned short __b) {
8436 return (vector
int)__builtin_altivec_vsr(__a, (vector
int)__b);
8440 vector
unsigned int __b) {
8441 return (vector
int)__builtin_altivec_vsr(__a, (vector
int)__b);
8445 vec_vsr(vector
unsigned int __a, vector
unsigned char __b) {
8446 return (vector
unsigned int)__builtin_altivec_vsr((vector
int)__a,
8451 vec_vsr(vector
unsigned int __a, vector
unsigned short __b) {
8452 return (vector
unsigned int)__builtin_altivec_vsr((vector
int)__a,
8457 vec_vsr(vector
unsigned int __a, vector
unsigned int __b) {
8458 return (vector
unsigned int)__builtin_altivec_vsr((vector
int)__a,
8463 vec_vsr(vector
bool int __a, vector
unsigned char __b) {
8464 return (vector
bool int)__builtin_altivec_vsr((vector
int)__a,
8469 vec_vsr(vector
bool int __a, vector
unsigned short __b) {
8470 return (vector
bool int)__builtin_altivec_vsr((vector
int)__a,
8475 vec_vsr(vector
bool int __a, vector
unsigned int __b) {
8476 return (vector
bool int)__builtin_altivec_vsr((vector
int)__a,
8483 vec_sro(vector
signed char __a, vector
signed char __b) {
8484 return (vector
signed char)__builtin_altivec_vsro((vector
int)__a,
8489 vec_sro(vector
signed char __a, vector
unsigned char __b) {
8490 return (vector
signed char)__builtin_altivec_vsro((vector
int)__a,
8495 vec_sro(vector
unsigned char __a, vector
signed char __b) {
8496 return (vector
unsigned char)__builtin_altivec_vsro((vector
int)__a,
8501 vec_sro(vector
unsigned char __a, vector
unsigned char __b) {
8502 return (vector
unsigned char)__builtin_altivec_vsro((vector
int)__a,
8507 vector
signed char __b) {
8508 return (vector
short)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8512 vector
unsigned char __b) {
8513 return (vector
short)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8517 vec_sro(vector
unsigned short __a, vector
signed char __b) {
8518 return (vector
unsigned short)__builtin_altivec_vsro((vector
int)__a,
8523 vec_sro(vector
unsigned short __a, vector
unsigned char __b) {
8524 return (vector
unsigned short)__builtin_altivec_vsro((vector
int)__a,
8529 vector
signed char __b) {
8530 return (vector pixel)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8534 vector
unsigned char __b) {
8535 return (vector pixel)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8539 vector
signed char __b) {
8540 return (vector
int)__builtin_altivec_vsro(__a, (vector
int)__b);
8544 vector
unsigned char __b) {
8545 return (vector
int)__builtin_altivec_vsro(__a, (vector
int)__b);
8549 vec_sro(vector
unsigned int __a, vector
signed char __b) {
8550 return (vector
unsigned int)__builtin_altivec_vsro((vector
int)__a,
8555 vec_sro(vector
unsigned int __a, vector
unsigned char __b) {
8556 return (vector
unsigned int)__builtin_altivec_vsro((vector
int)__a,
8561 vector
signed char __b) {
8562 return (vector
float)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8566 vector
unsigned char __b) {
8567 return (vector
float)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8573 vec_vsro(vector
signed char __a, vector
signed char __b) {
8574 return (vector
signed char)__builtin_altivec_vsro((vector
int)__a,
8579 vec_vsro(vector
signed char __a, vector
unsigned char __b) {
8580 return (vector
signed char)__builtin_altivec_vsro((vector
int)__a,
8585 vec_vsro(vector
unsigned char __a, vector
signed char __b) {
8586 return (vector
unsigned char)__builtin_altivec_vsro((vector
int)__a,
8591 vec_vsro(vector
unsigned char __a, vector
unsigned char __b) {
8592 return (vector
unsigned char)__builtin_altivec_vsro((vector
int)__a,
8597 vector
signed char __b) {
8598 return (vector
short)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8602 vector
unsigned char __b) {
8603 return (vector
short)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8607 vec_vsro(vector
unsigned short __a, vector
signed char __b) {
8608 return (vector
unsigned short)__builtin_altivec_vsro((vector
int)__a,
8613 vec_vsro(vector
unsigned short __a, vector
unsigned char __b) {
8614 return (vector
unsigned short)__builtin_altivec_vsro((vector
int)__a,
8619 vector
signed char __b) {
8620 return (vector pixel)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8624 vector
unsigned char __b) {
8625 return (vector pixel)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8629 vector
signed char __b) {
8630 return (vector
int)__builtin_altivec_vsro(__a, (vector
int)__b);
8634 vector
unsigned char __b) {
8635 return (vector
int)__builtin_altivec_vsro(__a, (vector
int)__b);
8639 vec_vsro(vector
unsigned int __a, vector
signed char __b) {
8640 return (vector
unsigned int)__builtin_altivec_vsro((vector
int)__a,
8645 vec_vsro(vector
unsigned int __a, vector
unsigned char __b) {
8646 return (vector
unsigned int)__builtin_altivec_vsro((vector
int)__a,
8651 vector
signed char __b) {
8652 return (vector
float)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8656 vector
unsigned char __b) {
8657 return (vector
float)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8663 vector
signed char *__c) {
8664 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8669 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8673 vector
unsigned char *__c) {
8674 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8678 unsigned char *__c) {
8679 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8684 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8688 unsigned char *__c) {
8689 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8693 vector
bool char *__c) {
8694 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8698 vector
short *__c) {
8699 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8704 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8708 vector
unsigned short *__c) {
8709 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8713 unsigned short *__c) {
8714 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8719 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8723 unsigned short *__c) {
8724 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8728 vector
bool short *__c) {
8729 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8734 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8738 unsigned short *__c) {
8739 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8743 vector pixel *__c) {
8744 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8749 __builtin_altivec_stvx(__a, __b, __c);
8753 __builtin_altivec_stvx(__a, __b, __c);
8757 vector
unsigned int *__c) {
8758 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8762 unsigned int *__c) {
8763 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8768 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8772 unsigned int *__c) {
8773 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8777 vector
bool int *__c) {
8778 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8782 vector
float *__c) {
8783 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8788 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8794 vector
signed char *__c) {
8795 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8800 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8804 vector
unsigned char *__c) {
8805 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8809 unsigned char *__c) {
8810 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8815 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8819 unsigned char *__c) {
8820 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8824 vector
bool char *__c) {
8825 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8829 vector
short *__c) {
8830 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8835 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8839 vector
unsigned short *__c) {
8840 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8844 unsigned short *__c) {
8845 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8850 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8854 unsigned short *__c) {
8855 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8859 vector
bool short *__c) {
8860 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8865 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8869 unsigned short *__c) {
8870 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8874 vector pixel *__c) {
8875 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8880 __builtin_altivec_stvx(__a, __b, __c);
8885 __builtin_altivec_stvx(__a, __b, __c);
8889 vector
unsigned int *__c) {
8890 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8894 unsigned int *__c) {
8895 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8900 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8904 unsigned int *__c) {
8905 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8909 vector
bool int *__c) {
8910 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8914 vector
float *__c) {
8915 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8920 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8927 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
8931 unsigned char *__c) {
8932 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
8937 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
8941 unsigned char *__c) {
8942 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
8947 __builtin_altivec_stvehx(__a, __b, __c);
8951 unsigned short *__c) {
8952 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8957 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8961 unsigned short *__c) {
8962 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8967 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8971 unsigned short *__c) {
8972 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8976 __builtin_altivec_stvewx(__a, __b, __c);
8980 unsigned int *__c) {
8981 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
8986 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
8990 unsigned int *__c) {
8991 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
8996 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
9003 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
9007 int __b,
unsigned char *__c) {
9008 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
9013 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
9017 unsigned char *__c) {
9018 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
9025 __builtin_altivec_stvehx(__a, __b, __c);
9029 int __b,
unsigned short *__c) {
9030 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
9035 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
9039 unsigned short *__c) {
9040 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
9045 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
9049 unsigned short *__c) {
9050 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
9057 __builtin_altivec_stvewx(__a, __b, __c);
9061 unsigned int *__c) {
9062 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
9067 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
9071 unsigned int *__c) {
9072 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
9077 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
9083 vector
signed char *__c) {
9084 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9089 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9093 vector
unsigned char *__c) {
9094 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9098 unsigned char *__c) {
9099 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9104 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9108 unsigned char *__c) {
9109 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9113 vector
bool char *__c) {
9114 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9118 vector
short *__c) {
9119 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9124 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9128 vector
unsigned short *__c) {
9129 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9133 unsigned short *__c) {
9134 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9139 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9143 unsigned short *__c) {
9144 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9148 vector
bool short *__c) {
9149 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9154 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9158 unsigned short *__c) {
9159 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9163 vector pixel *__c) {
9164 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9169 __builtin_altivec_stvxl(__a, __b, __c);
9173 __builtin_altivec_stvxl(__a, __b, __c);
9177 vector
unsigned int *__c) {
9178 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9182 unsigned int *__c) {
9183 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9188 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9192 unsigned int *__c) {
9193 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9197 vector
bool int *__c) {
9198 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9202 vector
float *__c) {
9203 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9208 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9214 vector
signed char *__c) {
9215 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9220 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9224 vector
unsigned char *__c) {
9225 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9229 unsigned char *__c) {
9230 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9235 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9239 unsigned char *__c) {
9240 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9244 vector
bool char *__c) {
9245 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9249 vector
short *__c) {
9250 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9255 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9260 vector
unsigned short *__c) {
9261 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9265 int __b,
unsigned short *__c) {
9266 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9271 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9275 unsigned short *__c) {
9276 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9280 vector
bool short *__c) {
9281 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9286 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9290 unsigned short *__c) {
9291 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9295 vector pixel *__c) {
9296 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9301 __builtin_altivec_stvxl(__a, __b, __c);
9306 __builtin_altivec_stvxl(__a, __b, __c);
9310 vector
unsigned int *__c) {
9311 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9315 unsigned int *__c) {
9316 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9321 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9325 unsigned int *__c) {
9326 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9330 vector
bool int *__c) {
9331 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9335 vector
float *__c) {
9336 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9341 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9347 vec_sub(vector
signed char __a, vector
signed char __b) {
9352 vec_sub(vector
bool char __a, vector
signed char __b) {
9353 return (vector
signed char)__a -
__b;
9357 vec_sub(vector
signed char __a, vector
bool char __b) {
9358 return __a - (vector
signed char)__b;
9362 vec_sub(vector
unsigned char __a, vector
unsigned char __b) {
9367 vec_sub(vector
bool char __a, vector
unsigned char __b) {
9368 return (vector
unsigned char)__a -
__b;
9372 vec_sub(vector
unsigned char __a, vector
bool char __b) {
9373 return __a - (vector
unsigned char)__b;
9383 return (vector
short)__a -
__b;
9387 vector
bool short __b) {
9388 return __a - (vector short)__b;
9392 vec_sub(vector
unsigned short __a, vector
unsigned short __b) {
9397 vec_sub(vector
bool short __a, vector
unsigned short __b) {
9398 return (vector
unsigned short)__a -
__b;
9402 vec_sub(vector
unsigned short __a, vector
bool short __b) {
9403 return __a - (vector
unsigned short)__b;
9413 return (vector
int)__a -
__b;
9417 vector
bool int __b) {
9418 return __a - (vector int)__b;
9422 vec_sub(vector
unsigned int __a, vector
unsigned int __b) {
9427 vec_sub(vector
bool int __a, vector
unsigned int __b) {
9428 return (vector
unsigned int)__a -
__b;
9432 vec_sub(vector
unsigned int __a, vector
bool int __b) {
9433 return __a - (vector
unsigned int)__b;
9436 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
9438 vec_sub(vector
signed __int128 __a, vector
signed __int128 __b) {
9442 static __inline__ vector
unsigned __int128
__ATTRS_o_ai
9443 vec_sub(vector
unsigned __int128 __a, vector
unsigned __int128 __b) {
9446 #endif // defined(__POWER8_VECTOR__) && defined(__powerpc64__)
9450 vec_sub(vector
signed long long __a, vector
signed long long __b) {
9454 static __inline__ vector
unsigned long long __ATTRS_o_ai
9455 vec_sub(vector
unsigned long long __a, vector
unsigned long long __b) {
9460 vector
double __b) {
9472 #define __builtin_altivec_vsububm vec_vsububm
9481 return (vector
signed char)__a -
__b;
9486 return __a - (vector
signed char)__b;
9496 return (vector
unsigned char)__a -
__b;
9501 return __a - (vector
unsigned char)__b;
9506 #define __builtin_altivec_vsubuhm vec_vsubuhm
9515 return (vector
short)__a -
__b;
9519 vector
bool short __b) {
9520 return __a - (vector short)__b;
9530 return (vector
unsigned short)__a -
__b;
9535 return __a - (vector
unsigned short)__b;
9540 #define __builtin_altivec_vsubuwm vec_vsubuwm
9549 return (vector
int)__a -
__b;
9553 vector
bool int __b) {
9554 return __a - (vector int)__b;
9564 return (vector
unsigned int)__a -
__b;
9569 return __a - (vector
unsigned int)__b;
9574 #define __builtin_altivec_vsubfp vec_vsubfp
9576 static __inline__ vector
float __attribute__((__always_inline__))
9577 vec_vsubfp(vector
float __a, vector
float __b) {
9584 vec_subc(vector
unsigned int __a, vector
unsigned int __b) {
9585 return __builtin_altivec_vsubcuw(__a, __b);
9588 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
9589 static __inline__ vector
unsigned __int128
__ATTRS_o_ai
9590 vec_subc(vector
unsigned __int128 __a, vector
unsigned __int128 __b) {
9591 return __builtin_altivec_vsubcuq(__a, __b);
9595 vec_subc(vector
signed __int128 __a, vector
signed __int128 __b) {
9596 return __builtin_altivec_vsubcuq(__a, __b);
9598 #endif // defined(__POWER8_VECTOR__) && defined(__powerpc64__)
9602 static __inline__ vector
unsigned int __attribute__((__always_inline__))
9603 vec_vsubcuw(vector
unsigned int __a, vector
unsigned int __b) {
9604 return __builtin_altivec_vsubcuw(__a, __b);
9610 vec_subs(vector
signed char __a, vector
signed char __b) {
9611 return __builtin_altivec_vsubsbs(__a, __b);
9615 vec_subs(vector
bool char __a, vector
signed char __b) {
9616 return __builtin_altivec_vsubsbs((vector
signed char)__a, __b);
9620 vec_subs(vector
signed char __a, vector
bool char __b) {
9621 return __builtin_altivec_vsubsbs(__a, (vector
signed char)__b);
9625 vec_subs(vector
unsigned char __a, vector
unsigned char __b) {
9626 return __builtin_altivec_vsububs(__a, __b);
9630 vec_subs(vector
bool char __a, vector
unsigned char __b) {
9631 return __builtin_altivec_vsububs((vector
unsigned char)__a, __b);
9635 vec_subs(vector
unsigned char __a, vector
bool char __b) {
9636 return __builtin_altivec_vsububs(__a, (vector
unsigned char)__b);
9641 return __builtin_altivec_vsubshs(__a, __b);
9646 return __builtin_altivec_vsubshs((vector
short)__a, __b);
9650 vector
bool short __b) {
9651 return __builtin_altivec_vsubshs(__a, (vector
short)__b);
9655 vec_subs(vector
unsigned short __a, vector
unsigned short __b) {
9656 return __builtin_altivec_vsubuhs(__a, __b);
9660 vec_subs(vector
bool short __a, vector
unsigned short __b) {
9661 return __builtin_altivec_vsubuhs((vector
unsigned short)__a, __b);
9665 vec_subs(vector
unsigned short __a, vector
bool short __b) {
9666 return __builtin_altivec_vsubuhs(__a, (vector
unsigned short)__b);
9671 return __builtin_altivec_vsubsws(__a, __b);
9676 return __builtin_altivec_vsubsws((vector
int)__a, __b);
9680 vector
bool int __b) {
9681 return __builtin_altivec_vsubsws(__a, (vector
int)__b);
9685 vec_subs(vector
unsigned int __a, vector
unsigned int __b) {
9686 return __builtin_altivec_vsubuws(__a, __b);
9690 vec_subs(vector
bool int __a, vector
unsigned int __b) {
9691 return __builtin_altivec_vsubuws((vector
unsigned int)__a, __b);
9695 vec_subs(vector
unsigned int __a, vector
bool int __b) {
9696 return __builtin_altivec_vsubuws(__a, (vector
unsigned int)__b);
9703 return __builtin_altivec_vsubsbs(__a, __b);
9708 return __builtin_altivec_vsubsbs((vector
signed char)__a, __b);
9713 return __builtin_altivec_vsubsbs(__a, (vector
signed char)__b);
9720 return __builtin_altivec_vsububs(__a, __b);
9725 return __builtin_altivec_vsububs((vector
unsigned char)__a, __b);
9730 return __builtin_altivec_vsububs(__a, (vector
unsigned char)__b);
9737 return __builtin_altivec_vsubshs(__a, __b);
9742 return __builtin_altivec_vsubshs((vector
short)__a, __b);
9746 vector
bool short __b) {
9747 return __builtin_altivec_vsubshs(__a, (vector
short)__b);
9754 return __builtin_altivec_vsubuhs(__a, __b);
9759 return __builtin_altivec_vsubuhs((vector
unsigned short)__a, __b);
9764 return __builtin_altivec_vsubuhs(__a, (vector
unsigned short)__b);
9771 return __builtin_altivec_vsubsws(__a, __b);
9776 return __builtin_altivec_vsubsws((vector
int)__a, __b);
9780 vector
bool int __b) {
9781 return __builtin_altivec_vsubsws(__a, (vector
int)__b);
9788 return __builtin_altivec_vsubuws(__a, __b);
9793 return __builtin_altivec_vsubuws((vector
unsigned int)__a, __b);
9798 return __builtin_altivec_vsubuws(__a, (vector
unsigned int)__b);
9801 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
9805 vec_vsubuqm(vector
signed __int128 __a, vector
signed __int128 __b) {
9809 static __inline__ vector
unsigned __int128
__ATTRS_o_ai
9810 vec_vsubuqm(vector
unsigned __int128 __a, vector
unsigned __int128 __b) {
9817 vec_vsubeuqm(vector
signed __int128 __a, vector
signed __int128 __b,
9818 vector
signed __int128 __c) {
9819 return __builtin_altivec_vsubeuqm(__a, __b, __c);
9822 static __inline__ vector
unsigned __int128
__ATTRS_o_ai
9823 vec_vsubeuqm(vector
unsigned __int128 __a, vector
unsigned __int128 __b,
9824 vector
unsigned __int128 __c) {
9825 return __builtin_altivec_vsubeuqm(__a, __b, __c);
9831 vec_vsubcuq(vector
signed __int128 __a, vector
signed __int128 __b) {
9832 return __builtin_altivec_vsubcuq(__a, __b);
9835 static __inline__ vector
unsigned __int128
__ATTRS_o_ai
9836 vec_vsubcuq(vector
unsigned __int128 __a, vector
unsigned __int128 __b) {
9837 return __builtin_altivec_vsubcuq(__a, __b);
9843 vec_vsubecuq(vector
signed __int128 __a, vector
signed __int128 __b,
9844 vector
signed __int128 __c) {
9845 return __builtin_altivec_vsubecuq(__a, __b, __c);
9848 static __inline__ vector
unsigned __int128
__ATTRS_o_ai
9849 vec_vsubecuq(vector
unsigned __int128 __a, vector
unsigned __int128 __b,
9850 vector
unsigned __int128 __c) {
9851 return __builtin_altivec_vsubecuq(__a, __b, __c);
9853 #endif // defined(__POWER8_VECTOR__) && defined(__powerpc64__)
9859 return __builtin_altivec_vsum4sbs(__a, __b);
9863 vec_sum4s(vector
unsigned char __a, vector
unsigned int __b) {
9864 return __builtin_altivec_vsum4ubs(__a, __b);
9869 return __builtin_altivec_vsum4shs(__a, __b);
9874 static __inline__ vector
int __attribute__((__always_inline__))
9875 vec_vsum4sbs(vector
signed char __a, vector
int __b) {
9876 return __builtin_altivec_vsum4sbs(__a, __b);
9881 static __inline__ vector
unsigned int __attribute__((__always_inline__))
9882 vec_vsum4ubs(vector
unsigned char __a, vector
unsigned int __b) {
9883 return __builtin_altivec_vsum4ubs(__a, __b);
9888 static __inline__ vector
int __attribute__((__always_inline__))
9889 vec_vsum4shs(vector
signed short __a, vector
int __b) {
9890 return __builtin_altivec_vsum4shs(__a, __b);
9901 static __inline__ vector
signed int __attribute__((__always_inline__))
9902 vec_sum2s(vector
int __a, vector
int __b) {
9903 #ifdef __LITTLE_ENDIAN__
9904 vector
int __c = (vector
signed int)
vec_perm(
9905 __b, __b, (vector
unsigned char)(4, 5, 6, 7, 0, 1, 2, 3, 12, 13, 14, 15,
9907 __c = __builtin_altivec_vsum2sws(__a, __c);
9908 return (vector
signed int)
vec_perm(
9909 __c, __c, (vector
unsigned char)(4, 5, 6, 7, 0, 1, 2, 3, 12, 13, 14, 15,
9912 return __builtin_altivec_vsum2sws(__a, __b);
9918 static __inline__ vector
signed int __attribute__((__always_inline__))
9919 vec_vsum2sws(vector
int __a, vector
int __b) {
9920 #ifdef __LITTLE_ENDIAN__
9921 vector
int __c = (vector
signed int)
vec_perm(
9922 __b, __b, (vector
unsigned char)(4, 5, 6, 7, 0, 1, 2, 3, 12, 13, 14, 15,
9924 __c = __builtin_altivec_vsum2sws(__a, __c);
9925 return (vector
signed int)
vec_perm(
9926 __c, __c, (vector
unsigned char)(4, 5, 6, 7, 0, 1, 2, 3, 12, 13, 14, 15,
9929 return __builtin_altivec_vsum2sws(__a, __b);
9941 static __inline__ vector
signed int __attribute__((__always_inline__))
9942 vec_sums(vector
signed int __a, vector
signed int __b) {
9943 #ifdef __LITTLE_ENDIAN__
9944 __b = (vector
signed int)
vec_splat(__b, 3);
9945 __b = __builtin_altivec_vsumsws(__a, __b);
9946 return (vector
signed int)(0, 0, 0, __b[0]);
9948 return __builtin_altivec_vsumsws(__a, __b);
9954 static __inline__ vector
signed int __attribute__((__always_inline__))
9955 vec_vsumsws(vector
signed int __a, vector
signed int __b) {
9956 #ifdef __LITTLE_ENDIAN__
9957 __b = (vector
signed int)
vec_splat(__b, 3);
9958 __b = __builtin_altivec_vsumsws(__a, __b);
9959 return (vector
signed int)(0, 0, 0, __b[0]);
9961 return __builtin_altivec_vsumsws(__a, __b);
9969 return __builtin_vsx_xvrspiz(__a);
9971 return __builtin_altivec_vrfiz(__a);
9977 return __builtin_vsx_xvrdpiz(__a);
9983 static __inline__ vector
float __attribute__((__always_inline__))
9984 vec_vrfiz(vector
float __a) {
9985 return __builtin_altivec_vrfiz(__a);
9995 #ifdef __LITTLE_ENDIAN__
9996 return __builtin_altivec_vupklsb((vector
char)__a);
9998 return __builtin_altivec_vupkhsb((vector
char)__a);
10004 #ifdef __LITTLE_ENDIAN__
10005 return (vector
bool short)__builtin_altivec_vupklsb((vector
char)__a);
10007 return (vector
bool short)__builtin_altivec_vupkhsb((vector
char)__a);
10012 #ifdef __LITTLE_ENDIAN__
10013 return __builtin_altivec_vupklsh(__a);
10015 return __builtin_altivec_vupkhsh(__a);
10021 #ifdef __LITTLE_ENDIAN__
10022 return (vector
bool int)__builtin_altivec_vupklsh((vector
short)__a);
10024 return (vector
bool int)__builtin_altivec_vupkhsh((vector
short)__a);
10030 #ifdef __LITTLE_ENDIAN__
10031 return (vector
unsigned int)__builtin_altivec_vupklpx((vector
short)__a);
10033 return (vector
unsigned int)__builtin_altivec_vupkhpx((vector
short)__a);
10037 #ifdef __POWER8_VECTOR__
10039 #ifdef __LITTLE_ENDIAN__
10040 return __builtin_altivec_vupklsw(__a);
10042 return __builtin_altivec_vupkhsw(__a);
10048 #ifdef __LITTLE_ENDIAN__
10049 return (vector
bool long long)__builtin_altivec_vupklsw((vector
int)__a);
10051 return (vector
bool long long)__builtin_altivec_vupkhsw((vector
int)__a);
10060 #ifdef __LITTLE_ENDIAN__
10061 return __builtin_altivec_vupklsb((vector
char)__a);
10063 return __builtin_altivec_vupkhsb((vector
char)__a);
10069 #ifdef __LITTLE_ENDIAN__
10070 return (vector
bool short)__builtin_altivec_vupklsb((vector
char)__a);
10072 return (vector
bool short)__builtin_altivec_vupkhsb((vector
char)__a);
10079 #ifdef __LITTLE_ENDIAN__
10080 return __builtin_altivec_vupklsh(__a);
10082 return __builtin_altivec_vupkhsh(__a);
10088 #ifdef __LITTLE_ENDIAN__
10089 return (vector
bool int)__builtin_altivec_vupklsh((vector
short)__a);
10091 return (vector
bool int)__builtin_altivec_vupkhsh((vector
short)__a);
10097 #ifdef __LITTLE_ENDIAN__
10098 return (vector
unsigned int)__builtin_altivec_vupklpx((vector
short)__a);
10100 return (vector
unsigned int)__builtin_altivec_vupkhpx((vector
short)__a);
10106 #ifdef __POWER8_VECTOR__
10107 static __inline__ vector
long long __ATTRS_o_ai vec_vupkhsw(vector
int __a) {
10108 #ifdef __LITTLE_ENDIAN__
10109 return __builtin_altivec_vupklsw(__a);
10111 return __builtin_altivec_vupkhsw(__a);
10116 vec_vupkhsw(vector
bool int __a) {
10117 #ifdef __LITTLE_ENDIAN__
10118 return (vector
bool long long)__builtin_altivec_vupklsw((vector
int)__a);
10120 return (vector
bool long long)__builtin_altivec_vupkhsw((vector
int)__a);
10129 #ifdef __LITTLE_ENDIAN__
10130 return __builtin_altivec_vupkhsb((vector
char)__a);
10132 return __builtin_altivec_vupklsb((vector
char)__a);
10138 #ifdef __LITTLE_ENDIAN__
10139 return (vector
bool short)__builtin_altivec_vupkhsb((vector
char)__a);
10141 return (vector
bool short)__builtin_altivec_vupklsb((vector
char)__a);
10146 #ifdef __LITTLE_ENDIAN__
10147 return __builtin_altivec_vupkhsh(__a);
10149 return __builtin_altivec_vupklsh(__a);
10155 #ifdef __LITTLE_ENDIAN__
10156 return (vector
bool int)__builtin_altivec_vupkhsh((vector
short)__a);
10158 return (vector
bool int)__builtin_altivec_vupklsh((vector
short)__a);
10164 #ifdef __LITTLE_ENDIAN__
10165 return (vector
unsigned int)__builtin_altivec_vupkhpx((vector
short)__a);
10167 return (vector
unsigned int)__builtin_altivec_vupklpx((vector
short)__a);
10171 #ifdef __POWER8_VECTOR__
10173 #ifdef __LITTLE_ENDIAN__
10174 return __builtin_altivec_vupkhsw(__a);
10176 return __builtin_altivec_vupklsw(__a);
10182 #ifdef __LITTLE_ENDIAN__
10183 return (vector
bool long long)__builtin_altivec_vupkhsw((vector
int)__a);
10185 return (vector
bool long long)__builtin_altivec_vupklsw((vector
int)__a);
10194 #ifdef __LITTLE_ENDIAN__
10195 return __builtin_altivec_vupkhsb((vector
char)__a);
10197 return __builtin_altivec_vupklsb((vector
char)__a);
10203 #ifdef __LITTLE_ENDIAN__
10204 return (vector
bool short)__builtin_altivec_vupkhsb((vector
char)__a);
10206 return (vector
bool short)__builtin_altivec_vupklsb((vector
char)__a);
10213 #ifdef __LITTLE_ENDIAN__
10214 return __builtin_altivec_vupkhsh(__a);
10216 return __builtin_altivec_vupklsh(__a);
10222 #ifdef __LITTLE_ENDIAN__
10223 return (vector
bool int)__builtin_altivec_vupkhsh((vector
short)__a);
10225 return (vector
bool int)__builtin_altivec_vupklsh((vector
short)__a);
10231 #ifdef __LITTLE_ENDIAN__
10232 return (vector
unsigned int)__builtin_altivec_vupkhpx((vector
short)__a);
10234 return (vector
unsigned int)__builtin_altivec_vupklpx((vector
short)__a);
10240 #ifdef __POWER8_VECTOR__
10241 static __inline__ vector
long long __ATTRS_o_ai vec_vupklsw(vector
int __a) {
10242 #ifdef __LITTLE_ENDIAN__
10243 return __builtin_altivec_vupkhsw(__a);
10245 return __builtin_altivec_vupklsw(__a);
10250 vec_vupklsw(vector
bool int __a) {
10251 #ifdef __LITTLE_ENDIAN__
10252 return (vector
bool long long)__builtin_altivec_vupkhsw((vector
int)__a);
10254 return (vector
bool long long)__builtin_altivec_vupklsw((vector
int)__a);
10264 vec_vsx_ld(
int __a,
const vector
bool int *__b) {
10265 return (vector
bool int)__builtin_vsx_lxvw4x(__a, __b);
10269 vec_vsx_ld(
int __a,
const vector
signed int *__b) {
10270 return (vector
signed int)__builtin_vsx_lxvw4x(__a, __b);
10274 vec_vsx_ld(
int __a,
const signed int *__b) {
10275 return (vector
signed int)__builtin_vsx_lxvw4x(__a, __b);
10279 vec_vsx_ld(
int __a,
const vector
unsigned int *__b) {
10280 return (vector
unsigned int)__builtin_vsx_lxvw4x(__a, __b);
10284 vec_vsx_ld(
int __a,
const unsigned int *__b) {
10285 return (vector
unsigned int)__builtin_vsx_lxvw4x(__a, __b);
10289 vec_vsx_ld(
int __a,
const vector
float *__b) {
10290 return (vector
float)__builtin_vsx_lxvw4x(__a, __b);
10293 static __inline__ vector
float __ATTRS_o_ai vec_vsx_ld(
int __a,
10294 const float *__b) {
10295 return (vector
float)__builtin_vsx_lxvw4x(__a, __b);
10298 static __inline__ vector
signed long long __ATTRS_o_ai
10299 vec_vsx_ld(
int __a,
const vector
signed long long *__b) {
10300 return (vector
signed long long)__builtin_vsx_lxvd2x(__a, __b);
10303 static __inline__ vector
unsigned long long __ATTRS_o_ai
10304 vec_vsx_ld(
int __a,
const vector
unsigned long long *__b) {
10305 return (vector
unsigned long long)__builtin_vsx_lxvd2x(__a, __b);
10309 vec_vsx_ld(
int __a,
const vector
double *__b) {
10310 return (vector
double)__builtin_vsx_lxvd2x(__a, __b);
10314 vec_vsx_ld(
int __a,
const double *__b) {
10315 return (vector
double)__builtin_vsx_lxvd2x(__a, __b);
10319 vec_vsx_ld(
int __a,
const vector
bool short *__b) {
10320 return (vector
bool short)__builtin_vsx_lxvw4x(__a, __b);
10324 vec_vsx_ld(
int __a,
const vector
signed short *__b) {
10325 return (vector
signed short)__builtin_vsx_lxvw4x(__a, __b);
10329 vec_vsx_ld(
int __a,
const signed short *__b) {
10330 return (vector
signed short)__builtin_vsx_lxvw4x(__a, __b);
10334 vec_vsx_ld(
int __a,
const vector
unsigned short *__b) {
10335 return (vector
unsigned short)__builtin_vsx_lxvw4x(__a, __b);
10339 vec_vsx_ld(
int __a,
const unsigned short *__b) {
10340 return (vector
unsigned short)__builtin_vsx_lxvw4x(__a, __b);
10344 vec_vsx_ld(
int __a,
const vector
bool char *__b) {
10345 return (vector
bool char)__builtin_vsx_lxvw4x(__a, __b);
10349 vec_vsx_ld(
int __a,
const vector
signed char *__b) {
10350 return (vector
signed char)__builtin_vsx_lxvw4x(__a, __b);
10354 vec_vsx_ld(
int __a,
const signed char *__b) {
10355 return (vector
signed char)__builtin_vsx_lxvw4x(__a, __b);
10359 vec_vsx_ld(
int __a,
const vector
unsigned char *__b) {
10360 return (vector
unsigned char)__builtin_vsx_lxvw4x(__a, __b);
10364 vec_vsx_ld(
int __a,
const unsigned char *__b) {
10365 return (vector
unsigned char)__builtin_vsx_lxvw4x(__a, __b);
10374 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
bool int __a,
int __b,
10375 vector
bool int *__c) {
10376 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10379 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
bool int __a,
int __b,
10381 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10384 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
bool int __a,
int __b,
10385 unsigned int *__c) {
10386 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10389 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
signed int __a,
int __b,
10390 vector
signed int *__c) {
10391 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10394 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
signed int __a,
int __b,
10396 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10399 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
unsigned int __a,
int __b,
10400 vector
unsigned int *__c) {
10401 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10404 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
unsigned int __a,
int __b,
10405 unsigned int *__c) {
10406 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10409 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
float __a,
int __b,
10410 vector
float *__c) {
10411 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10414 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
float __a,
int __b,
10416 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10419 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
signed long long __a,
10421 vector
signed long long *__c) {
10422 __builtin_vsx_stxvd2x((vector
double)__a, __b, __c);
10425 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
unsigned long long __a,
10427 vector
unsigned long long *__c) {
10428 __builtin_vsx_stxvd2x((vector
double)__a, __b, __c);
10431 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
double __a,
int __b,
10432 vector
double *__c) {
10433 __builtin_vsx_stxvd2x((vector
double)__a, __b, __c);
10436 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
double __a,
int __b,
10438 __builtin_vsx_stxvd2x((vector
double)__a, __b, __c);
10441 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
bool short __a,
int __b,
10442 vector
bool short *__c) {
10443 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10446 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
bool short __a,
int __b,
10447 signed short *__c) {
10448 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10451 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
bool short __a,
int __b,
10452 unsigned short *__c) {
10453 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10455 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
signed short __a,
int __b,
10456 vector
signed short *__c) {
10457 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10460 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
signed short __a,
int __b,
10461 signed short *__c) {
10462 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10465 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
unsigned short __a,
10467 vector
unsigned short *__c) {
10468 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10471 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
unsigned short __a,
10472 int __b,
unsigned short *__c) {
10473 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10476 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
bool char __a,
int __b,
10477 vector
bool char *__c) {
10478 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10481 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
bool char __a,
int __b,
10482 signed char *__c) {
10483 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10486 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
bool char __a,
int __b,
10487 unsigned char *__c) {
10488 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10491 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
signed char __a,
int __b,
10492 vector
signed char *__c) {
10493 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10496 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
signed char __a,
int __b,
10497 signed char *__c) {
10498 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10501 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
unsigned char __a,
10503 vector
unsigned char *__c) {
10504 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10507 static __inline__
void __ATTRS_o_ai vec_vsx_st(vector
unsigned char __a,
10508 int __b,
unsigned char *__c) {
10509 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10516 #define __builtin_altivec_vxor vec_xor
10519 vec_xor(vector
signed char __a, vector
signed char __b) {
10524 vec_xor(vector
bool char __a, vector
signed char __b) {
10525 return (vector
signed char)__a ^
__b;
10529 vec_xor(vector
signed char __a, vector
bool char __b) {
10530 return __a ^ (vector
signed char)__b;
10534 vec_xor(vector
unsigned char __a, vector
unsigned char __b) {
10539 vec_xor(vector
bool char __a, vector
unsigned char __b) {
10540 return (vector
unsigned char)__a ^
__b;
10544 vec_xor(vector
unsigned char __a, vector
bool char __b) {
10545 return __a ^ (vector
unsigned char)__b;
10549 vector
bool char __b) {
10554 vector
short __b) {
10559 vector
short __b) {
10560 return (vector
short)__a ^
__b;
10564 vector
bool short __b) {
10565 return __a ^ (vector short)__b;
10569 vec_xor(vector
unsigned short __a, vector
unsigned short __b) {
10574 vec_xor(vector
bool short __a, vector
unsigned short __b) {
10575 return (vector
unsigned short)__a ^
__b;
10579 vec_xor(vector
unsigned short __a, vector
bool short __b) {
10580 return __a ^ (vector
unsigned short)__b;
10584 vec_xor(vector
bool short __a, vector
bool short __b) {
10595 return (vector
int)__a ^
__b;
10599 vector
bool int __b) {
10600 return __a ^ (vector int)__b;
10604 vec_xor(vector
unsigned int __a, vector
unsigned int __b) {
10609 vec_xor(vector
bool int __a, vector
unsigned int __b) {
10610 return (vector
unsigned int)__a ^
__b;
10614 vec_xor(vector
unsigned int __a, vector
bool int __b) {
10615 return __a ^ (vector
unsigned int)__b;
10619 vector
bool int __b) {
10624 vector
float __b) {
10625 vector
unsigned int __res =
10626 (vector
unsigned int)__a ^ (vector
unsigned int)
__b;
10627 return (vector
float)__res;
10631 vector
float __b) {
10632 vector
unsigned int __res =
10633 (vector
unsigned int)__a ^ (vector
unsigned int)
__b;
10634 return (vector
float)__res;
10638 vector
bool int __b) {
10639 vector
unsigned int __res =
10640 (vector
unsigned int)__a ^ (vector
unsigned int)
__b;
10641 return (vector
float)__res;
10645 static __inline__ vector
signed long long __ATTRS_o_ai
10646 vec_xor(vector
signed long long __a, vector
signed long long __b) {
10650 static __inline__ vector
signed long long __ATTRS_o_ai
10651 vec_xor(vector
bool long long __a, vector
signed long long __b) {
10652 return (vector
signed long long)__a ^
__b;
10655 static __inline__ vector
signed long long __ATTRS_o_ai
10656 vec_xor(vector
signed long long __a, vector
bool long long __b) {
10657 return __a ^ (vector
signed long long)__b;
10660 static __inline__ vector
unsigned long long __ATTRS_o_ai
10661 vec_xor(vector
unsigned long long __a, vector
unsigned long long __b) {
10665 static __inline__ vector
unsigned long long __ATTRS_o_ai
10666 vec_xor(vector
bool long long __a, vector
unsigned long long __b) {
10667 return (vector
unsigned long long)__a ^
__b;
10670 static __inline__ vector
unsigned long long __ATTRS_o_ai
10671 vec_xor(vector
unsigned long long __a, vector
bool long long __b) {
10672 return __a ^ (vector
unsigned long long)__b;
10676 vec_xor(vector
bool long long __a, vector
bool long long __b) {
10681 vector
double __b) {
10682 return (vector
double)((vector
unsigned long long)__a ^
10683 (vector
unsigned long long)
__b);
10687 vec_xor(vector
double __a, vector
bool long long __b) {
10688 return (vector
double)((vector
unsigned long long)__a ^
10689 (vector
unsigned long long)
__b);
10693 vector
double __b) {
10694 return (vector
double)((vector
unsigned long long)__a ^
10695 (vector
unsigned long long)
__b);
10708 return (vector
signed char)__a ^
__b;
10713 return __a ^ (vector
signed char)__b;
10717 vec_vxor(vector
unsigned char __a, vector
unsigned char __b) {
10723 return (vector
unsigned char)__a ^
__b;
10728 return __a ^ (vector
unsigned char)__b;
10732 vector
bool char __b) {
10737 vector
short __b) {
10742 vector
short __b) {
10743 return (vector
short)__a ^
__b;
10747 vector
bool short __b) {
10748 return __a ^ (vector short)__b;
10752 vec_vxor(vector
unsigned short __a, vector
unsigned short __b) {
10757 vec_vxor(vector
bool short __a, vector
unsigned short __b) {
10758 return (vector
unsigned short)__a ^
__b;
10762 vec_vxor(vector
unsigned short __a, vector
bool short __b) {
10763 return __a ^ (vector
unsigned short)__b;
10778 return (vector
int)__a ^
__b;
10782 vector
bool int __b) {
10783 return __a ^ (vector int)__b;
10787 vec_vxor(vector
unsigned int __a, vector
unsigned int __b) {
10793 return (vector
unsigned int)__a ^
__b;
10798 return __a ^ (vector
unsigned int)__b;
10802 vector
bool int __b) {
10807 vector
float __b) {
10808 vector
unsigned int __res =
10809 (vector
unsigned int)__a ^ (vector
unsigned int)
__b;
10810 return (vector
float)__res;
10814 vector
float __b) {
10815 vector
unsigned int __res =
10816 (vector
unsigned int)__a ^ (vector
unsigned int)
__b;
10817 return (vector
float)__res;
10821 vector
bool int __b) {
10822 vector
unsigned int __res =
10823 (vector
unsigned int)__a ^ (vector
unsigned int)
__b;
10824 return (vector
float)__res;
10828 static __inline__ vector
signed long long __ATTRS_o_ai
10829 vec_vxor(vector
signed long long __a, vector
signed long long __b) {
10833 static __inline__ vector
signed long long __ATTRS_o_ai
10834 vec_vxor(vector
bool long long __a, vector
signed long long __b) {
10835 return (vector
signed long long)__a ^
__b;
10838 static __inline__ vector
signed long long __ATTRS_o_ai
10839 vec_vxor(vector
signed long long __a, vector
bool long long __b) {
10840 return __a ^ (vector
signed long long)__b;
10843 static __inline__ vector
unsigned long long __ATTRS_o_ai
10844 vec_vxor(vector
unsigned long long __a, vector
unsigned long long __b) {
10848 static __inline__ vector
unsigned long long __ATTRS_o_ai
10849 vec_vxor(vector
bool long long __a, vector
unsigned long long __b) {
10850 return (vector
unsigned long long)__a ^
__b;
10853 static __inline__ vector
unsigned long long __ATTRS_o_ai
10854 vec_vxor(vector
unsigned long long __a, vector
bool long long __b) {
10855 return __a ^ (vector
unsigned long long)__b;
10859 vec_vxor(vector
bool long long __a, vector
bool long long __b) {
10915 vec_extract(vector
signed long long __a,
int __b) {
10920 vec_extract(vector
unsigned long long __a,
int __b) {
10925 vec_extract(vector
bool long long __a,
int __b) {
10953 vector
bool char __b,
10990 vector
bool int __b,
10997 static __inline__ vector
signed long long __ATTRS_o_ai
10998 vec_insert(
signed long long __a, vector
signed long long __b,
int __c) {
11003 static __inline__ vector
unsigned long long __ATTRS_o_ai
11004 vec_insert(
unsigned long long __a, vector
unsigned long long __b,
int __c) {
11010 vec_insert(
unsigned long long __a, vector
bool long long __b,
int __c) {
11040 vec_lvsl(__a, (
unsigned char *)__b));
11052 vec_lvsl(__a, (
unsigned char *)__b));
11058 vec_lvsl(__a, (
unsigned char *)__b));
11062 const short *__b) {
11067 const vector
short *__b) {
11069 vec_lvsl(__a, (
unsigned char *)__b));
11081 vec_lvsl(__a, (
unsigned char *)__b));
11087 vec_lvsl(__a, (
unsigned char *)__b));
11091 const vector pixel *__b) {
11093 vec_lvsl(__a, (
unsigned char *)__b));
11101 const vector
int *__b) {
11103 vec_lvsl(__a, (
unsigned char *)__b));
11115 vec_lvsl(__a, (
unsigned char *)__b));
11121 vec_lvsl(__a, (
unsigned char *)__b));
11125 const float *__b) {
11130 const vector
float *__b) {
11132 vec_lvsl(__a, (
unsigned char *)__b));
11146 vec_lvsl(__a, (
unsigned char *)__b));
11158 vec_lvsl(__a, (
unsigned char *)__b));
11164 vec_lvsl(__a, (
unsigned char *)__b));
11168 const short *__b) {
11173 const vector
short *__b) {
11175 vec_lvsl(__a, (
unsigned char *)__b));
11187 vec_lvsl(__a, (
unsigned char *)__b));
11193 vec_lvsl(__a, (
unsigned char *)__b));
11197 const vector pixel *__b) {
11199 vec_lvsl(__a, (
unsigned char *)__b));
11207 const vector
int *__b) {
11209 vec_lvsl(__a, (
unsigned char *)__b));
11221 vec_lvsl(__a, (
unsigned char *)__b));
11227 vec_lvsl(__a, (
unsigned char *)__b));
11231 const float *__b) {
11236 vector
float *__b) {
11238 vec_lvsl(__a, (
unsigned char *)__b));
11252 vec_lvsl(__a, (
unsigned char *)__b));
11264 vec_lvsl(__a, (
unsigned char *)__b));
11270 vec_lvsl(__a, (
unsigned char *)__b));
11274 const short *__b) {
11279 const vector
short *__b) {
11281 vec_lvsl(__a, (
unsigned char *)__b));
11293 vec_lvsl(__a, (
unsigned char *)__b));
11299 vec_lvsl(__a, (
unsigned char *)__b));
11303 const vector pixel *__b) {
11305 vec_lvsl(__a, (
unsigned char *)__b));
11313 const vector
int *__b) {
11315 vec_lvsl(__a, (
unsigned char *)__b));
11327 vec_lvsl(__a, (
unsigned char *)__b));
11333 vec_lvsl(__a, (
unsigned char *)__b));
11337 const float *__b) {
11342 const vector
float *__b) {
11344 vec_lvsl(__a, (
unsigned char *)__b));
11358 vec_lvsl(__a, (
unsigned char *)__b));
11370 vec_lvsl(__a, (
unsigned char *)__b));
11376 vec_lvsl(__a, (
unsigned char *)__b));
11380 const short *__b) {
11385 const vector
short *__b) {
11387 vec_lvsl(__a, (
unsigned char *)__b));
11399 vec_lvsl(__a, (
unsigned char *)__b));
11405 vec_lvsl(__a, (
unsigned char *)__b));
11409 const vector pixel *__b) {
11411 vec_lvsl(__a, (
unsigned char *)__b));
11419 const vector
int *__b) {
11421 vec_lvsl(__a, (
unsigned char *)__b));
11433 vec_lvsl(__a, (
unsigned char *)__b));
11439 vec_lvsl(__a, (
unsigned char *)__b));
11443 const float *__b) {
11448 const vector
float *__b) {
11450 vec_lvsl(__a, (
unsigned char *)__b));
11456 signed char *__c) {
11462 vector
signed char *__c) {
11469 unsigned char *__c) {
11475 vector
unsigned char *__c) {
11482 vector
bool char *__c) {
11495 vector
short *__c) {
11502 int __b,
unsigned short *__c) {
11509 vector
unsigned short *__c) {
11516 vector
bool short *__c) {
11523 vector pixel *__c) {
11543 unsigned int *__c) {
11549 vector
unsigned int *__c) {
11556 vector
bool int *__c) {
11563 vector
float *__c) {
11572 signed char *__c) {
11578 vector
signed char *__c) {
11585 int __b,
unsigned char *__c) {
11592 vector
unsigned char *__c) {
11599 vector
bool char *__c) {
11612 vector
short *__c) {
11619 int __b,
unsigned short *__c) {
11626 vector
unsigned short *__c) {
11633 vector
bool short *__c) {
11640 vector pixel *__c) {
11660 unsigned int *__c) {
11666 vector
unsigned int *__c) {
11673 vector
bool int *__c) {
11680 vector
float *__c) {
11689 signed char *__c) {
11695 vector
signed char *__c) {
11702 unsigned char *__c) {
11708 vector
unsigned char *__c) {
11715 vector
bool char *__c) {
11728 vector
short *__c) {
11735 int __b,
unsigned short *__c) {
11742 vector
unsigned short *__c) {
11749 vector
bool short *__c) {
11756 vector pixel *__c) {
11776 unsigned int *__c) {
11782 vector
unsigned int *__c) {
11789 vector
bool int *__c) {
11796 vector
float *__c) {
11805 signed char *__c) {
11811 vector
signed char *__c) {
11818 int __b,
unsigned char *__c) {
11825 vector
unsigned char *__c) {
11832 vector
bool char *__c) {
11845 vector
short *__c) {
11852 int __b,
unsigned short *__c) {
11859 vector
unsigned short *__c) {
11866 vector
bool short *__c) {
11873 vector pixel *__c) {
11893 unsigned int *__c) {
11899 vector
unsigned int *__c) {
11906 vector
bool int *__c) {
11913 vector
float *__c) {
11923 vector
signed char __res = (vector
signed char)(0);
11930 vector
unsigned char __res = (vector
unsigned char)(0);
11936 vector
short __res = (vector short)(0);
11943 vector
unsigned short __res = (vector
unsigned short)(0);
11949 vector
int __res = (vector int)(0);
11956 vector
unsigned int __res = (vector
unsigned int)(0);
11962 vector
float __res = (vector float)(0);
11970 return (vector
signed char)(__a);
11975 return (vector
unsigned char)(__a);
11979 return (vector
short)(__a);
11984 return (vector
unsigned short)(__a);
11988 return (vector
int)(__a);
11993 return (vector
unsigned int)(__a);
11997 static __inline__ vector
signed long long __ATTRS_o_ai
11999 return (vector
signed long long)(__a);
12002 static __inline__ vector
unsigned long long __ATTRS_o_ai
12004 return (vector
unsigned long long)(__a);
12007 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
12010 return (vector
signed __int128)(__a);
12013 static __inline__ vector
unsigned __int128
__ATTRS_o_ai
12015 return (vector
unsigned __int128)(__a);
12021 return (vector
double)(__a);
12026 return (vector
float)(__a);
12034 vector
signed char __b) {
12035 return __builtin_altivec_vcmpequb_p(
__CR6_LT, (vector
char)__a,
12040 vector
bool char __b) {
12041 return __builtin_altivec_vcmpequb_p(
__CR6_LT, (vector
char)__a,
12046 vector
unsigned char __b) {
12047 return __builtin_altivec_vcmpequb_p(
__CR6_LT, (vector
char)__a,
12052 vector
bool char __b) {
12053 return __builtin_altivec_vcmpequb_p(
__CR6_LT, (vector
char)__a,
12058 vector
signed char __b) {
12059 return __builtin_altivec_vcmpequb_p(
__CR6_LT, (vector
char)__a,
12064 vector
unsigned char __b) {
12065 return __builtin_altivec_vcmpequb_p(
__CR6_LT, (vector
char)__a,
12070 vector
bool char __b) {
12071 return __builtin_altivec_vcmpequb_p(
__CR6_LT, (vector
char)__a,
12076 vector
short __b) {
12077 return __builtin_altivec_vcmpequh_p(
__CR6_LT, __a, __b);
12081 vector
bool short __b) {
12082 return __builtin_altivec_vcmpequh_p(
__CR6_LT, __a, (vector
short)__b);
12086 vector
unsigned short __b) {
12087 return __builtin_altivec_vcmpequh_p(
__CR6_LT, (vector
short)__a,
12088 (vector
short)__b);
12092 vector
bool short __b) {
12093 return __builtin_altivec_vcmpequh_p(
__CR6_LT, (vector
short)__a,
12094 (vector
short)__b);
12098 vector
short __b) {
12099 return __builtin_altivec_vcmpequh_p(
__CR6_LT, (vector
short)__a,
12100 (vector
short)__b);
12104 vector
unsigned short __b) {
12105 return __builtin_altivec_vcmpequh_p(
__CR6_LT, (vector
short)__a,
12106 (vector
short)__b);
12110 vector
bool short __b) {
12111 return __builtin_altivec_vcmpequh_p(
__CR6_LT, (vector
short)__a,
12112 (vector
short)__b);
12116 vector pixel __b) {
12117 return __builtin_altivec_vcmpequh_p(
__CR6_LT, (vector
short)__a,
12118 (vector
short)__b);
12122 return __builtin_altivec_vcmpequw_p(
__CR6_LT, __a, __b);
12126 vector
bool int __b) {
12127 return __builtin_altivec_vcmpequw_p(
__CR6_LT, __a, (vector
int)__b);
12131 vector
unsigned int __b) {
12132 return __builtin_altivec_vcmpequw_p(
__CR6_LT, (vector
int)__a,
12137 vector
bool int __b) {
12138 return __builtin_altivec_vcmpequw_p(
__CR6_LT, (vector
int)__a,
12144 return __builtin_altivec_vcmpequw_p(
__CR6_LT, (vector
int)__a,
12149 vector
unsigned int __b) {
12150 return __builtin_altivec_vcmpequw_p(
__CR6_LT, (vector
int)__a,
12155 vector
bool int __b) {
12156 return __builtin_altivec_vcmpequw_p(
__CR6_LT, (vector
int)__a,
12160 #ifdef __POWER8_VECTOR__
12162 vector
signed long long __b) {
12163 return __builtin_altivec_vcmpequd_p(
__CR6_LT, __a, __b);
12167 vector
bool long long __b) {
12168 return __builtin_altivec_vcmpequd_p(
__CR6_LT, __a, (vector
long long)__b);
12172 vector
unsigned long long __b) {
12173 return __builtin_altivec_vcmpequd_p(
__CR6_LT, (vector
long long)__a,
12174 (vector
long long)__b);
12178 vector
bool long long __b) {
12179 return __builtin_altivec_vcmpequd_p(
__CR6_LT, (vector
long long)__a,
12180 (vector
long long)__b);
12184 vector
long long __b) {
12185 return __builtin_altivec_vcmpequd_p(
__CR6_LT, (vector
long long)__a,
12186 (vector
long long)__b);
12190 vector
unsigned long long __b) {
12191 return __builtin_altivec_vcmpequd_p(
__CR6_LT, (vector
long long)__a,
12192 (vector
long long)__b);
12196 vector
bool long long __b) {
12197 return __builtin_altivec_vcmpequd_p(
__CR6_LT, (vector
long long)__a,
12198 (vector
long long)__b);
12203 vector
float __b) {
12205 return __builtin_vsx_xvcmpeqsp_p(
__CR6_LT, __a, __b);
12207 return __builtin_altivec_vcmpeqfp_p(
__CR6_LT, __a, __b);
12213 vector
double __b) {
12214 return __builtin_vsx_xvcmpeqdp_p(
__CR6_LT, __a, __b);
12221 vector
signed char __b) {
12222 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ, __b, __a);
12226 vector
bool char __b) {
12227 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ, (vector
signed char)__b, __a);
12231 vector
unsigned char __b) {
12232 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, __b, __a);
12236 vector
bool char __b) {
12237 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, (vector
unsigned char)__b, __a);
12241 vector
signed char __b) {
12242 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, (vector
unsigned char)__b,
12243 (vector
unsigned char)__a);
12247 vector
unsigned char __b) {
12248 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, __b, (vector
unsigned char)__a);
12252 vector
bool char __b) {
12253 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, (vector
unsigned char)__b,
12254 (vector
unsigned char)__a);
12258 vector
short __b) {
12259 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ, __b, __a);
12263 vector
bool short __b) {
12264 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ, (vector
short)__b, __a);
12268 vector
unsigned short __b) {
12269 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, __b, __a);
12273 vector
bool short __b) {
12274 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, (vector
unsigned short)__b,
12279 vector
short __b) {
12280 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, (vector
unsigned short)__b,
12281 (vector
unsigned short)__a);
12285 vector
unsigned short __b) {
12286 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, __b,
12287 (vector
unsigned short)__a);
12291 vector
bool short __b) {
12292 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, (vector
unsigned short)__b,
12293 (vector
unsigned short)__a);
12297 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ, __b, __a);
12301 vector
bool int __b) {
12302 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ, (vector
int)__b, __a);
12306 vector
unsigned int __b) {
12307 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, __b, __a);
12311 vector
bool int __b) {
12312 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, (vector
unsigned int)__b, __a);
12317 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, (vector
unsigned int)__b,
12318 (vector
unsigned int)__a);
12322 vector
unsigned int __b) {
12323 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, __b, (vector
unsigned int)__a);
12327 vector
bool int __b) {
12328 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, (vector
unsigned int)__b,
12329 (vector
unsigned int)__a);
12332 #ifdef __POWER8_VECTOR__
12334 vector
signed long long __b) {
12335 return __builtin_altivec_vcmpgtsd_p(
__CR6_EQ, __b, __a);
12338 vector
bool long long __b) {
12339 return __builtin_altivec_vcmpgtsd_p(
__CR6_EQ, (vector
signed long long)__b,
12344 vector
unsigned long long __b) {
12345 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, __b, __a);
12349 vector
bool long long __b) {
12350 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, (vector
unsigned long long)__b,
12355 vector
signed long long __b) {
12356 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, (vector
unsigned long long)__b,
12357 (vector
unsigned long long)__a);
12361 vector
unsigned long long __b) {
12362 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, __b,
12363 (vector
unsigned long long)__a);
12367 vector
bool long long __b) {
12368 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, (vector
unsigned long long)__b,
12369 (vector
unsigned long long)__a);
12374 vector
float __b) {
12376 return __builtin_vsx_xvcmpgesp_p(
__CR6_LT, __a, __b);
12378 return __builtin_altivec_vcmpgefp_p(
__CR6_LT, __a, __b);
12384 vector
double __b) {
12385 return __builtin_vsx_xvcmpgedp_p(
__CR6_LT, __a, __b);
12392 vector
signed char __b) {
12393 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT, __a, __b);
12397 vector
bool char __b) {
12398 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT, __a, (vector
signed char)__b);
12402 vector
unsigned char __b) {
12403 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, __a, __b);
12407 vector
bool char __b) {
12408 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, __a, (vector
unsigned char)__b);
12412 vector
signed char __b) {
12413 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, (vector
unsigned char)__a,
12414 (vector
unsigned char)__b);
12418 vector
unsigned char __b) {
12419 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, (vector
unsigned char)__a, __b);
12423 vector
bool char __b) {
12424 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, (vector
unsigned char)__a,
12425 (vector
unsigned char)__b);
12429 vector
short __b) {
12430 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT, __a, __b);
12434 vector
bool short __b) {
12435 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT, __a, (vector
short)__b);
12439 vector
unsigned short __b) {
12440 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, __a, __b);
12444 vector
bool short __b) {
12445 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, __a,
12446 (vector
unsigned short)__b);
12450 vector
short __b) {
12451 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, (vector
unsigned short)__a,
12452 (vector
unsigned short)__b);
12456 vector
unsigned short __b) {
12457 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, (vector
unsigned short)__a,
12462 vector
bool short __b) {
12463 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, (vector
unsigned short)__a,
12464 (vector
unsigned short)__b);
12468 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT, __a, __b);
12472 vector
bool int __b) {
12473 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT, __a, (vector
int)__b);
12477 vector
unsigned int __b) {
12478 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, __a, __b);
12482 vector
bool int __b) {
12483 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, __a, (vector
unsigned int)__b);
12488 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, (vector
unsigned int)__a,
12489 (vector
unsigned int)__b);
12493 vector
unsigned int __b) {
12494 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, (vector
unsigned int)__a, __b);
12498 vector
bool int __b) {
12499 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, (vector
unsigned int)__a,
12500 (vector
unsigned int)__b);
12503 #ifdef __POWER8_VECTOR__
12505 vector
signed long long __b) {
12506 return __builtin_altivec_vcmpgtsd_p(
__CR6_LT, __a, __b);
12509 vector
bool long long __b) {
12510 return __builtin_altivec_vcmpgtsd_p(
__CR6_LT, __a,
12511 (vector
signed long long)__b);
12515 vector
unsigned long long __b) {
12516 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, __a, __b);
12520 vector
bool long long __b) {
12521 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, __a,
12522 (vector
unsigned long long)__b);
12526 vector
signed long long __b) {
12527 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, (vector
unsigned long long)__a,
12528 (vector
unsigned long long)__b);
12532 vector
unsigned long long __b) {
12533 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, (vector
unsigned long long)__a,
12538 vector
bool long long __b) {
12539 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, (vector
unsigned long long)__a,
12540 (vector
unsigned long long)__b);
12545 vector
float __b) {
12547 return __builtin_vsx_xvcmpgtsp_p(
__CR6_LT, __a, __b);
12549 return __builtin_altivec_vcmpgtfp_p(
__CR6_LT, __a, __b);
12555 vector
double __b) {
12556 return __builtin_vsx_xvcmpgtdp_p(
__CR6_LT, __a, __b);
12563 vec_all_in(vector
float __a, vector
float __b) {
12564 return __builtin_altivec_vcmpbfp_p(
__CR6_EQ, __a, __b);
12570 vector
signed char __b) {
12571 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ, __a, __b);
12575 vector
bool char __b) {
12576 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ, __a, (vector
signed char)__b);
12580 vector
unsigned char __b) {
12581 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, __a, __b);
12585 vector
bool char __b) {
12586 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, __a, (vector
unsigned char)__b);
12590 vector
signed char __b) {
12591 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, (vector
unsigned char)__a,
12592 (vector
unsigned char)__b);
12596 vector
unsigned char __b) {
12597 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, (vector
unsigned char)__a, __b);
12601 vector
bool char __b) {
12602 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, (vector
unsigned char)__a,
12603 (vector
unsigned char)__b);
12607 vector
short __b) {
12608 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ, __a, __b);
12612 vector
bool short __b) {
12613 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ, __a, (vector
short)__b);
12617 vector
unsigned short __b) {
12618 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, __a, __b);
12622 vector
bool short __b) {
12623 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, __a,
12624 (vector
unsigned short)__b);
12628 vector
short __b) {
12629 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, (vector
unsigned short)__a,
12630 (vector
unsigned short)__b);
12634 vector
unsigned short __b) {
12635 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, (vector
unsigned short)__a,
12640 vector
bool short __b) {
12641 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, (vector
unsigned short)__a,
12642 (vector
unsigned short)__b);
12646 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ, __a, __b);
12650 vector
bool int __b) {
12651 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ, __a, (vector
int)__b);
12655 vector
unsigned int __b) {
12656 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, __a, __b);
12660 vector
bool int __b) {
12661 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, __a, (vector
unsigned int)__b);
12666 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, (vector
unsigned int)__a,
12667 (vector
unsigned int)__b);
12671 vector
unsigned int __b) {
12672 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, (vector
unsigned int)__a, __b);
12676 vector
bool int __b) {
12677 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, (vector
unsigned int)__a,
12678 (vector
unsigned int)__b);
12681 #ifdef __POWER8_VECTOR__
12683 vector
signed long long __b) {
12684 return __builtin_altivec_vcmpgtsd_p(
__CR6_EQ, __a, __b);
12688 vector
unsigned long long __b) {
12689 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, __a, __b);
12693 vector
bool long long __b) {
12694 return __builtin_altivec_vcmpgtsd_p(
__CR6_EQ, __a,
12695 (vector
signed long long)__b);
12699 vector
bool long long __b) {
12700 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, __a,
12701 (vector
unsigned long long)__b);
12705 vector
signed long long __b) {
12706 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, (vector
unsigned long long)__a,
12707 (vector
unsigned long long)__b);
12711 vector
unsigned long long __b) {
12712 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, (vector
unsigned long long)__a,
12717 vector
bool long long __b) {
12718 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, (vector
unsigned long long)__a,
12719 (vector
unsigned long long)__b);
12724 vector
float __b) {
12726 return __builtin_vsx_xvcmpgesp_p(
__CR6_LT, __b, __a);
12728 return __builtin_altivec_vcmpgefp_p(
__CR6_LT, __b, __a);
12734 vector
double __b) {
12735 return __builtin_vsx_xvcmpgedp_p(
__CR6_LT, __b, __a);
12742 vector
signed char __b) {
12743 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT, __b, __a);
12747 vector
bool char __b) {
12748 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT, (vector
signed char)__b, __a);
12752 vector
unsigned char __b) {
12753 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, __b, __a);
12757 vector
bool char __b) {
12758 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, (vector
unsigned char)__b, __a);
12762 vector
signed char __b) {
12763 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, (vector
unsigned char)__b,
12764 (vector
unsigned char)__a);
12768 vector
unsigned char __b) {
12769 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, __b, (vector
unsigned char)__a);
12773 vector
bool char __b) {
12774 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, (vector
unsigned char)__b,
12775 (vector
unsigned char)__a);
12779 vector
short __b) {
12780 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT, __b, __a);
12784 vector
bool short __b) {
12785 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT, (vector
short)__b, __a);
12789 vector
unsigned short __b) {
12790 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, __b, __a);
12794 vector
bool short __b) {
12795 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, (vector
unsigned short)__b,
12800 vector
short __b) {
12801 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, (vector
unsigned short)__b,
12802 (vector
unsigned short)__a);
12806 vector
unsigned short __b) {
12807 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, __b,
12808 (vector
unsigned short)__a);
12812 vector
bool short __b) {
12813 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, (vector
unsigned short)__b,
12814 (vector
unsigned short)__a);
12818 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT, __b, __a);
12822 vector
bool int __b) {
12823 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT, (vector
int)__b, __a);
12827 vector
unsigned int __b) {
12828 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, __b, __a);
12832 vector
bool int __b) {
12833 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, (vector
unsigned int)__b, __a);
12838 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, (vector
unsigned int)__b,
12839 (vector
unsigned int)__a);
12843 vector
unsigned int __b) {
12844 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, __b, (vector
unsigned int)__a);
12848 vector
bool int __b) {
12849 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, (vector
unsigned int)__b,
12850 (vector
unsigned int)__a);
12853 #ifdef __POWER8_VECTOR__
12855 vector
signed long long __b) {
12856 return __builtin_altivec_vcmpgtsd_p(
__CR6_LT, __b, __a);
12860 vector
unsigned long long __b) {
12861 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, __b, __a);
12865 vector
bool long long __b) {
12866 return __builtin_altivec_vcmpgtsd_p(
__CR6_LT, (vector
signed long long)__b,
12871 vector
bool long long __b) {
12872 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, (vector
unsigned long long)__b,
12877 vector
signed long long __b) {
12878 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, (vector
unsigned long long)__b,
12879 (vector
unsigned long long)__a);
12883 vector
unsigned long long __b) {
12884 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, __b,
12885 (vector
unsigned long long)__a);
12889 vector
bool long long __b) {
12890 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, (vector
unsigned long long)__b,
12891 (vector
unsigned long long)__a);
12896 vector
float __b) {
12898 return __builtin_vsx_xvcmpgtsp_p(
__CR6_LT, __b, __a);
12900 return __builtin_altivec_vcmpgtfp_p(
__CR6_LT, __b, __a);
12906 vector
double __b) {
12907 return __builtin_vsx_xvcmpgtdp_p(
__CR6_LT, __b, __a);
12915 return __builtin_vsx_xvcmpeqsp_p(
__CR6_EQ, __a, __a);
12917 return __builtin_altivec_vcmpeqfp_p(
__CR6_EQ, __a, __a);
12923 return __builtin_vsx_xvcmpeqdp_p(
__CR6_EQ, __a, __a);
12930 vector
signed char __b) {
12931 return __builtin_altivec_vcmpequb_p(
__CR6_EQ, (vector
char)__a,
12936 vector
bool char __b) {
12937 return __builtin_altivec_vcmpequb_p(
__CR6_EQ, (vector
char)__a,
12942 vector
unsigned char __b) {
12943 return __builtin_altivec_vcmpequb_p(
__CR6_EQ, (vector
char)__a,
12948 vector
bool char __b) {
12949 return __builtin_altivec_vcmpequb_p(
__CR6_EQ, (vector
char)__a,
12954 vector
signed char __b) {
12955 return __builtin_altivec_vcmpequb_p(
__CR6_EQ, (vector
char)__a,
12960 vector
unsigned char __b) {
12961 return __builtin_altivec_vcmpequb_p(
__CR6_EQ, (vector
char)__a,
12966 vector
bool char __b) {
12967 return __builtin_altivec_vcmpequb_p(
__CR6_EQ, (vector
char)__a,
12972 vector
short __b) {
12973 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, __a, __b);
12977 vector
bool short __b) {
12978 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, __a, (vector
short)__b);
12982 vector
unsigned short __b) {
12983 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, (vector
short)__a,
12984 (vector
short)__b);
12988 vector
bool short __b) {
12989 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, (vector
short)__a,
12990 (vector
short)__b);
12994 vector
short __b) {
12995 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, (vector
short)__a,
12996 (vector
short)__b);
13000 vector
unsigned short __b) {
13001 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, (vector
short)__a,
13002 (vector
short)__b);
13006 vector
bool short __b) {
13007 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, (vector
short)__a,
13008 (vector
short)__b);
13012 vector pixel __b) {
13013 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, (vector
short)__a,
13014 (vector
short)__b);
13018 return __builtin_altivec_vcmpequw_p(
__CR6_EQ, __a, __b);
13022 vector
bool int __b) {
13023 return __builtin_altivec_vcmpequw_p(
__CR6_EQ, __a, (vector
int)__b);
13027 vector
unsigned int __b) {
13028 return __builtin_altivec_vcmpequw_p(
__CR6_EQ, (vector
int)__a,
13033 vector
bool int __b) {
13034 return __builtin_altivec_vcmpequw_p(
__CR6_EQ, (vector
int)__a,
13040 return __builtin_altivec_vcmpequw_p(
__CR6_EQ, (vector
int)__a,
13045 vector
unsigned int __b) {
13046 return __builtin_altivec_vcmpequw_p(
__CR6_EQ, (vector
int)__a,
13051 vector
bool int __b) {
13052 return __builtin_altivec_vcmpequw_p(
__CR6_EQ, (vector
int)__a,
13056 #ifdef __POWER8_VECTOR__
13058 vector
signed long long __b) {
13059 return __builtin_altivec_vcmpequd_p(
__CR6_EQ, __a, __b);
13063 vector
unsigned long long __b) {
13064 return __builtin_altivec_vcmpequd_p(
__CR6_EQ, (vector
long long)__a,
13065 (vector
long long)__b);
13069 vector
bool long long __b) {
13070 return __builtin_altivec_vcmpequd_p(
__CR6_EQ, __a,
13071 (vector
signed long long)__b);
13075 vector
bool long long __b) {
13076 return __builtin_altivec_vcmpequd_p(
__CR6_EQ, (vector
signed long long)__a,
13077 (vector
signed long long)__b);
13081 vector
signed long long __b) {
13082 return __builtin_altivec_vcmpequd_p(
__CR6_EQ, (vector
signed long long)__a,
13083 (vector
signed long long)__b);
13087 vector
unsigned long long __b) {
13088 return __builtin_altivec_vcmpequd_p(
__CR6_EQ, (vector
signed long long)__a,
13089 (vector
signed long long)__b);
13093 vector
bool long long __b) {
13094 return __builtin_altivec_vcmpequd_p(
__CR6_EQ, (vector
signed long long)__a,
13095 (vector
signed long long)__b);
13100 vector
float __b) {
13102 return __builtin_vsx_xvcmpeqdp_p(
__CR6_EQ, __a, __b);
13104 return __builtin_altivec_vcmpeqfp_p(
__CR6_EQ, __a, __b);
13110 vector
double __b) {
13111 return __builtin_vsx_xvcmpeqdp_p(
__CR6_EQ, __a, __b);
13118 vector
float __b) {
13120 return __builtin_vsx_xvcmpgesp_p(
__CR6_EQ, __a, __b);
13122 return __builtin_altivec_vcmpgefp_p(
__CR6_EQ, __a, __b);
13128 vector
double __b) {
13129 return __builtin_vsx_xvcmpgedp_p(
__CR6_EQ, __a, __b);
13136 vector
float __b) {
13138 return __builtin_vsx_xvcmpgtsp_p(
__CR6_EQ, __a, __b);
13140 return __builtin_altivec_vcmpgtfp_p(
__CR6_EQ, __a, __b);
13146 vector
double __b) {
13147 return __builtin_vsx_xvcmpgtdp_p(
__CR6_EQ, __a, __b);
13154 vec_all_nle(vector
float __a, vector
float __b) {
13155 return __builtin_altivec_vcmpgefp_p(
__CR6_EQ, __b, __a);
13161 vec_all_nlt(vector
float __a, vector
float __b) {
13162 return __builtin_altivec_vcmpgtfp_p(
__CR6_EQ, __b, __a);
13168 vec_all_numeric(vector
float __a) {
13169 return __builtin_altivec_vcmpeqfp_p(
__CR6_LT, __a, __a);
13175 vector
signed char __b) {
13176 return __builtin_altivec_vcmpequb_p(
__CR6_EQ_REV, (vector
char)__a,
13181 vector
bool char __b) {
13182 return __builtin_altivec_vcmpequb_p(
__CR6_EQ_REV, (vector
char)__a,
13187 vector
unsigned char __b) {
13188 return __builtin_altivec_vcmpequb_p(
__CR6_EQ_REV, (vector
char)__a,
13193 vector
bool char __b) {
13194 return __builtin_altivec_vcmpequb_p(
__CR6_EQ_REV, (vector
char)__a,
13199 vector
signed char __b) {
13200 return __builtin_altivec_vcmpequb_p(
__CR6_EQ_REV, (vector
char)__a,
13205 vector
unsigned char __b) {
13206 return __builtin_altivec_vcmpequb_p(
__CR6_EQ_REV, (vector
char)__a,
13211 vector
bool char __b) {
13212 return __builtin_altivec_vcmpequb_p(
__CR6_EQ_REV, (vector
char)__a,
13217 vector
short __b) {
13218 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, __a, __b);
13222 vector
bool short __b) {
13223 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, __a, (vector
short)__b);
13227 vector
unsigned short __b) {
13228 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, (vector
short)__a,
13229 (vector
short)__b);
13233 vector
bool short __b) {
13234 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, (vector
short)__a,
13235 (vector
short)__b);
13239 vector
short __b) {
13240 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, (vector
short)__a,
13241 (vector
short)__b);
13245 vector
unsigned short __b) {
13246 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, (vector
short)__a,
13247 (vector
short)__b);
13251 vector
bool short __b) {
13252 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, (vector
short)__a,
13253 (vector
short)__b);
13257 vector pixel __b) {
13258 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, (vector
short)__a,
13259 (vector
short)__b);
13263 return __builtin_altivec_vcmpequw_p(
__CR6_EQ_REV, __a, __b);
13267 vector
bool int __b) {
13268 return __builtin_altivec_vcmpequw_p(
__CR6_EQ_REV, __a, (vector
int)__b);
13272 vector
unsigned int __b) {
13273 return __builtin_altivec_vcmpequw_p(
__CR6_EQ_REV, (vector
int)__a,
13278 vector
bool int __b) {
13279 return __builtin_altivec_vcmpequw_p(
__CR6_EQ_REV, (vector
int)__a,
13285 return __builtin_altivec_vcmpequw_p(
__CR6_EQ_REV, (vector
int)__a,
13290 vector
unsigned int __b) {
13291 return __builtin_altivec_vcmpequw_p(
__CR6_EQ_REV, (vector
int)__a,
13296 vector
bool int __b) {
13297 return __builtin_altivec_vcmpequw_p(
__CR6_EQ_REV, (vector
int)__a,
13301 #ifdef __POWER8_VECTOR__
13303 vector
signed long long __b) {
13304 return __builtin_altivec_vcmpequd_p(
__CR6_EQ_REV, __a, __b);
13308 vector
unsigned long long __b) {
13309 return __builtin_altivec_vcmpequd_p(
__CR6_EQ_REV, (vector
long long)__a,
13310 (vector
long long)__b);
13314 vector
bool long long __b) {
13315 return __builtin_altivec_vcmpequd_p(
__CR6_EQ_REV, __a,
13316 (vector
signed long long)__b);
13320 vector
bool long long __b) {
13321 return __builtin_altivec_vcmpequd_p(
13322 __CR6_EQ_REV, (vector
signed long long)__a, (vector
signed long long)__b);
13326 vector
signed long long __b) {
13327 return __builtin_altivec_vcmpequd_p(
13328 __CR6_EQ_REV, (vector
signed long long)__a, (vector
signed long long)__b);
13332 vector
unsigned long long __b) {
13333 return __builtin_altivec_vcmpequd_p(
13334 __CR6_EQ_REV, (vector
signed long long)__a, (vector
signed long long)__b);
13338 vector
bool long long __b) {
13339 return __builtin_altivec_vcmpequd_p(
13340 __CR6_EQ_REV, (vector
signed long long)__a, (vector
signed long long)__b);
13345 vector
float __b) {
13347 return __builtin_vsx_xvcmpeqsp_p(
__CR6_EQ_REV, __a, __b);
13349 return __builtin_altivec_vcmpeqfp_p(
__CR6_EQ_REV, __a, __b);
13355 vector
double __b) {
13356 return __builtin_vsx_xvcmpeqdp_p(
__CR6_EQ_REV, __a, __b);
13363 vector
signed char __b) {
13364 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT_REV, __b, __a);
13368 vector
bool char __b) {
13369 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT_REV, (vector
signed char)__b,
13374 vector
unsigned char __b) {
13375 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, __b, __a);
13379 vector
bool char __b) {
13380 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, (vector
unsigned char)__b,
13385 vector
signed char __b) {
13386 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, (vector
unsigned char)__b,
13387 (vector
unsigned char)__a);
13391 vector
unsigned char __b) {
13392 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, __b,
13393 (vector
unsigned char)__a);
13397 vector
bool char __b) {
13398 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, (vector
unsigned char)__b,
13399 (vector
unsigned char)__a);
13403 vector
short __b) {
13404 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT_REV, __b, __a);
13408 vector
bool short __b) {
13409 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT_REV, (vector
short)__b, __a);
13413 vector
unsigned short __b) {
13414 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, __b, __a);
13418 vector
bool short __b) {
13419 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, (vector
unsigned short)__b,
13424 vector
short __b) {
13425 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, (vector
unsigned short)__b,
13426 (vector
unsigned short)__a);
13430 vector
unsigned short __b) {
13431 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, __b,
13432 (vector
unsigned short)__a);
13436 vector
bool short __b) {
13437 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, (vector
unsigned short)__b,
13438 (vector
unsigned short)__a);
13442 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT_REV, __b, __a);
13446 vector
bool int __b) {
13447 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT_REV, (vector
int)__b, __a);
13451 vector
unsigned int __b) {
13452 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, __b, __a);
13456 vector
bool int __b) {
13457 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, (vector
unsigned int)__b,
13463 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, (vector
unsigned int)__b,
13464 (vector
unsigned int)__a);
13468 vector
unsigned int __b) {
13469 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, __b,
13470 (vector
unsigned int)__a);
13474 vector
bool int __b) {
13475 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, (vector
unsigned int)__b,
13476 (vector
unsigned int)__a);
13479 #ifdef __POWER8_VECTOR__
13481 vector
signed long long __b) {
13482 return __builtin_altivec_vcmpgtsd_p(
__CR6_LT_REV, __b, __a);
13486 vector
unsigned long long __b) {
13487 return __builtin_altivec_vcmpgtud_p(
__CR6_LT_REV, __b, __a);
13491 vector
bool long long __b) {
13493 (vector
signed long long)__b, __a);
13497 vector
bool long long __b) {
13499 (vector
unsigned long long)__b, __a);
13503 vector
signed long long __b) {
13505 (vector
unsigned long long)__b,
13506 (vector
unsigned long long)__a);
13510 vector
unsigned long long __b) {
13511 return __builtin_altivec_vcmpgtud_p(
__CR6_LT_REV, __b,
13512 (vector
unsigned long long)__a);
13516 vector
bool long long __b) {
13518 (vector
unsigned long long)__b,
13519 (vector
unsigned long long)__a);
13524 vector
float __b) {
13526 return __builtin_vsx_xvcmpgesp_p(
__CR6_EQ_REV, __a, __b);
13528 return __builtin_altivec_vcmpgefp_p(
__CR6_EQ_REV, __a, __b);
13534 vector
double __b) {
13535 return __builtin_vsx_xvcmpgedp_p(
__CR6_EQ_REV, __a, __b);
13542 vector
signed char __b) {
13543 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ_REV, __a, __b);
13547 vector
bool char __b) {
13548 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ_REV, __a,
13549 (vector
signed char)__b);
13553 vector
unsigned char __b) {
13554 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, __a, __b);
13558 vector
bool char __b) {
13559 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, __a,
13560 (vector
unsigned char)__b);
13564 vector
signed char __b) {
13565 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, (vector
unsigned char)__a,
13566 (vector
unsigned char)__b);
13570 vector
unsigned char __b) {
13571 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, (vector
unsigned char)__a,
13576 vector
bool char __b) {
13577 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, (vector
unsigned char)__a,
13578 (vector
unsigned char)__b);
13582 vector
short __b) {
13583 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ_REV, __a, __b);
13587 vector
bool short __b) {
13588 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ_REV, __a, (vector
short)__b);
13592 vector
unsigned short __b) {
13593 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, __a, __b);
13597 vector
bool short __b) {
13598 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, __a,
13599 (vector
unsigned short)__b);
13603 vector
short __b) {
13604 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, (vector
unsigned short)__a,
13605 (vector
unsigned short)__b);
13609 vector
unsigned short __b) {
13610 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, (vector
unsigned short)__a,
13615 vector
bool short __b) {
13616 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, (vector
unsigned short)__a,
13617 (vector
unsigned short)__b);
13621 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ_REV, __a, __b);
13625 vector
bool int __b) {
13626 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ_REV, __a, (vector
int)__b);
13630 vector
unsigned int __b) {
13631 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, __a, __b);
13635 vector
bool int __b) {
13636 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, __a,
13637 (vector
unsigned int)__b);
13642 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, (vector
unsigned int)__a,
13643 (vector
unsigned int)__b);
13647 vector
unsigned int __b) {
13648 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, (vector
unsigned int)__a,
13653 vector
bool int __b) {
13654 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, (vector
unsigned int)__a,
13655 (vector
unsigned int)__b);
13658 #ifdef __POWER8_VECTOR__
13660 vector
signed long long __b) {
13661 return __builtin_altivec_vcmpgtsd_p(
__CR6_EQ_REV, __a, __b);
13665 vector
unsigned long long __b) {
13666 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ_REV, __a, __b);
13670 vector
bool long long __b) {
13671 return __builtin_altivec_vcmpgtsd_p(
__CR6_EQ_REV, __a,
13672 (vector
signed long long)__b);
13676 vector
bool long long __b) {
13677 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ_REV, __a,
13678 (vector
unsigned long long)__b);
13682 vector
signed long long __b) {
13684 (vector
unsigned long long)__a,
13685 (vector
unsigned long long)__b);
13689 vector
unsigned long long __b) {
13691 (vector
unsigned long long)__a, __b);
13695 vector
bool long long __b) {
13697 (vector
unsigned long long)__a,
13698 (vector
unsigned long long)__b);
13703 vector
float __b) {
13705 return __builtin_vsx_xvcmpgtsp_p(
__CR6_EQ_REV, __a, __b);
13707 return __builtin_altivec_vcmpgtfp_p(
__CR6_EQ_REV, __a, __b);
13713 vector
double __b) {
13714 return __builtin_vsx_xvcmpgtdp_p(
__CR6_EQ_REV, __a, __b);
13721 vector
signed char __b) {
13722 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT_REV, __a, __b);
13726 vector
bool char __b) {
13727 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT_REV, __a,
13728 (vector
signed char)__b);
13732 vector
unsigned char __b) {
13733 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, __a, __b);
13737 vector
bool char __b) {
13738 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, __a,
13739 (vector
unsigned char)__b);
13743 vector
signed char __b) {
13744 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, (vector
unsigned char)__a,
13745 (vector
unsigned char)__b);
13749 vector
unsigned char __b) {
13750 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, (vector
unsigned char)__a,
13755 vector
bool char __b) {
13756 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, (vector
unsigned char)__a,
13757 (vector
unsigned char)__b);
13761 vector
short __b) {
13762 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT_REV, __a, __b);
13766 vector
bool short __b) {
13767 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT_REV, __a, (vector
short)__b);
13771 vector
unsigned short __b) {
13772 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, __a, __b);
13776 vector
bool short __b) {
13777 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, __a,
13778 (vector
unsigned short)__b);
13782 vector
short __b) {
13783 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, (vector
unsigned short)__a,
13784 (vector
unsigned short)__b);
13788 vector
unsigned short __b) {
13789 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, (vector
unsigned short)__a,
13794 vector
bool short __b) {
13795 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, (vector
unsigned short)__a,
13796 (vector
unsigned short)__b);
13800 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT_REV, __a, __b);
13804 vector
bool int __b) {
13805 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT_REV, __a, (vector
int)__b);
13809 vector
unsigned int __b) {
13810 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, __a, __b);
13814 vector
bool int __b) {
13815 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, __a,
13816 (vector
unsigned int)__b);
13821 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, (vector
unsigned int)__a,
13822 (vector
unsigned int)__b);
13826 vector
unsigned int __b) {
13827 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, (vector
unsigned int)__a,
13832 vector
bool int __b) {
13833 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, (vector
unsigned int)__a,
13834 (vector
unsigned int)__b);
13837 #ifdef __POWER8_VECTOR__
13839 vector
signed long long __b) {
13840 return __builtin_altivec_vcmpgtsd_p(
__CR6_LT_REV, __a, __b);
13844 vector
unsigned long long __b) {
13845 return __builtin_altivec_vcmpgtud_p(
__CR6_LT_REV, __a, __b);
13849 vector
bool long long __b) {
13850 return __builtin_altivec_vcmpgtsd_p(
__CR6_LT_REV, __a,
13851 (vector
signed long long)__b);
13855 vector
bool long long __b) {
13856 return __builtin_altivec_vcmpgtud_p(
__CR6_LT_REV, __a,
13857 (vector
unsigned long long)__b);
13861 vector
signed long long __b) {
13863 (vector
unsigned long long)__a,
13864 (vector
unsigned long long)__b);
13868 vector
unsigned long long __b) {
13870 (vector
unsigned long long)__a, __b);
13874 vector
bool long long __b) {
13876 (vector
unsigned long long)__a,
13877 (vector
unsigned long long)__b);
13882 vector
float __b) {
13884 return __builtin_vsx_xvcmpgesp_p(
__CR6_EQ_REV, __b, __a);
13886 return __builtin_altivec_vcmpgefp_p(
__CR6_EQ_REV, __b, __a);
13892 vector
double __b) {
13893 return __builtin_vsx_xvcmpgedp_p(
__CR6_EQ_REV, __b, __a);
13900 vector
signed char __b) {
13901 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ_REV, __b, __a);
13905 vector
bool char __b) {
13906 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ_REV, (vector
signed char)__b,
13911 vector
unsigned char __b) {
13912 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, __b, __a);
13916 vector
bool char __b) {
13917 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, (vector
unsigned char)__b,
13922 vector
signed char __b) {
13923 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, (vector
unsigned char)__b,
13924 (vector
unsigned char)__a);
13928 vector
unsigned char __b) {
13929 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, __b,
13930 (vector
unsigned char)__a);
13934 vector
bool char __b) {
13935 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, (vector
unsigned char)__b,
13936 (vector
unsigned char)__a);
13940 vector
short __b) {
13941 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ_REV, __b, __a);
13945 vector
bool short __b) {
13946 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ_REV, (vector
short)__b, __a);
13950 vector
unsigned short __b) {
13951 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, __b, __a);
13955 vector
bool short __b) {
13956 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, (vector
unsigned short)__b,
13961 vector
short __b) {
13962 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, (vector
unsigned short)__b,
13963 (vector
unsigned short)__a);
13967 vector
unsigned short __b) {
13968 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, __b,
13969 (vector
unsigned short)__a);
13973 vector
bool short __b) {
13974 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, (vector
unsigned short)__b,
13975 (vector
unsigned short)__a);
13979 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ_REV, __b, __a);
13983 vector
bool int __b) {
13984 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ_REV, (vector
int)__b, __a);
13988 vector
unsigned int __b) {
13989 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, __b, __a);
13993 vector
bool int __b) {
13994 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, (vector
unsigned int)__b,
14000 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, (vector
unsigned int)__b,
14001 (vector
unsigned int)__a);
14005 vector
unsigned int __b) {
14006 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, __b,
14007 (vector
unsigned int)__a);
14011 vector
bool int __b) {
14012 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, (vector
unsigned int)__b,
14013 (vector
unsigned int)__a);
14016 #ifdef __POWER8_VECTOR__
14018 vector
signed long long __b) {
14019 return __builtin_altivec_vcmpgtsd_p(
__CR6_EQ_REV, __b, __a);
14023 vector
unsigned long long __b) {
14024 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ_REV, __b, __a);
14028 vector
bool long long __b) {
14030 (vector
signed long long)__b, __a);
14034 vector
bool long long __b) {
14036 (vector
unsigned long long)__b, __a);
14040 vector
signed long long __b) {
14042 (vector
unsigned long long)__b,
14043 (vector
unsigned long long)__a);
14047 vector
unsigned long long __b) {
14048 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ_REV, __b,
14049 (vector
unsigned long long)__a);
14053 vector
bool long long __b) {
14055 (vector
unsigned long long)__b,
14056 (vector
unsigned long long)__a);
14061 vector
float __b) {
14063 return __builtin_vsx_xvcmpgtsp_p(
__CR6_EQ_REV, __b, __a);
14065 return __builtin_altivec_vcmpgtfp_p(
__CR6_EQ_REV, __b, __a);
14071 vector
double __b) {
14072 return __builtin_vsx_xvcmpgtdp_p(
__CR6_EQ_REV, __b, __a);
14079 vec_any_nan(vector
float __a) {
14080 return __builtin_altivec_vcmpeqfp_p(
__CR6_LT_REV, __a, __a);
14086 vector
signed char __b) {
14087 return __builtin_altivec_vcmpequb_p(
__CR6_LT_REV, (vector
char)__a,
14092 vector
bool char __b) {
14093 return __builtin_altivec_vcmpequb_p(
__CR6_LT_REV, (vector
char)__a,
14098 vector
unsigned char __b) {
14099 return __builtin_altivec_vcmpequb_p(
__CR6_LT_REV, (vector
char)__a,
14104 vector
bool char __b) {
14105 return __builtin_altivec_vcmpequb_p(
__CR6_LT_REV, (vector
char)__a,
14110 vector
signed char __b) {
14111 return __builtin_altivec_vcmpequb_p(
__CR6_LT_REV, (vector
char)__a,
14116 vector
unsigned char __b) {
14117 return __builtin_altivec_vcmpequb_p(
__CR6_LT_REV, (vector
char)__a,
14122 vector
bool char __b) {
14123 return __builtin_altivec_vcmpequb_p(
__CR6_LT_REV, (vector
char)__a,
14128 vector
short __b) {
14129 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, __a, __b);
14133 vector
bool short __b) {
14134 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, __a, (vector
short)__b);
14138 vector
unsigned short __b) {
14139 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, (vector
short)__a,
14140 (vector
short)__b);
14144 vector
bool short __b) {
14145 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, (vector
short)__a,
14146 (vector
short)__b);
14150 vector
short __b) {
14151 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, (vector
short)__a,
14152 (vector
short)__b);
14156 vector
unsigned short __b) {
14157 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, (vector
short)__a,
14158 (vector
short)__b);
14162 vector
bool short __b) {
14163 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, (vector
short)__a,
14164 (vector
short)__b);
14168 vector pixel __b) {
14169 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, (vector
short)__a,
14170 (vector
short)__b);
14174 return __builtin_altivec_vcmpequw_p(
__CR6_LT_REV, __a, __b);
14178 vector
bool int __b) {
14179 return __builtin_altivec_vcmpequw_p(
__CR6_LT_REV, __a, (vector
int)__b);
14183 vector
unsigned int __b) {
14184 return __builtin_altivec_vcmpequw_p(
__CR6_LT_REV, (vector
int)__a,
14189 vector
bool int __b) {
14190 return __builtin_altivec_vcmpequw_p(
__CR6_LT_REV, (vector
int)__a,
14196 return __builtin_altivec_vcmpequw_p(
__CR6_LT_REV, (vector
int)__a,
14201 vector
unsigned int __b) {
14202 return __builtin_altivec_vcmpequw_p(
__CR6_LT_REV, (vector
int)__a,
14207 vector
bool int __b) {
14208 return __builtin_altivec_vcmpequw_p(
__CR6_LT_REV, (vector
int)__a,
14212 #ifdef __POWER8_VECTOR__
14214 vector
signed long long __b) {
14215 return __builtin_altivec_vcmpequd_p(
__CR6_LT_REV, __a, __b);
14219 vector
unsigned long long __b) {
14220 return __builtin_altivec_vcmpequd_p(
__CR6_LT_REV, (vector
long long)__a,
14221 (vector
long long)__b);
14225 vector
bool long long __b) {
14226 return __builtin_altivec_vcmpequd_p(
__CR6_LT_REV, __a,
14227 (vector
signed long long)__b);
14231 vector
bool long long __b) {
14232 return __builtin_altivec_vcmpequd_p(
14233 __CR6_LT_REV, (vector
signed long long)__a, (vector
signed long long)__b);
14237 vector
signed long long __b) {
14238 return __builtin_altivec_vcmpequd_p(
14239 __CR6_LT_REV, (vector
signed long long)__a, (vector
signed long long)__b);
14243 vector
unsigned long long __b) {
14244 return __builtin_altivec_vcmpequd_p(
14245 __CR6_LT_REV, (vector
signed long long)__a, (vector
signed long long)__b);
14249 vector
bool long long __b) {
14250 return __builtin_altivec_vcmpequd_p(
14251 __CR6_LT_REV, (vector
signed long long)__a, (vector
signed long long)__b);
14256 vector
float __b) {
14258 return __builtin_vsx_xvcmpeqsp_p(
__CR6_LT_REV, __a, __b);
14260 return __builtin_altivec_vcmpeqfp_p(
__CR6_LT_REV, __a, __b);
14266 vector
double __b) {
14267 return __builtin_vsx_xvcmpeqdp_p(
__CR6_LT_REV, __a, __b);
14274 vec_any_nge(vector
float __a, vector
float __b) {
14275 return __builtin_altivec_vcmpgefp_p(
__CR6_LT_REV, __a, __b);
14281 vec_any_ngt(vector
float __a, vector
float __b) {
14282 return __builtin_altivec_vcmpgtfp_p(
__CR6_LT_REV, __a, __b);
14288 vec_any_nle(vector
float __a, vector
float __b) {
14289 return __builtin_altivec_vcmpgefp_p(
__CR6_LT_REV, __b, __a);
14295 vec_any_nlt(vector
float __a, vector
float __b) {
14296 return __builtin_altivec_vcmpgtfp_p(
__CR6_LT_REV, __b, __a);
14302 vec_any_numeric(vector
float __a) {
14303 return __builtin_altivec_vcmpeqfp_p(
__CR6_EQ_REV, __a, __a);
14309 vec_any_out(vector
float __a, vector
float __b) {
14310 return __builtin_altivec_vcmpbfp_p(
__CR6_EQ_REV, __a, __b);
14327 #define vec_sbox_be __builtin_altivec_crypto_vsbox
14328 #define vec_cipher_be __builtin_altivec_crypto_vcipher
14329 #define vec_cipherlast_be __builtin_altivec_crypto_vcipherlast
14330 #define vec_ncipher_be __builtin_altivec_crypto_vncipher
14331 #define vec_ncipherlast_be __builtin_altivec_crypto_vncipherlast
14333 static __inline__ vector
unsigned long long __attribute__((__always_inline__))
14334 __builtin_crypto_vsbox(vector
unsigned long long __a) {
14335 return __builtin_altivec_crypto_vsbox(__a);
14338 static __inline__ vector
unsigned long long __attribute__((__always_inline__))
14339 __builtin_crypto_vcipher(vector
unsigned long long __a,
14340 vector
unsigned long long __b) {
14341 return __builtin_altivec_crypto_vcipher(__a, __b);
14344 static __inline__ vector
unsigned long long __attribute__((__always_inline__))
14345 __builtin_crypto_vcipherlast(vector
unsigned long long __a,
14346 vector
unsigned long long __b) {
14347 return __builtin_altivec_crypto_vcipherlast(__a, __b);
14350 static __inline__ vector
unsigned long long __attribute__((__always_inline__))
14351 __builtin_crypto_vncipher(vector
unsigned long long __a,
14352 vector
unsigned long long __b) {
14353 return __builtin_altivec_crypto_vncipher(__a, __b);
14356 static __inline__ vector
unsigned long long __attribute__((__always_inline__))
14357 __builtin_crypto_vncipherlast(vector
unsigned long long __a,
14358 vector
unsigned long long __b) {
14359 return __builtin_altivec_crypto_vncipherlast(__a, __b);
14362 #define __builtin_crypto_vshasigmad __builtin_altivec_crypto_vshasigmad
14363 #define __builtin_crypto_vshasigmaw __builtin_altivec_crypto_vshasigmaw
14365 #define vec_shasigma_be(X, Y, Z) \
14366 _Generic((X), vector unsigned int \
14367 : __builtin_crypto_vshasigmaw, vector unsigned long long \
14368 : __builtin_crypto_vshasigmad)((X), (Y), (Z))
14371 #ifdef __POWER8_VECTOR__
14373 __builtin_crypto_vpermxor(vector
unsigned char __a, vector
unsigned char __b,
14374 vector
unsigned char __c) {
14375 return __builtin_altivec_crypto_vpermxor(__a, __b, __c);
14379 __builtin_crypto_vpermxor(vector
unsigned short __a, vector
unsigned short __b,
14380 vector
unsigned short __c) {
14381 return (vector
unsigned short)__builtin_altivec_crypto_vpermxor(
14382 (vector
unsigned char)__a, (vector
unsigned char)__b,
14383 (vector
unsigned char)__c);
14386 static __inline__ vector
unsigned int __ATTRS_o_ai __builtin_crypto_vpermxor(
14387 vector
unsigned int __a, vector
unsigned int __b, vector
unsigned int __c) {
14388 return (vector
unsigned int)__builtin_altivec_crypto_vpermxor(
14389 (vector
unsigned char)__a, (vector
unsigned char)__b,
14390 (vector
unsigned char)__c);
14393 static __inline__ vector
unsigned long long __ATTRS_o_ai
14394 __builtin_crypto_vpermxor(vector
unsigned long long __a,
14395 vector
unsigned long long __b,
14396 vector
unsigned long long __c) {
14397 return (vector
unsigned long long)__builtin_altivec_crypto_vpermxor(
14398 (vector
unsigned char)__a, (vector
unsigned char)__b,
14399 (vector
unsigned char)__c);
14403 __builtin_crypto_vpmsumb(vector
unsigned char __a, vector
unsigned char __b) {
14404 return __builtin_altivec_crypto_vpmsumb(__a, __b);
14408 __builtin_crypto_vpmsumb(vector
unsigned short __a, vector
unsigned short __b) {
14409 return __builtin_altivec_crypto_vpmsumh(__a, __b);
14413 __builtin_crypto_vpmsumb(vector
unsigned int __a, vector
unsigned int __b) {
14414 return __builtin_altivec_crypto_vpmsumw(__a, __b);
14417 static __inline__ vector
unsigned long long __ATTRS_o_ai
14418 __builtin_crypto_vpmsumb(vector
unsigned long long __a,
14419 vector
unsigned long long __b) {
14420 return __builtin_altivec_crypto_vpmsumd(__a, __b);
14424 vec_vgbbd(vector
signed char __a) {
14425 return __builtin_altivec_vgbbd((vector
unsigned char)__a);
14428 #define vec_pmsum_be __builtin_crypto_vpmsumb
14429 #define vec_gb __builtin_altivec_vgbbd
14432 vec_vgbbd(vector
unsigned char __a) {
14433 return __builtin_altivec_vgbbd(__a);
14437 vec_vbpermq(vector
signed char __a, vector
signed char __b) {
14438 return __builtin_altivec_vbpermq((vector
unsigned char)__a,
14439 (vector
unsigned char)__b);
14443 vec_vbpermq(vector
unsigned char __a, vector
unsigned char __b) {
14444 return __builtin_altivec_vbpermq(__a, __b);
14447 #ifdef __powerpc64__
14448 static __inline__ vector
unsigned long long __attribute__((__always_inline__))
14449 vec_bperm(vector
unsigned __int128 __a, vector
unsigned char __b) {
14450 return __builtin_altivec_vbpermq((vector
unsigned char)__a,
14451 (vector
unsigned char)__b);
14456 #undef __ATTRS_o_ai
static __inline__ vector int __ATTRS_o_ai vec_vupkhsh(vector short __a)
static __inline__ vector short __ATTRS_o_ai vec_vsrh(vector short __a, vector unsigned short __b)
static __inline__ void __ATTRS_o_ai vec_stvehx(vector short __a, int __b, short *__c)
static __inline__ vector signed char __ATTRS_o_ai vec_srl(vector signed char __a, vector unsigned char __b)
static __inline__ vector unsigned int __ATTRS_o_ai vec_vmaxuw(vector unsigned int __a, vector unsigned int __b)
static __inline__ vector signed char __ATTRS_o_ai vec_rl(vector signed char __a, vector unsigned char __b)
static __inline__ int __ATTRS_o_ai vec_any_le(vector signed char __a, vector signed char __b)
static __inline__ vector int __ATTRS_o_ai vec_sum4s(vector signed char __a, vector int __b)
static __inline__ vector int __ATTRS_o_ai vec_msums(vector short __a, vector short __b, vector int __c)
static __inline__ vector int __ATTRS_o_ai vec_vupklsh(vector short __a)
static __inline__ vector signed char __ATTRS_o_ai vec_packs(vector short __a, vector short __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vsr(vector signed char __a, vector unsigned char __b)
static __inline__ vector unsigned char __ATTRS_o_ai vec_vpkshus(vector short __a, vector short __b)
static __inline__ vector unsigned int __ATTRS_o_ai vec_vadduws(vector unsigned int __a, vector unsigned int __b)
static __inline__ vector unsigned int __ATTRS_o_ai vec_vminuw(vector unsigned int __a, vector unsigned int __b)
static __inline__ vector signed char __ATTRS_o_ai vec_ld(int __a, const vector signed char *__b)
static __inline__ vector float __ATTRS_o_ai vec_ceil(vector float __a)
static __inline__ vector float __ATTRS_o_ai vec_trunc(vector float __a)
static __inline__ vector int __ATTRS_o_ai vec_vsrw(vector int __a, vector unsigned int __b)
static __inline__ vector unsigned char __ATTRS_o_ai vec_packsu(vector short __a, vector short __b)
static __inline__ vector unsigned int __ATTRS_o_ai vec_vsubuws(vector unsigned int __a, vector unsigned int __b)
static __inline__ vector bool char __ATTRS_o_ai vec_cmple(vector signed char __a, vector signed char __b)
static __inline__ int __ATTRS_o_ai vec_any_eq(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vand(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vandc(vector signed char __a, vector signed char __b)
static __inline__ vector unsigned int __ATTRS_o_ai vec_ctu(vector float __a, int __b)
static __inline__ vector signed char __ATTRS_o_ai vec_sel(vector signed char __a, vector signed char __b, vector unsigned char __c)
static __inline__ vector int __ATTRS_o_ai vec_lvewx(int __a, const int *__b)
static __inline__ vector signed char __ATTRS_o_ai vec_vspltisb(signed char __a)
static __inline__ vector short __ATTRS_o_ai vec_vadduhm(vector short __a, vector short __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vperm(vector signed char __a, vector signed char __b, vector unsigned char __c)
static __inline__ vector signed char __ATTRS_o_ai vec_mergel(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_abss(vector signed char __a)
static __inline__ vector int __ATTRS_o_ai vec_cts(vector float __a, int __b)
static __inline__ vector signed char __ATTRS_o_ai vec_div(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_adds(vector signed char __a, vector signed char __b)
static __inline__ vector short __ATTRS_o_ai vec_mulo(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_lde(int __a, const signed char *__b)
static __inline__ vector signed char __ATTRS_o_ai vec_vsububm(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_nor(vector signed char __a, vector signed char __b)
static __inline__ vector unsigned short __ATTRS_o_ai vec_vadduhs(vector unsigned short __a, vector unsigned short __b)
static __inline__ vector signed char __ATTRS_o_ai vec_splat(vector signed char __a, unsigned const int __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vaddubm(vector signed char __a, vector signed char __b)
static __inline__ vector bool char __ATTRS_o_ai vec_cmplt(vector signed char __a, vector signed char __b)
static __inline__ void __ATTRS_o_ai vec_mtvscr(vector signed char __a)
static __inline__ vector signed char __ATTRS_o_ai vec_sll(vector signed char __a, vector unsigned char __b)
static __inline__ vector int __ATTRS_o_ai vec_vmrglw(vector int __a, vector int __b)
static __inline__ vector short __ATTRS_o_ai vec_vsubuhm(vector short __a, vector short __b)
static __inline__ vector signed char __ATTRS_o_ai vec_sr(vector signed char __a, vector unsigned char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vnor(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_and(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_add(vector signed char __a, vector signed char __b)
static __inline__ vector int __ATTRS_o_ai vec_msum(vector signed char __a, vector unsigned char __b, vector int __c)
static __inline__ int __ATTRS_o_ai vec_all_ge(vector signed char __a, vector signed char __b)
static __inline__ vector short __ATTRS_o_ai vec_vmrglh(vector short __a, vector short __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vsel(vector signed char __a, vector signed char __b, vector unsigned char __c)
static __inline__ int __ATTRS_o_ai vec_any_ne(vector signed char __a, vector signed char __b)
static __inline__ vector signed short __ATTRS_o_ai vec_mladd(vector signed short, vector signed short, vector signed short)
static __inline__ void __ATTRS_o_ai vec_stvewx(vector int __a, int __b, int *__c)
static __inline__ vector unsigned char __ATTRS_o_ai vec_xor(vector unsigned char __a, vector unsigned char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_sro(vector signed char __a, vector signed char __b)
static __inline__ vector short __ATTRS_o_ai vec_vsplth(vector short __a, unsigned char __b)
static __inline__ vector unsigned char __ATTRS_o_ai vec_lvsl(int __a, const signed char *__b)
static __inline__ vector signed char __ATTRS_o_ai vec_vminsb(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_lvrxl(int __a, const signed char *__b)
static __inline__ vector signed char __ATTRS_o_ai vec_vpkuhum(vector signed short __a, vector signed short __b)
static __inline__ vector float __ATTRS_o_ai vec_rsqrte(vector float __a)
static __inline__ int __ATTRS_o_ai vec_any_lt(vector signed char __a, vector signed char __b)
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_all_nge(vector float __a, vector float __b)
static __inline__ int __ATTRS_o_ai vec_all_gt(vector signed char __a, vector signed char __b)
static __inline__ vector unsigned char __ATTRS_o_ai vec_vmaxub(vector unsigned char __a, vector unsigned char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_subs(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_mul(vector signed char __a, vector signed char __b)
static __inline__ vector int __ATTRS_o_ai vec_vadduwm(vector int __a, vector int __b)
static __inline__ vector float __ATTRS_o_ai vec_floor(vector float __a)
static __inline__ vector signed char __ATTRS_o_ai vec_or(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__ int __ATTRS_o_ai vec_any_ge(vector signed char __a, vector signed char __b)
static __inline__ vector unsigned char __ATTRS_o_ai vec_vsububs(vector unsigned char __a, vector unsigned char __b)
static __inline__ vector short __ATTRS_o_ai vec_vaddshs(vector short __a, vector short __b)
static __inline__ vector signed char __ATTRS_o_ai vec_slo(vector signed char __a, vector signed char __b)
static __inline__ vector unsigned short __ATTRS_o_ai vec_vpkswus(vector int __a, vector int __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vsrab(vector signed char __a, vector unsigned char __b)
static __inline__ vector bool char __ATTRS_o_ai vec_cmpeq(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_splats(signed char __a)
static __inline__ void __ATTRS_o_ai vec_stvlx(vector signed char __a, int __b, signed char *__c)
static __inline__ vector signed char __ATTRS_o_ai vec_sub(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_sra(vector signed char __a, vector unsigned char __b)
static __inline__ void __ATTRS_o_ai vec_stvx(vector signed char __a, int __b, vector signed char *__c)
static __inline__ vector int __ATTRS_o_ai vec_vmrghw(vector int __a, vector int __b)
static __inline__ vector int __ATTRS_o_ai vec_vspltw(vector int __a, unsigned char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_max(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vmaxsb(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vor(vector signed char __a, vector signed char __b)
static __inline__ vector int __ATTRS_o_ai vec_vminsw(vector int __a, vector int __b)
static __inline__ vector unsigned short __ATTRS_o_ai vec_vmaxuh(vector unsigned short __a, vector unsigned short __b)
static __inline__ vector short __ATTRS_o_ai vec_vslh(vector short __a, vector unsigned short __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vmrglb(vector signed char __a, vector signed char __b)
static __inline__ vector float vector float __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 char __ATTRS_o_ai vec_sl(vector signed char __a, vector unsigned char __b)
static __inline__ void __ATTRS_o_ai vec_stvlxl(vector signed char __a, int __b, signed char *__c)
static __inline__ vector short __ATTRS_o_ai vec_vupklsb(vector signed char __a)
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_vsl(vector signed char __a, vector unsigned char __b)
static __inline__ vector short __ATTRS_o_ai vec_unpackh(vector signed char __a)
static __inline__ int __ATTRS_o_ai vec_all_ne(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__ vector int __ATTRS_o_ai vec_vsraw(vector int __a, vector unsigned int __b)
static __inline__ vector signed char __ATTRS_o_ai vec_lvrx(int __a, const signed char *__b)
static __inline__ vector signed char __ATTRS_o_ai vec_vmrghb(vector signed char __a, vector signed char __b)
static __inline__ vector short __ATTRS_o_ai vec_vmladduhm(vector short __a, vector short __b, vector short __c)
static __inline__ vector unsigned short __ATTRS_o_ai vec_vminuh(vector unsigned short __a, vector unsigned short __b)
static __inline__ vector signed char __ATTRS_o_ai vec_lvlxl(int __a, const signed char *__b)
static __inline__ vector short __ATTRS_o_ai vec_lvehx(int __a, const short *__b)
static __inline__ vector signed char __ATTRS_o_ai vec_vslo(vector signed char __a, vector signed char __b)
static __inline__ vector unsigned char __ATTRS_o_ai vec_vaddubs(vector unsigned char __a, vector unsigned char __b)
static __inline__ vector short __ATTRS_o_ai vec_vsrah(vector short __a, vector unsigned short __b)
static __inline__ vector int __ATTRS_o_ai vec_splat_s32(signed char __a)
static __inline__ vector signed char __ATTRS_o_ai vec_splat_s8(signed char __a)
static __inline__ vector signed char __ATTRS_o_ai vec_vslb(vector signed char __a, vector unsigned char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_lvxl(int __a, const vector signed char *__b)
static __inline__ vector signed int __ATTRS_o_ai vec_addc(vector signed int __a, vector signed int __b)
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_vspltb(vector signed char __a, unsigned char __b)
static __inline__ vector float __ATTRS_o_ai vec_nmsub(vector float __a, vector float __b, vector float __c)
static __inline__ vector signed char __ATTRS_o_ai vec_vxor(vector signed char __a, vector signed char __b)
static __inline__ vector unsigned char __ATTRS_o_ai vec_splat_u8(unsigned char __a)
static __inline__ vector unsigned short __ATTRS_o_ai vec_splat_u16(signed char __a)
static __inline__ vector unsigned char __ATTRS_o_ai vec_vminub(vector unsigned char __a, vector unsigned char __b)
static __inline__ vector short __ATTRS_o_ai vec_vupkhsb(vector signed char __a)
static __inline__ void __ATTRS_o_ai vec_stl(vector signed char __a, int __b, vector signed char *__c)
static __inline__ void __ATTRS_o_ai vec_stvrxl(vector signed char __a, int __b, signed char *__c)
static __inline__ vector signed char __ATTRS_o_ai vec_promote(signed char __a, int __b)
static __inline__ void __ATTRS_o_ai vec_st(vector signed char __a, int __b, vector signed char *__c)
static __inline__ void __ATTRS_o_ai vec_ste(vector signed char __a, int __b, signed char *__c)
static __inline__ vector signed char __ATTRS_o_ai vec_avg(vector signed char __a, vector signed char __b)
static __inline__ vector unsigned int __ATTRS_o_ai vec_splat_u32(signed char __a)
static __inline__ int __ATTRS_o_ai vec_any_gt(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_lvlx(int __a, const signed char *__b)
static __inline__ vector short __ATTRS_o_ai vec_vminsh(vector short __a, vector short __b)
static __inline__ vector int __ATTRS_o_ai vec_vsubuwm(vector int __a, vector int __b)
static __inline__ vector short __ATTRS_o_ai vec_vmaxsh(vector short __a, vector short __b)
static __inline__ vector signed char __ATTRS_o_ai vec_pack(vector signed short __a, vector signed short __b)
static __inline__ vector float __ATTRS_o_ai vec_re(vector float __a)
static __inline__ vector unsigned short __ATTRS_o_ai vec_vsubuhs(vector unsigned short __a, vector unsigned short __b)
static __inline__ vector short __ATTRS_o_ai vec_mule(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vsro(vector signed char __a, vector signed char __b)
static __inline__ vector short __ATTRS_o_ai vec_vspltish(signed char __a)
static __inline__ vector int __ATTRS_o_ai vec_vspltisw(signed char __a)
static __inline__ vector signed char __ATTRS_o_ai vec_ldl(int __a, const vector signed char *__b)
static __inline__ signed char __ATTRS_o_ai vec_extract(vector signed char __a, int __b)
static __inline__ vector float __attribute__((__always_inline__)) vec_vaddfp(vector float __a
static __inline__ vector signed char __ATTRS_o_ai vec_lvebx(int __a, const signed char *__b)
static __inline__ void __ATTRS_o_ai vec_stvebx(vector signed char __a, int __b, signed char *__c)
static __inline__ vector int __ATTRS_o_ai vec_vrlw(vector int __a, vector unsigned int __b)
static __inline__ int __ATTRS_o_ai vec_all_nan(vector float __a)
static __inline__ vector signed char __ATTRS_o_ai vec_sld(vector signed char __a, vector signed char __b, unsigned const int __c)
static __inline__ void __ATTRS_o_ai vec_stvrx(vector signed char __a, int __b, signed char *__c)
static __inline__ vector short __ATTRS_o_ai vec_vrlh(vector short __a, vector unsigned short __b)
static __inline__ vector int __ATTRS_o_ai vec_vmaxsw(vector int __a, vector int __b)
static __inline__ vector short __ATTRS_o_ai vec_vmrghh(vector short __a, vector short __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vsrb(vector signed char __a, vector unsigned char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_abs(vector signed char __a)
static __inline__ vector signed char __ATTRS_o_ai vec_lvx(int __a, const vector signed char *__b)
static __inline__ vector float __ATTRS_o_ai vec_ctf(vector int __a, int __b)
static __inline__ vector float __ATTRS_o_ai vec_round(vector float __a)
static __inline__ vector short __ATTRS_o_ai vec_unpackl(vector signed char __a)
static __inline__ void __ATTRS_o_ai vec_stvxl(vector signed char __a, int __b, vector signed char *__c)
static __inline__ int __ATTRS_o_ai vec_all_ngt(vector float __a, vector float __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vsldoi(vector signed char __a, vector signed char __b, unsigned char __c)
static __inline__ int __ATTRS_o_ai vec_all_le(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vsubsbs(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_mergeh(vector signed char __a, vector signed char __b)
static __inline__ vector short __ATTRS_o_ai vec_splat_s16(signed char __a)
static __inline__ vector int __ATTRS_o_ai vec_vslw(vector int __a, vector unsigned int __b)
static __inline__ vector signed char __ATTRS_o_ai vec_min(vector signed char __a, vector signed char __b)
static __inline__ vector short __ATTRS_o_ai vec_vsubshs(vector short __a, vector short __b)
static __inline__ vector float vector float vector float __c
static __inline__ vector unsigned int __ATTRS_o_ai vec_subc(vector unsigned int __a, vector unsigned int __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vrlb(vector signed char __a, vector unsigned char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_vaddsbs(vector signed char __a, vector signed char __b)
static __inline__ vector unsigned char __ATTRS_o_ai vec_lvsr(int __a, const signed char *__b)
static __inline__ vector int __ATTRS_o_ai vec_vaddsws(vector int __a, vector int __b)
static __inline__ vector short __ATTRS_o_ai vec_vpkuwum(vector int __a, vector int __b)
static __inline__ int __ATTRS_o_ai vec_all_eq(vector signed char __a, vector signed char __b)
static __inline__ vector int __ATTRS_o_ai vec_vsubsws(vector int __a, vector int __b)