1 /*===---- altivec.h - Standard header for type generic math ---------------===*\
3 * Permission is hereby granted, free of charge, to any person obtaining a copy
4 * of this software and associated documentation files (the "Software"), to deal
5 * in the Software without restriction, including without limitation the rights
6 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 * copies of the Software, and to permit persons to whom the Software is
8 * furnished to do so, subject to the following conditions:
10 * The above copyright notice and this permission notice shall be included in
11 * all copies or substantial portions of the Software.
13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 \*===----------------------------------------------------------------------===*/
27 #error "AltiVec support not enabled"
30 /* constants for mapping CR6 bits to predicate result. */
33 #define __CR6_EQ_REV 1
35 #define __CR6_LT_REV 3
37 #define __ATTRS_o_ai __attribute__((__overloadable__, __always_inline__))
39 static vector signed char __ATTRS_o_ai
40 vec_perm(vector signed char __a, vector signed char __b, vector unsigned char __c);
42 static vector unsigned char __ATTRS_o_ai
43 vec_perm(vector unsigned char __a,
44 vector unsigned char __b,
45 vector unsigned char __c);
47 static vector bool char __ATTRS_o_ai
48 vec_perm(vector bool char __a, vector bool char __b, vector unsigned char __c);
50 static vector short __ATTRS_o_ai
51 vec_perm(vector short __a, vector short __b, vector unsigned char __c);
53 static vector unsigned short __ATTRS_o_ai
54 vec_perm(vector unsigned short __a,
55 vector unsigned short __b,
56 vector unsigned char __c);
58 static vector bool short __ATTRS_o_ai
59 vec_perm(vector bool short __a, vector bool short __b, vector unsigned char __c);
61 static vector pixel __ATTRS_o_ai
62 vec_perm(vector pixel __a, vector pixel __b, vector unsigned char __c);
64 static vector int __ATTRS_o_ai
65 vec_perm(vector int __a, vector int __b, vector unsigned char __c);
67 static vector unsigned int __ATTRS_o_ai
68 vec_perm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c);
70 static vector bool int __ATTRS_o_ai
71 vec_perm(vector bool int __a, vector bool int __b, vector unsigned char __c);
73 static vector float __ATTRS_o_ai
74 vec_perm(vector float __a, vector float __b, vector unsigned char __c);
76 static vector unsigned char __ATTRS_o_ai
77 vec_xor(vector unsigned char __a, vector unsigned char __b);
81 #define __builtin_altivec_abs_v16qi vec_abs
82 #define __builtin_altivec_abs_v8hi vec_abs
83 #define __builtin_altivec_abs_v4si vec_abs
85 static vector signed char __ATTRS_o_ai
86 vec_abs(vector signed char __a)
88 return __builtin_altivec_vmaxsb(__a, -__a);
91 static vector signed short __ATTRS_o_ai
92 vec_abs(vector signed short __a)
94 return __builtin_altivec_vmaxsh(__a, -__a);
97 static vector signed int __ATTRS_o_ai
98 vec_abs(vector signed int __a)
100 return __builtin_altivec_vmaxsw(__a, -__a);
103 static vector float __ATTRS_o_ai
104 vec_abs(vector float __a)
106 vector unsigned int __res = (vector unsigned int)__a
107 & (vector unsigned int)(0x7FFFFFFF);
108 return (vector float)__res;
113 #define __builtin_altivec_abss_v16qi vec_abss
114 #define __builtin_altivec_abss_v8hi vec_abss
115 #define __builtin_altivec_abss_v4si vec_abss
117 static vector signed char __ATTRS_o_ai
118 vec_abss(vector signed char __a)
120 return __builtin_altivec_vmaxsb
121 (__a, __builtin_altivec_vsubsbs((vector signed char)(0), __a));
124 static vector signed short __ATTRS_o_ai
125 vec_abss(vector signed short __a)
127 return __builtin_altivec_vmaxsh
128 (__a, __builtin_altivec_vsubshs((vector signed short)(0), __a));
131 static vector signed int __ATTRS_o_ai
132 vec_abss(vector signed int __a)
134 return __builtin_altivec_vmaxsw
135 (__a, __builtin_altivec_vsubsws((vector signed int)(0), __a));
140 static vector signed char __ATTRS_o_ai
141 vec_add(vector signed char __a, vector signed char __b)
146 static vector signed char __ATTRS_o_ai
147 vec_add(vector bool char __a, vector signed char __b)
149 return (vector signed char)__a + __b;
152 static vector signed char __ATTRS_o_ai
153 vec_add(vector signed char __a, vector bool char __b)
155 return __a + (vector signed char)__b;
158 static vector unsigned char __ATTRS_o_ai
159 vec_add(vector unsigned char __a, vector unsigned char __b)
164 static vector unsigned char __ATTRS_o_ai
165 vec_add(vector bool char __a, vector unsigned char __b)
167 return (vector unsigned char)__a + __b;
170 static vector unsigned char __ATTRS_o_ai
171 vec_add(vector unsigned char __a, vector bool char __b)
173 return __a + (vector unsigned char)__b;
176 static vector short __ATTRS_o_ai
177 vec_add(vector short __a, vector short __b)
182 static vector short __ATTRS_o_ai
183 vec_add(vector bool short __a, vector short __b)
185 return (vector short)__a + __b;
188 static vector short __ATTRS_o_ai
189 vec_add(vector short __a, vector bool short __b)
191 return __a + (vector short)__b;
194 static vector unsigned short __ATTRS_o_ai
195 vec_add(vector unsigned short __a, vector unsigned short __b)
200 static vector unsigned short __ATTRS_o_ai
201 vec_add(vector bool short __a, vector unsigned short __b)
203 return (vector unsigned short)__a + __b;
206 static vector unsigned short __ATTRS_o_ai
207 vec_add(vector unsigned short __a, vector bool short __b)
209 return __a + (vector unsigned short)__b;
212 static vector int __ATTRS_o_ai
213 vec_add(vector int __a, vector int __b)
218 static vector int __ATTRS_o_ai
219 vec_add(vector bool int __a, vector int __b)
221 return (vector int)__a + __b;
224 static vector int __ATTRS_o_ai
225 vec_add(vector int __a, vector bool int __b)
227 return __a + (vector int)__b;
230 static vector unsigned int __ATTRS_o_ai
231 vec_add(vector unsigned int __a, vector unsigned int __b)
236 static vector unsigned int __ATTRS_o_ai
237 vec_add(vector bool int __a, vector unsigned int __b)
239 return (vector unsigned int)__a + __b;
242 static vector unsigned int __ATTRS_o_ai
243 vec_add(vector unsigned int __a, vector bool int __b)
245 return __a + (vector unsigned int)__b;
248 static vector float __ATTRS_o_ai
249 vec_add(vector float __a, vector float __b)
256 #define __builtin_altivec_vaddubm vec_vaddubm
258 static vector signed char __ATTRS_o_ai
259 vec_vaddubm(vector signed char __a, vector signed char __b)
264 static vector signed char __ATTRS_o_ai
265 vec_vaddubm(vector bool char __a, vector signed char __b)
267 return (vector signed char)__a + __b;
270 static vector signed char __ATTRS_o_ai
271 vec_vaddubm(vector signed char __a, vector bool char __b)
273 return __a + (vector signed char)__b;
276 static vector unsigned char __ATTRS_o_ai
277 vec_vaddubm(vector unsigned char __a, vector unsigned char __b)
282 static vector unsigned char __ATTRS_o_ai
283 vec_vaddubm(vector bool char __a, vector unsigned char __b)
285 return (vector unsigned char)__a + __b;
288 static vector unsigned char __ATTRS_o_ai
289 vec_vaddubm(vector unsigned char __a, vector bool char __b)
291 return __a + (vector unsigned char)__b;
296 #define __builtin_altivec_vadduhm vec_vadduhm
298 static vector short __ATTRS_o_ai
299 vec_vadduhm(vector short __a, vector short __b)
304 static vector short __ATTRS_o_ai
305 vec_vadduhm(vector bool short __a, vector short __b)
307 return (vector short)__a + __b;
310 static vector short __ATTRS_o_ai
311 vec_vadduhm(vector short __a, vector bool short __b)
313 return __a + (vector short)__b;
316 static vector unsigned short __ATTRS_o_ai
317 vec_vadduhm(vector unsigned short __a, vector unsigned short __b)
322 static vector unsigned short __ATTRS_o_ai
323 vec_vadduhm(vector bool short __a, vector unsigned short __b)
325 return (vector unsigned short)__a + __b;
328 static vector unsigned short __ATTRS_o_ai
329 vec_vadduhm(vector unsigned short __a, vector bool short __b)
331 return __a + (vector unsigned short)__b;
336 #define __builtin_altivec_vadduwm vec_vadduwm
338 static vector int __ATTRS_o_ai
339 vec_vadduwm(vector int __a, vector int __b)
344 static vector int __ATTRS_o_ai
345 vec_vadduwm(vector bool int __a, vector int __b)
347 return (vector int)__a + __b;
350 static vector int __ATTRS_o_ai
351 vec_vadduwm(vector int __a, vector bool int __b)
353 return __a + (vector int)__b;
356 static vector unsigned int __ATTRS_o_ai
357 vec_vadduwm(vector unsigned int __a, vector unsigned int __b)
362 static vector unsigned int __ATTRS_o_ai
363 vec_vadduwm(vector bool int __a, vector unsigned int __b)
365 return (vector unsigned int)__a + __b;
368 static vector unsigned int __ATTRS_o_ai
369 vec_vadduwm(vector unsigned int __a, vector bool int __b)
371 return __a + (vector unsigned int)__b;
376 #define __builtin_altivec_vaddfp vec_vaddfp
378 static vector float __attribute__((__always_inline__))
379 vec_vaddfp(vector float __a, vector float __b)
386 static vector unsigned int __attribute__((__always_inline__))
387 vec_addc(vector unsigned int __a, vector unsigned int __b)
389 return __builtin_altivec_vaddcuw(__a, __b);
394 static vector unsigned int __attribute__((__always_inline__))
395 vec_vaddcuw(vector unsigned int __a, vector unsigned int __b)
397 return __builtin_altivec_vaddcuw(__a, __b);
402 static vector signed char __ATTRS_o_ai
403 vec_adds(vector signed char __a, vector signed char __b)
405 return __builtin_altivec_vaddsbs(__a, __b);
408 static vector signed char __ATTRS_o_ai
409 vec_adds(vector bool char __a, vector signed char __b)
411 return __builtin_altivec_vaddsbs((vector signed char)__a, __b);
414 static vector signed char __ATTRS_o_ai
415 vec_adds(vector signed char __a, vector bool char __b)
417 return __builtin_altivec_vaddsbs(__a, (vector signed char)__b);
420 static vector unsigned char __ATTRS_o_ai
421 vec_adds(vector unsigned char __a, vector unsigned char __b)
423 return __builtin_altivec_vaddubs(__a, __b);
426 static vector unsigned char __ATTRS_o_ai
427 vec_adds(vector bool char __a, vector unsigned char __b)
429 return __builtin_altivec_vaddubs((vector unsigned char)__a, __b);
432 static vector unsigned char __ATTRS_o_ai
433 vec_adds(vector unsigned char __a, vector bool char __b)
435 return __builtin_altivec_vaddubs(__a, (vector unsigned char)__b);
438 static vector short __ATTRS_o_ai
439 vec_adds(vector short __a, vector short __b)
441 return __builtin_altivec_vaddshs(__a, __b);
444 static vector short __ATTRS_o_ai
445 vec_adds(vector bool short __a, vector short __b)
447 return __builtin_altivec_vaddshs((vector short)__a, __b);
450 static vector short __ATTRS_o_ai
451 vec_adds(vector short __a, vector bool short __b)
453 return __builtin_altivec_vaddshs(__a, (vector short)__b);
456 static vector unsigned short __ATTRS_o_ai
457 vec_adds(vector unsigned short __a, vector unsigned short __b)
459 return __builtin_altivec_vadduhs(__a, __b);
462 static vector unsigned short __ATTRS_o_ai
463 vec_adds(vector bool short __a, vector unsigned short __b)
465 return __builtin_altivec_vadduhs((vector unsigned short)__a, __b);
468 static vector unsigned short __ATTRS_o_ai
469 vec_adds(vector unsigned short __a, vector bool short __b)
471 return __builtin_altivec_vadduhs(__a, (vector unsigned short)__b);
474 static vector int __ATTRS_o_ai
475 vec_adds(vector int __a, vector int __b)
477 return __builtin_altivec_vaddsws(__a, __b);
480 static vector int __ATTRS_o_ai
481 vec_adds(vector bool int __a, vector int __b)
483 return __builtin_altivec_vaddsws((vector int)__a, __b);
486 static vector int __ATTRS_o_ai
487 vec_adds(vector int __a, vector bool int __b)
489 return __builtin_altivec_vaddsws(__a, (vector int)__b);
492 static vector unsigned int __ATTRS_o_ai
493 vec_adds(vector unsigned int __a, vector unsigned int __b)
495 return __builtin_altivec_vadduws(__a, __b);
498 static vector unsigned int __ATTRS_o_ai
499 vec_adds(vector bool int __a, vector unsigned int __b)
501 return __builtin_altivec_vadduws((vector unsigned int)__a, __b);
504 static vector unsigned int __ATTRS_o_ai
505 vec_adds(vector unsigned int __a, vector bool int __b)
507 return __builtin_altivec_vadduws(__a, (vector unsigned int)__b);
512 static vector signed char __ATTRS_o_ai
513 vec_vaddsbs(vector signed char __a, vector signed char __b)
515 return __builtin_altivec_vaddsbs(__a, __b);
518 static vector signed char __ATTRS_o_ai
519 vec_vaddsbs(vector bool char __a, vector signed char __b)
521 return __builtin_altivec_vaddsbs((vector signed char)__a, __b);
524 static vector signed char __ATTRS_o_ai
525 vec_vaddsbs(vector signed char __a, vector bool char __b)
527 return __builtin_altivec_vaddsbs(__a, (vector signed char)__b);
532 static vector unsigned char __ATTRS_o_ai
533 vec_vaddubs(vector unsigned char __a, vector unsigned char __b)
535 return __builtin_altivec_vaddubs(__a, __b);
538 static vector unsigned char __ATTRS_o_ai
539 vec_vaddubs(vector bool char __a, vector unsigned char __b)
541 return __builtin_altivec_vaddubs((vector unsigned char)__a, __b);
544 static vector unsigned char __ATTRS_o_ai
545 vec_vaddubs(vector unsigned char __a, vector bool char __b)
547 return __builtin_altivec_vaddubs(__a, (vector unsigned char)__b);
552 static vector short __ATTRS_o_ai
553 vec_vaddshs(vector short __a, vector short __b)
555 return __builtin_altivec_vaddshs(__a, __b);
558 static vector short __ATTRS_o_ai
559 vec_vaddshs(vector bool short __a, vector short __b)
561 return __builtin_altivec_vaddshs((vector short)__a, __b);
564 static vector short __ATTRS_o_ai
565 vec_vaddshs(vector short __a, vector bool short __b)
567 return __builtin_altivec_vaddshs(__a, (vector short)__b);
572 static vector unsigned short __ATTRS_o_ai
573 vec_vadduhs(vector unsigned short __a, vector unsigned short __b)
575 return __builtin_altivec_vadduhs(__a, __b);
578 static vector unsigned short __ATTRS_o_ai
579 vec_vadduhs(vector bool short __a, vector unsigned short __b)
581 return __builtin_altivec_vadduhs((vector unsigned short)__a, __b);
584 static vector unsigned short __ATTRS_o_ai
585 vec_vadduhs(vector unsigned short __a, vector bool short __b)
587 return __builtin_altivec_vadduhs(__a, (vector unsigned short)__b);
592 static vector int __ATTRS_o_ai
593 vec_vaddsws(vector int __a, vector int __b)
595 return __builtin_altivec_vaddsws(__a, __b);
598 static vector int __ATTRS_o_ai
599 vec_vaddsws(vector bool int __a, vector int __b)
601 return __builtin_altivec_vaddsws((vector int)__a, __b);
604 static vector int __ATTRS_o_ai
605 vec_vaddsws(vector int __a, vector bool int __b)
607 return __builtin_altivec_vaddsws(__a, (vector int)__b);
612 static vector unsigned int __ATTRS_o_ai
613 vec_vadduws(vector unsigned int __a, vector unsigned int __b)
615 return __builtin_altivec_vadduws(__a, __b);
618 static vector unsigned int __ATTRS_o_ai
619 vec_vadduws(vector bool int __a, vector unsigned int __b)
621 return __builtin_altivec_vadduws((vector unsigned int)__a, __b);
624 static vector unsigned int __ATTRS_o_ai
625 vec_vadduws(vector unsigned int __a, vector bool int __b)
627 return __builtin_altivec_vadduws(__a, (vector unsigned int)__b);
632 #define __builtin_altivec_vand vec_and
634 static vector signed char __ATTRS_o_ai
635 vec_and(vector signed char __a, vector signed char __b)
640 static vector signed char __ATTRS_o_ai
641 vec_and(vector bool char __a, vector signed char __b)
643 return (vector signed char)__a & __b;
646 static vector signed char __ATTRS_o_ai
647 vec_and(vector signed char __a, vector bool char __b)
649 return __a & (vector signed char)__b;
652 static vector unsigned char __ATTRS_o_ai
653 vec_and(vector unsigned char __a, vector unsigned char __b)
658 static vector unsigned char __ATTRS_o_ai
659 vec_and(vector bool char __a, vector unsigned char __b)
661 return (vector unsigned char)__a & __b;
664 static vector unsigned char __ATTRS_o_ai
665 vec_and(vector unsigned char __a, vector bool char __b)
667 return __a & (vector unsigned char)__b;
670 static vector bool char __ATTRS_o_ai
671 vec_and(vector bool char __a, vector bool char __b)
676 static vector short __ATTRS_o_ai
677 vec_and(vector short __a, vector short __b)
682 static vector short __ATTRS_o_ai
683 vec_and(vector bool short __a, vector short __b)
685 return (vector short)__a & __b;
688 static vector short __ATTRS_o_ai
689 vec_and(vector short __a, vector bool short __b)
691 return __a & (vector short)__b;
694 static vector unsigned short __ATTRS_o_ai
695 vec_and(vector unsigned short __a, vector unsigned short __b)
700 static vector unsigned short __ATTRS_o_ai
701 vec_and(vector bool short __a, vector unsigned short __b)
703 return (vector unsigned short)__a & __b;
706 static vector unsigned short __ATTRS_o_ai
707 vec_and(vector unsigned short __a, vector bool short __b)
709 return __a & (vector unsigned short)__b;
712 static vector bool short __ATTRS_o_ai
713 vec_and(vector bool short __a, vector bool short __b)
718 static vector int __ATTRS_o_ai
719 vec_and(vector int __a, vector int __b)
724 static vector int __ATTRS_o_ai
725 vec_and(vector bool int __a, vector int __b)
727 return (vector int)__a & __b;
730 static vector int __ATTRS_o_ai
731 vec_and(vector int __a, vector bool int __b)
733 return __a & (vector int)__b;
736 static vector unsigned int __ATTRS_o_ai
737 vec_and(vector unsigned int __a, vector unsigned int __b)
742 static vector unsigned int __ATTRS_o_ai
743 vec_and(vector bool int __a, vector unsigned int __b)
745 return (vector unsigned int)__a & __b;
748 static vector unsigned int __ATTRS_o_ai
749 vec_and(vector unsigned int __a, vector bool int __b)
751 return __a & (vector unsigned int)__b;
754 static vector bool int __ATTRS_o_ai
755 vec_and(vector bool int __a, vector bool int __b)
760 static vector float __ATTRS_o_ai
761 vec_and(vector float __a, vector float __b)
763 vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
764 return (vector float)__res;
767 static vector float __ATTRS_o_ai
768 vec_and(vector bool int __a, vector float __b)
770 vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
771 return (vector float)__res;
774 static vector float __ATTRS_o_ai
775 vec_and(vector float __a, vector bool int __b)
777 vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
778 return (vector float)__res;
783 static vector signed char __ATTRS_o_ai
784 vec_vand(vector signed char __a, vector signed char __b)
789 static vector signed char __ATTRS_o_ai
790 vec_vand(vector bool char __a, vector signed char __b)
792 return (vector signed char)__a & __b;
795 static vector signed char __ATTRS_o_ai
796 vec_vand(vector signed char __a, vector bool char __b)
798 return __a & (vector signed char)__b;
801 static vector unsigned char __ATTRS_o_ai
802 vec_vand(vector unsigned char __a, vector unsigned char __b)
807 static vector unsigned char __ATTRS_o_ai
808 vec_vand(vector bool char __a, vector unsigned char __b)
810 return (vector unsigned char)__a & __b;
813 static vector unsigned char __ATTRS_o_ai
814 vec_vand(vector unsigned char __a, vector bool char __b)
816 return __a & (vector unsigned char)__b;
819 static vector bool char __ATTRS_o_ai
820 vec_vand(vector bool char __a, vector bool char __b)
825 static vector short __ATTRS_o_ai
826 vec_vand(vector short __a, vector short __b)
831 static vector short __ATTRS_o_ai
832 vec_vand(vector bool short __a, vector short __b)
834 return (vector short)__a & __b;
837 static vector short __ATTRS_o_ai
838 vec_vand(vector short __a, vector bool short __b)
840 return __a & (vector short)__b;
843 static vector unsigned short __ATTRS_o_ai
844 vec_vand(vector unsigned short __a, vector unsigned short __b)
849 static vector unsigned short __ATTRS_o_ai
850 vec_vand(vector bool short __a, vector unsigned short __b)
852 return (vector unsigned short)__a & __b;
855 static vector unsigned short __ATTRS_o_ai
856 vec_vand(vector unsigned short __a, vector bool short __b)
858 return __a & (vector unsigned short)__b;
861 static vector bool short __ATTRS_o_ai
862 vec_vand(vector bool short __a, vector bool short __b)
867 static vector int __ATTRS_o_ai
868 vec_vand(vector int __a, vector int __b)
873 static vector int __ATTRS_o_ai
874 vec_vand(vector bool int __a, vector int __b)
876 return (vector int)__a & __b;
879 static vector int __ATTRS_o_ai
880 vec_vand(vector int __a, vector bool int __b)
882 return __a & (vector int)__b;
885 static vector unsigned int __ATTRS_o_ai
886 vec_vand(vector unsigned int __a, vector unsigned int __b)
891 static vector unsigned int __ATTRS_o_ai
892 vec_vand(vector bool int __a, vector unsigned int __b)
894 return (vector unsigned int)__a & __b;
897 static vector unsigned int __ATTRS_o_ai
898 vec_vand(vector unsigned int __a, vector bool int __b)
900 return __a & (vector unsigned int)__b;
903 static vector bool int __ATTRS_o_ai
904 vec_vand(vector bool int __a, vector bool int __b)
909 static vector float __ATTRS_o_ai
910 vec_vand(vector float __a, vector float __b)
912 vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
913 return (vector float)__res;
916 static vector float __ATTRS_o_ai
917 vec_vand(vector bool int __a, vector float __b)
919 vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
920 return (vector float)__res;
923 static vector float __ATTRS_o_ai
924 vec_vand(vector float __a, vector bool int __b)
926 vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
927 return (vector float)__res;
932 #define __builtin_altivec_vandc vec_andc
934 static vector signed char __ATTRS_o_ai
935 vec_andc(vector signed char __a, vector signed char __b)
940 static vector signed char __ATTRS_o_ai
941 vec_andc(vector bool char __a, vector signed char __b)
943 return (vector signed char)__a & ~__b;
946 static vector signed char __ATTRS_o_ai
947 vec_andc(vector signed char __a, vector bool char __b)
949 return __a & ~(vector signed char)__b;
952 static vector unsigned char __ATTRS_o_ai
953 vec_andc(vector unsigned char __a, vector unsigned char __b)
958 static vector unsigned char __ATTRS_o_ai
959 vec_andc(vector bool char __a, vector unsigned char __b)
961 return (vector unsigned char)__a & ~__b;
964 static vector unsigned char __ATTRS_o_ai
965 vec_andc(vector unsigned char __a, vector bool char __b)
967 return __a & ~(vector unsigned char)__b;
970 static vector bool char __ATTRS_o_ai
971 vec_andc(vector bool char __a, vector bool char __b)
976 static vector short __ATTRS_o_ai
977 vec_andc(vector short __a, vector short __b)
982 static vector short __ATTRS_o_ai
983 vec_andc(vector bool short __a, vector short __b)
985 return (vector short)__a & ~__b;
988 static vector short __ATTRS_o_ai
989 vec_andc(vector short __a, vector bool short __b)
991 return __a & ~(vector short)__b;
994 static vector unsigned short __ATTRS_o_ai
995 vec_andc(vector unsigned short __a, vector unsigned short __b)
1000 static vector unsigned short __ATTRS_o_ai
1001 vec_andc(vector bool short __a, vector unsigned short __b)
1003 return (vector unsigned short)__a & ~__b;
1006 static vector unsigned short __ATTRS_o_ai
1007 vec_andc(vector unsigned short __a, vector bool short __b)
1009 return __a & ~(vector unsigned short)__b;
1012 static vector bool short __ATTRS_o_ai
1013 vec_andc(vector bool short __a, vector bool short __b)
1018 static vector int __ATTRS_o_ai
1019 vec_andc(vector int __a, vector int __b)
1024 static vector int __ATTRS_o_ai
1025 vec_andc(vector bool int __a, vector int __b)
1027 return (vector int)__a & ~__b;
1030 static vector int __ATTRS_o_ai
1031 vec_andc(vector int __a, vector bool int __b)
1033 return __a & ~(vector int)__b;
1036 static vector unsigned int __ATTRS_o_ai
1037 vec_andc(vector unsigned int __a, vector unsigned int __b)
1042 static vector unsigned int __ATTRS_o_ai
1043 vec_andc(vector bool int __a, vector unsigned int __b)
1045 return (vector unsigned int)__a & ~__b;
1048 static vector unsigned int __ATTRS_o_ai
1049 vec_andc(vector unsigned int __a, vector bool int __b)
1051 return __a & ~(vector unsigned int)__b;
1054 static vector bool int __ATTRS_o_ai
1055 vec_andc(vector bool int __a, vector bool int __b)
1060 static vector float __ATTRS_o_ai
1061 vec_andc(vector float __a, vector float __b)
1063 vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
1064 return (vector float)__res;
1067 static vector float __ATTRS_o_ai
1068 vec_andc(vector bool int __a, vector float __b)
1070 vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
1071 return (vector float)__res;
1074 static vector float __ATTRS_o_ai
1075 vec_andc(vector float __a, vector bool int __b)
1077 vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
1078 return (vector float)__res;
1083 static vector signed char __ATTRS_o_ai
1084 vec_vandc(vector signed char __a, vector signed char __b)
1089 static vector signed char __ATTRS_o_ai
1090 vec_vandc(vector bool char __a, vector signed char __b)
1092 return (vector signed char)__a & ~__b;
1095 static vector signed char __ATTRS_o_ai
1096 vec_vandc(vector signed char __a, vector bool char __b)
1098 return __a & ~(vector signed char)__b;
1101 static vector unsigned char __ATTRS_o_ai
1102 vec_vandc(vector unsigned char __a, vector unsigned char __b)
1107 static vector unsigned char __ATTRS_o_ai
1108 vec_vandc(vector bool char __a, vector unsigned char __b)
1110 return (vector unsigned char)__a & ~__b;
1113 static vector unsigned char __ATTRS_o_ai
1114 vec_vandc(vector unsigned char __a, vector bool char __b)
1116 return __a & ~(vector unsigned char)__b;
1119 static vector bool char __ATTRS_o_ai
1120 vec_vandc(vector bool char __a, vector bool char __b)
1125 static vector short __ATTRS_o_ai
1126 vec_vandc(vector short __a, vector short __b)
1131 static vector short __ATTRS_o_ai
1132 vec_vandc(vector bool short __a, vector short __b)
1134 return (vector short)__a & ~__b;
1137 static vector short __ATTRS_o_ai
1138 vec_vandc(vector short __a, vector bool short __b)
1140 return __a & ~(vector short)__b;
1143 static vector unsigned short __ATTRS_o_ai
1144 vec_vandc(vector unsigned short __a, vector unsigned short __b)
1149 static vector unsigned short __ATTRS_o_ai
1150 vec_vandc(vector bool short __a, vector unsigned short __b)
1152 return (vector unsigned short)__a & ~__b;
1155 static vector unsigned short __ATTRS_o_ai
1156 vec_vandc(vector unsigned short __a, vector bool short __b)
1158 return __a & ~(vector unsigned short)__b;
1161 static vector bool short __ATTRS_o_ai
1162 vec_vandc(vector bool short __a, vector bool short __b)
1167 static vector int __ATTRS_o_ai
1168 vec_vandc(vector int __a, vector int __b)
1173 static vector int __ATTRS_o_ai
1174 vec_vandc(vector bool int __a, vector int __b)
1176 return (vector int)__a & ~__b;
1179 static vector int __ATTRS_o_ai
1180 vec_vandc(vector int __a, vector bool int __b)
1182 return __a & ~(vector int)__b;
1185 static vector unsigned int __ATTRS_o_ai
1186 vec_vandc(vector unsigned int __a, vector unsigned int __b)
1191 static vector unsigned int __ATTRS_o_ai
1192 vec_vandc(vector bool int __a, vector unsigned int __b)
1194 return (vector unsigned int)__a & ~__b;
1197 static vector unsigned int __ATTRS_o_ai
1198 vec_vandc(vector unsigned int __a, vector bool int __b)
1200 return __a & ~(vector unsigned int)__b;
1203 static vector bool int __ATTRS_o_ai
1204 vec_vandc(vector bool int __a, vector bool int __b)
1209 static vector float __ATTRS_o_ai
1210 vec_vandc(vector float __a, vector float __b)
1212 vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
1213 return (vector float)__res;
1216 static vector float __ATTRS_o_ai
1217 vec_vandc(vector bool int __a, vector float __b)
1219 vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
1220 return (vector float)__res;
1223 static vector float __ATTRS_o_ai
1224 vec_vandc(vector float __a, vector bool int __b)
1226 vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
1227 return (vector float)__res;
1232 static vector signed char __ATTRS_o_ai
1233 vec_avg(vector signed char __a, vector signed char __b)
1235 return __builtin_altivec_vavgsb(__a, __b);
1238 static vector unsigned char __ATTRS_o_ai
1239 vec_avg(vector unsigned char __a, vector unsigned char __b)
1241 return __builtin_altivec_vavgub(__a, __b);
1244 static vector short __ATTRS_o_ai
1245 vec_avg(vector short __a, vector short __b)
1247 return __builtin_altivec_vavgsh(__a, __b);
1250 static vector unsigned short __ATTRS_o_ai
1251 vec_avg(vector unsigned short __a, vector unsigned short __b)
1253 return __builtin_altivec_vavguh(__a, __b);
1256 static vector int __ATTRS_o_ai
1257 vec_avg(vector int __a, vector int __b)
1259 return __builtin_altivec_vavgsw(__a, __b);
1262 static vector unsigned int __ATTRS_o_ai
1263 vec_avg(vector unsigned int __a, vector unsigned int __b)
1265 return __builtin_altivec_vavguw(__a, __b);
1270 static vector signed char __attribute__((__always_inline__))
1271 vec_vavgsb(vector signed char __a, vector signed char __b)
1273 return __builtin_altivec_vavgsb(__a, __b);
1278 static vector unsigned char __attribute__((__always_inline__))
1279 vec_vavgub(vector unsigned char __a, vector unsigned char __b)
1281 return __builtin_altivec_vavgub(__a, __b);
1286 static vector short __attribute__((__always_inline__))
1287 vec_vavgsh(vector short __a, vector short __b)
1289 return __builtin_altivec_vavgsh(__a, __b);
1294 static vector unsigned short __attribute__((__always_inline__))
1295 vec_vavguh(vector unsigned short __a, vector unsigned short __b)
1297 return __builtin_altivec_vavguh(__a, __b);
1302 static vector int __attribute__((__always_inline__))
1303 vec_vavgsw(vector int __a, vector int __b)
1305 return __builtin_altivec_vavgsw(__a, __b);
1310 static vector unsigned int __attribute__((__always_inline__))
1311 vec_vavguw(vector unsigned int __a, vector unsigned int __b)
1313 return __builtin_altivec_vavguw(__a, __b);
1318 static vector float __attribute__((__always_inline__))
1319 vec_ceil(vector float __a)
1321 return __builtin_altivec_vrfip(__a);
1326 static vector float __attribute__((__always_inline__))
1327 vec_vrfip(vector float __a)
1329 return __builtin_altivec_vrfip(__a);
1334 static vector int __attribute__((__always_inline__))
1335 vec_cmpb(vector float __a, vector float __b)
1337 return __builtin_altivec_vcmpbfp(__a, __b);
1342 static vector int __attribute__((__always_inline__))
1343 vec_vcmpbfp(vector float __a, vector float __b)
1345 return __builtin_altivec_vcmpbfp(__a, __b);
1350 static vector bool char __ATTRS_o_ai
1351 vec_cmpeq(vector signed char __a, vector signed char __b)
1353 return (vector bool char)
1354 __builtin_altivec_vcmpequb((vector char)__a, (vector char)__b);
1357 static vector bool char __ATTRS_o_ai
1358 vec_cmpeq(vector unsigned char __a, vector unsigned char __b)
1360 return (vector bool char)
1361 __builtin_altivec_vcmpequb((vector char)__a, (vector char)__b);
1364 static vector bool short __ATTRS_o_ai
1365 vec_cmpeq(vector short __a, vector short __b)
1367 return (vector bool short)__builtin_altivec_vcmpequh(__a, __b);
1370 static vector bool short __ATTRS_o_ai
1371 vec_cmpeq(vector unsigned short __a, vector unsigned short __b)
1373 return (vector bool short)
1374 __builtin_altivec_vcmpequh((vector short)__a, (vector short)__b);
1377 static vector bool int __ATTRS_o_ai
1378 vec_cmpeq(vector int __a, vector int __b)
1380 return (vector bool int)__builtin_altivec_vcmpequw(__a, __b);
1383 static vector bool int __ATTRS_o_ai
1384 vec_cmpeq(vector unsigned int __a, vector unsigned int __b)
1386 return (vector bool int)
1387 __builtin_altivec_vcmpequw((vector int)__a, (vector int)__b);
1390 static vector bool int __ATTRS_o_ai
1391 vec_cmpeq(vector float __a, vector float __b)
1393 return (vector bool int)__builtin_altivec_vcmpeqfp(__a, __b);
1398 static vector bool int __attribute__((__always_inline__))
1399 vec_cmpge(vector float __a, vector float __b)
1401 return (vector bool int)__builtin_altivec_vcmpgefp(__a, __b);
1406 static vector bool int __attribute__((__always_inline__))
1407 vec_vcmpgefp(vector float __a, vector float __b)
1409 return (vector bool int)__builtin_altivec_vcmpgefp(__a, __b);
1414 static vector bool char __ATTRS_o_ai
1415 vec_cmpgt(vector signed char __a, vector signed char __b)
1417 return (vector bool char)__builtin_altivec_vcmpgtsb(__a, __b);
1420 static vector bool char __ATTRS_o_ai
1421 vec_cmpgt(vector unsigned char __a, vector unsigned char __b)
1423 return (vector bool char)__builtin_altivec_vcmpgtub(__a, __b);
1426 static vector bool short __ATTRS_o_ai
1427 vec_cmpgt(vector short __a, vector short __b)
1429 return (vector bool short)__builtin_altivec_vcmpgtsh(__a, __b);
1432 static vector bool short __ATTRS_o_ai
1433 vec_cmpgt(vector unsigned short __a, vector unsigned short __b)
1435 return (vector bool short)__builtin_altivec_vcmpgtuh(__a, __b);
1438 static vector bool int __ATTRS_o_ai
1439 vec_cmpgt(vector int __a, vector int __b)
1441 return (vector bool int)__builtin_altivec_vcmpgtsw(__a, __b);
1444 static vector bool int __ATTRS_o_ai
1445 vec_cmpgt(vector unsigned int __a, vector unsigned int __b)
1447 return (vector bool int)__builtin_altivec_vcmpgtuw(__a, __b);
1450 static vector bool int __ATTRS_o_ai
1451 vec_cmpgt(vector float __a, vector float __b)
1453 return (vector bool int)__builtin_altivec_vcmpgtfp(__a, __b);
1458 static vector bool char __attribute__((__always_inline__))
1459 vec_vcmpgtsb(vector signed char __a, vector signed char __b)
1461 return (vector bool char)__builtin_altivec_vcmpgtsb(__a, __b);
1466 static vector bool char __attribute__((__always_inline__))
1467 vec_vcmpgtub(vector unsigned char __a, vector unsigned char __b)
1469 return (vector bool char)__builtin_altivec_vcmpgtub(__a, __b);
1474 static vector bool short __attribute__((__always_inline__))
1475 vec_vcmpgtsh(vector short __a, vector short __b)
1477 return (vector bool short)__builtin_altivec_vcmpgtsh(__a, __b);
1482 static vector bool short __attribute__((__always_inline__))
1483 vec_vcmpgtuh(vector unsigned short __a, vector unsigned short __b)
1485 return (vector bool short)__builtin_altivec_vcmpgtuh(__a, __b);
1490 static vector bool int __attribute__((__always_inline__))
1491 vec_vcmpgtsw(vector int __a, vector int __b)
1493 return (vector bool int)__builtin_altivec_vcmpgtsw(__a, __b);
1498 static vector bool int __attribute__((__always_inline__))
1499 vec_vcmpgtuw(vector unsigned int __a, vector unsigned int __b)
1501 return (vector bool int)__builtin_altivec_vcmpgtuw(__a, __b);
1506 static vector bool int __attribute__((__always_inline__))
1507 vec_vcmpgtfp(vector float __a, vector float __b)
1509 return (vector bool int)__builtin_altivec_vcmpgtfp(__a, __b);
1514 static vector bool int __attribute__((__always_inline__))
1515 vec_cmple(vector float __a, vector float __b)
1517 return (vector bool int)__builtin_altivec_vcmpgefp(__b, __a);
1522 static vector bool char __ATTRS_o_ai
1523 vec_cmplt(vector signed char __a, vector signed char __b)
1525 return (vector bool char)__builtin_altivec_vcmpgtsb(__b, __a);
1528 static vector bool char __ATTRS_o_ai
1529 vec_cmplt(vector unsigned char __a, vector unsigned char __b)
1531 return (vector bool char)__builtin_altivec_vcmpgtub(__b, __a);
1534 static vector bool short __ATTRS_o_ai
1535 vec_cmplt(vector short __a, vector short __b)
1537 return (vector bool short)__builtin_altivec_vcmpgtsh(__b, __a);
1540 static vector bool short __ATTRS_o_ai
1541 vec_cmplt(vector unsigned short __a, vector unsigned short __b)
1543 return (vector bool short)__builtin_altivec_vcmpgtuh(__b, __a);
1546 static vector bool int __ATTRS_o_ai
1547 vec_cmplt(vector int __a, vector int __b)
1549 return (vector bool int)__builtin_altivec_vcmpgtsw(__b, __a);
1552 static vector bool int __ATTRS_o_ai
1553 vec_cmplt(vector unsigned int __a, vector unsigned int __b)
1555 return (vector bool int)__builtin_altivec_vcmpgtuw(__b, __a);
1558 static vector bool int __ATTRS_o_ai
1559 vec_cmplt(vector float __a, vector float __b)
1561 return (vector bool int)__builtin_altivec_vcmpgtfp(__b, __a);
1566 static vector float __ATTRS_o_ai
1567 vec_ctf(vector int __a, int __b)
1569 return __builtin_altivec_vcfsx(__a, __b);
1572 static vector float __ATTRS_o_ai
1573 vec_ctf(vector unsigned int __a, int __b)
1575 return __builtin_altivec_vcfux((vector int)__a, __b);
1580 static vector float __attribute__((__always_inline__))
1581 vec_vcfsx(vector int __a, int __b)
1583 return __builtin_altivec_vcfsx(__a, __b);
1588 static vector float __attribute__((__always_inline__))
1589 vec_vcfux(vector unsigned int __a, int __b)
1591 return __builtin_altivec_vcfux((vector int)__a, __b);
1596 static vector int __attribute__((__always_inline__))
1597 vec_cts(vector float __a, int __b)
1599 return __builtin_altivec_vctsxs(__a, __b);
1604 static vector int __attribute__((__always_inline__))
1605 vec_vctsxs(vector float __a, int __b)
1607 return __builtin_altivec_vctsxs(__a, __b);
1612 static vector unsigned int __attribute__((__always_inline__))
1613 vec_ctu(vector float __a, int __b)
1615 return __builtin_altivec_vctuxs(__a, __b);
1620 static vector unsigned int __attribute__((__always_inline__))
1621 vec_vctuxs(vector float __a, int __b)
1623 return __builtin_altivec_vctuxs(__a, __b);
1628 static void __attribute__((__always_inline__))
1631 __builtin_altivec_dss(__a);
1636 static void __attribute__((__always_inline__))
1639 __builtin_altivec_dssall();
1644 static void __attribute__((__always_inline__))
1645 vec_dst(const void *__a, int __b, int __c)
1647 __builtin_altivec_dst(__a, __b, __c);
1652 static void __attribute__((__always_inline__))
1653 vec_dstst(const void *__a, int __b, int __c)
1655 __builtin_altivec_dstst(__a, __b, __c);
1660 static void __attribute__((__always_inline__))
1661 vec_dststt(const void *__a, int __b, int __c)
1663 __builtin_altivec_dststt(__a, __b, __c);
1668 static void __attribute__((__always_inline__))
1669 vec_dstt(const void *__a, int __b, int __c)
1671 __builtin_altivec_dstt(__a, __b, __c);
1676 static vector float __attribute__((__always_inline__))
1677 vec_expte(vector float __a)
1679 return __builtin_altivec_vexptefp(__a);
1684 static vector float __attribute__((__always_inline__))
1685 vec_vexptefp(vector float __a)
1687 return __builtin_altivec_vexptefp(__a);
1692 static vector float __attribute__((__always_inline__))
1693 vec_floor(vector float __a)
1695 return __builtin_altivec_vrfim(__a);
1700 static vector float __attribute__((__always_inline__))
1701 vec_vrfim(vector float __a)
1703 return __builtin_altivec_vrfim(__a);
1708 static vector signed char __ATTRS_o_ai
1709 vec_ld(int __a, const vector signed char *__b)
1711 return (vector signed char)__builtin_altivec_lvx(__a, __b);
1714 static vector signed char __ATTRS_o_ai
1715 vec_ld(int __a, const signed char *__b)
1717 return (vector signed char)__builtin_altivec_lvx(__a, __b);
1720 static vector unsigned char __ATTRS_o_ai
1721 vec_ld(int __a, const vector unsigned char *__b)
1723 return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
1726 static vector unsigned char __ATTRS_o_ai
1727 vec_ld(int __a, const unsigned char *__b)
1729 return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
1732 static vector bool char __ATTRS_o_ai
1733 vec_ld(int __a, const vector bool char *__b)
1735 return (vector bool char)__builtin_altivec_lvx(__a, __b);
1738 static vector short __ATTRS_o_ai
1739 vec_ld(int __a, const vector short *__b)
1741 return (vector short)__builtin_altivec_lvx(__a, __b);
1744 static vector short __ATTRS_o_ai
1745 vec_ld(int __a, const short *__b)
1747 return (vector short)__builtin_altivec_lvx(__a, __b);
1750 static vector unsigned short __ATTRS_o_ai
1751 vec_ld(int __a, const vector unsigned short *__b)
1753 return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
1756 static vector unsigned short __ATTRS_o_ai
1757 vec_ld(int __a, const unsigned short *__b)
1759 return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
1762 static vector bool short __ATTRS_o_ai
1763 vec_ld(int __a, const vector bool short *__b)
1765 return (vector bool short)__builtin_altivec_lvx(__a, __b);
1768 static vector pixel __ATTRS_o_ai
1769 vec_ld(int __a, const vector pixel *__b)
1771 return (vector pixel)__builtin_altivec_lvx(__a, __b);
1774 static vector int __ATTRS_o_ai
1775 vec_ld(int __a, const vector int *__b)
1777 return (vector int)__builtin_altivec_lvx(__a, __b);
1780 static vector int __ATTRS_o_ai
1781 vec_ld(int __a, const int *__b)
1783 return (vector int)__builtin_altivec_lvx(__a, __b);
1786 static vector unsigned int __ATTRS_o_ai
1787 vec_ld(int __a, const vector unsigned int *__b)
1789 return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
1792 static vector unsigned int __ATTRS_o_ai
1793 vec_ld(int __a, const unsigned int *__b)
1795 return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
1798 static vector bool int __ATTRS_o_ai
1799 vec_ld(int __a, const vector bool int *__b)
1801 return (vector bool int)__builtin_altivec_lvx(__a, __b);
1804 static vector float __ATTRS_o_ai
1805 vec_ld(int __a, const vector float *__b)
1807 return (vector float)__builtin_altivec_lvx(__a, __b);
1810 static vector float __ATTRS_o_ai
1811 vec_ld(int __a, const float *__b)
1813 return (vector float)__builtin_altivec_lvx(__a, __b);
1818 static vector signed char __ATTRS_o_ai
1819 vec_lvx(int __a, const vector signed char *__b)
1821 return (vector signed char)__builtin_altivec_lvx(__a, __b);
1824 static vector signed char __ATTRS_o_ai
1825 vec_lvx(int __a, const signed char *__b)
1827 return (vector signed char)__builtin_altivec_lvx(__a, __b);
1830 static vector unsigned char __ATTRS_o_ai
1831 vec_lvx(int __a, const vector unsigned char *__b)
1833 return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
1836 static vector unsigned char __ATTRS_o_ai
1837 vec_lvx(int __a, const unsigned char *__b)
1839 return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
1842 static vector bool char __ATTRS_o_ai
1843 vec_lvx(int __a, const vector bool char *__b)
1845 return (vector bool char)__builtin_altivec_lvx(__a, __b);
1848 static vector short __ATTRS_o_ai
1849 vec_lvx(int __a, const vector short *__b)
1851 return (vector short)__builtin_altivec_lvx(__a, __b);
1854 static vector short __ATTRS_o_ai
1855 vec_lvx(int __a, const short *__b)
1857 return (vector short)__builtin_altivec_lvx(__a, __b);
1860 static vector unsigned short __ATTRS_o_ai
1861 vec_lvx(int __a, const vector unsigned short *__b)
1863 return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
1866 static vector unsigned short __ATTRS_o_ai
1867 vec_lvx(int __a, const unsigned short *__b)
1869 return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
1872 static vector bool short __ATTRS_o_ai
1873 vec_lvx(int __a, const vector bool short *__b)
1875 return (vector bool short)__builtin_altivec_lvx(__a, __b);
1878 static vector pixel __ATTRS_o_ai
1879 vec_lvx(int __a, const vector pixel *__b)
1881 return (vector pixel)__builtin_altivec_lvx(__a, __b);
1884 static vector int __ATTRS_o_ai
1885 vec_lvx(int __a, const vector int *__b)
1887 return (vector int)__builtin_altivec_lvx(__a, __b);
1890 static vector int __ATTRS_o_ai
1891 vec_lvx(int __a, const int *__b)
1893 return (vector int)__builtin_altivec_lvx(__a, __b);
1896 static vector unsigned int __ATTRS_o_ai
1897 vec_lvx(int __a, const vector unsigned int *__b)
1899 return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
1902 static vector unsigned int __ATTRS_o_ai
1903 vec_lvx(int __a, const unsigned int *__b)
1905 return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
1908 static vector bool int __ATTRS_o_ai
1909 vec_lvx(int __a, const vector bool int *__b)
1911 return (vector bool int)__builtin_altivec_lvx(__a, __b);
1914 static vector float __ATTRS_o_ai
1915 vec_lvx(int __a, const vector float *__b)
1917 return (vector float)__builtin_altivec_lvx(__a, __b);
1920 static vector float __ATTRS_o_ai
1921 vec_lvx(int __a, const float *__b)
1923 return (vector float)__builtin_altivec_lvx(__a, __b);
1928 static vector signed char __ATTRS_o_ai
1929 vec_lde(int __a, const signed char *__b)
1931 return (vector signed char)__builtin_altivec_lvebx(__a, __b);
1934 static vector unsigned char __ATTRS_o_ai
1935 vec_lde(int __a, const unsigned char *__b)
1937 return (vector unsigned char)__builtin_altivec_lvebx(__a, __b);
1940 static vector short __ATTRS_o_ai
1941 vec_lde(int __a, const short *__b)
1943 return (vector short)__builtin_altivec_lvehx(__a, __b);
1946 static vector unsigned short __ATTRS_o_ai
1947 vec_lde(int __a, const unsigned short *__b)
1949 return (vector unsigned short)__builtin_altivec_lvehx(__a, __b);
1952 static vector int __ATTRS_o_ai
1953 vec_lde(int __a, const int *__b)
1955 return (vector int)__builtin_altivec_lvewx(__a, __b);
1958 static vector unsigned int __ATTRS_o_ai
1959 vec_lde(int __a, const unsigned int *__b)
1961 return (vector unsigned int)__builtin_altivec_lvewx(__a, __b);
1964 static vector float __ATTRS_o_ai
1965 vec_lde(int __a, const float *__b)
1967 return (vector float)__builtin_altivec_lvewx(__a, __b);
1972 static vector signed char __ATTRS_o_ai
1973 vec_lvebx(int __a, const signed char *__b)
1975 return (vector signed char)__builtin_altivec_lvebx(__a, __b);
1978 static vector unsigned char __ATTRS_o_ai
1979 vec_lvebx(int __a, const unsigned char *__b)
1981 return (vector unsigned char)__builtin_altivec_lvebx(__a, __b);
1986 static vector short __ATTRS_o_ai
1987 vec_lvehx(int __a, const short *__b)
1989 return (vector short)__builtin_altivec_lvehx(__a, __b);
1992 static vector unsigned short __ATTRS_o_ai
1993 vec_lvehx(int __a, const unsigned short *__b)
1995 return (vector unsigned short)__builtin_altivec_lvehx(__a, __b);
2000 static vector int __ATTRS_o_ai
2001 vec_lvewx(int __a, const int *__b)
2003 return (vector int)__builtin_altivec_lvewx(__a, __b);
2006 static vector unsigned int __ATTRS_o_ai
2007 vec_lvewx(int __a, const unsigned int *__b)
2009 return (vector unsigned int)__builtin_altivec_lvewx(__a, __b);
2012 static vector float __ATTRS_o_ai
2013 vec_lvewx(int __a, const float *__b)
2015 return (vector float)__builtin_altivec_lvewx(__a, __b);
2020 static vector signed char __ATTRS_o_ai
2021 vec_ldl(int __a, const vector signed char *__b)
2023 return (vector signed char)__builtin_altivec_lvxl(__a, __b);
2026 static vector signed char __ATTRS_o_ai
2027 vec_ldl(int __a, const signed char *__b)
2029 return (vector signed char)__builtin_altivec_lvxl(__a, __b);
2032 static vector unsigned char __ATTRS_o_ai
2033 vec_ldl(int __a, const vector unsigned char *__b)
2035 return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
2038 static vector unsigned char __ATTRS_o_ai
2039 vec_ldl(int __a, const unsigned char *__b)
2041 return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
2044 static vector bool char __ATTRS_o_ai
2045 vec_ldl(int __a, const vector bool char *__b)
2047 return (vector bool char)__builtin_altivec_lvxl(__a, __b);
2050 static vector short __ATTRS_o_ai
2051 vec_ldl(int __a, const vector short *__b)
2053 return (vector short)__builtin_altivec_lvxl(__a, __b);
2056 static vector short __ATTRS_o_ai
2057 vec_ldl(int __a, const short *__b)
2059 return (vector short)__builtin_altivec_lvxl(__a, __b);
2062 static vector unsigned short __ATTRS_o_ai
2063 vec_ldl(int __a, const vector unsigned short *__b)
2065 return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
2068 static vector unsigned short __ATTRS_o_ai
2069 vec_ldl(int __a, const unsigned short *__b)
2071 return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
2074 static vector bool short __ATTRS_o_ai
2075 vec_ldl(int __a, const vector bool short *__b)
2077 return (vector bool short)__builtin_altivec_lvxl(__a, __b);
2080 static vector pixel __ATTRS_o_ai
2081 vec_ldl(int __a, const vector pixel *__b)
2083 return (vector pixel short)__builtin_altivec_lvxl(__a, __b);
2086 static vector int __ATTRS_o_ai
2087 vec_ldl(int __a, const vector int *__b)
2089 return (vector int)__builtin_altivec_lvxl(__a, __b);
2092 static vector int __ATTRS_o_ai
2093 vec_ldl(int __a, const int *__b)
2095 return (vector int)__builtin_altivec_lvxl(__a, __b);
2098 static vector unsigned int __ATTRS_o_ai
2099 vec_ldl(int __a, const vector unsigned int *__b)
2101 return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
2104 static vector unsigned int __ATTRS_o_ai
2105 vec_ldl(int __a, const unsigned int *__b)
2107 return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
2110 static vector bool int __ATTRS_o_ai
2111 vec_ldl(int __a, const vector bool int *__b)
2113 return (vector bool int)__builtin_altivec_lvxl(__a, __b);
2116 static vector float __ATTRS_o_ai
2117 vec_ldl(int __a, const vector float *__b)
2119 return (vector float)__builtin_altivec_lvxl(__a, __b);
2122 static vector float __ATTRS_o_ai
2123 vec_ldl(int __a, const float *__b)
2125 return (vector float)__builtin_altivec_lvxl(__a, __b);
2130 static vector signed char __ATTRS_o_ai
2131 vec_lvxl(int __a, const vector signed char *__b)
2133 return (vector signed char)__builtin_altivec_lvxl(__a, __b);
2136 static vector signed char __ATTRS_o_ai
2137 vec_lvxl(int __a, const signed char *__b)
2139 return (vector signed char)__builtin_altivec_lvxl(__a, __b);
2142 static vector unsigned char __ATTRS_o_ai
2143 vec_lvxl(int __a, const vector unsigned char *__b)
2145 return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
2148 static vector unsigned char __ATTRS_o_ai
2149 vec_lvxl(int __a, const unsigned char *__b)
2151 return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
2154 static vector bool char __ATTRS_o_ai
2155 vec_lvxl(int __a, const vector bool char *__b)
2157 return (vector bool char)__builtin_altivec_lvxl(__a, __b);
2160 static vector short __ATTRS_o_ai
2161 vec_lvxl(int __a, const vector short *__b)
2163 return (vector short)__builtin_altivec_lvxl(__a, __b);
2166 static vector short __ATTRS_o_ai
2167 vec_lvxl(int __a, const short *__b)
2169 return (vector short)__builtin_altivec_lvxl(__a, __b);
2172 static vector unsigned short __ATTRS_o_ai
2173 vec_lvxl(int __a, const vector unsigned short *__b)
2175 return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
2178 static vector unsigned short __ATTRS_o_ai
2179 vec_lvxl(int __a, const unsigned short *__b)
2181 return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
2184 static vector bool short __ATTRS_o_ai
2185 vec_lvxl(int __a, const vector bool short *__b)
2187 return (vector bool short)__builtin_altivec_lvxl(__a, __b);
2190 static vector pixel __ATTRS_o_ai
2191 vec_lvxl(int __a, const vector pixel *__b)
2193 return (vector pixel)__builtin_altivec_lvxl(__a, __b);
2196 static vector int __ATTRS_o_ai
2197 vec_lvxl(int __a, const vector int *__b)
2199 return (vector int)__builtin_altivec_lvxl(__a, __b);
2202 static vector int __ATTRS_o_ai
2203 vec_lvxl(int __a, const int *__b)
2205 return (vector int)__builtin_altivec_lvxl(__a, __b);
2208 static vector unsigned int __ATTRS_o_ai
2209 vec_lvxl(int __a, const vector unsigned int *__b)
2211 return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
2214 static vector unsigned int __ATTRS_o_ai
2215 vec_lvxl(int __a, const unsigned int *__b)
2217 return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
2220 static vector bool int __ATTRS_o_ai
2221 vec_lvxl(int __a, const vector bool int *__b)
2223 return (vector bool int)__builtin_altivec_lvxl(__a, __b);
2226 static vector float __ATTRS_o_ai
2227 vec_lvxl(int __a, const vector float *__b)
2229 return (vector float)__builtin_altivec_lvxl(__a, __b);
2232 static vector float __ATTRS_o_ai
2233 vec_lvxl(int __a, const float *__b)
2235 return (vector float)__builtin_altivec_lvxl(__a, __b);
2240 static vector float __attribute__((__always_inline__))
2241 vec_loge(vector float __a)
2243 return __builtin_altivec_vlogefp(__a);
2248 static vector float __attribute__((__always_inline__))
2249 vec_vlogefp(vector float __a)
2251 return __builtin_altivec_vlogefp(__a);
2256 static vector unsigned char __ATTRS_o_ai
2257 vec_lvsl(int __a, const signed char *__b)
2259 return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
2262 static vector unsigned char __ATTRS_o_ai
2263 vec_lvsl(int __a, const unsigned char *__b)
2265 return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
2268 static vector unsigned char __ATTRS_o_ai
2269 vec_lvsl(int __a, const short *__b)
2271 return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
2274 static vector unsigned char __ATTRS_o_ai
2275 vec_lvsl(int __a, const unsigned short *__b)
2277 return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
2280 static vector unsigned char __ATTRS_o_ai
2281 vec_lvsl(int __a, const int *__b)
2283 return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
2286 static vector unsigned char __ATTRS_o_ai
2287 vec_lvsl(int __a, const unsigned int *__b)
2289 return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
2292 static vector unsigned char __ATTRS_o_ai
2293 vec_lvsl(int __a, const float *__b)
2295 return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
2300 static vector unsigned char __ATTRS_o_ai
2301 vec_lvsr(int __a, const signed char *__b)
2303 return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
2306 static vector unsigned char __ATTRS_o_ai
2307 vec_lvsr(int __a, const unsigned char *__b)
2309 return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
2312 static vector unsigned char __ATTRS_o_ai
2313 vec_lvsr(int __a, const short *__b)
2315 return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
2318 static vector unsigned char __ATTRS_o_ai
2319 vec_lvsr(int __a, const unsigned short *__b)
2321 return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
2324 static vector unsigned char __ATTRS_o_ai
2325 vec_lvsr(int __a, const int *__b)
2327 return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
2330 static vector unsigned char __ATTRS_o_ai
2331 vec_lvsr(int __a, const unsigned int *__b)
2333 return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
2336 static vector unsigned char __ATTRS_o_ai
2337 vec_lvsr(int __a, const float *__b)
2339 return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
2344 static vector float __attribute__((__always_inline__))
2345 vec_madd(vector float __a, vector float __b, vector float __c)
2347 return __builtin_altivec_vmaddfp(__a, __b, __c);
2352 static vector float __attribute__((__always_inline__))
2353 vec_vmaddfp(vector float __a, vector float __b, vector float __c)
2355 return __builtin_altivec_vmaddfp(__a, __b, __c);
2360 static vector signed short __attribute__((__always_inline__))
2361 vec_madds(vector signed short __a, vector signed short __b, vector signed short __c)
2363 return __builtin_altivec_vmhaddshs(__a, __b, __c);
2367 static vector signed short __attribute__((__always_inline__))
2368 vec_vmhaddshs(vector signed short __a,
2369 vector signed short __b,
2370 vector signed short __c)
2372 return __builtin_altivec_vmhaddshs(__a, __b, __c);
2377 static vector signed char __ATTRS_o_ai
2378 vec_max(vector signed char __a, vector signed char __b)
2380 return __builtin_altivec_vmaxsb(__a, __b);
2383 static vector signed char __ATTRS_o_ai
2384 vec_max(vector bool char __a, vector signed char __b)
2386 return __builtin_altivec_vmaxsb((vector signed char)__a, __b);
2389 static vector signed char __ATTRS_o_ai
2390 vec_max(vector signed char __a, vector bool char __b)
2392 return __builtin_altivec_vmaxsb(__a, (vector signed char)__b);
2395 static vector unsigned char __ATTRS_o_ai
2396 vec_max(vector unsigned char __a, vector unsigned char __b)
2398 return __builtin_altivec_vmaxub(__a, __b);
2401 static vector unsigned char __ATTRS_o_ai
2402 vec_max(vector bool char __a, vector unsigned char __b)
2404 return __builtin_altivec_vmaxub((vector unsigned char)__a, __b);
2407 static vector unsigned char __ATTRS_o_ai
2408 vec_max(vector unsigned char __a, vector bool char __b)
2410 return __builtin_altivec_vmaxub(__a, (vector unsigned char)__b);
2413 static vector short __ATTRS_o_ai
2414 vec_max(vector short __a, vector short __b)
2416 return __builtin_altivec_vmaxsh(__a, __b);
2419 static vector short __ATTRS_o_ai
2420 vec_max(vector bool short __a, vector short __b)
2422 return __builtin_altivec_vmaxsh((vector short)__a, __b);
2425 static vector short __ATTRS_o_ai
2426 vec_max(vector short __a, vector bool short __b)
2428 return __builtin_altivec_vmaxsh(__a, (vector short)__b);
2431 static vector unsigned short __ATTRS_o_ai
2432 vec_max(vector unsigned short __a, vector unsigned short __b)
2434 return __builtin_altivec_vmaxuh(__a, __b);
2437 static vector unsigned short __ATTRS_o_ai
2438 vec_max(vector bool short __a, vector unsigned short __b)
2440 return __builtin_altivec_vmaxuh((vector unsigned short)__a, __b);
2443 static vector unsigned short __ATTRS_o_ai
2444 vec_max(vector unsigned short __a, vector bool short __b)
2446 return __builtin_altivec_vmaxuh(__a, (vector unsigned short)__b);
2449 static vector int __ATTRS_o_ai
2450 vec_max(vector int __a, vector int __b)
2452 return __builtin_altivec_vmaxsw(__a, __b);
2455 static vector int __ATTRS_o_ai
2456 vec_max(vector bool int __a, vector int __b)
2458 return __builtin_altivec_vmaxsw((vector int)__a, __b);
2461 static vector int __ATTRS_o_ai
2462 vec_max(vector int __a, vector bool int __b)
2464 return __builtin_altivec_vmaxsw(__a, (vector int)__b);
2467 static vector unsigned int __ATTRS_o_ai
2468 vec_max(vector unsigned int __a, vector unsigned int __b)
2470 return __builtin_altivec_vmaxuw(__a, __b);
2473 static vector unsigned int __ATTRS_o_ai
2474 vec_max(vector bool int __a, vector unsigned int __b)
2476 return __builtin_altivec_vmaxuw((vector unsigned int)__a, __b);
2479 static vector unsigned int __ATTRS_o_ai
2480 vec_max(vector unsigned int __a, vector bool int __b)
2482 return __builtin_altivec_vmaxuw(__a, (vector unsigned int)__b);
2485 static vector float __ATTRS_o_ai
2486 vec_max(vector float __a, vector float __b)
2488 return __builtin_altivec_vmaxfp(__a, __b);
2493 static vector signed char __ATTRS_o_ai
2494 vec_vmaxsb(vector signed char __a, vector signed char __b)
2496 return __builtin_altivec_vmaxsb(__a, __b);
2499 static vector signed char __ATTRS_o_ai
2500 vec_vmaxsb(vector bool char __a, vector signed char __b)
2502 return __builtin_altivec_vmaxsb((vector signed char)__a, __b);
2505 static vector signed char __ATTRS_o_ai
2506 vec_vmaxsb(vector signed char __a, vector bool char __b)
2508 return __builtin_altivec_vmaxsb(__a, (vector signed char)__b);
2513 static vector unsigned char __ATTRS_o_ai
2514 vec_vmaxub(vector unsigned char __a, vector unsigned char __b)
2516 return __builtin_altivec_vmaxub(__a, __b);
2519 static vector unsigned char __ATTRS_o_ai
2520 vec_vmaxub(vector bool char __a, vector unsigned char __b)
2522 return __builtin_altivec_vmaxub((vector unsigned char)__a, __b);
2525 static vector unsigned char __ATTRS_o_ai
2526 vec_vmaxub(vector unsigned char __a, vector bool char __b)
2528 return __builtin_altivec_vmaxub(__a, (vector unsigned char)__b);
2533 static vector short __ATTRS_o_ai
2534 vec_vmaxsh(vector short __a, vector short __b)
2536 return __builtin_altivec_vmaxsh(__a, __b);
2539 static vector short __ATTRS_o_ai
2540 vec_vmaxsh(vector bool short __a, vector short __b)
2542 return __builtin_altivec_vmaxsh((vector short)__a, __b);
2545 static vector short __ATTRS_o_ai
2546 vec_vmaxsh(vector short __a, vector bool short __b)
2548 return __builtin_altivec_vmaxsh(__a, (vector short)__b);
2553 static vector unsigned short __ATTRS_o_ai
2554 vec_vmaxuh(vector unsigned short __a, vector unsigned short __b)
2556 return __builtin_altivec_vmaxuh(__a, __b);
2559 static vector unsigned short __ATTRS_o_ai
2560 vec_vmaxuh(vector bool short __a, vector unsigned short __b)
2562 return __builtin_altivec_vmaxuh((vector unsigned short)__a, __b);
2565 static vector unsigned short __ATTRS_o_ai
2566 vec_vmaxuh(vector unsigned short __a, vector bool short __b)
2568 return __builtin_altivec_vmaxuh(__a, (vector unsigned short)__b);
2573 static vector int __ATTRS_o_ai
2574 vec_vmaxsw(vector int __a, vector int __b)
2576 return __builtin_altivec_vmaxsw(__a, __b);
2579 static vector int __ATTRS_o_ai
2580 vec_vmaxsw(vector bool int __a, vector int __b)
2582 return __builtin_altivec_vmaxsw((vector int)__a, __b);
2585 static vector int __ATTRS_o_ai
2586 vec_vmaxsw(vector int __a, vector bool int __b)
2588 return __builtin_altivec_vmaxsw(__a, (vector int)__b);
2593 static vector unsigned int __ATTRS_o_ai
2594 vec_vmaxuw(vector unsigned int __a, vector unsigned int __b)
2596 return __builtin_altivec_vmaxuw(__a, __b);
2599 static vector unsigned int __ATTRS_o_ai
2600 vec_vmaxuw(vector bool int __a, vector unsigned int __b)
2602 return __builtin_altivec_vmaxuw((vector unsigned int)__a, __b);
2605 static vector unsigned int __ATTRS_o_ai
2606 vec_vmaxuw(vector unsigned int __a, vector bool int __b)
2608 return __builtin_altivec_vmaxuw(__a, (vector unsigned int)__b);
2613 static vector float __attribute__((__always_inline__))
2614 vec_vmaxfp(vector float __a, vector float __b)
2616 return __builtin_altivec_vmaxfp(__a, __b);
2621 static vector signed char __ATTRS_o_ai
2622 vec_mergeh(vector signed char __a, vector signed char __b)
2624 return vec_perm(__a, __b, (vector unsigned char)
2625 (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
2626 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
2629 static vector unsigned char __ATTRS_o_ai
2630 vec_mergeh(vector unsigned char __a, vector unsigned char __b)
2632 return vec_perm(__a, __b, (vector unsigned char)
2633 (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
2634 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
2637 static vector bool char __ATTRS_o_ai
2638 vec_mergeh(vector bool char __a, vector bool char __b)
2640 return vec_perm(__a, __b, (vector unsigned char)
2641 (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
2642 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
2645 static vector short __ATTRS_o_ai
2646 vec_mergeh(vector short __a, vector short __b)
2648 return vec_perm(__a, __b, (vector unsigned char)
2649 (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2650 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2653 static vector unsigned short __ATTRS_o_ai
2654 vec_mergeh(vector unsigned short __a, vector unsigned short __b)
2656 return vec_perm(__a, __b, (vector unsigned char)
2657 (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2658 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2661 static vector bool short __ATTRS_o_ai
2662 vec_mergeh(vector bool short __a, vector bool short __b)
2664 return vec_perm(__a, __b, (vector unsigned char)
2665 (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2666 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2669 static vector pixel __ATTRS_o_ai
2670 vec_mergeh(vector pixel __a, vector pixel __b)
2672 return vec_perm(__a, __b, (vector unsigned char)
2673 (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2674 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2677 static vector int __ATTRS_o_ai
2678 vec_mergeh(vector int __a, vector int __b)
2680 return vec_perm(__a, __b, (vector unsigned char)
2681 (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
2682 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
2685 static vector unsigned int __ATTRS_o_ai
2686 vec_mergeh(vector unsigned int __a, vector unsigned int __b)
2688 return vec_perm(__a, __b, (vector unsigned char)
2689 (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
2690 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
2693 static vector bool int __ATTRS_o_ai
2694 vec_mergeh(vector bool int __a, vector bool int __b)
2696 return vec_perm(__a, __b, (vector unsigned char)
2697 (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
2698 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
2701 static vector float __ATTRS_o_ai
2702 vec_mergeh(vector float __a, vector float __b)
2704 return vec_perm(__a, __b, (vector unsigned char)
2705 (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
2706 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
2711 #define __builtin_altivec_vmrghb vec_vmrghb
2713 static vector signed char __ATTRS_o_ai
2714 vec_vmrghb(vector signed char __a, vector signed char __b)
2716 return vec_perm(__a, __b, (vector unsigned char)
2717 (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
2718 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
2721 static vector unsigned char __ATTRS_o_ai
2722 vec_vmrghb(vector unsigned char __a, vector unsigned char __b)
2724 return vec_perm(__a, __b, (vector unsigned char)
2725 (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
2726 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
2729 static vector bool char __ATTRS_o_ai
2730 vec_vmrghb(vector bool char __a, vector bool char __b)
2732 return vec_perm(__a, __b, (vector unsigned char)
2733 (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
2734 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
2739 #define __builtin_altivec_vmrghh vec_vmrghh
2741 static vector short __ATTRS_o_ai
2742 vec_vmrghh(vector short __a, vector short __b)
2744 return vec_perm(__a, __b, (vector unsigned char)
2745 (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2746 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2749 static vector unsigned short __ATTRS_o_ai
2750 vec_vmrghh(vector unsigned short __a, vector unsigned short __b)
2752 return vec_perm(__a, __b, (vector unsigned char)
2753 (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2754 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2757 static vector bool short __ATTRS_o_ai
2758 vec_vmrghh(vector bool short __a, vector bool short __b)
2760 return vec_perm(__a, __b, (vector unsigned char)
2761 (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2762 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2765 static vector pixel __ATTRS_o_ai
2766 vec_vmrghh(vector pixel __a, vector pixel __b)
2768 return vec_perm(__a, __b, (vector unsigned char)
2769 (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2770 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2775 #define __builtin_altivec_vmrghw vec_vmrghw
2777 static vector int __ATTRS_o_ai
2778 vec_vmrghw(vector int __a, vector int __b)
2780 return vec_perm(__a, __b, (vector unsigned char)
2781 (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
2782 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
2785 static vector unsigned int __ATTRS_o_ai
2786 vec_vmrghw(vector unsigned int __a, vector unsigned int __b)
2788 return vec_perm(__a, __b, (vector unsigned char)
2789 (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
2790 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
2793 static vector bool int __ATTRS_o_ai
2794 vec_vmrghw(vector bool int __a, vector bool int __b)
2796 return vec_perm(__a, __b, (vector unsigned char)
2797 (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
2798 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
2801 static vector float __ATTRS_o_ai
2802 vec_vmrghw(vector float __a, vector float __b)
2804 return vec_perm(__a, __b, (vector unsigned char)
2805 (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
2806 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
2811 static vector signed char __ATTRS_o_ai
2812 vec_mergel(vector signed char __a, vector signed char __b)
2814 return vec_perm(__a, __b, (vector unsigned char)
2815 (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
2816 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
2819 static vector unsigned char __ATTRS_o_ai
2820 vec_mergel(vector unsigned char __a, vector unsigned char __b)
2822 return vec_perm(__a, __b, (vector unsigned char)
2823 (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
2824 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
2827 static vector bool char __ATTRS_o_ai
2828 vec_mergel(vector bool char __a, vector bool char __b)
2830 return vec_perm(__a, __b, (vector unsigned char)
2831 (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
2832 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
2835 static vector short __ATTRS_o_ai
2836 vec_mergel(vector short __a, vector short __b)
2838 return vec_perm(__a, __b, (vector unsigned char)
2839 (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2840 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2843 static vector unsigned short __ATTRS_o_ai
2844 vec_mergel(vector unsigned short __a, vector unsigned short __b)
2846 return vec_perm(__a, __b, (vector unsigned char)
2847 (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2848 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2851 static vector bool short __ATTRS_o_ai
2852 vec_mergel(vector bool short __a, vector bool short __b)
2854 return vec_perm(__a, __b, (vector unsigned char)
2855 (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2856 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2859 static vector pixel __ATTRS_o_ai
2860 vec_mergel(vector pixel __a, vector pixel __b)
2862 return vec_perm(__a, __b, (vector unsigned char)
2863 (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2864 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2867 static vector int __ATTRS_o_ai
2868 vec_mergel(vector int __a, vector int __b)
2870 return vec_perm(__a, __b, (vector unsigned char)
2871 (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
2872 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
2875 static vector unsigned int __ATTRS_o_ai
2876 vec_mergel(vector unsigned int __a, vector unsigned int __b)
2878 return vec_perm(__a, __b, (vector unsigned char)
2879 (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
2880 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
2883 static vector bool int __ATTRS_o_ai
2884 vec_mergel(vector bool int __a, vector bool int __b)
2886 return vec_perm(__a, __b, (vector unsigned char)
2887 (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
2888 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
2891 static vector float __ATTRS_o_ai
2892 vec_mergel(vector float __a, vector float __b)
2894 return vec_perm(__a, __b, (vector unsigned char)
2895 (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
2896 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
2901 #define __builtin_altivec_vmrglb vec_vmrglb
2903 static vector signed char __ATTRS_o_ai
2904 vec_vmrglb(vector signed char __a, vector signed char __b)
2906 return vec_perm(__a, __b, (vector unsigned char)
2907 (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
2908 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
2911 static vector unsigned char __ATTRS_o_ai
2912 vec_vmrglb(vector unsigned char __a, vector unsigned char __b)
2914 return vec_perm(__a, __b, (vector unsigned char)
2915 (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
2916 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
2919 static vector bool char __ATTRS_o_ai
2920 vec_vmrglb(vector bool char __a, vector bool char __b)
2922 return vec_perm(__a, __b, (vector unsigned char)
2923 (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
2924 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
2929 #define __builtin_altivec_vmrglh vec_vmrglh
2931 static vector short __ATTRS_o_ai
2932 vec_vmrglh(vector short __a, vector short __b)
2934 return vec_perm(__a, __b, (vector unsigned char)
2935 (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2936 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2939 static vector unsigned short __ATTRS_o_ai
2940 vec_vmrglh(vector unsigned short __a, vector unsigned short __b)
2942 return vec_perm(__a, __b, (vector unsigned char)
2943 (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2944 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2947 static vector bool short __ATTRS_o_ai
2948 vec_vmrglh(vector bool short __a, vector bool short __b)
2950 return vec_perm(__a, __b, (vector unsigned char)
2951 (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2952 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2955 static vector pixel __ATTRS_o_ai
2956 vec_vmrglh(vector pixel __a, vector pixel __b)
2958 return vec_perm(__a, __b, (vector unsigned char)
2959 (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2960 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2965 #define __builtin_altivec_vmrglw vec_vmrglw
2967 static vector int __ATTRS_o_ai
2968 vec_vmrglw(vector int __a, vector int __b)
2970 return vec_perm(__a, __b, (vector unsigned char)
2971 (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
2972 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
2975 static vector unsigned int __ATTRS_o_ai
2976 vec_vmrglw(vector unsigned int __a, vector unsigned int __b)
2978 return vec_perm(__a, __b, (vector unsigned char)
2979 (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
2980 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
2983 static vector bool int __ATTRS_o_ai
2984 vec_vmrglw(vector bool int __a, vector bool int __b)
2986 return vec_perm(__a, __b, (vector unsigned char)
2987 (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
2988 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
2991 static vector float __ATTRS_o_ai
2992 vec_vmrglw(vector float __a, vector float __b)
2994 return vec_perm(__a, __b, (vector unsigned char)
2995 (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
2996 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
3001 static vector unsigned short __attribute__((__always_inline__))
3004 return __builtin_altivec_mfvscr();
3009 static vector signed char __ATTRS_o_ai
3010 vec_min(vector signed char __a, vector signed char __b)
3012 return __builtin_altivec_vminsb(__a, __b);
3015 static vector signed char __ATTRS_o_ai
3016 vec_min(vector bool char __a, vector signed char __b)
3018 return __builtin_altivec_vminsb((vector signed char)__a, __b);
3021 static vector signed char __ATTRS_o_ai
3022 vec_min(vector signed char __a, vector bool char __b)
3024 return __builtin_altivec_vminsb(__a, (vector signed char)__b);
3027 static vector unsigned char __ATTRS_o_ai
3028 vec_min(vector unsigned char __a, vector unsigned char __b)
3030 return __builtin_altivec_vminub(__a, __b);
3033 static vector unsigned char __ATTRS_o_ai
3034 vec_min(vector bool char __a, vector unsigned char __b)
3036 return __builtin_altivec_vminub((vector unsigned char)__a, __b);
3039 static vector unsigned char __ATTRS_o_ai
3040 vec_min(vector unsigned char __a, vector bool char __b)
3042 return __builtin_altivec_vminub(__a, (vector unsigned char)__b);
3045 static vector short __ATTRS_o_ai
3046 vec_min(vector short __a, vector short __b)
3048 return __builtin_altivec_vminsh(__a, __b);
3051 static vector short __ATTRS_o_ai
3052 vec_min(vector bool short __a, vector short __b)
3054 return __builtin_altivec_vminsh((vector short)__a, __b);
3057 static vector short __ATTRS_o_ai
3058 vec_min(vector short __a, vector bool short __b)
3060 return __builtin_altivec_vminsh(__a, (vector short)__b);
3063 static vector unsigned short __ATTRS_o_ai
3064 vec_min(vector unsigned short __a, vector unsigned short __b)
3066 return __builtin_altivec_vminuh(__a, __b);
3069 static vector unsigned short __ATTRS_o_ai
3070 vec_min(vector bool short __a, vector unsigned short __b)
3072 return __builtin_altivec_vminuh((vector unsigned short)__a, __b);
3075 static vector unsigned short __ATTRS_o_ai
3076 vec_min(vector unsigned short __a, vector bool short __b)
3078 return __builtin_altivec_vminuh(__a, (vector unsigned short)__b);
3081 static vector int __ATTRS_o_ai
3082 vec_min(vector int __a, vector int __b)
3084 return __builtin_altivec_vminsw(__a, __b);
3087 static vector int __ATTRS_o_ai
3088 vec_min(vector bool int __a, vector int __b)
3090 return __builtin_altivec_vminsw((vector int)__a, __b);
3093 static vector int __ATTRS_o_ai
3094 vec_min(vector int __a, vector bool int __b)
3096 return __builtin_altivec_vminsw(__a, (vector int)__b);
3099 static vector unsigned int __ATTRS_o_ai
3100 vec_min(vector unsigned int __a, vector unsigned int __b)
3102 return __builtin_altivec_vminuw(__a, __b);
3105 static vector unsigned int __ATTRS_o_ai
3106 vec_min(vector bool int __a, vector unsigned int __b)
3108 return __builtin_altivec_vminuw((vector unsigned int)__a, __b);
3111 static vector unsigned int __ATTRS_o_ai
3112 vec_min(vector unsigned int __a, vector bool int __b)
3114 return __builtin_altivec_vminuw(__a, (vector unsigned int)__b);
3117 static vector float __ATTRS_o_ai
3118 vec_min(vector float __a, vector float __b)
3120 return __builtin_altivec_vminfp(__a, __b);
3125 static vector signed char __ATTRS_o_ai
3126 vec_vminsb(vector signed char __a, vector signed char __b)
3128 return __builtin_altivec_vminsb(__a, __b);
3131 static vector signed char __ATTRS_o_ai
3132 vec_vminsb(vector bool char __a, vector signed char __b)
3134 return __builtin_altivec_vminsb((vector signed char)__a, __b);
3137 static vector signed char __ATTRS_o_ai
3138 vec_vminsb(vector signed char __a, vector bool char __b)
3140 return __builtin_altivec_vminsb(__a, (vector signed char)__b);
3145 static vector unsigned char __ATTRS_o_ai
3146 vec_vminub(vector unsigned char __a, vector unsigned char __b)
3148 return __builtin_altivec_vminub(__a, __b);
3151 static vector unsigned char __ATTRS_o_ai
3152 vec_vminub(vector bool char __a, vector unsigned char __b)
3154 return __builtin_altivec_vminub((vector unsigned char)__a, __b);
3157 static vector unsigned char __ATTRS_o_ai
3158 vec_vminub(vector unsigned char __a, vector bool char __b)
3160 return __builtin_altivec_vminub(__a, (vector unsigned char)__b);
3165 static vector short __ATTRS_o_ai
3166 vec_vminsh(vector short __a, vector short __b)
3168 return __builtin_altivec_vminsh(__a, __b);
3171 static vector short __ATTRS_o_ai
3172 vec_vminsh(vector bool short __a, vector short __b)
3174 return __builtin_altivec_vminsh((vector short)__a, __b);
3177 static vector short __ATTRS_o_ai
3178 vec_vminsh(vector short __a, vector bool short __b)
3180 return __builtin_altivec_vminsh(__a, (vector short)__b);
3185 static vector unsigned short __ATTRS_o_ai
3186 vec_vminuh(vector unsigned short __a, vector unsigned short __b)
3188 return __builtin_altivec_vminuh(__a, __b);
3191 static vector unsigned short __ATTRS_o_ai
3192 vec_vminuh(vector bool short __a, vector unsigned short __b)
3194 return __builtin_altivec_vminuh((vector unsigned short)__a, __b);
3197 static vector unsigned short __ATTRS_o_ai
3198 vec_vminuh(vector unsigned short __a, vector bool short __b)
3200 return __builtin_altivec_vminuh(__a, (vector unsigned short)__b);
3205 static vector int __ATTRS_o_ai
3206 vec_vminsw(vector int __a, vector int __b)
3208 return __builtin_altivec_vminsw(__a, __b);
3211 static vector int __ATTRS_o_ai
3212 vec_vminsw(vector bool int __a, vector int __b)
3214 return __builtin_altivec_vminsw((vector int)__a, __b);
3217 static vector int __ATTRS_o_ai
3218 vec_vminsw(vector int __a, vector bool int __b)
3220 return __builtin_altivec_vminsw(__a, (vector int)__b);
3225 static vector unsigned int __ATTRS_o_ai
3226 vec_vminuw(vector unsigned int __a, vector unsigned int __b)
3228 return __builtin_altivec_vminuw(__a, __b);
3231 static vector unsigned int __ATTRS_o_ai
3232 vec_vminuw(vector bool int __a, vector unsigned int __b)
3234 return __builtin_altivec_vminuw((vector unsigned int)__a, __b);
3237 static vector unsigned int __ATTRS_o_ai
3238 vec_vminuw(vector unsigned int __a, vector bool int __b)
3240 return __builtin_altivec_vminuw(__a, (vector unsigned int)__b);
3245 static vector float __attribute__((__always_inline__))
3246 vec_vminfp(vector float __a, vector float __b)
3248 return __builtin_altivec_vminfp(__a, __b);
3253 #define __builtin_altivec_vmladduhm vec_mladd
3255 static vector short __ATTRS_o_ai
3256 vec_mladd(vector short __a, vector short __b, vector short __c)
3258 return __a * __b + __c;
3261 static vector short __ATTRS_o_ai
3262 vec_mladd(vector short __a, vector unsigned short __b, vector unsigned short __c)
3264 return __a * (vector short)__b + (vector short)__c;
3267 static vector short __ATTRS_o_ai
3268 vec_mladd(vector unsigned short __a, vector short __b, vector short __c)
3270 return (vector short)__a * __b + __c;
3273 static vector unsigned short __ATTRS_o_ai
3274 vec_mladd(vector unsigned short __a,
3275 vector unsigned short __b,
3276 vector unsigned short __c)
3278 return __a * __b + __c;
3283 static vector short __ATTRS_o_ai
3284 vec_vmladduhm(vector short __a, vector short __b, vector short __c)
3286 return __a * __b + __c;
3289 static vector short __ATTRS_o_ai
3290 vec_vmladduhm(vector short __a, vector unsigned short __b, vector unsigned short __c)
3292 return __a * (vector short)__b + (vector short)__c;
3295 static vector short __ATTRS_o_ai
3296 vec_vmladduhm(vector unsigned short __a, vector short __b, vector short __c)
3298 return (vector short)__a * __b + __c;
3301 static vector unsigned short __ATTRS_o_ai
3302 vec_vmladduhm(vector unsigned short __a,
3303 vector unsigned short __b,
3304 vector unsigned short __c)
3306 return __a * __b + __c;
3311 static vector short __attribute__((__always_inline__))
3312 vec_mradds(vector short __a, vector short __b, vector short __c)
3314 return __builtin_altivec_vmhraddshs(__a, __b, __c);
3317 /* vec_vmhraddshs */
3319 static vector short __attribute__((__always_inline__))
3320 vec_vmhraddshs(vector short __a, vector short __b, vector short __c)
3322 return __builtin_altivec_vmhraddshs(__a, __b, __c);
3327 static vector int __ATTRS_o_ai
3328 vec_msum(vector signed char __a, vector unsigned char __b, vector int __c)
3330 return __builtin_altivec_vmsummbm(__a, __b, __c);
3333 static vector unsigned int __ATTRS_o_ai
3334 vec_msum(vector unsigned char __a, vector unsigned char __b, vector unsigned int __c)
3336 return __builtin_altivec_vmsumubm(__a, __b, __c);
3339 static vector int __ATTRS_o_ai
3340 vec_msum(vector short __a, vector short __b, vector int __c)
3342 return __builtin_altivec_vmsumshm(__a, __b, __c);
3345 static vector unsigned int __ATTRS_o_ai
3346 vec_msum(vector unsigned short __a,
3347 vector unsigned short __b,
3348 vector unsigned int __c)
3350 return __builtin_altivec_vmsumuhm(__a, __b, __c);
3355 static vector int __attribute__((__always_inline__))
3356 vec_vmsummbm(vector signed char __a, vector unsigned char __b, vector int __c)
3358 return __builtin_altivec_vmsummbm(__a, __b, __c);
3363 static vector unsigned int __attribute__((__always_inline__))
3364 vec_vmsumubm(vector unsigned char __a,
3365 vector unsigned char __b,
3366 vector unsigned int __c)
3368 return __builtin_altivec_vmsumubm(__a, __b, __c);
3373 static vector int __attribute__((__always_inline__))
3374 vec_vmsumshm(vector short __a, vector short __b, vector int __c)
3376 return __builtin_altivec_vmsumshm(__a, __b, __c);
3381 static vector unsigned int __attribute__((__always_inline__))
3382 vec_vmsumuhm(vector unsigned short __a,
3383 vector unsigned short __b,
3384 vector unsigned int __c)
3386 return __builtin_altivec_vmsumuhm(__a, __b, __c);
3391 static vector int __ATTRS_o_ai
3392 vec_msums(vector short __a, vector short __b, vector int __c)
3394 return __builtin_altivec_vmsumshs(__a, __b, __c);
3397 static vector unsigned int __ATTRS_o_ai
3398 vec_msums(vector unsigned short __a,
3399 vector unsigned short __b,
3400 vector unsigned int __c)
3402 return __builtin_altivec_vmsumuhs(__a, __b, __c);
3407 static vector int __attribute__((__always_inline__))
3408 vec_vmsumshs(vector short __a, vector short __b, vector int __c)
3410 return __builtin_altivec_vmsumshs(__a, __b, __c);
3415 static vector unsigned int __attribute__((__always_inline__))
3416 vec_vmsumuhs(vector unsigned short __a,
3417 vector unsigned short __b,
3418 vector unsigned int __c)
3420 return __builtin_altivec_vmsumuhs(__a, __b, __c);
3425 static void __ATTRS_o_ai
3426 vec_mtvscr(vector signed char __a)
3428 __builtin_altivec_mtvscr((vector int)__a);
3431 static void __ATTRS_o_ai
3432 vec_mtvscr(vector unsigned char __a)
3434 __builtin_altivec_mtvscr((vector int)__a);
3437 static void __ATTRS_o_ai
3438 vec_mtvscr(vector bool char __a)
3440 __builtin_altivec_mtvscr((vector int)__a);
3443 static void __ATTRS_o_ai
3444 vec_mtvscr(vector short __a)
3446 __builtin_altivec_mtvscr((vector int)__a);
3449 static void __ATTRS_o_ai
3450 vec_mtvscr(vector unsigned short __a)
3452 __builtin_altivec_mtvscr((vector int)__a);
3455 static void __ATTRS_o_ai
3456 vec_mtvscr(vector bool short __a)
3458 __builtin_altivec_mtvscr((vector int)__a);
3461 static void __ATTRS_o_ai
3462 vec_mtvscr(vector pixel __a)
3464 __builtin_altivec_mtvscr((vector int)__a);
3467 static void __ATTRS_o_ai
3468 vec_mtvscr(vector int __a)
3470 __builtin_altivec_mtvscr((vector int)__a);
3473 static void __ATTRS_o_ai
3474 vec_mtvscr(vector unsigned int __a)
3476 __builtin_altivec_mtvscr((vector int)__a);
3479 static void __ATTRS_o_ai
3480 vec_mtvscr(vector bool int __a)
3482 __builtin_altivec_mtvscr((vector int)__a);
3485 static void __ATTRS_o_ai
3486 vec_mtvscr(vector float __a)
3488 __builtin_altivec_mtvscr((vector int)__a);
3491 /* The vmulos* and vmules* instructions have a big endian bias, so
3492 we must reverse the meaning of "even" and "odd" for little endian. */
3496 static vector short __ATTRS_o_ai
3497 vec_mule(vector signed char __a, vector signed char __b)
3499 #ifdef __LITTLE_ENDIAN__
3500 return __builtin_altivec_vmulosb(__a, __b);
3502 return __builtin_altivec_vmulesb(__a, __b);
3506 static vector unsigned short __ATTRS_o_ai
3507 vec_mule(vector unsigned char __a, vector unsigned char __b)
3509 #ifdef __LITTLE_ENDIAN__
3510 return __builtin_altivec_vmuloub(__a, __b);
3512 return __builtin_altivec_vmuleub(__a, __b);
3516 static vector int __ATTRS_o_ai
3517 vec_mule(vector short __a, vector short __b)
3519 #ifdef __LITTLE_ENDIAN__
3520 return __builtin_altivec_vmulosh(__a, __b);
3522 return __builtin_altivec_vmulesh(__a, __b);
3526 static vector unsigned int __ATTRS_o_ai
3527 vec_mule(vector unsigned short __a, vector unsigned short __b)
3529 #ifdef __LITTLE_ENDIAN__
3530 return __builtin_altivec_vmulouh(__a, __b);
3532 return __builtin_altivec_vmuleuh(__a, __b);
3538 static vector short __attribute__((__always_inline__))
3539 vec_vmulesb(vector signed char __a, vector signed char __b)
3541 #ifdef __LITTLE_ENDIAN__
3542 return __builtin_altivec_vmulosb(__a, __b);
3544 return __builtin_altivec_vmulesb(__a, __b);
3550 static vector unsigned short __attribute__((__always_inline__))
3551 vec_vmuleub(vector unsigned char __a, vector unsigned char __b)
3553 #ifdef __LITTLE_ENDIAN__
3554 return __builtin_altivec_vmuloub(__a, __b);
3556 return __builtin_altivec_vmuleub(__a, __b);
3562 static vector int __attribute__((__always_inline__))
3563 vec_vmulesh(vector short __a, vector short __b)
3565 #ifdef __LITTLE_ENDIAN__
3566 return __builtin_altivec_vmulosh(__a, __b);
3568 return __builtin_altivec_vmulesh(__a, __b);
3574 static vector unsigned int __attribute__((__always_inline__))
3575 vec_vmuleuh(vector unsigned short __a, vector unsigned short __b)
3577 #ifdef __LITTLE_ENDIAN__
3578 return __builtin_altivec_vmulouh(__a, __b);
3580 return __builtin_altivec_vmuleuh(__a, __b);
3586 static vector short __ATTRS_o_ai
3587 vec_mulo(vector signed char __a, vector signed char __b)
3589 #ifdef __LITTLE_ENDIAN__
3590 return __builtin_altivec_vmulesb(__a, __b);
3592 return __builtin_altivec_vmulosb(__a, __b);
3596 static vector unsigned short __ATTRS_o_ai
3597 vec_mulo(vector unsigned char __a, vector unsigned char __b)
3599 #ifdef __LITTLE_ENDIAN__
3600 return __builtin_altivec_vmuleub(__a, __b);
3602 return __builtin_altivec_vmuloub(__a, __b);
3606 static vector int __ATTRS_o_ai
3607 vec_mulo(vector short __a, vector short __b)
3609 #ifdef __LITTLE_ENDIAN__
3610 return __builtin_altivec_vmulesh(__a, __b);
3612 return __builtin_altivec_vmulosh(__a, __b);
3616 static vector unsigned int __ATTRS_o_ai
3617 vec_mulo(vector unsigned short __a, vector unsigned short __b)
3619 #ifdef __LITTLE_ENDIAN__
3620 return __builtin_altivec_vmuleuh(__a, __b);
3622 return __builtin_altivec_vmulouh(__a, __b);
3628 static vector short __attribute__((__always_inline__))
3629 vec_vmulosb(vector signed char __a, vector signed char __b)
3631 #ifdef __LITTLE_ENDIAN__
3632 return __builtin_altivec_vmulesb(__a, __b);
3634 return __builtin_altivec_vmulosb(__a, __b);
3640 static vector unsigned short __attribute__((__always_inline__))
3641 vec_vmuloub(vector unsigned char __a, vector unsigned char __b)
3643 #ifdef __LITTLE_ENDIAN__
3644 return __builtin_altivec_vmuleub(__a, __b);
3646 return __builtin_altivec_vmuloub(__a, __b);
3652 static vector int __attribute__((__always_inline__))
3653 vec_vmulosh(vector short __a, vector short __b)
3655 #ifdef __LITTLE_ENDIAN__
3656 return __builtin_altivec_vmulesh(__a, __b);
3658 return __builtin_altivec_vmulosh(__a, __b);
3664 static vector unsigned int __attribute__((__always_inline__))
3665 vec_vmulouh(vector unsigned short __a, vector unsigned short __b)
3667 #ifdef __LITTLE_ENDIAN__
3668 return __builtin_altivec_vmuleuh(__a, __b);
3670 return __builtin_altivec_vmulouh(__a, __b);
3676 static vector float __attribute__((__always_inline__))
3677 vec_nmsub(vector float __a, vector float __b, vector float __c)
3679 return __builtin_altivec_vnmsubfp(__a, __b, __c);
3684 static vector float __attribute__((__always_inline__))
3685 vec_vnmsubfp(vector float __a, vector float __b, vector float __c)
3687 return __builtin_altivec_vnmsubfp(__a, __b, __c);
3692 #define __builtin_altivec_vnor vec_nor
3694 static vector signed char __ATTRS_o_ai
3695 vec_nor(vector signed char __a, vector signed char __b)
3697 return ~(__a | __b);
3700 static vector unsigned char __ATTRS_o_ai
3701 vec_nor(vector unsigned char __a, vector unsigned char __b)
3703 return ~(__a | __b);
3706 static vector bool char __ATTRS_o_ai
3707 vec_nor(vector bool char __a, vector bool char __b)
3709 return ~(__a | __b);
3712 static vector short __ATTRS_o_ai
3713 vec_nor(vector short __a, vector short __b)
3715 return ~(__a | __b);
3718 static vector unsigned short __ATTRS_o_ai
3719 vec_nor(vector unsigned short __a, vector unsigned short __b)
3721 return ~(__a | __b);
3724 static vector bool short __ATTRS_o_ai
3725 vec_nor(vector bool short __a, vector bool short __b)
3727 return ~(__a | __b);
3730 static vector int __ATTRS_o_ai
3731 vec_nor(vector int __a, vector int __b)
3733 return ~(__a | __b);
3736 static vector unsigned int __ATTRS_o_ai
3737 vec_nor(vector unsigned int __a, vector unsigned int __b)
3739 return ~(__a | __b);
3742 static vector bool int __ATTRS_o_ai
3743 vec_nor(vector bool int __a, vector bool int __b)
3745 return ~(__a | __b);
3748 static vector float __ATTRS_o_ai
3749 vec_nor(vector float __a, vector float __b)
3751 vector unsigned int __res = ~((vector unsigned int)__a | (vector unsigned int)__b);
3752 return (vector float)__res;
3757 static vector signed char __ATTRS_o_ai
3758 vec_vnor(vector signed char __a, vector signed char __b)
3760 return ~(__a | __b);
3763 static vector unsigned char __ATTRS_o_ai
3764 vec_vnor(vector unsigned char __a, vector unsigned char __b)
3766 return ~(__a | __b);
3769 static vector bool char __ATTRS_o_ai
3770 vec_vnor(vector bool char __a, vector bool char __b)
3772 return ~(__a | __b);
3775 static vector short __ATTRS_o_ai
3776 vec_vnor(vector short __a, vector short __b)
3778 return ~(__a | __b);
3781 static vector unsigned short __ATTRS_o_ai
3782 vec_vnor(vector unsigned short __a, vector unsigned short __b)
3784 return ~(__a | __b);
3787 static vector bool short __ATTRS_o_ai
3788 vec_vnor(vector bool short __a, vector bool short __b)
3790 return ~(__a | __b);
3793 static vector int __ATTRS_o_ai
3794 vec_vnor(vector int __a, vector int __b)
3796 return ~(__a | __b);
3799 static vector unsigned int __ATTRS_o_ai
3800 vec_vnor(vector unsigned int __a, vector unsigned int __b)
3802 return ~(__a | __b);
3805 static vector bool int __ATTRS_o_ai
3806 vec_vnor(vector bool int __a, vector bool int __b)
3808 return ~(__a | __b);
3811 static vector float __ATTRS_o_ai
3812 vec_vnor(vector float __a, vector float __b)
3814 vector unsigned int __res = ~((vector unsigned int)__a | (vector unsigned int)__b);
3815 return (vector float)__res;
3820 #define __builtin_altivec_vor vec_or
3822 static vector signed char __ATTRS_o_ai
3823 vec_or(vector signed char __a, vector signed char __b)
3828 static vector signed char __ATTRS_o_ai
3829 vec_or(vector bool char __a, vector signed char __b)
3831 return (vector signed char)__a | __b;
3834 static vector signed char __ATTRS_o_ai
3835 vec_or(vector signed char __a, vector bool char __b)
3837 return __a | (vector signed char)__b;
3840 static vector unsigned char __ATTRS_o_ai
3841 vec_or(vector unsigned char __a, vector unsigned char __b)
3846 static vector unsigned char __ATTRS_o_ai
3847 vec_or(vector bool char __a, vector unsigned char __b)
3849 return (vector unsigned char)__a | __b;
3852 static vector unsigned char __ATTRS_o_ai
3853 vec_or(vector unsigned char __a, vector bool char __b)
3855 return __a | (vector unsigned char)__b;
3858 static vector bool char __ATTRS_o_ai
3859 vec_or(vector bool char __a, vector bool char __b)
3864 static vector short __ATTRS_o_ai
3865 vec_or(vector short __a, vector short __b)
3870 static vector short __ATTRS_o_ai
3871 vec_or(vector bool short __a, vector short __b)
3873 return (vector short)__a | __b;
3876 static vector short __ATTRS_o_ai
3877 vec_or(vector short __a, vector bool short __b)
3879 return __a | (vector short)__b;
3882 static vector unsigned short __ATTRS_o_ai
3883 vec_or(vector unsigned short __a, vector unsigned short __b)
3888 static vector unsigned short __ATTRS_o_ai
3889 vec_or(vector bool short __a, vector unsigned short __b)
3891 return (vector unsigned short)__a | __b;
3894 static vector unsigned short __ATTRS_o_ai
3895 vec_or(vector unsigned short __a, vector bool short __b)
3897 return __a | (vector unsigned short)__b;
3900 static vector bool short __ATTRS_o_ai
3901 vec_or(vector bool short __a, vector bool short __b)
3906 static vector int __ATTRS_o_ai
3907 vec_or(vector int __a, vector int __b)
3912 static vector int __ATTRS_o_ai
3913 vec_or(vector bool int __a, vector int __b)
3915 return (vector int)__a | __b;
3918 static vector int __ATTRS_o_ai
3919 vec_or(vector int __a, vector bool int __b)
3921 return __a | (vector int)__b;
3924 static vector unsigned int __ATTRS_o_ai
3925 vec_or(vector unsigned int __a, vector unsigned int __b)
3930 static vector unsigned int __ATTRS_o_ai
3931 vec_or(vector bool int __a, vector unsigned int __b)
3933 return (vector unsigned int)__a | __b;
3936 static vector unsigned int __ATTRS_o_ai
3937 vec_or(vector unsigned int __a, vector bool int __b)
3939 return __a | (vector unsigned int)__b;
3942 static vector bool int __ATTRS_o_ai
3943 vec_or(vector bool int __a, vector bool int __b)
3948 static vector float __ATTRS_o_ai
3949 vec_or(vector float __a, vector float __b)
3951 vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
3952 return (vector float)__res;
3955 static vector float __ATTRS_o_ai
3956 vec_or(vector bool int __a, vector float __b)
3958 vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
3959 return (vector float)__res;
3962 static vector float __ATTRS_o_ai
3963 vec_or(vector float __a, vector bool int __b)
3965 vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
3966 return (vector float)__res;
3971 static vector signed char __ATTRS_o_ai
3972 vec_vor(vector signed char __a, vector signed char __b)
3977 static vector signed char __ATTRS_o_ai
3978 vec_vor(vector bool char __a, vector signed char __b)
3980 return (vector signed char)__a | __b;
3983 static vector signed char __ATTRS_o_ai
3984 vec_vor(vector signed char __a, vector bool char __b)
3986 return __a | (vector signed char)__b;
3989 static vector unsigned char __ATTRS_o_ai
3990 vec_vor(vector unsigned char __a, vector unsigned char __b)
3995 static vector unsigned char __ATTRS_o_ai
3996 vec_vor(vector bool char __a, vector unsigned char __b)
3998 return (vector unsigned char)__a | __b;
4001 static vector unsigned char __ATTRS_o_ai
4002 vec_vor(vector unsigned char __a, vector bool char __b)
4004 return __a | (vector unsigned char)__b;
4007 static vector bool char __ATTRS_o_ai
4008 vec_vor(vector bool char __a, vector bool char __b)
4013 static vector short __ATTRS_o_ai
4014 vec_vor(vector short __a, vector short __b)
4019 static vector short __ATTRS_o_ai
4020 vec_vor(vector bool short __a, vector short __b)
4022 return (vector short)__a | __b;
4025 static vector short __ATTRS_o_ai
4026 vec_vor(vector short __a, vector bool short __b)
4028 return __a | (vector short)__b;
4031 static vector unsigned short __ATTRS_o_ai
4032 vec_vor(vector unsigned short __a, vector unsigned short __b)
4037 static vector unsigned short __ATTRS_o_ai
4038 vec_vor(vector bool short __a, vector unsigned short __b)
4040 return (vector unsigned short)__a | __b;
4043 static vector unsigned short __ATTRS_o_ai
4044 vec_vor(vector unsigned short __a, vector bool short __b)
4046 return __a | (vector unsigned short)__b;
4049 static vector bool short __ATTRS_o_ai
4050 vec_vor(vector bool short __a, vector bool short __b)
4055 static vector int __ATTRS_o_ai
4056 vec_vor(vector int __a, vector int __b)
4061 static vector int __ATTRS_o_ai
4062 vec_vor(vector bool int __a, vector int __b)
4064 return (vector int)__a | __b;
4067 static vector int __ATTRS_o_ai
4068 vec_vor(vector int __a, vector bool int __b)
4070 return __a | (vector int)__b;
4073 static vector unsigned int __ATTRS_o_ai
4074 vec_vor(vector unsigned int __a, vector unsigned int __b)
4079 static vector unsigned int __ATTRS_o_ai
4080 vec_vor(vector bool int __a, vector unsigned int __b)
4082 return (vector unsigned int)__a | __b;
4085 static vector unsigned int __ATTRS_o_ai
4086 vec_vor(vector unsigned int __a, vector bool int __b)
4088 return __a | (vector unsigned int)__b;
4091 static vector bool int __ATTRS_o_ai
4092 vec_vor(vector bool int __a, vector bool int __b)
4097 static vector float __ATTRS_o_ai
4098 vec_vor(vector float __a, vector float __b)
4100 vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
4101 return (vector float)__res;
4104 static vector float __ATTRS_o_ai
4105 vec_vor(vector bool int __a, vector float __b)
4107 vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
4108 return (vector float)__res;
4111 static vector float __ATTRS_o_ai
4112 vec_vor(vector float __a, vector bool int __b)
4114 vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
4115 return (vector float)__res;
4120 /* The various vector pack instructions have a big-endian bias, so for
4121 little endian we must handle reversed element numbering. */
4123 static vector signed char __ATTRS_o_ai
4124 vec_pack(vector signed short __a, vector signed short __b)
4126 #ifdef __LITTLE_ENDIAN__
4127 return (vector signed char)vec_perm(__a, __b, (vector unsigned char)
4128 (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
4129 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
4131 return (vector signed char)vec_perm(__a, __b, (vector unsigned char)
4132 (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
4133 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
4137 static vector unsigned char __ATTRS_o_ai
4138 vec_pack(vector unsigned short __a, vector unsigned short __b)
4140 #ifdef __LITTLE_ENDIAN__
4141 return (vector unsigned char)vec_perm(__a, __b, (vector unsigned char)
4142 (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
4143 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
4145 return (vector unsigned char)vec_perm(__a, __b, (vector unsigned char)
4146 (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
4147 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
4151 static vector bool char __ATTRS_o_ai
4152 vec_pack(vector bool short __a, vector bool short __b)
4154 #ifdef __LITTLE_ENDIAN__
4155 return (vector bool char)vec_perm(__a, __b, (vector unsigned char)
4156 (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
4157 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
4159 return (vector bool char)vec_perm(__a, __b, (vector unsigned char)
4160 (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
4161 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
4165 static vector short __ATTRS_o_ai
4166 vec_pack(vector int __a, vector int __b)
4168 #ifdef __LITTLE_ENDIAN__
4169 return (vector short)vec_perm(__a, __b, (vector unsigned char)
4170 (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
4171 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
4173 return (vector short)vec_perm(__a, __b, (vector unsigned char)
4174 (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
4175 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
4179 static vector unsigned short __ATTRS_o_ai
4180 vec_pack(vector unsigned int __a, vector unsigned int __b)
4182 #ifdef __LITTLE_ENDIAN__
4183 return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
4184 (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
4185 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
4187 return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
4188 (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
4189 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
4193 static vector bool short __ATTRS_o_ai
4194 vec_pack(vector bool int __a, vector bool int __b)
4196 #ifdef __LITTLE_ENDIAN__
4197 return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
4198 (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
4199 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
4201 return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
4202 (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
4203 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
4209 #define __builtin_altivec_vpkuhum vec_vpkuhum
4211 static vector signed char __ATTRS_o_ai
4212 vec_vpkuhum(vector signed short __a, vector signed short __b)
4214 #ifdef __LITTLE_ENDIAN__
4215 return (vector signed char)vec_perm(__a, __b, (vector unsigned char)
4216 (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
4217 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
4219 return (vector signed char)vec_perm(__a, __b, (vector unsigned char)
4220 (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
4221 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
4225 static vector unsigned char __ATTRS_o_ai
4226 vec_vpkuhum(vector unsigned short __a, vector unsigned short __b)
4228 #ifdef __LITTLE_ENDIAN__
4229 return (vector unsigned char)vec_perm(__a, __b, (vector unsigned char)
4230 (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
4231 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
4233 return (vector unsigned char)vec_perm(__a, __b, (vector unsigned char)
4234 (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
4235 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
4239 static vector bool char __ATTRS_o_ai
4240 vec_vpkuhum(vector bool short __a, vector bool short __b)
4242 #ifdef __LITTLE_ENDIAN__
4243 return (vector bool char)vec_perm(__a, __b, (vector unsigned char)
4244 (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
4245 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
4247 return (vector bool char)vec_perm(__a, __b, (vector unsigned char)
4248 (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
4249 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
4255 #define __builtin_altivec_vpkuwum vec_vpkuwum
4257 static vector short __ATTRS_o_ai
4258 vec_vpkuwum(vector int __a, vector int __b)
4260 #ifdef __LITTLE_ENDIAN__
4261 return (vector short)vec_perm(__a, __b, (vector unsigned char)
4262 (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
4263 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
4265 return (vector short)vec_perm(__a, __b, (vector unsigned char)
4266 (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
4267 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
4271 static vector unsigned short __ATTRS_o_ai
4272 vec_vpkuwum(vector unsigned int __a, vector unsigned int __b)
4274 #ifdef __LITTLE_ENDIAN__
4275 return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
4276 (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
4277 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
4279 return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
4280 (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
4281 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
4285 static vector bool short __ATTRS_o_ai
4286 vec_vpkuwum(vector bool int __a, vector bool int __b)
4288 #ifdef __LITTLE_ENDIAN__
4289 return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
4290 (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
4291 0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
4293 return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
4294 (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
4295 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
4301 static vector pixel __attribute__((__always_inline__))
4302 vec_packpx(vector unsigned int __a, vector unsigned int __b)
4304 #ifdef __LITTLE_ENDIAN__
4305 return (vector pixel)__builtin_altivec_vpkpx(__b, __a);
4307 return (vector pixel)__builtin_altivec_vpkpx(__a, __b);
4313 static vector pixel __attribute__((__always_inline__))
4314 vec_vpkpx(vector unsigned int __a, vector unsigned int __b)
4316 #ifdef __LITTLE_ENDIAN__
4317 return (vector pixel)__builtin_altivec_vpkpx(__b, __a);
4319 return (vector pixel)__builtin_altivec_vpkpx(__a, __b);
4325 static vector signed char __ATTRS_o_ai
4326 vec_packs(vector short __a, vector short __b)
4328 #ifdef __LITTLE_ENDIAN__
4329 return __builtin_altivec_vpkshss(__b, __a);
4331 return __builtin_altivec_vpkshss(__a, __b);
4335 static vector unsigned char __ATTRS_o_ai
4336 vec_packs(vector unsigned short __a, vector unsigned short __b)
4338 #ifdef __LITTLE_ENDIAN__
4339 return __builtin_altivec_vpkuhus(__b, __a);
4341 return __builtin_altivec_vpkuhus(__a, __b);
4345 static vector signed short __ATTRS_o_ai
4346 vec_packs(vector int __a, vector int __b)
4348 #ifdef __LITTLE_ENDIAN__
4349 return __builtin_altivec_vpkswss(__b, __a);
4351 return __builtin_altivec_vpkswss(__a, __b);
4355 static vector unsigned short __ATTRS_o_ai
4356 vec_packs(vector unsigned int __a, vector unsigned int __b)
4358 #ifdef __LITTLE_ENDIAN__
4359 return __builtin_altivec_vpkuwus(__b, __a);
4361 return __builtin_altivec_vpkuwus(__a, __b);
4367 static vector signed char __attribute__((__always_inline__))
4368 vec_vpkshss(vector short __a, vector short __b)
4370 #ifdef __LITTLE_ENDIAN__
4371 return __builtin_altivec_vpkshss(__b, __a);
4373 return __builtin_altivec_vpkshss(__a, __b);
4379 static vector unsigned char __attribute__((__always_inline__))
4380 vec_vpkuhus(vector unsigned short __a, vector unsigned short __b)
4382 #ifdef __LITTLE_ENDIAN__
4383 return __builtin_altivec_vpkuhus(__b, __a);
4385 return __builtin_altivec_vpkuhus(__a, __b);
4391 static vector signed short __attribute__((__always_inline__))
4392 vec_vpkswss(vector int __a, vector int __b)
4394 #ifdef __LITTLE_ENDIAN__
4395 return __builtin_altivec_vpkswss(__b, __a);
4397 return __builtin_altivec_vpkswss(__a, __b);
4403 static vector unsigned short __attribute__((__always_inline__))
4404 vec_vpkuwus(vector unsigned int __a, vector unsigned int __b)
4406 #ifdef __LITTLE_ENDIAN__
4407 return __builtin_altivec_vpkuwus(__b, __a);
4409 return __builtin_altivec_vpkuwus(__a, __b);
4415 static vector unsigned char __ATTRS_o_ai
4416 vec_packsu(vector short __a, vector short __b)
4418 #ifdef __LITTLE_ENDIAN__
4419 return __builtin_altivec_vpkshus(__b, __a);
4421 return __builtin_altivec_vpkshus(__a, __b);
4425 static vector unsigned char __ATTRS_o_ai
4426 vec_packsu(vector unsigned short __a, vector unsigned short __b)
4428 #ifdef __LITTLE_ENDIAN__
4429 return __builtin_altivec_vpkuhus(__b, __a);
4431 return __builtin_altivec_vpkuhus(__a, __b);
4435 static vector unsigned short __ATTRS_o_ai
4436 vec_packsu(vector int __a, vector int __b)
4438 #ifdef __LITTLE_ENDIAN__
4439 return __builtin_altivec_vpkswus(__b, __a);
4441 return __builtin_altivec_vpkswus(__a, __b);
4445 static vector unsigned short __ATTRS_o_ai
4446 vec_packsu(vector unsigned int __a, vector unsigned int __b)
4448 #ifdef __LITTLE_ENDIAN__
4449 return __builtin_altivec_vpkuwus(__b, __a);
4451 return __builtin_altivec_vpkuwus(__a, __b);
4457 static vector unsigned char __ATTRS_o_ai
4458 vec_vpkshus(vector short __a, vector short __b)
4460 #ifdef __LITTLE_ENDIAN__
4461 return __builtin_altivec_vpkshus(__b, __a);
4463 return __builtin_altivec_vpkshus(__a, __b);
4467 static vector unsigned char __ATTRS_o_ai
4468 vec_vpkshus(vector unsigned short __a, vector unsigned short __b)
4470 #ifdef __LITTLE_ENDIAN__
4471 return __builtin_altivec_vpkuhus(__b, __a);
4473 return __builtin_altivec_vpkuhus(__a, __b);
4479 static vector unsigned short __ATTRS_o_ai
4480 vec_vpkswus(vector int __a, vector int __b)
4482 #ifdef __LITTLE_ENDIAN__
4483 return __builtin_altivec_vpkswus(__b, __a);
4485 return __builtin_altivec_vpkswus(__a, __b);
4489 static vector unsigned short __ATTRS_o_ai
4490 vec_vpkswus(vector unsigned int __a, vector unsigned int __b)
4492 #ifdef __LITTLE_ENDIAN__
4493 return __builtin_altivec_vpkuwus(__b, __a);
4495 return __builtin_altivec_vpkuwus(__a, __b);
4501 // The vperm instruction is defined architecturally with a big-endian bias.
4502 // For little endian, we swap the input operands and invert the permute
4503 // control vector. Only the rightmost 5 bits matter, so we could use
4504 // a vector of all 31s instead of all 255s to perform the inversion.
4505 // However, when the PCV is not a constant, using 255 has an advantage
4506 // in that the vec_xor can be recognized as a vec_nor (and for P8 and
4507 // later, possibly a vec_nand).
4509 vector signed char __ATTRS_o_ai
4510 vec_perm(vector signed char __a, vector signed char __b, vector unsigned char __c)
4512 #ifdef __LITTLE_ENDIAN__
4513 vector unsigned char __d = {255,255,255,255,255,255,255,255,
4514 255,255,255,255,255,255,255,255};
4515 __d = vec_xor(__c, __d);
4516 return (vector signed char)
4517 __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4519 return (vector signed char)
4520 __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4524 vector unsigned char __ATTRS_o_ai
4525 vec_perm(vector unsigned char __a,
4526 vector unsigned char __b,
4527 vector unsigned char __c)
4529 #ifdef __LITTLE_ENDIAN__
4530 vector unsigned char __d = {255,255,255,255,255,255,255,255,
4531 255,255,255,255,255,255,255,255};
4532 __d = vec_xor(__c, __d);
4533 return (vector unsigned char)
4534 __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4536 return (vector unsigned char)
4537 __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4541 vector bool char __ATTRS_o_ai
4542 vec_perm(vector bool char __a, vector bool char __b, vector unsigned char __c)
4544 #ifdef __LITTLE_ENDIAN__
4545 vector unsigned char __d = {255,255,255,255,255,255,255,255,
4546 255,255,255,255,255,255,255,255};
4547 __d = vec_xor(__c, __d);
4548 return (vector bool char)
4549 __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4551 return (vector bool char)
4552 __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4556 vector short __ATTRS_o_ai
4557 vec_perm(vector short __a, vector short __b, vector unsigned char __c)
4559 #ifdef __LITTLE_ENDIAN__
4560 vector unsigned char __d = {255,255,255,255,255,255,255,255,
4561 255,255,255,255,255,255,255,255};
4562 __d = vec_xor(__c, __d);
4563 return (vector short)
4564 __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4566 return (vector short)
4567 __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4571 vector unsigned short __ATTRS_o_ai
4572 vec_perm(vector unsigned short __a,
4573 vector unsigned short __b,
4574 vector unsigned char __c)
4576 #ifdef __LITTLE_ENDIAN__
4577 vector unsigned char __d = {255,255,255,255,255,255,255,255,
4578 255,255,255,255,255,255,255,255};
4579 __d = vec_xor(__c, __d);
4580 return (vector unsigned short)
4581 __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4583 return (vector unsigned short)
4584 __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4588 vector bool short __ATTRS_o_ai
4589 vec_perm(vector bool short __a, vector bool short __b, vector unsigned char __c)
4591 #ifdef __LITTLE_ENDIAN__
4592 vector unsigned char __d = {255,255,255,255,255,255,255,255,
4593 255,255,255,255,255,255,255,255};
4594 __d = vec_xor(__c, __d);
4595 return (vector bool short)
4596 __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4598 return (vector bool short)
4599 __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4603 vector pixel __ATTRS_o_ai
4604 vec_perm(vector pixel __a, vector pixel __b, vector unsigned char __c)
4606 #ifdef __LITTLE_ENDIAN__
4607 vector unsigned char __d = {255,255,255,255,255,255,255,255,
4608 255,255,255,255,255,255,255,255};
4609 __d = vec_xor(__c, __d);
4610 return (vector pixel)
4611 __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4613 return (vector pixel)
4614 __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4618 vector int __ATTRS_o_ai
4619 vec_perm(vector int __a, vector int __b, vector unsigned char __c)
4621 #ifdef __LITTLE_ENDIAN__
4622 vector unsigned char __d = {255,255,255,255,255,255,255,255,
4623 255,255,255,255,255,255,255,255};
4624 __d = vec_xor(__c, __d);
4625 return (vector int)__builtin_altivec_vperm_4si(__b, __a, __d);
4627 return (vector int)__builtin_altivec_vperm_4si(__a, __b, __c);
4631 vector unsigned int __ATTRS_o_ai
4632 vec_perm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c)
4634 #ifdef __LITTLE_ENDIAN__
4635 vector unsigned char __d = {255,255,255,255,255,255,255,255,
4636 255,255,255,255,255,255,255,255};
4637 __d = vec_xor(__c, __d);
4638 return (vector unsigned int)
4639 __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4641 return (vector unsigned int)
4642 __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4646 vector bool int __ATTRS_o_ai
4647 vec_perm(vector bool int __a, vector bool int __b, vector unsigned char __c)
4649 #ifdef __LITTLE_ENDIAN__
4650 vector unsigned char __d = {255,255,255,255,255,255,255,255,
4651 255,255,255,255,255,255,255,255};
4652 __d = vec_xor(__c, __d);
4653 return (vector bool int)
4654 __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4656 return (vector bool int)
4657 __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4661 vector float __ATTRS_o_ai
4662 vec_perm(vector float __a, vector float __b, vector unsigned char __c)
4664 #ifdef __LITTLE_ENDIAN__
4665 vector unsigned char __d = {255,255,255,255,255,255,255,255,
4666 255,255,255,255,255,255,255,255};
4667 __d = vec_xor(__c, __d);
4668 return (vector float)
4669 __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4671 return (vector float)
4672 __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4678 static vector signed char __ATTRS_o_ai
4679 vec_vperm(vector signed char __a, vector signed char __b, vector unsigned char __c)
4681 return vec_perm(__a, __b, __c);
4684 static vector unsigned char __ATTRS_o_ai
4685 vec_vperm(vector unsigned char __a,
4686 vector unsigned char __b,
4687 vector unsigned char __c)
4689 return vec_perm(__a, __b, __c);
4692 static vector bool char __ATTRS_o_ai
4693 vec_vperm(vector bool char __a, vector bool char __b, vector unsigned char __c)
4695 return vec_perm(__a, __b, __c);
4698 static vector short __ATTRS_o_ai
4699 vec_vperm(vector short __a, vector short __b, vector unsigned char __c)
4701 return vec_perm(__a, __b, __c);
4704 static vector unsigned short __ATTRS_o_ai
4705 vec_vperm(vector unsigned short __a,
4706 vector unsigned short __b,
4707 vector unsigned char __c)
4709 return vec_perm(__a, __b, __c);
4712 static vector bool short __ATTRS_o_ai
4713 vec_vperm(vector bool short __a, vector bool short __b, vector unsigned char __c)
4715 return vec_perm(__a, __b, __c);
4718 static vector pixel __ATTRS_o_ai
4719 vec_vperm(vector pixel __a, vector pixel __b, vector unsigned char __c)
4721 return vec_perm(__a, __b, __c);
4724 static vector int __ATTRS_o_ai
4725 vec_vperm(vector int __a, vector int __b, vector unsigned char __c)
4727 return vec_perm(__a, __b, __c);
4730 static vector unsigned int __ATTRS_o_ai
4731 vec_vperm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c)
4733 return vec_perm(__a, __b, __c);
4736 static vector bool int __ATTRS_o_ai
4737 vec_vperm(vector bool int __a, vector bool int __b, vector unsigned char __c)
4739 return vec_perm(__a, __b, __c);
4742 static vector float __ATTRS_o_ai
4743 vec_vperm(vector float __a, vector float __b, vector unsigned char __c)
4745 return vec_perm(__a, __b, __c);
4750 static vector float __attribute__((__always_inline__))
4751 vec_re(vector float __a)
4753 return __builtin_altivec_vrefp(__a);
4758 static vector float __attribute__((__always_inline__))
4759 vec_vrefp(vector float __a)
4761 return __builtin_altivec_vrefp(__a);
4766 static vector signed char __ATTRS_o_ai
4767 vec_rl(vector signed char __a, vector unsigned char __b)
4769 return (vector signed char)__builtin_altivec_vrlb((vector char)__a, __b);
4772 static vector unsigned char __ATTRS_o_ai
4773 vec_rl(vector unsigned char __a, vector unsigned char __b)
4775 return (vector unsigned char)__builtin_altivec_vrlb((vector char)__a, __b);
4778 static vector short __ATTRS_o_ai
4779 vec_rl(vector short __a, vector unsigned short __b)
4781 return __builtin_altivec_vrlh(__a, __b);
4784 static vector unsigned short __ATTRS_o_ai
4785 vec_rl(vector unsigned short __a, vector unsigned short __b)
4787 return (vector unsigned short)__builtin_altivec_vrlh((vector short)__a, __b);
4790 static vector int __ATTRS_o_ai
4791 vec_rl(vector int __a, vector unsigned int __b)
4793 return __builtin_altivec_vrlw(__a, __b);
4796 static vector unsigned int __ATTRS_o_ai
4797 vec_rl(vector unsigned int __a, vector unsigned int __b)
4799 return (vector unsigned int)__builtin_altivec_vrlw((vector int)__a, __b);
4804 static vector signed char __ATTRS_o_ai
4805 vec_vrlb(vector signed char __a, vector unsigned char __b)
4807 return (vector signed char)__builtin_altivec_vrlb((vector char)__a, __b);
4810 static vector unsigned char __ATTRS_o_ai
4811 vec_vrlb(vector unsigned char __a, vector unsigned char __b)
4813 return (vector unsigned char)__builtin_altivec_vrlb((vector char)__a, __b);
4818 static vector short __ATTRS_o_ai
4819 vec_vrlh(vector short __a, vector unsigned short __b)
4821 return __builtin_altivec_vrlh(__a, __b);
4824 static vector unsigned short __ATTRS_o_ai
4825 vec_vrlh(vector unsigned short __a, vector unsigned short __b)
4827 return (vector unsigned short)__builtin_altivec_vrlh((vector short)__a, __b);
4832 static vector int __ATTRS_o_ai
4833 vec_vrlw(vector int __a, vector unsigned int __b)
4835 return __builtin_altivec_vrlw(__a, __b);
4838 static vector unsigned int __ATTRS_o_ai
4839 vec_vrlw(vector unsigned int __a, vector unsigned int __b)
4841 return (vector unsigned int)__builtin_altivec_vrlw((vector int)__a, __b);
4846 static vector float __attribute__((__always_inline__))
4847 vec_round(vector float __a)
4849 return __builtin_altivec_vrfin(__a);
4854 static vector float __attribute__((__always_inline__))
4855 vec_vrfin(vector float __a)
4857 return __builtin_altivec_vrfin(__a);
4862 static __vector float __attribute__((__always_inline__))
4863 vec_rsqrte(vector float __a)
4865 return __builtin_altivec_vrsqrtefp(__a);
4870 static __vector float __attribute__((__always_inline__))
4871 vec_vrsqrtefp(vector float __a)
4873 return __builtin_altivec_vrsqrtefp(__a);
4878 #define __builtin_altivec_vsel_4si vec_sel
4880 static vector signed char __ATTRS_o_ai
4881 vec_sel(vector signed char __a, vector signed char __b, vector unsigned char __c)
4883 return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
4886 static vector signed char __ATTRS_o_ai
4887 vec_sel(vector signed char __a, vector signed char __b, vector bool char __c)
4889 return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
4892 static vector unsigned char __ATTRS_o_ai
4893 vec_sel(vector unsigned char __a, vector unsigned char __b, vector unsigned char __c)
4895 return (__a & ~__c) | (__b & __c);
4898 static vector unsigned char __ATTRS_o_ai
4899 vec_sel(vector unsigned char __a, vector unsigned char __b, vector bool char __c)
4901 return (__a & ~(vector unsigned char)__c) | (__b & (vector unsigned char)__c);
4904 static vector bool char __ATTRS_o_ai
4905 vec_sel(vector bool char __a, vector bool char __b, vector unsigned char __c)
4907 return (__a & ~(vector bool char)__c) | (__b & (vector bool char)__c);
4910 static vector bool char __ATTRS_o_ai
4911 vec_sel(vector bool char __a, vector bool char __b, vector bool char __c)
4913 return (__a & ~__c) | (__b & __c);
4916 static vector short __ATTRS_o_ai
4917 vec_sel(vector short __a, vector short __b, vector unsigned short __c)
4919 return (__a & ~(vector short)__c) | (__b & (vector short)__c);
4922 static vector short __ATTRS_o_ai
4923 vec_sel(vector short __a, vector short __b, vector bool short __c)
4925 return (__a & ~(vector short)__c) | (__b & (vector short)__c);
4928 static vector unsigned short __ATTRS_o_ai
4929 vec_sel(vector unsigned short __a,
4930 vector unsigned short __b,
4931 vector unsigned short __c)
4933 return (__a & ~__c) | (__b & __c);
4936 static vector unsigned short __ATTRS_o_ai
4937 vec_sel(vector unsigned short __a, vector unsigned short __b, vector bool short __c)
4939 return (__a & ~(vector unsigned short)__c) | (__b & (vector unsigned short)__c);
4942 static vector bool short __ATTRS_o_ai
4943 vec_sel(vector bool short __a, vector bool short __b, vector unsigned short __c)
4945 return (__a & ~(vector bool short)__c) | (__b & (vector bool short)__c);
4948 static vector bool short __ATTRS_o_ai
4949 vec_sel(vector bool short __a, vector bool short __b, vector bool short __c)
4951 return (__a & ~__c) | (__b & __c);
4954 static vector int __ATTRS_o_ai
4955 vec_sel(vector int __a, vector int __b, vector unsigned int __c)
4957 return (__a & ~(vector int)__c) | (__b & (vector int)__c);
4960 static vector int __ATTRS_o_ai
4961 vec_sel(vector int __a, vector int __b, vector bool int __c)
4963 return (__a & ~(vector int)__c) | (__b & (vector int)__c);
4966 static vector unsigned int __ATTRS_o_ai
4967 vec_sel(vector unsigned int __a, vector unsigned int __b, vector unsigned int __c)
4969 return (__a & ~__c) | (__b & __c);
4972 static vector unsigned int __ATTRS_o_ai
4973 vec_sel(vector unsigned int __a, vector unsigned int __b, vector bool int __c)
4975 return (__a & ~(vector unsigned int)__c) | (__b & (vector unsigned int)__c);
4978 static vector bool int __ATTRS_o_ai
4979 vec_sel(vector bool int __a, vector bool int __b, vector unsigned int __c)
4981 return (__a & ~(vector bool int)__c) | (__b & (vector bool int)__c);
4984 static vector bool int __ATTRS_o_ai
4985 vec_sel(vector bool int __a, vector bool int __b, vector bool int __c)
4987 return (__a & ~__c) | (__b & __c);
4990 static vector float __ATTRS_o_ai
4991 vec_sel(vector float __a, vector float __b, vector unsigned int __c)
4993 vector int __res = ((vector int)__a & ~(vector int)__c)
4994 | ((vector int)__b & (vector int)__c);
4995 return (vector float)__res;
4998 static vector float __ATTRS_o_ai
4999 vec_sel(vector float __a, vector float __b, vector bool int __c)
5001 vector int __res = ((vector int)__a & ~(vector int)__c)
5002 | ((vector int)__b & (vector int)__c);
5003 return (vector float)__res;
5008 static vector signed char __ATTRS_o_ai
5009 vec_vsel(vector signed char __a, vector signed char __b, vector unsigned char __c)
5011 return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
5014 static vector signed char __ATTRS_o_ai
5015 vec_vsel(vector signed char __a, vector signed char __b, vector bool char __c)
5017 return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
5020 static vector unsigned char __ATTRS_o_ai
5021 vec_vsel(vector unsigned char __a, vector unsigned char __b, vector unsigned char __c)
5023 return (__a & ~__c) | (__b & __c);
5026 static vector unsigned char __ATTRS_o_ai
5027 vec_vsel(vector unsigned char __a, vector unsigned char __b, vector bool char __c)
5029 return (__a & ~(vector unsigned char)__c) | (__b & (vector unsigned char)__c);
5032 static vector bool char __ATTRS_o_ai
5033 vec_vsel(vector bool char __a, vector bool char __b, vector unsigned char __c)
5035 return (__a & ~(vector bool char)__c) | (__b & (vector bool char)__c);
5038 static vector bool char __ATTRS_o_ai
5039 vec_vsel(vector bool char __a, vector bool char __b, vector bool char __c)
5041 return (__a & ~__c) | (__b & __c);
5044 static vector short __ATTRS_o_ai
5045 vec_vsel(vector short __a, vector short __b, vector unsigned short __c)
5047 return (__a & ~(vector short)__c) | (__b & (vector short)__c);
5050 static vector short __ATTRS_o_ai
5051 vec_vsel(vector short __a, vector short __b, vector bool short __c)
5053 return (__a & ~(vector short)__c) | (__b & (vector short)__c);
5056 static vector unsigned short __ATTRS_o_ai
5057 vec_vsel(vector unsigned short __a,
5058 vector unsigned short __b,
5059 vector unsigned short __c)
5061 return (__a & ~__c) | (__b & __c);
5064 static vector unsigned short __ATTRS_o_ai
5065 vec_vsel(vector unsigned short __a, vector unsigned short __b, vector bool short __c)
5067 return (__a & ~(vector unsigned short)__c) | (__b & (vector unsigned short)__c);
5070 static vector bool short __ATTRS_o_ai
5071 vec_vsel(vector bool short __a, vector bool short __b, vector unsigned short __c)
5073 return (__a & ~(vector bool short)__c) | (__b & (vector bool short)__c);
5076 static vector bool short __ATTRS_o_ai
5077 vec_vsel(vector bool short __a, vector bool short __b, vector bool short __c)
5079 return (__a & ~__c) | (__b & __c);
5082 static vector int __ATTRS_o_ai
5083 vec_vsel(vector int __a, vector int __b, vector unsigned int __c)
5085 return (__a & ~(vector int)__c) | (__b & (vector int)__c);
5088 static vector int __ATTRS_o_ai
5089 vec_vsel(vector int __a, vector int __b, vector bool int __c)
5091 return (__a & ~(vector int)__c) | (__b & (vector int)__c);
5094 static vector unsigned int __ATTRS_o_ai
5095 vec_vsel(vector unsigned int __a, vector unsigned int __b, vector unsigned int __c)
5097 return (__a & ~__c) | (__b & __c);
5100 static vector unsigned int __ATTRS_o_ai
5101 vec_vsel(vector unsigned int __a, vector unsigned int __b, vector bool int __c)
5103 return (__a & ~(vector unsigned int)__c) | (__b & (vector unsigned int)__c);
5106 static vector bool int __ATTRS_o_ai
5107 vec_vsel(vector bool int __a, vector bool int __b, vector unsigned int __c)
5109 return (__a & ~(vector bool int)__c) | (__b & (vector bool int)__c);
5112 static vector bool int __ATTRS_o_ai
5113 vec_vsel(vector bool int __a, vector bool int __b, vector bool int __c)
5115 return (__a & ~__c) | (__b & __c);
5118 static vector float __ATTRS_o_ai
5119 vec_vsel(vector float __a, vector float __b, vector unsigned int __c)
5121 vector int __res = ((vector int)__a & ~(vector int)__c)
5122 | ((vector int)__b & (vector int)__c);
5123 return (vector float)__res;
5126 static vector float __ATTRS_o_ai
5127 vec_vsel(vector float __a, vector float __b, vector bool int __c)
5129 vector int __res = ((vector int)__a & ~(vector int)__c)
5130 | ((vector int)__b & (vector int)__c);
5131 return (vector float)__res;
5136 static vector signed char __ATTRS_o_ai
5137 vec_sl(vector signed char __a, vector unsigned char __b)
5139 return __a << (vector signed char)__b;
5142 static vector unsigned char __ATTRS_o_ai
5143 vec_sl(vector unsigned char __a, vector unsigned char __b)
5148 static vector short __ATTRS_o_ai
5149 vec_sl(vector short __a, vector unsigned short __b)
5151 return __a << (vector short)__b;
5154 static vector unsigned short __ATTRS_o_ai
5155 vec_sl(vector unsigned short __a, vector unsigned short __b)
5160 static vector int __ATTRS_o_ai
5161 vec_sl(vector int __a, vector unsigned int __b)
5163 return __a << (vector int)__b;
5166 static vector unsigned int __ATTRS_o_ai
5167 vec_sl(vector unsigned int __a, vector unsigned int __b)
5174 #define __builtin_altivec_vslb vec_vslb
5176 static vector signed char __ATTRS_o_ai
5177 vec_vslb(vector signed char __a, vector unsigned char __b)
5179 return vec_sl(__a, __b);
5182 static vector unsigned char __ATTRS_o_ai
5183 vec_vslb(vector unsigned char __a, vector unsigned char __b)
5185 return vec_sl(__a, __b);
5190 #define __builtin_altivec_vslh vec_vslh
5192 static vector short __ATTRS_o_ai
5193 vec_vslh(vector short __a, vector unsigned short __b)
5195 return vec_sl(__a, __b);
5198 static vector unsigned short __ATTRS_o_ai
5199 vec_vslh(vector unsigned short __a, vector unsigned short __b)
5201 return vec_sl(__a, __b);
5206 #define __builtin_altivec_vslw vec_vslw
5208 static vector int __ATTRS_o_ai
5209 vec_vslw(vector int __a, vector unsigned int __b)
5211 return vec_sl(__a, __b);
5214 static vector unsigned int __ATTRS_o_ai
5215 vec_vslw(vector unsigned int __a, vector unsigned int __b)
5217 return vec_sl(__a, __b);
5222 #define __builtin_altivec_vsldoi_4si vec_sld
5224 static vector signed char __ATTRS_o_ai
5225 vec_sld(vector signed char __a, vector signed char __b, unsigned char __c)
5227 return vec_perm(__a, __b, (vector unsigned char)
5228 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5229 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5232 static vector unsigned char __ATTRS_o_ai
5233 vec_sld(vector unsigned char __a, vector unsigned char __b, unsigned char __c)
5235 return vec_perm(__a, __b, (vector unsigned char)
5236 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5237 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5240 static vector short __ATTRS_o_ai
5241 vec_sld(vector short __a, vector short __b, unsigned char __c)
5243 return vec_perm(__a, __b, (vector unsigned char)
5244 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5245 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5248 static vector unsigned short __ATTRS_o_ai
5249 vec_sld(vector unsigned short __a, vector unsigned short __b, unsigned char __c)
5251 return vec_perm(__a, __b, (vector unsigned char)
5252 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5253 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5256 static vector pixel __ATTRS_o_ai
5257 vec_sld(vector pixel __a, vector pixel __b, unsigned char __c)
5259 return vec_perm(__a, __b, (vector unsigned char)
5260 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5261 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5264 static vector int __ATTRS_o_ai
5265 vec_sld(vector int __a, vector int __b, unsigned char __c)
5267 return vec_perm(__a, __b, (vector unsigned char)
5268 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5269 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5272 static vector unsigned int __ATTRS_o_ai
5273 vec_sld(vector unsigned int __a, vector unsigned int __b, unsigned char __c)
5275 return vec_perm(__a, __b, (vector unsigned char)
5276 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5277 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5280 static vector float __ATTRS_o_ai
5281 vec_sld(vector float __a, vector float __b, unsigned char __c)
5283 return vec_perm(__a, __b, (vector unsigned char)
5284 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5285 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5290 static vector signed char __ATTRS_o_ai
5291 vec_vsldoi(vector signed char __a, vector signed char __b, unsigned char __c)
5293 return vec_perm(__a, __b, (vector unsigned char)
5294 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5295 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5298 static vector unsigned char __ATTRS_o_ai
5299 vec_vsldoi(vector unsigned char __a, vector unsigned char __b, unsigned char __c)
5301 return vec_perm(__a, __b, (vector unsigned char)
5302 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5303 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5306 static vector short __ATTRS_o_ai
5307 vec_vsldoi(vector short __a, vector short __b, unsigned char __c)
5309 return vec_perm(__a, __b, (vector unsigned char)
5310 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5311 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5314 static vector unsigned short __ATTRS_o_ai
5315 vec_vsldoi(vector unsigned short __a, vector unsigned short __b, unsigned char __c)
5317 return vec_perm(__a, __b, (vector unsigned char)
5318 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5319 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5322 static vector pixel __ATTRS_o_ai
5323 vec_vsldoi(vector pixel __a, vector pixel __b, unsigned char __c)
5325 return vec_perm(__a, __b, (vector unsigned char)
5326 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5327 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5330 static vector int __ATTRS_o_ai
5331 vec_vsldoi(vector int __a, vector int __b, unsigned char __c)
5333 return vec_perm(__a, __b, (vector unsigned char)
5334 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5335 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5338 static vector unsigned int __ATTRS_o_ai
5339 vec_vsldoi(vector unsigned int __a, vector unsigned int __b, unsigned char __c)
5341 return vec_perm(__a, __b, (vector unsigned char)
5342 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5343 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5346 static vector float __ATTRS_o_ai
5347 vec_vsldoi(vector float __a, vector float __b, unsigned char __c)
5349 return vec_perm(__a, __b, (vector unsigned char)
5350 (__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
5351 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5356 static vector signed char __ATTRS_o_ai
5357 vec_sll(vector signed char __a, vector unsigned char __b)
5359 return (vector signed char)
5360 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5363 static vector signed char __ATTRS_o_ai
5364 vec_sll(vector signed char __a, vector unsigned short __b)
5366 return (vector signed char)
5367 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5370 static vector signed char __ATTRS_o_ai
5371 vec_sll(vector signed char __a, vector unsigned int __b)
5373 return (vector signed char)
5374 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5377 static vector unsigned char __ATTRS_o_ai
5378 vec_sll(vector unsigned char __a, vector unsigned char __b)
5380 return (vector unsigned char)
5381 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5384 static vector unsigned char __ATTRS_o_ai
5385 vec_sll(vector unsigned char __a, vector unsigned short __b)
5387 return (vector unsigned char)
5388 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5391 static vector unsigned char __ATTRS_o_ai
5392 vec_sll(vector unsigned char __a, vector unsigned int __b)
5394 return (vector unsigned char)
5395 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5398 static vector bool char __ATTRS_o_ai
5399 vec_sll(vector bool char __a, vector unsigned char __b)
5401 return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5404 static vector bool char __ATTRS_o_ai
5405 vec_sll(vector bool char __a, vector unsigned short __b)
5407 return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5410 static vector bool char __ATTRS_o_ai
5411 vec_sll(vector bool char __a, vector unsigned int __b)
5413 return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5416 static vector short __ATTRS_o_ai
5417 vec_sll(vector short __a, vector unsigned char __b)
5419 return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5422 static vector short __ATTRS_o_ai
5423 vec_sll(vector short __a, vector unsigned short __b)
5425 return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5428 static vector short __ATTRS_o_ai
5429 vec_sll(vector short __a, vector unsigned int __b)
5431 return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5434 static vector unsigned short __ATTRS_o_ai
5435 vec_sll(vector unsigned short __a, vector unsigned char __b)
5437 return (vector unsigned short)
5438 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5441 static vector unsigned short __ATTRS_o_ai
5442 vec_sll(vector unsigned short __a, vector unsigned short __b)
5444 return (vector unsigned short)
5445 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5448 static vector unsigned short __ATTRS_o_ai
5449 vec_sll(vector unsigned short __a, vector unsigned int __b)
5451 return (vector unsigned short)
5452 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5455 static vector bool short __ATTRS_o_ai
5456 vec_sll(vector bool short __a, vector unsigned char __b)
5458 return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5461 static vector bool short __ATTRS_o_ai
5462 vec_sll(vector bool short __a, vector unsigned short __b)
5464 return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5467 static vector bool short __ATTRS_o_ai
5468 vec_sll(vector bool short __a, vector unsigned int __b)
5470 return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5473 static vector pixel __ATTRS_o_ai
5474 vec_sll(vector pixel __a, vector unsigned char __b)
5476 return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5479 static vector pixel __ATTRS_o_ai
5480 vec_sll(vector pixel __a, vector unsigned short __b)
5482 return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5485 static vector pixel __ATTRS_o_ai
5486 vec_sll(vector pixel __a, vector unsigned int __b)
5488 return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5491 static vector int __ATTRS_o_ai
5492 vec_sll(vector int __a, vector unsigned char __b)
5494 return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
5497 static vector int __ATTRS_o_ai
5498 vec_sll(vector int __a, vector unsigned short __b)
5500 return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
5503 static vector int __ATTRS_o_ai
5504 vec_sll(vector int __a, vector unsigned int __b)
5506 return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
5509 static vector unsigned int __ATTRS_o_ai
5510 vec_sll(vector unsigned int __a, vector unsigned char __b)
5512 return (vector unsigned int)
5513 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5516 static vector unsigned int __ATTRS_o_ai
5517 vec_sll(vector unsigned int __a, vector unsigned short __b)
5519 return (vector unsigned int)
5520 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5523 static vector unsigned int __ATTRS_o_ai
5524 vec_sll(vector unsigned int __a, vector unsigned int __b)
5526 return (vector unsigned int)
5527 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5530 static vector bool int __ATTRS_o_ai
5531 vec_sll(vector bool int __a, vector unsigned char __b)
5533 return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5536 static vector bool int __ATTRS_o_ai
5537 vec_sll(vector bool int __a, vector unsigned short __b)
5539 return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5542 static vector bool int __ATTRS_o_ai
5543 vec_sll(vector bool int __a, vector unsigned int __b)
5545 return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5550 static vector signed char __ATTRS_o_ai
5551 vec_vsl(vector signed char __a, vector unsigned char __b)
5553 return (vector signed char)
5554 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5557 static vector signed char __ATTRS_o_ai
5558 vec_vsl(vector signed char __a, vector unsigned short __b)
5560 return (vector signed char)
5561 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5564 static vector signed char __ATTRS_o_ai
5565 vec_vsl(vector signed char __a, vector unsigned int __b)
5567 return (vector signed char)
5568 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5571 static vector unsigned char __ATTRS_o_ai
5572 vec_vsl(vector unsigned char __a, vector unsigned char __b)
5574 return (vector unsigned char)
5575 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5578 static vector unsigned char __ATTRS_o_ai
5579 vec_vsl(vector unsigned char __a, vector unsigned short __b)
5581 return (vector unsigned char)
5582 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5585 static vector unsigned char __ATTRS_o_ai
5586 vec_vsl(vector unsigned char __a, vector unsigned int __b)
5588 return (vector unsigned char)
5589 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5592 static vector bool char __ATTRS_o_ai
5593 vec_vsl(vector bool char __a, vector unsigned char __b)
5595 return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5598 static vector bool char __ATTRS_o_ai
5599 vec_vsl(vector bool char __a, vector unsigned short __b)
5601 return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5604 static vector bool char __ATTRS_o_ai
5605 vec_vsl(vector bool char __a, vector unsigned int __b)
5607 return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5610 static vector short __ATTRS_o_ai
5611 vec_vsl(vector short __a, vector unsigned char __b)
5613 return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5616 static vector short __ATTRS_o_ai
5617 vec_vsl(vector short __a, vector unsigned short __b)
5619 return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5622 static vector short __ATTRS_o_ai
5623 vec_vsl(vector short __a, vector unsigned int __b)
5625 return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5628 static vector unsigned short __ATTRS_o_ai
5629 vec_vsl(vector unsigned short __a, vector unsigned char __b)
5631 return (vector unsigned short)
5632 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5635 static vector unsigned short __ATTRS_o_ai
5636 vec_vsl(vector unsigned short __a, vector unsigned short __b)
5638 return (vector unsigned short)
5639 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5642 static vector unsigned short __ATTRS_o_ai
5643 vec_vsl(vector unsigned short __a, vector unsigned int __b)
5645 return (vector unsigned short)
5646 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5649 static vector bool short __ATTRS_o_ai
5650 vec_vsl(vector bool short __a, vector unsigned char __b)
5652 return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5655 static vector bool short __ATTRS_o_ai
5656 vec_vsl(vector bool short __a, vector unsigned short __b)
5658 return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5661 static vector bool short __ATTRS_o_ai
5662 vec_vsl(vector bool short __a, vector unsigned int __b)
5664 return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5667 static vector pixel __ATTRS_o_ai
5668 vec_vsl(vector pixel __a, vector unsigned char __b)
5670 return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5673 static vector pixel __ATTRS_o_ai
5674 vec_vsl(vector pixel __a, vector unsigned short __b)
5676 return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5679 static vector pixel __ATTRS_o_ai
5680 vec_vsl(vector pixel __a, vector unsigned int __b)
5682 return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5685 static vector int __ATTRS_o_ai
5686 vec_vsl(vector int __a, vector unsigned char __b)
5688 return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
5691 static vector int __ATTRS_o_ai
5692 vec_vsl(vector int __a, vector unsigned short __b)
5694 return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
5697 static vector int __ATTRS_o_ai
5698 vec_vsl(vector int __a, vector unsigned int __b)
5700 return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
5703 static vector unsigned int __ATTRS_o_ai
5704 vec_vsl(vector unsigned int __a, vector unsigned char __b)
5706 return (vector unsigned int)
5707 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5710 static vector unsigned int __ATTRS_o_ai
5711 vec_vsl(vector unsigned int __a, vector unsigned short __b)
5713 return (vector unsigned int)
5714 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5717 static vector unsigned int __ATTRS_o_ai
5718 vec_vsl(vector unsigned int __a, vector unsigned int __b)
5720 return (vector unsigned int)
5721 __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5724 static vector bool int __ATTRS_o_ai
5725 vec_vsl(vector bool int __a, vector unsigned char __b)
5727 return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5730 static vector bool int __ATTRS_o_ai
5731 vec_vsl(vector bool int __a, vector unsigned short __b)
5733 return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5736 static vector bool int __ATTRS_o_ai
5737 vec_vsl(vector bool int __a, vector unsigned int __b)
5739 return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5744 static vector signed char __ATTRS_o_ai
5745 vec_slo(vector signed char __a, vector signed char __b)
5747 return (vector signed char)
5748 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5751 static vector signed char __ATTRS_o_ai
5752 vec_slo(vector signed char __a, vector unsigned char __b)
5754 return (vector signed char)
5755 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5758 static vector unsigned char __ATTRS_o_ai
5759 vec_slo(vector unsigned char __a, vector signed char __b)
5761 return (vector unsigned char)
5762 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5765 static vector unsigned char __ATTRS_o_ai
5766 vec_slo(vector unsigned char __a, vector unsigned char __b)
5768 return (vector unsigned char)
5769 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5772 static vector short __ATTRS_o_ai
5773 vec_slo(vector short __a, vector signed char __b)
5775 return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5778 static vector short __ATTRS_o_ai
5779 vec_slo(vector short __a, vector unsigned char __b)
5781 return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5784 static vector unsigned short __ATTRS_o_ai
5785 vec_slo(vector unsigned short __a, vector signed char __b)
5787 return (vector unsigned short)
5788 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5791 static vector unsigned short __ATTRS_o_ai
5792 vec_slo(vector unsigned short __a, vector unsigned char __b)
5794 return (vector unsigned short)
5795 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5798 static vector pixel __ATTRS_o_ai
5799 vec_slo(vector pixel __a, vector signed char __b)
5801 return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5804 static vector pixel __ATTRS_o_ai
5805 vec_slo(vector pixel __a, vector unsigned char __b)
5807 return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5810 static vector int __ATTRS_o_ai
5811 vec_slo(vector int __a, vector signed char __b)
5813 return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
5816 static vector int __ATTRS_o_ai
5817 vec_slo(vector int __a, vector unsigned char __b)
5819 return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
5822 static vector unsigned int __ATTRS_o_ai
5823 vec_slo(vector unsigned int __a, vector signed char __b)
5825 return (vector unsigned int)
5826 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5829 static vector unsigned int __ATTRS_o_ai
5830 vec_slo(vector unsigned int __a, vector unsigned char __b)
5832 return (vector unsigned int)
5833 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5836 static vector float __ATTRS_o_ai
5837 vec_slo(vector float __a, vector signed char __b)
5839 return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5842 static vector float __ATTRS_o_ai
5843 vec_slo(vector float __a, vector unsigned char __b)
5845 return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5850 static vector signed char __ATTRS_o_ai
5851 vec_vslo(vector signed char __a, vector signed char __b)
5853 return (vector signed char)
5854 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5857 static vector signed char __ATTRS_o_ai
5858 vec_vslo(vector signed char __a, vector unsigned char __b)
5860 return (vector signed char)
5861 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5864 static vector unsigned char __ATTRS_o_ai
5865 vec_vslo(vector unsigned char __a, vector signed char __b)
5867 return (vector unsigned char)
5868 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5871 static vector unsigned char __ATTRS_o_ai
5872 vec_vslo(vector unsigned char __a, vector unsigned char __b)
5874 return (vector unsigned char)
5875 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5878 static vector short __ATTRS_o_ai
5879 vec_vslo(vector short __a, vector signed char __b)
5881 return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5884 static vector short __ATTRS_o_ai
5885 vec_vslo(vector short __a, vector unsigned char __b)
5887 return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5890 static vector unsigned short __ATTRS_o_ai
5891 vec_vslo(vector unsigned short __a, vector signed char __b)
5893 return (vector unsigned short)
5894 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5897 static vector unsigned short __ATTRS_o_ai
5898 vec_vslo(vector unsigned short __a, vector unsigned char __b)
5900 return (vector unsigned short)
5901 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5904 static vector pixel __ATTRS_o_ai
5905 vec_vslo(vector pixel __a, vector signed char __b)
5907 return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5910 static vector pixel __ATTRS_o_ai
5911 vec_vslo(vector pixel __a, vector unsigned char __b)
5913 return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5916 static vector int __ATTRS_o_ai
5917 vec_vslo(vector int __a, vector signed char __b)
5919 return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
5922 static vector int __ATTRS_o_ai
5923 vec_vslo(vector int __a, vector unsigned char __b)
5925 return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
5928 static vector unsigned int __ATTRS_o_ai
5929 vec_vslo(vector unsigned int __a, vector signed char __b)
5931 return (vector unsigned int)
5932 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5935 static vector unsigned int __ATTRS_o_ai
5936 vec_vslo(vector unsigned int __a, vector unsigned char __b)
5938 return (vector unsigned int)
5939 __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5942 static vector float __ATTRS_o_ai
5943 vec_vslo(vector float __a, vector signed char __b)
5945 return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5948 static vector float __ATTRS_o_ai
5949 vec_vslo(vector float __a, vector unsigned char __b)
5951 return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5956 static vector signed char __ATTRS_o_ai
5957 vec_splat(vector signed char __a, unsigned char __b)
5959 return vec_perm(__a, __a, (vector unsigned char)(__b));
5962 static vector unsigned char __ATTRS_o_ai
5963 vec_splat(vector unsigned char __a, unsigned char __b)
5965 return vec_perm(__a, __a, (vector unsigned char)(__b));
5968 static vector bool char __ATTRS_o_ai
5969 vec_splat(vector bool char __a, unsigned char __b)
5971 return vec_perm(__a, __a, (vector unsigned char)(__b));
5974 static vector short __ATTRS_o_ai
5975 vec_splat(vector short __a, unsigned char __b)
5978 unsigned char b1=__b+1;
5979 return vec_perm(__a, __a, (vector unsigned char)
5980 (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
5983 static vector unsigned short __ATTRS_o_ai
5984 vec_splat(vector unsigned short __a, unsigned char __b)
5987 unsigned char b1=__b+1;
5988 return vec_perm(__a, __a, (vector unsigned char)
5989 (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
5992 static vector bool short __ATTRS_o_ai
5993 vec_splat(vector bool short __a, unsigned char __b)
5996 unsigned char b1=__b+1;
5997 return vec_perm(__a, __a, (vector unsigned char)
5998 (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6001 static vector pixel __ATTRS_o_ai
6002 vec_splat(vector pixel __a, unsigned char __b)
6005 unsigned char b1=__b+1;
6006 return vec_perm(__a, __a, (vector unsigned char)
6007 (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6010 static vector int __ATTRS_o_ai
6011 vec_splat(vector int __a, unsigned char __b)
6014 unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6015 return vec_perm(__a, __a, (vector unsigned char)
6016 (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6019 static vector unsigned int __ATTRS_o_ai
6020 vec_splat(vector unsigned int __a, unsigned char __b)
6023 unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6024 return vec_perm(__a, __a, (vector unsigned char)
6025 (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6028 static vector bool int __ATTRS_o_ai
6029 vec_splat(vector bool int __a, unsigned char __b)
6032 unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6033 return vec_perm(__a, __a, (vector unsigned char)
6034 (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6037 static vector float __ATTRS_o_ai
6038 vec_splat(vector float __a, unsigned char __b)
6041 unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6042 return vec_perm(__a, __a, (vector unsigned char)
6043 (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6048 #define __builtin_altivec_vspltb vec_vspltb
6050 static vector signed char __ATTRS_o_ai
6051 vec_vspltb(vector signed char __a, unsigned char __b)
6053 return vec_perm(__a, __a, (vector unsigned char)(__b));
6056 static vector unsigned char __ATTRS_o_ai
6057 vec_vspltb(vector unsigned char __a, unsigned char __b)
6059 return vec_perm(__a, __a, (vector unsigned char)(__b));
6062 static vector bool char __ATTRS_o_ai
6063 vec_vspltb(vector bool char __a, unsigned char __b)
6065 return vec_perm(__a, __a, (vector unsigned char)(__b));
6070 #define __builtin_altivec_vsplth vec_vsplth
6072 static vector short __ATTRS_o_ai
6073 vec_vsplth(vector short __a, unsigned char __b)
6076 unsigned char b1=__b+1;
6077 return vec_perm(__a, __a, (vector unsigned char)
6078 (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6081 static vector unsigned short __ATTRS_o_ai
6082 vec_vsplth(vector unsigned short __a, unsigned char __b)
6085 unsigned char b1=__b+1;
6086 return vec_perm(__a, __a, (vector unsigned char)
6087 (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6090 static vector bool short __ATTRS_o_ai
6091 vec_vsplth(vector bool short __a, unsigned char __b)
6094 unsigned char b1=__b+1;
6095 return vec_perm(__a, __a, (vector unsigned char)
6096 (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6099 static vector pixel __ATTRS_o_ai
6100 vec_vsplth(vector pixel __a, unsigned char __b)
6103 unsigned char b1=__b+1;
6104 return vec_perm(__a, __a, (vector unsigned char)
6105 (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6110 #define __builtin_altivec_vspltw vec_vspltw
6112 static vector int __ATTRS_o_ai
6113 vec_vspltw(vector int __a, unsigned char __b)
6116 unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6117 return vec_perm(__a, __a, (vector unsigned char)
6118 (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6121 static vector unsigned int __ATTRS_o_ai
6122 vec_vspltw(vector unsigned int __a, unsigned char __b)
6125 unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6126 return vec_perm(__a, __a, (vector unsigned char)
6127 (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6130 static vector bool int __ATTRS_o_ai
6131 vec_vspltw(vector bool int __a, unsigned char __b)
6134 unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6135 return vec_perm(__a, __a, (vector unsigned char)
6136 (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6139 static vector float __ATTRS_o_ai
6140 vec_vspltw(vector float __a, unsigned char __b)
6143 unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6144 return vec_perm(__a, __a, (vector unsigned char)
6145 (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6150 #define __builtin_altivec_vspltisb vec_splat_s8
6152 // FIXME: parameter should be treated as 5-bit signed literal
6153 static vector signed char __ATTRS_o_ai
6154 vec_splat_s8(signed char __a)
6156 return (vector signed char)(__a);
6161 // FIXME: parameter should be treated as 5-bit signed literal
6162 static vector signed char __ATTRS_o_ai
6163 vec_vspltisb(signed char __a)
6165 return (vector signed char)(__a);
6170 #define __builtin_altivec_vspltish vec_splat_s16
6172 // FIXME: parameter should be treated as 5-bit signed literal
6173 static vector short __ATTRS_o_ai
6174 vec_splat_s16(signed char __a)
6176 return (vector short)(__a);
6181 // FIXME: parameter should be treated as 5-bit signed literal
6182 static vector short __ATTRS_o_ai
6183 vec_vspltish(signed char __a)
6185 return (vector short)(__a);
6190 #define __builtin_altivec_vspltisw vec_splat_s32
6192 // FIXME: parameter should be treated as 5-bit signed literal
6193 static vector int __ATTRS_o_ai
6194 vec_splat_s32(signed char __a)
6196 return (vector int)(__a);
6201 // FIXME: parameter should be treated as 5-bit signed literal
6202 static vector int __ATTRS_o_ai
6203 vec_vspltisw(signed char __a)
6205 return (vector int)(__a);
6210 // FIXME: parameter should be treated as 5-bit signed literal
6211 static vector unsigned char __ATTRS_o_ai
6212 vec_splat_u8(unsigned char __a)
6214 return (vector unsigned char)(__a);
6219 // FIXME: parameter should be treated as 5-bit signed literal
6220 static vector unsigned short __ATTRS_o_ai
6221 vec_splat_u16(signed char __a)
6223 return (vector unsigned short)(__a);
6228 // FIXME: parameter should be treated as 5-bit signed literal
6229 static vector unsigned int __ATTRS_o_ai
6230 vec_splat_u32(signed char __a)
6232 return (vector unsigned int)(__a);
6237 static vector signed char __ATTRS_o_ai
6238 vec_sr(vector signed char __a, vector unsigned char __b)
6240 return __a >> (vector signed char)__b;
6243 static vector unsigned char __ATTRS_o_ai
6244 vec_sr(vector unsigned char __a, vector unsigned char __b)
6249 static vector short __ATTRS_o_ai
6250 vec_sr(vector short __a, vector unsigned short __b)
6252 return __a >> (vector short)__b;
6255 static vector unsigned short __ATTRS_o_ai
6256 vec_sr(vector unsigned short __a, vector unsigned short __b)
6261 static vector int __ATTRS_o_ai
6262 vec_sr(vector int __a, vector unsigned int __b)
6264 return __a >> (vector int)__b;
6267 static vector unsigned int __ATTRS_o_ai
6268 vec_sr(vector unsigned int __a, vector unsigned int __b)
6275 #define __builtin_altivec_vsrb vec_vsrb
6277 static vector signed char __ATTRS_o_ai
6278 vec_vsrb(vector signed char __a, vector unsigned char __b)
6280 return __a >> (vector signed char)__b;
6283 static vector unsigned char __ATTRS_o_ai
6284 vec_vsrb(vector unsigned char __a, vector unsigned char __b)
6291 #define __builtin_altivec_vsrh vec_vsrh
6293 static vector short __ATTRS_o_ai
6294 vec_vsrh(vector short __a, vector unsigned short __b)
6296 return __a >> (vector short)__b;
6299 static vector unsigned short __ATTRS_o_ai
6300 vec_vsrh(vector unsigned short __a, vector unsigned short __b)
6307 #define __builtin_altivec_vsrw vec_vsrw
6309 static vector int __ATTRS_o_ai
6310 vec_vsrw(vector int __a, vector unsigned int __b)
6312 return __a >> (vector int)__b;
6315 static vector unsigned int __ATTRS_o_ai
6316 vec_vsrw(vector unsigned int __a, vector unsigned int __b)
6323 static vector signed char __ATTRS_o_ai
6324 vec_sra(vector signed char __a, vector unsigned char __b)
6326 return (vector signed char)__builtin_altivec_vsrab((vector char)__a, __b);
6329 static vector unsigned char __ATTRS_o_ai
6330 vec_sra(vector unsigned char __a, vector unsigned char __b)
6332 return (vector unsigned char)__builtin_altivec_vsrab((vector char)__a, __b);
6335 static vector short __ATTRS_o_ai
6336 vec_sra(vector short __a, vector unsigned short __b)
6338 return __builtin_altivec_vsrah(__a, (vector unsigned short)__b);
6341 static vector unsigned short __ATTRS_o_ai
6342 vec_sra(vector unsigned short __a, vector unsigned short __b)
6344 return (vector unsigned short)__builtin_altivec_vsrah((vector short)__a, __b);
6347 static vector int __ATTRS_o_ai
6348 vec_sra(vector int __a, vector unsigned int __b)
6350 return __builtin_altivec_vsraw(__a, __b);
6353 static vector unsigned int __ATTRS_o_ai
6354 vec_sra(vector unsigned int __a, vector unsigned int __b)
6356 return (vector unsigned int)__builtin_altivec_vsraw((vector int)__a, __b);
6361 static vector signed char __ATTRS_o_ai
6362 vec_vsrab(vector signed char __a, vector unsigned char __b)
6364 return (vector signed char)__builtin_altivec_vsrab((vector char)__a, __b);
6367 static vector unsigned char __ATTRS_o_ai
6368 vec_vsrab(vector unsigned char __a, vector unsigned char __b)
6370 return (vector unsigned char)__builtin_altivec_vsrab((vector char)__a, __b);
6375 static vector short __ATTRS_o_ai
6376 vec_vsrah(vector short __a, vector unsigned short __b)
6378 return __builtin_altivec_vsrah(__a, (vector unsigned short)__b);
6381 static vector unsigned short __ATTRS_o_ai
6382 vec_vsrah(vector unsigned short __a, vector unsigned short __b)
6384 return (vector unsigned short)__builtin_altivec_vsrah((vector short)__a, __b);
6389 static vector int __ATTRS_o_ai
6390 vec_vsraw(vector int __a, vector unsigned int __b)
6392 return __builtin_altivec_vsraw(__a, __b);
6395 static vector unsigned int __ATTRS_o_ai
6396 vec_vsraw(vector unsigned int __a, vector unsigned int __b)
6398 return (vector unsigned int)__builtin_altivec_vsraw((vector int)__a, __b);
6403 static vector signed char __ATTRS_o_ai
6404 vec_srl(vector signed char __a, vector unsigned char __b)
6406 return (vector signed char)
6407 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6410 static vector signed char __ATTRS_o_ai
6411 vec_srl(vector signed char __a, vector unsigned short __b)
6413 return (vector signed char)
6414 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6417 static vector signed char __ATTRS_o_ai
6418 vec_srl(vector signed char __a, vector unsigned int __b)
6420 return (vector signed char)
6421 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6424 static vector unsigned char __ATTRS_o_ai
6425 vec_srl(vector unsigned char __a, vector unsigned char __b)
6427 return (vector unsigned char)
6428 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6431 static vector unsigned char __ATTRS_o_ai
6432 vec_srl(vector unsigned char __a, vector unsigned short __b)
6434 return (vector unsigned char)
6435 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6438 static vector unsigned char __ATTRS_o_ai
6439 vec_srl(vector unsigned char __a, vector unsigned int __b)
6441 return (vector unsigned char)
6442 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6445 static vector bool char __ATTRS_o_ai
6446 vec_srl(vector bool char __a, vector unsigned char __b)
6448 return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6451 static vector bool char __ATTRS_o_ai
6452 vec_srl(vector bool char __a, vector unsigned short __b)
6454 return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6457 static vector bool char __ATTRS_o_ai
6458 vec_srl(vector bool char __a, vector unsigned int __b)
6460 return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6463 static vector short __ATTRS_o_ai
6464 vec_srl(vector short __a, vector unsigned char __b)
6466 return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6469 static vector short __ATTRS_o_ai
6470 vec_srl(vector short __a, vector unsigned short __b)
6472 return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6475 static vector short __ATTRS_o_ai
6476 vec_srl(vector short __a, vector unsigned int __b)
6478 return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6481 static vector unsigned short __ATTRS_o_ai
6482 vec_srl(vector unsigned short __a, vector unsigned char __b)
6484 return (vector unsigned short)
6485 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6488 static vector unsigned short __ATTRS_o_ai
6489 vec_srl(vector unsigned short __a, vector unsigned short __b)
6491 return (vector unsigned short)
6492 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6495 static vector unsigned short __ATTRS_o_ai
6496 vec_srl(vector unsigned short __a, vector unsigned int __b)
6498 return (vector unsigned short)
6499 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6502 static vector bool short __ATTRS_o_ai
6503 vec_srl(vector bool short __a, vector unsigned char __b)
6505 return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6508 static vector bool short __ATTRS_o_ai
6509 vec_srl(vector bool short __a, vector unsigned short __b)
6511 return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6514 static vector bool short __ATTRS_o_ai
6515 vec_srl(vector bool short __a, vector unsigned int __b)
6517 return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6520 static vector pixel __ATTRS_o_ai
6521 vec_srl(vector pixel __a, vector unsigned char __b)
6523 return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6526 static vector pixel __ATTRS_o_ai
6527 vec_srl(vector pixel __a, vector unsigned short __b)
6529 return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6532 static vector pixel __ATTRS_o_ai
6533 vec_srl(vector pixel __a, vector unsigned int __b)
6535 return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6538 static vector int __ATTRS_o_ai
6539 vec_srl(vector int __a, vector unsigned char __b)
6541 return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6544 static vector int __ATTRS_o_ai
6545 vec_srl(vector int __a, vector unsigned short __b)
6547 return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6550 static vector int __ATTRS_o_ai
6551 vec_srl(vector int __a, vector unsigned int __b)
6553 return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6556 static vector unsigned int __ATTRS_o_ai
6557 vec_srl(vector unsigned int __a, vector unsigned char __b)
6559 return (vector unsigned int)
6560 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6563 static vector unsigned int __ATTRS_o_ai
6564 vec_srl(vector unsigned int __a, vector unsigned short __b)
6566 return (vector unsigned int)
6567 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6570 static vector unsigned int __ATTRS_o_ai
6571 vec_srl(vector unsigned int __a, vector unsigned int __b)
6573 return (vector unsigned int)
6574 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6577 static vector bool int __ATTRS_o_ai
6578 vec_srl(vector bool int __a, vector unsigned char __b)
6580 return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6583 static vector bool int __ATTRS_o_ai
6584 vec_srl(vector bool int __a, vector unsigned short __b)
6586 return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6589 static vector bool int __ATTRS_o_ai
6590 vec_srl(vector bool int __a, vector unsigned int __b)
6592 return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6597 static vector signed char __ATTRS_o_ai
6598 vec_vsr(vector signed char __a, vector unsigned char __b)
6600 return (vector signed char)
6601 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6604 static vector signed char __ATTRS_o_ai
6605 vec_vsr(vector signed char __a, vector unsigned short __b)
6607 return (vector signed char)
6608 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6611 static vector signed char __ATTRS_o_ai
6612 vec_vsr(vector signed char __a, vector unsigned int __b)
6614 return (vector signed char)
6615 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6618 static vector unsigned char __ATTRS_o_ai
6619 vec_vsr(vector unsigned char __a, vector unsigned char __b)
6621 return (vector unsigned char)
6622 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6625 static vector unsigned char __ATTRS_o_ai
6626 vec_vsr(vector unsigned char __a, vector unsigned short __b)
6628 return (vector unsigned char)
6629 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6632 static vector unsigned char __ATTRS_o_ai
6633 vec_vsr(vector unsigned char __a, vector unsigned int __b)
6635 return (vector unsigned char)
6636 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6639 static vector bool char __ATTRS_o_ai
6640 vec_vsr(vector bool char __a, vector unsigned char __b)
6642 return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6645 static vector bool char __ATTRS_o_ai
6646 vec_vsr(vector bool char __a, vector unsigned short __b)
6648 return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6651 static vector bool char __ATTRS_o_ai
6652 vec_vsr(vector bool char __a, vector unsigned int __b)
6654 return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6657 static vector short __ATTRS_o_ai
6658 vec_vsr(vector short __a, vector unsigned char __b)
6660 return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6663 static vector short __ATTRS_o_ai
6664 vec_vsr(vector short __a, vector unsigned short __b)
6666 return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6669 static vector short __ATTRS_o_ai
6670 vec_vsr(vector short __a, vector unsigned int __b)
6672 return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6675 static vector unsigned short __ATTRS_o_ai
6676 vec_vsr(vector unsigned short __a, vector unsigned char __b)
6678 return (vector unsigned short)
6679 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6682 static vector unsigned short __ATTRS_o_ai
6683 vec_vsr(vector unsigned short __a, vector unsigned short __b)
6685 return (vector unsigned short)
6686 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6689 static vector unsigned short __ATTRS_o_ai
6690 vec_vsr(vector unsigned short __a, vector unsigned int __b)
6692 return (vector unsigned short)
6693 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6696 static vector bool short __ATTRS_o_ai
6697 vec_vsr(vector bool short __a, vector unsigned char __b)
6699 return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6702 static vector bool short __ATTRS_o_ai
6703 vec_vsr(vector bool short __a, vector unsigned short __b)
6705 return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6708 static vector bool short __ATTRS_o_ai
6709 vec_vsr(vector bool short __a, vector unsigned int __b)
6711 return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6714 static vector pixel __ATTRS_o_ai
6715 vec_vsr(vector pixel __a, vector unsigned char __b)
6717 return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6720 static vector pixel __ATTRS_o_ai
6721 vec_vsr(vector pixel __a, vector unsigned short __b)
6723 return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6726 static vector pixel __ATTRS_o_ai
6727 vec_vsr(vector pixel __a, vector unsigned int __b)
6729 return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6732 static vector int __ATTRS_o_ai
6733 vec_vsr(vector int __a, vector unsigned char __b)
6735 return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6738 static vector int __ATTRS_o_ai
6739 vec_vsr(vector int __a, vector unsigned short __b)
6741 return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6744 static vector int __ATTRS_o_ai
6745 vec_vsr(vector int __a, vector unsigned int __b)
6747 return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6750 static vector unsigned int __ATTRS_o_ai
6751 vec_vsr(vector unsigned int __a, vector unsigned char __b)
6753 return (vector unsigned int)
6754 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6757 static vector unsigned int __ATTRS_o_ai
6758 vec_vsr(vector unsigned int __a, vector unsigned short __b)
6760 return (vector unsigned int)
6761 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6764 static vector unsigned int __ATTRS_o_ai
6765 vec_vsr(vector unsigned int __a, vector unsigned int __b)
6767 return (vector unsigned int)
6768 __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6771 static vector bool int __ATTRS_o_ai
6772 vec_vsr(vector bool int __a, vector unsigned char __b)
6774 return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6777 static vector bool int __ATTRS_o_ai
6778 vec_vsr(vector bool int __a, vector unsigned short __b)
6780 return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6783 static vector bool int __ATTRS_o_ai
6784 vec_vsr(vector bool int __a, vector unsigned int __b)
6786 return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6791 static vector signed char __ATTRS_o_ai
6792 vec_sro(vector signed char __a, vector signed char __b)
6794 return (vector signed char)
6795 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6798 static vector signed char __ATTRS_o_ai
6799 vec_sro(vector signed char __a, vector unsigned char __b)
6801 return (vector signed char)
6802 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6805 static vector unsigned char __ATTRS_o_ai
6806 vec_sro(vector unsigned char __a, vector signed char __b)
6808 return (vector unsigned char)
6809 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6812 static vector unsigned char __ATTRS_o_ai
6813 vec_sro(vector unsigned char __a, vector unsigned char __b)
6815 return (vector unsigned char)
6816 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6819 static vector short __ATTRS_o_ai
6820 vec_sro(vector short __a, vector signed char __b)
6822 return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6825 static vector short __ATTRS_o_ai
6826 vec_sro(vector short __a, vector unsigned char __b)
6828 return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6831 static vector unsigned short __ATTRS_o_ai
6832 vec_sro(vector unsigned short __a, vector signed char __b)
6834 return (vector unsigned short)
6835 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6838 static vector unsigned short __ATTRS_o_ai
6839 vec_sro(vector unsigned short __a, vector unsigned char __b)
6841 return (vector unsigned short)
6842 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6845 static vector pixel __ATTRS_o_ai
6846 vec_sro(vector pixel __a, vector signed char __b)
6848 return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6851 static vector pixel __ATTRS_o_ai
6852 vec_sro(vector pixel __a, vector unsigned char __b)
6854 return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6857 static vector int __ATTRS_o_ai
6858 vec_sro(vector int __a, vector signed char __b)
6860 return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
6863 static vector int __ATTRS_o_ai
6864 vec_sro(vector int __a, vector unsigned char __b)
6866 return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
6869 static vector unsigned int __ATTRS_o_ai
6870 vec_sro(vector unsigned int __a, vector signed char __b)
6872 return (vector unsigned int)
6873 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6876 static vector unsigned int __ATTRS_o_ai
6877 vec_sro(vector unsigned int __a, vector unsigned char __b)
6879 return (vector unsigned int)
6880 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6883 static vector float __ATTRS_o_ai
6884 vec_sro(vector float __a, vector signed char __b)
6886 return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6889 static vector float __ATTRS_o_ai
6890 vec_sro(vector float __a, vector unsigned char __b)
6892 return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6897 static vector signed char __ATTRS_o_ai
6898 vec_vsro(vector signed char __a, vector signed char __b)
6900 return (vector signed char)
6901 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6904 static vector signed char __ATTRS_o_ai
6905 vec_vsro(vector signed char __a, vector unsigned char __b)
6907 return (vector signed char)
6908 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6911 static vector unsigned char __ATTRS_o_ai
6912 vec_vsro(vector unsigned char __a, vector signed char __b)
6914 return (vector unsigned char)
6915 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6918 static vector unsigned char __ATTRS_o_ai
6919 vec_vsro(vector unsigned char __a, vector unsigned char __b)
6921 return (vector unsigned char)
6922 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6925 static vector short __ATTRS_o_ai
6926 vec_vsro(vector short __a, vector signed char __b)
6928 return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6931 static vector short __ATTRS_o_ai
6932 vec_vsro(vector short __a, vector unsigned char __b)
6934 return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6937 static vector unsigned short __ATTRS_o_ai
6938 vec_vsro(vector unsigned short __a, vector signed char __b)
6940 return (vector unsigned short)
6941 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6944 static vector unsigned short __ATTRS_o_ai
6945 vec_vsro(vector unsigned short __a, vector unsigned char __b)
6947 return (vector unsigned short)
6948 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6951 static vector pixel __ATTRS_o_ai
6952 vec_vsro(vector pixel __a, vector signed char __b)
6954 return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6957 static vector pixel __ATTRS_o_ai
6958 vec_vsro(vector pixel __a, vector unsigned char __b)
6960 return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6963 static vector int __ATTRS_o_ai
6964 vec_vsro(vector int __a, vector signed char __b)
6966 return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
6969 static vector int __ATTRS_o_ai
6970 vec_vsro(vector int __a, vector unsigned char __b)
6972 return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
6975 static vector unsigned int __ATTRS_o_ai
6976 vec_vsro(vector unsigned int __a, vector signed char __b)
6978 return (vector unsigned int)
6979 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6982 static vector unsigned int __ATTRS_o_ai
6983 vec_vsro(vector unsigned int __a, vector unsigned char __b)
6985 return (vector unsigned int)
6986 __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6989 static vector float __ATTRS_o_ai
6990 vec_vsro(vector float __a, vector signed char __b)
6992 return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6995 static vector float __ATTRS_o_ai
6996 vec_vsro(vector float __a, vector unsigned char __b)
6998 return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
7003 static void __ATTRS_o_ai
7004 vec_st(vector signed char __a, int __b, vector signed char *__c)
7006 __builtin_altivec_stvx((vector int)__a, __b, __c);
7009 static void __ATTRS_o_ai
7010 vec_st(vector signed char __a, int __b, signed char *__c)
7012 __builtin_altivec_stvx((vector int)__a, __b, __c);
7015 static void __ATTRS_o_ai
7016 vec_st(vector unsigned char __a, int __b, vector unsigned char *__c)
7018 __builtin_altivec_stvx((vector int)__a, __b, __c);
7021 static void __ATTRS_o_ai
7022 vec_st(vector unsigned char __a, int __b, unsigned char *__c)
7024 __builtin_altivec_stvx((vector int)__a, __b, __c);
7027 static void __ATTRS_o_ai
7028 vec_st(vector bool char __a, int __b, signed char *__c)
7030 __builtin_altivec_stvx((vector int)__a, __b, __c);
7033 static void __ATTRS_o_ai
7034 vec_st(vector bool char __a, int __b, unsigned char *__c)
7036 __builtin_altivec_stvx((vector int)__a, __b, __c);
7039 static void __ATTRS_o_ai
7040 vec_st(vector bool char __a, int __b, vector bool char *__c)
7042 __builtin_altivec_stvx((vector int)__a, __b, __c);
7045 static void __ATTRS_o_ai
7046 vec_st(vector short __a, int __b, vector short *__c)
7048 __builtin_altivec_stvx((vector int)__a, __b, __c);
7051 static void __ATTRS_o_ai
7052 vec_st(vector short __a, int __b, short *__c)
7054 __builtin_altivec_stvx((vector int)__a, __b, __c);
7057 static void __ATTRS_o_ai
7058 vec_st(vector unsigned short __a, int __b, vector unsigned short *__c)
7060 __builtin_altivec_stvx((vector int)__a, __b, __c);
7063 static void __ATTRS_o_ai
7064 vec_st(vector unsigned short __a, int __b, unsigned short *__c)
7066 __builtin_altivec_stvx((vector int)__a, __b, __c);
7069 static void __ATTRS_o_ai
7070 vec_st(vector bool short __a, int __b, short *__c)
7072 __builtin_altivec_stvx((vector int)__a, __b, __c);
7075 static void __ATTRS_o_ai
7076 vec_st(vector bool short __a, int __b, unsigned short *__c)
7078 __builtin_altivec_stvx((vector int)__a, __b, __c);
7081 static void __ATTRS_o_ai
7082 vec_st(vector bool short __a, int __b, vector bool short *__c)
7084 __builtin_altivec_stvx((vector int)__a, __b, __c);
7087 static void __ATTRS_o_ai
7088 vec_st(vector pixel __a, int __b, short *__c)
7090 __builtin_altivec_stvx((vector int)__a, __b, __c);
7093 static void __ATTRS_o_ai
7094 vec_st(vector pixel __a, int __b, unsigned short *__c)
7096 __builtin_altivec_stvx((vector int)__a, __b, __c);
7099 static void __ATTRS_o_ai
7100 vec_st(vector pixel __a, int __b, vector pixel *__c)
7102 __builtin_altivec_stvx((vector int)__a, __b, __c);
7105 static void __ATTRS_o_ai
7106 vec_st(vector int __a, int __b, vector int *__c)
7108 __builtin_altivec_stvx(__a, __b, __c);
7111 static void __ATTRS_o_ai
7112 vec_st(vector int __a, int __b, int *__c)
7114 __builtin_altivec_stvx(__a, __b, __c);
7117 static void __ATTRS_o_ai
7118 vec_st(vector unsigned int __a, int __b, vector unsigned int *__c)
7120 __builtin_altivec_stvx((vector int)__a, __b, __c);
7123 static void __ATTRS_o_ai
7124 vec_st(vector unsigned int __a, int __b, unsigned int *__c)
7126 __builtin_altivec_stvx((vector int)__a, __b, __c);
7129 static void __ATTRS_o_ai
7130 vec_st(vector bool int __a, int __b, int *__c)
7132 __builtin_altivec_stvx((vector int)__a, __b, __c);
7135 static void __ATTRS_o_ai
7136 vec_st(vector bool int __a, int __b, unsigned int *__c)
7138 __builtin_altivec_stvx((vector int)__a, __b, __c);
7141 static void __ATTRS_o_ai
7142 vec_st(vector bool int __a, int __b, vector bool int *__c)
7144 __builtin_altivec_stvx((vector int)__a, __b, __c);
7147 static void __ATTRS_o_ai
7148 vec_st(vector float __a, int __b, vector float *__c)
7150 __builtin_altivec_stvx((vector int)__a, __b, __c);
7153 static void __ATTRS_o_ai
7154 vec_st(vector float __a, int __b, float *__c)
7156 __builtin_altivec_stvx((vector int)__a, __b, __c);
7161 static void __ATTRS_o_ai
7162 vec_stvx(vector signed char __a, int __b, vector signed char *__c)
7164 __builtin_altivec_stvx((vector int)__a, __b, __c);
7167 static void __ATTRS_o_ai
7168 vec_stvx(vector signed char __a, int __b, signed char *__c)
7170 __builtin_altivec_stvx((vector int)__a, __b, __c);
7173 static void __ATTRS_o_ai
7174 vec_stvx(vector unsigned char __a, int __b, vector unsigned char *__c)
7176 __builtin_altivec_stvx((vector int)__a, __b, __c);
7179 static void __ATTRS_o_ai
7180 vec_stvx(vector unsigned char __a, int __b, unsigned char *__c)
7182 __builtin_altivec_stvx((vector int)__a, __b, __c);
7185 static void __ATTRS_o_ai
7186 vec_stvx(vector bool char __a, int __b, signed char *__c)
7188 __builtin_altivec_stvx((vector int)__a, __b, __c);
7191 static void __ATTRS_o_ai
7192 vec_stvx(vector bool char __a, int __b, unsigned char *__c)
7194 __builtin_altivec_stvx((vector int)__a, __b, __c);
7197 static void __ATTRS_o_ai
7198 vec_stvx(vector bool char __a, int __b, vector bool char *__c)
7200 __builtin_altivec_stvx((vector int)__a, __b, __c);
7203 static void __ATTRS_o_ai
7204 vec_stvx(vector short __a, int __b, vector short *__c)
7206 __builtin_altivec_stvx((vector int)__a, __b, __c);
7209 static void __ATTRS_o_ai
7210 vec_stvx(vector short __a, int __b, short *__c)
7212 __builtin_altivec_stvx((vector int)__a, __b, __c);
7215 static void __ATTRS_o_ai
7216 vec_stvx(vector unsigned short __a, int __b, vector unsigned short *__c)
7218 __builtin_altivec_stvx((vector int)__a, __b, __c);
7221 static void __ATTRS_o_ai
7222 vec_stvx(vector unsigned short __a, int __b, unsigned short *__c)
7224 __builtin_altivec_stvx((vector int)__a, __b, __c);
7227 static void __ATTRS_o_ai
7228 vec_stvx(vector bool short __a, int __b, short *__c)
7230 __builtin_altivec_stvx((vector int)__a, __b, __c);
7233 static void __ATTRS_o_ai
7234 vec_stvx(vector bool short __a, int __b, unsigned short *__c)
7236 __builtin_altivec_stvx((vector int)__a, __b, __c);
7239 static void __ATTRS_o_ai
7240 vec_stvx(vector bool short __a, int __b, vector bool short *__c)
7242 __builtin_altivec_stvx((vector int)__a, __b, __c);
7245 static void __ATTRS_o_ai
7246 vec_stvx(vector pixel __a, int __b, short *__c)
7248 __builtin_altivec_stvx((vector int)__a, __b, __c);
7251 static void __ATTRS_o_ai
7252 vec_stvx(vector pixel __a, int __b, unsigned short *__c)
7254 __builtin_altivec_stvx((vector int)__a, __b, __c);
7257 static void __ATTRS_o_ai
7258 vec_stvx(vector pixel __a, int __b, vector pixel *__c)
7260 __builtin_altivec_stvx((vector int)__a, __b, __c);
7263 static void __ATTRS_o_ai
7264 vec_stvx(vector int __a, int __b, vector int *__c)
7266 __builtin_altivec_stvx(__a, __b, __c);
7269 static void __ATTRS_o_ai
7270 vec_stvx(vector int __a, int __b, int *__c)
7272 __builtin_altivec_stvx(__a, __b, __c);
7275 static void __ATTRS_o_ai
7276 vec_stvx(vector unsigned int __a, int __b, vector unsigned int *__c)
7278 __builtin_altivec_stvx((vector int)__a, __b, __c);
7281 static void __ATTRS_o_ai
7282 vec_stvx(vector unsigned int __a, int __b, unsigned int *__c)
7284 __builtin_altivec_stvx((vector int)__a, __b, __c);
7287 static void __ATTRS_o_ai
7288 vec_stvx(vector bool int __a, int __b, int *__c)
7290 __builtin_altivec_stvx((vector int)__a, __b, __c);
7293 static void __ATTRS_o_ai
7294 vec_stvx(vector bool int __a, int __b, unsigned int *__c)
7296 __builtin_altivec_stvx((vector int)__a, __b, __c);
7299 static void __ATTRS_o_ai
7300 vec_stvx(vector bool int __a, int __b, vector bool int *__c)
7302 __builtin_altivec_stvx((vector int)__a, __b, __c);
7305 static void __ATTRS_o_ai
7306 vec_stvx(vector float __a, int __b, vector float *__c)
7308 __builtin_altivec_stvx((vector int)__a, __b, __c);
7311 static void __ATTRS_o_ai
7312 vec_stvx(vector float __a, int __b, float *__c)
7314 __builtin_altivec_stvx((vector int)__a, __b, __c);
7319 static void __ATTRS_o_ai
7320 vec_ste(vector signed char __a, int __b, signed char *__c)
7322 __builtin_altivec_stvebx((vector char)__a, __b, __c);
7325 static void __ATTRS_o_ai
7326 vec_ste(vector unsigned char __a, int __b, unsigned char *__c)
7328 __builtin_altivec_stvebx((vector char)__a, __b, __c);
7331 static void __ATTRS_o_ai
7332 vec_ste(vector bool char __a, int __b, signed char *__c)
7334 __builtin_altivec_stvebx((vector char)__a, __b, __c);
7337 static void __ATTRS_o_ai
7338 vec_ste(vector bool char __a, int __b, unsigned char *__c)
7340 __builtin_altivec_stvebx((vector char)__a, __b, __c);
7343 static void __ATTRS_o_ai
7344 vec_ste(vector short __a, int __b, short *__c)
7346 __builtin_altivec_stvehx(__a, __b, __c);
7349 static void __ATTRS_o_ai
7350 vec_ste(vector unsigned short __a, int __b, unsigned short *__c)
7352 __builtin_altivec_stvehx((vector short)__a, __b, __c);
7355 static void __ATTRS_o_ai
7356 vec_ste(vector bool short __a, int __b, short *__c)
7358 __builtin_altivec_stvehx((vector short)__a, __b, __c);
7361 static void __ATTRS_o_ai
7362 vec_ste(vector bool short __a, int __b, unsigned short *__c)
7364 __builtin_altivec_stvehx((vector short)__a, __b, __c);
7367 static void __ATTRS_o_ai
7368 vec_ste(vector pixel __a, int __b, short *__c)
7370 __builtin_altivec_stvehx((vector short)__a, __b, __c);
7373 static void __ATTRS_o_ai
7374 vec_ste(vector pixel __a, int __b, unsigned short *__c)
7376 __builtin_altivec_stvehx((vector short)__a, __b, __c);
7379 static void __ATTRS_o_ai
7380 vec_ste(vector int __a, int __b, int *__c)
7382 __builtin_altivec_stvewx(__a, __b, __c);
7385 static void __ATTRS_o_ai
7386 vec_ste(vector unsigned int __a, int __b, unsigned int *__c)
7388 __builtin_altivec_stvewx((vector int)__a, __b, __c);
7391 static void __ATTRS_o_ai
7392 vec_ste(vector bool int __a, int __b, int *__c)
7394 __builtin_altivec_stvewx((vector int)__a, __b, __c);
7397 static void __ATTRS_o_ai
7398 vec_ste(vector bool int __a, int __b, unsigned int *__c)
7400 __builtin_altivec_stvewx((vector int)__a, __b, __c);
7403 static void __ATTRS_o_ai
7404 vec_ste(vector float __a, int __b, float *__c)
7406 __builtin_altivec_stvewx((vector int)__a, __b, __c);
7411 static void __ATTRS_o_ai
7412 vec_stvebx(vector signed char __a, int __b, signed char *__c)
7414 __builtin_altivec_stvebx((vector char)__a, __b, __c);
7417 static void __ATTRS_o_ai
7418 vec_stvebx(vector unsigned char __a, int __b, unsigned char *__c)
7420 __builtin_altivec_stvebx((vector char)__a, __b, __c);
7423 static void __ATTRS_o_ai
7424 vec_stvebx(vector bool char __a, int __b, signed char *__c)
7426 __builtin_altivec_stvebx((vector char)__a, __b, __c);
7429 static void __ATTRS_o_ai
7430 vec_stvebx(vector bool char __a, int __b, unsigned char *__c)
7432 __builtin_altivec_stvebx((vector char)__a, __b, __c);
7437 static void __ATTRS_o_ai
7438 vec_stvehx(vector short __a, int __b, short *__c)
7440 __builtin_altivec_stvehx(__a, __b, __c);
7443 static void __ATTRS_o_ai
7444 vec_stvehx(vector unsigned short __a, int __b, unsigned short *__c)
7446 __builtin_altivec_stvehx((vector short)__a, __b, __c);
7449 static void __ATTRS_o_ai
7450 vec_stvehx(vector bool short __a, int __b, short *__c)
7452 __builtin_altivec_stvehx((vector short)__a, __b, __c);
7455 static void __ATTRS_o_ai
7456 vec_stvehx(vector bool short __a, int __b, unsigned short *__c)
7458 __builtin_altivec_stvehx((vector short)__a, __b, __c);
7461 static void __ATTRS_o_ai
7462 vec_stvehx(vector pixel __a, int __b, short *__c)
7464 __builtin_altivec_stvehx((vector short)__a, __b, __c);
7467 static void __ATTRS_o_ai
7468 vec_stvehx(vector pixel __a, int __b, unsigned short *__c)
7470 __builtin_altivec_stvehx((vector short)__a, __b, __c);
7475 static void __ATTRS_o_ai
7476 vec_stvewx(vector int __a, int __b, int *__c)
7478 __builtin_altivec_stvewx(__a, __b, __c);
7481 static void __ATTRS_o_ai
7482 vec_stvewx(vector unsigned int __a, int __b, unsigned int *__c)
7484 __builtin_altivec_stvewx((vector int)__a, __b, __c);
7487 static void __ATTRS_o_ai
7488 vec_stvewx(vector bool int __a, int __b, int *__c)
7490 __builtin_altivec_stvewx((vector int)__a, __b, __c);
7493 static void __ATTRS_o_ai
7494 vec_stvewx(vector bool int __a, int __b, unsigned int *__c)
7496 __builtin_altivec_stvewx((vector int)__a, __b, __c);
7499 static void __ATTRS_o_ai
7500 vec_stvewx(vector float __a, int __b, float *__c)
7502 __builtin_altivec_stvewx((vector int)__a, __b, __c);
7507 static void __ATTRS_o_ai
7508 vec_stl(vector signed char __a, int __b, vector signed char *__c)
7510 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7513 static void __ATTRS_o_ai
7514 vec_stl(vector signed char __a, int __b, signed char *__c)
7516 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7519 static void __ATTRS_o_ai
7520 vec_stl(vector unsigned char __a, int __b, vector unsigned char *__c)
7522 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7525 static void __ATTRS_o_ai
7526 vec_stl(vector unsigned char __a, int __b, unsigned char *__c)
7528 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7531 static void __ATTRS_o_ai
7532 vec_stl(vector bool char __a, int __b, signed char *__c)
7534 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7537 static void __ATTRS_o_ai
7538 vec_stl(vector bool char __a, int __b, unsigned char *__c)
7540 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7543 static void __ATTRS_o_ai
7544 vec_stl(vector bool char __a, int __b, vector bool char *__c)
7546 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7549 static void __ATTRS_o_ai
7550 vec_stl(vector short __a, int __b, vector short *__c)
7552 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7555 static void __ATTRS_o_ai
7556 vec_stl(vector short __a, int __b, short *__c)
7558 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7561 static void __ATTRS_o_ai
7562 vec_stl(vector unsigned short __a, int __b, vector unsigned short *__c)
7564 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7567 static void __ATTRS_o_ai
7568 vec_stl(vector unsigned short __a, int __b, unsigned short *__c)
7570 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7573 static void __ATTRS_o_ai
7574 vec_stl(vector bool short __a, int __b, short *__c)
7576 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7579 static void __ATTRS_o_ai
7580 vec_stl(vector bool short __a, int __b, unsigned short *__c)
7582 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7585 static void __ATTRS_o_ai
7586 vec_stl(vector bool short __a, int __b, vector bool short *__c)
7588 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7591 static void __ATTRS_o_ai
7592 vec_stl(vector pixel __a, int __b, short *__c)
7594 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7597 static void __ATTRS_o_ai
7598 vec_stl(vector pixel __a, int __b, unsigned short *__c)
7600 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7603 static void __ATTRS_o_ai
7604 vec_stl(vector pixel __a, int __b, vector pixel *__c)
7606 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7609 static void __ATTRS_o_ai
7610 vec_stl(vector int __a, int __b, vector int *__c)
7612 __builtin_altivec_stvxl(__a, __b, __c);
7615 static void __ATTRS_o_ai
7616 vec_stl(vector int __a, int __b, int *__c)
7618 __builtin_altivec_stvxl(__a, __b, __c);
7621 static void __ATTRS_o_ai
7622 vec_stl(vector unsigned int __a, int __b, vector unsigned int *__c)
7624 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7627 static void __ATTRS_o_ai
7628 vec_stl(vector unsigned int __a, int __b, unsigned int *__c)
7630 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7633 static void __ATTRS_o_ai
7634 vec_stl(vector bool int __a, int __b, int *__c)
7636 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7639 static void __ATTRS_o_ai
7640 vec_stl(vector bool int __a, int __b, unsigned int *__c)
7642 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7645 static void __ATTRS_o_ai
7646 vec_stl(vector bool int __a, int __b, vector bool int *__c)
7648 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7651 static void __ATTRS_o_ai
7652 vec_stl(vector float __a, int __b, vector float *__c)
7654 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7657 static void __ATTRS_o_ai
7658 vec_stl(vector float __a, int __b, float *__c)
7660 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7665 static void __ATTRS_o_ai
7666 vec_stvxl(vector signed char __a, int __b, vector signed char *__c)
7668 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7671 static void __ATTRS_o_ai
7672 vec_stvxl(vector signed char __a, int __b, signed char *__c)
7674 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7677 static void __ATTRS_o_ai
7678 vec_stvxl(vector unsigned char __a, int __b, vector unsigned char *__c)
7680 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7683 static void __ATTRS_o_ai
7684 vec_stvxl(vector unsigned char __a, int __b, unsigned char *__c)
7686 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7689 static void __ATTRS_o_ai
7690 vec_stvxl(vector bool char __a, int __b, signed char *__c)
7692 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7695 static void __ATTRS_o_ai
7696 vec_stvxl(vector bool char __a, int __b, unsigned char *__c)
7698 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7701 static void __ATTRS_o_ai
7702 vec_stvxl(vector bool char __a, int __b, vector bool char *__c)
7704 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7707 static void __ATTRS_o_ai
7708 vec_stvxl(vector short __a, int __b, vector short *__c)
7710 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7713 static void __ATTRS_o_ai
7714 vec_stvxl(vector short __a, int __b, short *__c)
7716 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7719 static void __ATTRS_o_ai
7720 vec_stvxl(vector unsigned short __a, int __b, vector unsigned short *__c)
7722 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7725 static void __ATTRS_o_ai
7726 vec_stvxl(vector unsigned short __a, int __b, unsigned short *__c)
7728 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7731 static void __ATTRS_o_ai
7732 vec_stvxl(vector bool short __a, int __b, short *__c)
7734 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7737 static void __ATTRS_o_ai
7738 vec_stvxl(vector bool short __a, int __b, unsigned short *__c)
7740 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7743 static void __ATTRS_o_ai
7744 vec_stvxl(vector bool short __a, int __b, vector bool short *__c)
7746 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7749 static void __ATTRS_o_ai
7750 vec_stvxl(vector pixel __a, int __b, short *__c)
7752 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7755 static void __ATTRS_o_ai
7756 vec_stvxl(vector pixel __a, int __b, unsigned short *__c)
7758 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7761 static void __ATTRS_o_ai
7762 vec_stvxl(vector pixel __a, int __b, vector pixel *__c)
7764 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7767 static void __ATTRS_o_ai
7768 vec_stvxl(vector int __a, int __b, vector int *__c)
7770 __builtin_altivec_stvxl(__a, __b, __c);
7773 static void __ATTRS_o_ai
7774 vec_stvxl(vector int __a, int __b, int *__c)
7776 __builtin_altivec_stvxl(__a, __b, __c);
7779 static void __ATTRS_o_ai
7780 vec_stvxl(vector unsigned int __a, int __b, vector unsigned int *__c)
7782 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7785 static void __ATTRS_o_ai
7786 vec_stvxl(vector unsigned int __a, int __b, unsigned int *__c)
7788 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7791 static void __ATTRS_o_ai
7792 vec_stvxl(vector bool int __a, int __b, int *__c)
7794 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7797 static void __ATTRS_o_ai
7798 vec_stvxl(vector bool int __a, int __b, unsigned int *__c)
7800 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7803 static void __ATTRS_o_ai
7804 vec_stvxl(vector bool int __a, int __b, vector bool int *__c)
7806 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7809 static void __ATTRS_o_ai
7810 vec_stvxl(vector float __a, int __b, vector float *__c)
7812 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7815 static void __ATTRS_o_ai
7816 vec_stvxl(vector float __a, int __b, float *__c)
7818 __builtin_altivec_stvxl((vector int)__a, __b, __c);
7823 static vector signed char __ATTRS_o_ai
7824 vec_sub(vector signed char __a, vector signed char __b)
7829 static vector signed char __ATTRS_o_ai
7830 vec_sub(vector bool char __a, vector signed char __b)
7832 return (vector signed char)__a - __b;
7835 static vector signed char __ATTRS_o_ai
7836 vec_sub(vector signed char __a, vector bool char __b)
7838 return __a - (vector signed char)__b;
7841 static vector unsigned char __ATTRS_o_ai
7842 vec_sub(vector unsigned char __a, vector unsigned char __b)
7847 static vector unsigned char __ATTRS_o_ai
7848 vec_sub(vector bool char __a, vector unsigned char __b)
7850 return (vector unsigned char)__a - __b;
7853 static vector unsigned char __ATTRS_o_ai
7854 vec_sub(vector unsigned char __a, vector bool char __b)
7856 return __a - (vector unsigned char)__b;
7859 static vector short __ATTRS_o_ai
7860 vec_sub(vector short __a, vector short __b)
7865 static vector short __ATTRS_o_ai
7866 vec_sub(vector bool short __a, vector short __b)
7868 return (vector short)__a - __b;
7871 static vector short __ATTRS_o_ai
7872 vec_sub(vector short __a, vector bool short __b)
7874 return __a - (vector short)__b;
7877 static vector unsigned short __ATTRS_o_ai
7878 vec_sub(vector unsigned short __a, vector unsigned short __b)
7883 static vector unsigned short __ATTRS_o_ai
7884 vec_sub(vector bool short __a, vector unsigned short __b)
7886 return (vector unsigned short)__a - __b;
7889 static vector unsigned short __ATTRS_o_ai
7890 vec_sub(vector unsigned short __a, vector bool short __b)
7892 return __a - (vector unsigned short)__b;
7895 static vector int __ATTRS_o_ai
7896 vec_sub(vector int __a, vector int __b)
7901 static vector int __ATTRS_o_ai
7902 vec_sub(vector bool int __a, vector int __b)
7904 return (vector int)__a - __b;
7907 static vector int __ATTRS_o_ai
7908 vec_sub(vector int __a, vector bool int __b)
7910 return __a - (vector int)__b;
7913 static vector unsigned int __ATTRS_o_ai
7914 vec_sub(vector unsigned int __a, vector unsigned int __b)
7919 static vector unsigned int __ATTRS_o_ai
7920 vec_sub(vector bool int __a, vector unsigned int __b)
7922 return (vector unsigned int)__a - __b;
7925 static vector unsigned int __ATTRS_o_ai
7926 vec_sub(vector unsigned int __a, vector bool int __b)
7928 return __a - (vector unsigned int)__b;
7931 static vector float __ATTRS_o_ai
7932 vec_sub(vector float __a, vector float __b)
7939 #define __builtin_altivec_vsububm vec_vsububm
7941 static vector signed char __ATTRS_o_ai
7942 vec_vsububm(vector signed char __a, vector signed char __b)
7947 static vector signed char __ATTRS_o_ai
7948 vec_vsububm(vector bool char __a, vector signed char __b)
7950 return (vector signed char)__a - __b;
7953 static vector signed char __ATTRS_o_ai
7954 vec_vsububm(vector signed char __a, vector bool char __b)
7956 return __a - (vector signed char)__b;
7959 static vector unsigned char __ATTRS_o_ai
7960 vec_vsububm(vector unsigned char __a, vector unsigned char __b)
7965 static vector unsigned char __ATTRS_o_ai
7966 vec_vsububm(vector bool char __a, vector unsigned char __b)
7968 return (vector unsigned char)__a - __b;
7971 static vector unsigned char __ATTRS_o_ai
7972 vec_vsububm(vector unsigned char __a, vector bool char __b)
7974 return __a - (vector unsigned char)__b;
7979 #define __builtin_altivec_vsubuhm vec_vsubuhm
7981 static vector short __ATTRS_o_ai
7982 vec_vsubuhm(vector short __a, vector short __b)
7987 static vector short __ATTRS_o_ai
7988 vec_vsubuhm(vector bool short __a, vector short __b)
7990 return (vector short)__a - __b;
7993 static vector short __ATTRS_o_ai
7994 vec_vsubuhm(vector short __a, vector bool short __b)
7996 return __a - (vector short)__b;
7999 static vector unsigned short __ATTRS_o_ai
8000 vec_vsubuhm(vector unsigned short __a, vector unsigned short __b)
8005 static vector unsigned short __ATTRS_o_ai
8006 vec_vsubuhm(vector bool short __a, vector unsigned short __b)
8008 return (vector unsigned short)__a - __b;
8011 static vector unsigned short __ATTRS_o_ai
8012 vec_vsubuhm(vector unsigned short __a, vector bool short __b)
8014 return __a - (vector unsigned short)__b;
8019 #define __builtin_altivec_vsubuwm vec_vsubuwm
8021 static vector int __ATTRS_o_ai
8022 vec_vsubuwm(vector int __a, vector int __b)
8027 static vector int __ATTRS_o_ai
8028 vec_vsubuwm(vector bool int __a, vector int __b)
8030 return (vector int)__a - __b;
8033 static vector int __ATTRS_o_ai
8034 vec_vsubuwm(vector int __a, vector bool int __b)
8036 return __a - (vector int)__b;
8039 static vector unsigned int __ATTRS_o_ai
8040 vec_vsubuwm(vector unsigned int __a, vector unsigned int __b)
8045 static vector unsigned int __ATTRS_o_ai
8046 vec_vsubuwm(vector bool int __a, vector unsigned int __b)
8048 return (vector unsigned int)__a - __b;
8051 static vector unsigned int __ATTRS_o_ai
8052 vec_vsubuwm(vector unsigned int __a, vector bool int __b)
8054 return __a - (vector unsigned int)__b;
8059 #define __builtin_altivec_vsubfp vec_vsubfp
8061 static vector float __attribute__((__always_inline__))
8062 vec_vsubfp(vector float __a, vector float __b)
8069 static vector unsigned int __attribute__((__always_inline__))
8070 vec_subc(vector unsigned int __a, vector unsigned int __b)
8072 return __builtin_altivec_vsubcuw(__a, __b);
8077 static vector unsigned int __attribute__((__always_inline__))
8078 vec_vsubcuw(vector unsigned int __a, vector unsigned int __b)
8080 return __builtin_altivec_vsubcuw(__a, __b);
8085 static vector signed char __ATTRS_o_ai
8086 vec_subs(vector signed char __a, vector signed char __b)
8088 return __builtin_altivec_vsubsbs(__a, __b);
8091 static vector signed char __ATTRS_o_ai
8092 vec_subs(vector bool char __a, vector signed char __b)
8094 return __builtin_altivec_vsubsbs((vector signed char)__a, __b);
8097 static vector signed char __ATTRS_o_ai
8098 vec_subs(vector signed char __a, vector bool char __b)
8100 return __builtin_altivec_vsubsbs(__a, (vector signed char)__b);
8103 static vector unsigned char __ATTRS_o_ai
8104 vec_subs(vector unsigned char __a, vector unsigned char __b)
8106 return __builtin_altivec_vsububs(__a, __b);
8109 static vector unsigned char __ATTRS_o_ai
8110 vec_subs(vector bool char __a, vector unsigned char __b)
8112 return __builtin_altivec_vsububs((vector unsigned char)__a, __b);
8115 static vector unsigned char __ATTRS_o_ai
8116 vec_subs(vector unsigned char __a, vector bool char __b)
8118 return __builtin_altivec_vsububs(__a, (vector unsigned char)__b);
8121 static vector short __ATTRS_o_ai
8122 vec_subs(vector short __a, vector short __b)
8124 return __builtin_altivec_vsubshs(__a, __b);
8127 static vector short __ATTRS_o_ai
8128 vec_subs(vector bool short __a, vector short __b)
8130 return __builtin_altivec_vsubshs((vector short)__a, __b);
8133 static vector short __ATTRS_o_ai
8134 vec_subs(vector short __a, vector bool short __b)
8136 return __builtin_altivec_vsubshs(__a, (vector short)__b);
8139 static vector unsigned short __ATTRS_o_ai
8140 vec_subs(vector unsigned short __a, vector unsigned short __b)
8142 return __builtin_altivec_vsubuhs(__a, __b);
8145 static vector unsigned short __ATTRS_o_ai
8146 vec_subs(vector bool short __a, vector unsigned short __b)
8148 return __builtin_altivec_vsubuhs((vector unsigned short)__a, __b);
8151 static vector unsigned short __ATTRS_o_ai
8152 vec_subs(vector unsigned short __a, vector bool short __b)
8154 return __builtin_altivec_vsubuhs(__a, (vector unsigned short)__b);
8157 static vector int __ATTRS_o_ai
8158 vec_subs(vector int __a, vector int __b)
8160 return __builtin_altivec_vsubsws(__a, __b);
8163 static vector int __ATTRS_o_ai
8164 vec_subs(vector bool int __a, vector int __b)
8166 return __builtin_altivec_vsubsws((vector int)__a, __b);
8169 static vector int __ATTRS_o_ai
8170 vec_subs(vector int __a, vector bool int __b)
8172 return __builtin_altivec_vsubsws(__a, (vector int)__b);
8175 static vector unsigned int __ATTRS_o_ai
8176 vec_subs(vector unsigned int __a, vector unsigned int __b)
8178 return __builtin_altivec_vsubuws(__a, __b);
8181 static vector unsigned int __ATTRS_o_ai
8182 vec_subs(vector bool int __a, vector unsigned int __b)
8184 return __builtin_altivec_vsubuws((vector unsigned int)__a, __b);
8187 static vector unsigned int __ATTRS_o_ai
8188 vec_subs(vector unsigned int __a, vector bool int __b)
8190 return __builtin_altivec_vsubuws(__a, (vector unsigned int)__b);
8195 static vector signed char __ATTRS_o_ai
8196 vec_vsubsbs(vector signed char __a, vector signed char __b)
8198 return __builtin_altivec_vsubsbs(__a, __b);
8201 static vector signed char __ATTRS_o_ai
8202 vec_vsubsbs(vector bool char __a, vector signed char __b)
8204 return __builtin_altivec_vsubsbs((vector signed char)__a, __b);
8207 static vector signed char __ATTRS_o_ai
8208 vec_vsubsbs(vector signed char __a, vector bool char __b)
8210 return __builtin_altivec_vsubsbs(__a, (vector signed char)__b);
8215 static vector unsigned char __ATTRS_o_ai
8216 vec_vsububs(vector unsigned char __a, vector unsigned char __b)
8218 return __builtin_altivec_vsububs(__a, __b);
8221 static vector unsigned char __ATTRS_o_ai
8222 vec_vsububs(vector bool char __a, vector unsigned char __b)
8224 return __builtin_altivec_vsububs((vector unsigned char)__a, __b);
8227 static vector unsigned char __ATTRS_o_ai
8228 vec_vsububs(vector unsigned char __a, vector bool char __b)
8230 return __builtin_altivec_vsububs(__a, (vector unsigned char)__b);
8235 static vector short __ATTRS_o_ai
8236 vec_vsubshs(vector short __a, vector short __b)
8238 return __builtin_altivec_vsubshs(__a, __b);
8241 static vector short __ATTRS_o_ai
8242 vec_vsubshs(vector bool short __a, vector short __b)
8244 return __builtin_altivec_vsubshs((vector short)__a, __b);
8247 static vector short __ATTRS_o_ai
8248 vec_vsubshs(vector short __a, vector bool short __b)
8250 return __builtin_altivec_vsubshs(__a, (vector short)__b);
8255 static vector unsigned short __ATTRS_o_ai
8256 vec_vsubuhs(vector unsigned short __a, vector unsigned short __b)
8258 return __builtin_altivec_vsubuhs(__a, __b);
8261 static vector unsigned short __ATTRS_o_ai
8262 vec_vsubuhs(vector bool short __a, vector unsigned short __b)
8264 return __builtin_altivec_vsubuhs((vector unsigned short)__a, __b);
8267 static vector unsigned short __ATTRS_o_ai
8268 vec_vsubuhs(vector unsigned short __a, vector bool short __b)
8270 return __builtin_altivec_vsubuhs(__a, (vector unsigned short)__b);
8275 static vector int __ATTRS_o_ai
8276 vec_vsubsws(vector int __a, vector int __b)
8278 return __builtin_altivec_vsubsws(__a, __b);
8281 static vector int __ATTRS_o_ai
8282 vec_vsubsws(vector bool int __a, vector int __b)
8284 return __builtin_altivec_vsubsws((vector int)__a, __b);
8287 static vector int __ATTRS_o_ai
8288 vec_vsubsws(vector int __a, vector bool int __b)
8290 return __builtin_altivec_vsubsws(__a, (vector int)__b);
8295 static vector unsigned int __ATTRS_o_ai
8296 vec_vsubuws(vector unsigned int __a, vector unsigned int __b)
8298 return __builtin_altivec_vsubuws(__a, __b);
8301 static vector unsigned int __ATTRS_o_ai
8302 vec_vsubuws(vector bool int __a, vector unsigned int __b)
8304 return __builtin_altivec_vsubuws((vector unsigned int)__a, __b);
8307 static vector unsigned int __ATTRS_o_ai
8308 vec_vsubuws(vector unsigned int __a, vector bool int __b)
8310 return __builtin_altivec_vsubuws(__a, (vector unsigned int)__b);
8315 static vector int __ATTRS_o_ai
8316 vec_sum4s(vector signed char __a, vector int __b)
8318 return __builtin_altivec_vsum4sbs(__a, __b);
8321 static vector unsigned int __ATTRS_o_ai
8322 vec_sum4s(vector unsigned char __a, vector unsigned int __b)
8324 return __builtin_altivec_vsum4ubs(__a, __b);
8327 static vector int __ATTRS_o_ai
8328 vec_sum4s(vector signed short __a, vector int __b)
8330 return __builtin_altivec_vsum4shs(__a, __b);
8335 static vector int __attribute__((__always_inline__))
8336 vec_vsum4sbs(vector signed char __a, vector int __b)
8338 return __builtin_altivec_vsum4sbs(__a, __b);
8343 static vector unsigned int __attribute__((__always_inline__))
8344 vec_vsum4ubs(vector unsigned char __a, vector unsigned int __b)
8346 return __builtin_altivec_vsum4ubs(__a, __b);
8351 static vector int __attribute__((__always_inline__))
8352 vec_vsum4shs(vector signed short __a, vector int __b)
8354 return __builtin_altivec_vsum4shs(__a, __b);
8359 /* The vsum2sws instruction has a big-endian bias, so that the second
8360 input vector and the result always reference big-endian elements
8361 1 and 3 (little-endian element 0 and 2). For ease of porting the
8362 programmer wants elements 1 and 3 in both cases, so for little
8363 endian we must perform some permutes. */
8365 static vector signed int __attribute__((__always_inline__))
8366 vec_sum2s(vector int __a, vector int __b)
8368 #ifdef __LITTLE_ENDIAN__
8369 vector int __c = (vector signed int)
8370 vec_perm(__b, __b, (vector unsigned char)
8371 (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
8372 __c = __builtin_altivec_vsum2sws(__a, __c);
8373 return (vector signed int)
8374 vec_perm(__c, __c, (vector unsigned char)
8375 (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
8377 return __builtin_altivec_vsum2sws(__a, __b);
8383 static vector signed int __attribute__((__always_inline__))
8384 vec_vsum2sws(vector int __a, vector int __b)
8386 #ifdef __LITTLE_ENDIAN__
8387 vector int __c = (vector signed int)
8388 vec_perm(__b, __b, (vector unsigned char)
8389 (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
8390 __c = __builtin_altivec_vsum2sws(__a, __c);
8391 return (vector signed int)
8392 vec_perm(__c, __c, (vector unsigned char)
8393 (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
8395 return __builtin_altivec_vsum2sws(__a, __b);
8401 /* The vsumsws instruction has a big-endian bias, so that the second
8402 input vector and the result always reference big-endian element 3
8403 (little-endian element 0). For ease of porting the programmer
8404 wants element 3 in both cases, so for little endian we must perform
8407 static vector signed int __attribute__((__always_inline__))
8408 vec_sums(vector signed int __a, vector signed int __b)
8410 #ifdef __LITTLE_ENDIAN__
8411 __b = (vector signed int)vec_splat(__b, 3);
8412 __b = __builtin_altivec_vsumsws(__a, __b);
8413 return (vector signed int)(0, 0, 0, __b[0]);
8415 return __builtin_altivec_vsumsws(__a, __b);
8421 static vector signed int __attribute__((__always_inline__))
8422 vec_vsumsws(vector signed int __a, vector signed int __b)
8424 #ifdef __LITTLE_ENDIAN__
8425 __b = (vector signed int)vec_splat(__b, 3);
8426 __b = __builtin_altivec_vsumsws(__a, __b);
8427 return (vector signed int)(0, 0, 0, __b[0]);
8429 return __builtin_altivec_vsumsws(__a, __b);
8435 static vector float __attribute__((__always_inline__))
8436 vec_trunc(vector float __a)
8438 return __builtin_altivec_vrfiz(__a);
8443 static vector float __attribute__((__always_inline__))
8444 vec_vrfiz(vector float __a)
8446 return __builtin_altivec_vrfiz(__a);
8451 /* The vector unpack instructions all have a big-endian bias, so for
8452 little endian we must reverse the meanings of "high" and "low." */
8454 static vector short __ATTRS_o_ai
8455 vec_unpackh(vector signed char __a)
8457 #ifdef __LITTLE_ENDIAN__
8458 return __builtin_altivec_vupklsb((vector char)__a);
8460 return __builtin_altivec_vupkhsb((vector char)__a);
8464 static vector bool short __ATTRS_o_ai
8465 vec_unpackh(vector bool char __a)
8467 #ifdef __LITTLE_ENDIAN__
8468 return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
8470 return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
8474 static vector int __ATTRS_o_ai
8475 vec_unpackh(vector short __a)
8477 #ifdef __LITTLE_ENDIAN__
8478 return __builtin_altivec_vupklsh(__a);
8480 return __builtin_altivec_vupkhsh(__a);
8484 static vector bool int __ATTRS_o_ai
8485 vec_unpackh(vector bool short __a)
8487 #ifdef __LITTLE_ENDIAN__
8488 return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
8490 return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
8494 static vector unsigned int __ATTRS_o_ai
8495 vec_unpackh(vector pixel __a)
8497 #ifdef __LITTLE_ENDIAN__
8498 return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
8500 return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
8506 static vector short __ATTRS_o_ai
8507 vec_vupkhsb(vector signed char __a)
8509 #ifdef __LITTLE_ENDIAN__
8510 return __builtin_altivec_vupklsb((vector char)__a);
8512 return __builtin_altivec_vupkhsb((vector char)__a);
8516 static vector bool short __ATTRS_o_ai
8517 vec_vupkhsb(vector bool char __a)
8519 #ifdef __LITTLE_ENDIAN__
8520 return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
8522 return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
8528 static vector int __ATTRS_o_ai
8529 vec_vupkhsh(vector short __a)
8531 #ifdef __LITTLE_ENDIAN__
8532 return __builtin_altivec_vupklsh(__a);
8534 return __builtin_altivec_vupkhsh(__a);
8538 static vector bool int __ATTRS_o_ai
8539 vec_vupkhsh(vector bool short __a)
8541 #ifdef __LITTLE_ENDIAN__
8542 return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
8544 return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
8548 static vector unsigned int __ATTRS_o_ai
8549 vec_vupkhsh(vector pixel __a)
8551 #ifdef __LITTLE_ENDIAN__
8552 return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
8554 return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
8560 static vector short __ATTRS_o_ai
8561 vec_unpackl(vector signed char __a)
8563 #ifdef __LITTLE_ENDIAN__
8564 return __builtin_altivec_vupkhsb((vector char)__a);
8566 return __builtin_altivec_vupklsb((vector char)__a);
8570 static vector bool short __ATTRS_o_ai
8571 vec_unpackl(vector bool char __a)
8573 #ifdef __LITTLE_ENDIAN__
8574 return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
8576 return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
8580 static vector int __ATTRS_o_ai
8581 vec_unpackl(vector short __a)
8583 #ifdef __LITTLE_ENDIAN__
8584 return __builtin_altivec_vupkhsh(__a);
8586 return __builtin_altivec_vupklsh(__a);
8590 static vector bool int __ATTRS_o_ai
8591 vec_unpackl(vector bool short __a)
8593 #ifdef __LITTLE_ENDIAN__
8594 return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
8596 return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
8600 static vector unsigned int __ATTRS_o_ai
8601 vec_unpackl(vector pixel __a)
8603 #ifdef __LITTLE_ENDIAN__
8604 return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
8606 return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
8612 static vector short __ATTRS_o_ai
8613 vec_vupklsb(vector signed char __a)
8615 #ifdef __LITTLE_ENDIAN__
8616 return __builtin_altivec_vupkhsb((vector char)__a);
8618 return __builtin_altivec_vupklsb((vector char)__a);
8622 static vector bool short __ATTRS_o_ai
8623 vec_vupklsb(vector bool char __a)
8625 #ifdef __LITTLE_ENDIAN__
8626 return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
8628 return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
8634 static vector int __ATTRS_o_ai
8635 vec_vupklsh(vector short __a)
8637 #ifdef __LITTLE_ENDIAN__
8638 return __builtin_altivec_vupkhsh(__a);
8640 return __builtin_altivec_vupklsh(__a);
8644 static vector bool int __ATTRS_o_ai
8645 vec_vupklsh(vector bool short __a)
8647 #ifdef __LITTLE_ENDIAN__
8648 return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
8650 return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
8654 static vector unsigned int __ATTRS_o_ai
8655 vec_vupklsh(vector pixel __a)
8657 #ifdef __LITTLE_ENDIAN__
8658 return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
8660 return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
8666 #define __builtin_altivec_vxor vec_xor
8668 static vector signed char __ATTRS_o_ai
8669 vec_xor(vector signed char __a, vector signed char __b)
8674 static vector signed char __ATTRS_o_ai
8675 vec_xor(vector bool char __a, vector signed char __b)
8677 return (vector signed char)__a ^ __b;
8680 static vector signed char __ATTRS_o_ai
8681 vec_xor(vector signed char __a, vector bool char __b)
8683 return __a ^ (vector signed char)__b;
8686 static vector unsigned char __ATTRS_o_ai
8687 vec_xor(vector unsigned char __a, vector unsigned char __b)
8692 static vector unsigned char __ATTRS_o_ai
8693 vec_xor(vector bool char __a, vector unsigned char __b)
8695 return (vector unsigned char)__a ^ __b;
8698 static vector unsigned char __ATTRS_o_ai
8699 vec_xor(vector unsigned char __a, vector bool char __b)
8701 return __a ^ (vector unsigned char)__b;
8704 static vector bool char __ATTRS_o_ai
8705 vec_xor(vector bool char __a, vector bool char __b)
8710 static vector short __ATTRS_o_ai
8711 vec_xor(vector short __a, vector short __b)
8716 static vector short __ATTRS_o_ai
8717 vec_xor(vector bool short __a, vector short __b)
8719 return (vector short)__a ^ __b;
8722 static vector short __ATTRS_o_ai
8723 vec_xor(vector short __a, vector bool short __b)
8725 return __a ^ (vector short)__b;
8728 static vector unsigned short __ATTRS_o_ai
8729 vec_xor(vector unsigned short __a, vector unsigned short __b)
8734 static vector unsigned short __ATTRS_o_ai
8735 vec_xor(vector bool short __a, vector unsigned short __b)
8737 return (vector unsigned short)__a ^ __b;
8740 static vector unsigned short __ATTRS_o_ai
8741 vec_xor(vector unsigned short __a, vector bool short __b)
8743 return __a ^ (vector unsigned short)__b;
8746 static vector bool short __ATTRS_o_ai
8747 vec_xor(vector bool short __a, vector bool short __b)
8752 static vector int __ATTRS_o_ai
8753 vec_xor(vector int __a, vector int __b)
8758 static vector int __ATTRS_o_ai
8759 vec_xor(vector bool int __a, vector int __b)
8761 return (vector int)__a ^ __b;
8764 static vector int __ATTRS_o_ai
8765 vec_xor(vector int __a, vector bool int __b)
8767 return __a ^ (vector int)__b;
8770 static vector unsigned int __ATTRS_o_ai
8771 vec_xor(vector unsigned int __a, vector unsigned int __b)
8776 static vector unsigned int __ATTRS_o_ai
8777 vec_xor(vector bool int __a, vector unsigned int __b)
8779 return (vector unsigned int)__a ^ __b;
8782 static vector unsigned int __ATTRS_o_ai
8783 vec_xor(vector unsigned int __a, vector bool int __b)
8785 return __a ^ (vector unsigned int)__b;
8788 static vector bool int __ATTRS_o_ai
8789 vec_xor(vector bool int __a, vector bool int __b)
8794 static vector float __ATTRS_o_ai
8795 vec_xor(vector float __a, vector float __b)
8797 vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
8798 return (vector float)__res;
8801 static vector float __ATTRS_o_ai
8802 vec_xor(vector bool int __a, vector float __b)
8804 vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
8805 return (vector float)__res;
8808 static vector float __ATTRS_o_ai
8809 vec_xor(vector float __a, vector bool int __b)
8811 vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
8812 return (vector float)__res;
8817 static vector signed char __ATTRS_o_ai
8818 vec_vxor(vector signed char __a, vector signed char __b)
8823 static vector signed char __ATTRS_o_ai
8824 vec_vxor(vector bool char __a, vector signed char __b)
8826 return (vector signed char)__a ^ __b;
8829 static vector signed char __ATTRS_o_ai
8830 vec_vxor(vector signed char __a, vector bool char __b)
8832 return __a ^ (vector signed char)__b;
8835 static vector unsigned char __ATTRS_o_ai
8836 vec_vxor(vector unsigned char __a, vector unsigned char __b)
8841 static vector unsigned char __ATTRS_o_ai
8842 vec_vxor(vector bool char __a, vector unsigned char __b)
8844 return (vector unsigned char)__a ^ __b;
8847 static vector unsigned char __ATTRS_o_ai
8848 vec_vxor(vector unsigned char __a, vector bool char __b)
8850 return __a ^ (vector unsigned char)__b;
8853 static vector bool char __ATTRS_o_ai
8854 vec_vxor(vector bool char __a, vector bool char __b)
8859 static vector short __ATTRS_o_ai
8860 vec_vxor(vector short __a, vector short __b)
8865 static vector short __ATTRS_o_ai
8866 vec_vxor(vector bool short __a, vector short __b)
8868 return (vector short)__a ^ __b;
8871 static vector short __ATTRS_o_ai
8872 vec_vxor(vector short __a, vector bool short __b)
8874 return __a ^ (vector short)__b;
8877 static vector unsigned short __ATTRS_o_ai
8878 vec_vxor(vector unsigned short __a, vector unsigned short __b)
8883 static vector unsigned short __ATTRS_o_ai
8884 vec_vxor(vector bool short __a, vector unsigned short __b)
8886 return (vector unsigned short)__a ^ __b;
8889 static vector unsigned short __ATTRS_o_ai
8890 vec_vxor(vector unsigned short __a, vector bool short __b)
8892 return __a ^ (vector unsigned short)__b;
8895 static vector bool short __ATTRS_o_ai
8896 vec_vxor(vector bool short __a, vector bool short __b)
8901 static vector int __ATTRS_o_ai
8902 vec_vxor(vector int __a, vector int __b)
8907 static vector int __ATTRS_o_ai
8908 vec_vxor(vector bool int __a, vector int __b)
8910 return (vector int)__a ^ __b;
8913 static vector int __ATTRS_o_ai
8914 vec_vxor(vector int __a, vector bool int __b)
8916 return __a ^ (vector int)__b;
8919 static vector unsigned int __ATTRS_o_ai
8920 vec_vxor(vector unsigned int __a, vector unsigned int __b)
8925 static vector unsigned int __ATTRS_o_ai
8926 vec_vxor(vector bool int __a, vector unsigned int __b)
8928 return (vector unsigned int)__a ^ __b;
8931 static vector unsigned int __ATTRS_o_ai
8932 vec_vxor(vector unsigned int __a, vector bool int __b)
8934 return __a ^ (vector unsigned int)__b;
8937 static vector bool int __ATTRS_o_ai
8938 vec_vxor(vector bool int __a, vector bool int __b)
8943 static vector float __ATTRS_o_ai
8944 vec_vxor(vector float __a, vector float __b)
8946 vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
8947 return (vector float)__res;
8950 static vector float __ATTRS_o_ai
8951 vec_vxor(vector bool int __a, vector float __b)
8953 vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
8954 return (vector float)__res;
8957 static vector float __ATTRS_o_ai
8958 vec_vxor(vector float __a, vector bool int __b)
8960 vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
8961 return (vector float)__res;
8964 /* ------------------------ extensions for CBEA ----------------------------- */
8968 static signed char __ATTRS_o_ai
8969 vec_extract(vector signed char __a, int __b)
8974 static unsigned char __ATTRS_o_ai
8975 vec_extract(vector unsigned char __a, int __b)
8980 static short __ATTRS_o_ai
8981 vec_extract(vector short __a, int __b)
8986 static unsigned short __ATTRS_o_ai
8987 vec_extract(vector unsigned short __a, int __b)
8992 static int __ATTRS_o_ai
8993 vec_extract(vector int __a, int __b)
8998 static unsigned int __ATTRS_o_ai
8999 vec_extract(vector unsigned int __a, int __b)
9004 static float __ATTRS_o_ai
9005 vec_extract(vector float __a, int __b)
9012 static vector signed char __ATTRS_o_ai
9013 vec_insert(signed char __a, vector signed char __b, int __c)
9019 static vector unsigned char __ATTRS_o_ai
9020 vec_insert(unsigned char __a, vector unsigned char __b, int __c)
9026 static vector short __ATTRS_o_ai
9027 vec_insert(short __a, vector short __b, int __c)
9033 static vector unsigned short __ATTRS_o_ai
9034 vec_insert(unsigned short __a, vector unsigned short __b, int __c)
9040 static vector int __ATTRS_o_ai
9041 vec_insert(int __a, vector int __b, int __c)
9047 static vector unsigned int __ATTRS_o_ai
9048 vec_insert(unsigned int __a, vector unsigned int __b, int __c)
9054 static vector float __ATTRS_o_ai
9055 vec_insert(float __a, vector float __b, int __c)
9063 static vector signed char __ATTRS_o_ai
9064 vec_lvlx(int __a, const signed char *__b)
9066 return vec_perm(vec_ld(__a, __b),
9067 (vector signed char)(0),
9068 vec_lvsl(__a, __b));
9071 static vector signed char __ATTRS_o_ai
9072 vec_lvlx(int __a, const vector signed char *__b)
9074 return vec_perm(vec_ld(__a, __b),
9075 (vector signed char)(0),
9076 vec_lvsl(__a, (unsigned char *)__b));
9079 static vector unsigned char __ATTRS_o_ai
9080 vec_lvlx(int __a, const unsigned char *__b)
9082 return vec_perm(vec_ld(__a, __b),
9083 (vector unsigned char)(0),
9084 vec_lvsl(__a, __b));
9087 static vector unsigned char __ATTRS_o_ai
9088 vec_lvlx(int __a, const vector unsigned char *__b)
9090 return vec_perm(vec_ld(__a, __b),
9091 (vector unsigned char)(0),
9092 vec_lvsl(__a, (unsigned char *)__b));
9095 static vector bool char __ATTRS_o_ai
9096 vec_lvlx(int __a, const vector bool char *__b)
9098 return vec_perm(vec_ld(__a, __b),
9099 (vector bool char)(0),
9100 vec_lvsl(__a, (unsigned char *)__b));
9103 static vector short __ATTRS_o_ai
9104 vec_lvlx(int __a, const short *__b)
9106 return vec_perm(vec_ld(__a, __b),
9108 vec_lvsl(__a, __b));
9111 static vector short __ATTRS_o_ai
9112 vec_lvlx(int __a, const vector short *__b)
9114 return vec_perm(vec_ld(__a, __b),
9116 vec_lvsl(__a, (unsigned char *)__b));
9119 static vector unsigned short __ATTRS_o_ai
9120 vec_lvlx(int __a, const unsigned short *__b)
9122 return vec_perm(vec_ld(__a, __b),
9123 (vector unsigned short)(0),
9124 vec_lvsl(__a, __b));
9127 static vector unsigned short __ATTRS_o_ai
9128 vec_lvlx(int __a, const vector unsigned short *__b)
9130 return vec_perm(vec_ld(__a, __b),
9131 (vector unsigned short)(0),
9132 vec_lvsl(__a, (unsigned char *)__b));
9135 static vector bool short __ATTRS_o_ai
9136 vec_lvlx(int __a, const vector bool short *__b)
9138 return vec_perm(vec_ld(__a, __b),
9139 (vector bool short)(0),
9140 vec_lvsl(__a, (unsigned char *)__b));
9143 static vector pixel __ATTRS_o_ai
9144 vec_lvlx(int __a, const vector pixel *__b)
9146 return vec_perm(vec_ld(__a, __b),
9148 vec_lvsl(__a, (unsigned char *)__b));
9151 static vector int __ATTRS_o_ai
9152 vec_lvlx(int __a, const int *__b)
9154 return vec_perm(vec_ld(__a, __b),
9156 vec_lvsl(__a, __b));
9159 static vector int __ATTRS_o_ai
9160 vec_lvlx(int __a, const vector int *__b)
9162 return vec_perm(vec_ld(__a, __b),
9164 vec_lvsl(__a, (unsigned char *)__b));
9167 static vector unsigned int __ATTRS_o_ai
9168 vec_lvlx(int __a, const unsigned int *__b)
9170 return vec_perm(vec_ld(__a, __b),
9171 (vector unsigned int)(0),
9172 vec_lvsl(__a, __b));
9175 static vector unsigned int __ATTRS_o_ai
9176 vec_lvlx(int __a, const vector unsigned int *__b)
9178 return vec_perm(vec_ld(__a, __b),
9179 (vector unsigned int)(0),
9180 vec_lvsl(__a, (unsigned char *)__b));
9183 static vector bool int __ATTRS_o_ai
9184 vec_lvlx(int __a, const vector bool int *__b)
9186 return vec_perm(vec_ld(__a, __b),
9187 (vector bool int)(0),
9188 vec_lvsl(__a, (unsigned char *)__b));
9191 static vector float __ATTRS_o_ai
9192 vec_lvlx(int __a, const float *__b)
9194 return vec_perm(vec_ld(__a, __b),
9196 vec_lvsl(__a, __b));
9199 static vector float __ATTRS_o_ai
9200 vec_lvlx(int __a, const vector float *__b)
9202 return vec_perm(vec_ld(__a, __b),
9204 vec_lvsl(__a, (unsigned char *)__b));
9209 static vector signed char __ATTRS_o_ai
9210 vec_lvlxl(int __a, const signed char *__b)
9212 return vec_perm(vec_ldl(__a, __b),
9213 (vector signed char)(0),
9214 vec_lvsl(__a, __b));
9217 static vector signed char __ATTRS_o_ai
9218 vec_lvlxl(int __a, const vector signed char *__b)
9220 return vec_perm(vec_ldl(__a, __b),
9221 (vector signed char)(0),
9222 vec_lvsl(__a, (unsigned char *)__b));
9225 static vector unsigned char __ATTRS_o_ai
9226 vec_lvlxl(int __a, const unsigned char *__b)
9228 return vec_perm(vec_ldl(__a, __b),
9229 (vector unsigned char)(0),
9230 vec_lvsl(__a, __b));
9233 static vector unsigned char __ATTRS_o_ai
9234 vec_lvlxl(int __a, const vector unsigned char *__b)
9236 return vec_perm(vec_ldl(__a, __b),
9237 (vector unsigned char)(0),
9238 vec_lvsl(__a, (unsigned char *)__b));
9241 static vector bool char __ATTRS_o_ai
9242 vec_lvlxl(int __a, const vector bool char *__b)
9244 return vec_perm(vec_ldl(__a, __b),
9245 (vector bool char)(0),
9246 vec_lvsl(__a, (unsigned char *)__b));
9249 static vector short __ATTRS_o_ai
9250 vec_lvlxl(int __a, const short *__b)
9252 return vec_perm(vec_ldl(__a, __b),
9254 vec_lvsl(__a, __b));
9257 static vector short __ATTRS_o_ai
9258 vec_lvlxl(int __a, const vector short *__b)
9260 return vec_perm(vec_ldl(__a, __b),
9262 vec_lvsl(__a, (unsigned char *)__b));
9265 static vector unsigned short __ATTRS_o_ai
9266 vec_lvlxl(int __a, const unsigned short *__b)
9268 return vec_perm(vec_ldl(__a, __b),
9269 (vector unsigned short)(0),
9270 vec_lvsl(__a, __b));
9273 static vector unsigned short __ATTRS_o_ai
9274 vec_lvlxl(int __a, const vector unsigned short *__b)
9276 return vec_perm(vec_ldl(__a, __b),
9277 (vector unsigned short)(0),
9278 vec_lvsl(__a, (unsigned char *)__b));
9281 static vector bool short __ATTRS_o_ai
9282 vec_lvlxl(int __a, const vector bool short *__b)
9284 return vec_perm(vec_ldl(__a, __b),
9285 (vector bool short)(0),
9286 vec_lvsl(__a, (unsigned char *)__b));
9289 static vector pixel __ATTRS_o_ai
9290 vec_lvlxl(int __a, const vector pixel *__b)
9292 return vec_perm(vec_ldl(__a, __b),
9294 vec_lvsl(__a, (unsigned char *)__b));
9297 static vector int __ATTRS_o_ai
9298 vec_lvlxl(int __a, const int *__b)
9300 return vec_perm(vec_ldl(__a, __b),
9302 vec_lvsl(__a, __b));
9305 static vector int __ATTRS_o_ai
9306 vec_lvlxl(int __a, const vector int *__b)
9308 return vec_perm(vec_ldl(__a, __b),
9310 vec_lvsl(__a, (unsigned char *)__b));
9313 static vector unsigned int __ATTRS_o_ai
9314 vec_lvlxl(int __a, const unsigned int *__b)
9316 return vec_perm(vec_ldl(__a, __b),
9317 (vector unsigned int)(0),
9318 vec_lvsl(__a, __b));
9321 static vector unsigned int __ATTRS_o_ai
9322 vec_lvlxl(int __a, const vector unsigned int *__b)
9324 return vec_perm(vec_ldl(__a, __b),
9325 (vector unsigned int)(0),
9326 vec_lvsl(__a, (unsigned char *)__b));
9329 static vector bool int __ATTRS_o_ai
9330 vec_lvlxl(int __a, const vector bool int *__b)
9332 return vec_perm(vec_ldl(__a, __b),
9333 (vector bool int)(0),
9334 vec_lvsl(__a, (unsigned char *)__b));
9337 static vector float __ATTRS_o_ai
9338 vec_lvlxl(int __a, const float *__b)
9340 return vec_perm(vec_ldl(__a, __b),
9342 vec_lvsl(__a, __b));
9345 static vector float __ATTRS_o_ai
9346 vec_lvlxl(int __a, vector float *__b)
9348 return vec_perm(vec_ldl(__a, __b),
9350 vec_lvsl(__a, (unsigned char *)__b));
9355 static vector signed char __ATTRS_o_ai
9356 vec_lvrx(int __a, const signed char *__b)
9358 return vec_perm((vector signed char)(0),
9360 vec_lvsl(__a, __b));
9363 static vector signed char __ATTRS_o_ai
9364 vec_lvrx(int __a, const vector signed char *__b)
9366 return vec_perm((vector signed char)(0),
9368 vec_lvsl(__a, (unsigned char *)__b));
9371 static vector unsigned char __ATTRS_o_ai
9372 vec_lvrx(int __a, const unsigned char *__b)
9374 return vec_perm((vector unsigned char)(0),
9376 vec_lvsl(__a, __b));
9379 static vector unsigned char __ATTRS_o_ai
9380 vec_lvrx(int __a, const vector unsigned char *__b)
9382 return vec_perm((vector unsigned char)(0),
9384 vec_lvsl(__a, (unsigned char *)__b));
9387 static vector bool char __ATTRS_o_ai
9388 vec_lvrx(int __a, const vector bool char *__b)
9390 return vec_perm((vector bool char)(0),
9392 vec_lvsl(__a, (unsigned char *)__b));
9395 static vector short __ATTRS_o_ai
9396 vec_lvrx(int __a, const short *__b)
9398 return vec_perm((vector short)(0),
9400 vec_lvsl(__a, __b));
9403 static vector short __ATTRS_o_ai
9404 vec_lvrx(int __a, const vector short *__b)
9406 return vec_perm((vector short)(0),
9408 vec_lvsl(__a, (unsigned char *)__b));
9411 static vector unsigned short __ATTRS_o_ai
9412 vec_lvrx(int __a, const unsigned short *__b)
9414 return vec_perm((vector unsigned short)(0),
9416 vec_lvsl(__a, __b));
9419 static vector unsigned short __ATTRS_o_ai
9420 vec_lvrx(int __a, const vector unsigned short *__b)
9422 return vec_perm((vector unsigned short)(0),
9424 vec_lvsl(__a, (unsigned char *)__b));
9427 static vector bool short __ATTRS_o_ai
9428 vec_lvrx(int __a, const vector bool short *__b)
9430 return vec_perm((vector bool short)(0),
9432 vec_lvsl(__a, (unsigned char *)__b));
9435 static vector pixel __ATTRS_o_ai
9436 vec_lvrx(int __a, const vector pixel *__b)
9438 return vec_perm((vector pixel)(0),
9440 vec_lvsl(__a, (unsigned char *)__b));
9443 static vector int __ATTRS_o_ai
9444 vec_lvrx(int __a, const int *__b)
9446 return vec_perm((vector int)(0),
9448 vec_lvsl(__a, __b));
9451 static vector int __ATTRS_o_ai
9452 vec_lvrx(int __a, const vector int *__b)
9454 return vec_perm((vector int)(0),
9456 vec_lvsl(__a, (unsigned char *)__b));
9459 static vector unsigned int __ATTRS_o_ai
9460 vec_lvrx(int __a, const unsigned int *__b)
9462 return vec_perm((vector unsigned int)(0),
9464 vec_lvsl(__a, __b));
9467 static vector unsigned int __ATTRS_o_ai
9468 vec_lvrx(int __a, const vector unsigned int *__b)
9470 return vec_perm((vector unsigned int)(0),
9472 vec_lvsl(__a, (unsigned char *)__b));
9475 static vector bool int __ATTRS_o_ai
9476 vec_lvrx(int __a, const vector bool int *__b)
9478 return vec_perm((vector bool int)(0),
9480 vec_lvsl(__a, (unsigned char *)__b));
9483 static vector float __ATTRS_o_ai
9484 vec_lvrx(int __a, const float *__b)
9486 return vec_perm((vector float)(0),
9488 vec_lvsl(__a, __b));
9491 static vector float __ATTRS_o_ai
9492 vec_lvrx(int __a, const vector float *__b)
9494 return vec_perm((vector float)(0),
9496 vec_lvsl(__a, (unsigned char *)__b));
9501 static vector signed char __ATTRS_o_ai
9502 vec_lvrxl(int __a, const signed char *__b)
9504 return vec_perm((vector signed char)(0),
9506 vec_lvsl(__a, __b));
9509 static vector signed char __ATTRS_o_ai
9510 vec_lvrxl(int __a, const vector signed char *__b)
9512 return vec_perm((vector signed char)(0),
9514 vec_lvsl(__a, (unsigned char *)__b));
9517 static vector unsigned char __ATTRS_o_ai
9518 vec_lvrxl(int __a, const unsigned char *__b)
9520 return vec_perm((vector unsigned char)(0),
9522 vec_lvsl(__a, __b));
9525 static vector unsigned char __ATTRS_o_ai
9526 vec_lvrxl(int __a, const vector unsigned char *__b)
9528 return vec_perm((vector unsigned char)(0),
9530 vec_lvsl(__a, (unsigned char *)__b));
9533 static vector bool char __ATTRS_o_ai
9534 vec_lvrxl(int __a, const vector bool char *__b)
9536 return vec_perm((vector bool char)(0),
9538 vec_lvsl(__a, (unsigned char *)__b));
9541 static vector short __ATTRS_o_ai
9542 vec_lvrxl(int __a, const short *__b)
9544 return vec_perm((vector short)(0),
9546 vec_lvsl(__a, __b));
9549 static vector short __ATTRS_o_ai
9550 vec_lvrxl(int __a, const vector short *__b)
9552 return vec_perm((vector short)(0),
9554 vec_lvsl(__a, (unsigned char *)__b));
9557 static vector unsigned short __ATTRS_o_ai
9558 vec_lvrxl(int __a, const unsigned short *__b)
9560 return vec_perm((vector unsigned short)(0),
9562 vec_lvsl(__a, __b));
9565 static vector unsigned short __ATTRS_o_ai
9566 vec_lvrxl(int __a, const vector unsigned short *__b)
9568 return vec_perm((vector unsigned short)(0),
9570 vec_lvsl(__a, (unsigned char *)__b));
9573 static vector bool short __ATTRS_o_ai
9574 vec_lvrxl(int __a, const vector bool short *__b)
9576 return vec_perm((vector bool short)(0),
9578 vec_lvsl(__a, (unsigned char *)__b));
9581 static vector pixel __ATTRS_o_ai
9582 vec_lvrxl(int __a, const vector pixel *__b)
9584 return vec_perm((vector pixel)(0),
9586 vec_lvsl(__a, (unsigned char *)__b));
9589 static vector int __ATTRS_o_ai
9590 vec_lvrxl(int __a, const int *__b)
9592 return vec_perm((vector int)(0),
9594 vec_lvsl(__a, __b));
9597 static vector int __ATTRS_o_ai
9598 vec_lvrxl(int __a, const vector int *__b)
9600 return vec_perm((vector int)(0),
9602 vec_lvsl(__a, (unsigned char *)__b));
9605 static vector unsigned int __ATTRS_o_ai
9606 vec_lvrxl(int __a, const unsigned int *__b)
9608 return vec_perm((vector unsigned int)(0),
9610 vec_lvsl(__a, __b));
9613 static vector unsigned int __ATTRS_o_ai
9614 vec_lvrxl(int __a, const vector unsigned int *__b)
9616 return vec_perm((vector unsigned int)(0),
9618 vec_lvsl(__a, (unsigned char *)__b));
9621 static vector bool int __ATTRS_o_ai
9622 vec_lvrxl(int __a, const vector bool int *__b)
9624 return vec_perm((vector bool int)(0),
9626 vec_lvsl(__a, (unsigned char *)__b));
9629 static vector float __ATTRS_o_ai
9630 vec_lvrxl(int __a, const float *__b)
9632 return vec_perm((vector float)(0),
9634 vec_lvsl(__a, __b));
9637 static vector float __ATTRS_o_ai
9638 vec_lvrxl(int __a, const vector float *__b)
9640 return vec_perm((vector float)(0),
9642 vec_lvsl(__a, (unsigned char *)__b));
9647 static void __ATTRS_o_ai
9648 vec_stvlx(vector signed char __a, int __b, signed char *__c)
9650 return vec_st(vec_perm(vec_lvrx(__b, __c),
9652 vec_lvsr(__b, __c)),
9656 static void __ATTRS_o_ai
9657 vec_stvlx(vector signed char __a, int __b, vector signed char *__c)
9659 return vec_st(vec_perm(vec_lvrx(__b, __c),
9661 vec_lvsr(__b, (unsigned char *)__c)),
9665 static void __ATTRS_o_ai
9666 vec_stvlx(vector unsigned char __a, int __b, unsigned char *__c)
9668 return vec_st(vec_perm(vec_lvrx(__b, __c),
9670 vec_lvsr(__b, __c)),
9674 static void __ATTRS_o_ai
9675 vec_stvlx(vector unsigned char __a, int __b, vector unsigned char *__c)
9677 return vec_st(vec_perm(vec_lvrx(__b, __c),
9679 vec_lvsr(__b, (unsigned char *)__c)),
9683 static void __ATTRS_o_ai
9684 vec_stvlx(vector bool char __a, int __b, vector bool char *__c)
9686 return vec_st(vec_perm(vec_lvrx(__b, __c),
9688 vec_lvsr(__b, (unsigned char *)__c)),
9692 static void __ATTRS_o_ai
9693 vec_stvlx(vector short __a, int __b, short *__c)
9695 return vec_st(vec_perm(vec_lvrx(__b, __c),
9697 vec_lvsr(__b, __c)),
9701 static void __ATTRS_o_ai
9702 vec_stvlx(vector short __a, int __b, vector short *__c)
9704 return vec_st(vec_perm(vec_lvrx(__b, __c),
9706 vec_lvsr(__b, (unsigned char *)__c)),
9710 static void __ATTRS_o_ai
9711 vec_stvlx(vector unsigned short __a, int __b, unsigned short *__c)
9713 return vec_st(vec_perm(vec_lvrx(__b, __c),
9715 vec_lvsr(__b, __c)),
9719 static void __ATTRS_o_ai
9720 vec_stvlx(vector unsigned short __a, int __b, vector unsigned short *__c)
9722 return vec_st(vec_perm(vec_lvrx(__b, __c),
9724 vec_lvsr(__b, (unsigned char *)__c)),
9728 static void __ATTRS_o_ai
9729 vec_stvlx(vector bool short __a, int __b, vector bool short *__c)
9731 return vec_st(vec_perm(vec_lvrx(__b, __c),
9733 vec_lvsr(__b, (unsigned char *)__c)),
9737 static void __ATTRS_o_ai
9738 vec_stvlx(vector pixel __a, int __b, vector pixel *__c)
9740 return vec_st(vec_perm(vec_lvrx(__b, __c),
9742 vec_lvsr(__b, (unsigned char *)__c)),
9746 static void __ATTRS_o_ai
9747 vec_stvlx(vector int __a, int __b, int *__c)
9749 return vec_st(vec_perm(vec_lvrx(__b, __c),
9751 vec_lvsr(__b, __c)),
9755 static void __ATTRS_o_ai
9756 vec_stvlx(vector int __a, int __b, vector int *__c)
9758 return vec_st(vec_perm(vec_lvrx(__b, __c),
9760 vec_lvsr(__b, (unsigned char *)__c)),
9764 static void __ATTRS_o_ai
9765 vec_stvlx(vector unsigned int __a, int __b, unsigned int *__c)
9767 return vec_st(vec_perm(vec_lvrx(__b, __c),
9769 vec_lvsr(__b, __c)),
9773 static void __ATTRS_o_ai
9774 vec_stvlx(vector unsigned int __a, int __b, vector unsigned int *__c)
9776 return vec_st(vec_perm(vec_lvrx(__b, __c),
9778 vec_lvsr(__b, (unsigned char *)__c)),
9782 static void __ATTRS_o_ai
9783 vec_stvlx(vector bool int __a, int __b, vector bool int *__c)
9785 return vec_st(vec_perm(vec_lvrx(__b, __c),
9787 vec_lvsr(__b, (unsigned char *)__c)),
9791 static void __ATTRS_o_ai
9792 vec_stvlx(vector float __a, int __b, vector float *__c)
9794 return vec_st(vec_perm(vec_lvrx(__b, __c),
9796 vec_lvsr(__b, (unsigned char *)__c)),
9802 static void __ATTRS_o_ai
9803 vec_stvlxl(vector signed char __a, int __b, signed char *__c)
9805 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9807 vec_lvsr(__b, __c)),
9811 static void __ATTRS_o_ai
9812 vec_stvlxl(vector signed char __a, int __b, vector signed char *__c)
9814 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9816 vec_lvsr(__b, (unsigned char *)__c)),
9820 static void __ATTRS_o_ai
9821 vec_stvlxl(vector unsigned char __a, int __b, unsigned char *__c)
9823 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9825 vec_lvsr(__b, __c)),
9829 static void __ATTRS_o_ai
9830 vec_stvlxl(vector unsigned char __a, int __b, vector unsigned char *__c)
9832 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9834 vec_lvsr(__b, (unsigned char *)__c)),
9838 static void __ATTRS_o_ai
9839 vec_stvlxl(vector bool char __a, int __b, vector bool char *__c)
9841 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9843 vec_lvsr(__b, (unsigned char *)__c)),
9847 static void __ATTRS_o_ai
9848 vec_stvlxl(vector short __a, int __b, short *__c)
9850 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9852 vec_lvsr(__b, __c)),
9856 static void __ATTRS_o_ai
9857 vec_stvlxl(vector short __a, int __b, vector short *__c)
9859 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9861 vec_lvsr(__b, (unsigned char *)__c)),
9865 static void __ATTRS_o_ai
9866 vec_stvlxl(vector unsigned short __a, int __b, unsigned short *__c)
9868 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9870 vec_lvsr(__b, __c)),
9874 static void __ATTRS_o_ai
9875 vec_stvlxl(vector unsigned short __a, int __b, vector unsigned short *__c)
9877 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9879 vec_lvsr(__b, (unsigned char *)__c)),
9883 static void __ATTRS_o_ai
9884 vec_stvlxl(vector bool short __a, int __b, vector bool short *__c)
9886 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9888 vec_lvsr(__b, (unsigned char *)__c)),
9892 static void __ATTRS_o_ai
9893 vec_stvlxl(vector pixel __a, int __b, vector pixel *__c)
9895 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9897 vec_lvsr(__b, (unsigned char *)__c)),
9901 static void __ATTRS_o_ai
9902 vec_stvlxl(vector int __a, int __b, int *__c)
9904 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9906 vec_lvsr(__b, __c)),
9910 static void __ATTRS_o_ai
9911 vec_stvlxl(vector int __a, int __b, vector int *__c)
9913 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9915 vec_lvsr(__b, (unsigned char *)__c)),
9919 static void __ATTRS_o_ai
9920 vec_stvlxl(vector unsigned int __a, int __b, unsigned int *__c)
9922 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9924 vec_lvsr(__b, __c)),
9928 static void __ATTRS_o_ai
9929 vec_stvlxl(vector unsigned int __a, int __b, vector unsigned int *__c)
9931 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9933 vec_lvsr(__b, (unsigned char *)__c)),
9937 static void __ATTRS_o_ai
9938 vec_stvlxl(vector bool int __a, int __b, vector bool int *__c)
9940 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9942 vec_lvsr(__b, (unsigned char *)__c)),
9946 static void __ATTRS_o_ai
9947 vec_stvlxl(vector float __a, int __b, vector float *__c)
9949 return vec_stl(vec_perm(vec_lvrx(__b, __c),
9951 vec_lvsr(__b, (unsigned char *)__c)),
9957 static void __ATTRS_o_ai
9958 vec_stvrx(vector signed char __a, int __b, signed char *__c)
9960 return vec_st(vec_perm(__a,
9962 vec_lvsr(__b, __c)),
9966 static void __ATTRS_o_ai
9967 vec_stvrx(vector signed char __a, int __b, vector signed char *__c)
9969 return vec_st(vec_perm(__a,
9971 vec_lvsr(__b, (unsigned char *)__c)),
9975 static void __ATTRS_o_ai
9976 vec_stvrx(vector unsigned char __a, int __b, unsigned char *__c)
9978 return vec_st(vec_perm(__a,
9980 vec_lvsr(__b, __c)),
9984 static void __ATTRS_o_ai
9985 vec_stvrx(vector unsigned char __a, int __b, vector unsigned char *__c)
9987 return vec_st(vec_perm(__a,
9989 vec_lvsr(__b, (unsigned char *)__c)),
9993 static void __ATTRS_o_ai
9994 vec_stvrx(vector bool char __a, int __b, vector bool char *__c)
9996 return vec_st(vec_perm(__a,
9998 vec_lvsr(__b, (unsigned char *)__c)),
10002 static void __ATTRS_o_ai
10003 vec_stvrx(vector short __a, int __b, short *__c)
10005 return vec_st(vec_perm(__a,
10006 vec_lvlx(__b, __c),
10007 vec_lvsr(__b, __c)),
10011 static void __ATTRS_o_ai
10012 vec_stvrx(vector short __a, int __b, vector short *__c)
10014 return vec_st(vec_perm(__a,
10015 vec_lvlx(__b, __c),
10016 vec_lvsr(__b, (unsigned char *)__c)),
10020 static void __ATTRS_o_ai
10021 vec_stvrx(vector unsigned short __a, int __b, unsigned short *__c)
10023 return vec_st(vec_perm(__a,
10024 vec_lvlx(__b, __c),
10025 vec_lvsr(__b, __c)),
10029 static void __ATTRS_o_ai
10030 vec_stvrx(vector unsigned short __a, int __b, vector unsigned short *__c)
10032 return vec_st(vec_perm(__a,
10033 vec_lvlx(__b, __c),
10034 vec_lvsr(__b, (unsigned char *)__c)),
10038 static void __ATTRS_o_ai
10039 vec_stvrx(vector bool short __a, int __b, vector bool short *__c)
10041 return vec_st(vec_perm(__a,
10042 vec_lvlx(__b, __c),
10043 vec_lvsr(__b, (unsigned char *)__c)),
10047 static void __ATTRS_o_ai
10048 vec_stvrx(vector pixel __a, int __b, vector pixel *__c)
10050 return vec_st(vec_perm(__a,
10051 vec_lvlx(__b, __c),
10052 vec_lvsr(__b, (unsigned char *)__c)),
10056 static void __ATTRS_o_ai
10057 vec_stvrx(vector int __a, int __b, int *__c)
10059 return vec_st(vec_perm(__a,
10060 vec_lvlx(__b, __c),
10061 vec_lvsr(__b, __c)),
10065 static void __ATTRS_o_ai
10066 vec_stvrx(vector int __a, int __b, vector int *__c)
10068 return vec_st(vec_perm(__a,
10069 vec_lvlx(__b, __c),
10070 vec_lvsr(__b, (unsigned char *)__c)),
10074 static void __ATTRS_o_ai
10075 vec_stvrx(vector unsigned int __a, int __b, unsigned int *__c)
10077 return vec_st(vec_perm(__a,
10078 vec_lvlx(__b, __c),
10079 vec_lvsr(__b, __c)),
10083 static void __ATTRS_o_ai
10084 vec_stvrx(vector unsigned int __a, int __b, vector unsigned int *__c)
10086 return vec_st(vec_perm(__a,
10087 vec_lvlx(__b, __c),
10088 vec_lvsr(__b, (unsigned char *)__c)),
10092 static void __ATTRS_o_ai
10093 vec_stvrx(vector bool int __a, int __b, vector bool int *__c)
10095 return vec_st(vec_perm(__a,
10096 vec_lvlx(__b, __c),
10097 vec_lvsr(__b, (unsigned char *)__c)),
10101 static void __ATTRS_o_ai
10102 vec_stvrx(vector float __a, int __b, vector float *__c)
10104 return vec_st(vec_perm(__a,
10105 vec_lvlx(__b, __c),
10106 vec_lvsr(__b, (unsigned char *)__c)),
10112 static void __ATTRS_o_ai
10113 vec_stvrxl(vector signed char __a, int __b, signed char *__c)
10115 return vec_stl(vec_perm(__a,
10116 vec_lvlx(__b, __c),
10117 vec_lvsr(__b, __c)),
10121 static void __ATTRS_o_ai
10122 vec_stvrxl(vector signed char __a, int __b, vector signed char *__c)
10124 return vec_stl(vec_perm(__a,
10125 vec_lvlx(__b, __c),
10126 vec_lvsr(__b, (unsigned char *)__c)),
10130 static void __ATTRS_o_ai
10131 vec_stvrxl(vector unsigned char __a, int __b, unsigned char *__c)
10133 return vec_stl(vec_perm(__a,
10134 vec_lvlx(__b, __c),
10135 vec_lvsr(__b, __c)),
10139 static void __ATTRS_o_ai
10140 vec_stvrxl(vector unsigned char __a, int __b, vector unsigned char *__c)
10142 return vec_stl(vec_perm(__a,
10143 vec_lvlx(__b, __c),
10144 vec_lvsr(__b, (unsigned char *)__c)),
10148 static void __ATTRS_o_ai
10149 vec_stvrxl(vector bool char __a, int __b, vector bool char *__c)
10151 return vec_stl(vec_perm(__a,
10152 vec_lvlx(__b, __c),
10153 vec_lvsr(__b, (unsigned char *)__c)),
10157 static void __ATTRS_o_ai
10158 vec_stvrxl(vector short __a, int __b, short *__c)
10160 return vec_stl(vec_perm(__a,
10161 vec_lvlx(__b, __c),
10162 vec_lvsr(__b, __c)),
10166 static void __ATTRS_o_ai
10167 vec_stvrxl(vector short __a, int __b, vector short *__c)
10169 return vec_stl(vec_perm(__a,
10170 vec_lvlx(__b, __c),
10171 vec_lvsr(__b, (unsigned char *)__c)),
10175 static void __ATTRS_o_ai
10176 vec_stvrxl(vector unsigned short __a, int __b, unsigned short *__c)
10178 return vec_stl(vec_perm(__a,
10179 vec_lvlx(__b, __c),
10180 vec_lvsr(__b, __c)),
10184 static void __ATTRS_o_ai
10185 vec_stvrxl(vector unsigned short __a, int __b, vector unsigned short *__c)
10187 return vec_stl(vec_perm(__a,
10188 vec_lvlx(__b, __c),
10189 vec_lvsr(__b, (unsigned char *)__c)),
10193 static void __ATTRS_o_ai
10194 vec_stvrxl(vector bool short __a, int __b, vector bool short *__c)
10196 return vec_stl(vec_perm(__a,
10197 vec_lvlx(__b, __c),
10198 vec_lvsr(__b, (unsigned char *)__c)),
10202 static void __ATTRS_o_ai
10203 vec_stvrxl(vector pixel __a, int __b, vector pixel *__c)
10205 return vec_stl(vec_perm(__a,
10206 vec_lvlx(__b, __c),
10207 vec_lvsr(__b, (unsigned char *)__c)),
10211 static void __ATTRS_o_ai
10212 vec_stvrxl(vector int __a, int __b, int *__c)
10214 return vec_stl(vec_perm(__a,
10215 vec_lvlx(__b, __c),
10216 vec_lvsr(__b, __c)),
10220 static void __ATTRS_o_ai
10221 vec_stvrxl(vector int __a, int __b, vector int *__c)
10223 return vec_stl(vec_perm(__a,
10224 vec_lvlx(__b, __c),
10225 vec_lvsr(__b, (unsigned char *)__c)),
10229 static void __ATTRS_o_ai
10230 vec_stvrxl(vector unsigned int __a, int __b, unsigned int *__c)
10232 return vec_stl(vec_perm(__a,
10233 vec_lvlx(__b, __c),
10234 vec_lvsr(__b, __c)),
10238 static void __ATTRS_o_ai
10239 vec_stvrxl(vector unsigned int __a, int __b, vector unsigned int *__c)
10241 return vec_stl(vec_perm(__a,
10242 vec_lvlx(__b, __c),
10243 vec_lvsr(__b, (unsigned char *)__c)),
10247 static void __ATTRS_o_ai
10248 vec_stvrxl(vector bool int __a, int __b, vector bool int *__c)
10250 return vec_stl(vec_perm(__a,
10251 vec_lvlx(__b, __c),
10252 vec_lvsr(__b, (unsigned char *)__c)),
10256 static void __ATTRS_o_ai
10257 vec_stvrxl(vector float __a, int __b, vector float *__c)
10259 return vec_stl(vec_perm(__a,
10260 vec_lvlx(__b, __c),
10261 vec_lvsr(__b, (unsigned char *)__c)),
10267 static vector signed char __ATTRS_o_ai
10268 vec_promote(signed char __a, int __b)
10270 vector signed char __res = (vector signed char)(0);
10275 static vector unsigned char __ATTRS_o_ai
10276 vec_promote(unsigned char __a, int __b)
10278 vector unsigned char __res = (vector unsigned char)(0);
10283 static vector short __ATTRS_o_ai
10284 vec_promote(short __a, int __b)
10286 vector short __res = (vector short)(0);
10291 static vector unsigned short __ATTRS_o_ai
10292 vec_promote(unsigned short __a, int __b)
10294 vector unsigned short __res = (vector unsigned short)(0);
10299 static vector int __ATTRS_o_ai
10300 vec_promote(int __a, int __b)
10302 vector int __res = (vector int)(0);
10307 static vector unsigned int __ATTRS_o_ai
10308 vec_promote(unsigned int __a, int __b)
10310 vector unsigned int __res = (vector unsigned int)(0);
10315 static vector float __ATTRS_o_ai
10316 vec_promote(float __a, int __b)
10318 vector float __res = (vector float)(0);
10325 static vector signed char __ATTRS_o_ai
10326 vec_splats(signed char __a)
10328 return (vector signed char)(__a);
10331 static vector unsigned char __ATTRS_o_ai
10332 vec_splats(unsigned char __a)
10334 return (vector unsigned char)(__a);
10337 static vector short __ATTRS_o_ai
10338 vec_splats(short __a)
10340 return (vector short)(__a);
10343 static vector unsigned short __ATTRS_o_ai
10344 vec_splats(unsigned short __a)
10346 return (vector unsigned short)(__a);
10349 static vector int __ATTRS_o_ai
10350 vec_splats(int __a)
10352 return (vector int)(__a);
10355 static vector unsigned int __ATTRS_o_ai
10356 vec_splats(unsigned int __a)
10358 return (vector unsigned int)(__a);
10361 static vector float __ATTRS_o_ai
10362 vec_splats(float __a)
10364 return (vector float)(__a);
10367 /* ----------------------------- predicates --------------------------------- */
10371 static int __ATTRS_o_ai
10372 vec_all_eq(vector signed char __a, vector signed char __b)
10374 return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10377 static int __ATTRS_o_ai
10378 vec_all_eq(vector signed char __a, vector bool char __b)
10380 return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10383 static int __ATTRS_o_ai
10384 vec_all_eq(vector unsigned char __a, vector unsigned char __b)
10386 return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10389 static int __ATTRS_o_ai
10390 vec_all_eq(vector unsigned char __a, vector bool char __b)
10392 return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10395 static int __ATTRS_o_ai
10396 vec_all_eq(vector bool char __a, vector signed char __b)
10398 return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10401 static int __ATTRS_o_ai
10402 vec_all_eq(vector bool char __a, vector unsigned char __b)
10404 return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10407 static int __ATTRS_o_ai
10408 vec_all_eq(vector bool char __a, vector bool char __b)
10410 return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10413 static int __ATTRS_o_ai
10414 vec_all_eq(vector short __a, vector short __b)
10416 return __builtin_altivec_vcmpequh_p(__CR6_LT, __a, __b);
10419 static int __ATTRS_o_ai
10420 vec_all_eq(vector short __a, vector bool short __b)
10422 return __builtin_altivec_vcmpequh_p(__CR6_LT, __a, (vector short)__b);
10425 static int __ATTRS_o_ai
10426 vec_all_eq(vector unsigned short __a, vector unsigned short __b)
10429 __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10432 static int __ATTRS_o_ai
10433 vec_all_eq(vector unsigned short __a, vector bool short __b)
10436 __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10439 static int __ATTRS_o_ai
10440 vec_all_eq(vector bool short __a, vector short __b)
10443 __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10446 static int __ATTRS_o_ai
10447 vec_all_eq(vector bool short __a, vector unsigned short __b)
10450 __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10453 static int __ATTRS_o_ai
10454 vec_all_eq(vector bool short __a, vector bool short __b)
10457 __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10460 static int __ATTRS_o_ai
10461 vec_all_eq(vector pixel __a, vector pixel __b)
10464 __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10467 static int __ATTRS_o_ai
10468 vec_all_eq(vector int __a, vector int __b)
10470 return __builtin_altivec_vcmpequw_p(__CR6_LT, __a, __b);
10473 static int __ATTRS_o_ai
10474 vec_all_eq(vector int __a, vector bool int __b)
10476 return __builtin_altivec_vcmpequw_p(__CR6_LT, __a, (vector int)__b);
10479 static int __ATTRS_o_ai
10480 vec_all_eq(vector unsigned int __a, vector unsigned int __b)
10482 return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10485 static int __ATTRS_o_ai
10486 vec_all_eq(vector unsigned int __a, vector bool int __b)
10488 return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10491 static int __ATTRS_o_ai
10492 vec_all_eq(vector bool int __a, vector int __b)
10494 return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10497 static int __ATTRS_o_ai
10498 vec_all_eq(vector bool int __a, vector unsigned int __b)
10500 return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10503 static int __ATTRS_o_ai
10504 vec_all_eq(vector bool int __a, vector bool int __b)
10506 return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10509 static int __ATTRS_o_ai
10510 vec_all_eq(vector float __a, vector float __b)
10512 return __builtin_altivec_vcmpeqfp_p(__CR6_LT, __a, __b);
10517 static int __ATTRS_o_ai
10518 vec_all_ge(vector signed char __a, vector signed char __b)
10520 return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __b, __a);
10523 static int __ATTRS_o_ai
10524 vec_all_ge(vector signed char __a, vector bool char __b)
10526 return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, (vector signed char)__b, __a);
10529 static int __ATTRS_o_ai
10530 vec_all_ge(vector unsigned char __a, vector unsigned char __b)
10532 return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __b, __a);
10535 static int __ATTRS_o_ai
10536 vec_all_ge(vector unsigned char __a, vector bool char __b)
10538 return __builtin_altivec_vcmpgtub_p(__CR6_EQ, (vector unsigned char)__b, __a);
10541 static int __ATTRS_o_ai
10542 vec_all_ge(vector bool char __a, vector signed char __b)
10544 return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
10545 (vector unsigned char)__b,
10546 (vector unsigned char)__a);
10549 static int __ATTRS_o_ai
10550 vec_all_ge(vector bool char __a, vector unsigned char __b)
10552 return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __b, (vector unsigned char)__a);
10555 static int __ATTRS_o_ai
10556 vec_all_ge(vector bool char __a, vector bool char __b)
10558 return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
10559 (vector unsigned char)__b,
10560 (vector unsigned char)__a);
10563 static int __ATTRS_o_ai
10564 vec_all_ge(vector short __a, vector short __b)
10566 return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __b, __a);
10569 static int __ATTRS_o_ai
10570 vec_all_ge(vector short __a, vector bool short __b)
10572 return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, (vector short)__b, __a);
10575 static int __ATTRS_o_ai
10576 vec_all_ge(vector unsigned short __a, vector unsigned short __b)
10578 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __b, __a);
10581 static int __ATTRS_o_ai
10582 vec_all_ge(vector unsigned short __a, vector bool short __b)
10584 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, (vector unsigned short)__b, __a);
10587 static int __ATTRS_o_ai
10588 vec_all_ge(vector bool short __a, vector short __b)
10590 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
10591 (vector unsigned short)__b,
10592 (vector unsigned short)__a);
10595 static int __ATTRS_o_ai
10596 vec_all_ge(vector bool short __a, vector unsigned short __b)
10598 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __b, (vector unsigned short)__a);
10601 static int __ATTRS_o_ai
10602 vec_all_ge(vector bool short __a, vector bool short __b)
10604 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
10605 (vector unsigned short)__b,
10606 (vector unsigned short)__a);
10609 static int __ATTRS_o_ai
10610 vec_all_ge(vector int __a, vector int __b)
10612 return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __b, __a);
10615 static int __ATTRS_o_ai
10616 vec_all_ge(vector int __a, vector bool int __b)
10618 return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, (vector int)__b, __a);
10621 static int __ATTRS_o_ai
10622 vec_all_ge(vector unsigned int __a, vector unsigned int __b)
10624 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __b, __a);
10627 static int __ATTRS_o_ai
10628 vec_all_ge(vector unsigned int __a, vector bool int __b)
10630 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, (vector unsigned int)__b, __a);
10633 static int __ATTRS_o_ai
10634 vec_all_ge(vector bool int __a, vector int __b)
10636 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
10637 (vector unsigned int)__b,
10638 (vector unsigned int)__a);
10641 static int __ATTRS_o_ai
10642 vec_all_ge(vector bool int __a, vector unsigned int __b)
10644 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __b, (vector unsigned int)__a);
10647 static int __ATTRS_o_ai
10648 vec_all_ge(vector bool int __a, vector bool int __b)
10650 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
10651 (vector unsigned int)__b,
10652 (vector unsigned int)__a);
10655 static int __ATTRS_o_ai
10656 vec_all_ge(vector float __a, vector float __b)
10658 return __builtin_altivec_vcmpgefp_p(__CR6_LT, __a, __b);
10663 static int __ATTRS_o_ai
10664 vec_all_gt(vector signed char __a, vector signed char __b)
10666 return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __a, __b);
10669 static int __ATTRS_o_ai
10670 vec_all_gt(vector signed char __a, vector bool char __b)
10672 return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __a, (vector signed char)__b);
10675 static int __ATTRS_o_ai
10676 vec_all_gt(vector unsigned char __a, vector unsigned char __b)
10678 return __builtin_altivec_vcmpgtub_p(__CR6_LT, __a, __b);
10681 static int __ATTRS_o_ai
10682 vec_all_gt(vector unsigned char __a, vector bool char __b)
10684 return __builtin_altivec_vcmpgtub_p(__CR6_LT, __a, (vector unsigned char)__b);
10687 static int __ATTRS_o_ai
10688 vec_all_gt(vector bool char __a, vector signed char __b)
10690 return __builtin_altivec_vcmpgtub_p(__CR6_LT,
10691 (vector unsigned char)__a,
10692 (vector unsigned char)__b);
10695 static int __ATTRS_o_ai
10696 vec_all_gt(vector bool char __a, vector unsigned char __b)
10698 return __builtin_altivec_vcmpgtub_p(__CR6_LT, (vector unsigned char)__a, __b);
10701 static int __ATTRS_o_ai
10702 vec_all_gt(vector bool char __a, vector bool char __b)
10704 return __builtin_altivec_vcmpgtub_p(__CR6_LT,
10705 (vector unsigned char)__a,
10706 (vector unsigned char)__b);
10709 static int __ATTRS_o_ai
10710 vec_all_gt(vector short __a, vector short __b)
10712 return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __a, __b);
10715 static int __ATTRS_o_ai
10716 vec_all_gt(vector short __a, vector bool short __b)
10718 return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __a, (vector short)__b);
10721 static int __ATTRS_o_ai
10722 vec_all_gt(vector unsigned short __a, vector unsigned short __b)
10724 return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __a, __b);
10727 static int __ATTRS_o_ai
10728 vec_all_gt(vector unsigned short __a, vector bool short __b)
10730 return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __a, (vector unsigned short)__b);
10733 static int __ATTRS_o_ai
10734 vec_all_gt(vector bool short __a, vector short __b)
10736 return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
10737 (vector unsigned short)__a,
10738 (vector unsigned short)__b);
10741 static int __ATTRS_o_ai
10742 vec_all_gt(vector bool short __a, vector unsigned short __b)
10744 return __builtin_altivec_vcmpgtuh_p(__CR6_LT, (vector unsigned short)__a, __b);
10747 static int __ATTRS_o_ai
10748 vec_all_gt(vector bool short __a, vector bool short __b)
10750 return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
10751 (vector unsigned short)__a,
10752 (vector unsigned short)__b);
10755 static int __ATTRS_o_ai
10756 vec_all_gt(vector int __a, vector int __b)
10758 return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __a, __b);
10761 static int __ATTRS_o_ai
10762 vec_all_gt(vector int __a, vector bool int __b)
10764 return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __a, (vector int)__b);
10767 static int __ATTRS_o_ai
10768 vec_all_gt(vector unsigned int __a, vector unsigned int __b)
10770 return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __a, __b);
10773 static int __ATTRS_o_ai
10774 vec_all_gt(vector unsigned int __a, vector bool int __b)
10776 return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __a, (vector unsigned int)__b);
10779 static int __ATTRS_o_ai
10780 vec_all_gt(vector bool int __a, vector int __b)
10782 return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
10783 (vector unsigned int)__a,
10784 (vector unsigned int)__b);
10787 static int __ATTRS_o_ai
10788 vec_all_gt(vector bool int __a, vector unsigned int __b)
10790 return __builtin_altivec_vcmpgtuw_p(__CR6_LT, (vector unsigned int)__a, __b);
10793 static int __ATTRS_o_ai
10794 vec_all_gt(vector bool int __a, vector bool int __b)
10796 return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
10797 (vector unsigned int)__a,
10798 (vector unsigned int)__b);
10801 static int __ATTRS_o_ai
10802 vec_all_gt(vector float __a, vector float __b)
10804 return __builtin_altivec_vcmpgtfp_p(__CR6_LT, __a, __b);
10809 static int __attribute__((__always_inline__))
10810 vec_all_in(vector float __a, vector float __b)
10812 return __builtin_altivec_vcmpbfp_p(__CR6_EQ, __a, __b);
10817 static int __ATTRS_o_ai
10818 vec_all_le(vector signed char __a, vector signed char __b)
10820 return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __a, __b);
10823 static int __ATTRS_o_ai
10824 vec_all_le(vector signed char __a, vector bool char __b)
10826 return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __a, (vector signed char)__b);
10829 static int __ATTRS_o_ai
10830 vec_all_le(vector unsigned char __a, vector unsigned char __b)
10832 return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __a, __b);
10835 static int __ATTRS_o_ai
10836 vec_all_le(vector unsigned char __a, vector bool char __b)
10838 return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __a, (vector unsigned char)__b);
10841 static int __ATTRS_o_ai
10842 vec_all_le(vector bool char __a, vector signed char __b)
10844 return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
10845 (vector unsigned char)__a,
10846 (vector unsigned char)__b);
10849 static int __ATTRS_o_ai
10850 vec_all_le(vector bool char __a, vector unsigned char __b)
10852 return __builtin_altivec_vcmpgtub_p(__CR6_EQ, (vector unsigned char)__a, __b);
10855 static int __ATTRS_o_ai
10856 vec_all_le(vector bool char __a, vector bool char __b)
10858 return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
10859 (vector unsigned char)__a,
10860 (vector unsigned char)__b);
10863 static int __ATTRS_o_ai
10864 vec_all_le(vector short __a, vector short __b)
10866 return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __a, __b);
10869 static int __ATTRS_o_ai
10870 vec_all_le(vector short __a, vector bool short __b)
10872 return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __a, (vector short)__b);
10875 static int __ATTRS_o_ai
10876 vec_all_le(vector unsigned short __a, vector unsigned short __b)
10878 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __a, __b);
10881 static int __ATTRS_o_ai
10882 vec_all_le(vector unsigned short __a, vector bool short __b)
10884 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __a, (vector unsigned short)__b);
10887 static int __ATTRS_o_ai
10888 vec_all_le(vector bool short __a, vector short __b)
10890 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
10891 (vector unsigned short)__a,
10892 (vector unsigned short)__b);
10895 static int __ATTRS_o_ai
10896 vec_all_le(vector bool short __a, vector unsigned short __b)
10898 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, (vector unsigned short)__a, __b);
10901 static int __ATTRS_o_ai
10902 vec_all_le(vector bool short __a, vector bool short __b)
10904 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
10905 (vector unsigned short)__a,
10906 (vector unsigned short)__b);
10909 static int __ATTRS_o_ai
10910 vec_all_le(vector int __a, vector int __b)
10912 return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __a, __b);
10915 static int __ATTRS_o_ai
10916 vec_all_le(vector int __a, vector bool int __b)
10918 return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __a, (vector int)__b);
10921 static int __ATTRS_o_ai
10922 vec_all_le(vector unsigned int __a, vector unsigned int __b)
10924 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __a, __b);
10927 static int __ATTRS_o_ai
10928 vec_all_le(vector unsigned int __a, vector bool int __b)
10930 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __a, (vector unsigned int)__b);
10933 static int __ATTRS_o_ai
10934 vec_all_le(vector bool int __a, vector int __b)
10936 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
10937 (vector unsigned int)__a,
10938 (vector unsigned int)__b);
10941 static int __ATTRS_o_ai
10942 vec_all_le(vector bool int __a, vector unsigned int __b)
10944 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, (vector unsigned int)__a, __b);
10947 static int __ATTRS_o_ai
10948 vec_all_le(vector bool int __a, vector bool int __b)
10950 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
10951 (vector unsigned int)__a,
10952 (vector unsigned int)__b);
10955 static int __ATTRS_o_ai
10956 vec_all_le(vector float __a, vector float __b)
10958 return __builtin_altivec_vcmpgefp_p(__CR6_LT, __b, __a);
10963 static int __ATTRS_o_ai
10964 vec_all_lt(vector signed char __a, vector signed char __b)
10966 return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __b, __a);
10969 static int __ATTRS_o_ai
10970 vec_all_lt(vector signed char __a, vector bool char __b)
10972 return __builtin_altivec_vcmpgtsb_p(__CR6_LT, (vector signed char)__b, __a);
10975 static int __ATTRS_o_ai
10976 vec_all_lt(vector unsigned char __a, vector unsigned char __b)
10978 return __builtin_altivec_vcmpgtub_p(__CR6_LT, __b, __a);
10981 static int __ATTRS_o_ai
10982 vec_all_lt(vector unsigned char __a, vector bool char __b)
10984 return __builtin_altivec_vcmpgtub_p(__CR6_LT, (vector unsigned char)__b, __a);
10987 static int __ATTRS_o_ai
10988 vec_all_lt(vector bool char __a, vector signed char __b)
10990 return __builtin_altivec_vcmpgtub_p(__CR6_LT,
10991 (vector unsigned char)__b,
10992 (vector unsigned char)__a);
10995 static int __ATTRS_o_ai
10996 vec_all_lt(vector bool char __a, vector unsigned char __b)
10998 return __builtin_altivec_vcmpgtub_p(__CR6_LT, __b, (vector unsigned char)__a);
11001 static int __ATTRS_o_ai
11002 vec_all_lt(vector bool char __a, vector bool char __b)
11004 return __builtin_altivec_vcmpgtub_p(__CR6_LT,
11005 (vector unsigned char)__b,
11006 (vector unsigned char)__a);
11009 static int __ATTRS_o_ai
11010 vec_all_lt(vector short __a, vector short __b)
11012 return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __b, __a);
11015 static int __ATTRS_o_ai
11016 vec_all_lt(vector short __a, vector bool short __b)
11018 return __builtin_altivec_vcmpgtsh_p(__CR6_LT, (vector short)__b, __a);
11021 static int __ATTRS_o_ai
11022 vec_all_lt(vector unsigned short __a, vector unsigned short __b)
11024 return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __b, __a);
11027 static int __ATTRS_o_ai
11028 vec_all_lt(vector unsigned short __a, vector bool short __b)
11030 return __builtin_altivec_vcmpgtuh_p(__CR6_LT, (vector unsigned short)__b, __a);
11033 static int __ATTRS_o_ai
11034 vec_all_lt(vector bool short __a, vector short __b)
11036 return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
11037 (vector unsigned short)__b,
11038 (vector unsigned short)__a);
11041 static int __ATTRS_o_ai
11042 vec_all_lt(vector bool short __a, vector unsigned short __b)
11044 return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __b, (vector unsigned short)__a);
11047 static int __ATTRS_o_ai
11048 vec_all_lt(vector bool short __a, vector bool short __b)
11050 return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
11051 (vector unsigned short)__b,
11052 (vector unsigned short)__a);
11055 static int __ATTRS_o_ai
11056 vec_all_lt(vector int __a, vector int __b)
11058 return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __b, __a);
11061 static int __ATTRS_o_ai
11062 vec_all_lt(vector int __a, vector bool int __b)
11064 return __builtin_altivec_vcmpgtsw_p(__CR6_LT, (vector int)__b, __a);
11067 static int __ATTRS_o_ai
11068 vec_all_lt(vector unsigned int __a, vector unsigned int __b)
11070 return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __b, __a);
11073 static int __ATTRS_o_ai
11074 vec_all_lt(vector unsigned int __a, vector bool int __b)
11076 return __builtin_altivec_vcmpgtuw_p(__CR6_LT, (vector unsigned int)__b, __a);
11079 static int __ATTRS_o_ai
11080 vec_all_lt(vector bool int __a, vector int __b)
11082 return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
11083 (vector unsigned int)__b,
11084 (vector unsigned int)__a);
11087 static int __ATTRS_o_ai
11088 vec_all_lt(vector bool int __a, vector unsigned int __b)
11090 return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __b, (vector unsigned int)__a);
11093 static int __ATTRS_o_ai
11094 vec_all_lt(vector bool int __a, vector bool int __b)
11096 return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
11097 (vector unsigned int)__b,
11098 (vector unsigned int)__a);
11101 static int __ATTRS_o_ai
11102 vec_all_lt(vector float __a, vector float __b)
11104 return __builtin_altivec_vcmpgtfp_p(__CR6_LT, __b, __a);
11109 static int __attribute__((__always_inline__))
11110 vec_all_nan(vector float __a)
11112 return __builtin_altivec_vcmpeqfp_p(__CR6_EQ, __a, __a);
11117 static int __ATTRS_o_ai
11118 vec_all_ne(vector signed char __a, vector signed char __b)
11120 return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11123 static int __ATTRS_o_ai
11124 vec_all_ne(vector signed char __a, vector bool char __b)
11126 return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11129 static int __ATTRS_o_ai
11130 vec_all_ne(vector unsigned char __a, vector unsigned char __b)
11132 return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11135 static int __ATTRS_o_ai
11136 vec_all_ne(vector unsigned char __a, vector bool char __b)
11138 return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11141 static int __ATTRS_o_ai
11142 vec_all_ne(vector bool char __a, vector signed char __b)
11144 return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11147 static int __ATTRS_o_ai
11148 vec_all_ne(vector bool char __a, vector unsigned char __b)
11150 return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11153 static int __ATTRS_o_ai
11154 vec_all_ne(vector bool char __a, vector bool char __b)
11156 return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11159 static int __ATTRS_o_ai
11160 vec_all_ne(vector short __a, vector short __b)
11162 return __builtin_altivec_vcmpequh_p(__CR6_EQ, __a, __b);
11165 static int __ATTRS_o_ai
11166 vec_all_ne(vector short __a, vector bool short __b)
11168 return __builtin_altivec_vcmpequh_p(__CR6_EQ, __a, (vector short)__b);
11171 static int __ATTRS_o_ai
11172 vec_all_ne(vector unsigned short __a, vector unsigned short __b)
11175 __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11178 static int __ATTRS_o_ai
11179 vec_all_ne(vector unsigned short __a, vector bool short __b)
11182 __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11185 static int __ATTRS_o_ai
11186 vec_all_ne(vector bool short __a, vector short __b)
11189 __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11192 static int __ATTRS_o_ai
11193 vec_all_ne(vector bool short __a, vector unsigned short __b)
11196 __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11199 static int __ATTRS_o_ai
11200 vec_all_ne(vector bool short __a, vector bool short __b)
11203 __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11206 static int __ATTRS_o_ai
11207 vec_all_ne(vector pixel __a, vector pixel __b)
11210 __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11213 static int __ATTRS_o_ai
11214 vec_all_ne(vector int __a, vector int __b)
11216 return __builtin_altivec_vcmpequw_p(__CR6_EQ, __a, __b);
11219 static int __ATTRS_o_ai
11220 vec_all_ne(vector int __a, vector bool int __b)
11222 return __builtin_altivec_vcmpequw_p(__CR6_EQ, __a, (vector int)__b);
11225 static int __ATTRS_o_ai
11226 vec_all_ne(vector unsigned int __a, vector unsigned int __b)
11228 return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11231 static int __ATTRS_o_ai
11232 vec_all_ne(vector unsigned int __a, vector bool int __b)
11234 return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11237 static int __ATTRS_o_ai
11238 vec_all_ne(vector bool int __a, vector int __b)
11240 return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11243 static int __ATTRS_o_ai
11244 vec_all_ne(vector bool int __a, vector unsigned int __b)
11246 return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11249 static int __ATTRS_o_ai
11250 vec_all_ne(vector bool int __a, vector bool int __b)
11252 return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11255 static int __ATTRS_o_ai
11256 vec_all_ne(vector float __a, vector float __b)
11258 return __builtin_altivec_vcmpeqfp_p(__CR6_EQ, __a, __b);
11263 static int __attribute__((__always_inline__))
11264 vec_all_nge(vector float __a, vector float __b)
11266 return __builtin_altivec_vcmpgefp_p(__CR6_EQ, __a, __b);
11271 static int __attribute__((__always_inline__))
11272 vec_all_ngt(vector float __a, vector float __b)
11274 return __builtin_altivec_vcmpgtfp_p(__CR6_EQ, __a, __b);
11279 static int __attribute__((__always_inline__))
11280 vec_all_nle(vector float __a, vector float __b)
11282 return __builtin_altivec_vcmpgefp_p(__CR6_EQ, __b, __a);
11287 static int __attribute__((__always_inline__))
11288 vec_all_nlt(vector float __a, vector float __b)
11290 return __builtin_altivec_vcmpgtfp_p(__CR6_EQ, __b, __a);
11293 /* vec_all_numeric */
11295 static int __attribute__((__always_inline__))
11296 vec_all_numeric(vector float __a)
11298 return __builtin_altivec_vcmpeqfp_p(__CR6_LT, __a, __a);
11303 static int __ATTRS_o_ai
11304 vec_any_eq(vector signed char __a, vector signed char __b)
11307 __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11310 static int __ATTRS_o_ai
11311 vec_any_eq(vector signed char __a, vector bool char __b)
11314 __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11317 static int __ATTRS_o_ai
11318 vec_any_eq(vector unsigned char __a, vector unsigned char __b)
11321 __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11324 static int __ATTRS_o_ai
11325 vec_any_eq(vector unsigned char __a, vector bool char __b)
11328 __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11331 static int __ATTRS_o_ai
11332 vec_any_eq(vector bool char __a, vector signed char __b)
11335 __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11338 static int __ATTRS_o_ai
11339 vec_any_eq(vector bool char __a, vector unsigned char __b)
11342 __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11345 static int __ATTRS_o_ai
11346 vec_any_eq(vector bool char __a, vector bool char __b)
11349 __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11352 static int __ATTRS_o_ai
11353 vec_any_eq(vector short __a, vector short __b)
11355 return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, __a, __b);
11358 static int __ATTRS_o_ai
11359 vec_any_eq(vector short __a, vector bool short __b)
11361 return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, __a, (vector short)__b);
11364 static int __ATTRS_o_ai
11365 vec_any_eq(vector unsigned short __a, vector unsigned short __b)
11367 return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11369 (vector short)__b);
11372 static int __ATTRS_o_ai
11373 vec_any_eq(vector unsigned short __a, vector bool short __b)
11375 return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11377 (vector short)__b);
11380 static int __ATTRS_o_ai
11381 vec_any_eq(vector bool short __a, vector short __b)
11383 return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11385 (vector short)__b);
11388 static int __ATTRS_o_ai
11389 vec_any_eq(vector bool short __a, vector unsigned short __b)
11391 return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11393 (vector short)__b);
11396 static int __ATTRS_o_ai
11397 vec_any_eq(vector bool short __a, vector bool short __b)
11399 return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11401 (vector short)__b);
11404 static int __ATTRS_o_ai
11405 vec_any_eq(vector pixel __a, vector pixel __b)
11407 return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11409 (vector short)__b);
11412 static int __ATTRS_o_ai
11413 vec_any_eq(vector int __a, vector int __b)
11415 return __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, __a, __b);
11418 static int __ATTRS_o_ai
11419 vec_any_eq(vector int __a, vector bool int __b)
11421 return __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, __a, (vector int)__b);
11424 static int __ATTRS_o_ai
11425 vec_any_eq(vector unsigned int __a, vector unsigned int __b)
11428 __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11431 static int __ATTRS_o_ai
11432 vec_any_eq(vector unsigned int __a, vector bool int __b)
11435 __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11438 static int __ATTRS_o_ai
11439 vec_any_eq(vector bool int __a, vector int __b)
11442 __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11445 static int __ATTRS_o_ai
11446 vec_any_eq(vector bool int __a, vector unsigned int __b)
11449 __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11452 static int __ATTRS_o_ai
11453 vec_any_eq(vector bool int __a, vector bool int __b)
11456 __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11459 static int __ATTRS_o_ai
11460 vec_any_eq(vector float __a, vector float __b)
11462 return __builtin_altivec_vcmpeqfp_p(__CR6_EQ_REV, __a, __b);
11467 static int __ATTRS_o_ai
11468 vec_any_ge(vector signed char __a, vector signed char __b)
11470 return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __b, __a);
11473 static int __ATTRS_o_ai
11474 vec_any_ge(vector signed char __a, vector bool char __b)
11476 return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, (vector signed char)__b, __a);
11479 static int __ATTRS_o_ai
11480 vec_any_ge(vector unsigned char __a, vector unsigned char __b)
11482 return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __b, __a);
11485 static int __ATTRS_o_ai
11486 vec_any_ge(vector unsigned char __a, vector bool char __b)
11488 return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, (vector unsigned char)__b, __a);
11491 static int __ATTRS_o_ai
11492 vec_any_ge(vector bool char __a, vector signed char __b)
11494 return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
11495 (vector unsigned char)__b,
11496 (vector unsigned char)__a);
11499 static int __ATTRS_o_ai
11500 vec_any_ge(vector bool char __a, vector unsigned char __b)
11502 return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __b, (vector unsigned char)__a);
11505 static int __ATTRS_o_ai
11506 vec_any_ge(vector bool char __a, vector bool char __b)
11508 return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
11509 (vector unsigned char)__b,
11510 (vector unsigned char)__a);
11513 static int __ATTRS_o_ai
11514 vec_any_ge(vector short __a, vector short __b)
11516 return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __b, __a);
11519 static int __ATTRS_o_ai
11520 vec_any_ge(vector short __a, vector bool short __b)
11522 return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, (vector short)__b, __a);
11525 static int __ATTRS_o_ai
11526 vec_any_ge(vector unsigned short __a, vector unsigned short __b)
11528 return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __b, __a);
11531 static int __ATTRS_o_ai
11532 vec_any_ge(vector unsigned short __a, vector bool short __b)
11535 __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, (vector unsigned short)__b, __a);
11538 static int __ATTRS_o_ai
11539 vec_any_ge(vector bool short __a, vector short __b)
11541 return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
11542 (vector unsigned short)__b,
11543 (vector unsigned short)__a);
11546 static int __ATTRS_o_ai
11547 vec_any_ge(vector bool short __a, vector unsigned short __b)
11550 __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __b, (vector unsigned short)__a);
11553 static int __ATTRS_o_ai
11554 vec_any_ge(vector bool short __a, vector bool short __b)
11556 return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
11557 (vector unsigned short)__b,
11558 (vector unsigned short)__a);
11561 static int __ATTRS_o_ai
11562 vec_any_ge(vector int __a, vector int __b)
11564 return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __b, __a);
11567 static int __ATTRS_o_ai
11568 vec_any_ge(vector int __a, vector bool int __b)
11570 return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, (vector int)__b, __a);
11573 static int __ATTRS_o_ai
11574 vec_any_ge(vector unsigned int __a, vector unsigned int __b)
11576 return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __b, __a);
11579 static int __ATTRS_o_ai
11580 vec_any_ge(vector unsigned int __a, vector bool int __b)
11582 return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, (vector unsigned int)__b, __a);
11585 static int __ATTRS_o_ai
11586 vec_any_ge(vector bool int __a, vector int __b)
11588 return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
11589 (vector unsigned int)__b,
11590 (vector unsigned int)__a);
11593 static int __ATTRS_o_ai
11594 vec_any_ge(vector bool int __a, vector unsigned int __b)
11596 return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __b, (vector unsigned int)__a);
11599 static int __ATTRS_o_ai
11600 vec_any_ge(vector bool int __a, vector bool int __b)
11602 return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
11603 (vector unsigned int)__b,
11604 (vector unsigned int)__a);
11607 static int __ATTRS_o_ai
11608 vec_any_ge(vector float __a, vector float __b)
11610 return __builtin_altivec_vcmpgefp_p(__CR6_EQ_REV, __a, __b);
11615 static int __ATTRS_o_ai
11616 vec_any_gt(vector signed char __a, vector signed char __b)
11618 return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __a, __b);
11621 static int __ATTRS_o_ai
11622 vec_any_gt(vector signed char __a, vector bool char __b)
11624 return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __a, (vector signed char)__b);
11627 static int __ATTRS_o_ai
11628 vec_any_gt(vector unsigned char __a, vector unsigned char __b)
11630 return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __a, __b);
11633 static int __ATTRS_o_ai
11634 vec_any_gt(vector unsigned char __a, vector bool char __b)
11637 __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __a, (vector unsigned char)__b);
11640 static int __ATTRS_o_ai
11641 vec_any_gt(vector bool char __a, vector signed char __b)
11643 return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
11644 (vector unsigned char)__a,
11645 (vector unsigned char)__b);
11648 static int __ATTRS_o_ai
11649 vec_any_gt(vector bool char __a, vector unsigned char __b)
11652 __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, (vector unsigned char)__a, __b);
11655 static int __ATTRS_o_ai
11656 vec_any_gt(vector bool char __a, vector bool char __b)
11658 return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
11659 (vector unsigned char)__a,
11660 (vector unsigned char)__b);
11663 static int __ATTRS_o_ai
11664 vec_any_gt(vector short __a, vector short __b)
11666 return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __a, __b);
11669 static int __ATTRS_o_ai
11670 vec_any_gt(vector short __a, vector bool short __b)
11672 return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __a, (vector short)__b);
11675 static int __ATTRS_o_ai
11676 vec_any_gt(vector unsigned short __a, vector unsigned short __b)
11678 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __a, __b);
11681 static int __ATTRS_o_ai
11682 vec_any_gt(vector unsigned short __a, vector bool short __b)
11685 __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __a, (vector unsigned short)__b);
11688 static int __ATTRS_o_ai
11689 vec_any_gt(vector bool short __a, vector short __b)
11691 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
11692 (vector unsigned short)__a,
11693 (vector unsigned short)__b);
11696 static int __ATTRS_o_ai
11697 vec_any_gt(vector bool short __a, vector unsigned short __b)
11700 __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, (vector unsigned short)__a, __b);
11703 static int __ATTRS_o_ai
11704 vec_any_gt(vector bool short __a, vector bool short __b)
11706 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
11707 (vector unsigned short)__a,
11708 (vector unsigned short)__b);
11711 static int __ATTRS_o_ai
11712 vec_any_gt(vector int __a, vector int __b)
11714 return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __a, __b);
11717 static int __ATTRS_o_ai
11718 vec_any_gt(vector int __a, vector bool int __b)
11720 return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __a, (vector int)__b);
11723 static int __ATTRS_o_ai
11724 vec_any_gt(vector unsigned int __a, vector unsigned int __b)
11726 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __a, __b);
11729 static int __ATTRS_o_ai
11730 vec_any_gt(vector unsigned int __a, vector bool int __b)
11732 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __a, (vector unsigned int)__b);
11735 static int __ATTRS_o_ai
11736 vec_any_gt(vector bool int __a, vector int __b)
11738 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
11739 (vector unsigned int)__a,
11740 (vector unsigned int)__b);
11743 static int __ATTRS_o_ai
11744 vec_any_gt(vector bool int __a, vector unsigned int __b)
11746 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, (vector unsigned int)__a, __b);
11749 static int __ATTRS_o_ai
11750 vec_any_gt(vector bool int __a, vector bool int __b)
11752 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
11753 (vector unsigned int)__a,
11754 (vector unsigned int)__b);
11757 static int __ATTRS_o_ai
11758 vec_any_gt(vector float __a, vector float __b)
11760 return __builtin_altivec_vcmpgtfp_p(__CR6_EQ_REV, __a, __b);
11765 static int __ATTRS_o_ai
11766 vec_any_le(vector signed char __a, vector signed char __b)
11768 return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __a, __b);
11771 static int __ATTRS_o_ai
11772 vec_any_le(vector signed char __a, vector bool char __b)
11774 return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __a, (vector signed char)__b);
11777 static int __ATTRS_o_ai
11778 vec_any_le(vector unsigned char __a, vector unsigned char __b)
11780 return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __a, __b);
11783 static int __ATTRS_o_ai
11784 vec_any_le(vector unsigned char __a, vector bool char __b)
11787 __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __a, (vector unsigned char)__b);
11790 static int __ATTRS_o_ai
11791 vec_any_le(vector bool char __a, vector signed char __b)
11793 return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
11794 (vector unsigned char)__a,
11795 (vector unsigned char)__b);
11798 static int __ATTRS_o_ai
11799 vec_any_le(vector bool char __a, vector unsigned char __b)
11802 __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, (vector unsigned char)__a, __b);
11805 static int __ATTRS_o_ai
11806 vec_any_le(vector bool char __a, vector bool char __b)
11808 return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
11809 (vector unsigned char)__a,
11810 (vector unsigned char)__b);
11813 static int __ATTRS_o_ai
11814 vec_any_le(vector short __a, vector short __b)
11816 return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __a, __b);
11819 static int __ATTRS_o_ai
11820 vec_any_le(vector short __a, vector bool short __b)
11822 return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __a, (vector short)__b);
11825 static int __ATTRS_o_ai
11826 vec_any_le(vector unsigned short __a, vector unsigned short __b)
11828 return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __a, __b);
11831 static int __ATTRS_o_ai
11832 vec_any_le(vector unsigned short __a, vector bool short __b)
11835 __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __a, (vector unsigned short)__b);
11838 static int __ATTRS_o_ai
11839 vec_any_le(vector bool short __a, vector short __b)
11841 return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
11842 (vector unsigned short)__a,
11843 (vector unsigned short)__b);
11846 static int __ATTRS_o_ai
11847 vec_any_le(vector bool short __a, vector unsigned short __b)
11850 __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, (vector unsigned short)__a, __b);
11853 static int __ATTRS_o_ai
11854 vec_any_le(vector bool short __a, vector bool short __b)
11856 return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
11857 (vector unsigned short)__a,
11858 (vector unsigned short)__b);
11861 static int __ATTRS_o_ai
11862 vec_any_le(vector int __a, vector int __b)
11864 return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __a, __b);
11867 static int __ATTRS_o_ai
11868 vec_any_le(vector int __a, vector bool int __b)
11870 return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __a, (vector int)__b);
11873 static int __ATTRS_o_ai
11874 vec_any_le(vector unsigned int __a, vector unsigned int __b)
11876 return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __a, __b);
11879 static int __ATTRS_o_ai
11880 vec_any_le(vector unsigned int __a, vector bool int __b)
11882 return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __a, (vector unsigned int)__b);
11885 static int __ATTRS_o_ai
11886 vec_any_le(vector bool int __a, vector int __b)
11888 return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
11889 (vector unsigned int)__a,
11890 (vector unsigned int)__b);
11893 static int __ATTRS_o_ai
11894 vec_any_le(vector bool int __a, vector unsigned int __b)
11896 return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, (vector unsigned int)__a, __b);
11899 static int __ATTRS_o_ai
11900 vec_any_le(vector bool int __a, vector bool int __b)
11902 return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
11903 (vector unsigned int)__a,
11904 (vector unsigned int)__b);
11907 static int __ATTRS_o_ai
11908 vec_any_le(vector float __a, vector float __b)
11910 return __builtin_altivec_vcmpgefp_p(__CR6_EQ_REV, __b, __a);
11915 static int __ATTRS_o_ai
11916 vec_any_lt(vector signed char __a, vector signed char __b)
11918 return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __b, __a);
11921 static int __ATTRS_o_ai
11922 vec_any_lt(vector signed char __a, vector bool char __b)
11924 return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, (vector signed char)__b, __a);
11927 static int __ATTRS_o_ai
11928 vec_any_lt(vector unsigned char __a, vector unsigned char __b)
11930 return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __b, __a);
11933 static int __ATTRS_o_ai
11934 vec_any_lt(vector unsigned char __a, vector bool char __b)
11937 __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, (vector unsigned char)__b, __a);
11940 static int __ATTRS_o_ai
11941 vec_any_lt(vector bool char __a, vector signed char __b)
11943 return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
11944 (vector unsigned char)__b,
11945 (vector unsigned char)__a);
11948 static int __ATTRS_o_ai
11949 vec_any_lt(vector bool char __a, vector unsigned char __b)
11952 __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __b, (vector unsigned char)__a);
11955 static int __ATTRS_o_ai
11956 vec_any_lt(vector bool char __a, vector bool char __b)
11958 return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
11959 (vector unsigned char)__b,
11960 (vector unsigned char)__a);
11963 static int __ATTRS_o_ai
11964 vec_any_lt(vector short __a, vector short __b)
11966 return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __b, __a);
11969 static int __ATTRS_o_ai
11970 vec_any_lt(vector short __a, vector bool short __b)
11972 return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, (vector short)__b, __a);
11975 static int __ATTRS_o_ai
11976 vec_any_lt(vector unsigned short __a, vector unsigned short __b)
11978 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __b, __a);
11981 static int __ATTRS_o_ai
11982 vec_any_lt(vector unsigned short __a, vector bool short __b)
11985 __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, (vector unsigned short)__b, __a);
11988 static int __ATTRS_o_ai
11989 vec_any_lt(vector bool short __a, vector short __b)
11991 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
11992 (vector unsigned short)__b,
11993 (vector unsigned short)__a);
11996 static int __ATTRS_o_ai
11997 vec_any_lt(vector bool short __a, vector unsigned short __b)
12000 __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __b, (vector unsigned short)__a);
12003 static int __ATTRS_o_ai
12004 vec_any_lt(vector bool short __a, vector bool short __b)
12006 return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
12007 (vector unsigned short)__b,
12008 (vector unsigned short)__a);
12011 static int __ATTRS_o_ai
12012 vec_any_lt(vector int __a, vector int __b)
12014 return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __b, __a);
12017 static int __ATTRS_o_ai
12018 vec_any_lt(vector int __a, vector bool int __b)
12020 return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, (vector int)__b, __a);
12023 static int __ATTRS_o_ai
12024 vec_any_lt(vector unsigned int __a, vector unsigned int __b)
12026 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __b, __a);
12029 static int __ATTRS_o_ai
12030 vec_any_lt(vector unsigned int __a, vector bool int __b)
12032 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, (vector unsigned int)__b, __a);
12035 static int __ATTRS_o_ai
12036 vec_any_lt(vector bool int __a, vector int __b)
12038 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
12039 (vector unsigned int)__b,
12040 (vector unsigned int)__a);
12043 static int __ATTRS_o_ai
12044 vec_any_lt(vector bool int __a, vector unsigned int __b)
12046 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __b, (vector unsigned int)__a);
12049 static int __ATTRS_o_ai
12050 vec_any_lt(vector bool int __a, vector bool int __b)
12052 return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
12053 (vector unsigned int)__b,
12054 (vector unsigned int)__a);
12057 static int __ATTRS_o_ai
12058 vec_any_lt(vector float __a, vector float __b)
12060 return __builtin_altivec_vcmpgtfp_p(__CR6_EQ_REV, __b, __a);
12065 static int __attribute__((__always_inline__))
12066 vec_any_nan(vector float __a)
12068 return __builtin_altivec_vcmpeqfp_p(__CR6_LT_REV, __a, __a);
12073 static int __ATTRS_o_ai
12074 vec_any_ne(vector signed char __a, vector signed char __b)
12077 __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12080 static int __ATTRS_o_ai
12081 vec_any_ne(vector signed char __a, vector bool char __b)
12084 __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12087 static int __ATTRS_o_ai
12088 vec_any_ne(vector unsigned char __a, vector unsigned char __b)
12091 __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12094 static int __ATTRS_o_ai
12095 vec_any_ne(vector unsigned char __a, vector bool char __b)
12098 __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12101 static int __ATTRS_o_ai
12102 vec_any_ne(vector bool char __a, vector signed char __b)
12105 __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12108 static int __ATTRS_o_ai
12109 vec_any_ne(vector bool char __a, vector unsigned char __b)
12112 __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12115 static int __ATTRS_o_ai
12116 vec_any_ne(vector bool char __a, vector bool char __b)
12119 __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12122 static int __ATTRS_o_ai
12123 vec_any_ne(vector short __a, vector short __b)
12125 return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, __a, __b);
12128 static int __ATTRS_o_ai
12129 vec_any_ne(vector short __a, vector bool short __b)
12131 return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, __a, (vector short)__b);
12134 static int __ATTRS_o_ai
12135 vec_any_ne(vector unsigned short __a, vector unsigned short __b)
12137 return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12139 (vector short)__b);
12142 static int __ATTRS_o_ai
12143 vec_any_ne(vector unsigned short __a, vector bool short __b)
12145 return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12147 (vector short)__b);
12150 static int __ATTRS_o_ai
12151 vec_any_ne(vector bool short __a, vector short __b)
12153 return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12155 (vector short)__b);
12158 static int __ATTRS_o_ai
12159 vec_any_ne(vector bool short __a, vector unsigned short __b)
12161 return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12163 (vector short)__b);
12166 static int __ATTRS_o_ai
12167 vec_any_ne(vector bool short __a, vector bool short __b)
12169 return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12171 (vector short)__b);
12174 static int __ATTRS_o_ai
12175 vec_any_ne(vector pixel __a, vector pixel __b)
12177 return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12179 (vector short)__b);
12182 static int __ATTRS_o_ai
12183 vec_any_ne(vector int __a, vector int __b)
12185 return __builtin_altivec_vcmpequw_p(__CR6_LT_REV, __a, __b);
12188 static int __ATTRS_o_ai
12189 vec_any_ne(vector int __a, vector bool int __b)
12191 return __builtin_altivec_vcmpequw_p(__CR6_LT_REV, __a, (vector int)__b);
12194 static int __ATTRS_o_ai
12195 vec_any_ne(vector unsigned int __a, vector unsigned int __b)
12198 __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12201 static int __ATTRS_o_ai
12202 vec_any_ne(vector unsigned int __a, vector bool int __b)
12205 __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12208 static int __ATTRS_o_ai
12209 vec_any_ne(vector bool int __a, vector int __b)
12212 __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12215 static int __ATTRS_o_ai
12216 vec_any_ne(vector bool int __a, vector unsigned int __b)
12219 __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12222 static int __ATTRS_o_ai
12223 vec_any_ne(vector bool int __a, vector bool int __b)
12226 __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12229 static int __ATTRS_o_ai
12230 vec_any_ne(vector float __a, vector float __b)
12232 return __builtin_altivec_vcmpeqfp_p(__CR6_LT_REV, __a, __b);
12237 static int __attribute__((__always_inline__))
12238 vec_any_nge(vector float __a, vector float __b)
12240 return __builtin_altivec_vcmpgefp_p(__CR6_LT_REV, __a, __b);
12245 static int __attribute__((__always_inline__))
12246 vec_any_ngt(vector float __a, vector float __b)
12248 return __builtin_altivec_vcmpgtfp_p(__CR6_LT_REV, __a, __b);
12253 static int __attribute__((__always_inline__))
12254 vec_any_nle(vector float __a, vector float __b)
12256 return __builtin_altivec_vcmpgefp_p(__CR6_LT_REV, __b, __a);
12261 static int __attribute__((__always_inline__))
12262 vec_any_nlt(vector float __a, vector float __b)
12264 return __builtin_altivec_vcmpgtfp_p(__CR6_LT_REV, __b, __a);
12267 /* vec_any_numeric */
12269 static int __attribute__((__always_inline__))
12270 vec_any_numeric(vector float __a)
12272 return __builtin_altivec_vcmpeqfp_p(__CR6_EQ_REV, __a, __a);
12277 static int __attribute__((__always_inline__))
12278 vec_any_out(vector float __a, vector float __b)
12280 return __builtin_altivec_vcmpbfp_p(__CR6_EQ_REV, __a, __b);
12283 #undef __ATTRS_o_ai
12285 #endif /* __ALTIVEC_H */