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