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