• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*===---- altivec.h - Standard header for type generic math ---------------===*\
2  *
3  * Permission is hereby granted, free of charge, to any person obtaining a copy
4  * of this software and associated documentation files (the "Software"), to deal
5  * in the Software without restriction, including without limitation the rights
6  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7  * copies of the Software, and to permit persons to whom the Software is
8  * furnished to do so, subject to the following conditions:
9  *
10  * The above copyright notice and this permission notice shall be included in
11  * all copies or substantial portions of the Software.
12  *
13  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19  * THE SOFTWARE.
20  *
21 \*===----------------------------------------------------------------------===*/
22 
23 #ifndef __ALTIVEC_H
24 #define __ALTIVEC_H
25 
26 #ifndef __ALTIVEC__
27 #error "AltiVec support not enabled"
28 #endif
29 
30 /* constants for mapping CR6 bits to predicate result. */
31 
32 #define __CR6_EQ     0
33 #define __CR6_EQ_REV 1
34 #define __CR6_LT     2
35 #define __CR6_LT_REV 3
36 
37 #define __ATTRS_o_ai __attribute__((__overloadable__, __always_inline__))
38 
39 static vector signed char __ATTRS_o_ai
40 vec_perm(vector signed char __a, vector signed char __b, vector unsigned char __c);
41 
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);
46 
47 static vector bool char __ATTRS_o_ai
48 vec_perm(vector bool char __a, vector bool char __b, vector unsigned char __c);
49 
50 static vector short __ATTRS_o_ai
51 vec_perm(vector short __a, vector short __b, vector unsigned char __c);
52 
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);
57 
58 static vector bool short __ATTRS_o_ai
59 vec_perm(vector bool short __a, vector bool short __b, vector unsigned char __c);
60 
61 static vector pixel __ATTRS_o_ai
62 vec_perm(vector pixel __a, vector pixel __b, vector unsigned char __c);
63 
64 static vector int __ATTRS_o_ai
65 vec_perm(vector int __a, vector int __b, vector unsigned char __c);
66 
67 static vector unsigned int __ATTRS_o_ai
68 vec_perm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c);
69 
70 static vector bool int __ATTRS_o_ai
71 vec_perm(vector bool int __a, vector bool int __b, vector unsigned char __c);
72 
73 static vector float __ATTRS_o_ai
74 vec_perm(vector float __a, vector float __b, vector unsigned char __c);
75 
76 static vector unsigned char __ATTRS_o_ai
77 vec_xor(vector unsigned char __a, vector unsigned char __b);
78 
79 /* vec_abs */
80 
81 #define __builtin_altivec_abs_v16qi vec_abs
82 #define __builtin_altivec_abs_v8hi  vec_abs
83 #define __builtin_altivec_abs_v4si  vec_abs
84 
85 static vector signed char __ATTRS_o_ai
vec_abs(vector signed char __a)86 vec_abs(vector signed char __a)
87 {
88   return __builtin_altivec_vmaxsb(__a, -__a);
89 }
90 
91 static vector signed short __ATTRS_o_ai
vec_abs(vector signed short __a)92 vec_abs(vector signed short __a)
93 {
94   return __builtin_altivec_vmaxsh(__a, -__a);
95 }
96 
97 static vector signed int __ATTRS_o_ai
vec_abs(vector signed int __a)98 vec_abs(vector signed int __a)
99 {
100   return __builtin_altivec_vmaxsw(__a, -__a);
101 }
102 
103 static vector float __ATTRS_o_ai
vec_abs(vector float __a)104 vec_abs(vector float __a)
105 {
106   vector unsigned int __res = (vector unsigned int)__a
107                             & (vector unsigned int)(0x7FFFFFFF);
108   return (vector float)__res;
109 }
110 
111 /* vec_abss */
112 
113 #define __builtin_altivec_abss_v16qi vec_abss
114 #define __builtin_altivec_abss_v8hi  vec_abss
115 #define __builtin_altivec_abss_v4si  vec_abss
116 
117 static vector signed char __ATTRS_o_ai
vec_abss(vector signed char __a)118 vec_abss(vector signed char __a)
119 {
120   return __builtin_altivec_vmaxsb
121            (__a, __builtin_altivec_vsubsbs((vector signed char)(0), __a));
122 }
123 
124 static vector signed short __ATTRS_o_ai
vec_abss(vector signed short __a)125 vec_abss(vector signed short __a)
126 {
127   return __builtin_altivec_vmaxsh
128            (__a, __builtin_altivec_vsubshs((vector signed short)(0), __a));
129 }
130 
131 static vector signed int __ATTRS_o_ai
vec_abss(vector signed int __a)132 vec_abss(vector signed int __a)
133 {
134   return __builtin_altivec_vmaxsw
135            (__a, __builtin_altivec_vsubsws((vector signed int)(0), __a));
136 }
137 
138 /* vec_add */
139 
140 static vector signed char __ATTRS_o_ai
vec_add(vector signed char __a,vector signed char __b)141 vec_add(vector signed char __a, vector signed char __b)
142 {
143   return __a + __b;
144 }
145 
146 static vector signed char __ATTRS_o_ai
vec_add(vector bool char __a,vector signed char __b)147 vec_add(vector bool char __a, vector signed char __b)
148 {
149   return (vector signed char)__a + __b;
150 }
151 
152 static vector signed char __ATTRS_o_ai
vec_add(vector signed char __a,vector bool char __b)153 vec_add(vector signed char __a, vector bool char __b)
154 {
155   return __a + (vector signed char)__b;
156 }
157 
158 static vector unsigned char __ATTRS_o_ai
vec_add(vector unsigned char __a,vector unsigned char __b)159 vec_add(vector unsigned char __a, vector unsigned char __b)
160 {
161   return __a + __b;
162 }
163 
164 static vector unsigned char __ATTRS_o_ai
vec_add(vector bool char __a,vector unsigned char __b)165 vec_add(vector bool char __a, vector unsigned char __b)
166 {
167   return (vector unsigned char)__a + __b;
168 }
169 
170 static vector unsigned char __ATTRS_o_ai
vec_add(vector unsigned char __a,vector bool char __b)171 vec_add(vector unsigned char __a, vector bool char __b)
172 {
173   return __a + (vector unsigned char)__b;
174 }
175 
176 static vector short __ATTRS_o_ai
vec_add(vector short __a,vector short __b)177 vec_add(vector short __a, vector short __b)
178 {
179   return __a + __b;
180 }
181 
182 static vector short __ATTRS_o_ai
vec_add(vector bool short __a,vector short __b)183 vec_add(vector bool short __a, vector short __b)
184 {
185   return (vector short)__a + __b;
186 }
187 
188 static vector short __ATTRS_o_ai
vec_add(vector short __a,vector bool short __b)189 vec_add(vector short __a, vector bool short __b)
190 {
191   return __a + (vector short)__b;
192 }
193 
194 static vector unsigned short __ATTRS_o_ai
vec_add(vector unsigned short __a,vector unsigned short __b)195 vec_add(vector unsigned short __a, vector unsigned short __b)
196 {
197   return __a + __b;
198 }
199 
200 static vector unsigned short __ATTRS_o_ai
vec_add(vector bool short __a,vector unsigned short __b)201 vec_add(vector bool short __a, vector unsigned short __b)
202 {
203   return (vector unsigned short)__a + __b;
204 }
205 
206 static vector unsigned short __ATTRS_o_ai
vec_add(vector unsigned short __a,vector bool short __b)207 vec_add(vector unsigned short __a, vector bool short __b)
208 {
209   return __a + (vector unsigned short)__b;
210 }
211 
212 static vector int __ATTRS_o_ai
vec_add(vector int __a,vector int __b)213 vec_add(vector int __a, vector int __b)
214 {
215   return __a + __b;
216 }
217 
218 static vector int __ATTRS_o_ai
vec_add(vector bool int __a,vector int __b)219 vec_add(vector bool int __a, vector int __b)
220 {
221   return (vector int)__a + __b;
222 }
223 
224 static vector int __ATTRS_o_ai
vec_add(vector int __a,vector bool int __b)225 vec_add(vector int __a, vector bool int __b)
226 {
227   return __a + (vector int)__b;
228 }
229 
230 static vector unsigned int __ATTRS_o_ai
vec_add(vector unsigned int __a,vector unsigned int __b)231 vec_add(vector unsigned int __a, vector unsigned int __b)
232 {
233   return __a + __b;
234 }
235 
236 static vector unsigned int __ATTRS_o_ai
vec_add(vector bool int __a,vector unsigned int __b)237 vec_add(vector bool int __a, vector unsigned int __b)
238 {
239   return (vector unsigned int)__a + __b;
240 }
241 
242 static vector unsigned int __ATTRS_o_ai
vec_add(vector unsigned int __a,vector bool int __b)243 vec_add(vector unsigned int __a, vector bool int __b)
244 {
245   return __a + (vector unsigned int)__b;
246 }
247 
248 static vector float __ATTRS_o_ai
vec_add(vector float __a,vector float __b)249 vec_add(vector float __a, vector float __b)
250 {
251   return __a + __b;
252 }
253 
254 /* vec_vaddubm */
255 
256 #define __builtin_altivec_vaddubm vec_vaddubm
257 
258 static vector signed char __ATTRS_o_ai
vec_vaddubm(vector signed char __a,vector signed char __b)259 vec_vaddubm(vector signed char __a, vector signed char __b)
260 {
261   return __a + __b;
262 }
263 
264 static vector signed char __ATTRS_o_ai
vec_vaddubm(vector bool char __a,vector signed char __b)265 vec_vaddubm(vector bool char __a, vector signed char __b)
266 {
267   return (vector signed char)__a + __b;
268 }
269 
270 static vector signed char __ATTRS_o_ai
vec_vaddubm(vector signed char __a,vector bool char __b)271 vec_vaddubm(vector signed char __a, vector bool char __b)
272 {
273   return __a + (vector signed char)__b;
274 }
275 
276 static vector unsigned char __ATTRS_o_ai
vec_vaddubm(vector unsigned char __a,vector unsigned char __b)277 vec_vaddubm(vector unsigned char __a, vector unsigned char __b)
278 {
279   return __a + __b;
280 }
281 
282 static vector unsigned char __ATTRS_o_ai
vec_vaddubm(vector bool char __a,vector unsigned char __b)283 vec_vaddubm(vector bool char __a, vector unsigned char __b)
284 {
285   return (vector unsigned char)__a + __b;
286 }
287 
288 static vector unsigned char __ATTRS_o_ai
vec_vaddubm(vector unsigned char __a,vector bool char __b)289 vec_vaddubm(vector unsigned char __a, vector bool char __b)
290 {
291   return __a + (vector unsigned char)__b;
292 }
293 
294 /* vec_vadduhm */
295 
296 #define __builtin_altivec_vadduhm vec_vadduhm
297 
298 static vector short __ATTRS_o_ai
vec_vadduhm(vector short __a,vector short __b)299 vec_vadduhm(vector short __a, vector short __b)
300 {
301   return __a + __b;
302 }
303 
304 static vector short __ATTRS_o_ai
vec_vadduhm(vector bool short __a,vector short __b)305 vec_vadduhm(vector bool short __a, vector short __b)
306 {
307   return (vector short)__a + __b;
308 }
309 
310 static vector short __ATTRS_o_ai
vec_vadduhm(vector short __a,vector bool short __b)311 vec_vadduhm(vector short __a, vector bool short __b)
312 {
313   return __a + (vector short)__b;
314 }
315 
316 static vector unsigned short __ATTRS_o_ai
vec_vadduhm(vector unsigned short __a,vector unsigned short __b)317 vec_vadduhm(vector unsigned short __a, vector unsigned short __b)
318 {
319   return __a + __b;
320 }
321 
322 static vector unsigned short __ATTRS_o_ai
vec_vadduhm(vector bool short __a,vector unsigned short __b)323 vec_vadduhm(vector bool short __a, vector unsigned short __b)
324 {
325   return (vector unsigned short)__a + __b;
326 }
327 
328 static vector unsigned short __ATTRS_o_ai
vec_vadduhm(vector unsigned short __a,vector bool short __b)329 vec_vadduhm(vector unsigned short __a, vector bool short __b)
330 {
331   return __a + (vector unsigned short)__b;
332 }
333 
334 /* vec_vadduwm */
335 
336 #define __builtin_altivec_vadduwm vec_vadduwm
337 
338 static vector int __ATTRS_o_ai
vec_vadduwm(vector int __a,vector int __b)339 vec_vadduwm(vector int __a, vector int __b)
340 {
341   return __a + __b;
342 }
343 
344 static vector int __ATTRS_o_ai
vec_vadduwm(vector bool int __a,vector int __b)345 vec_vadduwm(vector bool int __a, vector int __b)
346 {
347   return (vector int)__a + __b;
348 }
349 
350 static vector int __ATTRS_o_ai
vec_vadduwm(vector int __a,vector bool int __b)351 vec_vadduwm(vector int __a, vector bool int __b)
352 {
353   return __a + (vector int)__b;
354 }
355 
356 static vector unsigned int __ATTRS_o_ai
vec_vadduwm(vector unsigned int __a,vector unsigned int __b)357 vec_vadduwm(vector unsigned int __a, vector unsigned int __b)
358 {
359   return __a + __b;
360 }
361 
362 static vector unsigned int __ATTRS_o_ai
vec_vadduwm(vector bool int __a,vector unsigned int __b)363 vec_vadduwm(vector bool int __a, vector unsigned int __b)
364 {
365   return (vector unsigned int)__a + __b;
366 }
367 
368 static vector unsigned int __ATTRS_o_ai
vec_vadduwm(vector unsigned int __a,vector bool int __b)369 vec_vadduwm(vector unsigned int __a, vector bool int __b)
370 {
371   return __a + (vector unsigned int)__b;
372 }
373 
374 /* vec_vaddfp */
375 
376 #define __builtin_altivec_vaddfp  vec_vaddfp
377 
378 static vector float __attribute__((__always_inline__))
vec_vaddfp(vector float __a,vector float __b)379 vec_vaddfp(vector float __a, vector float __b)
380 {
381   return __a + __b;
382 }
383 
384 /* vec_addc */
385 
386 static vector unsigned int __attribute__((__always_inline__))
vec_addc(vector unsigned int __a,vector unsigned int __b)387 vec_addc(vector unsigned int __a, vector unsigned int __b)
388 {
389   return __builtin_altivec_vaddcuw(__a, __b);
390 }
391 
392 /* vec_vaddcuw */
393 
394 static vector unsigned int __attribute__((__always_inline__))
vec_vaddcuw(vector unsigned int __a,vector unsigned int __b)395 vec_vaddcuw(vector unsigned int __a, vector unsigned int __b)
396 {
397   return __builtin_altivec_vaddcuw(__a, __b);
398 }
399 
400 /* vec_adds */
401 
402 static vector signed char __ATTRS_o_ai
vec_adds(vector signed char __a,vector signed char __b)403 vec_adds(vector signed char __a, vector signed char __b)
404 {
405   return __builtin_altivec_vaddsbs(__a, __b);
406 }
407 
408 static vector signed char __ATTRS_o_ai
vec_adds(vector bool char __a,vector signed char __b)409 vec_adds(vector bool char __a, vector signed char __b)
410 {
411   return __builtin_altivec_vaddsbs((vector signed char)__a, __b);
412 }
413 
414 static vector signed char __ATTRS_o_ai
vec_adds(vector signed char __a,vector bool char __b)415 vec_adds(vector signed char __a, vector bool char __b)
416 {
417   return __builtin_altivec_vaddsbs(__a, (vector signed char)__b);
418 }
419 
420 static vector unsigned char __ATTRS_o_ai
vec_adds(vector unsigned char __a,vector unsigned char __b)421 vec_adds(vector unsigned char __a, vector unsigned char __b)
422 {
423   return __builtin_altivec_vaddubs(__a, __b);
424 }
425 
426 static vector unsigned char __ATTRS_o_ai
vec_adds(vector bool char __a,vector unsigned char __b)427 vec_adds(vector bool char __a, vector unsigned char __b)
428 {
429   return __builtin_altivec_vaddubs((vector unsigned char)__a, __b);
430 }
431 
432 static vector unsigned char __ATTRS_o_ai
vec_adds(vector unsigned char __a,vector bool char __b)433 vec_adds(vector unsigned char __a, vector bool char __b)
434 {
435   return __builtin_altivec_vaddubs(__a, (vector unsigned char)__b);
436 }
437 
438 static vector short __ATTRS_o_ai
vec_adds(vector short __a,vector short __b)439 vec_adds(vector short __a, vector short __b)
440 {
441   return __builtin_altivec_vaddshs(__a, __b);
442 }
443 
444 static vector short __ATTRS_o_ai
vec_adds(vector bool short __a,vector short __b)445 vec_adds(vector bool short __a, vector short __b)
446 {
447   return __builtin_altivec_vaddshs((vector short)__a, __b);
448 }
449 
450 static vector short __ATTRS_o_ai
vec_adds(vector short __a,vector bool short __b)451 vec_adds(vector short __a, vector bool short __b)
452 {
453   return __builtin_altivec_vaddshs(__a, (vector short)__b);
454 }
455 
456 static vector unsigned short __ATTRS_o_ai
vec_adds(vector unsigned short __a,vector unsigned short __b)457 vec_adds(vector unsigned short __a, vector unsigned short __b)
458 {
459   return __builtin_altivec_vadduhs(__a, __b);
460 }
461 
462 static vector unsigned short __ATTRS_o_ai
vec_adds(vector bool short __a,vector unsigned short __b)463 vec_adds(vector bool short __a, vector unsigned short __b)
464 {
465   return __builtin_altivec_vadduhs((vector unsigned short)__a, __b);
466 }
467 
468 static vector unsigned short __ATTRS_o_ai
vec_adds(vector unsigned short __a,vector bool short __b)469 vec_adds(vector unsigned short __a, vector bool short __b)
470 {
471   return __builtin_altivec_vadduhs(__a, (vector unsigned short)__b);
472 }
473 
474 static vector int __ATTRS_o_ai
vec_adds(vector int __a,vector int __b)475 vec_adds(vector int __a, vector int __b)
476 {
477   return __builtin_altivec_vaddsws(__a, __b);
478 }
479 
480 static vector int __ATTRS_o_ai
vec_adds(vector bool int __a,vector int __b)481 vec_adds(vector bool int __a, vector int __b)
482 {
483   return __builtin_altivec_vaddsws((vector int)__a, __b);
484 }
485 
486 static vector int __ATTRS_o_ai
vec_adds(vector int __a,vector bool int __b)487 vec_adds(vector int __a, vector bool int __b)
488 {
489   return __builtin_altivec_vaddsws(__a, (vector int)__b);
490 }
491 
492 static vector unsigned int __ATTRS_o_ai
vec_adds(vector unsigned int __a,vector unsigned int __b)493 vec_adds(vector unsigned int __a, vector unsigned int __b)
494 {
495   return __builtin_altivec_vadduws(__a, __b);
496 }
497 
498 static vector unsigned int __ATTRS_o_ai
vec_adds(vector bool int __a,vector unsigned int __b)499 vec_adds(vector bool int __a, vector unsigned int __b)
500 {
501   return __builtin_altivec_vadduws((vector unsigned int)__a, __b);
502 }
503 
504 static vector unsigned int __ATTRS_o_ai
vec_adds(vector unsigned int __a,vector bool int __b)505 vec_adds(vector unsigned int __a, vector bool int __b)
506 {
507   return __builtin_altivec_vadduws(__a, (vector unsigned int)__b);
508 }
509 
510 /* vec_vaddsbs */
511 
512 static vector signed char __ATTRS_o_ai
vec_vaddsbs(vector signed char __a,vector signed char __b)513 vec_vaddsbs(vector signed char __a, vector signed char __b)
514 {
515   return __builtin_altivec_vaddsbs(__a, __b);
516 }
517 
518 static vector signed char __ATTRS_o_ai
vec_vaddsbs(vector bool char __a,vector signed char __b)519 vec_vaddsbs(vector bool char __a, vector signed char __b)
520 {
521   return __builtin_altivec_vaddsbs((vector signed char)__a, __b);
522 }
523 
524 static vector signed char __ATTRS_o_ai
vec_vaddsbs(vector signed char __a,vector bool char __b)525 vec_vaddsbs(vector signed char __a, vector bool char __b)
526 {
527   return __builtin_altivec_vaddsbs(__a, (vector signed char)__b);
528 }
529 
530 /* vec_vaddubs */
531 
532 static vector unsigned char __ATTRS_o_ai
vec_vaddubs(vector unsigned char __a,vector unsigned char __b)533 vec_vaddubs(vector unsigned char __a, vector unsigned char __b)
534 {
535   return __builtin_altivec_vaddubs(__a, __b);
536 }
537 
538 static vector unsigned char __ATTRS_o_ai
vec_vaddubs(vector bool char __a,vector unsigned char __b)539 vec_vaddubs(vector bool char __a, vector unsigned char __b)
540 {
541   return __builtin_altivec_vaddubs((vector unsigned char)__a, __b);
542 }
543 
544 static vector unsigned char __ATTRS_o_ai
vec_vaddubs(vector unsigned char __a,vector bool char __b)545 vec_vaddubs(vector unsigned char __a, vector bool char __b)
546 {
547   return __builtin_altivec_vaddubs(__a, (vector unsigned char)__b);
548 }
549 
550 /* vec_vaddshs */
551 
552 static vector short __ATTRS_o_ai
vec_vaddshs(vector short __a,vector short __b)553 vec_vaddshs(vector short __a, vector short __b)
554 {
555   return __builtin_altivec_vaddshs(__a, __b);
556 }
557 
558 static vector short __ATTRS_o_ai
vec_vaddshs(vector bool short __a,vector short __b)559 vec_vaddshs(vector bool short __a, vector short __b)
560 {
561   return __builtin_altivec_vaddshs((vector short)__a, __b);
562 }
563 
564 static vector short __ATTRS_o_ai
vec_vaddshs(vector short __a,vector bool short __b)565 vec_vaddshs(vector short __a, vector bool short __b)
566 {
567   return __builtin_altivec_vaddshs(__a, (vector short)__b);
568 }
569 
570 /* vec_vadduhs */
571 
572 static vector unsigned short __ATTRS_o_ai
vec_vadduhs(vector unsigned short __a,vector unsigned short __b)573 vec_vadduhs(vector unsigned short __a, vector unsigned short __b)
574 {
575   return __builtin_altivec_vadduhs(__a, __b);
576 }
577 
578 static vector unsigned short __ATTRS_o_ai
vec_vadduhs(vector bool short __a,vector unsigned short __b)579 vec_vadduhs(vector bool short __a, vector unsigned short __b)
580 {
581   return __builtin_altivec_vadduhs((vector unsigned short)__a, __b);
582 }
583 
584 static vector unsigned short __ATTRS_o_ai
vec_vadduhs(vector unsigned short __a,vector bool short __b)585 vec_vadduhs(vector unsigned short __a, vector bool short __b)
586 {
587   return __builtin_altivec_vadduhs(__a, (vector unsigned short)__b);
588 }
589 
590 /* vec_vaddsws */
591 
592 static vector int __ATTRS_o_ai
vec_vaddsws(vector int __a,vector int __b)593 vec_vaddsws(vector int __a, vector int __b)
594 {
595   return __builtin_altivec_vaddsws(__a, __b);
596 }
597 
598 static vector int __ATTRS_o_ai
vec_vaddsws(vector bool int __a,vector int __b)599 vec_vaddsws(vector bool int __a, vector int __b)
600 {
601   return __builtin_altivec_vaddsws((vector int)__a, __b);
602 }
603 
604 static vector int __ATTRS_o_ai
vec_vaddsws(vector int __a,vector bool int __b)605 vec_vaddsws(vector int __a, vector bool int __b)
606 {
607   return __builtin_altivec_vaddsws(__a, (vector int)__b);
608 }
609 
610 /* vec_vadduws */
611 
612 static vector unsigned int __ATTRS_o_ai
vec_vadduws(vector unsigned int __a,vector unsigned int __b)613 vec_vadduws(vector unsigned int __a, vector unsigned int __b)
614 {
615   return __builtin_altivec_vadduws(__a, __b);
616 }
617 
618 static vector unsigned int __ATTRS_o_ai
vec_vadduws(vector bool int __a,vector unsigned int __b)619 vec_vadduws(vector bool int __a, vector unsigned int __b)
620 {
621   return __builtin_altivec_vadduws((vector unsigned int)__a, __b);
622 }
623 
624 static vector unsigned int __ATTRS_o_ai
vec_vadduws(vector unsigned int __a,vector bool int __b)625 vec_vadduws(vector unsigned int __a, vector bool int __b)
626 {
627   return __builtin_altivec_vadduws(__a, (vector unsigned int)__b);
628 }
629 
630 /* vec_and */
631 
632 #define __builtin_altivec_vand vec_and
633 
634 static vector signed char __ATTRS_o_ai
vec_and(vector signed char __a,vector signed char __b)635 vec_and(vector signed char __a, vector signed char __b)
636 {
637   return __a & __b;
638 }
639 
640 static vector signed char __ATTRS_o_ai
vec_and(vector bool char __a,vector signed char __b)641 vec_and(vector bool char __a, vector signed char __b)
642 {
643   return (vector signed char)__a & __b;
644 }
645 
646 static vector signed char __ATTRS_o_ai
vec_and(vector signed char __a,vector bool char __b)647 vec_and(vector signed char __a, vector bool char __b)
648 {
649   return __a & (vector signed char)__b;
650 }
651 
652 static vector unsigned char __ATTRS_o_ai
vec_and(vector unsigned char __a,vector unsigned char __b)653 vec_and(vector unsigned char __a, vector unsigned char __b)
654 {
655   return __a & __b;
656 }
657 
658 static vector unsigned char __ATTRS_o_ai
vec_and(vector bool char __a,vector unsigned char __b)659 vec_and(vector bool char __a, vector unsigned char __b)
660 {
661   return (vector unsigned char)__a & __b;
662 }
663 
664 static vector unsigned char __ATTRS_o_ai
vec_and(vector unsigned char __a,vector bool char __b)665 vec_and(vector unsigned char __a, vector bool char __b)
666 {
667   return __a & (vector unsigned char)__b;
668 }
669 
670 static vector bool char __ATTRS_o_ai
vec_and(vector bool char __a,vector bool char __b)671 vec_and(vector bool char __a, vector bool char __b)
672 {
673   return __a & __b;
674 }
675 
676 static vector short __ATTRS_o_ai
vec_and(vector short __a,vector short __b)677 vec_and(vector short __a, vector short __b)
678 {
679   return __a & __b;
680 }
681 
682 static vector short __ATTRS_o_ai
vec_and(vector bool short __a,vector short __b)683 vec_and(vector bool short __a, vector short __b)
684 {
685   return (vector short)__a & __b;
686 }
687 
688 static vector short __ATTRS_o_ai
vec_and(vector short __a,vector bool short __b)689 vec_and(vector short __a, vector bool short __b)
690 {
691   return __a & (vector short)__b;
692 }
693 
694 static vector unsigned short __ATTRS_o_ai
vec_and(vector unsigned short __a,vector unsigned short __b)695 vec_and(vector unsigned short __a, vector unsigned short __b)
696 {
697   return __a & __b;
698 }
699 
700 static vector unsigned short __ATTRS_o_ai
vec_and(vector bool short __a,vector unsigned short __b)701 vec_and(vector bool short __a, vector unsigned short __b)
702 {
703   return (vector unsigned short)__a & __b;
704 }
705 
706 static vector unsigned short __ATTRS_o_ai
vec_and(vector unsigned short __a,vector bool short __b)707 vec_and(vector unsigned short __a, vector bool short __b)
708 {
709   return __a & (vector unsigned short)__b;
710 }
711 
712 static vector bool short __ATTRS_o_ai
vec_and(vector bool short __a,vector bool short __b)713 vec_and(vector bool short __a, vector bool short __b)
714 {
715   return __a & __b;
716 }
717 
718 static vector int __ATTRS_o_ai
vec_and(vector int __a,vector int __b)719 vec_and(vector int __a, vector int __b)
720 {
721   return __a & __b;
722 }
723 
724 static vector int __ATTRS_o_ai
vec_and(vector bool int __a,vector int __b)725 vec_and(vector bool int __a, vector int __b)
726 {
727   return (vector int)__a & __b;
728 }
729 
730 static vector int __ATTRS_o_ai
vec_and(vector int __a,vector bool int __b)731 vec_and(vector int __a, vector bool int __b)
732 {
733   return __a & (vector int)__b;
734 }
735 
736 static vector unsigned int __ATTRS_o_ai
vec_and(vector unsigned int __a,vector unsigned int __b)737 vec_and(vector unsigned int __a, vector unsigned int __b)
738 {
739   return __a & __b;
740 }
741 
742 static vector unsigned int __ATTRS_o_ai
vec_and(vector bool int __a,vector unsigned int __b)743 vec_and(vector bool int __a, vector unsigned int __b)
744 {
745   return (vector unsigned int)__a & __b;
746 }
747 
748 static vector unsigned int __ATTRS_o_ai
vec_and(vector unsigned int __a,vector bool int __b)749 vec_and(vector unsigned int __a, vector bool int __b)
750 {
751   return __a & (vector unsigned int)__b;
752 }
753 
754 static vector bool int __ATTRS_o_ai
vec_and(vector bool int __a,vector bool int __b)755 vec_and(vector bool int __a, vector bool int __b)
756 {
757   return __a & __b;
758 }
759 
760 static vector float __ATTRS_o_ai
vec_and(vector float __a,vector float __b)761 vec_and(vector float __a, vector float __b)
762 {
763   vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
764   return (vector float)__res;
765 }
766 
767 static vector float __ATTRS_o_ai
vec_and(vector bool int __a,vector float __b)768 vec_and(vector bool int __a, vector float __b)
769 {
770   vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
771   return (vector float)__res;
772 }
773 
774 static vector float __ATTRS_o_ai
vec_and(vector float __a,vector bool int __b)775 vec_and(vector float __a, vector bool int __b)
776 {
777   vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
778   return (vector float)__res;
779 }
780 
781 /* vec_vand */
782 
783 static vector signed char __ATTRS_o_ai
vec_vand(vector signed char __a,vector signed char __b)784 vec_vand(vector signed char __a, vector signed char __b)
785 {
786   return __a & __b;
787 }
788 
789 static vector signed char __ATTRS_o_ai
vec_vand(vector bool char __a,vector signed char __b)790 vec_vand(vector bool char __a, vector signed char __b)
791 {
792   return (vector signed char)__a & __b;
793 }
794 
795 static vector signed char __ATTRS_o_ai
vec_vand(vector signed char __a,vector bool char __b)796 vec_vand(vector signed char __a, vector bool char __b)
797 {
798   return __a & (vector signed char)__b;
799 }
800 
801 static vector unsigned char __ATTRS_o_ai
vec_vand(vector unsigned char __a,vector unsigned char __b)802 vec_vand(vector unsigned char __a, vector unsigned char __b)
803 {
804   return __a & __b;
805 }
806 
807 static vector unsigned char __ATTRS_o_ai
vec_vand(vector bool char __a,vector unsigned char __b)808 vec_vand(vector bool char __a, vector unsigned char __b)
809 {
810   return (vector unsigned char)__a & __b;
811 }
812 
813 static vector unsigned char __ATTRS_o_ai
vec_vand(vector unsigned char __a,vector bool char __b)814 vec_vand(vector unsigned char __a, vector bool char __b)
815 {
816   return __a & (vector unsigned char)__b;
817 }
818 
819 static vector bool char __ATTRS_o_ai
vec_vand(vector bool char __a,vector bool char __b)820 vec_vand(vector bool char __a, vector bool char __b)
821 {
822   return __a & __b;
823 }
824 
825 static vector short __ATTRS_o_ai
vec_vand(vector short __a,vector short __b)826 vec_vand(vector short __a, vector short __b)
827 {
828   return __a & __b;
829 }
830 
831 static vector short __ATTRS_o_ai
vec_vand(vector bool short __a,vector short __b)832 vec_vand(vector bool short __a, vector short __b)
833 {
834   return (vector short)__a & __b;
835 }
836 
837 static vector short __ATTRS_o_ai
vec_vand(vector short __a,vector bool short __b)838 vec_vand(vector short __a, vector bool short __b)
839 {
840   return __a & (vector short)__b;
841 }
842 
843 static vector unsigned short __ATTRS_o_ai
vec_vand(vector unsigned short __a,vector unsigned short __b)844 vec_vand(vector unsigned short __a, vector unsigned short __b)
845 {
846   return __a & __b;
847 }
848 
849 static vector unsigned short __ATTRS_o_ai
vec_vand(vector bool short __a,vector unsigned short __b)850 vec_vand(vector bool short __a, vector unsigned short __b)
851 {
852   return (vector unsigned short)__a & __b;
853 }
854 
855 static vector unsigned short __ATTRS_o_ai
vec_vand(vector unsigned short __a,vector bool short __b)856 vec_vand(vector unsigned short __a, vector bool short __b)
857 {
858   return __a & (vector unsigned short)__b;
859 }
860 
861 static vector bool short __ATTRS_o_ai
vec_vand(vector bool short __a,vector bool short __b)862 vec_vand(vector bool short __a, vector bool short __b)
863 {
864   return __a & __b;
865 }
866 
867 static vector int __ATTRS_o_ai
vec_vand(vector int __a,vector int __b)868 vec_vand(vector int __a, vector int __b)
869 {
870   return __a & __b;
871 }
872 
873 static vector int __ATTRS_o_ai
vec_vand(vector bool int __a,vector int __b)874 vec_vand(vector bool int __a, vector int __b)
875 {
876   return (vector int)__a & __b;
877 }
878 
879 static vector int __ATTRS_o_ai
vec_vand(vector int __a,vector bool int __b)880 vec_vand(vector int __a, vector bool int __b)
881 {
882   return __a & (vector int)__b;
883 }
884 
885 static vector unsigned int __ATTRS_o_ai
vec_vand(vector unsigned int __a,vector unsigned int __b)886 vec_vand(vector unsigned int __a, vector unsigned int __b)
887 {
888   return __a & __b;
889 }
890 
891 static vector unsigned int __ATTRS_o_ai
vec_vand(vector bool int __a,vector unsigned int __b)892 vec_vand(vector bool int __a, vector unsigned int __b)
893 {
894   return (vector unsigned int)__a & __b;
895 }
896 
897 static vector unsigned int __ATTRS_o_ai
vec_vand(vector unsigned int __a,vector bool int __b)898 vec_vand(vector unsigned int __a, vector bool int __b)
899 {
900   return __a & (vector unsigned int)__b;
901 }
902 
903 static vector bool int __ATTRS_o_ai
vec_vand(vector bool int __a,vector bool int __b)904 vec_vand(vector bool int __a, vector bool int __b)
905 {
906   return __a & __b;
907 }
908 
909 static vector float __ATTRS_o_ai
vec_vand(vector float __a,vector float __b)910 vec_vand(vector float __a, vector float __b)
911 {
912   vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
913   return (vector float)__res;
914 }
915 
916 static vector float __ATTRS_o_ai
vec_vand(vector bool int __a,vector float __b)917 vec_vand(vector bool int __a, vector float __b)
918 {
919   vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
920   return (vector float)__res;
921 }
922 
923 static vector float __ATTRS_o_ai
vec_vand(vector float __a,vector bool int __b)924 vec_vand(vector float __a, vector bool int __b)
925 {
926   vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
927   return (vector float)__res;
928 }
929 
930 /* vec_andc */
931 
932 #define __builtin_altivec_vandc vec_andc
933 
934 static vector signed char __ATTRS_o_ai
vec_andc(vector signed char __a,vector signed char __b)935 vec_andc(vector signed char __a, vector signed char __b)
936 {
937   return __a & ~__b;
938 }
939 
940 static vector signed char __ATTRS_o_ai
vec_andc(vector bool char __a,vector signed char __b)941 vec_andc(vector bool char __a, vector signed char __b)
942 {
943   return (vector signed char)__a & ~__b;
944 }
945 
946 static vector signed char __ATTRS_o_ai
vec_andc(vector signed char __a,vector bool char __b)947 vec_andc(vector signed char __a, vector bool char __b)
948 {
949   return __a & ~(vector signed char)__b;
950 }
951 
952 static vector unsigned char __ATTRS_o_ai
vec_andc(vector unsigned char __a,vector unsigned char __b)953 vec_andc(vector unsigned char __a, vector unsigned char __b)
954 {
955   return __a & ~__b;
956 }
957 
958 static vector unsigned char __ATTRS_o_ai
vec_andc(vector bool char __a,vector unsigned char __b)959 vec_andc(vector bool char __a, vector unsigned char __b)
960 {
961   return (vector unsigned char)__a & ~__b;
962 }
963 
964 static vector unsigned char __ATTRS_o_ai
vec_andc(vector unsigned char __a,vector bool char __b)965 vec_andc(vector unsigned char __a, vector bool char __b)
966 {
967   return __a & ~(vector unsigned char)__b;
968 }
969 
970 static vector bool char __ATTRS_o_ai
vec_andc(vector bool char __a,vector bool char __b)971 vec_andc(vector bool char __a, vector bool char __b)
972 {
973   return __a & ~__b;
974 }
975 
976 static vector short __ATTRS_o_ai
vec_andc(vector short __a,vector short __b)977 vec_andc(vector short __a, vector short __b)
978 {
979   return __a & ~__b;
980 }
981 
982 static vector short __ATTRS_o_ai
vec_andc(vector bool short __a,vector short __b)983 vec_andc(vector bool short __a, vector short __b)
984 {
985   return (vector short)__a & ~__b;
986 }
987 
988 static vector short __ATTRS_o_ai
vec_andc(vector short __a,vector bool short __b)989 vec_andc(vector short __a, vector bool short __b)
990 {
991   return __a & ~(vector short)__b;
992 }
993 
994 static vector unsigned short __ATTRS_o_ai
vec_andc(vector unsigned short __a,vector unsigned short __b)995 vec_andc(vector unsigned short __a, vector unsigned short __b)
996 {
997   return __a & ~__b;
998 }
999 
1000 static vector unsigned short __ATTRS_o_ai
vec_andc(vector bool short __a,vector unsigned short __b)1001 vec_andc(vector bool short __a, vector unsigned short __b)
1002 {
1003   return (vector unsigned short)__a & ~__b;
1004 }
1005 
1006 static vector unsigned short __ATTRS_o_ai
vec_andc(vector unsigned short __a,vector bool short __b)1007 vec_andc(vector unsigned short __a, vector bool short __b)
1008 {
1009   return __a & ~(vector unsigned short)__b;
1010 }
1011 
1012 static vector bool short __ATTRS_o_ai
vec_andc(vector bool short __a,vector bool short __b)1013 vec_andc(vector bool short __a, vector bool short __b)
1014 {
1015   return __a & ~__b;
1016 }
1017 
1018 static vector int __ATTRS_o_ai
vec_andc(vector int __a,vector int __b)1019 vec_andc(vector int __a, vector int __b)
1020 {
1021   return __a & ~__b;
1022 }
1023 
1024 static vector int __ATTRS_o_ai
vec_andc(vector bool int __a,vector int __b)1025 vec_andc(vector bool int __a, vector int __b)
1026 {
1027   return (vector int)__a & ~__b;
1028 }
1029 
1030 static vector int __ATTRS_o_ai
vec_andc(vector int __a,vector bool int __b)1031 vec_andc(vector int __a, vector bool int __b)
1032 {
1033   return __a & ~(vector int)__b;
1034 }
1035 
1036 static vector unsigned int __ATTRS_o_ai
vec_andc(vector unsigned int __a,vector unsigned int __b)1037 vec_andc(vector unsigned int __a, vector unsigned int __b)
1038 {
1039   return __a & ~__b;
1040 }
1041 
1042 static vector unsigned int __ATTRS_o_ai
vec_andc(vector bool int __a,vector unsigned int __b)1043 vec_andc(vector bool int __a, vector unsigned int __b)
1044 {
1045   return (vector unsigned int)__a & ~__b;
1046 }
1047 
1048 static vector unsigned int __ATTRS_o_ai
vec_andc(vector unsigned int __a,vector bool int __b)1049 vec_andc(vector unsigned int __a, vector bool int __b)
1050 {
1051   return __a & ~(vector unsigned int)__b;
1052 }
1053 
1054 static vector bool int __ATTRS_o_ai
vec_andc(vector bool int __a,vector bool int __b)1055 vec_andc(vector bool int __a, vector bool int __b)
1056 {
1057   return __a & ~__b;
1058 }
1059 
1060 static vector float __ATTRS_o_ai
vec_andc(vector float __a,vector float __b)1061 vec_andc(vector float __a, vector float __b)
1062 {
1063   vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
1064   return (vector float)__res;
1065 }
1066 
1067 static vector float __ATTRS_o_ai
vec_andc(vector bool int __a,vector float __b)1068 vec_andc(vector bool int __a, vector float __b)
1069 {
1070   vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
1071   return (vector float)__res;
1072 }
1073 
1074 static vector float __ATTRS_o_ai
vec_andc(vector float __a,vector bool int __b)1075 vec_andc(vector float __a, vector bool int __b)
1076 {
1077   vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
1078   return (vector float)__res;
1079 }
1080 
1081 /* vec_vandc */
1082 
1083 static vector signed char __ATTRS_o_ai
vec_vandc(vector signed char __a,vector signed char __b)1084 vec_vandc(vector signed char __a, vector signed char __b)
1085 {
1086   return __a & ~__b;
1087 }
1088 
1089 static vector signed char __ATTRS_o_ai
vec_vandc(vector bool char __a,vector signed char __b)1090 vec_vandc(vector bool char __a, vector signed char __b)
1091 {
1092   return (vector signed char)__a & ~__b;
1093 }
1094 
1095 static vector signed char __ATTRS_o_ai
vec_vandc(vector signed char __a,vector bool char __b)1096 vec_vandc(vector signed char __a, vector bool char __b)
1097 {
1098   return __a & ~(vector signed char)__b;
1099 }
1100 
1101 static vector unsigned char __ATTRS_o_ai
vec_vandc(vector unsigned char __a,vector unsigned char __b)1102 vec_vandc(vector unsigned char __a, vector unsigned char __b)
1103 {
1104   return __a & ~__b;
1105 }
1106 
1107 static vector unsigned char __ATTRS_o_ai
vec_vandc(vector bool char __a,vector unsigned char __b)1108 vec_vandc(vector bool char __a, vector unsigned char __b)
1109 {
1110   return (vector unsigned char)__a & ~__b;
1111 }
1112 
1113 static vector unsigned char __ATTRS_o_ai
vec_vandc(vector unsigned char __a,vector bool char __b)1114 vec_vandc(vector unsigned char __a, vector bool char __b)
1115 {
1116   return __a & ~(vector unsigned char)__b;
1117 }
1118 
1119 static vector bool char __ATTRS_o_ai
vec_vandc(vector bool char __a,vector bool char __b)1120 vec_vandc(vector bool char __a, vector bool char __b)
1121 {
1122   return __a & ~__b;
1123 }
1124 
1125 static vector short __ATTRS_o_ai
vec_vandc(vector short __a,vector short __b)1126 vec_vandc(vector short __a, vector short __b)
1127 {
1128   return __a & ~__b;
1129 }
1130 
1131 static vector short __ATTRS_o_ai
vec_vandc(vector bool short __a,vector short __b)1132 vec_vandc(vector bool short __a, vector short __b)
1133 {
1134   return (vector short)__a & ~__b;
1135 }
1136 
1137 static vector short __ATTRS_o_ai
vec_vandc(vector short __a,vector bool short __b)1138 vec_vandc(vector short __a, vector bool short __b)
1139 {
1140   return __a & ~(vector short)__b;
1141 }
1142 
1143 static vector unsigned short __ATTRS_o_ai
vec_vandc(vector unsigned short __a,vector unsigned short __b)1144 vec_vandc(vector unsigned short __a, vector unsigned short __b)
1145 {
1146   return __a & ~__b;
1147 }
1148 
1149 static vector unsigned short __ATTRS_o_ai
vec_vandc(vector bool short __a,vector unsigned short __b)1150 vec_vandc(vector bool short __a, vector unsigned short __b)
1151 {
1152   return (vector unsigned short)__a & ~__b;
1153 }
1154 
1155 static vector unsigned short __ATTRS_o_ai
vec_vandc(vector unsigned short __a,vector bool short __b)1156 vec_vandc(vector unsigned short __a, vector bool short __b)
1157 {
1158   return __a & ~(vector unsigned short)__b;
1159 }
1160 
1161 static vector bool short __ATTRS_o_ai
vec_vandc(vector bool short __a,vector bool short __b)1162 vec_vandc(vector bool short __a, vector bool short __b)
1163 {
1164   return __a & ~__b;
1165 }
1166 
1167 static vector int __ATTRS_o_ai
vec_vandc(vector int __a,vector int __b)1168 vec_vandc(vector int __a, vector int __b)
1169 {
1170   return __a & ~__b;
1171 }
1172 
1173 static vector int __ATTRS_o_ai
vec_vandc(vector bool int __a,vector int __b)1174 vec_vandc(vector bool int __a, vector int __b)
1175 {
1176   return (vector int)__a & ~__b;
1177 }
1178 
1179 static vector int __ATTRS_o_ai
vec_vandc(vector int __a,vector bool int __b)1180 vec_vandc(vector int __a, vector bool int __b)
1181 {
1182   return __a & ~(vector int)__b;
1183 }
1184 
1185 static vector unsigned int __ATTRS_o_ai
vec_vandc(vector unsigned int __a,vector unsigned int __b)1186 vec_vandc(vector unsigned int __a, vector unsigned int __b)
1187 {
1188   return __a & ~__b;
1189 }
1190 
1191 static vector unsigned int __ATTRS_o_ai
vec_vandc(vector bool int __a,vector unsigned int __b)1192 vec_vandc(vector bool int __a, vector unsigned int __b)
1193 {
1194   return (vector unsigned int)__a & ~__b;
1195 }
1196 
1197 static vector unsigned int __ATTRS_o_ai
vec_vandc(vector unsigned int __a,vector bool int __b)1198 vec_vandc(vector unsigned int __a, vector bool int __b)
1199 {
1200   return __a & ~(vector unsigned int)__b;
1201 }
1202 
1203 static vector bool int __ATTRS_o_ai
vec_vandc(vector bool int __a,vector bool int __b)1204 vec_vandc(vector bool int __a, vector bool int __b)
1205 {
1206   return __a & ~__b;
1207 }
1208 
1209 static vector float __ATTRS_o_ai
vec_vandc(vector float __a,vector float __b)1210 vec_vandc(vector float __a, vector float __b)
1211 {
1212   vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
1213   return (vector float)__res;
1214 }
1215 
1216 static vector float __ATTRS_o_ai
vec_vandc(vector bool int __a,vector float __b)1217 vec_vandc(vector bool int __a, vector float __b)
1218 {
1219   vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
1220   return (vector float)__res;
1221 }
1222 
1223 static vector float __ATTRS_o_ai
vec_vandc(vector float __a,vector bool int __b)1224 vec_vandc(vector float __a, vector bool int __b)
1225 {
1226   vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
1227   return (vector float)__res;
1228 }
1229 
1230 /* vec_avg */
1231 
1232 static vector signed char __ATTRS_o_ai
vec_avg(vector signed char __a,vector signed char __b)1233 vec_avg(vector signed char __a, vector signed char __b)
1234 {
1235   return __builtin_altivec_vavgsb(__a, __b);
1236 }
1237 
1238 static vector unsigned char __ATTRS_o_ai
vec_avg(vector unsigned char __a,vector unsigned char __b)1239 vec_avg(vector unsigned char __a, vector unsigned char __b)
1240 {
1241   return __builtin_altivec_vavgub(__a, __b);
1242 }
1243 
1244 static vector short __ATTRS_o_ai
vec_avg(vector short __a,vector short __b)1245 vec_avg(vector short __a, vector short __b)
1246 {
1247   return __builtin_altivec_vavgsh(__a, __b);
1248 }
1249 
1250 static vector unsigned short __ATTRS_o_ai
vec_avg(vector unsigned short __a,vector unsigned short __b)1251 vec_avg(vector unsigned short __a, vector unsigned short __b)
1252 {
1253   return __builtin_altivec_vavguh(__a, __b);
1254 }
1255 
1256 static vector int __ATTRS_o_ai
vec_avg(vector int __a,vector int __b)1257 vec_avg(vector int __a, vector int __b)
1258 {
1259   return __builtin_altivec_vavgsw(__a, __b);
1260 }
1261 
1262 static vector unsigned int __ATTRS_o_ai
vec_avg(vector unsigned int __a,vector unsigned int __b)1263 vec_avg(vector unsigned int __a, vector unsigned int __b)
1264 {
1265   return __builtin_altivec_vavguw(__a, __b);
1266 }
1267 
1268 /* vec_vavgsb */
1269 
1270 static vector signed char __attribute__((__always_inline__))
vec_vavgsb(vector signed char __a,vector signed char __b)1271 vec_vavgsb(vector signed char __a, vector signed char __b)
1272 {
1273   return __builtin_altivec_vavgsb(__a, __b);
1274 }
1275 
1276 /* vec_vavgub */
1277 
1278 static vector unsigned char __attribute__((__always_inline__))
vec_vavgub(vector unsigned char __a,vector unsigned char __b)1279 vec_vavgub(vector unsigned char __a, vector unsigned char __b)
1280 {
1281   return __builtin_altivec_vavgub(__a, __b);
1282 }
1283 
1284 /* vec_vavgsh */
1285 
1286 static vector short __attribute__((__always_inline__))
vec_vavgsh(vector short __a,vector short __b)1287 vec_vavgsh(vector short __a, vector short __b)
1288 {
1289   return __builtin_altivec_vavgsh(__a, __b);
1290 }
1291 
1292 /* vec_vavguh */
1293 
1294 static vector unsigned short __attribute__((__always_inline__))
vec_vavguh(vector unsigned short __a,vector unsigned short __b)1295 vec_vavguh(vector unsigned short __a, vector unsigned short __b)
1296 {
1297   return __builtin_altivec_vavguh(__a, __b);
1298 }
1299 
1300 /* vec_vavgsw */
1301 
1302 static vector int __attribute__((__always_inline__))
vec_vavgsw(vector int __a,vector int __b)1303 vec_vavgsw(vector int __a, vector int __b)
1304 {
1305   return __builtin_altivec_vavgsw(__a, __b);
1306 }
1307 
1308 /* vec_vavguw */
1309 
1310 static vector unsigned int __attribute__((__always_inline__))
vec_vavguw(vector unsigned int __a,vector unsigned int __b)1311 vec_vavguw(vector unsigned int __a, vector unsigned int __b)
1312 {
1313   return __builtin_altivec_vavguw(__a, __b);
1314 }
1315 
1316 /* vec_ceil */
1317 
1318 static vector float __attribute__((__always_inline__))
vec_ceil(vector float __a)1319 vec_ceil(vector float __a)
1320 {
1321   return __builtin_altivec_vrfip(__a);
1322 }
1323 
1324 /* vec_vrfip */
1325 
1326 static vector float __attribute__((__always_inline__))
vec_vrfip(vector float __a)1327 vec_vrfip(vector float __a)
1328 {
1329   return __builtin_altivec_vrfip(__a);
1330 }
1331 
1332 /* vec_cmpb */
1333 
1334 static vector int __attribute__((__always_inline__))
vec_cmpb(vector float __a,vector float __b)1335 vec_cmpb(vector float __a, vector float __b)
1336 {
1337   return __builtin_altivec_vcmpbfp(__a, __b);
1338 }
1339 
1340 /* vec_vcmpbfp */
1341 
1342 static vector int __attribute__((__always_inline__))
vec_vcmpbfp(vector float __a,vector float __b)1343 vec_vcmpbfp(vector float __a, vector float __b)
1344 {
1345   return __builtin_altivec_vcmpbfp(__a, __b);
1346 }
1347 
1348 /* vec_cmpeq */
1349 
1350 static vector bool char __ATTRS_o_ai
vec_cmpeq(vector signed char __a,vector signed char __b)1351 vec_cmpeq(vector signed char __a, vector signed char __b)
1352 {
1353   return (vector bool char)
1354     __builtin_altivec_vcmpequb((vector char)__a, (vector char)__b);
1355 }
1356 
1357 static vector bool char __ATTRS_o_ai
vec_cmpeq(vector unsigned char __a,vector unsigned char __b)1358 vec_cmpeq(vector unsigned char __a, vector unsigned char __b)
1359 {
1360   return (vector bool char)
1361     __builtin_altivec_vcmpequb((vector char)__a, (vector char)__b);
1362 }
1363 
1364 static vector bool short __ATTRS_o_ai
vec_cmpeq(vector short __a,vector short __b)1365 vec_cmpeq(vector short __a, vector short __b)
1366 {
1367   return (vector bool short)__builtin_altivec_vcmpequh(__a, __b);
1368 }
1369 
1370 static vector bool short __ATTRS_o_ai
vec_cmpeq(vector unsigned short __a,vector unsigned short __b)1371 vec_cmpeq(vector unsigned short __a, vector unsigned short __b)
1372 {
1373   return (vector bool short)
1374     __builtin_altivec_vcmpequh((vector short)__a, (vector short)__b);
1375 }
1376 
1377 static vector bool int __ATTRS_o_ai
vec_cmpeq(vector int __a,vector int __b)1378 vec_cmpeq(vector int __a, vector int __b)
1379 {
1380   return (vector bool int)__builtin_altivec_vcmpequw(__a, __b);
1381 }
1382 
1383 static vector bool int __ATTRS_o_ai
vec_cmpeq(vector unsigned int __a,vector unsigned int __b)1384 vec_cmpeq(vector unsigned int __a, vector unsigned int __b)
1385 {
1386   return (vector bool int)
1387     __builtin_altivec_vcmpequw((vector int)__a, (vector int)__b);
1388 }
1389 
1390 static vector bool int __ATTRS_o_ai
vec_cmpeq(vector float __a,vector float __b)1391 vec_cmpeq(vector float __a, vector float __b)
1392 {
1393   return (vector bool int)__builtin_altivec_vcmpeqfp(__a, __b);
1394 }
1395 
1396 /* vec_cmpge */
1397 
1398 static vector bool int __attribute__((__always_inline__))
vec_cmpge(vector float __a,vector float __b)1399 vec_cmpge(vector float __a, vector float __b)
1400 {
1401   return (vector bool int)__builtin_altivec_vcmpgefp(__a, __b);
1402 }
1403 
1404 /* vec_vcmpgefp */
1405 
1406 static vector bool int __attribute__((__always_inline__))
vec_vcmpgefp(vector float __a,vector float __b)1407 vec_vcmpgefp(vector float __a, vector float __b)
1408 {
1409   return (vector bool int)__builtin_altivec_vcmpgefp(__a, __b);
1410 }
1411 
1412 /* vec_cmpgt */
1413 
1414 static vector bool char __ATTRS_o_ai
vec_cmpgt(vector signed char __a,vector signed char __b)1415 vec_cmpgt(vector signed char __a, vector signed char __b)
1416 {
1417   return (vector bool char)__builtin_altivec_vcmpgtsb(__a, __b);
1418 }
1419 
1420 static vector bool char __ATTRS_o_ai
vec_cmpgt(vector unsigned char __a,vector unsigned char __b)1421 vec_cmpgt(vector unsigned char __a, vector unsigned char __b)
1422 {
1423   return (vector bool char)__builtin_altivec_vcmpgtub(__a, __b);
1424 }
1425 
1426 static vector bool short __ATTRS_o_ai
vec_cmpgt(vector short __a,vector short __b)1427 vec_cmpgt(vector short __a, vector short __b)
1428 {
1429   return (vector bool short)__builtin_altivec_vcmpgtsh(__a, __b);
1430 }
1431 
1432 static vector bool short __ATTRS_o_ai
vec_cmpgt(vector unsigned short __a,vector unsigned short __b)1433 vec_cmpgt(vector unsigned short __a, vector unsigned short __b)
1434 {
1435   return (vector bool short)__builtin_altivec_vcmpgtuh(__a, __b);
1436 }
1437 
1438 static vector bool int __ATTRS_o_ai
vec_cmpgt(vector int __a,vector int __b)1439 vec_cmpgt(vector int __a, vector int __b)
1440 {
1441   return (vector bool int)__builtin_altivec_vcmpgtsw(__a, __b);
1442 }
1443 
1444 static vector bool int __ATTRS_o_ai
vec_cmpgt(vector unsigned int __a,vector unsigned int __b)1445 vec_cmpgt(vector unsigned int __a, vector unsigned int __b)
1446 {
1447   return (vector bool int)__builtin_altivec_vcmpgtuw(__a, __b);
1448 }
1449 
1450 static vector bool int __ATTRS_o_ai
vec_cmpgt(vector float __a,vector float __b)1451 vec_cmpgt(vector float __a, vector float __b)
1452 {
1453   return (vector bool int)__builtin_altivec_vcmpgtfp(__a, __b);
1454 }
1455 
1456 /* vec_vcmpgtsb */
1457 
1458 static vector bool char __attribute__((__always_inline__))
vec_vcmpgtsb(vector signed char __a,vector signed char __b)1459 vec_vcmpgtsb(vector signed char __a, vector signed char __b)
1460 {
1461   return (vector bool char)__builtin_altivec_vcmpgtsb(__a, __b);
1462 }
1463 
1464 /* vec_vcmpgtub */
1465 
1466 static vector bool char __attribute__((__always_inline__))
vec_vcmpgtub(vector unsigned char __a,vector unsigned char __b)1467 vec_vcmpgtub(vector unsigned char __a, vector unsigned char __b)
1468 {
1469   return (vector bool char)__builtin_altivec_vcmpgtub(__a, __b);
1470 }
1471 
1472 /* vec_vcmpgtsh */
1473 
1474 static vector bool short __attribute__((__always_inline__))
vec_vcmpgtsh(vector short __a,vector short __b)1475 vec_vcmpgtsh(vector short __a, vector short __b)
1476 {
1477   return (vector bool short)__builtin_altivec_vcmpgtsh(__a, __b);
1478 }
1479 
1480 /* vec_vcmpgtuh */
1481 
1482 static vector bool short __attribute__((__always_inline__))
vec_vcmpgtuh(vector unsigned short __a,vector unsigned short __b)1483 vec_vcmpgtuh(vector unsigned short __a, vector unsigned short __b)
1484 {
1485   return (vector bool short)__builtin_altivec_vcmpgtuh(__a, __b);
1486 }
1487 
1488 /* vec_vcmpgtsw */
1489 
1490 static vector bool int __attribute__((__always_inline__))
vec_vcmpgtsw(vector int __a,vector int __b)1491 vec_vcmpgtsw(vector int __a, vector int __b)
1492 {
1493   return (vector bool int)__builtin_altivec_vcmpgtsw(__a, __b);
1494 }
1495 
1496 /* vec_vcmpgtuw */
1497 
1498 static vector bool int __attribute__((__always_inline__))
vec_vcmpgtuw(vector unsigned int __a,vector unsigned int __b)1499 vec_vcmpgtuw(vector unsigned int __a, vector unsigned int __b)
1500 {
1501   return (vector bool int)__builtin_altivec_vcmpgtuw(__a, __b);
1502 }
1503 
1504 /* vec_vcmpgtfp */
1505 
1506 static vector bool int __attribute__((__always_inline__))
vec_vcmpgtfp(vector float __a,vector float __b)1507 vec_vcmpgtfp(vector float __a, vector float __b)
1508 {
1509   return (vector bool int)__builtin_altivec_vcmpgtfp(__a, __b);
1510 }
1511 
1512 /* vec_cmple */
1513 
1514 static vector bool int __attribute__((__always_inline__))
vec_cmple(vector float __a,vector float __b)1515 vec_cmple(vector float __a, vector float __b)
1516 {
1517   return (vector bool int)__builtin_altivec_vcmpgefp(__b, __a);
1518 }
1519 
1520 /* vec_cmplt */
1521 
1522 static vector bool char __ATTRS_o_ai
vec_cmplt(vector signed char __a,vector signed char __b)1523 vec_cmplt(vector signed char __a, vector signed char __b)
1524 {
1525   return (vector bool char)__builtin_altivec_vcmpgtsb(__b, __a);
1526 }
1527 
1528 static vector bool char __ATTRS_o_ai
vec_cmplt(vector unsigned char __a,vector unsigned char __b)1529 vec_cmplt(vector unsigned char __a, vector unsigned char __b)
1530 {
1531   return (vector bool char)__builtin_altivec_vcmpgtub(__b, __a);
1532 }
1533 
1534 static vector bool short __ATTRS_o_ai
vec_cmplt(vector short __a,vector short __b)1535 vec_cmplt(vector short __a, vector short __b)
1536 {
1537   return (vector bool short)__builtin_altivec_vcmpgtsh(__b, __a);
1538 }
1539 
1540 static vector bool short __ATTRS_o_ai
vec_cmplt(vector unsigned short __a,vector unsigned short __b)1541 vec_cmplt(vector unsigned short __a, vector unsigned short __b)
1542 {
1543   return (vector bool short)__builtin_altivec_vcmpgtuh(__b, __a);
1544 }
1545 
1546 static vector bool int __ATTRS_o_ai
vec_cmplt(vector int __a,vector int __b)1547 vec_cmplt(vector int __a, vector int __b)
1548 {
1549   return (vector bool int)__builtin_altivec_vcmpgtsw(__b, __a);
1550 }
1551 
1552 static vector bool int __ATTRS_o_ai
vec_cmplt(vector unsigned int __a,vector unsigned int __b)1553 vec_cmplt(vector unsigned int __a, vector unsigned int __b)
1554 {
1555   return (vector bool int)__builtin_altivec_vcmpgtuw(__b, __a);
1556 }
1557 
1558 static vector bool int __ATTRS_o_ai
vec_cmplt(vector float __a,vector float __b)1559 vec_cmplt(vector float __a, vector float __b)
1560 {
1561   return (vector bool int)__builtin_altivec_vcmpgtfp(__b, __a);
1562 }
1563 
1564 /* vec_ctf */
1565 
1566 static vector float __ATTRS_o_ai
vec_ctf(vector int __a,int __b)1567 vec_ctf(vector int __a, int __b)
1568 {
1569   return __builtin_altivec_vcfsx(__a, __b);
1570 }
1571 
1572 static vector float __ATTRS_o_ai
vec_ctf(vector unsigned int __a,int __b)1573 vec_ctf(vector unsigned int __a, int __b)
1574 {
1575   return __builtin_altivec_vcfux((vector int)__a, __b);
1576 }
1577 
1578 /* vec_vcfsx */
1579 
1580 static vector float __attribute__((__always_inline__))
vec_vcfsx(vector int __a,int __b)1581 vec_vcfsx(vector int __a, int __b)
1582 {
1583   return __builtin_altivec_vcfsx(__a, __b);
1584 }
1585 
1586 /* vec_vcfux */
1587 
1588 static vector float __attribute__((__always_inline__))
vec_vcfux(vector unsigned int __a,int __b)1589 vec_vcfux(vector unsigned int __a, int __b)
1590 {
1591   return __builtin_altivec_vcfux((vector int)__a, __b);
1592 }
1593 
1594 /* vec_cts */
1595 
1596 static vector int __attribute__((__always_inline__))
vec_cts(vector float __a,int __b)1597 vec_cts(vector float __a, int __b)
1598 {
1599   return __builtin_altivec_vctsxs(__a, __b);
1600 }
1601 
1602 /* vec_vctsxs */
1603 
1604 static vector int __attribute__((__always_inline__))
vec_vctsxs(vector float __a,int __b)1605 vec_vctsxs(vector float __a, int __b)
1606 {
1607   return __builtin_altivec_vctsxs(__a, __b);
1608 }
1609 
1610 /* vec_ctu */
1611 
1612 static vector unsigned int __attribute__((__always_inline__))
vec_ctu(vector float __a,int __b)1613 vec_ctu(vector float __a, int __b)
1614 {
1615   return __builtin_altivec_vctuxs(__a, __b);
1616 }
1617 
1618 /* vec_vctuxs */
1619 
1620 static vector unsigned int __attribute__((__always_inline__))
vec_vctuxs(vector float __a,int __b)1621 vec_vctuxs(vector float __a, int __b)
1622 {
1623   return __builtin_altivec_vctuxs(__a, __b);
1624 }
1625 
1626 /* vec_dss */
1627 
1628 static void __attribute__((__always_inline__))
vec_dss(int __a)1629 vec_dss(int __a)
1630 {
1631   __builtin_altivec_dss(__a);
1632 }
1633 
1634 /* vec_dssall */
1635 
1636 static void __attribute__((__always_inline__))
vec_dssall(void)1637 vec_dssall(void)
1638 {
1639   __builtin_altivec_dssall();
1640 }
1641 
1642 /* vec_dst */
1643 
1644 static void __attribute__((__always_inline__))
vec_dst(const void * __a,int __b,int __c)1645 vec_dst(const void *__a, int __b, int __c)
1646 {
1647   __builtin_altivec_dst(__a, __b, __c);
1648 }
1649 
1650 /* vec_dstst */
1651 
1652 static void __attribute__((__always_inline__))
vec_dstst(const void * __a,int __b,int __c)1653 vec_dstst(const void *__a, int __b, int __c)
1654 {
1655   __builtin_altivec_dstst(__a, __b, __c);
1656 }
1657 
1658 /* vec_dststt */
1659 
1660 static void __attribute__((__always_inline__))
vec_dststt(const void * __a,int __b,int __c)1661 vec_dststt(const void *__a, int __b, int __c)
1662 {
1663   __builtin_altivec_dststt(__a, __b, __c);
1664 }
1665 
1666 /* vec_dstt */
1667 
1668 static void __attribute__((__always_inline__))
vec_dstt(const void * __a,int __b,int __c)1669 vec_dstt(const void *__a, int __b, int __c)
1670 {
1671   __builtin_altivec_dstt(__a, __b, __c);
1672 }
1673 
1674 /* vec_expte */
1675 
1676 static vector float __attribute__((__always_inline__))
vec_expte(vector float __a)1677 vec_expte(vector float __a)
1678 {
1679   return __builtin_altivec_vexptefp(__a);
1680 }
1681 
1682 /* vec_vexptefp */
1683 
1684 static vector float __attribute__((__always_inline__))
vec_vexptefp(vector float __a)1685 vec_vexptefp(vector float __a)
1686 {
1687   return __builtin_altivec_vexptefp(__a);
1688 }
1689 
1690 /* vec_floor */
1691 
1692 static vector float __attribute__((__always_inline__))
vec_floor(vector float __a)1693 vec_floor(vector float __a)
1694 {
1695   return __builtin_altivec_vrfim(__a);
1696 }
1697 
1698 /* vec_vrfim */
1699 
1700 static vector float __attribute__((__always_inline__))
vec_vrfim(vector float __a)1701 vec_vrfim(vector float __a)
1702 {
1703   return __builtin_altivec_vrfim(__a);
1704 }
1705 
1706 /* vec_ld */
1707 
1708 static vector signed char __ATTRS_o_ai
vec_ld(int __a,const vector signed char * __b)1709 vec_ld(int __a, const vector signed char *__b)
1710 {
1711   return (vector signed char)__builtin_altivec_lvx(__a, __b);
1712 }
1713 
1714 static vector signed char __ATTRS_o_ai
vec_ld(int __a,const signed char * __b)1715 vec_ld(int __a, const signed char *__b)
1716 {
1717   return (vector signed char)__builtin_altivec_lvx(__a, __b);
1718 }
1719 
1720 static vector unsigned char __ATTRS_o_ai
vec_ld(int __a,const vector unsigned char * __b)1721 vec_ld(int __a, const vector unsigned char *__b)
1722 {
1723   return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
1724 }
1725 
1726 static vector unsigned char __ATTRS_o_ai
vec_ld(int __a,const unsigned char * __b)1727 vec_ld(int __a, const unsigned char *__b)
1728 {
1729   return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
1730 }
1731 
1732 static vector bool char __ATTRS_o_ai
vec_ld(int __a,const vector bool char * __b)1733 vec_ld(int __a, const vector bool char *__b)
1734 {
1735   return (vector bool char)__builtin_altivec_lvx(__a, __b);
1736 }
1737 
1738 static vector short __ATTRS_o_ai
vec_ld(int __a,const vector short * __b)1739 vec_ld(int __a, const vector short *__b)
1740 {
1741   return (vector short)__builtin_altivec_lvx(__a, __b);
1742 }
1743 
1744 static vector short __ATTRS_o_ai
vec_ld(int __a,const short * __b)1745 vec_ld(int __a, const short *__b)
1746 {
1747   return (vector short)__builtin_altivec_lvx(__a, __b);
1748 }
1749 
1750 static vector unsigned short __ATTRS_o_ai
vec_ld(int __a,const vector unsigned short * __b)1751 vec_ld(int __a, const vector unsigned short *__b)
1752 {
1753   return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
1754 }
1755 
1756 static vector unsigned short __ATTRS_o_ai
vec_ld(int __a,const unsigned short * __b)1757 vec_ld(int __a, const unsigned short *__b)
1758 {
1759   return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
1760 }
1761 
1762 static vector bool short __ATTRS_o_ai
vec_ld(int __a,const vector bool short * __b)1763 vec_ld(int __a, const vector bool short *__b)
1764 {
1765   return (vector bool short)__builtin_altivec_lvx(__a, __b);
1766 }
1767 
1768 static vector pixel __ATTRS_o_ai
vec_ld(int __a,const vector pixel * __b)1769 vec_ld(int __a, const vector pixel *__b)
1770 {
1771   return (vector pixel)__builtin_altivec_lvx(__a, __b);
1772 }
1773 
1774 static vector int __ATTRS_o_ai
vec_ld(int __a,const vector int * __b)1775 vec_ld(int __a, const vector int *__b)
1776 {
1777   return (vector int)__builtin_altivec_lvx(__a, __b);
1778 }
1779 
1780 static vector int __ATTRS_o_ai
vec_ld(int __a,const int * __b)1781 vec_ld(int __a, const int *__b)
1782 {
1783   return (vector int)__builtin_altivec_lvx(__a, __b);
1784 }
1785 
1786 static vector unsigned int __ATTRS_o_ai
vec_ld(int __a,const vector unsigned int * __b)1787 vec_ld(int __a, const vector unsigned int *__b)
1788 {
1789   return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
1790 }
1791 
1792 static vector unsigned int __ATTRS_o_ai
vec_ld(int __a,const unsigned int * __b)1793 vec_ld(int __a, const unsigned int *__b)
1794 {
1795   return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
1796 }
1797 
1798 static vector bool int __ATTRS_o_ai
vec_ld(int __a,const vector bool int * __b)1799 vec_ld(int __a, const vector bool int *__b)
1800 {
1801   return (vector bool int)__builtin_altivec_lvx(__a, __b);
1802 }
1803 
1804 static vector float __ATTRS_o_ai
vec_ld(int __a,const vector float * __b)1805 vec_ld(int __a, const vector float *__b)
1806 {
1807   return (vector float)__builtin_altivec_lvx(__a, __b);
1808 }
1809 
1810 static vector float __ATTRS_o_ai
vec_ld(int __a,const float * __b)1811 vec_ld(int __a, const float *__b)
1812 {
1813   return (vector float)__builtin_altivec_lvx(__a, __b);
1814 }
1815 
1816 /* vec_lvx */
1817 
1818 static vector signed char __ATTRS_o_ai
vec_lvx(int __a,const vector signed char * __b)1819 vec_lvx(int __a, const vector signed char *__b)
1820 {
1821   return (vector signed char)__builtin_altivec_lvx(__a, __b);
1822 }
1823 
1824 static vector signed char __ATTRS_o_ai
vec_lvx(int __a,const signed char * __b)1825 vec_lvx(int __a, const signed char *__b)
1826 {
1827   return (vector signed char)__builtin_altivec_lvx(__a, __b);
1828 }
1829 
1830 static vector unsigned char __ATTRS_o_ai
vec_lvx(int __a,const vector unsigned char * __b)1831 vec_lvx(int __a, const vector unsigned char *__b)
1832 {
1833   return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
1834 }
1835 
1836 static vector unsigned char __ATTRS_o_ai
vec_lvx(int __a,const unsigned char * __b)1837 vec_lvx(int __a, const unsigned char *__b)
1838 {
1839   return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
1840 }
1841 
1842 static vector bool char __ATTRS_o_ai
vec_lvx(int __a,const vector bool char * __b)1843 vec_lvx(int __a, const vector bool char *__b)
1844 {
1845   return (vector bool char)__builtin_altivec_lvx(__a, __b);
1846 }
1847 
1848 static vector short __ATTRS_o_ai
vec_lvx(int __a,const vector short * __b)1849 vec_lvx(int __a, const vector short *__b)
1850 {
1851   return (vector short)__builtin_altivec_lvx(__a, __b);
1852 }
1853 
1854 static vector short __ATTRS_o_ai
vec_lvx(int __a,const short * __b)1855 vec_lvx(int __a, const short *__b)
1856 {
1857   return (vector short)__builtin_altivec_lvx(__a, __b);
1858 }
1859 
1860 static vector unsigned short __ATTRS_o_ai
vec_lvx(int __a,const vector unsigned short * __b)1861 vec_lvx(int __a, const vector unsigned short *__b)
1862 {
1863   return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
1864 }
1865 
1866 static vector unsigned short __ATTRS_o_ai
vec_lvx(int __a,const unsigned short * __b)1867 vec_lvx(int __a, const unsigned short *__b)
1868 {
1869   return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
1870 }
1871 
1872 static vector bool short __ATTRS_o_ai
vec_lvx(int __a,const vector bool short * __b)1873 vec_lvx(int __a, const vector bool short *__b)
1874 {
1875   return (vector bool short)__builtin_altivec_lvx(__a, __b);
1876 }
1877 
1878 static vector pixel __ATTRS_o_ai
vec_lvx(int __a,const vector pixel * __b)1879 vec_lvx(int __a, const vector pixel *__b)
1880 {
1881   return (vector pixel)__builtin_altivec_lvx(__a, __b);
1882 }
1883 
1884 static vector int __ATTRS_o_ai
vec_lvx(int __a,const vector int * __b)1885 vec_lvx(int __a, const vector int *__b)
1886 {
1887   return (vector int)__builtin_altivec_lvx(__a, __b);
1888 }
1889 
1890 static vector int __ATTRS_o_ai
vec_lvx(int __a,const int * __b)1891 vec_lvx(int __a, const int *__b)
1892 {
1893   return (vector int)__builtin_altivec_lvx(__a, __b);
1894 }
1895 
1896 static vector unsigned int __ATTRS_o_ai
vec_lvx(int __a,const vector unsigned int * __b)1897 vec_lvx(int __a, const vector unsigned int *__b)
1898 {
1899   return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
1900 }
1901 
1902 static vector unsigned int __ATTRS_o_ai
vec_lvx(int __a,const unsigned int * __b)1903 vec_lvx(int __a, const unsigned int *__b)
1904 {
1905   return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
1906 }
1907 
1908 static vector bool int __ATTRS_o_ai
vec_lvx(int __a,const vector bool int * __b)1909 vec_lvx(int __a, const vector bool int *__b)
1910 {
1911   return (vector bool int)__builtin_altivec_lvx(__a, __b);
1912 }
1913 
1914 static vector float __ATTRS_o_ai
vec_lvx(int __a,const vector float * __b)1915 vec_lvx(int __a, const vector float *__b)
1916 {
1917   return (vector float)__builtin_altivec_lvx(__a, __b);
1918 }
1919 
1920 static vector float __ATTRS_o_ai
vec_lvx(int __a,const float * __b)1921 vec_lvx(int __a, const float *__b)
1922 {
1923   return (vector float)__builtin_altivec_lvx(__a, __b);
1924 }
1925 
1926 /* vec_lde */
1927 
1928 static vector signed char __ATTRS_o_ai
vec_lde(int __a,const signed char * __b)1929 vec_lde(int __a, const signed char *__b)
1930 {
1931   return (vector signed char)__builtin_altivec_lvebx(__a, __b);
1932 }
1933 
1934 static vector unsigned char __ATTRS_o_ai
vec_lde(int __a,const unsigned char * __b)1935 vec_lde(int __a, const unsigned char *__b)
1936 {
1937   return (vector unsigned char)__builtin_altivec_lvebx(__a, __b);
1938 }
1939 
1940 static vector short __ATTRS_o_ai
vec_lde(int __a,const short * __b)1941 vec_lde(int __a, const short *__b)
1942 {
1943   return (vector short)__builtin_altivec_lvehx(__a, __b);
1944 }
1945 
1946 static vector unsigned short __ATTRS_o_ai
vec_lde(int __a,const unsigned short * __b)1947 vec_lde(int __a, const unsigned short *__b)
1948 {
1949   return (vector unsigned short)__builtin_altivec_lvehx(__a, __b);
1950 }
1951 
1952 static vector int __ATTRS_o_ai
vec_lde(int __a,const int * __b)1953 vec_lde(int __a, const int *__b)
1954 {
1955   return (vector int)__builtin_altivec_lvewx(__a, __b);
1956 }
1957 
1958 static vector unsigned int __ATTRS_o_ai
vec_lde(int __a,const unsigned int * __b)1959 vec_lde(int __a, const unsigned int *__b)
1960 {
1961   return (vector unsigned int)__builtin_altivec_lvewx(__a, __b);
1962 }
1963 
1964 static vector float __ATTRS_o_ai
vec_lde(int __a,const float * __b)1965 vec_lde(int __a, const float *__b)
1966 {
1967   return (vector float)__builtin_altivec_lvewx(__a, __b);
1968 }
1969 
1970 /* vec_lvebx */
1971 
1972 static vector signed char __ATTRS_o_ai
vec_lvebx(int __a,const signed char * __b)1973 vec_lvebx(int __a, const signed char *__b)
1974 {
1975   return (vector signed char)__builtin_altivec_lvebx(__a, __b);
1976 }
1977 
1978 static vector unsigned char __ATTRS_o_ai
vec_lvebx(int __a,const unsigned char * __b)1979 vec_lvebx(int __a, const unsigned char *__b)
1980 {
1981   return (vector unsigned char)__builtin_altivec_lvebx(__a, __b);
1982 }
1983 
1984 /* vec_lvehx */
1985 
1986 static vector short __ATTRS_o_ai
vec_lvehx(int __a,const short * __b)1987 vec_lvehx(int __a, const short *__b)
1988 {
1989   return (vector short)__builtin_altivec_lvehx(__a, __b);
1990 }
1991 
1992 static vector unsigned short __ATTRS_o_ai
vec_lvehx(int __a,const unsigned short * __b)1993 vec_lvehx(int __a, const unsigned short *__b)
1994 {
1995   return (vector unsigned short)__builtin_altivec_lvehx(__a, __b);
1996 }
1997 
1998 /* vec_lvewx */
1999 
2000 static vector int __ATTRS_o_ai
vec_lvewx(int __a,const int * __b)2001 vec_lvewx(int __a, const int *__b)
2002 {
2003   return (vector int)__builtin_altivec_lvewx(__a, __b);
2004 }
2005 
2006 static vector unsigned int __ATTRS_o_ai
vec_lvewx(int __a,const unsigned int * __b)2007 vec_lvewx(int __a, const unsigned int *__b)
2008 {
2009   return (vector unsigned int)__builtin_altivec_lvewx(__a, __b);
2010 }
2011 
2012 static vector float __ATTRS_o_ai
vec_lvewx(int __a,const float * __b)2013 vec_lvewx(int __a, const float *__b)
2014 {
2015   return (vector float)__builtin_altivec_lvewx(__a, __b);
2016 }
2017 
2018 /* vec_ldl */
2019 
2020 static vector signed char __ATTRS_o_ai
vec_ldl(int __a,const vector signed char * __b)2021 vec_ldl(int __a, const vector signed char *__b)
2022 {
2023   return (vector signed char)__builtin_altivec_lvxl(__a, __b);
2024 }
2025 
2026 static vector signed char __ATTRS_o_ai
vec_ldl(int __a,const signed char * __b)2027 vec_ldl(int __a, const signed char *__b)
2028 {
2029   return (vector signed char)__builtin_altivec_lvxl(__a, __b);
2030 }
2031 
2032 static vector unsigned char __ATTRS_o_ai
vec_ldl(int __a,const vector unsigned char * __b)2033 vec_ldl(int __a, const vector unsigned char *__b)
2034 {
2035   return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
2036 }
2037 
2038 static vector unsigned char __ATTRS_o_ai
vec_ldl(int __a,const unsigned char * __b)2039 vec_ldl(int __a, const unsigned char *__b)
2040 {
2041   return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
2042 }
2043 
2044 static vector bool char __ATTRS_o_ai
vec_ldl(int __a,const vector bool char * __b)2045 vec_ldl(int __a, const vector bool char *__b)
2046 {
2047   return (vector bool char)__builtin_altivec_lvxl(__a, __b);
2048 }
2049 
2050 static vector short __ATTRS_o_ai
vec_ldl(int __a,const vector short * __b)2051 vec_ldl(int __a, const vector short *__b)
2052 {
2053   return (vector short)__builtin_altivec_lvxl(__a, __b);
2054 }
2055 
2056 static vector short __ATTRS_o_ai
vec_ldl(int __a,const short * __b)2057 vec_ldl(int __a, const short *__b)
2058 {
2059   return (vector short)__builtin_altivec_lvxl(__a, __b);
2060 }
2061 
2062 static vector unsigned short __ATTRS_o_ai
vec_ldl(int __a,const vector unsigned short * __b)2063 vec_ldl(int __a, const vector unsigned short *__b)
2064 {
2065   return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
2066 }
2067 
2068 static vector unsigned short __ATTRS_o_ai
vec_ldl(int __a,const unsigned short * __b)2069 vec_ldl(int __a, const unsigned short *__b)
2070 {
2071   return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
2072 }
2073 
2074 static vector bool short __ATTRS_o_ai
vec_ldl(int __a,const vector bool short * __b)2075 vec_ldl(int __a, const vector bool short *__b)
2076 {
2077   return (vector bool short)__builtin_altivec_lvxl(__a, __b);
2078 }
2079 
2080 static vector pixel __ATTRS_o_ai
vec_ldl(int __a,const vector pixel * __b)2081 vec_ldl(int __a, const vector pixel *__b)
2082 {
2083   return (vector pixel short)__builtin_altivec_lvxl(__a, __b);
2084 }
2085 
2086 static vector int __ATTRS_o_ai
vec_ldl(int __a,const vector int * __b)2087 vec_ldl(int __a, const vector int *__b)
2088 {
2089   return (vector int)__builtin_altivec_lvxl(__a, __b);
2090 }
2091 
2092 static vector int __ATTRS_o_ai
vec_ldl(int __a,const int * __b)2093 vec_ldl(int __a, const int *__b)
2094 {
2095   return (vector int)__builtin_altivec_lvxl(__a, __b);
2096 }
2097 
2098 static vector unsigned int __ATTRS_o_ai
vec_ldl(int __a,const vector unsigned int * __b)2099 vec_ldl(int __a, const vector unsigned int *__b)
2100 {
2101   return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
2102 }
2103 
2104 static vector unsigned int __ATTRS_o_ai
vec_ldl(int __a,const unsigned int * __b)2105 vec_ldl(int __a, const unsigned int *__b)
2106 {
2107   return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
2108 }
2109 
2110 static vector bool int __ATTRS_o_ai
vec_ldl(int __a,const vector bool int * __b)2111 vec_ldl(int __a, const vector bool int *__b)
2112 {
2113   return (vector bool int)__builtin_altivec_lvxl(__a, __b);
2114 }
2115 
2116 static vector float __ATTRS_o_ai
vec_ldl(int __a,const vector float * __b)2117 vec_ldl(int __a, const vector float *__b)
2118 {
2119   return (vector float)__builtin_altivec_lvxl(__a, __b);
2120 }
2121 
2122 static vector float __ATTRS_o_ai
vec_ldl(int __a,const float * __b)2123 vec_ldl(int __a, const float *__b)
2124 {
2125   return (vector float)__builtin_altivec_lvxl(__a, __b);
2126 }
2127 
2128 /* vec_lvxl */
2129 
2130 static vector signed char __ATTRS_o_ai
vec_lvxl(int __a,const vector signed char * __b)2131 vec_lvxl(int __a, const vector signed char *__b)
2132 {
2133   return (vector signed char)__builtin_altivec_lvxl(__a, __b);
2134 }
2135 
2136 static vector signed char __ATTRS_o_ai
vec_lvxl(int __a,const signed char * __b)2137 vec_lvxl(int __a, const signed char *__b)
2138 {
2139   return (vector signed char)__builtin_altivec_lvxl(__a, __b);
2140 }
2141 
2142 static vector unsigned char __ATTRS_o_ai
vec_lvxl(int __a,const vector unsigned char * __b)2143 vec_lvxl(int __a, const vector unsigned char *__b)
2144 {
2145   return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
2146 }
2147 
2148 static vector unsigned char __ATTRS_o_ai
vec_lvxl(int __a,const unsigned char * __b)2149 vec_lvxl(int __a, const unsigned char *__b)
2150 {
2151   return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
2152 }
2153 
2154 static vector bool char __ATTRS_o_ai
vec_lvxl(int __a,const vector bool char * __b)2155 vec_lvxl(int __a, const vector bool char *__b)
2156 {
2157   return (vector bool char)__builtin_altivec_lvxl(__a, __b);
2158 }
2159 
2160 static vector short __ATTRS_o_ai
vec_lvxl(int __a,const vector short * __b)2161 vec_lvxl(int __a, const vector short *__b)
2162 {
2163   return (vector short)__builtin_altivec_lvxl(__a, __b);
2164 }
2165 
2166 static vector short __ATTRS_o_ai
vec_lvxl(int __a,const short * __b)2167 vec_lvxl(int __a, const short *__b)
2168 {
2169   return (vector short)__builtin_altivec_lvxl(__a, __b);
2170 }
2171 
2172 static vector unsigned short __ATTRS_o_ai
vec_lvxl(int __a,const vector unsigned short * __b)2173 vec_lvxl(int __a, const vector unsigned short *__b)
2174 {
2175   return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
2176 }
2177 
2178 static vector unsigned short __ATTRS_o_ai
vec_lvxl(int __a,const unsigned short * __b)2179 vec_lvxl(int __a, const unsigned short *__b)
2180 {
2181   return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
2182 }
2183 
2184 static vector bool short __ATTRS_o_ai
vec_lvxl(int __a,const vector bool short * __b)2185 vec_lvxl(int __a, const vector bool short *__b)
2186 {
2187   return (vector bool short)__builtin_altivec_lvxl(__a, __b);
2188 }
2189 
2190 static vector pixel __ATTRS_o_ai
vec_lvxl(int __a,const vector pixel * __b)2191 vec_lvxl(int __a, const vector pixel *__b)
2192 {
2193   return (vector pixel)__builtin_altivec_lvxl(__a, __b);
2194 }
2195 
2196 static vector int __ATTRS_o_ai
vec_lvxl(int __a,const vector int * __b)2197 vec_lvxl(int __a, const vector int *__b)
2198 {
2199   return (vector int)__builtin_altivec_lvxl(__a, __b);
2200 }
2201 
2202 static vector int __ATTRS_o_ai
vec_lvxl(int __a,const int * __b)2203 vec_lvxl(int __a, const int *__b)
2204 {
2205   return (vector int)__builtin_altivec_lvxl(__a, __b);
2206 }
2207 
2208 static vector unsigned int __ATTRS_o_ai
vec_lvxl(int __a,const vector unsigned int * __b)2209 vec_lvxl(int __a, const vector unsigned int *__b)
2210 {
2211   return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
2212 }
2213 
2214 static vector unsigned int __ATTRS_o_ai
vec_lvxl(int __a,const unsigned int * __b)2215 vec_lvxl(int __a, const unsigned int *__b)
2216 {
2217   return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
2218 }
2219 
2220 static vector bool int __ATTRS_o_ai
vec_lvxl(int __a,const vector bool int * __b)2221 vec_lvxl(int __a, const vector bool int *__b)
2222 {
2223   return (vector bool int)__builtin_altivec_lvxl(__a, __b);
2224 }
2225 
2226 static vector float __ATTRS_o_ai
vec_lvxl(int __a,const vector float * __b)2227 vec_lvxl(int __a, const vector float *__b)
2228 {
2229   return (vector float)__builtin_altivec_lvxl(__a, __b);
2230 }
2231 
2232 static vector float __ATTRS_o_ai
vec_lvxl(int __a,const float * __b)2233 vec_lvxl(int __a, const float *__b)
2234 {
2235   return (vector float)__builtin_altivec_lvxl(__a, __b);
2236 }
2237 
2238 /* vec_loge */
2239 
2240 static vector float __attribute__((__always_inline__))
vec_loge(vector float __a)2241 vec_loge(vector float __a)
2242 {
2243   return __builtin_altivec_vlogefp(__a);
2244 }
2245 
2246 /* vec_vlogefp */
2247 
2248 static vector float __attribute__((__always_inline__))
vec_vlogefp(vector float __a)2249 vec_vlogefp(vector float __a)
2250 {
2251   return __builtin_altivec_vlogefp(__a);
2252 }
2253 
2254 /* vec_lvsl */
2255 
2256 static vector unsigned char __ATTRS_o_ai
vec_lvsl(int __a,const signed char * __b)2257 vec_lvsl(int __a, const signed char *__b)
2258 {
2259   return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
2260 }
2261 
2262 static vector unsigned char __ATTRS_o_ai
vec_lvsl(int __a,const unsigned char * __b)2263 vec_lvsl(int __a, const unsigned char *__b)
2264 {
2265   return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
2266 }
2267 
2268 static vector unsigned char __ATTRS_o_ai
vec_lvsl(int __a,const short * __b)2269 vec_lvsl(int __a, const short *__b)
2270 {
2271   return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
2272 }
2273 
2274 static vector unsigned char __ATTRS_o_ai
vec_lvsl(int __a,const unsigned short * __b)2275 vec_lvsl(int __a, const unsigned short *__b)
2276 {
2277   return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
2278 }
2279 
2280 static vector unsigned char __ATTRS_o_ai
vec_lvsl(int __a,const int * __b)2281 vec_lvsl(int __a, const int *__b)
2282 {
2283   return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
2284 }
2285 
2286 static vector unsigned char __ATTRS_o_ai
vec_lvsl(int __a,const unsigned int * __b)2287 vec_lvsl(int __a, const unsigned int *__b)
2288 {
2289   return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
2290 }
2291 
2292 static vector unsigned char __ATTRS_o_ai
vec_lvsl(int __a,const float * __b)2293 vec_lvsl(int __a, const float *__b)
2294 {
2295   return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
2296 }
2297 
2298 /* vec_lvsr */
2299 
2300 static vector unsigned char __ATTRS_o_ai
vec_lvsr(int __a,const signed char * __b)2301 vec_lvsr(int __a, const signed char *__b)
2302 {
2303   return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
2304 }
2305 
2306 static vector unsigned char __ATTRS_o_ai
vec_lvsr(int __a,const unsigned char * __b)2307 vec_lvsr(int __a, const unsigned char *__b)
2308 {
2309   return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
2310 }
2311 
2312 static vector unsigned char __ATTRS_o_ai
vec_lvsr(int __a,const short * __b)2313 vec_lvsr(int __a, const short *__b)
2314 {
2315   return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
2316 }
2317 
2318 static vector unsigned char __ATTRS_o_ai
vec_lvsr(int __a,const unsigned short * __b)2319 vec_lvsr(int __a, const unsigned short *__b)
2320 {
2321   return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
2322 }
2323 
2324 static vector unsigned char __ATTRS_o_ai
vec_lvsr(int __a,const int * __b)2325 vec_lvsr(int __a, const int *__b)
2326 {
2327   return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
2328 }
2329 
2330 static vector unsigned char __ATTRS_o_ai
vec_lvsr(int __a,const unsigned int * __b)2331 vec_lvsr(int __a, const unsigned int *__b)
2332 {
2333   return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
2334 }
2335 
2336 static vector unsigned char __ATTRS_o_ai
vec_lvsr(int __a,const float * __b)2337 vec_lvsr(int __a, const float *__b)
2338 {
2339   return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
2340 }
2341 
2342 /* vec_madd */
2343 
2344 static vector float __attribute__((__always_inline__))
vec_madd(vector float __a,vector float __b,vector float __c)2345 vec_madd(vector float __a, vector float __b, vector float __c)
2346 {
2347   return __builtin_altivec_vmaddfp(__a, __b, __c);
2348 }
2349 
2350 /* vec_vmaddfp */
2351 
2352 static vector float __attribute__((__always_inline__))
vec_vmaddfp(vector float __a,vector float __b,vector float __c)2353 vec_vmaddfp(vector float __a, vector float __b, vector float __c)
2354 {
2355   return __builtin_altivec_vmaddfp(__a, __b, __c);
2356 }
2357 
2358 /* vec_madds */
2359 
2360 static vector signed short __attribute__((__always_inline__))
vec_madds(vector signed short __a,vector signed short __b,vector signed short __c)2361 vec_madds(vector signed short __a, vector signed short __b, vector signed short __c)
2362 {
2363   return __builtin_altivec_vmhaddshs(__a, __b, __c);
2364 }
2365 
2366 /* vec_vmhaddshs */
2367 static vector signed short __attribute__((__always_inline__))
vec_vmhaddshs(vector signed short __a,vector signed short __b,vector signed short __c)2368 vec_vmhaddshs(vector signed short __a,
2369               vector signed short __b,
2370               vector signed short __c)
2371 {
2372   return __builtin_altivec_vmhaddshs(__a, __b, __c);
2373 }
2374 
2375 /* vec_max */
2376 
2377 static vector signed char __ATTRS_o_ai
vec_max(vector signed char __a,vector signed char __b)2378 vec_max(vector signed char __a, vector signed char __b)
2379 {
2380   return __builtin_altivec_vmaxsb(__a, __b);
2381 }
2382 
2383 static vector signed char __ATTRS_o_ai
vec_max(vector bool char __a,vector signed char __b)2384 vec_max(vector bool char __a, vector signed char __b)
2385 {
2386   return __builtin_altivec_vmaxsb((vector signed char)__a, __b);
2387 }
2388 
2389 static vector signed char __ATTRS_o_ai
vec_max(vector signed char __a,vector bool char __b)2390 vec_max(vector signed char __a, vector bool char __b)
2391 {
2392   return __builtin_altivec_vmaxsb(__a, (vector signed char)__b);
2393 }
2394 
2395 static vector unsigned char __ATTRS_o_ai
vec_max(vector unsigned char __a,vector unsigned char __b)2396 vec_max(vector unsigned char __a, vector unsigned char __b)
2397 {
2398   return __builtin_altivec_vmaxub(__a, __b);
2399 }
2400 
2401 static vector unsigned char __ATTRS_o_ai
vec_max(vector bool char __a,vector unsigned char __b)2402 vec_max(vector bool char __a, vector unsigned char __b)
2403 {
2404   return __builtin_altivec_vmaxub((vector unsigned char)__a, __b);
2405 }
2406 
2407 static vector unsigned char __ATTRS_o_ai
vec_max(vector unsigned char __a,vector bool char __b)2408 vec_max(vector unsigned char __a, vector bool char __b)
2409 {
2410   return __builtin_altivec_vmaxub(__a, (vector unsigned char)__b);
2411 }
2412 
2413 static vector short __ATTRS_o_ai
vec_max(vector short __a,vector short __b)2414 vec_max(vector short __a, vector short __b)
2415 {
2416   return __builtin_altivec_vmaxsh(__a, __b);
2417 }
2418 
2419 static vector short __ATTRS_o_ai
vec_max(vector bool short __a,vector short __b)2420 vec_max(vector bool short __a, vector short __b)
2421 {
2422   return __builtin_altivec_vmaxsh((vector short)__a, __b);
2423 }
2424 
2425 static vector short __ATTRS_o_ai
vec_max(vector short __a,vector bool short __b)2426 vec_max(vector short __a, vector bool short __b)
2427 {
2428   return __builtin_altivec_vmaxsh(__a, (vector short)__b);
2429 }
2430 
2431 static vector unsigned short __ATTRS_o_ai
vec_max(vector unsigned short __a,vector unsigned short __b)2432 vec_max(vector unsigned short __a, vector unsigned short __b)
2433 {
2434   return __builtin_altivec_vmaxuh(__a, __b);
2435 }
2436 
2437 static vector unsigned short __ATTRS_o_ai
vec_max(vector bool short __a,vector unsigned short __b)2438 vec_max(vector bool short __a, vector unsigned short __b)
2439 {
2440   return __builtin_altivec_vmaxuh((vector unsigned short)__a, __b);
2441 }
2442 
2443 static vector unsigned short __ATTRS_o_ai
vec_max(vector unsigned short __a,vector bool short __b)2444 vec_max(vector unsigned short __a, vector bool short __b)
2445 {
2446   return __builtin_altivec_vmaxuh(__a, (vector unsigned short)__b);
2447 }
2448 
2449 static vector int __ATTRS_o_ai
vec_max(vector int __a,vector int __b)2450 vec_max(vector int __a, vector int __b)
2451 {
2452   return __builtin_altivec_vmaxsw(__a, __b);
2453 }
2454 
2455 static vector int __ATTRS_o_ai
vec_max(vector bool int __a,vector int __b)2456 vec_max(vector bool int __a, vector int __b)
2457 {
2458   return __builtin_altivec_vmaxsw((vector int)__a, __b);
2459 }
2460 
2461 static vector int __ATTRS_o_ai
vec_max(vector int __a,vector bool int __b)2462 vec_max(vector int __a, vector bool int __b)
2463 {
2464   return __builtin_altivec_vmaxsw(__a, (vector int)__b);
2465 }
2466 
2467 static vector unsigned int __ATTRS_o_ai
vec_max(vector unsigned int __a,vector unsigned int __b)2468 vec_max(vector unsigned int __a, vector unsigned int __b)
2469 {
2470   return __builtin_altivec_vmaxuw(__a, __b);
2471 }
2472 
2473 static vector unsigned int __ATTRS_o_ai
vec_max(vector bool int __a,vector unsigned int __b)2474 vec_max(vector bool int __a, vector unsigned int __b)
2475 {
2476   return __builtin_altivec_vmaxuw((vector unsigned int)__a, __b);
2477 }
2478 
2479 static vector unsigned int __ATTRS_o_ai
vec_max(vector unsigned int __a,vector bool int __b)2480 vec_max(vector unsigned int __a, vector bool int __b)
2481 {
2482   return __builtin_altivec_vmaxuw(__a, (vector unsigned int)__b);
2483 }
2484 
2485 static vector float __ATTRS_o_ai
vec_max(vector float __a,vector float __b)2486 vec_max(vector float __a, vector float __b)
2487 {
2488   return __builtin_altivec_vmaxfp(__a, __b);
2489 }
2490 
2491 /* vec_vmaxsb */
2492 
2493 static vector signed char __ATTRS_o_ai
vec_vmaxsb(vector signed char __a,vector signed char __b)2494 vec_vmaxsb(vector signed char __a, vector signed char __b)
2495 {
2496   return __builtin_altivec_vmaxsb(__a, __b);
2497 }
2498 
2499 static vector signed char __ATTRS_o_ai
vec_vmaxsb(vector bool char __a,vector signed char __b)2500 vec_vmaxsb(vector bool char __a, vector signed char __b)
2501 {
2502   return __builtin_altivec_vmaxsb((vector signed char)__a, __b);
2503 }
2504 
2505 static vector signed char __ATTRS_o_ai
vec_vmaxsb(vector signed char __a,vector bool char __b)2506 vec_vmaxsb(vector signed char __a, vector bool char __b)
2507 {
2508   return __builtin_altivec_vmaxsb(__a, (vector signed char)__b);
2509 }
2510 
2511 /* vec_vmaxub */
2512 
2513 static vector unsigned char __ATTRS_o_ai
vec_vmaxub(vector unsigned char __a,vector unsigned char __b)2514 vec_vmaxub(vector unsigned char __a, vector unsigned char __b)
2515 {
2516   return __builtin_altivec_vmaxub(__a, __b);
2517 }
2518 
2519 static vector unsigned char __ATTRS_o_ai
vec_vmaxub(vector bool char __a,vector unsigned char __b)2520 vec_vmaxub(vector bool char __a, vector unsigned char __b)
2521 {
2522   return __builtin_altivec_vmaxub((vector unsigned char)__a, __b);
2523 }
2524 
2525 static vector unsigned char __ATTRS_o_ai
vec_vmaxub(vector unsigned char __a,vector bool char __b)2526 vec_vmaxub(vector unsigned char __a, vector bool char __b)
2527 {
2528   return __builtin_altivec_vmaxub(__a, (vector unsigned char)__b);
2529 }
2530 
2531 /* vec_vmaxsh */
2532 
2533 static vector short __ATTRS_o_ai
vec_vmaxsh(vector short __a,vector short __b)2534 vec_vmaxsh(vector short __a, vector short __b)
2535 {
2536   return __builtin_altivec_vmaxsh(__a, __b);
2537 }
2538 
2539 static vector short __ATTRS_o_ai
vec_vmaxsh(vector bool short __a,vector short __b)2540 vec_vmaxsh(vector bool short __a, vector short __b)
2541 {
2542   return __builtin_altivec_vmaxsh((vector short)__a, __b);
2543 }
2544 
2545 static vector short __ATTRS_o_ai
vec_vmaxsh(vector short __a,vector bool short __b)2546 vec_vmaxsh(vector short __a, vector bool short __b)
2547 {
2548   return __builtin_altivec_vmaxsh(__a, (vector short)__b);
2549 }
2550 
2551 /* vec_vmaxuh */
2552 
2553 static vector unsigned short __ATTRS_o_ai
vec_vmaxuh(vector unsigned short __a,vector unsigned short __b)2554 vec_vmaxuh(vector unsigned short __a, vector unsigned short __b)
2555 {
2556   return __builtin_altivec_vmaxuh(__a, __b);
2557 }
2558 
2559 static vector unsigned short __ATTRS_o_ai
vec_vmaxuh(vector bool short __a,vector unsigned short __b)2560 vec_vmaxuh(vector bool short __a, vector unsigned short __b)
2561 {
2562   return __builtin_altivec_vmaxuh((vector unsigned short)__a, __b);
2563 }
2564 
2565 static vector unsigned short __ATTRS_o_ai
vec_vmaxuh(vector unsigned short __a,vector bool short __b)2566 vec_vmaxuh(vector unsigned short __a, vector bool short __b)
2567 {
2568   return __builtin_altivec_vmaxuh(__a, (vector unsigned short)__b);
2569 }
2570 
2571 /* vec_vmaxsw */
2572 
2573 static vector int __ATTRS_o_ai
vec_vmaxsw(vector int __a,vector int __b)2574 vec_vmaxsw(vector int __a, vector int __b)
2575 {
2576   return __builtin_altivec_vmaxsw(__a, __b);
2577 }
2578 
2579 static vector int __ATTRS_o_ai
vec_vmaxsw(vector bool int __a,vector int __b)2580 vec_vmaxsw(vector bool int __a, vector int __b)
2581 {
2582   return __builtin_altivec_vmaxsw((vector int)__a, __b);
2583 }
2584 
2585 static vector int __ATTRS_o_ai
vec_vmaxsw(vector int __a,vector bool int __b)2586 vec_vmaxsw(vector int __a, vector bool int __b)
2587 {
2588   return __builtin_altivec_vmaxsw(__a, (vector int)__b);
2589 }
2590 
2591 /* vec_vmaxuw */
2592 
2593 static vector unsigned int __ATTRS_o_ai
vec_vmaxuw(vector unsigned int __a,vector unsigned int __b)2594 vec_vmaxuw(vector unsigned int __a, vector unsigned int __b)
2595 {
2596   return __builtin_altivec_vmaxuw(__a, __b);
2597 }
2598 
2599 static vector unsigned int __ATTRS_o_ai
vec_vmaxuw(vector bool int __a,vector unsigned int __b)2600 vec_vmaxuw(vector bool int __a, vector unsigned int __b)
2601 {
2602   return __builtin_altivec_vmaxuw((vector unsigned int)__a, __b);
2603 }
2604 
2605 static vector unsigned int __ATTRS_o_ai
vec_vmaxuw(vector unsigned int __a,vector bool int __b)2606 vec_vmaxuw(vector unsigned int __a, vector bool int __b)
2607 {
2608   return __builtin_altivec_vmaxuw(__a, (vector unsigned int)__b);
2609 }
2610 
2611 /* vec_vmaxfp */
2612 
2613 static vector float __attribute__((__always_inline__))
vec_vmaxfp(vector float __a,vector float __b)2614 vec_vmaxfp(vector float __a, vector float __b)
2615 {
2616   return __builtin_altivec_vmaxfp(__a, __b);
2617 }
2618 
2619 /* vec_mergeh */
2620 
2621 static vector signed char __ATTRS_o_ai
vec_mergeh(vector signed char __a,vector signed char __b)2622 vec_mergeh(vector signed char __a, vector signed char __b)
2623 {
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));
2627 }
2628 
2629 static vector unsigned char __ATTRS_o_ai
vec_mergeh(vector unsigned char __a,vector unsigned char __b)2630 vec_mergeh(vector unsigned char __a, vector unsigned char __b)
2631 {
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));
2635 }
2636 
2637 static vector bool char __ATTRS_o_ai
vec_mergeh(vector bool char __a,vector bool char __b)2638 vec_mergeh(vector bool char __a, vector bool char __b)
2639 {
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));
2643 }
2644 
2645 static vector short __ATTRS_o_ai
vec_mergeh(vector short __a,vector short __b)2646 vec_mergeh(vector short __a, vector short __b)
2647 {
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));
2651 }
2652 
2653 static vector unsigned short __ATTRS_o_ai
vec_mergeh(vector unsigned short __a,vector unsigned short __b)2654 vec_mergeh(vector unsigned short __a, vector unsigned short __b)
2655 {
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));
2659 }
2660 
2661 static vector bool short __ATTRS_o_ai
vec_mergeh(vector bool short __a,vector bool short __b)2662 vec_mergeh(vector bool short __a, vector bool short __b)
2663 {
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));
2667 }
2668 
2669 static vector pixel __ATTRS_o_ai
vec_mergeh(vector pixel __a,vector pixel __b)2670 vec_mergeh(vector pixel __a, vector pixel __b)
2671 {
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));
2675 }
2676 
2677 static vector int __ATTRS_o_ai
vec_mergeh(vector int __a,vector int __b)2678 vec_mergeh(vector int __a, vector int __b)
2679 {
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));
2683 }
2684 
2685 static vector unsigned int __ATTRS_o_ai
vec_mergeh(vector unsigned int __a,vector unsigned int __b)2686 vec_mergeh(vector unsigned int __a, vector unsigned int __b)
2687 {
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));
2691 }
2692 
2693 static vector bool int __ATTRS_o_ai
vec_mergeh(vector bool int __a,vector bool int __b)2694 vec_mergeh(vector bool int __a, vector bool int __b)
2695 {
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));
2699 }
2700 
2701 static vector float __ATTRS_o_ai
vec_mergeh(vector float __a,vector float __b)2702 vec_mergeh(vector float __a, vector float __b)
2703 {
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));
2707 }
2708 
2709 /* vec_vmrghb */
2710 
2711 #define __builtin_altivec_vmrghb vec_vmrghb
2712 
2713 static vector signed char __ATTRS_o_ai
vec_vmrghb(vector signed char __a,vector signed char __b)2714 vec_vmrghb(vector signed char __a, vector signed char __b)
2715 {
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));
2719 }
2720 
2721 static vector unsigned char __ATTRS_o_ai
vec_vmrghb(vector unsigned char __a,vector unsigned char __b)2722 vec_vmrghb(vector unsigned char __a, vector unsigned char __b)
2723 {
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));
2727 }
2728 
2729 static vector bool char __ATTRS_o_ai
vec_vmrghb(vector bool char __a,vector bool char __b)2730 vec_vmrghb(vector bool char __a, vector bool char __b)
2731 {
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));
2735 }
2736 
2737 /* vec_vmrghh */
2738 
2739 #define __builtin_altivec_vmrghh vec_vmrghh
2740 
2741 static vector short __ATTRS_o_ai
vec_vmrghh(vector short __a,vector short __b)2742 vec_vmrghh(vector short __a, vector short __b)
2743 {
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));
2747 }
2748 
2749 static vector unsigned short __ATTRS_o_ai
vec_vmrghh(vector unsigned short __a,vector unsigned short __b)2750 vec_vmrghh(vector unsigned short __a, vector unsigned short __b)
2751 {
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));
2755 }
2756 
2757 static vector bool short __ATTRS_o_ai
vec_vmrghh(vector bool short __a,vector bool short __b)2758 vec_vmrghh(vector bool short __a, vector bool short __b)
2759 {
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));
2763 }
2764 
2765 static vector pixel __ATTRS_o_ai
vec_vmrghh(vector pixel __a,vector pixel __b)2766 vec_vmrghh(vector pixel __a, vector pixel __b)
2767 {
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));
2771 }
2772 
2773 /* vec_vmrghw */
2774 
2775 #define __builtin_altivec_vmrghw vec_vmrghw
2776 
2777 static vector int __ATTRS_o_ai
vec_vmrghw(vector int __a,vector int __b)2778 vec_vmrghw(vector int __a, vector int __b)
2779 {
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));
2783 }
2784 
2785 static vector unsigned int __ATTRS_o_ai
vec_vmrghw(vector unsigned int __a,vector unsigned int __b)2786 vec_vmrghw(vector unsigned int __a, vector unsigned int __b)
2787 {
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));
2791 }
2792 
2793 static vector bool int __ATTRS_o_ai
vec_vmrghw(vector bool int __a,vector bool int __b)2794 vec_vmrghw(vector bool int __a, vector bool int __b)
2795 {
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));
2799 }
2800 
2801 static vector float __ATTRS_o_ai
vec_vmrghw(vector float __a,vector float __b)2802 vec_vmrghw(vector float __a, vector float __b)
2803 {
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));
2807 }
2808 
2809 /* vec_mergel */
2810 
2811 static vector signed char __ATTRS_o_ai
vec_mergel(vector signed char __a,vector signed char __b)2812 vec_mergel(vector signed char __a, vector signed char __b)
2813 {
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));
2817 }
2818 
2819 static vector unsigned char __ATTRS_o_ai
vec_mergel(vector unsigned char __a,vector unsigned char __b)2820 vec_mergel(vector unsigned char __a, vector unsigned char __b)
2821 {
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));
2825 }
2826 
2827 static vector bool char __ATTRS_o_ai
vec_mergel(vector bool char __a,vector bool char __b)2828 vec_mergel(vector bool char __a, vector bool char __b)
2829 {
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));
2833 }
2834 
2835 static vector short __ATTRS_o_ai
vec_mergel(vector short __a,vector short __b)2836 vec_mergel(vector short __a, vector short __b)
2837 {
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));
2841 }
2842 
2843 static vector unsigned short __ATTRS_o_ai
vec_mergel(vector unsigned short __a,vector unsigned short __b)2844 vec_mergel(vector unsigned short __a, vector unsigned short __b)
2845 {
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));
2849 }
2850 
2851 static vector bool short __ATTRS_o_ai
vec_mergel(vector bool short __a,vector bool short __b)2852 vec_mergel(vector bool short __a, vector bool short __b)
2853 {
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));
2857 }
2858 
2859 static vector pixel __ATTRS_o_ai
vec_mergel(vector pixel __a,vector pixel __b)2860 vec_mergel(vector pixel __a, vector pixel __b)
2861 {
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));
2865 }
2866 
2867 static vector int __ATTRS_o_ai
vec_mergel(vector int __a,vector int __b)2868 vec_mergel(vector int __a, vector int __b)
2869 {
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));
2873 }
2874 
2875 static vector unsigned int __ATTRS_o_ai
vec_mergel(vector unsigned int __a,vector unsigned int __b)2876 vec_mergel(vector unsigned int __a, vector unsigned int __b)
2877 {
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));
2881 }
2882 
2883 static vector bool int __ATTRS_o_ai
vec_mergel(vector bool int __a,vector bool int __b)2884 vec_mergel(vector bool int __a, vector bool int __b)
2885 {
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));
2889 }
2890 
2891 static vector float __ATTRS_o_ai
vec_mergel(vector float __a,vector float __b)2892 vec_mergel(vector float __a, vector float __b)
2893 {
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));
2897 }
2898 
2899 /* vec_vmrglb */
2900 
2901 #define __builtin_altivec_vmrglb vec_vmrglb
2902 
2903 static vector signed char __ATTRS_o_ai
vec_vmrglb(vector signed char __a,vector signed char __b)2904 vec_vmrglb(vector signed char __a, vector signed char __b)
2905 {
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));
2909 }
2910 
2911 static vector unsigned char __ATTRS_o_ai
vec_vmrglb(vector unsigned char __a,vector unsigned char __b)2912 vec_vmrglb(vector unsigned char __a, vector unsigned char __b)
2913 {
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));
2917 }
2918 
2919 static vector bool char __ATTRS_o_ai
vec_vmrglb(vector bool char __a,vector bool char __b)2920 vec_vmrglb(vector bool char __a, vector bool char __b)
2921 {
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));
2925 }
2926 
2927 /* vec_vmrglh */
2928 
2929 #define __builtin_altivec_vmrglh vec_vmrglh
2930 
2931 static vector short __ATTRS_o_ai
vec_vmrglh(vector short __a,vector short __b)2932 vec_vmrglh(vector short __a, vector short __b)
2933 {
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));
2937 }
2938 
2939 static vector unsigned short __ATTRS_o_ai
vec_vmrglh(vector unsigned short __a,vector unsigned short __b)2940 vec_vmrglh(vector unsigned short __a, vector unsigned short __b)
2941 {
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));
2945 }
2946 
2947 static vector bool short __ATTRS_o_ai
vec_vmrglh(vector bool short __a,vector bool short __b)2948 vec_vmrglh(vector bool short __a, vector bool short __b)
2949 {
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));
2953 }
2954 
2955 static vector pixel __ATTRS_o_ai
vec_vmrglh(vector pixel __a,vector pixel __b)2956 vec_vmrglh(vector pixel __a, vector pixel __b)
2957 {
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));
2961 }
2962 
2963 /* vec_vmrglw */
2964 
2965 #define __builtin_altivec_vmrglw vec_vmrglw
2966 
2967 static vector int __ATTRS_o_ai
vec_vmrglw(vector int __a,vector int __b)2968 vec_vmrglw(vector int __a, vector int __b)
2969 {
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));
2973 }
2974 
2975 static vector unsigned int __ATTRS_o_ai
vec_vmrglw(vector unsigned int __a,vector unsigned int __b)2976 vec_vmrglw(vector unsigned int __a, vector unsigned int __b)
2977 {
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));
2981 }
2982 
2983 static vector bool int __ATTRS_o_ai
vec_vmrglw(vector bool int __a,vector bool int __b)2984 vec_vmrglw(vector bool int __a, vector bool int __b)
2985 {
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));
2989 }
2990 
2991 static vector float __ATTRS_o_ai
vec_vmrglw(vector float __a,vector float __b)2992 vec_vmrglw(vector float __a, vector float __b)
2993 {
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));
2997 }
2998 
2999 /* vec_mfvscr */
3000 
3001 static vector unsigned short __attribute__((__always_inline__))
vec_mfvscr(void)3002 vec_mfvscr(void)
3003 {
3004   return __builtin_altivec_mfvscr();
3005 }
3006 
3007 /* vec_min */
3008 
3009 static vector signed char __ATTRS_o_ai
vec_min(vector signed char __a,vector signed char __b)3010 vec_min(vector signed char __a, vector signed char __b)
3011 {
3012   return __builtin_altivec_vminsb(__a, __b);
3013 }
3014 
3015 static vector signed char __ATTRS_o_ai
vec_min(vector bool char __a,vector signed char __b)3016 vec_min(vector bool char __a, vector signed char __b)
3017 {
3018   return __builtin_altivec_vminsb((vector signed char)__a, __b);
3019 }
3020 
3021 static vector signed char __ATTRS_o_ai
vec_min(vector signed char __a,vector bool char __b)3022 vec_min(vector signed char __a, vector bool char __b)
3023 {
3024   return __builtin_altivec_vminsb(__a, (vector signed char)__b);
3025 }
3026 
3027 static vector unsigned char __ATTRS_o_ai
vec_min(vector unsigned char __a,vector unsigned char __b)3028 vec_min(vector unsigned char __a, vector unsigned char __b)
3029 {
3030   return __builtin_altivec_vminub(__a, __b);
3031 }
3032 
3033 static vector unsigned char __ATTRS_o_ai
vec_min(vector bool char __a,vector unsigned char __b)3034 vec_min(vector bool char __a, vector unsigned char __b)
3035 {
3036   return __builtin_altivec_vminub((vector unsigned char)__a, __b);
3037 }
3038 
3039 static vector unsigned char __ATTRS_o_ai
vec_min(vector unsigned char __a,vector bool char __b)3040 vec_min(vector unsigned char __a, vector bool char __b)
3041 {
3042   return __builtin_altivec_vminub(__a, (vector unsigned char)__b);
3043 }
3044 
3045 static vector short __ATTRS_o_ai
vec_min(vector short __a,vector short __b)3046 vec_min(vector short __a, vector short __b)
3047 {
3048   return __builtin_altivec_vminsh(__a, __b);
3049 }
3050 
3051 static vector short __ATTRS_o_ai
vec_min(vector bool short __a,vector short __b)3052 vec_min(vector bool short __a, vector short __b)
3053 {
3054   return __builtin_altivec_vminsh((vector short)__a, __b);
3055 }
3056 
3057 static vector short __ATTRS_o_ai
vec_min(vector short __a,vector bool short __b)3058 vec_min(vector short __a, vector bool short __b)
3059 {
3060   return __builtin_altivec_vminsh(__a, (vector short)__b);
3061 }
3062 
3063 static vector unsigned short __ATTRS_o_ai
vec_min(vector unsigned short __a,vector unsigned short __b)3064 vec_min(vector unsigned short __a, vector unsigned short __b)
3065 {
3066   return __builtin_altivec_vminuh(__a, __b);
3067 }
3068 
3069 static vector unsigned short __ATTRS_o_ai
vec_min(vector bool short __a,vector unsigned short __b)3070 vec_min(vector bool short __a, vector unsigned short __b)
3071 {
3072   return __builtin_altivec_vminuh((vector unsigned short)__a, __b);
3073 }
3074 
3075 static vector unsigned short __ATTRS_o_ai
vec_min(vector unsigned short __a,vector bool short __b)3076 vec_min(vector unsigned short __a, vector bool short __b)
3077 {
3078   return __builtin_altivec_vminuh(__a, (vector unsigned short)__b);
3079 }
3080 
3081 static vector int __ATTRS_o_ai
vec_min(vector int __a,vector int __b)3082 vec_min(vector int __a, vector int __b)
3083 {
3084   return __builtin_altivec_vminsw(__a, __b);
3085 }
3086 
3087 static vector int __ATTRS_o_ai
vec_min(vector bool int __a,vector int __b)3088 vec_min(vector bool int __a, vector int __b)
3089 {
3090   return __builtin_altivec_vminsw((vector int)__a, __b);
3091 }
3092 
3093 static vector int __ATTRS_o_ai
vec_min(vector int __a,vector bool int __b)3094 vec_min(vector int __a, vector bool int __b)
3095 {
3096   return __builtin_altivec_vminsw(__a, (vector int)__b);
3097 }
3098 
3099 static vector unsigned int __ATTRS_o_ai
vec_min(vector unsigned int __a,vector unsigned int __b)3100 vec_min(vector unsigned int __a, vector unsigned int __b)
3101 {
3102   return __builtin_altivec_vminuw(__a, __b);
3103 }
3104 
3105 static vector unsigned int __ATTRS_o_ai
vec_min(vector bool int __a,vector unsigned int __b)3106 vec_min(vector bool int __a, vector unsigned int __b)
3107 {
3108   return __builtin_altivec_vminuw((vector unsigned int)__a, __b);
3109 }
3110 
3111 static vector unsigned int __ATTRS_o_ai
vec_min(vector unsigned int __a,vector bool int __b)3112 vec_min(vector unsigned int __a, vector bool int __b)
3113 {
3114   return __builtin_altivec_vminuw(__a, (vector unsigned int)__b);
3115 }
3116 
3117 static vector float __ATTRS_o_ai
vec_min(vector float __a,vector float __b)3118 vec_min(vector float __a, vector float __b)
3119 {
3120   return __builtin_altivec_vminfp(__a, __b);
3121 }
3122 
3123 /* vec_vminsb */
3124 
3125 static vector signed char __ATTRS_o_ai
vec_vminsb(vector signed char __a,vector signed char __b)3126 vec_vminsb(vector signed char __a, vector signed char __b)
3127 {
3128   return __builtin_altivec_vminsb(__a, __b);
3129 }
3130 
3131 static vector signed char __ATTRS_o_ai
vec_vminsb(vector bool char __a,vector signed char __b)3132 vec_vminsb(vector bool char __a, vector signed char __b)
3133 {
3134   return __builtin_altivec_vminsb((vector signed char)__a, __b);
3135 }
3136 
3137 static vector signed char __ATTRS_o_ai
vec_vminsb(vector signed char __a,vector bool char __b)3138 vec_vminsb(vector signed char __a, vector bool char __b)
3139 {
3140   return __builtin_altivec_vminsb(__a, (vector signed char)__b);
3141 }
3142 
3143 /* vec_vminub */
3144 
3145 static vector unsigned char __ATTRS_o_ai
vec_vminub(vector unsigned char __a,vector unsigned char __b)3146 vec_vminub(vector unsigned char __a, vector unsigned char __b)
3147 {
3148   return __builtin_altivec_vminub(__a, __b);
3149 }
3150 
3151 static vector unsigned char __ATTRS_o_ai
vec_vminub(vector bool char __a,vector unsigned char __b)3152 vec_vminub(vector bool char __a, vector unsigned char __b)
3153 {
3154   return __builtin_altivec_vminub((vector unsigned char)__a, __b);
3155 }
3156 
3157 static vector unsigned char __ATTRS_o_ai
vec_vminub(vector unsigned char __a,vector bool char __b)3158 vec_vminub(vector unsigned char __a, vector bool char __b)
3159 {
3160   return __builtin_altivec_vminub(__a, (vector unsigned char)__b);
3161 }
3162 
3163 /* vec_vminsh */
3164 
3165 static vector short __ATTRS_o_ai
vec_vminsh(vector short __a,vector short __b)3166 vec_vminsh(vector short __a, vector short __b)
3167 {
3168   return __builtin_altivec_vminsh(__a, __b);
3169 }
3170 
3171 static vector short __ATTRS_o_ai
vec_vminsh(vector bool short __a,vector short __b)3172 vec_vminsh(vector bool short __a, vector short __b)
3173 {
3174   return __builtin_altivec_vminsh((vector short)__a, __b);
3175 }
3176 
3177 static vector short __ATTRS_o_ai
vec_vminsh(vector short __a,vector bool short __b)3178 vec_vminsh(vector short __a, vector bool short __b)
3179 {
3180   return __builtin_altivec_vminsh(__a, (vector short)__b);
3181 }
3182 
3183 /* vec_vminuh */
3184 
3185 static vector unsigned short __ATTRS_o_ai
vec_vminuh(vector unsigned short __a,vector unsigned short __b)3186 vec_vminuh(vector unsigned short __a, vector unsigned short __b)
3187 {
3188   return __builtin_altivec_vminuh(__a, __b);
3189 }
3190 
3191 static vector unsigned short __ATTRS_o_ai
vec_vminuh(vector bool short __a,vector unsigned short __b)3192 vec_vminuh(vector bool short __a, vector unsigned short __b)
3193 {
3194   return __builtin_altivec_vminuh((vector unsigned short)__a, __b);
3195 }
3196 
3197 static vector unsigned short __ATTRS_o_ai
vec_vminuh(vector unsigned short __a,vector bool short __b)3198 vec_vminuh(vector unsigned short __a, vector bool short __b)
3199 {
3200   return __builtin_altivec_vminuh(__a, (vector unsigned short)__b);
3201 }
3202 
3203 /* vec_vminsw */
3204 
3205 static vector int __ATTRS_o_ai
vec_vminsw(vector int __a,vector int __b)3206 vec_vminsw(vector int __a, vector int __b)
3207 {
3208   return __builtin_altivec_vminsw(__a, __b);
3209 }
3210 
3211 static vector int __ATTRS_o_ai
vec_vminsw(vector bool int __a,vector int __b)3212 vec_vminsw(vector bool int __a, vector int __b)
3213 {
3214   return __builtin_altivec_vminsw((vector int)__a, __b);
3215 }
3216 
3217 static vector int __ATTRS_o_ai
vec_vminsw(vector int __a,vector bool int __b)3218 vec_vminsw(vector int __a, vector bool int __b)
3219 {
3220   return __builtin_altivec_vminsw(__a, (vector int)__b);
3221 }
3222 
3223 /* vec_vminuw */
3224 
3225 static vector unsigned int __ATTRS_o_ai
vec_vminuw(vector unsigned int __a,vector unsigned int __b)3226 vec_vminuw(vector unsigned int __a, vector unsigned int __b)
3227 {
3228   return __builtin_altivec_vminuw(__a, __b);
3229 }
3230 
3231 static vector unsigned int __ATTRS_o_ai
vec_vminuw(vector bool int __a,vector unsigned int __b)3232 vec_vminuw(vector bool int __a, vector unsigned int __b)
3233 {
3234   return __builtin_altivec_vminuw((vector unsigned int)__a, __b);
3235 }
3236 
3237 static vector unsigned int __ATTRS_o_ai
vec_vminuw(vector unsigned int __a,vector bool int __b)3238 vec_vminuw(vector unsigned int __a, vector bool int __b)
3239 {
3240   return __builtin_altivec_vminuw(__a, (vector unsigned int)__b);
3241 }
3242 
3243 /* vec_vminfp */
3244 
3245 static vector float __attribute__((__always_inline__))
vec_vminfp(vector float __a,vector float __b)3246 vec_vminfp(vector float __a, vector float __b)
3247 {
3248   return __builtin_altivec_vminfp(__a, __b);
3249 }
3250 
3251 /* vec_mladd */
3252 
3253 #define __builtin_altivec_vmladduhm vec_mladd
3254 
3255 static vector short __ATTRS_o_ai
vec_mladd(vector short __a,vector short __b,vector short __c)3256 vec_mladd(vector short __a, vector short __b, vector short __c)
3257 {
3258   return __a * __b + __c;
3259 }
3260 
3261 static vector short __ATTRS_o_ai
vec_mladd(vector short __a,vector unsigned short __b,vector unsigned short __c)3262 vec_mladd(vector short __a, vector unsigned short __b, vector unsigned short __c)
3263 {
3264   return __a * (vector short)__b + (vector short)__c;
3265 }
3266 
3267 static vector short __ATTRS_o_ai
vec_mladd(vector unsigned short __a,vector short __b,vector short __c)3268 vec_mladd(vector unsigned short __a, vector short __b, vector short __c)
3269 {
3270   return (vector short)__a * __b + __c;
3271 }
3272 
3273 static vector unsigned short __ATTRS_o_ai
vec_mladd(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c)3274 vec_mladd(vector unsigned short __a,
3275           vector unsigned short __b,
3276           vector unsigned short __c)
3277 {
3278   return __a * __b + __c;
3279 }
3280 
3281 /* vec_vmladduhm */
3282 
3283 static vector short __ATTRS_o_ai
vec_vmladduhm(vector short __a,vector short __b,vector short __c)3284 vec_vmladduhm(vector short __a, vector short __b, vector short __c)
3285 {
3286   return __a * __b + __c;
3287 }
3288 
3289 static vector short __ATTRS_o_ai
vec_vmladduhm(vector short __a,vector unsigned short __b,vector unsigned short __c)3290 vec_vmladduhm(vector short __a, vector unsigned short __b, vector unsigned short __c)
3291 {
3292   return __a * (vector short)__b + (vector short)__c;
3293 }
3294 
3295 static vector short __ATTRS_o_ai
vec_vmladduhm(vector unsigned short __a,vector short __b,vector short __c)3296 vec_vmladduhm(vector unsigned short __a, vector short __b, vector short __c)
3297 {
3298   return (vector short)__a * __b + __c;
3299 }
3300 
3301 static vector unsigned short __ATTRS_o_ai
vec_vmladduhm(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c)3302 vec_vmladduhm(vector unsigned short __a,
3303               vector unsigned short __b,
3304               vector unsigned short __c)
3305 {
3306   return __a * __b + __c;
3307 }
3308 
3309 /* vec_mradds */
3310 
3311 static vector short __attribute__((__always_inline__))
vec_mradds(vector short __a,vector short __b,vector short __c)3312 vec_mradds(vector short __a, vector short __b, vector short __c)
3313 {
3314   return __builtin_altivec_vmhraddshs(__a, __b, __c);
3315 }
3316 
3317 /* vec_vmhraddshs */
3318 
3319 static vector short __attribute__((__always_inline__))
vec_vmhraddshs(vector short __a,vector short __b,vector short __c)3320 vec_vmhraddshs(vector short __a, vector short __b, vector short __c)
3321 {
3322   return __builtin_altivec_vmhraddshs(__a, __b, __c);
3323 }
3324 
3325 /* vec_msum */
3326 
3327 static vector int __ATTRS_o_ai
vec_msum(vector signed char __a,vector unsigned char __b,vector int __c)3328 vec_msum(vector signed char __a, vector unsigned char __b, vector int __c)
3329 {
3330   return __builtin_altivec_vmsummbm(__a, __b, __c);
3331 }
3332 
3333 static vector unsigned int __ATTRS_o_ai
vec_msum(vector unsigned char __a,vector unsigned char __b,vector unsigned int __c)3334 vec_msum(vector unsigned char __a, vector unsigned char __b, vector unsigned int __c)
3335 {
3336   return __builtin_altivec_vmsumubm(__a, __b, __c);
3337 }
3338 
3339 static vector int __ATTRS_o_ai
vec_msum(vector short __a,vector short __b,vector int __c)3340 vec_msum(vector short __a, vector short __b, vector int __c)
3341 {
3342   return __builtin_altivec_vmsumshm(__a, __b, __c);
3343 }
3344 
3345 static vector unsigned int __ATTRS_o_ai
vec_msum(vector unsigned short __a,vector unsigned short __b,vector unsigned int __c)3346 vec_msum(vector unsigned short __a,
3347          vector unsigned short __b,
3348          vector unsigned int __c)
3349 {
3350   return __builtin_altivec_vmsumuhm(__a, __b, __c);
3351 }
3352 
3353 /* vec_vmsummbm */
3354 
3355 static vector int __attribute__((__always_inline__))
vec_vmsummbm(vector signed char __a,vector unsigned char __b,vector int __c)3356 vec_vmsummbm(vector signed char __a, vector unsigned char __b, vector int __c)
3357 {
3358   return __builtin_altivec_vmsummbm(__a, __b, __c);
3359 }
3360 
3361 /* vec_vmsumubm */
3362 
3363 static vector unsigned int __attribute__((__always_inline__))
vec_vmsumubm(vector unsigned char __a,vector unsigned char __b,vector unsigned int __c)3364 vec_vmsumubm(vector unsigned char __a,
3365              vector unsigned char __b,
3366              vector unsigned int __c)
3367 {
3368   return __builtin_altivec_vmsumubm(__a, __b, __c);
3369 }
3370 
3371 /* vec_vmsumshm */
3372 
3373 static vector int __attribute__((__always_inline__))
vec_vmsumshm(vector short __a,vector short __b,vector int __c)3374 vec_vmsumshm(vector short __a, vector short __b, vector int __c)
3375 {
3376   return __builtin_altivec_vmsumshm(__a, __b, __c);
3377 }
3378 
3379 /* vec_vmsumuhm */
3380 
3381 static vector unsigned int __attribute__((__always_inline__))
vec_vmsumuhm(vector unsigned short __a,vector unsigned short __b,vector unsigned int __c)3382 vec_vmsumuhm(vector unsigned short __a,
3383              vector unsigned short __b,
3384              vector unsigned int __c)
3385 {
3386   return __builtin_altivec_vmsumuhm(__a, __b, __c);
3387 }
3388 
3389 /* vec_msums */
3390 
3391 static vector int __ATTRS_o_ai
vec_msums(vector short __a,vector short __b,vector int __c)3392 vec_msums(vector short __a, vector short __b, vector int __c)
3393 {
3394   return __builtin_altivec_vmsumshs(__a, __b, __c);
3395 }
3396 
3397 static vector unsigned int __ATTRS_o_ai
vec_msums(vector unsigned short __a,vector unsigned short __b,vector unsigned int __c)3398 vec_msums(vector unsigned short __a,
3399           vector unsigned short __b,
3400           vector unsigned int __c)
3401 {
3402   return __builtin_altivec_vmsumuhs(__a, __b, __c);
3403 }
3404 
3405 /* vec_vmsumshs */
3406 
3407 static vector int __attribute__((__always_inline__))
vec_vmsumshs(vector short __a,vector short __b,vector int __c)3408 vec_vmsumshs(vector short __a, vector short __b, vector int __c)
3409 {
3410   return __builtin_altivec_vmsumshs(__a, __b, __c);
3411 }
3412 
3413 /* vec_vmsumuhs */
3414 
3415 static vector unsigned int __attribute__((__always_inline__))
vec_vmsumuhs(vector unsigned short __a,vector unsigned short __b,vector unsigned int __c)3416 vec_vmsumuhs(vector unsigned short __a,
3417              vector unsigned short __b,
3418              vector unsigned int __c)
3419 {
3420   return __builtin_altivec_vmsumuhs(__a, __b, __c);
3421 }
3422 
3423 /* vec_mtvscr */
3424 
3425 static void __ATTRS_o_ai
vec_mtvscr(vector signed char __a)3426 vec_mtvscr(vector signed char __a)
3427 {
3428   __builtin_altivec_mtvscr((vector int)__a);
3429 }
3430 
3431 static void __ATTRS_o_ai
vec_mtvscr(vector unsigned char __a)3432 vec_mtvscr(vector unsigned char __a)
3433 {
3434   __builtin_altivec_mtvscr((vector int)__a);
3435 }
3436 
3437 static void __ATTRS_o_ai
vec_mtvscr(vector bool char __a)3438 vec_mtvscr(vector bool char __a)
3439 {
3440   __builtin_altivec_mtvscr((vector int)__a);
3441 }
3442 
3443 static void __ATTRS_o_ai
vec_mtvscr(vector short __a)3444 vec_mtvscr(vector short __a)
3445 {
3446   __builtin_altivec_mtvscr((vector int)__a);
3447 }
3448 
3449 static void __ATTRS_o_ai
vec_mtvscr(vector unsigned short __a)3450 vec_mtvscr(vector unsigned short __a)
3451 {
3452   __builtin_altivec_mtvscr((vector int)__a);
3453 }
3454 
3455 static void __ATTRS_o_ai
vec_mtvscr(vector bool short __a)3456 vec_mtvscr(vector bool short __a)
3457 {
3458   __builtin_altivec_mtvscr((vector int)__a);
3459 }
3460 
3461 static void __ATTRS_o_ai
vec_mtvscr(vector pixel __a)3462 vec_mtvscr(vector pixel __a)
3463 {
3464   __builtin_altivec_mtvscr((vector int)__a);
3465 }
3466 
3467 static void __ATTRS_o_ai
vec_mtvscr(vector int __a)3468 vec_mtvscr(vector int __a)
3469 {
3470   __builtin_altivec_mtvscr((vector int)__a);
3471 }
3472 
3473 static void __ATTRS_o_ai
vec_mtvscr(vector unsigned int __a)3474 vec_mtvscr(vector unsigned int __a)
3475 {
3476   __builtin_altivec_mtvscr((vector int)__a);
3477 }
3478 
3479 static void __ATTRS_o_ai
vec_mtvscr(vector bool int __a)3480 vec_mtvscr(vector bool int __a)
3481 {
3482   __builtin_altivec_mtvscr((vector int)__a);
3483 }
3484 
3485 static void __ATTRS_o_ai
vec_mtvscr(vector float __a)3486 vec_mtvscr(vector float __a)
3487 {
3488   __builtin_altivec_mtvscr((vector int)__a);
3489 }
3490 
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.  */
3493 
3494 /* vec_mule */
3495 
3496 static vector short __ATTRS_o_ai
vec_mule(vector signed char __a,vector signed char __b)3497 vec_mule(vector signed char __a, vector signed char __b)
3498 {
3499 #ifdef __LITTLE_ENDIAN__
3500   return __builtin_altivec_vmulosb(__a, __b);
3501 #else
3502   return __builtin_altivec_vmulesb(__a, __b);
3503 #endif
3504 }
3505 
3506 static vector unsigned short __ATTRS_o_ai
vec_mule(vector unsigned char __a,vector unsigned char __b)3507 vec_mule(vector unsigned char __a, vector unsigned char __b)
3508 {
3509 #ifdef __LITTLE_ENDIAN__
3510   return __builtin_altivec_vmuloub(__a, __b);
3511 #else
3512   return __builtin_altivec_vmuleub(__a, __b);
3513 #endif
3514 }
3515 
3516 static vector int __ATTRS_o_ai
vec_mule(vector short __a,vector short __b)3517 vec_mule(vector short __a, vector short __b)
3518 {
3519 #ifdef __LITTLE_ENDIAN__
3520   return __builtin_altivec_vmulosh(__a, __b);
3521 #else
3522   return __builtin_altivec_vmulesh(__a, __b);
3523 #endif
3524 }
3525 
3526 static vector unsigned int __ATTRS_o_ai
vec_mule(vector unsigned short __a,vector unsigned short __b)3527 vec_mule(vector unsigned short __a, vector unsigned short __b)
3528 {
3529 #ifdef __LITTLE_ENDIAN__
3530   return __builtin_altivec_vmulouh(__a, __b);
3531 #else
3532   return __builtin_altivec_vmuleuh(__a, __b);
3533 #endif
3534 }
3535 
3536 /* vec_vmulesb */
3537 
3538 static vector short __attribute__((__always_inline__))
vec_vmulesb(vector signed char __a,vector signed char __b)3539 vec_vmulesb(vector signed char __a, vector signed char __b)
3540 {
3541 #ifdef __LITTLE_ENDIAN__
3542   return __builtin_altivec_vmulosb(__a, __b);
3543 #else
3544   return __builtin_altivec_vmulesb(__a, __b);
3545 #endif
3546 }
3547 
3548 /* vec_vmuleub */
3549 
3550 static vector unsigned short __attribute__((__always_inline__))
vec_vmuleub(vector unsigned char __a,vector unsigned char __b)3551 vec_vmuleub(vector unsigned char __a, vector unsigned char __b)
3552 {
3553 #ifdef __LITTLE_ENDIAN__
3554   return __builtin_altivec_vmuloub(__a, __b);
3555 #else
3556   return __builtin_altivec_vmuleub(__a, __b);
3557 #endif
3558 }
3559 
3560 /* vec_vmulesh */
3561 
3562 static vector int __attribute__((__always_inline__))
vec_vmulesh(vector short __a,vector short __b)3563 vec_vmulesh(vector short __a, vector short __b)
3564 {
3565 #ifdef __LITTLE_ENDIAN__
3566   return __builtin_altivec_vmulosh(__a, __b);
3567 #else
3568   return __builtin_altivec_vmulesh(__a, __b);
3569 #endif
3570 }
3571 
3572 /* vec_vmuleuh */
3573 
3574 static vector unsigned int __attribute__((__always_inline__))
vec_vmuleuh(vector unsigned short __a,vector unsigned short __b)3575 vec_vmuleuh(vector unsigned short __a, vector unsigned short __b)
3576 {
3577 #ifdef __LITTLE_ENDIAN__
3578   return __builtin_altivec_vmulouh(__a, __b);
3579 #else
3580   return __builtin_altivec_vmuleuh(__a, __b);
3581 #endif
3582 }
3583 
3584 /* vec_mulo */
3585 
3586 static vector short __ATTRS_o_ai
vec_mulo(vector signed char __a,vector signed char __b)3587 vec_mulo(vector signed char __a, vector signed char __b)
3588 {
3589 #ifdef __LITTLE_ENDIAN__
3590   return __builtin_altivec_vmulesb(__a, __b);
3591 #else
3592   return __builtin_altivec_vmulosb(__a, __b);
3593 #endif
3594 }
3595 
3596 static vector unsigned short __ATTRS_o_ai
vec_mulo(vector unsigned char __a,vector unsigned char __b)3597 vec_mulo(vector unsigned char __a, vector unsigned char __b)
3598 {
3599 #ifdef __LITTLE_ENDIAN__
3600   return __builtin_altivec_vmuleub(__a, __b);
3601 #else
3602   return __builtin_altivec_vmuloub(__a, __b);
3603 #endif
3604 }
3605 
3606 static vector int __ATTRS_o_ai
vec_mulo(vector short __a,vector short __b)3607 vec_mulo(vector short __a, vector short __b)
3608 {
3609 #ifdef __LITTLE_ENDIAN__
3610   return __builtin_altivec_vmulesh(__a, __b);
3611 #else
3612   return __builtin_altivec_vmulosh(__a, __b);
3613 #endif
3614 }
3615 
3616 static vector unsigned int __ATTRS_o_ai
vec_mulo(vector unsigned short __a,vector unsigned short __b)3617 vec_mulo(vector unsigned short __a, vector unsigned short __b)
3618 {
3619 #ifdef __LITTLE_ENDIAN__
3620   return __builtin_altivec_vmuleuh(__a, __b);
3621 #else
3622   return __builtin_altivec_vmulouh(__a, __b);
3623 #endif
3624 }
3625 
3626 /* vec_vmulosb */
3627 
3628 static vector short __attribute__((__always_inline__))
vec_vmulosb(vector signed char __a,vector signed char __b)3629 vec_vmulosb(vector signed char __a, vector signed char __b)
3630 {
3631 #ifdef __LITTLE_ENDIAN__
3632   return __builtin_altivec_vmulesb(__a, __b);
3633 #else
3634   return __builtin_altivec_vmulosb(__a, __b);
3635 #endif
3636 }
3637 
3638 /* vec_vmuloub */
3639 
3640 static vector unsigned short __attribute__((__always_inline__))
vec_vmuloub(vector unsigned char __a,vector unsigned char __b)3641 vec_vmuloub(vector unsigned char __a, vector unsigned char __b)
3642 {
3643 #ifdef __LITTLE_ENDIAN__
3644   return __builtin_altivec_vmuleub(__a, __b);
3645 #else
3646   return __builtin_altivec_vmuloub(__a, __b);
3647 #endif
3648 }
3649 
3650 /* vec_vmulosh */
3651 
3652 static vector int __attribute__((__always_inline__))
vec_vmulosh(vector short __a,vector short __b)3653 vec_vmulosh(vector short __a, vector short __b)
3654 {
3655 #ifdef __LITTLE_ENDIAN__
3656   return __builtin_altivec_vmulesh(__a, __b);
3657 #else
3658   return __builtin_altivec_vmulosh(__a, __b);
3659 #endif
3660 }
3661 
3662 /* vec_vmulouh */
3663 
3664 static vector unsigned int __attribute__((__always_inline__))
vec_vmulouh(vector unsigned short __a,vector unsigned short __b)3665 vec_vmulouh(vector unsigned short __a, vector unsigned short __b)
3666 {
3667 #ifdef __LITTLE_ENDIAN__
3668   return __builtin_altivec_vmuleuh(__a, __b);
3669 #else
3670   return __builtin_altivec_vmulouh(__a, __b);
3671 #endif
3672 }
3673 
3674 /* vec_nmsub */
3675 
3676 static vector float __attribute__((__always_inline__))
vec_nmsub(vector float __a,vector float __b,vector float __c)3677 vec_nmsub(vector float __a, vector float __b, vector float __c)
3678 {
3679   return __builtin_altivec_vnmsubfp(__a, __b, __c);
3680 }
3681 
3682 /* vec_vnmsubfp */
3683 
3684 static vector float __attribute__((__always_inline__))
vec_vnmsubfp(vector float __a,vector float __b,vector float __c)3685 vec_vnmsubfp(vector float __a, vector float __b, vector float __c)
3686 {
3687   return __builtin_altivec_vnmsubfp(__a, __b, __c);
3688 }
3689 
3690 /* vec_nor */
3691 
3692 #define __builtin_altivec_vnor vec_nor
3693 
3694 static vector signed char __ATTRS_o_ai
vec_nor(vector signed char __a,vector signed char __b)3695 vec_nor(vector signed char __a, vector signed char __b)
3696 {
3697   return ~(__a | __b);
3698 }
3699 
3700 static vector unsigned char __ATTRS_o_ai
vec_nor(vector unsigned char __a,vector unsigned char __b)3701 vec_nor(vector unsigned char __a, vector unsigned char __b)
3702 {
3703   return ~(__a | __b);
3704 }
3705 
3706 static vector bool char __ATTRS_o_ai
vec_nor(vector bool char __a,vector bool char __b)3707 vec_nor(vector bool char __a, vector bool char __b)
3708 {
3709   return ~(__a | __b);
3710 }
3711 
3712 static vector short __ATTRS_o_ai
vec_nor(vector short __a,vector short __b)3713 vec_nor(vector short __a, vector short __b)
3714 {
3715   return ~(__a | __b);
3716 }
3717 
3718 static vector unsigned short __ATTRS_o_ai
vec_nor(vector unsigned short __a,vector unsigned short __b)3719 vec_nor(vector unsigned short __a, vector unsigned short __b)
3720 {
3721   return ~(__a | __b);
3722 }
3723 
3724 static vector bool short __ATTRS_o_ai
vec_nor(vector bool short __a,vector bool short __b)3725 vec_nor(vector bool short __a, vector bool short __b)
3726 {
3727   return ~(__a | __b);
3728 }
3729 
3730 static vector int __ATTRS_o_ai
vec_nor(vector int __a,vector int __b)3731 vec_nor(vector int __a, vector int __b)
3732 {
3733   return ~(__a | __b);
3734 }
3735 
3736 static vector unsigned int __ATTRS_o_ai
vec_nor(vector unsigned int __a,vector unsigned int __b)3737 vec_nor(vector unsigned int __a, vector unsigned int __b)
3738 {
3739   return ~(__a | __b);
3740 }
3741 
3742 static vector bool int __ATTRS_o_ai
vec_nor(vector bool int __a,vector bool int __b)3743 vec_nor(vector bool int __a, vector bool int __b)
3744 {
3745   return ~(__a | __b);
3746 }
3747 
3748 static vector float __ATTRS_o_ai
vec_nor(vector float __a,vector float __b)3749 vec_nor(vector float __a, vector float __b)
3750 {
3751   vector unsigned int __res = ~((vector unsigned int)__a | (vector unsigned int)__b);
3752   return (vector float)__res;
3753 }
3754 
3755 /* vec_vnor */
3756 
3757 static vector signed char __ATTRS_o_ai
vec_vnor(vector signed char __a,vector signed char __b)3758 vec_vnor(vector signed char __a, vector signed char __b)
3759 {
3760   return ~(__a | __b);
3761 }
3762 
3763 static vector unsigned char __ATTRS_o_ai
vec_vnor(vector unsigned char __a,vector unsigned char __b)3764 vec_vnor(vector unsigned char __a, vector unsigned char __b)
3765 {
3766   return ~(__a | __b);
3767 }
3768 
3769 static vector bool char __ATTRS_o_ai
vec_vnor(vector bool char __a,vector bool char __b)3770 vec_vnor(vector bool char __a, vector bool char __b)
3771 {
3772   return ~(__a | __b);
3773 }
3774 
3775 static vector short __ATTRS_o_ai
vec_vnor(vector short __a,vector short __b)3776 vec_vnor(vector short __a, vector short __b)
3777 {
3778   return ~(__a | __b);
3779 }
3780 
3781 static vector unsigned short __ATTRS_o_ai
vec_vnor(vector unsigned short __a,vector unsigned short __b)3782 vec_vnor(vector unsigned short __a, vector unsigned short __b)
3783 {
3784   return ~(__a | __b);
3785 }
3786 
3787 static vector bool short __ATTRS_o_ai
vec_vnor(vector bool short __a,vector bool short __b)3788 vec_vnor(vector bool short __a, vector bool short __b)
3789 {
3790   return ~(__a | __b);
3791 }
3792 
3793 static vector int __ATTRS_o_ai
vec_vnor(vector int __a,vector int __b)3794 vec_vnor(vector int __a, vector int __b)
3795 {
3796   return ~(__a | __b);
3797 }
3798 
3799 static vector unsigned int __ATTRS_o_ai
vec_vnor(vector unsigned int __a,vector unsigned int __b)3800 vec_vnor(vector unsigned int __a, vector unsigned int __b)
3801 {
3802   return ~(__a | __b);
3803 }
3804 
3805 static vector bool int __ATTRS_o_ai
vec_vnor(vector bool int __a,vector bool int __b)3806 vec_vnor(vector bool int __a, vector bool int __b)
3807 {
3808   return ~(__a | __b);
3809 }
3810 
3811 static vector float __ATTRS_o_ai
vec_vnor(vector float __a,vector float __b)3812 vec_vnor(vector float __a, vector float __b)
3813 {
3814   vector unsigned int __res = ~((vector unsigned int)__a | (vector unsigned int)__b);
3815   return (vector float)__res;
3816 }
3817 
3818 /* vec_or */
3819 
3820 #define __builtin_altivec_vor vec_or
3821 
3822 static vector signed char __ATTRS_o_ai
vec_or(vector signed char __a,vector signed char __b)3823 vec_or(vector signed char __a, vector signed char __b)
3824 {
3825   return __a | __b;
3826 }
3827 
3828 static vector signed char __ATTRS_o_ai
vec_or(vector bool char __a,vector signed char __b)3829 vec_or(vector bool char __a, vector signed char __b)
3830 {
3831   return (vector signed char)__a | __b;
3832 }
3833 
3834 static vector signed char __ATTRS_o_ai
vec_or(vector signed char __a,vector bool char __b)3835 vec_or(vector signed char __a, vector bool char __b)
3836 {
3837   return __a | (vector signed char)__b;
3838 }
3839 
3840 static vector unsigned char __ATTRS_o_ai
vec_or(vector unsigned char __a,vector unsigned char __b)3841 vec_or(vector unsigned char __a, vector unsigned char __b)
3842 {
3843   return __a | __b;
3844 }
3845 
3846 static vector unsigned char __ATTRS_o_ai
vec_or(vector bool char __a,vector unsigned char __b)3847 vec_or(vector bool char __a, vector unsigned char __b)
3848 {
3849   return (vector unsigned char)__a | __b;
3850 }
3851 
3852 static vector unsigned char __ATTRS_o_ai
vec_or(vector unsigned char __a,vector bool char __b)3853 vec_or(vector unsigned char __a, vector bool char __b)
3854 {
3855   return __a | (vector unsigned char)__b;
3856 }
3857 
3858 static vector bool char __ATTRS_o_ai
vec_or(vector bool char __a,vector bool char __b)3859 vec_or(vector bool char __a, vector bool char __b)
3860 {
3861   return __a | __b;
3862 }
3863 
3864 static vector short __ATTRS_o_ai
vec_or(vector short __a,vector short __b)3865 vec_or(vector short __a, vector short __b)
3866 {
3867   return __a | __b;
3868 }
3869 
3870 static vector short __ATTRS_o_ai
vec_or(vector bool short __a,vector short __b)3871 vec_or(vector bool short __a, vector short __b)
3872 {
3873   return (vector short)__a | __b;
3874 }
3875 
3876 static vector short __ATTRS_o_ai
vec_or(vector short __a,vector bool short __b)3877 vec_or(vector short __a, vector bool short __b)
3878 {
3879   return __a | (vector short)__b;
3880 }
3881 
3882 static vector unsigned short __ATTRS_o_ai
vec_or(vector unsigned short __a,vector unsigned short __b)3883 vec_or(vector unsigned short __a, vector unsigned short __b)
3884 {
3885   return __a | __b;
3886 }
3887 
3888 static vector unsigned short __ATTRS_o_ai
vec_or(vector bool short __a,vector unsigned short __b)3889 vec_or(vector bool short __a, vector unsigned short __b)
3890 {
3891   return (vector unsigned short)__a | __b;
3892 }
3893 
3894 static vector unsigned short __ATTRS_o_ai
vec_or(vector unsigned short __a,vector bool short __b)3895 vec_or(vector unsigned short __a, vector bool short __b)
3896 {
3897   return __a | (vector unsigned short)__b;
3898 }
3899 
3900 static vector bool short __ATTRS_o_ai
vec_or(vector bool short __a,vector bool short __b)3901 vec_or(vector bool short __a, vector bool short __b)
3902 {
3903   return __a | __b;
3904 }
3905 
3906 static vector int __ATTRS_o_ai
vec_or(vector int __a,vector int __b)3907 vec_or(vector int __a, vector int __b)
3908 {
3909   return __a | __b;
3910 }
3911 
3912 static vector int __ATTRS_o_ai
vec_or(vector bool int __a,vector int __b)3913 vec_or(vector bool int __a, vector int __b)
3914 {
3915   return (vector int)__a | __b;
3916 }
3917 
3918 static vector int __ATTRS_o_ai
vec_or(vector int __a,vector bool int __b)3919 vec_or(vector int __a, vector bool int __b)
3920 {
3921   return __a | (vector int)__b;
3922 }
3923 
3924 static vector unsigned int __ATTRS_o_ai
vec_or(vector unsigned int __a,vector unsigned int __b)3925 vec_or(vector unsigned int __a, vector unsigned int __b)
3926 {
3927   return __a | __b;
3928 }
3929 
3930 static vector unsigned int __ATTRS_o_ai
vec_or(vector bool int __a,vector unsigned int __b)3931 vec_or(vector bool int __a, vector unsigned int __b)
3932 {
3933   return (vector unsigned int)__a | __b;
3934 }
3935 
3936 static vector unsigned int __ATTRS_o_ai
vec_or(vector unsigned int __a,vector bool int __b)3937 vec_or(vector unsigned int __a, vector bool int __b)
3938 {
3939   return __a | (vector unsigned int)__b;
3940 }
3941 
3942 static vector bool int __ATTRS_o_ai
vec_or(vector bool int __a,vector bool int __b)3943 vec_or(vector bool int __a, vector bool int __b)
3944 {
3945   return __a | __b;
3946 }
3947 
3948 static vector float __ATTRS_o_ai
vec_or(vector float __a,vector float __b)3949 vec_or(vector float __a, vector float __b)
3950 {
3951   vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
3952   return (vector float)__res;
3953 }
3954 
3955 static vector float __ATTRS_o_ai
vec_or(vector bool int __a,vector float __b)3956 vec_or(vector bool int __a, vector float __b)
3957 {
3958   vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
3959   return (vector float)__res;
3960 }
3961 
3962 static vector float __ATTRS_o_ai
vec_or(vector float __a,vector bool int __b)3963 vec_or(vector float __a, vector bool int __b)
3964 {
3965   vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
3966   return (vector float)__res;
3967 }
3968 
3969 /* vec_vor */
3970 
3971 static vector signed char __ATTRS_o_ai
vec_vor(vector signed char __a,vector signed char __b)3972 vec_vor(vector signed char __a, vector signed char __b)
3973 {
3974   return __a | __b;
3975 }
3976 
3977 static vector signed char __ATTRS_o_ai
vec_vor(vector bool char __a,vector signed char __b)3978 vec_vor(vector bool char __a, vector signed char __b)
3979 {
3980   return (vector signed char)__a | __b;
3981 }
3982 
3983 static vector signed char __ATTRS_o_ai
vec_vor(vector signed char __a,vector bool char __b)3984 vec_vor(vector signed char __a, vector bool char __b)
3985 {
3986   return __a | (vector signed char)__b;
3987 }
3988 
3989 static vector unsigned char __ATTRS_o_ai
vec_vor(vector unsigned char __a,vector unsigned char __b)3990 vec_vor(vector unsigned char __a, vector unsigned char __b)
3991 {
3992   return __a | __b;
3993 }
3994 
3995 static vector unsigned char __ATTRS_o_ai
vec_vor(vector bool char __a,vector unsigned char __b)3996 vec_vor(vector bool char __a, vector unsigned char __b)
3997 {
3998   return (vector unsigned char)__a | __b;
3999 }
4000 
4001 static vector unsigned char __ATTRS_o_ai
vec_vor(vector unsigned char __a,vector bool char __b)4002 vec_vor(vector unsigned char __a, vector bool char __b)
4003 {
4004   return __a | (vector unsigned char)__b;
4005 }
4006 
4007 static vector bool char __ATTRS_o_ai
vec_vor(vector bool char __a,vector bool char __b)4008 vec_vor(vector bool char __a, vector bool char __b)
4009 {
4010   return __a | __b;
4011 }
4012 
4013 static vector short __ATTRS_o_ai
vec_vor(vector short __a,vector short __b)4014 vec_vor(vector short __a, vector short __b)
4015 {
4016   return __a | __b;
4017 }
4018 
4019 static vector short __ATTRS_o_ai
vec_vor(vector bool short __a,vector short __b)4020 vec_vor(vector bool short __a, vector short __b)
4021 {
4022   return (vector short)__a | __b;
4023 }
4024 
4025 static vector short __ATTRS_o_ai
vec_vor(vector short __a,vector bool short __b)4026 vec_vor(vector short __a, vector bool short __b)
4027 {
4028   return __a | (vector short)__b;
4029 }
4030 
4031 static vector unsigned short __ATTRS_o_ai
vec_vor(vector unsigned short __a,vector unsigned short __b)4032 vec_vor(vector unsigned short __a, vector unsigned short __b)
4033 {
4034   return __a | __b;
4035 }
4036 
4037 static vector unsigned short __ATTRS_o_ai
vec_vor(vector bool short __a,vector unsigned short __b)4038 vec_vor(vector bool short __a, vector unsigned short __b)
4039 {
4040   return (vector unsigned short)__a | __b;
4041 }
4042 
4043 static vector unsigned short __ATTRS_o_ai
vec_vor(vector unsigned short __a,vector bool short __b)4044 vec_vor(vector unsigned short __a, vector bool short __b)
4045 {
4046   return __a | (vector unsigned short)__b;
4047 }
4048 
4049 static vector bool short __ATTRS_o_ai
vec_vor(vector bool short __a,vector bool short __b)4050 vec_vor(vector bool short __a, vector bool short __b)
4051 {
4052   return __a | __b;
4053 }
4054 
4055 static vector int __ATTRS_o_ai
vec_vor(vector int __a,vector int __b)4056 vec_vor(vector int __a, vector int __b)
4057 {
4058   return __a | __b;
4059 }
4060 
4061 static vector int __ATTRS_o_ai
vec_vor(vector bool int __a,vector int __b)4062 vec_vor(vector bool int __a, vector int __b)
4063 {
4064   return (vector int)__a | __b;
4065 }
4066 
4067 static vector int __ATTRS_o_ai
vec_vor(vector int __a,vector bool int __b)4068 vec_vor(vector int __a, vector bool int __b)
4069 {
4070   return __a | (vector int)__b;
4071 }
4072 
4073 static vector unsigned int __ATTRS_o_ai
vec_vor(vector unsigned int __a,vector unsigned int __b)4074 vec_vor(vector unsigned int __a, vector unsigned int __b)
4075 {
4076   return __a | __b;
4077 }
4078 
4079 static vector unsigned int __ATTRS_o_ai
vec_vor(vector bool int __a,vector unsigned int __b)4080 vec_vor(vector bool int __a, vector unsigned int __b)
4081 {
4082   return (vector unsigned int)__a | __b;
4083 }
4084 
4085 static vector unsigned int __ATTRS_o_ai
vec_vor(vector unsigned int __a,vector bool int __b)4086 vec_vor(vector unsigned int __a, vector bool int __b)
4087 {
4088   return __a | (vector unsigned int)__b;
4089 }
4090 
4091 static vector bool int __ATTRS_o_ai
vec_vor(vector bool int __a,vector bool int __b)4092 vec_vor(vector bool int __a, vector bool int __b)
4093 {
4094   return __a | __b;
4095 }
4096 
4097 static vector float __ATTRS_o_ai
vec_vor(vector float __a,vector float __b)4098 vec_vor(vector float __a, vector float __b)
4099 {
4100   vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
4101   return (vector float)__res;
4102 }
4103 
4104 static vector float __ATTRS_o_ai
vec_vor(vector bool int __a,vector float __b)4105 vec_vor(vector bool int __a, vector float __b)
4106 {
4107   vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
4108   return (vector float)__res;
4109 }
4110 
4111 static vector float __ATTRS_o_ai
vec_vor(vector float __a,vector bool int __b)4112 vec_vor(vector float __a, vector bool int __b)
4113 {
4114   vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
4115   return (vector float)__res;
4116 }
4117 
4118 /* vec_pack */
4119 
4120 /* The various vector pack instructions have a big-endian bias, so for
4121    little endian we must handle reversed element numbering.  */
4122 
4123 static vector signed char __ATTRS_o_ai
vec_pack(vector signed short __a,vector signed short __b)4124 vec_pack(vector signed short __a, vector signed short __b)
4125 {
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));
4130 #else
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));
4134 #endif
4135 }
4136 
4137 static vector unsigned char __ATTRS_o_ai
vec_pack(vector unsigned short __a,vector unsigned short __b)4138 vec_pack(vector unsigned short __a, vector unsigned short __b)
4139 {
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));
4144 #else
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));
4148 #endif
4149 }
4150 
4151 static vector bool char __ATTRS_o_ai
vec_pack(vector bool short __a,vector bool short __b)4152 vec_pack(vector bool short __a, vector bool short __b)
4153 {
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));
4158 #else
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));
4162 #endif
4163 }
4164 
4165 static vector short __ATTRS_o_ai
vec_pack(vector int __a,vector int __b)4166 vec_pack(vector int __a, vector int __b)
4167 {
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));
4172 #else
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));
4176 #endif
4177 }
4178 
4179 static vector unsigned short __ATTRS_o_ai
vec_pack(vector unsigned int __a,vector unsigned int __b)4180 vec_pack(vector unsigned int __a, vector unsigned int __b)
4181 {
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));
4186 #else
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));
4190 #endif
4191 }
4192 
4193 static vector bool short __ATTRS_o_ai
vec_pack(vector bool int __a,vector bool int __b)4194 vec_pack(vector bool int __a, vector bool int __b)
4195 {
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));
4200 #else
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));
4204 #endif
4205 }
4206 
4207 /* vec_vpkuhum */
4208 
4209 #define __builtin_altivec_vpkuhum vec_vpkuhum
4210 
4211 static vector signed char __ATTRS_o_ai
vec_vpkuhum(vector signed short __a,vector signed short __b)4212 vec_vpkuhum(vector signed short __a, vector signed short __b)
4213 {
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));
4218 #else
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));
4222 #endif
4223 }
4224 
4225 static vector unsigned char __ATTRS_o_ai
vec_vpkuhum(vector unsigned short __a,vector unsigned short __b)4226 vec_vpkuhum(vector unsigned short __a, vector unsigned short __b)
4227 {
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));
4232 #else
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));
4236 #endif
4237 }
4238 
4239 static vector bool char __ATTRS_o_ai
vec_vpkuhum(vector bool short __a,vector bool short __b)4240 vec_vpkuhum(vector bool short __a, vector bool short __b)
4241 {
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));
4246 #else
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));
4250 #endif
4251 }
4252 
4253 /* vec_vpkuwum */
4254 
4255 #define __builtin_altivec_vpkuwum vec_vpkuwum
4256 
4257 static vector short __ATTRS_o_ai
vec_vpkuwum(vector int __a,vector int __b)4258 vec_vpkuwum(vector int __a, vector int __b)
4259 {
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));
4264 #else
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));
4268 #endif
4269 }
4270 
4271 static vector unsigned short __ATTRS_o_ai
vec_vpkuwum(vector unsigned int __a,vector unsigned int __b)4272 vec_vpkuwum(vector unsigned int __a, vector unsigned int __b)
4273 {
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));
4278 #else
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));
4282 #endif
4283 }
4284 
4285 static vector bool short __ATTRS_o_ai
vec_vpkuwum(vector bool int __a,vector bool int __b)4286 vec_vpkuwum(vector bool int __a, vector bool int __b)
4287 {
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));
4292 #else
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));
4296 #endif
4297 }
4298 
4299 /* vec_packpx */
4300 
4301 static vector pixel __attribute__((__always_inline__))
vec_packpx(vector unsigned int __a,vector unsigned int __b)4302 vec_packpx(vector unsigned int __a, vector unsigned int __b)
4303 {
4304 #ifdef __LITTLE_ENDIAN__
4305   return (vector pixel)__builtin_altivec_vpkpx(__b, __a);
4306 #else
4307   return (vector pixel)__builtin_altivec_vpkpx(__a, __b);
4308 #endif
4309 }
4310 
4311 /* vec_vpkpx */
4312 
4313 static vector pixel __attribute__((__always_inline__))
vec_vpkpx(vector unsigned int __a,vector unsigned int __b)4314 vec_vpkpx(vector unsigned int __a, vector unsigned int __b)
4315 {
4316 #ifdef __LITTLE_ENDIAN__
4317   return (vector pixel)__builtin_altivec_vpkpx(__b, __a);
4318 #else
4319   return (vector pixel)__builtin_altivec_vpkpx(__a, __b);
4320 #endif
4321 }
4322 
4323 /* vec_packs */
4324 
4325 static vector signed char __ATTRS_o_ai
vec_packs(vector short __a,vector short __b)4326 vec_packs(vector short __a, vector short __b)
4327 {
4328 #ifdef __LITTLE_ENDIAN__
4329   return __builtin_altivec_vpkshss(__b, __a);
4330 #else
4331   return __builtin_altivec_vpkshss(__a, __b);
4332 #endif
4333 }
4334 
4335 static vector unsigned char __ATTRS_o_ai
vec_packs(vector unsigned short __a,vector unsigned short __b)4336 vec_packs(vector unsigned short __a, vector unsigned short __b)
4337 {
4338 #ifdef __LITTLE_ENDIAN__
4339   return __builtin_altivec_vpkuhus(__b, __a);
4340 #else
4341   return __builtin_altivec_vpkuhus(__a, __b);
4342 #endif
4343 }
4344 
4345 static vector signed short __ATTRS_o_ai
vec_packs(vector int __a,vector int __b)4346 vec_packs(vector int __a, vector int __b)
4347 {
4348 #ifdef __LITTLE_ENDIAN__
4349   return __builtin_altivec_vpkswss(__b, __a);
4350 #else
4351   return __builtin_altivec_vpkswss(__a, __b);
4352 #endif
4353 }
4354 
4355 static vector unsigned short __ATTRS_o_ai
vec_packs(vector unsigned int __a,vector unsigned int __b)4356 vec_packs(vector unsigned int __a, vector unsigned int __b)
4357 {
4358 #ifdef __LITTLE_ENDIAN__
4359   return __builtin_altivec_vpkuwus(__b, __a);
4360 #else
4361   return __builtin_altivec_vpkuwus(__a, __b);
4362 #endif
4363 }
4364 
4365 /* vec_vpkshss */
4366 
4367 static vector signed char __attribute__((__always_inline__))
vec_vpkshss(vector short __a,vector short __b)4368 vec_vpkshss(vector short __a, vector short __b)
4369 {
4370 #ifdef __LITTLE_ENDIAN__
4371   return __builtin_altivec_vpkshss(__b, __a);
4372 #else
4373   return __builtin_altivec_vpkshss(__a, __b);
4374 #endif
4375 }
4376 
4377 /* vec_vpkuhus */
4378 
4379 static vector unsigned char __attribute__((__always_inline__))
vec_vpkuhus(vector unsigned short __a,vector unsigned short __b)4380 vec_vpkuhus(vector unsigned short __a, vector unsigned short __b)
4381 {
4382 #ifdef __LITTLE_ENDIAN__
4383   return __builtin_altivec_vpkuhus(__b, __a);
4384 #else
4385   return __builtin_altivec_vpkuhus(__a, __b);
4386 #endif
4387 }
4388 
4389 /* vec_vpkswss */
4390 
4391 static vector signed short __attribute__((__always_inline__))
vec_vpkswss(vector int __a,vector int __b)4392 vec_vpkswss(vector int __a, vector int __b)
4393 {
4394 #ifdef __LITTLE_ENDIAN__
4395   return __builtin_altivec_vpkswss(__b, __a);
4396 #else
4397   return __builtin_altivec_vpkswss(__a, __b);
4398 #endif
4399 }
4400 
4401 /* vec_vpkuwus */
4402 
4403 static vector unsigned short __attribute__((__always_inline__))
vec_vpkuwus(vector unsigned int __a,vector unsigned int __b)4404 vec_vpkuwus(vector unsigned int __a, vector unsigned int __b)
4405 {
4406 #ifdef __LITTLE_ENDIAN__
4407   return __builtin_altivec_vpkuwus(__b, __a);
4408 #else
4409   return __builtin_altivec_vpkuwus(__a, __b);
4410 #endif
4411 }
4412 
4413 /* vec_packsu */
4414 
4415 static vector unsigned char __ATTRS_o_ai
vec_packsu(vector short __a,vector short __b)4416 vec_packsu(vector short __a, vector short __b)
4417 {
4418 #ifdef __LITTLE_ENDIAN__
4419   return __builtin_altivec_vpkshus(__b, __a);
4420 #else
4421   return __builtin_altivec_vpkshus(__a, __b);
4422 #endif
4423 }
4424 
4425 static vector unsigned char __ATTRS_o_ai
vec_packsu(vector unsigned short __a,vector unsigned short __b)4426 vec_packsu(vector unsigned short __a, vector unsigned short __b)
4427 {
4428 #ifdef __LITTLE_ENDIAN__
4429   return __builtin_altivec_vpkuhus(__b, __a);
4430 #else
4431   return __builtin_altivec_vpkuhus(__a, __b);
4432 #endif
4433 }
4434 
4435 static vector unsigned short __ATTRS_o_ai
vec_packsu(vector int __a,vector int __b)4436 vec_packsu(vector int __a, vector int __b)
4437 {
4438 #ifdef __LITTLE_ENDIAN__
4439   return __builtin_altivec_vpkswus(__b, __a);
4440 #else
4441   return __builtin_altivec_vpkswus(__a, __b);
4442 #endif
4443 }
4444 
4445 static vector unsigned short __ATTRS_o_ai
vec_packsu(vector unsigned int __a,vector unsigned int __b)4446 vec_packsu(vector unsigned int __a, vector unsigned int __b)
4447 {
4448 #ifdef __LITTLE_ENDIAN__
4449   return __builtin_altivec_vpkuwus(__b, __a);
4450 #else
4451   return __builtin_altivec_vpkuwus(__a, __b);
4452 #endif
4453 }
4454 
4455 /* vec_vpkshus */
4456 
4457 static vector unsigned char __ATTRS_o_ai
vec_vpkshus(vector short __a,vector short __b)4458 vec_vpkshus(vector short __a, vector short __b)
4459 {
4460 #ifdef __LITTLE_ENDIAN__
4461   return __builtin_altivec_vpkshus(__b, __a);
4462 #else
4463   return __builtin_altivec_vpkshus(__a, __b);
4464 #endif
4465 }
4466 
4467 static vector unsigned char __ATTRS_o_ai
vec_vpkshus(vector unsigned short __a,vector unsigned short __b)4468 vec_vpkshus(vector unsigned short __a, vector unsigned short __b)
4469 {
4470 #ifdef __LITTLE_ENDIAN__
4471   return __builtin_altivec_vpkuhus(__b, __a);
4472 #else
4473   return __builtin_altivec_vpkuhus(__a, __b);
4474 #endif
4475 }
4476 
4477 /* vec_vpkswus */
4478 
4479 static vector unsigned short __ATTRS_o_ai
vec_vpkswus(vector int __a,vector int __b)4480 vec_vpkswus(vector int __a, vector int __b)
4481 {
4482 #ifdef __LITTLE_ENDIAN__
4483   return __builtin_altivec_vpkswus(__b, __a);
4484 #else
4485   return __builtin_altivec_vpkswus(__a, __b);
4486 #endif
4487 }
4488 
4489 static vector unsigned short __ATTRS_o_ai
vec_vpkswus(vector unsigned int __a,vector unsigned int __b)4490 vec_vpkswus(vector unsigned int __a, vector unsigned int __b)
4491 {
4492 #ifdef __LITTLE_ENDIAN__
4493   return __builtin_altivec_vpkuwus(__b, __a);
4494 #else
4495   return __builtin_altivec_vpkuwus(__a, __b);
4496 #endif
4497 }
4498 
4499 /* vec_perm */
4500 
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).
4508 
4509 vector signed char __ATTRS_o_ai
vec_perm(vector signed char __a,vector signed char __b,vector unsigned char __c)4510 vec_perm(vector signed char __a, vector signed char __b, vector unsigned char __c)
4511 {
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);
4518 #else
4519   return (vector signed char)
4520            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4521 #endif
4522 }
4523 
4524 vector unsigned char __ATTRS_o_ai
vec_perm(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)4525 vec_perm(vector unsigned char __a,
4526          vector unsigned char __b,
4527          vector unsigned char __c)
4528 {
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);
4535 #else
4536   return (vector unsigned char)
4537            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4538 #endif
4539 }
4540 
4541 vector bool char __ATTRS_o_ai
vec_perm(vector bool char __a,vector bool char __b,vector unsigned char __c)4542 vec_perm(vector bool char __a, vector bool char __b, vector unsigned char __c)
4543 {
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);
4550 #else
4551   return (vector bool char)
4552            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4553 #endif
4554 }
4555 
4556 vector short __ATTRS_o_ai
vec_perm(vector short __a,vector short __b,vector unsigned char __c)4557 vec_perm(vector short __a, vector short __b, vector unsigned char __c)
4558 {
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);
4565 #else
4566   return (vector short)
4567            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4568 #endif
4569 }
4570 
4571 vector unsigned short __ATTRS_o_ai
vec_perm(vector unsigned short __a,vector unsigned short __b,vector unsigned char __c)4572 vec_perm(vector unsigned short __a,
4573          vector unsigned short __b,
4574          vector unsigned char __c)
4575 {
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);
4582 #else
4583   return (vector unsigned short)
4584            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4585 #endif
4586 }
4587 
4588 vector bool short __ATTRS_o_ai
vec_perm(vector bool short __a,vector bool short __b,vector unsigned char __c)4589 vec_perm(vector bool short __a, vector bool short __b, vector unsigned char __c)
4590 {
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);
4597 #else
4598   return (vector bool short)
4599            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4600 #endif
4601 }
4602 
4603 vector pixel __ATTRS_o_ai
vec_perm(vector pixel __a,vector pixel __b,vector unsigned char __c)4604 vec_perm(vector pixel __a, vector pixel __b, vector unsigned char __c)
4605 {
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);
4612 #else
4613   return (vector pixel)
4614            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4615 #endif
4616 }
4617 
4618 vector int __ATTRS_o_ai
vec_perm(vector int __a,vector int __b,vector unsigned char __c)4619 vec_perm(vector int __a, vector int __b, vector unsigned char __c)
4620 {
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);
4626 #else
4627   return (vector int)__builtin_altivec_vperm_4si(__a, __b, __c);
4628 #endif
4629 }
4630 
4631 vector unsigned int __ATTRS_o_ai
vec_perm(vector unsigned int __a,vector unsigned int __b,vector unsigned char __c)4632 vec_perm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c)
4633 {
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);
4640 #else
4641   return (vector unsigned int)
4642            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4643 #endif
4644 }
4645 
4646 vector bool int __ATTRS_o_ai
vec_perm(vector bool int __a,vector bool int __b,vector unsigned char __c)4647 vec_perm(vector bool int __a, vector bool int __b, vector unsigned char __c)
4648 {
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);
4655 #else
4656   return (vector bool int)
4657            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4658 #endif
4659 }
4660 
4661 vector float __ATTRS_o_ai
vec_perm(vector float __a,vector float __b,vector unsigned char __c)4662 vec_perm(vector float __a, vector float __b, vector unsigned char __c)
4663 {
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);
4670 #else
4671   return (vector float)
4672            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4673 #endif
4674 }
4675 
4676 /* vec_vperm */
4677 
4678 static vector signed char __ATTRS_o_ai
vec_vperm(vector signed char __a,vector signed char __b,vector unsigned char __c)4679 vec_vperm(vector signed char __a, vector signed char __b, vector unsigned char __c)
4680 {
4681   return vec_perm(__a, __b, __c);
4682 }
4683 
4684 static vector unsigned char __ATTRS_o_ai
vec_vperm(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)4685 vec_vperm(vector unsigned char __a,
4686           vector unsigned char __b,
4687           vector unsigned char __c)
4688 {
4689   return vec_perm(__a, __b, __c);
4690 }
4691 
4692 static vector bool char __ATTRS_o_ai
vec_vperm(vector bool char __a,vector bool char __b,vector unsigned char __c)4693 vec_vperm(vector bool char __a, vector bool char __b, vector unsigned char __c)
4694 {
4695   return vec_perm(__a, __b, __c);
4696 }
4697 
4698 static vector short __ATTRS_o_ai
vec_vperm(vector short __a,vector short __b,vector unsigned char __c)4699 vec_vperm(vector short __a, vector short __b, vector unsigned char __c)
4700 {
4701   return vec_perm(__a, __b, __c);
4702 }
4703 
4704 static vector unsigned short __ATTRS_o_ai
vec_vperm(vector unsigned short __a,vector unsigned short __b,vector unsigned char __c)4705 vec_vperm(vector unsigned short __a,
4706           vector unsigned short __b,
4707           vector unsigned char __c)
4708 {
4709   return vec_perm(__a, __b, __c);
4710 }
4711 
4712 static vector bool short __ATTRS_o_ai
vec_vperm(vector bool short __a,vector bool short __b,vector unsigned char __c)4713 vec_vperm(vector bool short __a, vector bool short __b, vector unsigned char __c)
4714 {
4715   return vec_perm(__a, __b, __c);
4716 }
4717 
4718 static vector pixel __ATTRS_o_ai
vec_vperm(vector pixel __a,vector pixel __b,vector unsigned char __c)4719 vec_vperm(vector pixel __a, vector pixel __b, vector unsigned char __c)
4720 {
4721   return vec_perm(__a, __b, __c);
4722 }
4723 
4724 static vector int __ATTRS_o_ai
vec_vperm(vector int __a,vector int __b,vector unsigned char __c)4725 vec_vperm(vector int __a, vector int __b, vector unsigned char __c)
4726 {
4727   return vec_perm(__a, __b, __c);
4728 }
4729 
4730 static vector unsigned int __ATTRS_o_ai
vec_vperm(vector unsigned int __a,vector unsigned int __b,vector unsigned char __c)4731 vec_vperm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c)
4732 {
4733   return vec_perm(__a, __b, __c);
4734 }
4735 
4736 static vector bool int __ATTRS_o_ai
vec_vperm(vector bool int __a,vector bool int __b,vector unsigned char __c)4737 vec_vperm(vector bool int __a, vector bool int __b, vector unsigned char __c)
4738 {
4739   return vec_perm(__a, __b, __c);
4740 }
4741 
4742 static vector float __ATTRS_o_ai
vec_vperm(vector float __a,vector float __b,vector unsigned char __c)4743 vec_vperm(vector float __a, vector float __b, vector unsigned char __c)
4744 {
4745   return vec_perm(__a, __b, __c);
4746 }
4747 
4748 /* vec_re */
4749 
4750 static vector float __attribute__((__always_inline__))
vec_re(vector float __a)4751 vec_re(vector float __a)
4752 {
4753   return __builtin_altivec_vrefp(__a);
4754 }
4755 
4756 /* vec_vrefp */
4757 
4758 static vector float __attribute__((__always_inline__))
vec_vrefp(vector float __a)4759 vec_vrefp(vector float __a)
4760 {
4761   return __builtin_altivec_vrefp(__a);
4762 }
4763 
4764 /* vec_rl */
4765 
4766 static vector signed char __ATTRS_o_ai
vec_rl(vector signed char __a,vector unsigned char __b)4767 vec_rl(vector signed char __a, vector unsigned char __b)
4768 {
4769   return (vector signed char)__builtin_altivec_vrlb((vector char)__a, __b);
4770 }
4771 
4772 static vector unsigned char __ATTRS_o_ai
vec_rl(vector unsigned char __a,vector unsigned char __b)4773 vec_rl(vector unsigned char __a, vector unsigned char __b)
4774 {
4775   return (vector unsigned char)__builtin_altivec_vrlb((vector char)__a, __b);
4776 }
4777 
4778 static vector short __ATTRS_o_ai
vec_rl(vector short __a,vector unsigned short __b)4779 vec_rl(vector short __a, vector unsigned short __b)
4780 {
4781   return __builtin_altivec_vrlh(__a, __b);
4782 }
4783 
4784 static vector unsigned short __ATTRS_o_ai
vec_rl(vector unsigned short __a,vector unsigned short __b)4785 vec_rl(vector unsigned short __a, vector unsigned short __b)
4786 {
4787   return (vector unsigned short)__builtin_altivec_vrlh((vector short)__a, __b);
4788 }
4789 
4790 static vector int __ATTRS_o_ai
vec_rl(vector int __a,vector unsigned int __b)4791 vec_rl(vector int __a, vector unsigned int __b)
4792 {
4793   return __builtin_altivec_vrlw(__a, __b);
4794 }
4795 
4796 static vector unsigned int __ATTRS_o_ai
vec_rl(vector unsigned int __a,vector unsigned int __b)4797 vec_rl(vector unsigned int __a, vector unsigned int __b)
4798 {
4799   return (vector unsigned int)__builtin_altivec_vrlw((vector int)__a, __b);
4800 }
4801 
4802 /* vec_vrlb */
4803 
4804 static vector signed char __ATTRS_o_ai
vec_vrlb(vector signed char __a,vector unsigned char __b)4805 vec_vrlb(vector signed char __a, vector unsigned char __b)
4806 {
4807   return (vector signed char)__builtin_altivec_vrlb((vector char)__a, __b);
4808 }
4809 
4810 static vector unsigned char __ATTRS_o_ai
vec_vrlb(vector unsigned char __a,vector unsigned char __b)4811 vec_vrlb(vector unsigned char __a, vector unsigned char __b)
4812 {
4813   return (vector unsigned char)__builtin_altivec_vrlb((vector char)__a, __b);
4814 }
4815 
4816 /* vec_vrlh */
4817 
4818 static vector short __ATTRS_o_ai
vec_vrlh(vector short __a,vector unsigned short __b)4819 vec_vrlh(vector short __a, vector unsigned short __b)
4820 {
4821   return __builtin_altivec_vrlh(__a, __b);
4822 }
4823 
4824 static vector unsigned short __ATTRS_o_ai
vec_vrlh(vector unsigned short __a,vector unsigned short __b)4825 vec_vrlh(vector unsigned short __a, vector unsigned short __b)
4826 {
4827   return (vector unsigned short)__builtin_altivec_vrlh((vector short)__a, __b);
4828 }
4829 
4830 /* vec_vrlw */
4831 
4832 static vector int __ATTRS_o_ai
vec_vrlw(vector int __a,vector unsigned int __b)4833 vec_vrlw(vector int __a, vector unsigned int __b)
4834 {
4835   return __builtin_altivec_vrlw(__a, __b);
4836 }
4837 
4838 static vector unsigned int __ATTRS_o_ai
vec_vrlw(vector unsigned int __a,vector unsigned int __b)4839 vec_vrlw(vector unsigned int __a, vector unsigned int __b)
4840 {
4841   return (vector unsigned int)__builtin_altivec_vrlw((vector int)__a, __b);
4842 }
4843 
4844 /* vec_round */
4845 
4846 static vector float __attribute__((__always_inline__))
vec_round(vector float __a)4847 vec_round(vector float __a)
4848 {
4849   return __builtin_altivec_vrfin(__a);
4850 }
4851 
4852 /* vec_vrfin */
4853 
4854 static vector float __attribute__((__always_inline__))
vec_vrfin(vector float __a)4855 vec_vrfin(vector float __a)
4856 {
4857   return __builtin_altivec_vrfin(__a);
4858 }
4859 
4860 /* vec_rsqrte */
4861 
4862 static __vector float __attribute__((__always_inline__))
vec_rsqrte(vector float __a)4863 vec_rsqrte(vector float __a)
4864 {
4865   return __builtin_altivec_vrsqrtefp(__a);
4866 }
4867 
4868 /* vec_vrsqrtefp */
4869 
4870 static __vector float __attribute__((__always_inline__))
vec_vrsqrtefp(vector float __a)4871 vec_vrsqrtefp(vector float __a)
4872 {
4873   return __builtin_altivec_vrsqrtefp(__a);
4874 }
4875 
4876 /* vec_sel */
4877 
4878 #define __builtin_altivec_vsel_4si vec_sel
4879 
4880 static vector signed char __ATTRS_o_ai
vec_sel(vector signed char __a,vector signed char __b,vector unsigned char __c)4881 vec_sel(vector signed char __a, vector signed char __b, vector unsigned char __c)
4882 {
4883   return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
4884 }
4885 
4886 static vector signed char __ATTRS_o_ai
vec_sel(vector signed char __a,vector signed char __b,vector bool char __c)4887 vec_sel(vector signed char __a, vector signed char __b, vector bool char __c)
4888 {
4889   return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
4890 }
4891 
4892 static vector unsigned char __ATTRS_o_ai
vec_sel(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)4893 vec_sel(vector unsigned char __a, vector unsigned char __b, vector unsigned char __c)
4894 {
4895   return (__a & ~__c) | (__b & __c);
4896 }
4897 
4898 static vector unsigned char __ATTRS_o_ai
vec_sel(vector unsigned char __a,vector unsigned char __b,vector bool char __c)4899 vec_sel(vector unsigned char __a, vector unsigned char __b, vector bool char __c)
4900 {
4901   return (__a & ~(vector unsigned char)__c) | (__b & (vector unsigned char)__c);
4902 }
4903 
4904 static vector bool char __ATTRS_o_ai
vec_sel(vector bool char __a,vector bool char __b,vector unsigned char __c)4905 vec_sel(vector bool char __a, vector bool char __b, vector unsigned char __c)
4906 {
4907   return (__a & ~(vector bool char)__c) | (__b & (vector bool char)__c);
4908 }
4909 
4910 static vector bool char __ATTRS_o_ai
vec_sel(vector bool char __a,vector bool char __b,vector bool char __c)4911 vec_sel(vector bool char __a, vector bool char __b, vector bool char __c)
4912 {
4913   return (__a & ~__c) | (__b & __c);
4914 }
4915 
4916 static vector short __ATTRS_o_ai
vec_sel(vector short __a,vector short __b,vector unsigned short __c)4917 vec_sel(vector short __a, vector short __b, vector unsigned short __c)
4918 {
4919   return (__a & ~(vector short)__c) | (__b & (vector short)__c);
4920 }
4921 
4922 static vector short __ATTRS_o_ai
vec_sel(vector short __a,vector short __b,vector bool short __c)4923 vec_sel(vector short __a, vector short __b, vector bool short __c)
4924 {
4925   return (__a & ~(vector short)__c) | (__b & (vector short)__c);
4926 }
4927 
4928 static vector unsigned short __ATTRS_o_ai
vec_sel(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c)4929 vec_sel(vector unsigned short __a,
4930         vector unsigned short __b,
4931         vector unsigned short __c)
4932 {
4933   return (__a & ~__c) | (__b & __c);
4934 }
4935 
4936 static vector unsigned short __ATTRS_o_ai
vec_sel(vector unsigned short __a,vector unsigned short __b,vector bool short __c)4937 vec_sel(vector unsigned short __a, vector unsigned short __b, vector bool short __c)
4938 {
4939   return (__a & ~(vector unsigned short)__c) | (__b & (vector unsigned short)__c);
4940 }
4941 
4942 static vector bool short __ATTRS_o_ai
vec_sel(vector bool short __a,vector bool short __b,vector unsigned short __c)4943 vec_sel(vector bool short __a, vector bool short __b, vector unsigned short __c)
4944 {
4945   return (__a & ~(vector bool short)__c) | (__b & (vector bool short)__c);
4946 }
4947 
4948 static vector bool short __ATTRS_o_ai
vec_sel(vector bool short __a,vector bool short __b,vector bool short __c)4949 vec_sel(vector bool short __a, vector bool short __b, vector bool short __c)
4950 {
4951   return (__a & ~__c) | (__b & __c);
4952 }
4953 
4954 static vector int __ATTRS_o_ai
vec_sel(vector int __a,vector int __b,vector unsigned int __c)4955 vec_sel(vector int __a, vector int __b, vector unsigned int __c)
4956 {
4957   return (__a & ~(vector int)__c) | (__b & (vector int)__c);
4958 }
4959 
4960 static vector int __ATTRS_o_ai
vec_sel(vector int __a,vector int __b,vector bool int __c)4961 vec_sel(vector int __a, vector int __b, vector bool int __c)
4962 {
4963   return (__a & ~(vector int)__c) | (__b & (vector int)__c);
4964 }
4965 
4966 static vector unsigned int __ATTRS_o_ai
vec_sel(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c)4967 vec_sel(vector unsigned int __a, vector unsigned int __b, vector unsigned int __c)
4968 {
4969   return (__a & ~__c) | (__b & __c);
4970 }
4971 
4972 static vector unsigned int __ATTRS_o_ai
vec_sel(vector unsigned int __a,vector unsigned int __b,vector bool int __c)4973 vec_sel(vector unsigned int __a, vector unsigned int __b, vector bool int __c)
4974 {
4975   return (__a & ~(vector unsigned int)__c) | (__b & (vector unsigned int)__c);
4976 }
4977 
4978 static vector bool int __ATTRS_o_ai
vec_sel(vector bool int __a,vector bool int __b,vector unsigned int __c)4979 vec_sel(vector bool int __a, vector bool int __b, vector unsigned int __c)
4980 {
4981   return (__a & ~(vector bool int)__c) | (__b & (vector bool int)__c);
4982 }
4983 
4984 static vector bool int __ATTRS_o_ai
vec_sel(vector bool int __a,vector bool int __b,vector bool int __c)4985 vec_sel(vector bool int __a, vector bool int __b, vector bool int __c)
4986 {
4987   return (__a & ~__c) | (__b & __c);
4988 }
4989 
4990 static vector float __ATTRS_o_ai
vec_sel(vector float __a,vector float __b,vector unsigned int __c)4991 vec_sel(vector float __a, vector float __b, vector unsigned int __c)
4992 {
4993   vector int __res = ((vector int)__a & ~(vector int)__c)
4994                    | ((vector int)__b & (vector int)__c);
4995   return (vector float)__res;
4996 }
4997 
4998 static vector float __ATTRS_o_ai
vec_sel(vector float __a,vector float __b,vector bool int __c)4999 vec_sel(vector float __a, vector float __b, vector bool int __c)
5000 {
5001   vector int __res = ((vector int)__a & ~(vector int)__c)
5002                    | ((vector int)__b & (vector int)__c);
5003   return (vector float)__res;
5004 }
5005 
5006 /* vec_vsel */
5007 
5008 static vector signed char __ATTRS_o_ai
vec_vsel(vector signed char __a,vector signed char __b,vector unsigned char __c)5009 vec_vsel(vector signed char __a, vector signed char __b, vector unsigned char __c)
5010 {
5011   return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
5012 }
5013 
5014 static vector signed char __ATTRS_o_ai
vec_vsel(vector signed char __a,vector signed char __b,vector bool char __c)5015 vec_vsel(vector signed char __a, vector signed char __b, vector bool char __c)
5016 {
5017   return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
5018 }
5019 
5020 static vector unsigned char __ATTRS_o_ai
vec_vsel(vector unsigned char __a,vector unsigned char __b,vector unsigned char __c)5021 vec_vsel(vector unsigned char __a, vector unsigned char __b, vector unsigned char __c)
5022 {
5023   return (__a & ~__c) | (__b & __c);
5024 }
5025 
5026 static vector unsigned char __ATTRS_o_ai
vec_vsel(vector unsigned char __a,vector unsigned char __b,vector bool char __c)5027 vec_vsel(vector unsigned char __a, vector unsigned char __b, vector bool char __c)
5028 {
5029   return (__a & ~(vector unsigned char)__c) | (__b & (vector unsigned char)__c);
5030 }
5031 
5032 static vector bool char __ATTRS_o_ai
vec_vsel(vector bool char __a,vector bool char __b,vector unsigned char __c)5033 vec_vsel(vector bool char __a, vector bool char __b, vector unsigned char __c)
5034 {
5035   return (__a & ~(vector bool char)__c) | (__b & (vector bool char)__c);
5036 }
5037 
5038 static vector bool char __ATTRS_o_ai
vec_vsel(vector bool char __a,vector bool char __b,vector bool char __c)5039 vec_vsel(vector bool char __a, vector bool char __b, vector bool char __c)
5040 {
5041   return (__a & ~__c) | (__b & __c);
5042 }
5043 
5044 static vector short __ATTRS_o_ai
vec_vsel(vector short __a,vector short __b,vector unsigned short __c)5045 vec_vsel(vector short __a, vector short __b, vector unsigned short __c)
5046 {
5047   return (__a & ~(vector short)__c) | (__b & (vector short)__c);
5048 }
5049 
5050 static vector short __ATTRS_o_ai
vec_vsel(vector short __a,vector short __b,vector bool short __c)5051 vec_vsel(vector short __a, vector short __b, vector bool short __c)
5052 {
5053   return (__a & ~(vector short)__c) | (__b & (vector short)__c);
5054 }
5055 
5056 static vector unsigned short __ATTRS_o_ai
vec_vsel(vector unsigned short __a,vector unsigned short __b,vector unsigned short __c)5057 vec_vsel(vector unsigned short __a,
5058          vector unsigned short __b,
5059          vector unsigned short __c)
5060 {
5061   return (__a & ~__c) | (__b & __c);
5062 }
5063 
5064 static vector unsigned short __ATTRS_o_ai
vec_vsel(vector unsigned short __a,vector unsigned short __b,vector bool short __c)5065 vec_vsel(vector unsigned short __a, vector unsigned short __b, vector bool short __c)
5066 {
5067   return (__a & ~(vector unsigned short)__c) | (__b & (vector unsigned short)__c);
5068 }
5069 
5070 static vector bool short __ATTRS_o_ai
vec_vsel(vector bool short __a,vector bool short __b,vector unsigned short __c)5071 vec_vsel(vector bool short __a, vector bool short __b, vector unsigned short __c)
5072 {
5073   return (__a & ~(vector bool short)__c) | (__b & (vector bool short)__c);
5074 }
5075 
5076 static vector bool short __ATTRS_o_ai
vec_vsel(vector bool short __a,vector bool short __b,vector bool short __c)5077 vec_vsel(vector bool short __a, vector bool short __b, vector bool short __c)
5078 {
5079   return (__a & ~__c) | (__b & __c);
5080 }
5081 
5082 static vector int __ATTRS_o_ai
vec_vsel(vector int __a,vector int __b,vector unsigned int __c)5083 vec_vsel(vector int __a, vector int __b, vector unsigned int __c)
5084 {
5085   return (__a & ~(vector int)__c) | (__b & (vector int)__c);
5086 }
5087 
5088 static vector int __ATTRS_o_ai
vec_vsel(vector int __a,vector int __b,vector bool int __c)5089 vec_vsel(vector int __a, vector int __b, vector bool int __c)
5090 {
5091   return (__a & ~(vector int)__c) | (__b & (vector int)__c);
5092 }
5093 
5094 static vector unsigned int __ATTRS_o_ai
vec_vsel(vector unsigned int __a,vector unsigned int __b,vector unsigned int __c)5095 vec_vsel(vector unsigned int __a, vector unsigned int __b, vector unsigned int __c)
5096 {
5097   return (__a & ~__c) | (__b & __c);
5098 }
5099 
5100 static vector unsigned int __ATTRS_o_ai
vec_vsel(vector unsigned int __a,vector unsigned int __b,vector bool int __c)5101 vec_vsel(vector unsigned int __a, vector unsigned int __b, vector bool int __c)
5102 {
5103   return (__a & ~(vector unsigned int)__c) | (__b & (vector unsigned int)__c);
5104 }
5105 
5106 static vector bool int __ATTRS_o_ai
vec_vsel(vector bool int __a,vector bool int __b,vector unsigned int __c)5107 vec_vsel(vector bool int __a, vector bool int __b, vector unsigned int __c)
5108 {
5109   return (__a & ~(vector bool int)__c) | (__b & (vector bool int)__c);
5110 }
5111 
5112 static vector bool int __ATTRS_o_ai
vec_vsel(vector bool int __a,vector bool int __b,vector bool int __c)5113 vec_vsel(vector bool int __a, vector bool int __b, vector bool int __c)
5114 {
5115   return (__a & ~__c) | (__b & __c);
5116 }
5117 
5118 static vector float __ATTRS_o_ai
vec_vsel(vector float __a,vector float __b,vector unsigned int __c)5119 vec_vsel(vector float __a, vector float __b, vector unsigned int __c)
5120 {
5121   vector int __res = ((vector int)__a & ~(vector int)__c)
5122                    | ((vector int)__b & (vector int)__c);
5123   return (vector float)__res;
5124 }
5125 
5126 static vector float __ATTRS_o_ai
vec_vsel(vector float __a,vector float __b,vector bool int __c)5127 vec_vsel(vector float __a, vector float __b, vector bool int __c)
5128 {
5129   vector int __res = ((vector int)__a & ~(vector int)__c)
5130                    | ((vector int)__b & (vector int)__c);
5131   return (vector float)__res;
5132 }
5133 
5134 /* vec_sl */
5135 
5136 static vector signed char __ATTRS_o_ai
vec_sl(vector signed char __a,vector unsigned char __b)5137 vec_sl(vector signed char __a, vector unsigned char __b)
5138 {
5139   return __a << (vector signed char)__b;
5140 }
5141 
5142 static vector unsigned char __ATTRS_o_ai
vec_sl(vector unsigned char __a,vector unsigned char __b)5143 vec_sl(vector unsigned char __a, vector unsigned char __b)
5144 {
5145   return __a << __b;
5146 }
5147 
5148 static vector short __ATTRS_o_ai
vec_sl(vector short __a,vector unsigned short __b)5149 vec_sl(vector short __a, vector unsigned short __b)
5150 {
5151   return __a << (vector short)__b;
5152 }
5153 
5154 static vector unsigned short __ATTRS_o_ai
vec_sl(vector unsigned short __a,vector unsigned short __b)5155 vec_sl(vector unsigned short __a, vector unsigned short __b)
5156 {
5157   return __a << __b;
5158 }
5159 
5160 static vector int __ATTRS_o_ai
vec_sl(vector int __a,vector unsigned int __b)5161 vec_sl(vector int __a, vector unsigned int __b)
5162 {
5163   return __a << (vector int)__b;
5164 }
5165 
5166 static vector unsigned int __ATTRS_o_ai
vec_sl(vector unsigned int __a,vector unsigned int __b)5167 vec_sl(vector unsigned int __a, vector unsigned int __b)
5168 {
5169   return __a << __b;
5170 }
5171 
5172 /* vec_vslb */
5173 
5174 #define __builtin_altivec_vslb vec_vslb
5175 
5176 static vector signed char __ATTRS_o_ai
vec_vslb(vector signed char __a,vector unsigned char __b)5177 vec_vslb(vector signed char __a, vector unsigned char __b)
5178 {
5179   return vec_sl(__a, __b);
5180 }
5181 
5182 static vector unsigned char __ATTRS_o_ai
vec_vslb(vector unsigned char __a,vector unsigned char __b)5183 vec_vslb(vector unsigned char __a, vector unsigned char __b)
5184 {
5185   return vec_sl(__a, __b);
5186 }
5187 
5188 /* vec_vslh */
5189 
5190 #define __builtin_altivec_vslh vec_vslh
5191 
5192 static vector short __ATTRS_o_ai
vec_vslh(vector short __a,vector unsigned short __b)5193 vec_vslh(vector short __a, vector unsigned short __b)
5194 {
5195   return vec_sl(__a, __b);
5196 }
5197 
5198 static vector unsigned short __ATTRS_o_ai
vec_vslh(vector unsigned short __a,vector unsigned short __b)5199 vec_vslh(vector unsigned short __a, vector unsigned short __b)
5200 {
5201   return vec_sl(__a, __b);
5202 }
5203 
5204 /* vec_vslw */
5205 
5206 #define __builtin_altivec_vslw vec_vslw
5207 
5208 static vector int __ATTRS_o_ai
vec_vslw(vector int __a,vector unsigned int __b)5209 vec_vslw(vector int __a, vector unsigned int __b)
5210 {
5211   return vec_sl(__a, __b);
5212 }
5213 
5214 static vector unsigned int __ATTRS_o_ai
vec_vslw(vector unsigned int __a,vector unsigned int __b)5215 vec_vslw(vector unsigned int __a, vector unsigned int __b)
5216 {
5217   return vec_sl(__a, __b);
5218 }
5219 
5220 /* vec_sld */
5221 
5222 #define __builtin_altivec_vsldoi_4si vec_sld
5223 
5224 static vector signed char __ATTRS_o_ai
vec_sld(vector signed char __a,vector signed char __b,unsigned char __c)5225 vec_sld(vector signed char __a, vector signed char __b, unsigned char __c)
5226 {
5227 #ifdef __LITTLE_ENDIAN__
5228   return vec_perm(__a, __b, (vector unsigned char)
5229     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5230      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5231 #else
5232   return vec_perm(__a, __b, (vector unsigned char)
5233     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5234      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5235 #endif
5236 }
5237 
5238 static vector unsigned char __ATTRS_o_ai
vec_sld(vector unsigned char __a,vector unsigned char __b,unsigned char __c)5239 vec_sld(vector unsigned char __a, vector unsigned char __b, unsigned char __c)
5240 {
5241 #ifdef __LITTLE_ENDIAN__
5242   return vec_perm(__a, __b, (vector unsigned char)
5243     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5244      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5245 #else
5246   return vec_perm(__a, __b, (vector unsigned char)
5247     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5248      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5249 #endif
5250 }
5251 
5252 static vector short __ATTRS_o_ai
vec_sld(vector short __a,vector short __b,unsigned char __c)5253 vec_sld(vector short __a, vector short __b, unsigned char __c)
5254 {
5255 #ifdef __LITTLE_ENDIAN__
5256   return vec_perm(__a, __b, (vector unsigned char)
5257     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5258      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5259 #else
5260   return vec_perm(__a, __b, (vector unsigned char)
5261     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5262      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5263 #endif
5264 }
5265 
5266 static vector unsigned short __ATTRS_o_ai
vec_sld(vector unsigned short __a,vector unsigned short __b,unsigned char __c)5267 vec_sld(vector unsigned short __a, vector unsigned short __b, unsigned char __c)
5268 {
5269 #ifdef __LITTLE_ENDIAN__
5270   return vec_perm(__a, __b, (vector unsigned char)
5271     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5272      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5273 #else
5274   return vec_perm(__a, __b, (vector unsigned char)
5275     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5276      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5277 #endif
5278 }
5279 
5280 static vector pixel __ATTRS_o_ai
vec_sld(vector pixel __a,vector pixel __b,unsigned char __c)5281 vec_sld(vector pixel __a, vector pixel __b, unsigned char __c)
5282 {
5283 #ifdef __LITTLE_ENDIAN__
5284   return vec_perm(__a, __b, (vector unsigned char)
5285     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5286      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5287 #else
5288   return vec_perm(__a, __b, (vector unsigned char)
5289     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5290      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5291 #endif
5292 }
5293 
5294 static vector int __ATTRS_o_ai
vec_sld(vector int __a,vector int __b,unsigned char __c)5295 vec_sld(vector int __a, vector int __b, unsigned char __c)
5296 {
5297 #ifdef __LITTLE_ENDIAN__
5298   return vec_perm(__a, __b, (vector unsigned char)
5299     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5300      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5301 #else
5302   return vec_perm(__a, __b, (vector unsigned char)
5303     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5304      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5305 #endif
5306 }
5307 
5308 static vector unsigned int __ATTRS_o_ai
vec_sld(vector unsigned int __a,vector unsigned int __b,unsigned char __c)5309 vec_sld(vector unsigned int __a, vector unsigned int __b, unsigned char __c)
5310 {
5311 #ifdef __LITTLE_ENDIAN__
5312   return vec_perm(__a, __b, (vector unsigned char)
5313     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5314      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5315 #else
5316   return vec_perm(__a, __b, (vector unsigned char)
5317     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5318      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5319 #endif
5320 }
5321 
5322 static vector float __ATTRS_o_ai
vec_sld(vector float __a,vector float __b,unsigned char __c)5323 vec_sld(vector float __a, vector float __b, unsigned char __c)
5324 {
5325 #ifdef __LITTLE_ENDIAN__
5326   return vec_perm(__a, __b, (vector unsigned char)
5327     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5328      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5329 #else
5330   return vec_perm(__a, __b, (vector unsigned char)
5331     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5332      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5333 #endif
5334 }
5335 
5336 /* vec_vsldoi */
5337 
5338 static vector signed char __ATTRS_o_ai
vec_vsldoi(vector signed char __a,vector signed char __b,unsigned char __c)5339 vec_vsldoi(vector signed char __a, vector signed char __b, unsigned char __c)
5340 {
5341 #ifdef __LITTLE_ENDIAN__
5342   return vec_perm(__a, __b, (vector unsigned char)
5343     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5344      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5345 #else
5346   return vec_perm(__a, __b, (vector unsigned char)
5347     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5348      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5349 #endif
5350 }
5351 
5352 static vector unsigned char __ATTRS_o_ai
vec_vsldoi(vector unsigned char __a,vector unsigned char __b,unsigned char __c)5353 vec_vsldoi(vector unsigned char __a, vector unsigned char __b, unsigned char __c)
5354 {
5355 #ifdef __LITTLE_ENDIAN__
5356   return vec_perm(__a, __b, (vector unsigned char)
5357     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5358      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5359 #else
5360   return vec_perm(__a, __b, (vector unsigned char)
5361     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5362      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5363 #endif
5364 }
5365 
5366 static vector short __ATTRS_o_ai
vec_vsldoi(vector short __a,vector short __b,unsigned char __c)5367 vec_vsldoi(vector short __a, vector short __b, unsigned char __c)
5368 {
5369 #ifdef __LITTLE_ENDIAN__
5370   return vec_perm(__a, __b, (vector unsigned char)
5371     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5372      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5373 #else
5374   return vec_perm(__a, __b, (vector unsigned char)
5375     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5376      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5377 #endif
5378 }
5379 
5380 static vector unsigned short __ATTRS_o_ai
vec_vsldoi(vector unsigned short __a,vector unsigned short __b,unsigned char __c)5381 vec_vsldoi(vector unsigned short __a, vector unsigned short __b, unsigned char __c)
5382 {
5383 #ifdef __LITTLE_ENDIAN__
5384   return vec_perm(__a, __b, (vector unsigned char)
5385     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5386      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5387 #else
5388   return vec_perm(__a, __b, (vector unsigned char)
5389     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5390      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5391 #endif
5392 }
5393 
5394 static vector pixel __ATTRS_o_ai
vec_vsldoi(vector pixel __a,vector pixel __b,unsigned char __c)5395 vec_vsldoi(vector pixel __a, vector pixel __b, unsigned char __c)
5396 {
5397 #ifdef __LITTLE_ENDIAN__
5398   return vec_perm(__a, __b, (vector unsigned char)
5399     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5400      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5401 #else
5402   return vec_perm(__a, __b, (vector unsigned char)
5403     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5404      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5405 #endif
5406 }
5407 
5408 static vector int __ATTRS_o_ai
vec_vsldoi(vector int __a,vector int __b,unsigned char __c)5409 vec_vsldoi(vector int __a, vector int __b, unsigned char __c)
5410 {
5411 #ifdef __LITTLE_ENDIAN__
5412   return vec_perm(__a, __b, (vector unsigned char)
5413     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5414      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5415 #else
5416   return vec_perm(__a, __b, (vector unsigned char)
5417     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5418      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5419 #endif
5420 }
5421 
5422 static vector unsigned int __ATTRS_o_ai
vec_vsldoi(vector unsigned int __a,vector unsigned int __b,unsigned char __c)5423 vec_vsldoi(vector unsigned int __a, vector unsigned int __b, unsigned char __c)
5424 {
5425 #ifdef __LITTLE_ENDIAN__
5426   return vec_perm(__a, __b, (vector unsigned char)
5427     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5428      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5429 #else
5430   return vec_perm(__a, __b, (vector unsigned char)
5431     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5432      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5433 #endif
5434 }
5435 
5436 static vector float __ATTRS_o_ai
vec_vsldoi(vector float __a,vector float __b,unsigned char __c)5437 vec_vsldoi(vector float __a, vector float __b, unsigned char __c)
5438 {
5439 #ifdef __LITTLE_ENDIAN__
5440   return vec_perm(__a, __b, (vector unsigned char)
5441     (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5442      __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5443 #else
5444   return vec_perm(__a, __b, (vector unsigned char)
5445     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
5446      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5447 #endif
5448 }
5449 
5450 /* vec_sll */
5451 
5452 static vector signed char __ATTRS_o_ai
vec_sll(vector signed char __a,vector unsigned char __b)5453 vec_sll(vector signed char __a, vector unsigned char __b)
5454 {
5455   return (vector signed char)
5456            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5457 }
5458 
5459 static vector signed char __ATTRS_o_ai
vec_sll(vector signed char __a,vector unsigned short __b)5460 vec_sll(vector signed char __a, vector unsigned short __b)
5461 {
5462   return (vector signed char)
5463            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5464 }
5465 
5466 static vector signed char __ATTRS_o_ai
vec_sll(vector signed char __a,vector unsigned int __b)5467 vec_sll(vector signed char __a, vector unsigned int __b)
5468 {
5469   return (vector signed char)
5470            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5471 }
5472 
5473 static vector unsigned char __ATTRS_o_ai
vec_sll(vector unsigned char __a,vector unsigned char __b)5474 vec_sll(vector unsigned char __a, vector unsigned char __b)
5475 {
5476   return (vector unsigned char)
5477            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5478 }
5479 
5480 static vector unsigned char __ATTRS_o_ai
vec_sll(vector unsigned char __a,vector unsigned short __b)5481 vec_sll(vector unsigned char __a, vector unsigned short __b)
5482 {
5483   return (vector unsigned char)
5484            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5485 }
5486 
5487 static vector unsigned char __ATTRS_o_ai
vec_sll(vector unsigned char __a,vector unsigned int __b)5488 vec_sll(vector unsigned char __a, vector unsigned int __b)
5489 {
5490   return (vector unsigned char)
5491            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5492 }
5493 
5494 static vector bool char __ATTRS_o_ai
vec_sll(vector bool char __a,vector unsigned char __b)5495 vec_sll(vector bool char __a, vector unsigned char __b)
5496 {
5497   return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5498 }
5499 
5500 static vector bool char __ATTRS_o_ai
vec_sll(vector bool char __a,vector unsigned short __b)5501 vec_sll(vector bool char __a, vector unsigned short __b)
5502 {
5503   return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5504 }
5505 
5506 static vector bool char __ATTRS_o_ai
vec_sll(vector bool char __a,vector unsigned int __b)5507 vec_sll(vector bool char __a, vector unsigned int __b)
5508 {
5509   return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5510 }
5511 
5512 static vector short __ATTRS_o_ai
vec_sll(vector short __a,vector unsigned char __b)5513 vec_sll(vector short __a, vector unsigned char __b)
5514 {
5515   return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5516 }
5517 
5518 static vector short __ATTRS_o_ai
vec_sll(vector short __a,vector unsigned short __b)5519 vec_sll(vector short __a, vector unsigned short __b)
5520 {
5521   return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5522 }
5523 
5524 static vector short __ATTRS_o_ai
vec_sll(vector short __a,vector unsigned int __b)5525 vec_sll(vector short __a, vector unsigned int __b)
5526 {
5527   return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5528 }
5529 
5530 static vector unsigned short __ATTRS_o_ai
vec_sll(vector unsigned short __a,vector unsigned char __b)5531 vec_sll(vector unsigned short __a, vector unsigned char __b)
5532 {
5533   return (vector unsigned short)
5534            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5535 }
5536 
5537 static vector unsigned short __ATTRS_o_ai
vec_sll(vector unsigned short __a,vector unsigned short __b)5538 vec_sll(vector unsigned short __a, vector unsigned short __b)
5539 {
5540   return (vector unsigned short)
5541            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5542 }
5543 
5544 static vector unsigned short __ATTRS_o_ai
vec_sll(vector unsigned short __a,vector unsigned int __b)5545 vec_sll(vector unsigned short __a, vector unsigned int __b)
5546 {
5547   return (vector unsigned short)
5548            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5549 }
5550 
5551 static vector bool short __ATTRS_o_ai
vec_sll(vector bool short __a,vector unsigned char __b)5552 vec_sll(vector bool short __a, vector unsigned char __b)
5553 {
5554   return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5555 }
5556 
5557 static vector bool short __ATTRS_o_ai
vec_sll(vector bool short __a,vector unsigned short __b)5558 vec_sll(vector bool short __a, vector unsigned short __b)
5559 {
5560   return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5561 }
5562 
5563 static vector bool short __ATTRS_o_ai
vec_sll(vector bool short __a,vector unsigned int __b)5564 vec_sll(vector bool short __a, vector unsigned int __b)
5565 {
5566   return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5567 }
5568 
5569 static vector pixel __ATTRS_o_ai
vec_sll(vector pixel __a,vector unsigned char __b)5570 vec_sll(vector pixel __a, vector unsigned char __b)
5571 {
5572   return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5573 }
5574 
5575 static vector pixel __ATTRS_o_ai
vec_sll(vector pixel __a,vector unsigned short __b)5576 vec_sll(vector pixel __a, vector unsigned short __b)
5577 {
5578   return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5579 }
5580 
5581 static vector pixel __ATTRS_o_ai
vec_sll(vector pixel __a,vector unsigned int __b)5582 vec_sll(vector pixel __a, vector unsigned int __b)
5583 {
5584   return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5585 }
5586 
5587 static vector int __ATTRS_o_ai
vec_sll(vector int __a,vector unsigned char __b)5588 vec_sll(vector int __a, vector unsigned char __b)
5589 {
5590   return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
5591 }
5592 
5593 static vector int __ATTRS_o_ai
vec_sll(vector int __a,vector unsigned short __b)5594 vec_sll(vector int __a, vector unsigned short __b)
5595 {
5596   return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
5597 }
5598 
5599 static vector int __ATTRS_o_ai
vec_sll(vector int __a,vector unsigned int __b)5600 vec_sll(vector int __a, vector unsigned int __b)
5601 {
5602   return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
5603 }
5604 
5605 static vector unsigned int __ATTRS_o_ai
vec_sll(vector unsigned int __a,vector unsigned char __b)5606 vec_sll(vector unsigned int __a, vector unsigned char __b)
5607 {
5608   return (vector unsigned int)
5609            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5610 }
5611 
5612 static vector unsigned int __ATTRS_o_ai
vec_sll(vector unsigned int __a,vector unsigned short __b)5613 vec_sll(vector unsigned int __a, vector unsigned short __b)
5614 {
5615   return (vector unsigned int)
5616            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5617 }
5618 
5619 static vector unsigned int __ATTRS_o_ai
vec_sll(vector unsigned int __a,vector unsigned int __b)5620 vec_sll(vector unsigned int __a, vector unsigned int __b)
5621 {
5622   return (vector unsigned int)
5623            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5624 }
5625 
5626 static vector bool int __ATTRS_o_ai
vec_sll(vector bool int __a,vector unsigned char __b)5627 vec_sll(vector bool int __a, vector unsigned char __b)
5628 {
5629   return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5630 }
5631 
5632 static vector bool int __ATTRS_o_ai
vec_sll(vector bool int __a,vector unsigned short __b)5633 vec_sll(vector bool int __a, vector unsigned short __b)
5634 {
5635   return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5636 }
5637 
5638 static vector bool int __ATTRS_o_ai
vec_sll(vector bool int __a,vector unsigned int __b)5639 vec_sll(vector bool int __a, vector unsigned int __b)
5640 {
5641   return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5642 }
5643 
5644 /* vec_vsl */
5645 
5646 static vector signed char __ATTRS_o_ai
vec_vsl(vector signed char __a,vector unsigned char __b)5647 vec_vsl(vector signed char __a, vector unsigned char __b)
5648 {
5649   return (vector signed char)
5650            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5651 }
5652 
5653 static vector signed char __ATTRS_o_ai
vec_vsl(vector signed char __a,vector unsigned short __b)5654 vec_vsl(vector signed char __a, vector unsigned short __b)
5655 {
5656   return (vector signed char)
5657            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5658 }
5659 
5660 static vector signed char __ATTRS_o_ai
vec_vsl(vector signed char __a,vector unsigned int __b)5661 vec_vsl(vector signed char __a, vector unsigned int __b)
5662 {
5663   return (vector signed char)
5664            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5665 }
5666 
5667 static vector unsigned char __ATTRS_o_ai
vec_vsl(vector unsigned char __a,vector unsigned char __b)5668 vec_vsl(vector unsigned char __a, vector unsigned char __b)
5669 {
5670   return (vector unsigned char)
5671            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5672 }
5673 
5674 static vector unsigned char __ATTRS_o_ai
vec_vsl(vector unsigned char __a,vector unsigned short __b)5675 vec_vsl(vector unsigned char __a, vector unsigned short __b)
5676 {
5677   return (vector unsigned char)
5678            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5679 }
5680 
5681 static vector unsigned char __ATTRS_o_ai
vec_vsl(vector unsigned char __a,vector unsigned int __b)5682 vec_vsl(vector unsigned char __a, vector unsigned int __b)
5683 {
5684   return (vector unsigned char)
5685            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5686 }
5687 
5688 static vector bool char __ATTRS_o_ai
vec_vsl(vector bool char __a,vector unsigned char __b)5689 vec_vsl(vector bool char __a, vector unsigned char __b)
5690 {
5691   return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5692 }
5693 
5694 static vector bool char __ATTRS_o_ai
vec_vsl(vector bool char __a,vector unsigned short __b)5695 vec_vsl(vector bool char __a, vector unsigned short __b)
5696 {
5697   return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5698 }
5699 
5700 static vector bool char __ATTRS_o_ai
vec_vsl(vector bool char __a,vector unsigned int __b)5701 vec_vsl(vector bool char __a, vector unsigned int __b)
5702 {
5703   return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5704 }
5705 
5706 static vector short __ATTRS_o_ai
vec_vsl(vector short __a,vector unsigned char __b)5707 vec_vsl(vector short __a, vector unsigned char __b)
5708 {
5709   return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5710 }
5711 
5712 static vector short __ATTRS_o_ai
vec_vsl(vector short __a,vector unsigned short __b)5713 vec_vsl(vector short __a, vector unsigned short __b)
5714 {
5715   return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5716 }
5717 
5718 static vector short __ATTRS_o_ai
vec_vsl(vector short __a,vector unsigned int __b)5719 vec_vsl(vector short __a, vector unsigned int __b)
5720 {
5721   return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5722 }
5723 
5724 static vector unsigned short __ATTRS_o_ai
vec_vsl(vector unsigned short __a,vector unsigned char __b)5725 vec_vsl(vector unsigned short __a, vector unsigned char __b)
5726 {
5727   return (vector unsigned short)
5728            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5729 }
5730 
5731 static vector unsigned short __ATTRS_o_ai
vec_vsl(vector unsigned short __a,vector unsigned short __b)5732 vec_vsl(vector unsigned short __a, vector unsigned short __b)
5733 {
5734   return (vector unsigned short)
5735            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5736 }
5737 
5738 static vector unsigned short __ATTRS_o_ai
vec_vsl(vector unsigned short __a,vector unsigned int __b)5739 vec_vsl(vector unsigned short __a, vector unsigned int __b)
5740 {
5741   return (vector unsigned short)
5742            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5743 }
5744 
5745 static vector bool short __ATTRS_o_ai
vec_vsl(vector bool short __a,vector unsigned char __b)5746 vec_vsl(vector bool short __a, vector unsigned char __b)
5747 {
5748   return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5749 }
5750 
5751 static vector bool short __ATTRS_o_ai
vec_vsl(vector bool short __a,vector unsigned short __b)5752 vec_vsl(vector bool short __a, vector unsigned short __b)
5753 {
5754   return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5755 }
5756 
5757 static vector bool short __ATTRS_o_ai
vec_vsl(vector bool short __a,vector unsigned int __b)5758 vec_vsl(vector bool short __a, vector unsigned int __b)
5759 {
5760   return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5761 }
5762 
5763 static vector pixel __ATTRS_o_ai
vec_vsl(vector pixel __a,vector unsigned char __b)5764 vec_vsl(vector pixel __a, vector unsigned char __b)
5765 {
5766   return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5767 }
5768 
5769 static vector pixel __ATTRS_o_ai
vec_vsl(vector pixel __a,vector unsigned short __b)5770 vec_vsl(vector pixel __a, vector unsigned short __b)
5771 {
5772   return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5773 }
5774 
5775 static vector pixel __ATTRS_o_ai
vec_vsl(vector pixel __a,vector unsigned int __b)5776 vec_vsl(vector pixel __a, vector unsigned int __b)
5777 {
5778   return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5779 }
5780 
5781 static vector int __ATTRS_o_ai
vec_vsl(vector int __a,vector unsigned char __b)5782 vec_vsl(vector int __a, vector unsigned char __b)
5783 {
5784   return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
5785 }
5786 
5787 static vector int __ATTRS_o_ai
vec_vsl(vector int __a,vector unsigned short __b)5788 vec_vsl(vector int __a, vector unsigned short __b)
5789 {
5790   return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
5791 }
5792 
5793 static vector int __ATTRS_o_ai
vec_vsl(vector int __a,vector unsigned int __b)5794 vec_vsl(vector int __a, vector unsigned int __b)
5795 {
5796   return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
5797 }
5798 
5799 static vector unsigned int __ATTRS_o_ai
vec_vsl(vector unsigned int __a,vector unsigned char __b)5800 vec_vsl(vector unsigned int __a, vector unsigned char __b)
5801 {
5802   return (vector unsigned int)
5803            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5804 }
5805 
5806 static vector unsigned int __ATTRS_o_ai
vec_vsl(vector unsigned int __a,vector unsigned short __b)5807 vec_vsl(vector unsigned int __a, vector unsigned short __b)
5808 {
5809   return (vector unsigned int)
5810            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5811 }
5812 
5813 static vector unsigned int __ATTRS_o_ai
vec_vsl(vector unsigned int __a,vector unsigned int __b)5814 vec_vsl(vector unsigned int __a, vector unsigned int __b)
5815 {
5816   return (vector unsigned int)
5817            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
5818 }
5819 
5820 static vector bool int __ATTRS_o_ai
vec_vsl(vector bool int __a,vector unsigned char __b)5821 vec_vsl(vector bool int __a, vector unsigned char __b)
5822 {
5823   return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5824 }
5825 
5826 static vector bool int __ATTRS_o_ai
vec_vsl(vector bool int __a,vector unsigned short __b)5827 vec_vsl(vector bool int __a, vector unsigned short __b)
5828 {
5829   return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5830 }
5831 
5832 static vector bool int __ATTRS_o_ai
vec_vsl(vector bool int __a,vector unsigned int __b)5833 vec_vsl(vector bool int __a, vector unsigned int __b)
5834 {
5835   return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5836 }
5837 
5838 /* vec_slo */
5839 
5840 static vector signed char __ATTRS_o_ai
vec_slo(vector signed char __a,vector signed char __b)5841 vec_slo(vector signed char __a, vector signed char __b)
5842 {
5843   return (vector signed char)
5844            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5845 }
5846 
5847 static vector signed char __ATTRS_o_ai
vec_slo(vector signed char __a,vector unsigned char __b)5848 vec_slo(vector signed char __a, vector unsigned char __b)
5849 {
5850   return (vector signed char)
5851            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5852 }
5853 
5854 static vector unsigned char __ATTRS_o_ai
vec_slo(vector unsigned char __a,vector signed char __b)5855 vec_slo(vector unsigned char __a, vector signed char __b)
5856 {
5857   return (vector unsigned char)
5858            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5859 }
5860 
5861 static vector unsigned char __ATTRS_o_ai
vec_slo(vector unsigned char __a,vector unsigned char __b)5862 vec_slo(vector unsigned char __a, vector unsigned char __b)
5863 {
5864   return (vector unsigned char)
5865            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5866 }
5867 
5868 static vector short __ATTRS_o_ai
vec_slo(vector short __a,vector signed char __b)5869 vec_slo(vector short __a, vector signed char __b)
5870 {
5871   return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5872 }
5873 
5874 static vector short __ATTRS_o_ai
vec_slo(vector short __a,vector unsigned char __b)5875 vec_slo(vector short __a, vector unsigned char __b)
5876 {
5877   return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5878 }
5879 
5880 static vector unsigned short __ATTRS_o_ai
vec_slo(vector unsigned short __a,vector signed char __b)5881 vec_slo(vector unsigned short __a, vector signed char __b)
5882 {
5883   return (vector unsigned short)
5884            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5885 }
5886 
5887 static vector unsigned short __ATTRS_o_ai
vec_slo(vector unsigned short __a,vector unsigned char __b)5888 vec_slo(vector unsigned short __a, vector unsigned char __b)
5889 {
5890   return (vector unsigned short)
5891            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5892 }
5893 
5894 static vector pixel __ATTRS_o_ai
vec_slo(vector pixel __a,vector signed char __b)5895 vec_slo(vector pixel __a, vector signed char __b)
5896 {
5897   return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5898 }
5899 
5900 static vector pixel __ATTRS_o_ai
vec_slo(vector pixel __a,vector unsigned char __b)5901 vec_slo(vector pixel __a, vector unsigned char __b)
5902 {
5903   return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5904 }
5905 
5906 static vector int __ATTRS_o_ai
vec_slo(vector int __a,vector signed char __b)5907 vec_slo(vector int __a, vector signed char __b)
5908 {
5909   return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
5910 }
5911 
5912 static vector int __ATTRS_o_ai
vec_slo(vector int __a,vector unsigned char __b)5913 vec_slo(vector int __a, vector unsigned char __b)
5914 {
5915   return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
5916 }
5917 
5918 static vector unsigned int __ATTRS_o_ai
vec_slo(vector unsigned int __a,vector signed char __b)5919 vec_slo(vector unsigned int __a, vector signed char __b)
5920 {
5921   return (vector unsigned int)
5922            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5923 }
5924 
5925 static vector unsigned int __ATTRS_o_ai
vec_slo(vector unsigned int __a,vector unsigned char __b)5926 vec_slo(vector unsigned int __a, vector unsigned char __b)
5927 {
5928   return (vector unsigned int)
5929            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5930 }
5931 
5932 static vector float __ATTRS_o_ai
vec_slo(vector float __a,vector signed char __b)5933 vec_slo(vector float __a, vector signed char __b)
5934 {
5935   return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5936 }
5937 
5938 static vector float __ATTRS_o_ai
vec_slo(vector float __a,vector unsigned char __b)5939 vec_slo(vector float __a, vector unsigned char __b)
5940 {
5941   return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5942 }
5943 
5944 /* vec_vslo */
5945 
5946 static vector signed char __ATTRS_o_ai
vec_vslo(vector signed char __a,vector signed char __b)5947 vec_vslo(vector signed char __a, vector signed char __b)
5948 {
5949   return (vector signed char)
5950            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5951 }
5952 
5953 static vector signed char __ATTRS_o_ai
vec_vslo(vector signed char __a,vector unsigned char __b)5954 vec_vslo(vector signed char __a, vector unsigned char __b)
5955 {
5956   return (vector signed char)
5957            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5958 }
5959 
5960 static vector unsigned char __ATTRS_o_ai
vec_vslo(vector unsigned char __a,vector signed char __b)5961 vec_vslo(vector unsigned char __a, vector signed char __b)
5962 {
5963   return (vector unsigned char)
5964            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5965 }
5966 
5967 static vector unsigned char __ATTRS_o_ai
vec_vslo(vector unsigned char __a,vector unsigned char __b)5968 vec_vslo(vector unsigned char __a, vector unsigned char __b)
5969 {
5970   return (vector unsigned char)
5971            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5972 }
5973 
5974 static vector short __ATTRS_o_ai
vec_vslo(vector short __a,vector signed char __b)5975 vec_vslo(vector short __a, vector signed char __b)
5976 {
5977   return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5978 }
5979 
5980 static vector short __ATTRS_o_ai
vec_vslo(vector short __a,vector unsigned char __b)5981 vec_vslo(vector short __a, vector unsigned char __b)
5982 {
5983   return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5984 }
5985 
5986 static vector unsigned short __ATTRS_o_ai
vec_vslo(vector unsigned short __a,vector signed char __b)5987 vec_vslo(vector unsigned short __a, vector signed char __b)
5988 {
5989   return (vector unsigned short)
5990            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5991 }
5992 
5993 static vector unsigned short __ATTRS_o_ai
vec_vslo(vector unsigned short __a,vector unsigned char __b)5994 vec_vslo(vector unsigned short __a, vector unsigned char __b)
5995 {
5996   return (vector unsigned short)
5997            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
5998 }
5999 
6000 static vector pixel __ATTRS_o_ai
vec_vslo(vector pixel __a,vector signed char __b)6001 vec_vslo(vector pixel __a, vector signed char __b)
6002 {
6003   return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
6004 }
6005 
6006 static vector pixel __ATTRS_o_ai
vec_vslo(vector pixel __a,vector unsigned char __b)6007 vec_vslo(vector pixel __a, vector unsigned char __b)
6008 {
6009   return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
6010 }
6011 
6012 static vector int __ATTRS_o_ai
vec_vslo(vector int __a,vector signed char __b)6013 vec_vslo(vector int __a, vector signed char __b)
6014 {
6015   return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
6016 }
6017 
6018 static vector int __ATTRS_o_ai
vec_vslo(vector int __a,vector unsigned char __b)6019 vec_vslo(vector int __a, vector unsigned char __b)
6020 {
6021   return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
6022 }
6023 
6024 static vector unsigned int __ATTRS_o_ai
vec_vslo(vector unsigned int __a,vector signed char __b)6025 vec_vslo(vector unsigned int __a, vector signed char __b)
6026 {
6027   return (vector unsigned int)
6028            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
6029 }
6030 
6031 static vector unsigned int __ATTRS_o_ai
vec_vslo(vector unsigned int __a,vector unsigned char __b)6032 vec_vslo(vector unsigned int __a, vector unsigned char __b)
6033 {
6034   return (vector unsigned int)
6035            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
6036 }
6037 
6038 static vector float __ATTRS_o_ai
vec_vslo(vector float __a,vector signed char __b)6039 vec_vslo(vector float __a, vector signed char __b)
6040 {
6041   return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
6042 }
6043 
6044 static vector float __ATTRS_o_ai
vec_vslo(vector float __a,vector unsigned char __b)6045 vec_vslo(vector float __a, vector unsigned char __b)
6046 {
6047   return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
6048 }
6049 
6050 /* vec_splat */
6051 
6052 static vector signed char __ATTRS_o_ai
vec_splat(vector signed char __a,unsigned char __b)6053 vec_splat(vector signed char __a, unsigned char __b)
6054 {
6055   return vec_perm(__a, __a, (vector unsigned char)(__b));
6056 }
6057 
6058 static vector unsigned char __ATTRS_o_ai
vec_splat(vector unsigned char __a,unsigned char __b)6059 vec_splat(vector unsigned char __a, unsigned char __b)
6060 {
6061   return vec_perm(__a, __a, (vector unsigned char)(__b));
6062 }
6063 
6064 static vector bool char __ATTRS_o_ai
vec_splat(vector bool char __a,unsigned char __b)6065 vec_splat(vector bool char __a, unsigned char __b)
6066 {
6067   return vec_perm(__a, __a, (vector unsigned char)(__b));
6068 }
6069 
6070 static vector short __ATTRS_o_ai
vec_splat(vector short __a,unsigned char __b)6071 vec_splat(vector short __a, unsigned char __b)
6072 {
6073   __b *= 2;
6074   unsigned char b1=__b+1;
6075   return vec_perm(__a, __a, (vector unsigned char)
6076     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6077 }
6078 
6079 static vector unsigned short __ATTRS_o_ai
vec_splat(vector unsigned short __a,unsigned char __b)6080 vec_splat(vector unsigned short __a, unsigned char __b)
6081 {
6082   __b *= 2;
6083   unsigned char b1=__b+1;
6084   return vec_perm(__a, __a, (vector unsigned char)
6085     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6086 }
6087 
6088 static vector bool short __ATTRS_o_ai
vec_splat(vector bool short __a,unsigned char __b)6089 vec_splat(vector bool short __a, unsigned char __b)
6090 {
6091   __b *= 2;
6092   unsigned char b1=__b+1;
6093   return vec_perm(__a, __a, (vector unsigned char)
6094     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6095 }
6096 
6097 static vector pixel __ATTRS_o_ai
vec_splat(vector pixel __a,unsigned char __b)6098 vec_splat(vector pixel __a, unsigned char __b)
6099 {
6100   __b *= 2;
6101   unsigned char b1=__b+1;
6102   return vec_perm(__a, __a, (vector unsigned char)
6103     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6104 }
6105 
6106 static vector int __ATTRS_o_ai
vec_splat(vector int __a,unsigned char __b)6107 vec_splat(vector int __a, unsigned char __b)
6108 {
6109   __b *= 4;
6110   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6111   return vec_perm(__a, __a, (vector unsigned char)
6112     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6113 }
6114 
6115 static vector unsigned int __ATTRS_o_ai
vec_splat(vector unsigned int __a,unsigned char __b)6116 vec_splat(vector unsigned int __a, unsigned char __b)
6117 {
6118   __b *= 4;
6119   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6120   return vec_perm(__a, __a, (vector unsigned char)
6121     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6122 }
6123 
6124 static vector bool int __ATTRS_o_ai
vec_splat(vector bool int __a,unsigned char __b)6125 vec_splat(vector bool int __a, unsigned char __b)
6126 {
6127   __b *= 4;
6128   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6129   return vec_perm(__a, __a, (vector unsigned char)
6130     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6131 }
6132 
6133 static vector float __ATTRS_o_ai
vec_splat(vector float __a,unsigned char __b)6134 vec_splat(vector float __a, unsigned char __b)
6135 {
6136   __b *= 4;
6137   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6138   return vec_perm(__a, __a, (vector unsigned char)
6139     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6140 }
6141 
6142 /* vec_vspltb */
6143 
6144 #define __builtin_altivec_vspltb vec_vspltb
6145 
6146 static vector signed char __ATTRS_o_ai
vec_vspltb(vector signed char __a,unsigned char __b)6147 vec_vspltb(vector signed char __a, unsigned char __b)
6148 {
6149   return vec_perm(__a, __a, (vector unsigned char)(__b));
6150 }
6151 
6152 static vector unsigned char __ATTRS_o_ai
vec_vspltb(vector unsigned char __a,unsigned char __b)6153 vec_vspltb(vector unsigned char __a, unsigned char __b)
6154 {
6155   return vec_perm(__a, __a, (vector unsigned char)(__b));
6156 }
6157 
6158 static vector bool char __ATTRS_o_ai
vec_vspltb(vector bool char __a,unsigned char __b)6159 vec_vspltb(vector bool char __a, unsigned char __b)
6160 {
6161   return vec_perm(__a, __a, (vector unsigned char)(__b));
6162 }
6163 
6164 /* vec_vsplth */
6165 
6166 #define __builtin_altivec_vsplth vec_vsplth
6167 
6168 static vector short __ATTRS_o_ai
vec_vsplth(vector short __a,unsigned char __b)6169 vec_vsplth(vector short __a, unsigned char __b)
6170 {
6171   __b *= 2;
6172   unsigned char b1=__b+1;
6173   return vec_perm(__a, __a, (vector unsigned char)
6174     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6175 }
6176 
6177 static vector unsigned short __ATTRS_o_ai
vec_vsplth(vector unsigned short __a,unsigned char __b)6178 vec_vsplth(vector unsigned short __a, unsigned char __b)
6179 {
6180   __b *= 2;
6181   unsigned char b1=__b+1;
6182   return vec_perm(__a, __a, (vector unsigned char)
6183     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6184 }
6185 
6186 static vector bool short __ATTRS_o_ai
vec_vsplth(vector bool short __a,unsigned char __b)6187 vec_vsplth(vector bool short __a, unsigned char __b)
6188 {
6189   __b *= 2;
6190   unsigned char b1=__b+1;
6191   return vec_perm(__a, __a, (vector unsigned char)
6192     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6193 }
6194 
6195 static vector pixel __ATTRS_o_ai
vec_vsplth(vector pixel __a,unsigned char __b)6196 vec_vsplth(vector pixel __a, unsigned char __b)
6197 {
6198   __b *= 2;
6199   unsigned char b1=__b+1;
6200   return vec_perm(__a, __a, (vector unsigned char)
6201     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6202 }
6203 
6204 /* vec_vspltw */
6205 
6206 #define __builtin_altivec_vspltw vec_vspltw
6207 
6208 static vector int __ATTRS_o_ai
vec_vspltw(vector int __a,unsigned char __b)6209 vec_vspltw(vector int __a, unsigned char __b)
6210 {
6211   __b *= 4;
6212   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6213   return vec_perm(__a, __a, (vector unsigned char)
6214     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6215 }
6216 
6217 static vector unsigned int __ATTRS_o_ai
vec_vspltw(vector unsigned int __a,unsigned char __b)6218 vec_vspltw(vector unsigned int __a, unsigned char __b)
6219 {
6220   __b *= 4;
6221   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6222   return vec_perm(__a, __a, (vector unsigned char)
6223     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6224 }
6225 
6226 static vector bool int __ATTRS_o_ai
vec_vspltw(vector bool int __a,unsigned char __b)6227 vec_vspltw(vector bool int __a, unsigned char __b)
6228 {
6229   __b *= 4;
6230   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6231   return vec_perm(__a, __a, (vector unsigned char)
6232     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6233 }
6234 
6235 static vector float __ATTRS_o_ai
vec_vspltw(vector float __a,unsigned char __b)6236 vec_vspltw(vector float __a, unsigned char __b)
6237 {
6238   __b *= 4;
6239   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
6240   return vec_perm(__a, __a, (vector unsigned char)
6241     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6242 }
6243 
6244 /* vec_splat_s8 */
6245 
6246 #define __builtin_altivec_vspltisb vec_splat_s8
6247 
6248 // FIXME: parameter should be treated as 5-bit signed literal
6249 static vector signed char __ATTRS_o_ai
vec_splat_s8(signed char __a)6250 vec_splat_s8(signed char __a)
6251 {
6252   return (vector signed char)(__a);
6253 }
6254 
6255 /* vec_vspltisb */
6256 
6257 // FIXME: parameter should be treated as 5-bit signed literal
6258 static vector signed char __ATTRS_o_ai
vec_vspltisb(signed char __a)6259 vec_vspltisb(signed char __a)
6260 {
6261   return (vector signed char)(__a);
6262 }
6263 
6264 /* vec_splat_s16 */
6265 
6266 #define __builtin_altivec_vspltish vec_splat_s16
6267 
6268 // FIXME: parameter should be treated as 5-bit signed literal
6269 static vector short __ATTRS_o_ai
vec_splat_s16(signed char __a)6270 vec_splat_s16(signed char __a)
6271 {
6272   return (vector short)(__a);
6273 }
6274 
6275 /* vec_vspltish */
6276 
6277 // FIXME: parameter should be treated as 5-bit signed literal
6278 static vector short __ATTRS_o_ai
vec_vspltish(signed char __a)6279 vec_vspltish(signed char __a)
6280 {
6281   return (vector short)(__a);
6282 }
6283 
6284 /* vec_splat_s32 */
6285 
6286 #define __builtin_altivec_vspltisw vec_splat_s32
6287 
6288 // FIXME: parameter should be treated as 5-bit signed literal
6289 static vector int __ATTRS_o_ai
vec_splat_s32(signed char __a)6290 vec_splat_s32(signed char __a)
6291 {
6292   return (vector int)(__a);
6293 }
6294 
6295 /* vec_vspltisw */
6296 
6297 // FIXME: parameter should be treated as 5-bit signed literal
6298 static vector int __ATTRS_o_ai
vec_vspltisw(signed char __a)6299 vec_vspltisw(signed char __a)
6300 {
6301   return (vector int)(__a);
6302 }
6303 
6304 /* vec_splat_u8 */
6305 
6306 // FIXME: parameter should be treated as 5-bit signed literal
6307 static vector unsigned char __ATTRS_o_ai
vec_splat_u8(unsigned char __a)6308 vec_splat_u8(unsigned char __a)
6309 {
6310   return (vector unsigned char)(__a);
6311 }
6312 
6313 /* vec_splat_u16 */
6314 
6315 // FIXME: parameter should be treated as 5-bit signed literal
6316 static vector unsigned short __ATTRS_o_ai
vec_splat_u16(signed char __a)6317 vec_splat_u16(signed char __a)
6318 {
6319   return (vector unsigned short)(__a);
6320 }
6321 
6322 /* vec_splat_u32 */
6323 
6324 // FIXME: parameter should be treated as 5-bit signed literal
6325 static vector unsigned int __ATTRS_o_ai
vec_splat_u32(signed char __a)6326 vec_splat_u32(signed char __a)
6327 {
6328   return (vector unsigned int)(__a);
6329 }
6330 
6331 /* vec_sr */
6332 
6333 static vector signed char __ATTRS_o_ai
vec_sr(vector signed char __a,vector unsigned char __b)6334 vec_sr(vector signed char __a, vector unsigned char __b)
6335 {
6336   return __a >> (vector signed char)__b;
6337 }
6338 
6339 static vector unsigned char __ATTRS_o_ai
vec_sr(vector unsigned char __a,vector unsigned char __b)6340 vec_sr(vector unsigned char __a, vector unsigned char __b)
6341 {
6342   return __a >> __b;
6343 }
6344 
6345 static vector short __ATTRS_o_ai
vec_sr(vector short __a,vector unsigned short __b)6346 vec_sr(vector short __a, vector unsigned short __b)
6347 {
6348   return __a >> (vector short)__b;
6349 }
6350 
6351 static vector unsigned short __ATTRS_o_ai
vec_sr(vector unsigned short __a,vector unsigned short __b)6352 vec_sr(vector unsigned short __a, vector unsigned short __b)
6353 {
6354   return __a >> __b;
6355 }
6356 
6357 static vector int __ATTRS_o_ai
vec_sr(vector int __a,vector unsigned int __b)6358 vec_sr(vector int __a, vector unsigned int __b)
6359 {
6360   return __a >> (vector int)__b;
6361 }
6362 
6363 static vector unsigned int __ATTRS_o_ai
vec_sr(vector unsigned int __a,vector unsigned int __b)6364 vec_sr(vector unsigned int __a, vector unsigned int __b)
6365 {
6366   return __a >> __b;
6367 }
6368 
6369 /* vec_vsrb */
6370 
6371 #define __builtin_altivec_vsrb vec_vsrb
6372 
6373 static vector signed char __ATTRS_o_ai
vec_vsrb(vector signed char __a,vector unsigned char __b)6374 vec_vsrb(vector signed char __a, vector unsigned char __b)
6375 {
6376   return __a >> (vector signed char)__b;
6377 }
6378 
6379 static vector unsigned char __ATTRS_o_ai
vec_vsrb(vector unsigned char __a,vector unsigned char __b)6380 vec_vsrb(vector unsigned char __a, vector unsigned char __b)
6381 {
6382   return __a >> __b;
6383 }
6384 
6385 /* vec_vsrh */
6386 
6387 #define __builtin_altivec_vsrh vec_vsrh
6388 
6389 static vector short __ATTRS_o_ai
vec_vsrh(vector short __a,vector unsigned short __b)6390 vec_vsrh(vector short __a, vector unsigned short __b)
6391 {
6392   return __a >> (vector short)__b;
6393 }
6394 
6395 static vector unsigned short __ATTRS_o_ai
vec_vsrh(vector unsigned short __a,vector unsigned short __b)6396 vec_vsrh(vector unsigned short __a, vector unsigned short __b)
6397 {
6398   return __a >> __b;
6399 }
6400 
6401 /* vec_vsrw */
6402 
6403 #define __builtin_altivec_vsrw vec_vsrw
6404 
6405 static vector int __ATTRS_o_ai
vec_vsrw(vector int __a,vector unsigned int __b)6406 vec_vsrw(vector int __a, vector unsigned int __b)
6407 {
6408   return __a >> (vector int)__b;
6409 }
6410 
6411 static vector unsigned int __ATTRS_o_ai
vec_vsrw(vector unsigned int __a,vector unsigned int __b)6412 vec_vsrw(vector unsigned int __a, vector unsigned int __b)
6413 {
6414   return __a >> __b;
6415 }
6416 
6417 /* vec_sra */
6418 
6419 static vector signed char __ATTRS_o_ai
vec_sra(vector signed char __a,vector unsigned char __b)6420 vec_sra(vector signed char __a, vector unsigned char __b)
6421 {
6422   return (vector signed char)__builtin_altivec_vsrab((vector char)__a, __b);
6423 }
6424 
6425 static vector unsigned char __ATTRS_o_ai
vec_sra(vector unsigned char __a,vector unsigned char __b)6426 vec_sra(vector unsigned char __a, vector unsigned char __b)
6427 {
6428   return (vector unsigned char)__builtin_altivec_vsrab((vector char)__a, __b);
6429 }
6430 
6431 static vector short __ATTRS_o_ai
vec_sra(vector short __a,vector unsigned short __b)6432 vec_sra(vector short __a, vector unsigned short __b)
6433 {
6434   return __builtin_altivec_vsrah(__a, (vector unsigned short)__b);
6435 }
6436 
6437 static vector unsigned short __ATTRS_o_ai
vec_sra(vector unsigned short __a,vector unsigned short __b)6438 vec_sra(vector unsigned short __a, vector unsigned short __b)
6439 {
6440   return (vector unsigned short)__builtin_altivec_vsrah((vector short)__a, __b);
6441 }
6442 
6443 static vector int __ATTRS_o_ai
vec_sra(vector int __a,vector unsigned int __b)6444 vec_sra(vector int __a, vector unsigned int __b)
6445 {
6446   return __builtin_altivec_vsraw(__a, __b);
6447 }
6448 
6449 static vector unsigned int __ATTRS_o_ai
vec_sra(vector unsigned int __a,vector unsigned int __b)6450 vec_sra(vector unsigned int __a, vector unsigned int __b)
6451 {
6452   return (vector unsigned int)__builtin_altivec_vsraw((vector int)__a, __b);
6453 }
6454 
6455 /* vec_vsrab */
6456 
6457 static vector signed char __ATTRS_o_ai
vec_vsrab(vector signed char __a,vector unsigned char __b)6458 vec_vsrab(vector signed char __a, vector unsigned char __b)
6459 {
6460   return (vector signed char)__builtin_altivec_vsrab((vector char)__a, __b);
6461 }
6462 
6463 static vector unsigned char __ATTRS_o_ai
vec_vsrab(vector unsigned char __a,vector unsigned char __b)6464 vec_vsrab(vector unsigned char __a, vector unsigned char __b)
6465 {
6466   return (vector unsigned char)__builtin_altivec_vsrab((vector char)__a, __b);
6467 }
6468 
6469 /* vec_vsrah */
6470 
6471 static vector short __ATTRS_o_ai
vec_vsrah(vector short __a,vector unsigned short __b)6472 vec_vsrah(vector short __a, vector unsigned short __b)
6473 {
6474   return __builtin_altivec_vsrah(__a, (vector unsigned short)__b);
6475 }
6476 
6477 static vector unsigned short __ATTRS_o_ai
vec_vsrah(vector unsigned short __a,vector unsigned short __b)6478 vec_vsrah(vector unsigned short __a, vector unsigned short __b)
6479 {
6480   return (vector unsigned short)__builtin_altivec_vsrah((vector short)__a, __b);
6481 }
6482 
6483 /* vec_vsraw */
6484 
6485 static vector int __ATTRS_o_ai
vec_vsraw(vector int __a,vector unsigned int __b)6486 vec_vsraw(vector int __a, vector unsigned int __b)
6487 {
6488   return __builtin_altivec_vsraw(__a, __b);
6489 }
6490 
6491 static vector unsigned int __ATTRS_o_ai
vec_vsraw(vector unsigned int __a,vector unsigned int __b)6492 vec_vsraw(vector unsigned int __a, vector unsigned int __b)
6493 {
6494   return (vector unsigned int)__builtin_altivec_vsraw((vector int)__a, __b);
6495 }
6496 
6497 /* vec_srl */
6498 
6499 static vector signed char __ATTRS_o_ai
vec_srl(vector signed char __a,vector unsigned char __b)6500 vec_srl(vector signed char __a, vector unsigned char __b)
6501 {
6502   return (vector signed char)
6503            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6504 }
6505 
6506 static vector signed char __ATTRS_o_ai
vec_srl(vector signed char __a,vector unsigned short __b)6507 vec_srl(vector signed char __a, vector unsigned short __b)
6508 {
6509   return (vector signed char)
6510            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6511 }
6512 
6513 static vector signed char __ATTRS_o_ai
vec_srl(vector signed char __a,vector unsigned int __b)6514 vec_srl(vector signed char __a, vector unsigned int __b)
6515 {
6516   return (vector signed char)
6517            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6518 }
6519 
6520 static vector unsigned char __ATTRS_o_ai
vec_srl(vector unsigned char __a,vector unsigned char __b)6521 vec_srl(vector unsigned char __a, vector unsigned char __b)
6522 {
6523   return (vector unsigned char)
6524            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6525 }
6526 
6527 static vector unsigned char __ATTRS_o_ai
vec_srl(vector unsigned char __a,vector unsigned short __b)6528 vec_srl(vector unsigned char __a, vector unsigned short __b)
6529 {
6530   return (vector unsigned char)
6531            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6532 }
6533 
6534 static vector unsigned char __ATTRS_o_ai
vec_srl(vector unsigned char __a,vector unsigned int __b)6535 vec_srl(vector unsigned char __a, vector unsigned int __b)
6536 {
6537   return (vector unsigned char)
6538            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6539 }
6540 
6541 static vector bool char __ATTRS_o_ai
vec_srl(vector bool char __a,vector unsigned char __b)6542 vec_srl(vector bool char __a, vector unsigned char __b)
6543 {
6544   return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6545 }
6546 
6547 static vector bool char __ATTRS_o_ai
vec_srl(vector bool char __a,vector unsigned short __b)6548 vec_srl(vector bool char __a, vector unsigned short __b)
6549 {
6550   return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6551 }
6552 
6553 static vector bool char __ATTRS_o_ai
vec_srl(vector bool char __a,vector unsigned int __b)6554 vec_srl(vector bool char __a, vector unsigned int __b)
6555 {
6556   return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6557 }
6558 
6559 static vector short __ATTRS_o_ai
vec_srl(vector short __a,vector unsigned char __b)6560 vec_srl(vector short __a, vector unsigned char __b)
6561 {
6562   return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6563 }
6564 
6565 static vector short __ATTRS_o_ai
vec_srl(vector short __a,vector unsigned short __b)6566 vec_srl(vector short __a, vector unsigned short __b)
6567 {
6568   return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6569 }
6570 
6571 static vector short __ATTRS_o_ai
vec_srl(vector short __a,vector unsigned int __b)6572 vec_srl(vector short __a, vector unsigned int __b)
6573 {
6574   return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6575 }
6576 
6577 static vector unsigned short __ATTRS_o_ai
vec_srl(vector unsigned short __a,vector unsigned char __b)6578 vec_srl(vector unsigned short __a, vector unsigned char __b)
6579 {
6580   return (vector unsigned short)
6581            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6582 }
6583 
6584 static vector unsigned short __ATTRS_o_ai
vec_srl(vector unsigned short __a,vector unsigned short __b)6585 vec_srl(vector unsigned short __a, vector unsigned short __b)
6586 {
6587   return (vector unsigned short)
6588            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6589 }
6590 
6591 static vector unsigned short __ATTRS_o_ai
vec_srl(vector unsigned short __a,vector unsigned int __b)6592 vec_srl(vector unsigned short __a, vector unsigned int __b)
6593 {
6594   return (vector unsigned short)
6595            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6596 }
6597 
6598 static vector bool short __ATTRS_o_ai
vec_srl(vector bool short __a,vector unsigned char __b)6599 vec_srl(vector bool short __a, vector unsigned char __b)
6600 {
6601   return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6602 }
6603 
6604 static vector bool short __ATTRS_o_ai
vec_srl(vector bool short __a,vector unsigned short __b)6605 vec_srl(vector bool short __a, vector unsigned short __b)
6606 {
6607   return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6608 }
6609 
6610 static vector bool short __ATTRS_o_ai
vec_srl(vector bool short __a,vector unsigned int __b)6611 vec_srl(vector bool short __a, vector unsigned int __b)
6612 {
6613   return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6614 }
6615 
6616 static vector pixel __ATTRS_o_ai
vec_srl(vector pixel __a,vector unsigned char __b)6617 vec_srl(vector pixel __a, vector unsigned char __b)
6618 {
6619   return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6620 }
6621 
6622 static vector pixel __ATTRS_o_ai
vec_srl(vector pixel __a,vector unsigned short __b)6623 vec_srl(vector pixel __a, vector unsigned short __b)
6624 {
6625   return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6626 }
6627 
6628 static vector pixel __ATTRS_o_ai
vec_srl(vector pixel __a,vector unsigned int __b)6629 vec_srl(vector pixel __a, vector unsigned int __b)
6630 {
6631   return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6632 }
6633 
6634 static vector int __ATTRS_o_ai
vec_srl(vector int __a,vector unsigned char __b)6635 vec_srl(vector int __a, vector unsigned char __b)
6636 {
6637   return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6638 }
6639 
6640 static vector int __ATTRS_o_ai
vec_srl(vector int __a,vector unsigned short __b)6641 vec_srl(vector int __a, vector unsigned short __b)
6642 {
6643   return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6644 }
6645 
6646 static vector int __ATTRS_o_ai
vec_srl(vector int __a,vector unsigned int __b)6647 vec_srl(vector int __a, vector unsigned int __b)
6648 {
6649   return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6650 }
6651 
6652 static vector unsigned int __ATTRS_o_ai
vec_srl(vector unsigned int __a,vector unsigned char __b)6653 vec_srl(vector unsigned int __a, vector unsigned char __b)
6654 {
6655   return (vector unsigned int)
6656            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6657 }
6658 
6659 static vector unsigned int __ATTRS_o_ai
vec_srl(vector unsigned int __a,vector unsigned short __b)6660 vec_srl(vector unsigned int __a, vector unsigned short __b)
6661 {
6662   return (vector unsigned int)
6663            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6664 }
6665 
6666 static vector unsigned int __ATTRS_o_ai
vec_srl(vector unsigned int __a,vector unsigned int __b)6667 vec_srl(vector unsigned int __a, vector unsigned int __b)
6668 {
6669   return (vector unsigned int)
6670            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6671 }
6672 
6673 static vector bool int __ATTRS_o_ai
vec_srl(vector bool int __a,vector unsigned char __b)6674 vec_srl(vector bool int __a, vector unsigned char __b)
6675 {
6676   return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6677 }
6678 
6679 static vector bool int __ATTRS_o_ai
vec_srl(vector bool int __a,vector unsigned short __b)6680 vec_srl(vector bool int __a, vector unsigned short __b)
6681 {
6682   return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6683 }
6684 
6685 static vector bool int __ATTRS_o_ai
vec_srl(vector bool int __a,vector unsigned int __b)6686 vec_srl(vector bool int __a, vector unsigned int __b)
6687 {
6688   return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6689 }
6690 
6691 /* vec_vsr */
6692 
6693 static vector signed char __ATTRS_o_ai
vec_vsr(vector signed char __a,vector unsigned char __b)6694 vec_vsr(vector signed char __a, vector unsigned char __b)
6695 {
6696   return (vector signed char)
6697            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6698 }
6699 
6700 static vector signed char __ATTRS_o_ai
vec_vsr(vector signed char __a,vector unsigned short __b)6701 vec_vsr(vector signed char __a, vector unsigned short __b)
6702 {
6703   return (vector signed char)
6704            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6705 }
6706 
6707 static vector signed char __ATTRS_o_ai
vec_vsr(vector signed char __a,vector unsigned int __b)6708 vec_vsr(vector signed char __a, vector unsigned int __b)
6709 {
6710   return (vector signed char)
6711            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6712 }
6713 
6714 static vector unsigned char __ATTRS_o_ai
vec_vsr(vector unsigned char __a,vector unsigned char __b)6715 vec_vsr(vector unsigned char __a, vector unsigned char __b)
6716 {
6717   return (vector unsigned char)
6718            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6719 }
6720 
6721 static vector unsigned char __ATTRS_o_ai
vec_vsr(vector unsigned char __a,vector unsigned short __b)6722 vec_vsr(vector unsigned char __a, vector unsigned short __b)
6723 {
6724   return (vector unsigned char)
6725            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6726 }
6727 
6728 static vector unsigned char __ATTRS_o_ai
vec_vsr(vector unsigned char __a,vector unsigned int __b)6729 vec_vsr(vector unsigned char __a, vector unsigned int __b)
6730 {
6731   return (vector unsigned char)
6732            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6733 }
6734 
6735 static vector bool char __ATTRS_o_ai
vec_vsr(vector bool char __a,vector unsigned char __b)6736 vec_vsr(vector bool char __a, vector unsigned char __b)
6737 {
6738   return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6739 }
6740 
6741 static vector bool char __ATTRS_o_ai
vec_vsr(vector bool char __a,vector unsigned short __b)6742 vec_vsr(vector bool char __a, vector unsigned short __b)
6743 {
6744   return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6745 }
6746 
6747 static vector bool char __ATTRS_o_ai
vec_vsr(vector bool char __a,vector unsigned int __b)6748 vec_vsr(vector bool char __a, vector unsigned int __b)
6749 {
6750   return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6751 }
6752 
6753 static vector short __ATTRS_o_ai
vec_vsr(vector short __a,vector unsigned char __b)6754 vec_vsr(vector short __a, vector unsigned char __b)
6755 {
6756   return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6757 }
6758 
6759 static vector short __ATTRS_o_ai
vec_vsr(vector short __a,vector unsigned short __b)6760 vec_vsr(vector short __a, vector unsigned short __b)
6761 {
6762   return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6763 }
6764 
6765 static vector short __ATTRS_o_ai
vec_vsr(vector short __a,vector unsigned int __b)6766 vec_vsr(vector short __a, vector unsigned int __b)
6767 {
6768   return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6769 }
6770 
6771 static vector unsigned short __ATTRS_o_ai
vec_vsr(vector unsigned short __a,vector unsigned char __b)6772 vec_vsr(vector unsigned short __a, vector unsigned char __b)
6773 {
6774   return (vector unsigned short)
6775            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6776 }
6777 
6778 static vector unsigned short __ATTRS_o_ai
vec_vsr(vector unsigned short __a,vector unsigned short __b)6779 vec_vsr(vector unsigned short __a, vector unsigned short __b)
6780 {
6781   return (vector unsigned short)
6782            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6783 }
6784 
6785 static vector unsigned short __ATTRS_o_ai
vec_vsr(vector unsigned short __a,vector unsigned int __b)6786 vec_vsr(vector unsigned short __a, vector unsigned int __b)
6787 {
6788   return (vector unsigned short)
6789            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6790 }
6791 
6792 static vector bool short __ATTRS_o_ai
vec_vsr(vector bool short __a,vector unsigned char __b)6793 vec_vsr(vector bool short __a, vector unsigned char __b)
6794 {
6795   return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6796 }
6797 
6798 static vector bool short __ATTRS_o_ai
vec_vsr(vector bool short __a,vector unsigned short __b)6799 vec_vsr(vector bool short __a, vector unsigned short __b)
6800 {
6801   return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6802 }
6803 
6804 static vector bool short __ATTRS_o_ai
vec_vsr(vector bool short __a,vector unsigned int __b)6805 vec_vsr(vector bool short __a, vector unsigned int __b)
6806 {
6807   return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6808 }
6809 
6810 static vector pixel __ATTRS_o_ai
vec_vsr(vector pixel __a,vector unsigned char __b)6811 vec_vsr(vector pixel __a, vector unsigned char __b)
6812 {
6813   return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6814 }
6815 
6816 static vector pixel __ATTRS_o_ai
vec_vsr(vector pixel __a,vector unsigned short __b)6817 vec_vsr(vector pixel __a, vector unsigned short __b)
6818 {
6819   return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6820 }
6821 
6822 static vector pixel __ATTRS_o_ai
vec_vsr(vector pixel __a,vector unsigned int __b)6823 vec_vsr(vector pixel __a, vector unsigned int __b)
6824 {
6825   return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6826 }
6827 
6828 static vector int __ATTRS_o_ai
vec_vsr(vector int __a,vector unsigned char __b)6829 vec_vsr(vector int __a, vector unsigned char __b)
6830 {
6831   return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6832 }
6833 
6834 static vector int __ATTRS_o_ai
vec_vsr(vector int __a,vector unsigned short __b)6835 vec_vsr(vector int __a, vector unsigned short __b)
6836 {
6837   return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6838 }
6839 
6840 static vector int __ATTRS_o_ai
vec_vsr(vector int __a,vector unsigned int __b)6841 vec_vsr(vector int __a, vector unsigned int __b)
6842 {
6843   return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6844 }
6845 
6846 static vector unsigned int __ATTRS_o_ai
vec_vsr(vector unsigned int __a,vector unsigned char __b)6847 vec_vsr(vector unsigned int __a, vector unsigned char __b)
6848 {
6849   return (vector unsigned int)
6850            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6851 }
6852 
6853 static vector unsigned int __ATTRS_o_ai
vec_vsr(vector unsigned int __a,vector unsigned short __b)6854 vec_vsr(vector unsigned int __a, vector unsigned short __b)
6855 {
6856   return (vector unsigned int)
6857            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6858 }
6859 
6860 static vector unsigned int __ATTRS_o_ai
vec_vsr(vector unsigned int __a,vector unsigned int __b)6861 vec_vsr(vector unsigned int __a, vector unsigned int __b)
6862 {
6863   return (vector unsigned int)
6864            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
6865 }
6866 
6867 static vector bool int __ATTRS_o_ai
vec_vsr(vector bool int __a,vector unsigned char __b)6868 vec_vsr(vector bool int __a, vector unsigned char __b)
6869 {
6870   return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6871 }
6872 
6873 static vector bool int __ATTRS_o_ai
vec_vsr(vector bool int __a,vector unsigned short __b)6874 vec_vsr(vector bool int __a, vector unsigned short __b)
6875 {
6876   return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6877 }
6878 
6879 static vector bool int __ATTRS_o_ai
vec_vsr(vector bool int __a,vector unsigned int __b)6880 vec_vsr(vector bool int __a, vector unsigned int __b)
6881 {
6882   return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6883 }
6884 
6885 /* vec_sro */
6886 
6887 static vector signed char __ATTRS_o_ai
vec_sro(vector signed char __a,vector signed char __b)6888 vec_sro(vector signed char __a, vector signed char __b)
6889 {
6890   return (vector signed char)
6891            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6892 }
6893 
6894 static vector signed char __ATTRS_o_ai
vec_sro(vector signed char __a,vector unsigned char __b)6895 vec_sro(vector signed char __a, vector unsigned char __b)
6896 {
6897   return (vector signed char)
6898            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6899 }
6900 
6901 static vector unsigned char __ATTRS_o_ai
vec_sro(vector unsigned char __a,vector signed char __b)6902 vec_sro(vector unsigned char __a, vector signed char __b)
6903 {
6904   return (vector unsigned char)
6905            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6906 }
6907 
6908 static vector unsigned char __ATTRS_o_ai
vec_sro(vector unsigned char __a,vector unsigned char __b)6909 vec_sro(vector unsigned char __a, vector unsigned char __b)
6910 {
6911   return (vector unsigned char)
6912            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6913 }
6914 
6915 static vector short __ATTRS_o_ai
vec_sro(vector short __a,vector signed char __b)6916 vec_sro(vector short __a, vector signed char __b)
6917 {
6918   return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6919 }
6920 
6921 static vector short __ATTRS_o_ai
vec_sro(vector short __a,vector unsigned char __b)6922 vec_sro(vector short __a, vector unsigned char __b)
6923 {
6924   return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6925 }
6926 
6927 static vector unsigned short __ATTRS_o_ai
vec_sro(vector unsigned short __a,vector signed char __b)6928 vec_sro(vector unsigned short __a, vector signed char __b)
6929 {
6930   return (vector unsigned short)
6931            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6932 }
6933 
6934 static vector unsigned short __ATTRS_o_ai
vec_sro(vector unsigned short __a,vector unsigned char __b)6935 vec_sro(vector unsigned short __a, vector unsigned char __b)
6936 {
6937   return (vector unsigned short)
6938            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6939 }
6940 
6941 static vector pixel __ATTRS_o_ai
vec_sro(vector pixel __a,vector signed char __b)6942 vec_sro(vector pixel __a, vector signed char __b)
6943 {
6944   return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6945 }
6946 
6947 static vector pixel __ATTRS_o_ai
vec_sro(vector pixel __a,vector unsigned char __b)6948 vec_sro(vector pixel __a, vector unsigned char __b)
6949 {
6950   return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6951 }
6952 
6953 static vector int __ATTRS_o_ai
vec_sro(vector int __a,vector signed char __b)6954 vec_sro(vector int __a, vector signed char __b)
6955 {
6956   return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
6957 }
6958 
6959 static vector int __ATTRS_o_ai
vec_sro(vector int __a,vector unsigned char __b)6960 vec_sro(vector int __a, vector unsigned char __b)
6961 {
6962   return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
6963 }
6964 
6965 static vector unsigned int __ATTRS_o_ai
vec_sro(vector unsigned int __a,vector signed char __b)6966 vec_sro(vector unsigned int __a, vector signed char __b)
6967 {
6968   return (vector unsigned int)
6969            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6970 }
6971 
6972 static vector unsigned int __ATTRS_o_ai
vec_sro(vector unsigned int __a,vector unsigned char __b)6973 vec_sro(vector unsigned int __a, vector unsigned char __b)
6974 {
6975   return (vector unsigned int)
6976            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6977 }
6978 
6979 static vector float __ATTRS_o_ai
vec_sro(vector float __a,vector signed char __b)6980 vec_sro(vector float __a, vector signed char __b)
6981 {
6982   return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6983 }
6984 
6985 static vector float __ATTRS_o_ai
vec_sro(vector float __a,vector unsigned char __b)6986 vec_sro(vector float __a, vector unsigned char __b)
6987 {
6988   return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6989 }
6990 
6991 /* vec_vsro */
6992 
6993 static vector signed char __ATTRS_o_ai
vec_vsro(vector signed char __a,vector signed char __b)6994 vec_vsro(vector signed char __a, vector signed char __b)
6995 {
6996   return (vector signed char)
6997            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
6998 }
6999 
7000 static vector signed char __ATTRS_o_ai
vec_vsro(vector signed char __a,vector unsigned char __b)7001 vec_vsro(vector signed char __a, vector unsigned char __b)
7002 {
7003   return (vector signed char)
7004            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
7005 }
7006 
7007 static vector unsigned char __ATTRS_o_ai
vec_vsro(vector unsigned char __a,vector signed char __b)7008 vec_vsro(vector unsigned char __a, vector signed char __b)
7009 {
7010   return (vector unsigned char)
7011            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
7012 }
7013 
7014 static vector unsigned char __ATTRS_o_ai
vec_vsro(vector unsigned char __a,vector unsigned char __b)7015 vec_vsro(vector unsigned char __a, vector unsigned char __b)
7016 {
7017   return (vector unsigned char)
7018            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
7019 }
7020 
7021 static vector short __ATTRS_o_ai
vec_vsro(vector short __a,vector signed char __b)7022 vec_vsro(vector short __a, vector signed char __b)
7023 {
7024   return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
7025 }
7026 
7027 static vector short __ATTRS_o_ai
vec_vsro(vector short __a,vector unsigned char __b)7028 vec_vsro(vector short __a, vector unsigned char __b)
7029 {
7030   return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
7031 }
7032 
7033 static vector unsigned short __ATTRS_o_ai
vec_vsro(vector unsigned short __a,vector signed char __b)7034 vec_vsro(vector unsigned short __a, vector signed char __b)
7035 {
7036   return (vector unsigned short)
7037            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
7038 }
7039 
7040 static vector unsigned short __ATTRS_o_ai
vec_vsro(vector unsigned short __a,vector unsigned char __b)7041 vec_vsro(vector unsigned short __a, vector unsigned char __b)
7042 {
7043   return (vector unsigned short)
7044            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
7045 }
7046 
7047 static vector pixel __ATTRS_o_ai
vec_vsro(vector pixel __a,vector signed char __b)7048 vec_vsro(vector pixel __a, vector signed char __b)
7049 {
7050   return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
7051 }
7052 
7053 static vector pixel __ATTRS_o_ai
vec_vsro(vector pixel __a,vector unsigned char __b)7054 vec_vsro(vector pixel __a, vector unsigned char __b)
7055 {
7056   return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
7057 }
7058 
7059 static vector int __ATTRS_o_ai
vec_vsro(vector int __a,vector signed char __b)7060 vec_vsro(vector int __a, vector signed char __b)
7061 {
7062   return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
7063 }
7064 
7065 static vector int __ATTRS_o_ai
vec_vsro(vector int __a,vector unsigned char __b)7066 vec_vsro(vector int __a, vector unsigned char __b)
7067 {
7068   return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
7069 }
7070 
7071 static vector unsigned int __ATTRS_o_ai
vec_vsro(vector unsigned int __a,vector signed char __b)7072 vec_vsro(vector unsigned int __a, vector signed char __b)
7073 {
7074   return (vector unsigned int)
7075            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
7076 }
7077 
7078 static vector unsigned int __ATTRS_o_ai
vec_vsro(vector unsigned int __a,vector unsigned char __b)7079 vec_vsro(vector unsigned int __a, vector unsigned char __b)
7080 {
7081   return (vector unsigned int)
7082            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
7083 }
7084 
7085 static vector float __ATTRS_o_ai
vec_vsro(vector float __a,vector signed char __b)7086 vec_vsro(vector float __a, vector signed char __b)
7087 {
7088   return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
7089 }
7090 
7091 static vector float __ATTRS_o_ai
vec_vsro(vector float __a,vector unsigned char __b)7092 vec_vsro(vector float __a, vector unsigned char __b)
7093 {
7094   return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
7095 }
7096 
7097 /* vec_st */
7098 
7099 static void __ATTRS_o_ai
vec_st(vector signed char __a,int __b,vector signed char * __c)7100 vec_st(vector signed char __a, int __b, vector signed char *__c)
7101 {
7102   __builtin_altivec_stvx((vector int)__a, __b, __c);
7103 }
7104 
7105 static void __ATTRS_o_ai
vec_st(vector signed char __a,int __b,signed char * __c)7106 vec_st(vector signed char __a, int __b, signed char *__c)
7107 {
7108   __builtin_altivec_stvx((vector int)__a, __b, __c);
7109 }
7110 
7111 static void __ATTRS_o_ai
vec_st(vector unsigned char __a,int __b,vector unsigned char * __c)7112 vec_st(vector unsigned char __a, int __b, vector unsigned char *__c)
7113 {
7114   __builtin_altivec_stvx((vector int)__a, __b, __c);
7115 }
7116 
7117 static void __ATTRS_o_ai
vec_st(vector unsigned char __a,int __b,unsigned char * __c)7118 vec_st(vector unsigned char __a, int __b, unsigned char *__c)
7119 {
7120   __builtin_altivec_stvx((vector int)__a, __b, __c);
7121 }
7122 
7123 static void __ATTRS_o_ai
vec_st(vector bool char __a,int __b,signed char * __c)7124 vec_st(vector bool char __a, int __b, signed char *__c)
7125 {
7126   __builtin_altivec_stvx((vector int)__a, __b, __c);
7127 }
7128 
7129 static void __ATTRS_o_ai
vec_st(vector bool char __a,int __b,unsigned char * __c)7130 vec_st(vector bool char __a, int __b, unsigned char *__c)
7131 {
7132   __builtin_altivec_stvx((vector int)__a, __b, __c);
7133 }
7134 
7135 static void __ATTRS_o_ai
vec_st(vector bool char __a,int __b,vector bool char * __c)7136 vec_st(vector bool char __a, int __b, vector bool char *__c)
7137 {
7138   __builtin_altivec_stvx((vector int)__a, __b, __c);
7139 }
7140 
7141 static void __ATTRS_o_ai
vec_st(vector short __a,int __b,vector short * __c)7142 vec_st(vector short __a, int __b, vector short *__c)
7143 {
7144   __builtin_altivec_stvx((vector int)__a, __b, __c);
7145 }
7146 
7147 static void __ATTRS_o_ai
vec_st(vector short __a,int __b,short * __c)7148 vec_st(vector short __a, int __b, short *__c)
7149 {
7150   __builtin_altivec_stvx((vector int)__a, __b, __c);
7151 }
7152 
7153 static void __ATTRS_o_ai
vec_st(vector unsigned short __a,int __b,vector unsigned short * __c)7154 vec_st(vector unsigned short __a, int __b, vector unsigned short *__c)
7155 {
7156   __builtin_altivec_stvx((vector int)__a, __b, __c);
7157 }
7158 
7159 static void __ATTRS_o_ai
vec_st(vector unsigned short __a,int __b,unsigned short * __c)7160 vec_st(vector unsigned short __a, int __b, unsigned short *__c)
7161 {
7162   __builtin_altivec_stvx((vector int)__a, __b, __c);
7163 }
7164 
7165 static void __ATTRS_o_ai
vec_st(vector bool short __a,int __b,short * __c)7166 vec_st(vector bool short __a, int __b, short *__c)
7167 {
7168   __builtin_altivec_stvx((vector int)__a, __b, __c);
7169 }
7170 
7171 static void __ATTRS_o_ai
vec_st(vector bool short __a,int __b,unsigned short * __c)7172 vec_st(vector bool short __a, int __b, unsigned short *__c)
7173 {
7174   __builtin_altivec_stvx((vector int)__a, __b, __c);
7175 }
7176 
7177 static void __ATTRS_o_ai
vec_st(vector bool short __a,int __b,vector bool short * __c)7178 vec_st(vector bool short __a, int __b, vector bool short *__c)
7179 {
7180   __builtin_altivec_stvx((vector int)__a, __b, __c);
7181 }
7182 
7183 static void __ATTRS_o_ai
vec_st(vector pixel __a,int __b,short * __c)7184 vec_st(vector pixel __a, int __b, short *__c)
7185 {
7186   __builtin_altivec_stvx((vector int)__a, __b, __c);
7187 }
7188 
7189 static void __ATTRS_o_ai
vec_st(vector pixel __a,int __b,unsigned short * __c)7190 vec_st(vector pixel __a, int __b, unsigned short *__c)
7191 {
7192   __builtin_altivec_stvx((vector int)__a, __b, __c);
7193 }
7194 
7195 static void __ATTRS_o_ai
vec_st(vector pixel __a,int __b,vector pixel * __c)7196 vec_st(vector pixel __a, int __b, vector pixel *__c)
7197 {
7198   __builtin_altivec_stvx((vector int)__a, __b, __c);
7199 }
7200 
7201 static void __ATTRS_o_ai
vec_st(vector int __a,int __b,vector int * __c)7202 vec_st(vector int __a, int __b, vector int *__c)
7203 {
7204   __builtin_altivec_stvx(__a, __b, __c);
7205 }
7206 
7207 static void __ATTRS_o_ai
vec_st(vector int __a,int __b,int * __c)7208 vec_st(vector int __a, int __b, int *__c)
7209 {
7210   __builtin_altivec_stvx(__a, __b, __c);
7211 }
7212 
7213 static void __ATTRS_o_ai
vec_st(vector unsigned int __a,int __b,vector unsigned int * __c)7214 vec_st(vector unsigned int __a, int __b, vector unsigned int *__c)
7215 {
7216   __builtin_altivec_stvx((vector int)__a, __b, __c);
7217 }
7218 
7219 static void __ATTRS_o_ai
vec_st(vector unsigned int __a,int __b,unsigned int * __c)7220 vec_st(vector unsigned int __a, int __b, unsigned int *__c)
7221 {
7222   __builtin_altivec_stvx((vector int)__a, __b, __c);
7223 }
7224 
7225 static void __ATTRS_o_ai
vec_st(vector bool int __a,int __b,int * __c)7226 vec_st(vector bool int __a, int __b, int *__c)
7227 {
7228   __builtin_altivec_stvx((vector int)__a, __b, __c);
7229 }
7230 
7231 static void __ATTRS_o_ai
vec_st(vector bool int __a,int __b,unsigned int * __c)7232 vec_st(vector bool int __a, int __b, unsigned int *__c)
7233 {
7234   __builtin_altivec_stvx((vector int)__a, __b, __c);
7235 }
7236 
7237 static void __ATTRS_o_ai
vec_st(vector bool int __a,int __b,vector bool int * __c)7238 vec_st(vector bool int __a, int __b, vector bool int *__c)
7239 {
7240   __builtin_altivec_stvx((vector int)__a, __b, __c);
7241 }
7242 
7243 static void __ATTRS_o_ai
vec_st(vector float __a,int __b,vector float * __c)7244 vec_st(vector float __a, int __b, vector float *__c)
7245 {
7246   __builtin_altivec_stvx((vector int)__a, __b, __c);
7247 }
7248 
7249 static void __ATTRS_o_ai
vec_st(vector float __a,int __b,float * __c)7250 vec_st(vector float __a, int __b, float *__c)
7251 {
7252   __builtin_altivec_stvx((vector int)__a, __b, __c);
7253 }
7254 
7255 /* vec_stvx */
7256 
7257 static void __ATTRS_o_ai
vec_stvx(vector signed char __a,int __b,vector signed char * __c)7258 vec_stvx(vector signed char __a, int __b, vector signed char *__c)
7259 {
7260   __builtin_altivec_stvx((vector int)__a, __b, __c);
7261 }
7262 
7263 static void __ATTRS_o_ai
vec_stvx(vector signed char __a,int __b,signed char * __c)7264 vec_stvx(vector signed char __a, int __b, signed char *__c)
7265 {
7266   __builtin_altivec_stvx((vector int)__a, __b, __c);
7267 }
7268 
7269 static void __ATTRS_o_ai
vec_stvx(vector unsigned char __a,int __b,vector unsigned char * __c)7270 vec_stvx(vector unsigned char __a, int __b, vector unsigned char *__c)
7271 {
7272   __builtin_altivec_stvx((vector int)__a, __b, __c);
7273 }
7274 
7275 static void __ATTRS_o_ai
vec_stvx(vector unsigned char __a,int __b,unsigned char * __c)7276 vec_stvx(vector unsigned char __a, int __b, unsigned char *__c)
7277 {
7278   __builtin_altivec_stvx((vector int)__a, __b, __c);
7279 }
7280 
7281 static void __ATTRS_o_ai
vec_stvx(vector bool char __a,int __b,signed char * __c)7282 vec_stvx(vector bool char __a, int __b, signed char *__c)
7283 {
7284   __builtin_altivec_stvx((vector int)__a, __b, __c);
7285 }
7286 
7287 static void __ATTRS_o_ai
vec_stvx(vector bool char __a,int __b,unsigned char * __c)7288 vec_stvx(vector bool char __a, int __b, unsigned char *__c)
7289 {
7290   __builtin_altivec_stvx((vector int)__a, __b, __c);
7291 }
7292 
7293 static void __ATTRS_o_ai
vec_stvx(vector bool char __a,int __b,vector bool char * __c)7294 vec_stvx(vector bool char __a, int __b, vector bool char *__c)
7295 {
7296   __builtin_altivec_stvx((vector int)__a, __b, __c);
7297 }
7298 
7299 static void __ATTRS_o_ai
vec_stvx(vector short __a,int __b,vector short * __c)7300 vec_stvx(vector short __a, int __b, vector short *__c)
7301 {
7302   __builtin_altivec_stvx((vector int)__a, __b, __c);
7303 }
7304 
7305 static void __ATTRS_o_ai
vec_stvx(vector short __a,int __b,short * __c)7306 vec_stvx(vector short __a, int __b, short *__c)
7307 {
7308   __builtin_altivec_stvx((vector int)__a, __b, __c);
7309 }
7310 
7311 static void __ATTRS_o_ai
vec_stvx(vector unsigned short __a,int __b,vector unsigned short * __c)7312 vec_stvx(vector unsigned short __a, int __b, vector unsigned short *__c)
7313 {
7314   __builtin_altivec_stvx((vector int)__a, __b, __c);
7315 }
7316 
7317 static void __ATTRS_o_ai
vec_stvx(vector unsigned short __a,int __b,unsigned short * __c)7318 vec_stvx(vector unsigned short __a, int __b, unsigned short *__c)
7319 {
7320   __builtin_altivec_stvx((vector int)__a, __b, __c);
7321 }
7322 
7323 static void __ATTRS_o_ai
vec_stvx(vector bool short __a,int __b,short * __c)7324 vec_stvx(vector bool short __a, int __b, short *__c)
7325 {
7326   __builtin_altivec_stvx((vector int)__a, __b, __c);
7327 }
7328 
7329 static void __ATTRS_o_ai
vec_stvx(vector bool short __a,int __b,unsigned short * __c)7330 vec_stvx(vector bool short __a, int __b, unsigned short *__c)
7331 {
7332   __builtin_altivec_stvx((vector int)__a, __b, __c);
7333 }
7334 
7335 static void __ATTRS_o_ai
vec_stvx(vector bool short __a,int __b,vector bool short * __c)7336 vec_stvx(vector bool short __a, int __b, vector bool short *__c)
7337 {
7338   __builtin_altivec_stvx((vector int)__a, __b, __c);
7339 }
7340 
7341 static void __ATTRS_o_ai
vec_stvx(vector pixel __a,int __b,short * __c)7342 vec_stvx(vector pixel __a, int __b, short *__c)
7343 {
7344   __builtin_altivec_stvx((vector int)__a, __b, __c);
7345 }
7346 
7347 static void __ATTRS_o_ai
vec_stvx(vector pixel __a,int __b,unsigned short * __c)7348 vec_stvx(vector pixel __a, int __b, unsigned short *__c)
7349 {
7350   __builtin_altivec_stvx((vector int)__a, __b, __c);
7351 }
7352 
7353 static void __ATTRS_o_ai
vec_stvx(vector pixel __a,int __b,vector pixel * __c)7354 vec_stvx(vector pixel __a, int __b, vector pixel *__c)
7355 {
7356   __builtin_altivec_stvx((vector int)__a, __b, __c);
7357 }
7358 
7359 static void __ATTRS_o_ai
vec_stvx(vector int __a,int __b,vector int * __c)7360 vec_stvx(vector int __a, int __b, vector int *__c)
7361 {
7362   __builtin_altivec_stvx(__a, __b, __c);
7363 }
7364 
7365 static void __ATTRS_o_ai
vec_stvx(vector int __a,int __b,int * __c)7366 vec_stvx(vector int __a, int __b, int *__c)
7367 {
7368   __builtin_altivec_stvx(__a, __b, __c);
7369 }
7370 
7371 static void __ATTRS_o_ai
vec_stvx(vector unsigned int __a,int __b,vector unsigned int * __c)7372 vec_stvx(vector unsigned int __a, int __b, vector unsigned int *__c)
7373 {
7374   __builtin_altivec_stvx((vector int)__a, __b, __c);
7375 }
7376 
7377 static void __ATTRS_o_ai
vec_stvx(vector unsigned int __a,int __b,unsigned int * __c)7378 vec_stvx(vector unsigned int __a, int __b, unsigned int *__c)
7379 {
7380   __builtin_altivec_stvx((vector int)__a, __b, __c);
7381 }
7382 
7383 static void __ATTRS_o_ai
vec_stvx(vector bool int __a,int __b,int * __c)7384 vec_stvx(vector bool int __a, int __b, int *__c)
7385 {
7386   __builtin_altivec_stvx((vector int)__a, __b, __c);
7387 }
7388 
7389 static void __ATTRS_o_ai
vec_stvx(vector bool int __a,int __b,unsigned int * __c)7390 vec_stvx(vector bool int __a, int __b, unsigned int *__c)
7391 {
7392   __builtin_altivec_stvx((vector int)__a, __b, __c);
7393 }
7394 
7395 static void __ATTRS_o_ai
vec_stvx(vector bool int __a,int __b,vector bool int * __c)7396 vec_stvx(vector bool int __a, int __b, vector bool int *__c)
7397 {
7398   __builtin_altivec_stvx((vector int)__a, __b, __c);
7399 }
7400 
7401 static void __ATTRS_o_ai
vec_stvx(vector float __a,int __b,vector float * __c)7402 vec_stvx(vector float __a, int __b, vector float *__c)
7403 {
7404   __builtin_altivec_stvx((vector int)__a, __b, __c);
7405 }
7406 
7407 static void __ATTRS_o_ai
vec_stvx(vector float __a,int __b,float * __c)7408 vec_stvx(vector float __a, int __b, float *__c)
7409 {
7410   __builtin_altivec_stvx((vector int)__a, __b, __c);
7411 }
7412 
7413 /* vec_ste */
7414 
7415 static void __ATTRS_o_ai
vec_ste(vector signed char __a,int __b,signed char * __c)7416 vec_ste(vector signed char __a, int __b, signed char *__c)
7417 {
7418   __builtin_altivec_stvebx((vector char)__a, __b, __c);
7419 }
7420 
7421 static void __ATTRS_o_ai
vec_ste(vector unsigned char __a,int __b,unsigned char * __c)7422 vec_ste(vector unsigned char __a, int __b, unsigned char *__c)
7423 {
7424   __builtin_altivec_stvebx((vector char)__a, __b, __c);
7425 }
7426 
7427 static void __ATTRS_o_ai
vec_ste(vector bool char __a,int __b,signed char * __c)7428 vec_ste(vector bool char __a, int __b, signed char *__c)
7429 {
7430   __builtin_altivec_stvebx((vector char)__a, __b, __c);
7431 }
7432 
7433 static void __ATTRS_o_ai
vec_ste(vector bool char __a,int __b,unsigned char * __c)7434 vec_ste(vector bool char __a, int __b, unsigned char *__c)
7435 {
7436   __builtin_altivec_stvebx((vector char)__a, __b, __c);
7437 }
7438 
7439 static void __ATTRS_o_ai
vec_ste(vector short __a,int __b,short * __c)7440 vec_ste(vector short __a, int __b, short *__c)
7441 {
7442   __builtin_altivec_stvehx(__a, __b, __c);
7443 }
7444 
7445 static void __ATTRS_o_ai
vec_ste(vector unsigned short __a,int __b,unsigned short * __c)7446 vec_ste(vector unsigned short __a, int __b, unsigned short *__c)
7447 {
7448   __builtin_altivec_stvehx((vector short)__a, __b, __c);
7449 }
7450 
7451 static void __ATTRS_o_ai
vec_ste(vector bool short __a,int __b,short * __c)7452 vec_ste(vector bool short __a, int __b, short *__c)
7453 {
7454   __builtin_altivec_stvehx((vector short)__a, __b, __c);
7455 }
7456 
7457 static void __ATTRS_o_ai
vec_ste(vector bool short __a,int __b,unsigned short * __c)7458 vec_ste(vector bool short __a, int __b, unsigned short *__c)
7459 {
7460   __builtin_altivec_stvehx((vector short)__a, __b, __c);
7461 }
7462 
7463 static void __ATTRS_o_ai
vec_ste(vector pixel __a,int __b,short * __c)7464 vec_ste(vector pixel __a, int __b, short *__c)
7465 {
7466   __builtin_altivec_stvehx((vector short)__a, __b, __c);
7467 }
7468 
7469 static void __ATTRS_o_ai
vec_ste(vector pixel __a,int __b,unsigned short * __c)7470 vec_ste(vector pixel __a, int __b, unsigned short *__c)
7471 {
7472   __builtin_altivec_stvehx((vector short)__a, __b, __c);
7473 }
7474 
7475 static void __ATTRS_o_ai
vec_ste(vector int __a,int __b,int * __c)7476 vec_ste(vector int __a, int __b, int *__c)
7477 {
7478   __builtin_altivec_stvewx(__a, __b, __c);
7479 }
7480 
7481 static void __ATTRS_o_ai
vec_ste(vector unsigned int __a,int __b,unsigned int * __c)7482 vec_ste(vector unsigned int __a, int __b, unsigned int *__c)
7483 {
7484   __builtin_altivec_stvewx((vector int)__a, __b, __c);
7485 }
7486 
7487 static void __ATTRS_o_ai
vec_ste(vector bool int __a,int __b,int * __c)7488 vec_ste(vector bool int __a, int __b, int *__c)
7489 {
7490   __builtin_altivec_stvewx((vector int)__a, __b, __c);
7491 }
7492 
7493 static void __ATTRS_o_ai
vec_ste(vector bool int __a,int __b,unsigned int * __c)7494 vec_ste(vector bool int __a, int __b, unsigned int *__c)
7495 {
7496   __builtin_altivec_stvewx((vector int)__a, __b, __c);
7497 }
7498 
7499 static void __ATTRS_o_ai
vec_ste(vector float __a,int __b,float * __c)7500 vec_ste(vector float __a, int __b, float *__c)
7501 {
7502   __builtin_altivec_stvewx((vector int)__a, __b, __c);
7503 }
7504 
7505 /* vec_stvebx */
7506 
7507 static void __ATTRS_o_ai
vec_stvebx(vector signed char __a,int __b,signed char * __c)7508 vec_stvebx(vector signed char __a, int __b, signed char *__c)
7509 {
7510   __builtin_altivec_stvebx((vector char)__a, __b, __c);
7511 }
7512 
7513 static void __ATTRS_o_ai
vec_stvebx(vector unsigned char __a,int __b,unsigned char * __c)7514 vec_stvebx(vector unsigned char __a, int __b, unsigned char *__c)
7515 {
7516   __builtin_altivec_stvebx((vector char)__a, __b, __c);
7517 }
7518 
7519 static void __ATTRS_o_ai
vec_stvebx(vector bool char __a,int __b,signed char * __c)7520 vec_stvebx(vector bool char __a, int __b, signed char *__c)
7521 {
7522   __builtin_altivec_stvebx((vector char)__a, __b, __c);
7523 }
7524 
7525 static void __ATTRS_o_ai
vec_stvebx(vector bool char __a,int __b,unsigned char * __c)7526 vec_stvebx(vector bool char __a, int __b, unsigned char *__c)
7527 {
7528   __builtin_altivec_stvebx((vector char)__a, __b, __c);
7529 }
7530 
7531 /* vec_stvehx */
7532 
7533 static void __ATTRS_o_ai
vec_stvehx(vector short __a,int __b,short * __c)7534 vec_stvehx(vector short __a, int __b, short *__c)
7535 {
7536   __builtin_altivec_stvehx(__a, __b, __c);
7537 }
7538 
7539 static void __ATTRS_o_ai
vec_stvehx(vector unsigned short __a,int __b,unsigned short * __c)7540 vec_stvehx(vector unsigned short __a, int __b, unsigned short *__c)
7541 {
7542   __builtin_altivec_stvehx((vector short)__a, __b, __c);
7543 }
7544 
7545 static void __ATTRS_o_ai
vec_stvehx(vector bool short __a,int __b,short * __c)7546 vec_stvehx(vector bool short __a, int __b, short *__c)
7547 {
7548   __builtin_altivec_stvehx((vector short)__a, __b, __c);
7549 }
7550 
7551 static void __ATTRS_o_ai
vec_stvehx(vector bool short __a,int __b,unsigned short * __c)7552 vec_stvehx(vector bool short __a, int __b, unsigned short *__c)
7553 {
7554   __builtin_altivec_stvehx((vector short)__a, __b, __c);
7555 }
7556 
7557 static void __ATTRS_o_ai
vec_stvehx(vector pixel __a,int __b,short * __c)7558 vec_stvehx(vector pixel __a, int __b, short *__c)
7559 {
7560   __builtin_altivec_stvehx((vector short)__a, __b, __c);
7561 }
7562 
7563 static void __ATTRS_o_ai
vec_stvehx(vector pixel __a,int __b,unsigned short * __c)7564 vec_stvehx(vector pixel __a, int __b, unsigned short *__c)
7565 {
7566   __builtin_altivec_stvehx((vector short)__a, __b, __c);
7567 }
7568 
7569 /* vec_stvewx */
7570 
7571 static void __ATTRS_o_ai
vec_stvewx(vector int __a,int __b,int * __c)7572 vec_stvewx(vector int __a, int __b, int *__c)
7573 {
7574   __builtin_altivec_stvewx(__a, __b, __c);
7575 }
7576 
7577 static void __ATTRS_o_ai
vec_stvewx(vector unsigned int __a,int __b,unsigned int * __c)7578 vec_stvewx(vector unsigned int __a, int __b, unsigned int *__c)
7579 {
7580   __builtin_altivec_stvewx((vector int)__a, __b, __c);
7581 }
7582 
7583 static void __ATTRS_o_ai
vec_stvewx(vector bool int __a,int __b,int * __c)7584 vec_stvewx(vector bool int __a, int __b, int *__c)
7585 {
7586   __builtin_altivec_stvewx((vector int)__a, __b, __c);
7587 }
7588 
7589 static void __ATTRS_o_ai
vec_stvewx(vector bool int __a,int __b,unsigned int * __c)7590 vec_stvewx(vector bool int __a, int __b, unsigned int *__c)
7591 {
7592   __builtin_altivec_stvewx((vector int)__a, __b, __c);
7593 }
7594 
7595 static void __ATTRS_o_ai
vec_stvewx(vector float __a,int __b,float * __c)7596 vec_stvewx(vector float __a, int __b, float *__c)
7597 {
7598   __builtin_altivec_stvewx((vector int)__a, __b, __c);
7599 }
7600 
7601 /* vec_stl */
7602 
7603 static void __ATTRS_o_ai
vec_stl(vector signed char __a,int __b,vector signed char * __c)7604 vec_stl(vector signed char __a, int __b, vector signed char *__c)
7605 {
7606   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7607 }
7608 
7609 static void __ATTRS_o_ai
vec_stl(vector signed char __a,int __b,signed char * __c)7610 vec_stl(vector signed char __a, int __b, signed char *__c)
7611 {
7612   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7613 }
7614 
7615 static void __ATTRS_o_ai
vec_stl(vector unsigned char __a,int __b,vector unsigned char * __c)7616 vec_stl(vector unsigned char __a, int __b, vector unsigned char *__c)
7617 {
7618   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7619 }
7620 
7621 static void __ATTRS_o_ai
vec_stl(vector unsigned char __a,int __b,unsigned char * __c)7622 vec_stl(vector unsigned char __a, int __b, unsigned char *__c)
7623 {
7624   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7625 }
7626 
7627 static void __ATTRS_o_ai
vec_stl(vector bool char __a,int __b,signed char * __c)7628 vec_stl(vector bool char __a, int __b, signed char *__c)
7629 {
7630   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7631 }
7632 
7633 static void __ATTRS_o_ai
vec_stl(vector bool char __a,int __b,unsigned char * __c)7634 vec_stl(vector bool char __a, int __b, unsigned char *__c)
7635 {
7636   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7637 }
7638 
7639 static void __ATTRS_o_ai
vec_stl(vector bool char __a,int __b,vector bool char * __c)7640 vec_stl(vector bool char __a, int __b, vector bool char *__c)
7641 {
7642   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7643 }
7644 
7645 static void __ATTRS_o_ai
vec_stl(vector short __a,int __b,vector short * __c)7646 vec_stl(vector short __a, int __b, vector short *__c)
7647 {
7648   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7649 }
7650 
7651 static void __ATTRS_o_ai
vec_stl(vector short __a,int __b,short * __c)7652 vec_stl(vector short __a, int __b, short *__c)
7653 {
7654   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7655 }
7656 
7657 static void __ATTRS_o_ai
vec_stl(vector unsigned short __a,int __b,vector unsigned short * __c)7658 vec_stl(vector unsigned short __a, int __b, vector unsigned short *__c)
7659 {
7660   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7661 }
7662 
7663 static void __ATTRS_o_ai
vec_stl(vector unsigned short __a,int __b,unsigned short * __c)7664 vec_stl(vector unsigned short __a, int __b, unsigned short *__c)
7665 {
7666   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7667 }
7668 
7669 static void __ATTRS_o_ai
vec_stl(vector bool short __a,int __b,short * __c)7670 vec_stl(vector bool short __a, int __b, short *__c)
7671 {
7672   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7673 }
7674 
7675 static void __ATTRS_o_ai
vec_stl(vector bool short __a,int __b,unsigned short * __c)7676 vec_stl(vector bool short __a, int __b, unsigned short *__c)
7677 {
7678   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7679 }
7680 
7681 static void __ATTRS_o_ai
vec_stl(vector bool short __a,int __b,vector bool short * __c)7682 vec_stl(vector bool short __a, int __b, vector bool short *__c)
7683 {
7684   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7685 }
7686 
7687 static void __ATTRS_o_ai
vec_stl(vector pixel __a,int __b,short * __c)7688 vec_stl(vector pixel __a, int __b, short *__c)
7689 {
7690   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7691 }
7692 
7693 static void __ATTRS_o_ai
vec_stl(vector pixel __a,int __b,unsigned short * __c)7694 vec_stl(vector pixel __a, int __b, unsigned short *__c)
7695 {
7696   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7697 }
7698 
7699 static void __ATTRS_o_ai
vec_stl(vector pixel __a,int __b,vector pixel * __c)7700 vec_stl(vector pixel __a, int __b, vector pixel *__c)
7701 {
7702   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7703 }
7704 
7705 static void __ATTRS_o_ai
vec_stl(vector int __a,int __b,vector int * __c)7706 vec_stl(vector int __a, int __b, vector int *__c)
7707 {
7708   __builtin_altivec_stvxl(__a, __b, __c);
7709 }
7710 
7711 static void __ATTRS_o_ai
vec_stl(vector int __a,int __b,int * __c)7712 vec_stl(vector int __a, int __b, int *__c)
7713 {
7714   __builtin_altivec_stvxl(__a, __b, __c);
7715 }
7716 
7717 static void __ATTRS_o_ai
vec_stl(vector unsigned int __a,int __b,vector unsigned int * __c)7718 vec_stl(vector unsigned int __a, int __b, vector unsigned int *__c)
7719 {
7720   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7721 }
7722 
7723 static void __ATTRS_o_ai
vec_stl(vector unsigned int __a,int __b,unsigned int * __c)7724 vec_stl(vector unsigned int __a, int __b, unsigned int *__c)
7725 {
7726   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7727 }
7728 
7729 static void __ATTRS_o_ai
vec_stl(vector bool int __a,int __b,int * __c)7730 vec_stl(vector bool int __a, int __b, int *__c)
7731 {
7732   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7733 }
7734 
7735 static void __ATTRS_o_ai
vec_stl(vector bool int __a,int __b,unsigned int * __c)7736 vec_stl(vector bool int __a, int __b, unsigned int *__c)
7737 {
7738   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7739 }
7740 
7741 static void __ATTRS_o_ai
vec_stl(vector bool int __a,int __b,vector bool int * __c)7742 vec_stl(vector bool int __a, int __b, vector bool int *__c)
7743 {
7744   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7745 }
7746 
7747 static void __ATTRS_o_ai
vec_stl(vector float __a,int __b,vector float * __c)7748 vec_stl(vector float __a, int __b, vector float *__c)
7749 {
7750   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7751 }
7752 
7753 static void __ATTRS_o_ai
vec_stl(vector float __a,int __b,float * __c)7754 vec_stl(vector float __a, int __b, float *__c)
7755 {
7756   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7757 }
7758 
7759 /* vec_stvxl */
7760 
7761 static void __ATTRS_o_ai
vec_stvxl(vector signed char __a,int __b,vector signed char * __c)7762 vec_stvxl(vector signed char __a, int __b, vector signed char *__c)
7763 {
7764   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7765 }
7766 
7767 static void __ATTRS_o_ai
vec_stvxl(vector signed char __a,int __b,signed char * __c)7768 vec_stvxl(vector signed char __a, int __b, signed char *__c)
7769 {
7770   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7771 }
7772 
7773 static void __ATTRS_o_ai
vec_stvxl(vector unsigned char __a,int __b,vector unsigned char * __c)7774 vec_stvxl(vector unsigned char __a, int __b, vector unsigned char *__c)
7775 {
7776   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7777 }
7778 
7779 static void __ATTRS_o_ai
vec_stvxl(vector unsigned char __a,int __b,unsigned char * __c)7780 vec_stvxl(vector unsigned char __a, int __b, unsigned char *__c)
7781 {
7782   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7783 }
7784 
7785 static void __ATTRS_o_ai
vec_stvxl(vector bool char __a,int __b,signed char * __c)7786 vec_stvxl(vector bool char __a, int __b, signed char *__c)
7787 {
7788   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7789 }
7790 
7791 static void __ATTRS_o_ai
vec_stvxl(vector bool char __a,int __b,unsigned char * __c)7792 vec_stvxl(vector bool char __a, int __b, unsigned char *__c)
7793 {
7794   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7795 }
7796 
7797 static void __ATTRS_o_ai
vec_stvxl(vector bool char __a,int __b,vector bool char * __c)7798 vec_stvxl(vector bool char __a, int __b, vector bool char *__c)
7799 {
7800   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7801 }
7802 
7803 static void __ATTRS_o_ai
vec_stvxl(vector short __a,int __b,vector short * __c)7804 vec_stvxl(vector short __a, int __b, vector short *__c)
7805 {
7806   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7807 }
7808 
7809 static void __ATTRS_o_ai
vec_stvxl(vector short __a,int __b,short * __c)7810 vec_stvxl(vector short __a, int __b, short *__c)
7811 {
7812   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7813 }
7814 
7815 static void __ATTRS_o_ai
vec_stvxl(vector unsigned short __a,int __b,vector unsigned short * __c)7816 vec_stvxl(vector unsigned short __a, int __b, vector unsigned short *__c)
7817 {
7818   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7819 }
7820 
7821 static void __ATTRS_o_ai
vec_stvxl(vector unsigned short __a,int __b,unsigned short * __c)7822 vec_stvxl(vector unsigned short __a, int __b, unsigned short *__c)
7823 {
7824   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7825 }
7826 
7827 static void __ATTRS_o_ai
vec_stvxl(vector bool short __a,int __b,short * __c)7828 vec_stvxl(vector bool short __a, int __b, short *__c)
7829 {
7830   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7831 }
7832 
7833 static void __ATTRS_o_ai
vec_stvxl(vector bool short __a,int __b,unsigned short * __c)7834 vec_stvxl(vector bool short __a, int __b, unsigned short *__c)
7835 {
7836   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7837 }
7838 
7839 static void __ATTRS_o_ai
vec_stvxl(vector bool short __a,int __b,vector bool short * __c)7840 vec_stvxl(vector bool short __a, int __b, vector bool short *__c)
7841 {
7842   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7843 }
7844 
7845 static void __ATTRS_o_ai
vec_stvxl(vector pixel __a,int __b,short * __c)7846 vec_stvxl(vector pixel __a, int __b, short *__c)
7847 {
7848   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7849 }
7850 
7851 static void __ATTRS_o_ai
vec_stvxl(vector pixel __a,int __b,unsigned short * __c)7852 vec_stvxl(vector pixel __a, int __b, unsigned short *__c)
7853 {
7854   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7855 }
7856 
7857 static void __ATTRS_o_ai
vec_stvxl(vector pixel __a,int __b,vector pixel * __c)7858 vec_stvxl(vector pixel __a, int __b, vector pixel *__c)
7859 {
7860   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7861 }
7862 
7863 static void __ATTRS_o_ai
vec_stvxl(vector int __a,int __b,vector int * __c)7864 vec_stvxl(vector int __a, int __b, vector int *__c)
7865 {
7866   __builtin_altivec_stvxl(__a, __b, __c);
7867 }
7868 
7869 static void __ATTRS_o_ai
vec_stvxl(vector int __a,int __b,int * __c)7870 vec_stvxl(vector int __a, int __b, int *__c)
7871 {
7872   __builtin_altivec_stvxl(__a, __b, __c);
7873 }
7874 
7875 static void __ATTRS_o_ai
vec_stvxl(vector unsigned int __a,int __b,vector unsigned int * __c)7876 vec_stvxl(vector unsigned int __a, int __b, vector unsigned int *__c)
7877 {
7878   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7879 }
7880 
7881 static void __ATTRS_o_ai
vec_stvxl(vector unsigned int __a,int __b,unsigned int * __c)7882 vec_stvxl(vector unsigned int __a, int __b, unsigned int *__c)
7883 {
7884   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7885 }
7886 
7887 static void __ATTRS_o_ai
vec_stvxl(vector bool int __a,int __b,int * __c)7888 vec_stvxl(vector bool int __a, int __b, int *__c)
7889 {
7890   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7891 }
7892 
7893 static void __ATTRS_o_ai
vec_stvxl(vector bool int __a,int __b,unsigned int * __c)7894 vec_stvxl(vector bool int __a, int __b, unsigned int *__c)
7895 {
7896   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7897 }
7898 
7899 static void __ATTRS_o_ai
vec_stvxl(vector bool int __a,int __b,vector bool int * __c)7900 vec_stvxl(vector bool int __a, int __b, vector bool int *__c)
7901 {
7902   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7903 }
7904 
7905 static void __ATTRS_o_ai
vec_stvxl(vector float __a,int __b,vector float * __c)7906 vec_stvxl(vector float __a, int __b, vector float *__c)
7907 {
7908   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7909 }
7910 
7911 static void __ATTRS_o_ai
vec_stvxl(vector float __a,int __b,float * __c)7912 vec_stvxl(vector float __a, int __b, float *__c)
7913 {
7914   __builtin_altivec_stvxl((vector int)__a, __b, __c);
7915 }
7916 
7917 /* vec_sub */
7918 
7919 static vector signed char __ATTRS_o_ai
vec_sub(vector signed char __a,vector signed char __b)7920 vec_sub(vector signed char __a, vector signed char __b)
7921 {
7922   return __a - __b;
7923 }
7924 
7925 static vector signed char __ATTRS_o_ai
vec_sub(vector bool char __a,vector signed char __b)7926 vec_sub(vector bool char __a, vector signed char __b)
7927 {
7928   return (vector signed char)__a - __b;
7929 }
7930 
7931 static vector signed char __ATTRS_o_ai
vec_sub(vector signed char __a,vector bool char __b)7932 vec_sub(vector signed char __a, vector bool char __b)
7933 {
7934   return __a - (vector signed char)__b;
7935 }
7936 
7937 static vector unsigned char __ATTRS_o_ai
vec_sub(vector unsigned char __a,vector unsigned char __b)7938 vec_sub(vector unsigned char __a, vector unsigned char __b)
7939 {
7940   return __a - __b;
7941 }
7942 
7943 static vector unsigned char __ATTRS_o_ai
vec_sub(vector bool char __a,vector unsigned char __b)7944 vec_sub(vector bool char __a, vector unsigned char __b)
7945 {
7946   return (vector unsigned char)__a - __b;
7947 }
7948 
7949 static vector unsigned char __ATTRS_o_ai
vec_sub(vector unsigned char __a,vector bool char __b)7950 vec_sub(vector unsigned char __a, vector bool char __b)
7951 {
7952   return __a - (vector unsigned char)__b;
7953 }
7954 
7955 static vector short __ATTRS_o_ai
vec_sub(vector short __a,vector short __b)7956 vec_sub(vector short __a, vector short __b)
7957 {
7958   return __a - __b;
7959 }
7960 
7961 static vector short __ATTRS_o_ai
vec_sub(vector bool short __a,vector short __b)7962 vec_sub(vector bool short __a, vector short __b)
7963 {
7964   return (vector short)__a - __b;
7965 }
7966 
7967 static vector short __ATTRS_o_ai
vec_sub(vector short __a,vector bool short __b)7968 vec_sub(vector short __a, vector bool short __b)
7969 {
7970   return __a - (vector short)__b;
7971 }
7972 
7973 static vector unsigned short __ATTRS_o_ai
vec_sub(vector unsigned short __a,vector unsigned short __b)7974 vec_sub(vector unsigned short __a, vector unsigned short __b)
7975 {
7976   return __a - __b;
7977 }
7978 
7979 static vector unsigned short __ATTRS_o_ai
vec_sub(vector bool short __a,vector unsigned short __b)7980 vec_sub(vector bool short __a, vector unsigned short __b)
7981 {
7982   return (vector unsigned short)__a - __b;
7983 }
7984 
7985 static vector unsigned short __ATTRS_o_ai
vec_sub(vector unsigned short __a,vector bool short __b)7986 vec_sub(vector unsigned short __a, vector bool short __b)
7987 {
7988   return __a - (vector unsigned short)__b;
7989 }
7990 
7991 static vector int __ATTRS_o_ai
vec_sub(vector int __a,vector int __b)7992 vec_sub(vector int __a, vector int __b)
7993 {
7994   return __a - __b;
7995 }
7996 
7997 static vector int __ATTRS_o_ai
vec_sub(vector bool int __a,vector int __b)7998 vec_sub(vector bool int __a, vector int __b)
7999 {
8000   return (vector int)__a - __b;
8001 }
8002 
8003 static vector int __ATTRS_o_ai
vec_sub(vector int __a,vector bool int __b)8004 vec_sub(vector int __a, vector bool int __b)
8005 {
8006   return __a - (vector int)__b;
8007 }
8008 
8009 static vector unsigned int __ATTRS_o_ai
vec_sub(vector unsigned int __a,vector unsigned int __b)8010 vec_sub(vector unsigned int __a, vector unsigned int __b)
8011 {
8012   return __a - __b;
8013 }
8014 
8015 static vector unsigned int __ATTRS_o_ai
vec_sub(vector bool int __a,vector unsigned int __b)8016 vec_sub(vector bool int __a, vector unsigned int __b)
8017 {
8018   return (vector unsigned int)__a - __b;
8019 }
8020 
8021 static vector unsigned int __ATTRS_o_ai
vec_sub(vector unsigned int __a,vector bool int __b)8022 vec_sub(vector unsigned int __a, vector bool int __b)
8023 {
8024   return __a - (vector unsigned int)__b;
8025 }
8026 
8027 static vector float __ATTRS_o_ai
vec_sub(vector float __a,vector float __b)8028 vec_sub(vector float __a, vector float __b)
8029 {
8030   return __a - __b;
8031 }
8032 
8033 /* vec_vsububm */
8034 
8035 #define __builtin_altivec_vsububm vec_vsububm
8036 
8037 static vector signed char __ATTRS_o_ai
vec_vsububm(vector signed char __a,vector signed char __b)8038 vec_vsububm(vector signed char __a, vector signed char __b)
8039 {
8040   return __a - __b;
8041 }
8042 
8043 static vector signed char __ATTRS_o_ai
vec_vsububm(vector bool char __a,vector signed char __b)8044 vec_vsububm(vector bool char __a, vector signed char __b)
8045 {
8046   return (vector signed char)__a - __b;
8047 }
8048 
8049 static vector signed char __ATTRS_o_ai
vec_vsububm(vector signed char __a,vector bool char __b)8050 vec_vsububm(vector signed char __a, vector bool char __b)
8051 {
8052   return __a - (vector signed char)__b;
8053 }
8054 
8055 static vector unsigned char __ATTRS_o_ai
vec_vsububm(vector unsigned char __a,vector unsigned char __b)8056 vec_vsububm(vector unsigned char __a, vector unsigned char __b)
8057 {
8058   return __a - __b;
8059 }
8060 
8061 static vector unsigned char __ATTRS_o_ai
vec_vsububm(vector bool char __a,vector unsigned char __b)8062 vec_vsububm(vector bool char __a, vector unsigned char __b)
8063 {
8064   return (vector unsigned char)__a - __b;
8065 }
8066 
8067 static vector unsigned char __ATTRS_o_ai
vec_vsububm(vector unsigned char __a,vector bool char __b)8068 vec_vsububm(vector unsigned char __a, vector bool char __b)
8069 {
8070   return __a - (vector unsigned char)__b;
8071 }
8072 
8073 /* vec_vsubuhm */
8074 
8075 #define __builtin_altivec_vsubuhm vec_vsubuhm
8076 
8077 static vector short __ATTRS_o_ai
vec_vsubuhm(vector short __a,vector short __b)8078 vec_vsubuhm(vector short __a, vector short __b)
8079 {
8080   return __a - __b;
8081 }
8082 
8083 static vector short __ATTRS_o_ai
vec_vsubuhm(vector bool short __a,vector short __b)8084 vec_vsubuhm(vector bool short __a, vector short __b)
8085 {
8086   return (vector short)__a - __b;
8087 }
8088 
8089 static vector short __ATTRS_o_ai
vec_vsubuhm(vector short __a,vector bool short __b)8090 vec_vsubuhm(vector short __a, vector bool short __b)
8091 {
8092   return __a - (vector short)__b;
8093 }
8094 
8095 static vector unsigned short __ATTRS_o_ai
vec_vsubuhm(vector unsigned short __a,vector unsigned short __b)8096 vec_vsubuhm(vector unsigned short __a, vector unsigned short __b)
8097 {
8098   return __a - __b;
8099 }
8100 
8101 static vector unsigned short __ATTRS_o_ai
vec_vsubuhm(vector bool short __a,vector unsigned short __b)8102 vec_vsubuhm(vector bool short __a, vector unsigned short __b)
8103 {
8104   return (vector unsigned short)__a - __b;
8105 }
8106 
8107 static vector unsigned short __ATTRS_o_ai
vec_vsubuhm(vector unsigned short __a,vector bool short __b)8108 vec_vsubuhm(vector unsigned short __a, vector bool short __b)
8109 {
8110   return __a - (vector unsigned short)__b;
8111 }
8112 
8113 /* vec_vsubuwm */
8114 
8115 #define __builtin_altivec_vsubuwm vec_vsubuwm
8116 
8117 static vector int __ATTRS_o_ai
vec_vsubuwm(vector int __a,vector int __b)8118 vec_vsubuwm(vector int __a, vector int __b)
8119 {
8120   return __a - __b;
8121 }
8122 
8123 static vector int __ATTRS_o_ai
vec_vsubuwm(vector bool int __a,vector int __b)8124 vec_vsubuwm(vector bool int __a, vector int __b)
8125 {
8126   return (vector int)__a - __b;
8127 }
8128 
8129 static vector int __ATTRS_o_ai
vec_vsubuwm(vector int __a,vector bool int __b)8130 vec_vsubuwm(vector int __a, vector bool int __b)
8131 {
8132   return __a - (vector int)__b;
8133 }
8134 
8135 static vector unsigned int __ATTRS_o_ai
vec_vsubuwm(vector unsigned int __a,vector unsigned int __b)8136 vec_vsubuwm(vector unsigned int __a, vector unsigned int __b)
8137 {
8138   return __a - __b;
8139 }
8140 
8141 static vector unsigned int __ATTRS_o_ai
vec_vsubuwm(vector bool int __a,vector unsigned int __b)8142 vec_vsubuwm(vector bool int __a, vector unsigned int __b)
8143 {
8144   return (vector unsigned int)__a - __b;
8145 }
8146 
8147 static vector unsigned int __ATTRS_o_ai
vec_vsubuwm(vector unsigned int __a,vector bool int __b)8148 vec_vsubuwm(vector unsigned int __a, vector bool int __b)
8149 {
8150   return __a - (vector unsigned int)__b;
8151 }
8152 
8153 /* vec_vsubfp */
8154 
8155 #define __builtin_altivec_vsubfp vec_vsubfp
8156 
8157 static vector float __attribute__((__always_inline__))
vec_vsubfp(vector float __a,vector float __b)8158 vec_vsubfp(vector float __a, vector float __b)
8159 {
8160   return __a - __b;
8161 }
8162 
8163 /* vec_subc */
8164 
8165 static vector unsigned int __attribute__((__always_inline__))
vec_subc(vector unsigned int __a,vector unsigned int __b)8166 vec_subc(vector unsigned int __a, vector unsigned int __b)
8167 {
8168   return __builtin_altivec_vsubcuw(__a, __b);
8169 }
8170 
8171 /* vec_vsubcuw */
8172 
8173 static vector unsigned int __attribute__((__always_inline__))
vec_vsubcuw(vector unsigned int __a,vector unsigned int __b)8174 vec_vsubcuw(vector unsigned int __a, vector unsigned int __b)
8175 {
8176   return __builtin_altivec_vsubcuw(__a, __b);
8177 }
8178 
8179 /* vec_subs */
8180 
8181 static vector signed char __ATTRS_o_ai
vec_subs(vector signed char __a,vector signed char __b)8182 vec_subs(vector signed char __a, vector signed char __b)
8183 {
8184   return __builtin_altivec_vsubsbs(__a, __b);
8185 }
8186 
8187 static vector signed char __ATTRS_o_ai
vec_subs(vector bool char __a,vector signed char __b)8188 vec_subs(vector bool char __a, vector signed char __b)
8189 {
8190   return __builtin_altivec_vsubsbs((vector signed char)__a, __b);
8191 }
8192 
8193 static vector signed char __ATTRS_o_ai
vec_subs(vector signed char __a,vector bool char __b)8194 vec_subs(vector signed char __a, vector bool char __b)
8195 {
8196   return __builtin_altivec_vsubsbs(__a, (vector signed char)__b);
8197 }
8198 
8199 static vector unsigned char __ATTRS_o_ai
vec_subs(vector unsigned char __a,vector unsigned char __b)8200 vec_subs(vector unsigned char __a, vector unsigned char __b)
8201 {
8202   return __builtin_altivec_vsububs(__a, __b);
8203 }
8204 
8205 static vector unsigned char __ATTRS_o_ai
vec_subs(vector bool char __a,vector unsigned char __b)8206 vec_subs(vector bool char __a, vector unsigned char __b)
8207 {
8208   return __builtin_altivec_vsububs((vector unsigned char)__a, __b);
8209 }
8210 
8211 static vector unsigned char __ATTRS_o_ai
vec_subs(vector unsigned char __a,vector bool char __b)8212 vec_subs(vector unsigned char __a, vector bool char __b)
8213 {
8214   return __builtin_altivec_vsububs(__a, (vector unsigned char)__b);
8215 }
8216 
8217 static vector short __ATTRS_o_ai
vec_subs(vector short __a,vector short __b)8218 vec_subs(vector short __a, vector short __b)
8219 {
8220   return __builtin_altivec_vsubshs(__a, __b);
8221 }
8222 
8223 static vector short __ATTRS_o_ai
vec_subs(vector bool short __a,vector short __b)8224 vec_subs(vector bool short __a, vector short __b)
8225 {
8226   return __builtin_altivec_vsubshs((vector short)__a, __b);
8227 }
8228 
8229 static vector short __ATTRS_o_ai
vec_subs(vector short __a,vector bool short __b)8230 vec_subs(vector short __a, vector bool short __b)
8231 {
8232   return __builtin_altivec_vsubshs(__a, (vector short)__b);
8233 }
8234 
8235 static vector unsigned short __ATTRS_o_ai
vec_subs(vector unsigned short __a,vector unsigned short __b)8236 vec_subs(vector unsigned short __a, vector unsigned short __b)
8237 {
8238   return __builtin_altivec_vsubuhs(__a, __b);
8239 }
8240 
8241 static vector unsigned short __ATTRS_o_ai
vec_subs(vector bool short __a,vector unsigned short __b)8242 vec_subs(vector bool short __a, vector unsigned short __b)
8243 {
8244   return __builtin_altivec_vsubuhs((vector unsigned short)__a, __b);
8245 }
8246 
8247 static vector unsigned short __ATTRS_o_ai
vec_subs(vector unsigned short __a,vector bool short __b)8248 vec_subs(vector unsigned short __a, vector bool short __b)
8249 {
8250   return __builtin_altivec_vsubuhs(__a, (vector unsigned short)__b);
8251 }
8252 
8253 static vector int __ATTRS_o_ai
vec_subs(vector int __a,vector int __b)8254 vec_subs(vector int __a, vector int __b)
8255 {
8256   return __builtin_altivec_vsubsws(__a, __b);
8257 }
8258 
8259 static vector int __ATTRS_o_ai
vec_subs(vector bool int __a,vector int __b)8260 vec_subs(vector bool int __a, vector int __b)
8261 {
8262   return __builtin_altivec_vsubsws((vector int)__a, __b);
8263 }
8264 
8265 static vector int __ATTRS_o_ai
vec_subs(vector int __a,vector bool int __b)8266 vec_subs(vector int __a, vector bool int __b)
8267 {
8268   return __builtin_altivec_vsubsws(__a, (vector int)__b);
8269 }
8270 
8271 static vector unsigned int __ATTRS_o_ai
vec_subs(vector unsigned int __a,vector unsigned int __b)8272 vec_subs(vector unsigned int __a, vector unsigned int __b)
8273 {
8274   return __builtin_altivec_vsubuws(__a, __b);
8275 }
8276 
8277 static vector unsigned int __ATTRS_o_ai
vec_subs(vector bool int __a,vector unsigned int __b)8278 vec_subs(vector bool int __a, vector unsigned int __b)
8279 {
8280   return __builtin_altivec_vsubuws((vector unsigned int)__a, __b);
8281 }
8282 
8283 static vector unsigned int __ATTRS_o_ai
vec_subs(vector unsigned int __a,vector bool int __b)8284 vec_subs(vector unsigned int __a, vector bool int __b)
8285 {
8286   return __builtin_altivec_vsubuws(__a, (vector unsigned int)__b);
8287 }
8288 
8289 /* vec_vsubsbs */
8290 
8291 static vector signed char __ATTRS_o_ai
vec_vsubsbs(vector signed char __a,vector signed char __b)8292 vec_vsubsbs(vector signed char __a, vector signed char __b)
8293 {
8294   return __builtin_altivec_vsubsbs(__a, __b);
8295 }
8296 
8297 static vector signed char __ATTRS_o_ai
vec_vsubsbs(vector bool char __a,vector signed char __b)8298 vec_vsubsbs(vector bool char __a, vector signed char __b)
8299 {
8300   return __builtin_altivec_vsubsbs((vector signed char)__a, __b);
8301 }
8302 
8303 static vector signed char __ATTRS_o_ai
vec_vsubsbs(vector signed char __a,vector bool char __b)8304 vec_vsubsbs(vector signed char __a, vector bool char __b)
8305 {
8306   return __builtin_altivec_vsubsbs(__a, (vector signed char)__b);
8307 }
8308 
8309 /* vec_vsububs */
8310 
8311 static vector unsigned char __ATTRS_o_ai
vec_vsububs(vector unsigned char __a,vector unsigned char __b)8312 vec_vsububs(vector unsigned char __a, vector unsigned char __b)
8313 {
8314   return __builtin_altivec_vsububs(__a, __b);
8315 }
8316 
8317 static vector unsigned char __ATTRS_o_ai
vec_vsububs(vector bool char __a,vector unsigned char __b)8318 vec_vsububs(vector bool char __a, vector unsigned char __b)
8319 {
8320   return __builtin_altivec_vsububs((vector unsigned char)__a, __b);
8321 }
8322 
8323 static vector unsigned char __ATTRS_o_ai
vec_vsububs(vector unsigned char __a,vector bool char __b)8324 vec_vsububs(vector unsigned char __a, vector bool char __b)
8325 {
8326   return __builtin_altivec_vsububs(__a, (vector unsigned char)__b);
8327 }
8328 
8329 /* vec_vsubshs */
8330 
8331 static vector short __ATTRS_o_ai
vec_vsubshs(vector short __a,vector short __b)8332 vec_vsubshs(vector short __a, vector short __b)
8333 {
8334   return __builtin_altivec_vsubshs(__a, __b);
8335 }
8336 
8337 static vector short __ATTRS_o_ai
vec_vsubshs(vector bool short __a,vector short __b)8338 vec_vsubshs(vector bool short __a, vector short __b)
8339 {
8340   return __builtin_altivec_vsubshs((vector short)__a, __b);
8341 }
8342 
8343 static vector short __ATTRS_o_ai
vec_vsubshs(vector short __a,vector bool short __b)8344 vec_vsubshs(vector short __a, vector bool short __b)
8345 {
8346   return __builtin_altivec_vsubshs(__a, (vector short)__b);
8347 }
8348 
8349 /* vec_vsubuhs */
8350 
8351 static vector unsigned short __ATTRS_o_ai
vec_vsubuhs(vector unsigned short __a,vector unsigned short __b)8352 vec_vsubuhs(vector unsigned short __a, vector unsigned short __b)
8353 {
8354   return __builtin_altivec_vsubuhs(__a, __b);
8355 }
8356 
8357 static vector unsigned short __ATTRS_o_ai
vec_vsubuhs(vector bool short __a,vector unsigned short __b)8358 vec_vsubuhs(vector bool short __a, vector unsigned short __b)
8359 {
8360   return __builtin_altivec_vsubuhs((vector unsigned short)__a, __b);
8361 }
8362 
8363 static vector unsigned short __ATTRS_o_ai
vec_vsubuhs(vector unsigned short __a,vector bool short __b)8364 vec_vsubuhs(vector unsigned short __a, vector bool short __b)
8365 {
8366   return __builtin_altivec_vsubuhs(__a, (vector unsigned short)__b);
8367 }
8368 
8369 /* vec_vsubsws */
8370 
8371 static vector int __ATTRS_o_ai
vec_vsubsws(vector int __a,vector int __b)8372 vec_vsubsws(vector int __a, vector int __b)
8373 {
8374   return __builtin_altivec_vsubsws(__a, __b);
8375 }
8376 
8377 static vector int __ATTRS_o_ai
vec_vsubsws(vector bool int __a,vector int __b)8378 vec_vsubsws(vector bool int __a, vector int __b)
8379 {
8380   return __builtin_altivec_vsubsws((vector int)__a, __b);
8381 }
8382 
8383 static vector int __ATTRS_o_ai
vec_vsubsws(vector int __a,vector bool int __b)8384 vec_vsubsws(vector int __a, vector bool int __b)
8385 {
8386   return __builtin_altivec_vsubsws(__a, (vector int)__b);
8387 }
8388 
8389 /* vec_vsubuws */
8390 
8391 static vector unsigned int __ATTRS_o_ai
vec_vsubuws(vector unsigned int __a,vector unsigned int __b)8392 vec_vsubuws(vector unsigned int __a, vector unsigned int __b)
8393 {
8394   return __builtin_altivec_vsubuws(__a, __b);
8395 }
8396 
8397 static vector unsigned int __ATTRS_o_ai
vec_vsubuws(vector bool int __a,vector unsigned int __b)8398 vec_vsubuws(vector bool int __a, vector unsigned int __b)
8399 {
8400   return __builtin_altivec_vsubuws((vector unsigned int)__a, __b);
8401 }
8402 
8403 static vector unsigned int __ATTRS_o_ai
vec_vsubuws(vector unsigned int __a,vector bool int __b)8404 vec_vsubuws(vector unsigned int __a, vector bool int __b)
8405 {
8406   return __builtin_altivec_vsubuws(__a, (vector unsigned int)__b);
8407 }
8408 
8409 /* vec_sum4s */
8410 
8411 static vector int __ATTRS_o_ai
vec_sum4s(vector signed char __a,vector int __b)8412 vec_sum4s(vector signed char __a, vector int __b)
8413 {
8414   return __builtin_altivec_vsum4sbs(__a, __b);
8415 }
8416 
8417 static vector unsigned int __ATTRS_o_ai
vec_sum4s(vector unsigned char __a,vector unsigned int __b)8418 vec_sum4s(vector unsigned char __a, vector unsigned int __b)
8419 {
8420   return __builtin_altivec_vsum4ubs(__a, __b);
8421 }
8422 
8423 static vector int __ATTRS_o_ai
vec_sum4s(vector signed short __a,vector int __b)8424 vec_sum4s(vector signed short __a, vector int __b)
8425 {
8426   return __builtin_altivec_vsum4shs(__a, __b);
8427 }
8428 
8429 /* vec_vsum4sbs */
8430 
8431 static vector int __attribute__((__always_inline__))
vec_vsum4sbs(vector signed char __a,vector int __b)8432 vec_vsum4sbs(vector signed char __a, vector int __b)
8433 {
8434   return __builtin_altivec_vsum4sbs(__a, __b);
8435 }
8436 
8437 /* vec_vsum4ubs */
8438 
8439 static vector unsigned int __attribute__((__always_inline__))
vec_vsum4ubs(vector unsigned char __a,vector unsigned int __b)8440 vec_vsum4ubs(vector unsigned char __a, vector unsigned int __b)
8441 {
8442   return __builtin_altivec_vsum4ubs(__a, __b);
8443 }
8444 
8445 /* vec_vsum4shs */
8446 
8447 static vector int __attribute__((__always_inline__))
vec_vsum4shs(vector signed short __a,vector int __b)8448 vec_vsum4shs(vector signed short __a, vector int __b)
8449 {
8450   return __builtin_altivec_vsum4shs(__a, __b);
8451 }
8452 
8453 /* vec_sum2s */
8454 
8455 /* The vsum2sws instruction has a big-endian bias, so that the second
8456    input vector and the result always reference big-endian elements
8457    1 and 3 (little-endian element 0 and 2).  For ease of porting the
8458    programmer wants elements 1 and 3 in both cases, so for little
8459    endian we must perform some permutes.  */
8460 
8461 static vector signed int __attribute__((__always_inline__))
vec_sum2s(vector int __a,vector int __b)8462 vec_sum2s(vector int __a, vector int __b)
8463 {
8464 #ifdef __LITTLE_ENDIAN__
8465   vector int __c = (vector signed int)
8466     vec_perm(__b, __b, (vector unsigned char)
8467 	     (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
8468   __c = __builtin_altivec_vsum2sws(__a, __c);
8469   return (vector signed int)
8470     vec_perm(__c, __c, (vector unsigned char)
8471 	     (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
8472 #else
8473   return __builtin_altivec_vsum2sws(__a, __b);
8474 #endif
8475 }
8476 
8477 /* vec_vsum2sws */
8478 
8479 static vector signed int __attribute__((__always_inline__))
vec_vsum2sws(vector int __a,vector int __b)8480 vec_vsum2sws(vector int __a, vector int __b)
8481 {
8482 #ifdef __LITTLE_ENDIAN__
8483   vector int __c = (vector signed int)
8484     vec_perm(__b, __b, (vector unsigned char)
8485 	     (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
8486   __c = __builtin_altivec_vsum2sws(__a, __c);
8487   return (vector signed int)
8488     vec_perm(__c, __c, (vector unsigned char)
8489 	     (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
8490 #else
8491   return __builtin_altivec_vsum2sws(__a, __b);
8492 #endif
8493 }
8494 
8495 /* vec_sums */
8496 
8497 /* The vsumsws instruction has a big-endian bias, so that the second
8498    input vector and the result always reference big-endian element 3
8499    (little-endian element 0).  For ease of porting the programmer
8500    wants element 3 in both cases, so for little endian we must perform
8501    some permutes.  */
8502 
8503 static vector signed int __attribute__((__always_inline__))
vec_sums(vector signed int __a,vector signed int __b)8504 vec_sums(vector signed int __a, vector signed int __b)
8505 {
8506 #ifdef __LITTLE_ENDIAN__
8507   __b = (vector signed int)
8508     vec_perm(__b, __b, (vector unsigned char)
8509 	     (12,13,14,15,0,1,2,3,4,5,6,7,8,9,10,11));
8510   __b = __builtin_altivec_vsumsws(__a, __b);
8511   return (vector signed int)
8512     vec_perm(__b, __b, (vector unsigned char)
8513 	     (4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3));
8514 #else
8515   return __builtin_altivec_vsumsws(__a, __b);
8516 #endif
8517 }
8518 
8519 /* vec_vsumsws */
8520 
8521 static vector signed int __attribute__((__always_inline__))
vec_vsumsws(vector signed int __a,vector signed int __b)8522 vec_vsumsws(vector signed int __a, vector signed int __b)
8523 {
8524 #ifdef __LITTLE_ENDIAN__
8525   __b = (vector signed int)
8526     vec_perm(__b, __b, (vector unsigned char)
8527 	     (12,13,14,15,0,1,2,3,4,5,6,7,8,9,10,11));
8528   __b = __builtin_altivec_vsumsws(__a, __b);
8529   return (vector signed int)
8530     vec_perm(__b, __b, (vector unsigned char)
8531 	     (4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3));
8532 #else
8533   return __builtin_altivec_vsumsws(__a, __b);
8534 #endif
8535 }
8536 
8537 /* vec_trunc */
8538 
8539 static vector float __attribute__((__always_inline__))
vec_trunc(vector float __a)8540 vec_trunc(vector float __a)
8541 {
8542   return __builtin_altivec_vrfiz(__a);
8543 }
8544 
8545 /* vec_vrfiz */
8546 
8547 static vector float __attribute__((__always_inline__))
vec_vrfiz(vector float __a)8548 vec_vrfiz(vector float __a)
8549 {
8550   return __builtin_altivec_vrfiz(__a);
8551 }
8552 
8553 /* vec_unpackh */
8554 
8555 /* The vector unpack instructions all have a big-endian bias, so for
8556    little endian we must reverse the meanings of "high" and "low."  */
8557 
8558 static vector short __ATTRS_o_ai
vec_unpackh(vector signed char __a)8559 vec_unpackh(vector signed char __a)
8560 {
8561 #ifdef __LITTLE_ENDIAN__
8562   return __builtin_altivec_vupklsb((vector char)__a);
8563 #else
8564   return __builtin_altivec_vupkhsb((vector char)__a);
8565 #endif
8566 }
8567 
8568 static vector bool short __ATTRS_o_ai
vec_unpackh(vector bool char __a)8569 vec_unpackh(vector bool char __a)
8570 {
8571 #ifdef __LITTLE_ENDIAN__
8572   return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
8573 #else
8574   return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
8575 #endif
8576 }
8577 
8578 static vector int __ATTRS_o_ai
vec_unpackh(vector short __a)8579 vec_unpackh(vector short __a)
8580 {
8581 #ifdef __LITTLE_ENDIAN__
8582   return __builtin_altivec_vupklsh(__a);
8583 #else
8584   return __builtin_altivec_vupkhsh(__a);
8585 #endif
8586 }
8587 
8588 static vector bool int __ATTRS_o_ai
vec_unpackh(vector bool short __a)8589 vec_unpackh(vector bool short __a)
8590 {
8591 #ifdef __LITTLE_ENDIAN__
8592   return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
8593 #else
8594   return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
8595 #endif
8596 }
8597 
8598 static vector unsigned int __ATTRS_o_ai
vec_unpackh(vector pixel __a)8599 vec_unpackh(vector pixel __a)
8600 {
8601 #ifdef __LITTLE_ENDIAN__
8602   return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
8603 #else
8604   return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
8605 #endif
8606 }
8607 
8608 /* vec_vupkhsb */
8609 
8610 static vector short __ATTRS_o_ai
vec_vupkhsb(vector signed char __a)8611 vec_vupkhsb(vector signed char __a)
8612 {
8613 #ifdef __LITTLE_ENDIAN__
8614   return __builtin_altivec_vupklsb((vector char)__a);
8615 #else
8616   return __builtin_altivec_vupkhsb((vector char)__a);
8617 #endif
8618 }
8619 
8620 static vector bool short __ATTRS_o_ai
vec_vupkhsb(vector bool char __a)8621 vec_vupkhsb(vector bool char __a)
8622 {
8623 #ifdef __LITTLE_ENDIAN__
8624   return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
8625 #else
8626   return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
8627 #endif
8628 }
8629 
8630 /* vec_vupkhsh */
8631 
8632 static vector int __ATTRS_o_ai
vec_vupkhsh(vector short __a)8633 vec_vupkhsh(vector short __a)
8634 {
8635 #ifdef __LITTLE_ENDIAN__
8636   return __builtin_altivec_vupklsh(__a);
8637 #else
8638   return __builtin_altivec_vupkhsh(__a);
8639 #endif
8640 }
8641 
8642 static vector bool int __ATTRS_o_ai
vec_vupkhsh(vector bool short __a)8643 vec_vupkhsh(vector bool short __a)
8644 {
8645 #ifdef __LITTLE_ENDIAN__
8646   return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
8647 #else
8648   return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
8649 #endif
8650 }
8651 
8652 static vector unsigned int __ATTRS_o_ai
vec_vupkhsh(vector pixel __a)8653 vec_vupkhsh(vector pixel __a)
8654 {
8655 #ifdef __LITTLE_ENDIAN__
8656   return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
8657 #else
8658   return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
8659 #endif
8660 }
8661 
8662 /* vec_unpackl */
8663 
8664 static vector short __ATTRS_o_ai
vec_unpackl(vector signed char __a)8665 vec_unpackl(vector signed char __a)
8666 {
8667 #ifdef __LITTLE_ENDIAN__
8668   return __builtin_altivec_vupkhsb((vector char)__a);
8669 #else
8670   return __builtin_altivec_vupklsb((vector char)__a);
8671 #endif
8672 }
8673 
8674 static vector bool short __ATTRS_o_ai
vec_unpackl(vector bool char __a)8675 vec_unpackl(vector bool char __a)
8676 {
8677 #ifdef __LITTLE_ENDIAN__
8678   return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
8679 #else
8680   return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
8681 #endif
8682 }
8683 
8684 static vector int __ATTRS_o_ai
vec_unpackl(vector short __a)8685 vec_unpackl(vector short __a)
8686 {
8687 #ifdef __LITTLE_ENDIAN__
8688   return __builtin_altivec_vupkhsh(__a);
8689 #else
8690   return __builtin_altivec_vupklsh(__a);
8691 #endif
8692 }
8693 
8694 static vector bool int __ATTRS_o_ai
vec_unpackl(vector bool short __a)8695 vec_unpackl(vector bool short __a)
8696 {
8697 #ifdef __LITTLE_ENDIAN__
8698   return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
8699 #else
8700   return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
8701 #endif
8702 }
8703 
8704 static vector unsigned int __ATTRS_o_ai
vec_unpackl(vector pixel __a)8705 vec_unpackl(vector pixel __a)
8706 {
8707 #ifdef __LITTLE_ENDIAN__
8708   return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
8709 #else
8710   return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
8711 #endif
8712 }
8713 
8714 /* vec_vupklsb */
8715 
8716 static vector short __ATTRS_o_ai
vec_vupklsb(vector signed char __a)8717 vec_vupklsb(vector signed char __a)
8718 {
8719 #ifdef __LITTLE_ENDIAN__
8720   return __builtin_altivec_vupkhsb((vector char)__a);
8721 #else
8722   return __builtin_altivec_vupklsb((vector char)__a);
8723 #endif
8724 }
8725 
8726 static vector bool short __ATTRS_o_ai
vec_vupklsb(vector bool char __a)8727 vec_vupklsb(vector bool char __a)
8728 {
8729 #ifdef __LITTLE_ENDIAN__
8730   return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
8731 #else
8732   return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
8733 #endif
8734 }
8735 
8736 /* vec_vupklsh */
8737 
8738 static vector int __ATTRS_o_ai
vec_vupklsh(vector short __a)8739 vec_vupklsh(vector short __a)
8740 {
8741 #ifdef __LITTLE_ENDIAN__
8742   return __builtin_altivec_vupkhsh(__a);
8743 #else
8744   return __builtin_altivec_vupklsh(__a);
8745 #endif
8746 }
8747 
8748 static vector bool int __ATTRS_o_ai
vec_vupklsh(vector bool short __a)8749 vec_vupklsh(vector bool short __a)
8750 {
8751 #ifdef __LITTLE_ENDIAN__
8752   return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
8753 #else
8754   return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
8755 #endif
8756 }
8757 
8758 static vector unsigned int __ATTRS_o_ai
vec_vupklsh(vector pixel __a)8759 vec_vupklsh(vector pixel __a)
8760 {
8761 #ifdef __LITTLE_ENDIAN__
8762   return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
8763 #else
8764   return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
8765 #endif
8766 }
8767 
8768 /* vec_xor */
8769 
8770 #define __builtin_altivec_vxor vec_xor
8771 
8772 static vector signed char __ATTRS_o_ai
vec_xor(vector signed char __a,vector signed char __b)8773 vec_xor(vector signed char __a, vector signed char __b)
8774 {
8775   return __a ^ __b;
8776 }
8777 
8778 static vector signed char __ATTRS_o_ai
vec_xor(vector bool char __a,vector signed char __b)8779 vec_xor(vector bool char __a, vector signed char __b)
8780 {
8781   return (vector signed char)__a ^ __b;
8782 }
8783 
8784 static vector signed char __ATTRS_o_ai
vec_xor(vector signed char __a,vector bool char __b)8785 vec_xor(vector signed char __a, vector bool char __b)
8786 {
8787   return __a ^ (vector signed char)__b;
8788 }
8789 
8790 static vector unsigned char __ATTRS_o_ai
vec_xor(vector unsigned char __a,vector unsigned char __b)8791 vec_xor(vector unsigned char __a, vector unsigned char __b)
8792 {
8793   return __a ^ __b;
8794 }
8795 
8796 static vector unsigned char __ATTRS_o_ai
vec_xor(vector bool char __a,vector unsigned char __b)8797 vec_xor(vector bool char __a, vector unsigned char __b)
8798 {
8799   return (vector unsigned char)__a ^ __b;
8800 }
8801 
8802 static vector unsigned char __ATTRS_o_ai
vec_xor(vector unsigned char __a,vector bool char __b)8803 vec_xor(vector unsigned char __a, vector bool char __b)
8804 {
8805   return __a ^ (vector unsigned char)__b;
8806 }
8807 
8808 static vector bool char __ATTRS_o_ai
vec_xor(vector bool char __a,vector bool char __b)8809 vec_xor(vector bool char __a, vector bool char __b)
8810 {
8811   return __a ^ __b;
8812 }
8813 
8814 static vector short __ATTRS_o_ai
vec_xor(vector short __a,vector short __b)8815 vec_xor(vector short __a, vector short __b)
8816 {
8817   return __a ^ __b;
8818 }
8819 
8820 static vector short __ATTRS_o_ai
vec_xor(vector bool short __a,vector short __b)8821 vec_xor(vector bool short __a, vector short __b)
8822 {
8823   return (vector short)__a ^ __b;
8824 }
8825 
8826 static vector short __ATTRS_o_ai
vec_xor(vector short __a,vector bool short __b)8827 vec_xor(vector short __a, vector bool short __b)
8828 {
8829   return __a ^ (vector short)__b;
8830 }
8831 
8832 static vector unsigned short __ATTRS_o_ai
vec_xor(vector unsigned short __a,vector unsigned short __b)8833 vec_xor(vector unsigned short __a, vector unsigned short __b)
8834 {
8835   return __a ^ __b;
8836 }
8837 
8838 static vector unsigned short __ATTRS_o_ai
vec_xor(vector bool short __a,vector unsigned short __b)8839 vec_xor(vector bool short __a, vector unsigned short __b)
8840 {
8841   return (vector unsigned short)__a ^ __b;
8842 }
8843 
8844 static vector unsigned short __ATTRS_o_ai
vec_xor(vector unsigned short __a,vector bool short __b)8845 vec_xor(vector unsigned short __a, vector bool short __b)
8846 {
8847   return __a ^ (vector unsigned short)__b;
8848 }
8849 
8850 static vector bool short __ATTRS_o_ai
vec_xor(vector bool short __a,vector bool short __b)8851 vec_xor(vector bool short __a, vector bool short __b)
8852 {
8853   return __a ^ __b;
8854 }
8855 
8856 static vector int __ATTRS_o_ai
vec_xor(vector int __a,vector int __b)8857 vec_xor(vector int __a, vector int __b)
8858 {
8859   return __a ^ __b;
8860 }
8861 
8862 static vector int __ATTRS_o_ai
vec_xor(vector bool int __a,vector int __b)8863 vec_xor(vector bool int __a, vector int __b)
8864 {
8865   return (vector int)__a ^ __b;
8866 }
8867 
8868 static vector int __ATTRS_o_ai
vec_xor(vector int __a,vector bool int __b)8869 vec_xor(vector int __a, vector bool int __b)
8870 {
8871   return __a ^ (vector int)__b;
8872 }
8873 
8874 static vector unsigned int __ATTRS_o_ai
vec_xor(vector unsigned int __a,vector unsigned int __b)8875 vec_xor(vector unsigned int __a, vector unsigned int __b)
8876 {
8877   return __a ^ __b;
8878 }
8879 
8880 static vector unsigned int __ATTRS_o_ai
vec_xor(vector bool int __a,vector unsigned int __b)8881 vec_xor(vector bool int __a, vector unsigned int __b)
8882 {
8883   return (vector unsigned int)__a ^ __b;
8884 }
8885 
8886 static vector unsigned int __ATTRS_o_ai
vec_xor(vector unsigned int __a,vector bool int __b)8887 vec_xor(vector unsigned int __a, vector bool int __b)
8888 {
8889   return __a ^ (vector unsigned int)__b;
8890 }
8891 
8892 static vector bool int __ATTRS_o_ai
vec_xor(vector bool int __a,vector bool int __b)8893 vec_xor(vector bool int __a, vector bool int __b)
8894 {
8895   return __a ^ __b;
8896 }
8897 
8898 static vector float __ATTRS_o_ai
vec_xor(vector float __a,vector float __b)8899 vec_xor(vector float __a, vector float __b)
8900 {
8901   vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
8902   return (vector float)__res;
8903 }
8904 
8905 static vector float __ATTRS_o_ai
vec_xor(vector bool int __a,vector float __b)8906 vec_xor(vector bool int __a, vector float __b)
8907 {
8908   vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
8909   return (vector float)__res;
8910 }
8911 
8912 static vector float __ATTRS_o_ai
vec_xor(vector float __a,vector bool int __b)8913 vec_xor(vector float __a, vector bool int __b)
8914 {
8915   vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
8916   return (vector float)__res;
8917 }
8918 
8919 /* vec_vxor */
8920 
8921 static vector signed char __ATTRS_o_ai
vec_vxor(vector signed char __a,vector signed char __b)8922 vec_vxor(vector signed char __a, vector signed char __b)
8923 {
8924   return __a ^ __b;
8925 }
8926 
8927 static vector signed char __ATTRS_o_ai
vec_vxor(vector bool char __a,vector signed char __b)8928 vec_vxor(vector bool char __a, vector signed char __b)
8929 {
8930   return (vector signed char)__a ^ __b;
8931 }
8932 
8933 static vector signed char __ATTRS_o_ai
vec_vxor(vector signed char __a,vector bool char __b)8934 vec_vxor(vector signed char __a, vector bool char __b)
8935 {
8936   return __a ^ (vector signed char)__b;
8937 }
8938 
8939 static vector unsigned char __ATTRS_o_ai
vec_vxor(vector unsigned char __a,vector unsigned char __b)8940 vec_vxor(vector unsigned char __a, vector unsigned char __b)
8941 {
8942   return __a ^ __b;
8943 }
8944 
8945 static vector unsigned char __ATTRS_o_ai
vec_vxor(vector bool char __a,vector unsigned char __b)8946 vec_vxor(vector bool char __a, vector unsigned char __b)
8947 {
8948   return (vector unsigned char)__a ^ __b;
8949 }
8950 
8951 static vector unsigned char __ATTRS_o_ai
vec_vxor(vector unsigned char __a,vector bool char __b)8952 vec_vxor(vector unsigned char __a, vector bool char __b)
8953 {
8954   return __a ^ (vector unsigned char)__b;
8955 }
8956 
8957 static vector bool char __ATTRS_o_ai
vec_vxor(vector bool char __a,vector bool char __b)8958 vec_vxor(vector bool char __a, vector bool char __b)
8959 {
8960   return __a ^ __b;
8961 }
8962 
8963 static vector short __ATTRS_o_ai
vec_vxor(vector short __a,vector short __b)8964 vec_vxor(vector short __a, vector short __b)
8965 {
8966   return __a ^ __b;
8967 }
8968 
8969 static vector short __ATTRS_o_ai
vec_vxor(vector bool short __a,vector short __b)8970 vec_vxor(vector bool short __a, vector short __b)
8971 {
8972   return (vector short)__a ^ __b;
8973 }
8974 
8975 static vector short __ATTRS_o_ai
vec_vxor(vector short __a,vector bool short __b)8976 vec_vxor(vector short __a, vector bool short __b)
8977 {
8978   return __a ^ (vector short)__b;
8979 }
8980 
8981 static vector unsigned short __ATTRS_o_ai
vec_vxor(vector unsigned short __a,vector unsigned short __b)8982 vec_vxor(vector unsigned short __a, vector unsigned short __b)
8983 {
8984   return __a ^ __b;
8985 }
8986 
8987 static vector unsigned short __ATTRS_o_ai
vec_vxor(vector bool short __a,vector unsigned short __b)8988 vec_vxor(vector bool short __a, vector unsigned short __b)
8989 {
8990   return (vector unsigned short)__a ^ __b;
8991 }
8992 
8993 static vector unsigned short __ATTRS_o_ai
vec_vxor(vector unsigned short __a,vector bool short __b)8994 vec_vxor(vector unsigned short __a, vector bool short __b)
8995 {
8996   return __a ^ (vector unsigned short)__b;
8997 }
8998 
8999 static vector bool short __ATTRS_o_ai
vec_vxor(vector bool short __a,vector bool short __b)9000 vec_vxor(vector bool short __a, vector bool short __b)
9001 {
9002   return __a ^ __b;
9003 }
9004 
9005 static vector int __ATTRS_o_ai
vec_vxor(vector int __a,vector int __b)9006 vec_vxor(vector int __a, vector int __b)
9007 {
9008   return __a ^ __b;
9009 }
9010 
9011 static vector int __ATTRS_o_ai
vec_vxor(vector bool int __a,vector int __b)9012 vec_vxor(vector bool int __a, vector int __b)
9013 {
9014   return (vector int)__a ^ __b;
9015 }
9016 
9017 static vector int __ATTRS_o_ai
vec_vxor(vector int __a,vector bool int __b)9018 vec_vxor(vector int __a, vector bool int __b)
9019 {
9020   return __a ^ (vector int)__b;
9021 }
9022 
9023 static vector unsigned int __ATTRS_o_ai
vec_vxor(vector unsigned int __a,vector unsigned int __b)9024 vec_vxor(vector unsigned int __a, vector unsigned int __b)
9025 {
9026   return __a ^ __b;
9027 }
9028 
9029 static vector unsigned int __ATTRS_o_ai
vec_vxor(vector bool int __a,vector unsigned int __b)9030 vec_vxor(vector bool int __a, vector unsigned int __b)
9031 {
9032   return (vector unsigned int)__a ^ __b;
9033 }
9034 
9035 static vector unsigned int __ATTRS_o_ai
vec_vxor(vector unsigned int __a,vector bool int __b)9036 vec_vxor(vector unsigned int __a, vector bool int __b)
9037 {
9038   return __a ^ (vector unsigned int)__b;
9039 }
9040 
9041 static vector bool int __ATTRS_o_ai
vec_vxor(vector bool int __a,vector bool int __b)9042 vec_vxor(vector bool int __a, vector bool int __b)
9043 {
9044   return __a ^ __b;
9045 }
9046 
9047 static vector float __ATTRS_o_ai
vec_vxor(vector float __a,vector float __b)9048 vec_vxor(vector float __a, vector float __b)
9049 {
9050   vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
9051   return (vector float)__res;
9052 }
9053 
9054 static vector float __ATTRS_o_ai
vec_vxor(vector bool int __a,vector float __b)9055 vec_vxor(vector bool int __a, vector float __b)
9056 {
9057   vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
9058   return (vector float)__res;
9059 }
9060 
9061 static vector float __ATTRS_o_ai
vec_vxor(vector float __a,vector bool int __b)9062 vec_vxor(vector float __a, vector bool int __b)
9063 {
9064   vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
9065   return (vector float)__res;
9066 }
9067 
9068 /* ------------------------ extensions for CBEA ----------------------------- */
9069 
9070 /* vec_extract */
9071 
9072 static signed char __ATTRS_o_ai
vec_extract(vector signed char __a,int __b)9073 vec_extract(vector signed char __a, int __b)
9074 {
9075   return __a[__b];
9076 }
9077 
9078 static unsigned char __ATTRS_o_ai
vec_extract(vector unsigned char __a,int __b)9079 vec_extract(vector unsigned char __a, int __b)
9080 {
9081   return __a[__b];
9082 }
9083 
9084 static short __ATTRS_o_ai
vec_extract(vector short __a,int __b)9085 vec_extract(vector short __a, int __b)
9086 {
9087   return __a[__b];
9088 }
9089 
9090 static unsigned short __ATTRS_o_ai
vec_extract(vector unsigned short __a,int __b)9091 vec_extract(vector unsigned short __a, int __b)
9092 {
9093   return __a[__b];
9094 }
9095 
9096 static int __ATTRS_o_ai
vec_extract(vector int __a,int __b)9097 vec_extract(vector int __a, int __b)
9098 {
9099   return __a[__b];
9100 }
9101 
9102 static unsigned int __ATTRS_o_ai
vec_extract(vector unsigned int __a,int __b)9103 vec_extract(vector unsigned int __a, int __b)
9104 {
9105   return __a[__b];
9106 }
9107 
9108 static float __ATTRS_o_ai
vec_extract(vector float __a,int __b)9109 vec_extract(vector float __a, int __b)
9110 {
9111   return __a[__b];
9112 }
9113 
9114 /* vec_insert */
9115 
9116 static vector signed char __ATTRS_o_ai
vec_insert(signed char __a,vector signed char __b,int __c)9117 vec_insert(signed char __a, vector signed char __b, int __c)
9118 {
9119   __b[__c] = __a;
9120   return __b;
9121 }
9122 
9123 static vector unsigned char __ATTRS_o_ai
vec_insert(unsigned char __a,vector unsigned char __b,int __c)9124 vec_insert(unsigned char __a, vector unsigned char __b, int __c)
9125 {
9126   __b[__c] = __a;
9127   return __b;
9128 }
9129 
9130 static vector short __ATTRS_o_ai
vec_insert(short __a,vector short __b,int __c)9131 vec_insert(short __a, vector short __b, int __c)
9132 {
9133   __b[__c] = __a;
9134   return __b;
9135 }
9136 
9137 static vector unsigned short __ATTRS_o_ai
vec_insert(unsigned short __a,vector unsigned short __b,int __c)9138 vec_insert(unsigned short __a, vector unsigned short __b, int __c)
9139 {
9140   __b[__c] = __a;
9141   return __b;
9142 }
9143 
9144 static vector int __ATTRS_o_ai
vec_insert(int __a,vector int __b,int __c)9145 vec_insert(int __a, vector int __b, int __c)
9146 {
9147   __b[__c] = __a;
9148   return __b;
9149 }
9150 
9151 static vector unsigned int __ATTRS_o_ai
vec_insert(unsigned int __a,vector unsigned int __b,int __c)9152 vec_insert(unsigned int __a, vector unsigned int __b, int __c)
9153 {
9154   __b[__c] = __a;
9155   return __b;
9156 }
9157 
9158 static vector float __ATTRS_o_ai
vec_insert(float __a,vector float __b,int __c)9159 vec_insert(float __a, vector float __b, int __c)
9160 {
9161   __b[__c] = __a;
9162   return __b;
9163 }
9164 
9165 /* vec_lvlx */
9166 
9167 static vector signed char __ATTRS_o_ai
vec_lvlx(int __a,const signed char * __b)9168 vec_lvlx(int __a, const signed char *__b)
9169 {
9170   return vec_perm(vec_ld(__a, __b),
9171                   (vector signed char)(0),
9172                   vec_lvsl(__a, __b));
9173 }
9174 
9175 static vector signed char __ATTRS_o_ai
vec_lvlx(int __a,const vector signed char * __b)9176 vec_lvlx(int __a, const vector signed char *__b)
9177 {
9178   return vec_perm(vec_ld(__a, __b),
9179                   (vector signed char)(0),
9180                   vec_lvsl(__a, (unsigned char *)__b));
9181 }
9182 
9183 static vector unsigned char __ATTRS_o_ai
vec_lvlx(int __a,const unsigned char * __b)9184 vec_lvlx(int __a, const unsigned char *__b)
9185 {
9186   return vec_perm(vec_ld(__a, __b),
9187                   (vector unsigned char)(0),
9188                   vec_lvsl(__a, __b));
9189 }
9190 
9191 static vector unsigned char __ATTRS_o_ai
vec_lvlx(int __a,const vector unsigned char * __b)9192 vec_lvlx(int __a, const vector unsigned char *__b)
9193 {
9194   return vec_perm(vec_ld(__a, __b),
9195                   (vector unsigned char)(0),
9196                   vec_lvsl(__a, (unsigned char *)__b));
9197 }
9198 
9199 static vector bool char __ATTRS_o_ai
vec_lvlx(int __a,const vector bool char * __b)9200 vec_lvlx(int __a, const vector bool char *__b)
9201 {
9202   return vec_perm(vec_ld(__a, __b),
9203                   (vector bool char)(0),
9204                   vec_lvsl(__a, (unsigned char *)__b));
9205 }
9206 
9207 static vector short __ATTRS_o_ai
vec_lvlx(int __a,const short * __b)9208 vec_lvlx(int __a, const short *__b)
9209 {
9210   return vec_perm(vec_ld(__a, __b),
9211                   (vector short)(0),
9212                   vec_lvsl(__a, __b));
9213 }
9214 
9215 static vector short __ATTRS_o_ai
vec_lvlx(int __a,const vector short * __b)9216 vec_lvlx(int __a, const vector short *__b)
9217 {
9218   return vec_perm(vec_ld(__a, __b),
9219                   (vector short)(0),
9220                   vec_lvsl(__a, (unsigned char *)__b));
9221 }
9222 
9223 static vector unsigned short __ATTRS_o_ai
vec_lvlx(int __a,const unsigned short * __b)9224 vec_lvlx(int __a, const unsigned short *__b)
9225 {
9226   return vec_perm(vec_ld(__a, __b),
9227                   (vector unsigned short)(0),
9228                   vec_lvsl(__a, __b));
9229 }
9230 
9231 static vector unsigned short __ATTRS_o_ai
vec_lvlx(int __a,const vector unsigned short * __b)9232 vec_lvlx(int __a, const vector unsigned short *__b)
9233 {
9234   return vec_perm(vec_ld(__a, __b),
9235                   (vector unsigned short)(0),
9236                   vec_lvsl(__a, (unsigned char *)__b));
9237 }
9238 
9239 static vector bool short __ATTRS_o_ai
vec_lvlx(int __a,const vector bool short * __b)9240 vec_lvlx(int __a, const vector bool short *__b)
9241 {
9242   return vec_perm(vec_ld(__a, __b),
9243                   (vector bool short)(0),
9244                   vec_lvsl(__a, (unsigned char *)__b));
9245 }
9246 
9247 static vector pixel __ATTRS_o_ai
vec_lvlx(int __a,const vector pixel * __b)9248 vec_lvlx(int __a, const vector pixel *__b)
9249 {
9250   return vec_perm(vec_ld(__a, __b),
9251                   (vector pixel)(0),
9252                   vec_lvsl(__a, (unsigned char *)__b));
9253 }
9254 
9255 static vector int __ATTRS_o_ai
vec_lvlx(int __a,const int * __b)9256 vec_lvlx(int __a, const int *__b)
9257 {
9258   return vec_perm(vec_ld(__a, __b),
9259                   (vector int)(0),
9260                   vec_lvsl(__a, __b));
9261 }
9262 
9263 static vector int __ATTRS_o_ai
vec_lvlx(int __a,const vector int * __b)9264 vec_lvlx(int __a, const vector int *__b)
9265 {
9266   return vec_perm(vec_ld(__a, __b),
9267                   (vector int)(0),
9268                   vec_lvsl(__a, (unsigned char *)__b));
9269 }
9270 
9271 static vector unsigned int __ATTRS_o_ai
vec_lvlx(int __a,const unsigned int * __b)9272 vec_lvlx(int __a, const unsigned int *__b)
9273 {
9274   return vec_perm(vec_ld(__a, __b),
9275                   (vector unsigned int)(0),
9276                   vec_lvsl(__a, __b));
9277 }
9278 
9279 static vector unsigned int __ATTRS_o_ai
vec_lvlx(int __a,const vector unsigned int * __b)9280 vec_lvlx(int __a, const vector unsigned int *__b)
9281 {
9282   return vec_perm(vec_ld(__a, __b),
9283                   (vector unsigned int)(0),
9284                   vec_lvsl(__a, (unsigned char *)__b));
9285 }
9286 
9287 static vector bool int __ATTRS_o_ai
vec_lvlx(int __a,const vector bool int * __b)9288 vec_lvlx(int __a, const vector bool int *__b)
9289 {
9290   return vec_perm(vec_ld(__a, __b),
9291                   (vector bool int)(0),
9292                   vec_lvsl(__a, (unsigned char *)__b));
9293 }
9294 
9295 static vector float __ATTRS_o_ai
vec_lvlx(int __a,const float * __b)9296 vec_lvlx(int __a, const float *__b)
9297 {
9298   return vec_perm(vec_ld(__a, __b),
9299                   (vector float)(0),
9300                   vec_lvsl(__a, __b));
9301 }
9302 
9303 static vector float __ATTRS_o_ai
vec_lvlx(int __a,const vector float * __b)9304 vec_lvlx(int __a, const vector float *__b)
9305 {
9306   return vec_perm(vec_ld(__a, __b),
9307                   (vector float)(0),
9308                   vec_lvsl(__a, (unsigned char *)__b));
9309 }
9310 
9311 /* vec_lvlxl */
9312 
9313 static vector signed char __ATTRS_o_ai
vec_lvlxl(int __a,const signed char * __b)9314 vec_lvlxl(int __a, const signed char *__b)
9315 {
9316   return vec_perm(vec_ldl(__a, __b),
9317                   (vector signed char)(0),
9318                   vec_lvsl(__a, __b));
9319 }
9320 
9321 static vector signed char __ATTRS_o_ai
vec_lvlxl(int __a,const vector signed char * __b)9322 vec_lvlxl(int __a, const vector signed char *__b)
9323 {
9324   return vec_perm(vec_ldl(__a, __b),
9325                   (vector signed char)(0),
9326                   vec_lvsl(__a, (unsigned char *)__b));
9327 }
9328 
9329 static vector unsigned char __ATTRS_o_ai
vec_lvlxl(int __a,const unsigned char * __b)9330 vec_lvlxl(int __a, const unsigned char *__b)
9331 {
9332   return vec_perm(vec_ldl(__a, __b),
9333                   (vector unsigned char)(0),
9334                   vec_lvsl(__a, __b));
9335 }
9336 
9337 static vector unsigned char __ATTRS_o_ai
vec_lvlxl(int __a,const vector unsigned char * __b)9338 vec_lvlxl(int __a, const vector unsigned char *__b)
9339 {
9340   return vec_perm(vec_ldl(__a, __b),
9341                   (vector unsigned char)(0),
9342                   vec_lvsl(__a, (unsigned char *)__b));
9343 }
9344 
9345 static vector bool char __ATTRS_o_ai
vec_lvlxl(int __a,const vector bool char * __b)9346 vec_lvlxl(int __a, const vector bool char *__b)
9347 {
9348   return vec_perm(vec_ldl(__a, __b),
9349                   (vector bool char)(0),
9350                   vec_lvsl(__a, (unsigned char *)__b));
9351 }
9352 
9353 static vector short __ATTRS_o_ai
vec_lvlxl(int __a,const short * __b)9354 vec_lvlxl(int __a, const short *__b)
9355 {
9356   return vec_perm(vec_ldl(__a, __b),
9357                   (vector short)(0),
9358                   vec_lvsl(__a, __b));
9359 }
9360 
9361 static vector short __ATTRS_o_ai
vec_lvlxl(int __a,const vector short * __b)9362 vec_lvlxl(int __a, const vector short *__b)
9363 {
9364   return vec_perm(vec_ldl(__a, __b),
9365                   (vector short)(0),
9366                   vec_lvsl(__a, (unsigned char *)__b));
9367 }
9368 
9369 static vector unsigned short __ATTRS_o_ai
vec_lvlxl(int __a,const unsigned short * __b)9370 vec_lvlxl(int __a, const unsigned short *__b)
9371 {
9372   return vec_perm(vec_ldl(__a, __b),
9373                   (vector unsigned short)(0),
9374                   vec_lvsl(__a, __b));
9375 }
9376 
9377 static vector unsigned short __ATTRS_o_ai
vec_lvlxl(int __a,const vector unsigned short * __b)9378 vec_lvlxl(int __a, const vector unsigned short *__b)
9379 {
9380   return vec_perm(vec_ldl(__a, __b),
9381                   (vector unsigned short)(0),
9382                   vec_lvsl(__a, (unsigned char *)__b));
9383 }
9384 
9385 static vector bool short __ATTRS_o_ai
vec_lvlxl(int __a,const vector bool short * __b)9386 vec_lvlxl(int __a, const vector bool short *__b)
9387 {
9388   return vec_perm(vec_ldl(__a, __b),
9389                   (vector bool short)(0),
9390                   vec_lvsl(__a, (unsigned char *)__b));
9391 }
9392 
9393 static vector pixel __ATTRS_o_ai
vec_lvlxl(int __a,const vector pixel * __b)9394 vec_lvlxl(int __a, const vector pixel *__b)
9395 {
9396   return vec_perm(vec_ldl(__a, __b),
9397                   (vector pixel)(0),
9398                   vec_lvsl(__a, (unsigned char *)__b));
9399 }
9400 
9401 static vector int __ATTRS_o_ai
vec_lvlxl(int __a,const int * __b)9402 vec_lvlxl(int __a, const int *__b)
9403 {
9404   return vec_perm(vec_ldl(__a, __b),
9405                   (vector int)(0),
9406                   vec_lvsl(__a, __b));
9407 }
9408 
9409 static vector int __ATTRS_o_ai
vec_lvlxl(int __a,const vector int * __b)9410 vec_lvlxl(int __a, const vector int *__b)
9411 {
9412   return vec_perm(vec_ldl(__a, __b),
9413                   (vector int)(0),
9414                   vec_lvsl(__a, (unsigned char *)__b));
9415 }
9416 
9417 static vector unsigned int __ATTRS_o_ai
vec_lvlxl(int __a,const unsigned int * __b)9418 vec_lvlxl(int __a, const unsigned int *__b)
9419 {
9420   return vec_perm(vec_ldl(__a, __b),
9421                   (vector unsigned int)(0),
9422                   vec_lvsl(__a, __b));
9423 }
9424 
9425 static vector unsigned int __ATTRS_o_ai
vec_lvlxl(int __a,const vector unsigned int * __b)9426 vec_lvlxl(int __a, const vector unsigned int *__b)
9427 {
9428   return vec_perm(vec_ldl(__a, __b),
9429                   (vector unsigned int)(0),
9430                   vec_lvsl(__a, (unsigned char *)__b));
9431 }
9432 
9433 static vector bool int __ATTRS_o_ai
vec_lvlxl(int __a,const vector bool int * __b)9434 vec_lvlxl(int __a, const vector bool int *__b)
9435 {
9436   return vec_perm(vec_ldl(__a, __b),
9437                   (vector bool int)(0),
9438                   vec_lvsl(__a, (unsigned char *)__b));
9439 }
9440 
9441 static vector float __ATTRS_o_ai
vec_lvlxl(int __a,const float * __b)9442 vec_lvlxl(int __a, const float *__b)
9443 {
9444   return vec_perm(vec_ldl(__a, __b),
9445                   (vector float)(0),
9446                   vec_lvsl(__a, __b));
9447 }
9448 
9449 static vector float __ATTRS_o_ai
vec_lvlxl(int __a,vector float * __b)9450 vec_lvlxl(int __a, vector float *__b)
9451 {
9452   return vec_perm(vec_ldl(__a, __b),
9453                   (vector float)(0),
9454                   vec_lvsl(__a, (unsigned char *)__b));
9455 }
9456 
9457 /* vec_lvrx */
9458 
9459 static vector signed char __ATTRS_o_ai
vec_lvrx(int __a,const signed char * __b)9460 vec_lvrx(int __a, const signed char *__b)
9461 {
9462   return vec_perm((vector signed char)(0),
9463                   vec_ld(__a, __b),
9464                   vec_lvsl(__a, __b));
9465 }
9466 
9467 static vector signed char __ATTRS_o_ai
vec_lvrx(int __a,const vector signed char * __b)9468 vec_lvrx(int __a, const vector signed char *__b)
9469 {
9470   return vec_perm((vector signed char)(0),
9471                   vec_ld(__a, __b),
9472                   vec_lvsl(__a, (unsigned char *)__b));
9473 }
9474 
9475 static vector unsigned char __ATTRS_o_ai
vec_lvrx(int __a,const unsigned char * __b)9476 vec_lvrx(int __a, const unsigned char *__b)
9477 {
9478   return vec_perm((vector unsigned char)(0),
9479                   vec_ld(__a, __b),
9480                   vec_lvsl(__a, __b));
9481 }
9482 
9483 static vector unsigned char __ATTRS_o_ai
vec_lvrx(int __a,const vector unsigned char * __b)9484 vec_lvrx(int __a, const vector unsigned char *__b)
9485 {
9486   return vec_perm((vector unsigned char)(0),
9487                   vec_ld(__a, __b),
9488                   vec_lvsl(__a, (unsigned char *)__b));
9489 }
9490 
9491 static vector bool char __ATTRS_o_ai
vec_lvrx(int __a,const vector bool char * __b)9492 vec_lvrx(int __a, const vector bool char *__b)
9493 {
9494   return vec_perm((vector bool char)(0),
9495                   vec_ld(__a, __b),
9496                   vec_lvsl(__a, (unsigned char *)__b));
9497 }
9498 
9499 static vector short __ATTRS_o_ai
vec_lvrx(int __a,const short * __b)9500 vec_lvrx(int __a, const short *__b)
9501 {
9502   return vec_perm((vector short)(0),
9503                   vec_ld(__a, __b),
9504                   vec_lvsl(__a, __b));
9505 }
9506 
9507 static vector short __ATTRS_o_ai
vec_lvrx(int __a,const vector short * __b)9508 vec_lvrx(int __a, const vector short *__b)
9509 {
9510   return vec_perm((vector short)(0),
9511                   vec_ld(__a, __b),
9512                   vec_lvsl(__a, (unsigned char *)__b));
9513 }
9514 
9515 static vector unsigned short __ATTRS_o_ai
vec_lvrx(int __a,const unsigned short * __b)9516 vec_lvrx(int __a, const unsigned short *__b)
9517 {
9518   return vec_perm((vector unsigned short)(0),
9519                   vec_ld(__a, __b),
9520                   vec_lvsl(__a, __b));
9521 }
9522 
9523 static vector unsigned short __ATTRS_o_ai
vec_lvrx(int __a,const vector unsigned short * __b)9524 vec_lvrx(int __a, const vector unsigned short *__b)
9525 {
9526   return vec_perm((vector unsigned short)(0),
9527                   vec_ld(__a, __b),
9528                   vec_lvsl(__a, (unsigned char *)__b));
9529 }
9530 
9531 static vector bool short __ATTRS_o_ai
vec_lvrx(int __a,const vector bool short * __b)9532 vec_lvrx(int __a, const vector bool short *__b)
9533 {
9534   return vec_perm((vector bool short)(0),
9535                   vec_ld(__a, __b),
9536                   vec_lvsl(__a, (unsigned char *)__b));
9537 }
9538 
9539 static vector pixel __ATTRS_o_ai
vec_lvrx(int __a,const vector pixel * __b)9540 vec_lvrx(int __a, const vector pixel *__b)
9541 {
9542   return vec_perm((vector pixel)(0),
9543                   vec_ld(__a, __b),
9544                   vec_lvsl(__a, (unsigned char *)__b));
9545 }
9546 
9547 static vector int __ATTRS_o_ai
vec_lvrx(int __a,const int * __b)9548 vec_lvrx(int __a, const int *__b)
9549 {
9550   return vec_perm((vector int)(0),
9551                   vec_ld(__a, __b),
9552                   vec_lvsl(__a, __b));
9553 }
9554 
9555 static vector int __ATTRS_o_ai
vec_lvrx(int __a,const vector int * __b)9556 vec_lvrx(int __a, const vector int *__b)
9557 {
9558   return vec_perm((vector int)(0),
9559                   vec_ld(__a, __b),
9560                   vec_lvsl(__a, (unsigned char *)__b));
9561 }
9562 
9563 static vector unsigned int __ATTRS_o_ai
vec_lvrx(int __a,const unsigned int * __b)9564 vec_lvrx(int __a, const unsigned int *__b)
9565 {
9566   return vec_perm((vector unsigned int)(0),
9567                   vec_ld(__a, __b),
9568                   vec_lvsl(__a, __b));
9569 }
9570 
9571 static vector unsigned int __ATTRS_o_ai
vec_lvrx(int __a,const vector unsigned int * __b)9572 vec_lvrx(int __a, const vector unsigned int *__b)
9573 {
9574   return vec_perm((vector unsigned int)(0),
9575                   vec_ld(__a, __b),
9576                   vec_lvsl(__a, (unsigned char *)__b));
9577 }
9578 
9579 static vector bool int __ATTRS_o_ai
vec_lvrx(int __a,const vector bool int * __b)9580 vec_lvrx(int __a, const vector bool int *__b)
9581 {
9582   return vec_perm((vector bool int)(0),
9583                   vec_ld(__a, __b),
9584                   vec_lvsl(__a, (unsigned char *)__b));
9585 }
9586 
9587 static vector float __ATTRS_o_ai
vec_lvrx(int __a,const float * __b)9588 vec_lvrx(int __a, const float *__b)
9589 {
9590   return vec_perm((vector float)(0),
9591                   vec_ld(__a, __b),
9592                   vec_lvsl(__a, __b));
9593 }
9594 
9595 static vector float __ATTRS_o_ai
vec_lvrx(int __a,const vector float * __b)9596 vec_lvrx(int __a, const vector float *__b)
9597 {
9598   return vec_perm((vector float)(0),
9599                   vec_ld(__a, __b),
9600                   vec_lvsl(__a, (unsigned char *)__b));
9601 }
9602 
9603 /* vec_lvrxl */
9604 
9605 static vector signed char __ATTRS_o_ai
vec_lvrxl(int __a,const signed char * __b)9606 vec_lvrxl(int __a, const signed char *__b)
9607 {
9608   return vec_perm((vector signed char)(0),
9609                   vec_ldl(__a, __b),
9610                   vec_lvsl(__a, __b));
9611 }
9612 
9613 static vector signed char __ATTRS_o_ai
vec_lvrxl(int __a,const vector signed char * __b)9614 vec_lvrxl(int __a, const vector signed char *__b)
9615 {
9616   return vec_perm((vector signed char)(0),
9617                   vec_ldl(__a, __b),
9618                   vec_lvsl(__a, (unsigned char *)__b));
9619 }
9620 
9621 static vector unsigned char __ATTRS_o_ai
vec_lvrxl(int __a,const unsigned char * __b)9622 vec_lvrxl(int __a, const unsigned char *__b)
9623 {
9624   return vec_perm((vector unsigned char)(0),
9625                   vec_ldl(__a, __b),
9626                   vec_lvsl(__a, __b));
9627 }
9628 
9629 static vector unsigned char __ATTRS_o_ai
vec_lvrxl(int __a,const vector unsigned char * __b)9630 vec_lvrxl(int __a, const vector unsigned char *__b)
9631 {
9632   return vec_perm((vector unsigned char)(0),
9633                   vec_ldl(__a, __b),
9634                   vec_lvsl(__a, (unsigned char *)__b));
9635 }
9636 
9637 static vector bool char __ATTRS_o_ai
vec_lvrxl(int __a,const vector bool char * __b)9638 vec_lvrxl(int __a, const vector bool char *__b)
9639 {
9640   return vec_perm((vector bool char)(0),
9641                   vec_ldl(__a, __b),
9642                   vec_lvsl(__a, (unsigned char *)__b));
9643 }
9644 
9645 static vector short __ATTRS_o_ai
vec_lvrxl(int __a,const short * __b)9646 vec_lvrxl(int __a, const short *__b)
9647 {
9648   return vec_perm((vector short)(0),
9649                   vec_ldl(__a, __b),
9650                   vec_lvsl(__a, __b));
9651 }
9652 
9653 static vector short __ATTRS_o_ai
vec_lvrxl(int __a,const vector short * __b)9654 vec_lvrxl(int __a, const vector short *__b)
9655 {
9656   return vec_perm((vector short)(0),
9657                   vec_ldl(__a, __b),
9658                   vec_lvsl(__a, (unsigned char *)__b));
9659 }
9660 
9661 static vector unsigned short __ATTRS_o_ai
vec_lvrxl(int __a,const unsigned short * __b)9662 vec_lvrxl(int __a, const unsigned short *__b)
9663 {
9664   return vec_perm((vector unsigned short)(0),
9665                   vec_ldl(__a, __b),
9666                   vec_lvsl(__a, __b));
9667 }
9668 
9669 static vector unsigned short __ATTRS_o_ai
vec_lvrxl(int __a,const vector unsigned short * __b)9670 vec_lvrxl(int __a, const vector unsigned short *__b)
9671 {
9672   return vec_perm((vector unsigned short)(0),
9673                   vec_ldl(__a, __b),
9674                   vec_lvsl(__a, (unsigned char *)__b));
9675 }
9676 
9677 static vector bool short __ATTRS_o_ai
vec_lvrxl(int __a,const vector bool short * __b)9678 vec_lvrxl(int __a, const vector bool short *__b)
9679 {
9680   return vec_perm((vector bool short)(0),
9681                   vec_ldl(__a, __b),
9682                   vec_lvsl(__a, (unsigned char *)__b));
9683 }
9684 
9685 static vector pixel __ATTRS_o_ai
vec_lvrxl(int __a,const vector pixel * __b)9686 vec_lvrxl(int __a, const vector pixel *__b)
9687 {
9688   return vec_perm((vector pixel)(0),
9689                   vec_ldl(__a, __b),
9690                   vec_lvsl(__a, (unsigned char *)__b));
9691 }
9692 
9693 static vector int __ATTRS_o_ai
vec_lvrxl(int __a,const int * __b)9694 vec_lvrxl(int __a, const int *__b)
9695 {
9696   return vec_perm((vector int)(0),
9697                   vec_ldl(__a, __b),
9698                   vec_lvsl(__a, __b));
9699 }
9700 
9701 static vector int __ATTRS_o_ai
vec_lvrxl(int __a,const vector int * __b)9702 vec_lvrxl(int __a, const vector int *__b)
9703 {
9704   return vec_perm((vector int)(0),
9705                   vec_ldl(__a, __b),
9706                   vec_lvsl(__a, (unsigned char *)__b));
9707 }
9708 
9709 static vector unsigned int __ATTRS_o_ai
vec_lvrxl(int __a,const unsigned int * __b)9710 vec_lvrxl(int __a, const unsigned int *__b)
9711 {
9712   return vec_perm((vector unsigned int)(0),
9713                   vec_ldl(__a, __b),
9714                   vec_lvsl(__a, __b));
9715 }
9716 
9717 static vector unsigned int __ATTRS_o_ai
vec_lvrxl(int __a,const vector unsigned int * __b)9718 vec_lvrxl(int __a, const vector unsigned int *__b)
9719 {
9720   return vec_perm((vector unsigned int)(0),
9721                   vec_ldl(__a, __b),
9722                   vec_lvsl(__a, (unsigned char *)__b));
9723 }
9724 
9725 static vector bool int __ATTRS_o_ai
vec_lvrxl(int __a,const vector bool int * __b)9726 vec_lvrxl(int __a, const vector bool int *__b)
9727 {
9728   return vec_perm((vector bool int)(0),
9729                   vec_ldl(__a, __b),
9730                   vec_lvsl(__a, (unsigned char *)__b));
9731 }
9732 
9733 static vector float __ATTRS_o_ai
vec_lvrxl(int __a,const float * __b)9734 vec_lvrxl(int __a, const float *__b)
9735 {
9736   return vec_perm((vector float)(0),
9737                   vec_ldl(__a, __b),
9738                   vec_lvsl(__a, __b));
9739 }
9740 
9741 static vector float __ATTRS_o_ai
vec_lvrxl(int __a,const vector float * __b)9742 vec_lvrxl(int __a, const vector float *__b)
9743 {
9744   return vec_perm((vector float)(0),
9745                   vec_ldl(__a, __b),
9746                   vec_lvsl(__a, (unsigned char *)__b));
9747 }
9748 
9749 /* vec_stvlx */
9750 
9751 static void __ATTRS_o_ai
vec_stvlx(vector signed char __a,int __b,signed char * __c)9752 vec_stvlx(vector signed char __a, int __b, signed char *__c)
9753 {
9754   return vec_st(vec_perm(vec_lvrx(__b, __c),
9755                          __a,
9756                          vec_lvsr(__b, __c)),
9757                 __b, __c);
9758 }
9759 
9760 static void __ATTRS_o_ai
vec_stvlx(vector signed char __a,int __b,vector signed char * __c)9761 vec_stvlx(vector signed char __a, int __b, vector signed char *__c)
9762 {
9763   return vec_st(vec_perm(vec_lvrx(__b, __c),
9764                          __a,
9765                          vec_lvsr(__b, (unsigned char *)__c)),
9766                 __b, __c);
9767 }
9768 
9769 static void __ATTRS_o_ai
vec_stvlx(vector unsigned char __a,int __b,unsigned char * __c)9770 vec_stvlx(vector unsigned char __a, int __b, unsigned char *__c)
9771 {
9772   return vec_st(vec_perm(vec_lvrx(__b, __c),
9773                          __a,
9774                          vec_lvsr(__b, __c)),
9775                 __b, __c);
9776 }
9777 
9778 static void __ATTRS_o_ai
vec_stvlx(vector unsigned char __a,int __b,vector unsigned char * __c)9779 vec_stvlx(vector unsigned char __a, int __b, vector unsigned char *__c)
9780 {
9781   return vec_st(vec_perm(vec_lvrx(__b, __c),
9782                          __a,
9783                          vec_lvsr(__b, (unsigned char *)__c)),
9784                 __b, __c);
9785 }
9786 
9787 static void __ATTRS_o_ai
vec_stvlx(vector bool char __a,int __b,vector bool char * __c)9788 vec_stvlx(vector bool char __a, int __b, vector bool char *__c)
9789 {
9790   return vec_st(vec_perm(vec_lvrx(__b, __c),
9791                          __a,
9792                          vec_lvsr(__b, (unsigned char *)__c)),
9793                 __b, __c);
9794 }
9795 
9796 static void __ATTRS_o_ai
vec_stvlx(vector short __a,int __b,short * __c)9797 vec_stvlx(vector short __a, int __b, short *__c)
9798 {
9799   return vec_st(vec_perm(vec_lvrx(__b, __c),
9800                          __a,
9801                          vec_lvsr(__b, __c)),
9802                 __b, __c);
9803 }
9804 
9805 static void __ATTRS_o_ai
vec_stvlx(vector short __a,int __b,vector short * __c)9806 vec_stvlx(vector short __a, int __b, vector short *__c)
9807 {
9808   return vec_st(vec_perm(vec_lvrx(__b, __c),
9809                          __a,
9810                          vec_lvsr(__b, (unsigned char *)__c)),
9811                 __b, __c);
9812 }
9813 
9814 static void __ATTRS_o_ai
vec_stvlx(vector unsigned short __a,int __b,unsigned short * __c)9815 vec_stvlx(vector unsigned short __a, int __b, unsigned short *__c)
9816 {
9817   return vec_st(vec_perm(vec_lvrx(__b, __c),
9818                          __a,
9819                          vec_lvsr(__b, __c)),
9820                 __b, __c);
9821 }
9822 
9823 static void __ATTRS_o_ai
vec_stvlx(vector unsigned short __a,int __b,vector unsigned short * __c)9824 vec_stvlx(vector unsigned short __a, int __b, vector unsigned short *__c)
9825 {
9826   return vec_st(vec_perm(vec_lvrx(__b, __c),
9827                          __a,
9828                          vec_lvsr(__b, (unsigned char *)__c)),
9829                 __b, __c);
9830 }
9831 
9832 static void __ATTRS_o_ai
vec_stvlx(vector bool short __a,int __b,vector bool short * __c)9833 vec_stvlx(vector bool short __a, int __b, vector bool short *__c)
9834 {
9835   return vec_st(vec_perm(vec_lvrx(__b, __c),
9836                          __a,
9837                          vec_lvsr(__b, (unsigned char *)__c)),
9838                 __b, __c);
9839 }
9840 
9841 static void __ATTRS_o_ai
vec_stvlx(vector pixel __a,int __b,vector pixel * __c)9842 vec_stvlx(vector pixel __a, int __b, vector pixel *__c)
9843 {
9844   return vec_st(vec_perm(vec_lvrx(__b, __c),
9845                          __a,
9846                          vec_lvsr(__b, (unsigned char *)__c)),
9847                 __b, __c);
9848 }
9849 
9850 static void __ATTRS_o_ai
vec_stvlx(vector int __a,int __b,int * __c)9851 vec_stvlx(vector int __a, int __b, int *__c)
9852 {
9853   return vec_st(vec_perm(vec_lvrx(__b, __c),
9854                          __a,
9855                          vec_lvsr(__b, __c)),
9856                 __b, __c);
9857 }
9858 
9859 static void __ATTRS_o_ai
vec_stvlx(vector int __a,int __b,vector int * __c)9860 vec_stvlx(vector int __a, int __b, vector int *__c)
9861 {
9862   return vec_st(vec_perm(vec_lvrx(__b, __c),
9863                          __a,
9864                          vec_lvsr(__b, (unsigned char *)__c)),
9865                 __b, __c);
9866 }
9867 
9868 static void __ATTRS_o_ai
vec_stvlx(vector unsigned int __a,int __b,unsigned int * __c)9869 vec_stvlx(vector unsigned int __a, int __b, unsigned int *__c)
9870 {
9871   return vec_st(vec_perm(vec_lvrx(__b, __c),
9872                          __a,
9873                          vec_lvsr(__b, __c)),
9874                 __b, __c);
9875 }
9876 
9877 static void __ATTRS_o_ai
vec_stvlx(vector unsigned int __a,int __b,vector unsigned int * __c)9878 vec_stvlx(vector unsigned int __a, int __b, vector unsigned int *__c)
9879 {
9880   return vec_st(vec_perm(vec_lvrx(__b, __c),
9881                          __a,
9882                          vec_lvsr(__b, (unsigned char *)__c)),
9883                 __b, __c);
9884 }
9885 
9886 static void __ATTRS_o_ai
vec_stvlx(vector bool int __a,int __b,vector bool int * __c)9887 vec_stvlx(vector bool int __a, int __b, vector bool int *__c)
9888 {
9889   return vec_st(vec_perm(vec_lvrx(__b, __c),
9890                          __a,
9891                          vec_lvsr(__b, (unsigned char *)__c)),
9892                 __b, __c);
9893 }
9894 
9895 static void __ATTRS_o_ai
vec_stvlx(vector float __a,int __b,vector float * __c)9896 vec_stvlx(vector float __a, int __b, vector float *__c)
9897 {
9898   return vec_st(vec_perm(vec_lvrx(__b, __c),
9899                          __a,
9900                          vec_lvsr(__b, (unsigned char *)__c)),
9901                 __b, __c);
9902 }
9903 
9904 /* vec_stvlxl */
9905 
9906 static void __ATTRS_o_ai
vec_stvlxl(vector signed char __a,int __b,signed char * __c)9907 vec_stvlxl(vector signed char __a, int __b, signed char *__c)
9908 {
9909   return vec_stl(vec_perm(vec_lvrx(__b, __c),
9910                           __a,
9911                           vec_lvsr(__b, __c)),
9912                  __b, __c);
9913 }
9914 
9915 static void __ATTRS_o_ai
vec_stvlxl(vector signed char __a,int __b,vector signed char * __c)9916 vec_stvlxl(vector signed char __a, int __b, vector signed char *__c)
9917 {
9918   return vec_stl(vec_perm(vec_lvrx(__b, __c),
9919                           __a,
9920                           vec_lvsr(__b, (unsigned char *)__c)),
9921                  __b, __c);
9922 }
9923 
9924 static void __ATTRS_o_ai
vec_stvlxl(vector unsigned char __a,int __b,unsigned char * __c)9925 vec_stvlxl(vector unsigned char __a, int __b, unsigned char *__c)
9926 {
9927   return vec_stl(vec_perm(vec_lvrx(__b, __c),
9928                           __a,
9929                           vec_lvsr(__b, __c)),
9930                  __b, __c);
9931 }
9932 
9933 static void __ATTRS_o_ai
vec_stvlxl(vector unsigned char __a,int __b,vector unsigned char * __c)9934 vec_stvlxl(vector unsigned char __a, int __b, vector unsigned char *__c)
9935 {
9936   return vec_stl(vec_perm(vec_lvrx(__b, __c),
9937                           __a,
9938                           vec_lvsr(__b, (unsigned char *)__c)),
9939                  __b, __c);
9940 }
9941 
9942 static void __ATTRS_o_ai
vec_stvlxl(vector bool char __a,int __b,vector bool char * __c)9943 vec_stvlxl(vector bool char __a, int __b, vector bool char *__c)
9944 {
9945   return vec_stl(vec_perm(vec_lvrx(__b, __c),
9946                           __a,
9947                           vec_lvsr(__b, (unsigned char *)__c)),
9948                  __b, __c);
9949 }
9950 
9951 static void __ATTRS_o_ai
vec_stvlxl(vector short __a,int __b,short * __c)9952 vec_stvlxl(vector short __a, int __b, short *__c)
9953 {
9954   return vec_stl(vec_perm(vec_lvrx(__b, __c),
9955                           __a,
9956                           vec_lvsr(__b, __c)),
9957                  __b, __c);
9958 }
9959 
9960 static void __ATTRS_o_ai
vec_stvlxl(vector short __a,int __b,vector short * __c)9961 vec_stvlxl(vector short __a, int __b, vector short *__c)
9962 {
9963   return vec_stl(vec_perm(vec_lvrx(__b, __c),
9964                           __a,
9965                           vec_lvsr(__b, (unsigned char *)__c)),
9966                  __b, __c);
9967 }
9968 
9969 static void __ATTRS_o_ai
vec_stvlxl(vector unsigned short __a,int __b,unsigned short * __c)9970 vec_stvlxl(vector unsigned short __a, int __b, unsigned short *__c)
9971 {
9972   return vec_stl(vec_perm(vec_lvrx(__b, __c),
9973                           __a,
9974                           vec_lvsr(__b, __c)),
9975                  __b, __c);
9976 }
9977 
9978 static void __ATTRS_o_ai
vec_stvlxl(vector unsigned short __a,int __b,vector unsigned short * __c)9979 vec_stvlxl(vector unsigned short __a, int __b, vector unsigned short *__c)
9980 {
9981   return vec_stl(vec_perm(vec_lvrx(__b, __c),
9982                           __a,
9983                           vec_lvsr(__b, (unsigned char *)__c)),
9984                  __b, __c);
9985 }
9986 
9987 static void __ATTRS_o_ai
vec_stvlxl(vector bool short __a,int __b,vector bool short * __c)9988 vec_stvlxl(vector bool short __a, int __b, vector bool short *__c)
9989 {
9990   return vec_stl(vec_perm(vec_lvrx(__b, __c),
9991                           __a,
9992                           vec_lvsr(__b, (unsigned char *)__c)),
9993                  __b, __c);
9994 }
9995 
9996 static void __ATTRS_o_ai
vec_stvlxl(vector pixel __a,int __b,vector pixel * __c)9997 vec_stvlxl(vector pixel __a, int __b, vector pixel *__c)
9998 {
9999   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10000                           __a,
10001                           vec_lvsr(__b, (unsigned char *)__c)),
10002                  __b, __c);
10003 }
10004 
10005 static void __ATTRS_o_ai
vec_stvlxl(vector int __a,int __b,int * __c)10006 vec_stvlxl(vector int __a, int __b, int *__c)
10007 {
10008   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10009                           __a,
10010                           vec_lvsr(__b, __c)),
10011                  __b, __c);
10012 }
10013 
10014 static void __ATTRS_o_ai
vec_stvlxl(vector int __a,int __b,vector int * __c)10015 vec_stvlxl(vector int __a, int __b, vector int *__c)
10016 {
10017   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10018                           __a,
10019                           vec_lvsr(__b, (unsigned char *)__c)),
10020                  __b, __c);
10021 }
10022 
10023 static void __ATTRS_o_ai
vec_stvlxl(vector unsigned int __a,int __b,unsigned int * __c)10024 vec_stvlxl(vector unsigned int __a, int __b, unsigned int *__c)
10025 {
10026   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10027                           __a,
10028                           vec_lvsr(__b, __c)),
10029                  __b, __c);
10030 }
10031 
10032 static void __ATTRS_o_ai
vec_stvlxl(vector unsigned int __a,int __b,vector unsigned int * __c)10033 vec_stvlxl(vector unsigned int __a, int __b, vector unsigned int *__c)
10034 {
10035   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10036                           __a,
10037                           vec_lvsr(__b, (unsigned char *)__c)),
10038                  __b, __c);
10039 }
10040 
10041 static void __ATTRS_o_ai
vec_stvlxl(vector bool int __a,int __b,vector bool int * __c)10042 vec_stvlxl(vector bool int __a, int __b, vector bool int *__c)
10043 {
10044   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10045                           __a,
10046                           vec_lvsr(__b, (unsigned char *)__c)),
10047                  __b, __c);
10048 }
10049 
10050 static void __ATTRS_o_ai
vec_stvlxl(vector float __a,int __b,vector float * __c)10051 vec_stvlxl(vector float __a, int __b, vector float *__c)
10052 {
10053   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10054                           __a,
10055                           vec_lvsr(__b, (unsigned char *)__c)),
10056                  __b, __c);
10057 }
10058 
10059 /* vec_stvrx */
10060 
10061 static void __ATTRS_o_ai
vec_stvrx(vector signed char __a,int __b,signed char * __c)10062 vec_stvrx(vector signed char __a, int __b, signed char *__c)
10063 {
10064   return vec_st(vec_perm(__a,
10065                          vec_lvlx(__b, __c),
10066                          vec_lvsr(__b, __c)),
10067                 __b, __c);
10068 }
10069 
10070 static void __ATTRS_o_ai
vec_stvrx(vector signed char __a,int __b,vector signed char * __c)10071 vec_stvrx(vector signed char __a, int __b, vector signed char *__c)
10072 {
10073   return vec_st(vec_perm(__a,
10074                          vec_lvlx(__b, __c),
10075                          vec_lvsr(__b, (unsigned char *)__c)),
10076                 __b, __c);
10077 }
10078 
10079 static void __ATTRS_o_ai
vec_stvrx(vector unsigned char __a,int __b,unsigned char * __c)10080 vec_stvrx(vector unsigned char __a, int __b, unsigned char *__c)
10081 {
10082   return vec_st(vec_perm(__a,
10083                          vec_lvlx(__b, __c),
10084                          vec_lvsr(__b, __c)),
10085                 __b, __c);
10086 }
10087 
10088 static void __ATTRS_o_ai
vec_stvrx(vector unsigned char __a,int __b,vector unsigned char * __c)10089 vec_stvrx(vector unsigned char __a, int __b, vector unsigned char *__c)
10090 {
10091   return vec_st(vec_perm(__a,
10092                          vec_lvlx(__b, __c),
10093                          vec_lvsr(__b, (unsigned char *)__c)),
10094                 __b, __c);
10095 }
10096 
10097 static void __ATTRS_o_ai
vec_stvrx(vector bool char __a,int __b,vector bool char * __c)10098 vec_stvrx(vector bool char __a, int __b, vector bool char *__c)
10099 {
10100   return vec_st(vec_perm(__a,
10101                          vec_lvlx(__b, __c),
10102                          vec_lvsr(__b, (unsigned char *)__c)),
10103                 __b, __c);
10104 }
10105 
10106 static void __ATTRS_o_ai
vec_stvrx(vector short __a,int __b,short * __c)10107 vec_stvrx(vector short __a, int __b, short *__c)
10108 {
10109   return vec_st(vec_perm(__a,
10110                          vec_lvlx(__b, __c),
10111                          vec_lvsr(__b, __c)),
10112                 __b, __c);
10113 }
10114 
10115 static void __ATTRS_o_ai
vec_stvrx(vector short __a,int __b,vector short * __c)10116 vec_stvrx(vector short __a, int __b, vector short *__c)
10117 {
10118   return vec_st(vec_perm(__a,
10119                          vec_lvlx(__b, __c),
10120                          vec_lvsr(__b, (unsigned char *)__c)),
10121                 __b, __c);
10122 }
10123 
10124 static void __ATTRS_o_ai
vec_stvrx(vector unsigned short __a,int __b,unsigned short * __c)10125 vec_stvrx(vector unsigned short __a, int __b, unsigned short *__c)
10126 {
10127   return vec_st(vec_perm(__a,
10128                          vec_lvlx(__b, __c),
10129                          vec_lvsr(__b, __c)),
10130                 __b, __c);
10131 }
10132 
10133 static void __ATTRS_o_ai
vec_stvrx(vector unsigned short __a,int __b,vector unsigned short * __c)10134 vec_stvrx(vector unsigned short __a, int __b, vector unsigned short *__c)
10135 {
10136   return vec_st(vec_perm(__a,
10137                          vec_lvlx(__b, __c),
10138                          vec_lvsr(__b, (unsigned char *)__c)),
10139                 __b, __c);
10140 }
10141 
10142 static void __ATTRS_o_ai
vec_stvrx(vector bool short __a,int __b,vector bool short * __c)10143 vec_stvrx(vector bool short __a, int __b, vector bool short *__c)
10144 {
10145   return vec_st(vec_perm(__a,
10146                          vec_lvlx(__b, __c),
10147                          vec_lvsr(__b, (unsigned char *)__c)),
10148                 __b, __c);
10149 }
10150 
10151 static void __ATTRS_o_ai
vec_stvrx(vector pixel __a,int __b,vector pixel * __c)10152 vec_stvrx(vector pixel __a, int __b, vector pixel *__c)
10153 {
10154   return vec_st(vec_perm(__a,
10155                          vec_lvlx(__b, __c),
10156                          vec_lvsr(__b, (unsigned char *)__c)),
10157                 __b, __c);
10158 }
10159 
10160 static void __ATTRS_o_ai
vec_stvrx(vector int __a,int __b,int * __c)10161 vec_stvrx(vector int __a, int __b, int *__c)
10162 {
10163   return vec_st(vec_perm(__a,
10164                          vec_lvlx(__b, __c),
10165                          vec_lvsr(__b, __c)),
10166                 __b, __c);
10167 }
10168 
10169 static void __ATTRS_o_ai
vec_stvrx(vector int __a,int __b,vector int * __c)10170 vec_stvrx(vector int __a, int __b, vector int *__c)
10171 {
10172   return vec_st(vec_perm(__a,
10173                          vec_lvlx(__b, __c),
10174                          vec_lvsr(__b, (unsigned char *)__c)),
10175                 __b, __c);
10176 }
10177 
10178 static void __ATTRS_o_ai
vec_stvrx(vector unsigned int __a,int __b,unsigned int * __c)10179 vec_stvrx(vector unsigned int __a, int __b, unsigned int *__c)
10180 {
10181   return vec_st(vec_perm(__a,
10182                          vec_lvlx(__b, __c),
10183                          vec_lvsr(__b, __c)),
10184                 __b, __c);
10185 }
10186 
10187 static void __ATTRS_o_ai
vec_stvrx(vector unsigned int __a,int __b,vector unsigned int * __c)10188 vec_stvrx(vector unsigned int __a, int __b, vector unsigned int *__c)
10189 {
10190   return vec_st(vec_perm(__a,
10191                          vec_lvlx(__b, __c),
10192                          vec_lvsr(__b, (unsigned char *)__c)),
10193                 __b, __c);
10194 }
10195 
10196 static void __ATTRS_o_ai
vec_stvrx(vector bool int __a,int __b,vector bool int * __c)10197 vec_stvrx(vector bool int __a, int __b, vector bool int *__c)
10198 {
10199   return vec_st(vec_perm(__a,
10200                          vec_lvlx(__b, __c),
10201                          vec_lvsr(__b, (unsigned char *)__c)),
10202                 __b, __c);
10203 }
10204 
10205 static void __ATTRS_o_ai
vec_stvrx(vector float __a,int __b,vector float * __c)10206 vec_stvrx(vector float __a, int __b, vector float *__c)
10207 {
10208   return vec_st(vec_perm(__a,
10209                          vec_lvlx(__b, __c),
10210                          vec_lvsr(__b, (unsigned char *)__c)),
10211                 __b, __c);
10212 }
10213 
10214 /* vec_stvrxl */
10215 
10216 static void __ATTRS_o_ai
vec_stvrxl(vector signed char __a,int __b,signed char * __c)10217 vec_stvrxl(vector signed char __a, int __b, signed char *__c)
10218 {
10219   return vec_stl(vec_perm(__a,
10220                           vec_lvlx(__b, __c),
10221                           vec_lvsr(__b, __c)),
10222                  __b, __c);
10223 }
10224 
10225 static void __ATTRS_o_ai
vec_stvrxl(vector signed char __a,int __b,vector signed char * __c)10226 vec_stvrxl(vector signed char __a, int __b, vector signed char *__c)
10227 {
10228   return vec_stl(vec_perm(__a,
10229                           vec_lvlx(__b, __c),
10230                           vec_lvsr(__b, (unsigned char *)__c)),
10231                  __b, __c);
10232 }
10233 
10234 static void __ATTRS_o_ai
vec_stvrxl(vector unsigned char __a,int __b,unsigned char * __c)10235 vec_stvrxl(vector unsigned char __a, int __b, unsigned char *__c)
10236 {
10237   return vec_stl(vec_perm(__a,
10238                           vec_lvlx(__b, __c),
10239                           vec_lvsr(__b, __c)),
10240                  __b, __c);
10241 }
10242 
10243 static void __ATTRS_o_ai
vec_stvrxl(vector unsigned char __a,int __b,vector unsigned char * __c)10244 vec_stvrxl(vector unsigned char __a, int __b, vector unsigned char *__c)
10245 {
10246   return vec_stl(vec_perm(__a,
10247                           vec_lvlx(__b, __c),
10248                           vec_lvsr(__b, (unsigned char *)__c)),
10249                  __b, __c);
10250 }
10251 
10252 static void __ATTRS_o_ai
vec_stvrxl(vector bool char __a,int __b,vector bool char * __c)10253 vec_stvrxl(vector bool char __a, int __b, vector bool char *__c)
10254 {
10255   return vec_stl(vec_perm(__a,
10256                           vec_lvlx(__b, __c),
10257                           vec_lvsr(__b, (unsigned char *)__c)),
10258                  __b, __c);
10259 }
10260 
10261 static void __ATTRS_o_ai
vec_stvrxl(vector short __a,int __b,short * __c)10262 vec_stvrxl(vector short __a, int __b, short *__c)
10263 {
10264   return vec_stl(vec_perm(__a,
10265                           vec_lvlx(__b, __c),
10266                           vec_lvsr(__b, __c)),
10267                  __b, __c);
10268 }
10269 
10270 static void __ATTRS_o_ai
vec_stvrxl(vector short __a,int __b,vector short * __c)10271 vec_stvrxl(vector short __a, int __b, vector short *__c)
10272 {
10273   return vec_stl(vec_perm(__a,
10274                           vec_lvlx(__b, __c),
10275                           vec_lvsr(__b, (unsigned char *)__c)),
10276                  __b, __c);
10277 }
10278 
10279 static void __ATTRS_o_ai
vec_stvrxl(vector unsigned short __a,int __b,unsigned short * __c)10280 vec_stvrxl(vector unsigned short __a, int __b, unsigned short *__c)
10281 {
10282   return vec_stl(vec_perm(__a,
10283                           vec_lvlx(__b, __c),
10284                           vec_lvsr(__b, __c)),
10285                  __b, __c);
10286 }
10287 
10288 static void __ATTRS_o_ai
vec_stvrxl(vector unsigned short __a,int __b,vector unsigned short * __c)10289 vec_stvrxl(vector unsigned short __a, int __b, vector unsigned short *__c)
10290 {
10291   return vec_stl(vec_perm(__a,
10292                           vec_lvlx(__b, __c),
10293                           vec_lvsr(__b, (unsigned char *)__c)),
10294                  __b, __c);
10295 }
10296 
10297 static void __ATTRS_o_ai
vec_stvrxl(vector bool short __a,int __b,vector bool short * __c)10298 vec_stvrxl(vector bool short __a, int __b, vector bool short *__c)
10299 {
10300   return vec_stl(vec_perm(__a,
10301                           vec_lvlx(__b, __c),
10302                           vec_lvsr(__b, (unsigned char *)__c)),
10303                  __b, __c);
10304 }
10305 
10306 static void __ATTRS_o_ai
vec_stvrxl(vector pixel __a,int __b,vector pixel * __c)10307 vec_stvrxl(vector pixel __a, int __b, vector pixel *__c)
10308 {
10309   return vec_stl(vec_perm(__a,
10310                           vec_lvlx(__b, __c),
10311                           vec_lvsr(__b, (unsigned char *)__c)),
10312                  __b, __c);
10313 }
10314 
10315 static void __ATTRS_o_ai
vec_stvrxl(vector int __a,int __b,int * __c)10316 vec_stvrxl(vector int __a, int __b, int *__c)
10317 {
10318   return vec_stl(vec_perm(__a,
10319                           vec_lvlx(__b, __c),
10320                           vec_lvsr(__b, __c)),
10321                  __b, __c);
10322 }
10323 
10324 static void __ATTRS_o_ai
vec_stvrxl(vector int __a,int __b,vector int * __c)10325 vec_stvrxl(vector int __a, int __b, vector int *__c)
10326 {
10327   return vec_stl(vec_perm(__a,
10328                           vec_lvlx(__b, __c),
10329                           vec_lvsr(__b, (unsigned char *)__c)),
10330                  __b, __c);
10331 }
10332 
10333 static void __ATTRS_o_ai
vec_stvrxl(vector unsigned int __a,int __b,unsigned int * __c)10334 vec_stvrxl(vector unsigned int __a, int __b, unsigned int *__c)
10335 {
10336   return vec_stl(vec_perm(__a,
10337                           vec_lvlx(__b, __c),
10338                           vec_lvsr(__b, __c)),
10339                  __b, __c);
10340 }
10341 
10342 static void __ATTRS_o_ai
vec_stvrxl(vector unsigned int __a,int __b,vector unsigned int * __c)10343 vec_stvrxl(vector unsigned int __a, int __b, vector unsigned int *__c)
10344 {
10345   return vec_stl(vec_perm(__a,
10346                           vec_lvlx(__b, __c),
10347                           vec_lvsr(__b, (unsigned char *)__c)),
10348                  __b, __c);
10349 }
10350 
10351 static void __ATTRS_o_ai
vec_stvrxl(vector bool int __a,int __b,vector bool int * __c)10352 vec_stvrxl(vector bool int __a, int __b, vector bool int *__c)
10353 {
10354   return vec_stl(vec_perm(__a,
10355                           vec_lvlx(__b, __c),
10356                           vec_lvsr(__b, (unsigned char *)__c)),
10357                  __b, __c);
10358 }
10359 
10360 static void __ATTRS_o_ai
vec_stvrxl(vector float __a,int __b,vector float * __c)10361 vec_stvrxl(vector float __a, int __b, vector float *__c)
10362 {
10363   return vec_stl(vec_perm(__a,
10364                           vec_lvlx(__b, __c),
10365                           vec_lvsr(__b, (unsigned char *)__c)),
10366                  __b, __c);
10367 }
10368 
10369 /* vec_promote */
10370 
10371 static vector signed char __ATTRS_o_ai
vec_promote(signed char __a,int __b)10372 vec_promote(signed char __a, int __b)
10373 {
10374   vector signed char __res = (vector signed char)(0);
10375   __res[__b] = __a;
10376   return __res;
10377 }
10378 
10379 static vector unsigned char __ATTRS_o_ai
vec_promote(unsigned char __a,int __b)10380 vec_promote(unsigned char __a, int __b)
10381 {
10382   vector unsigned char __res = (vector unsigned char)(0);
10383   __res[__b] = __a;
10384   return __res;
10385 }
10386 
10387 static vector short __ATTRS_o_ai
vec_promote(short __a,int __b)10388 vec_promote(short __a, int __b)
10389 {
10390   vector short __res = (vector short)(0);
10391   __res[__b] = __a;
10392   return __res;
10393 }
10394 
10395 static vector unsigned short __ATTRS_o_ai
vec_promote(unsigned short __a,int __b)10396 vec_promote(unsigned short __a, int __b)
10397 {
10398   vector unsigned short __res = (vector unsigned short)(0);
10399   __res[__b] = __a;
10400   return __res;
10401 }
10402 
10403 static vector int __ATTRS_o_ai
vec_promote(int __a,int __b)10404 vec_promote(int __a, int __b)
10405 {
10406   vector int __res = (vector int)(0);
10407   __res[__b] = __a;
10408   return __res;
10409 }
10410 
10411 static vector unsigned int __ATTRS_o_ai
vec_promote(unsigned int __a,int __b)10412 vec_promote(unsigned int __a, int __b)
10413 {
10414   vector unsigned int __res = (vector unsigned int)(0);
10415   __res[__b] = __a;
10416   return __res;
10417 }
10418 
10419 static vector float __ATTRS_o_ai
vec_promote(float __a,int __b)10420 vec_promote(float __a, int __b)
10421 {
10422   vector float __res = (vector float)(0);
10423   __res[__b] = __a;
10424   return __res;
10425 }
10426 
10427 /* vec_splats */
10428 
10429 static vector signed char __ATTRS_o_ai
vec_splats(signed char __a)10430 vec_splats(signed char __a)
10431 {
10432   return (vector signed char)(__a);
10433 }
10434 
10435 static vector unsigned char __ATTRS_o_ai
vec_splats(unsigned char __a)10436 vec_splats(unsigned char __a)
10437 {
10438   return (vector unsigned char)(__a);
10439 }
10440 
10441 static vector short __ATTRS_o_ai
vec_splats(short __a)10442 vec_splats(short __a)
10443 {
10444   return (vector short)(__a);
10445 }
10446 
10447 static vector unsigned short __ATTRS_o_ai
vec_splats(unsigned short __a)10448 vec_splats(unsigned short __a)
10449 {
10450   return (vector unsigned short)(__a);
10451 }
10452 
10453 static vector int __ATTRS_o_ai
vec_splats(int __a)10454 vec_splats(int __a)
10455 {
10456   return (vector int)(__a);
10457 }
10458 
10459 static vector unsigned int __ATTRS_o_ai
vec_splats(unsigned int __a)10460 vec_splats(unsigned int __a)
10461 {
10462   return (vector unsigned int)(__a);
10463 }
10464 
10465 static vector float __ATTRS_o_ai
vec_splats(float __a)10466 vec_splats(float __a)
10467 {
10468   return (vector float)(__a);
10469 }
10470 
10471 /* ----------------------------- predicates --------------------------------- */
10472 
10473 /* vec_all_eq */
10474 
10475 static int __ATTRS_o_ai
vec_all_eq(vector signed char __a,vector signed char __b)10476 vec_all_eq(vector signed char __a, vector signed char __b)
10477 {
10478   return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10479 }
10480 
10481 static int __ATTRS_o_ai
vec_all_eq(vector signed char __a,vector bool char __b)10482 vec_all_eq(vector signed char __a, vector bool char __b)
10483 {
10484   return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10485 }
10486 
10487 static int __ATTRS_o_ai
vec_all_eq(vector unsigned char __a,vector unsigned char __b)10488 vec_all_eq(vector unsigned char __a, vector unsigned char __b)
10489 {
10490   return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10491 }
10492 
10493 static int __ATTRS_o_ai
vec_all_eq(vector unsigned char __a,vector bool char __b)10494 vec_all_eq(vector unsigned char __a, vector bool char __b)
10495 {
10496   return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10497 }
10498 
10499 static int __ATTRS_o_ai
vec_all_eq(vector bool char __a,vector signed char __b)10500 vec_all_eq(vector bool char __a, vector signed char __b)
10501 {
10502   return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10503 }
10504 
10505 static int __ATTRS_o_ai
vec_all_eq(vector bool char __a,vector unsigned char __b)10506 vec_all_eq(vector bool char __a, vector unsigned char __b)
10507 {
10508   return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10509 }
10510 
10511 static int __ATTRS_o_ai
vec_all_eq(vector bool char __a,vector bool char __b)10512 vec_all_eq(vector bool char __a, vector bool char __b)
10513 {
10514   return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10515 }
10516 
10517 static int __ATTRS_o_ai
vec_all_eq(vector short __a,vector short __b)10518 vec_all_eq(vector short __a, vector short __b)
10519 {
10520   return __builtin_altivec_vcmpequh_p(__CR6_LT, __a, __b);
10521 }
10522 
10523 static int __ATTRS_o_ai
vec_all_eq(vector short __a,vector bool short __b)10524 vec_all_eq(vector short __a, vector bool short __b)
10525 {
10526   return __builtin_altivec_vcmpequh_p(__CR6_LT, __a, (vector short)__b);
10527 }
10528 
10529 static int __ATTRS_o_ai
vec_all_eq(vector unsigned short __a,vector unsigned short __b)10530 vec_all_eq(vector unsigned short __a, vector unsigned short __b)
10531 {
10532   return
10533     __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10534 }
10535 
10536 static int __ATTRS_o_ai
vec_all_eq(vector unsigned short __a,vector bool short __b)10537 vec_all_eq(vector unsigned short __a, vector bool short __b)
10538 {
10539   return
10540     __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10541 }
10542 
10543 static int __ATTRS_o_ai
vec_all_eq(vector bool short __a,vector short __b)10544 vec_all_eq(vector bool short __a, vector short __b)
10545 {
10546   return
10547     __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10548 }
10549 
10550 static int __ATTRS_o_ai
vec_all_eq(vector bool short __a,vector unsigned short __b)10551 vec_all_eq(vector bool short __a, vector unsigned short __b)
10552 {
10553   return
10554     __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10555 }
10556 
10557 static int __ATTRS_o_ai
vec_all_eq(vector bool short __a,vector bool short __b)10558 vec_all_eq(vector bool short __a, vector bool short __b)
10559 {
10560   return
10561     __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10562 }
10563 
10564 static int __ATTRS_o_ai
vec_all_eq(vector pixel __a,vector pixel __b)10565 vec_all_eq(vector pixel __a, vector pixel __b)
10566 {
10567   return
10568     __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10569 }
10570 
10571 static int __ATTRS_o_ai
vec_all_eq(vector int __a,vector int __b)10572 vec_all_eq(vector int __a, vector int __b)
10573 {
10574   return __builtin_altivec_vcmpequw_p(__CR6_LT, __a, __b);
10575 }
10576 
10577 static int __ATTRS_o_ai
vec_all_eq(vector int __a,vector bool int __b)10578 vec_all_eq(vector int __a, vector bool int __b)
10579 {
10580   return __builtin_altivec_vcmpequw_p(__CR6_LT, __a, (vector int)__b);
10581 }
10582 
10583 static int __ATTRS_o_ai
vec_all_eq(vector unsigned int __a,vector unsigned int __b)10584 vec_all_eq(vector unsigned int __a, vector unsigned int __b)
10585 {
10586   return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10587 }
10588 
10589 static int __ATTRS_o_ai
vec_all_eq(vector unsigned int __a,vector bool int __b)10590 vec_all_eq(vector unsigned int __a, vector bool int __b)
10591 {
10592   return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10593 }
10594 
10595 static int __ATTRS_o_ai
vec_all_eq(vector bool int __a,vector int __b)10596 vec_all_eq(vector bool int __a, vector int __b)
10597 {
10598   return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10599 }
10600 
10601 static int __ATTRS_o_ai
vec_all_eq(vector bool int __a,vector unsigned int __b)10602 vec_all_eq(vector bool int __a, vector unsigned int __b)
10603 {
10604   return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10605 }
10606 
10607 static int __ATTRS_o_ai
vec_all_eq(vector bool int __a,vector bool int __b)10608 vec_all_eq(vector bool int __a, vector bool int __b)
10609 {
10610   return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10611 }
10612 
10613 static int __ATTRS_o_ai
vec_all_eq(vector float __a,vector float __b)10614 vec_all_eq(vector float __a, vector float __b)
10615 {
10616   return __builtin_altivec_vcmpeqfp_p(__CR6_LT, __a, __b);
10617 }
10618 
10619 /* vec_all_ge */
10620 
10621 static int __ATTRS_o_ai
vec_all_ge(vector signed char __a,vector signed char __b)10622 vec_all_ge(vector signed char __a, vector signed char __b)
10623 {
10624   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __b, __a);
10625 }
10626 
10627 static int __ATTRS_o_ai
vec_all_ge(vector signed char __a,vector bool char __b)10628 vec_all_ge(vector signed char __a, vector bool char __b)
10629 {
10630   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, (vector signed char)__b, __a);
10631 }
10632 
10633 static int __ATTRS_o_ai
vec_all_ge(vector unsigned char __a,vector unsigned char __b)10634 vec_all_ge(vector unsigned char __a, vector unsigned char __b)
10635 {
10636   return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __b, __a);
10637 }
10638 
10639 static int __ATTRS_o_ai
vec_all_ge(vector unsigned char __a,vector bool char __b)10640 vec_all_ge(vector unsigned char __a, vector bool char __b)
10641 {
10642   return __builtin_altivec_vcmpgtub_p(__CR6_EQ, (vector unsigned char)__b, __a);
10643 }
10644 
10645 static int __ATTRS_o_ai
vec_all_ge(vector bool char __a,vector signed char __b)10646 vec_all_ge(vector bool char __a, vector signed char __b)
10647 {
10648   return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
10649                                       (vector unsigned char)__b,
10650                                       (vector unsigned char)__a);
10651 }
10652 
10653 static int __ATTRS_o_ai
vec_all_ge(vector bool char __a,vector unsigned char __b)10654 vec_all_ge(vector bool char __a, vector unsigned char __b)
10655 {
10656   return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __b, (vector unsigned char)__a);
10657 }
10658 
10659 static int __ATTRS_o_ai
vec_all_ge(vector bool char __a,vector bool char __b)10660 vec_all_ge(vector bool char __a, vector bool char __b)
10661 {
10662   return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
10663                                       (vector unsigned char)__b,
10664                                       (vector unsigned char)__a);
10665 }
10666 
10667 static int __ATTRS_o_ai
vec_all_ge(vector short __a,vector short __b)10668 vec_all_ge(vector short __a, vector short __b)
10669 {
10670   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __b, __a);
10671 }
10672 
10673 static int __ATTRS_o_ai
vec_all_ge(vector short __a,vector bool short __b)10674 vec_all_ge(vector short __a, vector bool short __b)
10675 {
10676   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, (vector short)__b, __a);
10677 }
10678 
10679 static int __ATTRS_o_ai
vec_all_ge(vector unsigned short __a,vector unsigned short __b)10680 vec_all_ge(vector unsigned short __a, vector unsigned short __b)
10681 {
10682   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __b, __a);
10683 }
10684 
10685 static int __ATTRS_o_ai
vec_all_ge(vector unsigned short __a,vector bool short __b)10686 vec_all_ge(vector unsigned short __a, vector bool short __b)
10687 {
10688   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, (vector unsigned short)__b, __a);
10689 }
10690 
10691 static int __ATTRS_o_ai
vec_all_ge(vector bool short __a,vector short __b)10692 vec_all_ge(vector bool short __a, vector short __b)
10693 {
10694   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
10695                                       (vector unsigned short)__b,
10696                                       (vector unsigned short)__a);
10697 }
10698 
10699 static int __ATTRS_o_ai
vec_all_ge(vector bool short __a,vector unsigned short __b)10700 vec_all_ge(vector bool short __a, vector unsigned short __b)
10701 {
10702   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __b, (vector unsigned short)__a);
10703 }
10704 
10705 static int __ATTRS_o_ai
vec_all_ge(vector bool short __a,vector bool short __b)10706 vec_all_ge(vector bool short __a, vector bool short __b)
10707 {
10708   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
10709                                       (vector unsigned short)__b,
10710                                       (vector unsigned short)__a);
10711 }
10712 
10713 static int __ATTRS_o_ai
vec_all_ge(vector int __a,vector int __b)10714 vec_all_ge(vector int __a, vector int __b)
10715 {
10716   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __b, __a);
10717 }
10718 
10719 static int __ATTRS_o_ai
vec_all_ge(vector int __a,vector bool int __b)10720 vec_all_ge(vector int __a, vector bool int __b)
10721 {
10722   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, (vector int)__b, __a);
10723 }
10724 
10725 static int __ATTRS_o_ai
vec_all_ge(vector unsigned int __a,vector unsigned int __b)10726 vec_all_ge(vector unsigned int __a, vector unsigned int __b)
10727 {
10728   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __b, __a);
10729 }
10730 
10731 static int __ATTRS_o_ai
vec_all_ge(vector unsigned int __a,vector bool int __b)10732 vec_all_ge(vector unsigned int __a, vector bool int __b)
10733 {
10734   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, (vector unsigned int)__b, __a);
10735 }
10736 
10737 static int __ATTRS_o_ai
vec_all_ge(vector bool int __a,vector int __b)10738 vec_all_ge(vector bool int __a, vector int __b)
10739 {
10740   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
10741                                       (vector unsigned int)__b,
10742                                       (vector unsigned int)__a);
10743 }
10744 
10745 static int __ATTRS_o_ai
vec_all_ge(vector bool int __a,vector unsigned int __b)10746 vec_all_ge(vector bool int __a, vector unsigned int __b)
10747 {
10748   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __b, (vector unsigned int)__a);
10749 }
10750 
10751 static int __ATTRS_o_ai
vec_all_ge(vector bool int __a,vector bool int __b)10752 vec_all_ge(vector bool int __a, vector bool int __b)
10753 {
10754   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
10755                                       (vector unsigned int)__b,
10756                                       (vector unsigned int)__a);
10757 }
10758 
10759 static int __ATTRS_o_ai
vec_all_ge(vector float __a,vector float __b)10760 vec_all_ge(vector float __a, vector float __b)
10761 {
10762   return __builtin_altivec_vcmpgefp_p(__CR6_LT, __a, __b);
10763 }
10764 
10765 /* vec_all_gt */
10766 
10767 static int __ATTRS_o_ai
vec_all_gt(vector signed char __a,vector signed char __b)10768 vec_all_gt(vector signed char __a, vector signed char __b)
10769 {
10770   return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __a, __b);
10771 }
10772 
10773 static int __ATTRS_o_ai
vec_all_gt(vector signed char __a,vector bool char __b)10774 vec_all_gt(vector signed char __a, vector bool char __b)
10775 {
10776   return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __a, (vector signed char)__b);
10777 }
10778 
10779 static int __ATTRS_o_ai
vec_all_gt(vector unsigned char __a,vector unsigned char __b)10780 vec_all_gt(vector unsigned char __a, vector unsigned char __b)
10781 {
10782   return __builtin_altivec_vcmpgtub_p(__CR6_LT, __a, __b);
10783 }
10784 
10785 static int __ATTRS_o_ai
vec_all_gt(vector unsigned char __a,vector bool char __b)10786 vec_all_gt(vector unsigned char __a, vector bool char __b)
10787 {
10788   return __builtin_altivec_vcmpgtub_p(__CR6_LT, __a, (vector unsigned char)__b);
10789 }
10790 
10791 static int __ATTRS_o_ai
vec_all_gt(vector bool char __a,vector signed char __b)10792 vec_all_gt(vector bool char __a, vector signed char __b)
10793 {
10794   return __builtin_altivec_vcmpgtub_p(__CR6_LT,
10795                                       (vector unsigned char)__a,
10796                                       (vector unsigned char)__b);
10797 }
10798 
10799 static int __ATTRS_o_ai
vec_all_gt(vector bool char __a,vector unsigned char __b)10800 vec_all_gt(vector bool char __a, vector unsigned char __b)
10801 {
10802   return __builtin_altivec_vcmpgtub_p(__CR6_LT, (vector unsigned char)__a, __b);
10803 }
10804 
10805 static int __ATTRS_o_ai
vec_all_gt(vector bool char __a,vector bool char __b)10806 vec_all_gt(vector bool char __a, vector bool char __b)
10807 {
10808   return __builtin_altivec_vcmpgtub_p(__CR6_LT,
10809                                       (vector unsigned char)__a,
10810                                       (vector unsigned char)__b);
10811 }
10812 
10813 static int __ATTRS_o_ai
vec_all_gt(vector short __a,vector short __b)10814 vec_all_gt(vector short __a, vector short __b)
10815 {
10816   return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __a, __b);
10817 }
10818 
10819 static int __ATTRS_o_ai
vec_all_gt(vector short __a,vector bool short __b)10820 vec_all_gt(vector short __a, vector bool short __b)
10821 {
10822   return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __a, (vector short)__b);
10823 }
10824 
10825 static int __ATTRS_o_ai
vec_all_gt(vector unsigned short __a,vector unsigned short __b)10826 vec_all_gt(vector unsigned short __a, vector unsigned short __b)
10827 {
10828   return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __a, __b);
10829 }
10830 
10831 static int __ATTRS_o_ai
vec_all_gt(vector unsigned short __a,vector bool short __b)10832 vec_all_gt(vector unsigned short __a, vector bool short __b)
10833 {
10834   return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __a, (vector unsigned short)__b);
10835 }
10836 
10837 static int __ATTRS_o_ai
vec_all_gt(vector bool short __a,vector short __b)10838 vec_all_gt(vector bool short __a, vector short __b)
10839 {
10840   return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
10841                                       (vector unsigned short)__a,
10842                                       (vector unsigned short)__b);
10843 }
10844 
10845 static int __ATTRS_o_ai
vec_all_gt(vector bool short __a,vector unsigned short __b)10846 vec_all_gt(vector bool short __a, vector unsigned short __b)
10847 {
10848   return __builtin_altivec_vcmpgtuh_p(__CR6_LT, (vector unsigned short)__a, __b);
10849 }
10850 
10851 static int __ATTRS_o_ai
vec_all_gt(vector bool short __a,vector bool short __b)10852 vec_all_gt(vector bool short __a, vector bool short __b)
10853 {
10854   return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
10855                                       (vector unsigned short)__a,
10856                                       (vector unsigned short)__b);
10857 }
10858 
10859 static int __ATTRS_o_ai
vec_all_gt(vector int __a,vector int __b)10860 vec_all_gt(vector int __a, vector int __b)
10861 {
10862   return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __a, __b);
10863 }
10864 
10865 static int __ATTRS_o_ai
vec_all_gt(vector int __a,vector bool int __b)10866 vec_all_gt(vector int __a, vector bool int __b)
10867 {
10868   return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __a, (vector int)__b);
10869 }
10870 
10871 static int __ATTRS_o_ai
vec_all_gt(vector unsigned int __a,vector unsigned int __b)10872 vec_all_gt(vector unsigned int __a, vector unsigned int __b)
10873 {
10874   return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __a, __b);
10875 }
10876 
10877 static int __ATTRS_o_ai
vec_all_gt(vector unsigned int __a,vector bool int __b)10878 vec_all_gt(vector unsigned int __a, vector bool int __b)
10879 {
10880   return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __a, (vector unsigned int)__b);
10881 }
10882 
10883 static int __ATTRS_o_ai
vec_all_gt(vector bool int __a,vector int __b)10884 vec_all_gt(vector bool int __a, vector int __b)
10885 {
10886   return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
10887                                       (vector unsigned int)__a,
10888                                       (vector unsigned int)__b);
10889 }
10890 
10891 static int __ATTRS_o_ai
vec_all_gt(vector bool int __a,vector unsigned int __b)10892 vec_all_gt(vector bool int __a, vector unsigned int __b)
10893 {
10894   return __builtin_altivec_vcmpgtuw_p(__CR6_LT, (vector unsigned int)__a, __b);
10895 }
10896 
10897 static int __ATTRS_o_ai
vec_all_gt(vector bool int __a,vector bool int __b)10898 vec_all_gt(vector bool int __a, vector bool int __b)
10899 {
10900   return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
10901                                       (vector unsigned int)__a,
10902                                       (vector unsigned int)__b);
10903 }
10904 
10905 static int __ATTRS_o_ai
vec_all_gt(vector float __a,vector float __b)10906 vec_all_gt(vector float __a, vector float __b)
10907 {
10908   return __builtin_altivec_vcmpgtfp_p(__CR6_LT, __a, __b);
10909 }
10910 
10911 /* vec_all_in */
10912 
10913 static int __attribute__((__always_inline__))
vec_all_in(vector float __a,vector float __b)10914 vec_all_in(vector float __a, vector float __b)
10915 {
10916   return __builtin_altivec_vcmpbfp_p(__CR6_EQ, __a, __b);
10917 }
10918 
10919 /* vec_all_le */
10920 
10921 static int __ATTRS_o_ai
vec_all_le(vector signed char __a,vector signed char __b)10922 vec_all_le(vector signed char __a, vector signed char __b)
10923 {
10924   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __a, __b);
10925 }
10926 
10927 static int __ATTRS_o_ai
vec_all_le(vector signed char __a,vector bool char __b)10928 vec_all_le(vector signed char __a, vector bool char __b)
10929 {
10930   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __a, (vector signed char)__b);
10931 }
10932 
10933 static int __ATTRS_o_ai
vec_all_le(vector unsigned char __a,vector unsigned char __b)10934 vec_all_le(vector unsigned char __a, vector unsigned char __b)
10935 {
10936   return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __a, __b);
10937 }
10938 
10939 static int __ATTRS_o_ai
vec_all_le(vector unsigned char __a,vector bool char __b)10940 vec_all_le(vector unsigned char __a, vector bool char __b)
10941 {
10942   return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __a, (vector unsigned char)__b);
10943 }
10944 
10945 static int __ATTRS_o_ai
vec_all_le(vector bool char __a,vector signed char __b)10946 vec_all_le(vector bool char __a, vector signed char __b)
10947 {
10948   return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
10949                                       (vector unsigned char)__a,
10950                                       (vector unsigned char)__b);
10951 }
10952 
10953 static int __ATTRS_o_ai
vec_all_le(vector bool char __a,vector unsigned char __b)10954 vec_all_le(vector bool char __a, vector unsigned char __b)
10955 {
10956   return __builtin_altivec_vcmpgtub_p(__CR6_EQ, (vector unsigned char)__a, __b);
10957 }
10958 
10959 static int __ATTRS_o_ai
vec_all_le(vector bool char __a,vector bool char __b)10960 vec_all_le(vector bool char __a, vector bool char __b)
10961 {
10962   return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
10963                                       (vector unsigned char)__a,
10964                                       (vector unsigned char)__b);
10965 }
10966 
10967 static int __ATTRS_o_ai
vec_all_le(vector short __a,vector short __b)10968 vec_all_le(vector short __a, vector short __b)
10969 {
10970   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __a, __b);
10971 }
10972 
10973 static int __ATTRS_o_ai
vec_all_le(vector short __a,vector bool short __b)10974 vec_all_le(vector short __a, vector bool short __b)
10975 {
10976   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __a, (vector short)__b);
10977 }
10978 
10979 static int __ATTRS_o_ai
vec_all_le(vector unsigned short __a,vector unsigned short __b)10980 vec_all_le(vector unsigned short __a, vector unsigned short __b)
10981 {
10982   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __a, __b);
10983 }
10984 
10985 static int __ATTRS_o_ai
vec_all_le(vector unsigned short __a,vector bool short __b)10986 vec_all_le(vector unsigned short __a, vector bool short __b)
10987 {
10988   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __a, (vector unsigned short)__b);
10989 }
10990 
10991 static int __ATTRS_o_ai
vec_all_le(vector bool short __a,vector short __b)10992 vec_all_le(vector bool short __a, vector short __b)
10993 {
10994   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
10995                                       (vector unsigned short)__a,
10996                                       (vector unsigned short)__b);
10997 }
10998 
10999 static int __ATTRS_o_ai
vec_all_le(vector bool short __a,vector unsigned short __b)11000 vec_all_le(vector bool short __a, vector unsigned short __b)
11001 {
11002   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, (vector unsigned short)__a, __b);
11003 }
11004 
11005 static int __ATTRS_o_ai
vec_all_le(vector bool short __a,vector bool short __b)11006 vec_all_le(vector bool short __a, vector bool short __b)
11007 {
11008   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
11009                                       (vector unsigned short)__a,
11010                                       (vector unsigned short)__b);
11011 }
11012 
11013 static int __ATTRS_o_ai
vec_all_le(vector int __a,vector int __b)11014 vec_all_le(vector int __a, vector int __b)
11015 {
11016   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __a, __b);
11017 }
11018 
11019 static int __ATTRS_o_ai
vec_all_le(vector int __a,vector bool int __b)11020 vec_all_le(vector int __a, vector bool int __b)
11021 {
11022   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __a, (vector int)__b);
11023 }
11024 
11025 static int __ATTRS_o_ai
vec_all_le(vector unsigned int __a,vector unsigned int __b)11026 vec_all_le(vector unsigned int __a, vector unsigned int __b)
11027 {
11028   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __a, __b);
11029 }
11030 
11031 static int __ATTRS_o_ai
vec_all_le(vector unsigned int __a,vector bool int __b)11032 vec_all_le(vector unsigned int __a, vector bool int __b)
11033 {
11034   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __a, (vector unsigned int)__b);
11035 }
11036 
11037 static int __ATTRS_o_ai
vec_all_le(vector bool int __a,vector int __b)11038 vec_all_le(vector bool int __a, vector int __b)
11039 {
11040   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
11041                                       (vector unsigned int)__a,
11042                                       (vector unsigned int)__b);
11043 }
11044 
11045 static int __ATTRS_o_ai
vec_all_le(vector bool int __a,vector unsigned int __b)11046 vec_all_le(vector bool int __a, vector unsigned int __b)
11047 {
11048   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, (vector unsigned int)__a, __b);
11049 }
11050 
11051 static int __ATTRS_o_ai
vec_all_le(vector bool int __a,vector bool int __b)11052 vec_all_le(vector bool int __a, vector bool int __b)
11053 {
11054   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
11055                                       (vector unsigned int)__a,
11056                                       (vector unsigned int)__b);
11057 }
11058 
11059 static int __ATTRS_o_ai
vec_all_le(vector float __a,vector float __b)11060 vec_all_le(vector float __a, vector float __b)
11061 {
11062   return __builtin_altivec_vcmpgefp_p(__CR6_LT, __b, __a);
11063 }
11064 
11065 /* vec_all_lt */
11066 
11067 static int __ATTRS_o_ai
vec_all_lt(vector signed char __a,vector signed char __b)11068 vec_all_lt(vector signed char __a, vector signed char __b)
11069 {
11070   return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __b, __a);
11071 }
11072 
11073 static int __ATTRS_o_ai
vec_all_lt(vector signed char __a,vector bool char __b)11074 vec_all_lt(vector signed char __a, vector bool char __b)
11075 {
11076   return __builtin_altivec_vcmpgtsb_p(__CR6_LT, (vector signed char)__b, __a);
11077 }
11078 
11079 static int __ATTRS_o_ai
vec_all_lt(vector unsigned char __a,vector unsigned char __b)11080 vec_all_lt(vector unsigned char __a, vector unsigned char __b)
11081 {
11082   return __builtin_altivec_vcmpgtub_p(__CR6_LT, __b, __a);
11083 }
11084 
11085 static int __ATTRS_o_ai
vec_all_lt(vector unsigned char __a,vector bool char __b)11086 vec_all_lt(vector unsigned char __a, vector bool char __b)
11087 {
11088   return __builtin_altivec_vcmpgtub_p(__CR6_LT, (vector unsigned char)__b, __a);
11089 }
11090 
11091 static int __ATTRS_o_ai
vec_all_lt(vector bool char __a,vector signed char __b)11092 vec_all_lt(vector bool char __a, vector signed char __b)
11093 {
11094   return __builtin_altivec_vcmpgtub_p(__CR6_LT,
11095                                       (vector unsigned char)__b,
11096                                       (vector unsigned char)__a);
11097 }
11098 
11099 static int __ATTRS_o_ai
vec_all_lt(vector bool char __a,vector unsigned char __b)11100 vec_all_lt(vector bool char __a, vector unsigned char __b)
11101 {
11102   return __builtin_altivec_vcmpgtub_p(__CR6_LT, __b, (vector unsigned char)__a);
11103 }
11104 
11105 static int __ATTRS_o_ai
vec_all_lt(vector bool char __a,vector bool char __b)11106 vec_all_lt(vector bool char __a, vector bool char __b)
11107 {
11108   return __builtin_altivec_vcmpgtub_p(__CR6_LT,
11109                                       (vector unsigned char)__b,
11110                                       (vector unsigned char)__a);
11111 }
11112 
11113 static int __ATTRS_o_ai
vec_all_lt(vector short __a,vector short __b)11114 vec_all_lt(vector short __a, vector short __b)
11115 {
11116   return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __b, __a);
11117 }
11118 
11119 static int __ATTRS_o_ai
vec_all_lt(vector short __a,vector bool short __b)11120 vec_all_lt(vector short __a, vector bool short __b)
11121 {
11122   return __builtin_altivec_vcmpgtsh_p(__CR6_LT, (vector short)__b, __a);
11123 }
11124 
11125 static int __ATTRS_o_ai
vec_all_lt(vector unsigned short __a,vector unsigned short __b)11126 vec_all_lt(vector unsigned short __a, vector unsigned short __b)
11127 {
11128   return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __b, __a);
11129 }
11130 
11131 static int __ATTRS_o_ai
vec_all_lt(vector unsigned short __a,vector bool short __b)11132 vec_all_lt(vector unsigned short __a, vector bool short __b)
11133 {
11134   return __builtin_altivec_vcmpgtuh_p(__CR6_LT, (vector unsigned short)__b, __a);
11135 }
11136 
11137 static int __ATTRS_o_ai
vec_all_lt(vector bool short __a,vector short __b)11138 vec_all_lt(vector bool short __a, vector short __b)
11139 {
11140   return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
11141                                       (vector unsigned short)__b,
11142                                       (vector unsigned short)__a);
11143 }
11144 
11145 static int __ATTRS_o_ai
vec_all_lt(vector bool short __a,vector unsigned short __b)11146 vec_all_lt(vector bool short __a, vector unsigned short __b)
11147 {
11148   return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __b, (vector unsigned short)__a);
11149 }
11150 
11151 static int __ATTRS_o_ai
vec_all_lt(vector bool short __a,vector bool short __b)11152 vec_all_lt(vector bool short __a, vector bool short __b)
11153 {
11154   return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
11155                                       (vector unsigned short)__b,
11156                                       (vector unsigned short)__a);
11157 }
11158 
11159 static int __ATTRS_o_ai
vec_all_lt(vector int __a,vector int __b)11160 vec_all_lt(vector int __a, vector int __b)
11161 {
11162   return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __b, __a);
11163 }
11164 
11165 static int __ATTRS_o_ai
vec_all_lt(vector int __a,vector bool int __b)11166 vec_all_lt(vector int __a, vector bool int __b)
11167 {
11168   return __builtin_altivec_vcmpgtsw_p(__CR6_LT, (vector int)__b, __a);
11169 }
11170 
11171 static int __ATTRS_o_ai
vec_all_lt(vector unsigned int __a,vector unsigned int __b)11172 vec_all_lt(vector unsigned int __a, vector unsigned int __b)
11173 {
11174   return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __b, __a);
11175 }
11176 
11177 static int __ATTRS_o_ai
vec_all_lt(vector unsigned int __a,vector bool int __b)11178 vec_all_lt(vector unsigned int __a, vector bool int __b)
11179 {
11180   return __builtin_altivec_vcmpgtuw_p(__CR6_LT, (vector unsigned int)__b, __a);
11181 }
11182 
11183 static int __ATTRS_o_ai
vec_all_lt(vector bool int __a,vector int __b)11184 vec_all_lt(vector bool int __a, vector int __b)
11185 {
11186   return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
11187                                       (vector unsigned int)__b,
11188                                       (vector unsigned int)__a);
11189 }
11190 
11191 static int __ATTRS_o_ai
vec_all_lt(vector bool int __a,vector unsigned int __b)11192 vec_all_lt(vector bool int __a, vector unsigned int __b)
11193 {
11194   return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __b, (vector unsigned int)__a);
11195 }
11196 
11197 static int __ATTRS_o_ai
vec_all_lt(vector bool int __a,vector bool int __b)11198 vec_all_lt(vector bool int __a, vector bool int __b)
11199 {
11200   return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
11201                                       (vector unsigned int)__b,
11202                                       (vector unsigned int)__a);
11203 }
11204 
11205 static int __ATTRS_o_ai
vec_all_lt(vector float __a,vector float __b)11206 vec_all_lt(vector float __a, vector float __b)
11207 {
11208   return __builtin_altivec_vcmpgtfp_p(__CR6_LT, __b, __a);
11209 }
11210 
11211 /* vec_all_nan */
11212 
11213 static int __attribute__((__always_inline__))
vec_all_nan(vector float __a)11214 vec_all_nan(vector float __a)
11215 {
11216   return __builtin_altivec_vcmpeqfp_p(__CR6_EQ, __a, __a);
11217 }
11218 
11219 /* vec_all_ne */
11220 
11221 static int __ATTRS_o_ai
vec_all_ne(vector signed char __a,vector signed char __b)11222 vec_all_ne(vector signed char __a, vector signed char __b)
11223 {
11224   return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11225 }
11226 
11227 static int __ATTRS_o_ai
vec_all_ne(vector signed char __a,vector bool char __b)11228 vec_all_ne(vector signed char __a, vector bool char __b)
11229 {
11230   return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11231 }
11232 
11233 static int __ATTRS_o_ai
vec_all_ne(vector unsigned char __a,vector unsigned char __b)11234 vec_all_ne(vector unsigned char __a, vector unsigned char __b)
11235 {
11236   return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11237 }
11238 
11239 static int __ATTRS_o_ai
vec_all_ne(vector unsigned char __a,vector bool char __b)11240 vec_all_ne(vector unsigned char __a, vector bool char __b)
11241 {
11242   return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11243 }
11244 
11245 static int __ATTRS_o_ai
vec_all_ne(vector bool char __a,vector signed char __b)11246 vec_all_ne(vector bool char __a, vector signed char __b)
11247 {
11248   return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11249 }
11250 
11251 static int __ATTRS_o_ai
vec_all_ne(vector bool char __a,vector unsigned char __b)11252 vec_all_ne(vector bool char __a, vector unsigned char __b)
11253 {
11254   return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11255 }
11256 
11257 static int __ATTRS_o_ai
vec_all_ne(vector bool char __a,vector bool char __b)11258 vec_all_ne(vector bool char __a, vector bool char __b)
11259 {
11260   return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11261 }
11262 
11263 static int __ATTRS_o_ai
vec_all_ne(vector short __a,vector short __b)11264 vec_all_ne(vector short __a, vector short __b)
11265 {
11266   return __builtin_altivec_vcmpequh_p(__CR6_EQ, __a, __b);
11267 }
11268 
11269 static int __ATTRS_o_ai
vec_all_ne(vector short __a,vector bool short __b)11270 vec_all_ne(vector short __a, vector bool short __b)
11271 {
11272   return __builtin_altivec_vcmpequh_p(__CR6_EQ, __a, (vector short)__b);
11273 }
11274 
11275 static int __ATTRS_o_ai
vec_all_ne(vector unsigned short __a,vector unsigned short __b)11276 vec_all_ne(vector unsigned short __a, vector unsigned short __b)
11277 {
11278   return
11279     __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11280 }
11281 
11282 static int __ATTRS_o_ai
vec_all_ne(vector unsigned short __a,vector bool short __b)11283 vec_all_ne(vector unsigned short __a, vector bool short __b)
11284 {
11285   return
11286     __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11287 }
11288 
11289 static int __ATTRS_o_ai
vec_all_ne(vector bool short __a,vector short __b)11290 vec_all_ne(vector bool short __a, vector short __b)
11291 {
11292   return
11293     __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11294 }
11295 
11296 static int __ATTRS_o_ai
vec_all_ne(vector bool short __a,vector unsigned short __b)11297 vec_all_ne(vector bool short __a, vector unsigned short __b)
11298 {
11299   return
11300     __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11301 }
11302 
11303 static int __ATTRS_o_ai
vec_all_ne(vector bool short __a,vector bool short __b)11304 vec_all_ne(vector bool short __a, vector bool short __b)
11305 {
11306   return
11307     __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11308 }
11309 
11310 static int __ATTRS_o_ai
vec_all_ne(vector pixel __a,vector pixel __b)11311 vec_all_ne(vector pixel __a, vector pixel __b)
11312 {
11313   return
11314     __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11315 }
11316 
11317 static int __ATTRS_o_ai
vec_all_ne(vector int __a,vector int __b)11318 vec_all_ne(vector int __a, vector int __b)
11319 {
11320   return __builtin_altivec_vcmpequw_p(__CR6_EQ, __a, __b);
11321 }
11322 
11323 static int __ATTRS_o_ai
vec_all_ne(vector int __a,vector bool int __b)11324 vec_all_ne(vector int __a, vector bool int __b)
11325 {
11326   return __builtin_altivec_vcmpequw_p(__CR6_EQ, __a, (vector int)__b);
11327 }
11328 
11329 static int __ATTRS_o_ai
vec_all_ne(vector unsigned int __a,vector unsigned int __b)11330 vec_all_ne(vector unsigned int __a, vector unsigned int __b)
11331 {
11332   return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11333 }
11334 
11335 static int __ATTRS_o_ai
vec_all_ne(vector unsigned int __a,vector bool int __b)11336 vec_all_ne(vector unsigned int __a, vector bool int __b)
11337 {
11338   return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11339 }
11340 
11341 static int __ATTRS_o_ai
vec_all_ne(vector bool int __a,vector int __b)11342 vec_all_ne(vector bool int __a, vector int __b)
11343 {
11344   return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11345 }
11346 
11347 static int __ATTRS_o_ai
vec_all_ne(vector bool int __a,vector unsigned int __b)11348 vec_all_ne(vector bool int __a, vector unsigned int __b)
11349 {
11350   return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11351 }
11352 
11353 static int __ATTRS_o_ai
vec_all_ne(vector bool int __a,vector bool int __b)11354 vec_all_ne(vector bool int __a, vector bool int __b)
11355 {
11356   return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11357 }
11358 
11359 static int __ATTRS_o_ai
vec_all_ne(vector float __a,vector float __b)11360 vec_all_ne(vector float __a, vector float __b)
11361 {
11362   return __builtin_altivec_vcmpeqfp_p(__CR6_EQ, __a, __b);
11363 }
11364 
11365 /* vec_all_nge */
11366 
11367 static int __attribute__((__always_inline__))
vec_all_nge(vector float __a,vector float __b)11368 vec_all_nge(vector float __a, vector float __b)
11369 {
11370   return __builtin_altivec_vcmpgefp_p(__CR6_EQ, __a, __b);
11371 }
11372 
11373 /* vec_all_ngt */
11374 
11375 static int __attribute__((__always_inline__))
vec_all_ngt(vector float __a,vector float __b)11376 vec_all_ngt(vector float __a, vector float __b)
11377 {
11378   return __builtin_altivec_vcmpgtfp_p(__CR6_EQ, __a, __b);
11379 }
11380 
11381 /* vec_all_nle */
11382 
11383 static int __attribute__((__always_inline__))
vec_all_nle(vector float __a,vector float __b)11384 vec_all_nle(vector float __a, vector float __b)
11385 {
11386   return __builtin_altivec_vcmpgefp_p(__CR6_EQ, __b, __a);
11387 }
11388 
11389 /* vec_all_nlt */
11390 
11391 static int __attribute__((__always_inline__))
vec_all_nlt(vector float __a,vector float __b)11392 vec_all_nlt(vector float __a, vector float __b)
11393 {
11394   return __builtin_altivec_vcmpgtfp_p(__CR6_EQ, __b, __a);
11395 }
11396 
11397 /* vec_all_numeric */
11398 
11399 static int __attribute__((__always_inline__))
vec_all_numeric(vector float __a)11400 vec_all_numeric(vector float __a)
11401 {
11402   return __builtin_altivec_vcmpeqfp_p(__CR6_LT, __a, __a);
11403 }
11404 
11405 /* vec_any_eq */
11406 
11407 static int __ATTRS_o_ai
vec_any_eq(vector signed char __a,vector signed char __b)11408 vec_any_eq(vector signed char __a, vector signed char __b)
11409 {
11410   return
11411     __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11412 }
11413 
11414 static int __ATTRS_o_ai
vec_any_eq(vector signed char __a,vector bool char __b)11415 vec_any_eq(vector signed char __a, vector bool char __b)
11416 {
11417   return
11418     __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11419 }
11420 
11421 static int __ATTRS_o_ai
vec_any_eq(vector unsigned char __a,vector unsigned char __b)11422 vec_any_eq(vector unsigned char __a, vector unsigned char __b)
11423 {
11424   return
11425     __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11426 }
11427 
11428 static int __ATTRS_o_ai
vec_any_eq(vector unsigned char __a,vector bool char __b)11429 vec_any_eq(vector unsigned char __a, vector bool char __b)
11430 {
11431   return
11432     __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11433 }
11434 
11435 static int __ATTRS_o_ai
vec_any_eq(vector bool char __a,vector signed char __b)11436 vec_any_eq(vector bool char __a, vector signed char __b)
11437 {
11438   return
11439     __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11440 }
11441 
11442 static int __ATTRS_o_ai
vec_any_eq(vector bool char __a,vector unsigned char __b)11443 vec_any_eq(vector bool char __a, vector unsigned char __b)
11444 {
11445   return
11446     __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11447 }
11448 
11449 static int __ATTRS_o_ai
vec_any_eq(vector bool char __a,vector bool char __b)11450 vec_any_eq(vector bool char __a, vector bool char __b)
11451 {
11452   return
11453     __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11454 }
11455 
11456 static int __ATTRS_o_ai
vec_any_eq(vector short __a,vector short __b)11457 vec_any_eq(vector short __a, vector short __b)
11458 {
11459   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, __a, __b);
11460 }
11461 
11462 static int __ATTRS_o_ai
vec_any_eq(vector short __a,vector bool short __b)11463 vec_any_eq(vector short __a, vector bool short __b)
11464 {
11465   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, __a, (vector short)__b);
11466 }
11467 
11468 static int __ATTRS_o_ai
vec_any_eq(vector unsigned short __a,vector unsigned short __b)11469 vec_any_eq(vector unsigned short __a, vector unsigned short __b)
11470 {
11471   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11472                                       (vector short)__a,
11473                                       (vector short)__b);
11474 }
11475 
11476 static int __ATTRS_o_ai
vec_any_eq(vector unsigned short __a,vector bool short __b)11477 vec_any_eq(vector unsigned short __a, vector bool short __b)
11478 {
11479   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11480                                       (vector short)__a,
11481                                       (vector short)__b);
11482 }
11483 
11484 static int __ATTRS_o_ai
vec_any_eq(vector bool short __a,vector short __b)11485 vec_any_eq(vector bool short __a, vector short __b)
11486 {
11487   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11488                                       (vector short)__a,
11489                                       (vector short)__b);
11490 }
11491 
11492 static int __ATTRS_o_ai
vec_any_eq(vector bool short __a,vector unsigned short __b)11493 vec_any_eq(vector bool short __a, vector unsigned short __b)
11494 {
11495   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11496                                       (vector short)__a,
11497                                       (vector short)__b);
11498 }
11499 
11500 static int __ATTRS_o_ai
vec_any_eq(vector bool short __a,vector bool short __b)11501 vec_any_eq(vector bool short __a, vector bool short __b)
11502 {
11503   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11504                                       (vector short)__a,
11505                                       (vector short)__b);
11506 }
11507 
11508 static int __ATTRS_o_ai
vec_any_eq(vector pixel __a,vector pixel __b)11509 vec_any_eq(vector pixel __a, vector pixel __b)
11510 {
11511   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11512                                       (vector short)__a,
11513                                       (vector short)__b);
11514 }
11515 
11516 static int __ATTRS_o_ai
vec_any_eq(vector int __a,vector int __b)11517 vec_any_eq(vector int __a, vector int __b)
11518 {
11519   return __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, __a, __b);
11520 }
11521 
11522 static int __ATTRS_o_ai
vec_any_eq(vector int __a,vector bool int __b)11523 vec_any_eq(vector int __a, vector bool int __b)
11524 {
11525   return __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, __a, (vector int)__b);
11526 }
11527 
11528 static int __ATTRS_o_ai
vec_any_eq(vector unsigned int __a,vector unsigned int __b)11529 vec_any_eq(vector unsigned int __a, vector unsigned int __b)
11530 {
11531   return
11532     __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11533 }
11534 
11535 static int __ATTRS_o_ai
vec_any_eq(vector unsigned int __a,vector bool int __b)11536 vec_any_eq(vector unsigned int __a, vector bool int __b)
11537 {
11538   return
11539     __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11540 }
11541 
11542 static int __ATTRS_o_ai
vec_any_eq(vector bool int __a,vector int __b)11543 vec_any_eq(vector bool int __a, vector int __b)
11544 {
11545   return
11546     __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11547 }
11548 
11549 static int __ATTRS_o_ai
vec_any_eq(vector bool int __a,vector unsigned int __b)11550 vec_any_eq(vector bool int __a, vector unsigned int __b)
11551 {
11552   return
11553     __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11554 }
11555 
11556 static int __ATTRS_o_ai
vec_any_eq(vector bool int __a,vector bool int __b)11557 vec_any_eq(vector bool int __a, vector bool int __b)
11558 {
11559   return
11560     __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11561 }
11562 
11563 static int __ATTRS_o_ai
vec_any_eq(vector float __a,vector float __b)11564 vec_any_eq(vector float __a, vector float __b)
11565 {
11566   return __builtin_altivec_vcmpeqfp_p(__CR6_EQ_REV, __a, __b);
11567 }
11568 
11569 /* vec_any_ge */
11570 
11571 static int __ATTRS_o_ai
vec_any_ge(vector signed char __a,vector signed char __b)11572 vec_any_ge(vector signed char __a, vector signed char __b)
11573 {
11574   return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __b, __a);
11575 }
11576 
11577 static int __ATTRS_o_ai
vec_any_ge(vector signed char __a,vector bool char __b)11578 vec_any_ge(vector signed char __a, vector bool char __b)
11579 {
11580   return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, (vector signed char)__b, __a);
11581 }
11582 
11583 static int __ATTRS_o_ai
vec_any_ge(vector unsigned char __a,vector unsigned char __b)11584 vec_any_ge(vector unsigned char __a, vector unsigned char __b)
11585 {
11586   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __b, __a);
11587 }
11588 
11589 static int __ATTRS_o_ai
vec_any_ge(vector unsigned char __a,vector bool char __b)11590 vec_any_ge(vector unsigned char __a, vector bool char __b)
11591 {
11592   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, (vector unsigned char)__b, __a);
11593 }
11594 
11595 static int __ATTRS_o_ai
vec_any_ge(vector bool char __a,vector signed char __b)11596 vec_any_ge(vector bool char __a, vector signed char __b)
11597 {
11598   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
11599                                       (vector unsigned char)__b,
11600                                       (vector unsigned char)__a);
11601 }
11602 
11603 static int __ATTRS_o_ai
vec_any_ge(vector bool char __a,vector unsigned char __b)11604 vec_any_ge(vector bool char __a, vector unsigned char __b)
11605 {
11606   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __b, (vector unsigned char)__a);
11607 }
11608 
11609 static int __ATTRS_o_ai
vec_any_ge(vector bool char __a,vector bool char __b)11610 vec_any_ge(vector bool char __a, vector bool char __b)
11611 {
11612   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
11613                                       (vector unsigned char)__b,
11614                                       (vector unsigned char)__a);
11615 }
11616 
11617 static int __ATTRS_o_ai
vec_any_ge(vector short __a,vector short __b)11618 vec_any_ge(vector short __a, vector short __b)
11619 {
11620   return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __b, __a);
11621 }
11622 
11623 static int __ATTRS_o_ai
vec_any_ge(vector short __a,vector bool short __b)11624 vec_any_ge(vector short __a, vector bool short __b)
11625 {
11626   return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, (vector short)__b, __a);
11627 }
11628 
11629 static int __ATTRS_o_ai
vec_any_ge(vector unsigned short __a,vector unsigned short __b)11630 vec_any_ge(vector unsigned short __a, vector unsigned short __b)
11631 {
11632   return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __b, __a);
11633 }
11634 
11635 static int __ATTRS_o_ai
vec_any_ge(vector unsigned short __a,vector bool short __b)11636 vec_any_ge(vector unsigned short __a, vector bool short __b)
11637 {
11638   return
11639     __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, (vector unsigned short)__b, __a);
11640 }
11641 
11642 static int __ATTRS_o_ai
vec_any_ge(vector bool short __a,vector short __b)11643 vec_any_ge(vector bool short __a, vector short __b)
11644 {
11645   return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
11646                                       (vector unsigned short)__b,
11647                                       (vector unsigned short)__a);
11648 }
11649 
11650 static int __ATTRS_o_ai
vec_any_ge(vector bool short __a,vector unsigned short __b)11651 vec_any_ge(vector bool short __a, vector unsigned short __b)
11652 {
11653   return
11654     __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __b, (vector unsigned short)__a);
11655 }
11656 
11657 static int __ATTRS_o_ai
vec_any_ge(vector bool short __a,vector bool short __b)11658 vec_any_ge(vector bool short __a, vector bool short __b)
11659 {
11660   return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
11661                                       (vector unsigned short)__b,
11662                                       (vector unsigned short)__a);
11663 }
11664 
11665 static int __ATTRS_o_ai
vec_any_ge(vector int __a,vector int __b)11666 vec_any_ge(vector int __a, vector int __b)
11667 {
11668   return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __b, __a);
11669 }
11670 
11671 static int __ATTRS_o_ai
vec_any_ge(vector int __a,vector bool int __b)11672 vec_any_ge(vector int __a, vector bool int __b)
11673 {
11674   return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, (vector int)__b, __a);
11675 }
11676 
11677 static int __ATTRS_o_ai
vec_any_ge(vector unsigned int __a,vector unsigned int __b)11678 vec_any_ge(vector unsigned int __a, vector unsigned int __b)
11679 {
11680   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __b, __a);
11681 }
11682 
11683 static int __ATTRS_o_ai
vec_any_ge(vector unsigned int __a,vector bool int __b)11684 vec_any_ge(vector unsigned int __a, vector bool int __b)
11685 {
11686   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, (vector unsigned int)__b, __a);
11687 }
11688 
11689 static int __ATTRS_o_ai
vec_any_ge(vector bool int __a,vector int __b)11690 vec_any_ge(vector bool int __a, vector int __b)
11691 {
11692   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
11693                                       (vector unsigned int)__b,
11694                                       (vector unsigned int)__a);
11695 }
11696 
11697 static int __ATTRS_o_ai
vec_any_ge(vector bool int __a,vector unsigned int __b)11698 vec_any_ge(vector bool int __a, vector unsigned int __b)
11699 {
11700   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __b, (vector unsigned int)__a);
11701 }
11702 
11703 static int __ATTRS_o_ai
vec_any_ge(vector bool int __a,vector bool int __b)11704 vec_any_ge(vector bool int __a, vector bool int __b)
11705 {
11706   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
11707                                       (vector unsigned int)__b,
11708                                       (vector unsigned int)__a);
11709 }
11710 
11711 static int __ATTRS_o_ai
vec_any_ge(vector float __a,vector float __b)11712 vec_any_ge(vector float __a, vector float __b)
11713 {
11714   return __builtin_altivec_vcmpgefp_p(__CR6_EQ_REV, __a, __b);
11715 }
11716 
11717 /* vec_any_gt */
11718 
11719 static int __ATTRS_o_ai
vec_any_gt(vector signed char __a,vector signed char __b)11720 vec_any_gt(vector signed char __a, vector signed char __b)
11721 {
11722   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __a, __b);
11723 }
11724 
11725 static int __ATTRS_o_ai
vec_any_gt(vector signed char __a,vector bool char __b)11726 vec_any_gt(vector signed char __a, vector bool char __b)
11727 {
11728   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __a, (vector signed char)__b);
11729 }
11730 
11731 static int __ATTRS_o_ai
vec_any_gt(vector unsigned char __a,vector unsigned char __b)11732 vec_any_gt(vector unsigned char __a, vector unsigned char __b)
11733 {
11734   return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __a, __b);
11735 }
11736 
11737 static int __ATTRS_o_ai
vec_any_gt(vector unsigned char __a,vector bool char __b)11738 vec_any_gt(vector unsigned char __a, vector bool char __b)
11739 {
11740   return
11741     __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __a, (vector unsigned char)__b);
11742 }
11743 
11744 static int __ATTRS_o_ai
vec_any_gt(vector bool char __a,vector signed char __b)11745 vec_any_gt(vector bool char __a, vector signed char __b)
11746 {
11747   return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
11748                                       (vector unsigned char)__a,
11749                                       (vector unsigned char)__b);
11750 }
11751 
11752 static int __ATTRS_o_ai
vec_any_gt(vector bool char __a,vector unsigned char __b)11753 vec_any_gt(vector bool char __a, vector unsigned char __b)
11754 {
11755   return
11756     __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, (vector unsigned char)__a, __b);
11757 }
11758 
11759 static int __ATTRS_o_ai
vec_any_gt(vector bool char __a,vector bool char __b)11760 vec_any_gt(vector bool char __a, vector bool char __b)
11761 {
11762   return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
11763                                       (vector unsigned char)__a,
11764                                       (vector unsigned char)__b);
11765 }
11766 
11767 static int __ATTRS_o_ai
vec_any_gt(vector short __a,vector short __b)11768 vec_any_gt(vector short __a, vector short __b)
11769 {
11770   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __a, __b);
11771 }
11772 
11773 static int __ATTRS_o_ai
vec_any_gt(vector short __a,vector bool short __b)11774 vec_any_gt(vector short __a, vector bool short __b)
11775 {
11776   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __a, (vector short)__b);
11777 }
11778 
11779 static int __ATTRS_o_ai
vec_any_gt(vector unsigned short __a,vector unsigned short __b)11780 vec_any_gt(vector unsigned short __a, vector unsigned short __b)
11781 {
11782   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __a, __b);
11783 }
11784 
11785 static int __ATTRS_o_ai
vec_any_gt(vector unsigned short __a,vector bool short __b)11786 vec_any_gt(vector unsigned short __a, vector bool short __b)
11787 {
11788   return
11789     __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __a, (vector unsigned short)__b);
11790 }
11791 
11792 static int __ATTRS_o_ai
vec_any_gt(vector bool short __a,vector short __b)11793 vec_any_gt(vector bool short __a, vector short __b)
11794 {
11795   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
11796                                       (vector unsigned short)__a,
11797                                       (vector unsigned short)__b);
11798 }
11799 
11800 static int __ATTRS_o_ai
vec_any_gt(vector bool short __a,vector unsigned short __b)11801 vec_any_gt(vector bool short __a, vector unsigned short __b)
11802 {
11803   return
11804     __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, (vector unsigned short)__a, __b);
11805 }
11806 
11807 static int __ATTRS_o_ai
vec_any_gt(vector bool short __a,vector bool short __b)11808 vec_any_gt(vector bool short __a, vector bool short __b)
11809 {
11810   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
11811                                       (vector unsigned short)__a,
11812                                       (vector unsigned short)__b);
11813 }
11814 
11815 static int __ATTRS_o_ai
vec_any_gt(vector int __a,vector int __b)11816 vec_any_gt(vector int __a, vector int __b)
11817 {
11818   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __a, __b);
11819 }
11820 
11821 static int __ATTRS_o_ai
vec_any_gt(vector int __a,vector bool int __b)11822 vec_any_gt(vector int __a, vector bool int __b)
11823 {
11824   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __a, (vector int)__b);
11825 }
11826 
11827 static int __ATTRS_o_ai
vec_any_gt(vector unsigned int __a,vector unsigned int __b)11828 vec_any_gt(vector unsigned int __a, vector unsigned int __b)
11829 {
11830   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __a, __b);
11831 }
11832 
11833 static int __ATTRS_o_ai
vec_any_gt(vector unsigned int __a,vector bool int __b)11834 vec_any_gt(vector unsigned int __a, vector bool int __b)
11835 {
11836   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __a, (vector unsigned int)__b);
11837 }
11838 
11839 static int __ATTRS_o_ai
vec_any_gt(vector bool int __a,vector int __b)11840 vec_any_gt(vector bool int __a, vector int __b)
11841 {
11842   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
11843                                       (vector unsigned int)__a,
11844                                       (vector unsigned int)__b);
11845 }
11846 
11847 static int __ATTRS_o_ai
vec_any_gt(vector bool int __a,vector unsigned int __b)11848 vec_any_gt(vector bool int __a, vector unsigned int __b)
11849 {
11850   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, (vector unsigned int)__a, __b);
11851 }
11852 
11853 static int __ATTRS_o_ai
vec_any_gt(vector bool int __a,vector bool int __b)11854 vec_any_gt(vector bool int __a, vector bool int __b)
11855 {
11856   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
11857                                       (vector unsigned int)__a,
11858                                       (vector unsigned int)__b);
11859 }
11860 
11861 static int __ATTRS_o_ai
vec_any_gt(vector float __a,vector float __b)11862 vec_any_gt(vector float __a, vector float __b)
11863 {
11864   return __builtin_altivec_vcmpgtfp_p(__CR6_EQ_REV, __a, __b);
11865 }
11866 
11867 /* vec_any_le */
11868 
11869 static int __ATTRS_o_ai
vec_any_le(vector signed char __a,vector signed char __b)11870 vec_any_le(vector signed char __a, vector signed char __b)
11871 {
11872   return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __a, __b);
11873 }
11874 
11875 static int __ATTRS_o_ai
vec_any_le(vector signed char __a,vector bool char __b)11876 vec_any_le(vector signed char __a, vector bool char __b)
11877 {
11878   return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __a, (vector signed char)__b);
11879 }
11880 
11881 static int __ATTRS_o_ai
vec_any_le(vector unsigned char __a,vector unsigned char __b)11882 vec_any_le(vector unsigned char __a, vector unsigned char __b)
11883 {
11884   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __a, __b);
11885 }
11886 
11887 static int __ATTRS_o_ai
vec_any_le(vector unsigned char __a,vector bool char __b)11888 vec_any_le(vector unsigned char __a, vector bool char __b)
11889 {
11890   return
11891     __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __a, (vector unsigned char)__b);
11892 }
11893 
11894 static int __ATTRS_o_ai
vec_any_le(vector bool char __a,vector signed char __b)11895 vec_any_le(vector bool char __a, vector signed char __b)
11896 {
11897   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
11898                                       (vector unsigned char)__a,
11899                                       (vector unsigned char)__b);
11900 }
11901 
11902 static int __ATTRS_o_ai
vec_any_le(vector bool char __a,vector unsigned char __b)11903 vec_any_le(vector bool char __a, vector unsigned char __b)
11904 {
11905   return
11906     __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, (vector unsigned char)__a, __b);
11907 }
11908 
11909 static int __ATTRS_o_ai
vec_any_le(vector bool char __a,vector bool char __b)11910 vec_any_le(vector bool char __a, vector bool char __b)
11911 {
11912   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
11913                                       (vector unsigned char)__a,
11914                                       (vector unsigned char)__b);
11915 }
11916 
11917 static int __ATTRS_o_ai
vec_any_le(vector short __a,vector short __b)11918 vec_any_le(vector short __a, vector short __b)
11919 {
11920   return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __a, __b);
11921 }
11922 
11923 static int __ATTRS_o_ai
vec_any_le(vector short __a,vector bool short __b)11924 vec_any_le(vector short __a, vector bool short __b)
11925 {
11926   return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __a, (vector short)__b);
11927 }
11928 
11929 static int __ATTRS_o_ai
vec_any_le(vector unsigned short __a,vector unsigned short __b)11930 vec_any_le(vector unsigned short __a, vector unsigned short __b)
11931 {
11932   return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __a, __b);
11933 }
11934 
11935 static int __ATTRS_o_ai
vec_any_le(vector unsigned short __a,vector bool short __b)11936 vec_any_le(vector unsigned short __a, vector bool short __b)
11937 {
11938   return
11939     __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __a, (vector unsigned short)__b);
11940 }
11941 
11942 static int __ATTRS_o_ai
vec_any_le(vector bool short __a,vector short __b)11943 vec_any_le(vector bool short __a, vector short __b)
11944 {
11945   return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
11946                                       (vector unsigned short)__a,
11947                                       (vector unsigned short)__b);
11948 }
11949 
11950 static int __ATTRS_o_ai
vec_any_le(vector bool short __a,vector unsigned short __b)11951 vec_any_le(vector bool short __a, vector unsigned short __b)
11952 {
11953   return
11954     __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, (vector unsigned short)__a, __b);
11955 }
11956 
11957 static int __ATTRS_o_ai
vec_any_le(vector bool short __a,vector bool short __b)11958 vec_any_le(vector bool short __a, vector bool short __b)
11959 {
11960   return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
11961                                       (vector unsigned short)__a,
11962                                       (vector unsigned short)__b);
11963 }
11964 
11965 static int __ATTRS_o_ai
vec_any_le(vector int __a,vector int __b)11966 vec_any_le(vector int __a, vector int __b)
11967 {
11968   return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __a, __b);
11969 }
11970 
11971 static int __ATTRS_o_ai
vec_any_le(vector int __a,vector bool int __b)11972 vec_any_le(vector int __a, vector bool int __b)
11973 {
11974   return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __a, (vector int)__b);
11975 }
11976 
11977 static int __ATTRS_o_ai
vec_any_le(vector unsigned int __a,vector unsigned int __b)11978 vec_any_le(vector unsigned int __a, vector unsigned int __b)
11979 {
11980   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __a, __b);
11981 }
11982 
11983 static int __ATTRS_o_ai
vec_any_le(vector unsigned int __a,vector bool int __b)11984 vec_any_le(vector unsigned int __a, vector bool int __b)
11985 {
11986   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __a, (vector unsigned int)__b);
11987 }
11988 
11989 static int __ATTRS_o_ai
vec_any_le(vector bool int __a,vector int __b)11990 vec_any_le(vector bool int __a, vector int __b)
11991 {
11992   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
11993                                       (vector unsigned int)__a,
11994                                       (vector unsigned int)__b);
11995 }
11996 
11997 static int __ATTRS_o_ai
vec_any_le(vector bool int __a,vector unsigned int __b)11998 vec_any_le(vector bool int __a, vector unsigned int __b)
11999 {
12000   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, (vector unsigned int)__a, __b);
12001 }
12002 
12003 static int __ATTRS_o_ai
vec_any_le(vector bool int __a,vector bool int __b)12004 vec_any_le(vector bool int __a, vector bool int __b)
12005 {
12006   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
12007                                       (vector unsigned int)__a,
12008                                       (vector unsigned int)__b);
12009 }
12010 
12011 static int __ATTRS_o_ai
vec_any_le(vector float __a,vector float __b)12012 vec_any_le(vector float __a, vector float __b)
12013 {
12014   return __builtin_altivec_vcmpgefp_p(__CR6_EQ_REV, __b, __a);
12015 }
12016 
12017 /* vec_any_lt */
12018 
12019 static int __ATTRS_o_ai
vec_any_lt(vector signed char __a,vector signed char __b)12020 vec_any_lt(vector signed char __a, vector signed char __b)
12021 {
12022   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __b, __a);
12023 }
12024 
12025 static int __ATTRS_o_ai
vec_any_lt(vector signed char __a,vector bool char __b)12026 vec_any_lt(vector signed char __a, vector bool char __b)
12027 {
12028   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, (vector signed char)__b, __a);
12029 }
12030 
12031 static int __ATTRS_o_ai
vec_any_lt(vector unsigned char __a,vector unsigned char __b)12032 vec_any_lt(vector unsigned char __a, vector unsigned char __b)
12033 {
12034   return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __b, __a);
12035 }
12036 
12037 static int __ATTRS_o_ai
vec_any_lt(vector unsigned char __a,vector bool char __b)12038 vec_any_lt(vector unsigned char __a, vector bool char __b)
12039 {
12040   return
12041     __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, (vector unsigned char)__b, __a);
12042 }
12043 
12044 static int __ATTRS_o_ai
vec_any_lt(vector bool char __a,vector signed char __b)12045 vec_any_lt(vector bool char __a, vector signed char __b)
12046 {
12047   return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
12048                                       (vector unsigned char)__b,
12049                                       (vector unsigned char)__a);
12050 }
12051 
12052 static int __ATTRS_o_ai
vec_any_lt(vector bool char __a,vector unsigned char __b)12053 vec_any_lt(vector bool char __a, vector unsigned char __b)
12054 {
12055   return
12056     __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __b, (vector unsigned char)__a);
12057 }
12058 
12059 static int __ATTRS_o_ai
vec_any_lt(vector bool char __a,vector bool char __b)12060 vec_any_lt(vector bool char __a, vector bool char __b)
12061 {
12062   return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
12063                                       (vector unsigned char)__b,
12064                                       (vector unsigned char)__a);
12065 }
12066 
12067 static int __ATTRS_o_ai
vec_any_lt(vector short __a,vector short __b)12068 vec_any_lt(vector short __a, vector short __b)
12069 {
12070   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __b, __a);
12071 }
12072 
12073 static int __ATTRS_o_ai
vec_any_lt(vector short __a,vector bool short __b)12074 vec_any_lt(vector short __a, vector bool short __b)
12075 {
12076   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, (vector short)__b, __a);
12077 }
12078 
12079 static int __ATTRS_o_ai
vec_any_lt(vector unsigned short __a,vector unsigned short __b)12080 vec_any_lt(vector unsigned short __a, vector unsigned short __b)
12081 {
12082   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __b, __a);
12083 }
12084 
12085 static int __ATTRS_o_ai
vec_any_lt(vector unsigned short __a,vector bool short __b)12086 vec_any_lt(vector unsigned short __a, vector bool short __b)
12087 {
12088   return
12089     __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, (vector unsigned short)__b, __a);
12090 }
12091 
12092 static int __ATTRS_o_ai
vec_any_lt(vector bool short __a,vector short __b)12093 vec_any_lt(vector bool short __a, vector short __b)
12094 {
12095   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
12096                                       (vector unsigned short)__b,
12097                                       (vector unsigned short)__a);
12098 }
12099 
12100 static int __ATTRS_o_ai
vec_any_lt(vector bool short __a,vector unsigned short __b)12101 vec_any_lt(vector bool short __a, vector unsigned short __b)
12102 {
12103   return
12104     __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __b, (vector unsigned short)__a);
12105 }
12106 
12107 static int __ATTRS_o_ai
vec_any_lt(vector bool short __a,vector bool short __b)12108 vec_any_lt(vector bool short __a, vector bool short __b)
12109 {
12110   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
12111                                       (vector unsigned short)__b,
12112                                       (vector unsigned short)__a);
12113 }
12114 
12115 static int __ATTRS_o_ai
vec_any_lt(vector int __a,vector int __b)12116 vec_any_lt(vector int __a, vector int __b)
12117 {
12118   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __b, __a);
12119 }
12120 
12121 static int __ATTRS_o_ai
vec_any_lt(vector int __a,vector bool int __b)12122 vec_any_lt(vector int __a, vector bool int __b)
12123 {
12124   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, (vector int)__b, __a);
12125 }
12126 
12127 static int __ATTRS_o_ai
vec_any_lt(vector unsigned int __a,vector unsigned int __b)12128 vec_any_lt(vector unsigned int __a, vector unsigned int __b)
12129 {
12130   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __b, __a);
12131 }
12132 
12133 static int __ATTRS_o_ai
vec_any_lt(vector unsigned int __a,vector bool int __b)12134 vec_any_lt(vector unsigned int __a, vector bool int __b)
12135 {
12136   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, (vector unsigned int)__b, __a);
12137 }
12138 
12139 static int __ATTRS_o_ai
vec_any_lt(vector bool int __a,vector int __b)12140 vec_any_lt(vector bool int __a, vector int __b)
12141 {
12142   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
12143                                       (vector unsigned int)__b,
12144                                       (vector unsigned int)__a);
12145 }
12146 
12147 static int __ATTRS_o_ai
vec_any_lt(vector bool int __a,vector unsigned int __b)12148 vec_any_lt(vector bool int __a, vector unsigned int __b)
12149 {
12150   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __b, (vector unsigned int)__a);
12151 }
12152 
12153 static int __ATTRS_o_ai
vec_any_lt(vector bool int __a,vector bool int __b)12154 vec_any_lt(vector bool int __a, vector bool int __b)
12155 {
12156   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
12157                                       (vector unsigned int)__b,
12158                                       (vector unsigned int)__a);
12159 }
12160 
12161 static int __ATTRS_o_ai
vec_any_lt(vector float __a,vector float __b)12162 vec_any_lt(vector float __a, vector float __b)
12163 {
12164   return __builtin_altivec_vcmpgtfp_p(__CR6_EQ_REV, __b, __a);
12165 }
12166 
12167 /* vec_any_nan */
12168 
12169 static int __attribute__((__always_inline__))
vec_any_nan(vector float __a)12170 vec_any_nan(vector float __a)
12171 {
12172   return __builtin_altivec_vcmpeqfp_p(__CR6_LT_REV, __a, __a);
12173 }
12174 
12175 /* vec_any_ne */
12176 
12177 static int __ATTRS_o_ai
vec_any_ne(vector signed char __a,vector signed char __b)12178 vec_any_ne(vector signed char __a, vector signed char __b)
12179 {
12180   return
12181     __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12182 }
12183 
12184 static int __ATTRS_o_ai
vec_any_ne(vector signed char __a,vector bool char __b)12185 vec_any_ne(vector signed char __a, vector bool char __b)
12186 {
12187   return
12188     __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12189 }
12190 
12191 static int __ATTRS_o_ai
vec_any_ne(vector unsigned char __a,vector unsigned char __b)12192 vec_any_ne(vector unsigned char __a, vector unsigned char __b)
12193 {
12194   return
12195     __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12196 }
12197 
12198 static int __ATTRS_o_ai
vec_any_ne(vector unsigned char __a,vector bool char __b)12199 vec_any_ne(vector unsigned char __a, vector bool char __b)
12200 {
12201   return
12202     __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12203 }
12204 
12205 static int __ATTRS_o_ai
vec_any_ne(vector bool char __a,vector signed char __b)12206 vec_any_ne(vector bool char __a, vector signed char __b)
12207 {
12208   return
12209     __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12210 }
12211 
12212 static int __ATTRS_o_ai
vec_any_ne(vector bool char __a,vector unsigned char __b)12213 vec_any_ne(vector bool char __a, vector unsigned char __b)
12214 {
12215   return
12216     __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12217 }
12218 
12219 static int __ATTRS_o_ai
vec_any_ne(vector bool char __a,vector bool char __b)12220 vec_any_ne(vector bool char __a, vector bool char __b)
12221 {
12222   return
12223     __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12224 }
12225 
12226 static int __ATTRS_o_ai
vec_any_ne(vector short __a,vector short __b)12227 vec_any_ne(vector short __a, vector short __b)
12228 {
12229   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, __a, __b);
12230 }
12231 
12232 static int __ATTRS_o_ai
vec_any_ne(vector short __a,vector bool short __b)12233 vec_any_ne(vector short __a, vector bool short __b)
12234 {
12235   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, __a, (vector short)__b);
12236 }
12237 
12238 static int __ATTRS_o_ai
vec_any_ne(vector unsigned short __a,vector unsigned short __b)12239 vec_any_ne(vector unsigned short __a, vector unsigned short __b)
12240 {
12241   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12242                                       (vector short)__a,
12243                                       (vector short)__b);
12244 }
12245 
12246 static int __ATTRS_o_ai
vec_any_ne(vector unsigned short __a,vector bool short __b)12247 vec_any_ne(vector unsigned short __a, vector bool short __b)
12248 {
12249   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12250                                       (vector short)__a,
12251                                       (vector short)__b);
12252 }
12253 
12254 static int __ATTRS_o_ai
vec_any_ne(vector bool short __a,vector short __b)12255 vec_any_ne(vector bool short __a, vector short __b)
12256 {
12257   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12258                                       (vector short)__a,
12259                                       (vector short)__b);
12260 }
12261 
12262 static int __ATTRS_o_ai
vec_any_ne(vector bool short __a,vector unsigned short __b)12263 vec_any_ne(vector bool short __a, vector unsigned short __b)
12264 {
12265   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12266                                       (vector short)__a,
12267                                       (vector short)__b);
12268 }
12269 
12270 static int __ATTRS_o_ai
vec_any_ne(vector bool short __a,vector bool short __b)12271 vec_any_ne(vector bool short __a, vector bool short __b)
12272 {
12273   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12274                                       (vector short)__a,
12275                                       (vector short)__b);
12276 }
12277 
12278 static int __ATTRS_o_ai
vec_any_ne(vector pixel __a,vector pixel __b)12279 vec_any_ne(vector pixel __a, vector pixel __b)
12280 {
12281   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12282                                       (vector short)__a,
12283                                       (vector short)__b);
12284 }
12285 
12286 static int __ATTRS_o_ai
vec_any_ne(vector int __a,vector int __b)12287 vec_any_ne(vector int __a, vector int __b)
12288 {
12289   return __builtin_altivec_vcmpequw_p(__CR6_LT_REV, __a, __b);
12290 }
12291 
12292 static int __ATTRS_o_ai
vec_any_ne(vector int __a,vector bool int __b)12293 vec_any_ne(vector int __a, vector bool int __b)
12294 {
12295   return __builtin_altivec_vcmpequw_p(__CR6_LT_REV, __a, (vector int)__b);
12296 }
12297 
12298 static int __ATTRS_o_ai
vec_any_ne(vector unsigned int __a,vector unsigned int __b)12299 vec_any_ne(vector unsigned int __a, vector unsigned int __b)
12300 {
12301   return
12302     __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12303 }
12304 
12305 static int __ATTRS_o_ai
vec_any_ne(vector unsigned int __a,vector bool int __b)12306 vec_any_ne(vector unsigned int __a, vector bool int __b)
12307 {
12308   return
12309     __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12310 }
12311 
12312 static int __ATTRS_o_ai
vec_any_ne(vector bool int __a,vector int __b)12313 vec_any_ne(vector bool int __a, vector int __b)
12314 {
12315   return
12316     __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12317 }
12318 
12319 static int __ATTRS_o_ai
vec_any_ne(vector bool int __a,vector unsigned int __b)12320 vec_any_ne(vector bool int __a, vector unsigned int __b)
12321 {
12322   return
12323     __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12324 }
12325 
12326 static int __ATTRS_o_ai
vec_any_ne(vector bool int __a,vector bool int __b)12327 vec_any_ne(vector bool int __a, vector bool int __b)
12328 {
12329   return
12330     __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12331 }
12332 
12333 static int __ATTRS_o_ai
vec_any_ne(vector float __a,vector float __b)12334 vec_any_ne(vector float __a, vector float __b)
12335 {
12336   return __builtin_altivec_vcmpeqfp_p(__CR6_LT_REV, __a, __b);
12337 }
12338 
12339 /* vec_any_nge */
12340 
12341 static int __attribute__((__always_inline__))
vec_any_nge(vector float __a,vector float __b)12342 vec_any_nge(vector float __a, vector float __b)
12343 {
12344   return __builtin_altivec_vcmpgefp_p(__CR6_LT_REV, __a, __b);
12345 }
12346 
12347 /* vec_any_ngt */
12348 
12349 static int __attribute__((__always_inline__))
vec_any_ngt(vector float __a,vector float __b)12350 vec_any_ngt(vector float __a, vector float __b)
12351 {
12352   return __builtin_altivec_vcmpgtfp_p(__CR6_LT_REV, __a, __b);
12353 }
12354 
12355 /* vec_any_nle */
12356 
12357 static int __attribute__((__always_inline__))
vec_any_nle(vector float __a,vector float __b)12358 vec_any_nle(vector float __a, vector float __b)
12359 {
12360   return __builtin_altivec_vcmpgefp_p(__CR6_LT_REV, __b, __a);
12361 }
12362 
12363 /* vec_any_nlt */
12364 
12365 static int __attribute__((__always_inline__))
vec_any_nlt(vector float __a,vector float __b)12366 vec_any_nlt(vector float __a, vector float __b)
12367 {
12368   return __builtin_altivec_vcmpgtfp_p(__CR6_LT_REV, __b, __a);
12369 }
12370 
12371 /* vec_any_numeric */
12372 
12373 static int __attribute__((__always_inline__))
vec_any_numeric(vector float __a)12374 vec_any_numeric(vector float __a)
12375 {
12376   return __builtin_altivec_vcmpeqfp_p(__CR6_EQ_REV, __a, __a);
12377 }
12378 
12379 /* vec_any_out */
12380 
12381 static int __attribute__((__always_inline__))
vec_any_out(vector float __a,vector float __b)12382 vec_any_out(vector float __a, vector float __b)
12383 {
12384   return __builtin_altivec_vcmpbfp_p(__CR6_EQ_REV, __a, __b);
12385 }
12386 
12387 #undef __ATTRS_o_ai
12388 
12389 #endif /* __ALTIVEC_H */
12390