clang API Documentation

altivec.h
Go to the documentation of this file.
00001 /*===---- altivec.h - Standard header for type generic math ---------------===*\
00002  *
00003  * Permission is hereby granted, free of charge, to any person obtaining a copy
00004  * of this software and associated documentation files (the "Software"), to deal
00005  * in the Software without restriction, including without limitation the rights
00006  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00007  * copies of the Software, and to permit persons to whom the Software is
00008  * furnished to do so, subject to the following conditions:
00009  *
00010  * The above copyright notice and this permission notice shall be included in
00011  * all copies or substantial portions of the Software.
00012  *
00013  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00014  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00015  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00016  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00017  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00018  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
00019  * THE SOFTWARE.
00020  *
00021 \*===----------------------------------------------------------------------===*/
00022 
00023 #ifndef __ALTIVEC_H
00024 #define __ALTIVEC_H
00025 
00026 #ifndef __ALTIVEC__
00027 #error "AltiVec support not enabled"
00028 #endif
00029 
00030 /* constants for mapping CR6 bits to predicate result. */
00031 
00032 #define __CR6_EQ     0
00033 #define __CR6_EQ_REV 1
00034 #define __CR6_LT     2
00035 #define __CR6_LT_REV 3
00036 
00037 #define __ATTRS_o_ai __attribute__((__overloadable__, __always_inline__))
00038 
00039 static vector signed char __ATTRS_o_ai
00040 vec_perm(vector signed char __a, vector signed char __b, vector unsigned char __c);
00041 
00042 static vector unsigned char __ATTRS_o_ai
00043 vec_perm(vector unsigned char __a,
00044          vector unsigned char __b,
00045          vector unsigned char __c);
00046 
00047 static vector bool char __ATTRS_o_ai
00048 vec_perm(vector bool char __a, vector bool char __b, vector unsigned char __c);
00049 
00050 static vector short __ATTRS_o_ai
00051 vec_perm(vector short __a, vector short __b, vector unsigned char __c);
00052 
00053 static vector unsigned short __ATTRS_o_ai
00054 vec_perm(vector unsigned short __a,
00055          vector unsigned short __b,
00056          vector unsigned char __c);
00057 
00058 static vector bool short __ATTRS_o_ai
00059 vec_perm(vector bool short __a, vector bool short __b, vector unsigned char __c);
00060 
00061 static vector pixel __ATTRS_o_ai
00062 vec_perm(vector pixel __a, vector pixel __b, vector unsigned char __c);
00063 
00064 static vector int __ATTRS_o_ai
00065 vec_perm(vector int __a, vector int __b, vector unsigned char __c);
00066 
00067 static vector unsigned int __ATTRS_o_ai
00068 vec_perm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c);
00069 
00070 static vector bool int __ATTRS_o_ai
00071 vec_perm(vector bool int __a, vector bool int __b, vector unsigned char __c);
00072 
00073 static vector float __ATTRS_o_ai
00074 vec_perm(vector float __a, vector float __b, vector unsigned char __c);
00075 
00076 static vector unsigned char __ATTRS_o_ai
00077 vec_xor(vector unsigned char __a, vector unsigned char __b);
00078 
00079 /* vec_abs */
00080 
00081 #define __builtin_altivec_abs_v16qi vec_abs
00082 #define __builtin_altivec_abs_v8hi  vec_abs
00083 #define __builtin_altivec_abs_v4si  vec_abs
00084 
00085 static vector signed char __ATTRS_o_ai
00086 vec_abs(vector signed char __a)
00087 {
00088   return __builtin_altivec_vmaxsb(__a, -__a);
00089 }
00090 
00091 static vector signed short __ATTRS_o_ai
00092 vec_abs(vector signed short __a)
00093 {
00094   return __builtin_altivec_vmaxsh(__a, -__a);
00095 }
00096 
00097 static vector signed int __ATTRS_o_ai
00098 vec_abs(vector signed int __a)
00099 {
00100   return __builtin_altivec_vmaxsw(__a, -__a);
00101 }
00102 
00103 static vector float __ATTRS_o_ai
00104 vec_abs(vector float __a)
00105 {
00106   vector unsigned int __res = (vector unsigned int)__a
00107                             & (vector unsigned int)(0x7FFFFFFF);
00108   return (vector float)__res;
00109 }
00110 
00111 /* vec_abss */
00112 
00113 #define __builtin_altivec_abss_v16qi vec_abss
00114 #define __builtin_altivec_abss_v8hi  vec_abss
00115 #define __builtin_altivec_abss_v4si  vec_abss
00116 
00117 static vector signed char __ATTRS_o_ai
00118 vec_abss(vector signed char __a)
00119 {
00120   return __builtin_altivec_vmaxsb
00121            (__a, __builtin_altivec_vsubsbs((vector signed char)(0), __a));
00122 }
00123 
00124 static vector signed short __ATTRS_o_ai
00125 vec_abss(vector signed short __a)
00126 {
00127   return __builtin_altivec_vmaxsh
00128            (__a, __builtin_altivec_vsubshs((vector signed short)(0), __a));
00129 }
00130 
00131 static vector signed int __ATTRS_o_ai
00132 vec_abss(vector signed int __a)
00133 {
00134   return __builtin_altivec_vmaxsw
00135            (__a, __builtin_altivec_vsubsws((vector signed int)(0), __a));
00136 }
00137 
00138 /* vec_add */
00139 
00140 static vector signed char __ATTRS_o_ai
00141 vec_add(vector signed char __a, vector signed char __b)
00142 {
00143   return __a + __b;
00144 }
00145 
00146 static vector signed char __ATTRS_o_ai
00147 vec_add(vector bool char __a, vector signed char __b)
00148 {
00149   return (vector signed char)__a + __b;
00150 }
00151 
00152 static vector signed char __ATTRS_o_ai
00153 vec_add(vector signed char __a, vector bool char __b)
00154 {
00155   return __a + (vector signed char)__b;
00156 }
00157 
00158 static vector unsigned char __ATTRS_o_ai
00159 vec_add(vector unsigned char __a, vector unsigned char __b)
00160 {
00161   return __a + __b;
00162 }
00163 
00164 static vector unsigned char __ATTRS_o_ai
00165 vec_add(vector bool char __a, vector unsigned char __b)
00166 {
00167   return (vector unsigned char)__a + __b;
00168 }
00169 
00170 static vector unsigned char __ATTRS_o_ai
00171 vec_add(vector unsigned char __a, vector bool char __b)
00172 {
00173   return __a + (vector unsigned char)__b;
00174 }
00175 
00176 static vector short __ATTRS_o_ai
00177 vec_add(vector short __a, vector short __b)
00178 {
00179   return __a + __b;
00180 }
00181 
00182 static vector short __ATTRS_o_ai
00183 vec_add(vector bool short __a, vector short __b)
00184 {
00185   return (vector short)__a + __b;
00186 }
00187 
00188 static vector short __ATTRS_o_ai
00189 vec_add(vector short __a, vector bool short __b)
00190 {
00191   return __a + (vector short)__b;
00192 }
00193 
00194 static vector unsigned short __ATTRS_o_ai
00195 vec_add(vector unsigned short __a, vector unsigned short __b)
00196 {
00197   return __a + __b;
00198 }
00199 
00200 static vector unsigned short __ATTRS_o_ai
00201 vec_add(vector bool short __a, vector unsigned short __b)
00202 {
00203   return (vector unsigned short)__a + __b;
00204 }
00205 
00206 static vector unsigned short __ATTRS_o_ai
00207 vec_add(vector unsigned short __a, vector bool short __b)
00208 {
00209   return __a + (vector unsigned short)__b;
00210 }
00211 
00212 static vector int __ATTRS_o_ai
00213 vec_add(vector int __a, vector int __b)
00214 {
00215   return __a + __b;
00216 }
00217 
00218 static vector int __ATTRS_o_ai
00219 vec_add(vector bool int __a, vector int __b)
00220 {
00221   return (vector int)__a + __b;
00222 }
00223 
00224 static vector int __ATTRS_o_ai
00225 vec_add(vector int __a, vector bool int __b)
00226 {
00227   return __a + (vector int)__b;
00228 }
00229 
00230 static vector unsigned int __ATTRS_o_ai
00231 vec_add(vector unsigned int __a, vector unsigned int __b)
00232 {
00233   return __a + __b;
00234 }
00235 
00236 static vector unsigned int __ATTRS_o_ai
00237 vec_add(vector bool int __a, vector unsigned int __b)
00238 {
00239   return (vector unsigned int)__a + __b;
00240 }
00241 
00242 static vector unsigned int __ATTRS_o_ai
00243 vec_add(vector unsigned int __a, vector bool int __b)
00244 {
00245   return __a + (vector unsigned int)__b;
00246 }
00247 
00248 static vector float __ATTRS_o_ai
00249 vec_add(vector float __a, vector float __b)
00250 {
00251   return __a + __b;
00252 }
00253 
00254 /* vec_vaddubm */
00255 
00256 #define __builtin_altivec_vaddubm vec_vaddubm
00257 
00258 static vector signed char __ATTRS_o_ai
00259 vec_vaddubm(vector signed char __a, vector signed char __b)
00260 {
00261   return __a + __b;
00262 }
00263 
00264 static vector signed char __ATTRS_o_ai
00265 vec_vaddubm(vector bool char __a, vector signed char __b)
00266 {
00267   return (vector signed char)__a + __b;
00268 }
00269 
00270 static vector signed char __ATTRS_o_ai
00271 vec_vaddubm(vector signed char __a, vector bool char __b)
00272 {
00273   return __a + (vector signed char)__b;
00274 }
00275 
00276 static vector unsigned char __ATTRS_o_ai
00277 vec_vaddubm(vector unsigned char __a, vector unsigned char __b)
00278 {
00279   return __a + __b;
00280 }
00281 
00282 static vector unsigned char __ATTRS_o_ai
00283 vec_vaddubm(vector bool char __a, vector unsigned char __b)
00284 {
00285   return (vector unsigned char)__a + __b;
00286 }
00287 
00288 static vector unsigned char __ATTRS_o_ai
00289 vec_vaddubm(vector unsigned char __a, vector bool char __b)
00290 {
00291   return __a + (vector unsigned char)__b;
00292 }
00293 
00294 /* vec_vadduhm */
00295 
00296 #define __builtin_altivec_vadduhm vec_vadduhm
00297 
00298 static vector short __ATTRS_o_ai
00299 vec_vadduhm(vector short __a, vector short __b)
00300 {
00301   return __a + __b;
00302 }
00303 
00304 static vector short __ATTRS_o_ai
00305 vec_vadduhm(vector bool short __a, vector short __b)
00306 {
00307   return (vector short)__a + __b;
00308 }
00309 
00310 static vector short __ATTRS_o_ai
00311 vec_vadduhm(vector short __a, vector bool short __b)
00312 {
00313   return __a + (vector short)__b;
00314 }
00315 
00316 static vector unsigned short __ATTRS_o_ai
00317 vec_vadduhm(vector unsigned short __a, vector unsigned short __b)
00318 {
00319   return __a + __b;
00320 }
00321 
00322 static vector unsigned short __ATTRS_o_ai
00323 vec_vadduhm(vector bool short __a, vector unsigned short __b)
00324 {
00325   return (vector unsigned short)__a + __b;
00326 }
00327 
00328 static vector unsigned short __ATTRS_o_ai
00329 vec_vadduhm(vector unsigned short __a, vector bool short __b)
00330 {
00331   return __a + (vector unsigned short)__b;
00332 }
00333 
00334 /* vec_vadduwm */
00335 
00336 #define __builtin_altivec_vadduwm vec_vadduwm
00337 
00338 static vector int __ATTRS_o_ai
00339 vec_vadduwm(vector int __a, vector int __b)
00340 {
00341   return __a + __b;
00342 }
00343 
00344 static vector int __ATTRS_o_ai
00345 vec_vadduwm(vector bool int __a, vector int __b)
00346 {
00347   return (vector int)__a + __b;
00348 }
00349 
00350 static vector int __ATTRS_o_ai
00351 vec_vadduwm(vector int __a, vector bool int __b)
00352 {
00353   return __a + (vector int)__b;
00354 }
00355 
00356 static vector unsigned int __ATTRS_o_ai
00357 vec_vadduwm(vector unsigned int __a, vector unsigned int __b)
00358 {
00359   return __a + __b;
00360 }
00361 
00362 static vector unsigned int __ATTRS_o_ai
00363 vec_vadduwm(vector bool int __a, vector unsigned int __b)
00364 {
00365   return (vector unsigned int)__a + __b;
00366 }
00367 
00368 static vector unsigned int __ATTRS_o_ai
00369 vec_vadduwm(vector unsigned int __a, vector bool int __b)
00370 {
00371   return __a + (vector unsigned int)__b;
00372 }
00373 
00374 /* vec_vaddfp */
00375 
00376 #define __builtin_altivec_vaddfp  vec_vaddfp
00377 
00378 static vector float __attribute__((__always_inline__))
00379 vec_vaddfp(vector float __a, vector float __b)
00380 {
00381   return __a + __b;
00382 }
00383 
00384 /* vec_addc */
00385 
00386 static vector unsigned int __attribute__((__always_inline__))
00387 vec_addc(vector unsigned int __a, vector unsigned int __b)
00388 {
00389   return __builtin_altivec_vaddcuw(__a, __b);
00390 }
00391 
00392 /* vec_vaddcuw */
00393 
00394 static vector unsigned int __attribute__((__always_inline__))
00395 vec_vaddcuw(vector unsigned int __a, vector unsigned int __b)
00396 {
00397   return __builtin_altivec_vaddcuw(__a, __b);
00398 }
00399 
00400 /* vec_adds */
00401 
00402 static vector signed char __ATTRS_o_ai
00403 vec_adds(vector signed char __a, vector signed char __b)
00404 {
00405   return __builtin_altivec_vaddsbs(__a, __b);
00406 }
00407 
00408 static vector signed char __ATTRS_o_ai
00409 vec_adds(vector bool char __a, vector signed char __b)
00410 {
00411   return __builtin_altivec_vaddsbs((vector signed char)__a, __b);
00412 }
00413 
00414 static vector signed char __ATTRS_o_ai
00415 vec_adds(vector signed char __a, vector bool char __b)
00416 {
00417   return __builtin_altivec_vaddsbs(__a, (vector signed char)__b);
00418 }
00419 
00420 static vector unsigned char __ATTRS_o_ai
00421 vec_adds(vector unsigned char __a, vector unsigned char __b)
00422 {
00423   return __builtin_altivec_vaddubs(__a, __b);
00424 }
00425 
00426 static vector unsigned char __ATTRS_o_ai
00427 vec_adds(vector bool char __a, vector unsigned char __b)
00428 {
00429   return __builtin_altivec_vaddubs((vector unsigned char)__a, __b);
00430 }
00431 
00432 static vector unsigned char __ATTRS_o_ai
00433 vec_adds(vector unsigned char __a, vector bool char __b)
00434 {
00435   return __builtin_altivec_vaddubs(__a, (vector unsigned char)__b);
00436 }
00437 
00438 static vector short __ATTRS_o_ai
00439 vec_adds(vector short __a, vector short __b)
00440 {
00441   return __builtin_altivec_vaddshs(__a, __b);
00442 }
00443 
00444 static vector short __ATTRS_o_ai
00445 vec_adds(vector bool short __a, vector short __b)
00446 {
00447   return __builtin_altivec_vaddshs((vector short)__a, __b);
00448 }
00449 
00450 static vector short __ATTRS_o_ai
00451 vec_adds(vector short __a, vector bool short __b)
00452 {
00453   return __builtin_altivec_vaddshs(__a, (vector short)__b);
00454 }
00455 
00456 static vector unsigned short __ATTRS_o_ai
00457 vec_adds(vector unsigned short __a, vector unsigned short __b)
00458 {
00459   return __builtin_altivec_vadduhs(__a, __b);
00460 }
00461 
00462 static vector unsigned short __ATTRS_o_ai
00463 vec_adds(vector bool short __a, vector unsigned short __b)
00464 {
00465   return __builtin_altivec_vadduhs((vector unsigned short)__a, __b);
00466 }
00467 
00468 static vector unsigned short __ATTRS_o_ai
00469 vec_adds(vector unsigned short __a, vector bool short __b)
00470 {
00471   return __builtin_altivec_vadduhs(__a, (vector unsigned short)__b);
00472 }
00473 
00474 static vector int __ATTRS_o_ai
00475 vec_adds(vector int __a, vector int __b)
00476 {
00477   return __builtin_altivec_vaddsws(__a, __b);
00478 }
00479 
00480 static vector int __ATTRS_o_ai
00481 vec_adds(vector bool int __a, vector int __b)
00482 {
00483   return __builtin_altivec_vaddsws((vector int)__a, __b);
00484 }
00485 
00486 static vector int __ATTRS_o_ai
00487 vec_adds(vector int __a, vector bool int __b)
00488 {
00489   return __builtin_altivec_vaddsws(__a, (vector int)__b);
00490 }
00491 
00492 static vector unsigned int __ATTRS_o_ai
00493 vec_adds(vector unsigned int __a, vector unsigned int __b)
00494 {
00495   return __builtin_altivec_vadduws(__a, __b);
00496 }
00497 
00498 static vector unsigned int __ATTRS_o_ai
00499 vec_adds(vector bool int __a, vector unsigned int __b)
00500 {
00501   return __builtin_altivec_vadduws((vector unsigned int)__a, __b);
00502 }
00503 
00504 static vector unsigned int __ATTRS_o_ai
00505 vec_adds(vector unsigned int __a, vector bool int __b)
00506 {
00507   return __builtin_altivec_vadduws(__a, (vector unsigned int)__b);
00508 }
00509 
00510 /* vec_vaddsbs */
00511 
00512 static vector signed char __ATTRS_o_ai
00513 vec_vaddsbs(vector signed char __a, vector signed char __b)
00514 {
00515   return __builtin_altivec_vaddsbs(__a, __b);
00516 }
00517 
00518 static vector signed char __ATTRS_o_ai
00519 vec_vaddsbs(vector bool char __a, vector signed char __b)
00520 {
00521   return __builtin_altivec_vaddsbs((vector signed char)__a, __b);
00522 }
00523 
00524 static vector signed char __ATTRS_o_ai
00525 vec_vaddsbs(vector signed char __a, vector bool char __b)
00526 {
00527   return __builtin_altivec_vaddsbs(__a, (vector signed char)__b);
00528 }
00529 
00530 /* vec_vaddubs */
00531 
00532 static vector unsigned char __ATTRS_o_ai
00533 vec_vaddubs(vector unsigned char __a, vector unsigned char __b)
00534 {
00535   return __builtin_altivec_vaddubs(__a, __b);
00536 }
00537 
00538 static vector unsigned char __ATTRS_o_ai
00539 vec_vaddubs(vector bool char __a, vector unsigned char __b)
00540 {
00541   return __builtin_altivec_vaddubs((vector unsigned char)__a, __b);
00542 }
00543 
00544 static vector unsigned char __ATTRS_o_ai
00545 vec_vaddubs(vector unsigned char __a, vector bool char __b)
00546 {
00547   return __builtin_altivec_vaddubs(__a, (vector unsigned char)__b);
00548 }
00549 
00550 /* vec_vaddshs */
00551 
00552 static vector short __ATTRS_o_ai
00553 vec_vaddshs(vector short __a, vector short __b)
00554 {
00555   return __builtin_altivec_vaddshs(__a, __b);
00556 }
00557 
00558 static vector short __ATTRS_o_ai
00559 vec_vaddshs(vector bool short __a, vector short __b)
00560 {
00561   return __builtin_altivec_vaddshs((vector short)__a, __b);
00562 }
00563 
00564 static vector short __ATTRS_o_ai
00565 vec_vaddshs(vector short __a, vector bool short __b)
00566 {
00567   return __builtin_altivec_vaddshs(__a, (vector short)__b);
00568 }
00569 
00570 /* vec_vadduhs */
00571 
00572 static vector unsigned short __ATTRS_o_ai
00573 vec_vadduhs(vector unsigned short __a, vector unsigned short __b)
00574 {
00575   return __builtin_altivec_vadduhs(__a, __b);
00576 }
00577 
00578 static vector unsigned short __ATTRS_o_ai
00579 vec_vadduhs(vector bool short __a, vector unsigned short __b)
00580 {
00581   return __builtin_altivec_vadduhs((vector unsigned short)__a, __b);
00582 }
00583 
00584 static vector unsigned short __ATTRS_o_ai
00585 vec_vadduhs(vector unsigned short __a, vector bool short __b)
00586 {
00587   return __builtin_altivec_vadduhs(__a, (vector unsigned short)__b);
00588 }
00589 
00590 /* vec_vaddsws */
00591 
00592 static vector int __ATTRS_o_ai
00593 vec_vaddsws(vector int __a, vector int __b)
00594 {
00595   return __builtin_altivec_vaddsws(__a, __b);
00596 }
00597 
00598 static vector int __ATTRS_o_ai
00599 vec_vaddsws(vector bool int __a, vector int __b)
00600 {
00601   return __builtin_altivec_vaddsws((vector int)__a, __b);
00602 }
00603 
00604 static vector int __ATTRS_o_ai
00605 vec_vaddsws(vector int __a, vector bool int __b)
00606 {
00607   return __builtin_altivec_vaddsws(__a, (vector int)__b);
00608 }
00609 
00610 /* vec_vadduws */
00611 
00612 static vector unsigned int __ATTRS_o_ai
00613 vec_vadduws(vector unsigned int __a, vector unsigned int __b)
00614 {
00615   return __builtin_altivec_vadduws(__a, __b);
00616 }
00617 
00618 static vector unsigned int __ATTRS_o_ai
00619 vec_vadduws(vector bool int __a, vector unsigned int __b)
00620 {
00621   return __builtin_altivec_vadduws((vector unsigned int)__a, __b);
00622 }
00623 
00624 static vector unsigned int __ATTRS_o_ai
00625 vec_vadduws(vector unsigned int __a, vector bool int __b)
00626 {
00627   return __builtin_altivec_vadduws(__a, (vector unsigned int)__b);
00628 }
00629 
00630 /* vec_and */
00631 
00632 #define __builtin_altivec_vand vec_and
00633 
00634 static vector signed char __ATTRS_o_ai
00635 vec_and(vector signed char __a, vector signed char __b)
00636 {
00637   return __a & __b;
00638 }
00639 
00640 static vector signed char __ATTRS_o_ai
00641 vec_and(vector bool char __a, vector signed char __b)
00642 {
00643   return (vector signed char)__a & __b;
00644 }
00645 
00646 static vector signed char __ATTRS_o_ai
00647 vec_and(vector signed char __a, vector bool char __b)
00648 {
00649   return __a & (vector signed char)__b;
00650 }
00651 
00652 static vector unsigned char __ATTRS_o_ai
00653 vec_and(vector unsigned char __a, vector unsigned char __b)
00654 {
00655   return __a & __b;
00656 }
00657 
00658 static vector unsigned char __ATTRS_o_ai
00659 vec_and(vector bool char __a, vector unsigned char __b)
00660 {
00661   return (vector unsigned char)__a & __b;
00662 }
00663 
00664 static vector unsigned char __ATTRS_o_ai
00665 vec_and(vector unsigned char __a, vector bool char __b)
00666 {
00667   return __a & (vector unsigned char)__b;
00668 }
00669 
00670 static vector bool char __ATTRS_o_ai
00671 vec_and(vector bool char __a, vector bool char __b)
00672 {
00673   return __a & __b;
00674 }
00675 
00676 static vector short __ATTRS_o_ai
00677 vec_and(vector short __a, vector short __b)
00678 {
00679   return __a & __b;
00680 }
00681 
00682 static vector short __ATTRS_o_ai
00683 vec_and(vector bool short __a, vector short __b)
00684 {
00685   return (vector short)__a & __b;
00686 }
00687 
00688 static vector short __ATTRS_o_ai
00689 vec_and(vector short __a, vector bool short __b)
00690 {
00691   return __a & (vector short)__b;
00692 }
00693 
00694 static vector unsigned short __ATTRS_o_ai
00695 vec_and(vector unsigned short __a, vector unsigned short __b)
00696 {
00697   return __a & __b;
00698 }
00699 
00700 static vector unsigned short __ATTRS_o_ai
00701 vec_and(vector bool short __a, vector unsigned short __b)
00702 {
00703   return (vector unsigned short)__a & __b;
00704 }
00705 
00706 static vector unsigned short __ATTRS_o_ai
00707 vec_and(vector unsigned short __a, vector bool short __b)
00708 {
00709   return __a & (vector unsigned short)__b;
00710 }
00711 
00712 static vector bool short __ATTRS_o_ai
00713 vec_and(vector bool short __a, vector bool short __b)
00714 {
00715   return __a & __b;
00716 }
00717 
00718 static vector int __ATTRS_o_ai
00719 vec_and(vector int __a, vector int __b)
00720 {
00721   return __a & __b;
00722 }
00723 
00724 static vector int __ATTRS_o_ai
00725 vec_and(vector bool int __a, vector int __b)
00726 {
00727   return (vector int)__a & __b;
00728 }
00729 
00730 static vector int __ATTRS_o_ai
00731 vec_and(vector int __a, vector bool int __b)
00732 {
00733   return __a & (vector int)__b;
00734 }
00735 
00736 static vector unsigned int __ATTRS_o_ai
00737 vec_and(vector unsigned int __a, vector unsigned int __b)
00738 {
00739   return __a & __b;
00740 }
00741 
00742 static vector unsigned int __ATTRS_o_ai
00743 vec_and(vector bool int __a, vector unsigned int __b)
00744 {
00745   return (vector unsigned int)__a & __b;
00746 }
00747 
00748 static vector unsigned int __ATTRS_o_ai
00749 vec_and(vector unsigned int __a, vector bool int __b)
00750 {
00751   return __a & (vector unsigned int)__b;
00752 }
00753 
00754 static vector bool int __ATTRS_o_ai
00755 vec_and(vector bool int __a, vector bool int __b)
00756 {
00757   return __a & __b;
00758 }
00759 
00760 static vector float __ATTRS_o_ai
00761 vec_and(vector float __a, vector float __b)
00762 {
00763   vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
00764   return (vector float)__res;
00765 }
00766 
00767 static vector float __ATTRS_o_ai
00768 vec_and(vector bool int __a, vector float __b)
00769 {
00770   vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
00771   return (vector float)__res;
00772 }
00773 
00774 static vector float __ATTRS_o_ai
00775 vec_and(vector float __a, vector bool int __b)
00776 {
00777   vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
00778   return (vector float)__res;
00779 }
00780 
00781 /* vec_vand */
00782 
00783 static vector signed char __ATTRS_o_ai
00784 vec_vand(vector signed char __a, vector signed char __b)
00785 {
00786   return __a & __b;
00787 }
00788 
00789 static vector signed char __ATTRS_o_ai
00790 vec_vand(vector bool char __a, vector signed char __b)
00791 {
00792   return (vector signed char)__a & __b;
00793 }
00794 
00795 static vector signed char __ATTRS_o_ai
00796 vec_vand(vector signed char __a, vector bool char __b)
00797 {
00798   return __a & (vector signed char)__b;
00799 }
00800 
00801 static vector unsigned char __ATTRS_o_ai
00802 vec_vand(vector unsigned char __a, vector unsigned char __b)
00803 {
00804   return __a & __b;
00805 }
00806 
00807 static vector unsigned char __ATTRS_o_ai
00808 vec_vand(vector bool char __a, vector unsigned char __b)
00809 {
00810   return (vector unsigned char)__a & __b;
00811 }
00812 
00813 static vector unsigned char __ATTRS_o_ai
00814 vec_vand(vector unsigned char __a, vector bool char __b)
00815 {
00816   return __a & (vector unsigned char)__b;
00817 }
00818 
00819 static vector bool char __ATTRS_o_ai
00820 vec_vand(vector bool char __a, vector bool char __b)
00821 {
00822   return __a & __b;
00823 }
00824 
00825 static vector short __ATTRS_o_ai
00826 vec_vand(vector short __a, vector short __b)
00827 {
00828   return __a & __b;
00829 }
00830 
00831 static vector short __ATTRS_o_ai
00832 vec_vand(vector bool short __a, vector short __b)
00833 {
00834   return (vector short)__a & __b;
00835 }
00836 
00837 static vector short __ATTRS_o_ai
00838 vec_vand(vector short __a, vector bool short __b)
00839 {
00840   return __a & (vector short)__b;
00841 }
00842 
00843 static vector unsigned short __ATTRS_o_ai
00844 vec_vand(vector unsigned short __a, vector unsigned short __b)
00845 {
00846   return __a & __b;
00847 }
00848 
00849 static vector unsigned short __ATTRS_o_ai
00850 vec_vand(vector bool short __a, vector unsigned short __b)
00851 {
00852   return (vector unsigned short)__a & __b;
00853 }
00854 
00855 static vector unsigned short __ATTRS_o_ai
00856 vec_vand(vector unsigned short __a, vector bool short __b)
00857 {
00858   return __a & (vector unsigned short)__b;
00859 }
00860 
00861 static vector bool short __ATTRS_o_ai
00862 vec_vand(vector bool short __a, vector bool short __b)
00863 {
00864   return __a & __b;
00865 }
00866 
00867 static vector int __ATTRS_o_ai
00868 vec_vand(vector int __a, vector int __b)
00869 {
00870   return __a & __b;
00871 }
00872 
00873 static vector int __ATTRS_o_ai
00874 vec_vand(vector bool int __a, vector int __b)
00875 {
00876   return (vector int)__a & __b;
00877 }
00878 
00879 static vector int __ATTRS_o_ai
00880 vec_vand(vector int __a, vector bool int __b)
00881 {
00882   return __a & (vector int)__b;
00883 }
00884 
00885 static vector unsigned int __ATTRS_o_ai
00886 vec_vand(vector unsigned int __a, vector unsigned int __b)
00887 {
00888   return __a & __b;
00889 }
00890 
00891 static vector unsigned int __ATTRS_o_ai
00892 vec_vand(vector bool int __a, vector unsigned int __b)
00893 {
00894   return (vector unsigned int)__a & __b;
00895 }
00896 
00897 static vector unsigned int __ATTRS_o_ai
00898 vec_vand(vector unsigned int __a, vector bool int __b)
00899 {
00900   return __a & (vector unsigned int)__b;
00901 }
00902 
00903 static vector bool int __ATTRS_o_ai
00904 vec_vand(vector bool int __a, vector bool int __b)
00905 {
00906   return __a & __b;
00907 }
00908 
00909 static vector float __ATTRS_o_ai
00910 vec_vand(vector float __a, vector float __b)
00911 {
00912   vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
00913   return (vector float)__res;
00914 }
00915 
00916 static vector float __ATTRS_o_ai
00917 vec_vand(vector bool int __a, vector float __b)
00918 {
00919   vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
00920   return (vector float)__res;
00921 }
00922 
00923 static vector float __ATTRS_o_ai
00924 vec_vand(vector float __a, vector bool int __b)
00925 {
00926   vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
00927   return (vector float)__res;
00928 }
00929 
00930 /* vec_andc */
00931 
00932 #define __builtin_altivec_vandc vec_andc
00933 
00934 static vector signed char __ATTRS_o_ai
00935 vec_andc(vector signed char __a, vector signed char __b)
00936 {
00937   return __a & ~__b;
00938 }
00939 
00940 static vector signed char __ATTRS_o_ai
00941 vec_andc(vector bool char __a, vector signed char __b)
00942 {
00943   return (vector signed char)__a & ~__b;
00944 }
00945 
00946 static vector signed char __ATTRS_o_ai
00947 vec_andc(vector signed char __a, vector bool char __b)
00948 {
00949   return __a & ~(vector signed char)__b;
00950 }
00951 
00952 static vector unsigned char __ATTRS_o_ai
00953 vec_andc(vector unsigned char __a, vector unsigned char __b)
00954 {
00955   return __a & ~__b;
00956 }
00957 
00958 static vector unsigned char __ATTRS_o_ai
00959 vec_andc(vector bool char __a, vector unsigned char __b)
00960 {
00961   return (vector unsigned char)__a & ~__b;
00962 }
00963 
00964 static vector unsigned char __ATTRS_o_ai
00965 vec_andc(vector unsigned char __a, vector bool char __b)
00966 {
00967   return __a & ~(vector unsigned char)__b;
00968 }
00969 
00970 static vector bool char __ATTRS_o_ai
00971 vec_andc(vector bool char __a, vector bool char __b)
00972 {
00973   return __a & ~__b;
00974 }
00975 
00976 static vector short __ATTRS_o_ai
00977 vec_andc(vector short __a, vector short __b)
00978 {
00979   return __a & ~__b;
00980 }
00981 
00982 static vector short __ATTRS_o_ai
00983 vec_andc(vector bool short __a, vector short __b)
00984 {
00985   return (vector short)__a & ~__b;
00986 }
00987 
00988 static vector short __ATTRS_o_ai
00989 vec_andc(vector short __a, vector bool short __b)
00990 {
00991   return __a & ~(vector short)__b;
00992 }
00993 
00994 static vector unsigned short __ATTRS_o_ai
00995 vec_andc(vector unsigned short __a, vector unsigned short __b)
00996 {
00997   return __a & ~__b;
00998 }
00999 
01000 static vector unsigned short __ATTRS_o_ai
01001 vec_andc(vector bool short __a, vector unsigned short __b)
01002 {
01003   return (vector unsigned short)__a & ~__b;
01004 }
01005 
01006 static vector unsigned short __ATTRS_o_ai
01007 vec_andc(vector unsigned short __a, vector bool short __b)
01008 {
01009   return __a & ~(vector unsigned short)__b;
01010 }
01011 
01012 static vector bool short __ATTRS_o_ai
01013 vec_andc(vector bool short __a, vector bool short __b)
01014 {
01015   return __a & ~__b;
01016 }
01017 
01018 static vector int __ATTRS_o_ai
01019 vec_andc(vector int __a, vector int __b)
01020 {
01021   return __a & ~__b;
01022 }
01023 
01024 static vector int __ATTRS_o_ai
01025 vec_andc(vector bool int __a, vector int __b)
01026 {
01027   return (vector int)__a & ~__b;
01028 }
01029 
01030 static vector int __ATTRS_o_ai
01031 vec_andc(vector int __a, vector bool int __b)
01032 {
01033   return __a & ~(vector int)__b;
01034 }
01035 
01036 static vector unsigned int __ATTRS_o_ai
01037 vec_andc(vector unsigned int __a, vector unsigned int __b)
01038 {
01039   return __a & ~__b;
01040 }
01041 
01042 static vector unsigned int __ATTRS_o_ai
01043 vec_andc(vector bool int __a, vector unsigned int __b)
01044 {
01045   return (vector unsigned int)__a & ~__b;
01046 }
01047 
01048 static vector unsigned int __ATTRS_o_ai
01049 vec_andc(vector unsigned int __a, vector bool int __b)
01050 {
01051   return __a & ~(vector unsigned int)__b;
01052 }
01053 
01054 static vector bool int __ATTRS_o_ai
01055 vec_andc(vector bool int __a, vector bool int __b)
01056 {
01057   return __a & ~__b;
01058 }
01059 
01060 static vector float __ATTRS_o_ai
01061 vec_andc(vector float __a, vector float __b)
01062 {
01063   vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
01064   return (vector float)__res;
01065 }
01066 
01067 static vector float __ATTRS_o_ai
01068 vec_andc(vector bool int __a, vector float __b)
01069 {
01070   vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
01071   return (vector float)__res;
01072 }
01073 
01074 static vector float __ATTRS_o_ai
01075 vec_andc(vector float __a, vector bool int __b)
01076 {
01077   vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
01078   return (vector float)__res;
01079 }
01080 
01081 /* vec_vandc */
01082 
01083 static vector signed char __ATTRS_o_ai
01084 vec_vandc(vector signed char __a, vector signed char __b)
01085 {
01086   return __a & ~__b;
01087 }
01088 
01089 static vector signed char __ATTRS_o_ai
01090 vec_vandc(vector bool char __a, vector signed char __b)
01091 {
01092   return (vector signed char)__a & ~__b;
01093 }
01094 
01095 static vector signed char __ATTRS_o_ai
01096 vec_vandc(vector signed char __a, vector bool char __b)
01097 {
01098   return __a & ~(vector signed char)__b;
01099 }
01100 
01101 static vector unsigned char __ATTRS_o_ai
01102 vec_vandc(vector unsigned char __a, vector unsigned char __b)
01103 {
01104   return __a & ~__b;
01105 }
01106 
01107 static vector unsigned char __ATTRS_o_ai
01108 vec_vandc(vector bool char __a, vector unsigned char __b)
01109 {
01110   return (vector unsigned char)__a & ~__b;
01111 }
01112 
01113 static vector unsigned char __ATTRS_o_ai
01114 vec_vandc(vector unsigned char __a, vector bool char __b)
01115 {
01116   return __a & ~(vector unsigned char)__b;
01117 }
01118 
01119 static vector bool char __ATTRS_o_ai
01120 vec_vandc(vector bool char __a, vector bool char __b)
01121 {
01122   return __a & ~__b;
01123 }
01124 
01125 static vector short __ATTRS_o_ai
01126 vec_vandc(vector short __a, vector short __b)
01127 {
01128   return __a & ~__b;
01129 }
01130 
01131 static vector short __ATTRS_o_ai
01132 vec_vandc(vector bool short __a, vector short __b)
01133 {
01134   return (vector short)__a & ~__b;
01135 }
01136 
01137 static vector short __ATTRS_o_ai
01138 vec_vandc(vector short __a, vector bool short __b)
01139 {
01140   return __a & ~(vector short)__b;
01141 }
01142 
01143 static vector unsigned short __ATTRS_o_ai
01144 vec_vandc(vector unsigned short __a, vector unsigned short __b)
01145 {
01146   return __a & ~__b;
01147 }
01148 
01149 static vector unsigned short __ATTRS_o_ai
01150 vec_vandc(vector bool short __a, vector unsigned short __b)
01151 {
01152   return (vector unsigned short)__a & ~__b;
01153 }
01154 
01155 static vector unsigned short __ATTRS_o_ai
01156 vec_vandc(vector unsigned short __a, vector bool short __b)
01157 {
01158   return __a & ~(vector unsigned short)__b;
01159 }
01160 
01161 static vector bool short __ATTRS_o_ai
01162 vec_vandc(vector bool short __a, vector bool short __b)
01163 {
01164   return __a & ~__b;
01165 }
01166 
01167 static vector int __ATTRS_o_ai
01168 vec_vandc(vector int __a, vector int __b)
01169 {
01170   return __a & ~__b;
01171 }
01172 
01173 static vector int __ATTRS_o_ai
01174 vec_vandc(vector bool int __a, vector int __b)
01175 {
01176   return (vector int)__a & ~__b;
01177 }
01178 
01179 static vector int __ATTRS_o_ai
01180 vec_vandc(vector int __a, vector bool int __b)
01181 {
01182   return __a & ~(vector int)__b;
01183 }
01184 
01185 static vector unsigned int __ATTRS_o_ai
01186 vec_vandc(vector unsigned int __a, vector unsigned int __b)
01187 {
01188   return __a & ~__b;
01189 }
01190 
01191 static vector unsigned int __ATTRS_o_ai
01192 vec_vandc(vector bool int __a, vector unsigned int __b)
01193 {
01194   return (vector unsigned int)__a & ~__b;
01195 }
01196 
01197 static vector unsigned int __ATTRS_o_ai
01198 vec_vandc(vector unsigned int __a, vector bool int __b)
01199 {
01200   return __a & ~(vector unsigned int)__b;
01201 }
01202 
01203 static vector bool int __ATTRS_o_ai
01204 vec_vandc(vector bool int __a, vector bool int __b)
01205 {
01206   return __a & ~__b;
01207 }
01208 
01209 static vector float __ATTRS_o_ai
01210 vec_vandc(vector float __a, vector float __b)
01211 {
01212   vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
01213   return (vector float)__res;
01214 }
01215 
01216 static vector float __ATTRS_o_ai
01217 vec_vandc(vector bool int __a, vector float __b)
01218 {
01219   vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
01220   return (vector float)__res;
01221 }
01222 
01223 static vector float __ATTRS_o_ai
01224 vec_vandc(vector float __a, vector bool int __b)
01225 {
01226   vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
01227   return (vector float)__res;
01228 }
01229 
01230 /* vec_avg */
01231 
01232 static vector signed char __ATTRS_o_ai
01233 vec_avg(vector signed char __a, vector signed char __b)
01234 {
01235   return __builtin_altivec_vavgsb(__a, __b);
01236 }
01237 
01238 static vector unsigned char __ATTRS_o_ai
01239 vec_avg(vector unsigned char __a, vector unsigned char __b)
01240 {
01241   return __builtin_altivec_vavgub(__a, __b);
01242 }
01243 
01244 static vector short __ATTRS_o_ai
01245 vec_avg(vector short __a, vector short __b)
01246 {
01247   return __builtin_altivec_vavgsh(__a, __b);
01248 }
01249 
01250 static vector unsigned short __ATTRS_o_ai
01251 vec_avg(vector unsigned short __a, vector unsigned short __b)
01252 {
01253   return __builtin_altivec_vavguh(__a, __b);
01254 }
01255 
01256 static vector int __ATTRS_o_ai
01257 vec_avg(vector int __a, vector int __b)
01258 {
01259   return __builtin_altivec_vavgsw(__a, __b);
01260 }
01261 
01262 static vector unsigned int __ATTRS_o_ai
01263 vec_avg(vector unsigned int __a, vector unsigned int __b)
01264 {
01265   return __builtin_altivec_vavguw(__a, __b);
01266 }
01267 
01268 /* vec_vavgsb */
01269 
01270 static vector signed char __attribute__((__always_inline__))
01271 vec_vavgsb(vector signed char __a, vector signed char __b)
01272 {
01273   return __builtin_altivec_vavgsb(__a, __b);
01274 }
01275 
01276 /* vec_vavgub */
01277 
01278 static vector unsigned char __attribute__((__always_inline__))
01279 vec_vavgub(vector unsigned char __a, vector unsigned char __b)
01280 {
01281   return __builtin_altivec_vavgub(__a, __b);
01282 }
01283 
01284 /* vec_vavgsh */
01285 
01286 static vector short __attribute__((__always_inline__))
01287 vec_vavgsh(vector short __a, vector short __b)
01288 {
01289   return __builtin_altivec_vavgsh(__a, __b);
01290 }
01291 
01292 /* vec_vavguh */
01293 
01294 static vector unsigned short __attribute__((__always_inline__))
01295 vec_vavguh(vector unsigned short __a, vector unsigned short __b)
01296 {
01297   return __builtin_altivec_vavguh(__a, __b);
01298 }
01299 
01300 /* vec_vavgsw */
01301 
01302 static vector int __attribute__((__always_inline__))
01303 vec_vavgsw(vector int __a, vector int __b)
01304 {
01305   return __builtin_altivec_vavgsw(__a, __b);
01306 }
01307 
01308 /* vec_vavguw */
01309 
01310 static vector unsigned int __attribute__((__always_inline__))
01311 vec_vavguw(vector unsigned int __a, vector unsigned int __b)
01312 {
01313   return __builtin_altivec_vavguw(__a, __b);
01314 }
01315 
01316 /* vec_ceil */
01317 
01318 static vector float __attribute__((__always_inline__))
01319 vec_ceil(vector float __a)
01320 {
01321   return __builtin_altivec_vrfip(__a);
01322 }
01323 
01324 /* vec_vrfip */
01325 
01326 static vector float __attribute__((__always_inline__))
01327 vec_vrfip(vector float __a)
01328 {
01329   return __builtin_altivec_vrfip(__a);
01330 }
01331 
01332 /* vec_cmpb */
01333 
01334 static vector int __attribute__((__always_inline__))
01335 vec_cmpb(vector float __a, vector float __b)
01336 {
01337   return __builtin_altivec_vcmpbfp(__a, __b);
01338 }
01339 
01340 /* vec_vcmpbfp */
01341 
01342 static vector int __attribute__((__always_inline__))
01343 vec_vcmpbfp(vector float __a, vector float __b)
01344 {
01345   return __builtin_altivec_vcmpbfp(__a, __b);
01346 }
01347 
01348 /* vec_cmpeq */
01349 
01350 static vector bool char __ATTRS_o_ai
01351 vec_cmpeq(vector signed char __a, vector signed char __b)
01352 {
01353   return (vector bool char)
01354     __builtin_altivec_vcmpequb((vector char)__a, (vector char)__b);
01355 }
01356 
01357 static vector bool char __ATTRS_o_ai
01358 vec_cmpeq(vector unsigned char __a, vector unsigned char __b)
01359 {
01360   return (vector bool char)
01361     __builtin_altivec_vcmpequb((vector char)__a, (vector char)__b);
01362 }
01363 
01364 static vector bool short __ATTRS_o_ai
01365 vec_cmpeq(vector short __a, vector short __b)
01366 {
01367   return (vector bool short)__builtin_altivec_vcmpequh(__a, __b);
01368 }
01369 
01370 static vector bool short __ATTRS_o_ai
01371 vec_cmpeq(vector unsigned short __a, vector unsigned short __b)
01372 {
01373   return (vector bool short)
01374     __builtin_altivec_vcmpequh((vector short)__a, (vector short)__b);
01375 }
01376 
01377 static vector bool int __ATTRS_o_ai
01378 vec_cmpeq(vector int __a, vector int __b)
01379 {
01380   return (vector bool int)__builtin_altivec_vcmpequw(__a, __b);
01381 }
01382 
01383 static vector bool int __ATTRS_o_ai
01384 vec_cmpeq(vector unsigned int __a, vector unsigned int __b)
01385 {
01386   return (vector bool int)
01387     __builtin_altivec_vcmpequw((vector int)__a, (vector int)__b);
01388 }
01389 
01390 static vector bool int __ATTRS_o_ai
01391 vec_cmpeq(vector float __a, vector float __b)
01392 {
01393   return (vector bool int)__builtin_altivec_vcmpeqfp(__a, __b);
01394 }
01395 
01396 /* vec_cmpge */
01397 
01398 static vector bool int __attribute__((__always_inline__))
01399 vec_cmpge(vector float __a, vector float __b)
01400 {
01401   return (vector bool int)__builtin_altivec_vcmpgefp(__a, __b);
01402 }
01403 
01404 /* vec_vcmpgefp */
01405 
01406 static vector bool int __attribute__((__always_inline__))
01407 vec_vcmpgefp(vector float __a, vector float __b)
01408 {
01409   return (vector bool int)__builtin_altivec_vcmpgefp(__a, __b);
01410 }
01411 
01412 /* vec_cmpgt */
01413 
01414 static vector bool char __ATTRS_o_ai
01415 vec_cmpgt(vector signed char __a, vector signed char __b)
01416 {
01417   return (vector bool char)__builtin_altivec_vcmpgtsb(__a, __b);
01418 }
01419 
01420 static vector bool char __ATTRS_o_ai
01421 vec_cmpgt(vector unsigned char __a, vector unsigned char __b)
01422 {
01423   return (vector bool char)__builtin_altivec_vcmpgtub(__a, __b);
01424 }
01425 
01426 static vector bool short __ATTRS_o_ai
01427 vec_cmpgt(vector short __a, vector short __b)
01428 {
01429   return (vector bool short)__builtin_altivec_vcmpgtsh(__a, __b);
01430 }
01431 
01432 static vector bool short __ATTRS_o_ai
01433 vec_cmpgt(vector unsigned short __a, vector unsigned short __b)
01434 {
01435   return (vector bool short)__builtin_altivec_vcmpgtuh(__a, __b);
01436 }
01437 
01438 static vector bool int __ATTRS_o_ai
01439 vec_cmpgt(vector int __a, vector int __b)
01440 {
01441   return (vector bool int)__builtin_altivec_vcmpgtsw(__a, __b);
01442 }
01443 
01444 static vector bool int __ATTRS_o_ai
01445 vec_cmpgt(vector unsigned int __a, vector unsigned int __b)
01446 {
01447   return (vector bool int)__builtin_altivec_vcmpgtuw(__a, __b);
01448 }
01449 
01450 static vector bool int __ATTRS_o_ai
01451 vec_cmpgt(vector float __a, vector float __b)
01452 {
01453   return (vector bool int)__builtin_altivec_vcmpgtfp(__a, __b);
01454 }
01455 
01456 /* vec_vcmpgtsb */
01457 
01458 static vector bool char __attribute__((__always_inline__))
01459 vec_vcmpgtsb(vector signed char __a, vector signed char __b)
01460 {
01461   return (vector bool char)__builtin_altivec_vcmpgtsb(__a, __b);
01462 }
01463 
01464 /* vec_vcmpgtub */
01465 
01466 static vector bool char __attribute__((__always_inline__))
01467 vec_vcmpgtub(vector unsigned char __a, vector unsigned char __b)
01468 {
01469   return (vector bool char)__builtin_altivec_vcmpgtub(__a, __b);
01470 }
01471 
01472 /* vec_vcmpgtsh */
01473 
01474 static vector bool short __attribute__((__always_inline__))
01475 vec_vcmpgtsh(vector short __a, vector short __b)
01476 {
01477   return (vector bool short)__builtin_altivec_vcmpgtsh(__a, __b);
01478 }
01479 
01480 /* vec_vcmpgtuh */
01481 
01482 static vector bool short __attribute__((__always_inline__))
01483 vec_vcmpgtuh(vector unsigned short __a, vector unsigned short __b)
01484 {
01485   return (vector bool short)__builtin_altivec_vcmpgtuh(__a, __b);
01486 }
01487 
01488 /* vec_vcmpgtsw */
01489 
01490 static vector bool int __attribute__((__always_inline__))
01491 vec_vcmpgtsw(vector int __a, vector int __b)
01492 {
01493   return (vector bool int)__builtin_altivec_vcmpgtsw(__a, __b);
01494 }
01495 
01496 /* vec_vcmpgtuw */
01497 
01498 static vector bool int __attribute__((__always_inline__))
01499 vec_vcmpgtuw(vector unsigned int __a, vector unsigned int __b)
01500 {
01501   return (vector bool int)__builtin_altivec_vcmpgtuw(__a, __b);
01502 }
01503 
01504 /* vec_vcmpgtfp */
01505 
01506 static vector bool int __attribute__((__always_inline__))
01507 vec_vcmpgtfp(vector float __a, vector float __b)
01508 {
01509   return (vector bool int)__builtin_altivec_vcmpgtfp(__a, __b);
01510 }
01511 
01512 /* vec_cmple */
01513 
01514 static vector bool int __attribute__((__always_inline__))
01515 vec_cmple(vector float __a, vector float __b)
01516 {
01517   return (vector bool int)__builtin_altivec_vcmpgefp(__b, __a);
01518 }
01519 
01520 /* vec_cmplt */
01521 
01522 static vector bool char __ATTRS_o_ai
01523 vec_cmplt(vector signed char __a, vector signed char __b)
01524 {
01525   return (vector bool char)__builtin_altivec_vcmpgtsb(__b, __a);
01526 }
01527 
01528 static vector bool char __ATTRS_o_ai
01529 vec_cmplt(vector unsigned char __a, vector unsigned char __b)
01530 {
01531   return (vector bool char)__builtin_altivec_vcmpgtub(__b, __a);
01532 }
01533 
01534 static vector bool short __ATTRS_o_ai
01535 vec_cmplt(vector short __a, vector short __b)
01536 {
01537   return (vector bool short)__builtin_altivec_vcmpgtsh(__b, __a);
01538 }
01539 
01540 static vector bool short __ATTRS_o_ai
01541 vec_cmplt(vector unsigned short __a, vector unsigned short __b)
01542 {
01543   return (vector bool short)__builtin_altivec_vcmpgtuh(__b, __a);
01544 }
01545 
01546 static vector bool int __ATTRS_o_ai
01547 vec_cmplt(vector int __a, vector int __b)
01548 {
01549   return (vector bool int)__builtin_altivec_vcmpgtsw(__b, __a);
01550 }
01551 
01552 static vector bool int __ATTRS_o_ai
01553 vec_cmplt(vector unsigned int __a, vector unsigned int __b)
01554 {
01555   return (vector bool int)__builtin_altivec_vcmpgtuw(__b, __a);
01556 }
01557 
01558 static vector bool int __ATTRS_o_ai
01559 vec_cmplt(vector float __a, vector float __b)
01560 {
01561   return (vector bool int)__builtin_altivec_vcmpgtfp(__b, __a);
01562 }
01563 
01564 /* vec_ctf */
01565 
01566 static vector float __ATTRS_o_ai
01567 vec_ctf(vector int __a, int __b)
01568 {
01569   return __builtin_altivec_vcfsx(__a, __b);
01570 }
01571 
01572 static vector float __ATTRS_o_ai
01573 vec_ctf(vector unsigned int __a, int __b)
01574 {
01575   return __builtin_altivec_vcfux((vector int)__a, __b);
01576 }
01577 
01578 /* vec_vcfsx */
01579 
01580 static vector float __attribute__((__always_inline__))
01581 vec_vcfsx(vector int __a, int __b)
01582 {
01583   return __builtin_altivec_vcfsx(__a, __b);
01584 }
01585 
01586 /* vec_vcfux */
01587 
01588 static vector float __attribute__((__always_inline__))
01589 vec_vcfux(vector unsigned int __a, int __b)
01590 {
01591   return __builtin_altivec_vcfux((vector int)__a, __b);
01592 }
01593 
01594 /* vec_cts */
01595 
01596 static vector int __attribute__((__always_inline__))
01597 vec_cts(vector float __a, int __b)
01598 {
01599   return __builtin_altivec_vctsxs(__a, __b);
01600 }
01601 
01602 /* vec_vctsxs */
01603 
01604 static vector int __attribute__((__always_inline__))
01605 vec_vctsxs(vector float __a, int __b)
01606 {
01607   return __builtin_altivec_vctsxs(__a, __b);
01608 }
01609 
01610 /* vec_ctu */
01611 
01612 static vector unsigned int __attribute__((__always_inline__))
01613 vec_ctu(vector float __a, int __b)
01614 {
01615   return __builtin_altivec_vctuxs(__a, __b);
01616 }
01617 
01618 /* vec_vctuxs */
01619 
01620 static vector unsigned int __attribute__((__always_inline__))
01621 vec_vctuxs(vector float __a, int __b)
01622 {
01623   return __builtin_altivec_vctuxs(__a, __b);
01624 }
01625 
01626 /* vec_div */
01627 #ifdef __VSX__
01628 static vector float __ATTRS_o_ai
01629 vec_div(vector float __a, vector float __b)
01630 {
01631   return __builtin_vsx_xvdivsp(__a, __b);
01632 }
01633 
01634 static vector double __ATTRS_o_ai
01635 vec_div(vector double __a, vector double __b)
01636 {
01637   return __builtin_vsx_xvdivdp(__a, __b);
01638 }
01639 #endif
01640 
01641 /* vec_dss */
01642 
01643 static void __attribute__((__always_inline__))
01644 vec_dss(int __a)
01645 {
01646   __builtin_altivec_dss(__a);
01647 }
01648 
01649 /* vec_dssall */
01650 
01651 static void __attribute__((__always_inline__))
01652 vec_dssall(void)
01653 {
01654   __builtin_altivec_dssall();
01655 }
01656 
01657 /* vec_dst */
01658 
01659 static void __attribute__((__always_inline__))
01660 vec_dst(const void *__a, int __b, int __c)
01661 {
01662   __builtin_altivec_dst(__a, __b, __c);
01663 }
01664 
01665 /* vec_dstst */
01666 
01667 static void __attribute__((__always_inline__))
01668 vec_dstst(const void *__a, int __b, int __c)
01669 {
01670   __builtin_altivec_dstst(__a, __b, __c);
01671 }
01672 
01673 /* vec_dststt */
01674 
01675 static void __attribute__((__always_inline__))
01676 vec_dststt(const void *__a, int __b, int __c)
01677 {
01678   __builtin_altivec_dststt(__a, __b, __c);
01679 }
01680 
01681 /* vec_dstt */
01682 
01683 static void __attribute__((__always_inline__))
01684 vec_dstt(const void *__a, int __b, int __c)
01685 {
01686   __builtin_altivec_dstt(__a, __b, __c);
01687 }
01688 
01689 /* vec_expte */
01690 
01691 static vector float __attribute__((__always_inline__))
01692 vec_expte(vector float __a)
01693 {
01694   return __builtin_altivec_vexptefp(__a);
01695 }
01696 
01697 /* vec_vexptefp */
01698 
01699 static vector float __attribute__((__always_inline__))
01700 vec_vexptefp(vector float __a)
01701 {
01702   return __builtin_altivec_vexptefp(__a);
01703 }
01704 
01705 /* vec_floor */
01706 
01707 static vector float __attribute__((__always_inline__))
01708 vec_floor(vector float __a)
01709 {
01710   return __builtin_altivec_vrfim(__a);
01711 }
01712 
01713 /* vec_vrfim */
01714 
01715 static vector float __attribute__((__always_inline__))
01716 vec_vrfim(vector float __a)
01717 {
01718   return __builtin_altivec_vrfim(__a);
01719 }
01720 
01721 /* vec_ld */
01722 
01723 static vector signed char __ATTRS_o_ai
01724 vec_ld(int __a, const vector signed char *__b)
01725 {
01726   return (vector signed char)__builtin_altivec_lvx(__a, __b);
01727 }
01728 
01729 static vector signed char __ATTRS_o_ai
01730 vec_ld(int __a, const signed char *__b)
01731 {
01732   return (vector signed char)__builtin_altivec_lvx(__a, __b);
01733 }
01734 
01735 static vector unsigned char __ATTRS_o_ai
01736 vec_ld(int __a, const vector unsigned char *__b)
01737 {
01738   return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
01739 }
01740 
01741 static vector unsigned char __ATTRS_o_ai
01742 vec_ld(int __a, const unsigned char *__b)
01743 {
01744   return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
01745 }
01746 
01747 static vector bool char __ATTRS_o_ai
01748 vec_ld(int __a, const vector bool char *__b)
01749 {
01750   return (vector bool char)__builtin_altivec_lvx(__a, __b);
01751 }
01752 
01753 static vector short __ATTRS_o_ai
01754 vec_ld(int __a, const vector short *__b)
01755 {
01756   return (vector short)__builtin_altivec_lvx(__a, __b);
01757 }
01758 
01759 static vector short __ATTRS_o_ai
01760 vec_ld(int __a, const short *__b)
01761 {
01762   return (vector short)__builtin_altivec_lvx(__a, __b);
01763 }
01764 
01765 static vector unsigned short __ATTRS_o_ai
01766 vec_ld(int __a, const vector unsigned short *__b)
01767 {
01768   return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
01769 }
01770 
01771 static vector unsigned short __ATTRS_o_ai
01772 vec_ld(int __a, const unsigned short *__b)
01773 {
01774   return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
01775 }
01776 
01777 static vector bool short __ATTRS_o_ai
01778 vec_ld(int __a, const vector bool short *__b)
01779 {
01780   return (vector bool short)__builtin_altivec_lvx(__a, __b);
01781 }
01782 
01783 static vector pixel __ATTRS_o_ai
01784 vec_ld(int __a, const vector pixel *__b)
01785 {
01786   return (vector pixel)__builtin_altivec_lvx(__a, __b);
01787 }
01788 
01789 static vector int __ATTRS_o_ai
01790 vec_ld(int __a, const vector int *__b)
01791 {
01792   return (vector int)__builtin_altivec_lvx(__a, __b);
01793 }
01794 
01795 static vector int __ATTRS_o_ai
01796 vec_ld(int __a, const int *__b)
01797 {
01798   return (vector int)__builtin_altivec_lvx(__a, __b);
01799 }
01800 
01801 static vector unsigned int __ATTRS_o_ai
01802 vec_ld(int __a, const vector unsigned int *__b)
01803 {
01804   return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
01805 }
01806 
01807 static vector unsigned int __ATTRS_o_ai
01808 vec_ld(int __a, const unsigned int *__b)
01809 {
01810   return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
01811 }
01812 
01813 static vector bool int __ATTRS_o_ai
01814 vec_ld(int __a, const vector bool int *__b)
01815 {
01816   return (vector bool int)__builtin_altivec_lvx(__a, __b);
01817 }
01818 
01819 static vector float __ATTRS_o_ai
01820 vec_ld(int __a, const vector float *__b)
01821 {
01822   return (vector float)__builtin_altivec_lvx(__a, __b);
01823 }
01824 
01825 static vector float __ATTRS_o_ai
01826 vec_ld(int __a, const float *__b)
01827 {
01828   return (vector float)__builtin_altivec_lvx(__a, __b);
01829 }
01830 
01831 /* vec_lvx */
01832 
01833 static vector signed char __ATTRS_o_ai
01834 vec_lvx(int __a, const vector signed char *__b)
01835 {
01836   return (vector signed char)__builtin_altivec_lvx(__a, __b);
01837 }
01838 
01839 static vector signed char __ATTRS_o_ai
01840 vec_lvx(int __a, const signed char *__b)
01841 {
01842   return (vector signed char)__builtin_altivec_lvx(__a, __b);
01843 }
01844 
01845 static vector unsigned char __ATTRS_o_ai
01846 vec_lvx(int __a, const vector unsigned char *__b)
01847 {
01848   return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
01849 }
01850 
01851 static vector unsigned char __ATTRS_o_ai
01852 vec_lvx(int __a, const unsigned char *__b)
01853 {
01854   return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
01855 }
01856 
01857 static vector bool char __ATTRS_o_ai
01858 vec_lvx(int __a, const vector bool char *__b)
01859 {
01860   return (vector bool char)__builtin_altivec_lvx(__a, __b);
01861 }
01862 
01863 static vector short __ATTRS_o_ai
01864 vec_lvx(int __a, const vector short *__b)
01865 {
01866   return (vector short)__builtin_altivec_lvx(__a, __b);
01867 }
01868 
01869 static vector short __ATTRS_o_ai
01870 vec_lvx(int __a, const short *__b)
01871 {
01872   return (vector short)__builtin_altivec_lvx(__a, __b);
01873 }
01874 
01875 static vector unsigned short __ATTRS_o_ai
01876 vec_lvx(int __a, const vector unsigned short *__b)
01877 {
01878   return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
01879 }
01880 
01881 static vector unsigned short __ATTRS_o_ai
01882 vec_lvx(int __a, const unsigned short *__b)
01883 {
01884   return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
01885 }
01886 
01887 static vector bool short __ATTRS_o_ai
01888 vec_lvx(int __a, const vector bool short *__b)
01889 {
01890   return (vector bool short)__builtin_altivec_lvx(__a, __b);
01891 }
01892 
01893 static vector pixel __ATTRS_o_ai
01894 vec_lvx(int __a, const vector pixel *__b)
01895 {
01896   return (vector pixel)__builtin_altivec_lvx(__a, __b);
01897 }
01898 
01899 static vector int __ATTRS_o_ai
01900 vec_lvx(int __a, const vector int *__b)
01901 {
01902   return (vector int)__builtin_altivec_lvx(__a, __b);
01903 }
01904 
01905 static vector int __ATTRS_o_ai
01906 vec_lvx(int __a, const int *__b)
01907 {
01908   return (vector int)__builtin_altivec_lvx(__a, __b);
01909 }
01910 
01911 static vector unsigned int __ATTRS_o_ai
01912 vec_lvx(int __a, const vector unsigned int *__b)
01913 {
01914   return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
01915 }
01916 
01917 static vector unsigned int __ATTRS_o_ai
01918 vec_lvx(int __a, const unsigned int *__b)
01919 {
01920   return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
01921 }
01922 
01923 static vector bool int __ATTRS_o_ai
01924 vec_lvx(int __a, const vector bool int *__b)
01925 {
01926   return (vector bool int)__builtin_altivec_lvx(__a, __b);
01927 }
01928 
01929 static vector float __ATTRS_o_ai
01930 vec_lvx(int __a, const vector float *__b)
01931 {
01932   return (vector float)__builtin_altivec_lvx(__a, __b);
01933 }
01934 
01935 static vector float __ATTRS_o_ai
01936 vec_lvx(int __a, const float *__b)
01937 {
01938   return (vector float)__builtin_altivec_lvx(__a, __b);
01939 }
01940 
01941 /* vec_lde */
01942 
01943 static vector signed char __ATTRS_o_ai
01944 vec_lde(int __a, const signed char *__b)
01945 {
01946   return (vector signed char)__builtin_altivec_lvebx(__a, __b);
01947 }
01948 
01949 static vector unsigned char __ATTRS_o_ai
01950 vec_lde(int __a, const unsigned char *__b)
01951 {
01952   return (vector unsigned char)__builtin_altivec_lvebx(__a, __b);
01953 }
01954 
01955 static vector short __ATTRS_o_ai
01956 vec_lde(int __a, const short *__b)
01957 {
01958   return (vector short)__builtin_altivec_lvehx(__a, __b);
01959 }
01960 
01961 static vector unsigned short __ATTRS_o_ai
01962 vec_lde(int __a, const unsigned short *__b)
01963 {
01964   return (vector unsigned short)__builtin_altivec_lvehx(__a, __b);
01965 }
01966 
01967 static vector int __ATTRS_o_ai
01968 vec_lde(int __a, const int *__b)
01969 {
01970   return (vector int)__builtin_altivec_lvewx(__a, __b);
01971 }
01972 
01973 static vector unsigned int __ATTRS_o_ai
01974 vec_lde(int __a, const unsigned int *__b)
01975 {
01976   return (vector unsigned int)__builtin_altivec_lvewx(__a, __b);
01977 }
01978 
01979 static vector float __ATTRS_o_ai
01980 vec_lde(int __a, const float *__b)
01981 {
01982   return (vector float)__builtin_altivec_lvewx(__a, __b);
01983 }
01984 
01985 /* vec_lvebx */
01986 
01987 static vector signed char __ATTRS_o_ai
01988 vec_lvebx(int __a, const signed char *__b)
01989 {
01990   return (vector signed char)__builtin_altivec_lvebx(__a, __b);
01991 }
01992 
01993 static vector unsigned char __ATTRS_o_ai
01994 vec_lvebx(int __a, const unsigned char *__b)
01995 {
01996   return (vector unsigned char)__builtin_altivec_lvebx(__a, __b);
01997 }
01998 
01999 /* vec_lvehx */
02000 
02001 static vector short __ATTRS_o_ai
02002 vec_lvehx(int __a, const short *__b)
02003 {
02004   return (vector short)__builtin_altivec_lvehx(__a, __b);
02005 }
02006 
02007 static vector unsigned short __ATTRS_o_ai
02008 vec_lvehx(int __a, const unsigned short *__b)
02009 {
02010   return (vector unsigned short)__builtin_altivec_lvehx(__a, __b);
02011 }
02012 
02013 /* vec_lvewx */
02014 
02015 static vector int __ATTRS_o_ai
02016 vec_lvewx(int __a, const int *__b)
02017 {
02018   return (vector int)__builtin_altivec_lvewx(__a, __b);
02019 }
02020 
02021 static vector unsigned int __ATTRS_o_ai
02022 vec_lvewx(int __a, const unsigned int *__b)
02023 {
02024   return (vector unsigned int)__builtin_altivec_lvewx(__a, __b);
02025 }
02026 
02027 static vector float __ATTRS_o_ai
02028 vec_lvewx(int __a, const float *__b)
02029 {
02030   return (vector float)__builtin_altivec_lvewx(__a, __b);
02031 }
02032 
02033 /* vec_ldl */
02034 
02035 static vector signed char __ATTRS_o_ai
02036 vec_ldl(int __a, const vector signed char *__b)
02037 {
02038   return (vector signed char)__builtin_altivec_lvxl(__a, __b);
02039 }
02040 
02041 static vector signed char __ATTRS_o_ai
02042 vec_ldl(int __a, const signed char *__b)
02043 {
02044   return (vector signed char)__builtin_altivec_lvxl(__a, __b);
02045 }
02046 
02047 static vector unsigned char __ATTRS_o_ai
02048 vec_ldl(int __a, const vector unsigned char *__b)
02049 {
02050   return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
02051 }
02052 
02053 static vector unsigned char __ATTRS_o_ai
02054 vec_ldl(int __a, const unsigned char *__b)
02055 {
02056   return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
02057 }
02058 
02059 static vector bool char __ATTRS_o_ai
02060 vec_ldl(int __a, const vector bool char *__b)
02061 {
02062   return (vector bool char)__builtin_altivec_lvxl(__a, __b);
02063 }
02064 
02065 static vector short __ATTRS_o_ai
02066 vec_ldl(int __a, const vector short *__b)
02067 {
02068   return (vector short)__builtin_altivec_lvxl(__a, __b);
02069 }
02070 
02071 static vector short __ATTRS_o_ai
02072 vec_ldl(int __a, const short *__b)
02073 {
02074   return (vector short)__builtin_altivec_lvxl(__a, __b);
02075 }
02076 
02077 static vector unsigned short __ATTRS_o_ai
02078 vec_ldl(int __a, const vector unsigned short *__b)
02079 {
02080   return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
02081 }
02082 
02083 static vector unsigned short __ATTRS_o_ai
02084 vec_ldl(int __a, const unsigned short *__b)
02085 {
02086   return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
02087 }
02088 
02089 static vector bool short __ATTRS_o_ai
02090 vec_ldl(int __a, const vector bool short *__b)
02091 {
02092   return (vector bool short)__builtin_altivec_lvxl(__a, __b);
02093 }
02094 
02095 static vector pixel __ATTRS_o_ai
02096 vec_ldl(int __a, const vector pixel *__b)
02097 {
02098   return (vector pixel short)__builtin_altivec_lvxl(__a, __b);
02099 }
02100 
02101 static vector int __ATTRS_o_ai
02102 vec_ldl(int __a, const vector int *__b)
02103 {
02104   return (vector int)__builtin_altivec_lvxl(__a, __b);
02105 }
02106 
02107 static vector int __ATTRS_o_ai
02108 vec_ldl(int __a, const int *__b)
02109 {
02110   return (vector int)__builtin_altivec_lvxl(__a, __b);
02111 }
02112 
02113 static vector unsigned int __ATTRS_o_ai
02114 vec_ldl(int __a, const vector unsigned int *__b)
02115 {
02116   return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
02117 }
02118 
02119 static vector unsigned int __ATTRS_o_ai
02120 vec_ldl(int __a, const unsigned int *__b)
02121 {
02122   return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
02123 }
02124 
02125 static vector bool int __ATTRS_o_ai
02126 vec_ldl(int __a, const vector bool int *__b)
02127 {
02128   return (vector bool int)__builtin_altivec_lvxl(__a, __b);
02129 }
02130 
02131 static vector float __ATTRS_o_ai
02132 vec_ldl(int __a, const vector float *__b)
02133 {
02134   return (vector float)__builtin_altivec_lvxl(__a, __b);
02135 }
02136 
02137 static vector float __ATTRS_o_ai
02138 vec_ldl(int __a, const float *__b)
02139 {
02140   return (vector float)__builtin_altivec_lvxl(__a, __b);
02141 }
02142 
02143 /* vec_lvxl */
02144 
02145 static vector signed char __ATTRS_o_ai
02146 vec_lvxl(int __a, const vector signed char *__b)
02147 {
02148   return (vector signed char)__builtin_altivec_lvxl(__a, __b);
02149 }
02150 
02151 static vector signed char __ATTRS_o_ai
02152 vec_lvxl(int __a, const signed char *__b)
02153 {
02154   return (vector signed char)__builtin_altivec_lvxl(__a, __b);
02155 }
02156 
02157 static vector unsigned char __ATTRS_o_ai
02158 vec_lvxl(int __a, const vector unsigned char *__b)
02159 {
02160   return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
02161 }
02162 
02163 static vector unsigned char __ATTRS_o_ai
02164 vec_lvxl(int __a, const unsigned char *__b)
02165 {
02166   return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
02167 }
02168 
02169 static vector bool char __ATTRS_o_ai
02170 vec_lvxl(int __a, const vector bool char *__b)
02171 {
02172   return (vector bool char)__builtin_altivec_lvxl(__a, __b);
02173 }
02174 
02175 static vector short __ATTRS_o_ai
02176 vec_lvxl(int __a, const vector short *__b)
02177 {
02178   return (vector short)__builtin_altivec_lvxl(__a, __b);
02179 }
02180 
02181 static vector short __ATTRS_o_ai
02182 vec_lvxl(int __a, const short *__b)
02183 {
02184   return (vector short)__builtin_altivec_lvxl(__a, __b);
02185 }
02186 
02187 static vector unsigned short __ATTRS_o_ai
02188 vec_lvxl(int __a, const vector unsigned short *__b)
02189 {
02190   return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
02191 }
02192 
02193 static vector unsigned short __ATTRS_o_ai
02194 vec_lvxl(int __a, const unsigned short *__b)
02195 {
02196   return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
02197 }
02198 
02199 static vector bool short __ATTRS_o_ai
02200 vec_lvxl(int __a, const vector bool short *__b)
02201 {
02202   return (vector bool short)__builtin_altivec_lvxl(__a, __b);
02203 }
02204 
02205 static vector pixel __ATTRS_o_ai
02206 vec_lvxl(int __a, const vector pixel *__b)
02207 {
02208   return (vector pixel)__builtin_altivec_lvxl(__a, __b);
02209 }
02210 
02211 static vector int __ATTRS_o_ai
02212 vec_lvxl(int __a, const vector int *__b)
02213 {
02214   return (vector int)__builtin_altivec_lvxl(__a, __b);
02215 }
02216 
02217 static vector int __ATTRS_o_ai
02218 vec_lvxl(int __a, const int *__b)
02219 {
02220   return (vector int)__builtin_altivec_lvxl(__a, __b);
02221 }
02222 
02223 static vector unsigned int __ATTRS_o_ai
02224 vec_lvxl(int __a, const vector unsigned int *__b)
02225 {
02226   return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
02227 }
02228 
02229 static vector unsigned int __ATTRS_o_ai
02230 vec_lvxl(int __a, const unsigned int *__b)
02231 {
02232   return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
02233 }
02234 
02235 static vector bool int __ATTRS_o_ai
02236 vec_lvxl(int __a, const vector bool int *__b)
02237 {
02238   return (vector bool int)__builtin_altivec_lvxl(__a, __b);
02239 }
02240 
02241 static vector float __ATTRS_o_ai
02242 vec_lvxl(int __a, const vector float *__b)
02243 {
02244   return (vector float)__builtin_altivec_lvxl(__a, __b);
02245 }
02246 
02247 static vector float __ATTRS_o_ai
02248 vec_lvxl(int __a, const float *__b)
02249 {
02250   return (vector float)__builtin_altivec_lvxl(__a, __b);
02251 }
02252 
02253 /* vec_loge */
02254 
02255 static vector float __attribute__((__always_inline__))
02256 vec_loge(vector float __a)
02257 {
02258   return __builtin_altivec_vlogefp(__a);
02259 }
02260 
02261 /* vec_vlogefp */
02262 
02263 static vector float __attribute__((__always_inline__))
02264 vec_vlogefp(vector float __a)
02265 {
02266   return __builtin_altivec_vlogefp(__a);
02267 }
02268 
02269 /* vec_lvsl */
02270 
02271 #ifdef __LITTLE_ENDIAN__
02272 static vector unsigned char __ATTRS_o_ai
02273 __attribute__((deprecated("use assignment for unaligned little endian \
02274 loads/stores")))
02275 vec_lvsl(int __a, const signed char *__b)
02276 {
02277   vector unsigned char mask = 
02278     (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
02279   vector unsigned char reverse = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
02280   return vec_perm(mask, mask, reverse);
02281 }
02282 #else
02283 static vector unsigned char __ATTRS_o_ai
02284 vec_lvsl(int __a, const signed char *__b)
02285 {
02286   return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
02287 }
02288 #endif
02289 
02290 #ifdef __LITTLE_ENDIAN__
02291 static vector unsigned char __ATTRS_o_ai
02292 __attribute__((deprecated("use assignment for unaligned little endian \
02293 loads/stores")))
02294 vec_lvsl(int __a, const unsigned char *__b)
02295 {
02296   vector unsigned char mask =
02297     (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
02298   vector unsigned char reverse = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
02299   return vec_perm(mask, mask, reverse);
02300 }
02301 #else
02302 static vector unsigned char __ATTRS_o_ai
02303 vec_lvsl(int __a, const unsigned char *__b)
02304 {
02305   return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
02306 }
02307 #endif
02308 
02309 #ifdef __LITTLE_ENDIAN__
02310 static vector unsigned char __ATTRS_o_ai
02311 __attribute__((deprecated("use assignment for unaligned little endian \
02312 loads/stores")))
02313 vec_lvsl(int __a, const short *__b)
02314 {
02315   vector unsigned char mask =
02316     (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
02317   vector unsigned char reverse = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
02318   return vec_perm(mask, mask, reverse);
02319 }
02320 #else
02321 static vector unsigned char __ATTRS_o_ai
02322 vec_lvsl(int __a, const short *__b)
02323 {
02324   return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
02325 }
02326 #endif
02327 
02328 #ifdef __LITTLE_ENDIAN__
02329 static vector unsigned char __ATTRS_o_ai
02330 __attribute__((deprecated("use assignment for unaligned little endian \
02331 loads/stores")))
02332 vec_lvsl(int __a, const unsigned short *__b)
02333 {
02334   vector unsigned char mask =
02335     (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
02336   vector unsigned char reverse = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
02337   return vec_perm(mask, mask, reverse);
02338 }
02339 #else
02340 static vector unsigned char __ATTRS_o_ai
02341 vec_lvsl(int __a, const unsigned short *__b)
02342 {
02343   return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
02344 }
02345 #endif
02346 
02347 #ifdef __LITTLE_ENDIAN__
02348 static vector unsigned char __ATTRS_o_ai
02349 __attribute__((deprecated("use assignment for unaligned little endian \
02350 loads/stores")))
02351 vec_lvsl(int __a, const int *__b)
02352 {
02353   vector unsigned char mask =
02354     (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
02355   vector unsigned char reverse = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
02356   return vec_perm(mask, mask, reverse);
02357 }
02358 #else
02359 static vector unsigned char __ATTRS_o_ai
02360 vec_lvsl(int __a, const int *__b)
02361 {
02362   return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
02363 }
02364 #endif
02365 
02366 #ifdef __LITTLE_ENDIAN__
02367 static vector unsigned char __ATTRS_o_ai
02368 __attribute__((deprecated("use assignment for unaligned little endian \
02369 loads/stores")))
02370 vec_lvsl(int __a, const unsigned int *__b)
02371 {
02372   vector unsigned char mask =
02373     (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
02374   vector unsigned char reverse = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
02375   return vec_perm(mask, mask, reverse);
02376 }
02377 #else
02378 static vector unsigned char __ATTRS_o_ai
02379 vec_lvsl(int __a, const unsigned int *__b)
02380 {
02381   return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
02382 }
02383 #endif
02384 
02385 #ifdef __LITTLE_ENDIAN__
02386 static vector unsigned char __ATTRS_o_ai
02387 __attribute__((deprecated("use assignment for unaligned little endian \
02388 loads/stores")))
02389 vec_lvsl(int __a, const float *__b)
02390 {
02391   vector unsigned char mask =
02392     (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
02393   vector unsigned char reverse = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
02394   return vec_perm(mask, mask, reverse);
02395 }
02396 #else
02397 static vector unsigned char __ATTRS_o_ai
02398 vec_lvsl(int __a, const float *__b)
02399 {
02400   return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
02401 }
02402 #endif
02403 
02404 /* vec_lvsr */
02405 
02406 #ifdef __LITTLE_ENDIAN__
02407 static vector unsigned char __ATTRS_o_ai
02408 __attribute__((deprecated("use assignment for unaligned little endian \
02409 loads/stores")))
02410 vec_lvsr(int __a, const signed char *__b)
02411 {
02412   vector unsigned char mask =
02413     (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
02414   vector unsigned char reverse = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
02415   return vec_perm(mask, mask, reverse);
02416 }
02417 #else
02418 static vector unsigned char __ATTRS_o_ai
02419 vec_lvsr(int __a, const signed char *__b)
02420 {
02421   return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
02422 }
02423 #endif
02424 
02425 #ifdef __LITTLE_ENDIAN__
02426 static vector unsigned char __ATTRS_o_ai
02427 __attribute__((deprecated("use assignment for unaligned little endian \
02428 loads/stores")))
02429 vec_lvsr(int __a, const unsigned char *__b)
02430 {
02431   vector unsigned char mask =
02432     (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
02433   vector unsigned char reverse = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
02434   return vec_perm(mask, mask, reverse);
02435 }
02436 #else
02437 static vector unsigned char __ATTRS_o_ai
02438 vec_lvsr(int __a, const unsigned char *__b)
02439 {
02440   return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
02441 }
02442 #endif
02443 
02444 #ifdef __LITTLE_ENDIAN__
02445 static vector unsigned char __ATTRS_o_ai
02446 __attribute__((deprecated("use assignment for unaligned little endian \
02447 loads/stores")))
02448 vec_lvsr(int __a, const short *__b)
02449 {
02450   vector unsigned char mask =
02451     (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
02452   vector unsigned char reverse = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
02453   return vec_perm(mask, mask, reverse);
02454 }
02455 #else
02456 static vector unsigned char __ATTRS_o_ai
02457 vec_lvsr(int __a, const short *__b)
02458 {
02459   return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
02460 }
02461 #endif
02462 
02463 #ifdef __LITTLE_ENDIAN__
02464 static vector unsigned char __ATTRS_o_ai
02465 __attribute__((deprecated("use assignment for unaligned little endian \
02466 loads/stores")))
02467 vec_lvsr(int __a, const unsigned short *__b)
02468 {
02469   vector unsigned char mask =
02470     (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
02471   vector unsigned char reverse = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
02472   return vec_perm(mask, mask, reverse);
02473 }
02474 #else
02475 static vector unsigned char __ATTRS_o_ai
02476 vec_lvsr(int __a, const unsigned short *__b)
02477 {
02478   return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
02479 }
02480 #endif
02481 
02482 #ifdef __LITTLE_ENDIAN__
02483 static vector unsigned char __ATTRS_o_ai
02484 __attribute__((deprecated("use assignment for unaligned little endian \
02485 loads/stores")))
02486 vec_lvsr(int __a, const int *__b)
02487 {
02488   vector unsigned char mask =
02489     (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
02490   vector unsigned char reverse = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
02491   return vec_perm(mask, mask, reverse);
02492 }
02493 #else
02494 static vector unsigned char __ATTRS_o_ai
02495 vec_lvsr(int __a, const int *__b)
02496 {
02497   return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
02498 }
02499 #endif
02500 
02501 #ifdef __LITTLE_ENDIAN__
02502 static vector unsigned char __ATTRS_o_ai
02503 __attribute__((deprecated("use assignment for unaligned little endian \
02504 loads/stores")))
02505 vec_lvsr(int __a, const unsigned int *__b)
02506 {
02507   vector unsigned char mask =
02508     (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
02509   vector unsigned char reverse = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
02510   return vec_perm(mask, mask, reverse);
02511 }
02512 #else
02513 static vector unsigned char __ATTRS_o_ai
02514 vec_lvsr(int __a, const unsigned int *__b)
02515 {
02516   return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
02517 }
02518 #endif
02519 
02520 #ifdef __LITTLE_ENDIAN__
02521 static vector unsigned char __ATTRS_o_ai
02522 __attribute__((deprecated("use assignment for unaligned little endian \
02523 loads/stores")))
02524 vec_lvsr(int __a, const float *__b)
02525 {
02526   vector unsigned char mask =
02527     (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
02528   vector unsigned char reverse = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
02529   return vec_perm(mask, mask, reverse);
02530 }
02531 #else
02532 static vector unsigned char __ATTRS_o_ai
02533 vec_lvsr(int __a, const float *__b)
02534 {
02535   return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
02536 }
02537 #endif
02538 
02539 /* vec_madd */
02540 
02541 static vector float __attribute__((__always_inline__))
02542 vec_madd(vector float __a, vector float __b, vector float __c)
02543 {
02544   return __builtin_altivec_vmaddfp(__a, __b, __c);
02545 }
02546 
02547 /* vec_vmaddfp */
02548 
02549 static vector float __attribute__((__always_inline__))
02550 vec_vmaddfp(vector float __a, vector float __b, vector float __c)
02551 {
02552   return __builtin_altivec_vmaddfp(__a, __b, __c);
02553 }
02554 
02555 /* vec_madds */
02556 
02557 static vector signed short __attribute__((__always_inline__))
02558 vec_madds(vector signed short __a, vector signed short __b, vector signed short __c)
02559 {
02560   return __builtin_altivec_vmhaddshs(__a, __b, __c);
02561 }
02562 
02563 /* vec_vmhaddshs */
02564 static vector signed short __attribute__((__always_inline__))
02565 vec_vmhaddshs(vector signed short __a,
02566               vector signed short __b,
02567               vector signed short __c)
02568 {
02569   return __builtin_altivec_vmhaddshs(__a, __b, __c);
02570 }
02571 
02572 /* vec_max */
02573 
02574 static vector signed char __ATTRS_o_ai
02575 vec_max(vector signed char __a, vector signed char __b)
02576 {
02577   return __builtin_altivec_vmaxsb(__a, __b);
02578 }
02579 
02580 static vector signed char __ATTRS_o_ai
02581 vec_max(vector bool char __a, vector signed char __b)
02582 {
02583   return __builtin_altivec_vmaxsb((vector signed char)__a, __b);
02584 }
02585 
02586 static vector signed char __ATTRS_o_ai
02587 vec_max(vector signed char __a, vector bool char __b)
02588 {
02589   return __builtin_altivec_vmaxsb(__a, (vector signed char)__b);
02590 }
02591 
02592 static vector unsigned char __ATTRS_o_ai
02593 vec_max(vector unsigned char __a, vector unsigned char __b)
02594 {
02595   return __builtin_altivec_vmaxub(__a, __b);
02596 }
02597 
02598 static vector unsigned char __ATTRS_o_ai
02599 vec_max(vector bool char __a, vector unsigned char __b)
02600 {
02601   return __builtin_altivec_vmaxub((vector unsigned char)__a, __b);
02602 }
02603 
02604 static vector unsigned char __ATTRS_o_ai
02605 vec_max(vector unsigned char __a, vector bool char __b)
02606 {
02607   return __builtin_altivec_vmaxub(__a, (vector unsigned char)__b);
02608 }
02609 
02610 static vector short __ATTRS_o_ai
02611 vec_max(vector short __a, vector short __b)
02612 {
02613   return __builtin_altivec_vmaxsh(__a, __b);
02614 }
02615 
02616 static vector short __ATTRS_o_ai
02617 vec_max(vector bool short __a, vector short __b)
02618 {
02619   return __builtin_altivec_vmaxsh((vector short)__a, __b);
02620 }
02621 
02622 static vector short __ATTRS_o_ai
02623 vec_max(vector short __a, vector bool short __b)
02624 {
02625   return __builtin_altivec_vmaxsh(__a, (vector short)__b);
02626 }
02627 
02628 static vector unsigned short __ATTRS_o_ai
02629 vec_max(vector unsigned short __a, vector unsigned short __b)
02630 {
02631   return __builtin_altivec_vmaxuh(__a, __b);
02632 }
02633 
02634 static vector unsigned short __ATTRS_o_ai
02635 vec_max(vector bool short __a, vector unsigned short __b)
02636 {
02637   return __builtin_altivec_vmaxuh((vector unsigned short)__a, __b);
02638 }
02639 
02640 static vector unsigned short __ATTRS_o_ai
02641 vec_max(vector unsigned short __a, vector bool short __b)
02642 {
02643   return __builtin_altivec_vmaxuh(__a, (vector unsigned short)__b);
02644 }
02645 
02646 static vector int __ATTRS_o_ai
02647 vec_max(vector int __a, vector int __b)
02648 {
02649   return __builtin_altivec_vmaxsw(__a, __b);
02650 }
02651 
02652 static vector int __ATTRS_o_ai
02653 vec_max(vector bool int __a, vector int __b)
02654 {
02655   return __builtin_altivec_vmaxsw((vector int)__a, __b);
02656 }
02657 
02658 static vector int __ATTRS_o_ai
02659 vec_max(vector int __a, vector bool int __b)
02660 {
02661   return __builtin_altivec_vmaxsw(__a, (vector int)__b);
02662 }
02663 
02664 static vector unsigned int __ATTRS_o_ai
02665 vec_max(vector unsigned int __a, vector unsigned int __b)
02666 {
02667   return __builtin_altivec_vmaxuw(__a, __b);
02668 }
02669 
02670 static vector unsigned int __ATTRS_o_ai
02671 vec_max(vector bool int __a, vector unsigned int __b)
02672 {
02673   return __builtin_altivec_vmaxuw((vector unsigned int)__a, __b);
02674 }
02675 
02676 static vector unsigned int __ATTRS_o_ai
02677 vec_max(vector unsigned int __a, vector bool int __b)
02678 {
02679   return __builtin_altivec_vmaxuw(__a, (vector unsigned int)__b);
02680 }
02681 
02682 static vector float __ATTRS_o_ai
02683 vec_max(vector float __a, vector float __b)
02684 {
02685 #ifdef __VSX__
02686   return __builtin_vsx_xvmaxsp(__a, __b);
02687 #else
02688   return __builtin_altivec_vmaxfp(__a, __b);
02689 #endif
02690 }
02691 
02692 #ifdef __VSX__
02693 static vector double __ATTRS_o_ai
02694 vec_max(vector double __a, vector double __b)
02695 {
02696   return __builtin_vsx_xvmaxdp(__a, __b);
02697 }
02698 #endif
02699 
02700 /* vec_vmaxsb */
02701 
02702 static vector signed char __ATTRS_o_ai
02703 vec_vmaxsb(vector signed char __a, vector signed char __b)
02704 {
02705   return __builtin_altivec_vmaxsb(__a, __b);
02706 }
02707 
02708 static vector signed char __ATTRS_o_ai
02709 vec_vmaxsb(vector bool char __a, vector signed char __b)
02710 {
02711   return __builtin_altivec_vmaxsb((vector signed char)__a, __b);
02712 }
02713 
02714 static vector signed char __ATTRS_o_ai
02715 vec_vmaxsb(vector signed char __a, vector bool char __b)
02716 {
02717   return __builtin_altivec_vmaxsb(__a, (vector signed char)__b);
02718 }
02719 
02720 /* vec_vmaxub */
02721 
02722 static vector unsigned char __ATTRS_o_ai
02723 vec_vmaxub(vector unsigned char __a, vector unsigned char __b)
02724 {
02725   return __builtin_altivec_vmaxub(__a, __b);
02726 }
02727 
02728 static vector unsigned char __ATTRS_o_ai
02729 vec_vmaxub(vector bool char __a, vector unsigned char __b)
02730 {
02731   return __builtin_altivec_vmaxub((vector unsigned char)__a, __b);
02732 }
02733 
02734 static vector unsigned char __ATTRS_o_ai
02735 vec_vmaxub(vector unsigned char __a, vector bool char __b)
02736 {
02737   return __builtin_altivec_vmaxub(__a, (vector unsigned char)__b);
02738 }
02739 
02740 /* vec_vmaxsh */
02741 
02742 static vector short __ATTRS_o_ai
02743 vec_vmaxsh(vector short __a, vector short __b)
02744 {
02745   return __builtin_altivec_vmaxsh(__a, __b);
02746 }
02747 
02748 static vector short __ATTRS_o_ai
02749 vec_vmaxsh(vector bool short __a, vector short __b)
02750 {
02751   return __builtin_altivec_vmaxsh((vector short)__a, __b);
02752 }
02753 
02754 static vector short __ATTRS_o_ai
02755 vec_vmaxsh(vector short __a, vector bool short __b)
02756 {
02757   return __builtin_altivec_vmaxsh(__a, (vector short)__b);
02758 }
02759 
02760 /* vec_vmaxuh */
02761 
02762 static vector unsigned short __ATTRS_o_ai
02763 vec_vmaxuh(vector unsigned short __a, vector unsigned short __b)
02764 {
02765   return __builtin_altivec_vmaxuh(__a, __b);
02766 }
02767 
02768 static vector unsigned short __ATTRS_o_ai
02769 vec_vmaxuh(vector bool short __a, vector unsigned short __b)
02770 {
02771   return __builtin_altivec_vmaxuh((vector unsigned short)__a, __b);
02772 }
02773 
02774 static vector unsigned short __ATTRS_o_ai
02775 vec_vmaxuh(vector unsigned short __a, vector bool short __b)
02776 {
02777   return __builtin_altivec_vmaxuh(__a, (vector unsigned short)__b);
02778 }
02779 
02780 /* vec_vmaxsw */
02781 
02782 static vector int __ATTRS_o_ai
02783 vec_vmaxsw(vector int __a, vector int __b)
02784 {
02785   return __builtin_altivec_vmaxsw(__a, __b);
02786 }
02787 
02788 static vector int __ATTRS_o_ai
02789 vec_vmaxsw(vector bool int __a, vector int __b)
02790 {
02791   return __builtin_altivec_vmaxsw((vector int)__a, __b);
02792 }
02793 
02794 static vector int __ATTRS_o_ai
02795 vec_vmaxsw(vector int __a, vector bool int __b)
02796 {
02797   return __builtin_altivec_vmaxsw(__a, (vector int)__b);
02798 }
02799 
02800 /* vec_vmaxuw */
02801 
02802 static vector unsigned int __ATTRS_o_ai
02803 vec_vmaxuw(vector unsigned int __a, vector unsigned int __b)
02804 {
02805   return __builtin_altivec_vmaxuw(__a, __b);
02806 }
02807 
02808 static vector unsigned int __ATTRS_o_ai
02809 vec_vmaxuw(vector bool int __a, vector unsigned int __b)
02810 {
02811   return __builtin_altivec_vmaxuw((vector unsigned int)__a, __b);
02812 }
02813 
02814 static vector unsigned int __ATTRS_o_ai
02815 vec_vmaxuw(vector unsigned int __a, vector bool int __b)
02816 {
02817   return __builtin_altivec_vmaxuw(__a, (vector unsigned int)__b);
02818 }
02819 
02820 /* vec_vmaxfp */
02821 
02822 static vector float __attribute__((__always_inline__))
02823 vec_vmaxfp(vector float __a, vector float __b)
02824 {
02825 #ifdef __VSX__
02826   return __builtin_vsx_xvmaxsp(__a, __b);
02827 #else
02828   return __builtin_altivec_vmaxfp(__a, __b);
02829 #endif
02830 }
02831 
02832 /* vec_mergeh */
02833 
02834 static vector signed char __ATTRS_o_ai
02835 vec_mergeh(vector signed char __a, vector signed char __b)
02836 {
02837   return vec_perm(__a, __b, (vector unsigned char)
02838     (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, 
02839      0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
02840 }
02841 
02842 static vector unsigned char __ATTRS_o_ai
02843 vec_mergeh(vector unsigned char __a, vector unsigned char __b)
02844 {
02845   return vec_perm(__a, __b, (vector unsigned char)
02846     (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, 
02847      0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
02848 }
02849 
02850 static vector bool char __ATTRS_o_ai
02851 vec_mergeh(vector bool char __a, vector bool char __b)
02852 {
02853   return vec_perm(__a, __b, (vector unsigned char)
02854     (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, 
02855      0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
02856 }
02857 
02858 static vector short __ATTRS_o_ai
02859 vec_mergeh(vector short __a, vector short __b)
02860 {
02861   return vec_perm(__a, __b, (vector unsigned char)
02862     (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
02863      0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
02864 }
02865 
02866 static vector unsigned short __ATTRS_o_ai
02867 vec_mergeh(vector unsigned short __a, vector unsigned short __b)
02868 {
02869   return vec_perm(__a, __b, (vector unsigned char)
02870     (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
02871      0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
02872 }
02873 
02874 static vector bool short __ATTRS_o_ai
02875 vec_mergeh(vector bool short __a, vector bool short __b)
02876 {
02877   return vec_perm(__a, __b, (vector unsigned char)
02878     (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
02879      0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
02880 }
02881 
02882 static vector pixel __ATTRS_o_ai
02883 vec_mergeh(vector pixel __a, vector pixel __b)
02884 {
02885   return vec_perm(__a, __b, (vector unsigned char)
02886     (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
02887      0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
02888 }
02889 
02890 static vector int __ATTRS_o_ai
02891 vec_mergeh(vector int __a, vector int __b)
02892 {
02893   return vec_perm(__a, __b, (vector unsigned char)
02894     (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
02895      0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
02896 }
02897 
02898 static vector unsigned int __ATTRS_o_ai
02899 vec_mergeh(vector unsigned int __a, vector unsigned int __b)
02900 {
02901   return vec_perm(__a, __b, (vector unsigned char)
02902     (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
02903      0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
02904 }
02905 
02906 static vector bool int __ATTRS_o_ai
02907 vec_mergeh(vector bool int __a, vector bool int __b)
02908 {
02909   return vec_perm(__a, __b, (vector unsigned char)
02910     (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
02911      0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
02912 }
02913 
02914 static vector float __ATTRS_o_ai
02915 vec_mergeh(vector float __a, vector float __b)
02916 {
02917   return vec_perm(__a, __b, (vector unsigned char)
02918     (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
02919      0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
02920 }
02921 
02922 /* vec_vmrghb */
02923 
02924 #define __builtin_altivec_vmrghb vec_vmrghb
02925 
02926 static vector signed char __ATTRS_o_ai
02927 vec_vmrghb(vector signed char __a, vector signed char __b)
02928 {
02929   return vec_perm(__a, __b, (vector unsigned char)
02930     (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, 
02931      0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
02932 }
02933 
02934 static vector unsigned char __ATTRS_o_ai
02935 vec_vmrghb(vector unsigned char __a, vector unsigned char __b)
02936 {
02937   return vec_perm(__a, __b, (vector unsigned char)
02938     (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, 
02939      0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
02940 }
02941 
02942 static vector bool char __ATTRS_o_ai
02943 vec_vmrghb(vector bool char __a, vector bool char __b)
02944 {
02945   return vec_perm(__a, __b, (vector unsigned char)
02946     (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, 
02947      0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
02948 }
02949 
02950 /* vec_vmrghh */
02951 
02952 #define __builtin_altivec_vmrghh vec_vmrghh
02953 
02954 static vector short __ATTRS_o_ai
02955 vec_vmrghh(vector short __a, vector short __b)
02956 {
02957   return vec_perm(__a, __b, (vector unsigned char)
02958     (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
02959      0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
02960 }
02961 
02962 static vector unsigned short __ATTRS_o_ai
02963 vec_vmrghh(vector unsigned short __a, vector unsigned short __b)
02964 {
02965   return vec_perm(__a, __b, (vector unsigned char)
02966     (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
02967      0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
02968 }
02969 
02970 static vector bool short __ATTRS_o_ai
02971 vec_vmrghh(vector bool short __a, vector bool short __b)
02972 {
02973   return vec_perm(__a, __b, (vector unsigned char)
02974     (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
02975      0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
02976 }
02977 
02978 static vector pixel __ATTRS_o_ai
02979 vec_vmrghh(vector pixel __a, vector pixel __b)
02980 {
02981   return vec_perm(__a, __b, (vector unsigned char)
02982     (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
02983      0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
02984 }
02985 
02986 /* vec_vmrghw */
02987 
02988 #define __builtin_altivec_vmrghw vec_vmrghw
02989 
02990 static vector int __ATTRS_o_ai
02991 vec_vmrghw(vector int __a, vector int __b)
02992 {
02993   return vec_perm(__a, __b, (vector unsigned char)
02994     (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
02995      0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
02996 }
02997 
02998 static vector unsigned int __ATTRS_o_ai
02999 vec_vmrghw(vector unsigned int __a, vector unsigned int __b)
03000 {
03001   return vec_perm(__a, __b, (vector unsigned char)
03002     (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
03003      0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
03004 }
03005 
03006 static vector bool int __ATTRS_o_ai
03007 vec_vmrghw(vector bool int __a, vector bool int __b)
03008 {
03009   return vec_perm(__a, __b, (vector unsigned char)
03010     (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
03011      0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
03012 }
03013 
03014 static vector float __ATTRS_o_ai
03015 vec_vmrghw(vector float __a, vector float __b)
03016 {
03017   return vec_perm(__a, __b, (vector unsigned char)
03018     (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
03019      0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
03020 }
03021 
03022 /* vec_mergel */
03023 
03024 static vector signed char __ATTRS_o_ai
03025 vec_mergel(vector signed char __a, vector signed char __b)
03026 {
03027   return vec_perm(__a, __b, (vector unsigned char)
03028     (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, 
03029      0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
03030 }
03031 
03032 static vector unsigned char __ATTRS_o_ai
03033 vec_mergel(vector unsigned char __a, vector unsigned char __b)
03034 {
03035   return vec_perm(__a, __b, (vector unsigned char)
03036     (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, 
03037      0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
03038 }
03039 
03040 static vector bool char __ATTRS_o_ai
03041 vec_mergel(vector bool char __a, vector bool char __b)
03042 {
03043   return vec_perm(__a, __b, (vector unsigned char)
03044     (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, 
03045      0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
03046 }
03047 
03048 static vector short __ATTRS_o_ai
03049 vec_mergel(vector short __a, vector short __b)
03050 {
03051   return vec_perm(__a, __b, (vector unsigned char)
03052     (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
03053      0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
03054 }
03055 
03056 static vector unsigned short __ATTRS_o_ai
03057 vec_mergel(vector unsigned short __a, vector unsigned short __b)
03058 {
03059   return vec_perm(__a, __b, (vector unsigned char)
03060     (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
03061      0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
03062 }
03063 
03064 static vector bool short __ATTRS_o_ai
03065 vec_mergel(vector bool short __a, vector bool short __b)
03066 {
03067   return vec_perm(__a, __b, (vector unsigned char)
03068     (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
03069      0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
03070 }
03071 
03072 static vector pixel __ATTRS_o_ai
03073 vec_mergel(vector pixel __a, vector pixel __b)
03074 {
03075   return vec_perm(__a, __b, (vector unsigned char)
03076     (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
03077      0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
03078 }
03079 
03080 static vector int __ATTRS_o_ai
03081 vec_mergel(vector int __a, vector int __b)
03082 {
03083   return vec_perm(__a, __b, (vector unsigned char)
03084     (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
03085      0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
03086 }
03087 
03088 static vector unsigned int __ATTRS_o_ai
03089 vec_mergel(vector unsigned int __a, vector unsigned int __b)
03090 {
03091   return vec_perm(__a, __b, (vector unsigned char)
03092     (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
03093      0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
03094 }
03095 
03096 static vector bool int __ATTRS_o_ai
03097 vec_mergel(vector bool int __a, vector bool int __b)
03098 {
03099   return vec_perm(__a, __b, (vector unsigned char)
03100     (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
03101      0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
03102 }
03103 
03104 static vector float __ATTRS_o_ai
03105 vec_mergel(vector float __a, vector float __b)
03106 {
03107   return vec_perm(__a, __b, (vector unsigned char)
03108     (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
03109      0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
03110 }
03111 
03112 /* vec_vmrglb */
03113 
03114 #define __builtin_altivec_vmrglb vec_vmrglb
03115 
03116 static vector signed char __ATTRS_o_ai
03117 vec_vmrglb(vector signed char __a, vector signed char __b)
03118 {
03119   return vec_perm(__a, __b, (vector unsigned char)
03120     (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, 
03121      0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
03122 }
03123 
03124 static vector unsigned char __ATTRS_o_ai
03125 vec_vmrglb(vector unsigned char __a, vector unsigned char __b)
03126 {
03127   return vec_perm(__a, __b, (vector unsigned char)
03128     (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, 
03129      0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
03130 }
03131 
03132 static vector bool char __ATTRS_o_ai
03133 vec_vmrglb(vector bool char __a, vector bool char __b)
03134 {
03135   return vec_perm(__a, __b, (vector unsigned char)
03136     (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, 
03137      0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
03138 }
03139 
03140 /* vec_vmrglh */
03141 
03142 #define __builtin_altivec_vmrglh vec_vmrglh
03143 
03144 static vector short __ATTRS_o_ai
03145 vec_vmrglh(vector short __a, vector short __b)
03146 {
03147   return vec_perm(__a, __b, (vector unsigned char)
03148     (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
03149      0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
03150 }
03151 
03152 static vector unsigned short __ATTRS_o_ai
03153 vec_vmrglh(vector unsigned short __a, vector unsigned short __b)
03154 {
03155   return vec_perm(__a, __b, (vector unsigned char)
03156     (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
03157      0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
03158 }
03159 
03160 static vector bool short __ATTRS_o_ai
03161 vec_vmrglh(vector bool short __a, vector bool short __b)
03162 {
03163   return vec_perm(__a, __b, (vector unsigned char)
03164     (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
03165      0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
03166 }
03167 
03168 static vector pixel __ATTRS_o_ai
03169 vec_vmrglh(vector pixel __a, vector pixel __b)
03170 {
03171   return vec_perm(__a, __b, (vector unsigned char)
03172     (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
03173      0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
03174 }
03175 
03176 /* vec_vmrglw */
03177 
03178 #define __builtin_altivec_vmrglw vec_vmrglw
03179 
03180 static vector int __ATTRS_o_ai
03181 vec_vmrglw(vector int __a, vector int __b)
03182 {
03183   return vec_perm(__a, __b, (vector unsigned char)
03184     (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
03185      0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
03186 }
03187 
03188 static vector unsigned int __ATTRS_o_ai
03189 vec_vmrglw(vector unsigned int __a, vector unsigned int __b)
03190 {
03191   return vec_perm(__a, __b, (vector unsigned char)
03192     (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
03193      0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
03194 }
03195 
03196 static vector bool int __ATTRS_o_ai
03197 vec_vmrglw(vector bool int __a, vector bool int __b)
03198 {
03199   return vec_perm(__a, __b, (vector unsigned char)
03200     (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
03201      0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
03202 }
03203 
03204 static vector float __ATTRS_o_ai
03205 vec_vmrglw(vector float __a, vector float __b)
03206 {
03207   return vec_perm(__a, __b, (vector unsigned char)
03208     (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
03209      0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
03210 }
03211 
03212 /* vec_mfvscr */
03213 
03214 static vector unsigned short __attribute__((__always_inline__))
03215 vec_mfvscr(void)
03216 {
03217   return __builtin_altivec_mfvscr();
03218 }
03219 
03220 /* vec_min */
03221 
03222 static vector signed char __ATTRS_o_ai
03223 vec_min(vector signed char __a, vector signed char __b)
03224 {
03225   return __builtin_altivec_vminsb(__a, __b);
03226 }
03227 
03228 static vector signed char __ATTRS_o_ai
03229 vec_min(vector bool char __a, vector signed char __b)
03230 {
03231   return __builtin_altivec_vminsb((vector signed char)__a, __b);
03232 }
03233 
03234 static vector signed char __ATTRS_o_ai
03235 vec_min(vector signed char __a, vector bool char __b)
03236 {
03237   return __builtin_altivec_vminsb(__a, (vector signed char)__b);
03238 }
03239 
03240 static vector unsigned char __ATTRS_o_ai
03241 vec_min(vector unsigned char __a, vector unsigned char __b)
03242 {
03243   return __builtin_altivec_vminub(__a, __b);
03244 }
03245 
03246 static vector unsigned char __ATTRS_o_ai
03247 vec_min(vector bool char __a, vector unsigned char __b)
03248 {
03249   return __builtin_altivec_vminub((vector unsigned char)__a, __b);
03250 }
03251 
03252 static vector unsigned char __ATTRS_o_ai
03253 vec_min(vector unsigned char __a, vector bool char __b)
03254 {
03255   return __builtin_altivec_vminub(__a, (vector unsigned char)__b);
03256 }
03257 
03258 static vector short __ATTRS_o_ai
03259 vec_min(vector short __a, vector short __b)
03260 {
03261   return __builtin_altivec_vminsh(__a, __b);
03262 }
03263 
03264 static vector short __ATTRS_o_ai
03265 vec_min(vector bool short __a, vector short __b)
03266 {
03267   return __builtin_altivec_vminsh((vector short)__a, __b);
03268 }
03269 
03270 static vector short __ATTRS_o_ai
03271 vec_min(vector short __a, vector bool short __b)
03272 {
03273   return __builtin_altivec_vminsh(__a, (vector short)__b);
03274 }
03275 
03276 static vector unsigned short __ATTRS_o_ai
03277 vec_min(vector unsigned short __a, vector unsigned short __b)
03278 {
03279   return __builtin_altivec_vminuh(__a, __b);
03280 }
03281 
03282 static vector unsigned short __ATTRS_o_ai
03283 vec_min(vector bool short __a, vector unsigned short __b)
03284 {
03285   return __builtin_altivec_vminuh((vector unsigned short)__a, __b);
03286 }
03287 
03288 static vector unsigned short __ATTRS_o_ai
03289 vec_min(vector unsigned short __a, vector bool short __b)
03290 {
03291   return __builtin_altivec_vminuh(__a, (vector unsigned short)__b);
03292 }
03293 
03294 static vector int __ATTRS_o_ai
03295 vec_min(vector int __a, vector int __b)
03296 {
03297   return __builtin_altivec_vminsw(__a, __b);
03298 }
03299 
03300 static vector int __ATTRS_o_ai
03301 vec_min(vector bool int __a, vector int __b)
03302 {
03303   return __builtin_altivec_vminsw((vector int)__a, __b);
03304 }
03305 
03306 static vector int __ATTRS_o_ai
03307 vec_min(vector int __a, vector bool int __b)
03308 {
03309   return __builtin_altivec_vminsw(__a, (vector int)__b);
03310 }
03311 
03312 static vector unsigned int __ATTRS_o_ai
03313 vec_min(vector unsigned int __a, vector unsigned int __b)
03314 {
03315   return __builtin_altivec_vminuw(__a, __b);
03316 }
03317 
03318 static vector unsigned int __ATTRS_o_ai
03319 vec_min(vector bool int __a, vector unsigned int __b)
03320 {
03321   return __builtin_altivec_vminuw((vector unsigned int)__a, __b);
03322 }
03323 
03324 static vector unsigned int __ATTRS_o_ai
03325 vec_min(vector unsigned int __a, vector bool int __b)
03326 {
03327   return __builtin_altivec_vminuw(__a, (vector unsigned int)__b);
03328 }
03329 
03330 static vector float __ATTRS_o_ai
03331 vec_min(vector float __a, vector float __b)
03332 {
03333 #ifdef __VSX__
03334   return __builtin_vsx_xvminsp(__a, __b);
03335 #else
03336   return __builtin_altivec_vminfp(__a, __b);
03337 #endif
03338 }
03339 
03340 #ifdef __VSX__
03341 static vector double __ATTRS_o_ai
03342 vec_min(vector double __a, vector double __b)
03343 {
03344   return __builtin_vsx_xvmindp(__a, __b);
03345 }
03346 #endif
03347 
03348 /* vec_vminsb */
03349 
03350 static vector signed char __ATTRS_o_ai
03351 vec_vminsb(vector signed char __a, vector signed char __b)
03352 {
03353   return __builtin_altivec_vminsb(__a, __b);
03354 }
03355 
03356 static vector signed char __ATTRS_o_ai
03357 vec_vminsb(vector bool char __a, vector signed char __b)
03358 {
03359   return __builtin_altivec_vminsb((vector signed char)__a, __b);
03360 }
03361 
03362 static vector signed char __ATTRS_o_ai
03363 vec_vminsb(vector signed char __a, vector bool char __b)
03364 {
03365   return __builtin_altivec_vminsb(__a, (vector signed char)__b);
03366 }
03367 
03368 /* vec_vminub */
03369 
03370 static vector unsigned char __ATTRS_o_ai
03371 vec_vminub(vector unsigned char __a, vector unsigned char __b)
03372 {
03373   return __builtin_altivec_vminub(__a, __b);
03374 }
03375 
03376 static vector unsigned char __ATTRS_o_ai
03377 vec_vminub(vector bool char __a, vector unsigned char __b)
03378 {
03379   return __builtin_altivec_vminub((vector unsigned char)__a, __b);
03380 }
03381 
03382 static vector unsigned char __ATTRS_o_ai
03383 vec_vminub(vector unsigned char __a, vector bool char __b)
03384 {
03385   return __builtin_altivec_vminub(__a, (vector unsigned char)__b);
03386 }
03387 
03388 /* vec_vminsh */
03389 
03390 static vector short __ATTRS_o_ai
03391 vec_vminsh(vector short __a, vector short __b)
03392 {
03393   return __builtin_altivec_vminsh(__a, __b);
03394 }
03395 
03396 static vector short __ATTRS_o_ai
03397 vec_vminsh(vector bool short __a, vector short __b)
03398 {
03399   return __builtin_altivec_vminsh((vector short)__a, __b);
03400 }
03401 
03402 static vector short __ATTRS_o_ai
03403 vec_vminsh(vector short __a, vector bool short __b)
03404 {
03405   return __builtin_altivec_vminsh(__a, (vector short)__b);
03406 }
03407 
03408 /* vec_vminuh */
03409 
03410 static vector unsigned short __ATTRS_o_ai
03411 vec_vminuh(vector unsigned short __a, vector unsigned short __b)
03412 {
03413   return __builtin_altivec_vminuh(__a, __b);
03414 }
03415 
03416 static vector unsigned short __ATTRS_o_ai
03417 vec_vminuh(vector bool short __a, vector unsigned short __b)
03418 {
03419   return __builtin_altivec_vminuh((vector unsigned short)__a, __b);
03420 }
03421 
03422 static vector unsigned short __ATTRS_o_ai
03423 vec_vminuh(vector unsigned short __a, vector bool short __b)
03424 {
03425   return __builtin_altivec_vminuh(__a, (vector unsigned short)__b);
03426 }
03427 
03428 /* vec_vminsw */
03429 
03430 static vector int __ATTRS_o_ai
03431 vec_vminsw(vector int __a, vector int __b)
03432 {
03433   return __builtin_altivec_vminsw(__a, __b);
03434 }
03435 
03436 static vector int __ATTRS_o_ai
03437 vec_vminsw(vector bool int __a, vector int __b)
03438 {
03439   return __builtin_altivec_vminsw((vector int)__a, __b);
03440 }
03441 
03442 static vector int __ATTRS_o_ai
03443 vec_vminsw(vector int __a, vector bool int __b)
03444 {
03445   return __builtin_altivec_vminsw(__a, (vector int)__b);
03446 }
03447 
03448 /* vec_vminuw */
03449 
03450 static vector unsigned int __ATTRS_o_ai
03451 vec_vminuw(vector unsigned int __a, vector unsigned int __b)
03452 {
03453   return __builtin_altivec_vminuw(__a, __b);
03454 }
03455 
03456 static vector unsigned int __ATTRS_o_ai
03457 vec_vminuw(vector bool int __a, vector unsigned int __b)
03458 {
03459   return __builtin_altivec_vminuw((vector unsigned int)__a, __b);
03460 }
03461 
03462 static vector unsigned int __ATTRS_o_ai
03463 vec_vminuw(vector unsigned int __a, vector bool int __b)
03464 {
03465   return __builtin_altivec_vminuw(__a, (vector unsigned int)__b);
03466 }
03467 
03468 /* vec_vminfp */
03469 
03470 static vector float __attribute__((__always_inline__))
03471 vec_vminfp(vector float __a, vector float __b)
03472 {
03473 #ifdef __VSX__
03474   return __builtin_vsx_xvminsp(__a, __b);
03475 #else
03476   return __builtin_altivec_vminfp(__a, __b);
03477 #endif
03478 }
03479 
03480 /* vec_mladd */
03481 
03482 #define __builtin_altivec_vmladduhm vec_mladd
03483 
03484 static vector short __ATTRS_o_ai
03485 vec_mladd(vector short __a, vector short __b, vector short __c)
03486 {
03487   return __a * __b + __c;
03488 }
03489 
03490 static vector short __ATTRS_o_ai
03491 vec_mladd(vector short __a, vector unsigned short __b, vector unsigned short __c)
03492 {
03493   return __a * (vector short)__b + (vector short)__c;
03494 }
03495 
03496 static vector short __ATTRS_o_ai
03497 vec_mladd(vector unsigned short __a, vector short __b, vector short __c)
03498 {
03499   return (vector short)__a * __b + __c;
03500 }
03501 
03502 static vector unsigned short __ATTRS_o_ai
03503 vec_mladd(vector unsigned short __a,
03504           vector unsigned short __b,
03505           vector unsigned short __c)
03506 {
03507   return __a * __b + __c;
03508 }
03509 
03510 /* vec_vmladduhm */
03511 
03512 static vector short __ATTRS_o_ai
03513 vec_vmladduhm(vector short __a, vector short __b, vector short __c)
03514 {
03515   return __a * __b + __c;
03516 }
03517 
03518 static vector short __ATTRS_o_ai
03519 vec_vmladduhm(vector short __a, vector unsigned short __b, vector unsigned short __c)
03520 {
03521   return __a * (vector short)__b + (vector short)__c;
03522 }
03523 
03524 static vector short __ATTRS_o_ai
03525 vec_vmladduhm(vector unsigned short __a, vector short __b, vector short __c)
03526 {
03527   return (vector short)__a * __b + __c;
03528 }
03529 
03530 static vector unsigned short __ATTRS_o_ai
03531 vec_vmladduhm(vector unsigned short __a,
03532               vector unsigned short __b,
03533               vector unsigned short __c)
03534 {
03535   return __a * __b + __c;
03536 }
03537 
03538 /* vec_mradds */
03539 
03540 static vector short __attribute__((__always_inline__))
03541 vec_mradds(vector short __a, vector short __b, vector short __c)
03542 {
03543   return __builtin_altivec_vmhraddshs(__a, __b, __c);
03544 }
03545 
03546 /* vec_vmhraddshs */
03547 
03548 static vector short __attribute__((__always_inline__))
03549 vec_vmhraddshs(vector short __a, vector short __b, vector short __c)
03550 {
03551   return __builtin_altivec_vmhraddshs(__a, __b, __c);
03552 }
03553 
03554 /* vec_msum */
03555 
03556 static vector int __ATTRS_o_ai
03557 vec_msum(vector signed char __a, vector unsigned char __b, vector int __c)
03558 {
03559   return __builtin_altivec_vmsummbm(__a, __b, __c);
03560 }
03561 
03562 static vector unsigned int __ATTRS_o_ai
03563 vec_msum(vector unsigned char __a, vector unsigned char __b, vector unsigned int __c)
03564 {
03565   return __builtin_altivec_vmsumubm(__a, __b, __c);
03566 }
03567 
03568 static vector int __ATTRS_o_ai
03569 vec_msum(vector short __a, vector short __b, vector int __c)
03570 {
03571   return __builtin_altivec_vmsumshm(__a, __b, __c);
03572 }
03573 
03574 static vector unsigned int __ATTRS_o_ai
03575 vec_msum(vector unsigned short __a,
03576          vector unsigned short __b,
03577          vector unsigned int __c)
03578 {
03579   return __builtin_altivec_vmsumuhm(__a, __b, __c);
03580 }
03581 
03582 /* vec_vmsummbm */
03583 
03584 static vector int __attribute__((__always_inline__))
03585 vec_vmsummbm(vector signed char __a, vector unsigned char __b, vector int __c)
03586 {
03587   return __builtin_altivec_vmsummbm(__a, __b, __c);
03588 }
03589 
03590 /* vec_vmsumubm */
03591 
03592 static vector unsigned int __attribute__((__always_inline__))
03593 vec_vmsumubm(vector unsigned char __a,
03594              vector unsigned char __b,
03595              vector unsigned int __c)
03596 {
03597   return __builtin_altivec_vmsumubm(__a, __b, __c);
03598 }
03599 
03600 /* vec_vmsumshm */
03601 
03602 static vector int __attribute__((__always_inline__))
03603 vec_vmsumshm(vector short __a, vector short __b, vector int __c)
03604 {
03605   return __builtin_altivec_vmsumshm(__a, __b, __c);
03606 }
03607 
03608 /* vec_vmsumuhm */
03609 
03610 static vector unsigned int __attribute__((__always_inline__))
03611 vec_vmsumuhm(vector unsigned short __a,
03612              vector unsigned short __b,
03613              vector unsigned int __c)
03614 {
03615   return __builtin_altivec_vmsumuhm(__a, __b, __c);
03616 }
03617 
03618 /* vec_msums */
03619 
03620 static vector int __ATTRS_o_ai
03621 vec_msums(vector short __a, vector short __b, vector int __c)
03622 {
03623   return __builtin_altivec_vmsumshs(__a, __b, __c);
03624 }
03625 
03626 static vector unsigned int __ATTRS_o_ai
03627 vec_msums(vector unsigned short __a,
03628           vector unsigned short __b,
03629           vector unsigned int __c)
03630 {
03631   return __builtin_altivec_vmsumuhs(__a, __b, __c);
03632 }
03633 
03634 /* vec_vmsumshs */
03635 
03636 static vector int __attribute__((__always_inline__))
03637 vec_vmsumshs(vector short __a, vector short __b, vector int __c)
03638 {
03639   return __builtin_altivec_vmsumshs(__a, __b, __c);
03640 }
03641 
03642 /* vec_vmsumuhs */
03643 
03644 static vector unsigned int __attribute__((__always_inline__))
03645 vec_vmsumuhs(vector unsigned short __a,
03646              vector unsigned short __b,
03647              vector unsigned int __c)
03648 {
03649   return __builtin_altivec_vmsumuhs(__a, __b, __c);
03650 }
03651 
03652 /* vec_mtvscr */
03653 
03654 static void __ATTRS_o_ai
03655 vec_mtvscr(vector signed char __a)
03656 {
03657   __builtin_altivec_mtvscr((vector int)__a);
03658 }
03659 
03660 static void __ATTRS_o_ai
03661 vec_mtvscr(vector unsigned char __a)
03662 {
03663   __builtin_altivec_mtvscr((vector int)__a);
03664 }
03665 
03666 static void __ATTRS_o_ai
03667 vec_mtvscr(vector bool char __a)
03668 {
03669   __builtin_altivec_mtvscr((vector int)__a);
03670 }
03671 
03672 static void __ATTRS_o_ai
03673 vec_mtvscr(vector short __a)
03674 {
03675   __builtin_altivec_mtvscr((vector int)__a);
03676 }
03677 
03678 static void __ATTRS_o_ai
03679 vec_mtvscr(vector unsigned short __a)
03680 {
03681   __builtin_altivec_mtvscr((vector int)__a);
03682 }
03683 
03684 static void __ATTRS_o_ai
03685 vec_mtvscr(vector bool short __a)
03686 {
03687   __builtin_altivec_mtvscr((vector int)__a);
03688 }
03689 
03690 static void __ATTRS_o_ai
03691 vec_mtvscr(vector pixel __a)
03692 {
03693   __builtin_altivec_mtvscr((vector int)__a);
03694 }
03695 
03696 static void __ATTRS_o_ai
03697 vec_mtvscr(vector int __a)
03698 {
03699   __builtin_altivec_mtvscr((vector int)__a);
03700 }
03701 
03702 static void __ATTRS_o_ai
03703 vec_mtvscr(vector unsigned int __a)
03704 {
03705   __builtin_altivec_mtvscr((vector int)__a);
03706 }
03707 
03708 static void __ATTRS_o_ai
03709 vec_mtvscr(vector bool int __a)
03710 {
03711   __builtin_altivec_mtvscr((vector int)__a);
03712 }
03713 
03714 static void __ATTRS_o_ai
03715 vec_mtvscr(vector float __a)
03716 {
03717   __builtin_altivec_mtvscr((vector int)__a);
03718 }
03719 
03720 /* The vmulos* and vmules* instructions have a big endian bias, so
03721    we must reverse the meaning of "even" and "odd" for little endian.  */
03722 
03723 /* vec_mule */
03724 
03725 static vector short __ATTRS_o_ai
03726 vec_mule(vector signed char __a, vector signed char __b)
03727 {
03728 #ifdef __LITTLE_ENDIAN__
03729   return __builtin_altivec_vmulosb(__a, __b);
03730 #else
03731   return __builtin_altivec_vmulesb(__a, __b);
03732 #endif
03733 }
03734 
03735 static vector unsigned short __ATTRS_o_ai
03736 vec_mule(vector unsigned char __a, vector unsigned char __b)
03737 {
03738 #ifdef __LITTLE_ENDIAN__
03739   return __builtin_altivec_vmuloub(__a, __b);
03740 #else
03741   return __builtin_altivec_vmuleub(__a, __b);
03742 #endif
03743 }
03744 
03745 static vector int __ATTRS_o_ai
03746 vec_mule(vector short __a, vector short __b)
03747 {
03748 #ifdef __LITTLE_ENDIAN__
03749   return __builtin_altivec_vmulosh(__a, __b);
03750 #else
03751   return __builtin_altivec_vmulesh(__a, __b);
03752 #endif
03753 }
03754 
03755 static vector unsigned int __ATTRS_o_ai
03756 vec_mule(vector unsigned short __a, vector unsigned short __b)
03757 {
03758 #ifdef __LITTLE_ENDIAN__
03759   return __builtin_altivec_vmulouh(__a, __b);
03760 #else
03761   return __builtin_altivec_vmuleuh(__a, __b);
03762 #endif
03763 }
03764 
03765 /* vec_vmulesb */
03766 
03767 static vector short __attribute__((__always_inline__))
03768 vec_vmulesb(vector signed char __a, vector signed char __b)
03769 {
03770 #ifdef __LITTLE_ENDIAN__
03771   return __builtin_altivec_vmulosb(__a, __b);
03772 #else
03773   return __builtin_altivec_vmulesb(__a, __b);
03774 #endif
03775 }
03776 
03777 /* vec_vmuleub */
03778 
03779 static vector unsigned short __attribute__((__always_inline__))
03780 vec_vmuleub(vector unsigned char __a, vector unsigned char __b)
03781 {
03782 #ifdef __LITTLE_ENDIAN__
03783   return __builtin_altivec_vmuloub(__a, __b);
03784 #else
03785   return __builtin_altivec_vmuleub(__a, __b);
03786 #endif
03787 }
03788 
03789 /* vec_vmulesh */
03790 
03791 static vector int __attribute__((__always_inline__))
03792 vec_vmulesh(vector short __a, vector short __b)
03793 {
03794 #ifdef __LITTLE_ENDIAN__
03795   return __builtin_altivec_vmulosh(__a, __b);
03796 #else
03797   return __builtin_altivec_vmulesh(__a, __b);
03798 #endif
03799 }
03800 
03801 /* vec_vmuleuh */
03802 
03803 static vector unsigned int __attribute__((__always_inline__))
03804 vec_vmuleuh(vector unsigned short __a, vector unsigned short __b)
03805 {
03806 #ifdef __LITTLE_ENDIAN__
03807   return __builtin_altivec_vmulouh(__a, __b);
03808 #else
03809   return __builtin_altivec_vmuleuh(__a, __b);
03810 #endif
03811 }
03812 
03813 /* vec_mulo */
03814 
03815 static vector short __ATTRS_o_ai
03816 vec_mulo(vector signed char __a, vector signed char __b)
03817 {
03818 #ifdef __LITTLE_ENDIAN__
03819   return __builtin_altivec_vmulesb(__a, __b);
03820 #else
03821   return __builtin_altivec_vmulosb(__a, __b);
03822 #endif
03823 }
03824 
03825 static vector unsigned short __ATTRS_o_ai
03826 vec_mulo(vector unsigned char __a, vector unsigned char __b)
03827 {
03828 #ifdef __LITTLE_ENDIAN__
03829   return __builtin_altivec_vmuleub(__a, __b);
03830 #else
03831   return __builtin_altivec_vmuloub(__a, __b);
03832 #endif
03833 }
03834 
03835 static vector int __ATTRS_o_ai
03836 vec_mulo(vector short __a, vector short __b)
03837 {
03838 #ifdef __LITTLE_ENDIAN__
03839   return __builtin_altivec_vmulesh(__a, __b);
03840 #else
03841   return __builtin_altivec_vmulosh(__a, __b);
03842 #endif
03843 }
03844 
03845 static vector unsigned int __ATTRS_o_ai
03846 vec_mulo(vector unsigned short __a, vector unsigned short __b)
03847 {
03848 #ifdef __LITTLE_ENDIAN__
03849   return __builtin_altivec_vmuleuh(__a, __b);
03850 #else
03851   return __builtin_altivec_vmulouh(__a, __b);
03852 #endif
03853 }
03854 
03855 /* vec_vmulosb */
03856 
03857 static vector short __attribute__((__always_inline__))
03858 vec_vmulosb(vector signed char __a, vector signed char __b)
03859 {
03860 #ifdef __LITTLE_ENDIAN__
03861   return __builtin_altivec_vmulesb(__a, __b);
03862 #else
03863   return __builtin_altivec_vmulosb(__a, __b);
03864 #endif
03865 }
03866 
03867 /* vec_vmuloub */
03868 
03869 static vector unsigned short __attribute__((__always_inline__))
03870 vec_vmuloub(vector unsigned char __a, vector unsigned char __b)
03871 {
03872 #ifdef __LITTLE_ENDIAN__
03873   return __builtin_altivec_vmuleub(__a, __b);
03874 #else
03875   return __builtin_altivec_vmuloub(__a, __b);
03876 #endif
03877 }
03878 
03879 /* vec_vmulosh */
03880 
03881 static vector int __attribute__((__always_inline__))
03882 vec_vmulosh(vector short __a, vector short __b)
03883 {
03884 #ifdef __LITTLE_ENDIAN__
03885   return __builtin_altivec_vmulesh(__a, __b);
03886 #else
03887   return __builtin_altivec_vmulosh(__a, __b);
03888 #endif
03889 }
03890 
03891 /* vec_vmulouh */
03892 
03893 static vector unsigned int __attribute__((__always_inline__))
03894 vec_vmulouh(vector unsigned short __a, vector unsigned short __b)
03895 {
03896 #ifdef __LITTLE_ENDIAN__
03897   return __builtin_altivec_vmuleuh(__a, __b);
03898 #else
03899   return __builtin_altivec_vmulouh(__a, __b);
03900 #endif
03901 }
03902 
03903 /* vec_nmsub */
03904 
03905 static vector float __attribute__((__always_inline__))
03906 vec_nmsub(vector float __a, vector float __b, vector float __c)
03907 {
03908   return __builtin_altivec_vnmsubfp(__a, __b, __c);
03909 }
03910 
03911 /* vec_vnmsubfp */
03912 
03913 static vector float __attribute__((__always_inline__))
03914 vec_vnmsubfp(vector float __a, vector float __b, vector float __c)
03915 {
03916   return __builtin_altivec_vnmsubfp(__a, __b, __c);
03917 }
03918 
03919 /* vec_nor */
03920 
03921 #define __builtin_altivec_vnor vec_nor
03922 
03923 static vector signed char __ATTRS_o_ai
03924 vec_nor(vector signed char __a, vector signed char __b)
03925 {
03926   return ~(__a | __b);
03927 }
03928 
03929 static vector unsigned char __ATTRS_o_ai
03930 vec_nor(vector unsigned char __a, vector unsigned char __b)
03931 {
03932   return ~(__a | __b);
03933 }
03934 
03935 static vector bool char __ATTRS_o_ai
03936 vec_nor(vector bool char __a, vector bool char __b)
03937 {
03938   return ~(__a | __b);
03939 }
03940 
03941 static vector short __ATTRS_o_ai
03942 vec_nor(vector short __a, vector short __b)
03943 {
03944   return ~(__a | __b);
03945 }
03946 
03947 static vector unsigned short __ATTRS_o_ai
03948 vec_nor(vector unsigned short __a, vector unsigned short __b)
03949 {
03950   return ~(__a | __b);
03951 }
03952 
03953 static vector bool short __ATTRS_o_ai
03954 vec_nor(vector bool short __a, vector bool short __b)
03955 {
03956   return ~(__a | __b);
03957 }
03958 
03959 static vector int __ATTRS_o_ai
03960 vec_nor(vector int __a, vector int __b)
03961 {
03962   return ~(__a | __b);
03963 }
03964 
03965 static vector unsigned int __ATTRS_o_ai
03966 vec_nor(vector unsigned int __a, vector unsigned int __b)
03967 {
03968   return ~(__a | __b);
03969 }
03970 
03971 static vector bool int __ATTRS_o_ai
03972 vec_nor(vector bool int __a, vector bool int __b)
03973 {
03974   return ~(__a | __b);
03975 }
03976 
03977 static vector float __ATTRS_o_ai
03978 vec_nor(vector float __a, vector float __b)
03979 {
03980   vector unsigned int __res = ~((vector unsigned int)__a | (vector unsigned int)__b);
03981   return (vector float)__res;
03982 }
03983 
03984 /* vec_vnor */
03985 
03986 static vector signed char __ATTRS_o_ai
03987 vec_vnor(vector signed char __a, vector signed char __b)
03988 {
03989   return ~(__a | __b);
03990 }
03991 
03992 static vector unsigned char __ATTRS_o_ai
03993 vec_vnor(vector unsigned char __a, vector unsigned char __b)
03994 {
03995   return ~(__a | __b);
03996 }
03997 
03998 static vector bool char __ATTRS_o_ai
03999 vec_vnor(vector bool char __a, vector bool char __b)
04000 {
04001   return ~(__a | __b);
04002 }
04003 
04004 static vector short __ATTRS_o_ai
04005 vec_vnor(vector short __a, vector short __b)
04006 {
04007   return ~(__a | __b);
04008 }
04009 
04010 static vector unsigned short __ATTRS_o_ai
04011 vec_vnor(vector unsigned short __a, vector unsigned short __b)
04012 {
04013   return ~(__a | __b);
04014 }
04015 
04016 static vector bool short __ATTRS_o_ai
04017 vec_vnor(vector bool short __a, vector bool short __b)
04018 {
04019   return ~(__a | __b);
04020 }
04021 
04022 static vector int __ATTRS_o_ai
04023 vec_vnor(vector int __a, vector int __b)
04024 {
04025   return ~(__a | __b);
04026 }
04027 
04028 static vector unsigned int __ATTRS_o_ai
04029 vec_vnor(vector unsigned int __a, vector unsigned int __b)
04030 {
04031   return ~(__a | __b);
04032 }
04033 
04034 static vector bool int __ATTRS_o_ai
04035 vec_vnor(vector bool int __a, vector bool int __b)
04036 {
04037   return ~(__a | __b);
04038 }
04039 
04040 static vector float __ATTRS_o_ai
04041 vec_vnor(vector float __a, vector float __b)
04042 {
04043   vector unsigned int __res = ~((vector unsigned int)__a | (vector unsigned int)__b);
04044   return (vector float)__res;
04045 }
04046 
04047 /* vec_or */
04048 
04049 #define __builtin_altivec_vor vec_or
04050 
04051 static vector signed char __ATTRS_o_ai
04052 vec_or(vector signed char __a, vector signed char __b)
04053 {
04054   return __a | __b;
04055 }
04056 
04057 static vector signed char __ATTRS_o_ai
04058 vec_or(vector bool char __a, vector signed char __b)
04059 {
04060   return (vector signed char)__a | __b;
04061 }
04062 
04063 static vector signed char __ATTRS_o_ai
04064 vec_or(vector signed char __a, vector bool char __b)
04065 {
04066   return __a | (vector signed char)__b;
04067 }
04068 
04069 static vector unsigned char __ATTRS_o_ai
04070 vec_or(vector unsigned char __a, vector unsigned char __b)
04071 {
04072   return __a | __b;
04073 }
04074 
04075 static vector unsigned char __ATTRS_o_ai
04076 vec_or(vector bool char __a, vector unsigned char __b)
04077 {
04078   return (vector unsigned char)__a | __b;
04079 }
04080 
04081 static vector unsigned char __ATTRS_o_ai
04082 vec_or(vector unsigned char __a, vector bool char __b)
04083 {
04084   return __a | (vector unsigned char)__b;
04085 }
04086 
04087 static vector bool char __ATTRS_o_ai
04088 vec_or(vector bool char __a, vector bool char __b)
04089 {
04090   return __a | __b;
04091 }
04092 
04093 static vector short __ATTRS_o_ai
04094 vec_or(vector short __a, vector short __b)
04095 {
04096   return __a | __b;
04097 }
04098 
04099 static vector short __ATTRS_o_ai
04100 vec_or(vector bool short __a, vector short __b)
04101 {
04102   return (vector short)__a | __b;
04103 }
04104 
04105 static vector short __ATTRS_o_ai
04106 vec_or(vector short __a, vector bool short __b)
04107 {
04108   return __a | (vector short)__b;
04109 }
04110 
04111 static vector unsigned short __ATTRS_o_ai
04112 vec_or(vector unsigned short __a, vector unsigned short __b)
04113 {
04114   return __a | __b;
04115 }
04116 
04117 static vector unsigned short __ATTRS_o_ai
04118 vec_or(vector bool short __a, vector unsigned short __b)
04119 {
04120   return (vector unsigned short)__a | __b;
04121 }
04122 
04123 static vector unsigned short __ATTRS_o_ai
04124 vec_or(vector unsigned short __a, vector bool short __b)
04125 {
04126   return __a | (vector unsigned short)__b;
04127 }
04128 
04129 static vector bool short __ATTRS_o_ai
04130 vec_or(vector bool short __a, vector bool short __b)
04131 {
04132   return __a | __b;
04133 }
04134 
04135 static vector int __ATTRS_o_ai
04136 vec_or(vector int __a, vector int __b)
04137 {
04138   return __a | __b;
04139 }
04140 
04141 static vector int __ATTRS_o_ai
04142 vec_or(vector bool int __a, vector int __b)
04143 {
04144   return (vector int)__a | __b;
04145 }
04146 
04147 static vector int __ATTRS_o_ai
04148 vec_or(vector int __a, vector bool int __b)
04149 {
04150   return __a | (vector int)__b;
04151 }
04152 
04153 static vector unsigned int __ATTRS_o_ai
04154 vec_or(vector unsigned int __a, vector unsigned int __b)
04155 {
04156   return __a | __b;
04157 }
04158 
04159 static vector unsigned int __ATTRS_o_ai
04160 vec_or(vector bool int __a, vector unsigned int __b)
04161 {
04162   return (vector unsigned int)__a | __b;
04163 }
04164 
04165 static vector unsigned int __ATTRS_o_ai
04166 vec_or(vector unsigned int __a, vector bool int __b)
04167 {
04168   return __a | (vector unsigned int)__b;
04169 }
04170 
04171 static vector bool int __ATTRS_o_ai
04172 vec_or(vector bool int __a, vector bool int __b)
04173 {
04174   return __a | __b;
04175 }
04176 
04177 static vector float __ATTRS_o_ai
04178 vec_or(vector float __a, vector float __b)
04179 {
04180   vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
04181   return (vector float)__res;
04182 }
04183 
04184 static vector float __ATTRS_o_ai
04185 vec_or(vector bool int __a, vector float __b)
04186 {
04187   vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
04188   return (vector float)__res;
04189 }
04190 
04191 static vector float __ATTRS_o_ai
04192 vec_or(vector float __a, vector bool int __b)
04193 {
04194   vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
04195   return (vector float)__res;
04196 }
04197 
04198 /* vec_vor */
04199 
04200 static vector signed char __ATTRS_o_ai
04201 vec_vor(vector signed char __a, vector signed char __b)
04202 {
04203   return __a | __b;
04204 }
04205 
04206 static vector signed char __ATTRS_o_ai
04207 vec_vor(vector bool char __a, vector signed char __b)
04208 {
04209   return (vector signed char)__a | __b;
04210 }
04211 
04212 static vector signed char __ATTRS_o_ai
04213 vec_vor(vector signed char __a, vector bool char __b)
04214 {
04215   return __a | (vector signed char)__b;
04216 }
04217 
04218 static vector unsigned char __ATTRS_o_ai
04219 vec_vor(vector unsigned char __a, vector unsigned char __b)
04220 {
04221   return __a | __b;
04222 }
04223 
04224 static vector unsigned char __ATTRS_o_ai
04225 vec_vor(vector bool char __a, vector unsigned char __b)
04226 {
04227   return (vector unsigned char)__a | __b;
04228 }
04229 
04230 static vector unsigned char __ATTRS_o_ai
04231 vec_vor(vector unsigned char __a, vector bool char __b)
04232 {
04233   return __a | (vector unsigned char)__b;
04234 }
04235 
04236 static vector bool char __ATTRS_o_ai
04237 vec_vor(vector bool char __a, vector bool char __b)
04238 {
04239   return __a | __b;
04240 }
04241 
04242 static vector short __ATTRS_o_ai
04243 vec_vor(vector short __a, vector short __b)
04244 {
04245   return __a | __b;
04246 }
04247 
04248 static vector short __ATTRS_o_ai
04249 vec_vor(vector bool short __a, vector short __b)
04250 {
04251   return (vector short)__a | __b;
04252 }
04253 
04254 static vector short __ATTRS_o_ai
04255 vec_vor(vector short __a, vector bool short __b)
04256 {
04257   return __a | (vector short)__b;
04258 }
04259 
04260 static vector unsigned short __ATTRS_o_ai
04261 vec_vor(vector unsigned short __a, vector unsigned short __b)
04262 {
04263   return __a | __b;
04264 }
04265 
04266 static vector unsigned short __ATTRS_o_ai
04267 vec_vor(vector bool short __a, vector unsigned short __b)
04268 {
04269   return (vector unsigned short)__a | __b;
04270 }
04271 
04272 static vector unsigned short __ATTRS_o_ai
04273 vec_vor(vector unsigned short __a, vector bool short __b)
04274 {
04275   return __a | (vector unsigned short)__b;
04276 }
04277 
04278 static vector bool short __ATTRS_o_ai
04279 vec_vor(vector bool short __a, vector bool short __b)
04280 {
04281   return __a | __b;
04282 }
04283 
04284 static vector int __ATTRS_o_ai
04285 vec_vor(vector int __a, vector int __b)
04286 {
04287   return __a | __b;
04288 }
04289 
04290 static vector int __ATTRS_o_ai
04291 vec_vor(vector bool int __a, vector int __b)
04292 {
04293   return (vector int)__a | __b;
04294 }
04295 
04296 static vector int __ATTRS_o_ai
04297 vec_vor(vector int __a, vector bool int __b)
04298 {
04299   return __a | (vector int)__b;
04300 }
04301 
04302 static vector unsigned int __ATTRS_o_ai
04303 vec_vor(vector unsigned int __a, vector unsigned int __b)
04304 {
04305   return __a | __b;
04306 }
04307 
04308 static vector unsigned int __ATTRS_o_ai
04309 vec_vor(vector bool int __a, vector unsigned int __b)
04310 {
04311   return (vector unsigned int)__a | __b;
04312 }
04313 
04314 static vector unsigned int __ATTRS_o_ai
04315 vec_vor(vector unsigned int __a, vector bool int __b)
04316 {
04317   return __a | (vector unsigned int)__b;
04318 }
04319 
04320 static vector bool int __ATTRS_o_ai
04321 vec_vor(vector bool int __a, vector bool int __b)
04322 {
04323   return __a | __b;
04324 }
04325 
04326 static vector float __ATTRS_o_ai
04327 vec_vor(vector float __a, vector float __b)
04328 {
04329   vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
04330   return (vector float)__res;
04331 }
04332 
04333 static vector float __ATTRS_o_ai
04334 vec_vor(vector bool int __a, vector float __b)
04335 {
04336   vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
04337   return (vector float)__res;
04338 }
04339 
04340 static vector float __ATTRS_o_ai
04341 vec_vor(vector float __a, vector bool int __b)
04342 {
04343   vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
04344   return (vector float)__res;
04345 }
04346 
04347 /* vec_pack */
04348 
04349 /* The various vector pack instructions have a big-endian bias, so for
04350    little endian we must handle reversed element numbering.  */
04351 
04352 static vector signed char __ATTRS_o_ai
04353 vec_pack(vector signed short __a, vector signed short __b)
04354 {
04355 #ifdef __LITTLE_ENDIAN__
04356   return (vector signed char)vec_perm(__a, __b, (vector unsigned char)
04357     (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
04358      0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
04359 #else
04360   return (vector signed char)vec_perm(__a, __b, (vector unsigned char)
04361     (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
04362      0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
04363 #endif
04364 }
04365 
04366 static vector unsigned char __ATTRS_o_ai
04367 vec_pack(vector unsigned short __a, vector unsigned short __b)
04368 {
04369 #ifdef __LITTLE_ENDIAN__
04370   return (vector unsigned char)vec_perm(__a, __b, (vector unsigned char)
04371     (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
04372      0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
04373 #else
04374   return (vector unsigned char)vec_perm(__a, __b, (vector unsigned char)
04375     (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
04376      0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
04377 #endif
04378 }
04379 
04380 static vector bool char __ATTRS_o_ai
04381 vec_pack(vector bool short __a, vector bool short __b)
04382 {
04383 #ifdef __LITTLE_ENDIAN__
04384   return (vector bool char)vec_perm(__a, __b, (vector unsigned char)
04385     (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
04386      0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
04387 #else
04388   return (vector bool char)vec_perm(__a, __b, (vector unsigned char)
04389     (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
04390      0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
04391 #endif
04392 }
04393 
04394 static vector short __ATTRS_o_ai
04395 vec_pack(vector int __a, vector int __b)
04396 {
04397 #ifdef __LITTLE_ENDIAN__
04398   return (vector short)vec_perm(__a, __b, (vector unsigned char)
04399     (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
04400      0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
04401 #else
04402   return (vector short)vec_perm(__a, __b, (vector unsigned char)
04403     (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
04404      0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
04405 #endif
04406 }
04407 
04408 static vector unsigned short __ATTRS_o_ai
04409 vec_pack(vector unsigned int __a, vector unsigned int __b)
04410 {
04411 #ifdef __LITTLE_ENDIAN__
04412   return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
04413     (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
04414      0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
04415 #else
04416   return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
04417     (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
04418      0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
04419 #endif
04420 }
04421 
04422 static vector bool short __ATTRS_o_ai
04423 vec_pack(vector bool int __a, vector bool int __b)
04424 {
04425 #ifdef __LITTLE_ENDIAN__
04426   return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
04427     (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
04428      0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
04429 #else
04430   return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
04431     (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
04432      0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
04433 #endif
04434 }
04435 
04436 /* vec_vpkuhum */
04437 
04438 #define __builtin_altivec_vpkuhum vec_vpkuhum
04439 
04440 static vector signed char __ATTRS_o_ai
04441 vec_vpkuhum(vector signed short __a, vector signed short __b)
04442 {
04443 #ifdef __LITTLE_ENDIAN__
04444   return (vector signed char)vec_perm(__a, __b, (vector unsigned char)
04445     (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
04446      0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
04447 #else
04448   return (vector signed char)vec_perm(__a, __b, (vector unsigned char)
04449     (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
04450      0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
04451 #endif
04452 }
04453 
04454 static vector unsigned char __ATTRS_o_ai
04455 vec_vpkuhum(vector unsigned short __a, vector unsigned short __b)
04456 {
04457 #ifdef __LITTLE_ENDIAN__
04458   return (vector unsigned char)vec_perm(__a, __b, (vector unsigned char)
04459     (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
04460      0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
04461 #else
04462   return (vector unsigned char)vec_perm(__a, __b, (vector unsigned char)
04463     (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
04464      0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
04465 #endif
04466 }
04467 
04468 static vector bool char __ATTRS_o_ai
04469 vec_vpkuhum(vector bool short __a, vector bool short __b)
04470 {
04471 #ifdef __LITTLE_ENDIAN__
04472   return (vector bool char)vec_perm(__a, __b, (vector unsigned char)
04473     (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
04474      0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
04475 #else
04476   return (vector bool char)vec_perm(__a, __b, (vector unsigned char)
04477     (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
04478      0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
04479 #endif
04480 }
04481 
04482 /* vec_vpkuwum */
04483 
04484 #define __builtin_altivec_vpkuwum vec_vpkuwum
04485 
04486 static vector short __ATTRS_o_ai
04487 vec_vpkuwum(vector int __a, vector int __b)
04488 {
04489 #ifdef __LITTLE_ENDIAN__
04490   return (vector short)vec_perm(__a, __b, (vector unsigned char)
04491     (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
04492      0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
04493 #else
04494   return (vector short)vec_perm(__a, __b, (vector unsigned char)
04495     (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
04496      0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
04497 #endif
04498 }
04499 
04500 static vector unsigned short __ATTRS_o_ai
04501 vec_vpkuwum(vector unsigned int __a, vector unsigned int __b)
04502 {
04503 #ifdef __LITTLE_ENDIAN__
04504   return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
04505     (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
04506      0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
04507 #else
04508   return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
04509     (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
04510      0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
04511 #endif
04512 }
04513 
04514 static vector bool short __ATTRS_o_ai
04515 vec_vpkuwum(vector bool int __a, vector bool int __b)
04516 {
04517 #ifdef __LITTLE_ENDIAN__
04518   return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
04519     (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
04520      0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
04521 #else
04522   return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
04523     (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
04524      0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
04525 #endif
04526 }
04527 
04528 /* vec_packpx */
04529 
04530 static vector pixel __attribute__((__always_inline__))
04531 vec_packpx(vector unsigned int __a, vector unsigned int __b)
04532 {
04533 #ifdef __LITTLE_ENDIAN__
04534   return (vector pixel)__builtin_altivec_vpkpx(__b, __a);
04535 #else
04536   return (vector pixel)__builtin_altivec_vpkpx(__a, __b);
04537 #endif
04538 }
04539 
04540 /* vec_vpkpx */
04541 
04542 static vector pixel __attribute__((__always_inline__))
04543 vec_vpkpx(vector unsigned int __a, vector unsigned int __b)
04544 {
04545 #ifdef __LITTLE_ENDIAN__
04546   return (vector pixel)__builtin_altivec_vpkpx(__b, __a);
04547 #else
04548   return (vector pixel)__builtin_altivec_vpkpx(__a, __b);
04549 #endif
04550 }
04551 
04552 /* vec_packs */
04553 
04554 static vector signed char __ATTRS_o_ai
04555 vec_packs(vector short __a, vector short __b)
04556 {
04557 #ifdef __LITTLE_ENDIAN__
04558   return __builtin_altivec_vpkshss(__b, __a);
04559 #else
04560   return __builtin_altivec_vpkshss(__a, __b);
04561 #endif
04562 }
04563 
04564 static vector unsigned char __ATTRS_o_ai
04565 vec_packs(vector unsigned short __a, vector unsigned short __b)
04566 {
04567 #ifdef __LITTLE_ENDIAN__
04568   return __builtin_altivec_vpkuhus(__b, __a);
04569 #else
04570   return __builtin_altivec_vpkuhus(__a, __b);
04571 #endif
04572 }
04573 
04574 static vector signed short __ATTRS_o_ai
04575 vec_packs(vector int __a, vector int __b)
04576 {
04577 #ifdef __LITTLE_ENDIAN__
04578   return __builtin_altivec_vpkswss(__b, __a);
04579 #else
04580   return __builtin_altivec_vpkswss(__a, __b);
04581 #endif
04582 }
04583 
04584 static vector unsigned short __ATTRS_o_ai
04585 vec_packs(vector unsigned int __a, vector unsigned int __b)
04586 {
04587 #ifdef __LITTLE_ENDIAN__
04588   return __builtin_altivec_vpkuwus(__b, __a);
04589 #else
04590   return __builtin_altivec_vpkuwus(__a, __b);
04591 #endif
04592 }
04593 
04594 /* vec_vpkshss */
04595 
04596 static vector signed char __attribute__((__always_inline__))
04597 vec_vpkshss(vector short __a, vector short __b)
04598 {
04599 #ifdef __LITTLE_ENDIAN__
04600   return __builtin_altivec_vpkshss(__b, __a);
04601 #else
04602   return __builtin_altivec_vpkshss(__a, __b);
04603 #endif
04604 }
04605 
04606 /* vec_vpkuhus */
04607 
04608 static vector unsigned char __attribute__((__always_inline__))
04609 vec_vpkuhus(vector unsigned short __a, vector unsigned short __b)
04610 {
04611 #ifdef __LITTLE_ENDIAN__
04612   return __builtin_altivec_vpkuhus(__b, __a);
04613 #else
04614   return __builtin_altivec_vpkuhus(__a, __b);
04615 #endif
04616 }
04617 
04618 /* vec_vpkswss */
04619 
04620 static vector signed short __attribute__((__always_inline__))
04621 vec_vpkswss(vector int __a, vector int __b)
04622 {
04623 #ifdef __LITTLE_ENDIAN__
04624   return __builtin_altivec_vpkswss(__b, __a);
04625 #else
04626   return __builtin_altivec_vpkswss(__a, __b);
04627 #endif
04628 }
04629 
04630 /* vec_vpkuwus */
04631 
04632 static vector unsigned short __attribute__((__always_inline__))
04633 vec_vpkuwus(vector unsigned int __a, vector unsigned int __b)
04634 {
04635 #ifdef __LITTLE_ENDIAN__
04636   return __builtin_altivec_vpkuwus(__b, __a);
04637 #else
04638   return __builtin_altivec_vpkuwus(__a, __b);
04639 #endif
04640 }
04641 
04642 /* vec_packsu */
04643 
04644 static vector unsigned char __ATTRS_o_ai
04645 vec_packsu(vector short __a, vector short __b)
04646 {
04647 #ifdef __LITTLE_ENDIAN__
04648   return __builtin_altivec_vpkshus(__b, __a);
04649 #else
04650   return __builtin_altivec_vpkshus(__a, __b);
04651 #endif
04652 }
04653 
04654 static vector unsigned char __ATTRS_o_ai
04655 vec_packsu(vector unsigned short __a, vector unsigned short __b)
04656 {
04657 #ifdef __LITTLE_ENDIAN__
04658   return __builtin_altivec_vpkuhus(__b, __a);
04659 #else
04660   return __builtin_altivec_vpkuhus(__a, __b);
04661 #endif
04662 }
04663 
04664 static vector unsigned short __ATTRS_o_ai
04665 vec_packsu(vector int __a, vector int __b)
04666 {
04667 #ifdef __LITTLE_ENDIAN__
04668   return __builtin_altivec_vpkswus(__b, __a);
04669 #else
04670   return __builtin_altivec_vpkswus(__a, __b);
04671 #endif
04672 }
04673 
04674 static vector unsigned short __ATTRS_o_ai
04675 vec_packsu(vector unsigned int __a, vector unsigned int __b)
04676 {
04677 #ifdef __LITTLE_ENDIAN__
04678   return __builtin_altivec_vpkuwus(__b, __a);
04679 #else
04680   return __builtin_altivec_vpkuwus(__a, __b);
04681 #endif
04682 }
04683 
04684 /* vec_vpkshus */
04685 
04686 static vector unsigned char __ATTRS_o_ai
04687 vec_vpkshus(vector short __a, vector short __b)
04688 {
04689 #ifdef __LITTLE_ENDIAN__
04690   return __builtin_altivec_vpkshus(__b, __a);
04691 #else
04692   return __builtin_altivec_vpkshus(__a, __b);
04693 #endif
04694 }
04695 
04696 static vector unsigned char __ATTRS_o_ai
04697 vec_vpkshus(vector unsigned short __a, vector unsigned short __b)
04698 {
04699 #ifdef __LITTLE_ENDIAN__
04700   return __builtin_altivec_vpkuhus(__b, __a);
04701 #else
04702   return __builtin_altivec_vpkuhus(__a, __b);
04703 #endif
04704 }
04705 
04706 /* vec_vpkswus */
04707 
04708 static vector unsigned short __ATTRS_o_ai
04709 vec_vpkswus(vector int __a, vector int __b)
04710 {
04711 #ifdef __LITTLE_ENDIAN__
04712   return __builtin_altivec_vpkswus(__b, __a);
04713 #else
04714   return __builtin_altivec_vpkswus(__a, __b);
04715 #endif
04716 }
04717 
04718 static vector unsigned short __ATTRS_o_ai
04719 vec_vpkswus(vector unsigned int __a, vector unsigned int __b)
04720 {
04721 #ifdef __LITTLE_ENDIAN__
04722   return __builtin_altivec_vpkuwus(__b, __a);
04723 #else
04724   return __builtin_altivec_vpkuwus(__a, __b);
04725 #endif
04726 }
04727 
04728 /* vec_perm */
04729 
04730 // The vperm instruction is defined architecturally with a big-endian bias.
04731 // For little endian, we swap the input operands and invert the permute
04732 // control vector.  Only the rightmost 5 bits matter, so we could use
04733 // a vector of all 31s instead of all 255s to perform the inversion.
04734 // However, when the PCV is not a constant, using 255 has an advantage
04735 // in that the vec_xor can be recognized as a vec_nor (and for P8 and
04736 // later, possibly a vec_nand).
04737 
04738 vector signed char __ATTRS_o_ai
04739 vec_perm(vector signed char __a, vector signed char __b, vector unsigned char __c)
04740 {
04741 #ifdef __LITTLE_ENDIAN__
04742   vector unsigned char __d = {255,255,255,255,255,255,255,255,
04743                               255,255,255,255,255,255,255,255};
04744   __d = vec_xor(__c, __d);
04745   return (vector signed char)
04746            __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
04747 #else
04748   return (vector signed char)
04749            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
04750 #endif
04751 }
04752 
04753 vector unsigned char __ATTRS_o_ai
04754 vec_perm(vector unsigned char __a,
04755          vector unsigned char __b,
04756          vector unsigned char __c)
04757 {
04758 #ifdef __LITTLE_ENDIAN__
04759   vector unsigned char __d = {255,255,255,255,255,255,255,255,
04760                               255,255,255,255,255,255,255,255};
04761   __d = vec_xor(__c, __d);
04762   return (vector unsigned char)
04763            __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
04764 #else
04765   return (vector unsigned char)
04766            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
04767 #endif
04768 }
04769 
04770 vector bool char __ATTRS_o_ai
04771 vec_perm(vector bool char __a, vector bool char __b, vector unsigned char __c)
04772 {
04773 #ifdef __LITTLE_ENDIAN__
04774   vector unsigned char __d = {255,255,255,255,255,255,255,255,
04775                               255,255,255,255,255,255,255,255};
04776   __d = vec_xor(__c, __d);
04777   return (vector bool char)
04778            __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
04779 #else
04780   return (vector bool char)
04781            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
04782 #endif
04783 }
04784 
04785 vector short __ATTRS_o_ai
04786 vec_perm(vector short __a, vector short __b, vector unsigned char __c)
04787 {
04788 #ifdef __LITTLE_ENDIAN__
04789   vector unsigned char __d = {255,255,255,255,255,255,255,255,
04790                               255,255,255,255,255,255,255,255};
04791   __d = vec_xor(__c, __d);
04792   return (vector short)
04793            __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
04794 #else
04795   return (vector short)
04796            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
04797 #endif
04798 }
04799 
04800 vector unsigned short __ATTRS_o_ai
04801 vec_perm(vector unsigned short __a,
04802          vector unsigned short __b,
04803          vector unsigned char __c)
04804 {
04805 #ifdef __LITTLE_ENDIAN__
04806   vector unsigned char __d = {255,255,255,255,255,255,255,255,
04807                               255,255,255,255,255,255,255,255};
04808   __d = vec_xor(__c, __d);
04809   return (vector unsigned short)
04810            __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
04811 #else
04812   return (vector unsigned short)
04813            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
04814 #endif
04815 }
04816 
04817 vector bool short __ATTRS_o_ai
04818 vec_perm(vector bool short __a, vector bool short __b, vector unsigned char __c)
04819 {
04820 #ifdef __LITTLE_ENDIAN__
04821   vector unsigned char __d = {255,255,255,255,255,255,255,255,
04822                               255,255,255,255,255,255,255,255};
04823   __d = vec_xor(__c, __d);
04824   return (vector bool short)
04825            __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
04826 #else
04827   return (vector bool short)
04828            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
04829 #endif
04830 }
04831 
04832 vector pixel __ATTRS_o_ai
04833 vec_perm(vector pixel __a, vector pixel __b, vector unsigned char __c)
04834 {
04835 #ifdef __LITTLE_ENDIAN__
04836   vector unsigned char __d = {255,255,255,255,255,255,255,255,
04837                               255,255,255,255,255,255,255,255};
04838   __d = vec_xor(__c, __d);
04839   return (vector pixel)
04840            __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
04841 #else
04842   return (vector pixel)
04843            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
04844 #endif
04845 }
04846 
04847 vector int __ATTRS_o_ai
04848 vec_perm(vector int __a, vector int __b, vector unsigned char __c)
04849 {
04850 #ifdef __LITTLE_ENDIAN__
04851   vector unsigned char __d = {255,255,255,255,255,255,255,255,
04852                               255,255,255,255,255,255,255,255};
04853   __d = vec_xor(__c, __d);
04854   return (vector int)__builtin_altivec_vperm_4si(__b, __a, __d);
04855 #else
04856   return (vector int)__builtin_altivec_vperm_4si(__a, __b, __c);
04857 #endif
04858 }
04859 
04860 vector unsigned int __ATTRS_o_ai
04861 vec_perm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c)
04862 {
04863 #ifdef __LITTLE_ENDIAN__
04864   vector unsigned char __d = {255,255,255,255,255,255,255,255,
04865                               255,255,255,255,255,255,255,255};
04866   __d = vec_xor(__c, __d);
04867   return (vector unsigned int)
04868            __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
04869 #else
04870   return (vector unsigned int)
04871            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
04872 #endif
04873 }
04874 
04875 vector bool int __ATTRS_o_ai
04876 vec_perm(vector bool int __a, vector bool int __b, vector unsigned char __c)
04877 {
04878 #ifdef __LITTLE_ENDIAN__
04879   vector unsigned char __d = {255,255,255,255,255,255,255,255,
04880                               255,255,255,255,255,255,255,255};
04881   __d = vec_xor(__c, __d);
04882   return (vector bool int)
04883            __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
04884 #else
04885   return (vector bool int)
04886            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
04887 #endif
04888 }
04889 
04890 vector float __ATTRS_o_ai
04891 vec_perm(vector float __a, vector float __b, vector unsigned char __c)
04892 {
04893 #ifdef __LITTLE_ENDIAN__
04894   vector unsigned char __d = {255,255,255,255,255,255,255,255,
04895                               255,255,255,255,255,255,255,255};
04896   __d = vec_xor(__c, __d);
04897   return (vector float)
04898            __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
04899 #else
04900   return (vector float)
04901            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
04902 #endif
04903 }
04904 
04905 #ifdef __VSX__
04906 vector long long __ATTRS_o_ai
04907 vec_perm(vector long long __a, vector long long __b, vector unsigned char __c)
04908 {
04909 #ifdef __LITTLE_ENDIAN__
04910   vector unsigned char __d = {255,255,255,255,255,255,255,255,
04911                               255,255,255,255,255,255,255,255};
04912   __d = vec_xor(__c, __d);
04913   return (vector long long)__builtin_altivec_vperm_4si(__b, __a, __d);
04914 #else
04915   return (vector long long)__builtin_altivec_vperm_4si(__a, __b, __c);
04916 #endif
04917 }
04918 
04919 vector unsigned long long __ATTRS_o_ai
04920 vec_perm(vector unsigned long long __a, vector unsigned long long __b,
04921          vector unsigned char __c)
04922 {
04923 #ifdef __LITTLE_ENDIAN__
04924   vector unsigned char __d = {255,255,255,255,255,255,255,255,
04925                               255,255,255,255,255,255,255,255};
04926   __d = vec_xor(__c, __d);
04927   return (vector unsigned long long)
04928            __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
04929 #else
04930   return (vector unsigned long long)
04931            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
04932 #endif
04933 }
04934 
04935 vector double __ATTRS_o_ai
04936 vec_perm(vector double __a, vector double __b, vector unsigned char __c)
04937 {
04938 #ifdef __LITTLE_ENDIAN__
04939   vector unsigned char __d = {255,255,255,255,255,255,255,255,
04940                               255,255,255,255,255,255,255,255};
04941   __d = vec_xor(__c, __d);
04942   return (vector double)
04943            __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
04944 #else
04945   return (vector double)
04946            __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
04947 #endif
04948 }
04949 #endif
04950 
04951 /* vec_vperm */
04952 
04953 static vector signed char __ATTRS_o_ai
04954 vec_vperm(vector signed char __a, vector signed char __b, vector unsigned char __c)
04955 {
04956   return vec_perm(__a, __b, __c);
04957 }
04958 
04959 static vector unsigned char __ATTRS_o_ai
04960 vec_vperm(vector unsigned char __a,
04961           vector unsigned char __b,
04962           vector unsigned char __c)
04963 {
04964   return vec_perm(__a, __b, __c);
04965 }
04966 
04967 static vector bool char __ATTRS_o_ai
04968 vec_vperm(vector bool char __a, vector bool char __b, vector unsigned char __c)
04969 {
04970   return vec_perm(__a, __b, __c);
04971 }
04972 
04973 static vector short __ATTRS_o_ai
04974 vec_vperm(vector short __a, vector short __b, vector unsigned char __c)
04975 {
04976   return vec_perm(__a, __b, __c);
04977 }
04978 
04979 static vector unsigned short __ATTRS_o_ai
04980 vec_vperm(vector unsigned short __a,
04981           vector unsigned short __b,
04982           vector unsigned char __c)
04983 {
04984   return vec_perm(__a, __b, __c);
04985 }
04986 
04987 static vector bool short __ATTRS_o_ai
04988 vec_vperm(vector bool short __a, vector bool short __b, vector unsigned char __c)
04989 {
04990   return vec_perm(__a, __b, __c);
04991 }
04992 
04993 static vector pixel __ATTRS_o_ai
04994 vec_vperm(vector pixel __a, vector pixel __b, vector unsigned char __c)
04995 {
04996   return vec_perm(__a, __b, __c);
04997 }
04998 
04999 static vector int __ATTRS_o_ai
05000 vec_vperm(vector int __a, vector int __b, vector unsigned char __c)
05001 {
05002   return vec_perm(__a, __b, __c);
05003 }
05004 
05005 static vector unsigned int __ATTRS_o_ai
05006 vec_vperm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c)
05007 {
05008   return vec_perm(__a, __b, __c);
05009 }
05010 
05011 static vector bool int __ATTRS_o_ai
05012 vec_vperm(vector bool int __a, vector bool int __b, vector unsigned char __c)
05013 {
05014   return vec_perm(__a, __b, __c);
05015 }
05016 
05017 static vector float __ATTRS_o_ai
05018 vec_vperm(vector float __a, vector float __b, vector unsigned char __c)
05019 {
05020   return vec_perm(__a, __b, __c);
05021 }
05022 
05023 #ifdef __VSX__
05024 static vector long long __ATTRS_o_ai
05025 vec_vperm(vector long long __a, vector long long __b, vector unsigned char __c)
05026 {
05027   return vec_perm(__a, __b, __c);
05028 }
05029 
05030 static vector unsigned long long __ATTRS_o_ai
05031 vec_vperm(vector unsigned long long __a, vector unsigned long long __b,
05032           vector unsigned char __c)
05033 {
05034   return vec_perm(__a, __b, __c);
05035 }
05036 
05037 static vector double __ATTRS_o_ai
05038 vec_vperm(vector double __a, vector double __b, vector unsigned char __c)
05039 {
05040   return vec_perm(__a, __b, __c);
05041 }
05042 #endif
05043 
05044 /* vec_re */
05045 
05046 static vector float __attribute__((__always_inline__))
05047 vec_re(vector float __a)
05048 {
05049   return __builtin_altivec_vrefp(__a);
05050 }
05051 
05052 /* vec_vrefp */
05053 
05054 static vector float __attribute__((__always_inline__))
05055 vec_vrefp(vector float __a)
05056 {
05057   return __builtin_altivec_vrefp(__a);
05058 }
05059 
05060 /* vec_rl */
05061 
05062 static vector signed char __ATTRS_o_ai
05063 vec_rl(vector signed char __a, vector unsigned char __b)
05064 {
05065   return (vector signed char)__builtin_altivec_vrlb((vector char)__a, __b);
05066 }
05067 
05068 static vector unsigned char __ATTRS_o_ai
05069 vec_rl(vector unsigned char __a, vector unsigned char __b)
05070 {
05071   return (vector unsigned char)__builtin_altivec_vrlb((vector char)__a, __b);
05072 }
05073 
05074 static vector short __ATTRS_o_ai
05075 vec_rl(vector short __a, vector unsigned short __b)
05076 {
05077   return __builtin_altivec_vrlh(__a, __b);
05078 }
05079 
05080 static vector unsigned short __ATTRS_o_ai
05081 vec_rl(vector unsigned short __a, vector unsigned short __b)
05082 {
05083   return (vector unsigned short)__builtin_altivec_vrlh((vector short)__a, __b);
05084 }
05085 
05086 static vector int __ATTRS_o_ai
05087 vec_rl(vector int __a, vector unsigned int __b)
05088 {
05089   return __builtin_altivec_vrlw(__a, __b);
05090 }
05091 
05092 static vector unsigned int __ATTRS_o_ai
05093 vec_rl(vector unsigned int __a, vector unsigned int __b)
05094 {
05095   return (vector unsigned int)__builtin_altivec_vrlw((vector int)__a, __b);
05096 }
05097 
05098 /* vec_vrlb */
05099 
05100 static vector signed char __ATTRS_o_ai
05101 vec_vrlb(vector signed char __a, vector unsigned char __b)
05102 {
05103   return (vector signed char)__builtin_altivec_vrlb((vector char)__a, __b);
05104 }
05105 
05106 static vector unsigned char __ATTRS_o_ai
05107 vec_vrlb(vector unsigned char __a, vector unsigned char __b)
05108 {
05109   return (vector unsigned char)__builtin_altivec_vrlb((vector char)__a, __b);
05110 }
05111 
05112 /* vec_vrlh */
05113 
05114 static vector short __ATTRS_o_ai
05115 vec_vrlh(vector short __a, vector unsigned short __b)
05116 {
05117   return __builtin_altivec_vrlh(__a, __b);
05118 }
05119 
05120 static vector unsigned short __ATTRS_o_ai
05121 vec_vrlh(vector unsigned short __a, vector unsigned short __b)
05122 {
05123   return (vector unsigned short)__builtin_altivec_vrlh((vector short)__a, __b);
05124 }
05125 
05126 /* vec_vrlw */
05127 
05128 static vector int __ATTRS_o_ai
05129 vec_vrlw(vector int __a, vector unsigned int __b)
05130 {
05131   return __builtin_altivec_vrlw(__a, __b);
05132 }
05133 
05134 static vector unsigned int __ATTRS_o_ai
05135 vec_vrlw(vector unsigned int __a, vector unsigned int __b)
05136 {
05137   return (vector unsigned int)__builtin_altivec_vrlw((vector int)__a, __b);
05138 }
05139 
05140 /* vec_round */
05141 
05142 static vector float __attribute__((__always_inline__))
05143 vec_round(vector float __a)
05144 {
05145   return __builtin_altivec_vrfin(__a);
05146 }
05147 
05148 /* vec_vrfin */
05149 
05150 static vector float __attribute__((__always_inline__))
05151 vec_vrfin(vector float __a)
05152 {
05153   return __builtin_altivec_vrfin(__a);
05154 }
05155 
05156 /* vec_rsqrte */
05157 
05158 static __vector float __attribute__((__always_inline__))
05159 vec_rsqrte(vector float __a)
05160 {
05161   return __builtin_altivec_vrsqrtefp(__a);
05162 }
05163 
05164 /* vec_vrsqrtefp */
05165 
05166 static __vector float __attribute__((__always_inline__))
05167 vec_vrsqrtefp(vector float __a)
05168 {
05169   return __builtin_altivec_vrsqrtefp(__a);
05170 }
05171 
05172 /* vec_sel */
05173 
05174 #define __builtin_altivec_vsel_4si vec_sel
05175 
05176 static vector signed char __ATTRS_o_ai
05177 vec_sel(vector signed char __a, vector signed char __b, vector unsigned char __c)
05178 {
05179   return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
05180 }
05181 
05182 static vector signed char __ATTRS_o_ai
05183 vec_sel(vector signed char __a, vector signed char __b, vector bool char __c)
05184 {
05185   return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
05186 }
05187 
05188 static vector unsigned char __ATTRS_o_ai
05189 vec_sel(vector unsigned char __a, vector unsigned char __b, vector unsigned char __c)
05190 {
05191   return (__a & ~__c) | (__b & __c);
05192 }
05193 
05194 static vector unsigned char __ATTRS_o_ai
05195 vec_sel(vector unsigned char __a, vector unsigned char __b, vector bool char __c)
05196 {
05197   return (__a & ~(vector unsigned char)__c) | (__b & (vector unsigned char)__c);
05198 }
05199 
05200 static vector bool char __ATTRS_o_ai
05201 vec_sel(vector bool char __a, vector bool char __b, vector unsigned char __c)
05202 {
05203   return (__a & ~(vector bool char)__c) | (__b & (vector bool char)__c);
05204 }
05205 
05206 static vector bool char __ATTRS_o_ai
05207 vec_sel(vector bool char __a, vector bool char __b, vector bool char __c)
05208 {
05209   return (__a & ~__c) | (__b & __c);
05210 }
05211 
05212 static vector short __ATTRS_o_ai
05213 vec_sel(vector short __a, vector short __b, vector unsigned short __c)
05214 {
05215   return (__a & ~(vector short)__c) | (__b & (vector short)__c);
05216 }
05217 
05218 static vector short __ATTRS_o_ai
05219 vec_sel(vector short __a, vector short __b, vector bool short __c)
05220 {
05221   return (__a & ~(vector short)__c) | (__b & (vector short)__c);
05222 }
05223 
05224 static vector unsigned short __ATTRS_o_ai
05225 vec_sel(vector unsigned short __a,
05226         vector unsigned short __b,
05227         vector unsigned short __c)
05228 {
05229   return (__a & ~__c) | (__b & __c);
05230 }
05231 
05232 static vector unsigned short __ATTRS_o_ai
05233 vec_sel(vector unsigned short __a, vector unsigned short __b, vector bool short __c)
05234 {
05235   return (__a & ~(vector unsigned short)__c) | (__b & (vector unsigned short)__c);
05236 }
05237 
05238 static vector bool short __ATTRS_o_ai
05239 vec_sel(vector bool short __a, vector bool short __b, vector unsigned short __c)
05240 {
05241   return (__a & ~(vector bool short)__c) | (__b & (vector bool short)__c);
05242 }
05243 
05244 static vector bool short __ATTRS_o_ai
05245 vec_sel(vector bool short __a, vector bool short __b, vector bool short __c)
05246 {
05247   return (__a & ~__c) | (__b & __c);
05248 }
05249 
05250 static vector int __ATTRS_o_ai
05251 vec_sel(vector int __a, vector int __b, vector unsigned int __c)
05252 {
05253   return (__a & ~(vector int)__c) | (__b & (vector int)__c);
05254 }
05255 
05256 static vector int __ATTRS_o_ai
05257 vec_sel(vector int __a, vector int __b, vector bool int __c)
05258 {
05259   return (__a & ~(vector int)__c) | (__b & (vector int)__c);
05260 }
05261 
05262 static vector unsigned int __ATTRS_o_ai
05263 vec_sel(vector unsigned int __a, vector unsigned int __b, vector unsigned int __c)
05264 {
05265   return (__a & ~__c) | (__b & __c);
05266 }
05267 
05268 static vector unsigned int __ATTRS_o_ai
05269 vec_sel(vector unsigned int __a, vector unsigned int __b, vector bool int __c)
05270 {
05271   return (__a & ~(vector unsigned int)__c) | (__b & (vector unsigned int)__c);
05272 }
05273 
05274 static vector bool int __ATTRS_o_ai
05275 vec_sel(vector bool int __a, vector bool int __b, vector unsigned int __c)
05276 {
05277   return (__a & ~(vector bool int)__c) | (__b & (vector bool int)__c);
05278 }
05279 
05280 static vector bool int __ATTRS_o_ai
05281 vec_sel(vector bool int __a, vector bool int __b, vector bool int __c)
05282 {
05283   return (__a & ~__c) | (__b & __c);
05284 }
05285 
05286 static vector float __ATTRS_o_ai
05287 vec_sel(vector float __a, vector float __b, vector unsigned int __c)
05288 {
05289   vector int __res = ((vector int)__a & ~(vector int)__c)
05290                    | ((vector int)__b & (vector int)__c);
05291   return (vector float)__res;
05292 }
05293 
05294 static vector float __ATTRS_o_ai
05295 vec_sel(vector float __a, vector float __b, vector bool int __c)
05296 {
05297   vector int __res = ((vector int)__a & ~(vector int)__c)
05298                    | ((vector int)__b & (vector int)__c);
05299   return (vector float)__res;
05300 }
05301 
05302 /* vec_vsel */
05303 
05304 static vector signed char __ATTRS_o_ai
05305 vec_vsel(vector signed char __a, vector signed char __b, vector unsigned char __c)
05306 {
05307   return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
05308 }
05309 
05310 static vector signed char __ATTRS_o_ai
05311 vec_vsel(vector signed char __a, vector signed char __b, vector bool char __c)
05312 {
05313   return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
05314 }
05315 
05316 static vector unsigned char __ATTRS_o_ai
05317 vec_vsel(vector unsigned char __a, vector unsigned char __b, vector unsigned char __c)
05318 {
05319   return (__a & ~__c) | (__b & __c);
05320 }
05321 
05322 static vector unsigned char __ATTRS_o_ai
05323 vec_vsel(vector unsigned char __a, vector unsigned char __b, vector bool char __c)
05324 {
05325   return (__a & ~(vector unsigned char)__c) | (__b & (vector unsigned char)__c);
05326 }
05327 
05328 static vector bool char __ATTRS_o_ai
05329 vec_vsel(vector bool char __a, vector bool char __b, vector unsigned char __c)
05330 {
05331   return (__a & ~(vector bool char)__c) | (__b & (vector bool char)__c);
05332 }
05333 
05334 static vector bool char __ATTRS_o_ai
05335 vec_vsel(vector bool char __a, vector bool char __b, vector bool char __c)
05336 {
05337   return (__a & ~__c) | (__b & __c);
05338 }
05339 
05340 static vector short __ATTRS_o_ai
05341 vec_vsel(vector short __a, vector short __b, vector unsigned short __c)
05342 {
05343   return (__a & ~(vector short)__c) | (__b & (vector short)__c);
05344 }
05345 
05346 static vector short __ATTRS_o_ai
05347 vec_vsel(vector short __a, vector short __b, vector bool short __c)
05348 {
05349   return (__a & ~(vector short)__c) | (__b & (vector short)__c);
05350 }
05351 
05352 static vector unsigned short __ATTRS_o_ai
05353 vec_vsel(vector unsigned short __a,
05354          vector unsigned short __b,
05355          vector unsigned short __c)
05356 {
05357   return (__a & ~__c) | (__b & __c);
05358 }
05359 
05360 static vector unsigned short __ATTRS_o_ai
05361 vec_vsel(vector unsigned short __a, vector unsigned short __b, vector bool short __c)
05362 {
05363   return (__a & ~(vector unsigned short)__c) | (__b & (vector unsigned short)__c);
05364 }
05365 
05366 static vector bool short __ATTRS_o_ai
05367 vec_vsel(vector bool short __a, vector bool short __b, vector unsigned short __c)
05368 {
05369   return (__a & ~(vector bool short)__c) | (__b & (vector bool short)__c);
05370 }
05371 
05372 static vector bool short __ATTRS_o_ai
05373 vec_vsel(vector bool short __a, vector bool short __b, vector bool short __c)
05374 {
05375   return (__a & ~__c) | (__b & __c);
05376 }
05377 
05378 static vector int __ATTRS_o_ai
05379 vec_vsel(vector int __a, vector int __b, vector unsigned int __c)
05380 {
05381   return (__a & ~(vector int)__c) | (__b & (vector int)__c);
05382 }
05383 
05384 static vector int __ATTRS_o_ai
05385 vec_vsel(vector int __a, vector int __b, vector bool int __c)
05386 {
05387   return (__a & ~(vector int)__c) | (__b & (vector int)__c);
05388 }
05389 
05390 static vector unsigned int __ATTRS_o_ai
05391 vec_vsel(vector unsigned int __a, vector unsigned int __b, vector unsigned int __c)
05392 {
05393   return (__a & ~__c) | (__b & __c);
05394 }
05395 
05396 static vector unsigned int __ATTRS_o_ai
05397 vec_vsel(vector unsigned int __a, vector unsigned int __b, vector bool int __c)
05398 {
05399   return (__a & ~(vector unsigned int)__c) | (__b & (vector unsigned int)__c);
05400 }
05401 
05402 static vector bool int __ATTRS_o_ai
05403 vec_vsel(vector bool int __a, vector bool int __b, vector unsigned int __c)
05404 {
05405   return (__a & ~(vector bool int)__c) | (__b & (vector bool int)__c);
05406 }
05407 
05408 static vector bool int __ATTRS_o_ai
05409 vec_vsel(vector bool int __a, vector bool int __b, vector bool int __c)
05410 {
05411   return (__a & ~__c) | (__b & __c);
05412 }
05413 
05414 static vector float __ATTRS_o_ai
05415 vec_vsel(vector float __a, vector float __b, vector unsigned int __c)
05416 {
05417   vector int __res = ((vector int)__a & ~(vector int)__c)
05418                    | ((vector int)__b & (vector int)__c);
05419   return (vector float)__res;
05420 }
05421 
05422 static vector float __ATTRS_o_ai
05423 vec_vsel(vector float __a, vector float __b, vector bool int __c)
05424 {
05425   vector int __res = ((vector int)__a & ~(vector int)__c)
05426                    | ((vector int)__b & (vector int)__c);
05427   return (vector float)__res;
05428 }
05429 
05430 /* vec_sl */
05431 
05432 static vector signed char __ATTRS_o_ai
05433 vec_sl(vector signed char __a, vector unsigned char __b)
05434 {
05435   return __a << (vector signed char)__b;
05436 }
05437 
05438 static vector unsigned char __ATTRS_o_ai
05439 vec_sl(vector unsigned char __a, vector unsigned char __b)
05440 {
05441   return __a << __b;
05442 }
05443 
05444 static vector short __ATTRS_o_ai
05445 vec_sl(vector short __a, vector unsigned short __b)
05446 {
05447   return __a << (vector short)__b;
05448 }
05449 
05450 static vector unsigned short __ATTRS_o_ai
05451 vec_sl(vector unsigned short __a, vector unsigned short __b)
05452 {
05453   return __a << __b;
05454 }
05455 
05456 static vector int __ATTRS_o_ai
05457 vec_sl(vector int __a, vector unsigned int __b)
05458 {
05459   return __a << (vector int)__b;
05460 }
05461 
05462 static vector unsigned int __ATTRS_o_ai
05463 vec_sl(vector unsigned int __a, vector unsigned int __b)
05464 {
05465   return __a << __b;
05466 }
05467 
05468 /* vec_vslb */
05469 
05470 #define __builtin_altivec_vslb vec_vslb
05471 
05472 static vector signed char __ATTRS_o_ai
05473 vec_vslb(vector signed char __a, vector unsigned char __b)
05474 {
05475   return vec_sl(__a, __b);
05476 }
05477 
05478 static vector unsigned char __ATTRS_o_ai
05479 vec_vslb(vector unsigned char __a, vector unsigned char __b)
05480 {
05481   return vec_sl(__a, __b);
05482 }
05483 
05484 /* vec_vslh */
05485 
05486 #define __builtin_altivec_vslh vec_vslh
05487 
05488 static vector short __ATTRS_o_ai
05489 vec_vslh(vector short __a, vector unsigned short __b)
05490 {
05491   return vec_sl(__a, __b);
05492 }
05493 
05494 static vector unsigned short __ATTRS_o_ai
05495 vec_vslh(vector unsigned short __a, vector unsigned short __b)
05496 {
05497   return vec_sl(__a, __b);
05498 }
05499 
05500 /* vec_vslw */
05501 
05502 #define __builtin_altivec_vslw vec_vslw
05503 
05504 static vector int __ATTRS_o_ai
05505 vec_vslw(vector int __a, vector unsigned int __b)
05506 {
05507   return vec_sl(__a, __b);
05508 }
05509 
05510 static vector unsigned int __ATTRS_o_ai
05511 vec_vslw(vector unsigned int __a, vector unsigned int __b)
05512 {
05513   return vec_sl(__a, __b);
05514 }
05515 
05516 /* vec_sld */
05517 
05518 #define __builtin_altivec_vsldoi_4si vec_sld
05519 
05520 static vector signed char __ATTRS_o_ai
05521 vec_sld(vector signed char __a, vector signed char __b, unsigned char __c)
05522 {
05523   return vec_perm(__a, __b, (vector unsigned char)
05524     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05525      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05526 }
05527 
05528 static vector unsigned char __ATTRS_o_ai
05529 vec_sld(vector unsigned char __a, vector unsigned char __b, unsigned char __c)
05530 {
05531   return vec_perm(__a, __b, (vector unsigned char)
05532     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05533      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05534 }
05535 
05536 static vector short __ATTRS_o_ai
05537 vec_sld(vector short __a, vector short __b, unsigned char __c)
05538 {
05539   return vec_perm(__a, __b, (vector unsigned char)
05540     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05541      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05542 }
05543 
05544 static vector unsigned short __ATTRS_o_ai
05545 vec_sld(vector unsigned short __a, vector unsigned short __b, unsigned char __c)
05546 {
05547   return vec_perm(__a, __b, (vector unsigned char)
05548     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05549      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05550 }
05551 
05552 static vector pixel __ATTRS_o_ai
05553 vec_sld(vector pixel __a, vector pixel __b, unsigned char __c)
05554 {
05555   return vec_perm(__a, __b, (vector unsigned char)
05556     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05557      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05558 }
05559 
05560 static vector int __ATTRS_o_ai
05561 vec_sld(vector int __a, vector int __b, unsigned char __c)
05562 {
05563   return vec_perm(__a, __b, (vector unsigned char)
05564     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05565      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05566 }
05567 
05568 static vector unsigned int __ATTRS_o_ai
05569 vec_sld(vector unsigned int __a, vector unsigned int __b, unsigned char __c)
05570 {
05571   return vec_perm(__a, __b, (vector unsigned char)
05572     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05573      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05574 }
05575 
05576 static vector float __ATTRS_o_ai
05577 vec_sld(vector float __a, vector float __b, unsigned char __c)
05578 {
05579   return vec_perm(__a, __b, (vector unsigned char)
05580     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05581      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05582 }
05583 
05584 /* vec_vsldoi */
05585 
05586 static vector signed char __ATTRS_o_ai
05587 vec_vsldoi(vector signed char __a, vector signed char __b, unsigned char __c)
05588 {
05589   return vec_perm(__a, __b, (vector unsigned char)
05590     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05591      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05592 }
05593 
05594 static vector unsigned char __ATTRS_o_ai
05595 vec_vsldoi(vector unsigned char __a, vector unsigned char __b, unsigned char __c)
05596 {
05597   return vec_perm(__a, __b, (vector unsigned char)
05598     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05599      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05600 }
05601 
05602 static vector short __ATTRS_o_ai
05603 vec_vsldoi(vector short __a, vector short __b, unsigned char __c)
05604 {
05605   return vec_perm(__a, __b, (vector unsigned char)
05606     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05607      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05608 }
05609 
05610 static vector unsigned short __ATTRS_o_ai
05611 vec_vsldoi(vector unsigned short __a, vector unsigned short __b, unsigned char __c)
05612 {
05613   return vec_perm(__a, __b, (vector unsigned char)
05614     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05615      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05616 }
05617 
05618 static vector pixel __ATTRS_o_ai
05619 vec_vsldoi(vector pixel __a, vector pixel __b, unsigned char __c)
05620 {
05621   return vec_perm(__a, __b, (vector unsigned char)
05622     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05623      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05624 }
05625 
05626 static vector int __ATTRS_o_ai
05627 vec_vsldoi(vector int __a, vector int __b, unsigned char __c)
05628 {
05629   return vec_perm(__a, __b, (vector unsigned char)
05630     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05631      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05632 }
05633 
05634 static vector unsigned int __ATTRS_o_ai
05635 vec_vsldoi(vector unsigned int __a, vector unsigned int __b, unsigned char __c)
05636 {
05637   return vec_perm(__a, __b, (vector unsigned char)
05638     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05639      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05640 }
05641 
05642 static vector float __ATTRS_o_ai
05643 vec_vsldoi(vector float __a, vector float __b, unsigned char __c)
05644 {
05645   return vec_perm(__a, __b, (vector unsigned char)
05646     (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
05647      __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
05648 }
05649 
05650 /* vec_sll */
05651 
05652 static vector signed char __ATTRS_o_ai
05653 vec_sll(vector signed char __a, vector unsigned char __b)
05654 {
05655   return (vector signed char)
05656            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05657 }
05658 
05659 static vector signed char __ATTRS_o_ai
05660 vec_sll(vector signed char __a, vector unsigned short __b)
05661 {
05662   return (vector signed char)
05663            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05664 }
05665 
05666 static vector signed char __ATTRS_o_ai
05667 vec_sll(vector signed char __a, vector unsigned int __b)
05668 {
05669   return (vector signed char)
05670            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05671 }
05672 
05673 static vector unsigned char __ATTRS_o_ai
05674 vec_sll(vector unsigned char __a, vector unsigned char __b)
05675 {
05676   return (vector unsigned char)
05677            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05678 }
05679 
05680 static vector unsigned char __ATTRS_o_ai
05681 vec_sll(vector unsigned char __a, vector unsigned short __b)
05682 {
05683   return (vector unsigned char)
05684            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05685 }
05686 
05687 static vector unsigned char __ATTRS_o_ai
05688 vec_sll(vector unsigned char __a, vector unsigned int __b)
05689 {
05690   return (vector unsigned char)
05691            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05692 }
05693 
05694 static vector bool char __ATTRS_o_ai
05695 vec_sll(vector bool char __a, vector unsigned char __b)
05696 {
05697   return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05698 }
05699 
05700 static vector bool char __ATTRS_o_ai
05701 vec_sll(vector bool char __a, vector unsigned short __b)
05702 {
05703   return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05704 }
05705 
05706 static vector bool char __ATTRS_o_ai
05707 vec_sll(vector bool char __a, vector unsigned int __b)
05708 {
05709   return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05710 }
05711 
05712 static vector short __ATTRS_o_ai
05713 vec_sll(vector short __a, vector unsigned char __b)
05714 {
05715   return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05716 }
05717 
05718 static vector short __ATTRS_o_ai
05719 vec_sll(vector short __a, vector unsigned short __b)
05720 {
05721   return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05722 }
05723 
05724 static vector short __ATTRS_o_ai
05725 vec_sll(vector short __a, vector unsigned int __b)
05726 {
05727   return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05728 }
05729 
05730 static vector unsigned short __ATTRS_o_ai
05731 vec_sll(vector unsigned short __a, vector unsigned char __b)
05732 {
05733   return (vector unsigned short)
05734            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05735 }
05736 
05737 static vector unsigned short __ATTRS_o_ai
05738 vec_sll(vector unsigned short __a, vector unsigned short __b)
05739 {
05740   return (vector unsigned short)
05741            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05742 }
05743 
05744 static vector unsigned short __ATTRS_o_ai
05745 vec_sll(vector unsigned short __a, vector unsigned int __b)
05746 {
05747   return (vector unsigned short)
05748            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05749 }
05750 
05751 static vector bool short __ATTRS_o_ai
05752 vec_sll(vector bool short __a, vector unsigned char __b)
05753 {
05754   return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05755 }
05756 
05757 static vector bool short __ATTRS_o_ai
05758 vec_sll(vector bool short __a, vector unsigned short __b)
05759 {
05760   return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05761 }
05762 
05763 static vector bool short __ATTRS_o_ai
05764 vec_sll(vector bool short __a, vector unsigned int __b)
05765 {
05766   return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05767 }
05768 
05769 static vector pixel __ATTRS_o_ai
05770 vec_sll(vector pixel __a, vector unsigned char __b)
05771 {
05772   return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05773 }
05774 
05775 static vector pixel __ATTRS_o_ai
05776 vec_sll(vector pixel __a, vector unsigned short __b)
05777 {
05778   return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05779 }
05780 
05781 static vector pixel __ATTRS_o_ai
05782 vec_sll(vector pixel __a, vector unsigned int __b)
05783 {
05784   return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05785 }
05786 
05787 static vector int __ATTRS_o_ai
05788 vec_sll(vector int __a, vector unsigned char __b)
05789 {
05790   return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
05791 }
05792 
05793 static vector int __ATTRS_o_ai
05794 vec_sll(vector int __a, vector unsigned short __b)
05795 {
05796   return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
05797 }
05798 
05799 static vector int __ATTRS_o_ai
05800 vec_sll(vector int __a, vector unsigned int __b)
05801 {
05802   return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
05803 }
05804 
05805 static vector unsigned int __ATTRS_o_ai
05806 vec_sll(vector unsigned int __a, vector unsigned char __b)
05807 {
05808   return (vector unsigned int)
05809            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05810 }
05811 
05812 static vector unsigned int __ATTRS_o_ai
05813 vec_sll(vector unsigned int __a, vector unsigned short __b)
05814 {
05815   return (vector unsigned int)
05816            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05817 }
05818 
05819 static vector unsigned int __ATTRS_o_ai
05820 vec_sll(vector unsigned int __a, vector unsigned int __b)
05821 {
05822   return (vector unsigned int)
05823            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05824 }
05825 
05826 static vector bool int __ATTRS_o_ai
05827 vec_sll(vector bool int __a, vector unsigned char __b)
05828 {
05829   return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05830 }
05831 
05832 static vector bool int __ATTRS_o_ai
05833 vec_sll(vector bool int __a, vector unsigned short __b)
05834 {
05835   return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05836 }
05837 
05838 static vector bool int __ATTRS_o_ai
05839 vec_sll(vector bool int __a, vector unsigned int __b)
05840 {
05841   return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05842 }
05843 
05844 /* vec_vsl */
05845 
05846 static vector signed char __ATTRS_o_ai
05847 vec_vsl(vector signed char __a, vector unsigned char __b)
05848 {
05849   return (vector signed char)
05850            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05851 }
05852 
05853 static vector signed char __ATTRS_o_ai
05854 vec_vsl(vector signed char __a, vector unsigned short __b)
05855 {
05856   return (vector signed char)
05857            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05858 }
05859 
05860 static vector signed char __ATTRS_o_ai
05861 vec_vsl(vector signed char __a, vector unsigned int __b)
05862 {
05863   return (vector signed char)
05864            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05865 }
05866 
05867 static vector unsigned char __ATTRS_o_ai
05868 vec_vsl(vector unsigned char __a, vector unsigned char __b)
05869 {
05870   return (vector unsigned char)
05871            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05872 }
05873 
05874 static vector unsigned char __ATTRS_o_ai
05875 vec_vsl(vector unsigned char __a, vector unsigned short __b)
05876 {
05877   return (vector unsigned char)
05878            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05879 }
05880 
05881 static vector unsigned char __ATTRS_o_ai
05882 vec_vsl(vector unsigned char __a, vector unsigned int __b)
05883 {
05884   return (vector unsigned char)
05885            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05886 }
05887 
05888 static vector bool char __ATTRS_o_ai
05889 vec_vsl(vector bool char __a, vector unsigned char __b)
05890 {
05891   return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05892 }
05893 
05894 static vector bool char __ATTRS_o_ai
05895 vec_vsl(vector bool char __a, vector unsigned short __b)
05896 {
05897   return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05898 }
05899 
05900 static vector bool char __ATTRS_o_ai
05901 vec_vsl(vector bool char __a, vector unsigned int __b)
05902 {
05903   return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05904 }
05905 
05906 static vector short __ATTRS_o_ai
05907 vec_vsl(vector short __a, vector unsigned char __b)
05908 {
05909   return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05910 }
05911 
05912 static vector short __ATTRS_o_ai
05913 vec_vsl(vector short __a, vector unsigned short __b)
05914 {
05915   return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05916 }
05917 
05918 static vector short __ATTRS_o_ai
05919 vec_vsl(vector short __a, vector unsigned int __b)
05920 {
05921   return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05922 }
05923 
05924 static vector unsigned short __ATTRS_o_ai
05925 vec_vsl(vector unsigned short __a, vector unsigned char __b)
05926 {
05927   return (vector unsigned short)
05928            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05929 }
05930 
05931 static vector unsigned short __ATTRS_o_ai
05932 vec_vsl(vector unsigned short __a, vector unsigned short __b)
05933 {
05934   return (vector unsigned short)
05935            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05936 }
05937 
05938 static vector unsigned short __ATTRS_o_ai
05939 vec_vsl(vector unsigned short __a, vector unsigned int __b)
05940 {
05941   return (vector unsigned short)
05942            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
05943 }
05944 
05945 static vector bool short __ATTRS_o_ai
05946 vec_vsl(vector bool short __a, vector unsigned char __b)
05947 {
05948   return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05949 }
05950 
05951 static vector bool short __ATTRS_o_ai
05952 vec_vsl(vector bool short __a, vector unsigned short __b)
05953 {
05954   return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05955 }
05956 
05957 static vector bool short __ATTRS_o_ai
05958 vec_vsl(vector bool short __a, vector unsigned int __b)
05959 {
05960   return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05961 }
05962 
05963 static vector pixel __ATTRS_o_ai
05964 vec_vsl(vector pixel __a, vector unsigned char __b)
05965 {
05966   return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05967 }
05968 
05969 static vector pixel __ATTRS_o_ai
05970 vec_vsl(vector pixel __a, vector unsigned short __b)
05971 {
05972   return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05973 }
05974 
05975 static vector pixel __ATTRS_o_ai
05976 vec_vsl(vector pixel __a, vector unsigned int __b)
05977 {
05978   return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
05979 }
05980 
05981 static vector int __ATTRS_o_ai
05982 vec_vsl(vector int __a, vector unsigned char __b)
05983 {
05984   return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
05985 }
05986 
05987 static vector int __ATTRS_o_ai
05988 vec_vsl(vector int __a, vector unsigned short __b)
05989 {
05990   return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
05991 }
05992 
05993 static vector int __ATTRS_o_ai
05994 vec_vsl(vector int __a, vector unsigned int __b)
05995 {
05996   return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
05997 }
05998 
05999 static vector unsigned int __ATTRS_o_ai
06000 vec_vsl(vector unsigned int __a, vector unsigned char __b)
06001 {
06002   return (vector unsigned int)
06003            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
06004 }
06005 
06006 static vector unsigned int __ATTRS_o_ai
06007 vec_vsl(vector unsigned int __a, vector unsigned short __b)
06008 {
06009   return (vector unsigned int)
06010            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
06011 }
06012 
06013 static vector unsigned int __ATTRS_o_ai
06014 vec_vsl(vector unsigned int __a, vector unsigned int __b)
06015 {
06016   return (vector unsigned int)
06017            __builtin_altivec_vsl((vector int)__a, (vector int)__b);
06018 }
06019 
06020 static vector bool int __ATTRS_o_ai
06021 vec_vsl(vector bool int __a, vector unsigned char __b)
06022 {
06023   return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
06024 }
06025 
06026 static vector bool int __ATTRS_o_ai
06027 vec_vsl(vector bool int __a, vector unsigned short __b)
06028 {
06029   return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
06030 }
06031 
06032 static vector bool int __ATTRS_o_ai
06033 vec_vsl(vector bool int __a, vector unsigned int __b)
06034 {
06035   return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
06036 }
06037 
06038 /* vec_slo */
06039 
06040 static vector signed char __ATTRS_o_ai
06041 vec_slo(vector signed char __a, vector signed char __b)
06042 {
06043   return (vector signed char)
06044            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06045 }
06046 
06047 static vector signed char __ATTRS_o_ai
06048 vec_slo(vector signed char __a, vector unsigned char __b)
06049 {
06050   return (vector signed char)
06051            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06052 }
06053 
06054 static vector unsigned char __ATTRS_o_ai
06055 vec_slo(vector unsigned char __a, vector signed char __b)
06056 {
06057   return (vector unsigned char)
06058            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06059 }
06060 
06061 static vector unsigned char __ATTRS_o_ai
06062 vec_slo(vector unsigned char __a, vector unsigned char __b)
06063 {
06064   return (vector unsigned char)
06065            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06066 }
06067 
06068 static vector short __ATTRS_o_ai
06069 vec_slo(vector short __a, vector signed char __b)
06070 {
06071   return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
06072 }
06073 
06074 static vector short __ATTRS_o_ai
06075 vec_slo(vector short __a, vector unsigned char __b)
06076 {
06077   return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
06078 }
06079 
06080 static vector unsigned short __ATTRS_o_ai
06081 vec_slo(vector unsigned short __a, vector signed char __b)
06082 {
06083   return (vector unsigned short)
06084            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06085 }
06086 
06087 static vector unsigned short __ATTRS_o_ai
06088 vec_slo(vector unsigned short __a, vector unsigned char __b)
06089 {
06090   return (vector unsigned short)
06091            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06092 }
06093 
06094 static vector pixel __ATTRS_o_ai
06095 vec_slo(vector pixel __a, vector signed char __b)
06096 {
06097   return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
06098 }
06099 
06100 static vector pixel __ATTRS_o_ai
06101 vec_slo(vector pixel __a, vector unsigned char __b)
06102 {
06103   return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
06104 }
06105 
06106 static vector int __ATTRS_o_ai
06107 vec_slo(vector int __a, vector signed char __b)
06108 {
06109   return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
06110 }
06111 
06112 static vector int __ATTRS_o_ai
06113 vec_slo(vector int __a, vector unsigned char __b)
06114 {
06115   return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
06116 }
06117 
06118 static vector unsigned int __ATTRS_o_ai
06119 vec_slo(vector unsigned int __a, vector signed char __b)
06120 {
06121   return (vector unsigned int)
06122            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06123 }
06124 
06125 static vector unsigned int __ATTRS_o_ai
06126 vec_slo(vector unsigned int __a, vector unsigned char __b)
06127 {
06128   return (vector unsigned int)
06129            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06130 }
06131 
06132 static vector float __ATTRS_o_ai
06133 vec_slo(vector float __a, vector signed char __b)
06134 {
06135   return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
06136 }
06137 
06138 static vector float __ATTRS_o_ai
06139 vec_slo(vector float __a, vector unsigned char __b)
06140 {
06141   return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
06142 }
06143 
06144 /* vec_vslo */
06145 
06146 static vector signed char __ATTRS_o_ai
06147 vec_vslo(vector signed char __a, vector signed char __b)
06148 {
06149   return (vector signed char)
06150            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06151 }
06152 
06153 static vector signed char __ATTRS_o_ai
06154 vec_vslo(vector signed char __a, vector unsigned char __b)
06155 {
06156   return (vector signed char)
06157            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06158 }
06159 
06160 static vector unsigned char __ATTRS_o_ai
06161 vec_vslo(vector unsigned char __a, vector signed char __b)
06162 {
06163   return (vector unsigned char)
06164            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06165 }
06166 
06167 static vector unsigned char __ATTRS_o_ai
06168 vec_vslo(vector unsigned char __a, vector unsigned char __b)
06169 {
06170   return (vector unsigned char)
06171            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06172 }
06173 
06174 static vector short __ATTRS_o_ai
06175 vec_vslo(vector short __a, vector signed char __b)
06176 {
06177   return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
06178 }
06179 
06180 static vector short __ATTRS_o_ai
06181 vec_vslo(vector short __a, vector unsigned char __b)
06182 {
06183   return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
06184 }
06185 
06186 static vector unsigned short __ATTRS_o_ai
06187 vec_vslo(vector unsigned short __a, vector signed char __b)
06188 {
06189   return (vector unsigned short)
06190            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06191 }
06192 
06193 static vector unsigned short __ATTRS_o_ai
06194 vec_vslo(vector unsigned short __a, vector unsigned char __b)
06195 {
06196   return (vector unsigned short)
06197            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06198 }
06199 
06200 static vector pixel __ATTRS_o_ai
06201 vec_vslo(vector pixel __a, vector signed char __b)
06202 {
06203   return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
06204 }
06205 
06206 static vector pixel __ATTRS_o_ai
06207 vec_vslo(vector pixel __a, vector unsigned char __b)
06208 {
06209   return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
06210 }
06211 
06212 static vector int __ATTRS_o_ai
06213 vec_vslo(vector int __a, vector signed char __b)
06214 {
06215   return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
06216 }
06217 
06218 static vector int __ATTRS_o_ai
06219 vec_vslo(vector int __a, vector unsigned char __b)
06220 {
06221   return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
06222 }
06223 
06224 static vector unsigned int __ATTRS_o_ai
06225 vec_vslo(vector unsigned int __a, vector signed char __b)
06226 {
06227   return (vector unsigned int)
06228            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06229 }
06230 
06231 static vector unsigned int __ATTRS_o_ai
06232 vec_vslo(vector unsigned int __a, vector unsigned char __b)
06233 {
06234   return (vector unsigned int)
06235            __builtin_altivec_vslo((vector int)__a, (vector int)__b);
06236 }
06237 
06238 static vector float __ATTRS_o_ai
06239 vec_vslo(vector float __a, vector signed char __b)
06240 {
06241   return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
06242 }
06243 
06244 static vector float __ATTRS_o_ai
06245 vec_vslo(vector float __a, vector unsigned char __b)
06246 {
06247   return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
06248 }
06249 
06250 /* vec_splat */
06251 
06252 static vector signed char __ATTRS_o_ai
06253 vec_splat(vector signed char __a, unsigned char __b)
06254 {
06255   return vec_perm(__a, __a, (vector unsigned char)(__b));
06256 }
06257 
06258 static vector unsigned char __ATTRS_o_ai
06259 vec_splat(vector unsigned char __a, unsigned char __b)
06260 {
06261   return vec_perm(__a, __a, (vector unsigned char)(__b));
06262 }
06263 
06264 static vector bool char __ATTRS_o_ai
06265 vec_splat(vector bool char __a, unsigned char __b)
06266 {
06267   return vec_perm(__a, __a, (vector unsigned char)(__b));
06268 }
06269 
06270 static vector short __ATTRS_o_ai
06271 vec_splat(vector short __a, unsigned char __b)
06272 { 
06273   __b *= 2;
06274   unsigned char b1=__b+1;
06275   return vec_perm(__a, __a, (vector unsigned char)
06276     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
06277 }
06278 
06279 static vector unsigned short __ATTRS_o_ai
06280 vec_splat(vector unsigned short __a, unsigned char __b)
06281 { 
06282   __b *= 2;
06283   unsigned char b1=__b+1;
06284   return vec_perm(__a, __a, (vector unsigned char)
06285     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
06286 }
06287 
06288 static vector bool short __ATTRS_o_ai
06289 vec_splat(vector bool short __a, unsigned char __b)
06290 { 
06291   __b *= 2;
06292   unsigned char b1=__b+1;
06293   return vec_perm(__a, __a, (vector unsigned char)
06294     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
06295 }
06296 
06297 static vector pixel __ATTRS_o_ai
06298 vec_splat(vector pixel __a, unsigned char __b)
06299 { 
06300   __b *= 2;
06301   unsigned char b1=__b+1;
06302   return vec_perm(__a, __a, (vector unsigned char)
06303     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
06304 }
06305 
06306 static vector int __ATTRS_o_ai
06307 vec_splat(vector int __a, unsigned char __b)
06308 { 
06309   __b *= 4;
06310   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
06311   return vec_perm(__a, __a, (vector unsigned char)
06312     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
06313 }
06314 
06315 static vector unsigned int __ATTRS_o_ai
06316 vec_splat(vector unsigned int __a, unsigned char __b)
06317 { 
06318   __b *= 4;
06319   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
06320   return vec_perm(__a, __a, (vector unsigned char)
06321     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
06322 }
06323 
06324 static vector bool int __ATTRS_o_ai
06325 vec_splat(vector bool int __a, unsigned char __b)
06326 { 
06327   __b *= 4;
06328   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
06329   return vec_perm(__a, __a, (vector unsigned char)
06330     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
06331 }
06332 
06333 static vector float __ATTRS_o_ai
06334 vec_splat(vector float __a, unsigned char __b)
06335 { 
06336   __b *= 4;
06337   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
06338   return vec_perm(__a, __a, (vector unsigned char)
06339     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
06340 }
06341 
06342 /* vec_vspltb */
06343 
06344 #define __builtin_altivec_vspltb vec_vspltb
06345 
06346 static vector signed char __ATTRS_o_ai
06347 vec_vspltb(vector signed char __a, unsigned char __b)
06348 {
06349   return vec_perm(__a, __a, (vector unsigned char)(__b));
06350 }
06351 
06352 static vector unsigned char __ATTRS_o_ai
06353 vec_vspltb(vector unsigned char __a, unsigned char __b)
06354 {
06355   return vec_perm(__a, __a, (vector unsigned char)(__b));
06356 }
06357 
06358 static vector bool char __ATTRS_o_ai
06359 vec_vspltb(vector bool char __a, unsigned char __b)
06360 {
06361   return vec_perm(__a, __a, (vector unsigned char)(__b));
06362 }
06363 
06364 /* vec_vsplth */
06365 
06366 #define __builtin_altivec_vsplth vec_vsplth
06367 
06368 static vector short __ATTRS_o_ai
06369 vec_vsplth(vector short __a, unsigned char __b)
06370 {
06371   __b *= 2;
06372   unsigned char b1=__b+1;
06373   return vec_perm(__a, __a, (vector unsigned char)
06374     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
06375 }
06376 
06377 static vector unsigned short __ATTRS_o_ai
06378 vec_vsplth(vector unsigned short __a, unsigned char __b)
06379 {
06380   __b *= 2;
06381   unsigned char b1=__b+1;
06382   return vec_perm(__a, __a, (vector unsigned char)
06383     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
06384 }
06385 
06386 static vector bool short __ATTRS_o_ai
06387 vec_vsplth(vector bool short __a, unsigned char __b)
06388 {
06389   __b *= 2;
06390   unsigned char b1=__b+1;
06391   return vec_perm(__a, __a, (vector unsigned char)
06392     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
06393 }
06394 
06395 static vector pixel __ATTRS_o_ai
06396 vec_vsplth(vector pixel __a, unsigned char __b)
06397 {
06398   __b *= 2;
06399   unsigned char b1=__b+1;
06400   return vec_perm(__a, __a, (vector unsigned char)
06401     (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
06402 }
06403 
06404 /* vec_vspltw */
06405 
06406 #define __builtin_altivec_vspltw vec_vspltw
06407 
06408 static vector int __ATTRS_o_ai
06409 vec_vspltw(vector int __a, unsigned char __b)
06410 {
06411   __b *= 4;
06412   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
06413   return vec_perm(__a, __a, (vector unsigned char)
06414     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
06415 }
06416 
06417 static vector unsigned int __ATTRS_o_ai
06418 vec_vspltw(vector unsigned int __a, unsigned char __b)
06419 {
06420   __b *= 4;
06421   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
06422   return vec_perm(__a, __a, (vector unsigned char)
06423     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
06424 }
06425 
06426 static vector bool int __ATTRS_o_ai
06427 vec_vspltw(vector bool int __a, unsigned char __b)
06428 {
06429   __b *= 4;
06430   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
06431   return vec_perm(__a, __a, (vector unsigned char)
06432     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
06433 }
06434 
06435 static vector float __ATTRS_o_ai
06436 vec_vspltw(vector float __a, unsigned char __b)
06437 {
06438   __b *= 4;
06439   unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
06440   return vec_perm(__a, __a, (vector unsigned char)
06441     (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
06442 }
06443 
06444 /* vec_splat_s8 */
06445 
06446 #define __builtin_altivec_vspltisb vec_splat_s8
06447 
06448 // FIXME: parameter should be treated as 5-bit signed literal
06449 static vector signed char __ATTRS_o_ai
06450 vec_splat_s8(signed char __a)
06451 {
06452   return (vector signed char)(__a);
06453 }
06454 
06455 /* vec_vspltisb */
06456 
06457 // FIXME: parameter should be treated as 5-bit signed literal
06458 static vector signed char __ATTRS_o_ai
06459 vec_vspltisb(signed char __a)
06460 {
06461   return (vector signed char)(__a);
06462 }
06463 
06464 /* vec_splat_s16 */
06465 
06466 #define __builtin_altivec_vspltish vec_splat_s16
06467 
06468 // FIXME: parameter should be treated as 5-bit signed literal
06469 static vector short __ATTRS_o_ai
06470 vec_splat_s16(signed char __a)
06471 {
06472   return (vector short)(__a);
06473 }
06474 
06475 /* vec_vspltish */
06476 
06477 // FIXME: parameter should be treated as 5-bit signed literal
06478 static vector short __ATTRS_o_ai
06479 vec_vspltish(signed char __a)
06480 {
06481   return (vector short)(__a);
06482 }
06483 
06484 /* vec_splat_s32 */
06485 
06486 #define __builtin_altivec_vspltisw vec_splat_s32
06487 
06488 // FIXME: parameter should be treated as 5-bit signed literal
06489 static vector int __ATTRS_o_ai
06490 vec_splat_s32(signed char __a)
06491 {
06492   return (vector int)(__a);
06493 }
06494 
06495 /* vec_vspltisw */
06496 
06497 // FIXME: parameter should be treated as 5-bit signed literal
06498 static vector int __ATTRS_o_ai
06499 vec_vspltisw(signed char __a)
06500 {
06501   return (vector int)(__a);
06502 }
06503 
06504 /* vec_splat_u8 */
06505 
06506 // FIXME: parameter should be treated as 5-bit signed literal
06507 static vector unsigned char __ATTRS_o_ai
06508 vec_splat_u8(unsigned char __a)
06509 {
06510   return (vector unsigned char)(__a);
06511 }
06512 
06513 /* vec_splat_u16 */
06514 
06515 // FIXME: parameter should be treated as 5-bit signed literal
06516 static vector unsigned short __ATTRS_o_ai
06517 vec_splat_u16(signed char __a)
06518 {
06519   return (vector unsigned short)(__a);
06520 }
06521 
06522 /* vec_splat_u32 */
06523 
06524 // FIXME: parameter should be treated as 5-bit signed literal
06525 static vector unsigned int __ATTRS_o_ai
06526 vec_splat_u32(signed char __a)
06527 {
06528   return (vector unsigned int)(__a);
06529 }
06530 
06531 /* vec_sr */
06532 
06533 static vector signed char __ATTRS_o_ai
06534 vec_sr(vector signed char __a, vector unsigned char __b)
06535 {
06536   return __a >> (vector signed char)__b;
06537 }
06538 
06539 static vector unsigned char __ATTRS_o_ai
06540 vec_sr(vector unsigned char __a, vector unsigned char __b)
06541 {
06542   return __a >> __b;
06543 }
06544 
06545 static vector short __ATTRS_o_ai
06546 vec_sr(vector short __a, vector unsigned short __b)
06547 {
06548   return __a >> (vector short)__b;
06549 }
06550 
06551 static vector unsigned short __ATTRS_o_ai
06552 vec_sr(vector unsigned short __a, vector unsigned short __b)
06553 {
06554   return __a >> __b;
06555 }
06556 
06557 static vector int __ATTRS_o_ai
06558 vec_sr(vector int __a, vector unsigned int __b)
06559 {
06560   return __a >> (vector int)__b;
06561 }
06562 
06563 static vector unsigned int __ATTRS_o_ai
06564 vec_sr(vector unsigned int __a, vector unsigned int __b)
06565 {
06566   return __a >> __b;
06567 }
06568 
06569 /* vec_vsrb */
06570 
06571 #define __builtin_altivec_vsrb vec_vsrb
06572 
06573 static vector signed char __ATTRS_o_ai
06574 vec_vsrb(vector signed char __a, vector unsigned char __b)
06575 {
06576   return __a >> (vector signed char)__b;
06577 }
06578 
06579 static vector unsigned char __ATTRS_o_ai
06580 vec_vsrb(vector unsigned char __a, vector unsigned char __b)
06581 {
06582   return __a >> __b;
06583 }
06584 
06585 /* vec_vsrh */
06586 
06587 #define __builtin_altivec_vsrh vec_vsrh
06588 
06589 static vector short __ATTRS_o_ai
06590 vec_vsrh(vector short __a, vector unsigned short __b)
06591 {
06592   return __a >> (vector short)__b;
06593 }
06594 
06595 static vector unsigned short __ATTRS_o_ai
06596 vec_vsrh(vector unsigned short __a, vector unsigned short __b)
06597 {
06598   return __a >> __b;
06599 }
06600 
06601 /* vec_vsrw */
06602 
06603 #define __builtin_altivec_vsrw vec_vsrw
06604 
06605 static vector int __ATTRS_o_ai
06606 vec_vsrw(vector int __a, vector unsigned int __b)
06607 {
06608   return __a >> (vector int)__b;
06609 }
06610 
06611 static vector unsigned int __ATTRS_o_ai
06612 vec_vsrw(vector unsigned int __a, vector unsigned int __b)
06613 {
06614   return __a >> __b;
06615 }
06616 
06617 /* vec_sra */
06618 
06619 static vector signed char __ATTRS_o_ai
06620 vec_sra(vector signed char __a, vector unsigned char __b)
06621 {
06622   return (vector signed char)__builtin_altivec_vsrab((vector char)__a, __b);
06623 }
06624 
06625 static vector unsigned char __ATTRS_o_ai
06626 vec_sra(vector unsigned char __a, vector unsigned char __b)
06627 {
06628   return (vector unsigned char)__builtin_altivec_vsrab((vector char)__a, __b);
06629 }
06630 
06631 static vector short __ATTRS_o_ai
06632 vec_sra(vector short __a, vector unsigned short __b)
06633 {
06634   return __builtin_altivec_vsrah(__a, (vector unsigned short)__b);
06635 }
06636 
06637 static vector unsigned short __ATTRS_o_ai
06638 vec_sra(vector unsigned short __a, vector unsigned short __b)
06639 {
06640   return (vector unsigned short)__builtin_altivec_vsrah((vector short)__a, __b);
06641 }
06642 
06643 static vector int __ATTRS_o_ai
06644 vec_sra(vector int __a, vector unsigned int __b)
06645 {
06646   return __builtin_altivec_vsraw(__a, __b);
06647 }
06648 
06649 static vector unsigned int __ATTRS_o_ai
06650 vec_sra(vector unsigned int __a, vector unsigned int __b)
06651 {
06652   return (vector unsigned int)__builtin_altivec_vsraw((vector int)__a, __b);
06653 }
06654 
06655 /* vec_vsrab */
06656 
06657 static vector signed char __ATTRS_o_ai
06658 vec_vsrab(vector signed char __a, vector unsigned char __b)
06659 {
06660   return (vector signed char)__builtin_altivec_vsrab((vector char)__a, __b);
06661 }
06662 
06663 static vector unsigned char __ATTRS_o_ai
06664 vec_vsrab(vector unsigned char __a, vector unsigned char __b)
06665 {
06666   return (vector unsigned char)__builtin_altivec_vsrab((vector char)__a, __b);
06667 }
06668 
06669 /* vec_vsrah */
06670 
06671 static vector short __ATTRS_o_ai
06672 vec_vsrah(vector short __a, vector unsigned short __b)
06673 {
06674   return __builtin_altivec_vsrah(__a, (vector unsigned short)__b);
06675 }
06676 
06677 static vector unsigned short __ATTRS_o_ai
06678 vec_vsrah(vector unsigned short __a, vector unsigned short __b)
06679 {
06680   return (vector unsigned short)__builtin_altivec_vsrah((vector short)__a, __b);
06681 }
06682 
06683 /* vec_vsraw */
06684 
06685 static vector int __ATTRS_o_ai
06686 vec_vsraw(vector int __a, vector unsigned int __b)
06687 {
06688   return __builtin_altivec_vsraw(__a, __b);
06689 }
06690 
06691 static vector unsigned int __ATTRS_o_ai
06692 vec_vsraw(vector unsigned int __a, vector unsigned int __b)
06693 {
06694   return (vector unsigned int)__builtin_altivec_vsraw((vector int)__a, __b);
06695 }
06696 
06697 /* vec_srl */
06698 
06699 static vector signed char __ATTRS_o_ai
06700 vec_srl(vector signed char __a, vector unsigned char __b)
06701 {
06702   return (vector signed char)
06703            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06704 }
06705 
06706 static vector signed char __ATTRS_o_ai
06707 vec_srl(vector signed char __a, vector unsigned short __b)
06708 {
06709   return (vector signed char)
06710            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06711 }
06712 
06713 static vector signed char __ATTRS_o_ai
06714 vec_srl(vector signed char __a, vector unsigned int __b)
06715 {
06716   return (vector signed char)
06717            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06718 }
06719 
06720 static vector unsigned char __ATTRS_o_ai
06721 vec_srl(vector unsigned char __a, vector unsigned char __b)
06722 {
06723   return (vector unsigned char)
06724            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06725 }
06726 
06727 static vector unsigned char __ATTRS_o_ai
06728 vec_srl(vector unsigned char __a, vector unsigned short __b)
06729 {
06730   return (vector unsigned char)
06731            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06732 }
06733 
06734 static vector unsigned char __ATTRS_o_ai
06735 vec_srl(vector unsigned char __a, vector unsigned int __b)
06736 {
06737   return (vector unsigned char)
06738            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06739 }
06740 
06741 static vector bool char __ATTRS_o_ai
06742 vec_srl(vector bool char __a, vector unsigned char __b)
06743 {
06744   return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06745 }
06746 
06747 static vector bool char __ATTRS_o_ai
06748 vec_srl(vector bool char __a, vector unsigned short __b)
06749 {
06750   return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06751 }
06752 
06753 static vector bool char __ATTRS_o_ai
06754 vec_srl(vector bool char __a, vector unsigned int __b)
06755 {
06756   return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06757 }
06758 
06759 static vector short __ATTRS_o_ai
06760 vec_srl(vector short __a, vector unsigned char __b)
06761 {
06762   return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06763 }
06764 
06765 static vector short __ATTRS_o_ai
06766 vec_srl(vector short __a, vector unsigned short __b)
06767 {
06768   return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06769 }
06770 
06771 static vector short __ATTRS_o_ai
06772 vec_srl(vector short __a, vector unsigned int __b)
06773 {
06774   return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06775 }
06776 
06777 static vector unsigned short __ATTRS_o_ai
06778 vec_srl(vector unsigned short __a, vector unsigned char __b)
06779 {
06780   return (vector unsigned short)
06781            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06782 }
06783 
06784 static vector unsigned short __ATTRS_o_ai
06785 vec_srl(vector unsigned short __a, vector unsigned short __b)
06786 {
06787   return (vector unsigned short)
06788            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06789 }
06790 
06791 static vector unsigned short __ATTRS_o_ai
06792 vec_srl(vector unsigned short __a, vector unsigned int __b)
06793 {
06794   return (vector unsigned short)
06795            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06796 }
06797 
06798 static vector bool short __ATTRS_o_ai
06799 vec_srl(vector bool short __a, vector unsigned char __b)
06800 {
06801   return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06802 }
06803 
06804 static vector bool short __ATTRS_o_ai
06805 vec_srl(vector bool short __a, vector unsigned short __b)
06806 {
06807   return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06808 }
06809 
06810 static vector bool short __ATTRS_o_ai
06811 vec_srl(vector bool short __a, vector unsigned int __b)
06812 {
06813   return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06814 }
06815 
06816 static vector pixel __ATTRS_o_ai
06817 vec_srl(vector pixel __a, vector unsigned char __b)
06818 {
06819   return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06820 }
06821 
06822 static vector pixel __ATTRS_o_ai
06823 vec_srl(vector pixel __a, vector unsigned short __b)
06824 {
06825   return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06826 }
06827 
06828 static vector pixel __ATTRS_o_ai
06829 vec_srl(vector pixel __a, vector unsigned int __b)
06830 {
06831   return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06832 }
06833 
06834 static vector int __ATTRS_o_ai
06835 vec_srl(vector int __a, vector unsigned char __b)
06836 {
06837   return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
06838 }
06839 
06840 static vector int __ATTRS_o_ai
06841 vec_srl(vector int __a, vector unsigned short __b)
06842 {
06843   return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
06844 }
06845 
06846 static vector int __ATTRS_o_ai
06847 vec_srl(vector int __a, vector unsigned int __b)
06848 {
06849   return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
06850 }
06851 
06852 static vector unsigned int __ATTRS_o_ai
06853 vec_srl(vector unsigned int __a, vector unsigned char __b)
06854 {
06855   return (vector unsigned int)
06856            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06857 }
06858 
06859 static vector unsigned int __ATTRS_o_ai
06860 vec_srl(vector unsigned int __a, vector unsigned short __b)
06861 {
06862   return (vector unsigned int)
06863            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06864 }
06865 
06866 static vector unsigned int __ATTRS_o_ai
06867 vec_srl(vector unsigned int __a, vector unsigned int __b)
06868 {
06869   return (vector unsigned int)
06870            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06871 }
06872 
06873 static vector bool int __ATTRS_o_ai
06874 vec_srl(vector bool int __a, vector unsigned char __b)
06875 {
06876   return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06877 }
06878 
06879 static vector bool int __ATTRS_o_ai
06880 vec_srl(vector bool int __a, vector unsigned short __b)
06881 {
06882   return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06883 }
06884 
06885 static vector bool int __ATTRS_o_ai
06886 vec_srl(vector bool int __a, vector unsigned int __b)
06887 {
06888   return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06889 }
06890 
06891 /* vec_vsr */
06892 
06893 static vector signed char __ATTRS_o_ai
06894 vec_vsr(vector signed char __a, vector unsigned char __b)
06895 {
06896   return (vector signed char)
06897            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06898 }
06899 
06900 static vector signed char __ATTRS_o_ai
06901 vec_vsr(vector signed char __a, vector unsigned short __b)
06902 {
06903   return (vector signed char)
06904            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06905 }
06906 
06907 static vector signed char __ATTRS_o_ai
06908 vec_vsr(vector signed char __a, vector unsigned int __b)
06909 {
06910   return (vector signed char)
06911            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06912 }
06913 
06914 static vector unsigned char __ATTRS_o_ai
06915 vec_vsr(vector unsigned char __a, vector unsigned char __b)
06916 {
06917   return (vector unsigned char)
06918            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06919 }
06920 
06921 static vector unsigned char __ATTRS_o_ai
06922 vec_vsr(vector unsigned char __a, vector unsigned short __b)
06923 {
06924   return (vector unsigned char)
06925            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06926 }
06927 
06928 static vector unsigned char __ATTRS_o_ai
06929 vec_vsr(vector unsigned char __a, vector unsigned int __b)
06930 {
06931   return (vector unsigned char)
06932            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06933 }
06934 
06935 static vector bool char __ATTRS_o_ai
06936 vec_vsr(vector bool char __a, vector unsigned char __b)
06937 {
06938   return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06939 }
06940 
06941 static vector bool char __ATTRS_o_ai
06942 vec_vsr(vector bool char __a, vector unsigned short __b)
06943 {
06944   return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06945 }
06946 
06947 static vector bool char __ATTRS_o_ai
06948 vec_vsr(vector bool char __a, vector unsigned int __b)
06949 {
06950   return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06951 }
06952 
06953 static vector short __ATTRS_o_ai
06954 vec_vsr(vector short __a, vector unsigned char __b)
06955 {
06956   return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06957 }
06958 
06959 static vector short __ATTRS_o_ai
06960 vec_vsr(vector short __a, vector unsigned short __b)
06961 {
06962   return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06963 }
06964 
06965 static vector short __ATTRS_o_ai
06966 vec_vsr(vector short __a, vector unsigned int __b)
06967 {
06968   return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06969 }
06970 
06971 static vector unsigned short __ATTRS_o_ai
06972 vec_vsr(vector unsigned short __a, vector unsigned char __b)
06973 {
06974   return (vector unsigned short)
06975            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06976 }
06977 
06978 static vector unsigned short __ATTRS_o_ai
06979 vec_vsr(vector unsigned short __a, vector unsigned short __b)
06980 {
06981   return (vector unsigned short)
06982            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06983 }
06984 
06985 static vector unsigned short __ATTRS_o_ai
06986 vec_vsr(vector unsigned short __a, vector unsigned int __b)
06987 {
06988   return (vector unsigned short)
06989            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
06990 }
06991 
06992 static vector bool short __ATTRS_o_ai
06993 vec_vsr(vector bool short __a, vector unsigned char __b)
06994 {
06995   return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
06996 }
06997 
06998 static vector bool short __ATTRS_o_ai
06999 vec_vsr(vector bool short __a, vector unsigned short __b)
07000 {
07001   return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
07002 }
07003 
07004 static vector bool short __ATTRS_o_ai
07005 vec_vsr(vector bool short __a, vector unsigned int __b)
07006 {
07007   return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
07008 }
07009 
07010 static vector pixel __ATTRS_o_ai
07011 vec_vsr(vector pixel __a, vector unsigned char __b)
07012 {
07013   return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
07014 }
07015 
07016 static vector pixel __ATTRS_o_ai
07017 vec_vsr(vector pixel __a, vector unsigned short __b)
07018 {
07019   return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
07020 }
07021 
07022 static vector pixel __ATTRS_o_ai
07023 vec_vsr(vector pixel __a, vector unsigned int __b)
07024 {
07025   return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
07026 }
07027 
07028 static vector int __ATTRS_o_ai
07029 vec_vsr(vector int __a, vector unsigned char __b)
07030 {
07031   return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
07032 }
07033 
07034 static vector int __ATTRS_o_ai
07035 vec_vsr(vector int __a, vector unsigned short __b)
07036 {
07037   return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
07038 }
07039 
07040 static vector int __ATTRS_o_ai
07041 vec_vsr(vector int __a, vector unsigned int __b)
07042 {
07043   return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
07044 }
07045 
07046 static vector unsigned int __ATTRS_o_ai
07047 vec_vsr(vector unsigned int __a, vector unsigned char __b)
07048 {
07049   return (vector unsigned int)
07050            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
07051 }
07052 
07053 static vector unsigned int __ATTRS_o_ai
07054 vec_vsr(vector unsigned int __a, vector unsigned short __b)
07055 {
07056   return (vector unsigned int)
07057            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
07058 }
07059 
07060 static vector unsigned int __ATTRS_o_ai
07061 vec_vsr(vector unsigned int __a, vector unsigned int __b)
07062 {
07063   return (vector unsigned int)
07064            __builtin_altivec_vsr((vector int)__a, (vector int)__b);
07065 }
07066 
07067 static vector bool int __ATTRS_o_ai
07068 vec_vsr(vector bool int __a, vector unsigned char __b)
07069 {
07070   return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
07071 }
07072 
07073 static vector bool int __ATTRS_o_ai
07074 vec_vsr(vector bool int __a, vector unsigned short __b)
07075 {
07076   return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
07077 }
07078 
07079 static vector bool int __ATTRS_o_ai
07080 vec_vsr(vector bool int __a, vector unsigned int __b)
07081 {
07082   return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
07083 }
07084 
07085 /* vec_sro */
07086 
07087 static vector signed char __ATTRS_o_ai
07088 vec_sro(vector signed char __a, vector signed char __b)
07089 {
07090   return (vector signed char)
07091            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07092 }
07093 
07094 static vector signed char __ATTRS_o_ai
07095 vec_sro(vector signed char __a, vector unsigned char __b)
07096 {
07097   return (vector signed char)
07098            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07099 }
07100 
07101 static vector unsigned char __ATTRS_o_ai
07102 vec_sro(vector unsigned char __a, vector signed char __b)
07103 {
07104   return (vector unsigned char)
07105            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07106 }
07107 
07108 static vector unsigned char __ATTRS_o_ai
07109 vec_sro(vector unsigned char __a, vector unsigned char __b)
07110 {
07111   return (vector unsigned char)
07112            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07113 }
07114 
07115 static vector short __ATTRS_o_ai
07116 vec_sro(vector short __a, vector signed char __b)
07117 {
07118   return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
07119 }
07120 
07121 static vector short __ATTRS_o_ai
07122 vec_sro(vector short __a, vector unsigned char __b)
07123 {
07124   return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
07125 }
07126 
07127 static vector unsigned short __ATTRS_o_ai
07128 vec_sro(vector unsigned short __a, vector signed char __b)
07129 {
07130   return (vector unsigned short)
07131            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07132 }
07133 
07134 static vector unsigned short __ATTRS_o_ai
07135 vec_sro(vector unsigned short __a, vector unsigned char __b)
07136 {
07137   return (vector unsigned short)
07138            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07139 }
07140 
07141 static vector pixel __ATTRS_o_ai
07142 vec_sro(vector pixel __a, vector signed char __b)
07143 {
07144   return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
07145 }
07146 
07147 static vector pixel __ATTRS_o_ai
07148 vec_sro(vector pixel __a, vector unsigned char __b)
07149 {
07150   return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
07151 }
07152 
07153 static vector int __ATTRS_o_ai
07154 vec_sro(vector int __a, vector signed char __b)
07155 {
07156   return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
07157 }
07158 
07159 static vector int __ATTRS_o_ai
07160 vec_sro(vector int __a, vector unsigned char __b)
07161 {
07162   return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
07163 }
07164 
07165 static vector unsigned int __ATTRS_o_ai
07166 vec_sro(vector unsigned int __a, vector signed char __b)
07167 {
07168   return (vector unsigned int)
07169            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07170 }
07171 
07172 static vector unsigned int __ATTRS_o_ai
07173 vec_sro(vector unsigned int __a, vector unsigned char __b)
07174 {
07175   return (vector unsigned int)
07176            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07177 }
07178 
07179 static vector float __ATTRS_o_ai
07180 vec_sro(vector float __a, vector signed char __b)
07181 {
07182   return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
07183 }
07184 
07185 static vector float __ATTRS_o_ai
07186 vec_sro(vector float __a, vector unsigned char __b)
07187 {
07188   return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
07189 }
07190 
07191 /* vec_vsro */
07192 
07193 static vector signed char __ATTRS_o_ai
07194 vec_vsro(vector signed char __a, vector signed char __b)
07195 {
07196   return (vector signed char)
07197            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07198 }
07199 
07200 static vector signed char __ATTRS_o_ai
07201 vec_vsro(vector signed char __a, vector unsigned char __b)
07202 {
07203   return (vector signed char)
07204            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07205 }
07206 
07207 static vector unsigned char __ATTRS_o_ai
07208 vec_vsro(vector unsigned char __a, vector signed char __b)
07209 {
07210   return (vector unsigned char)
07211            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07212 }
07213 
07214 static vector unsigned char __ATTRS_o_ai
07215 vec_vsro(vector unsigned char __a, vector unsigned char __b)
07216 {
07217   return (vector unsigned char)
07218            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07219 }
07220 
07221 static vector short __ATTRS_o_ai
07222 vec_vsro(vector short __a, vector signed char __b)
07223 {
07224   return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
07225 }
07226 
07227 static vector short __ATTRS_o_ai
07228 vec_vsro(vector short __a, vector unsigned char __b)
07229 {
07230   return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
07231 }
07232 
07233 static vector unsigned short __ATTRS_o_ai
07234 vec_vsro(vector unsigned short __a, vector signed char __b)
07235 {
07236   return (vector unsigned short)
07237            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07238 }
07239 
07240 static vector unsigned short __ATTRS_o_ai
07241 vec_vsro(vector unsigned short __a, vector unsigned char __b)
07242 {
07243   return (vector unsigned short)
07244            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07245 }
07246 
07247 static vector pixel __ATTRS_o_ai
07248 vec_vsro(vector pixel __a, vector signed char __b)
07249 {
07250   return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
07251 }
07252 
07253 static vector pixel __ATTRS_o_ai
07254 vec_vsro(vector pixel __a, vector unsigned char __b)
07255 {
07256   return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
07257 }
07258 
07259 static vector int __ATTRS_o_ai
07260 vec_vsro(vector int __a, vector signed char __b)
07261 {
07262   return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
07263 }
07264 
07265 static vector int __ATTRS_o_ai
07266 vec_vsro(vector int __a, vector unsigned char __b)
07267 {
07268   return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
07269 }
07270 
07271 static vector unsigned int __ATTRS_o_ai
07272 vec_vsro(vector unsigned int __a, vector signed char __b)
07273 {
07274   return (vector unsigned int)
07275            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07276 }
07277 
07278 static vector unsigned int __ATTRS_o_ai
07279 vec_vsro(vector unsigned int __a, vector unsigned char __b)
07280 {
07281   return (vector unsigned int)
07282            __builtin_altivec_vsro((vector int)__a, (vector int)__b);
07283 }
07284 
07285 static vector float __ATTRS_o_ai
07286 vec_vsro(vector float __a, vector signed char __b)
07287 {
07288   return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
07289 }
07290 
07291 static vector float __ATTRS_o_ai
07292 vec_vsro(vector float __a, vector unsigned char __b)
07293 {
07294   return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
07295 }
07296 
07297 /* vec_st */
07298 
07299 static void __ATTRS_o_ai
07300 vec_st(vector signed char __a, int __b, vector signed char *__c)
07301 {
07302   __builtin_altivec_stvx((vector int)__a, __b, __c);
07303 }
07304 
07305 static void __ATTRS_o_ai
07306 vec_st(vector signed char __a, int __b, signed char *__c)
07307 {
07308   __builtin_altivec_stvx((vector int)__a, __b, __c);
07309 }
07310 
07311 static void __ATTRS_o_ai
07312 vec_st(vector unsigned char __a, int __b, vector unsigned char *__c)
07313 {
07314   __builtin_altivec_stvx((vector int)__a, __b, __c);
07315 }
07316 
07317 static void __ATTRS_o_ai
07318 vec_st(vector unsigned char __a, int __b, unsigned char *__c)
07319 {
07320   __builtin_altivec_stvx((vector int)__a, __b, __c);
07321 }
07322 
07323 static void __ATTRS_o_ai
07324 vec_st(vector bool char __a, int __b, signed char *__c)
07325 {
07326   __builtin_altivec_stvx((vector int)__a, __b, __c);
07327 }
07328 
07329 static void __ATTRS_o_ai
07330 vec_st(vector bool char __a, int __b, unsigned char *__c)
07331 {
07332   __builtin_altivec_stvx((vector int)__a, __b, __c);
07333 }
07334 
07335 static void __ATTRS_o_ai
07336 vec_st(vector bool char __a, int __b, vector bool char *__c)
07337 {
07338   __builtin_altivec_stvx((vector int)__a, __b, __c);
07339 }
07340 
07341 static void __ATTRS_o_ai
07342 vec_st(vector short __a, int __b, vector short *__c)
07343 {
07344   __builtin_altivec_stvx((vector int)__a, __b, __c);
07345 }
07346 
07347 static void __ATTRS_o_ai
07348 vec_st(vector short __a, int __b, short *__c)
07349 {
07350   __builtin_altivec_stvx((vector int)__a, __b, __c);
07351 }
07352 
07353 static void __ATTRS_o_ai
07354 vec_st(vector unsigned short __a, int __b, vector unsigned short *__c)
07355 {
07356   __builtin_altivec_stvx((vector int)__a, __b, __c);
07357 }
07358 
07359 static void __ATTRS_o_ai
07360 vec_st(vector unsigned short __a, int __b, unsigned short *__c)
07361 {
07362   __builtin_altivec_stvx((vector int)__a, __b, __c);
07363 }
07364 
07365 static void __ATTRS_o_ai
07366 vec_st(vector bool short __a, int __b, short *__c)
07367 {
07368   __builtin_altivec_stvx((vector int)__a, __b, __c);
07369 }
07370 
07371 static void __ATTRS_o_ai
07372 vec_st(vector bool short __a, int __b, unsigned short *__c)
07373 {
07374   __builtin_altivec_stvx((vector int)__a, __b, __c);
07375 }
07376 
07377 static void __ATTRS_o_ai
07378 vec_st(vector bool short __a, int __b, vector bool short *__c)
07379 {
07380   __builtin_altivec_stvx((vector int)__a, __b, __c);
07381 }
07382 
07383 static void __ATTRS_o_ai
07384 vec_st(vector pixel __a, int __b, short *__c)
07385 {
07386   __builtin_altivec_stvx((vector int)__a, __b, __c);
07387 }
07388 
07389 static void __ATTRS_o_ai
07390 vec_st(vector pixel __a, int __b, unsigned short *__c)
07391 {
07392   __builtin_altivec_stvx((vector int)__a, __b, __c);
07393 }
07394 
07395 static void __ATTRS_o_ai
07396 vec_st(vector pixel __a, int __b, vector pixel *__c)
07397 {
07398   __builtin_altivec_stvx((vector int)__a, __b, __c);
07399 }
07400 
07401 static void __ATTRS_o_ai
07402 vec_st(vector int __a, int __b, vector int *__c)
07403 {
07404   __builtin_altivec_stvx(__a, __b, __c);
07405 }
07406 
07407 static void __ATTRS_o_ai
07408 vec_st(vector int __a, int __b, int *__c)
07409 {
07410   __builtin_altivec_stvx(__a, __b, __c);
07411 }
07412 
07413 static void __ATTRS_o_ai
07414 vec_st(vector unsigned int __a, int __b, vector unsigned int *__c)
07415 {
07416   __builtin_altivec_stvx((vector int)__a, __b, __c);
07417 }
07418 
07419 static void __ATTRS_o_ai
07420 vec_st(vector unsigned int __a, int __b, unsigned int *__c)
07421 {
07422   __builtin_altivec_stvx((vector int)__a, __b, __c);
07423 }
07424 
07425 static void __ATTRS_o_ai
07426 vec_st(vector bool int __a, int __b, int *__c)
07427 {
07428   __builtin_altivec_stvx((vector int)__a, __b, __c);
07429 }
07430 
07431 static void __ATTRS_o_ai
07432 vec_st(vector bool int __a, int __b, unsigned int *__c)
07433 {
07434   __builtin_altivec_stvx((vector int)__a, __b, __c);
07435 }
07436 
07437 static void __ATTRS_o_ai
07438 vec_st(vector bool int __a, int __b, vector bool int *__c)
07439 {
07440   __builtin_altivec_stvx((vector int)__a, __b, __c);
07441 }
07442 
07443 static void __ATTRS_o_ai
07444 vec_st(vector float __a, int __b, vector float *__c)
07445 {
07446   __builtin_altivec_stvx((vector int)__a, __b, __c);
07447 }
07448 
07449 static void __ATTRS_o_ai
07450 vec_st(vector float __a, int __b, float *__c)
07451 {
07452   __builtin_altivec_stvx((vector int)__a, __b, __c);
07453 }
07454 
07455 /* vec_stvx */
07456 
07457 static void __ATTRS_o_ai
07458 vec_stvx(vector signed char __a, int __b, vector signed char *__c)
07459 {
07460   __builtin_altivec_stvx((vector int)__a, __b, __c);
07461 }
07462 
07463 static void __ATTRS_o_ai
07464 vec_stvx(vector signed char __a, int __b, signed char *__c)
07465 {
07466   __builtin_altivec_stvx((vector int)__a, __b, __c);
07467 }
07468 
07469 static void __ATTRS_o_ai
07470 vec_stvx(vector unsigned char __a, int __b, vector unsigned char *__c)
07471 {
07472   __builtin_altivec_stvx((vector int)__a, __b, __c);
07473 }
07474 
07475 static void __ATTRS_o_ai
07476 vec_stvx(vector unsigned char __a, int __b, unsigned char *__c)
07477 {
07478   __builtin_altivec_stvx((vector int)__a, __b, __c);
07479 }
07480 
07481 static void __ATTRS_o_ai
07482 vec_stvx(vector bool char __a, int __b, signed char *__c)
07483 {
07484   __builtin_altivec_stvx((vector int)__a, __b, __c);
07485 }
07486 
07487 static void __ATTRS_o_ai
07488 vec_stvx(vector bool char __a, int __b, unsigned char *__c)
07489 {
07490   __builtin_altivec_stvx((vector int)__a, __b, __c);
07491 }
07492 
07493 static void __ATTRS_o_ai
07494 vec_stvx(vector bool char __a, int __b, vector bool char *__c)
07495 {
07496   __builtin_altivec_stvx((vector int)__a, __b, __c);
07497 }
07498 
07499 static void __ATTRS_o_ai
07500 vec_stvx(vector short __a, int __b, vector short *__c)
07501 {
07502   __builtin_altivec_stvx((vector int)__a, __b, __c);
07503 }
07504 
07505 static void __ATTRS_o_ai
07506 vec_stvx(vector short __a, int __b, short *__c)
07507 {
07508   __builtin_altivec_stvx((vector int)__a, __b, __c);
07509 }
07510 
07511 static void __ATTRS_o_ai
07512 vec_stvx(vector unsigned short __a, int __b, vector unsigned short *__c)
07513 {
07514   __builtin_altivec_stvx((vector int)__a, __b, __c);
07515 }
07516 
07517 static void __ATTRS_o_ai
07518 vec_stvx(vector unsigned short __a, int __b, unsigned short *__c)
07519 {
07520   __builtin_altivec_stvx((vector int)__a, __b, __c);
07521 }
07522 
07523 static void __ATTRS_o_ai
07524 vec_stvx(vector bool short __a, int __b, short *__c)
07525 {
07526   __builtin_altivec_stvx((vector int)__a, __b, __c);
07527 }
07528 
07529 static void __ATTRS_o_ai
07530 vec_stvx(vector bool short __a, int __b, unsigned short *__c)
07531 {
07532   __builtin_altivec_stvx((vector int)__a, __b, __c);
07533 }
07534 
07535 static void __ATTRS_o_ai
07536 vec_stvx(vector bool short __a, int __b, vector bool short *__c)
07537 {
07538   __builtin_altivec_stvx((vector int)__a, __b, __c);
07539 }
07540 
07541 static void __ATTRS_o_ai
07542 vec_stvx(vector pixel __a, int __b, short *__c)
07543 {
07544   __builtin_altivec_stvx((vector int)__a, __b, __c);
07545 }
07546 
07547 static void __ATTRS_o_ai
07548 vec_stvx(vector pixel __a, int __b, unsigned short *__c)
07549 {
07550   __builtin_altivec_stvx((vector int)__a, __b, __c);
07551 }
07552 
07553 static void __ATTRS_o_ai
07554 vec_stvx(vector pixel __a, int __b, vector pixel *__c)
07555 {
07556   __builtin_altivec_stvx((vector int)__a, __b, __c);
07557 }
07558 
07559 static void __ATTRS_o_ai
07560 vec_stvx(vector int __a, int __b, vector int *__c)
07561 {
07562   __builtin_altivec_stvx(__a, __b, __c);
07563 }
07564 
07565 static void __ATTRS_o_ai
07566 vec_stvx(vector int __a, int __b, int *__c)
07567 {
07568   __builtin_altivec_stvx(__a, __b, __c);
07569 }
07570 
07571 static void __ATTRS_o_ai
07572 vec_stvx(vector unsigned int __a, int __b, vector unsigned int *__c)
07573 {
07574   __builtin_altivec_stvx((vector int)__a, __b, __c);
07575 }
07576 
07577 static void __ATTRS_o_ai
07578 vec_stvx(vector unsigned int __a, int __b, unsigned int *__c)
07579 {
07580   __builtin_altivec_stvx((vector int)__a, __b, __c);
07581 }
07582 
07583 static void __ATTRS_o_ai
07584 vec_stvx(vector bool int __a, int __b, int *__c)
07585 {
07586   __builtin_altivec_stvx((vector int)__a, __b, __c);
07587 }
07588 
07589 static void __ATTRS_o_ai
07590 vec_stvx(vector bool int __a, int __b, unsigned int *__c)
07591 {
07592   __builtin_altivec_stvx((vector int)__a, __b, __c);
07593 }
07594 
07595 static void __ATTRS_o_ai
07596 vec_stvx(vector bool int __a, int __b, vector bool int *__c)
07597 {
07598   __builtin_altivec_stvx((vector int)__a, __b, __c);
07599 }
07600 
07601 static void __ATTRS_o_ai
07602 vec_stvx(vector float __a, int __b, vector float *__c)
07603 {
07604   __builtin_altivec_stvx((vector int)__a, __b, __c);
07605 }
07606 
07607 static void __ATTRS_o_ai
07608 vec_stvx(vector float __a, int __b, float *__c)
07609 {
07610   __builtin_altivec_stvx((vector int)__a, __b, __c);
07611 }
07612 
07613 /* vec_ste */
07614 
07615 static void __ATTRS_o_ai
07616 vec_ste(vector signed char __a, int __b, signed char *__c)
07617 {
07618   __builtin_altivec_stvebx((vector char)__a, __b, __c);
07619 }
07620 
07621 static void __ATTRS_o_ai
07622 vec_ste(vector unsigned char __a, int __b, unsigned char *__c)
07623 {
07624   __builtin_altivec_stvebx((vector char)__a, __b, __c);
07625 }
07626 
07627 static void __ATTRS_o_ai
07628 vec_ste(vector bool char __a, int __b, signed char *__c)
07629 {
07630   __builtin_altivec_stvebx((vector char)__a, __b, __c);
07631 }
07632 
07633 static void __ATTRS_o_ai
07634 vec_ste(vector bool char __a, int __b, unsigned char *__c)
07635 {
07636   __builtin_altivec_stvebx((vector char)__a, __b, __c);
07637 }
07638 
07639 static void __ATTRS_o_ai
07640 vec_ste(vector short __a, int __b, short *__c)
07641 {
07642   __builtin_altivec_stvehx(__a, __b, __c);
07643 }
07644 
07645 static void __ATTRS_o_ai
07646 vec_ste(vector unsigned short __a, int __b, unsigned short *__c)
07647 {
07648   __builtin_altivec_stvehx((vector short)__a, __b, __c);
07649 }
07650 
07651 static void __ATTRS_o_ai
07652 vec_ste(vector bool short __a, int __b, short *__c)
07653 {
07654   __builtin_altivec_stvehx((vector short)__a, __b, __c);
07655 }
07656 
07657 static void __ATTRS_o_ai
07658 vec_ste(vector bool short __a, int __b, unsigned short *__c)
07659 {
07660   __builtin_altivec_stvehx((vector short)__a, __b, __c);
07661 }
07662 
07663 static void __ATTRS_o_ai
07664 vec_ste(vector pixel __a, int __b, short *__c)
07665 {
07666   __builtin_altivec_stvehx((vector short)__a, __b, __c);
07667 }
07668 
07669 static void __ATTRS_o_ai
07670 vec_ste(vector pixel __a, int __b, unsigned short *__c)
07671 {
07672   __builtin_altivec_stvehx((vector short)__a, __b, __c);
07673 }
07674 
07675 static void __ATTRS_o_ai
07676 vec_ste(vector int __a, int __b, int *__c)
07677 {
07678   __builtin_altivec_stvewx(__a, __b, __c);
07679 }
07680 
07681 static void __ATTRS_o_ai
07682 vec_ste(vector unsigned int __a, int __b, unsigned int *__c)
07683 {
07684   __builtin_altivec_stvewx((vector int)__a, __b, __c);
07685 }
07686 
07687 static void __ATTRS_o_ai
07688 vec_ste(vector bool int __a, int __b, int *__c)
07689 {
07690   __builtin_altivec_stvewx((vector int)__a, __b, __c);
07691 }
07692 
07693 static void __ATTRS_o_ai
07694 vec_ste(vector bool int __a, int __b, unsigned int *__c)
07695 {
07696   __builtin_altivec_stvewx((vector int)__a, __b, __c);
07697 }
07698 
07699 static void __ATTRS_o_ai
07700 vec_ste(vector float __a, int __b, float *__c)
07701 {
07702   __builtin_altivec_stvewx((vector int)__a, __b, __c);
07703 }
07704 
07705 /* vec_stvebx */
07706 
07707 static void __ATTRS_o_ai
07708 vec_stvebx(vector signed char __a, int __b, signed char *__c)
07709 {
07710   __builtin_altivec_stvebx((vector char)__a, __b, __c);
07711 }
07712 
07713 static void __ATTRS_o_ai
07714 vec_stvebx(vector unsigned char __a, int __b, unsigned char *__c)
07715 {
07716   __builtin_altivec_stvebx((vector char)__a, __b, __c);
07717 }
07718 
07719 static void __ATTRS_o_ai
07720 vec_stvebx(vector bool char __a, int __b, signed char *__c)
07721 {
07722   __builtin_altivec_stvebx((vector char)__a, __b, __c);
07723 }
07724 
07725 static void __ATTRS_o_ai
07726 vec_stvebx(vector bool char __a, int __b, unsigned char *__c)
07727 {
07728   __builtin_altivec_stvebx((vector char)__a, __b, __c);
07729 }
07730 
07731 /* vec_stvehx */
07732 
07733 static void __ATTRS_o_ai
07734 vec_stvehx(vector short __a, int __b, short *__c)
07735 {
07736   __builtin_altivec_stvehx(__a, __b, __c);
07737 }
07738 
07739 static void __ATTRS_o_ai
07740 vec_stvehx(vector unsigned short __a, int __b, unsigned short *__c)
07741 {
07742   __builtin_altivec_stvehx((vector short)__a, __b, __c);
07743 }
07744 
07745 static void __ATTRS_o_ai
07746 vec_stvehx(vector bool short __a, int __b, short *__c)
07747 {
07748   __builtin_altivec_stvehx((vector short)__a, __b, __c);
07749 }
07750 
07751 static void __ATTRS_o_ai
07752 vec_stvehx(vector bool short __a, int __b, unsigned short *__c)
07753 {
07754   __builtin_altivec_stvehx((vector short)__a, __b, __c);
07755 }
07756 
07757 static void __ATTRS_o_ai
07758 vec_stvehx(vector pixel __a, int __b, short *__c)
07759 {
07760   __builtin_altivec_stvehx((vector short)__a, __b, __c);
07761 }
07762 
07763 static void __ATTRS_o_ai
07764 vec_stvehx(vector pixel __a, int __b, unsigned short *__c)
07765 {
07766   __builtin_altivec_stvehx((vector short)__a, __b, __c);
07767 }
07768 
07769 /* vec_stvewx */
07770 
07771 static void __ATTRS_o_ai
07772 vec_stvewx(vector int __a, int __b, int *__c)
07773 {
07774   __builtin_altivec_stvewx(__a, __b, __c);
07775 }
07776 
07777 static void __ATTRS_o_ai
07778 vec_stvewx(vector unsigned int __a, int __b, unsigned int *__c)
07779 {
07780   __builtin_altivec_stvewx((vector int)__a, __b, __c);
07781 }
07782 
07783 static void __ATTRS_o_ai
07784 vec_stvewx(vector bool int __a, int __b, int *__c)
07785 {
07786   __builtin_altivec_stvewx((vector int)__a, __b, __c);
07787 }
07788 
07789 static void __ATTRS_o_ai
07790 vec_stvewx(vector bool int __a, int __b, unsigned int *__c)
07791 {
07792   __builtin_altivec_stvewx((vector int)__a, __b, __c);
07793 }
07794 
07795 static void __ATTRS_o_ai
07796 vec_stvewx(vector float __a, int __b, float *__c)
07797 {
07798   __builtin_altivec_stvewx((vector int)__a, __b, __c);
07799 }
07800 
07801 /* vec_stl */
07802 
07803 static void __ATTRS_o_ai
07804 vec_stl(vector signed char __a, int __b, vector signed char *__c)
07805 {
07806   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07807 }
07808 
07809 static void __ATTRS_o_ai
07810 vec_stl(vector signed char __a, int __b, signed char *__c)
07811 {
07812   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07813 }
07814 
07815 static void __ATTRS_o_ai
07816 vec_stl(vector unsigned char __a, int __b, vector unsigned char *__c)
07817 {
07818   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07819 }
07820 
07821 static void __ATTRS_o_ai
07822 vec_stl(vector unsigned char __a, int __b, unsigned char *__c)
07823 {
07824   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07825 }
07826 
07827 static void __ATTRS_o_ai
07828 vec_stl(vector bool char __a, int __b, signed char *__c)
07829 {
07830   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07831 }
07832 
07833 static void __ATTRS_o_ai
07834 vec_stl(vector bool char __a, int __b, unsigned char *__c)
07835 {
07836   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07837 }
07838 
07839 static void __ATTRS_o_ai
07840 vec_stl(vector bool char __a, int __b, vector bool char *__c)
07841 {
07842   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07843 }
07844 
07845 static void __ATTRS_o_ai
07846 vec_stl(vector short __a, int __b, vector short *__c)
07847 {
07848   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07849 }
07850 
07851 static void __ATTRS_o_ai
07852 vec_stl(vector short __a, int __b, short *__c)
07853 {
07854   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07855 }
07856 
07857 static void __ATTRS_o_ai
07858 vec_stl(vector unsigned short __a, int __b, vector unsigned short *__c)
07859 {
07860   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07861 }
07862 
07863 static void __ATTRS_o_ai
07864 vec_stl(vector unsigned short __a, int __b, unsigned short *__c)
07865 {
07866   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07867 }
07868 
07869 static void __ATTRS_o_ai
07870 vec_stl(vector bool short __a, int __b, short *__c)
07871 {
07872   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07873 }
07874 
07875 static void __ATTRS_o_ai
07876 vec_stl(vector bool short __a, int __b, unsigned short *__c)
07877 {
07878   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07879 }
07880 
07881 static void __ATTRS_o_ai
07882 vec_stl(vector bool short __a, int __b, vector bool short *__c)
07883 {
07884   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07885 }
07886 
07887 static void __ATTRS_o_ai
07888 vec_stl(vector pixel __a, int __b, short *__c)
07889 {
07890   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07891 }
07892 
07893 static void __ATTRS_o_ai
07894 vec_stl(vector pixel __a, int __b, unsigned short *__c)
07895 {
07896   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07897 }
07898 
07899 static void __ATTRS_o_ai
07900 vec_stl(vector pixel __a, int __b, vector pixel *__c)
07901 {
07902   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07903 }
07904 
07905 static void __ATTRS_o_ai
07906 vec_stl(vector int __a, int __b, vector int *__c)
07907 {
07908   __builtin_altivec_stvxl(__a, __b, __c);
07909 }
07910 
07911 static void __ATTRS_o_ai
07912 vec_stl(vector int __a, int __b, int *__c)
07913 {
07914   __builtin_altivec_stvxl(__a, __b, __c);
07915 }
07916 
07917 static void __ATTRS_o_ai
07918 vec_stl(vector unsigned int __a, int __b, vector unsigned int *__c)
07919 {
07920   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07921 }
07922 
07923 static void __ATTRS_o_ai
07924 vec_stl(vector unsigned int __a, int __b, unsigned int *__c)
07925 {
07926   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07927 }
07928 
07929 static void __ATTRS_o_ai
07930 vec_stl(vector bool int __a, int __b, int *__c)
07931 {
07932   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07933 }
07934 
07935 static void __ATTRS_o_ai
07936 vec_stl(vector bool int __a, int __b, unsigned int *__c)
07937 {
07938   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07939 }
07940 
07941 static void __ATTRS_o_ai
07942 vec_stl(vector bool int __a, int __b, vector bool int *__c)
07943 {
07944   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07945 }
07946 
07947 static void __ATTRS_o_ai
07948 vec_stl(vector float __a, int __b, vector float *__c)
07949 {
07950   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07951 }
07952 
07953 static void __ATTRS_o_ai
07954 vec_stl(vector float __a, int __b, float *__c)
07955 {
07956   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07957 }
07958 
07959 /* vec_stvxl */
07960 
07961 static void __ATTRS_o_ai
07962 vec_stvxl(vector signed char __a, int __b, vector signed char *__c)
07963 {
07964   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07965 }
07966 
07967 static void __ATTRS_o_ai
07968 vec_stvxl(vector signed char __a, int __b, signed char *__c)
07969 {
07970   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07971 }
07972 
07973 static void __ATTRS_o_ai
07974 vec_stvxl(vector unsigned char __a, int __b, vector unsigned char *__c)
07975 {
07976   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07977 }
07978 
07979 static void __ATTRS_o_ai
07980 vec_stvxl(vector unsigned char __a, int __b, unsigned char *__c)
07981 {
07982   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07983 }
07984 
07985 static void __ATTRS_o_ai
07986 vec_stvxl(vector bool char __a, int __b, signed char *__c)
07987 {
07988   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07989 }
07990 
07991 static void __ATTRS_o_ai
07992 vec_stvxl(vector bool char __a, int __b, unsigned char *__c)
07993 {
07994   __builtin_altivec_stvxl((vector int)__a, __b, __c);
07995 }
07996 
07997 static void __ATTRS_o_ai
07998 vec_stvxl(vector bool char __a, int __b, vector bool char *__c)
07999 {
08000   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08001 }
08002 
08003 static void __ATTRS_o_ai
08004 vec_stvxl(vector short __a, int __b, vector short *__c)
08005 {
08006   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08007 }
08008 
08009 static void __ATTRS_o_ai
08010 vec_stvxl(vector short __a, int __b, short *__c)
08011 {
08012   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08013 }
08014 
08015 static void __ATTRS_o_ai
08016 vec_stvxl(vector unsigned short __a, int __b, vector unsigned short *__c)
08017 {
08018   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08019 }
08020 
08021 static void __ATTRS_o_ai
08022 vec_stvxl(vector unsigned short __a, int __b, unsigned short *__c)
08023 {
08024   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08025 }
08026 
08027 static void __ATTRS_o_ai
08028 vec_stvxl(vector bool short __a, int __b, short *__c)
08029 {
08030   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08031 }
08032 
08033 static void __ATTRS_o_ai
08034 vec_stvxl(vector bool short __a, int __b, unsigned short *__c)
08035 {
08036   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08037 }
08038 
08039 static void __ATTRS_o_ai
08040 vec_stvxl(vector bool short __a, int __b, vector bool short *__c)
08041 {
08042   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08043 }
08044 
08045 static void __ATTRS_o_ai
08046 vec_stvxl(vector pixel __a, int __b, short *__c)
08047 {
08048   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08049 }
08050 
08051 static void __ATTRS_o_ai
08052 vec_stvxl(vector pixel __a, int __b, unsigned short *__c)
08053 {
08054   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08055 }
08056 
08057 static void __ATTRS_o_ai
08058 vec_stvxl(vector pixel __a, int __b, vector pixel *__c)
08059 {
08060   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08061 }
08062 
08063 static void __ATTRS_o_ai
08064 vec_stvxl(vector int __a, int __b, vector int *__c)
08065 {
08066   __builtin_altivec_stvxl(__a, __b, __c);
08067 }
08068 
08069 static void __ATTRS_o_ai
08070 vec_stvxl(vector int __a, int __b, int *__c)
08071 {
08072   __builtin_altivec_stvxl(__a, __b, __c);
08073 }
08074 
08075 static void __ATTRS_o_ai
08076 vec_stvxl(vector unsigned int __a, int __b, vector unsigned int *__c)
08077 {
08078   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08079 }
08080 
08081 static void __ATTRS_o_ai
08082 vec_stvxl(vector unsigned int __a, int __b, unsigned int *__c)
08083 {
08084   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08085 }
08086 
08087 static void __ATTRS_o_ai
08088 vec_stvxl(vector bool int __a, int __b, int *__c)
08089 {
08090   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08091 }
08092 
08093 static void __ATTRS_o_ai
08094 vec_stvxl(vector bool int __a, int __b, unsigned int *__c)
08095 {
08096   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08097 }
08098 
08099 static void __ATTRS_o_ai
08100 vec_stvxl(vector bool int __a, int __b, vector bool int *__c)
08101 {
08102   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08103 }
08104 
08105 static void __ATTRS_o_ai
08106 vec_stvxl(vector float __a, int __b, vector float *__c)
08107 {
08108   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08109 }
08110 
08111 static void __ATTRS_o_ai
08112 vec_stvxl(vector float __a, int __b, float *__c)
08113 {
08114   __builtin_altivec_stvxl((vector int)__a, __b, __c);
08115 }
08116 
08117 /* vec_sub */
08118 
08119 static vector signed char __ATTRS_o_ai
08120 vec_sub(vector signed char __a, vector signed char __b)
08121 {
08122   return __a - __b;
08123 }
08124 
08125 static vector signed char __ATTRS_o_ai
08126 vec_sub(vector bool char __a, vector signed char __b)
08127 {
08128   return (vector signed char)__a - __b;
08129 }
08130 
08131 static vector signed char __ATTRS_o_ai
08132 vec_sub(vector signed char __a, vector bool char __b)
08133 {
08134   return __a - (vector signed char)__b;
08135 }
08136 
08137 static vector unsigned char __ATTRS_o_ai
08138 vec_sub(vector unsigned char __a, vector unsigned char __b)
08139 {
08140   return __a - __b;
08141 }
08142 
08143 static vector unsigned char __ATTRS_o_ai
08144 vec_sub(vector bool char __a, vector unsigned char __b)
08145 {
08146   return (vector unsigned char)__a - __b;
08147 }
08148 
08149 static vector unsigned char __ATTRS_o_ai
08150 vec_sub(vector unsigned char __a, vector bool char __b)
08151 {
08152   return __a - (vector unsigned char)__b;
08153 }
08154 
08155 static vector short __ATTRS_o_ai
08156 vec_sub(vector short __a, vector short __b)
08157 {
08158   return __a - __b;
08159 }
08160 
08161 static vector short __ATTRS_o_ai
08162 vec_sub(vector bool short __a, vector short __b)
08163 {
08164   return (vector short)__a - __b;
08165 }
08166 
08167 static vector short __ATTRS_o_ai
08168 vec_sub(vector short __a, vector bool short __b)
08169 {
08170   return __a - (vector short)__b;
08171 }
08172 
08173 static vector unsigned short __ATTRS_o_ai
08174 vec_sub(vector unsigned short __a, vector unsigned short __b)
08175 {
08176   return __a - __b;
08177 }
08178 
08179 static vector unsigned short __ATTRS_o_ai
08180 vec_sub(vector bool short __a, vector unsigned short __b)
08181 {
08182   return (vector unsigned short)__a - __b;
08183 }
08184 
08185 static vector unsigned short __ATTRS_o_ai
08186 vec_sub(vector unsigned short __a, vector bool short __b)
08187 {
08188   return __a - (vector unsigned short)__b;
08189 }
08190 
08191 static vector int __ATTRS_o_ai
08192 vec_sub(vector int __a, vector int __b)
08193 {
08194   return __a - __b;
08195 }
08196 
08197 static vector int __ATTRS_o_ai
08198 vec_sub(vector bool int __a, vector int __b)
08199 {
08200   return (vector int)__a - __b;
08201 }
08202 
08203 static vector int __ATTRS_o_ai
08204 vec_sub(vector int __a, vector bool int __b)
08205 {
08206   return __a - (vector int)__b;
08207 }
08208 
08209 static vector unsigned int __ATTRS_o_ai
08210 vec_sub(vector unsigned int __a, vector unsigned int __b)
08211 {
08212   return __a - __b;
08213 }
08214 
08215 static vector unsigned int __ATTRS_o_ai
08216 vec_sub(vector bool int __a, vector unsigned int __b)
08217 {
08218   return (vector unsigned int)__a - __b;
08219 }
08220 
08221 static vector unsigned int __ATTRS_o_ai
08222 vec_sub(vector unsigned int __a, vector bool int __b)
08223 {
08224   return __a - (vector unsigned int)__b;
08225 }
08226 
08227 static vector float __ATTRS_o_ai
08228 vec_sub(vector float __a, vector float __b)
08229 {
08230   return __a - __b;
08231 }
08232 
08233 /* vec_vsububm */
08234 
08235 #define __builtin_altivec_vsububm vec_vsububm
08236 
08237 static vector signed char __ATTRS_o_ai
08238 vec_vsububm(vector signed char __a, vector signed char __b)
08239 {
08240   return __a - __b;
08241 }
08242 
08243 static vector signed char __ATTRS_o_ai
08244 vec_vsububm(vector bool char __a, vector signed char __b)
08245 {
08246   return (vector signed char)__a - __b;
08247 }
08248 
08249 static vector signed char __ATTRS_o_ai
08250 vec_vsububm(vector signed char __a, vector bool char __b)
08251 {
08252   return __a - (vector signed char)__b;
08253 }
08254 
08255 static vector unsigned char __ATTRS_o_ai
08256 vec_vsububm(vector unsigned char __a, vector unsigned char __b)
08257 {
08258   return __a - __b;
08259 }
08260 
08261 static vector unsigned char __ATTRS_o_ai
08262 vec_vsububm(vector bool char __a, vector unsigned char __b)
08263 {
08264   return (vector unsigned char)__a - __b;
08265 }
08266 
08267 static vector unsigned char __ATTRS_o_ai
08268 vec_vsububm(vector unsigned char __a, vector bool char __b)
08269 {
08270   return __a - (vector unsigned char)__b;
08271 }
08272 
08273 /* vec_vsubuhm */
08274 
08275 #define __builtin_altivec_vsubuhm vec_vsubuhm
08276 
08277 static vector short __ATTRS_o_ai
08278 vec_vsubuhm(vector short __a, vector short __b)
08279 {
08280   return __a - __b;
08281 }
08282 
08283 static vector short __ATTRS_o_ai
08284 vec_vsubuhm(vector bool short __a, vector short __b)
08285 {
08286   return (vector short)__a - __b;
08287 }
08288 
08289 static vector short __ATTRS_o_ai
08290 vec_vsubuhm(vector short __a, vector bool short __b)
08291 {
08292   return __a - (vector short)__b;
08293 }
08294 
08295 static vector unsigned short __ATTRS_o_ai
08296 vec_vsubuhm(vector unsigned short __a, vector unsigned short __b)
08297 {
08298   return __a - __b;
08299 }
08300 
08301 static vector unsigned short __ATTRS_o_ai
08302 vec_vsubuhm(vector bool short __a, vector unsigned short __b)
08303 {
08304   return (vector unsigned short)__a - __b;
08305 }
08306 
08307 static vector unsigned short __ATTRS_o_ai
08308 vec_vsubuhm(vector unsigned short __a, vector bool short __b)
08309 {
08310   return __a - (vector unsigned short)__b;
08311 }
08312 
08313 /* vec_vsubuwm */
08314 
08315 #define __builtin_altivec_vsubuwm vec_vsubuwm
08316 
08317 static vector int __ATTRS_o_ai
08318 vec_vsubuwm(vector int __a, vector int __b)
08319 {
08320   return __a - __b;
08321 }
08322 
08323 static vector int __ATTRS_o_ai
08324 vec_vsubuwm(vector bool int __a, vector int __b)
08325 {
08326   return (vector int)__a - __b;
08327 }
08328 
08329 static vector int __ATTRS_o_ai
08330 vec_vsubuwm(vector int __a, vector bool int __b)
08331 {
08332   return __a - (vector int)__b;
08333 }
08334 
08335 static vector unsigned int __ATTRS_o_ai
08336 vec_vsubuwm(vector unsigned int __a, vector unsigned int __b)
08337 {
08338   return __a - __b;
08339 }
08340 
08341 static vector unsigned int __ATTRS_o_ai
08342 vec_vsubuwm(vector bool int __a, vector unsigned int __b)
08343 {
08344   return (vector unsigned int)__a - __b;
08345 }
08346 
08347 static vector unsigned int __ATTRS_o_ai
08348 vec_vsubuwm(vector unsigned int __a, vector bool int __b)
08349 {
08350   return __a - (vector unsigned int)__b;
08351 }
08352 
08353 /* vec_vsubfp */
08354 
08355 #define __builtin_altivec_vsubfp vec_vsubfp
08356 
08357 static vector float __attribute__((__always_inline__))
08358 vec_vsubfp(vector float __a, vector float __b)
08359 {
08360   return __a - __b;
08361 }
08362 
08363 /* vec_subc */
08364 
08365 static vector unsigned int __attribute__((__always_inline__))
08366 vec_subc(vector unsigned int __a, vector unsigned int __b)
08367 {
08368   return __builtin_altivec_vsubcuw(__a, __b);
08369 }
08370 
08371 /* vec_vsubcuw */
08372 
08373 static vector unsigned int __attribute__((__always_inline__))
08374 vec_vsubcuw(vector unsigned int __a, vector unsigned int __b)
08375 {
08376   return __builtin_altivec_vsubcuw(__a, __b);
08377 }
08378 
08379 /* vec_subs */
08380 
08381 static vector signed char __ATTRS_o_ai
08382 vec_subs(vector signed char __a, vector signed char __b)
08383 {
08384   return __builtin_altivec_vsubsbs(__a, __b);
08385 }
08386 
08387 static vector signed char __ATTRS_o_ai
08388 vec_subs(vector bool char __a, vector signed char __b)
08389 {
08390   return __builtin_altivec_vsubsbs((vector signed char)__a, __b);
08391 }
08392 
08393 static vector signed char __ATTRS_o_ai
08394 vec_subs(vector signed char __a, vector bool char __b)
08395 {
08396   return __builtin_altivec_vsubsbs(__a, (vector signed char)__b);
08397 }
08398 
08399 static vector unsigned char __ATTRS_o_ai
08400 vec_subs(vector unsigned char __a, vector unsigned char __b)
08401 {
08402   return __builtin_altivec_vsububs(__a, __b);
08403 }
08404 
08405 static vector unsigned char __ATTRS_o_ai
08406 vec_subs(vector bool char __a, vector unsigned char __b)
08407 {
08408   return __builtin_altivec_vsububs((vector unsigned char)__a, __b);
08409 }
08410 
08411 static vector unsigned char __ATTRS_o_ai
08412 vec_subs(vector unsigned char __a, vector bool char __b)
08413 {
08414   return __builtin_altivec_vsububs(__a, (vector unsigned char)__b);
08415 }
08416 
08417 static vector short __ATTRS_o_ai
08418 vec_subs(vector short __a, vector short __b)
08419 {
08420   return __builtin_altivec_vsubshs(__a, __b);
08421 }
08422 
08423 static vector short __ATTRS_o_ai
08424 vec_subs(vector bool short __a, vector short __b)
08425 {
08426   return __builtin_altivec_vsubshs((vector short)__a, __b);
08427 }
08428 
08429 static vector short __ATTRS_o_ai
08430 vec_subs(vector short __a, vector bool short __b)
08431 {
08432   return __builtin_altivec_vsubshs(__a, (vector short)__b);
08433 }
08434 
08435 static vector unsigned short __ATTRS_o_ai
08436 vec_subs(vector unsigned short __a, vector unsigned short __b)
08437 {
08438   return __builtin_altivec_vsubuhs(__a, __b);
08439 }
08440 
08441 static vector unsigned short __ATTRS_o_ai
08442 vec_subs(vector bool short __a, vector unsigned short __b)
08443 {
08444   return __builtin_altivec_vsubuhs((vector unsigned short)__a, __b);
08445 }
08446 
08447 static vector unsigned short __ATTRS_o_ai
08448 vec_subs(vector unsigned short __a, vector bool short __b)
08449 {
08450   return __builtin_altivec_vsubuhs(__a, (vector unsigned short)__b);
08451 }
08452 
08453 static vector int __ATTRS_o_ai
08454 vec_subs(vector int __a, vector int __b)
08455 {
08456   return __builtin_altivec_vsubsws(__a, __b);
08457 }
08458 
08459 static vector int __ATTRS_o_ai
08460 vec_subs(vector bool int __a, vector int __b)
08461 {
08462   return __builtin_altivec_vsubsws((vector int)__a, __b);
08463 }
08464 
08465 static vector int __ATTRS_o_ai
08466 vec_subs(vector int __a, vector bool int __b)
08467 {
08468   return __builtin_altivec_vsubsws(__a, (vector int)__b);
08469 }
08470 
08471 static vector unsigned int __ATTRS_o_ai
08472 vec_subs(vector unsigned int __a, vector unsigned int __b)
08473 {
08474   return __builtin_altivec_vsubuws(__a, __b);
08475 }
08476 
08477 static vector unsigned int __ATTRS_o_ai
08478 vec_subs(vector bool int __a, vector unsigned int __b)
08479 {
08480   return __builtin_altivec_vsubuws((vector unsigned int)__a, __b);
08481 }
08482 
08483 static vector unsigned int __ATTRS_o_ai
08484 vec_subs(vector unsigned int __a, vector bool int __b)
08485 {
08486   return __builtin_altivec_vsubuws(__a, (vector unsigned int)__b);
08487 }
08488 
08489 /* vec_vsubsbs */
08490 
08491 static vector signed char __ATTRS_o_ai
08492 vec_vsubsbs(vector signed char __a, vector signed char __b)
08493 {
08494   return __builtin_altivec_vsubsbs(__a, __b);
08495 }
08496 
08497 static vector signed char __ATTRS_o_ai
08498 vec_vsubsbs(vector bool char __a, vector signed char __b)
08499 {
08500   return __builtin_altivec_vsubsbs((vector signed char)__a, __b);
08501 }
08502 
08503 static vector signed char __ATTRS_o_ai
08504 vec_vsubsbs(vector signed char __a, vector bool char __b)
08505 {
08506   return __builtin_altivec_vsubsbs(__a, (vector signed char)__b);
08507 }
08508 
08509 /* vec_vsububs */
08510 
08511 static vector unsigned char __ATTRS_o_ai
08512 vec_vsububs(vector unsigned char __a, vector unsigned char __b)
08513 {
08514   return __builtin_altivec_vsububs(__a, __b);
08515 }
08516 
08517 static vector unsigned char __ATTRS_o_ai
08518 vec_vsububs(vector bool char __a, vector unsigned char __b)
08519 {
08520   return __builtin_altivec_vsububs((vector unsigned char)__a, __b);
08521 }
08522 
08523 static vector unsigned char __ATTRS_o_ai
08524 vec_vsububs(vector unsigned char __a, vector bool char __b)
08525 {
08526   return __builtin_altivec_vsububs(__a, (vector unsigned char)__b);
08527 }
08528 
08529 /* vec_vsubshs */
08530 
08531 static vector short __ATTRS_o_ai
08532 vec_vsubshs(vector short __a, vector short __b)
08533 {
08534   return __builtin_altivec_vsubshs(__a, __b);
08535 }
08536 
08537 static vector short __ATTRS_o_ai
08538 vec_vsubshs(vector bool short __a, vector short __b)
08539 {
08540   return __builtin_altivec_vsubshs((vector short)__a, __b);
08541 }
08542 
08543 static vector short __ATTRS_o_ai
08544 vec_vsubshs(vector short __a, vector bool short __b)
08545 {
08546   return __builtin_altivec_vsubshs(__a, (vector short)__b);
08547 }
08548 
08549 /* vec_vsubuhs */
08550 
08551 static vector unsigned short __ATTRS_o_ai
08552 vec_vsubuhs(vector unsigned short __a, vector unsigned short __b)
08553 {
08554   return __builtin_altivec_vsubuhs(__a, __b);
08555 }
08556 
08557 static vector unsigned short __ATTRS_o_ai
08558 vec_vsubuhs(vector bool short __a, vector unsigned short __b)
08559 {
08560   return __builtin_altivec_vsubuhs((vector unsigned short)__a, __b);
08561 }
08562 
08563 static vector unsigned short __ATTRS_o_ai
08564 vec_vsubuhs(vector unsigned short __a, vector bool short __b)
08565 {
08566   return __builtin_altivec_vsubuhs(__a, (vector unsigned short)__b);
08567 }
08568 
08569 /* vec_vsubsws */
08570 
08571 static vector int __ATTRS_o_ai
08572 vec_vsubsws(vector int __a, vector int __b)
08573 {
08574   return __builtin_altivec_vsubsws(__a, __b);
08575 }
08576 
08577 static vector int __ATTRS_o_ai
08578 vec_vsubsws(vector bool int __a, vector int __b)
08579 {
08580   return __builtin_altivec_vsubsws((vector int)__a, __b);
08581 }
08582 
08583 static vector int __ATTRS_o_ai
08584 vec_vsubsws(vector int __a, vector bool int __b)
08585 {
08586   return __builtin_altivec_vsubsws(__a, (vector int)__b);
08587 }
08588 
08589 /* vec_vsubuws */
08590 
08591 static vector unsigned int __ATTRS_o_ai
08592 vec_vsubuws(vector unsigned int __a, vector unsigned int __b)
08593 {
08594   return __builtin_altivec_vsubuws(__a, __b);
08595 }
08596 
08597 static vector unsigned int __ATTRS_o_ai
08598 vec_vsubuws(vector bool int __a, vector unsigned int __b)
08599 {
08600   return __builtin_altivec_vsubuws((vector unsigned int)__a, __b);
08601 }
08602 
08603 static vector unsigned int __ATTRS_o_ai
08604 vec_vsubuws(vector unsigned int __a, vector bool int __b)
08605 {
08606   return __builtin_altivec_vsubuws(__a, (vector unsigned int)__b);
08607 }
08608 
08609 /* vec_sum4s */
08610 
08611 static vector int __ATTRS_o_ai
08612 vec_sum4s(vector signed char __a, vector int __b)
08613 {
08614   return __builtin_altivec_vsum4sbs(__a, __b);
08615 }
08616 
08617 static vector unsigned int __ATTRS_o_ai
08618 vec_sum4s(vector unsigned char __a, vector unsigned int __b)
08619 {
08620   return __builtin_altivec_vsum4ubs(__a, __b);
08621 }
08622 
08623 static vector int __ATTRS_o_ai
08624 vec_sum4s(vector signed short __a, vector int __b)
08625 {
08626   return __builtin_altivec_vsum4shs(__a, __b);
08627 }
08628 
08629 /* vec_vsum4sbs */
08630 
08631 static vector int __attribute__((__always_inline__))
08632 vec_vsum4sbs(vector signed char __a, vector int __b)
08633 {
08634   return __builtin_altivec_vsum4sbs(__a, __b);
08635 }
08636 
08637 /* vec_vsum4ubs */
08638 
08639 static vector unsigned int __attribute__((__always_inline__))
08640 vec_vsum4ubs(vector unsigned char __a, vector unsigned int __b)
08641 {
08642   return __builtin_altivec_vsum4ubs(__a, __b);
08643 }
08644 
08645 /* vec_vsum4shs */
08646 
08647 static vector int __attribute__((__always_inline__))
08648 vec_vsum4shs(vector signed short __a, vector int __b)
08649 {
08650   return __builtin_altivec_vsum4shs(__a, __b);
08651 }
08652 
08653 /* vec_sum2s */
08654 
08655 /* The vsum2sws instruction has a big-endian bias, so that the second
08656    input vector and the result always reference big-endian elements
08657    1 and 3 (little-endian element 0 and 2).  For ease of porting the
08658    programmer wants elements 1 and 3 in both cases, so for little
08659    endian we must perform some permutes.  */
08660 
08661 static vector signed int __attribute__((__always_inline__))
08662 vec_sum2s(vector int __a, vector int __b)
08663 {
08664 #ifdef __LITTLE_ENDIAN__
08665   vector int __c = (vector signed int)
08666     vec_perm(__b, __b, (vector unsigned char)
08667        (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
08668   __c = __builtin_altivec_vsum2sws(__a, __c);
08669   return (vector signed int)
08670     vec_perm(__c, __c, (vector unsigned char)
08671        (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
08672 #else
08673   return __builtin_altivec_vsum2sws(__a, __b);
08674 #endif
08675 }
08676 
08677 /* vec_vsum2sws */
08678 
08679 static vector signed int __attribute__((__always_inline__))
08680 vec_vsum2sws(vector int __a, vector int __b)
08681 {
08682 #ifdef __LITTLE_ENDIAN__
08683   vector int __c = (vector signed int)
08684     vec_perm(__b, __b, (vector unsigned char)
08685        (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
08686   __c = __builtin_altivec_vsum2sws(__a, __c);
08687   return (vector signed int)
08688     vec_perm(__c, __c, (vector unsigned char)
08689        (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
08690 #else
08691   return __builtin_altivec_vsum2sws(__a, __b);
08692 #endif
08693 }
08694 
08695 /* vec_sums */
08696 
08697 /* The vsumsws instruction has a big-endian bias, so that the second
08698    input vector and the result always reference big-endian element 3
08699    (little-endian element 0).  For ease of porting the programmer
08700    wants element 3 in both cases, so for little endian we must perform
08701    some permutes.  */
08702 
08703 static vector signed int __attribute__((__always_inline__))
08704 vec_sums(vector signed int __a, vector signed int __b)
08705 {
08706 #ifdef __LITTLE_ENDIAN__
08707   __b = (vector signed int)vec_splat(__b, 3);
08708   __b = __builtin_altivec_vsumsws(__a, __b);
08709   return (vector signed int)(0, 0, 0, __b[0]);
08710 #else
08711   return __builtin_altivec_vsumsws(__a, __b);
08712 #endif
08713 }
08714 
08715 /* vec_vsumsws */
08716 
08717 static vector signed int __attribute__((__always_inline__))
08718 vec_vsumsws(vector signed int __a, vector signed int __b)
08719 {
08720 #ifdef __LITTLE_ENDIAN__
08721   __b = (vector signed int)vec_splat(__b, 3);
08722   __b = __builtin_altivec_vsumsws(__a, __b);
08723   return (vector signed int)(0, 0, 0, __b[0]);
08724 #else
08725   return __builtin_altivec_vsumsws(__a, __b);
08726 #endif
08727 }
08728 
08729 /* vec_trunc */
08730 
08731 static vector float __attribute__((__always_inline__))
08732 vec_trunc(vector float __a)
08733 {
08734   return __builtin_altivec_vrfiz(__a);
08735 }
08736 
08737 /* vec_vrfiz */
08738 
08739 static vector float __attribute__((__always_inline__))
08740 vec_vrfiz(vector float __a)
08741 {
08742   return __builtin_altivec_vrfiz(__a);
08743 }
08744 
08745 /* vec_unpackh */
08746 
08747 /* The vector unpack instructions all have a big-endian bias, so for
08748    little endian we must reverse the meanings of "high" and "low."  */
08749 
08750 static vector short __ATTRS_o_ai
08751 vec_unpackh(vector signed char __a)
08752 {
08753 #ifdef __LITTLE_ENDIAN__
08754   return __builtin_altivec_vupklsb((vector char)__a);
08755 #else
08756   return __builtin_altivec_vupkhsb((vector char)__a);
08757 #endif
08758 }
08759 
08760 static vector bool short __ATTRS_o_ai
08761 vec_unpackh(vector bool char __a)
08762 {
08763 #ifdef __LITTLE_ENDIAN__
08764   return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
08765 #else
08766   return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
08767 #endif
08768 }
08769 
08770 static vector int __ATTRS_o_ai
08771 vec_unpackh(vector short __a)
08772 {
08773 #ifdef __LITTLE_ENDIAN__
08774   return __builtin_altivec_vupklsh(__a);
08775 #else
08776   return __builtin_altivec_vupkhsh(__a);
08777 #endif
08778 }
08779 
08780 static vector bool int __ATTRS_o_ai
08781 vec_unpackh(vector bool short __a)
08782 {
08783 #ifdef __LITTLE_ENDIAN__
08784   return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
08785 #else
08786   return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
08787 #endif
08788 }
08789 
08790 static vector unsigned int __ATTRS_o_ai
08791 vec_unpackh(vector pixel __a)
08792 {
08793 #ifdef __LITTLE_ENDIAN__
08794   return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
08795 #else
08796   return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
08797 #endif
08798 }
08799 
08800 /* vec_vupkhsb */
08801 
08802 static vector short __ATTRS_o_ai
08803 vec_vupkhsb(vector signed char __a)
08804 {
08805 #ifdef __LITTLE_ENDIAN__
08806   return __builtin_altivec_vupklsb((vector char)__a);
08807 #else
08808   return __builtin_altivec_vupkhsb((vector char)__a);
08809 #endif
08810 }
08811 
08812 static vector bool short __ATTRS_o_ai
08813 vec_vupkhsb(vector bool char __a)
08814 {
08815 #ifdef __LITTLE_ENDIAN__
08816   return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
08817 #else
08818   return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
08819 #endif
08820 }
08821 
08822 /* vec_vupkhsh */
08823 
08824 static vector int __ATTRS_o_ai
08825 vec_vupkhsh(vector short __a)
08826 {
08827 #ifdef __LITTLE_ENDIAN__
08828   return __builtin_altivec_vupklsh(__a);
08829 #else
08830   return __builtin_altivec_vupkhsh(__a);
08831 #endif
08832 }
08833 
08834 static vector bool int __ATTRS_o_ai
08835 vec_vupkhsh(vector bool short __a)
08836 {
08837 #ifdef __LITTLE_ENDIAN__
08838   return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
08839 #else
08840   return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
08841 #endif
08842 }
08843 
08844 static vector unsigned int __ATTRS_o_ai
08845 vec_vupkhsh(vector pixel __a)
08846 {
08847 #ifdef __LITTLE_ENDIAN__
08848   return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
08849 #else
08850   return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
08851 #endif
08852 }
08853 
08854 /* vec_unpackl */
08855 
08856 static vector short __ATTRS_o_ai
08857 vec_unpackl(vector signed char __a)
08858 {
08859 #ifdef __LITTLE_ENDIAN__
08860   return __builtin_altivec_vupkhsb((vector char)__a);
08861 #else
08862   return __builtin_altivec_vupklsb((vector char)__a);
08863 #endif
08864 }
08865 
08866 static vector bool short __ATTRS_o_ai
08867 vec_unpackl(vector bool char __a)
08868 {
08869 #ifdef __LITTLE_ENDIAN__
08870   return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
08871 #else
08872   return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
08873 #endif
08874 }
08875 
08876 static vector int __ATTRS_o_ai
08877 vec_unpackl(vector short __a)
08878 {
08879 #ifdef __LITTLE_ENDIAN__
08880   return __builtin_altivec_vupkhsh(__a);
08881 #else
08882   return __builtin_altivec_vupklsh(__a);
08883 #endif
08884 }
08885 
08886 static vector bool int __ATTRS_o_ai
08887 vec_unpackl(vector bool short __a)
08888 {
08889 #ifdef __LITTLE_ENDIAN__
08890   return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
08891 #else
08892   return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
08893 #endif
08894 }
08895 
08896 static vector unsigned int __ATTRS_o_ai
08897 vec_unpackl(vector pixel __a)
08898 {
08899 #ifdef __LITTLE_ENDIAN__
08900   return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
08901 #else
08902   return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
08903 #endif
08904 }
08905 
08906 /* vec_vupklsb */
08907 
08908 static vector short __ATTRS_o_ai
08909 vec_vupklsb(vector signed char __a)
08910 {
08911 #ifdef __LITTLE_ENDIAN__
08912   return __builtin_altivec_vupkhsb((vector char)__a);
08913 #else
08914   return __builtin_altivec_vupklsb((vector char)__a);
08915 #endif
08916 }
08917 
08918 static vector bool short __ATTRS_o_ai
08919 vec_vupklsb(vector bool char __a)
08920 {
08921 #ifdef __LITTLE_ENDIAN__
08922   return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
08923 #else
08924   return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
08925 #endif
08926 }
08927 
08928 /* vec_vupklsh */
08929 
08930 static vector int __ATTRS_o_ai
08931 vec_vupklsh(vector short __a)
08932 {
08933 #ifdef __LITTLE_ENDIAN__
08934   return __builtin_altivec_vupkhsh(__a);
08935 #else
08936   return __builtin_altivec_vupklsh(__a);
08937 #endif
08938 }
08939 
08940 static vector bool int __ATTRS_o_ai
08941 vec_vupklsh(vector bool short __a)
08942 {
08943 #ifdef __LITTLE_ENDIAN__
08944   return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
08945 #else
08946   return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
08947 #endif
08948 }
08949 
08950 static vector unsigned int __ATTRS_o_ai
08951 vec_vupklsh(vector pixel __a)
08952 {
08953 #ifdef __LITTLE_ENDIAN__
08954   return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
08955 #else
08956   return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
08957 #endif
08958 }
08959 
08960 /* vec_vsx_ld */
08961 
08962 #ifdef __VSX__
08963 
08964 static vector signed int __ATTRS_o_ai
08965 vec_vsx_ld(int __a, const vector signed int *__b)
08966 {
08967   return (vector signed int)__builtin_vsx_lxvw4x(__a, __b);
08968 }
08969 
08970 static vector unsigned int __ATTRS_o_ai
08971 vec_vsx_ld(int __a, const vector unsigned int *__b)
08972 {
08973   return (vector unsigned int)__builtin_vsx_lxvw4x(__a, __b);
08974 }
08975 
08976 static vector float __ATTRS_o_ai
08977 vec_vsx_ld(int __a, const vector float *__b)
08978 {
08979   return (vector float)__builtin_vsx_lxvw4x(__a, __b);
08980 }
08981 
08982 static vector signed long long __ATTRS_o_ai
08983 vec_vsx_ld(int __a, const vector signed long long *__b)
08984 {
08985   return (vector signed long long)__builtin_vsx_lxvd2x(__a, __b);
08986 }
08987 
08988 static vector unsigned long long __ATTRS_o_ai
08989 vec_vsx_ld(int __a, const vector unsigned long long *__b)
08990 {
08991   return (vector unsigned long long)__builtin_vsx_lxvd2x(__a, __b);
08992 }
08993 
08994 static vector double __ATTRS_o_ai
08995 vec_vsx_ld(int __a, const vector double *__b)
08996 {
08997   return (vector double)__builtin_vsx_lxvd2x(__a, __b);
08998 }
08999 
09000 #endif
09001 
09002 /* vec_vsx_st */
09003 
09004 #ifdef __VSX__
09005 
09006 static void __ATTRS_o_ai
09007 vec_vsx_st(vector signed int __a, int __b, vector signed int *__c)
09008 {
09009   __builtin_vsx_stxvw4x((vector int)__a, __b, __c);
09010 }
09011 
09012 static void __ATTRS_o_ai
09013 vec_vsx_st(vector unsigned int __a, int __b, vector unsigned int *__c)
09014 {
09015   __builtin_vsx_stxvw4x((vector int)__a, __b, __c);
09016 }
09017 
09018 static void __ATTRS_o_ai
09019 vec_vsx_st(vector float __a, int __b, vector float *__c)
09020 {
09021   __builtin_vsx_stxvw4x((vector int)__a, __b, __c);
09022 }
09023 
09024 static void __ATTRS_o_ai
09025 vec_vsx_st(vector signed long long __a, int __b, vector signed long long *__c)
09026 {
09027   __builtin_vsx_stxvd2x((vector double)__a, __b, __c);
09028 }
09029 
09030 static void __ATTRS_o_ai
09031 vec_vsx_st(vector unsigned long long __a, int __b,
09032            vector unsigned long long *__c)
09033 {
09034   __builtin_vsx_stxvd2x((vector double)__a, __b, __c);
09035 }
09036 
09037 static void __ATTRS_o_ai
09038 vec_vsx_st(vector double __a, int __b, vector double *__c)
09039 {
09040   __builtin_vsx_stxvd2x((vector double)__a, __b, __c);
09041 }
09042 
09043 #endif
09044 
09045 /* vec_xor */
09046 
09047 #define __builtin_altivec_vxor vec_xor
09048 
09049 static vector signed char __ATTRS_o_ai
09050 vec_xor(vector signed char __a, vector signed char __b)
09051 {
09052   return __a ^ __b;
09053 }
09054 
09055 static vector signed char __ATTRS_o_ai
09056 vec_xor(vector bool char __a, vector signed char __b)
09057 {
09058   return (vector signed char)__a ^ __b;
09059 }
09060 
09061 static vector signed char __ATTRS_o_ai
09062 vec_xor(vector signed char __a, vector bool char __b)
09063 {
09064   return __a ^ (vector signed char)__b;
09065 }
09066 
09067 static vector unsigned char __ATTRS_o_ai
09068 vec_xor(vector unsigned char __a, vector unsigned char __b)
09069 {
09070   return __a ^ __b;
09071 }
09072 
09073 static vector unsigned char __ATTRS_o_ai
09074 vec_xor(vector bool char __a, vector unsigned char __b)
09075 {
09076   return (vector unsigned char)__a ^ __b;
09077 }
09078 
09079 static vector unsigned char __ATTRS_o_ai
09080 vec_xor(vector unsigned char __a, vector bool char __b)
09081 {
09082   return __a ^ (vector unsigned char)__b;
09083 }
09084 
09085 static vector bool char __ATTRS_o_ai
09086 vec_xor(vector bool char __a, vector bool char __b)
09087 {
09088   return __a ^ __b;
09089 }
09090 
09091 static vector short __ATTRS_o_ai
09092 vec_xor(vector short __a, vector short __b)
09093 {
09094   return __a ^ __b;
09095 }
09096 
09097 static vector short __ATTRS_o_ai
09098 vec_xor(vector bool short __a, vector short __b)
09099 {
09100   return (vector short)__a ^ __b;
09101 }
09102 
09103 static vector short __ATTRS_o_ai
09104 vec_xor(vector short __a, vector bool short __b)
09105 {
09106   return __a ^ (vector short)__b;
09107 }
09108 
09109 static vector unsigned short __ATTRS_o_ai
09110 vec_xor(vector unsigned short __a, vector unsigned short __b)
09111 {
09112   return __a ^ __b;
09113 }
09114 
09115 static vector unsigned short __ATTRS_o_ai
09116 vec_xor(vector bool short __a, vector unsigned short __b)
09117 {
09118   return (vector unsigned short)__a ^ __b;
09119 }
09120 
09121 static vector unsigned short __ATTRS_o_ai
09122 vec_xor(vector unsigned short __a, vector bool short __b)
09123 {
09124   return __a ^ (vector unsigned short)__b;
09125 }
09126 
09127 static vector bool short __ATTRS_o_ai
09128 vec_xor(vector bool short __a, vector bool short __b)
09129 {
09130   return __a ^ __b;
09131 }
09132 
09133 static vector int __ATTRS_o_ai
09134 vec_xor(vector int __a, vector int __b)
09135 {
09136   return __a ^ __b;
09137 }
09138 
09139 static vector int __ATTRS_o_ai
09140 vec_xor(vector bool int __a, vector int __b)
09141 {
09142   return (vector int)__a ^ __b;
09143 }
09144 
09145 static vector int __ATTRS_o_ai
09146 vec_xor(vector int __a, vector bool int __b)
09147 {
09148   return __a ^ (vector int)__b;
09149 }
09150 
09151 static vector unsigned int __ATTRS_o_ai
09152 vec_xor(vector unsigned int __a, vector unsigned int __b)
09153 {
09154   return __a ^ __b;
09155 }
09156 
09157 static vector unsigned int __ATTRS_o_ai
09158 vec_xor(vector bool int __a, vector unsigned int __b)
09159 {
09160   return (vector unsigned int)__a ^ __b;
09161 }
09162 
09163 static vector unsigned int __ATTRS_o_ai
09164 vec_xor(vector unsigned int __a, vector bool int __b)
09165 {
09166   return __a ^ (vector unsigned int)__b;
09167 }
09168 
09169 static vector bool int __ATTRS_o_ai
09170 vec_xor(vector bool int __a, vector bool int __b)
09171 {
09172   return __a ^ __b;
09173 }
09174 
09175 static vector float __ATTRS_o_ai
09176 vec_xor(vector float __a, vector float __b)
09177 {
09178   vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
09179   return (vector float)__res;
09180 }
09181 
09182 static vector float __ATTRS_o_ai
09183 vec_xor(vector bool int __a, vector float __b)
09184 {
09185   vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
09186   return (vector float)__res;
09187 }
09188 
09189 static vector float __ATTRS_o_ai
09190 vec_xor(vector float __a, vector bool int __b)
09191 {
09192   vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
09193   return (vector float)__res;
09194 }
09195 
09196 /* vec_vxor */
09197 
09198 static vector signed char __ATTRS_o_ai
09199 vec_vxor(vector signed char __a, vector signed char __b)
09200 {
09201   return __a ^ __b;
09202 }
09203 
09204 static vector signed char __ATTRS_o_ai
09205 vec_vxor(vector bool char __a, vector signed char __b)
09206 {
09207   return (vector signed char)__a ^ __b;
09208 }
09209 
09210 static vector signed char __ATTRS_o_ai
09211 vec_vxor(vector signed char __a, vector bool char __b)
09212 {
09213   return __a ^ (vector signed char)__b;
09214 }
09215 
09216 static vector unsigned char __ATTRS_o_ai
09217 vec_vxor(vector unsigned char __a, vector unsigned char __b)
09218 {
09219   return __a ^ __b;
09220 }
09221 
09222 static vector unsigned char __ATTRS_o_ai
09223 vec_vxor(vector bool char __a, vector unsigned char __b)
09224 {
09225   return (vector unsigned char)__a ^ __b;
09226 }
09227 
09228 static vector unsigned char __ATTRS_o_ai
09229 vec_vxor(vector unsigned char __a, vector bool char __b)
09230 {
09231   return __a ^ (vector unsigned char)__b;
09232 }
09233 
09234 static vector bool char __ATTRS_o_ai
09235 vec_vxor(vector bool char __a, vector bool char __b)
09236 {
09237   return __a ^ __b;
09238 }
09239 
09240 static vector short __ATTRS_o_ai
09241 vec_vxor(vector short __a, vector short __b)
09242 {
09243   return __a ^ __b;
09244 }
09245 
09246 static vector short __ATTRS_o_ai
09247 vec_vxor(vector bool short __a, vector short __b)
09248 {
09249   return (vector short)__a ^ __b;
09250 }
09251 
09252 static vector short __ATTRS_o_ai
09253 vec_vxor(vector short __a, vector bool short __b)
09254 {
09255   return __a ^ (vector short)__b;
09256 }
09257 
09258 static vector unsigned short __ATTRS_o_ai
09259 vec_vxor(vector unsigned short __a, vector unsigned short __b)
09260 {
09261   return __a ^ __b;
09262 }
09263 
09264 static vector unsigned short __ATTRS_o_ai
09265 vec_vxor(vector bool short __a, vector unsigned short __b)
09266 {
09267   return (vector unsigned short)__a ^ __b;
09268 }
09269 
09270 static vector unsigned short __ATTRS_o_ai
09271 vec_vxor(vector unsigned short __a, vector bool short __b)
09272 {
09273   return __a ^ (vector unsigned short)__b;
09274 }
09275 
09276 static vector bool short __ATTRS_o_ai
09277 vec_vxor(vector bool short __a, vector bool short __b)
09278 {
09279   return __a ^ __b;
09280 }
09281 
09282 static vector int __ATTRS_o_ai
09283 vec_vxor(vector int __a, vector int __b)
09284 {
09285   return __a ^ __b;
09286 }
09287 
09288 static vector int __ATTRS_o_ai
09289 vec_vxor(vector bool int __a, vector int __b)
09290 {
09291   return (vector int)__a ^ __b;
09292 }
09293 
09294 static vector int __ATTRS_o_ai
09295 vec_vxor(vector int __a, vector bool int __b)
09296 {
09297   return __a ^ (vector int)__b;
09298 }
09299 
09300 static vector unsigned int __ATTRS_o_ai
09301 vec_vxor(vector unsigned int __a, vector unsigned int __b)
09302 {
09303   return __a ^ __b;
09304 }
09305 
09306 static vector unsigned int __ATTRS_o_ai
09307 vec_vxor(vector bool int __a, vector unsigned int __b)
09308 {
09309   return (vector unsigned int)__a ^ __b;
09310 }
09311 
09312 static vector unsigned int __ATTRS_o_ai
09313 vec_vxor(vector unsigned int __a, vector bool int __b)
09314 {
09315   return __a ^ (vector unsigned int)__b;
09316 }
09317 
09318 static vector bool int __ATTRS_o_ai
09319 vec_vxor(vector bool int __a, vector bool int __b)
09320 {
09321   return __a ^ __b;
09322 }
09323 
09324 static vector float __ATTRS_o_ai
09325 vec_vxor(vector float __a, vector float __b)
09326 {
09327   vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
09328   return (vector float)__res;
09329 }
09330 
09331 static vector float __ATTRS_o_ai
09332 vec_vxor(vector bool int __a, vector float __b)
09333 {
09334   vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
09335   return (vector float)__res;
09336 }
09337 
09338 static vector float __ATTRS_o_ai
09339 vec_vxor(vector float __a, vector bool int __b)
09340 {
09341   vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
09342   return (vector float)__res;
09343 }
09344 
09345 /* ------------------------ extensions for CBEA ----------------------------- */
09346 
09347 /* vec_extract */
09348 
09349 static signed char __ATTRS_o_ai
09350 vec_extract(vector signed char __a, int __b)
09351 {
09352   return __a[__b];
09353 }
09354 
09355 static unsigned char __ATTRS_o_ai
09356 vec_extract(vector unsigned char __a, int __b)
09357 {
09358   return __a[__b];
09359 }
09360 
09361 static short __ATTRS_o_ai
09362 vec_extract(vector short __a, int __b)
09363 {
09364   return __a[__b];
09365 }
09366 
09367 static unsigned short __ATTRS_o_ai
09368 vec_extract(vector unsigned short __a, int __b)
09369 {
09370   return __a[__b];
09371 }
09372 
09373 static int __ATTRS_o_ai
09374 vec_extract(vector int __a, int __b)
09375 {
09376   return __a[__b];
09377 }
09378 
09379 static unsigned int __ATTRS_o_ai
09380 vec_extract(vector unsigned int __a, int __b)
09381 {
09382   return __a[__b];
09383 }
09384 
09385 static float __ATTRS_o_ai
09386 vec_extract(vector float __a, int __b)
09387 {
09388   return __a[__b];
09389 }
09390 
09391 /* vec_insert */
09392 
09393 static vector signed char __ATTRS_o_ai
09394 vec_insert(signed char __a, vector signed char __b, int __c)
09395 {
09396   __b[__c] = __a;
09397   return __b;
09398 }
09399 
09400 static vector unsigned char __ATTRS_o_ai
09401 vec_insert(unsigned char __a, vector unsigned char __b, int __c)
09402 {
09403   __b[__c] = __a;
09404   return __b;
09405 }
09406 
09407 static vector short __ATTRS_o_ai
09408 vec_insert(short __a, vector short __b, int __c)
09409 {
09410   __b[__c] = __a;
09411   return __b;
09412 }
09413 
09414 static vector unsigned short __ATTRS_o_ai
09415 vec_insert(unsigned short __a, vector unsigned short __b, int __c)
09416 {
09417   __b[__c] = __a;
09418   return __b;
09419 }
09420 
09421 static vector int __ATTRS_o_ai
09422 vec_insert(int __a, vector int __b, int __c)
09423 {
09424   __b[__c] = __a;
09425   return __b;
09426 }
09427 
09428 static vector unsigned int __ATTRS_o_ai
09429 vec_insert(unsigned int __a, vector unsigned int __b, int __c)
09430 {
09431   __b[__c] = __a;
09432   return __b;
09433 }
09434 
09435 static vector float __ATTRS_o_ai
09436 vec_insert(float __a, vector float __b, int __c)
09437 {
09438   __b[__c] = __a;
09439   return __b;
09440 }
09441 
09442 /* vec_lvlx */
09443 
09444 static vector signed char __ATTRS_o_ai
09445 vec_lvlx(int __a, const signed char *__b)
09446 {
09447   return vec_perm(vec_ld(__a, __b),
09448                   (vector signed char)(0),
09449                   vec_lvsl(__a, __b));
09450 }
09451 
09452 static vector signed char __ATTRS_o_ai
09453 vec_lvlx(int __a, const vector signed char *__b)
09454 {
09455   return vec_perm(vec_ld(__a, __b),
09456                   (vector signed char)(0),
09457                   vec_lvsl(__a, (unsigned char *)__b));
09458 }
09459 
09460 static vector unsigned char __ATTRS_o_ai
09461 vec_lvlx(int __a, const unsigned char *__b)
09462 {
09463   return vec_perm(vec_ld(__a, __b),
09464                   (vector unsigned char)(0),
09465                   vec_lvsl(__a, __b));
09466 }
09467 
09468 static vector unsigned char __ATTRS_o_ai
09469 vec_lvlx(int __a, const vector unsigned char *__b)
09470 {
09471   return vec_perm(vec_ld(__a, __b),
09472                   (vector unsigned char)(0),
09473                   vec_lvsl(__a, (unsigned char *)__b));
09474 }
09475 
09476 static vector bool char __ATTRS_o_ai
09477 vec_lvlx(int __a, const vector bool char *__b)
09478 {
09479   return vec_perm(vec_ld(__a, __b),
09480                   (vector bool char)(0),
09481                   vec_lvsl(__a, (unsigned char *)__b));
09482 }
09483 
09484 static vector short __ATTRS_o_ai
09485 vec_lvlx(int __a, const short *__b)
09486 {
09487   return vec_perm(vec_ld(__a, __b),
09488                   (vector short)(0),
09489                   vec_lvsl(__a, __b));
09490 }
09491 
09492 static vector short __ATTRS_o_ai
09493 vec_lvlx(int __a, const vector short *__b)
09494 {
09495   return vec_perm(vec_ld(__a, __b),
09496                   (vector short)(0),
09497                   vec_lvsl(__a, (unsigned char *)__b));
09498 }
09499 
09500 static vector unsigned short __ATTRS_o_ai
09501 vec_lvlx(int __a, const unsigned short *__b)
09502 {
09503   return vec_perm(vec_ld(__a, __b),
09504                   (vector unsigned short)(0),
09505                   vec_lvsl(__a, __b));
09506 }
09507 
09508 static vector unsigned short __ATTRS_o_ai
09509 vec_lvlx(int __a, const vector unsigned short *__b)
09510 {
09511   return vec_perm(vec_ld(__a, __b),
09512                   (vector unsigned short)(0),
09513                   vec_lvsl(__a, (unsigned char *)__b));
09514 }
09515 
09516 static vector bool short __ATTRS_o_ai
09517 vec_lvlx(int __a, const vector bool short *__b)
09518 {
09519   return vec_perm(vec_ld(__a, __b),
09520                   (vector bool short)(0),
09521                   vec_lvsl(__a, (unsigned char *)__b));
09522 }
09523 
09524 static vector pixel __ATTRS_o_ai
09525 vec_lvlx(int __a, const vector pixel *__b)
09526 {
09527   return vec_perm(vec_ld(__a, __b),
09528                   (vector pixel)(0),
09529                   vec_lvsl(__a, (unsigned char *)__b));
09530 }
09531 
09532 static vector int __ATTRS_o_ai
09533 vec_lvlx(int __a, const int *__b)
09534 {
09535   return vec_perm(vec_ld(__a, __b),
09536                   (vector int)(0),
09537                   vec_lvsl(__a, __b));
09538 }
09539 
09540 static vector int __ATTRS_o_ai
09541 vec_lvlx(int __a, const vector int *__b)
09542 {
09543   return vec_perm(vec_ld(__a, __b),
09544                   (vector int)(0),
09545                   vec_lvsl(__a, (unsigned char *)__b));
09546 }
09547 
09548 static vector unsigned int __ATTRS_o_ai
09549 vec_lvlx(int __a, const unsigned int *__b)
09550 {
09551   return vec_perm(vec_ld(__a, __b),
09552                   (vector unsigned int)(0),
09553                   vec_lvsl(__a, __b));
09554 }
09555 
09556 static vector unsigned int __ATTRS_o_ai
09557 vec_lvlx(int __a, const vector unsigned int *__b)
09558 {
09559   return vec_perm(vec_ld(__a, __b),
09560                   (vector unsigned int)(0),
09561                   vec_lvsl(__a, (unsigned char *)__b));
09562 }
09563 
09564 static vector bool int __ATTRS_o_ai
09565 vec_lvlx(int __a, const vector bool int *__b)
09566 {
09567   return vec_perm(vec_ld(__a, __b),
09568                   (vector bool int)(0),
09569                   vec_lvsl(__a, (unsigned char *)__b));
09570 }
09571 
09572 static vector float __ATTRS_o_ai
09573 vec_lvlx(int __a, const float *__b)
09574 {
09575   return vec_perm(vec_ld(__a, __b),
09576                   (vector float)(0),
09577                   vec_lvsl(__a, __b));
09578 }
09579 
09580 static vector float __ATTRS_o_ai
09581 vec_lvlx(int __a, const vector float *__b)
09582 {
09583   return vec_perm(vec_ld(__a, __b),
09584                   (vector float)(0),
09585                   vec_lvsl(__a, (unsigned char *)__b));
09586 }
09587 
09588 /* vec_lvlxl */
09589 
09590 static vector signed char __ATTRS_o_ai
09591 vec_lvlxl(int __a, const signed char *__b)
09592 {
09593   return vec_perm(vec_ldl(__a, __b),
09594                   (vector signed char)(0),
09595                   vec_lvsl(__a, __b));
09596 }
09597 
09598 static vector signed char __ATTRS_o_ai
09599 vec_lvlxl(int __a, const vector signed char *__b)
09600 {
09601   return vec_perm(vec_ldl(__a, __b),
09602                   (vector signed char)(0),
09603                   vec_lvsl(__a, (unsigned char *)__b));
09604 }
09605 
09606 static vector unsigned char __ATTRS_o_ai
09607 vec_lvlxl(int __a, const unsigned char *__b)
09608 {
09609   return vec_perm(vec_ldl(__a, __b),
09610                   (vector unsigned char)(0),
09611                   vec_lvsl(__a, __b));
09612 }
09613 
09614 static vector unsigned char __ATTRS_o_ai
09615 vec_lvlxl(int __a, const vector unsigned char *__b)
09616 {
09617   return vec_perm(vec_ldl(__a, __b),
09618                   (vector unsigned char)(0),
09619                   vec_lvsl(__a, (unsigned char *)__b));
09620 }
09621 
09622 static vector bool char __ATTRS_o_ai
09623 vec_lvlxl(int __a, const vector bool char *__b)
09624 {
09625   return vec_perm(vec_ldl(__a, __b),
09626                   (vector bool char)(0),
09627                   vec_lvsl(__a, (unsigned char *)__b));
09628 }
09629 
09630 static vector short __ATTRS_o_ai
09631 vec_lvlxl(int __a, const short *__b)
09632 {
09633   return vec_perm(vec_ldl(__a, __b),
09634                   (vector short)(0),
09635                   vec_lvsl(__a, __b));
09636 }
09637 
09638 static vector short __ATTRS_o_ai
09639 vec_lvlxl(int __a, const vector short *__b)
09640 {
09641   return vec_perm(vec_ldl(__a, __b),
09642                   (vector short)(0),
09643                   vec_lvsl(__a, (unsigned char *)__b));
09644 }
09645 
09646 static vector unsigned short __ATTRS_o_ai
09647 vec_lvlxl(int __a, const unsigned short *__b)
09648 {
09649   return vec_perm(vec_ldl(__a, __b),
09650                   (vector unsigned short)(0),
09651                   vec_lvsl(__a, __b));
09652 }
09653 
09654 static vector unsigned short __ATTRS_o_ai
09655 vec_lvlxl(int __a, const vector unsigned short *__b)
09656 {
09657   return vec_perm(vec_ldl(__a, __b),
09658                   (vector unsigned short)(0),
09659                   vec_lvsl(__a, (unsigned char *)__b));
09660 }
09661 
09662 static vector bool short __ATTRS_o_ai
09663 vec_lvlxl(int __a, const vector bool short *__b)
09664 {
09665   return vec_perm(vec_ldl(__a, __b),
09666                   (vector bool short)(0),
09667                   vec_lvsl(__a, (unsigned char *)__b));
09668 }
09669 
09670 static vector pixel __ATTRS_o_ai
09671 vec_lvlxl(int __a, const vector pixel *__b)
09672 {
09673   return vec_perm(vec_ldl(__a, __b),
09674                   (vector pixel)(0),
09675                   vec_lvsl(__a, (unsigned char *)__b));
09676 }
09677 
09678 static vector int __ATTRS_o_ai
09679 vec_lvlxl(int __a, const int *__b)
09680 {
09681   return vec_perm(vec_ldl(__a, __b),
09682                   (vector int)(0),
09683                   vec_lvsl(__a, __b));
09684 }
09685 
09686 static vector int __ATTRS_o_ai
09687 vec_lvlxl(int __a, const vector int *__b)
09688 {
09689   return vec_perm(vec_ldl(__a, __b),
09690                   (vector int)(0),
09691                   vec_lvsl(__a, (unsigned char *)__b));
09692 }
09693 
09694 static vector unsigned int __ATTRS_o_ai
09695 vec_lvlxl(int __a, const unsigned int *__b)
09696 {
09697   return vec_perm(vec_ldl(__a, __b),
09698                   (vector unsigned int)(0),
09699                   vec_lvsl(__a, __b));
09700 }
09701 
09702 static vector unsigned int __ATTRS_o_ai
09703 vec_lvlxl(int __a, const vector unsigned int *__b)
09704 {
09705   return vec_perm(vec_ldl(__a, __b),
09706                   (vector unsigned int)(0),
09707                   vec_lvsl(__a, (unsigned char *)__b));
09708 }
09709 
09710 static vector bool int __ATTRS_o_ai
09711 vec_lvlxl(int __a, const vector bool int *__b)
09712 {
09713   return vec_perm(vec_ldl(__a, __b),
09714                   (vector bool int)(0),
09715                   vec_lvsl(__a, (unsigned char *)__b));
09716 }
09717 
09718 static vector float __ATTRS_o_ai
09719 vec_lvlxl(int __a, const float *__b)
09720 {
09721   return vec_perm(vec_ldl(__a, __b),
09722                   (vector float)(0),
09723                   vec_lvsl(__a, __b));
09724 }
09725 
09726 static vector float __ATTRS_o_ai
09727 vec_lvlxl(int __a, vector float *__b)
09728 {
09729   return vec_perm(vec_ldl(__a, __b),
09730                   (vector float)(0),
09731                   vec_lvsl(__a, (unsigned char *)__b));
09732 }
09733 
09734 /* vec_lvrx */
09735 
09736 static vector signed char __ATTRS_o_ai
09737 vec_lvrx(int __a, const signed char *__b)
09738 {
09739   return vec_perm((vector signed char)(0),
09740                   vec_ld(__a, __b),
09741                   vec_lvsl(__a, __b));
09742 }
09743 
09744 static vector signed char __ATTRS_o_ai
09745 vec_lvrx(int __a, const vector signed char *__b)
09746 {
09747   return vec_perm((vector signed char)(0),
09748                   vec_ld(__a, __b),
09749                   vec_lvsl(__a, (unsigned char *)__b));
09750 }
09751 
09752 static vector unsigned char __ATTRS_o_ai
09753 vec_lvrx(int __a, const unsigned char *__b)
09754 {
09755   return vec_perm((vector unsigned char)(0),
09756                   vec_ld(__a, __b),
09757                   vec_lvsl(__a, __b));
09758 }
09759 
09760 static vector unsigned char __ATTRS_o_ai
09761 vec_lvrx(int __a, const vector unsigned char *__b)
09762 {
09763   return vec_perm((vector unsigned char)(0),
09764                   vec_ld(__a, __b),
09765                   vec_lvsl(__a, (unsigned char *)__b));
09766 }
09767 
09768 static vector bool char __ATTRS_o_ai
09769 vec_lvrx(int __a, const vector bool char *__b)
09770 {
09771   return vec_perm((vector bool char)(0),
09772                   vec_ld(__a, __b),
09773                   vec_lvsl(__a, (unsigned char *)__b));
09774 }
09775 
09776 static vector short __ATTRS_o_ai
09777 vec_lvrx(int __a, const short *__b)
09778 {
09779   return vec_perm((vector short)(0),
09780                   vec_ld(__a, __b),
09781                   vec_lvsl(__a, __b));
09782 }
09783 
09784 static vector short __ATTRS_o_ai
09785 vec_lvrx(int __a, const vector short *__b)
09786 {
09787   return vec_perm((vector short)(0),
09788                   vec_ld(__a, __b),
09789                   vec_lvsl(__a, (unsigned char *)__b));
09790 }
09791 
09792 static vector unsigned short __ATTRS_o_ai
09793 vec_lvrx(int __a, const unsigned short *__b)
09794 {
09795   return vec_perm((vector unsigned short)(0),
09796                   vec_ld(__a, __b),
09797                   vec_lvsl(__a, __b));
09798 }
09799 
09800 static vector unsigned short __ATTRS_o_ai
09801 vec_lvrx(int __a, const vector unsigned short *__b)
09802 {
09803   return vec_perm((vector unsigned short)(0),
09804                   vec_ld(__a, __b),
09805                   vec_lvsl(__a, (unsigned char *)__b));
09806 }
09807 
09808 static vector bool short __ATTRS_o_ai
09809 vec_lvrx(int __a, const vector bool short *__b)
09810 {
09811   return vec_perm((vector bool short)(0),
09812                   vec_ld(__a, __b),
09813                   vec_lvsl(__a, (unsigned char *)__b));
09814 }
09815 
09816 static vector pixel __ATTRS_o_ai
09817 vec_lvrx(int __a, const vector pixel *__b)
09818 {
09819   return vec_perm((vector pixel)(0),
09820                   vec_ld(__a, __b),
09821                   vec_lvsl(__a, (unsigned char *)__b));
09822 }
09823 
09824 static vector int __ATTRS_o_ai
09825 vec_lvrx(int __a, const int *__b)
09826 {
09827   return vec_perm((vector int)(0),
09828                   vec_ld(__a, __b),
09829                   vec_lvsl(__a, __b));
09830 }
09831 
09832 static vector int __ATTRS_o_ai
09833 vec_lvrx(int __a, const vector int *__b)
09834 {
09835   return vec_perm((vector int)(0),
09836                   vec_ld(__a, __b),
09837                   vec_lvsl(__a, (unsigned char *)__b));
09838 }
09839 
09840 static vector unsigned int __ATTRS_o_ai
09841 vec_lvrx(int __a, const unsigned int *__b)
09842 {
09843   return vec_perm((vector unsigned int)(0),
09844                   vec_ld(__a, __b),
09845                   vec_lvsl(__a, __b));
09846 }
09847 
09848 static vector unsigned int __ATTRS_o_ai
09849 vec_lvrx(int __a, const vector unsigned int *__b)
09850 {
09851   return vec_perm((vector unsigned int)(0),
09852                   vec_ld(__a, __b),
09853                   vec_lvsl(__a, (unsigned char *)__b));
09854 }
09855 
09856 static vector bool int __ATTRS_o_ai
09857 vec_lvrx(int __a, const vector bool int *__b)
09858 {
09859   return vec_perm((vector bool int)(0),
09860                   vec_ld(__a, __b),
09861                   vec_lvsl(__a, (unsigned char *)__b));
09862 }
09863 
09864 static vector float __ATTRS_o_ai
09865 vec_lvrx(int __a, const float *__b)
09866 {
09867   return vec_perm((vector float)(0),
09868                   vec_ld(__a, __b),
09869                   vec_lvsl(__a, __b));
09870 }
09871 
09872 static vector float __ATTRS_o_ai
09873 vec_lvrx(int __a, const vector float *__b)
09874 {
09875   return vec_perm((vector float)(0),
09876                   vec_ld(__a, __b),
09877                   vec_lvsl(__a, (unsigned char *)__b));
09878 }
09879 
09880 /* vec_lvrxl */
09881 
09882 static vector signed char __ATTRS_o_ai
09883 vec_lvrxl(int __a, const signed char *__b)
09884 {
09885   return vec_perm((vector signed char)(0),
09886                   vec_ldl(__a, __b),
09887                   vec_lvsl(__a, __b));
09888 }
09889 
09890 static vector signed char __ATTRS_o_ai
09891 vec_lvrxl(int __a, const vector signed char *__b)
09892 {
09893   return vec_perm((vector signed char)(0),
09894                   vec_ldl(__a, __b),
09895                   vec_lvsl(__a, (unsigned char *)__b));
09896 }
09897 
09898 static vector unsigned char __ATTRS_o_ai
09899 vec_lvrxl(int __a, const unsigned char *__b)
09900 {
09901   return vec_perm((vector unsigned char)(0),
09902                   vec_ldl(__a, __b),
09903                   vec_lvsl(__a, __b));
09904 }
09905 
09906 static vector unsigned char __ATTRS_o_ai
09907 vec_lvrxl(int __a, const vector unsigned char *__b)
09908 {
09909   return vec_perm((vector unsigned char)(0),
09910                   vec_ldl(__a, __b),
09911                   vec_lvsl(__a, (unsigned char *)__b));
09912 }
09913 
09914 static vector bool char __ATTRS_o_ai
09915 vec_lvrxl(int __a, const vector bool char *__b)
09916 {
09917   return vec_perm((vector bool char)(0),
09918                   vec_ldl(__a, __b),
09919                   vec_lvsl(__a, (unsigned char *)__b));
09920 }
09921 
09922 static vector short __ATTRS_o_ai
09923 vec_lvrxl(int __a, const short *__b)
09924 {
09925   return vec_perm((vector short)(0),
09926                   vec_ldl(__a, __b),
09927                   vec_lvsl(__a, __b));
09928 }
09929 
09930 static vector short __ATTRS_o_ai
09931 vec_lvrxl(int __a, const vector short *__b)
09932 {
09933   return vec_perm((vector short)(0),
09934                   vec_ldl(__a, __b),
09935                   vec_lvsl(__a, (unsigned char *)__b));
09936 }
09937 
09938 static vector unsigned short __ATTRS_o_ai
09939 vec_lvrxl(int __a, const unsigned short *__b)
09940 {
09941   return vec_perm((vector unsigned short)(0),
09942                   vec_ldl(__a, __b),
09943                   vec_lvsl(__a, __b));
09944 }
09945 
09946 static vector unsigned short __ATTRS_o_ai
09947 vec_lvrxl(int __a, const vector unsigned short *__b)
09948 {
09949   return vec_perm((vector unsigned short)(0),
09950                   vec_ldl(__a, __b),
09951                   vec_lvsl(__a, (unsigned char *)__b));
09952 }
09953 
09954 static vector bool short __ATTRS_o_ai
09955 vec_lvrxl(int __a, const vector bool short *__b)
09956 {
09957   return vec_perm((vector bool short)(0),
09958                   vec_ldl(__a, __b),
09959                   vec_lvsl(__a, (unsigned char *)__b));
09960 }
09961 
09962 static vector pixel __ATTRS_o_ai
09963 vec_lvrxl(int __a, const vector pixel *__b)
09964 {
09965   return vec_perm((vector pixel)(0),
09966                   vec_ldl(__a, __b),
09967                   vec_lvsl(__a, (unsigned char *)__b));
09968 }
09969 
09970 static vector int __ATTRS_o_ai
09971 vec_lvrxl(int __a, const int *__b)
09972 {
09973   return vec_perm((vector int)(0),
09974                   vec_ldl(__a, __b),
09975                   vec_lvsl(__a, __b));
09976 }
09977 
09978 static vector int __ATTRS_o_ai
09979 vec_lvrxl(int __a, const vector int *__b)
09980 {
09981   return vec_perm((vector int)(0),
09982                   vec_ldl(__a, __b),
09983                   vec_lvsl(__a, (unsigned char *)__b));
09984 }
09985 
09986 static vector unsigned int __ATTRS_o_ai
09987 vec_lvrxl(int __a, const unsigned int *__b)
09988 {
09989   return vec_perm((vector unsigned int)(0),
09990                   vec_ldl(__a, __b),
09991                   vec_lvsl(__a, __b));
09992 }
09993 
09994 static vector unsigned int __ATTRS_o_ai
09995 vec_lvrxl(int __a, const vector unsigned int *__b)
09996 {
09997   return vec_perm((vector unsigned int)(0),
09998                   vec_ldl(__a, __b),
09999                   vec_lvsl(__a, (unsigned char *)__b));
10000 }
10001 
10002 static vector bool int __ATTRS_o_ai
10003 vec_lvrxl(int __a, const vector bool int *__b)
10004 {
10005   return vec_perm((vector bool int)(0),
10006                   vec_ldl(__a, __b),
10007                   vec_lvsl(__a, (unsigned char *)__b));
10008 }
10009 
10010 static vector float __ATTRS_o_ai
10011 vec_lvrxl(int __a, const float *__b)
10012 {
10013   return vec_perm((vector float)(0),
10014                   vec_ldl(__a, __b),
10015                   vec_lvsl(__a, __b));
10016 }
10017 
10018 static vector float __ATTRS_o_ai
10019 vec_lvrxl(int __a, const vector float *__b)
10020 {
10021   return vec_perm((vector float)(0),
10022                   vec_ldl(__a, __b),
10023                   vec_lvsl(__a, (unsigned char *)__b));
10024 }
10025 
10026 /* vec_stvlx */
10027 
10028 static void __ATTRS_o_ai
10029 vec_stvlx(vector signed char __a, int __b, signed char *__c)
10030 {
10031   return vec_st(vec_perm(vec_lvrx(__b, __c),
10032                          __a,
10033                          vec_lvsr(__b, __c)),
10034                 __b, __c);
10035 }
10036 
10037 static void __ATTRS_o_ai
10038 vec_stvlx(vector signed char __a, int __b, vector signed char *__c)
10039 {
10040   return vec_st(vec_perm(vec_lvrx(__b, __c),
10041                          __a,
10042                          vec_lvsr(__b, (unsigned char *)__c)),
10043                 __b, __c);
10044 }
10045 
10046 static void __ATTRS_o_ai
10047 vec_stvlx(vector unsigned char __a, int __b, unsigned char *__c)
10048 {
10049   return vec_st(vec_perm(vec_lvrx(__b, __c),
10050                          __a,
10051                          vec_lvsr(__b, __c)),
10052                 __b, __c);
10053 }
10054 
10055 static void __ATTRS_o_ai
10056 vec_stvlx(vector unsigned char __a, int __b, vector unsigned char *__c)
10057 {
10058   return vec_st(vec_perm(vec_lvrx(__b, __c),
10059                          __a,
10060                          vec_lvsr(__b, (unsigned char *)__c)),
10061                 __b, __c);
10062 }
10063 
10064 static void __ATTRS_o_ai
10065 vec_stvlx(vector bool char __a, int __b, vector bool char *__c)
10066 {
10067   return vec_st(vec_perm(vec_lvrx(__b, __c),
10068                          __a,
10069                          vec_lvsr(__b, (unsigned char *)__c)),
10070                 __b, __c);
10071 }
10072 
10073 static void __ATTRS_o_ai
10074 vec_stvlx(vector short __a, int __b, short *__c)
10075 {
10076   return vec_st(vec_perm(vec_lvrx(__b, __c),
10077                          __a,
10078                          vec_lvsr(__b, __c)),
10079                 __b, __c);
10080 }
10081 
10082 static void __ATTRS_o_ai
10083 vec_stvlx(vector short __a, int __b, vector short *__c)
10084 {
10085   return vec_st(vec_perm(vec_lvrx(__b, __c),
10086                          __a,
10087                          vec_lvsr(__b, (unsigned char *)__c)),
10088                 __b, __c);
10089 }
10090 
10091 static void __ATTRS_o_ai
10092 vec_stvlx(vector unsigned short __a, int __b, unsigned short *__c)
10093 {
10094   return vec_st(vec_perm(vec_lvrx(__b, __c),
10095                          __a,
10096                          vec_lvsr(__b, __c)),
10097                 __b, __c);
10098 }
10099 
10100 static void __ATTRS_o_ai
10101 vec_stvlx(vector unsigned short __a, int __b, vector unsigned short *__c)
10102 {
10103   return vec_st(vec_perm(vec_lvrx(__b, __c),
10104                          __a,
10105                          vec_lvsr(__b, (unsigned char *)__c)),
10106                 __b, __c);
10107 }
10108 
10109 static void __ATTRS_o_ai
10110 vec_stvlx(vector bool short __a, int __b, vector bool short *__c)
10111 {
10112   return vec_st(vec_perm(vec_lvrx(__b, __c),
10113                          __a,
10114                          vec_lvsr(__b, (unsigned char *)__c)),
10115                 __b, __c);
10116 }
10117 
10118 static void __ATTRS_o_ai
10119 vec_stvlx(vector pixel __a, int __b, vector pixel *__c)
10120 {
10121   return vec_st(vec_perm(vec_lvrx(__b, __c),
10122                          __a,
10123                          vec_lvsr(__b, (unsigned char *)__c)),
10124                 __b, __c);
10125 }
10126 
10127 static void __ATTRS_o_ai
10128 vec_stvlx(vector int __a, int __b, int *__c)
10129 {
10130   return vec_st(vec_perm(vec_lvrx(__b, __c),
10131                          __a,
10132                          vec_lvsr(__b, __c)),
10133                 __b, __c);
10134 }
10135 
10136 static void __ATTRS_o_ai
10137 vec_stvlx(vector int __a, int __b, vector int *__c)
10138 {
10139   return vec_st(vec_perm(vec_lvrx(__b, __c),
10140                          __a,
10141                          vec_lvsr(__b, (unsigned char *)__c)),
10142                 __b, __c);
10143 }
10144 
10145 static void __ATTRS_o_ai
10146 vec_stvlx(vector unsigned int __a, int __b, unsigned int *__c)
10147 {
10148   return vec_st(vec_perm(vec_lvrx(__b, __c),
10149                          __a,
10150                          vec_lvsr(__b, __c)),
10151                 __b, __c);
10152 }
10153 
10154 static void __ATTRS_o_ai
10155 vec_stvlx(vector unsigned int __a, int __b, vector unsigned int *__c)
10156 {
10157   return vec_st(vec_perm(vec_lvrx(__b, __c),
10158                          __a,
10159                          vec_lvsr(__b, (unsigned char *)__c)),
10160                 __b, __c);
10161 }
10162 
10163 static void __ATTRS_o_ai
10164 vec_stvlx(vector bool int __a, int __b, vector bool int *__c)
10165 {
10166   return vec_st(vec_perm(vec_lvrx(__b, __c),
10167                          __a,
10168                          vec_lvsr(__b, (unsigned char *)__c)),
10169                 __b, __c);
10170 }
10171 
10172 static void __ATTRS_o_ai
10173 vec_stvlx(vector float __a, int __b, vector float *__c)
10174 {
10175   return vec_st(vec_perm(vec_lvrx(__b, __c),
10176                          __a,
10177                          vec_lvsr(__b, (unsigned char *)__c)),
10178                 __b, __c);
10179 }
10180 
10181 /* vec_stvlxl */
10182 
10183 static void __ATTRS_o_ai
10184 vec_stvlxl(vector signed char __a, int __b, signed char *__c)
10185 {
10186   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10187                           __a,
10188                           vec_lvsr(__b, __c)),
10189                  __b, __c);
10190 }
10191 
10192 static void __ATTRS_o_ai
10193 vec_stvlxl(vector signed char __a, int __b, vector signed char *__c)
10194 {
10195   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10196                           __a,
10197                           vec_lvsr(__b, (unsigned char *)__c)),
10198                  __b, __c);
10199 }
10200 
10201 static void __ATTRS_o_ai
10202 vec_stvlxl(vector unsigned char __a, int __b, unsigned char *__c)
10203 {
10204   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10205                           __a,
10206                           vec_lvsr(__b, __c)),
10207                  __b, __c);
10208 }
10209 
10210 static void __ATTRS_o_ai
10211 vec_stvlxl(vector unsigned char __a, int __b, vector unsigned char *__c)
10212 {
10213   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10214                           __a,
10215                           vec_lvsr(__b, (unsigned char *)__c)),
10216                  __b, __c);
10217 }
10218 
10219 static void __ATTRS_o_ai
10220 vec_stvlxl(vector bool char __a, int __b, vector bool char *__c)
10221 {
10222   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10223                           __a,
10224                           vec_lvsr(__b, (unsigned char *)__c)),
10225                  __b, __c);
10226 }
10227 
10228 static void __ATTRS_o_ai
10229 vec_stvlxl(vector short __a, int __b, short *__c)
10230 {
10231   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10232                           __a,
10233                           vec_lvsr(__b, __c)),
10234                  __b, __c);
10235 }
10236 
10237 static void __ATTRS_o_ai
10238 vec_stvlxl(vector short __a, int __b, vector short *__c)
10239 {
10240   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10241                           __a,
10242                           vec_lvsr(__b, (unsigned char *)__c)),
10243                  __b, __c);
10244 }
10245 
10246 static void __ATTRS_o_ai
10247 vec_stvlxl(vector unsigned short __a, int __b, unsigned short *__c)
10248 {
10249   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10250                           __a,
10251                           vec_lvsr(__b, __c)),
10252                  __b, __c);
10253 }
10254 
10255 static void __ATTRS_o_ai
10256 vec_stvlxl(vector unsigned short __a, int __b, vector unsigned short *__c)
10257 {
10258   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10259                           __a,
10260                           vec_lvsr(__b, (unsigned char *)__c)),
10261                  __b, __c);
10262 }
10263 
10264 static void __ATTRS_o_ai
10265 vec_stvlxl(vector bool short __a, int __b, vector bool short *__c)
10266 {
10267   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10268                           __a,
10269                           vec_lvsr(__b, (unsigned char *)__c)),
10270                  __b, __c);
10271 }
10272 
10273 static void __ATTRS_o_ai
10274 vec_stvlxl(vector pixel __a, int __b, vector pixel *__c)
10275 {
10276   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10277                           __a,
10278                           vec_lvsr(__b, (unsigned char *)__c)),
10279                  __b, __c);
10280 }
10281 
10282 static void __ATTRS_o_ai
10283 vec_stvlxl(vector int __a, int __b, int *__c)
10284 {
10285   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10286                           __a,
10287                           vec_lvsr(__b, __c)),
10288                  __b, __c);
10289 }
10290 
10291 static void __ATTRS_o_ai
10292 vec_stvlxl(vector int __a, int __b, vector int *__c)
10293 {
10294   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10295                           __a,
10296                           vec_lvsr(__b, (unsigned char *)__c)),
10297                  __b, __c);
10298 }
10299 
10300 static void __ATTRS_o_ai
10301 vec_stvlxl(vector unsigned int __a, int __b, unsigned int *__c)
10302 {
10303   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10304                           __a,
10305                           vec_lvsr(__b, __c)),
10306                  __b, __c);
10307 }
10308 
10309 static void __ATTRS_o_ai
10310 vec_stvlxl(vector unsigned int __a, int __b, vector unsigned int *__c)
10311 {
10312   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10313                           __a,
10314                           vec_lvsr(__b, (unsigned char *)__c)),
10315                  __b, __c);
10316 }
10317 
10318 static void __ATTRS_o_ai
10319 vec_stvlxl(vector bool int __a, int __b, vector bool int *__c)
10320 {
10321   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10322                           __a,
10323                           vec_lvsr(__b, (unsigned char *)__c)),
10324                  __b, __c);
10325 }
10326 
10327 static void __ATTRS_o_ai
10328 vec_stvlxl(vector float __a, int __b, vector float *__c)
10329 {
10330   return vec_stl(vec_perm(vec_lvrx(__b, __c),
10331                           __a,
10332                           vec_lvsr(__b, (unsigned char *)__c)),
10333                  __b, __c);
10334 }
10335 
10336 /* vec_stvrx */
10337 
10338 static void __ATTRS_o_ai
10339 vec_stvrx(vector signed char __a, int __b, signed char *__c)
10340 {
10341   return vec_st(vec_perm(__a,
10342                          vec_lvlx(__b, __c),
10343                          vec_lvsr(__b, __c)),
10344                 __b, __c);
10345 }
10346 
10347 static void __ATTRS_o_ai
10348 vec_stvrx(vector signed char __a, int __b, vector signed char *__c)
10349 {
10350   return vec_st(vec_perm(__a,
10351                          vec_lvlx(__b, __c),
10352                          vec_lvsr(__b, (unsigned char *)__c)),
10353                 __b, __c);
10354 }
10355 
10356 static void __ATTRS_o_ai
10357 vec_stvrx(vector unsigned char __a, int __b, unsigned char *__c)
10358 {
10359   return vec_st(vec_perm(__a,
10360                          vec_lvlx(__b, __c),
10361                          vec_lvsr(__b, __c)),
10362                 __b, __c);
10363 }
10364 
10365 static void __ATTRS_o_ai
10366 vec_stvrx(vector unsigned char __a, int __b, vector unsigned char *__c)
10367 {
10368   return vec_st(vec_perm(__a,
10369                          vec_lvlx(__b, __c),
10370                          vec_lvsr(__b, (unsigned char *)__c)),
10371                 __b, __c);
10372 }
10373 
10374 static void __ATTRS_o_ai
10375 vec_stvrx(vector bool char __a, int __b, vector bool char *__c)
10376 {
10377   return vec_st(vec_perm(__a,
10378                          vec_lvlx(__b, __c),
10379                          vec_lvsr(__b, (unsigned char *)__c)),
10380                 __b, __c);
10381 }
10382 
10383 static void __ATTRS_o_ai
10384 vec_stvrx(vector short __a, int __b, short *__c)
10385 {
10386   return vec_st(vec_perm(__a,
10387                          vec_lvlx(__b, __c),
10388                          vec_lvsr(__b, __c)),
10389                 __b, __c);
10390 }
10391 
10392 static void __ATTRS_o_ai
10393 vec_stvrx(vector short __a, int __b, vector short *__c)
10394 {
10395   return vec_st(vec_perm(__a,
10396                          vec_lvlx(__b, __c),
10397                          vec_lvsr(__b, (unsigned char *)__c)),
10398                 __b, __c);
10399 }
10400 
10401 static void __ATTRS_o_ai
10402 vec_stvrx(vector unsigned short __a, int __b, unsigned short *__c)
10403 {
10404   return vec_st(vec_perm(__a,
10405                          vec_lvlx(__b, __c),
10406                          vec_lvsr(__b, __c)),
10407                 __b, __c);
10408 }
10409 
10410 static void __ATTRS_o_ai
10411 vec_stvrx(vector unsigned short __a, int __b, vector unsigned short *__c)
10412 {
10413   return vec_st(vec_perm(__a,
10414                          vec_lvlx(__b, __c),
10415                          vec_lvsr(__b, (unsigned char *)__c)),
10416                 __b, __c);
10417 }
10418 
10419 static void __ATTRS_o_ai
10420 vec_stvrx(vector bool short __a, int __b, vector bool short *__c)
10421 {
10422   return vec_st(vec_perm(__a,
10423                          vec_lvlx(__b, __c),
10424                          vec_lvsr(__b, (unsigned char *)__c)),
10425                 __b, __c);
10426 }
10427 
10428 static void __ATTRS_o_ai
10429 vec_stvrx(vector pixel __a, int __b, vector pixel *__c)
10430 {
10431   return vec_st(vec_perm(__a,
10432                          vec_lvlx(__b, __c),
10433                          vec_lvsr(__b, (unsigned char *)__c)),
10434                 __b, __c);
10435 }
10436 
10437 static void __ATTRS_o_ai
10438 vec_stvrx(vector int __a, int __b, int *__c)
10439 {
10440   return vec_st(vec_perm(__a,
10441                          vec_lvlx(__b, __c),
10442                          vec_lvsr(__b, __c)),
10443                 __b, __c);
10444 }
10445 
10446 static void __ATTRS_o_ai
10447 vec_stvrx(vector int __a, int __b, vector int *__c)
10448 {
10449   return vec_st(vec_perm(__a,
10450                          vec_lvlx(__b, __c),
10451                          vec_lvsr(__b, (unsigned char *)__c)),
10452                 __b, __c);
10453 }
10454 
10455 static void __ATTRS_o_ai
10456 vec_stvrx(vector unsigned int __a, int __b, unsigned int *__c)
10457 {
10458   return vec_st(vec_perm(__a,
10459                          vec_lvlx(__b, __c),
10460                          vec_lvsr(__b, __c)),
10461                 __b, __c);
10462 }
10463 
10464 static void __ATTRS_o_ai
10465 vec_stvrx(vector unsigned int __a, int __b, vector unsigned int *__c)
10466 {
10467   return vec_st(vec_perm(__a,
10468                          vec_lvlx(__b, __c),
10469                          vec_lvsr(__b, (unsigned char *)__c)),
10470                 __b, __c);
10471 }
10472 
10473 static void __ATTRS_o_ai
10474 vec_stvrx(vector bool int __a, int __b, vector bool int *__c)
10475 {
10476   return vec_st(vec_perm(__a,
10477                          vec_lvlx(__b, __c),
10478                          vec_lvsr(__b, (unsigned char *)__c)),
10479                 __b, __c);
10480 }
10481 
10482 static void __ATTRS_o_ai
10483 vec_stvrx(vector float __a, int __b, vector float *__c)
10484 {
10485   return vec_st(vec_perm(__a,
10486                          vec_lvlx(__b, __c),
10487                          vec_lvsr(__b, (unsigned char *)__c)),
10488                 __b, __c);
10489 }
10490 
10491 /* vec_stvrxl */
10492 
10493 static void __ATTRS_o_ai
10494 vec_stvrxl(vector signed char __a, int __b, signed char *__c)
10495 {
10496   return vec_stl(vec_perm(__a,
10497                           vec_lvlx(__b, __c),
10498                           vec_lvsr(__b, __c)),
10499                  __b, __c);
10500 }
10501 
10502 static void __ATTRS_o_ai
10503 vec_stvrxl(vector signed char __a, int __b, vector signed char *__c)
10504 {
10505   return vec_stl(vec_perm(__a,
10506                           vec_lvlx(__b, __c),
10507                           vec_lvsr(__b, (unsigned char *)__c)),
10508                  __b, __c);
10509 }
10510 
10511 static void __ATTRS_o_ai
10512 vec_stvrxl(vector unsigned char __a, int __b, unsigned char *__c)
10513 {
10514   return vec_stl(vec_perm(__a,
10515                           vec_lvlx(__b, __c),
10516                           vec_lvsr(__b, __c)),
10517                  __b, __c);
10518 }
10519 
10520 static void __ATTRS_o_ai
10521 vec_stvrxl(vector unsigned char __a, int __b, vector unsigned char *__c)
10522 {
10523   return vec_stl(vec_perm(__a,
10524                           vec_lvlx(__b, __c),
10525                           vec_lvsr(__b, (unsigned char *)__c)),
10526                  __b, __c);
10527 }
10528 
10529 static void __ATTRS_o_ai
10530 vec_stvrxl(vector bool char __a, int __b, vector bool char *__c)
10531 {
10532   return vec_stl(vec_perm(__a,
10533                           vec_lvlx(__b, __c),
10534                           vec_lvsr(__b, (unsigned char *)__c)),
10535                  __b, __c);
10536 }
10537 
10538 static void __ATTRS_o_ai
10539 vec_stvrxl(vector short __a, int __b, short *__c)
10540 {
10541   return vec_stl(vec_perm(__a,
10542                           vec_lvlx(__b, __c),
10543                           vec_lvsr(__b, __c)),
10544                  __b, __c);
10545 }
10546 
10547 static void __ATTRS_o_ai
10548 vec_stvrxl(vector short __a, int __b, vector short *__c)
10549 {
10550   return vec_stl(vec_perm(__a,
10551                           vec_lvlx(__b, __c),
10552                           vec_lvsr(__b, (unsigned char *)__c)),
10553                  __b, __c);
10554 }
10555 
10556 static void __ATTRS_o_ai
10557 vec_stvrxl(vector unsigned short __a, int __b, unsigned short *__c)
10558 {
10559   return vec_stl(vec_perm(__a,
10560                           vec_lvlx(__b, __c),
10561                           vec_lvsr(__b, __c)),
10562                  __b, __c);
10563 }
10564 
10565 static void __ATTRS_o_ai
10566 vec_stvrxl(vector unsigned short __a, int __b, vector unsigned short *__c)
10567 {
10568   return vec_stl(vec_perm(__a,
10569                           vec_lvlx(__b, __c),
10570                           vec_lvsr(__b, (unsigned char *)__c)),
10571                  __b, __c);
10572 }
10573 
10574 static void __ATTRS_o_ai
10575 vec_stvrxl(vector bool short __a, int __b, vector bool short *__c)
10576 {
10577   return vec_stl(vec_perm(__a,
10578                           vec_lvlx(__b, __c),
10579                           vec_lvsr(__b, (unsigned char *)__c)),
10580                  __b, __c);
10581 }
10582 
10583 static void __ATTRS_o_ai
10584 vec_stvrxl(vector pixel __a, int __b, vector pixel *__c)
10585 {
10586   return vec_stl(vec_perm(__a,
10587                           vec_lvlx(__b, __c),
10588                           vec_lvsr(__b, (unsigned char *)__c)),
10589                  __b, __c);
10590 }
10591 
10592 static void __ATTRS_o_ai
10593 vec_stvrxl(vector int __a, int __b, int *__c)
10594 {
10595   return vec_stl(vec_perm(__a,
10596                           vec_lvlx(__b, __c),
10597                           vec_lvsr(__b, __c)),
10598                  __b, __c);
10599 }
10600 
10601 static void __ATTRS_o_ai
10602 vec_stvrxl(vector int __a, int __b, vector int *__c)
10603 {
10604   return vec_stl(vec_perm(__a,
10605                           vec_lvlx(__b, __c),
10606                           vec_lvsr(__b, (unsigned char *)__c)),
10607                  __b, __c);
10608 }
10609 
10610 static void __ATTRS_o_ai
10611 vec_stvrxl(vector unsigned int __a, int __b, unsigned int *__c)
10612 {
10613   return vec_stl(vec_perm(__a,
10614                           vec_lvlx(__b, __c),
10615                           vec_lvsr(__b, __c)),
10616                  __b, __c);
10617 }
10618 
10619 static void __ATTRS_o_ai
10620 vec_stvrxl(vector unsigned int __a, int __b, vector unsigned int *__c)
10621 {
10622   return vec_stl(vec_perm(__a,
10623                           vec_lvlx(__b, __c),
10624                           vec_lvsr(__b, (unsigned char *)__c)),
10625                  __b, __c);
10626 }
10627 
10628 static void __ATTRS_o_ai
10629 vec_stvrxl(vector bool int __a, int __b, vector bool int *__c)
10630 {
10631   return vec_stl(vec_perm(__a,
10632                           vec_lvlx(__b, __c),
10633                           vec_lvsr(__b, (unsigned char *)__c)),
10634                  __b, __c);
10635 }
10636 
10637 static void __ATTRS_o_ai
10638 vec_stvrxl(vector float __a, int __b, vector float *__c)
10639 {
10640   return vec_stl(vec_perm(__a,
10641                           vec_lvlx(__b, __c),
10642                           vec_lvsr(__b, (unsigned char *)__c)),
10643                  __b, __c);
10644 }
10645 
10646 /* vec_promote */
10647 
10648 static vector signed char __ATTRS_o_ai
10649 vec_promote(signed char __a, int __b)
10650 {
10651   vector signed char __res = (vector signed char)(0);
10652   __res[__b] = __a;
10653   return __res;
10654 }
10655 
10656 static vector unsigned char __ATTRS_o_ai
10657 vec_promote(unsigned char __a, int __b)
10658 {
10659   vector unsigned char __res = (vector unsigned char)(0);
10660   __res[__b] = __a;
10661   return __res;
10662 }
10663 
10664 static vector short __ATTRS_o_ai
10665 vec_promote(short __a, int __b)
10666 {
10667   vector short __res = (vector short)(0);
10668   __res[__b] = __a;
10669   return __res;
10670 }
10671 
10672 static vector unsigned short __ATTRS_o_ai
10673 vec_promote(unsigned short __a, int __b)
10674 {
10675   vector unsigned short __res = (vector unsigned short)(0);
10676   __res[__b] = __a;
10677   return __res;
10678 }
10679 
10680 static vector int __ATTRS_o_ai
10681 vec_promote(int __a, int __b)
10682 {
10683   vector int __res = (vector int)(0);
10684   __res[__b] = __a;
10685   return __res;
10686 }
10687 
10688 static vector unsigned int __ATTRS_o_ai
10689 vec_promote(unsigned int __a, int __b)
10690 {
10691   vector unsigned int __res = (vector unsigned int)(0);
10692   __res[__b] = __a;
10693   return __res;
10694 }
10695 
10696 static vector float __ATTRS_o_ai
10697 vec_promote(float __a, int __b)
10698 {
10699   vector float __res = (vector float)(0);
10700   __res[__b] = __a;
10701   return __res;
10702 }
10703 
10704 /* vec_splats */
10705 
10706 static vector signed char __ATTRS_o_ai
10707 vec_splats(signed char __a)
10708 {
10709   return (vector signed char)(__a);
10710 }
10711 
10712 static vector unsigned char __ATTRS_o_ai
10713 vec_splats(unsigned char __a)
10714 {
10715   return (vector unsigned char)(__a);
10716 }
10717 
10718 static vector short __ATTRS_o_ai
10719 vec_splats(short __a)
10720 {
10721   return (vector short)(__a);
10722 }
10723 
10724 static vector unsigned short __ATTRS_o_ai
10725 vec_splats(unsigned short __a)
10726 {
10727   return (vector unsigned short)(__a);
10728 }
10729 
10730 static vector int __ATTRS_o_ai
10731 vec_splats(int __a)
10732 {
10733   return (vector int)(__a);
10734 }
10735 
10736 static vector unsigned int __ATTRS_o_ai
10737 vec_splats(unsigned int __a)
10738 {
10739   return (vector unsigned int)(__a);
10740 }
10741 
10742 static vector float __ATTRS_o_ai
10743 vec_splats(float __a)
10744 {
10745   return (vector float)(__a);
10746 }
10747 
10748 /* ----------------------------- predicates --------------------------------- */
10749 
10750 /* vec_all_eq */
10751 
10752 static int __ATTRS_o_ai
10753 vec_all_eq(vector signed char __a, vector signed char __b)
10754 {
10755   return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10756 }
10757 
10758 static int __ATTRS_o_ai
10759 vec_all_eq(vector signed char __a, vector bool char __b)
10760 {
10761   return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10762 }
10763 
10764 static int __ATTRS_o_ai
10765 vec_all_eq(vector unsigned char __a, vector unsigned char __b)
10766 {
10767   return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10768 }
10769 
10770 static int __ATTRS_o_ai
10771 vec_all_eq(vector unsigned char __a, vector bool char __b)
10772 {
10773   return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10774 }
10775 
10776 static int __ATTRS_o_ai
10777 vec_all_eq(vector bool char __a, vector signed char __b)
10778 {
10779   return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10780 }
10781 
10782 static int __ATTRS_o_ai
10783 vec_all_eq(vector bool char __a, vector unsigned char __b)
10784 {
10785   return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10786 }
10787 
10788 static int __ATTRS_o_ai
10789 vec_all_eq(vector bool char __a, vector bool char __b)
10790 {
10791   return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10792 }
10793 
10794 static int __ATTRS_o_ai
10795 vec_all_eq(vector short __a, vector short __b)
10796 {
10797   return __builtin_altivec_vcmpequh_p(__CR6_LT, __a, __b);
10798 }
10799 
10800 static int __ATTRS_o_ai
10801 vec_all_eq(vector short __a, vector bool short __b)
10802 {
10803   return __builtin_altivec_vcmpequh_p(__CR6_LT, __a, (vector short)__b);
10804 }
10805 
10806 static int __ATTRS_o_ai
10807 vec_all_eq(vector unsigned short __a, vector unsigned short __b)
10808 {
10809   return
10810     __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10811 }
10812 
10813 static int __ATTRS_o_ai
10814 vec_all_eq(vector unsigned short __a, vector bool short __b)
10815 {
10816   return
10817     __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10818 }
10819 
10820 static int __ATTRS_o_ai
10821 vec_all_eq(vector bool short __a, vector short __b)
10822 {
10823   return
10824     __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10825 }
10826 
10827 static int __ATTRS_o_ai
10828 vec_all_eq(vector bool short __a, vector unsigned short __b)
10829 {
10830   return
10831     __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10832 }
10833 
10834 static int __ATTRS_o_ai
10835 vec_all_eq(vector bool short __a, vector bool short __b)
10836 {
10837   return
10838     __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10839 }
10840 
10841 static int __ATTRS_o_ai
10842 vec_all_eq(vector pixel __a, vector pixel __b)
10843 {
10844   return
10845     __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10846 }
10847 
10848 static int __ATTRS_o_ai
10849 vec_all_eq(vector int __a, vector int __b)
10850 {
10851   return __builtin_altivec_vcmpequw_p(__CR6_LT, __a, __b);
10852 }
10853 
10854 static int __ATTRS_o_ai
10855 vec_all_eq(vector int __a, vector bool int __b)
10856 {
10857   return __builtin_altivec_vcmpequw_p(__CR6_LT, __a, (vector int)__b);
10858 }
10859 
10860 static int __ATTRS_o_ai
10861 vec_all_eq(vector unsigned int __a, vector unsigned int __b)
10862 {
10863   return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10864 }
10865 
10866 static int __ATTRS_o_ai
10867 vec_all_eq(vector unsigned int __a, vector bool int __b)
10868 {
10869   return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10870 }
10871 
10872 static int __ATTRS_o_ai
10873 vec_all_eq(vector bool int __a, vector int __b)
10874 {
10875   return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10876 }
10877 
10878 static int __ATTRS_o_ai
10879 vec_all_eq(vector bool int __a, vector unsigned int __b)
10880 {
10881   return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10882 }
10883 
10884 static int __ATTRS_o_ai
10885 vec_all_eq(vector bool int __a, vector bool int __b)
10886 {
10887   return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10888 }
10889 
10890 static int __ATTRS_o_ai
10891 vec_all_eq(vector float __a, vector float __b)
10892 {
10893   return __builtin_altivec_vcmpeqfp_p(__CR6_LT, __a, __b);
10894 }
10895 
10896 /* vec_all_ge */
10897 
10898 static int __ATTRS_o_ai
10899 vec_all_ge(vector signed char __a, vector signed char __b)
10900 {
10901   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __b, __a);
10902 }
10903 
10904 static int __ATTRS_o_ai
10905 vec_all_ge(vector signed char __a, vector bool char __b)
10906 {
10907   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, (vector signed char)__b, __a);
10908 }
10909 
10910 static int __ATTRS_o_ai
10911 vec_all_ge(vector unsigned char __a, vector unsigned char __b)
10912 {
10913   return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __b, __a);
10914 }
10915 
10916 static int __ATTRS_o_ai
10917 vec_all_ge(vector unsigned char __a, vector bool char __b)
10918 {
10919   return __builtin_altivec_vcmpgtub_p(__CR6_EQ, (vector unsigned char)__b, __a);
10920 }
10921 
10922 static int __ATTRS_o_ai
10923 vec_all_ge(vector bool char __a, vector signed char __b)
10924 {
10925   return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
10926                                       (vector unsigned char)__b,
10927                                       (vector unsigned char)__a);
10928 }
10929 
10930 static int __ATTRS_o_ai
10931 vec_all_ge(vector bool char __a, vector unsigned char __b)
10932 {
10933   return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __b, (vector unsigned char)__a);
10934 }
10935 
10936 static int __ATTRS_o_ai
10937 vec_all_ge(vector bool char __a, vector bool char __b)
10938 {
10939   return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
10940                                       (vector unsigned char)__b,
10941                                       (vector unsigned char)__a);
10942 }
10943 
10944 static int __ATTRS_o_ai
10945 vec_all_ge(vector short __a, vector short __b)
10946 {
10947   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __b, __a);
10948 }
10949 
10950 static int __ATTRS_o_ai
10951 vec_all_ge(vector short __a, vector bool short __b)
10952 {
10953   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, (vector short)__b, __a);
10954 }
10955 
10956 static int __ATTRS_o_ai
10957 vec_all_ge(vector unsigned short __a, vector unsigned short __b)
10958 {
10959   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __b, __a);
10960 }
10961 
10962 static int __ATTRS_o_ai
10963 vec_all_ge(vector unsigned short __a, vector bool short __b)
10964 {
10965   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, (vector unsigned short)__b, __a);
10966 }
10967 
10968 static int __ATTRS_o_ai
10969 vec_all_ge(vector bool short __a, vector short __b)
10970 {
10971   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
10972                                       (vector unsigned short)__b,
10973                                       (vector unsigned short)__a);
10974 }
10975 
10976 static int __ATTRS_o_ai
10977 vec_all_ge(vector bool short __a, vector unsigned short __b)
10978 {
10979   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __b, (vector unsigned short)__a);
10980 }
10981 
10982 static int __ATTRS_o_ai
10983 vec_all_ge(vector bool short __a, vector bool short __b)
10984 {
10985   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
10986                                       (vector unsigned short)__b,
10987                                       (vector unsigned short)__a);
10988 }
10989 
10990 static int __ATTRS_o_ai
10991 vec_all_ge(vector int __a, vector int __b)
10992 {
10993   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __b, __a);
10994 }
10995 
10996 static int __ATTRS_o_ai
10997 vec_all_ge(vector int __a, vector bool int __b)
10998 {
10999   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, (vector int)__b, __a);
11000 }
11001 
11002 static int __ATTRS_o_ai
11003 vec_all_ge(vector unsigned int __a, vector unsigned int __b)
11004 {
11005   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __b, __a);
11006 }
11007 
11008 static int __ATTRS_o_ai
11009 vec_all_ge(vector unsigned int __a, vector bool int __b)
11010 {
11011   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, (vector unsigned int)__b, __a);
11012 }
11013 
11014 static int __ATTRS_o_ai
11015 vec_all_ge(vector bool int __a, vector int __b)
11016 {
11017   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
11018                                       (vector unsigned int)__b,
11019                                       (vector unsigned int)__a);
11020 }
11021 
11022 static int __ATTRS_o_ai
11023 vec_all_ge(vector bool int __a, vector unsigned int __b)
11024 {
11025   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __b, (vector unsigned int)__a);
11026 }
11027 
11028 static int __ATTRS_o_ai
11029 vec_all_ge(vector bool int __a, vector bool int __b)
11030 {
11031   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
11032                                       (vector unsigned int)__b,
11033                                       (vector unsigned int)__a);
11034 }
11035 
11036 static int __ATTRS_o_ai
11037 vec_all_ge(vector float __a, vector float __b)
11038 {
11039   return __builtin_altivec_vcmpgefp_p(__CR6_LT, __a, __b);
11040 }
11041 
11042 /* vec_all_gt */
11043 
11044 static int __ATTRS_o_ai
11045 vec_all_gt(vector signed char __a, vector signed char __b)
11046 {
11047   return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __a, __b);
11048 }
11049 
11050 static int __ATTRS_o_ai
11051 vec_all_gt(vector signed char __a, vector bool char __b)
11052 {
11053   return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __a, (vector signed char)__b);
11054 }
11055 
11056 static int __ATTRS_o_ai
11057 vec_all_gt(vector unsigned char __a, vector unsigned char __b)
11058 {
11059   return __builtin_altivec_vcmpgtub_p(__CR6_LT, __a, __b);
11060 }
11061 
11062 static int __ATTRS_o_ai
11063 vec_all_gt(vector unsigned char __a, vector bool char __b)
11064 {
11065   return __builtin_altivec_vcmpgtub_p(__CR6_LT, __a, (vector unsigned char)__b);
11066 }
11067 
11068 static int __ATTRS_o_ai
11069 vec_all_gt(vector bool char __a, vector signed char __b)
11070 {
11071   return __builtin_altivec_vcmpgtub_p(__CR6_LT,
11072                                       (vector unsigned char)__a,
11073                                       (vector unsigned char)__b);
11074 }
11075 
11076 static int __ATTRS_o_ai
11077 vec_all_gt(vector bool char __a, vector unsigned char __b)
11078 {
11079   return __builtin_altivec_vcmpgtub_p(__CR6_LT, (vector unsigned char)__a, __b);
11080 }
11081 
11082 static int __ATTRS_o_ai
11083 vec_all_gt(vector bool char __a, vector bool char __b)
11084 {
11085   return __builtin_altivec_vcmpgtub_p(__CR6_LT,
11086                                       (vector unsigned char)__a,
11087                                       (vector unsigned char)__b);
11088 }
11089 
11090 static int __ATTRS_o_ai
11091 vec_all_gt(vector short __a, vector short __b)
11092 {
11093   return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __a, __b);
11094 }
11095 
11096 static int __ATTRS_o_ai
11097 vec_all_gt(vector short __a, vector bool short __b)
11098 {
11099   return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __a, (vector short)__b);
11100 }
11101 
11102 static int __ATTRS_o_ai
11103 vec_all_gt(vector unsigned short __a, vector unsigned short __b)
11104 {
11105   return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __a, __b);
11106 }
11107 
11108 static int __ATTRS_o_ai
11109 vec_all_gt(vector unsigned short __a, vector bool short __b)
11110 {
11111   return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __a, (vector unsigned short)__b);
11112 }
11113 
11114 static int __ATTRS_o_ai
11115 vec_all_gt(vector bool short __a, vector short __b)
11116 {
11117   return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
11118                                       (vector unsigned short)__a,
11119                                       (vector unsigned short)__b);
11120 }
11121 
11122 static int __ATTRS_o_ai
11123 vec_all_gt(vector bool short __a, vector unsigned short __b)
11124 {
11125   return __builtin_altivec_vcmpgtuh_p(__CR6_LT, (vector unsigned short)__a, __b);
11126 }
11127 
11128 static int __ATTRS_o_ai
11129 vec_all_gt(vector bool short __a, vector bool short __b)
11130 {
11131   return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
11132                                       (vector unsigned short)__a,
11133                                       (vector unsigned short)__b);
11134 }
11135 
11136 static int __ATTRS_o_ai
11137 vec_all_gt(vector int __a, vector int __b)
11138 {
11139   return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __a, __b);
11140 }
11141 
11142 static int __ATTRS_o_ai
11143 vec_all_gt(vector int __a, vector bool int __b)
11144 {
11145   return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __a, (vector int)__b);
11146 }
11147 
11148 static int __ATTRS_o_ai
11149 vec_all_gt(vector unsigned int __a, vector unsigned int __b)
11150 {
11151   return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __a, __b);
11152 }
11153 
11154 static int __ATTRS_o_ai
11155 vec_all_gt(vector unsigned int __a, vector bool int __b)
11156 {
11157   return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __a, (vector unsigned int)__b);
11158 }
11159 
11160 static int __ATTRS_o_ai
11161 vec_all_gt(vector bool int __a, vector int __b)
11162 {
11163   return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
11164                                       (vector unsigned int)__a,
11165                                       (vector unsigned int)__b);
11166 }
11167 
11168 static int __ATTRS_o_ai
11169 vec_all_gt(vector bool int __a, vector unsigned int __b)
11170 {
11171   return __builtin_altivec_vcmpgtuw_p(__CR6_LT, (vector unsigned int)__a, __b);
11172 }
11173 
11174 static int __ATTRS_o_ai
11175 vec_all_gt(vector bool int __a, vector bool int __b)
11176 {
11177   return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
11178                                       (vector unsigned int)__a,
11179                                       (vector unsigned int)__b);
11180 }
11181 
11182 static int __ATTRS_o_ai
11183 vec_all_gt(vector float __a, vector float __b)
11184 {
11185   return __builtin_altivec_vcmpgtfp_p(__CR6_LT, __a, __b);
11186 }
11187 
11188 /* vec_all_in */
11189 
11190 static int __attribute__((__always_inline__))
11191 vec_all_in(vector float __a, vector float __b)
11192 {
11193   return __builtin_altivec_vcmpbfp_p(__CR6_EQ, __a, __b);
11194 }
11195 
11196 /* vec_all_le */
11197 
11198 static int __ATTRS_o_ai
11199 vec_all_le(vector signed char __a, vector signed char __b)
11200 {
11201   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __a, __b);
11202 }
11203 
11204 static int __ATTRS_o_ai
11205 vec_all_le(vector signed char __a, vector bool char __b)
11206 {
11207   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __a, (vector signed char)__b);
11208 }
11209 
11210 static int __ATTRS_o_ai
11211 vec_all_le(vector unsigned char __a, vector unsigned char __b)
11212 {
11213   return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __a, __b);
11214 }
11215 
11216 static int __ATTRS_o_ai
11217 vec_all_le(vector unsigned char __a, vector bool char __b)
11218 {
11219   return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __a, (vector unsigned char)__b);
11220 }
11221 
11222 static int __ATTRS_o_ai
11223 vec_all_le(vector bool char __a, vector signed char __b)
11224 {
11225   return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
11226                                       (vector unsigned char)__a,
11227                                       (vector unsigned char)__b);
11228 }
11229 
11230 static int __ATTRS_o_ai
11231 vec_all_le(vector bool char __a, vector unsigned char __b)
11232 {
11233   return __builtin_altivec_vcmpgtub_p(__CR6_EQ, (vector unsigned char)__a, __b);
11234 }
11235 
11236 static int __ATTRS_o_ai
11237 vec_all_le(vector bool char __a, vector bool char __b)
11238 {
11239   return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
11240                                       (vector unsigned char)__a,
11241                                       (vector unsigned char)__b);
11242 }
11243 
11244 static int __ATTRS_o_ai
11245 vec_all_le(vector short __a, vector short __b)
11246 {
11247   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __a, __b);
11248 }
11249 
11250 static int __ATTRS_o_ai
11251 vec_all_le(vector short __a, vector bool short __b)
11252 {
11253   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __a, (vector short)__b);
11254 }
11255 
11256 static int __ATTRS_o_ai
11257 vec_all_le(vector unsigned short __a, vector unsigned short __b)
11258 {
11259   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __a, __b);
11260 }
11261 
11262 static int __ATTRS_o_ai
11263 vec_all_le(vector unsigned short __a, vector bool short __b)
11264 {
11265   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __a, (vector unsigned short)__b);
11266 }
11267 
11268 static int __ATTRS_o_ai
11269 vec_all_le(vector bool short __a, vector short __b)
11270 {
11271   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
11272                                       (vector unsigned short)__a,
11273                                       (vector unsigned short)__b);
11274 }
11275 
11276 static int __ATTRS_o_ai
11277 vec_all_le(vector bool short __a, vector unsigned short __b)
11278 {
11279   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, (vector unsigned short)__a, __b);
11280 }
11281 
11282 static int __ATTRS_o_ai
11283 vec_all_le(vector bool short __a, vector bool short __b)
11284 {
11285   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
11286                                       (vector unsigned short)__a,
11287                                       (vector unsigned short)__b);
11288 }
11289 
11290 static int __ATTRS_o_ai
11291 vec_all_le(vector int __a, vector int __b)
11292 {
11293   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __a, __b);
11294 }
11295 
11296 static int __ATTRS_o_ai
11297 vec_all_le(vector int __a, vector bool int __b)
11298 {
11299   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __a, (vector int)__b);
11300 }
11301 
11302 static int __ATTRS_o_ai
11303 vec_all_le(vector unsigned int __a, vector unsigned int __b)
11304 {
11305   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __a, __b);
11306 }
11307 
11308 static int __ATTRS_o_ai
11309 vec_all_le(vector unsigned int __a, vector bool int __b)
11310 {
11311   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __a, (vector unsigned int)__b);
11312 }
11313 
11314 static int __ATTRS_o_ai
11315 vec_all_le(vector bool int __a, vector int __b)
11316 {
11317   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
11318                                       (vector unsigned int)__a,
11319                                       (vector unsigned int)__b);
11320 }
11321 
11322 static int __ATTRS_o_ai
11323 vec_all_le(vector bool int __a, vector unsigned int __b)
11324 {
11325   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, (vector unsigned int)__a, __b);
11326 }
11327 
11328 static int __ATTRS_o_ai
11329 vec_all_le(vector bool int __a, vector bool int __b)
11330 {
11331   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
11332                                       (vector unsigned int)__a,
11333                                       (vector unsigned int)__b);
11334 }
11335 
11336 static int __ATTRS_o_ai
11337 vec_all_le(vector float __a, vector float __b)
11338 {
11339   return __builtin_altivec_vcmpgefp_p(__CR6_LT, __b, __a);
11340 }
11341 
11342 /* vec_all_lt */
11343 
11344 static int __ATTRS_o_ai
11345 vec_all_lt(vector signed char __a, vector signed char __b)
11346 {
11347   return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __b, __a);
11348 }
11349 
11350 static int __ATTRS_o_ai
11351 vec_all_lt(vector signed char __a, vector bool char __b)
11352 {
11353   return __builtin_altivec_vcmpgtsb_p(__CR6_LT, (vector signed char)__b, __a);
11354 }
11355 
11356 static int __ATTRS_o_ai
11357 vec_all_lt(vector unsigned char __a, vector unsigned char __b)
11358 {
11359   return __builtin_altivec_vcmpgtub_p(__CR6_LT, __b, __a);
11360 }
11361 
11362 static int __ATTRS_o_ai
11363 vec_all_lt(vector unsigned char __a, vector bool char __b)
11364 {
11365   return __builtin_altivec_vcmpgtub_p(__CR6_LT, (vector unsigned char)__b, __a);
11366 }
11367 
11368 static int __ATTRS_o_ai
11369 vec_all_lt(vector bool char __a, vector signed char __b)
11370 {
11371   return __builtin_altivec_vcmpgtub_p(__CR6_LT,
11372                                       (vector unsigned char)__b,
11373                                       (vector unsigned char)__a);
11374 }
11375 
11376 static int __ATTRS_o_ai
11377 vec_all_lt(vector bool char __a, vector unsigned char __b)
11378 {
11379   return __builtin_altivec_vcmpgtub_p(__CR6_LT, __b, (vector unsigned char)__a);
11380 }
11381 
11382 static int __ATTRS_o_ai
11383 vec_all_lt(vector bool char __a, vector bool char __b)
11384 {
11385   return __builtin_altivec_vcmpgtub_p(__CR6_LT,
11386                                       (vector unsigned char)__b,
11387                                       (vector unsigned char)__a);
11388 }
11389 
11390 static int __ATTRS_o_ai
11391 vec_all_lt(vector short __a, vector short __b)
11392 {
11393   return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __b, __a);
11394 }
11395 
11396 static int __ATTRS_o_ai
11397 vec_all_lt(vector short __a, vector bool short __b)
11398 {
11399   return __builtin_altivec_vcmpgtsh_p(__CR6_LT, (vector short)__b, __a);
11400 }
11401 
11402 static int __ATTRS_o_ai
11403 vec_all_lt(vector unsigned short __a, vector unsigned short __b)
11404 {
11405   return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __b, __a);
11406 }
11407 
11408 static int __ATTRS_o_ai
11409 vec_all_lt(vector unsigned short __a, vector bool short __b)
11410 {
11411   return __builtin_altivec_vcmpgtuh_p(__CR6_LT, (vector unsigned short)__b, __a);
11412 }
11413 
11414 static int __ATTRS_o_ai
11415 vec_all_lt(vector bool short __a, vector short __b)
11416 {
11417   return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
11418                                       (vector unsigned short)__b,
11419                                       (vector unsigned short)__a);
11420 }
11421 
11422 static int __ATTRS_o_ai
11423 vec_all_lt(vector bool short __a, vector unsigned short __b)
11424 {
11425   return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __b, (vector unsigned short)__a);
11426 }
11427 
11428 static int __ATTRS_o_ai
11429 vec_all_lt(vector bool short __a, vector bool short __b)
11430 {
11431   return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
11432                                       (vector unsigned short)__b,
11433                                       (vector unsigned short)__a);
11434 }
11435 
11436 static int __ATTRS_o_ai
11437 vec_all_lt(vector int __a, vector int __b)
11438 {
11439   return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __b, __a);
11440 }
11441 
11442 static int __ATTRS_o_ai
11443 vec_all_lt(vector int __a, vector bool int __b)
11444 {
11445   return __builtin_altivec_vcmpgtsw_p(__CR6_LT, (vector int)__b, __a);
11446 }
11447 
11448 static int __ATTRS_o_ai
11449 vec_all_lt(vector unsigned int __a, vector unsigned int __b)
11450 {
11451   return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __b, __a);
11452 }
11453 
11454 static int __ATTRS_o_ai
11455 vec_all_lt(vector unsigned int __a, vector bool int __b)
11456 {
11457   return __builtin_altivec_vcmpgtuw_p(__CR6_LT, (vector unsigned int)__b, __a);
11458 }
11459 
11460 static int __ATTRS_o_ai
11461 vec_all_lt(vector bool int __a, vector int __b)
11462 {
11463   return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
11464                                       (vector unsigned int)__b,
11465                                       (vector unsigned int)__a);
11466 }
11467 
11468 static int __ATTRS_o_ai
11469 vec_all_lt(vector bool int __a, vector unsigned int __b)
11470 {
11471   return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __b, (vector unsigned int)__a);
11472 }
11473 
11474 static int __ATTRS_o_ai
11475 vec_all_lt(vector bool int __a, vector bool int __b)
11476 {
11477   return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
11478                                       (vector unsigned int)__b,
11479                                       (vector unsigned int)__a);
11480 }
11481 
11482 static int __ATTRS_o_ai
11483 vec_all_lt(vector float __a, vector float __b)
11484 {
11485   return __builtin_altivec_vcmpgtfp_p(__CR6_LT, __b, __a);
11486 }
11487 
11488 /* vec_all_nan */
11489 
11490 static int __attribute__((__always_inline__))
11491 vec_all_nan(vector float __a)
11492 {
11493   return __builtin_altivec_vcmpeqfp_p(__CR6_EQ, __a, __a);
11494 }
11495 
11496 /* vec_all_ne */
11497 
11498 static int __ATTRS_o_ai
11499 vec_all_ne(vector signed char __a, vector signed char __b)
11500 {
11501   return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11502 }
11503 
11504 static int __ATTRS_o_ai
11505 vec_all_ne(vector signed char __a, vector bool char __b)
11506 {
11507   return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11508 }
11509 
11510 static int __ATTRS_o_ai
11511 vec_all_ne(vector unsigned char __a, vector unsigned char __b)
11512 {
11513   return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11514 }
11515 
11516 static int __ATTRS_o_ai
11517 vec_all_ne(vector unsigned char __a, vector bool char __b)
11518 {
11519   return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11520 }
11521 
11522 static int __ATTRS_o_ai
11523 vec_all_ne(vector bool char __a, vector signed char __b)
11524 {
11525   return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11526 }
11527 
11528 static int __ATTRS_o_ai
11529 vec_all_ne(vector bool char __a, vector unsigned char __b)
11530 {
11531   return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11532 }
11533 
11534 static int __ATTRS_o_ai
11535 vec_all_ne(vector bool char __a, vector bool char __b)
11536 {
11537   return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11538 }
11539 
11540 static int __ATTRS_o_ai
11541 vec_all_ne(vector short __a, vector short __b)
11542 {
11543   return __builtin_altivec_vcmpequh_p(__CR6_EQ, __a, __b);
11544 }
11545 
11546 static int __ATTRS_o_ai
11547 vec_all_ne(vector short __a, vector bool short __b)
11548 {
11549   return __builtin_altivec_vcmpequh_p(__CR6_EQ, __a, (vector short)__b);
11550 }
11551 
11552 static int __ATTRS_o_ai
11553 vec_all_ne(vector unsigned short __a, vector unsigned short __b)
11554 {
11555   return
11556     __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11557 }
11558 
11559 static int __ATTRS_o_ai
11560 vec_all_ne(vector unsigned short __a, vector bool short __b)
11561 {
11562   return
11563     __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11564 }
11565 
11566 static int __ATTRS_o_ai
11567 vec_all_ne(vector bool short __a, vector short __b)
11568 {
11569   return
11570     __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11571 }
11572 
11573 static int __ATTRS_o_ai
11574 vec_all_ne(vector bool short __a, vector unsigned short __b)
11575 {
11576   return
11577     __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11578 }
11579 
11580 static int __ATTRS_o_ai
11581 vec_all_ne(vector bool short __a, vector bool short __b)
11582 {
11583   return
11584     __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11585 }
11586 
11587 static int __ATTRS_o_ai
11588 vec_all_ne(vector pixel __a, vector pixel __b)
11589 {
11590   return
11591     __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11592 }
11593 
11594 static int __ATTRS_o_ai
11595 vec_all_ne(vector int __a, vector int __b)
11596 {
11597   return __builtin_altivec_vcmpequw_p(__CR6_EQ, __a, __b);
11598 }
11599 
11600 static int __ATTRS_o_ai
11601 vec_all_ne(vector int __a, vector bool int __b)
11602 {
11603   return __builtin_altivec_vcmpequw_p(__CR6_EQ, __a, (vector int)__b);
11604 }
11605 
11606 static int __ATTRS_o_ai
11607 vec_all_ne(vector unsigned int __a, vector unsigned int __b)
11608 {
11609   return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11610 }
11611 
11612 static int __ATTRS_o_ai
11613 vec_all_ne(vector unsigned int __a, vector bool int __b)
11614 {
11615   return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11616 }
11617 
11618 static int __ATTRS_o_ai
11619 vec_all_ne(vector bool int __a, vector int __b)
11620 {
11621   return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11622 }
11623 
11624 static int __ATTRS_o_ai
11625 vec_all_ne(vector bool int __a, vector unsigned int __b)
11626 {
11627   return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11628 }
11629 
11630 static int __ATTRS_o_ai
11631 vec_all_ne(vector bool int __a, vector bool int __b)
11632 {
11633   return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11634 }
11635 
11636 static int __ATTRS_o_ai
11637 vec_all_ne(vector float __a, vector float __b)
11638 {
11639   return __builtin_altivec_vcmpeqfp_p(__CR6_EQ, __a, __b);
11640 }
11641 
11642 /* vec_all_nge */
11643 
11644 static int __attribute__((__always_inline__))
11645 vec_all_nge(vector float __a, vector float __b)
11646 {
11647   return __builtin_altivec_vcmpgefp_p(__CR6_EQ, __a, __b);
11648 }
11649 
11650 /* vec_all_ngt */
11651 
11652 static int __attribute__((__always_inline__))
11653 vec_all_ngt(vector float __a, vector float __b)
11654 {
11655   return __builtin_altivec_vcmpgtfp_p(__CR6_EQ, __a, __b);
11656 }
11657 
11658 /* vec_all_nle */
11659 
11660 static int __attribute__((__always_inline__))
11661 vec_all_nle(vector float __a, vector float __b)
11662 {
11663   return __builtin_altivec_vcmpgefp_p(__CR6_EQ, __b, __a);
11664 }
11665 
11666 /* vec_all_nlt */
11667 
11668 static int __attribute__((__always_inline__))
11669 vec_all_nlt(vector float __a, vector float __b)
11670 {
11671   return __builtin_altivec_vcmpgtfp_p(__CR6_EQ, __b, __a);
11672 }
11673 
11674 /* vec_all_numeric */
11675 
11676 static int __attribute__((__always_inline__))
11677 vec_all_numeric(vector float __a)
11678 {
11679   return __builtin_altivec_vcmpeqfp_p(__CR6_LT, __a, __a);
11680 }
11681 
11682 /* vec_any_eq */
11683 
11684 static int __ATTRS_o_ai
11685 vec_any_eq(vector signed char __a, vector signed char __b)
11686 {
11687   return
11688     __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11689 }
11690 
11691 static int __ATTRS_o_ai
11692 vec_any_eq(vector signed char __a, vector bool char __b)
11693 {
11694   return
11695     __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11696 }
11697 
11698 static int __ATTRS_o_ai
11699 vec_any_eq(vector unsigned char __a, vector unsigned char __b)
11700 {
11701   return
11702     __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11703 }
11704 
11705 static int __ATTRS_o_ai
11706 vec_any_eq(vector unsigned char __a, vector bool char __b)
11707 {
11708   return
11709     __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11710 }
11711 
11712 static int __ATTRS_o_ai
11713 vec_any_eq(vector bool char __a, vector signed char __b)
11714 {
11715   return
11716     __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11717 }
11718 
11719 static int __ATTRS_o_ai
11720 vec_any_eq(vector bool char __a, vector unsigned char __b)
11721 {
11722   return
11723     __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11724 }
11725 
11726 static int __ATTRS_o_ai
11727 vec_any_eq(vector bool char __a, vector bool char __b)
11728 {
11729   return
11730     __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11731 }
11732 
11733 static int __ATTRS_o_ai
11734 vec_any_eq(vector short __a, vector short __b)
11735 {
11736   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, __a, __b);
11737 }
11738 
11739 static int __ATTRS_o_ai
11740 vec_any_eq(vector short __a, vector bool short __b)
11741 {
11742   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, __a, (vector short)__b);
11743 }
11744 
11745 static int __ATTRS_o_ai
11746 vec_any_eq(vector unsigned short __a, vector unsigned short __b)
11747 {
11748   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, 
11749                                       (vector short)__a,
11750                                       (vector short)__b);
11751 }
11752 
11753 static int __ATTRS_o_ai
11754 vec_any_eq(vector unsigned short __a, vector bool short __b)
11755 {
11756   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, 
11757                                       (vector short)__a,
11758                                       (vector short)__b);
11759 }
11760 
11761 static int __ATTRS_o_ai
11762 vec_any_eq(vector bool short __a, vector short __b)
11763 {
11764   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11765                                       (vector short)__a,
11766                                       (vector short)__b);
11767 }
11768 
11769 static int __ATTRS_o_ai
11770 vec_any_eq(vector bool short __a, vector unsigned short __b)
11771 {
11772   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11773                                       (vector short)__a,
11774                                       (vector short)__b);
11775 }
11776 
11777 static int __ATTRS_o_ai
11778 vec_any_eq(vector bool short __a, vector bool short __b)
11779 {
11780   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
11781                                       (vector short)__a,
11782                                       (vector short)__b);
11783 }
11784 
11785 static int __ATTRS_o_ai
11786 vec_any_eq(vector pixel __a, vector pixel __b)
11787 {
11788   return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, 
11789                                       (vector short)__a,
11790                                       (vector short)__b);
11791 }
11792 
11793 static int __ATTRS_o_ai
11794 vec_any_eq(vector int __a, vector int __b)
11795 {
11796   return __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, __a, __b);
11797 }
11798 
11799 static int __ATTRS_o_ai
11800 vec_any_eq(vector int __a, vector bool int __b)
11801 {
11802   return __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, __a, (vector int)__b);
11803 }
11804 
11805 static int __ATTRS_o_ai
11806 vec_any_eq(vector unsigned int __a, vector unsigned int __b)
11807 {
11808   return
11809     __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11810 }
11811 
11812 static int __ATTRS_o_ai
11813 vec_any_eq(vector unsigned int __a, vector bool int __b)
11814 {
11815   return
11816     __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11817 }
11818 
11819 static int __ATTRS_o_ai
11820 vec_any_eq(vector bool int __a, vector int __b)
11821 {
11822   return
11823     __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11824 }
11825 
11826 static int __ATTRS_o_ai
11827 vec_any_eq(vector bool int __a, vector unsigned int __b)
11828 {
11829   return
11830     __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11831 }
11832 
11833 static int __ATTRS_o_ai
11834 vec_any_eq(vector bool int __a, vector bool int __b)
11835 {
11836   return
11837     __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11838 }
11839 
11840 static int __ATTRS_o_ai
11841 vec_any_eq(vector float __a, vector float __b)
11842 {
11843   return __builtin_altivec_vcmpeqfp_p(__CR6_EQ_REV, __a, __b);
11844 }
11845 
11846 /* vec_any_ge */
11847 
11848 static int __ATTRS_o_ai
11849 vec_any_ge(vector signed char __a, vector signed char __b)
11850 {
11851   return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __b, __a);
11852 }
11853 
11854 static int __ATTRS_o_ai
11855 vec_any_ge(vector signed char __a, vector bool char __b)
11856 {
11857   return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, (vector signed char)__b, __a);
11858 }
11859 
11860 static int __ATTRS_o_ai
11861 vec_any_ge(vector unsigned char __a, vector unsigned char __b)
11862 {
11863   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __b, __a);
11864 }
11865 
11866 static int __ATTRS_o_ai
11867 vec_any_ge(vector unsigned char __a, vector bool char __b)
11868 {
11869   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, (vector unsigned char)__b, __a);
11870 }
11871 
11872 static int __ATTRS_o_ai
11873 vec_any_ge(vector bool char __a, vector signed char __b)
11874 {
11875   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
11876                                       (vector unsigned char)__b,
11877                                       (vector unsigned char)__a);
11878 }
11879 
11880 static int __ATTRS_o_ai
11881 vec_any_ge(vector bool char __a, vector unsigned char __b)
11882 {
11883   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __b, (vector unsigned char)__a);
11884 }
11885 
11886 static int __ATTRS_o_ai
11887 vec_any_ge(vector bool char __a, vector bool char __b)
11888 {
11889   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
11890                                       (vector unsigned char)__b,
11891                                       (vector unsigned char)__a);
11892 }
11893 
11894 static int __ATTRS_o_ai
11895 vec_any_ge(vector short __a, vector short __b)
11896 {
11897   return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __b, __a);
11898 }
11899 
11900 static int __ATTRS_o_ai
11901 vec_any_ge(vector short __a, vector bool short __b)
11902 {
11903   return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, (vector short)__b, __a);
11904 }
11905 
11906 static int __ATTRS_o_ai
11907 vec_any_ge(vector unsigned short __a, vector unsigned short __b)
11908 {
11909   return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __b, __a);
11910 }
11911 
11912 static int __ATTRS_o_ai
11913 vec_any_ge(vector unsigned short __a, vector bool short __b)
11914 {
11915   return
11916     __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, (vector unsigned short)__b, __a);
11917 }
11918 
11919 static int __ATTRS_o_ai
11920 vec_any_ge(vector bool short __a, vector short __b)
11921 {
11922   return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
11923                                       (vector unsigned short)__b,
11924                                       (vector unsigned short)__a);
11925 }
11926 
11927 static int __ATTRS_o_ai
11928 vec_any_ge(vector bool short __a, vector unsigned short __b)
11929 {
11930   return 
11931     __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __b, (vector unsigned short)__a);
11932 }
11933 
11934 static int __ATTRS_o_ai
11935 vec_any_ge(vector bool short __a, vector bool short __b)
11936 {
11937   return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
11938                                       (vector unsigned short)__b,
11939                                       (vector unsigned short)__a);
11940 }
11941 
11942 static int __ATTRS_o_ai
11943 vec_any_ge(vector int __a, vector int __b)
11944 {
11945   return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __b, __a);
11946 }
11947 
11948 static int __ATTRS_o_ai
11949 vec_any_ge(vector int __a, vector bool int __b)
11950 {
11951   return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, (vector int)__b, __a);
11952 }
11953 
11954 static int __ATTRS_o_ai
11955 vec_any_ge(vector unsigned int __a, vector unsigned int __b)
11956 {
11957   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __b, __a);
11958 }
11959 
11960 static int __ATTRS_o_ai
11961 vec_any_ge(vector unsigned int __a, vector bool int __b)
11962 {
11963   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, (vector unsigned int)__b, __a);
11964 }
11965 
11966 static int __ATTRS_o_ai
11967 vec_any_ge(vector bool int __a, vector int __b)
11968 {
11969   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
11970                                       (vector unsigned int)__b,
11971                                       (vector unsigned int)__a);
11972 }
11973 
11974 static int __ATTRS_o_ai
11975 vec_any_ge(vector bool int __a, vector unsigned int __b)
11976 {
11977   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __b, (vector unsigned int)__a);
11978 }
11979 
11980 static int __ATTRS_o_ai
11981 vec_any_ge(vector bool int __a, vector bool int __b)
11982 {
11983   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
11984                                       (vector unsigned int)__b,
11985                                       (vector unsigned int)__a);
11986 }
11987 
11988 static int __ATTRS_o_ai
11989 vec_any_ge(vector float __a, vector float __b)
11990 {
11991   return __builtin_altivec_vcmpgefp_p(__CR6_EQ_REV, __a, __b);
11992 }
11993 
11994 /* vec_any_gt */
11995 
11996 static int __ATTRS_o_ai
11997 vec_any_gt(vector signed char __a, vector signed char __b)
11998 {
11999   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __a, __b);
12000 }
12001 
12002 static int __ATTRS_o_ai
12003 vec_any_gt(vector signed char __a, vector bool char __b)
12004 {
12005   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __a, (vector signed char)__b);
12006 }
12007 
12008 static int __ATTRS_o_ai
12009 vec_any_gt(vector unsigned char __a, vector unsigned char __b)
12010 {
12011   return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __a, __b);
12012 }
12013 
12014 static int __ATTRS_o_ai
12015 vec_any_gt(vector unsigned char __a, vector bool char __b)
12016 {
12017   return 
12018     __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __a, (vector unsigned char)__b);
12019 }
12020 
12021 static int __ATTRS_o_ai
12022 vec_any_gt(vector bool char __a, vector signed char __b)
12023 {
12024   return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
12025                                       (vector unsigned char)__a,
12026                                       (vector unsigned char)__b);
12027 }
12028 
12029 static int __ATTRS_o_ai
12030 vec_any_gt(vector bool char __a, vector unsigned char __b)
12031 {
12032   return 
12033     __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, (vector unsigned char)__a, __b);
12034 }
12035 
12036 static int __ATTRS_o_ai
12037 vec_any_gt(vector bool char __a, vector bool char __b)
12038 {
12039   return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
12040                                       (vector unsigned char)__a,
12041                                       (vector unsigned char)__b);
12042 }
12043 
12044 static int __ATTRS_o_ai
12045 vec_any_gt(vector short __a, vector short __b)
12046 {
12047   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __a, __b);
12048 }
12049 
12050 static int __ATTRS_o_ai
12051 vec_any_gt(vector short __a, vector bool short __b)
12052 {
12053   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __a, (vector short)__b);
12054 }
12055 
12056 static int __ATTRS_o_ai
12057 vec_any_gt(vector unsigned short __a, vector unsigned short __b)
12058 {
12059   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __a, __b);
12060 }
12061 
12062 static int __ATTRS_o_ai
12063 vec_any_gt(vector unsigned short __a, vector bool short __b)
12064 {
12065   return 
12066     __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __a, (vector unsigned short)__b);
12067 }
12068 
12069 static int __ATTRS_o_ai
12070 vec_any_gt(vector bool short __a, vector short __b)
12071 {
12072   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
12073                                       (vector unsigned short)__a,
12074                                       (vector unsigned short)__b);
12075 }
12076 
12077 static int __ATTRS_o_ai
12078 vec_any_gt(vector bool short __a, vector unsigned short __b)
12079 {
12080   return
12081     __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, (vector unsigned short)__a, __b);
12082 }
12083 
12084 static int __ATTRS_o_ai
12085 vec_any_gt(vector bool short __a, vector bool short __b)
12086 {
12087   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
12088                                       (vector unsigned short)__a,
12089                                       (vector unsigned short)__b);
12090 }
12091 
12092 static int __ATTRS_o_ai
12093 vec_any_gt(vector int __a, vector int __b)
12094 {
12095   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __a, __b);
12096 }
12097 
12098 static int __ATTRS_o_ai
12099 vec_any_gt(vector int __a, vector bool int __b)
12100 {
12101   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __a, (vector int)__b);
12102 }
12103 
12104 static int __ATTRS_o_ai
12105 vec_any_gt(vector unsigned int __a, vector unsigned int __b)
12106 {
12107   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __a, __b);
12108 }
12109 
12110 static int __ATTRS_o_ai
12111 vec_any_gt(vector unsigned int __a, vector bool int __b)
12112 {
12113   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __a, (vector unsigned int)__b);
12114 }
12115 
12116 static int __ATTRS_o_ai
12117 vec_any_gt(vector bool int __a, vector int __b)
12118 {
12119   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
12120                                       (vector unsigned int)__a,
12121                                       (vector unsigned int)__b);
12122 }
12123 
12124 static int __ATTRS_o_ai
12125 vec_any_gt(vector bool int __a, vector unsigned int __b)
12126 {
12127   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, (vector unsigned int)__a, __b);
12128 }
12129 
12130 static int __ATTRS_o_ai
12131 vec_any_gt(vector bool int __a, vector bool int __b)
12132 {
12133   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
12134                                       (vector unsigned int)__a,
12135                                       (vector unsigned int)__b);
12136 }
12137 
12138 static int __ATTRS_o_ai
12139 vec_any_gt(vector float __a, vector float __b)
12140 {
12141   return __builtin_altivec_vcmpgtfp_p(__CR6_EQ_REV, __a, __b);
12142 }
12143 
12144 /* vec_any_le */
12145 
12146 static int __ATTRS_o_ai
12147 vec_any_le(vector signed char __a, vector signed char __b)
12148 {
12149   return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __a, __b);
12150 }
12151 
12152 static int __ATTRS_o_ai
12153 vec_any_le(vector signed char __a, vector bool char __b)
12154 {
12155   return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __a, (vector signed char)__b);
12156 }
12157 
12158 static int __ATTRS_o_ai
12159 vec_any_le(vector unsigned char __a, vector unsigned char __b)
12160 {
12161   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __a, __b);
12162 }
12163 
12164 static int __ATTRS_o_ai
12165 vec_any_le(vector unsigned char __a, vector bool char __b)
12166 {
12167   return 
12168     __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __a, (vector unsigned char)__b);
12169 }
12170 
12171 static int __ATTRS_o_ai
12172 vec_any_le(vector bool char __a, vector signed char __b)
12173 {
12174   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
12175                                       (vector unsigned char)__a,
12176                                       (vector unsigned char)__b);
12177 }
12178 
12179 static int __ATTRS_o_ai
12180 vec_any_le(vector bool char __a, vector unsigned char __b)
12181 {
12182   return 
12183     __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, (vector unsigned char)__a, __b);
12184 }
12185 
12186 static int __ATTRS_o_ai
12187 vec_any_le(vector bool char __a, vector bool char __b)
12188 {
12189   return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
12190                                       (vector unsigned char)__a,
12191                                       (vector unsigned char)__b);
12192 }
12193 
12194 static int __ATTRS_o_ai
12195 vec_any_le(vector short __a, vector short __b)
12196 {
12197   return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __a, __b);
12198 }
12199 
12200 static int __ATTRS_o_ai
12201 vec_any_le(vector short __a, vector bool short __b)
12202 {
12203   return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __a, (vector short)__b);
12204 }
12205 
12206 static int __ATTRS_o_ai
12207 vec_any_le(vector unsigned short __a, vector unsigned short __b)
12208 {
12209   return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __a, __b);
12210 }
12211 
12212 static int __ATTRS_o_ai
12213 vec_any_le(vector unsigned short __a, vector bool short __b)
12214 {
12215   return 
12216     __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __a, (vector unsigned short)__b);
12217 }
12218 
12219 static int __ATTRS_o_ai
12220 vec_any_le(vector bool short __a, vector short __b)
12221 {
12222   return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
12223                                       (vector unsigned short)__a,
12224                                       (vector unsigned short)__b);
12225 }
12226 
12227 static int __ATTRS_o_ai
12228 vec_any_le(vector bool short __a, vector unsigned short __b)
12229 {
12230   return 
12231     __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, (vector unsigned short)__a, __b);
12232 }
12233 
12234 static int __ATTRS_o_ai
12235 vec_any_le(vector bool short __a, vector bool short __b)
12236 {
12237   return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
12238                                       (vector unsigned short)__a,
12239                                       (vector unsigned short)__b);
12240 }
12241 
12242 static int __ATTRS_o_ai
12243 vec_any_le(vector int __a, vector int __b)
12244 {
12245   return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __a, __b);
12246 }
12247 
12248 static int __ATTRS_o_ai
12249 vec_any_le(vector int __a, vector bool int __b)
12250 {
12251   return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __a, (vector int)__b);
12252 }
12253 
12254 static int __ATTRS_o_ai
12255 vec_any_le(vector unsigned int __a, vector unsigned int __b)
12256 {
12257   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __a, __b);
12258 }
12259 
12260 static int __ATTRS_o_ai
12261 vec_any_le(vector unsigned int __a, vector bool int __b)
12262 {
12263   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __a, (vector unsigned int)__b);
12264 }
12265 
12266 static int __ATTRS_o_ai
12267 vec_any_le(vector bool int __a, vector int __b)
12268 {
12269   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
12270                                       (vector unsigned int)__a,
12271                                       (vector unsigned int)__b);
12272 }
12273 
12274 static int __ATTRS_o_ai
12275 vec_any_le(vector bool int __a, vector unsigned int __b)
12276 {
12277   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, (vector unsigned int)__a, __b);
12278 }
12279 
12280 static int __ATTRS_o_ai
12281 vec_any_le(vector bool int __a, vector bool int __b)
12282 {
12283   return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
12284                                       (vector unsigned int)__a,
12285                                       (vector unsigned int)__b);
12286 }
12287 
12288 static int __ATTRS_o_ai
12289 vec_any_le(vector float __a, vector float __b)
12290 {
12291   return __builtin_altivec_vcmpgefp_p(__CR6_EQ_REV, __b, __a);
12292 }
12293 
12294 /* vec_any_lt */
12295 
12296 static int __ATTRS_o_ai
12297 vec_any_lt(vector signed char __a, vector signed char __b)
12298 {
12299   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __b, __a);
12300 }
12301 
12302 static int __ATTRS_o_ai
12303 vec_any_lt(vector signed char __a, vector bool char __b)
12304 {
12305   return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, (vector signed char)__b, __a);
12306 }
12307 
12308 static int __ATTRS_o_ai
12309 vec_any_lt(vector unsigned char __a, vector unsigned char __b)
12310 {
12311   return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __b, __a);
12312 }
12313 
12314 static int __ATTRS_o_ai
12315 vec_any_lt(vector unsigned char __a, vector bool char __b)
12316 {
12317   return 
12318     __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, (vector unsigned char)__b, __a);
12319 }
12320 
12321 static int __ATTRS_o_ai
12322 vec_any_lt(vector bool char __a, vector signed char __b)
12323 {
12324   return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
12325                                       (vector unsigned char)__b,
12326                                       (vector unsigned char)__a);
12327 }
12328 
12329 static int __ATTRS_o_ai
12330 vec_any_lt(vector bool char __a, vector unsigned char __b)
12331 {
12332   return 
12333     __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __b, (vector unsigned char)__a);
12334 }
12335 
12336 static int __ATTRS_o_ai
12337 vec_any_lt(vector bool char __a, vector bool char __b)
12338 {
12339   return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
12340                                       (vector unsigned char)__b,
12341                                       (vector unsigned char)__a);
12342 }
12343 
12344 static int __ATTRS_o_ai
12345 vec_any_lt(vector short __a, vector short __b)
12346 {
12347   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __b, __a);
12348 }
12349 
12350 static int __ATTRS_o_ai
12351 vec_any_lt(vector short __a, vector bool short __b)
12352 {
12353   return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, (vector short)__b, __a);
12354 }
12355 
12356 static int __ATTRS_o_ai
12357 vec_any_lt(vector unsigned short __a, vector unsigned short __b)
12358 {
12359   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __b, __a);
12360 }
12361 
12362 static int __ATTRS_o_ai
12363 vec_any_lt(vector unsigned short __a, vector bool short __b)
12364 {
12365   return 
12366     __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, (vector unsigned short)__b, __a);
12367 }
12368 
12369 static int __ATTRS_o_ai
12370 vec_any_lt(vector bool short __a, vector short __b)
12371 {
12372   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
12373                                       (vector unsigned short)__b,
12374                                       (vector unsigned short)__a);
12375 }
12376 
12377 static int __ATTRS_o_ai
12378 vec_any_lt(vector bool short __a, vector unsigned short __b)
12379 {
12380   return 
12381     __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __b, (vector unsigned short)__a);
12382 }
12383 
12384 static int __ATTRS_o_ai
12385 vec_any_lt(vector bool short __a, vector bool short __b)
12386 {
12387   return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
12388                                       (vector unsigned short)__b,
12389                                       (vector unsigned short)__a);
12390 }
12391 
12392 static int __ATTRS_o_ai
12393 vec_any_lt(vector int __a, vector int __b)
12394 {
12395   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __b, __a);
12396 }
12397 
12398 static int __ATTRS_o_ai
12399 vec_any_lt(vector int __a, vector bool int __b)
12400 {
12401   return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, (vector int)__b, __a);
12402 }
12403 
12404 static int __ATTRS_o_ai
12405 vec_any_lt(vector unsigned int __a, vector unsigned int __b)
12406 {
12407   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __b, __a);
12408 }
12409 
12410 static int __ATTRS_o_ai
12411 vec_any_lt(vector unsigned int __a, vector bool int __b)
12412 {
12413   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, (vector unsigned int)__b, __a);
12414 }
12415 
12416 static int __ATTRS_o_ai
12417 vec_any_lt(vector bool int __a, vector int __b)
12418 {
12419   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
12420                                       (vector unsigned int)__b,
12421                                       (vector unsigned int)__a);
12422 }
12423 
12424 static int __ATTRS_o_ai
12425 vec_any_lt(vector bool int __a, vector unsigned int __b)
12426 {
12427   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __b, (vector unsigned int)__a);
12428 }
12429 
12430 static int __ATTRS_o_ai
12431 vec_any_lt(vector bool int __a, vector bool int __b)
12432 {
12433   return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
12434                                       (vector unsigned int)__b,
12435                                       (vector unsigned int)__a);
12436 }
12437 
12438 static int __ATTRS_o_ai
12439 vec_any_lt(vector float __a, vector float __b)
12440 {
12441   return __builtin_altivec_vcmpgtfp_p(__CR6_EQ_REV, __b, __a);
12442 }
12443 
12444 /* vec_any_nan */
12445 
12446 static int __attribute__((__always_inline__))
12447 vec_any_nan(vector float __a)
12448 {
12449   return __builtin_altivec_vcmpeqfp_p(__CR6_LT_REV, __a, __a);
12450 }
12451 
12452 /* vec_any_ne */
12453 
12454 static int __ATTRS_o_ai
12455 vec_any_ne(vector signed char __a, vector signed char __b)
12456 {
12457   return
12458     __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12459 }
12460 
12461 static int __ATTRS_o_ai
12462 vec_any_ne(vector signed char __a, vector bool char __b)
12463 {
12464   return
12465     __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12466 }
12467 
12468 static int __ATTRS_o_ai
12469 vec_any_ne(vector unsigned char __a, vector unsigned char __b)
12470 {
12471   return
12472     __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12473 }
12474 
12475 static int __ATTRS_o_ai
12476 vec_any_ne(vector unsigned char __a, vector bool char __b)
12477 {
12478   return
12479     __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12480 }
12481 
12482 static int __ATTRS_o_ai
12483 vec_any_ne(vector bool char __a, vector signed char __b)
12484 {
12485   return
12486     __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12487 }
12488 
12489 static int __ATTRS_o_ai
12490 vec_any_ne(vector bool char __a, vector unsigned char __b)
12491 {
12492   return
12493     __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12494 }
12495 
12496 static int __ATTRS_o_ai
12497 vec_any_ne(vector bool char __a, vector bool char __b)
12498 {
12499   return
12500     __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12501 }
12502 
12503 static int __ATTRS_o_ai
12504 vec_any_ne(vector short __a, vector short __b)
12505 {
12506   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, __a, __b);
12507 }
12508 
12509 static int __ATTRS_o_ai
12510 vec_any_ne(vector short __a, vector bool short __b)
12511 {
12512   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, __a, (vector short)__b);
12513 }
12514 
12515 static int __ATTRS_o_ai
12516 vec_any_ne(vector unsigned short __a, vector unsigned short __b)
12517 {
12518   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, 
12519                                       (vector short)__a,
12520                                       (vector short)__b);
12521 }
12522 
12523 static int __ATTRS_o_ai
12524 vec_any_ne(vector unsigned short __a, vector bool short __b)
12525 {
12526   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12527                                       (vector short)__a,
12528                                       (vector short)__b);
12529 }
12530 
12531 static int __ATTRS_o_ai
12532 vec_any_ne(vector bool short __a, vector short __b)
12533 {
12534   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12535                                       (vector short)__a,
12536                                       (vector short)__b);
12537 }
12538 
12539 static int __ATTRS_o_ai
12540 vec_any_ne(vector bool short __a, vector unsigned short __b)
12541 {
12542   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12543                                       (vector short)__a,
12544                                       (vector short)__b);
12545 }
12546 
12547 static int __ATTRS_o_ai
12548 vec_any_ne(vector bool short __a, vector bool short __b)
12549 {
12550   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12551                                       (vector short)__a,
12552                                       (vector short)__b);
12553 }
12554 
12555 static int __ATTRS_o_ai
12556 vec_any_ne(vector pixel __a, vector pixel __b)
12557 {
12558   return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
12559                                       (vector short)__a,
12560                                       (vector short)__b);
12561 }
12562 
12563 static int __ATTRS_o_ai
12564 vec_any_ne(vector int __a, vector int __b)
12565 {
12566   return __builtin_altivec_vcmpequw_p(__CR6_LT_REV, __a, __b);
12567 }
12568 
12569 static int __ATTRS_o_ai
12570 vec_any_ne(vector int __a, vector bool int __b)
12571 {
12572   return __builtin_altivec_vcmpequw_p(__CR6_LT_REV, __a, (vector int)__b);
12573 }
12574 
12575 static int __ATTRS_o_ai
12576 vec_any_ne(vector unsigned int __a, vector unsigned int __b)
12577 {
12578   return
12579     __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12580 }
12581 
12582 static int __ATTRS_o_ai
12583 vec_any_ne(vector unsigned int __a, vector bool int __b)
12584 {
12585   return
12586     __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12587 }
12588 
12589 static int __ATTRS_o_ai
12590 vec_any_ne(vector bool int __a, vector int __b)
12591 {
12592   return
12593     __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12594 }
12595 
12596 static int __ATTRS_o_ai
12597 vec_any_ne(vector bool int __a, vector unsigned int __b)
12598 {
12599   return
12600     __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12601 }
12602 
12603 static int __ATTRS_o_ai
12604 vec_any_ne(vector bool int __a, vector bool int __b)
12605 {
12606   return
12607     __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12608 }
12609 
12610 static int __ATTRS_o_ai
12611 vec_any_ne(vector float __a, vector float __b)
12612 {
12613   return __builtin_altivec_vcmpeqfp_p(__CR6_LT_REV, __a, __b);
12614 }
12615 
12616 /* vec_any_nge */
12617 
12618 static int __attribute__((__always_inline__))
12619 vec_any_nge(vector float __a, vector float __b)
12620 {
12621   return __builtin_altivec_vcmpgefp_p(__CR6_LT_REV, __a, __b);
12622 }
12623 
12624 /* vec_any_ngt */
12625 
12626 static int __attribute__((__always_inline__))
12627 vec_any_ngt(vector float __a, vector float __b)
12628 {
12629   return __builtin_altivec_vcmpgtfp_p(__CR6_LT_REV, __a, __b);
12630 }
12631 
12632 /* vec_any_nle */
12633 
12634 static int __attribute__((__always_inline__))
12635 vec_any_nle(vector float __a, vector float __b)
12636 {
12637   return __builtin_altivec_vcmpgefp_p(__CR6_LT_REV, __b, __a);
12638 }
12639 
12640 /* vec_any_nlt */
12641 
12642 static int __attribute__((__always_inline__))
12643 vec_any_nlt(vector float __a, vector float __b)
12644 {
12645   return __builtin_altivec_vcmpgtfp_p(__CR6_LT_REV, __b, __a);
12646 }
12647 
12648 /* vec_any_numeric */
12649 
12650 static int __attribute__((__always_inline__))
12651 vec_any_numeric(vector float __a)
12652 {
12653   return __builtin_altivec_vcmpeqfp_p(__CR6_EQ_REV, __a, __a);
12654 }
12655 
12656 /* vec_any_out */
12657 
12658 static int __attribute__((__always_inline__))
12659 vec_any_out(vector float __a, vector float __b)
12660 {
12661   return __builtin_altivec_vcmpbfp_p(__CR6_EQ_REV, __a, __b);
12662 }
12663 
12664 #undef __ATTRS_o_ai
12665 
12666 #endif /* __ALTIVEC_H */