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 __b,
41 vector
unsigned char __c);
44 vector
unsigned char __b,
45 vector
unsigned char __c);
49 vector
unsigned char __c);
52 vector
signed short __b,
53 vector
unsigned char __c);
56 vector
unsigned short __b,
57 vector
unsigned char __c);
60 vector
bool short __b,
61 vector
unsigned char __c);
64 vector
unsigned char __c);
67 vector
signed int __b,
68 vector
unsigned char __c);
71 vector
unsigned int __b,
72 vector
unsigned char __c);
76 vector
unsigned char __c);
79 vector
unsigned char __c);
83 vector
signed long long __b,
84 vector
unsigned char __c);
87 vec_perm(vector
unsigned long long __a, vector
unsigned long long __b,
88 vector
unsigned char __c);
91 vec_perm(vector
bool long long __a, vector
bool long long __b,
92 vector
unsigned char __c);
95 vector
unsigned char __c);
99 vector
unsigned char __b);
103 #define __builtin_altivec_abs_v16qi vec_abs
104 #define __builtin_altivec_abs_v8hi vec_abs
105 #define __builtin_altivec_abs_v4si vec_abs
108 return __builtin_altivec_vmaxsb(__a, -__a);
112 return __builtin_altivec_vmaxsh(__a, -__a);
116 return __builtin_altivec_vmaxsw(__a, -__a);
119 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
121 vec_abs(vector
signed long long __a) {
122 return __builtin_altivec_vmaxsd(__a, -__a);
127 vector
unsigned int __res =
128 (vector
unsigned int)__a & (vector
unsigned int)(0x7FFFFFFF);
129 return (vector
float)__res;
132 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
134 vector
unsigned long long __res = { 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF };
135 __res &= (vector
unsigned int)__a;
136 return (vector
double)__res;
141 #define __builtin_altivec_abss_v16qi vec_abss
142 #define __builtin_altivec_abss_v8hi vec_abss
143 #define __builtin_altivec_abss_v4si vec_abss
146 return __builtin_altivec_vmaxsb(
147 __a, __builtin_altivec_vsubsbs((vector
signed char)(0), __a));
151 return __builtin_altivec_vmaxsh(
152 __a, __builtin_altivec_vsubshs((vector
signed short)(0), __a));
156 return __builtin_altivec_vmaxsw(
157 __a, __builtin_altivec_vsubsws((vector
signed int)(0), __a));
163 vector
signed char __b) {
168 vector
signed char __b) {
169 return (vector
signed char)__a +
__b;
173 vector
bool char __b) {
174 return __a + (vector
signed char)__b;
178 vector
unsigned char __b) {
183 vector
unsigned char __b) {
184 return (vector
unsigned char)__a +
__b;
188 vector
bool char __b) {
189 return __a + (vector
unsigned char)__b;
198 return (vector
short)__a +
__b;
202 vector
bool short __b) {
203 return __a + (vector short)__b;
207 vector
unsigned short __b) {
212 vector
unsigned short __b) {
213 return (vector
unsigned short)__a +
__b;
217 vector
bool short __b) {
218 return __a + (vector
unsigned short)__b;
226 return (vector
int)__a +
__b;
230 return __a + (vector int)__b;
234 vector
unsigned int __b) {
239 vector
unsigned int __b) {
240 return (vector
unsigned int)__a +
__b;
244 vector
bool int __b) {
245 return __a + (vector
unsigned int)__b;
248 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
250 vec_add(vector
signed long long __a, vector
signed long long __b) {
255 vec_add(vector
unsigned long long __a, vector
unsigned long long __b) {
260 vector
signed __int128
__b) {
265 vec_add(vector
unsigned __int128 __a, vector
unsigned __int128
__b) {
268 #endif // defined(__POWER8_VECTOR__) && defined(__powerpc64__)
276 vec_add(vector
double __a, vector
double __b) {
283 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
285 vec_adde(vector
signed __int128 __a, vector
signed __int128
__b,
286 vector
signed __int128
__c) {
287 return __builtin_altivec_vaddeuqm(__a, __b, __c);
291 vec_adde(vector
unsigned __int128 __a, vector
unsigned __int128
__b,
292 vector
unsigned __int128
__c) {
293 return __builtin_altivec_vaddeuqm(__a, __b, __c);
299 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
301 vec_addec(vector
signed __int128 __a, vector
signed __int128
__b,
302 vector
signed __int128
__c) {
303 return __builtin_altivec_vaddecuq(__a, __b, __c);
307 vec_addec(vector
unsigned __int128 __a, vector
unsigned __int128
__b,
308 vector
unsigned __int128
__c) {
309 return __builtin_altivec_vaddecuq(__a, __b, __c);
315 #define __builtin_altivec_vaddubm vec_vaddubm
318 vector
signed char __b) {
323 vector
signed char __b) {
324 return (vector
signed char)__a +
__b;
328 vector
bool char __b) {
329 return __a + (vector
signed char)__b;
333 vector
unsigned char __b) {
338 vector
unsigned char __b) {
339 return (vector
unsigned char)__a +
__b;
343 vector
bool char __b) {
344 return __a + (vector
unsigned char)__b;
349 #define __builtin_altivec_vadduhm vec_vadduhm
358 return (vector
short)__a +
__b;
362 vector
bool short __b) {
363 return __a + (vector short)__b;
373 return (vector
unsigned short)__a +
__b;
377 vector
bool short __b) {
378 return __a + (vector
unsigned short)__b;
383 #define __builtin_altivec_vadduwm vec_vadduwm
391 return (vector
int)__a +
__b;
395 vector
bool int __b) {
396 return __a + (vector int)__b;
400 vector
unsigned int __b) {
405 vector
unsigned int __b) {
406 return (vector
unsigned int)__a +
__b;
410 vector
bool int __b) {
411 return __a + (vector
unsigned int)__b;
416 #define __builtin_altivec_vaddfp vec_vaddfp
419 vec_vaddfp(vector
float __a, vector
float __b) {
426 vector
signed int __b) {
427 return (vector
signed int)__builtin_altivec_vaddcuw((vector
unsigned int)__a,
428 (vector
unsigned int)__b);
432 vector
unsigned int __b) {
433 return __builtin_altivec_vaddcuw(__a, __b);
436 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
438 vec_addc(vector
signed __int128 __a, vector
signed __int128
__b) {
439 return (vector
signed __int128)__builtin_altivec_vaddcuq(
440 (vector
unsigned __int128)__a,
441 (vector
unsigned __int128)__b);
445 vec_addc(vector
unsigned __int128 __a, vector
unsigned __int128 __b) {
446 return __builtin_altivec_vaddcuq(__a, __b);
448 #endif // defined(__POWER8_VECTOR__) && defined(__powerpc64__)
452 static vector
unsigned int __attribute__((__always_inline__))
453 vec_vaddcuw(vector
unsigned int __a, vector
unsigned int __b) {
454 return __builtin_altivec_vaddcuw(__a, __b);
460 vector
signed char __b) {
461 return __builtin_altivec_vaddsbs(__a, __b);
465 vector
signed char __b) {
466 return __builtin_altivec_vaddsbs((vector
signed char)__a, __b);
470 vector
bool char __b) {
471 return __builtin_altivec_vaddsbs(__a, (vector
signed char)__b);
475 vector
unsigned char __b) {
476 return __builtin_altivec_vaddubs(__a, __b);
480 vector
unsigned char __b) {
481 return __builtin_altivec_vaddubs((vector
unsigned char)__a, __b);
485 vector
bool char __b) {
486 return __builtin_altivec_vaddubs(__a, (vector
unsigned char)__b);
490 return __builtin_altivec_vaddshs(__a, __b);
495 return __builtin_altivec_vaddshs((vector
short)__a, __b);
499 vector
bool short __b) {
500 return __builtin_altivec_vaddshs(__a, (vector
short)__b);
504 vector
unsigned short __b) {
505 return __builtin_altivec_vadduhs(__a, __b);
509 vector
unsigned short __b) {
510 return __builtin_altivec_vadduhs((vector
unsigned short)__a, __b);
514 vector
bool short __b) {
515 return __builtin_altivec_vadduhs(__a, (vector
unsigned short)__b);
519 return __builtin_altivec_vaddsws(__a, __b);
523 return __builtin_altivec_vaddsws((vector
int)__a, __b);
527 return __builtin_altivec_vaddsws(__a, (vector
int)__b);
531 vector
unsigned int __b) {
532 return __builtin_altivec_vadduws(__a, __b);
536 vector
unsigned int __b) {
537 return __builtin_altivec_vadduws((vector
unsigned int)__a, __b);
541 vector
bool int __b) {
542 return __builtin_altivec_vadduws(__a, (vector
unsigned int)__b);
548 vector
signed char __b) {
549 return __builtin_altivec_vaddsbs(__a, __b);
553 vector
signed char __b) {
554 return __builtin_altivec_vaddsbs((vector
signed char)__a, __b);
558 vector
bool char __b) {
559 return __builtin_altivec_vaddsbs(__a, (vector
signed char)__b);
565 vector
unsigned char __b) {
566 return __builtin_altivec_vaddubs(__a, __b);
570 vector
unsigned char __b) {
571 return __builtin_altivec_vaddubs((vector
unsigned char)__a, __b);
575 vector
bool char __b) {
576 return __builtin_altivec_vaddubs(__a, (vector
unsigned char)__b);
583 return __builtin_altivec_vaddshs(__a, __b);
588 return __builtin_altivec_vaddshs((vector
short)__a, __b);
592 vector
bool short __b) {
593 return __builtin_altivec_vaddshs(__a, (vector
short)__b);
599 vec_vadduhs(vector
unsigned short __a, vector
unsigned short __b) {
600 return __builtin_altivec_vadduhs(__a, __b);
605 return __builtin_altivec_vadduhs((vector
unsigned short)__a, __b);
609 vector
bool short __b) {
610 return __builtin_altivec_vadduhs(__a, (vector
unsigned short)__b);
616 return __builtin_altivec_vaddsws(__a, __b);
621 return __builtin_altivec_vaddsws((vector
int)__a, __b);
625 vector
bool int __b) {
626 return __builtin_altivec_vaddsws(__a, (vector
int)__b);
632 vector
unsigned int __b) {
633 return __builtin_altivec_vadduws(__a, __b);
637 vector
unsigned int __b) {
638 return __builtin_altivec_vadduws((vector
unsigned int)__a, __b);
642 vector
bool int __b) {
643 return __builtin_altivec_vadduws(__a, (vector
unsigned int)__b);
646 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
650 vec_vadduqm(vector
signed __int128 __a, vector
signed __int128 __b) {
655 vec_vadduqm(vector
unsigned __int128 __a, vector
unsigned __int128 __b) {
662 vec_vaddeuqm(vector
signed __int128 __a, vector
signed __int128 __b,
663 vector
signed __int128
__c) {
664 return __builtin_altivec_vaddeuqm(__a, __b, __c);
668 vec_vaddeuqm(vector
unsigned __int128 __a, vector
unsigned __int128 __b,
669 vector
unsigned __int128
__c) {
670 return __builtin_altivec_vaddeuqm(__a, __b, __c);
676 vec_vaddcuq(vector
signed __int128 __a, vector
signed __int128 __b) {
677 return __builtin_altivec_vaddcuq(__a, __b);
681 vec_vaddcuq(vector
unsigned __int128 __a, vector
unsigned __int128 __b) {
682 return __builtin_altivec_vaddcuq(__a, __b);
688 vec_vaddecuq(vector
signed __int128 __a, vector
signed __int128 __b,
689 vector
signed __int128
__c) {
690 return __builtin_altivec_vaddecuq(__a, __b, __c);
694 vec_vaddecuq(vector
unsigned __int128 __a, vector
unsigned __int128 __b,
695 vector
unsigned __int128
__c) {
696 return __builtin_altivec_vaddecuq(__a, __b, __c);
698 #endif // defined(__POWER8_VECTOR__) && defined(__powerpc64__)
702 #define __builtin_altivec_vand vec_and
705 vector
signed char __b) {
710 vector
signed char __b) {
711 return (vector
signed char)__a &
__b;
715 vector
bool char __b) {
716 return __a & (vector
signed char)__b;
720 vector
unsigned char __b) {
725 vector
unsigned char __b) {
726 return (vector
unsigned char)__a &
__b;
730 vector
bool char __b) {
731 return __a & (vector
unsigned char)__b;
735 vector
bool char __b) {
745 return (vector
short)__a &
__b;
749 vector
bool short __b) {
750 return __a & (vector short)__b;
754 vector
unsigned short __b) {
759 vector
unsigned short __b) {
760 return (vector
unsigned short)__a &
__b;
764 vector
bool short __b) {
765 return __a & (vector
unsigned short)__b;
769 vector
bool short __b) {
778 return (vector
int)__a &
__b;
782 return __a & (vector int)__b;
786 vector
unsigned int __b) {
791 vector
unsigned int __b) {
792 return (vector
unsigned int)__a &
__b;
796 vector
bool int __b) {
797 return __a & (vector
unsigned int)__b;
801 vector
bool int __b) {
806 vector
unsigned int __res =
807 (vector
unsigned int)__a & (vector
unsigned int)
__b;
808 return (vector
float)__res;
813 vector
unsigned int __res =
814 (vector
unsigned int)__a & (vector
unsigned int)
__b;
815 return (vector
float)__res;
819 vector
bool int __b) {
820 vector
unsigned int __res =
821 (vector
unsigned int)__a & (vector
unsigned int)
__b;
822 return (vector
float)__res;
827 vector
unsigned long long __res =
828 (vector
unsigned long long)__a & (vector
unsigned long long)
__b;
829 return (vector
double)__res;
833 vector
unsigned long long __res =
834 (vector
unsigned long long)__a & (vector
unsigned long long)
__b;
835 return (vector
double)__res;
839 vector
unsigned long long __res =
840 (vector
unsigned long long)__a & (vector
unsigned long long)
__b;
841 return (vector
double)__res;
845 vec_and(vector
signed long long __a, vector
signed long long __b) {
850 vec_and(vector
bool long long __a, vector
signed long long __b) {
851 return (vector
signed long long)__a &
__b;
855 vector
bool long long __b) {
856 return __a & (vector
signed long long)__b;
860 vec_and(vector
unsigned long long __a, vector
unsigned long long __b) {
865 vec_and(vector
bool long long __a, vector
unsigned long long __b) {
866 return (vector
unsigned long long)__a &
__b;
870 vec_and(vector
unsigned long long __a, vector
bool long long __b) {
871 return __a & (vector
unsigned long long)__b;
875 vector
bool long long __b) {
883 vector
signed char __b) {
888 vector
signed char __b) {
889 return (vector
signed char)__a &
__b;
893 vector
bool char __b) {
894 return __a & (vector
signed char)__b;
898 vector
unsigned char __b) {
903 vector
unsigned char __b) {
904 return (vector
unsigned char)__a &
__b;
908 vector
bool char __b) {
909 return __a & (vector
unsigned char)__b;
913 vector
bool char __b) {
923 return (vector
short)__a &
__b;
927 vector
bool short __b) {
928 return __a & (vector short)__b;
932 vector
unsigned short __b) {
937 vector
unsigned short __b) {
938 return (vector
unsigned short)__a &
__b;
942 vector
bool short __b) {
943 return __a & (vector
unsigned short)__b;
947 vector
bool short __b) {
956 return (vector
int)__a &
__b;
960 return __a & (vector int)__b;
964 vector
unsigned int __b) {
969 vector
unsigned int __b) {
970 return (vector
unsigned int)__a &
__b;
974 vector
bool int __b) {
975 return __a & (vector
unsigned int)__b;
979 vector
bool int __b) {
984 vector
unsigned int __res =
985 (vector
unsigned int)__a & (vector
unsigned int)
__b;
986 return (vector
float)__res;
991 vector
unsigned int __res =
992 (vector
unsigned int)__a & (vector
unsigned int)
__b;
993 return (vector
float)__res;
997 vector
bool int __b) {
998 vector
unsigned int __res =
999 (vector
unsigned int)__a & (vector
unsigned int)
__b;
1000 return (vector
float)__res;
1005 vec_vand(vector
signed long long __a, vector
signed long long __b) {
1010 vec_vand(vector
bool long long __a, vector
signed long long __b) {
1011 return (vector
signed long long)__a &
__b;
1015 vec_vand(vector
signed long long __a, vector
bool long long __b) {
1016 return __a & (vector
signed long long)__b;
1020 vec_vand(vector
unsigned long long __a, vector
unsigned long long __b) {
1025 vec_vand(vector
bool long long __a, vector
unsigned long long __b) {
1026 return (vector
unsigned long long)__a &
__b;
1030 vec_vand(vector
unsigned long long __a, vector
bool long long __b) {
1031 return __a & (vector
unsigned long long)__b;
1035 vector
bool long long __b) {
1042 #define __builtin_altivec_vandc vec_andc
1045 vector
signed char __b) {
1050 vector
signed char __b) {
1051 return (vector
signed char)__a & ~__b;
1055 vector
bool char __b) {
1056 return __a & ~(vector
signed char)__b;
1060 vector
unsigned char __b) {
1065 vector
unsigned char __b) {
1066 return (vector
unsigned char)__a & ~__b;
1070 vector
bool char __b) {
1071 return __a & ~(vector
unsigned char)__b;
1075 vector
bool char __b) {
1085 return (vector
short)__a & ~__b;
1089 vector
bool short __b) {
1090 return __a & ~(vector short)__b;
1094 vector
unsigned short __b) {
1099 vector
unsigned short __b) {
1100 return (vector
unsigned short)__a & ~__b;
1104 vector
bool short __b) {
1105 return __a & ~(vector
unsigned short)__b;
1109 vector
bool short __b) {
1118 return (vector
int)__a & ~__b;
1122 return __a & ~(vector int)__b;
1126 vector
unsigned int __b) {
1131 vector
unsigned int __b) {
1132 return (vector
unsigned int)__a & ~__b;
1136 vector
bool int __b) {
1137 return __a & ~(vector
unsigned int)__b;
1141 vector
bool int __b) {
1146 vector
unsigned int __res =
1147 (vector
unsigned int)__a & ~(vector
unsigned int)
__b;
1148 return (vector
float)__res;
1153 vector
unsigned int __res =
1154 (vector
unsigned int)__a & ~(vector
unsigned int)
__b;
1155 return (vector
float)__res;
1159 vector
bool int __b) {
1160 vector
unsigned int __res =
1161 (vector
unsigned int)__a & ~(vector
unsigned int)
__b;
1162 return (vector
float)__res;
1167 vec_andc(vector
bool long long __a, vector
double __b) {
1168 vector
unsigned long long __res =
1169 (vector
unsigned long long)__a & ~(vector
unsigned long long)
__b;
1170 return (vector
double)__res;
1174 vec_andc(vector
double __a, vector
bool long long __b) {
1175 vector
unsigned long long __res =
1176 (vector
unsigned long long)__a & ~(vector
unsigned long long)
__b;
1177 return (vector
double)__res;
1181 vector
unsigned long long __res =
1182 (vector
unsigned long long)__a & ~(vector
unsigned long long)
__b;
1183 return (vector
double)__res;
1187 vec_andc(vector
signed long long __a, vector
signed long long __b) {
1192 vec_andc(vector
bool long long __a, vector
signed long long __b) {
1193 return (vector
signed long long)__a & ~__b;
1197 vec_andc(vector
signed long long __a, vector
bool long long __b) {
1198 return __a & ~(vector
signed long long)__b;
1202 vec_andc(vector
unsigned long long __a, vector
unsigned long long __b) {
1207 vec_andc(vector
bool long long __a, vector
unsigned long long __b) {
1208 return (vector
unsigned long long)__a & ~__b;
1212 vec_andc(vector
unsigned long long __a, vector
bool long long __b) {
1213 return __a & ~(vector
unsigned long long)__b;
1217 vector
bool long long __b) {
1225 vector
signed char __b) {
1230 vector
signed char __b) {
1231 return (vector
signed char)__a & ~__b;
1235 vector
bool char __b) {
1236 return __a & ~(vector
signed char)__b;
1240 vector
unsigned char __b) {
1245 vector
unsigned char __b) {
1246 return (vector
unsigned char)__a & ~__b;
1250 vector
bool char __b) {
1251 return __a & ~(vector
unsigned char)__b;
1255 vector
bool char __b) {
1265 return (vector
short)__a & ~__b;
1269 vector
bool short __b) {
1270 return __a & ~(vector short)__b;
1274 vector
unsigned short __b) {
1279 vector
unsigned short __b) {
1280 return (vector
unsigned short)__a & ~__b;
1284 vector
bool short __b) {
1285 return __a & ~(vector
unsigned short)__b;
1289 vector
bool short __b) {
1298 return (vector
int)__a & ~__b;
1302 return __a & ~(vector int)__b;
1306 vector
unsigned int __b) {
1311 vector
unsigned int __b) {
1312 return (vector
unsigned int)__a & ~__b;
1316 vector
bool int __b) {
1317 return __a & ~(vector
unsigned int)__b;
1321 vector
bool int __b) {
1326 vector
unsigned int __res =
1327 (vector
unsigned int)__a & ~(vector
unsigned int)
__b;
1328 return (vector
float)__res;
1333 vector
unsigned int __res =
1334 (vector
unsigned int)__a & ~(vector
unsigned int)
__b;
1335 return (vector
float)__res;
1339 vector
bool int __b) {
1340 vector
unsigned int __res =
1341 (vector
unsigned int)__a & ~(vector
unsigned int)
__b;
1342 return (vector
float)__res;
1347 vec_vandc(vector
signed long long __a, vector
signed long long __b) {
1352 vec_vandc(vector
bool long long __a, vector
signed long long __b) {
1353 return (vector
signed long long)__a & ~__b;
1357 vec_vandc(vector
signed long long __a, vector
bool long long __b) {
1358 return __a & ~(vector
signed long long)__b;
1362 vec_vandc(vector
unsigned long long __a, vector
unsigned long long __b) {
1367 vec_vandc(vector
bool long long __a, vector
unsigned long long __b) {
1368 return (vector
unsigned long long)__a & ~__b;
1372 vec_vandc(vector
unsigned long long __a, vector
bool long long __b) {
1373 return __a & ~(vector
unsigned long long)__b;
1377 vector
bool long long __b) {
1385 vector
signed char __b) {
1386 return __builtin_altivec_vavgsb(__a, __b);
1390 vector
unsigned char __b) {
1391 return __builtin_altivec_vavgub(__a, __b);
1395 return __builtin_altivec_vavgsh(__a, __b);
1399 vector
unsigned short __b) {
1400 return __builtin_altivec_vavguh(__a, __b);
1404 return __builtin_altivec_vavgsw(__a, __b);
1408 vector
unsigned int __b) {
1409 return __builtin_altivec_vavguw(__a, __b);
1414 static vector
signed char __attribute__((__always_inline__))
1415 vec_vavgsb(vector
signed char __a, vector
signed char __b) {
1416 return __builtin_altivec_vavgsb(__a, __b);
1421 static vector
unsigned char __attribute__((__always_inline__))
1422 vec_vavgub(vector
unsigned char __a, vector
unsigned char __b) {
1423 return __builtin_altivec_vavgub(__a, __b);
1429 vec_vavgsh(vector
short __a, vector
short __b) {
1430 return __builtin_altivec_vavgsh(__a, __b);
1435 static vector
unsigned short __attribute__((__always_inline__))
1436 vec_vavguh(vector
unsigned short __a, vector
unsigned short __b) {
1437 return __builtin_altivec_vavguh(__a, __b);
1443 vec_vavgsw(vector
int __a, vector
int __b) {
1444 return __builtin_altivec_vavgsw(__a, __b);
1449 static vector
unsigned int __attribute__((__always_inline__))
1450 vec_vavguw(vector
unsigned int __a, vector
unsigned int __b) {
1451 return __builtin_altivec_vavguw(__a, __b);
1458 return __builtin_vsx_xvrspip(__a);
1460 return __builtin_altivec_vrfip(__a);
1466 return __builtin_vsx_xvrdpip(__a);
1473 vec_vrfip(vector
float __a) {
1474 return __builtin_altivec_vrfip(__a);
1480 vec_cmpb(vector
float __a, vector
float __b) {
1481 return __builtin_altivec_vcmpbfp(__a, __b);
1487 vec_vcmpbfp(vector
float __a, vector
float __b) {
1488 return __builtin_altivec_vcmpbfp(__a, __b);
1494 vector
signed char __b) {
1495 return (vector
bool char)__builtin_altivec_vcmpequb((vector
char)__a,
1500 vector
unsigned char __b) {
1501 return (vector
bool char)__builtin_altivec_vcmpequb((vector
char)__a,
1507 return (vector
bool short)__builtin_altivec_vcmpequh(__a, __b);
1511 vector
unsigned short __b) {
1512 return (vector
bool short)__builtin_altivec_vcmpequh((vector
short)__a,
1517 return (vector
bool int)__builtin_altivec_vcmpequw(__a, __b);
1521 vector
unsigned int __b) {
1522 return (vector
bool int)__builtin_altivec_vcmpequw((vector
int)__a,
1526 #ifdef __POWER8_VECTOR__
1528 vec_cmpeq(vector
signed long long __a, vector
signed long long __b) {
1529 return (vector
bool long long)__builtin_altivec_vcmpequd(__a, __b);
1533 vec_cmpeq(vector
unsigned long long __a, vector
unsigned long long __b) {
1534 return (vector
bool long long)__builtin_altivec_vcmpequd(
1535 (vector
long long)__a, (vector
long long)__b);
1542 return (vector
bool int)__builtin_vsx_xvcmpeqsp(__a, __b);
1544 return (vector
bool int)__builtin_altivec_vcmpeqfp(__a, __b);
1550 vec_cmpeq(vector
double __a, vector
double __b) {
1551 return (vector
bool long long)__builtin_vsx_xvcmpeqdp(__a, __b);
1559 vector
signed char __b) {
1560 return (vector
bool char)__builtin_altivec_vcmpgtsb(__a, __b);
1564 vector
unsigned char __b) {
1565 return (vector
bool char)__builtin_altivec_vcmpgtub(__a, __b);
1570 return (vector
bool short)__builtin_altivec_vcmpgtsh(__a, __b);
1574 vector
unsigned short __b) {
1575 return (vector
bool short)__builtin_altivec_vcmpgtuh(__a, __b);
1579 return (vector
bool int)__builtin_altivec_vcmpgtsw(__a, __b);
1583 vector
unsigned int __b) {
1584 return (vector
bool int)__builtin_altivec_vcmpgtuw(__a, __b);
1587 #ifdef __POWER8_VECTOR__
1589 vec_cmpgt(vector
signed long long __a, vector
signed long long __b) {
1590 return (vector
bool long long)__builtin_altivec_vcmpgtsd(__a, __b);
1594 vec_cmpgt(vector
unsigned long long __a, vector
unsigned long long __b) {
1595 return (vector
bool long long)__builtin_altivec_vcmpgtud(__a, __b);
1602 return (vector
bool int)__builtin_vsx_xvcmpgtsp(__a, __b);
1604 return (vector
bool int)__builtin_altivec_vcmpgtfp(__a, __b);
1610 vec_cmpgt(vector
double __a, vector
double __b) {
1611 return (vector
bool long long)__builtin_vsx_xvcmpgtdp(__a, __b);
1618 vec_cmpge (vector
signed char __a, vector
signed char __b) {
1623 vec_cmpge (vector
unsigned char __a, vector
unsigned char __b) {
1628 vec_cmpge (vector
signed short __a, vector
signed short __b) {
1633 vec_cmpge (vector
unsigned short __a, vector
unsigned short __b) {
1643 vec_cmpge (vector
unsigned int __a, vector
unsigned int __b) {
1650 return (vector
bool int)__builtin_vsx_xvcmpgesp(__a, __b);
1652 return (vector
bool int)__builtin_altivec_vcmpgefp(__a, __b);
1658 vec_cmpge(vector
double __a, vector
double __b) {
1659 return (vector
bool long long)__builtin_vsx_xvcmpgedp(__a, __b);
1663 #ifdef __POWER8_VECTOR__
1665 vec_cmpge(vector
signed long long __a, vector
signed long long __b) {
1670 vec_cmpge(vector
unsigned long long __a, vector
unsigned long long __b) {
1678 vec_vcmpgefp(vector
float __a, vector
float __b) {
1679 return (vector
bool int)__builtin_altivec_vcmpgefp(__a, __b);
1685 vec_vcmpgtsb(vector
signed char __a, vector
signed char __b) {
1686 return (vector
bool char)__builtin_altivec_vcmpgtsb(__a, __b);
1692 vec_vcmpgtub(vector
unsigned char __a, vector
unsigned char __b) {
1693 return (vector
bool char)__builtin_altivec_vcmpgtub(__a, __b);
1699 vec_vcmpgtsh(vector
short __a, vector
short __b) {
1700 return (vector
bool short)__builtin_altivec_vcmpgtsh(__a, __b);
1706 vec_vcmpgtuh(vector
unsigned short __a, vector
unsigned short __b) {
1707 return (vector
bool short)__builtin_altivec_vcmpgtuh(__a, __b);
1713 vec_vcmpgtsw(vector
int __a, vector
int __b) {
1714 return (vector
bool int)__builtin_altivec_vcmpgtsw(__a, __b);
1720 vec_vcmpgtuw(vector
unsigned int __a, vector
unsigned int __b) {
1721 return (vector
bool int)__builtin_altivec_vcmpgtuw(__a, __b);
1727 vec_vcmpgtfp(vector
float __a, vector
float __b) {
1728 return (vector
bool int)__builtin_altivec_vcmpgtfp(__a, __b);
1734 vec_cmple (vector
signed char __a, vector
signed char __b) {
1739 vec_cmple (vector
unsigned char __a, vector
unsigned char __b) {
1744 vec_cmple (vector
signed short __a, vector
signed short __b) {
1749 vec_cmple (vector
unsigned short __a, vector
unsigned short __b) {
1759 vec_cmple (vector
unsigned int __a, vector
unsigned int __b) {
1770 vec_cmple(vector
double __a, vector
double __b) {
1775 #ifdef __POWER8_VECTOR__
1777 vec_cmple(vector
signed long long __a, vector
signed long long __b) {
1782 vec_cmple(vector
unsigned long long __a, vector
unsigned long long __b) {
1790 vector
signed char __b) {
1795 vector
unsigned char __b) {
1805 vector
unsigned short __b) {
1814 vector
unsigned int __b) {
1825 vec_cmplt(vector
double __a, vector
double __b) {
1830 #ifdef __POWER8_VECTOR__
1832 vec_cmplt(vector
signed long long __a, vector
signed long long __b) {
1837 vec_cmplt(vector
unsigned long long __a, vector
unsigned long long __b) {
1843 static vector
signed char __ATTRS_o_ai vec_cntlz(vector
signed char __a) {
1844 return __builtin_altivec_vclzb(__a);
1846 static vector
unsigned char __ATTRS_o_ai vec_cntlz(vector
unsigned char __a) {
1847 return __builtin_altivec_vclzb(__a);
1849 static vector
signed short __ATTRS_o_ai vec_cntlz(vector
signed short __a) {
1850 return __builtin_altivec_vclzh(__a);
1852 static vector
unsigned short __ATTRS_o_ai vec_cntlz(vector
unsigned short __a) {
1853 return __builtin_altivec_vclzh(__a);
1855 static vector
signed int __ATTRS_o_ai vec_cntlz(vector
signed int __a) {
1856 return __builtin_altivec_vclzw(__a);
1858 static vector
unsigned int __ATTRS_o_ai vec_cntlz(vector
unsigned int __a) {
1859 return __builtin_altivec_vclzw(__a);
1862 vec_cntlz(vector
signed long long __a) {
1863 return __builtin_altivec_vclzd(__a);
1866 vec_cntlz(vector
unsigned long long __a) {
1867 return __builtin_altivec_vclzd(__a);
1874 static vector
float __ATTRS_o_ai vec_cpsgn(vector
float __a, vector
float __b) {
1875 return __builtin_vsx_xvcpsgnsp(__a, __b);
1878 static vector
double __ATTRS_o_ai vec_cpsgn(vector
double __a,
1879 vector
double __b) {
1880 return __builtin_vsx_xvcpsgndp(__a, __b);
1887 return __builtin_altivec_vcfsx(__a, __b);
1891 return __builtin_altivec_vcfux((vector
int)__a, __b);
1897 vector
double __ret = __builtin_convertvector(__a, vector
double);
1898 __ret *= (vector double)(vector
unsigned long long)((0x3ffULL -
__b) << 52);
1904 vector
double __ret = __builtin_convertvector(__a, vector
double);
1905 __ret *= (vector double)(vector
unsigned long long)((0x3ffULL -
__b) << 52);
1913 vec_vcfsx(vector
int __a,
int __b) {
1914 return __builtin_altivec_vcfsx(__a, __b);
1920 vec_vcfux(vector
unsigned int __a,
int __b) {
1921 return __builtin_altivec_vcfux((vector
int)__a, __b);
1927 return __builtin_altivec_vctsxs(__a, __b);
1933 __a *= (vector double)(vector
unsigned long long)((0x3ffULL +
__b) << 52);
1934 return __builtin_convertvector(__a, vector
signed long long);
1941 vec_vctsxs(vector
float __a,
int __b) {
1942 return __builtin_altivec_vctsxs(__a, __b);
1948 return __builtin_altivec_vctuxs(__a, __b);
1954 __a *= (vector double)(vector
unsigned long long)((0x3ffULL +
__b) << 52);
1955 return __builtin_convertvector(__a, vector
unsigned long long);
1961 static vector
unsigned int __attribute__((__always_inline__))
1962 vec_vctuxs(vector
float __a,
int __b) {
1963 return __builtin_altivec_vctuxs(__a, __b);
1969 static vector
double __ATTRS_o_ai vec_double (vector
signed long long __a) {
1970 vector
double __ret = { __a[0], __a[1] };
1974 static vector
double __ATTRS_o_ai vec_double (vector
unsigned long long __a) {
1975 vector
double __ret = { __a[0], __a[1] };
1986 vector
signed char __b) {
1991 vector
unsigned char __b) {
1996 vector
signed short __b) {
2001 vector
unsigned short __b) {
2006 vector
signed int __b) {
2011 vector
unsigned int __b) {
2017 vec_div(vector
signed long long __a, vector
signed long long __b) {
2022 vec_div(vector
unsigned long long __a, vector
unsigned long long __b) {
2031 vector
double __b) {
2038 static void __attribute__((__always_inline__)) vec_dss(
int __a) {
2039 __builtin_altivec_dss(__a);
2044 static void __attribute__((__always_inline__)) vec_dssall(
void) {
2045 __builtin_altivec_dssall();
2051 vec_dst(const
void *__a,
int __b,
int __c) {
2052 __builtin_altivec_dst(__a, __b, __c);
2058 vec_dstst(const
void *__a,
int __b,
int __c) {
2059 __builtin_altivec_dstst(__a, __b, __c);
2065 vec_dststt(const
void *__a,
int __b,
int __c) {
2066 __builtin_altivec_dststt(__a, __b, __c);
2072 vec_dstt(const
void *__a,
int __b,
int __c) {
2073 __builtin_altivec_dstt(__a, __b, __c);
2078 #ifdef __POWER8_VECTOR__
2079 static vector
signed char __ATTRS_o_ai vec_eqv(vector
signed char __a,
2080 vector
signed char __b) {
2081 return (vector
signed char)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2082 (vector
unsigned int)__b);
2085 static vector
unsigned char __ATTRS_o_ai vec_eqv(vector
unsigned char __a,
2086 vector
unsigned char __b) {
2087 return (vector
unsigned char)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2088 (vector
unsigned int)__b);
2091 static vector
bool char __ATTRS_o_ai vec_eqv(vector
bool char __a,
2092 vector
bool char __b) {
2093 return (vector
bool char)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2094 (vector
unsigned int)__b);
2097 static vector
signed short __ATTRS_o_ai vec_eqv(vector
signed short __a,
2098 vector
signed short __b) {
2099 return (vector
signed short)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2100 (vector
unsigned int)__b);
2103 static vector
unsigned short __ATTRS_o_ai vec_eqv(vector
unsigned short __a,
2104 vector
unsigned short __b) {
2105 return (vector
unsigned short)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2106 (vector
unsigned int)__b);
2109 static vector
bool short __ATTRS_o_ai vec_eqv(vector
bool short __a,
2110 vector
bool short __b) {
2111 return (vector
bool short)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2112 (vector
unsigned int)__b);
2115 static vector
signed int __ATTRS_o_ai vec_eqv(vector
signed int __a,
2116 vector
signed int __b) {
2117 return (vector
signed int)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2118 (vector
unsigned int)__b);
2121 static vector
unsigned int __ATTRS_o_ai vec_eqv(vector
unsigned int __a,
2122 vector
unsigned int __b) {
2123 return __builtin_vsx_xxleqv(__a, __b);
2126 static vector
bool int __ATTRS_o_ai vec_eqv(vector
bool int __a,
2127 vector
bool int __b) {
2128 return (vector
bool int)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2129 (vector
unsigned int)__b);
2133 vec_eqv(vector
signed long long __a, vector
signed long long __b) {
2134 return (vector
signed long long)
2135 __builtin_vsx_xxleqv((vector
unsigned int)__a, (vector
unsigned int)__b);
2139 vec_eqv(vector
unsigned long long __a, vector
unsigned long long __b) {
2140 return (vector
unsigned long long)
2141 __builtin_vsx_xxleqv((vector
unsigned int)__a, (vector
unsigned int)__b);
2145 vec_eqv(vector
bool long long __a, vector
bool long long __b) {
2146 return (vector
bool long long)
2147 __builtin_vsx_xxleqv((vector
unsigned int)__a, (vector
unsigned int)__b);
2150 static vector
float __ATTRS_o_ai vec_eqv(vector
float __a, vector
float __b) {
2151 return (vector
float)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2152 (vector
unsigned int)__b);
2155 static vector
double __ATTRS_o_ai vec_eqv(vector
double __a,
2156 vector
double __b) {
2157 return (vector
double)__builtin_vsx_xxleqv((vector
unsigned int)__a,
2158 (vector
unsigned int)__b);
2165 vec_expte(vector
float __a) {
2166 return __builtin_altivec_vexptefp(__a);
2172 vec_vexptefp(vector
float __a) {
2173 return __builtin_altivec_vexptefp(__a);
2180 return __builtin_vsx_xvrspim(__a);
2182 return __builtin_altivec_vrfim(__a);
2188 return __builtin_vsx_xvrdpim(__a);
2195 vec_vrfim(vector
float __a) {
2196 return __builtin_altivec_vrfim(__a);
2202 const vector
signed char *__b) {
2203 return (vector
signed char)__builtin_altivec_lvx(__a, __b);
2207 return (vector
signed char)__builtin_altivec_lvx(__a, __b);
2211 vec_ld(
int __a,
const vector
unsigned char *__b) {
2212 return (vector
unsigned char)__builtin_altivec_lvx(__a, __b);
2216 const unsigned char *__b) {
2217 return (vector
unsigned char)__builtin_altivec_lvx(__a, __b);
2221 const vector
bool char *__b) {
2222 return (vector
bool char)__builtin_altivec_lvx(__a, __b);
2226 return (vector
short)__builtin_altivec_lvx(__a, __b);
2230 return (vector
short)__builtin_altivec_lvx(__a, __b);
2234 vec_ld(
int __a,
const vector
unsigned short *__b) {
2235 return (vector
unsigned short)__builtin_altivec_lvx(__a, __b);
2239 const unsigned short *__b) {
2240 return (vector
unsigned short)__builtin_altivec_lvx(__a, __b);
2244 const vector
bool short *__b) {
2245 return (vector
bool short)__builtin_altivec_lvx(__a, __b);
2249 return (vector pixel)__builtin_altivec_lvx(__a, __b);
2253 return (vector
int)__builtin_altivec_lvx(__a, __b);
2257 return (vector
int)__builtin_altivec_lvx(__a, __b);
2261 const vector
unsigned int *__b) {
2262 return (vector
unsigned int)__builtin_altivec_lvx(__a, __b);
2266 const unsigned int *__b) {
2267 return (vector
unsigned int)__builtin_altivec_lvx(__a, __b);
2271 const vector
bool int *__b) {
2272 return (vector
bool int)__builtin_altivec_lvx(__a, __b);
2276 return (vector
float)__builtin_altivec_lvx(__a, __b);
2280 return (vector
float)__builtin_altivec_lvx(__a, __b);
2286 const vector
signed char *__b) {
2287 return (vector
signed char)__builtin_altivec_lvx(__a, __b);
2291 const signed char *__b) {
2292 return (vector
signed char)__builtin_altivec_lvx(__a, __b);
2296 vec_lvx(
int __a,
const vector
unsigned char *__b) {
2297 return (vector
unsigned char)__builtin_altivec_lvx(__a, __b);
2301 const unsigned char *__b) {
2302 return (vector
unsigned char)__builtin_altivec_lvx(__a, __b);
2306 const vector
bool char *__b) {
2307 return (vector
bool char)__builtin_altivec_lvx(__a, __b);
2311 return (vector
short)__builtin_altivec_lvx(__a, __b);
2315 return (vector
short)__builtin_altivec_lvx(__a, __b);
2319 vec_lvx(
int __a,
const vector
unsigned short *__b) {
2320 return (vector
unsigned short)__builtin_altivec_lvx(__a, __b);
2324 const unsigned short *__b) {
2325 return (vector
unsigned short)__builtin_altivec_lvx(__a, __b);
2329 const vector
bool short *__b) {
2330 return (vector
bool short)__builtin_altivec_lvx(__a, __b);
2334 return (vector pixel)__builtin_altivec_lvx(__a, __b);
2338 return (vector
int)__builtin_altivec_lvx(__a, __b);
2342 return (vector
int)__builtin_altivec_lvx(__a, __b);
2346 vec_lvx(
int __a,
const vector
unsigned int *__b) {
2347 return (vector
unsigned int)__builtin_altivec_lvx(__a, __b);
2351 const unsigned int *__b) {
2352 return (vector
unsigned int)__builtin_altivec_lvx(__a, __b);
2356 const vector
bool int *__b) {
2357 return (vector
bool int)__builtin_altivec_lvx(__a, __b);
2361 return (vector
float)__builtin_altivec_lvx(__a, __b);
2365 return (vector
float)__builtin_altivec_lvx(__a, __b);
2371 const signed char *__b) {
2372 return (vector
signed char)__builtin_altivec_lvebx(__a, __b);
2376 const unsigned char *__b) {
2377 return (vector
unsigned char)__builtin_altivec_lvebx(__a, __b);
2381 return (vector
short)__builtin_altivec_lvehx(__a, __b);
2385 const unsigned short *__b) {
2386 return (vector
unsigned short)__builtin_altivec_lvehx(__a, __b);
2390 return (vector
int)__builtin_altivec_lvewx(__a, __b);
2394 const unsigned int *__b) {
2395 return (vector
unsigned int)__builtin_altivec_lvewx(__a, __b);
2399 return (vector
float)__builtin_altivec_lvewx(__a, __b);
2405 const signed char *__b) {
2406 return (vector
signed char)__builtin_altivec_lvebx(__a, __b);
2410 const unsigned char *__b) {
2411 return (vector
unsigned char)__builtin_altivec_lvebx(__a, __b);
2417 return (vector
short)__builtin_altivec_lvehx(__a, __b);
2421 const unsigned short *__b) {
2422 return (vector
unsigned short)__builtin_altivec_lvehx(__a, __b);
2428 return (vector
int)__builtin_altivec_lvewx(__a, __b);
2432 const unsigned int *__b) {
2433 return (vector
unsigned int)__builtin_altivec_lvewx(__a, __b);
2437 return (vector
float)__builtin_altivec_lvewx(__a, __b);
2443 const vector
signed char *__b) {
2444 return (vector
signed char)__builtin_altivec_lvxl(__a, __b);
2448 const signed char *__b) {
2449 return (vector
signed char)__builtin_altivec_lvxl(__a, __b);
2453 vec_ldl(
int __a,
const vector
unsigned char *__b) {
2454 return (vector
unsigned char)__builtin_altivec_lvxl(__a, __b);
2458 const unsigned char *__b) {
2459 return (vector
unsigned char)__builtin_altivec_lvxl(__a, __b);
2463 const vector
bool char *__b) {
2464 return (vector
bool char)__builtin_altivec_lvxl(__a, __b);
2468 return (vector
short)__builtin_altivec_lvxl(__a, __b);
2472 return (vector
short)__builtin_altivec_lvxl(__a, __b);
2476 vec_ldl(
int __a,
const vector
unsigned short *__b) {
2477 return (vector
unsigned short)__builtin_altivec_lvxl(__a, __b);
2481 const unsigned short *__b) {
2482 return (vector
unsigned short)__builtin_altivec_lvxl(__a, __b);
2486 const vector
bool short *__b) {
2487 return (vector
bool short)__builtin_altivec_lvxl(__a, __b);
2491 return (vector pixel
short)__builtin_altivec_lvxl(__a, __b);
2495 return (vector
int)__builtin_altivec_lvxl(__a, __b);
2499 return (vector
int)__builtin_altivec_lvxl(__a, __b);
2503 vec_ldl(
int __a,
const vector
unsigned int *__b) {
2504 return (vector
unsigned int)__builtin_altivec_lvxl(__a, __b);
2508 const unsigned int *__b) {
2509 return (vector
unsigned int)__builtin_altivec_lvxl(__a, __b);
2513 const vector
bool int *__b) {
2514 return (vector
bool int)__builtin_altivec_lvxl(__a, __b);
2518 return (vector
float)__builtin_altivec_lvxl(__a, __b);
2522 return (vector
float)__builtin_altivec_lvxl(__a, __b);
2528 const vector
signed char *__b) {
2529 return (vector
signed char)__builtin_altivec_lvxl(__a, __b);
2533 const signed char *__b) {
2534 return (vector
signed char)__builtin_altivec_lvxl(__a, __b);
2539 return (vector
unsigned char)__builtin_altivec_lvxl(__a, __b);
2543 const unsigned char *__b) {
2544 return (vector
unsigned char)__builtin_altivec_lvxl(__a, __b);
2548 const vector
bool char *__b) {
2549 return (vector
bool char)__builtin_altivec_lvxl(__a, __b);
2553 return (vector
short)__builtin_altivec_lvxl(__a, __b);
2557 return (vector
short)__builtin_altivec_lvxl(__a, __b);
2562 return (vector
unsigned short)__builtin_altivec_lvxl(__a, __b);
2566 const unsigned short *__b) {
2567 return (vector
unsigned short)__builtin_altivec_lvxl(__a, __b);
2571 const vector
bool short *__b) {
2572 return (vector
bool short)__builtin_altivec_lvxl(__a, __b);
2576 return (vector pixel)__builtin_altivec_lvxl(__a, __b);
2580 return (vector
int)__builtin_altivec_lvxl(__a, __b);
2584 return (vector
int)__builtin_altivec_lvxl(__a, __b);
2589 return (vector
unsigned int)__builtin_altivec_lvxl(__a, __b);
2593 const unsigned int *__b) {
2594 return (vector
unsigned int)__builtin_altivec_lvxl(__a, __b);
2598 const vector
bool int *__b) {
2599 return (vector
bool int)__builtin_altivec_lvxl(__a, __b);
2603 return (vector
float)__builtin_altivec_lvxl(__a, __b);
2607 return (vector
float)__builtin_altivec_lvxl(__a, __b);
2613 vec_loge(vector
float __a) {
2614 return __builtin_altivec_vlogefp(__a);
2620 vec_vlogefp(vector
float __a) {
2621 return __builtin_altivec_vlogefp(__a);
2626 #ifdef __LITTLE_ENDIAN__
2628 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2629 loads/stores")))
vec_lvsl(
int __a, const
signed char *__b) {
2630 vector
unsigned char mask =
2631 (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2632 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2633 7, 6, 5, 4, 3, 2, 1, 0};
2634 return vec_perm(mask, mask, reverse);
2638 const signed char *__b) {
2639 return (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2643 #ifdef __LITTLE_ENDIAN__
2645 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2646 loads/stores")))
vec_lvsl(
int __a, const
unsigned char *__b) {
2647 vector
unsigned char mask =
2648 (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2649 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2650 7, 6, 5, 4, 3, 2, 1, 0};
2651 return vec_perm(mask, mask, reverse);
2655 const unsigned char *__b) {
2656 return (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2660 #ifdef __LITTLE_ENDIAN__
2662 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2663 loads/stores")))
vec_lvsl(
int __a, const
short *__b) {
2664 vector
unsigned char mask =
2665 (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2666 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2667 7, 6, 5, 4, 3, 2, 1, 0};
2668 return vec_perm(mask, mask, reverse);
2672 return (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2676 #ifdef __LITTLE_ENDIAN__
2678 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2679 loads/stores")))
vec_lvsl(
int __a, const
unsigned short *__b) {
2680 vector
unsigned char mask =
2681 (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2682 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2683 7, 6, 5, 4, 3, 2, 1, 0};
2684 return vec_perm(mask, mask, reverse);
2688 const unsigned short *__b) {
2689 return (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2693 #ifdef __LITTLE_ENDIAN__
2695 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2696 loads/stores")))
vec_lvsl(
int __a, const
int *__b) {
2697 vector
unsigned char mask =
2698 (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2699 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2700 7, 6, 5, 4, 3, 2, 1, 0};
2701 return vec_perm(mask, mask, reverse);
2705 return (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2709 #ifdef __LITTLE_ENDIAN__
2711 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2712 loads/stores")))
vec_lvsl(
int __a, const
unsigned int *__b) {
2713 vector
unsigned char mask =
2714 (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2715 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2716 7, 6, 5, 4, 3, 2, 1, 0};
2717 return vec_perm(mask, mask, reverse);
2721 const unsigned int *__b) {
2722 return (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2726 #ifdef __LITTLE_ENDIAN__
2728 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2729 loads/stores")))
vec_lvsl(
int __a, const
float *__b) {
2730 vector
unsigned char mask =
2731 (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2732 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2733 7, 6, 5, 4, 3, 2, 1, 0};
2734 return vec_perm(mask, mask, reverse);
2738 return (vector
unsigned char)__builtin_altivec_lvsl(__a, __b);
2744 #ifdef __LITTLE_ENDIAN__
2746 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2747 loads/stores")))
vec_lvsr(
int __a, const
signed char *__b) {
2748 vector
unsigned char mask =
2749 (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2750 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2751 7, 6, 5, 4, 3, 2, 1, 0};
2752 return vec_perm(mask, mask, reverse);
2756 const signed char *__b) {
2757 return (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2761 #ifdef __LITTLE_ENDIAN__
2763 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2764 loads/stores")))
vec_lvsr(
int __a, const
unsigned char *__b) {
2765 vector
unsigned char mask =
2766 (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2767 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2768 7, 6, 5, 4, 3, 2, 1, 0};
2769 return vec_perm(mask, mask, reverse);
2773 const unsigned char *__b) {
2774 return (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2778 #ifdef __LITTLE_ENDIAN__
2780 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2781 loads/stores")))
vec_lvsr(
int __a, const
short *__b) {
2782 vector
unsigned char mask =
2783 (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2784 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2785 7, 6, 5, 4, 3, 2, 1, 0};
2786 return vec_perm(mask, mask, reverse);
2790 return (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2794 #ifdef __LITTLE_ENDIAN__
2796 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2797 loads/stores")))
vec_lvsr(
int __a, const
unsigned short *__b) {
2798 vector
unsigned char mask =
2799 (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2800 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2801 7, 6, 5, 4, 3, 2, 1, 0};
2802 return vec_perm(mask, mask, reverse);
2806 const unsigned short *__b) {
2807 return (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2811 #ifdef __LITTLE_ENDIAN__
2813 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2814 loads/stores")))
vec_lvsr(
int __a, const
int *__b) {
2815 vector
unsigned char mask =
2816 (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2817 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2818 7, 6, 5, 4, 3, 2, 1, 0};
2819 return vec_perm(mask, mask, reverse);
2823 return (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2827 #ifdef __LITTLE_ENDIAN__
2829 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2830 loads/stores")))
vec_lvsr(
int __a, const
unsigned int *__b) {
2831 vector
unsigned char mask =
2832 (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2833 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2834 7, 6, 5, 4, 3, 2, 1, 0};
2835 return vec_perm(mask, mask, reverse);
2839 const unsigned int *__b) {
2840 return (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2844 #ifdef __LITTLE_ENDIAN__
2846 __attribute__((__deprecated__(
"use assignment for unaligned little endian \
2847 loads/stores")))
vec_lvsr(
int __a, const
float *__b) {
2848 vector
unsigned char mask =
2849 (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2850 vector
unsigned char reverse = {15, 14, 13, 12, 11, 10, 9, 8,
2851 7, 6, 5, 4, 3, 2, 1, 0};
2852 return vec_perm(mask, mask, reverse);
2856 return (vector
unsigned char)__builtin_altivec_lvsr(__a, __b);
2862 vec_mladd(vector
signed short, vector
signed short, vector
signed short);
2864 vec_mladd(vector
signed short, vector
unsigned short, vector
unsigned short);
2866 vec_mladd(vector
unsigned short, vector
signed short, vector
signed short);
2868 vec_mladd(vector
unsigned short, vector
unsigned short, vector
unsigned short);
2871 vec_madd(vector
signed short __a, vector
signed short __b,
2872 vector
signed short __c) {
2877 vec_madd(vector
signed short __a, vector
unsigned short __b,
2878 vector
unsigned short __c) {
2883 vec_madd(vector
unsigned short __a, vector
signed short __b,
2884 vector
signed short __c) {
2889 vec_madd(vector
unsigned short __a, vector
unsigned short __b,
2890 vector
unsigned short __c) {
2897 return __builtin_vsx_xvmaddasp(__a, __b, __c);
2899 return __builtin_altivec_vmaddfp(__a, __b, __c);
2905 vec_madd(vector
double __a, vector
double __b, vector
double __c) {
2906 return __builtin_vsx_xvmaddadp(__a, __b, __c);
2913 vec_vmaddfp(vector
float __a, vector
float __b, vector
float __c) {
2914 return __builtin_altivec_vmaddfp(__a, __b, __c);
2919 static vector
signed short __attribute__((__always_inline__))
2920 vec_madds(vector
signed short __a, vector
signed short __b,
2921 vector
signed short __c) {
2922 return __builtin_altivec_vmhaddshs(__a, __b, __c);
2926 static vector
signed short __attribute__((__always_inline__))
2927 vec_vmhaddshs(vector
signed short __a, vector
signed short __b,
2928 vector
signed short __c) {
2929 return __builtin_altivec_vmhaddshs(__a, __b, __c);
2936 vec_msub(vector
float __a, vector
float __b, vector
float __c) {
2937 return __builtin_vsx_xvmsubasp(__a, __b, __c);
2941 vec_msub(vector
double __a, vector
double __b, vector
double __c) {
2942 return __builtin_vsx_xvmsubadp(__a, __b, __c);
2949 vector
signed char __b) {
2950 return __builtin_altivec_vmaxsb(__a, __b);
2954 vector
signed char __b) {
2955 return __builtin_altivec_vmaxsb((vector
signed char)__a, __b);
2959 vector
bool char __b) {
2960 return __builtin_altivec_vmaxsb(__a, (vector
signed char)__b);
2964 vector
unsigned char __b) {
2965 return __builtin_altivec_vmaxub(__a, __b);
2969 vector
unsigned char __b) {
2970 return __builtin_altivec_vmaxub((vector
unsigned char)__a, __b);
2974 vector
bool char __b) {
2975 return __builtin_altivec_vmaxub(__a, (vector
unsigned char)__b);
2979 return __builtin_altivec_vmaxsh(__a, __b);
2984 return __builtin_altivec_vmaxsh((vector
short)__a, __b);
2988 vector
bool short __b) {
2989 return __builtin_altivec_vmaxsh(__a, (vector
short)__b);
2993 vector
unsigned short __b) {
2994 return __builtin_altivec_vmaxuh(__a, __b);
2998 vector
unsigned short __b) {
2999 return __builtin_altivec_vmaxuh((vector
unsigned short)__a, __b);
3003 vector
bool short __b) {
3004 return __builtin_altivec_vmaxuh(__a, (vector
unsigned short)__b);
3008 return __builtin_altivec_vmaxsw(__a, __b);
3012 return __builtin_altivec_vmaxsw((vector
int)__a, __b);
3016 return __builtin_altivec_vmaxsw(__a, (vector
int)__b);
3020 vector
unsigned int __b) {
3021 return __builtin_altivec_vmaxuw(__a, __b);
3025 vector
unsigned int __b) {
3026 return __builtin_altivec_vmaxuw((vector
unsigned int)__a, __b);
3030 vector
bool int __b) {
3031 return __builtin_altivec_vmaxuw(__a, (vector
unsigned int)__b);
3034 #ifdef __POWER8_VECTOR__
3036 vec_max(vector
signed long long __a, vector
signed long long __b) {
3037 return __builtin_altivec_vmaxsd(__a, __b);
3041 vec_max(vector
bool long long __a, vector
signed long long __b) {
3042 return __builtin_altivec_vmaxsd((vector
signed long long)__a, __b);
3046 vector
bool long long __b) {
3047 return __builtin_altivec_vmaxsd(__a, (vector
signed long long)__b);
3051 vec_max(vector
unsigned long long __a, vector
unsigned long long __b) {
3052 return __builtin_altivec_vmaxud(__a, __b);
3056 vec_max(vector
bool long long __a, vector
unsigned long long __b) {
3057 return __builtin_altivec_vmaxud((vector
unsigned long long)__a, __b);
3061 vec_max(vector
unsigned long long __a, vector
bool long long __b) {
3062 return __builtin_altivec_vmaxud(__a, (vector
unsigned long long)__b);
3068 return __builtin_vsx_xvmaxsp(__a, __b);
3070 return __builtin_altivec_vmaxfp(__a, __b);
3076 vector
double __b) {
3077 return __builtin_vsx_xvmaxdp(__a, __b);
3084 vector
signed char __b) {
3085 return __builtin_altivec_vmaxsb(__a, __b);
3089 vector
signed char __b) {
3090 return __builtin_altivec_vmaxsb((vector
signed char)__a, __b);
3094 vector
bool char __b) {
3095 return __builtin_altivec_vmaxsb(__a, (vector
signed char)__b);
3101 vector
unsigned char __b) {
3102 return __builtin_altivec_vmaxub(__a, __b);
3106 vector
unsigned char __b) {
3107 return __builtin_altivec_vmaxub((vector
unsigned char)__a, __b);
3111 vector
bool char __b) {
3112 return __builtin_altivec_vmaxub(__a, (vector
unsigned char)__b);
3119 return __builtin_altivec_vmaxsh(__a, __b);
3124 return __builtin_altivec_vmaxsh((vector
short)__a, __b);
3128 vector
bool short __b) {
3129 return __builtin_altivec_vmaxsh(__a, (vector
short)__b);
3135 vec_vmaxuh(vector
unsigned short __a, vector
unsigned short __b) {
3136 return __builtin_altivec_vmaxuh(__a, __b);
3141 return __builtin_altivec_vmaxuh((vector
unsigned short)__a, __b);
3145 vector
bool short __b) {
3146 return __builtin_altivec_vmaxuh(__a, (vector
unsigned short)__b);
3152 return __builtin_altivec_vmaxsw(__a, __b);
3156 return __builtin_altivec_vmaxsw((vector
int)__a, __b);
3160 return __builtin_altivec_vmaxsw(__a, (vector
int)__b);
3166 vector
unsigned int __b) {
3167 return __builtin_altivec_vmaxuw(__a, __b);
3171 vector
unsigned int __b) {
3172 return __builtin_altivec_vmaxuw((vector
unsigned int)__a, __b);
3176 vector
bool int __b) {
3177 return __builtin_altivec_vmaxuw(__a, (vector
unsigned int)__b);
3183 vec_vmaxfp(vector
float __a, vector
float __b) {
3185 return __builtin_vsx_xvmaxsp(__a, __b);
3187 return __builtin_altivec_vmaxfp(__a, __b);
3194 vector
signed char __b) {
3196 (vector
unsigned char)(0x00, 0x10, 0x01, 0x11, 0x02, 0x12,
3197 0x03, 0x13, 0x04, 0x14, 0x05, 0x15,
3198 0x06, 0x16, 0x07, 0x17));
3202 vector
unsigned char __b) {
3204 (vector
unsigned char)(0x00, 0x10, 0x01, 0x11, 0x02, 0x12,
3205 0x03, 0x13, 0x04, 0x14, 0x05, 0x15,
3206 0x06, 0x16, 0x07, 0x17));
3210 vector
bool char __b) {
3212 (vector
unsigned char)(0x00, 0x10, 0x01, 0x11, 0x02, 0x12,
3213 0x03, 0x13, 0x04, 0x14, 0x05, 0x15,
3214 0x06, 0x16, 0x07, 0x17));
3220 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3221 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3222 0x06, 0x07, 0x16, 0x17));
3226 vec_mergeh(vector
unsigned short __a, vector
unsigned short __b) {
3228 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3229 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3230 0x06, 0x07, 0x16, 0x17));
3234 vector
bool short __b) {
3236 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3237 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3238 0x06, 0x07, 0x16, 0x17));
3244 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3245 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3246 0x06, 0x07, 0x16, 0x17));
3251 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3252 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3253 0x14, 0x15, 0x16, 0x17));
3257 vector
unsigned int __b) {
3259 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3260 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3261 0x14, 0x15, 0x16, 0x17));
3265 vector
bool int __b) {
3267 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3268 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3269 0x14, 0x15, 0x16, 0x17));
3275 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3276 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3277 0x14, 0x15, 0x16, 0x17));
3282 vec_mergeh(vector
signed long long __a, vector
signed long long __b) {
3284 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03,
3285 0x04, 0x05, 0x06, 0x07,
3286 0x10, 0x11, 0x12, 0x13,
3287 0x14, 0x15, 0x16, 0x17));
3291 vec_mergeh(vector
signed long long __a, vector
bool long long __b) {
3292 return vec_perm(__a, (vector
signed long long)__b,
3293 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03,
3294 0x04, 0x05, 0x06, 0x07,
3295 0x10, 0x11, 0x12, 0x13,
3296 0x14, 0x15, 0x16, 0x17));
3300 vec_mergeh(vector
bool long long __a, vector
signed long long __b) {
3301 return vec_perm((vector
signed long long)__a, __b,
3302 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03,
3303 0x04, 0x05, 0x06, 0x07,
3304 0x10, 0x11, 0x12, 0x13,
3305 0x14, 0x15, 0x16, 0x17));
3309 vec_mergeh(vector
unsigned long long __a, vector
unsigned long long __b) {
3311 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03,
3312 0x04, 0x05, 0x06, 0x07,
3313 0x10, 0x11, 0x12, 0x13,
3314 0x14, 0x15, 0x16, 0x17));
3318 vec_mergeh(vector
unsigned long long __a, vector
bool long long __b) {
3319 return vec_perm(__a, (vector
unsigned long long)__b,
3320 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03,
3321 0x04, 0x05, 0x06, 0x07,
3322 0x10, 0x11, 0x12, 0x13,
3323 0x14, 0x15, 0x16, 0x17));
3327 vec_mergeh(vector
bool long long __a, vector
unsigned long long __b) {
3328 return vec_perm((vector
unsigned long long)__a, __b,
3329 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03,
3330 0x04, 0x05, 0x06, 0x07,
3331 0x10, 0x11, 0x12, 0x13,
3332 0x14, 0x15, 0x16, 0x17));
3336 vec_mergeh(vector
bool long long __a, vector
bool long long __b) {
3338 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03,
3339 0x04, 0x05, 0x06, 0x07,
3340 0x10, 0x11, 0x12, 0x13,
3341 0x14, 0x15, 0x16, 0x17));
3345 vector
double __b) {
3347 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03,
3348 0x04, 0x05, 0x06, 0x07,
3349 0x10, 0x11, 0x12, 0x13,
3350 0x14, 0x15, 0x16, 0x17));
3353 vector
bool long long __b) {
3354 return vec_perm(__a, (vector
double)__b,
3355 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03,
3356 0x04, 0x05, 0x06, 0x07,
3357 0x10, 0x11, 0x12, 0x13,
3358 0x14, 0x15, 0x16, 0x17));
3361 vector
double __b) {
3362 return vec_perm((vector
double)__a, __b,
3363 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03,
3364 0x04, 0x05, 0x06, 0x07,
3365 0x10, 0x11, 0x12, 0x13,
3366 0x14, 0x15, 0x16, 0x17));
3372 #define __builtin_altivec_vmrghb vec_vmrghb
3375 vector
signed char __b) {
3377 (vector
unsigned char)(0x00, 0x10, 0x01, 0x11, 0x02, 0x12,
3378 0x03, 0x13, 0x04, 0x14, 0x05, 0x15,
3379 0x06, 0x16, 0x07, 0x17));
3383 vector
unsigned char __b) {
3385 (vector
unsigned char)(0x00, 0x10, 0x01, 0x11, 0x02, 0x12,
3386 0x03, 0x13, 0x04, 0x14, 0x05, 0x15,
3387 0x06, 0x16, 0x07, 0x17));
3391 vector
bool char __b) {
3393 (vector
unsigned char)(0x00, 0x10, 0x01, 0x11, 0x02, 0x12,
3394 0x03, 0x13, 0x04, 0x14, 0x05, 0x15,
3395 0x06, 0x16, 0x07, 0x17));
3400 #define __builtin_altivec_vmrghh vec_vmrghh
3405 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3406 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3407 0x06, 0x07, 0x16, 0x17));
3411 vec_vmrghh(vector
unsigned short __a, vector
unsigned short __b) {
3413 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3414 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3415 0x06, 0x07, 0x16, 0x17));
3419 vector
bool short __b) {
3421 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3422 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3423 0x06, 0x07, 0x16, 0x17));
3429 (vector
unsigned char)(0x00, 0x01, 0x10, 0x11, 0x02, 0x03,
3430 0x12, 0x13, 0x04, 0x05, 0x14, 0x15,
3431 0x06, 0x07, 0x16, 0x17));
3436 #define __builtin_altivec_vmrghw vec_vmrghw
3440 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3441 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3442 0x14, 0x15, 0x16, 0x17));
3446 vector
unsigned int __b) {
3448 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3449 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3450 0x14, 0x15, 0x16, 0x17));
3454 vector
bool int __b) {
3456 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3457 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3458 0x14, 0x15, 0x16, 0x17));
3464 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x10, 0x11,
3465 0x12, 0x13, 0x04, 0x05, 0x06, 0x07,
3466 0x14, 0x15, 0x16, 0x17));
3472 vector
signed char __b) {
3474 (vector
unsigned char)(0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A,
3475 0x0B, 0x1B, 0x0C, 0x1C, 0x0D, 0x1D,
3476 0x0E, 0x1E, 0x0F, 0x1F));
3480 vector
unsigned char __b) {
3482 (vector
unsigned char)(0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A,
3483 0x0B, 0x1B, 0x0C, 0x1C, 0x0D, 0x1D,
3484 0x0E, 0x1E, 0x0F, 0x1F));
3488 vector
bool char __b) {
3490 (vector
unsigned char)(0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A,
3491 0x0B, 0x1B, 0x0C, 0x1C, 0x0D, 0x1D,
3492 0x0E, 0x1E, 0x0F, 0x1F));
3498 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3499 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3500 0x0E, 0x0F, 0x1E, 0x1F));
3504 vec_mergel(vector
unsigned short __a, vector
unsigned short __b) {
3506 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3507 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3508 0x0E, 0x0F, 0x1E, 0x1F));
3512 vector
bool short __b) {
3514 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3515 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3516 0x0E, 0x0F, 0x1E, 0x1F));
3522 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3523 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3524 0x0E, 0x0F, 0x1E, 0x1F));
3529 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3530 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3531 0x1C, 0x1D, 0x1E, 0x1F));
3535 vector
unsigned int __b) {
3537 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3538 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3539 0x1C, 0x1D, 0x1E, 0x1F));
3543 vector
bool int __b) {
3545 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3546 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3547 0x1C, 0x1D, 0x1E, 0x1F));
3553 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3554 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3555 0x1C, 0x1D, 0x1E, 0x1F));
3560 vec_mergel(vector
signed long long __a, vector
signed long long __b) {
3562 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B,
3563 0x0C, 0x0D, 0x0E, 0x0F,
3564 0x18, 0X19, 0x1A, 0x1B,
3565 0x1C, 0x1D, 0x1E, 0x1F));
3568 vec_mergel(vector
signed long long __a, vector
bool long long __b) {
3569 return vec_perm(__a, (vector
signed long long)__b,
3570 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B,
3571 0x0C, 0x0D, 0x0E, 0x0F,
3572 0x18, 0X19, 0x1A, 0x1B,
3573 0x1C, 0x1D, 0x1E, 0x1F));
3576 vec_mergel(vector
bool long long __a, vector
signed long long __b) {
3577 return vec_perm((vector
signed long long)__a, __b,
3578 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B,
3579 0x0C, 0x0D, 0x0E, 0x0F,
3580 0x18, 0X19, 0x1A, 0x1B,
3581 0x1C, 0x1D, 0x1E, 0x1F));
3584 vec_mergel(vector
unsigned long long __a, vector
unsigned long long __b) {
3586 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B,
3587 0x0C, 0x0D, 0x0E, 0x0F,
3588 0x18, 0X19, 0x1A, 0x1B,
3589 0x1C, 0x1D, 0x1E, 0x1F));
3592 vec_mergel(vector
unsigned long long __a, vector
bool long long __b) {
3593 return vec_perm(__a, (vector
unsigned long long)__b,
3594 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B,
3595 0x0C, 0x0D, 0x0E, 0x0F,
3596 0x18, 0X19, 0x1A, 0x1B,
3597 0x1C, 0x1D, 0x1E, 0x1F));
3600 vec_mergel(vector
bool long long __a, vector
unsigned long long __b) {
3601 return vec_perm((vector
unsigned long long)__a, __b,
3602 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B,
3603 0x0C, 0x0D, 0x0E, 0x0F,
3604 0x18, 0X19, 0x1A, 0x1B,
3605 0x1C, 0x1D, 0x1E, 0x1F));
3608 vec_mergel(vector
bool long long __a, vector
bool long long __b) {
3610 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B,
3611 0x0C, 0x0D, 0x0E, 0x0F,
3612 0x18, 0X19, 0x1A, 0x1B,
3613 0x1C, 0x1D, 0x1E, 0x1F));
3616 vec_mergel(vector
double __a, vector
double __b) {
3618 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B,
3619 0x0C, 0x0D, 0x0E, 0x0F,
3620 0x18, 0X19, 0x1A, 0x1B,
3621 0x1C, 0x1D, 0x1E, 0x1F));
3624 vec_mergel(vector
double __a, vector
bool long long __b) {
3625 return vec_perm(__a, (vector
double)__b,
3626 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B,
3627 0x0C, 0x0D, 0x0E, 0x0F,
3628 0x18, 0X19, 0x1A, 0x1B,
3629 0x1C, 0x1D, 0x1E, 0x1F));
3632 vec_mergel(vector
bool long long __a, vector
double __b) {
3633 return vec_perm((vector
double)__a, __b,
3634 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B,
3635 0x0C, 0x0D, 0x0E, 0x0F,
3636 0x18, 0X19, 0x1A, 0x1B,
3637 0x1C, 0x1D, 0x1E, 0x1F));
3643 #define __builtin_altivec_vmrglb vec_vmrglb
3646 vector
signed char __b) {
3648 (vector
unsigned char)(0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A,
3649 0x0B, 0x1B, 0x0C, 0x1C, 0x0D, 0x1D,
3650 0x0E, 0x1E, 0x0F, 0x1F));
3654 vector
unsigned char __b) {
3656 (vector
unsigned char)(0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A,
3657 0x0B, 0x1B, 0x0C, 0x1C, 0x0D, 0x1D,
3658 0x0E, 0x1E, 0x0F, 0x1F));
3662 vector
bool char __b) {
3664 (vector
unsigned char)(0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A,
3665 0x0B, 0x1B, 0x0C, 0x1C, 0x0D, 0x1D,
3666 0x0E, 0x1E, 0x0F, 0x1F));
3671 #define __builtin_altivec_vmrglh vec_vmrglh
3676 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3677 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3678 0x0E, 0x0F, 0x1E, 0x1F));
3682 vec_vmrglh(vector
unsigned short __a, vector
unsigned short __b) {
3684 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3685 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3686 0x0E, 0x0F, 0x1E, 0x1F));
3690 vector
bool short __b) {
3692 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3693 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3694 0x0E, 0x0F, 0x1E, 0x1F));
3700 (vector
unsigned char)(0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B,
3701 0x1A, 0x1B, 0x0C, 0x0D, 0x1C, 0x1D,
3702 0x0E, 0x0F, 0x1E, 0x1F));
3707 #define __builtin_altivec_vmrglw vec_vmrglw
3711 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3712 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3713 0x1C, 0x1D, 0x1E, 0x1F));
3717 vector
unsigned int __b) {
3719 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3720 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3721 0x1C, 0x1D, 0x1E, 0x1F));
3725 vector
bool int __b) {
3727 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3728 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3729 0x1C, 0x1D, 0x1E, 0x1F));
3735 (vector
unsigned char)(0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19,
3736 0x1A, 0x1B, 0x0C, 0x0D, 0x0E, 0x0F,
3737 0x1C, 0x1D, 0x1E, 0x1F));
3741 #ifdef __POWER8_VECTOR__
3745 vec_mergee(vector
bool int __a, vector
bool int __b) {
3746 return vec_perm(__a, __b, (vector
unsigned char)
3747 (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
3748 0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B));
3752 vec_mergee(vector
signed int __a, vector
signed int __b) {
3753 return vec_perm(__a, __b, (vector
unsigned char)
3754 (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
3755 0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B));
3759 vec_mergee(vector
unsigned int __a, vector
unsigned int __b) {
3760 return vec_perm(__a, __b, (vector
unsigned char)
3761 (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
3762 0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B));
3768 vec_mergeo(vector
bool int __a, vector
bool int __b) {
3769 return vec_perm(__a, __b, (vector
unsigned char)
3770 (0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17,
3771 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
3775 vec_mergeo(vector
signed int __a, vector
signed int __b) {
3776 return vec_perm(__a, __b, (vector
unsigned char)
3777 (0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17,
3778 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
3782 vec_mergeo(vector
unsigned int __a, vector
unsigned int __b) {
3783 return vec_perm(__a, __b, (vector
unsigned char)
3784 (0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17,
3785 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
3792 static vector
unsigned short __attribute__((__always_inline__))
3794 return __builtin_altivec_mfvscr();
3800 vector
signed char __b) {
3801 return __builtin_altivec_vminsb(__a, __b);
3805 vector
signed char __b) {
3806 return __builtin_altivec_vminsb((vector
signed char)__a, __b);
3810 vector
bool char __b) {
3811 return __builtin_altivec_vminsb(__a, (vector
signed char)__b);
3815 vector
unsigned char __b) {
3816 return __builtin_altivec_vminub(__a, __b);
3820 vector
unsigned char __b) {
3821 return __builtin_altivec_vminub((vector
unsigned char)__a, __b);
3825 vector
bool char __b) {
3826 return __builtin_altivec_vminub(__a, (vector
unsigned char)__b);
3830 return __builtin_altivec_vminsh(__a, __b);
3835 return __builtin_altivec_vminsh((vector
short)__a, __b);
3839 vector
bool short __b) {
3840 return __builtin_altivec_vminsh(__a, (vector
short)__b);
3844 vector
unsigned short __b) {
3845 return __builtin_altivec_vminuh(__a, __b);
3849 vector
unsigned short __b) {
3850 return __builtin_altivec_vminuh((vector
unsigned short)__a, __b);
3854 vector
bool short __b) {
3855 return __builtin_altivec_vminuh(__a, (vector
unsigned short)__b);
3859 return __builtin_altivec_vminsw(__a, __b);
3863 return __builtin_altivec_vminsw((vector
int)__a, __b);
3867 return __builtin_altivec_vminsw(__a, (vector
int)__b);
3871 vector
unsigned int __b) {
3872 return __builtin_altivec_vminuw(__a, __b);
3876 vector
unsigned int __b) {
3877 return __builtin_altivec_vminuw((vector
unsigned int)__a, __b);
3881 vector
bool int __b) {
3882 return __builtin_altivec_vminuw(__a, (vector
unsigned int)__b);
3885 #ifdef __POWER8_VECTOR__
3887 vec_min(vector
signed long long __a, vector
signed long long __b) {
3888 return __builtin_altivec_vminsd(__a, __b);
3892 vec_min(vector
bool long long __a, vector
signed long long __b) {
3893 return __builtin_altivec_vminsd((vector
signed long long)__a, __b);
3897 vector
bool long long __b) {
3898 return __builtin_altivec_vminsd(__a, (vector
signed long long)__b);
3902 vec_min(vector
unsigned long long __a, vector
unsigned long long __b) {
3903 return __builtin_altivec_vminud(__a, __b);
3907 vec_min(vector
bool long long __a, vector
unsigned long long __b) {
3908 return __builtin_altivec_vminud((vector
unsigned long long)__a, __b);
3912 vec_min(vector
unsigned long long __a, vector
bool long long __b) {
3913 return __builtin_altivec_vminud(__a, (vector
unsigned long long)__b);
3919 return __builtin_vsx_xvminsp(__a, __b);
3921 return __builtin_altivec_vminfp(__a, __b);
3927 vector
double __b) {
3928 return __builtin_vsx_xvmindp(__a, __b);
3935 vector
signed char __b) {
3936 return __builtin_altivec_vminsb(__a, __b);
3940 vector
signed char __b) {
3941 return __builtin_altivec_vminsb((vector
signed char)__a, __b);
3945 vector
bool char __b) {
3946 return __builtin_altivec_vminsb(__a, (vector
signed char)__b);
3952 vector
unsigned char __b) {
3953 return __builtin_altivec_vminub(__a, __b);
3957 vector
unsigned char __b) {
3958 return __builtin_altivec_vminub((vector
unsigned char)__a, __b);
3962 vector
bool char __b) {
3963 return __builtin_altivec_vminub(__a, (vector
unsigned char)__b);
3970 return __builtin_altivec_vminsh(__a, __b);
3975 return __builtin_altivec_vminsh((vector
short)__a, __b);
3979 vector
bool short __b) {
3980 return __builtin_altivec_vminsh(__a, (vector
short)__b);
3986 vec_vminuh(vector
unsigned short __a, vector
unsigned short __b) {
3987 return __builtin_altivec_vminuh(__a, __b);
3992 return __builtin_altivec_vminuh((vector
unsigned short)__a, __b);
3996 vector
bool short __b) {
3997 return __builtin_altivec_vminuh(__a, (vector
unsigned short)__b);
4003 return __builtin_altivec_vminsw(__a, __b);
4007 return __builtin_altivec_vminsw((vector
int)__a, __b);
4011 return __builtin_altivec_vminsw(__a, (vector
int)__b);
4017 vector
unsigned int __b) {
4018 return __builtin_altivec_vminuw(__a, __b);
4022 vector
unsigned int __b) {
4023 return __builtin_altivec_vminuw((vector
unsigned int)__a, __b);
4027 vector
bool int __b) {
4028 return __builtin_altivec_vminuw(__a, (vector
unsigned int)__b);
4034 vec_vminfp(vector
float __a, vector
float __b) {
4036 return __builtin_vsx_xvminsp(__a, __b);
4038 return __builtin_altivec_vminfp(__a, __b);
4044 #define __builtin_altivec_vmladduhm vec_mladd
4048 return __a * __b +
__c;
4052 vector
unsigned short __b,
4053 vector
unsigned short __c) {
4054 return __a * (vector short)__b + (vector
short)
__c;
4058 vector
short __b, vector
short __c) {
4059 return (vector
short)__a * __b +
__c;
4063 vector
unsigned short __b,
4064 vector
unsigned short __c) {
4065 return __a * __b +
__c;
4073 return __a * __b +
__c;
4077 vector
unsigned short __b,
4078 vector
unsigned short __c) {
4079 return __a * (vector short)__b + (vector
short)
__c;
4085 return (vector
short)__a * __b +
__c;
4090 vector
unsigned short __c) {
4091 return __a * __b +
__c;
4097 vec_mradds(vector
short __a, vector
short __b, vector
short __c) {
4098 return __builtin_altivec_vmhraddshs(__a, __b, __c);
4104 vec_vmhraddshs(vector
short __a, vector
short __b, vector
short __c) {
4105 return __builtin_altivec_vmhraddshs(__a, __b, __c);
4111 vector
unsigned char __b,
4113 return __builtin_altivec_vmsummbm(__a, __b, __c);
4117 vector
unsigned char __b,
4118 vector
unsigned int __c) {
4119 return __builtin_altivec_vmsumubm(__a, __b, __c);
4124 return __builtin_altivec_vmsumshm(__a, __b, __c);
4128 vector
unsigned short __b,
4129 vector
unsigned int __c) {
4130 return __builtin_altivec_vmsumuhm(__a, __b, __c);
4136 vec_vmsummbm(vector
signed char __a, vector
unsigned char __b, vector
int __c) {
4137 return __builtin_altivec_vmsummbm(__a, __b, __c);
4142 static vector
unsigned int __attribute__((__always_inline__))
4143 vec_vmsumubm(vector
unsigned char __a, vector
unsigned char __b,
4144 vector
unsigned int __c) {
4145 return __builtin_altivec_vmsumubm(__a, __b, __c);
4151 vec_vmsumshm(vector
short __a, vector
short __b, vector
int __c) {
4152 return __builtin_altivec_vmsumshm(__a, __b, __c);
4157 static vector
unsigned int __attribute__((__always_inline__))
4158 vec_vmsumuhm(vector
unsigned short __a, vector
unsigned short __b,
4159 vector
unsigned int __c) {
4160 return __builtin_altivec_vmsumuhm(__a, __b, __c);
4167 return __builtin_altivec_vmsumshs(__a, __b, __c);
4171 vector
unsigned short __b,
4172 vector
unsigned int __c) {
4173 return __builtin_altivec_vmsumuhs(__a, __b, __c);
4179 vec_vmsumshs(vector
short __a, vector
short __b, vector
int __c) {
4180 return __builtin_altivec_vmsumshs(__a, __b, __c);
4185 static vector
unsigned int __attribute__((__always_inline__))
4186 vec_vmsumuhs(vector
unsigned short __a, vector
unsigned short __b,
4187 vector
unsigned int __c) {
4188 return __builtin_altivec_vmsumuhs(__a, __b, __c);
4194 __builtin_altivec_mtvscr((vector
int)__a);
4198 __builtin_altivec_mtvscr((vector
int)__a);
4202 __builtin_altivec_mtvscr((vector
int)__a);
4206 __builtin_altivec_mtvscr((vector
int)__a);
4210 __builtin_altivec_mtvscr((vector
int)__a);
4214 __builtin_altivec_mtvscr((vector
int)__a);
4218 __builtin_altivec_mtvscr((vector
int)__a);
4222 __builtin_altivec_mtvscr((vector
int)__a);
4226 __builtin_altivec_mtvscr((vector
int)__a);
4230 __builtin_altivec_mtvscr((vector
int)__a);
4234 __builtin_altivec_mtvscr((vector
int)__a);
4244 vector
signed char __b) {
4249 vector
unsigned char __b) {
4254 vector
signed short __b) {
4259 vector
unsigned short __b) {
4264 vector
signed int __b) {
4269 vector
unsigned int __b) {
4275 vec_mul(vector
signed long long __a, vector
signed long long __b) {
4280 vec_mul(vector
unsigned long long __a, vector
unsigned long long __b) {
4291 vec_mul(vector
double __a, vector
double __b) {
4302 vector
signed char __b) {
4303 #ifdef __LITTLE_ENDIAN__
4304 return __builtin_altivec_vmulosb(__a, __b);
4306 return __builtin_altivec_vmulesb(__a, __b);
4311 vector
unsigned char __b) {
4312 #ifdef __LITTLE_ENDIAN__
4313 return __builtin_altivec_vmuloub(__a, __b);
4315 return __builtin_altivec_vmuleub(__a, __b);
4320 #ifdef __LITTLE_ENDIAN__
4321 return __builtin_altivec_vmulosh(__a, __b);
4323 return __builtin_altivec_vmulesh(__a, __b);
4328 vector
unsigned short __b) {
4329 #ifdef __LITTLE_ENDIAN__
4330 return __builtin_altivec_vmulouh(__a, __b);
4332 return __builtin_altivec_vmuleuh(__a, __b);
4336 #ifdef __POWER8_VECTOR__
4338 vector
signed int __b) {
4339 #ifdef __LITTLE_ENDIAN__
4340 return __builtin_altivec_vmulosw(__a, __b);
4342 return __builtin_altivec_vmulesw(__a, __b);
4347 vec_mule(vector
unsigned int __a, vector
unsigned int __b) {
4348 #ifdef __LITTLE_ENDIAN__
4349 return __builtin_altivec_vmulouw(__a, __b);
4351 return __builtin_altivec_vmuleuw(__a, __b);
4359 vec_vmulesb(vector
signed char __a, vector
signed char __b) {
4360 #ifdef __LITTLE_ENDIAN__
4361 return __builtin_altivec_vmulosb(__a, __b);
4363 return __builtin_altivec_vmulesb(__a, __b);
4369 static vector
unsigned short __attribute__((__always_inline__))
4370 vec_vmuleub(vector
unsigned char __a, vector
unsigned char __b) {
4371 #ifdef __LITTLE_ENDIAN__
4372 return __builtin_altivec_vmuloub(__a, __b);
4374 return __builtin_altivec_vmuleub(__a, __b);
4381 vec_vmulesh(vector
short __a, vector
short __b) {
4382 #ifdef __LITTLE_ENDIAN__
4383 return __builtin_altivec_vmulosh(__a, __b);
4385 return __builtin_altivec_vmulesh(__a, __b);
4391 static vector
unsigned int __attribute__((__always_inline__))
4392 vec_vmuleuh(vector
unsigned short __a, vector
unsigned short __b) {
4393 #ifdef __LITTLE_ENDIAN__
4394 return __builtin_altivec_vmulouh(__a, __b);
4396 return __builtin_altivec_vmuleuh(__a, __b);
4403 vector
signed char __b) {
4404 #ifdef __LITTLE_ENDIAN__
4405 return __builtin_altivec_vmulesb(__a, __b);
4407 return __builtin_altivec_vmulosb(__a, __b);
4412 vector
unsigned char __b) {
4413 #ifdef __LITTLE_ENDIAN__
4414 return __builtin_altivec_vmuleub(__a, __b);
4416 return __builtin_altivec_vmuloub(__a, __b);
4421 #ifdef __LITTLE_ENDIAN__
4422 return __builtin_altivec_vmulesh(__a, __b);
4424 return __builtin_altivec_vmulosh(__a, __b);
4429 vector
unsigned short __b) {
4430 #ifdef __LITTLE_ENDIAN__
4431 return __builtin_altivec_vmuleuh(__a, __b);
4433 return __builtin_altivec_vmulouh(__a, __b);
4437 #ifdef __POWER8_VECTOR__
4439 vector
signed int __b) {
4440 #ifdef __LITTLE_ENDIAN__
4441 return __builtin_altivec_vmulesw(__a, __b);
4443 return __builtin_altivec_vmulosw(__a, __b);
4448 vec_mulo(vector
unsigned int __a, vector
unsigned int __b) {
4449 #ifdef __LITTLE_ENDIAN__
4450 return __builtin_altivec_vmuleuw(__a, __b);
4452 return __builtin_altivec_vmulouw(__a, __b);
4460 vec_vmulosb(vector
signed char __a, vector
signed char __b) {
4461 #ifdef __LITTLE_ENDIAN__
4462 return __builtin_altivec_vmulesb(__a, __b);
4464 return __builtin_altivec_vmulosb(__a, __b);
4470 static vector
unsigned short __attribute__((__always_inline__))
4471 vec_vmuloub(vector
unsigned char __a, vector
unsigned char __b) {
4472 #ifdef __LITTLE_ENDIAN__
4473 return __builtin_altivec_vmuleub(__a, __b);
4475 return __builtin_altivec_vmuloub(__a, __b);
4482 vec_vmulosh(vector
short __a, vector
short __b) {
4483 #ifdef __LITTLE_ENDIAN__
4484 return __builtin_altivec_vmulesh(__a, __b);
4486 return __builtin_altivec_vmulosh(__a, __b);
4492 static vector
unsigned int __attribute__((__always_inline__))
4493 vec_vmulouh(vector
unsigned short __a, vector
unsigned short __b) {
4494 #ifdef __LITTLE_ENDIAN__
4495 return __builtin_altivec_vmuleuh(__a, __b);
4497 return __builtin_altivec_vmulouh(__a, __b);
4503 #ifdef __POWER8_VECTOR__
4504 static vector
signed char __ATTRS_o_ai vec_nand(vector
signed char __a,
4505 vector
signed char __b) {
4506 return ~(__a &
__b);
4509 static vector
signed char __ATTRS_o_ai vec_nand(vector
signed char __a,
4510 vector
bool char __b) {
4511 return ~(__a &
__b);
4514 static vector
signed char __ATTRS_o_ai vec_nand(vector
bool char __a,
4515 vector
signed char __b) {
4516 return ~(__a &
__b);
4519 static vector
unsigned char __ATTRS_o_ai vec_nand(vector
unsigned char __a,
4520 vector
unsigned char __b) {
4521 return ~(__a &
__b);
4524 static vector
unsigned char __ATTRS_o_ai vec_nand(vector
unsigned char __a,
4525 vector
bool char __b) {
4526 return ~(__a &
__b);
4530 static vector
unsigned char __ATTRS_o_ai vec_nand(vector
bool char __a,
4531 vector
unsigned char __b) {
4532 return ~(__a &
__b);
4535 static vector
bool char __ATTRS_o_ai vec_nand(vector
bool char __a,
4536 vector
bool char __b) {
4537 return ~(__a &
__b);
4540 static vector
signed short __ATTRS_o_ai vec_nand(vector
signed short __a,
4541 vector
signed short __b) {
4542 return ~(__a &
__b);
4545 static vector
signed short __ATTRS_o_ai vec_nand(vector
signed short __a,
4546 vector
bool short __b) {
4547 return ~(__a &
__b);
4550 static vector
signed short __ATTRS_o_ai vec_nand(vector
bool short __a,
4551 vector
signed short __b) {
4552 return ~(__a &
__b);
4555 static vector
unsigned short __ATTRS_o_ai vec_nand(vector
unsigned short __a,
4556 vector
unsigned short __b) {
4557 return ~(__a &
__b);
4560 static vector
unsigned short __ATTRS_o_ai vec_nand(vector
unsigned short __a,
4561 vector
bool short __b) {
4562 return ~(__a &
__b);
4566 static vector
bool short __ATTRS_o_ai vec_nand(vector
bool short __a,
4567 vector
bool short __b) {
4568 return ~(__a &
__b);
4572 static vector
signed int __ATTRS_o_ai vec_nand(vector
signed int __a,
4573 vector
signed int __b) {
4574 return ~(__a &
__b);
4577 static vector
signed int __ATTRS_o_ai vec_nand(vector
signed int __a,
4578 vector
bool int __b) {
4579 return ~(__a &
__b);
4582 static vector
signed int __ATTRS_o_ai vec_nand(vector
bool int __a,
4583 vector
signed int __b) {
4584 return ~(__a &
__b);
4587 static vector
unsigned int __ATTRS_o_ai vec_nand(vector
unsigned int __a,
4588 vector
unsigned int __b) {
4589 return ~(__a &
__b);
4592 static vector
unsigned int __ATTRS_o_ai vec_nand(vector
unsigned int __a,
4593 vector
bool int __b) {
4594 return ~(__a &
__b);
4597 static vector
unsigned int __ATTRS_o_ai vec_nand(vector
bool int __a,
4598 vector
unsigned int __b) {
4599 return ~(__a &
__b);
4602 static vector
bool int __ATTRS_o_ai vec_nand(vector
bool int __a,
4603 vector
bool int __b) {
4604 return ~(__a &
__b);
4608 vec_nand(vector
signed long long __a, vector
signed long long __b) {
4609 return ~(__a &
__b);
4613 vec_nand(vector
signed long long __a, vector
bool long long __b) {
4614 return ~(__a &
__b);
4618 vec_nand(vector
bool long long __a, vector
signed long long __b) {
4619 return ~(__a &
__b);
4623 vec_nand(vector
unsigned long long __a, vector
unsigned long long __b) {
4624 return ~(__a &
__b);
4628 vec_nand(vector
unsigned long long __a, vector
bool long long __b) {
4629 return ~(__a &
__b);
4633 vec_nand(vector
bool long long __a, vector
unsigned long long __b) {
4634 return ~(__a &
__b);
4638 vec_nand(vector
bool long long __a, vector
bool long long __b) {
4639 return ~(__a &
__b);
4648 vec_nmadd(vector
float __a, vector
float __b, vector
float __c) {
4649 return __builtin_vsx_xvnmaddasp(__a, __b, __c);
4653 vec_nmadd(vector
double __a, vector
double __b, vector
double __c) {
4654 return __builtin_vsx_xvnmaddadp(__a, __b, __c);
4663 return __builtin_vsx_xvnmsubasp(__a, __b, __c);
4665 return __builtin_altivec_vnmsubfp(__a, __b, __c);
4671 vec_nmsub(vector
double __a, vector
double __b, vector
double __c) {
4672 return __builtin_vsx_xvnmsubadp(__a, __b, __c);
4679 vec_vnmsubfp(vector
float __a, vector
float __b, vector
float __c) {
4680 return __builtin_altivec_vnmsubfp(__a, __b, __c);
4685 #define __builtin_altivec_vnor vec_nor
4688 vector
signed char __b) {
4689 return ~(__a |
__b);
4693 vector
unsigned char __b) {
4694 return ~(__a |
__b);
4698 vector
bool char __b) {
4699 return ~(__a |
__b);
4703 return ~(__a |
__b);
4707 vector
unsigned short __b) {
4708 return ~(__a |
__b);
4712 vector
bool short __b) {
4713 return ~(__a |
__b);
4717 return ~(__a |
__b);
4721 vector
unsigned int __b) {
4722 return ~(__a |
__b);
4726 vector
bool int __b) {
4727 return ~(__a |
__b);
4731 vector
unsigned int __res =
4732 ~((vector
unsigned int)__a | (vector
unsigned int)
__b);
4733 return (vector
float)__res;
4738 vec_nor(vector
double __a, vector
double __b) {
4739 vector
unsigned long long __res =
4740 ~((vector
unsigned long long)__a | (vector
unsigned long long)
__b);
4741 return (vector
double)__res;
4748 vector
signed char __b) {
4749 return ~(__a |
__b);
4753 vector
unsigned char __b) {
4754 return ~(__a |
__b);
4758 vector
bool char __b) {
4759 return ~(__a |
__b);
4763 return ~(__a |
__b);
4767 vector
unsigned short __b) {
4768 return ~(__a |
__b);
4772 vector
bool short __b) {
4773 return ~(__a |
__b);
4777 return ~(__a |
__b);
4781 vector
unsigned int __b) {
4782 return ~(__a |
__b);
4786 vector
bool int __b) {
4787 return ~(__a |
__b);
4791 vector
unsigned int __res =
4792 ~((vector
unsigned int)__a | (vector
unsigned int)
__b);
4793 return (vector
float)__res;
4798 vec_nor(vector
signed long long __a, vector
signed long long __b) {
4799 return ~(__a |
__b);
4803 vec_nor(vector
unsigned long long __a, vector
unsigned long long __b) {
4804 return ~(__a |
__b);
4808 vector
bool long long __b) {
4809 return ~(__a |
__b);
4815 #define __builtin_altivec_vor vec_or
4818 vector
signed char __b) {
4823 vector
signed char __b) {
4824 return (vector
signed char)__a |
__b;
4828 vector
bool char __b) {
4829 return __a | (vector
signed char)__b;
4833 vector
unsigned char __b) {
4838 vector
unsigned char __b) {
4839 return (vector
unsigned char)__a |
__b;
4843 vector
bool char __b) {
4844 return __a | (vector
unsigned char)__b;
4848 vector
bool char __b) {
4858 return (vector
short)__a |
__b;
4862 vector
bool short __b) {
4863 return __a | (vector short)__b;
4867 vector
unsigned short __b) {
4872 vector
unsigned short __b) {
4873 return (vector
unsigned short)__a |
__b;
4877 vector
bool short __b) {
4878 return __a | (vector
unsigned short)__b;
4882 vector
bool short __b) {
4891 return (vector
int)__a |
__b;
4895 return __a | (vector int)__b;
4899 vector
unsigned int __b) {
4904 vector
unsigned int __b) {
4905 return (vector
unsigned int)__a |
__b;
4909 vector
bool int __b) {
4910 return __a | (vector
unsigned int)__b;
4914 vector
bool int __b) {
4919 vector
unsigned int __res =
4920 (vector
unsigned int)__a | (vector
unsigned int)
__b;
4921 return (vector
float)__res;
4925 vector
unsigned int __res =
4926 (vector
unsigned int)__a | (vector
unsigned int)
__b;
4927 return (vector
float)__res;
4931 vector
unsigned int __res =
4932 (vector
unsigned int)__a | (vector
unsigned int)
__b;
4933 return (vector
float)__res;
4938 vector
double __b) {
4939 return (vector
unsigned long long)__a | (vector
unsigned long long)__b;
4943 vector
bool long long __b) {
4944 return (vector
unsigned long long)__a | (vector
unsigned long long)__b;
4948 vector
unsigned long long __res =
4949 (vector
unsigned long long)__a | (vector
unsigned long long)
__b;
4950 return (vector
double)__res;
4954 vec_or(vector
signed long long __a, vector
signed long long __b) {
4959 vec_or(vector
bool long long __a, vector
signed long long __b) {
4960 return (vector
signed long long)__a |
__b;
4964 vector
bool long long __b) {
4965 return __a | (vector
signed long long)__b;
4969 vec_or(vector
unsigned long long __a, vector
unsigned long long __b) {
4974 vec_or(vector
bool long long __a, vector
unsigned long long __b) {
4975 return (vector
unsigned long long)__a |
__b;
4979 vec_or(vector
unsigned long long __a, vector
bool long long __b) {
4980 return __a | (vector
unsigned long long)__b;
4984 vector
bool long long __b) {
4989 #ifdef __POWER8_VECTOR__
4990 static vector
signed char __ATTRS_o_ai vec_orc(vector
signed char __a,
4991 vector
signed char __b) {
4995 static vector
signed char __ATTRS_o_ai vec_orc(vector
signed char __a,
4996 vector
bool char __b) {
5000 static vector
signed char __ATTRS_o_ai vec_orc(vector
bool char __a,
5001 vector
signed char __b) {
5005 static vector
unsigned char __ATTRS_o_ai vec_orc(vector
unsigned char __a,
5006 vector
unsigned char __b) {
5010 static vector
unsigned char __ATTRS_o_ai vec_orc(vector
unsigned char __a,
5011 vector
bool char __b) {
5015 static vector
unsigned char __ATTRS_o_ai vec_orc(vector
bool char __a,
5016 vector
unsigned char __b) {
5020 static vector
bool char __ATTRS_o_ai vec_orc(vector
bool char __a,
5021 vector
bool char __b) {
5025 static vector
signed short __ATTRS_o_ai vec_orc(vector
signed short __a,
5026 vector
signed short __b) {
5030 static vector
signed short __ATTRS_o_ai vec_orc(vector
signed short __a,
5031 vector
bool short __b) {
5035 static vector
signed short __ATTRS_o_ai vec_orc(vector
bool short __a,
5036 vector
signed short __b) {
5040 static vector
unsigned short __ATTRS_o_ai vec_orc(vector
unsigned short __a,
5041 vector
unsigned short __b) {
5045 static vector
unsigned short __ATTRS_o_ai vec_orc(vector
unsigned short __a,
5046 vector
bool short __b) {
5051 vec_orc(vector
bool short __a, vector
unsigned short __b) {
5055 static vector
bool short __ATTRS_o_ai vec_orc(vector
bool short __a,
5056 vector
bool short __b) {
5060 static vector
signed int __ATTRS_o_ai vec_orc(vector
signed int __a,
5061 vector
signed int __b) {
5065 static vector
signed int __ATTRS_o_ai vec_orc(vector
signed int __a,
5066 vector
bool int __b) {
5070 static vector
signed int __ATTRS_o_ai vec_orc(vector
bool int __a,
5071 vector
signed int __b) {
5075 static vector
unsigned int __ATTRS_o_ai vec_orc(vector
unsigned int __a,
5076 vector
unsigned int __b) {
5080 static vector
unsigned int __ATTRS_o_ai vec_orc(vector
unsigned int __a,
5081 vector
bool int __b) {
5085 static vector
unsigned int __ATTRS_o_ai vec_orc(vector
bool int __a,
5086 vector
unsigned int __b) {
5090 static vector
bool int __ATTRS_o_ai vec_orc(vector
bool int __a,
5091 vector
bool int __b) {
5096 vec_orc(vector
signed long long __a, vector
signed long long __b) {
5100 static vector
signed long long __ATTRS_o_ai vec_orc(vector
signed long long __a,
5101 vector
bool long long __b) {
5106 vec_orc(vector
bool long long __a, vector
signed long long __b) {
5111 vec_orc(vector
unsigned long long __a, vector
unsigned long long __b) {
5116 vec_orc(vector
unsigned long long __a, vector
bool long long __b) {
5121 vec_orc(vector
bool long long __a, vector
unsigned long long __b) {
5126 vec_orc(vector
bool long long __a, vector
bool long long __b) {
5134 vector
signed char __b) {
5139 vector
signed char __b) {
5140 return (vector
signed char)__a |
__b;
5144 vector
bool char __b) {
5145 return __a | (vector
signed char)__b;
5149 vector
unsigned char __b) {
5154 vector
unsigned char __b) {
5155 return (vector
unsigned char)__a |
__b;
5159 vector
bool char __b) {
5160 return __a | (vector
unsigned char)__b;
5164 vector
bool char __b) {
5174 return (vector
short)__a |
__b;
5178 vector
bool short __b) {
5179 return __a | (vector short)__b;
5183 vector
unsigned short __b) {
5188 vector
unsigned short __b) {
5189 return (vector
unsigned short)__a |
__b;
5193 vector
bool short __b) {
5194 return __a | (vector
unsigned short)__b;
5198 vector
bool short __b) {
5207 return (vector
int)__a |
__b;
5211 return __a | (vector int)__b;
5215 vector
unsigned int __b) {
5220 vector
unsigned int __b) {
5221 return (vector
unsigned int)__a |
__b;
5225 vector
bool int __b) {
5226 return __a | (vector
unsigned int)__b;
5230 vector
bool int __b) {
5235 vector
unsigned int __res =
5236 (vector
unsigned int)__a | (vector
unsigned int)
__b;
5237 return (vector
float)__res;
5242 vector
unsigned int __res =
5243 (vector
unsigned int)__a | (vector
unsigned int)
__b;
5244 return (vector
float)__res;
5248 vector
bool int __b) {
5249 vector
unsigned int __res =
5250 (vector
unsigned int)__a | (vector
unsigned int)
__b;
5251 return (vector
float)__res;
5256 vec_vor(vector
signed long long __a, vector
signed long long __b) {
5261 vec_vor(vector
bool long long __a, vector
signed long long __b) {
5262 return (vector
signed long long)__a |
__b;
5266 vector
bool long long __b) {
5267 return __a | (vector
signed long long)__b;
5271 vec_vor(vector
unsigned long long __a, vector
unsigned long long __b) {
5276 vec_vor(vector
bool long long __a, vector
unsigned long long __b) {
5277 return (vector
unsigned long long)__a |
__b;
5281 vec_vor(vector
unsigned long long __a, vector
bool long long __b) {
5282 return __a | (vector
unsigned long long)__b;
5286 vector
bool long long __b) {
5297 vector
signed short __b) {
5298 #ifdef __LITTLE_ENDIAN__
5299 return (vector
signed char)
vec_perm(
5301 (vector
unsigned char)(0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
5302 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
5304 return (vector
signed char)
vec_perm(
5306 (vector
unsigned char)(0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
5307 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
5312 vector
unsigned short __b) {
5313 #ifdef __LITTLE_ENDIAN__
5314 return (vector
unsigned char)
vec_perm(
5316 (vector
unsigned char)(0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
5317 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
5319 return (vector
unsigned char)
vec_perm(
5321 (vector
unsigned char)(0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
5322 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
5327 vector
bool short __b) {
5328 #ifdef __LITTLE_ENDIAN__
5331 (vector
unsigned char)(0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
5332 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
5336 (vector
unsigned char)(0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
5337 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
5342 #ifdef __LITTLE_ENDIAN__
5345 (vector
unsigned char)(0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
5346 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
5350 (vector
unsigned char)(0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
5351 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
5356 vector
unsigned int __b) {
5357 #ifdef __LITTLE_ENDIAN__
5358 return (vector
unsigned short)
vec_perm(
5360 (vector
unsigned char)(0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
5361 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
5363 return (vector
unsigned short)
vec_perm(
5365 (vector
unsigned char)(0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
5366 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
5371 vector
bool int __b) {
5372 #ifdef __LITTLE_ENDIAN__
5373 return (vector
bool short)
vec_perm(
5375 (vector
unsigned char)(0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
5376 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
5378 return (vector
bool short)
vec_perm(
5380 (vector
unsigned char)(0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
5381 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
5387 vector
signed long long __b) {
5388 #ifdef __LITTLE_ENDIAN__
5389 return (vector
signed int)
vec_perm(
5391 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0B,
5392 0x10, 0x11, 0x12, 0x13, 0x18, 0x19, 0x1A, 0x1B));
5394 return (vector
signed int)
vec_perm(
5396 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D, 0x0E, 0x0F,
5397 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F));
5401 vec_pack(vector
unsigned long long __a, vector
unsigned long long __b) {
5402 #ifdef __LITTLE_ENDIAN__
5403 return (vector
unsigned int)
vec_perm(
5405 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0B,
5406 0x10, 0x11, 0x12, 0x13, 0x18, 0x19, 0x1A, 0x1B));
5408 return (vector
unsigned int)
vec_perm(
5410 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D, 0x0E, 0x0F,
5411 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F));
5416 vector
bool long long __b) {
5417 #ifdef __LITTLE_ENDIAN__
5420 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0B,
5421 0x10, 0x11, 0x12, 0x13, 0x18, 0x19, 0x1A, 0x1B));
5425 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D, 0x0E, 0x0F,
5426 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F));
5434 #define __builtin_altivec_vpkuhum vec_vpkuhum
5437 vector
signed short __b) {
5438 #ifdef __LITTLE_ENDIAN__
5439 return (vector
signed char)
vec_perm(
5441 (vector
unsigned char)(0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
5442 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
5444 return (vector
signed char)
vec_perm(
5446 (vector
unsigned char)(0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
5447 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
5453 #ifdef __LITTLE_ENDIAN__
5454 return (vector
unsigned char)
vec_perm(
5456 (vector
unsigned char)(0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
5457 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
5459 return (vector
unsigned char)
vec_perm(
5461 (vector
unsigned char)(0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
5462 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
5467 vector
bool short __b) {
5468 #ifdef __LITTLE_ENDIAN__
5471 (vector
unsigned char)(0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
5472 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
5476 (vector
unsigned char)(0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
5477 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
5483 #define __builtin_altivec_vpkuwum vec_vpkuwum
5486 #ifdef __LITTLE_ENDIAN__
5489 (vector
unsigned char)(0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
5490 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
5494 (vector
unsigned char)(0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
5495 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
5500 vector
unsigned int __b) {
5501 #ifdef __LITTLE_ENDIAN__
5502 return (vector
unsigned short)
vec_perm(
5504 (vector
unsigned char)(0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
5505 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
5507 return (vector
unsigned short)
vec_perm(
5509 (vector
unsigned char)(0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
5510 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
5515 vector
bool int __b) {
5516 #ifdef __LITTLE_ENDIAN__
5517 return (vector
bool short)
vec_perm(
5519 (vector
unsigned char)(0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
5520 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
5522 return (vector
bool short)
vec_perm(
5524 (vector
unsigned char)(0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
5525 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
5531 #ifdef __POWER8_VECTOR__
5532 #define __builtin_altivec_vpkudum vec_vpkudum
5534 static vector
int __ATTRS_o_ai vec_vpkudum(vector
long long __a,
5535 vector
long long __b) {
5536 #ifdef __LITTLE_ENDIAN__
5539 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0B,
5540 0x10, 0x11, 0x12, 0x13, 0x18, 0x19, 0x1A, 0x1B));
5544 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D, 0x0E, 0x0F,
5545 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F));
5550 vec_vpkudum(vector
unsigned long long __a, vector
unsigned long long __b) {
5551 #ifdef __LITTLE_ENDIAN__
5552 return (vector
unsigned int)
vec_perm(
5554 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0B,
5555 0x10, 0x11, 0x12, 0x13, 0x18, 0x19, 0x1A, 0x1B));
5557 return (vector
unsigned int)
vec_perm(
5559 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D, 0x0E, 0x0F,
5560 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F));
5564 static vector
bool int __ATTRS_o_ai vec_vpkudum(vector
bool long long __a,
5565 vector
bool long long __b) {
5566 #ifdef __LITTLE_ENDIAN__
5568 (vector
long long)__a, (vector
long long)__b,
5569 (vector
unsigned char)(0x00, 0x01, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0B,
5570 0x10, 0x11, 0x12, 0x13, 0x18, 0x19, 0x1A, 0x1B));
5573 (vector
long long)__a, (vector
long long)__b,
5574 (vector
unsigned char)(0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D, 0x0E, 0x0F,
5575 0x14, 0x15, 0x16, 0x17, 0x1C, 0x1D, 0x1E, 0x1F));
5583 vec_packpx(vector
unsigned int __a, vector
unsigned int __b) {
5584 #ifdef __LITTLE_ENDIAN__
5585 return (vector pixel)__builtin_altivec_vpkpx(__b, __a);
5587 return (vector pixel)__builtin_altivec_vpkpx(__a, __b);
5594 vec_vpkpx(vector
unsigned int __a, vector
unsigned int __b) {
5595 #ifdef __LITTLE_ENDIAN__
5596 return (vector pixel)__builtin_altivec_vpkpx(__b, __a);
5598 return (vector pixel)__builtin_altivec_vpkpx(__a, __b);
5606 #ifdef __LITTLE_ENDIAN__
5607 return __builtin_altivec_vpkshss(__b, __a);
5609 return __builtin_altivec_vpkshss(__a, __b);
5614 vector
unsigned short __b) {
5615 #ifdef __LITTLE_ENDIAN__
5616 return __builtin_altivec_vpkuhus(__b, __a);
5618 return __builtin_altivec_vpkuhus(__a, __b);
5624 #ifdef __LITTLE_ENDIAN__
5625 return __builtin_altivec_vpkswss(__b, __a);
5627 return __builtin_altivec_vpkswss(__a, __b);
5632 vector
unsigned int __b) {
5633 #ifdef __LITTLE_ENDIAN__
5634 return __builtin_altivec_vpkuwus(__b, __a);
5636 return __builtin_altivec_vpkuwus(__a, __b);
5640 #ifdef __POWER8_VECTOR__
5642 vector
long long __b) {
5643 #ifdef __LITTLE_ENDIAN__
5644 return __builtin_altivec_vpksdss(__b, __a);
5646 return __builtin_altivec_vpksdss(__a, __b);
5651 vec_packs(vector
unsigned long long __a, vector
unsigned long long __b) {
5652 #ifdef __LITTLE_ENDIAN__
5653 return __builtin_altivec_vpkudus(__b, __a);
5655 return __builtin_altivec_vpkudus(__a, __b);
5662 static vector
signed char __attribute__((__always_inline__))
5663 vec_vpkshss(vector
short __a, vector
short __b) {
5664 #ifdef __LITTLE_ENDIAN__
5665 return __builtin_altivec_vpkshss(__b, __a);
5667 return __builtin_altivec_vpkshss(__a, __b);
5673 #ifdef __POWER8_VECTOR__
5674 static vector
int __ATTRS_o_ai vec_vpksdss(vector
long long __a,
5675 vector
long long __b) {
5676 #ifdef __LITTLE_ENDIAN__
5677 return __builtin_altivec_vpksdss(__b, __a);
5679 return __builtin_altivec_vpksdss(__a, __b);
5686 static vector
unsigned char __attribute__((__always_inline__))
5687 vec_vpkuhus(vector
unsigned short __a, vector
unsigned short __b) {
5688 #ifdef __LITTLE_ENDIAN__
5689 return __builtin_altivec_vpkuhus(__b, __a);
5691 return __builtin_altivec_vpkuhus(__a, __b);
5697 #ifdef __POWER8_VECTOR__
5698 static vector
unsigned int __attribute__((__always_inline__))
5699 vec_vpkudus(vector
unsigned long long __a, vector
unsigned long long __b) {
5700 #ifdef __LITTLE_ENDIAN__
5701 return __builtin_altivec_vpkudus(__b, __a);
5703 return __builtin_altivec_vpkudus(__a, __b);
5710 static vector
signed short __attribute__((__always_inline__))
5711 vec_vpkswss(vector
int __a, vector
int __b) {
5712 #ifdef __LITTLE_ENDIAN__
5713 return __builtin_altivec_vpkswss(__b, __a);
5715 return __builtin_altivec_vpkswss(__a, __b);
5721 static vector
unsigned short __attribute__((__always_inline__))
5722 vec_vpkuwus(vector
unsigned int __a, vector
unsigned int __b) {
5723 #ifdef __LITTLE_ENDIAN__
5724 return __builtin_altivec_vpkuwus(__b, __a);
5726 return __builtin_altivec_vpkuwus(__a, __b);
5734 #ifdef __LITTLE_ENDIAN__
5735 return __builtin_altivec_vpkshus(__b, __a);
5737 return __builtin_altivec_vpkshus(__a, __b);
5742 vector
unsigned short __b) {
5743 #ifdef __LITTLE_ENDIAN__
5744 return __builtin_altivec_vpkuhus(__b, __a);
5746 return __builtin_altivec_vpkuhus(__a, __b);
5752 #ifdef __LITTLE_ENDIAN__
5753 return __builtin_altivec_vpkswus(__b, __a);
5755 return __builtin_altivec_vpkswus(__a, __b);
5760 vector
unsigned int __b) {
5761 #ifdef __LITTLE_ENDIAN__
5762 return __builtin_altivec_vpkuwus(__b, __a);
5764 return __builtin_altivec_vpkuwus(__a, __b);
5768 #ifdef __POWER8_VECTOR__
5770 vector
long long __b) {
5771 #ifdef __LITTLE_ENDIAN__
5772 return __builtin_altivec_vpksdus(__b, __a);
5774 return __builtin_altivec_vpksdus(__a, __b);
5779 vec_packsu(vector
unsigned long long __a, vector
unsigned long long __b) {
5780 #ifdef __LITTLE_ENDIAN__
5781 return __builtin_altivec_vpkudus(__b, __a);
5783 return __builtin_altivec_vpkudus(__a, __b);
5792 #ifdef __LITTLE_ENDIAN__
5793 return __builtin_altivec_vpkshus(__b, __a);
5795 return __builtin_altivec_vpkshus(__a, __b);
5801 #ifdef __LITTLE_ENDIAN__
5802 return __builtin_altivec_vpkuhus(__b, __a);
5804 return __builtin_altivec_vpkuhus(__a, __b);
5812 #ifdef __LITTLE_ENDIAN__
5813 return __builtin_altivec_vpkswus(__b, __a);
5815 return __builtin_altivec_vpkswus(__a, __b);
5820 vector
unsigned int __b) {
5821 #ifdef __LITTLE_ENDIAN__
5822 return __builtin_altivec_vpkuwus(__b, __a);
5824 return __builtin_altivec_vpkuwus(__a, __b);
5830 #ifdef __POWER8_VECTOR__
5831 static vector
unsigned int __ATTRS_o_ai vec_vpksdus(vector
long long __a,
5832 vector
long long __b) {
5833 #ifdef __LITTLE_ENDIAN__
5834 return __builtin_altivec_vpksdus(__b, __a);
5836 return __builtin_altivec_vpksdus(__a, __b);
5852 vector
signed char __b,
5853 vector
unsigned char __c) {
5854 #ifdef __LITTLE_ENDIAN__
5855 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
5856 255, 255, 255, 255, 255, 255, 255, 255};
5858 return (vector
signed char)__builtin_altivec_vperm_4si((vector
int)__b,
5859 (vector
int)__a, __d);
5861 return (vector
signed char)__builtin_altivec_vperm_4si((vector
int)__a,
5862 (vector
int)__b, __c);
5867 vector
unsigned char __b,
5868 vector
unsigned char __c) {
5869 #ifdef __LITTLE_ENDIAN__
5870 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
5871 255, 255, 255, 255, 255, 255, 255, 255};
5873 return (vector
unsigned char)__builtin_altivec_vperm_4si(
5874 (vector
int)__b, (vector
int)__a, __d);
5876 return (vector
unsigned char)__builtin_altivec_vperm_4si(
5877 (vector
int)__a, (vector
int)__b, __c);
5882 vector
bool char __b,
5883 vector
unsigned char __c) {
5884 #ifdef __LITTLE_ENDIAN__
5885 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
5886 255, 255, 255, 255, 255, 255, 255, 255};
5888 return (vector
bool char)__builtin_altivec_vperm_4si((vector
int)__b,
5889 (vector
int)__a, __d);
5891 return (vector
bool char)__builtin_altivec_vperm_4si((vector
int)__a,
5892 (vector
int)__b, __c);
5897 vector
signed short __b,
5898 vector
unsigned char __c) {
5899 #ifdef __LITTLE_ENDIAN__
5900 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
5901 255, 255, 255, 255, 255, 255, 255, 255};
5903 return (vector
signed short)__builtin_altivec_vperm_4si((vector
int)__b,
5904 (vector
int)__a, __d);
5906 return (vector
signed short)__builtin_altivec_vperm_4si((vector
int)__a,
5907 (vector
int)__b, __c);
5912 vector
unsigned short __b,
5913 vector
unsigned char __c) {
5914 #ifdef __LITTLE_ENDIAN__
5915 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
5916 255, 255, 255, 255, 255, 255, 255, 255};
5918 return (vector
unsigned short)__builtin_altivec_vperm_4si(
5919 (vector
int)__b, (vector
int)__a, __d);
5921 return (vector
unsigned short)__builtin_altivec_vperm_4si(
5922 (vector
int)__a, (vector
int)__b, __c);
5927 vector
bool short __b,
5928 vector
unsigned char __c) {
5929 #ifdef __LITTLE_ENDIAN__
5930 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
5931 255, 255, 255, 255, 255, 255, 255, 255};
5933 return (vector
bool short)__builtin_altivec_vperm_4si((vector
int)__b,
5934 (vector
int)__a, __d);
5936 return (vector
bool short)__builtin_altivec_vperm_4si((vector
int)__a,
5937 (vector
int)__b, __c);
5942 vector
unsigned char __c) {
5943 #ifdef __LITTLE_ENDIAN__
5944 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
5945 255, 255, 255, 255, 255, 255, 255, 255};
5947 return (vector pixel)__builtin_altivec_vperm_4si((vector
int)__b,
5948 (vector
int)__a, __d);
5950 return (vector pixel)__builtin_altivec_vperm_4si((vector
int)__a,
5951 (vector
int)__b, __c);
5956 vector
signed int __b,
5957 vector
unsigned char __c) {
5958 #ifdef __LITTLE_ENDIAN__
5959 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
5960 255, 255, 255, 255, 255, 255, 255, 255};
5962 return (vector
signed int)__builtin_altivec_vperm_4si(__b, __a, __d);
5964 return (vector
signed int)__builtin_altivec_vperm_4si(__a, __b, __c);
5969 vector
unsigned int __b,
5970 vector
unsigned char __c) {
5971 #ifdef __LITTLE_ENDIAN__
5972 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
5973 255, 255, 255, 255, 255, 255, 255, 255};
5975 return (vector
unsigned int)__builtin_altivec_vperm_4si((vector
int)__b,
5976 (vector
int)__a, __d);
5978 return (vector
unsigned int)__builtin_altivec_vperm_4si((vector
int)__a,
5979 (vector
int)__b, __c);
5984 vector
bool int __b,
5985 vector
unsigned char __c) {
5986 #ifdef __LITTLE_ENDIAN__
5987 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
5988 255, 255, 255, 255, 255, 255, 255, 255};
5990 return (vector
bool int)__builtin_altivec_vperm_4si((vector
int)__b,
5991 (vector
int)__a, __d);
5993 return (vector
bool int)__builtin_altivec_vperm_4si((vector
int)__a,
5994 (vector
int)__b, __c);
5999 vector
unsigned char __c) {
6000 #ifdef __LITTLE_ENDIAN__
6001 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6002 255, 255, 255, 255, 255, 255, 255, 255};
6004 return (vector
float)__builtin_altivec_vperm_4si((vector
int)__b,
6005 (vector
int)__a, __d);
6007 return (vector
float)__builtin_altivec_vperm_4si((vector
int)__a,
6008 (vector
int)__b, __c);
6014 vector
signed long long __b,
6015 vector
unsigned char __c) {
6016 #ifdef __LITTLE_ENDIAN__
6017 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6018 255, 255, 255, 255, 255, 255, 255, 255};
6020 return (vector
signed long long)__builtin_altivec_vperm_4si(
6021 (vector
int)__b, (vector
int)__a, __d);
6023 return (vector
signed long long)__builtin_altivec_vperm_4si(
6024 (vector
int)__a, (vector
int)__b, __c);
6029 vec_perm(vector
unsigned long long __a, vector
unsigned long long __b,
6030 vector
unsigned char __c) {
6031 #ifdef __LITTLE_ENDIAN__
6032 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6033 255, 255, 255, 255, 255, 255, 255, 255};
6035 return (vector
unsigned long long)__builtin_altivec_vperm_4si(
6036 (vector
int)__b, (vector
int)__a, __d);
6038 return (vector
unsigned long long)__builtin_altivec_vperm_4si(
6039 (vector
int)__a, (vector
int)__b, __c);
6044 vec_perm(vector
bool long long __a, vector
bool long long __b,
6045 vector
unsigned char __c) {
6046 #ifdef __LITTLE_ENDIAN__
6047 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6048 255, 255, 255, 255, 255, 255, 255, 255};
6050 return (vector
bool long long)__builtin_altivec_vperm_4si(
6051 (vector
int)__b, (vector
int)__a, __d);
6053 return (vector
bool long long)__builtin_altivec_vperm_4si(
6054 (vector
int)__a, (vector
int)__b, __c);
6059 vector
unsigned char __c) {
6060 #ifdef __LITTLE_ENDIAN__
6061 vector
unsigned char __d = {255, 255, 255, 255, 255, 255, 255, 255,
6062 255, 255, 255, 255, 255, 255, 255, 255};
6064 return (vector
double)__builtin_altivec_vperm_4si((vector
int)__b,
6065 (vector
int)__a, __d);
6067 return (vector
double)__builtin_altivec_vperm_4si((vector
int)__a,
6068 (vector
int)__b, __c);
6076 vector
signed char __b,
6077 vector
unsigned char __c) {
6082 vector
unsigned char __b,
6083 vector
unsigned char __c) {
6088 vector
bool char __b,
6089 vector
unsigned char __c) {
6094 vector
unsigned char __c) {
6099 vector
unsigned short __b,
6100 vector
unsigned char __c) {
6105 vector
bool short __b,
6106 vector
unsigned char __c) {
6111 vector
unsigned char __c) {
6116 vector
unsigned char __c) {
6121 vector
unsigned int __b,
6122 vector
unsigned char __c) {
6127 vector
bool int __b,
6128 vector
unsigned char __c) {
6133 vector
unsigned char __c) {
6139 vector
long long __b,
6140 vector
unsigned char __c) {
6145 vec_vperm(vector
unsigned long long __a, vector
unsigned long long __b,
6146 vector
unsigned char __c) {
6152 vector
unsigned char __c) {
6162 return __builtin_vsx_xvresp(__a);
6164 return __builtin_altivec_vrefp(__a);
6170 return __builtin_vsx_xvredp(__a);
6177 vec_vrefp(vector
float __a) {
6178 return __builtin_altivec_vrefp(__a);
6184 vector
unsigned char __b) {
6185 return (vector
signed char)__builtin_altivec_vrlb((vector
char)__a, __b);
6189 vector
unsigned char __b) {
6190 return (vector
unsigned char)__builtin_altivec_vrlb((vector
char)__a, __b);
6194 vector
unsigned short __b) {
6195 return __builtin_altivec_vrlh(__a, __b);
6199 vector
unsigned short __b) {
6200 return (vector
unsigned short)__builtin_altivec_vrlh((vector
short)__a, __b);
6204 return __builtin_altivec_vrlw(__a, __b);
6208 vector
unsigned int __b) {
6209 return (vector
unsigned int)__builtin_altivec_vrlw((vector
int)__a, __b);
6212 #ifdef __POWER8_VECTOR__
6214 vec_rl(vector
signed long long __a, vector
unsigned long long __b) {
6215 return __builtin_altivec_vrld(__a, __b);
6219 vec_rl(vector
unsigned long long __a, vector
unsigned long long __b) {
6220 return __builtin_altivec_vrld(__a, __b);
6227 vector
unsigned char __b) {
6228 return (vector
signed char)__builtin_altivec_vrlb((vector
char)__a, __b);
6232 vector
unsigned char __b) {
6233 return (vector
unsigned char)__builtin_altivec_vrlb((vector
char)__a, __b);
6239 vector
unsigned short __b) {
6240 return __builtin_altivec_vrlh(__a, __b);
6244 vector
unsigned short __b) {
6245 return (vector
unsigned short)__builtin_altivec_vrlh((vector
short)__a, __b);
6251 vector
unsigned int __b) {
6252 return __builtin_altivec_vrlw(__a, __b);
6256 vector
unsigned int __b) {
6257 return (vector
unsigned int)__builtin_altivec_vrlw((vector
int)__a, __b);
6264 return __builtin_vsx_xvrspi(__a);
6266 return __builtin_altivec_vrfin(__a);
6272 return __builtin_vsx_xvrdpi(__a);
6278 vec_rint(vector
float __a) {
6279 return __builtin_vsx_xvrspic(__a);
6283 vec_rint(vector
double __a) {
6284 return __builtin_vsx_xvrdpic(__a);
6289 static vector
float __ATTRS_o_ai vec_nearbyint(vector
float __a) {
6290 return __builtin_vsx_xvrspi(__a);
6293 static vector
double __ATTRS_o_ai vec_nearbyint(vector
double __a) {
6294 return __builtin_vsx_xvrdpi(__a);
6301 vec_vrfin(vector
float __a) {
6302 return __builtin_altivec_vrfin(__a);
6308 static vector
float __ATTRS_o_ai vec_sqrt(vector
float __a) {
6309 return __builtin_vsx_xvsqrtsp(__a);
6312 static vector
double __ATTRS_o_ai vec_sqrt(vector
double __a) {
6313 return __builtin_vsx_xvsqrtdp(__a);
6322 return __builtin_vsx_xvrsqrtesp(__a);
6324 return __builtin_altivec_vrsqrtefp(__a);
6330 return __builtin_vsx_xvrsqrtedp(__a);
6337 vec_vrsqrtefp(vector
float __a) {
6338 return __builtin_altivec_vrsqrtefp(__a);
6343 #define __builtin_altivec_vsel_4si vec_sel
6346 vector
signed char __b,
6347 vector
unsigned char __c) {
6348 return (__a & ~(vector
signed char)__c) | (__b & (vector
signed char)__c);
6352 vector
signed char __b,
6353 vector
bool char __c) {
6354 return (__a & ~(vector
signed char)__c) | (__b & (vector
signed char)__c);
6358 vector
unsigned char __b,
6359 vector
unsigned char __c) {
6360 return (__a & ~__c) | (__b &
__c);
6364 vector
unsigned char __b,
6365 vector
bool char __c) {
6366 return (__a & ~(vector
unsigned char)__c) | (__b & (vector
unsigned char)__c);
6370 vector
bool char __b,
6371 vector
unsigned char __c) {
6372 return (__a & ~(vector
bool char)__c) | (__b & (vector
bool char)__c);
6376 vector
bool char __b,
6377 vector
bool char __c) {
6378 return (__a & ~__c) | (__b &
__c);
6382 vector
unsigned short __c) {
6383 return (__a & ~(vector
short)__c) | (__b & (vector short)__c);
6387 vector
bool short __c) {
6388 return (__a & ~(vector
short)__c) | (__b & (vector short)__c);
6392 vector
unsigned short __b,
6393 vector
unsigned short __c) {
6394 return (__a & ~__c) | (__b &
__c);
6398 vector
unsigned short __b,
6399 vector
bool short __c) {
6400 return (__a & ~(vector
unsigned short)__c) |
6401 (__b & (vector
unsigned short)__c);
6405 vector
bool short __b,
6406 vector
unsigned short __c) {
6407 return (__a & ~(vector
bool short)__c) | (__b & (vector
bool short)__c);
6411 vector
bool short __b,
6412 vector
bool short __c) {
6413 return (__a & ~__c) | (__b &
__c);
6417 vector
unsigned int __c) {
6418 return (__a & ~(vector
int)__c) | (__b & (vector int)__c);
6422 vector
bool int __c) {
6423 return (__a & ~(vector
int)__c) | (__b & (vector int)__c);
6427 vector
unsigned int __b,
6428 vector
unsigned int __c) {
6429 return (__a & ~__c) | (__b &
__c);
6433 vector
unsigned int __b,
6434 vector
bool int __c) {
6435 return (__a & ~(vector
unsigned int)__c) | (__b & (vector
unsigned int)__c);
6439 vector
bool int __b,
6440 vector
unsigned int __c) {
6441 return (__a & ~(vector
bool int)__c) | (__b & (vector
bool int)__c);
6445 vector
bool int __b,
6446 vector
bool int __c) {
6447 return (__a & ~__c) | (__b &
__c);
6451 vector
unsigned int __c) {
6452 vector
int __res = ((vector int)__a & ~(vector
int)
__c) |
6453 ((vector
int)__b & (vector int)__c);
6454 return (vector
float)__res;
6458 vector
bool int __c) {
6459 vector
int __res = ((vector int)__a & ~(vector
int)
__c) |
6460 ((vector
int)__b & (vector int)__c);
6461 return (vector
float)__res;
6466 vector
bool long long __c) {
6467 vector
long long __res = ((vector
long long)__a & ~(vector
long long)
__c) |
6468 ((vector
long long)__b & (vector
long long)__c);
6469 return (vector
double)__res;
6473 vector
unsigned long long __c) {
6474 vector
long long __res = ((vector
long long)__a & ~(vector
long long)
__c) |
6475 ((vector
long long)__b & (vector
long long)__c);
6476 return (vector
double)__res;
6483 vector
signed char __b,
6484 vector
unsigned char __c) {
6485 return (__a & ~(vector
signed char)__c) | (__b & (vector
signed char)__c);
6489 vector
signed char __b,
6490 vector
bool char __c) {
6491 return (__a & ~(vector
signed char)__c) | (__b & (vector
signed char)__c);
6495 vector
unsigned char __b,
6496 vector
unsigned char __c) {
6497 return (__a & ~__c) | (__b &
__c);
6501 vector
unsigned char __b,
6502 vector
bool char __c) {
6503 return (__a & ~(vector
unsigned char)__c) | (__b & (vector
unsigned char)__c);
6507 vector
bool char __b,
6508 vector
unsigned char __c) {
6509 return (__a & ~(vector
bool char)__c) | (__b & (vector
bool char)__c);
6513 vector
bool char __b,
6514 vector
bool char __c) {
6515 return (__a & ~__c) | (__b &
__c);
6519 vector
unsigned short __c) {
6520 return (__a & ~(vector
short)__c) | (__b & (vector short)__c);
6524 vector
bool short __c) {
6525 return (__a & ~(vector
short)__c) | (__b & (vector short)__c);
6529 vector
unsigned short __b,
6530 vector
unsigned short __c) {
6531 return (__a & ~__c) | (__b &
__c);
6535 vector
unsigned short __b,
6536 vector
bool short __c) {
6537 return (__a & ~(vector
unsigned short)__c) |
6538 (__b & (vector
unsigned short)__c);
6542 vector
bool short __b,
6543 vector
unsigned short __c) {
6544 return (__a & ~(vector
bool short)__c) | (__b & (vector
bool short)__c);
6548 vector
bool short __b,
6549 vector
bool short __c) {
6550 return (__a & ~__c) | (__b &
__c);
6554 vector
unsigned int __c) {
6555 return (__a & ~(vector
int)__c) | (__b & (vector int)__c);
6559 vector
bool int __c) {
6560 return (__a & ~(vector
int)__c) | (__b & (vector int)__c);
6564 vector
unsigned int __b,
6565 vector
unsigned int __c) {
6566 return (__a & ~__c) | (__b &
__c);
6570 vector
unsigned int __b,
6571 vector
bool int __c) {
6572 return (__a & ~(vector
unsigned int)__c) | (__b & (vector
unsigned int)__c);
6576 vector
bool int __b,
6577 vector
unsigned int __c) {
6578 return (__a & ~(vector
bool int)__c) | (__b & (vector
bool int)__c);
6582 vector
bool int __b,
6583 vector
bool int __c) {
6584 return (__a & ~__c) | (__b &
__c);
6588 vector
unsigned int __c) {
6589 vector
int __res = ((vector int)__a & ~(vector
int)
__c) |
6590 ((vector
int)__b & (vector int)__c);
6591 return (vector
float)__res;
6595 vector
bool int __c) {
6596 vector
int __res = ((vector int)__a & ~(vector
int)
__c) |
6597 ((vector
int)__b & (vector int)__c);
6598 return (vector
float)__res;
6604 vector
unsigned char __b) {
6605 return __a << (vector
signed char)__b;
6609 vector
unsigned char __b) {
6614 vector
unsigned short __b) {
6615 return __a << (vector short)__b;
6619 vector
unsigned short __b) {
6624 return __a << (vector int)__b;
6628 vector
unsigned int __b) {
6632 #ifdef __POWER8_VECTOR__
6634 vec_sl(vector
signed long long __a, vector
unsigned long long __b) {
6635 return __a << (vector
long long)__b;
6639 vec_sl(vector
unsigned long long __a, vector
unsigned long long __b) {
6646 #define __builtin_altivec_vslb vec_vslb
6649 vector
unsigned char __b) {
6654 vector
unsigned char __b) {
6660 #define __builtin_altivec_vslh vec_vslh
6663 vector
unsigned short __b) {
6668 vector
unsigned short __b) {
6674 #define __builtin_altivec_vslw vec_vslw
6677 vector
unsigned int __b) {
6682 vector
unsigned int __b) {
6688 #define __builtin_altivec_vsldoi_4si vec_sld
6691 vector
signed char __b,
6692 unsigned const int __c) {
6693 unsigned char __d = __c & 0x0F;
6694 #ifdef __LITTLE_ENDIAN__
6697 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6698 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6699 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6704 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6705 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6706 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6711 vector
unsigned char __b,
6712 unsigned const int __c) {
6713 unsigned char __d = __c & 0x0F;
6714 #ifdef __LITTLE_ENDIAN__
6717 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6718 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6719 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6724 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6725 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6726 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6731 vector
bool char __b,
6732 unsigned const int __c) {
6733 unsigned char __d = __c & 0x0F;
6734 #ifdef __LITTLE_ENDIAN__
6737 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6738 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6739 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6744 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6745 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6746 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6751 vector
signed short __b,
6752 unsigned const int __c) {
6753 unsigned char __d = __c & 0x0F;
6754 #ifdef __LITTLE_ENDIAN__
6757 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6758 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6759 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6764 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6765 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6766 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6771 vector
unsigned short __b,
6772 unsigned const int __c) {
6773 unsigned char __d = __c & 0x0F;
6774 #ifdef __LITTLE_ENDIAN__
6777 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6778 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6779 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6784 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6785 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6786 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6791 vector
bool short __b,
6792 unsigned const int __c) {
6793 unsigned char __d = __c & 0x0F;
6794 #ifdef __LITTLE_ENDIAN__
6797 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6798 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6799 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6804 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6805 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6806 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6811 unsigned const int __c) {
6812 unsigned char __d = __c & 0x0F;
6813 #ifdef __LITTLE_ENDIAN__
6816 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6817 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6818 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6823 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6824 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6825 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6830 vector
signed int __b,
6831 unsigned const int __c) {
6832 unsigned char __d = __c & 0x0F;
6833 #ifdef __LITTLE_ENDIAN__
6836 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6837 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6838 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6843 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6844 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6845 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6850 vector
unsigned int __b,
6851 unsigned const int __c) {
6852 unsigned char __d = __c & 0x0F;
6853 #ifdef __LITTLE_ENDIAN__
6856 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6857 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6858 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6863 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6864 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6865 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6870 vector
bool int __b,
6871 unsigned const int __c) {
6872 unsigned char __d = __c & 0x0F;
6873 #ifdef __LITTLE_ENDIAN__
6876 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6877 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6878 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6883 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6884 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6885 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6890 unsigned const int __c) {
6891 unsigned char __d = __c & 0x0F;
6892 #ifdef __LITTLE_ENDIAN__
6895 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6896 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6897 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6902 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6903 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6904 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6911 vector
signed char __b,
6912 unsigned char __c) {
6913 unsigned char __d = __c & 0x0F;
6914 #ifdef __LITTLE_ENDIAN__
6917 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6918 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6919 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6924 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6925 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6926 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6931 vector
unsigned char __b,
6932 unsigned char __c) {
6933 unsigned char __d = __c & 0x0F;
6934 #ifdef __LITTLE_ENDIAN__
6937 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6938 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6939 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6944 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6945 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6946 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6951 unsigned char __c) {
6952 unsigned char __d = __c & 0x0F;
6953 #ifdef __LITTLE_ENDIAN__
6956 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6957 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6958 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6963 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6964 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6965 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6970 vector
unsigned short __b,
6971 unsigned char __c) {
6972 unsigned char __d = __c & 0x0F;
6973 #ifdef __LITTLE_ENDIAN__
6976 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6977 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6978 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
6983 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
6984 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
6985 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
6990 unsigned char __c) {
6991 unsigned char __d = __c & 0x0F;
6992 #ifdef __LITTLE_ENDIAN__
6995 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
6996 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
6997 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
7002 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
7003 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
7004 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
7009 unsigned char __c) {
7010 unsigned char __d = __c & 0x0F;
7011 #ifdef __LITTLE_ENDIAN__
7014 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
7015 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
7016 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
7021 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
7022 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
7023 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
7028 vector
unsigned int __b,
7029 unsigned char __c) {
7030 unsigned char __d = __c & 0x0F;
7031 #ifdef __LITTLE_ENDIAN__
7034 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
7035 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
7036 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
7041 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
7042 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
7043 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
7048 unsigned char __c) {
7049 unsigned char __d = __c & 0x0F;
7050 #ifdef __LITTLE_ENDIAN__
7053 (vector
unsigned char)(16 - __d, 17 - __d, 18 - __d, 19 - __d, 20 - __d,
7054 21 - __d, 22 - __d, 23 - __d, 24 - __d, 25 - __d,
7055 26 - __d, 27 - __d, 28 - __d, 29 - __d, 30 - __d,
7060 (vector
unsigned char)(__d, __d + 1, __d + 2, __d + 3, __d + 4, __d + 5,
7061 __d + 6, __d + 7, __d + 8, __d + 9, __d + 10,
7062 __d + 11, __d + 12, __d + 13, __d + 14, __d + 15));
7069 vector
unsigned char __b) {
7070 return (vector
signed char)__builtin_altivec_vsl((vector
int)__a,
7075 vector
unsigned short __b) {
7076 return (vector
signed char)__builtin_altivec_vsl((vector
int)__a,
7081 vector
unsigned int __b) {
7082 return (vector
signed char)__builtin_altivec_vsl((vector
int)__a,
7087 vector
unsigned char __b) {
7088 return (vector
unsigned char)__builtin_altivec_vsl((vector
int)__a,
7093 vector
unsigned short __b) {
7094 return (vector
unsigned char)__builtin_altivec_vsl((vector
int)__a,
7099 vector
unsigned int __b) {
7100 return (vector
unsigned char)__builtin_altivec_vsl((vector
int)__a,
7105 vector
unsigned char __b) {
7106 return (vector
bool char)__builtin_altivec_vsl((vector
int)__a,
7111 vector
unsigned short __b) {
7112 return (vector
bool char)__builtin_altivec_vsl((vector
int)__a,
7117 vector
unsigned int __b) {
7118 return (vector
bool char)__builtin_altivec_vsl((vector
int)__a,
7123 vector
unsigned char __b) {
7124 return (vector
short)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7128 vector
unsigned short __b) {
7129 return (vector
short)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7133 vector
unsigned int __b) {
7134 return (vector
short)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7138 vector
unsigned char __b) {
7139 return (vector
unsigned short)__builtin_altivec_vsl((vector
int)__a,
7144 vector
unsigned short __b) {
7145 return (vector
unsigned short)__builtin_altivec_vsl((vector
int)__a,
7150 vector
unsigned int __b) {
7151 return (vector
unsigned short)__builtin_altivec_vsl((vector
int)__a,
7156 vector
unsigned char __b) {
7157 return (vector
bool short)__builtin_altivec_vsl((vector
int)__a,
7162 vector
unsigned short __b) {
7163 return (vector
bool short)__builtin_altivec_vsl((vector
int)__a,
7168 vector
unsigned int __b) {
7169 return (vector
bool short)__builtin_altivec_vsl((vector
int)__a,
7174 vector
unsigned char __b) {
7175 return (vector pixel)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7179 vector
unsigned short __b) {
7180 return (vector pixel)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7184 vector
unsigned int __b) {
7185 return (vector pixel)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7189 vector
unsigned char __b) {
7190 return (vector
int)__builtin_altivec_vsl(__a, (vector
int)__b);
7194 vector
unsigned short __b) {
7195 return (vector
int)__builtin_altivec_vsl(__a, (vector
int)__b);
7199 vector
unsigned int __b) {
7200 return (vector
int)__builtin_altivec_vsl(__a, (vector
int)__b);
7204 vector
unsigned char __b) {
7205 return (vector
unsigned int)__builtin_altivec_vsl((vector
int)__a,
7210 vector
unsigned short __b) {
7211 return (vector
unsigned int)__builtin_altivec_vsl((vector
int)__a,
7216 vector
unsigned int __b) {
7217 return (vector
unsigned int)__builtin_altivec_vsl((vector
int)__a,
7222 vector
unsigned char __b) {
7223 return (vector
bool int)__builtin_altivec_vsl((vector
int)__a,
7228 vector
unsigned short __b) {
7229 return (vector
bool int)__builtin_altivec_vsl((vector
int)__a,
7234 vector
unsigned int __b) {
7235 return (vector
bool int)__builtin_altivec_vsl((vector
int)__a,
7242 vector
unsigned char __b) {
7243 return (vector
signed char)__builtin_altivec_vsl((vector
int)__a,
7248 vector
unsigned short __b) {
7249 return (vector
signed char)__builtin_altivec_vsl((vector
int)__a,
7254 vector
unsigned int __b) {
7255 return (vector
signed char)__builtin_altivec_vsl((vector
int)__a,
7260 vector
unsigned char __b) {
7261 return (vector
unsigned char)__builtin_altivec_vsl((vector
int)__a,
7266 vector
unsigned short __b) {
7267 return (vector
unsigned char)__builtin_altivec_vsl((vector
int)__a,
7272 vector
unsigned int __b) {
7273 return (vector
unsigned char)__builtin_altivec_vsl((vector
int)__a,
7278 vector
unsigned char __b) {
7279 return (vector
bool char)__builtin_altivec_vsl((vector
int)__a,
7284 vector
unsigned short __b) {
7285 return (vector
bool char)__builtin_altivec_vsl((vector
int)__a,
7290 vector
unsigned int __b) {
7291 return (vector
bool char)__builtin_altivec_vsl((vector
int)__a,
7296 vector
unsigned char __b) {
7297 return (vector
short)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7301 vector
unsigned short __b) {
7302 return (vector
short)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7306 vector
unsigned int __b) {
7307 return (vector
short)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7311 vector
unsigned char __b) {
7312 return (vector
unsigned short)__builtin_altivec_vsl((vector
int)__a,
7317 vector
unsigned short __b) {
7318 return (vector
unsigned short)__builtin_altivec_vsl((vector
int)__a,
7323 vector
unsigned int __b) {
7324 return (vector
unsigned short)__builtin_altivec_vsl((vector
int)__a,
7329 vector
unsigned char __b) {
7330 return (vector
bool short)__builtin_altivec_vsl((vector
int)__a,
7335 vector
unsigned short __b) {
7336 return (vector
bool short)__builtin_altivec_vsl((vector
int)__a,
7341 vector
unsigned int __b) {
7342 return (vector
bool short)__builtin_altivec_vsl((vector
int)__a,
7347 vector
unsigned char __b) {
7348 return (vector pixel)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7352 vector
unsigned short __b) {
7353 return (vector pixel)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7357 vector
unsigned int __b) {
7358 return (vector pixel)__builtin_altivec_vsl((vector
int)__a, (vector
int)__b);
7362 vector
unsigned char __b) {
7363 return (vector
int)__builtin_altivec_vsl(__a, (vector
int)__b);
7367 vector
unsigned short __b) {
7368 return (vector
int)__builtin_altivec_vsl(__a, (vector
int)__b);
7372 vector
unsigned int __b) {
7373 return (vector
int)__builtin_altivec_vsl(__a, (vector
int)__b);
7377 vector
unsigned char __b) {
7378 return (vector
unsigned int)__builtin_altivec_vsl((vector
int)__a,
7383 vector
unsigned short __b) {
7384 return (vector
unsigned int)__builtin_altivec_vsl((vector
int)__a,
7389 vector
unsigned int __b) {
7390 return (vector
unsigned int)__builtin_altivec_vsl((vector
int)__a,
7395 vector
unsigned char __b) {
7396 return (vector
bool int)__builtin_altivec_vsl((vector
int)__a,
7401 vector
unsigned short __b) {
7402 return (vector
bool int)__builtin_altivec_vsl((vector
int)__a,
7407 vector
unsigned int __b) {
7408 return (vector
bool int)__builtin_altivec_vsl((vector
int)__a,
7415 vector
signed char __b) {
7416 return (vector
signed char)__builtin_altivec_vslo((vector
int)__a,
7421 vector
unsigned char __b) {
7422 return (vector
signed char)__builtin_altivec_vslo((vector
int)__a,
7427 vector
signed char __b) {
7428 return (vector
unsigned char)__builtin_altivec_vslo((vector
int)__a,
7433 vector
unsigned char __b) {
7434 return (vector
unsigned char)__builtin_altivec_vslo((vector
int)__a,
7439 vector
signed char __b) {
7440 return (vector
short)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7444 vector
unsigned char __b) {
7445 return (vector
short)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7449 vector
signed char __b) {
7450 return (vector
unsigned short)__builtin_altivec_vslo((vector
int)__a,
7455 vector
unsigned char __b) {
7456 return (vector
unsigned short)__builtin_altivec_vslo((vector
int)__a,
7461 vector
signed char __b) {
7462 return (vector pixel)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7466 vector
unsigned char __b) {
7467 return (vector pixel)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7471 return (vector
int)__builtin_altivec_vslo(__a, (vector
int)__b);
7475 vector
unsigned char __b) {
7476 return (vector
int)__builtin_altivec_vslo(__a, (vector
int)__b);
7480 vector
signed char __b) {
7481 return (vector
unsigned int)__builtin_altivec_vslo((vector
int)__a,
7486 vector
unsigned char __b) {
7487 return (vector
unsigned int)__builtin_altivec_vslo((vector
int)__a,
7492 vector
signed char __b) {
7493 return (vector
float)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7497 vector
unsigned char __b) {
7498 return (vector
float)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7504 vector
signed char __b) {
7505 return (vector
signed char)__builtin_altivec_vslo((vector
int)__a,
7510 vector
unsigned char __b) {
7511 return (vector
signed char)__builtin_altivec_vslo((vector
int)__a,
7516 vector
signed char __b) {
7517 return (vector
unsigned char)__builtin_altivec_vslo((vector
int)__a,
7522 vector
unsigned char __b) {
7523 return (vector
unsigned char)__builtin_altivec_vslo((vector
int)__a,
7528 vector
signed char __b) {
7529 return (vector
short)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7533 vector
unsigned char __b) {
7534 return (vector
short)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7538 vector
signed char __b) {
7539 return (vector
unsigned short)__builtin_altivec_vslo((vector
int)__a,
7544 vector
unsigned char __b) {
7545 return (vector
unsigned short)__builtin_altivec_vslo((vector
int)__a,
7550 vector
signed char __b) {
7551 return (vector pixel)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7555 vector
unsigned char __b) {
7556 return (vector pixel)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7560 vector
signed char __b) {
7561 return (vector
int)__builtin_altivec_vslo(__a, (vector
int)__b);
7565 vector
unsigned char __b) {
7566 return (vector
int)__builtin_altivec_vslo(__a, (vector
int)__b);
7570 vector
signed char __b) {
7571 return (vector
unsigned int)__builtin_altivec_vslo((vector
int)__a,
7576 vector
unsigned char __b) {
7577 return (vector
unsigned int)__builtin_altivec_vslo((vector
int)__a,
7582 vector
signed char __b) {
7583 return (vector
float)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7587 vector
unsigned char __b) {
7588 return (vector
float)__builtin_altivec_vslo((vector
int)__a, (vector
int)__b);
7594 unsigned const int __b) {
7595 return vec_perm(__a, __a, (vector
unsigned char)(__b & 0x0F));
7599 unsigned const int __b) {
7600 return vec_perm(__a, __a, (vector
unsigned char)(__b & 0x0F));
7604 unsigned const int __b) {
7605 return vec_perm(__a, __a, (vector
unsigned char)(__b & 0x0F));
7609 unsigned const int __b) {
7610 unsigned char b0 = (__b & 0x07) * 2;
7611 unsigned char b1 = b0 + 1;
7613 (vector
unsigned char)(b0, b1, b0, b1, b0, b1, b0, b1,
7614 b0, b1, b0, b1, b0, b1, b0, b1));
7618 unsigned const int __b) {
7619 unsigned char b0 = (__b & 0x07) * 2;
7620 unsigned char b1 = b0 + 1;
7622 (vector
unsigned char)(b0, b1, b0, b1, b0, b1, b0, b1,
7623 b0, b1, b0, b1, b0, b1, b0, b1));
7627 unsigned const int __b) {
7628 unsigned char b0 = (__b & 0x07) * 2;
7629 unsigned char b1 = b0 + 1;
7631 (vector
unsigned char)(b0, b1, b0, b1, b0, b1, b0, b1,
7632 b0, b1, b0, b1, b0, b1, b0, b1));
7636 unsigned const int __b) {
7637 unsigned char b0 = (__b & 0x07) * 2;
7638 unsigned char b1 = b0 + 1;
7640 (vector
unsigned char)(b0, b1, b0, b1, b0, b1, b0, b1,
7641 b0, b1, b0, b1, b0, b1, b0, b1));
7645 unsigned const int __b) {
7646 unsigned char b0 = (__b & 0x03) * 4;
7647 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3;
7649 (vector
unsigned char)(b0, b1, b2, b3, b0, b1, b2, b3, b0,
7650 b1, b2, b3, b0, b1, b2, b3));
7654 unsigned const int __b) {
7655 unsigned char b0 = (__b & 0x03) * 4;
7656 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3;
7658 (vector
unsigned char)(b0, b1, b2, b3, b0, b1, b2, b3, b0,
7659 b1, b2, b3, b0, b1, b2, b3));
7663 unsigned const int __b) {
7664 unsigned char b0 = (__b & 0x03) * 4;
7665 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3;
7667 (vector
unsigned char)(b0, b1, b2, b3, b0, b1, b2, b3, b0,
7668 b1, b2, b3, b0, b1, b2, b3));
7672 unsigned const int __b) {
7673 unsigned char b0 = (__b & 0x03) * 4;
7674 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3;
7676 (vector
unsigned char)(b0, b1, b2, b3, b0, b1, b2, b3, b0,
7677 b1, b2, b3, b0, b1, b2, b3));
7682 unsigned const int __b) {
7683 unsigned char b0 = (__b & 0x01) * 8;
7684 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3, b4 = b0 + 4,
7685 b5 = b0 + 5, b6 = b0 + 6, b7 = b0 + 7;
7687 (vector
unsigned char)(b0, b1, b2, b3, b4, b5, b6, b7,
7688 b0, b1, b2, b3, b4, b5, b6, b7));
7691 unsigned const int __b) {
7692 unsigned char b0 = (__b & 0x01) * 8;
7693 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3, b4 = b0 + 4,
7694 b5 = b0 + 5, b6 = b0 + 6, b7 = b0 + 7;
7696 (vector
unsigned char)(b0, b1, b2, b3, b4, b5, b6, b7,
7697 b0, b1, b2, b3, b4, b5, b6, b7));
7700 vec_splat(vector
signed long long __a,
unsigned const int __b) {
7701 unsigned char b0 = (__b & 0x01) * 8;
7702 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3, b4 = b0 + 4,
7703 b5 = b0 + 5, b6 = b0 + 6, b7 = b0 + 7;
7705 (vector
unsigned char)(b0, b1, b2, b3, b4, b5, b6, b7,
7706 b0, b1, b2, b3, b4, b5, b6, b7));
7709 vec_splat(vector
unsigned long long __a,
unsigned const int __b) {
7710 unsigned char b0 = (__b & 0x01) * 8;
7711 unsigned char b1 = b0 + 1, b2 = b0 + 2, b3 = b0 + 3, b4 = b0 + 4,
7712 b5 = b0 + 5, b6 = b0 + 6, b7 = b0 + 7;
7714 (vector
unsigned char)(b0, b1, b2, b3, b4, b5, b6, b7,
7715 b0, b1, b2, b3, b4, b5, b6, b7));
7721 #define __builtin_altivec_vspltb vec_vspltb
7724 unsigned char __b) {
7725 return vec_perm(__a, __a, (vector
unsigned char)(__b));
7729 unsigned char __b) {
7730 return vec_perm(__a, __a, (vector
unsigned char)(__b));
7734 unsigned char __b) {
7735 return vec_perm(__a, __a, (vector
unsigned char)(__b));
7740 #define __builtin_altivec_vsplth vec_vsplth
7743 unsigned char __b) {
7745 unsigned char b1 = __b + 1;
7747 (vector
unsigned char)(__b, b1, __b, b1, __b, b1, __b, b1,
7748 __b, b1, __b, b1, __b, b1, __b, b1));
7752 unsigned char __b) {
7754 unsigned char b1 = __b + 1;
7756 (vector
unsigned char)(__b, b1, __b, b1, __b, b1, __b, b1,
7757 __b, b1, __b, b1, __b, b1, __b, b1));
7761 unsigned char __b) {
7763 unsigned char b1 = __b + 1;
7765 (vector
unsigned char)(__b, b1, __b, b1, __b, b1, __b, b1,
7766 __b, b1, __b, b1, __b, b1, __b, b1));
7770 unsigned char __b) {
7772 unsigned char b1 = __b + 1;
7774 (vector
unsigned char)(__b, b1, __b, b1, __b, b1, __b, b1,
7775 __b, b1, __b, b1, __b, b1, __b, b1));
7780 #define __builtin_altivec_vspltw vec_vspltw
7784 unsigned char b1 = __b + 1, b2 = __b + 2, b3 = __b + 3;
7786 (vector
unsigned char)(__b, b1, b2, b3, __b, b1, b2, b3, __b,
7787 b1, b2, b3, __b, b1, b2, b3));
7791 unsigned char __b) {
7793 unsigned char b1 = __b + 1, b2 = __b + 2, b3 = __b + 3;
7795 (vector
unsigned char)(__b, b1, b2, b3, __b, b1, b2, b3, __b,
7796 b1, b2, b3, __b, b1, b2, b3));
7800 unsigned char __b) {
7802 unsigned char b1 = __b + 1, b2 = __b + 2, b3 = __b + 3;
7804 (vector
unsigned char)(__b, b1, b2, b3, __b, b1, b2, b3, __b,
7805 b1, b2, b3, __b, b1, b2, b3));
7809 unsigned char __b) {
7811 unsigned char b1 = __b + 1, b2 = __b + 2, b3 = __b + 3;
7813 (vector
unsigned char)(__b, b1, b2, b3, __b, b1, b2, b3, __b,
7814 b1, b2, b3, __b, b1, b2, b3));
7819 #define __builtin_altivec_vspltisb vec_splat_s8
7823 return (vector
signed char)(__a);
7830 return (vector
signed char)(__a);
7835 #define __builtin_altivec_vspltish vec_splat_s16
7839 return (vector
short)(__a);
7846 return (vector
short)(__a);
7851 #define __builtin_altivec_vspltisw vec_splat_s32
7855 return (vector
int)(__a);
7862 return (vector
int)(__a);
7869 return (vector
unsigned char)(__a);
7876 return (vector
unsigned short)(__a);
7883 return (vector
unsigned int)(__a);
7889 vector
unsigned char __b) {
7890 vector
unsigned char __res = (vector
unsigned char)__a >> __b;
7891 return (vector
signed char)__res;
7895 vector
unsigned char __b) {
7900 vector
unsigned short __b) {
7901 vector
unsigned short __res = (vector
unsigned short)__a >> __b;
7902 return (vector
signed short)__res;
7906 vector
unsigned short __b) {
7911 vector
unsigned int __b) {
7912 vector
unsigned int __res = (vector
unsigned int)__a >> __b;
7913 return (vector
signed int)__res;
7917 vector
unsigned int __b) {
7921 #ifdef __POWER8_VECTOR__
7923 vec_sr(vector
signed long long __a, vector
unsigned long long __b) {
7924 vector
unsigned long long __res = (vector
unsigned long long)__a >> __b;
7925 return (vector
signed long long)__res;
7929 vec_sr(vector
unsigned long long __a, vector
unsigned long long __b) {
7936 #define __builtin_altivec_vsrb vec_vsrb
7939 vector
unsigned char __b) {
7940 return __a >> (vector
signed char)__b;
7944 vector
unsigned char __b) {
7950 #define __builtin_altivec_vsrh vec_vsrh
7953 vector
unsigned short __b) {
7954 return __a >> (vector short)__b;
7958 vector
unsigned short __b) {
7964 #define __builtin_altivec_vsrw vec_vsrw
7967 vector
unsigned int __b) {
7968 return __a >> (vector int)__b;
7972 vector
unsigned int __b) {
7979 vector
unsigned char __b) {
7980 return (vector
signed char)__builtin_altivec_vsrab((vector
char)__a, __b);
7984 vector
unsigned char __b) {
7985 return (vector
unsigned char)__builtin_altivec_vsrab((vector
char)__a, __b);
7989 vector
unsigned short __b) {
7990 return __builtin_altivec_vsrah(__a, (vector
unsigned short)__b);
7994 vector
unsigned short __b) {
7995 return (vector
unsigned short)__builtin_altivec_vsrah((vector
short)__a, __b);
7999 vector
unsigned int __b) {
8000 return __builtin_altivec_vsraw(__a, __b);
8004 vector
unsigned int __b) {
8005 return (vector
unsigned int)__builtin_altivec_vsraw((vector
int)__a, __b);
8008 #ifdef __POWER8_VECTOR__
8010 vec_sra(vector
signed long long __a, vector
unsigned long long __b) {
8015 vec_sra(vector
unsigned long long __a, vector
unsigned long long __b) {
8016 return (vector
unsigned long long)((vector
signed long long)__a >> __b);
8023 vector
unsigned char __b) {
8024 return (vector
signed char)__builtin_altivec_vsrab((vector
char)__a, __b);
8028 vector
unsigned char __b) {
8029 return (vector
unsigned char)__builtin_altivec_vsrab((vector
char)__a, __b);
8035 vector
unsigned short __b) {
8036 return __builtin_altivec_vsrah(__a, (vector
unsigned short)__b);
8040 vector
unsigned short __b) {
8041 return (vector
unsigned short)__builtin_altivec_vsrah((vector
short)__a, __b);
8047 vector
unsigned int __b) {
8048 return __builtin_altivec_vsraw(__a, __b);
8052 vector
unsigned int __b) {
8053 return (vector
unsigned int)__builtin_altivec_vsraw((vector
int)__a, __b);
8059 vector
unsigned char __b) {
8060 return (vector
signed char)__builtin_altivec_vsr((vector
int)__a,
8065 vector
unsigned short __b) {
8066 return (vector
signed char)__builtin_altivec_vsr((vector
int)__a,
8071 vector
unsigned int __b) {
8072 return (vector
signed char)__builtin_altivec_vsr((vector
int)__a,
8077 vector
unsigned char __b) {
8078 return (vector
unsigned char)__builtin_altivec_vsr((vector
int)__a,
8083 vector
unsigned short __b) {
8084 return (vector
unsigned char)__builtin_altivec_vsr((vector
int)__a,
8089 vector
unsigned int __b) {
8090 return (vector
unsigned char)__builtin_altivec_vsr((vector
int)__a,
8095 vector
unsigned char __b) {
8096 return (vector
bool char)__builtin_altivec_vsr((vector
int)__a,
8101 vector
unsigned short __b) {
8102 return (vector
bool char)__builtin_altivec_vsr((vector
int)__a,
8107 vector
unsigned int __b) {
8108 return (vector
bool char)__builtin_altivec_vsr((vector
int)__a,
8113 vector
unsigned char __b) {
8114 return (vector
short)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8118 vector
unsigned short __b) {
8119 return (vector
short)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8123 vector
unsigned int __b) {
8124 return (vector
short)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8128 vector
unsigned char __b) {
8129 return (vector
unsigned short)__builtin_altivec_vsr((vector
int)__a,
8134 vector
unsigned short __b) {
8135 return (vector
unsigned short)__builtin_altivec_vsr((vector
int)__a,
8140 vector
unsigned int __b) {
8141 return (vector
unsigned short)__builtin_altivec_vsr((vector
int)__a,
8146 vector
unsigned char __b) {
8147 return (vector
bool short)__builtin_altivec_vsr((vector
int)__a,
8152 vector
unsigned short __b) {
8153 return (vector
bool short)__builtin_altivec_vsr((vector
int)__a,
8158 vector
unsigned int __b) {
8159 return (vector
bool short)__builtin_altivec_vsr((vector
int)__a,
8164 vector
unsigned char __b) {
8165 return (vector pixel)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8169 vector
unsigned short __b) {
8170 return (vector pixel)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8174 vector
unsigned int __b) {
8175 return (vector pixel)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8179 vector
unsigned char __b) {
8180 return (vector
int)__builtin_altivec_vsr(__a, (vector
int)__b);
8184 vector
unsigned short __b) {
8185 return (vector
int)__builtin_altivec_vsr(__a, (vector
int)__b);
8189 vector
unsigned int __b) {
8190 return (vector
int)__builtin_altivec_vsr(__a, (vector
int)__b);
8194 vector
unsigned char __b) {
8195 return (vector
unsigned int)__builtin_altivec_vsr((vector
int)__a,
8200 vector
unsigned short __b) {
8201 return (vector
unsigned int)__builtin_altivec_vsr((vector
int)__a,
8206 vector
unsigned int __b) {
8207 return (vector
unsigned int)__builtin_altivec_vsr((vector
int)__a,
8212 vector
unsigned char __b) {
8213 return (vector
bool int)__builtin_altivec_vsr((vector
int)__a,
8218 vector
unsigned short __b) {
8219 return (vector
bool int)__builtin_altivec_vsr((vector
int)__a,
8224 vector
unsigned int __b) {
8225 return (vector
bool int)__builtin_altivec_vsr((vector
int)__a,
8232 vector
unsigned char __b) {
8233 return (vector
signed char)__builtin_altivec_vsr((vector
int)__a,
8238 vector
unsigned short __b) {
8239 return (vector
signed char)__builtin_altivec_vsr((vector
int)__a,
8244 vector
unsigned int __b) {
8245 return (vector
signed char)__builtin_altivec_vsr((vector
int)__a,
8250 vector
unsigned char __b) {
8251 return (vector
unsigned char)__builtin_altivec_vsr((vector
int)__a,
8256 vector
unsigned short __b) {
8257 return (vector
unsigned char)__builtin_altivec_vsr((vector
int)__a,
8262 vector
unsigned int __b) {
8263 return (vector
unsigned char)__builtin_altivec_vsr((vector
int)__a,
8268 vector
unsigned char __b) {
8269 return (vector
bool char)__builtin_altivec_vsr((vector
int)__a,
8274 vector
unsigned short __b) {
8275 return (vector
bool char)__builtin_altivec_vsr((vector
int)__a,
8280 vector
unsigned int __b) {
8281 return (vector
bool char)__builtin_altivec_vsr((vector
int)__a,
8286 vector
unsigned char __b) {
8287 return (vector
short)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8291 vector
unsigned short __b) {
8292 return (vector
short)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8296 vector
unsigned int __b) {
8297 return (vector
short)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8301 vector
unsigned char __b) {
8302 return (vector
unsigned short)__builtin_altivec_vsr((vector
int)__a,
8307 vector
unsigned short __b) {
8308 return (vector
unsigned short)__builtin_altivec_vsr((vector
int)__a,
8313 vector
unsigned int __b) {
8314 return (vector
unsigned short)__builtin_altivec_vsr((vector
int)__a,
8319 vector
unsigned char __b) {
8320 return (vector
bool short)__builtin_altivec_vsr((vector
int)__a,
8325 vector
unsigned short __b) {
8326 return (vector
bool short)__builtin_altivec_vsr((vector
int)__a,
8331 vector
unsigned int __b) {
8332 return (vector
bool short)__builtin_altivec_vsr((vector
int)__a,
8337 vector
unsigned char __b) {
8338 return (vector pixel)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8342 vector
unsigned short __b) {
8343 return (vector pixel)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8347 vector
unsigned int __b) {
8348 return (vector pixel)__builtin_altivec_vsr((vector
int)__a, (vector
int)__b);
8352 vector
unsigned char __b) {
8353 return (vector
int)__builtin_altivec_vsr(__a, (vector
int)__b);
8357 vector
unsigned short __b) {
8358 return (vector
int)__builtin_altivec_vsr(__a, (vector
int)__b);
8362 vector
unsigned int __b) {
8363 return (vector
int)__builtin_altivec_vsr(__a, (vector
int)__b);
8367 vector
unsigned char __b) {
8368 return (vector
unsigned int)__builtin_altivec_vsr((vector
int)__a,
8373 vector
unsigned short __b) {
8374 return (vector
unsigned int)__builtin_altivec_vsr((vector
int)__a,
8379 vector
unsigned int __b) {
8380 return (vector
unsigned int)__builtin_altivec_vsr((vector
int)__a,
8385 vector
unsigned char __b) {
8386 return (vector
bool int)__builtin_altivec_vsr((vector
int)__a,
8391 vector
unsigned short __b) {
8392 return (vector
bool int)__builtin_altivec_vsr((vector
int)__a,
8397 vector
unsigned int __b) {
8398 return (vector
bool int)__builtin_altivec_vsr((vector
int)__a,
8405 vector
signed char __b) {
8406 return (vector
signed char)__builtin_altivec_vsro((vector
int)__a,
8411 vector
unsigned char __b) {
8412 return (vector
signed char)__builtin_altivec_vsro((vector
int)__a,
8417 vector
signed char __b) {
8418 return (vector
unsigned char)__builtin_altivec_vsro((vector
int)__a,
8423 vector
unsigned char __b) {
8424 return (vector
unsigned char)__builtin_altivec_vsro((vector
int)__a,
8429 vector
signed char __b) {
8430 return (vector
short)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8434 vector
unsigned char __b) {
8435 return (vector
short)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8439 vector
signed char __b) {
8440 return (vector
unsigned short)__builtin_altivec_vsro((vector
int)__a,
8445 vector
unsigned char __b) {
8446 return (vector
unsigned short)__builtin_altivec_vsro((vector
int)__a,
8451 vector
signed char __b) {
8452 return (vector pixel)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8456 vector
unsigned char __b) {
8457 return (vector pixel)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8461 return (vector
int)__builtin_altivec_vsro(__a, (vector
int)__b);
8465 vector
unsigned char __b) {
8466 return (vector
int)__builtin_altivec_vsro(__a, (vector
int)__b);
8470 vector
signed char __b) {
8471 return (vector
unsigned int)__builtin_altivec_vsro((vector
int)__a,
8476 vector
unsigned char __b) {
8477 return (vector
unsigned int)__builtin_altivec_vsro((vector
int)__a,
8482 vector
signed char __b) {
8483 return (vector
float)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8487 vector
unsigned char __b) {
8488 return (vector
float)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8494 vector
signed char __b) {
8495 return (vector
signed char)__builtin_altivec_vsro((vector
int)__a,
8500 vector
unsigned char __b) {
8501 return (vector
signed char)__builtin_altivec_vsro((vector
int)__a,
8506 vector
signed char __b) {
8507 return (vector
unsigned char)__builtin_altivec_vsro((vector
int)__a,
8512 vector
unsigned char __b) {
8513 return (vector
unsigned char)__builtin_altivec_vsro((vector
int)__a,
8518 vector
signed char __b) {
8519 return (vector
short)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8523 vector
unsigned char __b) {
8524 return (vector
short)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8528 vector
signed char __b) {
8529 return (vector
unsigned short)__builtin_altivec_vsro((vector
int)__a,
8534 vector
unsigned char __b) {
8535 return (vector
unsigned short)__builtin_altivec_vsro((vector
int)__a,
8540 vector
signed char __b) {
8541 return (vector pixel)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8545 vector
unsigned char __b) {
8546 return (vector pixel)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8550 vector
signed char __b) {
8551 return (vector
int)__builtin_altivec_vsro(__a, (vector
int)__b);
8555 vector
unsigned char __b) {
8556 return (vector
int)__builtin_altivec_vsro(__a, (vector
int)__b);
8560 vector
signed char __b) {
8561 return (vector
unsigned int)__builtin_altivec_vsro((vector
int)__a,
8566 vector
unsigned char __b) {
8567 return (vector
unsigned int)__builtin_altivec_vsro((vector
int)__a,
8572 vector
signed char __b) {
8573 return (vector
float)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8577 vector
unsigned char __b) {
8578 return (vector
float)__builtin_altivec_vsro((vector
int)__a, (vector
int)__b);
8584 vector
signed char *__c) {
8585 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8590 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8594 vector
unsigned char *__c) {
8595 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8599 unsigned char *__c) {
8600 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8605 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8609 unsigned char *__c) {
8610 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8614 vector
bool char *__c) {
8615 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8619 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8623 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8627 vector
unsigned short *__c) {
8628 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8632 unsigned short *__c) {
8633 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8637 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8641 unsigned short *__c) {
8642 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8646 vector
bool short *__c) {
8647 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8651 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8655 unsigned short *__c) {
8656 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8660 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8664 __builtin_altivec_stvx(__a, __b, __c);
8668 __builtin_altivec_stvx(__a, __b, __c);
8672 vector
unsigned int *__c) {
8673 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8677 unsigned int *__c) {
8678 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8682 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8686 unsigned int *__c) {
8687 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8691 vector
bool int *__c) {
8692 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8696 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8700 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8706 vector
signed char *__c) {
8707 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8712 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8716 vector
unsigned char *__c) {
8717 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8721 unsigned char *__c) {
8722 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8727 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8731 unsigned char *__c) {
8732 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8736 vector
bool char *__c) {
8737 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8741 vector
short *__c) {
8742 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8746 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8750 vector
unsigned short *__c) {
8751 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8755 unsigned short *__c) {
8756 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8760 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8764 unsigned short *__c) {
8765 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8769 vector
bool short *__c) {
8770 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8774 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8778 unsigned short *__c) {
8779 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8783 vector pixel *__c) {
8784 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8788 __builtin_altivec_stvx(__a, __b, __c);
8792 __builtin_altivec_stvx(__a, __b, __c);
8796 vector
unsigned int *__c) {
8797 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8801 unsigned int *__c) {
8802 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8806 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8810 unsigned int *__c) {
8811 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8815 vector
bool int *__c) {
8816 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8820 vector
float *__c) {
8821 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8825 __builtin_altivec_stvx((vector
int)__a, __b, __c);
8832 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
8836 unsigned char *__c) {
8837 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
8842 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
8846 unsigned char *__c) {
8847 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
8851 __builtin_altivec_stvehx(__a, __b, __c);
8855 unsigned short *__c) {
8856 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8860 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8864 unsigned short *__c) {
8865 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8869 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8873 unsigned short *__c) {
8874 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8878 __builtin_altivec_stvewx(__a, __b, __c);
8882 unsigned int *__c) {
8883 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
8887 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
8891 unsigned int *__c) {
8892 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
8896 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
8903 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
8907 unsigned char *__c) {
8908 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
8913 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
8917 unsigned char *__c) {
8918 __builtin_altivec_stvebx((vector
char)__a, __b, __c);
8924 __builtin_altivec_stvehx(__a, __b, __c);
8928 unsigned short *__c) {
8929 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8934 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8938 unsigned short *__c) {
8939 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8943 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8947 unsigned short *__c) {
8948 __builtin_altivec_stvehx((vector
short)__a, __b, __c);
8954 __builtin_altivec_stvewx(__a, __b, __c);
8958 unsigned int *__c) {
8959 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
8963 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
8967 unsigned int *__c) {
8968 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
8972 __builtin_altivec_stvewx((vector
int)__a, __b, __c);
8978 vector
signed char *__c) {
8979 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
8984 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
8988 vector
unsigned char *__c) {
8989 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
8993 unsigned char *__c) {
8994 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
8999 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9003 unsigned char *__c) {
9004 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9008 vector
bool char *__c) {
9009 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9013 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9017 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9021 vector
unsigned short *__c) {
9022 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9026 unsigned short *__c) {
9027 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9031 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9035 unsigned short *__c) {
9036 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9040 vector
bool short *__c) {
9041 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9045 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9049 unsigned short *__c) {
9050 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9054 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9058 __builtin_altivec_stvxl(__a, __b, __c);
9062 __builtin_altivec_stvxl(__a, __b, __c);
9066 vector
unsigned int *__c) {
9067 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9071 unsigned int *__c) {
9072 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9076 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9080 unsigned int *__c) {
9081 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9085 vector
bool int *__c) {
9086 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9090 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9094 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9100 vector
signed char *__c) {
9101 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9106 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9110 vector
unsigned char *__c) {
9111 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9115 unsigned char *__c) {
9116 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9121 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9125 unsigned char *__c) {
9126 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9130 vector
bool char *__c) {
9131 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9135 vector
short *__c) {
9136 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9140 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9144 vector
unsigned short *__c) {
9145 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9149 unsigned short *__c) {
9150 __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
bool short *__c) {
9164 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9168 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9172 unsigned short *__c) {
9173 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9177 vector pixel *__c) {
9178 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9182 __builtin_altivec_stvxl(__a, __b, __c);
9186 __builtin_altivec_stvxl(__a, __b, __c);
9190 vector
unsigned int *__c) {
9191 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9195 unsigned int *__c) {
9196 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9200 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9204 unsigned int *__c) {
9205 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9209 vector
bool int *__c) {
9210 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9214 vector
float *__c) {
9215 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9219 __builtin_altivec_stvxl((vector
int)__a, __b, __c);
9225 vector
signed char __b) {
9230 vector
signed char __b) {
9231 return (vector
signed char)__a -
__b;
9235 vector
bool char __b) {
9236 return __a - (vector
signed char)__b;
9240 vector
unsigned char __b) {
9245 vector
unsigned char __b) {
9246 return (vector
unsigned char)__a -
__b;
9250 vector
bool char __b) {
9251 return __a - (vector
unsigned char)__b;
9260 return (vector
short)__a -
__b;
9264 vector
bool short __b) {
9265 return __a - (vector short)__b;
9269 vector
unsigned short __b) {
9274 vector
unsigned short __b) {
9275 return (vector
unsigned short)__a -
__b;
9279 vector
bool short __b) {
9280 return __a - (vector
unsigned short)__b;
9288 return (vector
int)__a -
__b;
9292 return __a - (vector int)__b;
9296 vector
unsigned int __b) {
9301 vector
unsigned int __b) {
9302 return (vector
unsigned int)__a -
__b;
9306 vector
bool int __b) {
9307 return __a - (vector
unsigned int)__b;
9310 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
9312 vector
signed __int128 __b) {
9317 vec_sub(vector
unsigned __int128 __a, vector
unsigned __int128 __b) {
9320 #endif // defined(__POWER8_VECTOR__) && defined(__powerpc64__)
9324 vec_sub(vector
signed long long __a, vector
signed long long __b) {
9329 vec_sub(vector
unsigned long long __a, vector
unsigned long long __b) {
9334 vec_sub(vector
double __a, vector
double __b) {
9345 #define __builtin_altivec_vsububm vec_vsububm
9348 vector
signed char __b) {
9353 vector
signed char __b) {
9354 return (vector
signed char)__a -
__b;
9358 vector
bool char __b) {
9359 return __a - (vector
signed char)__b;
9363 vector
unsigned char __b) {
9368 vector
unsigned char __b) {
9369 return (vector
unsigned char)__a -
__b;
9373 vector
bool char __b) {
9374 return __a - (vector
unsigned char)__b;
9379 #define __builtin_altivec_vsubuhm vec_vsubuhm
9388 return (vector
short)__a -
__b;
9392 vector
bool short __b) {
9393 return __a - (vector short)__b;
9403 return (vector
unsigned short)__a -
__b;
9407 vector
bool short __b) {
9408 return __a - (vector
unsigned short)__b;
9413 #define __builtin_altivec_vsubuwm vec_vsubuwm
9421 return (vector
int)__a -
__b;
9425 vector
bool int __b) {
9426 return __a - (vector int)__b;
9430 vector
unsigned int __b) {
9435 vector
unsigned int __b) {
9436 return (vector
unsigned int)__a -
__b;
9440 vector
bool int __b) {
9441 return __a - (vector
unsigned int)__b;
9446 #define __builtin_altivec_vsubfp vec_vsubfp
9449 vec_vsubfp(vector
float __a, vector
float __b) {
9456 vector
unsigned int __b) {
9457 return __builtin_altivec_vsubcuw(__a, __b);
9460 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
9462 vec_subc(vector
unsigned __int128 __a, vector
unsigned __int128 __b) {
9463 return __builtin_altivec_vsubcuq(__a, __b);
9467 vec_subc(vector
signed __int128 __a, vector
signed __int128 __b) {
9468 return __builtin_altivec_vsubcuq(__a, __b);
9470 #endif // defined(__POWER8_VECTOR__) && defined(__powerpc64__)
9474 static vector
unsigned int __attribute__((__always_inline__))
9475 vec_vsubcuw(vector
unsigned int __a, vector
unsigned int __b) {
9476 return __builtin_altivec_vsubcuw(__a, __b);
9482 vector
signed char __b) {
9483 return __builtin_altivec_vsubsbs(__a, __b);
9487 vector
signed char __b) {
9488 return __builtin_altivec_vsubsbs((vector
signed char)__a, __b);
9492 vector
bool char __b) {
9493 return __builtin_altivec_vsubsbs(__a, (vector
signed char)__b);
9497 vector
unsigned char __b) {
9498 return __builtin_altivec_vsububs(__a, __b);
9502 vector
unsigned char __b) {
9503 return __builtin_altivec_vsububs((vector
unsigned char)__a, __b);
9507 vector
bool char __b) {
9508 return __builtin_altivec_vsububs(__a, (vector
unsigned char)__b);
9512 return __builtin_altivec_vsubshs(__a, __b);
9517 return __builtin_altivec_vsubshs((vector
short)__a, __b);
9521 vector
bool short __b) {
9522 return __builtin_altivec_vsubshs(__a, (vector
short)__b);
9526 vector
unsigned short __b) {
9527 return __builtin_altivec_vsubuhs(__a, __b);
9531 vector
unsigned short __b) {
9532 return __builtin_altivec_vsubuhs((vector
unsigned short)__a, __b);
9536 vector
bool short __b) {
9537 return __builtin_altivec_vsubuhs(__a, (vector
unsigned short)__b);
9541 return __builtin_altivec_vsubsws(__a, __b);
9545 return __builtin_altivec_vsubsws((vector
int)__a, __b);
9549 return __builtin_altivec_vsubsws(__a, (vector
int)__b);
9553 vector
unsigned int __b) {
9554 return __builtin_altivec_vsubuws(__a, __b);
9558 vector
unsigned int __b) {
9559 return __builtin_altivec_vsubuws((vector
unsigned int)__a, __b);
9563 vector
bool int __b) {
9564 return __builtin_altivec_vsubuws(__a, (vector
unsigned int)__b);
9570 vector
signed char __b) {
9571 return __builtin_altivec_vsubsbs(__a, __b);
9575 vector
signed char __b) {
9576 return __builtin_altivec_vsubsbs((vector
signed char)__a, __b);
9580 vector
bool char __b) {
9581 return __builtin_altivec_vsubsbs(__a, (vector
signed char)__b);
9587 vector
unsigned char __b) {
9588 return __builtin_altivec_vsububs(__a, __b);
9592 vector
unsigned char __b) {
9593 return __builtin_altivec_vsububs((vector
unsigned char)__a, __b);
9597 vector
bool char __b) {
9598 return __builtin_altivec_vsububs(__a, (vector
unsigned char)__b);
9605 return __builtin_altivec_vsubshs(__a, __b);
9610 return __builtin_altivec_vsubshs((vector
short)__a, __b);
9614 vector
bool short __b) {
9615 return __builtin_altivec_vsubshs(__a, (vector
short)__b);
9622 return __builtin_altivec_vsubuhs(__a, __b);
9627 return __builtin_altivec_vsubuhs((vector
unsigned short)__a, __b);
9631 vector
bool short __b) {
9632 return __builtin_altivec_vsubuhs(__a, (vector
unsigned short)__b);
9638 return __builtin_altivec_vsubsws(__a, __b);
9643 return __builtin_altivec_vsubsws((vector
int)__a, __b);
9647 vector
bool int __b) {
9648 return __builtin_altivec_vsubsws(__a, (vector
int)__b);
9654 vector
unsigned int __b) {
9655 return __builtin_altivec_vsubuws(__a, __b);
9659 vector
unsigned int __b) {
9660 return __builtin_altivec_vsubuws((vector
unsigned int)__a, __b);
9664 vector
bool int __b) {
9665 return __builtin_altivec_vsubuws(__a, (vector
unsigned int)__b);
9668 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
9672 vec_vsubuqm(vector
signed __int128 __a, vector
signed __int128 __b) {
9677 vec_vsubuqm(vector
unsigned __int128 __a, vector
unsigned __int128 __b) {
9684 vec_vsubeuqm(vector
signed __int128 __a, vector
signed __int128 __b,
9685 vector
signed __int128 __c) {
9686 return __builtin_altivec_vsubeuqm(__a, __b, __c);
9690 vec_vsubeuqm(vector
unsigned __int128 __a, vector
unsigned __int128 __b,
9691 vector
unsigned __int128 __c) {
9692 return __builtin_altivec_vsubeuqm(__a, __b, __c);
9698 vec_vsubcuq(vector
signed __int128 __a, vector
signed __int128 __b) {
9699 return __builtin_altivec_vsubcuq(__a, __b);
9703 vec_vsubcuq(vector
unsigned __int128 __a, vector
unsigned __int128 __b) {
9704 return __builtin_altivec_vsubcuq(__a, __b);
9710 vec_vsubecuq(vector
signed __int128 __a, vector
signed __int128 __b,
9711 vector
signed __int128 __c) {
9712 return __builtin_altivec_vsubecuq(__a, __b, __c);
9716 vec_vsubecuq(vector
unsigned __int128 __a, vector
unsigned __int128 __b,
9717 vector
unsigned __int128 __c) {
9718 return __builtin_altivec_vsubecuq(__a, __b, __c);
9720 #endif // defined(__POWER8_VECTOR__) && defined(__powerpc64__)
9726 return __builtin_altivec_vsum4sbs(__a, __b);
9730 vector
unsigned int __b) {
9731 return __builtin_altivec_vsum4ubs(__a, __b);
9736 return __builtin_altivec_vsum4shs(__a, __b);
9742 vec_vsum4sbs(vector
signed char __a, vector
int __b) {
9743 return __builtin_altivec_vsum4sbs(__a, __b);
9748 static vector
unsigned int __attribute__((__always_inline__))
9749 vec_vsum4ubs(vector
unsigned char __a, vector
unsigned int __b) {
9750 return __builtin_altivec_vsum4ubs(__a, __b);
9756 vec_vsum4shs(vector
signed short __a, vector
int __b) {
9757 return __builtin_altivec_vsum4shs(__a, __b);
9769 vec_sum2s(vector
int __a, vector
int __b) {
9770 #ifdef __LITTLE_ENDIAN__
9771 vector
int __c = (vector
signed int)
vec_perm(
9772 __b, __b, (vector
unsigned char)(4, 5, 6, 7, 0, 1, 2, 3, 12, 13, 14, 15,
9774 __c = __builtin_altivec_vsum2sws(__a, __c);
9775 return (vector
signed int)
vec_perm(
9776 __c, __c, (vector
unsigned char)(4, 5, 6, 7, 0, 1, 2, 3, 12, 13, 14, 15,
9779 return __builtin_altivec_vsum2sws(__a, __b);
9786 vec_vsum2sws(vector
int __a, vector
int __b) {
9787 #ifdef __LITTLE_ENDIAN__
9788 vector
int __c = (vector
signed int)
vec_perm(
9789 __b, __b, (vector
unsigned char)(4, 5, 6, 7, 0, 1, 2, 3, 12, 13, 14, 15,
9791 __c = __builtin_altivec_vsum2sws(__a, __c);
9792 return (vector
signed int)
vec_perm(
9793 __c, __c, (vector
unsigned char)(4, 5, 6, 7, 0, 1, 2, 3, 12, 13, 14, 15,
9796 return __builtin_altivec_vsum2sws(__a, __b);
9809 vec_sums(vector
signed int __a, vector
signed int __b) {
9810 #ifdef __LITTLE_ENDIAN__
9811 __b = (vector
signed int)
vec_splat(__b, 3);
9812 __b = __builtin_altivec_vsumsws(__a, __b);
9813 return (vector
signed int)(0, 0, 0, __b[0]);
9815 return __builtin_altivec_vsumsws(__a, __b);
9822 vec_vsumsws(vector
signed int __a, vector
signed int __b) {
9823 #ifdef __LITTLE_ENDIAN__
9824 __b = (vector
signed int)
vec_splat(__b, 3);
9825 __b = __builtin_altivec_vsumsws(__a, __b);
9826 return (vector
signed int)(0, 0, 0, __b[0]);
9828 return __builtin_altivec_vsumsws(__a, __b);
9837 return __builtin_vsx_xvrspiz(__a);
9839 return __builtin_altivec_vrfiz(__a);
9845 return __builtin_vsx_xvrdpiz(__a);
9852 vec_vrfiz(vector
float __a) {
9853 return __builtin_altivec_vrfiz(__a);
9862 #ifdef __LITTLE_ENDIAN__
9863 return __builtin_altivec_vupklsb((vector
char)__a);
9865 return __builtin_altivec_vupkhsb((vector
char)__a);
9870 #ifdef __LITTLE_ENDIAN__
9871 return (vector
bool short)__builtin_altivec_vupklsb((vector
char)__a);
9873 return (vector
bool short)__builtin_altivec_vupkhsb((vector
char)__a);
9878 #ifdef __LITTLE_ENDIAN__
9879 return __builtin_altivec_vupklsh(__a);
9881 return __builtin_altivec_vupkhsh(__a);
9886 #ifdef __LITTLE_ENDIAN__
9887 return (vector
bool int)__builtin_altivec_vupklsh((vector
short)__a);
9889 return (vector
bool int)__builtin_altivec_vupkhsh((vector
short)__a);
9894 #ifdef __LITTLE_ENDIAN__
9895 return (vector
unsigned int)__builtin_altivec_vupklpx((vector
short)__a);
9897 return (vector
unsigned int)__builtin_altivec_vupkhpx((vector
short)__a);
9901 #ifdef __POWER8_VECTOR__
9903 #ifdef __LITTLE_ENDIAN__
9904 return __builtin_altivec_vupklsw(__a);
9906 return __builtin_altivec_vupkhsw(__a);
9911 #ifdef __LITTLE_ENDIAN__
9912 return (vector
bool long long)__builtin_altivec_vupklsw((vector
int)__a);
9914 return (vector
bool long long)__builtin_altivec_vupkhsw((vector
int)__a);
9922 #ifdef __LITTLE_ENDIAN__
9923 return __builtin_altivec_vupklsb((vector
char)__a);
9925 return __builtin_altivec_vupkhsb((vector
char)__a);
9930 #ifdef __LITTLE_ENDIAN__
9931 return (vector
bool short)__builtin_altivec_vupklsb((vector
char)__a);
9933 return (vector
bool short)__builtin_altivec_vupkhsb((vector
char)__a);
9940 #ifdef __LITTLE_ENDIAN__
9941 return __builtin_altivec_vupklsh(__a);
9943 return __builtin_altivec_vupkhsh(__a);
9948 #ifdef __LITTLE_ENDIAN__
9949 return (vector
bool int)__builtin_altivec_vupklsh((vector
short)__a);
9951 return (vector
bool int)__builtin_altivec_vupkhsh((vector
short)__a);
9956 #ifdef __LITTLE_ENDIAN__
9957 return (vector
unsigned int)__builtin_altivec_vupklpx((vector
short)__a);
9959 return (vector
unsigned int)__builtin_altivec_vupkhpx((vector
short)__a);
9965 #ifdef __POWER8_VECTOR__
9966 static vector
long long __ATTRS_o_ai vec_vupkhsw(vector
int __a) {
9967 #ifdef __LITTLE_ENDIAN__
9968 return __builtin_altivec_vupklsw(__a);
9970 return __builtin_altivec_vupkhsw(__a);
9974 static vector
bool long long __ATTRS_o_ai vec_vupkhsw(vector
bool int __a) {
9975 #ifdef __LITTLE_ENDIAN__
9976 return (vector
bool long long)__builtin_altivec_vupklsw((vector
int)__a);
9978 return (vector
bool long long)__builtin_altivec_vupkhsw((vector
int)__a);
9986 #ifdef __LITTLE_ENDIAN__
9987 return __builtin_altivec_vupkhsb((vector
char)__a);
9989 return __builtin_altivec_vupklsb((vector
char)__a);
9994 #ifdef __LITTLE_ENDIAN__
9995 return (vector
bool short)__builtin_altivec_vupkhsb((vector
char)__a);
9997 return (vector
bool short)__builtin_altivec_vupklsb((vector
char)__a);
10002 #ifdef __LITTLE_ENDIAN__
10003 return __builtin_altivec_vupkhsh(__a);
10005 return __builtin_altivec_vupklsh(__a);
10010 #ifdef __LITTLE_ENDIAN__
10011 return (vector
bool int)__builtin_altivec_vupkhsh((vector
short)__a);
10013 return (vector
bool int)__builtin_altivec_vupklsh((vector
short)__a);
10018 #ifdef __LITTLE_ENDIAN__
10019 return (vector
unsigned int)__builtin_altivec_vupkhpx((vector
short)__a);
10021 return (vector
unsigned int)__builtin_altivec_vupklpx((vector
short)__a);
10025 #ifdef __POWER8_VECTOR__
10027 #ifdef __LITTLE_ENDIAN__
10028 return __builtin_altivec_vupkhsw(__a);
10030 return __builtin_altivec_vupklsw(__a);
10035 #ifdef __LITTLE_ENDIAN__
10036 return (vector
bool long long)__builtin_altivec_vupkhsw((vector
int)__a);
10038 return (vector
bool long long)__builtin_altivec_vupklsw((vector
int)__a);
10046 #ifdef __LITTLE_ENDIAN__
10047 return __builtin_altivec_vupkhsb((vector
char)__a);
10049 return __builtin_altivec_vupklsb((vector
char)__a);
10054 #ifdef __LITTLE_ENDIAN__
10055 return (vector
bool short)__builtin_altivec_vupkhsb((vector
char)__a);
10057 return (vector
bool short)__builtin_altivec_vupklsb((vector
char)__a);
10064 #ifdef __LITTLE_ENDIAN__
10065 return __builtin_altivec_vupkhsh(__a);
10067 return __builtin_altivec_vupklsh(__a);
10072 #ifdef __LITTLE_ENDIAN__
10073 return (vector
bool int)__builtin_altivec_vupkhsh((vector
short)__a);
10075 return (vector
bool int)__builtin_altivec_vupklsh((vector
short)__a);
10080 #ifdef __LITTLE_ENDIAN__
10081 return (vector
unsigned int)__builtin_altivec_vupkhpx((vector
short)__a);
10083 return (vector
unsigned int)__builtin_altivec_vupklpx((vector
short)__a);
10089 #ifdef __POWER8_VECTOR__
10090 static vector
long long __ATTRS_o_ai vec_vupklsw(vector
int __a) {
10091 #ifdef __LITTLE_ENDIAN__
10092 return __builtin_altivec_vupkhsw(__a);
10094 return __builtin_altivec_vupklsw(__a);
10098 static vector
bool long long __ATTRS_o_ai vec_vupklsw(vector
bool int __a) {
10099 #ifdef __LITTLE_ENDIAN__
10100 return (vector
bool long long)__builtin_altivec_vupkhsw((vector
int)__a);
10102 return (vector
bool long long)__builtin_altivec_vupklsw((vector
int)__a);
10111 static vector
signed int __ATTRS_o_ai vec_vsx_ld(
int __a,
10112 const vector
signed int *__b) {
10113 return (vector
signed int)__builtin_vsx_lxvw4x(__a, __b);
10117 vec_vsx_ld(
int __a,
const vector
unsigned int *__b) {
10118 return (vector
unsigned int)__builtin_vsx_lxvw4x(__a, __b);
10121 static vector
float __ATTRS_o_ai vec_vsx_ld(
int __a,
const vector
float *__b) {
10122 return (vector
float)__builtin_vsx_lxvw4x(__a, __b);
10126 vec_vsx_ld(
int __a,
const vector
signed long long *__b) {
10127 return (vector
signed long long)__builtin_vsx_lxvd2x(__a, __b);
10131 vec_vsx_ld(
int __a,
const vector
unsigned long long *__b) {
10132 return (vector
unsigned long long)__builtin_vsx_lxvd2x(__a, __b);
10136 const vector
double *__b) {
10137 return (vector
double)__builtin_vsx_lxvd2x(__a, __b);
10146 static void __ATTRS_o_ai vec_vsx_st(vector
signed int __a,
int __b,
10147 vector
signed int *__c) {
10148 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10151 static void __ATTRS_o_ai vec_vsx_st(vector
unsigned int __a,
int __b,
10152 vector
unsigned int *__c) {
10153 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10156 static void __ATTRS_o_ai vec_vsx_st(vector
float __a,
int __b,
10157 vector
float *__c) {
10158 __builtin_vsx_stxvw4x((vector
int)__a, __b, __c);
10161 static void __ATTRS_o_ai vec_vsx_st(vector
signed long long __a,
int __b,
10162 vector
signed long long *__c) {
10163 __builtin_vsx_stxvd2x((vector
double)__a, __b, __c);
10166 static void __ATTRS_o_ai vec_vsx_st(vector
unsigned long long __a,
int __b,
10167 vector
unsigned long long *__c) {
10168 __builtin_vsx_stxvd2x((vector
double)__a, __b, __c);
10171 static void __ATTRS_o_ai vec_vsx_st(vector
double __a,
int __b,
10172 vector
double *__c) {
10173 __builtin_vsx_stxvd2x((vector
double)__a, __b, __c);
10180 #define __builtin_altivec_vxor vec_xor
10183 vector
signed char __b) {
10188 vector
signed char __b) {
10189 return (vector
signed char)__a ^
__b;
10193 vector
bool char __b) {
10194 return __a ^ (vector
signed char)__b;
10198 vector
unsigned char __b) {
10203 vector
unsigned char __b) {
10204 return (vector
unsigned char)__a ^
__b;
10208 vector
bool char __b) {
10209 return __a ^ (vector
unsigned char)__b;
10213 vector
bool char __b) {
10222 vector
short __b) {
10223 return (vector
short)__a ^
__b;
10227 vector
bool short __b) {
10228 return __a ^ (vector short)__b;
10232 vector
unsigned short __b) {
10237 vector
unsigned short __b) {
10238 return (vector
unsigned short)__a ^
__b;
10242 vector
bool short __b) {
10243 return __a ^ (vector
unsigned short)__b;
10247 vector
bool short __b) {
10256 return (vector
int)__a ^
__b;
10260 return __a ^ (vector int)__b;
10264 vector
unsigned int __b) {
10269 vector
unsigned int __b) {
10270 return (vector
unsigned int)__a ^
__b;
10274 vector
bool int __b) {
10275 return __a ^ (vector
unsigned int)__b;
10279 vector
bool int __b) {
10284 vector
unsigned int __res =
10285 (vector
unsigned int)__a ^ (vector
unsigned int)
__b;
10286 return (vector
float)__res;
10290 vector
float __b) {
10291 vector
unsigned int __res =
10292 (vector
unsigned int)__a ^ (vector
unsigned int)
__b;
10293 return (vector
float)__res;
10297 vector
bool int __b) {
10298 vector
unsigned int __res =
10299 (vector
unsigned int)__a ^ (vector
unsigned int)
__b;
10300 return (vector
float)__res;
10305 vec_xor(vector
signed long long __a, vector
signed long long __b) {
10310 vec_xor(vector
bool long long __a, vector
signed long long __b) {
10311 return (vector
signed long long)__a ^
__b;
10315 vector
bool long long __b) {
10316 return __a ^ (vector
signed long long)__b;
10320 vec_xor(vector
unsigned long long __a, vector
unsigned long long __b) {
10325 vec_xor(vector
bool long long __a, vector
unsigned long long __b) {
10326 return (vector
unsigned long long)__a ^
__b;
10330 vec_xor(vector
unsigned long long __a, vector
bool long long __b) {
10331 return __a ^ (vector
unsigned long long)__b;
10335 vector
bool long long __b) {
10340 vec_xor(vector
double __a, vector
double __b) {
10341 return (vector
double)((vector
unsigned long long)__a ^
10342 (vector
unsigned long long)
__b);
10346 vec_xor(vector
double __a, vector
bool long long __b) {
10347 return (vector
double)((vector
unsigned long long)__a ^
10348 (vector
unsigned long long)
__b);
10352 vec_xor(vector
bool long long __a, vector
double __b) {
10353 return (vector
double)((vector
unsigned long long)__a ^
10354 (vector
unsigned long long)
__b);
10361 vector
signed char __b) {
10366 vector
signed char __b) {
10367 return (vector
signed char)__a ^
__b;
10371 vector
bool char __b) {
10372 return __a ^ (vector
signed char)__b;
10376 vector
unsigned char __b) {
10381 vector
unsigned char __b) {
10382 return (vector
unsigned char)__a ^
__b;
10386 vector
bool char __b) {
10387 return __a ^ (vector
unsigned char)__b;
10391 vector
bool char __b) {
10400 vector
short __b) {
10401 return (vector
short)__a ^
__b;
10405 vector
bool short __b) {
10406 return __a ^ (vector short)__b;
10410 vector
unsigned short __b) {
10415 vector
unsigned short __b) {
10416 return (vector
unsigned short)__a ^
__b;
10420 vector
bool short __b) {
10421 return __a ^ (vector
unsigned short)__b;
10425 vector
bool short __b) {
10434 return (vector
int)__a ^
__b;
10438 return __a ^ (vector int)__b;
10442 vector
unsigned int __b) {
10447 vector
unsigned int __b) {
10448 return (vector
unsigned int)__a ^
__b;
10452 vector
bool int __b) {
10453 return __a ^ (vector
unsigned int)__b;
10457 vector
bool int __b) {
10462 vector
unsigned int __res =
10463 (vector
unsigned int)__a ^ (vector
unsigned int)
__b;
10464 return (vector
float)__res;
10468 vector
float __b) {
10469 vector
unsigned int __res =
10470 (vector
unsigned int)__a ^ (vector
unsigned int)
__b;
10471 return (vector
float)__res;
10475 vector
bool int __b) {
10476 vector
unsigned int __res =
10477 (vector
unsigned int)__a ^ (vector
unsigned int)
__b;
10478 return (vector
float)__res;
10483 vec_vxor(vector
signed long long __a, vector
signed long long __b) {
10488 vec_vxor(vector
bool long long __a, vector
signed long long __b) {
10489 return (vector
signed long long)__a ^
__b;
10493 vec_vxor(vector
signed long long __a, vector
bool long long __b) {
10494 return __a ^ (vector
signed long long)__b;
10498 vec_vxor(vector
unsigned long long __a, vector
unsigned long long __b) {
10503 vec_vxor(vector
bool long long __a, vector
unsigned long long __b) {
10504 return (vector
unsigned long long)__a ^
__b;
10508 vec_vxor(vector
unsigned long long __a, vector
bool long long __b) {
10509 return __a ^ (vector
unsigned long long)__b;
10513 vector
bool long long __b) {
10569 vec_extract(vector
unsigned long long __a,
int __b) {
10590 vector
signed char __b,
10597 vector
unsigned char __b,
10604 vector
bool char __b,
10611 vector
signed short __b,
10618 vector
unsigned short __b,
10625 vector
bool short __b,
10632 vector
signed int __b,
10639 vector
unsigned int __b,
10646 vector
bool int __b,
10654 vec_insert(
signed long long __a, vector
signed long long __b,
int __c) {
10660 vec_insert(
unsigned long long __a, vector
unsigned long long __b,
int __c) {
10666 vec_insert(
unsigned long long __a, vector
bool long long __b,
int __c) {
10686 const signed char *__b) {
10692 const vector
signed char *__b) {
10694 vec_lvsl(__a, (
unsigned char *)__b));
10698 const unsigned char *__b) {
10706 vec_lvsl(__a, (
unsigned char *)__b));
10710 const vector
bool char *__b) {
10712 vec_lvsl(__a, (
unsigned char *)__b));
10721 vec_lvsl(__a, (
unsigned char *)__b));
10725 const unsigned short *__b) {
10733 vec_lvsl(__a, (
unsigned char *)__b));
10737 const vector
bool short *__b) {
10739 vec_lvsl(__a, (
unsigned char *)__b));
10744 vec_lvsl(__a, (
unsigned char *)__b));
10753 vec_lvsl(__a, (
unsigned char *)__b));
10757 const unsigned int *__b) {
10765 vec_lvsl(__a, (
unsigned char *)__b));
10769 const vector
bool int *__b) {
10771 vec_lvsl(__a, (
unsigned char *)__b));
10780 vec_lvsl(__a, (
unsigned char *)__b));
10786 const signed char *__b) {
10794 vec_lvsl(__a, (
unsigned char *)__b));
10798 const unsigned char *__b) {
10806 vec_lvsl(__a, (
unsigned char *)__b));
10810 const vector
bool char *__b) {
10812 vec_lvsl(__a, (
unsigned char *)__b));
10821 vec_lvsl(__a, (
unsigned char *)__b));
10825 const unsigned short *__b) {
10833 vec_lvsl(__a, (
unsigned char *)__b));
10837 const vector
bool short *__b) {
10839 vec_lvsl(__a, (
unsigned char *)__b));
10844 vec_lvsl(__a, (
unsigned char *)__b));
10853 vec_lvsl(__a, (
unsigned char *)__b));
10857 const unsigned int *__b) {
10865 vec_lvsl(__a, (
unsigned char *)__b));
10869 const vector
bool int *__b) {
10871 vec_lvsl(__a, (
unsigned char *)__b));
10880 vec_lvsl(__a, (
unsigned char *)__b));
10886 const signed char *__b) {
10892 const vector
signed char *__b) {
10894 vec_lvsl(__a, (
unsigned char *)__b));
10898 const unsigned char *__b) {
10906 vec_lvsl(__a, (
unsigned char *)__b));
10910 const vector
bool char *__b) {
10912 vec_lvsl(__a, (
unsigned char *)__b));
10921 vec_lvsl(__a, (
unsigned char *)__b));
10925 const unsigned short *__b) {
10933 vec_lvsl(__a, (
unsigned char *)__b));
10937 const vector
bool short *__b) {
10939 vec_lvsl(__a, (
unsigned char *)__b));
10944 vec_lvsl(__a, (
unsigned char *)__b));
10953 vec_lvsl(__a, (
unsigned char *)__b));
10957 const unsigned int *__b) {
10965 vec_lvsl(__a, (
unsigned char *)__b));
10969 const vector
bool int *__b) {
10971 vec_lvsl(__a, (
unsigned char *)__b));
10980 vec_lvsl(__a, (
unsigned char *)__b));
10986 const signed char *__b) {
10994 vec_lvsl(__a, (
unsigned char *)__b));
10998 const unsigned char *__b) {
11006 vec_lvsl(__a, (
unsigned char *)__b));
11010 const vector
bool char *__b) {
11012 vec_lvsl(__a, (
unsigned char *)__b));
11021 vec_lvsl(__a, (
unsigned char *)__b));
11025 const unsigned short *__b) {
11033 vec_lvsl(__a, (
unsigned char *)__b));
11037 const vector
bool short *__b) {
11039 vec_lvsl(__a, (
unsigned char *)__b));
11044 vec_lvsl(__a, (
unsigned char *)__b));
11053 vec_lvsl(__a, (
unsigned char *)__b));
11057 const unsigned int *__b) {
11065 vec_lvsl(__a, (
unsigned char *)__b));
11069 const vector
bool int *__b) {
11071 vec_lvsl(__a, (
unsigned char *)__b));
11080 vec_lvsl(__a, (
unsigned char *)__b));
11086 signed char *__c) {
11092 vector
signed char *__c) {
11099 unsigned char *__c) {
11105 vector
unsigned char *__c) {
11112 vector
bool char *__c) {
11124 vector
short *__c) {
11131 unsigned short *__c) {
11137 vector
unsigned short *__c) {
11144 vector
bool short *__c) {
11151 vector pixel *__c) {
11169 unsigned int *__c) {
11175 vector
unsigned int *__c) {
11182 vector
bool int *__c) {
11189 vector
float *__c) {
11198 signed char *__c) {
11204 vector
signed char *__c) {
11211 unsigned char *__c) {
11217 vector
unsigned char *__c) {
11224 vector
bool char *__c) {
11236 vector
short *__c) {
11243 unsigned short *__c) {
11249 vector
unsigned short *__c) {
11256 vector
bool short *__c) {
11263 vector pixel *__c) {
11281 unsigned int *__c) {
11287 vector
unsigned int *__c) {
11294 vector
bool int *__c) {
11301 vector
float *__c) {
11310 signed char *__c) {
11316 vector
signed char *__c) {
11323 unsigned char *__c) {
11329 vector
unsigned char *__c) {
11336 vector
bool char *__c) {
11348 vector
short *__c) {
11355 unsigned short *__c) {
11361 vector
unsigned short *__c) {
11368 vector
bool short *__c) {
11375 vector pixel *__c) {
11393 unsigned int *__c) {
11399 vector
unsigned int *__c) {
11406 vector
bool int *__c) {
11413 vector
float *__c) {
11422 signed char *__c) {
11428 vector
signed char *__c) {
11435 unsigned char *__c) {
11441 vector
unsigned char *__c) {
11448 vector
bool char *__c) {
11460 vector
short *__c) {
11467 unsigned short *__c) {
11473 vector
unsigned short *__c) {
11480 vector
bool short *__c) {
11487 vector pixel *__c) {
11505 unsigned int *__c) {
11511 vector
unsigned int *__c) {
11518 vector
bool int *__c) {
11525 vector
float *__c) {
11534 vector
signed char __res = (vector
signed char)(0);
11541 vector
unsigned char __res = (vector
unsigned char)(0);
11547 vector
short __res = (vector short)(0);
11554 vector
unsigned short __res = (vector
unsigned short)(0);
11560 vector
int __res = (vector int)(0);
11566 vector
unsigned int __res = (vector
unsigned int)(0);
11572 vector
float __res = (vector float)(0);
11580 return (vector
signed char)(__a);
11584 return (vector
unsigned char)(__a);
11588 return (vector
short)(__a);
11592 return (vector
unsigned short)(__a);
11598 return (vector
unsigned int)(__a);
11603 return (vector
signed long long)(__a);
11608 return (vector
unsigned long long)(__a);
11611 #if defined(__POWER8_VECTOR__) && defined(__powerpc64__)
11613 return (vector
signed __int128)(__a);
11618 return (vector
unsigned __int128)(__a);
11624 return (vector
double)(__a);
11629 return (vector
float)(__a);
11637 vector
signed char __b) {
11638 return __builtin_altivec_vcmpequb_p(
__CR6_LT, (vector
char)__a,
11643 vector
bool char __b) {
11644 return __builtin_altivec_vcmpequb_p(
__CR6_LT, (vector
char)__a,
11649 vector
unsigned char __b) {
11650 return __builtin_altivec_vcmpequb_p(
__CR6_LT, (vector
char)__a,
11655 vector
bool char __b) {
11656 return __builtin_altivec_vcmpequb_p(
__CR6_LT, (vector
char)__a,
11661 vector
signed char __b) {
11662 return __builtin_altivec_vcmpequb_p(
__CR6_LT, (vector
char)__a,
11667 vector
unsigned char __b) {
11668 return __builtin_altivec_vcmpequb_p(
__CR6_LT, (vector
char)__a,
11673 return __builtin_altivec_vcmpequb_p(
__CR6_LT, (vector
char)__a,
11678 return __builtin_altivec_vcmpequh_p(
__CR6_LT, __a, __b);
11682 return __builtin_altivec_vcmpequh_p(
__CR6_LT, __a, (vector
short)__b);
11686 vector
unsigned short __b) {
11687 return __builtin_altivec_vcmpequh_p(
__CR6_LT, (vector
short)__a,
11688 (vector
short)__b);
11692 vector
bool short __b) {
11693 return __builtin_altivec_vcmpequh_p(
__CR6_LT, (vector
short)__a,
11694 (vector
short)__b);
11698 return __builtin_altivec_vcmpequh_p(
__CR6_LT, (vector
short)__a,
11699 (vector
short)__b);
11703 vector
unsigned short __b) {
11704 return __builtin_altivec_vcmpequh_p(
__CR6_LT, (vector
short)__a,
11705 (vector
short)__b);
11709 vector
bool short __b) {
11710 return __builtin_altivec_vcmpequh_p(
__CR6_LT, (vector
short)__a,
11711 (vector
short)__b);
11715 return __builtin_altivec_vcmpequh_p(
__CR6_LT, (vector
short)__a,
11716 (vector
short)__b);
11720 return __builtin_altivec_vcmpequw_p(
__CR6_LT, __a, __b);
11724 return __builtin_altivec_vcmpequw_p(
__CR6_LT, __a, (vector
int)__b);
11728 vector
unsigned int __b) {
11729 return __builtin_altivec_vcmpequw_p(
__CR6_LT, (vector
int)__a,
11734 vector
bool int __b) {
11735 return __builtin_altivec_vcmpequw_p(
__CR6_LT, (vector
int)__a,
11740 return __builtin_altivec_vcmpequw_p(
__CR6_LT, (vector
int)__a,
11745 vector
unsigned int __b) {
11746 return __builtin_altivec_vcmpequw_p(
__CR6_LT, (vector
int)__a,
11751 return __builtin_altivec_vcmpequw_p(
__CR6_LT, (vector
int)__a,
11755 #ifdef __POWER8_VECTOR__
11757 vector
signed long long __b) {
11758 return __builtin_altivec_vcmpequd_p(
__CR6_LT, __a, __b);
11762 vector
bool long long __b) {
11763 return __builtin_altivec_vcmpequd_p(
__CR6_LT, __a, (vector
long long)__b);
11767 vector
unsigned long long __b) {
11768 return __builtin_altivec_vcmpequd_p(
__CR6_LT, (vector
long long)__a,
11769 (vector
long long)__b);
11773 vector
bool long long __b) {
11774 return __builtin_altivec_vcmpequd_p(
__CR6_LT, (vector
long long)__a,
11775 (vector
long long)__b);
11779 vector
long long __b) {
11780 return __builtin_altivec_vcmpequd_p(
__CR6_LT, (vector
long long)__a,
11781 (vector
long long)__b);
11785 vector
unsigned long long __b) {
11786 return __builtin_altivec_vcmpequd_p(
__CR6_LT, (vector
long long)__a,
11787 (vector
long long)__b);
11791 vector
bool long long __b) {
11792 return __builtin_altivec_vcmpequd_p(
__CR6_LT, (vector
long long)__a,
11793 (vector
long long)__b);
11799 return __builtin_vsx_xvcmpeqsp_p(
__CR6_LT, __a, __b);
11801 return __builtin_altivec_vcmpeqfp_p(
__CR6_LT, __a, __b);
11807 return __builtin_vsx_xvcmpeqdp_p(
__CR6_LT, __a, __b);
11814 vector
signed char __b) {
11815 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ, __b, __a);
11819 vector
bool char __b) {
11820 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ, (vector
signed char)__b, __a);
11824 vector
unsigned char __b) {
11825 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, __b, __a);
11829 vector
bool char __b) {
11830 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, (vector
unsigned char)__b, __a);
11834 vector
signed char __b) {
11835 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, (vector
unsigned char)__b,
11836 (vector
unsigned char)__a);
11840 vector
unsigned char __b) {
11841 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, __b, (vector
unsigned char)__a);
11845 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, (vector
unsigned char)__b,
11846 (vector
unsigned char)__a);
11850 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ, __b, __a);
11854 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ, (vector
short)__b, __a);
11858 vector
unsigned short __b) {
11859 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, __b, __a);
11863 vector
bool short __b) {
11864 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, (vector
unsigned short)__b,
11869 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, (vector
unsigned short)__b,
11870 (vector
unsigned short)__a);
11874 vector
unsigned short __b) {
11875 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, __b,
11876 (vector
unsigned short)__a);
11880 vector
bool short __b) {
11881 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, (vector
unsigned short)__b,
11882 (vector
unsigned short)__a);
11886 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ, __b, __a);
11890 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ, (vector
int)__b, __a);
11894 vector
unsigned int __b) {
11895 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, __b, __a);
11899 vector
bool int __b) {
11900 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, (vector
unsigned int)__b, __a);
11904 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, (vector
unsigned int)__b,
11905 (vector
unsigned int)__a);
11909 vector
unsigned int __b) {
11910 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, __b, (vector
unsigned int)__a);
11914 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, (vector
unsigned int)__b,
11915 (vector
unsigned int)__a);
11918 #ifdef __POWER8_VECTOR__
11920 vector
signed long long __b) {
11921 return __builtin_altivec_vcmpgtsd_p(
__CR6_EQ, __b, __a);
11924 vector
bool long long __b) {
11925 return __builtin_altivec_vcmpgtsd_p(
__CR6_EQ, (vector
signed long long)__b,
11930 vector
unsigned long long __b) {
11931 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, __b, __a);
11935 vector
bool long long __b) {
11936 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, (vector
unsigned long long)__b,
11941 vector
signed long long __b) {
11942 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, (vector
unsigned long long)__b,
11943 (vector
unsigned long long)__a);
11947 vector
unsigned long long __b) {
11948 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, __b,
11949 (vector
unsigned long long)__a);
11953 vector
bool long long __b) {
11954 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, (vector
unsigned long long)__b,
11955 (vector
unsigned long long)__a);
11961 return __builtin_vsx_xvcmpgesp_p(
__CR6_LT, __a, __b);
11963 return __builtin_altivec_vcmpgefp_p(
__CR6_LT, __a, __b);
11969 return __builtin_vsx_xvcmpgedp_p(
__CR6_LT, __a, __b);
11976 vector
signed char __b) {
11977 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT, __a, __b);
11981 vector
bool char __b) {
11982 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT, __a, (vector
signed char)__b);
11986 vector
unsigned char __b) {
11987 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, __a, __b);
11991 vector
bool char __b) {
11992 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, __a, (vector
unsigned char)__b);
11996 vector
signed char __b) {
11997 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, (vector
unsigned char)__a,
11998 (vector
unsigned char)__b);
12002 vector
unsigned char __b) {
12003 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, (vector
unsigned char)__a, __b);
12007 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, (vector
unsigned char)__a,
12008 (vector
unsigned char)__b);
12012 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT, __a, __b);
12016 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT, __a, (vector
short)__b);
12020 vector
unsigned short __b) {
12021 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, __a, __b);
12025 vector
bool short __b) {
12026 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, __a,
12027 (vector
unsigned short)__b);
12031 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, (vector
unsigned short)__a,
12032 (vector
unsigned short)__b);
12036 vector
unsigned short __b) {
12037 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, (vector
unsigned short)__a,
12042 vector
bool short __b) {
12043 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, (vector
unsigned short)__a,
12044 (vector
unsigned short)__b);
12048 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT, __a, __b);
12052 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT, __a, (vector
int)__b);
12056 vector
unsigned int __b) {
12057 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, __a, __b);
12061 vector
bool int __b) {
12062 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, __a, (vector
unsigned int)__b);
12066 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, (vector
unsigned int)__a,
12067 (vector
unsigned int)__b);
12071 vector
unsigned int __b) {
12072 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, (vector
unsigned int)__a, __b);
12076 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, (vector
unsigned int)__a,
12077 (vector
unsigned int)__b);
12080 #ifdef __POWER8_VECTOR__
12082 vector
signed long long __b) {
12083 return __builtin_altivec_vcmpgtsd_p(
__CR6_LT, __a, __b);
12086 vector
bool long long __b) {
12087 return __builtin_altivec_vcmpgtsd_p(
__CR6_LT, __a,
12088 (vector
signed long long)__b);
12092 vector
unsigned long long __b) {
12093 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, __a, __b);
12097 vector
bool long long __b) {
12098 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, __a,
12099 (vector
unsigned long long)__b);
12103 vector
signed long long __b) {
12104 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, (vector
unsigned long long)__a,
12105 (vector
unsigned long long)__b);
12109 vector
unsigned long long __b) {
12110 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, (vector
unsigned long long)__a,
12115 vector
bool long long __b) {
12116 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, (vector
unsigned long long)__a,
12117 (vector
unsigned long long)__b);
12123 return __builtin_vsx_xvcmpgtsp_p(
__CR6_LT, __a, __b);
12125 return __builtin_altivec_vcmpgtfp_p(
__CR6_LT, __a, __b);
12131 return __builtin_vsx_xvcmpgtdp_p(
__CR6_LT, __a, __b);
12138 vec_all_in(vector
float __a, vector
float __b) {
12139 return __builtin_altivec_vcmpbfp_p(
__CR6_EQ, __a, __b);
12145 vector
signed char __b) {
12146 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ, __a, __b);
12150 vector
bool char __b) {
12151 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ, __a, (vector
signed char)__b);
12155 vector
unsigned char __b) {
12156 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, __a, __b);
12160 vector
bool char __b) {
12161 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, __a, (vector
unsigned char)__b);
12165 vector
signed char __b) {
12166 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, (vector
unsigned char)__a,
12167 (vector
unsigned char)__b);
12171 vector
unsigned char __b) {
12172 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, (vector
unsigned char)__a, __b);
12176 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ, (vector
unsigned char)__a,
12177 (vector
unsigned char)__b);
12181 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ, __a, __b);
12185 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ, __a, (vector
short)__b);
12189 vector
unsigned short __b) {
12190 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, __a, __b);
12194 vector
bool short __b) {
12195 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, __a,
12196 (vector
unsigned short)__b);
12200 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, (vector
unsigned short)__a,
12201 (vector
unsigned short)__b);
12205 vector
unsigned short __b) {
12206 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, (vector
unsigned short)__a,
12211 vector
bool short __b) {
12212 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ, (vector
unsigned short)__a,
12213 (vector
unsigned short)__b);
12217 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ, __a, __b);
12221 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ, __a, (vector
int)__b);
12225 vector
unsigned int __b) {
12226 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, __a, __b);
12230 vector
bool int __b) {
12231 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, __a, (vector
unsigned int)__b);
12235 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, (vector
unsigned int)__a,
12236 (vector
unsigned int)__b);
12240 vector
unsigned int __b) {
12241 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, (vector
unsigned int)__a, __b);
12245 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ, (vector
unsigned int)__a,
12246 (vector
unsigned int)__b);
12249 #ifdef __POWER8_VECTOR__
12251 vector
signed long long __b) {
12252 return __builtin_altivec_vcmpgtsd_p(
__CR6_EQ, __a, __b);
12256 vector
unsigned long long __b) {
12257 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, __a, __b);
12261 vector
bool long long __b) {
12262 return __builtin_altivec_vcmpgtsd_p(
__CR6_EQ, __a,
12263 (vector
signed long long)__b);
12267 vector
bool long long __b) {
12268 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, __a,
12269 (vector
unsigned long long)__b);
12273 vector
signed long long __b) {
12274 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, (vector
unsigned long long)__a,
12275 (vector
unsigned long long)__b);
12279 vector
unsigned long long __b) {
12280 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, (vector
unsigned long long)__a,
12285 vector
bool long long __b) {
12286 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ, (vector
unsigned long long)__a,
12287 (vector
unsigned long long)__b);
12293 return __builtin_vsx_xvcmpgesp_p(
__CR6_LT, __b, __a);
12295 return __builtin_altivec_vcmpgefp_p(
__CR6_LT, __b, __a);
12301 return __builtin_vsx_xvcmpgedp_p(
__CR6_LT, __b, __a);
12308 vector
signed char __b) {
12309 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT, __b, __a);
12313 vector
bool char __b) {
12314 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT, (vector
signed char)__b, __a);
12318 vector
unsigned char __b) {
12319 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, __b, __a);
12323 vector
bool char __b) {
12324 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, (vector
unsigned char)__b, __a);
12328 vector
signed char __b) {
12329 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, (vector
unsigned char)__b,
12330 (vector
unsigned char)__a);
12334 vector
unsigned char __b) {
12335 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, __b, (vector
unsigned char)__a);
12339 return __builtin_altivec_vcmpgtub_p(
__CR6_LT, (vector
unsigned char)__b,
12340 (vector
unsigned char)__a);
12344 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT, __b, __a);
12348 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT, (vector
short)__b, __a);
12352 vector
unsigned short __b) {
12353 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, __b, __a);
12357 vector
bool short __b) {
12358 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, (vector
unsigned short)__b,
12363 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, (vector
unsigned short)__b,
12364 (vector
unsigned short)__a);
12368 vector
unsigned short __b) {
12369 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, __b,
12370 (vector
unsigned short)__a);
12374 vector
bool short __b) {
12375 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT, (vector
unsigned short)__b,
12376 (vector
unsigned short)__a);
12380 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT, __b, __a);
12384 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT, (vector
int)__b, __a);
12388 vector
unsigned int __b) {
12389 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, __b, __a);
12393 vector
bool int __b) {
12394 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, (vector
unsigned int)__b, __a);
12398 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, (vector
unsigned int)__b,
12399 (vector
unsigned int)__a);
12403 vector
unsigned int __b) {
12404 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, __b, (vector
unsigned int)__a);
12408 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT, (vector
unsigned int)__b,
12409 (vector
unsigned int)__a);
12412 #ifdef __POWER8_VECTOR__
12414 vector
signed long long __b) {
12415 return __builtin_altivec_vcmpgtsd_p(
__CR6_LT, __b, __a);
12419 vector
unsigned long long __b) {
12420 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, __b, __a);
12424 vector
bool long long __b) {
12425 return __builtin_altivec_vcmpgtsd_p(
__CR6_LT, (vector
signed long long)__b,
12430 vector
bool long long __b) {
12431 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, (vector
unsigned long long)__b,
12436 vector
signed long long __b) {
12437 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, (vector
unsigned long long)__b,
12438 (vector
unsigned long long)__a);
12442 vector
unsigned long long __b) {
12443 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, __b,
12444 (vector
unsigned long long)__a);
12448 vector
bool long long __b) {
12449 return __builtin_altivec_vcmpgtud_p(
__CR6_LT, (vector
unsigned long long)__b,
12450 (vector
unsigned long long)__a);
12456 return __builtin_vsx_xvcmpgtsp_p(
__CR6_LT, __b, __a);
12458 return __builtin_altivec_vcmpgtfp_p(
__CR6_LT, __b, __a);
12464 return __builtin_vsx_xvcmpgtdp_p(
__CR6_LT, __b, __a);
12472 return __builtin_vsx_xvcmpeqsp_p(
__CR6_EQ, __a, __a);
12474 return __builtin_altivec_vcmpeqfp_p(
__CR6_EQ, __a, __a);
12480 return __builtin_vsx_xvcmpeqdp_p(
__CR6_EQ, __a, __a);
12487 vector
signed char __b) {
12488 return __builtin_altivec_vcmpequb_p(
__CR6_EQ, (vector
char)__a,
12493 vector
bool char __b) {
12494 return __builtin_altivec_vcmpequb_p(
__CR6_EQ, (vector
char)__a,
12499 vector
unsigned char __b) {
12500 return __builtin_altivec_vcmpequb_p(
__CR6_EQ, (vector
char)__a,
12505 vector
bool char __b) {
12506 return __builtin_altivec_vcmpequb_p(
__CR6_EQ, (vector
char)__a,
12511 vector
signed char __b) {
12512 return __builtin_altivec_vcmpequb_p(
__CR6_EQ, (vector
char)__a,
12517 vector
unsigned char __b) {
12518 return __builtin_altivec_vcmpequb_p(
__CR6_EQ, (vector
char)__a,
12523 return __builtin_altivec_vcmpequb_p(
__CR6_EQ, (vector
char)__a,
12528 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, __a, __b);
12532 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, __a, (vector
short)__b);
12536 vector
unsigned short __b) {
12537 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, (vector
short)__a,
12538 (vector
short)__b);
12542 vector
bool short __b) {
12543 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, (vector
short)__a,
12544 (vector
short)__b);
12548 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, (vector
short)__a,
12549 (vector
short)__b);
12553 vector
unsigned short __b) {
12554 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, (vector
short)__a,
12555 (vector
short)__b);
12559 vector
bool short __b) {
12560 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, (vector
short)__a,
12561 (vector
short)__b);
12565 return __builtin_altivec_vcmpequh_p(
__CR6_EQ, (vector
short)__a,
12566 (vector
short)__b);
12570 return __builtin_altivec_vcmpequw_p(
__CR6_EQ, __a, __b);
12574 return __builtin_altivec_vcmpequw_p(
__CR6_EQ, __a, (vector
int)__b);
12578 vector
unsigned int __b) {
12579 return __builtin_altivec_vcmpequw_p(
__CR6_EQ, (vector
int)__a,
12584 vector
bool int __b) {
12585 return __builtin_altivec_vcmpequw_p(
__CR6_EQ, (vector
int)__a,
12590 return __builtin_altivec_vcmpequw_p(
__CR6_EQ, (vector
int)__a,
12595 vector
unsigned int __b) {
12596 return __builtin_altivec_vcmpequw_p(
__CR6_EQ, (vector
int)__a,
12601 return __builtin_altivec_vcmpequw_p(
__CR6_EQ, (vector
int)__a,
12605 #ifdef __POWER8_VECTOR__
12607 vector
signed long long __b) {
12608 return __builtin_altivec_vcmpequd_p(
__CR6_EQ, __a, __b);
12612 vector
unsigned long long __b) {
12613 return __builtin_altivec_vcmpequd_p(
__CR6_EQ, (vector
long long)__a,
12614 (vector
long long)__b);
12618 vector
bool long long __b) {
12619 return __builtin_altivec_vcmpequd_p(
__CR6_EQ, __a,
12620 (vector
signed long long)__b);
12624 vector
bool long long __b) {
12625 return __builtin_altivec_vcmpequd_p(
__CR6_EQ, (vector
signed long long)__a,
12626 (vector
signed long long)__b);
12630 vector
signed long long __b) {
12631 return __builtin_altivec_vcmpequd_p(
__CR6_EQ, (vector
signed long long)__a,
12632 (vector
signed long long)__b);
12636 vector
unsigned long long __b) {
12637 return __builtin_altivec_vcmpequd_p(
__CR6_EQ, (vector
signed long long)__a,
12638 (vector
signed long long)__b);
12642 vector
bool long long __b) {
12643 return __builtin_altivec_vcmpequd_p(
__CR6_EQ, (vector
signed long long)__a,
12644 (vector
signed long long)__b);
12650 return __builtin_vsx_xvcmpeqdp_p(
__CR6_EQ, __a, __b);
12652 return __builtin_altivec_vcmpeqfp_p(
__CR6_EQ, __a, __b);
12658 return __builtin_vsx_xvcmpeqdp_p(
__CR6_EQ, __a, __b);
12667 return __builtin_vsx_xvcmpgesp_p(
__CR6_EQ, __a, __b);
12669 return __builtin_altivec_vcmpgefp_p(
__CR6_EQ, __a, __b);
12675 vec_all_nge(vector
double __a, vector
double __b) {
12676 return __builtin_vsx_xvcmpgedp_p(
__CR6_EQ, __a, __b);
12685 return __builtin_vsx_xvcmpgtsp_p(
__CR6_EQ, __a, __b);
12687 return __builtin_altivec_vcmpgtfp_p(
__CR6_EQ, __a, __b);
12693 vec_all_ngt(vector
double __a, vector
double __b) {
12694 return __builtin_vsx_xvcmpgtdp_p(
__CR6_EQ, __a, __b);
12701 vec_all_nle(vector
float __a, vector
float __b) {
12702 return __builtin_altivec_vcmpgefp_p(
__CR6_EQ, __b, __a);
12708 vec_all_nlt(vector
float __a, vector
float __b) {
12709 return __builtin_altivec_vcmpgtfp_p(
__CR6_EQ, __b, __a);
12715 vec_all_numeric(vector
float __a) {
12716 return __builtin_altivec_vcmpeqfp_p(
__CR6_LT, __a, __a);
12722 vector
signed char __b) {
12723 return __builtin_altivec_vcmpequb_p(
__CR6_EQ_REV, (vector
char)__a,
12728 vector
bool char __b) {
12729 return __builtin_altivec_vcmpequb_p(
__CR6_EQ_REV, (vector
char)__a,
12734 vector
unsigned char __b) {
12735 return __builtin_altivec_vcmpequb_p(
__CR6_EQ_REV, (vector
char)__a,
12740 vector
bool char __b) {
12741 return __builtin_altivec_vcmpequb_p(
__CR6_EQ_REV, (vector
char)__a,
12746 vector
signed char __b) {
12747 return __builtin_altivec_vcmpequb_p(
__CR6_EQ_REV, (vector
char)__a,
12752 vector
unsigned char __b) {
12753 return __builtin_altivec_vcmpequb_p(
__CR6_EQ_REV, (vector
char)__a,
12758 return __builtin_altivec_vcmpequb_p(
__CR6_EQ_REV, (vector
char)__a,
12763 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, __a, __b);
12767 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, __a, (vector
short)__b);
12771 vector
unsigned short __b) {
12772 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, (vector
short)__a,
12773 (vector
short)__b);
12777 vector
bool short __b) {
12778 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, (vector
short)__a,
12779 (vector
short)__b);
12783 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, (vector
short)__a,
12784 (vector
short)__b);
12788 vector
unsigned short __b) {
12789 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, (vector
short)__a,
12790 (vector
short)__b);
12794 vector
bool short __b) {
12795 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, (vector
short)__a,
12796 (vector
short)__b);
12800 return __builtin_altivec_vcmpequh_p(
__CR6_EQ_REV, (vector
short)__a,
12801 (vector
short)__b);
12805 return __builtin_altivec_vcmpequw_p(
__CR6_EQ_REV, __a, __b);
12809 return __builtin_altivec_vcmpequw_p(
__CR6_EQ_REV, __a, (vector
int)__b);
12813 vector
unsigned int __b) {
12814 return __builtin_altivec_vcmpequw_p(
__CR6_EQ_REV, (vector
int)__a,
12819 vector
bool int __b) {
12820 return __builtin_altivec_vcmpequw_p(
__CR6_EQ_REV, (vector
int)__a,
12825 return __builtin_altivec_vcmpequw_p(
__CR6_EQ_REV, (vector
int)__a,
12830 vector
unsigned int __b) {
12831 return __builtin_altivec_vcmpequw_p(
__CR6_EQ_REV, (vector
int)__a,
12836 return __builtin_altivec_vcmpequw_p(
__CR6_EQ_REV, (vector
int)__a,
12840 #ifdef __POWER8_VECTOR__
12842 vector
signed long long __b) {
12843 return __builtin_altivec_vcmpequd_p(
__CR6_EQ_REV, __a, __b);
12847 vector
unsigned long long __b) {
12848 return __builtin_altivec_vcmpequd_p(
__CR6_EQ_REV, (vector
long long)__a,
12849 (vector
long long)__b);
12853 vector
bool long long __b) {
12854 return __builtin_altivec_vcmpequd_p(
__CR6_EQ_REV, __a,
12855 (vector
signed long long)__b);
12859 vector
bool long long __b) {
12860 return __builtin_altivec_vcmpequd_p(
12861 __CR6_EQ_REV, (vector
signed long long)__a, (vector
signed long long)__b);
12865 vector
signed long long __b) {
12866 return __builtin_altivec_vcmpequd_p(
12867 __CR6_EQ_REV, (vector
signed long long)__a, (vector
signed long long)__b);
12871 vector
unsigned long long __b) {
12872 return __builtin_altivec_vcmpequd_p(
12873 __CR6_EQ_REV, (vector
signed long long)__a, (vector
signed long long)__b);
12877 vector
bool long long __b) {
12878 return __builtin_altivec_vcmpequd_p(
12879 __CR6_EQ_REV, (vector
signed long long)__a, (vector
signed long long)__b);
12885 return __builtin_vsx_xvcmpeqsp_p(
__CR6_EQ_REV, __a, __b);
12887 return __builtin_altivec_vcmpeqfp_p(
__CR6_EQ_REV, __a, __b);
12893 return __builtin_vsx_xvcmpeqdp_p(
__CR6_EQ_REV, __a, __b);
12900 vector
signed char __b) {
12901 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT_REV, __b, __a);
12905 vector
bool char __b) {
12906 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT_REV, (vector
signed char)__b,
12911 vector
unsigned char __b) {
12912 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, __b, __a);
12916 vector
bool char __b) {
12917 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, (vector
unsigned char)__b,
12922 vector
signed char __b) {
12923 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, (vector
unsigned char)__b,
12924 (vector
unsigned char)__a);
12928 vector
unsigned char __b) {
12929 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, __b,
12930 (vector
unsigned char)__a);
12934 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, (vector
unsigned char)__b,
12935 (vector
unsigned char)__a);
12939 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT_REV, __b, __a);
12943 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT_REV, (vector
short)__b, __a);
12947 vector
unsigned short __b) {
12948 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, __b, __a);
12952 vector
bool short __b) {
12953 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, (vector
unsigned short)__b,
12958 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, (vector
unsigned short)__b,
12959 (vector
unsigned short)__a);
12963 vector
unsigned short __b) {
12964 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, __b,
12965 (vector
unsigned short)__a);
12969 vector
bool short __b) {
12970 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, (vector
unsigned short)__b,
12971 (vector
unsigned short)__a);
12975 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT_REV, __b, __a);
12979 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT_REV, (vector
int)__b, __a);
12983 vector
unsigned int __b) {
12984 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, __b, __a);
12988 vector
bool int __b) {
12989 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, (vector
unsigned int)__b,
12994 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, (vector
unsigned int)__b,
12995 (vector
unsigned int)__a);
12999 vector
unsigned int __b) {
13000 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, __b,
13001 (vector
unsigned int)__a);
13005 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, (vector
unsigned int)__b,
13006 (vector
unsigned int)__a);
13009 #ifdef __POWER8_VECTOR__
13011 vector
signed long long __b) {
13012 return __builtin_altivec_vcmpgtsd_p(
__CR6_LT_REV, __b, __a);
13016 vector
unsigned long long __b) {
13017 return __builtin_altivec_vcmpgtud_p(
__CR6_LT_REV, __b, __a);
13021 vector
bool long long __b) {
13023 (vector
signed long long)__b, __a);
13027 vector
bool long long __b) {
13029 (vector
unsigned long long)__b, __a);
13033 vector
signed long long __b) {
13035 (vector
unsigned long long)__b,
13036 (vector
unsigned long long)__a);
13040 vector
unsigned long long __b) {
13041 return __builtin_altivec_vcmpgtud_p(
__CR6_LT_REV, __b,
13042 (vector
unsigned long long)__a);
13046 vector
bool long long __b) {
13048 (vector
unsigned long long)__b,
13049 (vector
unsigned long long)__a);
13055 return __builtin_vsx_xvcmpgesp_p(
__CR6_EQ_REV, __a, __b);
13057 return __builtin_altivec_vcmpgefp_p(
__CR6_EQ_REV, __a, __b);
13063 return __builtin_vsx_xvcmpgedp_p(
__CR6_EQ_REV, __a, __b);
13070 vector
signed char __b) {
13071 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ_REV, __a, __b);
13075 vector
bool char __b) {
13076 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ_REV, __a,
13077 (vector
signed char)__b);
13081 vector
unsigned char __b) {
13082 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, __a, __b);
13086 vector
bool char __b) {
13087 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, __a,
13088 (vector
unsigned char)__b);
13092 vector
signed char __b) {
13093 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, (vector
unsigned char)__a,
13094 (vector
unsigned char)__b);
13098 vector
unsigned char __b) {
13099 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, (vector
unsigned char)__a,
13104 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, (vector
unsigned char)__a,
13105 (vector
unsigned char)__b);
13109 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ_REV, __a, __b);
13113 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ_REV, __a, (vector
short)__b);
13117 vector
unsigned short __b) {
13118 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, __a, __b);
13122 vector
bool short __b) {
13123 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, __a,
13124 (vector
unsigned short)__b);
13128 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, (vector
unsigned short)__a,
13129 (vector
unsigned short)__b);
13133 vector
unsigned short __b) {
13134 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, (vector
unsigned short)__a,
13139 vector
bool short __b) {
13140 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, (vector
unsigned short)__a,
13141 (vector
unsigned short)__b);
13145 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ_REV, __a, __b);
13149 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ_REV, __a, (vector
int)__b);
13153 vector
unsigned int __b) {
13154 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, __a, __b);
13158 vector
bool int __b) {
13159 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, __a,
13160 (vector
unsigned int)__b);
13164 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, (vector
unsigned int)__a,
13165 (vector
unsigned int)__b);
13169 vector
unsigned int __b) {
13170 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, (vector
unsigned int)__a,
13175 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, (vector
unsigned int)__a,
13176 (vector
unsigned int)__b);
13179 #ifdef __POWER8_VECTOR__
13181 vector
signed long long __b) {
13182 return __builtin_altivec_vcmpgtsd_p(
__CR6_EQ_REV, __a, __b);
13186 vector
unsigned long long __b) {
13187 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ_REV, __a, __b);
13191 vector
bool long long __b) {
13192 return __builtin_altivec_vcmpgtsd_p(
__CR6_EQ_REV, __a,
13193 (vector
signed long long)__b);
13197 vector
bool long long __b) {
13198 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ_REV, __a,
13199 (vector
unsigned long long)__b);
13203 vector
signed long long __b) {
13205 (vector
unsigned long long)__a,
13206 (vector
unsigned long long)__b);
13210 vector
unsigned long long __b) {
13212 (vector
unsigned long long)__a, __b);
13216 vector
bool long long __b) {
13218 (vector
unsigned long long)__a,
13219 (vector
unsigned long long)__b);
13225 return __builtin_vsx_xvcmpgtsp_p(
__CR6_EQ_REV, __a, __b);
13227 return __builtin_altivec_vcmpgtfp_p(
__CR6_EQ_REV, __a, __b);
13233 return __builtin_vsx_xvcmpgtdp_p(
__CR6_EQ_REV, __a, __b);
13240 vector
signed char __b) {
13241 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT_REV, __a, __b);
13245 vector
bool char __b) {
13246 return __builtin_altivec_vcmpgtsb_p(
__CR6_LT_REV, __a,
13247 (vector
signed char)__b);
13251 vector
unsigned char __b) {
13252 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, __a, __b);
13256 vector
bool char __b) {
13257 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, __a,
13258 (vector
unsigned char)__b);
13262 vector
signed char __b) {
13263 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, (vector
unsigned char)__a,
13264 (vector
unsigned char)__b);
13268 vector
unsigned char __b) {
13269 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, (vector
unsigned char)__a,
13274 return __builtin_altivec_vcmpgtub_p(
__CR6_LT_REV, (vector
unsigned char)__a,
13275 (vector
unsigned char)__b);
13279 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT_REV, __a, __b);
13283 return __builtin_altivec_vcmpgtsh_p(
__CR6_LT_REV, __a, (vector
short)__b);
13287 vector
unsigned short __b) {
13288 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, __a, __b);
13292 vector
bool short __b) {
13293 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, __a,
13294 (vector
unsigned short)__b);
13298 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, (vector
unsigned short)__a,
13299 (vector
unsigned short)__b);
13303 vector
unsigned short __b) {
13304 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, (vector
unsigned short)__a,
13309 vector
bool short __b) {
13310 return __builtin_altivec_vcmpgtuh_p(
__CR6_LT_REV, (vector
unsigned short)__a,
13311 (vector
unsigned short)__b);
13315 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT_REV, __a, __b);
13319 return __builtin_altivec_vcmpgtsw_p(
__CR6_LT_REV, __a, (vector
int)__b);
13323 vector
unsigned int __b) {
13324 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, __a, __b);
13328 vector
bool int __b) {
13329 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, __a,
13330 (vector
unsigned int)__b);
13334 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, (vector
unsigned int)__a,
13335 (vector
unsigned int)__b);
13339 vector
unsigned int __b) {
13340 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, (vector
unsigned int)__a,
13345 return __builtin_altivec_vcmpgtuw_p(
__CR6_LT_REV, (vector
unsigned int)__a,
13346 (vector
unsigned int)__b);
13349 #ifdef __POWER8_VECTOR__
13351 vector
signed long long __b) {
13352 return __builtin_altivec_vcmpgtsd_p(
__CR6_LT_REV, __a, __b);
13356 vector
unsigned long long __b) {
13357 return __builtin_altivec_vcmpgtud_p(
__CR6_LT_REV, __a, __b);
13361 vector
bool long long __b) {
13362 return __builtin_altivec_vcmpgtsd_p(
__CR6_LT_REV, __a,
13363 (vector
signed long long)__b);
13367 vector
bool long long __b) {
13368 return __builtin_altivec_vcmpgtud_p(
__CR6_LT_REV, __a,
13369 (vector
unsigned long long)__b);
13373 vector
signed long long __b) {
13375 (vector
unsigned long long)__a,
13376 (vector
unsigned long long)__b);
13380 vector
unsigned long long __b) {
13382 (vector
unsigned long long)__a, __b);
13386 vector
bool long long __b) {
13388 (vector
unsigned long long)__a,
13389 (vector
unsigned long long)__b);
13395 return __builtin_vsx_xvcmpgesp_p(
__CR6_EQ_REV, __b, __a);
13397 return __builtin_altivec_vcmpgefp_p(
__CR6_EQ_REV, __b, __a);
13403 return __builtin_vsx_xvcmpgedp_p(
__CR6_EQ_REV, __b, __a);
13410 vector
signed char __b) {
13411 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ_REV, __b, __a);
13415 vector
bool char __b) {
13416 return __builtin_altivec_vcmpgtsb_p(
__CR6_EQ_REV, (vector
signed char)__b,
13421 vector
unsigned char __b) {
13422 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, __b, __a);
13426 vector
bool char __b) {
13427 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, (vector
unsigned char)__b,
13432 vector
signed char __b) {
13433 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, (vector
unsigned char)__b,
13434 (vector
unsigned char)__a);
13438 vector
unsigned char __b) {
13439 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, __b,
13440 (vector
unsigned char)__a);
13444 return __builtin_altivec_vcmpgtub_p(
__CR6_EQ_REV, (vector
unsigned char)__b,
13445 (vector
unsigned char)__a);
13449 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ_REV, __b, __a);
13453 return __builtin_altivec_vcmpgtsh_p(
__CR6_EQ_REV, (vector
short)__b, __a);
13457 vector
unsigned short __b) {
13458 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, __b, __a);
13462 vector
bool short __b) {
13463 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, (vector
unsigned short)__b,
13468 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, (vector
unsigned short)__b,
13469 (vector
unsigned short)__a);
13473 vector
unsigned short __b) {
13474 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, __b,
13475 (vector
unsigned short)__a);
13479 vector
bool short __b) {
13480 return __builtin_altivec_vcmpgtuh_p(
__CR6_EQ_REV, (vector
unsigned short)__b,
13481 (vector
unsigned short)__a);
13485 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ_REV, __b, __a);
13489 return __builtin_altivec_vcmpgtsw_p(
__CR6_EQ_REV, (vector
int)__b, __a);
13493 vector
unsigned int __b) {
13494 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, __b, __a);
13498 vector
bool int __b) {
13499 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, (vector
unsigned int)__b,
13504 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, (vector
unsigned int)__b,
13505 (vector
unsigned int)__a);
13509 vector
unsigned int __b) {
13510 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, __b,
13511 (vector
unsigned int)__a);
13515 return __builtin_altivec_vcmpgtuw_p(
__CR6_EQ_REV, (vector
unsigned int)__b,
13516 (vector
unsigned int)__a);
13519 #ifdef __POWER8_VECTOR__
13521 vector
signed long long __b) {
13522 return __builtin_altivec_vcmpgtsd_p(
__CR6_EQ_REV, __b, __a);
13526 vector
unsigned long long __b) {
13527 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ_REV, __b, __a);
13531 vector
bool long long __b) {
13533 (vector
signed long long)__b, __a);
13537 vector
bool long long __b) {
13539 (vector
unsigned long long)__b, __a);
13543 vector
signed long long __b) {
13545 (vector
unsigned long long)__b,
13546 (vector
unsigned long long)__a);
13550 vector
unsigned long long __b) {
13551 return __builtin_altivec_vcmpgtud_p(
__CR6_EQ_REV, __b,
13552 (vector
unsigned long long)__a);
13556 vector
bool long long __b) {
13558 (vector
unsigned long long)__b,
13559 (vector
unsigned long long)__a);
13565 return __builtin_vsx_xvcmpgtsp_p(
__CR6_EQ_REV, __b, __a);
13567 return __builtin_altivec_vcmpgtfp_p(
__CR6_EQ_REV, __b, __a);
13573 return __builtin_vsx_xvcmpgtdp_p(
__CR6_EQ_REV, __b, __a);
13579 static int __attribute__((__always_inline__)) vec_any_nan(vector
float __a) {
13580 return __builtin_altivec_vcmpeqfp_p(
__CR6_LT_REV, __a, __a);
13586 vector
signed char __b) {
13587 return __builtin_altivec_vcmpequb_p(
__CR6_LT_REV, (vector
char)__a,
13592 vector
bool char __b) {
13593 return __builtin_altivec_vcmpequb_p(
__CR6_LT_REV, (vector
char)__a,
13598 vector
unsigned char __b) {
13599 return __builtin_altivec_vcmpequb_p(
__CR6_LT_REV, (vector
char)__a,
13604 vector
bool char __b) {
13605 return __builtin_altivec_vcmpequb_p(
__CR6_LT_REV, (vector
char)__a,
13610 vector
signed char __b) {
13611 return __builtin_altivec_vcmpequb_p(
__CR6_LT_REV, (vector
char)__a,
13616 vector
unsigned char __b) {
13617 return __builtin_altivec_vcmpequb_p(
__CR6_LT_REV, (vector
char)__a,
13622 return __builtin_altivec_vcmpequb_p(
__CR6_LT_REV, (vector
char)__a,
13627 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, __a, __b);
13631 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, __a, (vector
short)__b);
13635 vector
unsigned short __b) {
13636 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, (vector
short)__a,
13637 (vector
short)__b);
13641 vector
bool short __b) {
13642 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, (vector
short)__a,
13643 (vector
short)__b);
13647 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, (vector
short)__a,
13648 (vector
short)__b);
13652 vector
unsigned short __b) {
13653 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, (vector
short)__a,
13654 (vector
short)__b);
13658 vector
bool short __b) {
13659 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, (vector
short)__a,
13660 (vector
short)__b);
13664 return __builtin_altivec_vcmpequh_p(
__CR6_LT_REV, (vector
short)__a,
13665 (vector
short)__b);
13669 return __builtin_altivec_vcmpequw_p(
__CR6_LT_REV, __a, __b);
13673 return __builtin_altivec_vcmpequw_p(
__CR6_LT_REV, __a, (vector
int)__b);
13677 vector
unsigned int __b) {
13678 return __builtin_altivec_vcmpequw_p(
__CR6_LT_REV, (vector
int)__a,
13683 vector
bool int __b) {
13684 return __builtin_altivec_vcmpequw_p(
__CR6_LT_REV, (vector
int)__a,
13689 return __builtin_altivec_vcmpequw_p(
__CR6_LT_REV, (vector
int)__a,
13694 vector
unsigned int __b) {
13695 return __builtin_altivec_vcmpequw_p(
__CR6_LT_REV, (vector
int)__a,
13700 return __builtin_altivec_vcmpequw_p(
__CR6_LT_REV, (vector
int)__a,
13704 #ifdef __POWER8_VECTOR__
13706 vector
signed long long __b) {
13707 return __builtin_altivec_vcmpequd_p(
__CR6_LT_REV, __a, __b);
13711 vector
unsigned long long __b) {
13712 return __builtin_altivec_vcmpequd_p(
__CR6_LT_REV, (vector
long long)__a,
13713 (vector
long long)__b);
13717 vector
bool long long __b) {
13718 return __builtin_altivec_vcmpequd_p(
__CR6_LT_REV, __a,
13719 (vector
signed long long)__b);
13723 vector
bool long long __b) {
13724 return __builtin_altivec_vcmpequd_p(
13725 __CR6_LT_REV, (vector
signed long long)__a, (vector
signed long long)__b);
13729 vector
signed long long __b) {
13730 return __builtin_altivec_vcmpequd_p(
13731 __CR6_LT_REV, (vector
signed long long)__a, (vector
signed long long)__b);
13735 vector
unsigned long long __b) {
13736 return __builtin_altivec_vcmpequd_p(
13737 __CR6_LT_REV, (vector
signed long long)__a, (vector
signed long long)__b);
13741 vector
bool long long __b) {
13742 return __builtin_altivec_vcmpequd_p(
13743 __CR6_LT_REV, (vector
signed long long)__a, (vector
signed long long)__b);
13749 return __builtin_vsx_xvcmpeqsp_p(
__CR6_LT_REV, __a, __b);
13751 return __builtin_altivec_vcmpeqfp_p(
__CR6_LT_REV, __a, __b);
13757 return __builtin_vsx_xvcmpeqdp_p(
__CR6_LT_REV, __a, __b);
13764 vec_any_nge(vector
float __a, vector
float __b) {
13765 return __builtin_altivec_vcmpgefp_p(
__CR6_LT_REV, __a, __b);
13771 vec_any_ngt(vector
float __a, vector
float __b) {
13772 return __builtin_altivec_vcmpgtfp_p(
__CR6_LT_REV, __a, __b);
13778 vec_any_nle(vector
float __a, vector
float __b) {
13779 return __builtin_altivec_vcmpgefp_p(
__CR6_LT_REV, __b, __a);
13785 vec_any_nlt(vector
float __a, vector
float __b) {
13786 return __builtin_altivec_vcmpgtfp_p(
__CR6_LT_REV, __b, __a);
13792 vec_any_numeric(vector
float __a) {
13793 return __builtin_altivec_vcmpeqfp_p(
__CR6_EQ_REV, __a, __a);
13799 vec_any_out(vector
float __a, vector
float __b) {
13800 return __builtin_altivec_vcmpbfp_p(
__CR6_EQ_REV, __a, __b);
13817 #define vec_sbox_be __builtin_altivec_crypto_vsbox
13818 #define vec_cipher_be __builtin_altivec_crypto_vcipher
13819 #define vec_cipherlast_be __builtin_altivec_crypto_vcipherlast
13820 #define vec_ncipher_be __builtin_altivec_crypto_vncipher
13821 #define vec_ncipherlast_be __builtin_altivec_crypto_vncipherlast
13823 static vector
unsigned long long __attribute__((__always_inline__))
13824 __builtin_crypto_vsbox(vector
unsigned long long __a) {
13825 return __builtin_altivec_crypto_vsbox(__a);
13828 static vector
unsigned long long __attribute__((__always_inline__))
13829 __builtin_crypto_vcipher(vector
unsigned long long __a,
13830 vector
unsigned long long __b) {
13831 return __builtin_altivec_crypto_vcipher(__a, __b);
13834 static vector
unsigned long long __attribute__((__always_inline__))
13835 __builtin_crypto_vcipherlast(vector
unsigned long long __a,
13836 vector
unsigned long long __b) {
13837 return __builtin_altivec_crypto_vcipherlast(__a, __b);
13840 static vector
unsigned long long __attribute__((__always_inline__))
13841 __builtin_crypto_vncipher(vector
unsigned long long __a,
13842 vector
unsigned long long __b) {
13843 return __builtin_altivec_crypto_vncipher(__a, __b);
13846 static vector
unsigned long long __attribute__((__always_inline__))
13847 __builtin_crypto_vncipherlast(vector
unsigned long long __a,
13848 vector
unsigned long long __b) {
13849 return __builtin_altivec_crypto_vncipherlast(__a, __b);
13852 #define __builtin_crypto_vshasigmad __builtin_altivec_crypto_vshasigmad
13853 #define __builtin_crypto_vshasigmaw __builtin_altivec_crypto_vshasigmaw
13855 #define vec_shasigma_be(X, Y, Z) \
13856 _Generic((X), vector unsigned int: __builtin_crypto_vshasigmaw, \
13857 vector unsigned long long: __builtin_crypto_vshasigmad) \
13861 #ifdef __POWER8_VECTOR__
13863 __builtin_crypto_vpermxor(vector
unsigned char __a, vector
unsigned char __b,
13864 vector
unsigned char __c) {
13865 return __builtin_altivec_crypto_vpermxor(__a, __b, __c);
13869 __builtin_crypto_vpermxor(vector
unsigned short __a, vector
unsigned short __b,
13870 vector
unsigned short __c) {
13871 return (vector
unsigned short)__builtin_altivec_crypto_vpermxor(
13872 (vector
unsigned char)__a, (vector
unsigned char)__b,
13873 (vector
unsigned char)__c);
13876 static vector
unsigned int __ATTRS_o_ai __builtin_crypto_vpermxor(
13877 vector
unsigned int __a, vector
unsigned int __b, vector
unsigned int __c) {
13878 return (vector
unsigned int)__builtin_altivec_crypto_vpermxor(
13879 (vector
unsigned char)__a, (vector
unsigned char)__b,
13880 (vector
unsigned char)__c);
13883 static vector
unsigned long long __ATTRS_o_ai __builtin_crypto_vpermxor(
13884 vector
unsigned long long __a, vector
unsigned long long __b,
13885 vector
unsigned long long __c) {
13886 return (vector
unsigned long long)__builtin_altivec_crypto_vpermxor(
13887 (vector
unsigned char)__a, (vector
unsigned char)__b,
13888 (vector
unsigned char)__c);
13892 __builtin_crypto_vpmsumb(vector
unsigned char __a, vector
unsigned char __b) {
13893 return __builtin_altivec_crypto_vpmsumb(__a, __b);
13897 __builtin_crypto_vpmsumb(vector
unsigned short __a, vector
unsigned short __b) {
13898 return __builtin_altivec_crypto_vpmsumh(__a, __b);
13902 __builtin_crypto_vpmsumb(vector
unsigned int __a, vector
unsigned int __b) {
13903 return __builtin_altivec_crypto_vpmsumw(__a, __b);
13907 __builtin_crypto_vpmsumb(vector
unsigned long long __a,
13908 vector
unsigned long long __b) {
13909 return __builtin_altivec_crypto_vpmsumd(__a, __b);
13912 static vector
signed char __ATTRS_o_ai vec_vgbbd (vector
signed char __a)
13914 return __builtin_altivec_vgbbd((vector
unsigned char) __a);
13917 #define vec_pmsum_be __builtin_crypto_vpmsumb
13918 #define vec_gb __builtin_altivec_vgbbd
13920 static vector
unsigned char __ATTRS_o_ai vec_vgbbd (vector
unsigned char __a)
13922 return __builtin_altivec_vgbbd(__a);
13926 vec_vbpermq (vector
signed char __a, vector
signed char __b)
13928 return __builtin_altivec_vbpermq((vector
unsigned char) __a,
13929 (vector
unsigned char) __b);
13933 vec_vbpermq (vector
unsigned char __a, vector
unsigned char __b)
13935 return __builtin_altivec_vbpermq(__a, __b);
13938 #ifdef __powerpc64__
13939 static vector
unsigned long long __attribute__((__always_inline__))
13940 vec_bperm (vector
unsigned __int128 __a, vector
unsigned char __b) {
13941 return __builtin_altivec_vbpermq((vector
unsigned char) __a,
13942 (vector
unsigned char) __b);
13947 #undef __ATTRS_o_ai
static vector float __attribute__((__always_inline__)) vec_vaddfp(vector float __a
static vector unsigned short __ATTRS_o_ai vec_vsubuhs(vector unsigned short __a, vector unsigned short __b)
static vector bool char __ATTRS_o_ai vec_cmpgt(vector signed char __a, vector signed char __b)
static int __ATTRS_o_ai vec_any_le(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_perm(vector signed char __a, vector signed char __b, vector unsigned char __c)
static vector signed char __ATTRS_o_ai vec_vsldoi(vector signed char __a, vector signed char __b, unsigned char __c)
static vector unsigned char __ATTRS_o_ai vec_xor(vector unsigned char __a, vector unsigned char __b)
static vector float __ATTRS_o_ai vec_trunc(vector float __a)
static vector float __ATTRS_o_ai vec_nmsub(vector float __a, vector float __b, vector float __c)
static vector signed char __ATTRS_o_ai vec_vmaxsb(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_vmrghb(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_sra(vector signed char __a, vector unsigned char __b)
static vector signed char __ATTRS_o_ai vec_add(vector signed char __a, vector signed char __b)
static vector unsigned int __ATTRS_o_ai vec_vadduws(vector unsigned int __a, vector unsigned int __b)
static vector unsigned short __ATTRS_o_ai vec_vpkswus(vector int __a, vector int __b)
static vector short __ATTRS_o_ai vec_vsubuhm(vector short __a, vector short __b)
static vector signed char __ATTRS_o_ai vec_mergel(vector signed char __a, vector signed char __b)
static int __ATTRS_o_ai vec_all_nge(vector float __a, vector float __b)
static vector short __ATTRS_o_ai vec_vminsh(vector short __a, vector short __b)
static vector signed char __ATTRS_o_ai vec_splat(vector signed char __a, unsigned const int __b)
static vector int __ATTRS_o_ai vec_sum4s(vector signed char __a, vector int __b)
static vector signed char __ATTRS_o_ai vec_promote(signed char __a, int __b)
static vector signed char __ATTRS_o_ai vec_sld(vector signed char __a, vector signed char __b, unsigned const int __c)
static vector signed char __ATTRS_o_ai vec_and(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_lvlx(int __a, const signed char *__b)
static vector unsigned char __ATTRS_o_ai vec_vminub(vector unsigned char __a, vector unsigned char __b)
static vector signed char __ATTRS_o_ai vec_sll(vector signed char __a, vector unsigned char __b)
static vector signed char __ATTRS_o_ai vec_sr(vector signed char __a, vector unsigned char __b)
static vector signed char __ATTRS_o_ai vec_srl(vector signed char __a, vector unsigned char __b)
static vector int __ATTRS_o_ai vec_vslw(vector int __a, vector unsigned int __b)
static vector unsigned char __ATTRS_o_ai vec_vmaxub(vector unsigned char __a, vector unsigned char __b)
static vector unsigned int __ATTRS_o_ai vec_splat_u32(signed char __a)
static vector signed char __ATTRS_o_ai vec_adds(vector signed char __a, vector signed char __b)
static vector unsigned char __ATTRS_o_ai vec_vaddubs(vector unsigned char __a, vector unsigned char __b)
static vector signed char __ATTRS_o_ai vec_vor(vector signed char __a, vector signed char __b)
static vector int __ATTRS_o_ai vec_lvewx(int __a, const int *__b)
static vector int __ATTRS_o_ai vec_vmrghw(vector int __a, vector int __b)
static void __ATTRS_o_ai vec_stvrxl(vector signed char __a, int __b, signed char *__c)
static vector short __ATTRS_o_ai vec_vsplth(vector short __a, unsigned char __b)
static vector signed char __ATTRS_o_ai vec_vpkuhum(vector signed short __a, vector signed short __b)
static vector unsigned short __ATTRS_o_ai vec_vminuh(vector unsigned short __a, vector unsigned short __b)
static void __ATTRS_o_ai vec_stvlx(vector signed char __a, int __b, signed char *__c)
static vector signed char __ATTRS_o_ai vec_vaddubm(vector signed char __a, vector signed char __b)
static vector short __ATTRS_o_ai vec_vmaxsh(vector short __a, vector short __b)
static vector signed char __ATTRS_o_ai vec_vslo(vector signed char __a, vector signed char __b)
static void __ATTRS_o_ai vec_stvlxl(vector signed char __a, int __b, signed char *__c)
static vector signed char __ATTRS_o_ai vec_abs(vector signed char __a)
static void __ATTRS_o_ai vec_stvxl(vector signed char __a, int __b, vector signed char *__c)
static vector signed char __ATTRS_o_ai vec_vspltisb(signed char __a)
static vector unsigned short __ATTRS_o_ai vec_vmaxuh(vector unsigned short __a, vector unsigned short __b)
static vector short __ATTRS_o_ai vec_vrlh(vector short __a, vector unsigned short __b)
static int __ATTRS_o_ai vec_any_gt(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_mergeh(vector signed char __a, vector signed char __b)
static vector short __ATTRS_o_ai vec_vaddshs(vector short __a, vector short __b)
static int __ATTRS_o_ai vec_all_ngt(vector float __a, vector float __b)
static vector int __ATTRS_o_ai vec_msums(vector short __a, vector short __b, vector int __c)
static vector signed char __ATTRS_o_ai vec_lde(int __a, const signed char *__b)
static vector signed char __ATTRS_o_ai vec_or(vector signed char __a, vector signed char __b)
static vector short __ATTRS_o_ai vec_unpackl(vector signed char __a)
static vector short __ATTRS_o_ai vec_vupkhsb(vector signed char __a)
static vector unsigned char __ATTRS_o_ai vec_vsububs(vector unsigned char __a, vector unsigned char __b)
static vector signed char __ATTRS_o_ai vec_vperm(vector signed char __a, vector signed char __b, vector unsigned char __c)
static vector signed char __ATTRS_o_ai vec_insert(signed char __a, vector signed char __b, int __c)
static signed char __ATTRS_o_ai vec_extract(vector signed char __a, int __b)
static vector bool char __ATTRS_o_ai vec_cmpeq(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_packs(vector short __a, vector short __b)
static vector short __ATTRS_o_ai vec_vsrh(vector short __a, vector unsigned short __b)
static vector signed short __ATTRS_o_ai vec_mladd(vector signed short, vector signed short, vector signed short)
static vector short __ATTRS_o_ai vec_splat_s16(signed char __a)
static vector signed char __ATTRS_o_ai vec_vsububm(vector signed char __a, vector signed char __b)
static vector unsigned int __ATTRS_o_ai vec_vminuw(vector unsigned int __a, vector unsigned int __b)
static vector signed short __ATTRS_o_ai vec_madd(vector signed short __a, vector signed short __b, vector signed short __c)
static vector signed char __ATTRS_o_ai vec_slo(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_vsr(vector signed char __a, vector unsigned char __b)
static void __ATTRS_o_ai vec_stvx(vector signed char __a, int __b, vector signed char *__c)
static vector signed char __ATTRS_o_ai vec_subs(vector signed char __a, vector signed char __b)
static vector int __ATTRS_o_ai vec_vsraw(vector int __a, vector unsigned int __b)
static vector signed char __ATTRS_o_ai vec_ld(int __a, const vector signed char *__b)
static vector short __ATTRS_o_ai vec_vmrglh(vector short __a, vector short __b)
static vector signed char __ATTRS_o_ai vec_sro(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_vsrb(vector signed char __a, vector unsigned char __b)
static int __ATTRS_o_ai vec_any_eq(vector signed char __a, vector signed char __b)
static vector unsigned int __ATTRS_o_ai vec_ctu(vector float __a, int __b)
static vector signed char __ATTRS_o_ai vec_mul(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_pack(vector signed short __a, vector signed short __b)
static vector short __ATTRS_o_ai vec_vsubshs(vector short __a, vector short __b)
static vector int __ATTRS_o_ai vec_splat_s32(signed char __a)
static vector bool char __ATTRS_o_ai vec_cmplt(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_sel(vector signed char __a, vector signed char __b, vector unsigned char __c)
static vector signed char __ATTRS_o_ai vec_sl(vector signed char __a, vector unsigned char __b)
static vector signed char __ATTRS_o_ai vec_splats(signed char __a)
static vector int __ATTRS_o_ai vec_vaddsws(vector int __a, vector int __b)
static int __ATTRS_o_ai vec_all_ne(vector signed char __a, vector signed char __b)
static vector int __ATTRS_o_ai vec_vspltisw(signed char __a)
static vector signed char __ATTRS_o_ai vec_lvx(int __a, const vector signed char *__b)
static vector signed char __ATTRS_o_ai vec_nor(vector signed char __a, vector signed char __b)
static vector short __ATTRS_o_ai vec_unpackh(vector signed char __a)
static vector signed char __ATTRS_o_ai vec_vandc(vector signed char __a, vector signed char __b)
static int __ATTRS_o_ai vec_all_nan(vector float __a)
static vector short __ATTRS_o_ai vec_mulo(vector signed char __a, vector signed char __b)
static vector int __ATTRS_o_ai vec_msum(vector signed char __a, vector unsigned char __b, vector int __c)
static vector int __ATTRS_o_ai vec_cts(vector float __a, int __b)
static vector signed char __ATTRS_o_ai vec_vand(vector signed char __a, vector signed char __b)
static void __ATTRS_o_ai vec_stvehx(vector short __a, int __b, short *__c)
static vector signed char __ATTRS_o_ai vec_div(vector signed char __a, vector signed char __b)
static vector short __ATTRS_o_ai vec_vmrghh(vector short __a, vector short __b)
static vector float vector float __b
static vector unsigned int __ATTRS_o_ai vec_vsubuws(vector unsigned int __a, vector unsigned int __b)
static vector signed char __ATTRS_o_ai vec_vminsb(vector signed char __a, vector signed char __b)
static vector int __ATTRS_o_ai vec_vmaxsw(vector int __a, vector int __b)
static vector signed char __ATTRS_o_ai vec_vsrab(vector signed char __a, vector unsigned char __b)
static vector int __ATTRS_o_ai vec_vmrglw(vector int __a, vector int __b)
static vector short __ATTRS_o_ai vec_vslh(vector short __a, vector unsigned short __b)
static vector float __ATTRS_o_ai vec_re(vector float __a)
static vector signed char __ATTRS_o_ai vec_max(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_vaddsbs(vector signed char __a, vector signed char __b)
static vector int __ATTRS_o_ai vec_vsubsws(vector int __a, vector int __b)
static vector signed char __ATTRS_o_ai vec_lvrx(int __a, const signed char *__b)
static vector signed char __ATTRS_o_ai vec_vsel(vector signed char __a, vector signed char __b, vector unsigned char __c)
static vector unsigned int __ATTRS_o_ai vec_vmaxuw(vector unsigned int __a, vector unsigned int __b)
static void __ATTRS_o_ai vec_stvrx(vector signed char __a, int __b, signed char *__c)
static vector signed char __ATTRS_o_ai vec_vnor(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_vsro(vector signed char __a, vector signed char __b)
static vector bool char __ATTRS_o_ai vec_cmple(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_vsl(vector signed char __a, vector unsigned char __b)
static int __ATTRS_o_ai vec_all_eq(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_lvxl(int __a, const vector signed char *__b)
static vector signed int __ATTRS_o_ai vec_addc(vector signed int __a, vector signed int __b)
static vector float __ATTRS_o_ai vec_ceil(vector float __a)
static int __ATTRS_o_ai vec_all_le(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_sub(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_splat_s8(signed char __a)
static void __ATTRS_o_ai vec_st(vector signed char __a, int __b, vector signed char *__c)
static vector unsigned char __ATTRS_o_ai vec_vpkshus(vector short __a, vector short __b)
static vector float __ATTRS_o_ai vec_rsqrte(vector float __a)
static vector int __ATTRS_o_ai vec_vupklsh(vector short __a)
static int __ATTRS_o_ai vec_any_lt(vector signed char __a, vector signed char __b)
static int __ATTRS_o_ai vec_any_ne(vector signed char __a, vector signed char __b)
static void __ATTRS_o_ai vec_stvebx(vector signed char __a, int __b, signed char *__c)
static vector unsigned char __ATTRS_o_ai vec_splat_u8(unsigned char __a)
static vector short __ATTRS_o_ai vec_lvehx(int __a, const short *__b)
static int __ATTRS_o_ai vec_any_ge(vector signed char __a, vector signed char __b)
static vector int __ATTRS_o_ai vec_vsrw(vector int __a, vector unsigned int __b)
static vector unsigned short __ATTRS_o_ai vec_splat_u16(signed char __a)
static vector signed char __ATTRS_o_ai vec_lvrxl(int __a, const signed char *__b)
static vector short __ATTRS_o_ai vec_mule(vector signed char __a, vector signed char __b)
static vector short __ATTRS_o_ai vec_vadduhm(vector short __a, vector short __b)
static vector signed char __ATTRS_o_ai vec_vspltb(vector signed char __a, unsigned char __b)
static vector unsigned char __ATTRS_o_ai vec_packsu(vector short __a, vector short __b)
static vector int __ATTRS_o_ai vec_vadduwm(vector int __a, vector int __b)
static int __ATTRS_o_ai vec_all_gt(vector signed char __a, vector signed char __b)
static vector int __ATTRS_o_ai vec_vminsw(vector int __a, vector int __b)
static vector signed char __ATTRS_o_ai vec_min(vector signed char __a, vector signed char __b)
static vector short __ATTRS_o_ai vec_vmladduhm(vector short __a, vector short __b, vector short __c)
static vector signed char __ATTRS_o_ai vec_abss(vector signed char __a)
static vector bool char __ATTRS_o_ai vec_cmpge(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_vsubsbs(vector signed char __a, vector signed char __b)
static int __ATTRS_o_ai vec_all_lt(vector signed char __a, vector signed char __b)
static vector int __ATTRS_o_ai vec_vrlw(vector int __a, vector unsigned int __b)
static void __ATTRS_o_ai vec_mtvscr(vector signed char __a)
static vector short __ATTRS_o_ai vec_vsrah(vector short __a, vector unsigned short __b)
static vector short __ATTRS_o_ai vec_vupklsb(vector signed char __a)
static vector signed char __ATTRS_o_ai vec_lvebx(int __a, const signed char *__b)
static vector signed char __ATTRS_o_ai vec_rl(vector signed char __a, vector unsigned char __b)
static vector signed char __ATTRS_o_ai vec_ldl(int __a, const vector signed char *__b)
static vector int __ATTRS_o_ai vec_vsubuwm(vector int __a, vector int __b)
static vector unsigned int __ATTRS_o_ai vec_subc(vector unsigned int __a, vector unsigned int __b)
static vector short __ATTRS_o_ai vec_vspltish(signed char __a)
static vector signed char __ATTRS_o_ai vec_lvlxl(int __a, const signed char *__b)
static vector unsigned char __ATTRS_o_ai vec_lvsr(int __a, const signed char *__b)
static vector short __ATTRS_o_ai vec_vpkuwum(vector int __a, vector int __b)
static int __ATTRS_o_ai vec_all_ge(vector signed char __a, vector signed char __b)
static vector int __ATTRS_o_ai vec_vupkhsh(vector short __a)
static vector unsigned short __ATTRS_o_ai vec_vadduhs(vector unsigned short __a, vector unsigned short __b)
static vector signed char __ATTRS_o_ai vec_vmrglb(vector signed char __a, vector signed char __b)
static vector signed char __ATTRS_o_ai vec_vslb(vector signed char __a, vector unsigned char __b)
static vector signed char __ATTRS_o_ai vec_andc(vector signed char __a, vector signed char __b)
static vector float __ATTRS_o_ai vec_floor(vector float __a)
static vector int __ATTRS_o_ai vec_vspltw(vector int __a, unsigned char __b)
static void __ATTRS_o_ai vec_ste(vector signed char __a, int __b, signed char *__c)
static void __ATTRS_o_ai vec_stvewx(vector int __a, int __b, int *__c)
static vector unsigned char __ATTRS_o_ai vec_lvsl(int __a, const signed char *__b)
static void __ATTRS_o_ai vec_stl(vector signed char __a, int __b, vector signed char *__c)
static vector signed char __ATTRS_o_ai vec_vrlb(vector signed char __a, vector unsigned char __b)
static vector signed char __ATTRS_o_ai vec_avg(vector signed char __a, vector signed char __b)
static vector float __ATTRS_o_ai vec_ctf(vector int __a, int __b)
static vector signed char __ATTRS_o_ai vec_vxor(vector signed char __a, vector signed char __b)
static vector float __ATTRS_o_ai vec_round(vector float __a)