| /*===---- altivec.h - Standard header for type generic math ---------------===*\ |
| * |
| * Permission is hereby granted, free of charge, to any person obtaining a copy |
| * of this software and associated documentation files (the "Software"), to deal |
| * in the Software without restriction, including without limitation the rights |
| * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
| * copies of the Software, and to permit persons to whom the Software is |
| * furnished to do so, subject to the following conditions: |
| * |
| * The above copyright notice and this permission notice shall be included in |
| * all copies or substantial portions of the Software. |
| * |
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
| * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
| * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
| * THE SOFTWARE. |
| * |
| \*===----------------------------------------------------------------------===*/ |
| |
| #ifndef __ALTIVEC_H |
| #define __ALTIVEC_H |
| |
| #ifndef __ALTIVEC__ |
| #error "AltiVec support not enabled" |
| #endif |
| |
| /* constants for mapping CR6 bits to predicate result. */ |
| |
| #define __CR6_EQ 0 |
| #define __CR6_EQ_REV 1 |
| #define __CR6_LT 2 |
| #define __CR6_LT_REV 3 |
| |
| #define __ATTRS_o_ai __attribute__((__overloadable__, __always_inline__)) |
| |
| static vector signed char __ATTRS_o_ai |
| vec_perm(vector signed char __a, vector signed char __b, vector unsigned char __c); |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_perm(vector unsigned char __a, |
| vector unsigned char __b, |
| vector unsigned char __c); |
| |
| static vector bool char __ATTRS_o_ai |
| vec_perm(vector bool char __a, vector bool char __b, vector unsigned char __c); |
| |
| static vector short __ATTRS_o_ai |
| vec_perm(vector short __a, vector short __b, vector unsigned char __c); |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_perm(vector unsigned short __a, |
| vector unsigned short __b, |
| vector unsigned char __c); |
| |
| static vector bool short __ATTRS_o_ai |
| vec_perm(vector bool short __a, vector bool short __b, vector unsigned char __c); |
| |
| static vector pixel __ATTRS_o_ai |
| vec_perm(vector pixel __a, vector pixel __b, vector unsigned char __c); |
| |
| static vector int __ATTRS_o_ai |
| vec_perm(vector int __a, vector int __b, vector unsigned char __c); |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_perm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c); |
| |
| static vector bool int __ATTRS_o_ai |
| vec_perm(vector bool int __a, vector bool int __b, vector unsigned char __c); |
| |
| static vector float __ATTRS_o_ai |
| vec_perm(vector float __a, vector float __b, vector unsigned char __c); |
| |
| /* vec_abs */ |
| |
| #define __builtin_altivec_abs_v16qi vec_abs |
| #define __builtin_altivec_abs_v8hi vec_abs |
| #define __builtin_altivec_abs_v4si vec_abs |
| |
| static vector signed char __ATTRS_o_ai |
| vec_abs(vector signed char __a) |
| { |
| return __builtin_altivec_vmaxsb(__a, -__a); |
| } |
| |
| static vector signed short __ATTRS_o_ai |
| vec_abs(vector signed short __a) |
| { |
| return __builtin_altivec_vmaxsh(__a, -__a); |
| } |
| |
| static vector signed int __ATTRS_o_ai |
| vec_abs(vector signed int __a) |
| { |
| return __builtin_altivec_vmaxsw(__a, -__a); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_abs(vector float __a) |
| { |
| vector unsigned int __res = (vector unsigned int)__a |
| & (vector unsigned int)(0x7FFFFFFF); |
| return (vector float)__res; |
| } |
| |
| /* vec_abss */ |
| |
| #define __builtin_altivec_abss_v16qi vec_abss |
| #define __builtin_altivec_abss_v8hi vec_abss |
| #define __builtin_altivec_abss_v4si vec_abss |
| |
| static vector signed char __ATTRS_o_ai |
| vec_abss(vector signed char __a) |
| { |
| return __builtin_altivec_vmaxsb |
| (__a, __builtin_altivec_vsubsbs((vector signed char)(0), __a)); |
| } |
| |
| static vector signed short __ATTRS_o_ai |
| vec_abss(vector signed short __a) |
| { |
| return __builtin_altivec_vmaxsh |
| (__a, __builtin_altivec_vsubshs((vector signed short)(0), __a)); |
| } |
| |
| static vector signed int __ATTRS_o_ai |
| vec_abss(vector signed int __a) |
| { |
| return __builtin_altivec_vmaxsw |
| (__a, __builtin_altivec_vsubsws((vector signed int)(0), __a)); |
| } |
| |
| /* vec_add */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_add(vector signed char __a, vector signed char __b) |
| { |
| return __a + __b; |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_add(vector bool char __a, vector signed char __b) |
| { |
| return (vector signed char)__a + __b; |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_add(vector signed char __a, vector bool char __b) |
| { |
| return __a + (vector signed char)__b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_add(vector unsigned char __a, vector unsigned char __b) |
| { |
| return __a + __b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_add(vector bool char __a, vector unsigned char __b) |
| { |
| return (vector unsigned char)__a + __b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_add(vector unsigned char __a, vector bool char __b) |
| { |
| return __a + (vector unsigned char)__b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_add(vector short __a, vector short __b) |
| { |
| return __a + __b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_add(vector bool short __a, vector short __b) |
| { |
| return (vector short)__a + __b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_add(vector short __a, vector bool short __b) |
| { |
| return __a + (vector short)__b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_add(vector unsigned short __a, vector unsigned short __b) |
| { |
| return __a + __b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_add(vector bool short __a, vector unsigned short __b) |
| { |
| return (vector unsigned short)__a + __b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_add(vector unsigned short __a, vector bool short __b) |
| { |
| return __a + (vector unsigned short)__b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_add(vector int __a, vector int __b) |
| { |
| return __a + __b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_add(vector bool int __a, vector int __b) |
| { |
| return (vector int)__a + __b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_add(vector int __a, vector bool int __b) |
| { |
| return __a + (vector int)__b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_add(vector unsigned int __a, vector unsigned int __b) |
| { |
| return __a + __b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_add(vector bool int __a, vector unsigned int __b) |
| { |
| return (vector unsigned int)__a + __b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_add(vector unsigned int __a, vector bool int __b) |
| { |
| return __a + (vector unsigned int)__b; |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_add(vector float __a, vector float __b) |
| { |
| return __a + __b; |
| } |
| |
| /* vec_vaddubm */ |
| |
| #define __builtin_altivec_vaddubm vec_vaddubm |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vaddubm(vector signed char __a, vector signed char __b) |
| { |
| return __a + __b; |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vaddubm(vector bool char __a, vector signed char __b) |
| { |
| return (vector signed char)__a + __b; |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vaddubm(vector signed char __a, vector bool char __b) |
| { |
| return __a + (vector signed char)__b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vaddubm(vector unsigned char __a, vector unsigned char __b) |
| { |
| return __a + __b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vaddubm(vector bool char __a, vector unsigned char __b) |
| { |
| return (vector unsigned char)__a + __b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vaddubm(vector unsigned char __a, vector bool char __b) |
| { |
| return __a + (vector unsigned char)__b; |
| } |
| |
| /* vec_vadduhm */ |
| |
| #define __builtin_altivec_vadduhm vec_vadduhm |
| |
| static vector short __ATTRS_o_ai |
| vec_vadduhm(vector short __a, vector short __b) |
| { |
| return __a + __b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_vadduhm(vector bool short __a, vector short __b) |
| { |
| return (vector short)__a + __b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_vadduhm(vector short __a, vector bool short __b) |
| { |
| return __a + (vector short)__b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vadduhm(vector unsigned short __a, vector unsigned short __b) |
| { |
| return __a + __b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vadduhm(vector bool short __a, vector unsigned short __b) |
| { |
| return (vector unsigned short)__a + __b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vadduhm(vector unsigned short __a, vector bool short __b) |
| { |
| return __a + (vector unsigned short)__b; |
| } |
| |
| /* vec_vadduwm */ |
| |
| #define __builtin_altivec_vadduwm vec_vadduwm |
| |
| static vector int __ATTRS_o_ai |
| vec_vadduwm(vector int __a, vector int __b) |
| { |
| return __a + __b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_vadduwm(vector bool int __a, vector int __b) |
| { |
| return (vector int)__a + __b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_vadduwm(vector int __a, vector bool int __b) |
| { |
| return __a + (vector int)__b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vadduwm(vector unsigned int __a, vector unsigned int __b) |
| { |
| return __a + __b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vadduwm(vector bool int __a, vector unsigned int __b) |
| { |
| return (vector unsigned int)__a + __b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vadduwm(vector unsigned int __a, vector bool int __b) |
| { |
| return __a + (vector unsigned int)__b; |
| } |
| |
| /* vec_vaddfp */ |
| |
| #define __builtin_altivec_vaddfp vec_vaddfp |
| |
| static vector float __attribute__((__always_inline__)) |
| vec_vaddfp(vector float __a, vector float __b) |
| { |
| return __a + __b; |
| } |
| |
| /* vec_addc */ |
| |
| static vector unsigned int __attribute__((__always_inline__)) |
| vec_addc(vector unsigned int __a, vector unsigned int __b) |
| { |
| return __builtin_altivec_vaddcuw(__a, __b); |
| } |
| |
| /* vec_vaddcuw */ |
| |
| static vector unsigned int __attribute__((__always_inline__)) |
| vec_vaddcuw(vector unsigned int __a, vector unsigned int __b) |
| { |
| return __builtin_altivec_vaddcuw(__a, __b); |
| } |
| |
| /* vec_adds */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_adds(vector signed char __a, vector signed char __b) |
| { |
| return __builtin_altivec_vaddsbs(__a, __b); |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_adds(vector bool char __a, vector signed char __b) |
| { |
| return __builtin_altivec_vaddsbs((vector signed char)__a, __b); |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_adds(vector signed char __a, vector bool char __b) |
| { |
| return __builtin_altivec_vaddsbs(__a, (vector signed char)__b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_adds(vector unsigned char __a, vector unsigned char __b) |
| { |
| return __builtin_altivec_vaddubs(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_adds(vector bool char __a, vector unsigned char __b) |
| { |
| return __builtin_altivec_vaddubs((vector unsigned char)__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_adds(vector unsigned char __a, vector bool char __b) |
| { |
| return __builtin_altivec_vaddubs(__a, (vector unsigned char)__b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_adds(vector short __a, vector short __b) |
| { |
| return __builtin_altivec_vaddshs(__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_adds(vector bool short __a, vector short __b) |
| { |
| return __builtin_altivec_vaddshs((vector short)__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_adds(vector short __a, vector bool short __b) |
| { |
| return __builtin_altivec_vaddshs(__a, (vector short)__b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_adds(vector unsigned short __a, vector unsigned short __b) |
| { |
| return __builtin_altivec_vadduhs(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_adds(vector bool short __a, vector unsigned short __b) |
| { |
| return __builtin_altivec_vadduhs((vector unsigned short)__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_adds(vector unsigned short __a, vector bool short __b) |
| { |
| return __builtin_altivec_vadduhs(__a, (vector unsigned short)__b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_adds(vector int __a, vector int __b) |
| { |
| return __builtin_altivec_vaddsws(__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_adds(vector bool int __a, vector int __b) |
| { |
| return __builtin_altivec_vaddsws((vector int)__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_adds(vector int __a, vector bool int __b) |
| { |
| return __builtin_altivec_vaddsws(__a, (vector int)__b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_adds(vector unsigned int __a, vector unsigned int __b) |
| { |
| return __builtin_altivec_vadduws(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_adds(vector bool int __a, vector unsigned int __b) |
| { |
| return __builtin_altivec_vadduws((vector unsigned int)__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_adds(vector unsigned int __a, vector bool int __b) |
| { |
| return __builtin_altivec_vadduws(__a, (vector unsigned int)__b); |
| } |
| |
| /* vec_vaddsbs */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vaddsbs(vector signed char __a, vector signed char __b) |
| { |
| return __builtin_altivec_vaddsbs(__a, __b); |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vaddsbs(vector bool char __a, vector signed char __b) |
| { |
| return __builtin_altivec_vaddsbs((vector signed char)__a, __b); |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vaddsbs(vector signed char __a, vector bool char __b) |
| { |
| return __builtin_altivec_vaddsbs(__a, (vector signed char)__b); |
| } |
| |
| /* vec_vaddubs */ |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vaddubs(vector unsigned char __a, vector unsigned char __b) |
| { |
| return __builtin_altivec_vaddubs(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vaddubs(vector bool char __a, vector unsigned char __b) |
| { |
| return __builtin_altivec_vaddubs((vector unsigned char)__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vaddubs(vector unsigned char __a, vector bool char __b) |
| { |
| return __builtin_altivec_vaddubs(__a, (vector unsigned char)__b); |
| } |
| |
| /* vec_vaddshs */ |
| |
| static vector short __ATTRS_o_ai |
| vec_vaddshs(vector short __a, vector short __b) |
| { |
| return __builtin_altivec_vaddshs(__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_vaddshs(vector bool short __a, vector short __b) |
| { |
| return __builtin_altivec_vaddshs((vector short)__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_vaddshs(vector short __a, vector bool short __b) |
| { |
| return __builtin_altivec_vaddshs(__a, (vector short)__b); |
| } |
| |
| /* vec_vadduhs */ |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vadduhs(vector unsigned short __a, vector unsigned short __b) |
| { |
| return __builtin_altivec_vadduhs(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vadduhs(vector bool short __a, vector unsigned short __b) |
| { |
| return __builtin_altivec_vadduhs((vector unsigned short)__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vadduhs(vector unsigned short __a, vector bool short __b) |
| { |
| return __builtin_altivec_vadduhs(__a, (vector unsigned short)__b); |
| } |
| |
| /* vec_vaddsws */ |
| |
| static vector int __ATTRS_o_ai |
| vec_vaddsws(vector int __a, vector int __b) |
| { |
| return __builtin_altivec_vaddsws(__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_vaddsws(vector bool int __a, vector int __b) |
| { |
| return __builtin_altivec_vaddsws((vector int)__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_vaddsws(vector int __a, vector bool int __b) |
| { |
| return __builtin_altivec_vaddsws(__a, (vector int)__b); |
| } |
| |
| /* vec_vadduws */ |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vadduws(vector unsigned int __a, vector unsigned int __b) |
| { |
| return __builtin_altivec_vadduws(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vadduws(vector bool int __a, vector unsigned int __b) |
| { |
| return __builtin_altivec_vadduws((vector unsigned int)__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vadduws(vector unsigned int __a, vector bool int __b) |
| { |
| return __builtin_altivec_vadduws(__a, (vector unsigned int)__b); |
| } |
| |
| /* vec_and */ |
| |
| #define __builtin_altivec_vand vec_and |
| |
| static vector signed char __ATTRS_o_ai |
| vec_and(vector signed char __a, vector signed char __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_and(vector bool char __a, vector signed char __b) |
| { |
| return (vector signed char)__a & __b; |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_and(vector signed char __a, vector bool char __b) |
| { |
| return __a & (vector signed char)__b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_and(vector unsigned char __a, vector unsigned char __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_and(vector bool char __a, vector unsigned char __b) |
| { |
| return (vector unsigned char)__a & __b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_and(vector unsigned char __a, vector bool char __b) |
| { |
| return __a & (vector unsigned char)__b; |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_and(vector bool char __a, vector bool char __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_and(vector short __a, vector short __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_and(vector bool short __a, vector short __b) |
| { |
| return (vector short)__a & __b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_and(vector short __a, vector bool short __b) |
| { |
| return __a & (vector short)__b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_and(vector unsigned short __a, vector unsigned short __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_and(vector bool short __a, vector unsigned short __b) |
| { |
| return (vector unsigned short)__a & __b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_and(vector unsigned short __a, vector bool short __b) |
| { |
| return __a & (vector unsigned short)__b; |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_and(vector bool short __a, vector bool short __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_and(vector int __a, vector int __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_and(vector bool int __a, vector int __b) |
| { |
| return (vector int)__a & __b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_and(vector int __a, vector bool int __b) |
| { |
| return __a & (vector int)__b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_and(vector unsigned int __a, vector unsigned int __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_and(vector bool int __a, vector unsigned int __b) |
| { |
| return (vector unsigned int)__a & __b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_and(vector unsigned int __a, vector bool int __b) |
| { |
| return __a & (vector unsigned int)__b; |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_and(vector bool int __a, vector bool int __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_and(vector float __a, vector float __b) |
| { |
| vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b; |
| return (vector float)__res; |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_and(vector bool int __a, vector float __b) |
| { |
| vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b; |
| return (vector float)__res; |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_and(vector float __a, vector bool int __b) |
| { |
| vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b; |
| return (vector float)__res; |
| } |
| |
| /* vec_vand */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vand(vector signed char __a, vector signed char __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vand(vector bool char __a, vector signed char __b) |
| { |
| return (vector signed char)__a & __b; |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vand(vector signed char __a, vector bool char __b) |
| { |
| return __a & (vector signed char)__b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vand(vector unsigned char __a, vector unsigned char __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vand(vector bool char __a, vector unsigned char __b) |
| { |
| return (vector unsigned char)__a & __b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vand(vector unsigned char __a, vector bool char __b) |
| { |
| return __a & (vector unsigned char)__b; |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_vand(vector bool char __a, vector bool char __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_vand(vector short __a, vector short __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_vand(vector bool short __a, vector short __b) |
| { |
| return (vector short)__a & __b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_vand(vector short __a, vector bool short __b) |
| { |
| return __a & (vector short)__b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vand(vector unsigned short __a, vector unsigned short __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vand(vector bool short __a, vector unsigned short __b) |
| { |
| return (vector unsigned short)__a & __b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vand(vector unsigned short __a, vector bool short __b) |
| { |
| return __a & (vector unsigned short)__b; |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_vand(vector bool short __a, vector bool short __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_vand(vector int __a, vector int __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_vand(vector bool int __a, vector int __b) |
| { |
| return (vector int)__a & __b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_vand(vector int __a, vector bool int __b) |
| { |
| return __a & (vector int)__b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vand(vector unsigned int __a, vector unsigned int __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vand(vector bool int __a, vector unsigned int __b) |
| { |
| return (vector unsigned int)__a & __b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vand(vector unsigned int __a, vector bool int __b) |
| { |
| return __a & (vector unsigned int)__b; |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_vand(vector bool int __a, vector bool int __b) |
| { |
| return __a & __b; |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_vand(vector float __a, vector float __b) |
| { |
| vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b; |
| return (vector float)__res; |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_vand(vector bool int __a, vector float __b) |
| { |
| vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b; |
| return (vector float)__res; |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_vand(vector float __a, vector bool int __b) |
| { |
| vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b; |
| return (vector float)__res; |
| } |
| |
| /* vec_andc */ |
| |
| #define __builtin_altivec_vandc vec_andc |
| |
| static vector signed char __ATTRS_o_ai |
| vec_andc(vector signed char __a, vector signed char __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_andc(vector bool char __a, vector signed char __b) |
| { |
| return (vector signed char)__a & ~__b; |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_andc(vector signed char __a, vector bool char __b) |
| { |
| return __a & ~(vector signed char)__b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_andc(vector unsigned char __a, vector unsigned char __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_andc(vector bool char __a, vector unsigned char __b) |
| { |
| return (vector unsigned char)__a & ~__b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_andc(vector unsigned char __a, vector bool char __b) |
| { |
| return __a & ~(vector unsigned char)__b; |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_andc(vector bool char __a, vector bool char __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_andc(vector short __a, vector short __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_andc(vector bool short __a, vector short __b) |
| { |
| return (vector short)__a & ~__b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_andc(vector short __a, vector bool short __b) |
| { |
| return __a & ~(vector short)__b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_andc(vector unsigned short __a, vector unsigned short __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_andc(vector bool short __a, vector unsigned short __b) |
| { |
| return (vector unsigned short)__a & ~__b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_andc(vector unsigned short __a, vector bool short __b) |
| { |
| return __a & ~(vector unsigned short)__b; |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_andc(vector bool short __a, vector bool short __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_andc(vector int __a, vector int __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_andc(vector bool int __a, vector int __b) |
| { |
| return (vector int)__a & ~__b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_andc(vector int __a, vector bool int __b) |
| { |
| return __a & ~(vector int)__b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_andc(vector unsigned int __a, vector unsigned int __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_andc(vector bool int __a, vector unsigned int __b) |
| { |
| return (vector unsigned int)__a & ~__b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_andc(vector unsigned int __a, vector bool int __b) |
| { |
| return __a & ~(vector unsigned int)__b; |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_andc(vector bool int __a, vector bool int __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_andc(vector float __a, vector float __b) |
| { |
| vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b; |
| return (vector float)__res; |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_andc(vector bool int __a, vector float __b) |
| { |
| vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b; |
| return (vector float)__res; |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_andc(vector float __a, vector bool int __b) |
| { |
| vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b; |
| return (vector float)__res; |
| } |
| |
| /* vec_vandc */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vandc(vector signed char __a, vector signed char __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vandc(vector bool char __a, vector signed char __b) |
| { |
| return (vector signed char)__a & ~__b; |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vandc(vector signed char __a, vector bool char __b) |
| { |
| return __a & ~(vector signed char)__b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vandc(vector unsigned char __a, vector unsigned char __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vandc(vector bool char __a, vector unsigned char __b) |
| { |
| return (vector unsigned char)__a & ~__b; |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vandc(vector unsigned char __a, vector bool char __b) |
| { |
| return __a & ~(vector unsigned char)__b; |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_vandc(vector bool char __a, vector bool char __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_vandc(vector short __a, vector short __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_vandc(vector bool short __a, vector short __b) |
| { |
| return (vector short)__a & ~__b; |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_vandc(vector short __a, vector bool short __b) |
| { |
| return __a & ~(vector short)__b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vandc(vector unsigned short __a, vector unsigned short __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vandc(vector bool short __a, vector unsigned short __b) |
| { |
| return (vector unsigned short)__a & ~__b; |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vandc(vector unsigned short __a, vector bool short __b) |
| { |
| return __a & ~(vector unsigned short)__b; |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_vandc(vector bool short __a, vector bool short __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_vandc(vector int __a, vector int __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_vandc(vector bool int __a, vector int __b) |
| { |
| return (vector int)__a & ~__b; |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_vandc(vector int __a, vector bool int __b) |
| { |
| return __a & ~(vector int)__b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vandc(vector unsigned int __a, vector unsigned int __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vandc(vector bool int __a, vector unsigned int __b) |
| { |
| return (vector unsigned int)__a & ~__b; |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vandc(vector unsigned int __a, vector bool int __b) |
| { |
| return __a & ~(vector unsigned int)__b; |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_vandc(vector bool int __a, vector bool int __b) |
| { |
| return __a & ~__b; |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_vandc(vector float __a, vector float __b) |
| { |
| vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b; |
| return (vector float)__res; |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_vandc(vector bool int __a, vector float __b) |
| { |
| vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b; |
| return (vector float)__res; |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_vandc(vector float __a, vector bool int __b) |
| { |
| vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b; |
| return (vector float)__res; |
| } |
| |
| /* vec_avg */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_avg(vector signed char __a, vector signed char __b) |
| { |
| return __builtin_altivec_vavgsb(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_avg(vector unsigned char __a, vector unsigned char __b) |
| { |
| return __builtin_altivec_vavgub(__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_avg(vector short __a, vector short __b) |
| { |
| return __builtin_altivec_vavgsh(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_avg(vector unsigned short __a, vector unsigned short __b) |
| { |
| return __builtin_altivec_vavguh(__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_avg(vector int __a, vector int __b) |
| { |
| return __builtin_altivec_vavgsw(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_avg(vector unsigned int __a, vector unsigned int __b) |
| { |
| return __builtin_altivec_vavguw(__a, __b); |
| } |
| |
| /* vec_vavgsb */ |
| |
| static vector signed char __attribute__((__always_inline__)) |
| vec_vavgsb(vector signed char __a, vector signed char __b) |
| { |
| return __builtin_altivec_vavgsb(__a, __b); |
| } |
| |
| /* vec_vavgub */ |
| |
| static vector unsigned char __attribute__((__always_inline__)) |
| vec_vavgub(vector unsigned char __a, vector unsigned char __b) |
| { |
| return __builtin_altivec_vavgub(__a, __b); |
| } |
| |
| /* vec_vavgsh */ |
| |
| static vector short __attribute__((__always_inline__)) |
| vec_vavgsh(vector short __a, vector short __b) |
| { |
| return __builtin_altivec_vavgsh(__a, __b); |
| } |
| |
| /* vec_vavguh */ |
| |
| static vector unsigned short __attribute__((__always_inline__)) |
| vec_vavguh(vector unsigned short __a, vector unsigned short __b) |
| { |
| return __builtin_altivec_vavguh(__a, __b); |
| } |
| |
| /* vec_vavgsw */ |
| |
| static vector int __attribute__((__always_inline__)) |
| vec_vavgsw(vector int __a, vector int __b) |
| { |
| return __builtin_altivec_vavgsw(__a, __b); |
| } |
| |
| /* vec_vavguw */ |
| |
| static vector unsigned int __attribute__((__always_inline__)) |
| vec_vavguw(vector unsigned int __a, vector unsigned int __b) |
| { |
| return __builtin_altivec_vavguw(__a, __b); |
| } |
| |
| /* vec_ceil */ |
| |
| static vector float __attribute__((__always_inline__)) |
| vec_ceil(vector float __a) |
| { |
| return __builtin_altivec_vrfip(__a); |
| } |
| |
| /* vec_vrfip */ |
| |
| static vector float __attribute__((__always_inline__)) |
| vec_vrfip(vector float __a) |
| { |
| return __builtin_altivec_vrfip(__a); |
| } |
| |
| /* vec_cmpb */ |
| |
| static vector int __attribute__((__always_inline__)) |
| vec_cmpb(vector float __a, vector float __b) |
| { |
| return __builtin_altivec_vcmpbfp(__a, __b); |
| } |
| |
| /* vec_vcmpbfp */ |
| |
| static vector int __attribute__((__always_inline__)) |
| vec_vcmpbfp(vector float __a, vector float __b) |
| { |
| return __builtin_altivec_vcmpbfp(__a, __b); |
| } |
| |
| /* vec_cmpeq */ |
| |
| static vector bool char __ATTRS_o_ai |
| vec_cmpeq(vector signed char __a, vector signed char __b) |
| { |
| return (vector bool char) |
| __builtin_altivec_vcmpequb((vector char)__a, (vector char)__b); |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_cmpeq(vector unsigned char __a, vector unsigned char __b) |
| { |
| return (vector bool char) |
| __builtin_altivec_vcmpequb((vector char)__a, (vector char)__b); |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_cmpeq(vector short __a, vector short __b) |
| { |
| return (vector bool short)__builtin_altivec_vcmpequh(__a, __b); |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_cmpeq(vector unsigned short __a, vector unsigned short __b) |
| { |
| return (vector bool short) |
| __builtin_altivec_vcmpequh((vector short)__a, (vector short)__b); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_cmpeq(vector int __a, vector int __b) |
| { |
| return (vector bool int)__builtin_altivec_vcmpequw(__a, __b); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_cmpeq(vector unsigned int __a, vector unsigned int __b) |
| { |
| return (vector bool int) |
| __builtin_altivec_vcmpequw((vector int)__a, (vector int)__b); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_cmpeq(vector float __a, vector float __b) |
| { |
| return (vector bool int)__builtin_altivec_vcmpeqfp(__a, __b); |
| } |
| |
| /* vec_cmpge */ |
| |
| static vector bool int __attribute__((__always_inline__)) |
| vec_cmpge(vector float __a, vector float __b) |
| { |
| return (vector bool int)__builtin_altivec_vcmpgefp(__a, __b); |
| } |
| |
| /* vec_vcmpgefp */ |
| |
| static vector bool int __attribute__((__always_inline__)) |
| vec_vcmpgefp(vector float __a, vector float __b) |
| { |
| return (vector bool int)__builtin_altivec_vcmpgefp(__a, __b); |
| } |
| |
| /* vec_cmpgt */ |
| |
| static vector bool char __ATTRS_o_ai |
| vec_cmpgt(vector signed char __a, vector signed char __b) |
| { |
| return (vector bool char)__builtin_altivec_vcmpgtsb(__a, __b); |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_cmpgt(vector unsigned char __a, vector unsigned char __b) |
| { |
| return (vector bool char)__builtin_altivec_vcmpgtub(__a, __b); |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_cmpgt(vector short __a, vector short __b) |
| { |
| return (vector bool short)__builtin_altivec_vcmpgtsh(__a, __b); |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_cmpgt(vector unsigned short __a, vector unsigned short __b) |
| { |
| return (vector bool short)__builtin_altivec_vcmpgtuh(__a, __b); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_cmpgt(vector int __a, vector int __b) |
| { |
| return (vector bool int)__builtin_altivec_vcmpgtsw(__a, __b); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_cmpgt(vector unsigned int __a, vector unsigned int __b) |
| { |
| return (vector bool int)__builtin_altivec_vcmpgtuw(__a, __b); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_cmpgt(vector float __a, vector float __b) |
| { |
| return (vector bool int)__builtin_altivec_vcmpgtfp(__a, __b); |
| } |
| |
| /* vec_vcmpgtsb */ |
| |
| static vector bool char __attribute__((__always_inline__)) |
| vec_vcmpgtsb(vector signed char __a, vector signed char __b) |
| { |
| return (vector bool char)__builtin_altivec_vcmpgtsb(__a, __b); |
| } |
| |
| /* vec_vcmpgtub */ |
| |
| static vector bool char __attribute__((__always_inline__)) |
| vec_vcmpgtub(vector unsigned char __a, vector unsigned char __b) |
| { |
| return (vector bool char)__builtin_altivec_vcmpgtub(__a, __b); |
| } |
| |
| /* vec_vcmpgtsh */ |
| |
| static vector bool short __attribute__((__always_inline__)) |
| vec_vcmpgtsh(vector short __a, vector short __b) |
| { |
| return (vector bool short)__builtin_altivec_vcmpgtsh(__a, __b); |
| } |
| |
| /* vec_vcmpgtuh */ |
| |
| static vector bool short __attribute__((__always_inline__)) |
| vec_vcmpgtuh(vector unsigned short __a, vector unsigned short __b) |
| { |
| return (vector bool short)__builtin_altivec_vcmpgtuh(__a, __b); |
| } |
| |
| /* vec_vcmpgtsw */ |
| |
| static vector bool int __attribute__((__always_inline__)) |
| vec_vcmpgtsw(vector int __a, vector int __b) |
| { |
| return (vector bool int)__builtin_altivec_vcmpgtsw(__a, __b); |
| } |
| |
| /* vec_vcmpgtuw */ |
| |
| static vector bool int __attribute__((__always_inline__)) |
| vec_vcmpgtuw(vector unsigned int __a, vector unsigned int __b) |
| { |
| return (vector bool int)__builtin_altivec_vcmpgtuw(__a, __b); |
| } |
| |
| /* vec_vcmpgtfp */ |
| |
| static vector bool int __attribute__((__always_inline__)) |
| vec_vcmpgtfp(vector float __a, vector float __b) |
| { |
| return (vector bool int)__builtin_altivec_vcmpgtfp(__a, __b); |
| } |
| |
| /* vec_cmple */ |
| |
| static vector bool int __attribute__((__always_inline__)) |
| vec_cmple(vector float __a, vector float __b) |
| { |
| return (vector bool int)__builtin_altivec_vcmpgefp(__b, __a); |
| } |
| |
| /* vec_cmplt */ |
| |
| static vector bool char __ATTRS_o_ai |
| vec_cmplt(vector signed char __a, vector signed char __b) |
| { |
| return (vector bool char)__builtin_altivec_vcmpgtsb(__b, __a); |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_cmplt(vector unsigned char __a, vector unsigned char __b) |
| { |
| return (vector bool char)__builtin_altivec_vcmpgtub(__b, __a); |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_cmplt(vector short __a, vector short __b) |
| { |
| return (vector bool short)__builtin_altivec_vcmpgtsh(__b, __a); |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_cmplt(vector unsigned short __a, vector unsigned short __b) |
| { |
| return (vector bool short)__builtin_altivec_vcmpgtuh(__b, __a); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_cmplt(vector int __a, vector int __b) |
| { |
| return (vector bool int)__builtin_altivec_vcmpgtsw(__b, __a); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_cmplt(vector unsigned int __a, vector unsigned int __b) |
| { |
| return (vector bool int)__builtin_altivec_vcmpgtuw(__b, __a); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_cmplt(vector float __a, vector float __b) |
| { |
| return (vector bool int)__builtin_altivec_vcmpgtfp(__b, __a); |
| } |
| |
| /* vec_ctf */ |
| |
| static vector float __ATTRS_o_ai |
| vec_ctf(vector int __a, int __b) |
| { |
| return __builtin_altivec_vcfsx(__a, __b); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_ctf(vector unsigned int __a, int __b) |
| { |
| return __builtin_altivec_vcfux((vector int)__a, __b); |
| } |
| |
| /* vec_vcfsx */ |
| |
| static vector float __attribute__((__always_inline__)) |
| vec_vcfsx(vector int __a, int __b) |
| { |
| return __builtin_altivec_vcfsx(__a, __b); |
| } |
| |
| /* vec_vcfux */ |
| |
| static vector float __attribute__((__always_inline__)) |
| vec_vcfux(vector unsigned int __a, int __b) |
| { |
| return __builtin_altivec_vcfux((vector int)__a, __b); |
| } |
| |
| /* vec_cts */ |
| |
| static vector int __attribute__((__always_inline__)) |
| vec_cts(vector float __a, int __b) |
| { |
| return __builtin_altivec_vctsxs(__a, __b); |
| } |
| |
| /* vec_vctsxs */ |
| |
| static vector int __attribute__((__always_inline__)) |
| vec_vctsxs(vector float __a, int __b) |
| { |
| return __builtin_altivec_vctsxs(__a, __b); |
| } |
| |
| /* vec_ctu */ |
| |
| static vector unsigned int __attribute__((__always_inline__)) |
| vec_ctu(vector float __a, int __b) |
| { |
| return __builtin_altivec_vctuxs(__a, __b); |
| } |
| |
| /* vec_vctuxs */ |
| |
| static vector unsigned int __attribute__((__always_inline__)) |
| vec_vctuxs(vector float __a, int __b) |
| { |
| return __builtin_altivec_vctuxs(__a, __b); |
| } |
| |
| /* vec_dss */ |
| |
| static void __attribute__((__always_inline__)) |
| vec_dss(int __a) |
| { |
| __builtin_altivec_dss(__a); |
| } |
| |
| /* vec_dssall */ |
| |
| static void __attribute__((__always_inline__)) |
| vec_dssall(void) |
| { |
| __builtin_altivec_dssall(); |
| } |
| |
| /* vec_dst */ |
| |
| static void __attribute__((__always_inline__)) |
| vec_dst(const void *__a, int __b, int __c) |
| { |
| __builtin_altivec_dst(__a, __b, __c); |
| } |
| |
| /* vec_dstst */ |
| |
| static void __attribute__((__always_inline__)) |
| vec_dstst(const void *__a, int __b, int __c) |
| { |
| __builtin_altivec_dstst(__a, __b, __c); |
| } |
| |
| /* vec_dststt */ |
| |
| static void __attribute__((__always_inline__)) |
| vec_dststt(const void *__a, int __b, int __c) |
| { |
| __builtin_altivec_dststt(__a, __b, __c); |
| } |
| |
| /* vec_dstt */ |
| |
| static void __attribute__((__always_inline__)) |
| vec_dstt(const void *__a, int __b, int __c) |
| { |
| __builtin_altivec_dstt(__a, __b, __c); |
| } |
| |
| /* vec_expte */ |
| |
| static vector float __attribute__((__always_inline__)) |
| vec_expte(vector float __a) |
| { |
| return __builtin_altivec_vexptefp(__a); |
| } |
| |
| /* vec_vexptefp */ |
| |
| static vector float __attribute__((__always_inline__)) |
| vec_vexptefp(vector float __a) |
| { |
| return __builtin_altivec_vexptefp(__a); |
| } |
| |
| /* vec_floor */ |
| |
| static vector float __attribute__((__always_inline__)) |
| vec_floor(vector float __a) |
| { |
| return __builtin_altivec_vrfim(__a); |
| } |
| |
| /* vec_vrfim */ |
| |
| static vector float __attribute__((__always_inline__)) |
| vec_vrfim(vector float __a) |
| { |
| return __builtin_altivec_vrfim(__a); |
| } |
| |
| /* vec_ld */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_ld(int __a, const vector signed char *__b) |
| { |
| return (vector signed char)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_ld(int __a, const signed char *__b) |
| { |
| return (vector signed char)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_ld(int __a, const vector unsigned char *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_ld(int __a, const unsigned char *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_ld(int __a, const vector bool char *__b) |
| { |
| return (vector bool char)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_ld(int __a, const vector short *__b) |
| { |
| return (vector short)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_ld(int __a, const short *__b) |
| { |
| return (vector short)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_ld(int __a, const vector unsigned short *__b) |
| { |
| return (vector unsigned short)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_ld(int __a, const unsigned short *__b) |
| { |
| return (vector unsigned short)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_ld(int __a, const vector bool short *__b) |
| { |
| return (vector bool short)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector pixel __ATTRS_o_ai |
| vec_ld(int __a, const vector pixel *__b) |
| { |
| return (vector pixel)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_ld(int __a, const vector int *__b) |
| { |
| return (vector int)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_ld(int __a, const int *__b) |
| { |
| return (vector int)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_ld(int __a, const vector unsigned int *__b) |
| { |
| return (vector unsigned int)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_ld(int __a, const unsigned int *__b) |
| { |
| return (vector unsigned int)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_ld(int __a, const vector bool int *__b) |
| { |
| return (vector bool int)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_ld(int __a, const vector float *__b) |
| { |
| return (vector float)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_ld(int __a, const float *__b) |
| { |
| return (vector float)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| /* vec_lvx */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_lvx(int __a, const vector signed char *__b) |
| { |
| return (vector signed char)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_lvx(int __a, const signed char *__b) |
| { |
| return (vector signed char)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvx(int __a, const vector unsigned char *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvx(int __a, const unsigned char *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_lvx(int __a, const vector bool char *__b) |
| { |
| return (vector bool char)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_lvx(int __a, const vector short *__b) |
| { |
| return (vector short)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_lvx(int __a, const short *__b) |
| { |
| return (vector short)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_lvx(int __a, const vector unsigned short *__b) |
| { |
| return (vector unsigned short)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_lvx(int __a, const unsigned short *__b) |
| { |
| return (vector unsigned short)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_lvx(int __a, const vector bool short *__b) |
| { |
| return (vector bool short)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector pixel __ATTRS_o_ai |
| vec_lvx(int __a, const vector pixel *__b) |
| { |
| return (vector pixel)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_lvx(int __a, const vector int *__b) |
| { |
| return (vector int)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_lvx(int __a, const int *__b) |
| { |
| return (vector int)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_lvx(int __a, const vector unsigned int *__b) |
| { |
| return (vector unsigned int)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_lvx(int __a, const unsigned int *__b) |
| { |
| return (vector unsigned int)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_lvx(int __a, const vector bool int *__b) |
| { |
| return (vector bool int)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_lvx(int __a, const vector float *__b) |
| { |
| return (vector float)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_lvx(int __a, const float *__b) |
| { |
| return (vector float)__builtin_altivec_lvx(__a, __b); |
| } |
| |
| /* vec_lde */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_lde(int __a, const signed char *__b) |
| { |
| return (vector signed char)__builtin_altivec_lvebx(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lde(int __a, const unsigned char *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvebx(__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_lde(int __a, const short *__b) |
| { |
| return (vector short)__builtin_altivec_lvehx(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_lde(int __a, const unsigned short *__b) |
| { |
| return (vector unsigned short)__builtin_altivec_lvehx(__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_lde(int __a, const int *__b) |
| { |
| return (vector int)__builtin_altivec_lvewx(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_lde(int __a, const unsigned int *__b) |
| { |
| return (vector unsigned int)__builtin_altivec_lvewx(__a, __b); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_lde(int __a, const float *__b) |
| { |
| return (vector float)__builtin_altivec_lvewx(__a, __b); |
| } |
| |
| /* vec_lvebx */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_lvebx(int __a, const signed char *__b) |
| { |
| return (vector signed char)__builtin_altivec_lvebx(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvebx(int __a, const unsigned char *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvebx(__a, __b); |
| } |
| |
| /* vec_lvehx */ |
| |
| static vector short __ATTRS_o_ai |
| vec_lvehx(int __a, const short *__b) |
| { |
| return (vector short)__builtin_altivec_lvehx(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_lvehx(int __a, const unsigned short *__b) |
| { |
| return (vector unsigned short)__builtin_altivec_lvehx(__a, __b); |
| } |
| |
| /* vec_lvewx */ |
| |
| static vector int __ATTRS_o_ai |
| vec_lvewx(int __a, const int *__b) |
| { |
| return (vector int)__builtin_altivec_lvewx(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_lvewx(int __a, const unsigned int *__b) |
| { |
| return (vector unsigned int)__builtin_altivec_lvewx(__a, __b); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_lvewx(int __a, const float *__b) |
| { |
| return (vector float)__builtin_altivec_lvewx(__a, __b); |
| } |
| |
| /* vec_ldl */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_ldl(int __a, const vector signed char *__b) |
| { |
| return (vector signed char)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_ldl(int __a, const signed char *__b) |
| { |
| return (vector signed char)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_ldl(int __a, const vector unsigned char *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_ldl(int __a, const unsigned char *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_ldl(int __a, const vector bool char *__b) |
| { |
| return (vector bool char)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_ldl(int __a, const vector short *__b) |
| { |
| return (vector short)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_ldl(int __a, const short *__b) |
| { |
| return (vector short)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_ldl(int __a, const vector unsigned short *__b) |
| { |
| return (vector unsigned short)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_ldl(int __a, const unsigned short *__b) |
| { |
| return (vector unsigned short)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_ldl(int __a, const vector bool short *__b) |
| { |
| return (vector bool short)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector pixel __ATTRS_o_ai |
| vec_ldl(int __a, const vector pixel *__b) |
| { |
| return (vector pixel short)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_ldl(int __a, const vector int *__b) |
| { |
| return (vector int)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_ldl(int __a, const int *__b) |
| { |
| return (vector int)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_ldl(int __a, const vector unsigned int *__b) |
| { |
| return (vector unsigned int)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_ldl(int __a, const unsigned int *__b) |
| { |
| return (vector unsigned int)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_ldl(int __a, const vector bool int *__b) |
| { |
| return (vector bool int)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_ldl(int __a, const vector float *__b) |
| { |
| return (vector float)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_ldl(int __a, const float *__b) |
| { |
| return (vector float)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| /* vec_lvxl */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_lvxl(int __a, const vector signed char *__b) |
| { |
| return (vector signed char)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_lvxl(int __a, const signed char *__b) |
| { |
| return (vector signed char)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvxl(int __a, const vector unsigned char *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvxl(int __a, const unsigned char *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_lvxl(int __a, const vector bool char *__b) |
| { |
| return (vector bool char)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_lvxl(int __a, const vector short *__b) |
| { |
| return (vector short)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_lvxl(int __a, const short *__b) |
| { |
| return (vector short)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_lvxl(int __a, const vector unsigned short *__b) |
| { |
| return (vector unsigned short)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_lvxl(int __a, const unsigned short *__b) |
| { |
| return (vector unsigned short)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_lvxl(int __a, const vector bool short *__b) |
| { |
| return (vector bool short)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector pixel __ATTRS_o_ai |
| vec_lvxl(int __a, const vector pixel *__b) |
| { |
| return (vector pixel)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_lvxl(int __a, const vector int *__b) |
| { |
| return (vector int)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_lvxl(int __a, const int *__b) |
| { |
| return (vector int)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_lvxl(int __a, const vector unsigned int *__b) |
| { |
| return (vector unsigned int)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_lvxl(int __a, const unsigned int *__b) |
| { |
| return (vector unsigned int)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_lvxl(int __a, const vector bool int *__b) |
| { |
| return (vector bool int)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_lvxl(int __a, const vector float *__b) |
| { |
| return (vector float)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_lvxl(int __a, const float *__b) |
| { |
| return (vector float)__builtin_altivec_lvxl(__a, __b); |
| } |
| |
| /* vec_loge */ |
| |
| static vector float __attribute__((__always_inline__)) |
| vec_loge(vector float __a) |
| { |
| return __builtin_altivec_vlogefp(__a); |
| } |
| |
| /* vec_vlogefp */ |
| |
| static vector float __attribute__((__always_inline__)) |
| vec_vlogefp(vector float __a) |
| { |
| return __builtin_altivec_vlogefp(__a); |
| } |
| |
| /* vec_lvsl */ |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvsl(int __a, const signed char *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvsl(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvsl(int __a, const unsigned char *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvsl(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvsl(int __a, const short *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvsl(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvsl(int __a, const unsigned short *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvsl(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvsl(int __a, const int *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvsl(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvsl(int __a, const unsigned int *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvsl(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvsl(int __a, const float *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvsl(__a, __b); |
| } |
| |
| /* vec_lvsr */ |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvsr(int __a, const signed char *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvsr(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvsr(int __a, const unsigned char *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvsr(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvsr(int __a, const short *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvsr(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvsr(int __a, const unsigned short *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvsr(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvsr(int __a, const int *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvsr(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvsr(int __a, const unsigned int *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvsr(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_lvsr(int __a, const float *__b) |
| { |
| return (vector unsigned char)__builtin_altivec_lvsr(__a, __b); |
| } |
| |
| /* vec_madd */ |
| |
| static vector float __attribute__((__always_inline__)) |
| vec_madd(vector float __a, vector float __b, vector float __c) |
| { |
| return __builtin_altivec_vmaddfp(__a, __b, __c); |
| } |
| |
| /* vec_vmaddfp */ |
| |
| static vector float __attribute__((__always_inline__)) |
| vec_vmaddfp(vector float __a, vector float __b, vector float __c) |
| { |
| return __builtin_altivec_vmaddfp(__a, __b, __c); |
| } |
| |
| /* vec_madds */ |
| |
| static vector signed short __attribute__((__always_inline__)) |
| vec_madds(vector signed short __a, vector signed short __b, vector signed short __c) |
| { |
| return __builtin_altivec_vmhaddshs(__a, __b, __c); |
| } |
| |
| /* vec_vmhaddshs */ |
| static vector signed short __attribute__((__always_inline__)) |
| vec_vmhaddshs(vector signed short __a, |
| vector signed short __b, |
| vector signed short __c) |
| { |
| return __builtin_altivec_vmhaddshs(__a, __b, __c); |
| } |
| |
| /* vec_max */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_max(vector signed char __a, vector signed char __b) |
| { |
| return __builtin_altivec_vmaxsb(__a, __b); |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_max(vector bool char __a, vector signed char __b) |
| { |
| return __builtin_altivec_vmaxsb((vector signed char)__a, __b); |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_max(vector signed char __a, vector bool char __b) |
| { |
| return __builtin_altivec_vmaxsb(__a, (vector signed char)__b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_max(vector unsigned char __a, vector unsigned char __b) |
| { |
| return __builtin_altivec_vmaxub(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_max(vector bool char __a, vector unsigned char __b) |
| { |
| return __builtin_altivec_vmaxub((vector unsigned char)__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_max(vector unsigned char __a, vector bool char __b) |
| { |
| return __builtin_altivec_vmaxub(__a, (vector unsigned char)__b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_max(vector short __a, vector short __b) |
| { |
| return __builtin_altivec_vmaxsh(__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_max(vector bool short __a, vector short __b) |
| { |
| return __builtin_altivec_vmaxsh((vector short)__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_max(vector short __a, vector bool short __b) |
| { |
| return __builtin_altivec_vmaxsh(__a, (vector short)__b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_max(vector unsigned short __a, vector unsigned short __b) |
| { |
| return __builtin_altivec_vmaxuh(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_max(vector bool short __a, vector unsigned short __b) |
| { |
| return __builtin_altivec_vmaxuh((vector unsigned short)__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_max(vector unsigned short __a, vector bool short __b) |
| { |
| return __builtin_altivec_vmaxuh(__a, (vector unsigned short)__b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_max(vector int __a, vector int __b) |
| { |
| return __builtin_altivec_vmaxsw(__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_max(vector bool int __a, vector int __b) |
| { |
| return __builtin_altivec_vmaxsw((vector int)__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_max(vector int __a, vector bool int __b) |
| { |
| return __builtin_altivec_vmaxsw(__a, (vector int)__b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_max(vector unsigned int __a, vector unsigned int __b) |
| { |
| return __builtin_altivec_vmaxuw(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_max(vector bool int __a, vector unsigned int __b) |
| { |
| return __builtin_altivec_vmaxuw((vector unsigned int)__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_max(vector unsigned int __a, vector bool int __b) |
| { |
| return __builtin_altivec_vmaxuw(__a, (vector unsigned int)__b); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_max(vector float __a, vector float __b) |
| { |
| return __builtin_altivec_vmaxfp(__a, __b); |
| } |
| |
| /* vec_vmaxsb */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vmaxsb(vector signed char __a, vector signed char __b) |
| { |
| return __builtin_altivec_vmaxsb(__a, __b); |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vmaxsb(vector bool char __a, vector signed char __b) |
| { |
| return __builtin_altivec_vmaxsb((vector signed char)__a, __b); |
| } |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vmaxsb(vector signed char __a, vector bool char __b) |
| { |
| return __builtin_altivec_vmaxsb(__a, (vector signed char)__b); |
| } |
| |
| /* vec_vmaxub */ |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vmaxub(vector unsigned char __a, vector unsigned char __b) |
| { |
| return __builtin_altivec_vmaxub(__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vmaxub(vector bool char __a, vector unsigned char __b) |
| { |
| return __builtin_altivec_vmaxub((vector unsigned char)__a, __b); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vmaxub(vector unsigned char __a, vector bool char __b) |
| { |
| return __builtin_altivec_vmaxub(__a, (vector unsigned char)__b); |
| } |
| |
| /* vec_vmaxsh */ |
| |
| static vector short __ATTRS_o_ai |
| vec_vmaxsh(vector short __a, vector short __b) |
| { |
| return __builtin_altivec_vmaxsh(__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_vmaxsh(vector bool short __a, vector short __b) |
| { |
| return __builtin_altivec_vmaxsh((vector short)__a, __b); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_vmaxsh(vector short __a, vector bool short __b) |
| { |
| return __builtin_altivec_vmaxsh(__a, (vector short)__b); |
| } |
| |
| /* vec_vmaxuh */ |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vmaxuh(vector unsigned short __a, vector unsigned short __b) |
| { |
| return __builtin_altivec_vmaxuh(__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vmaxuh(vector bool short __a, vector unsigned short __b) |
| { |
| return __builtin_altivec_vmaxuh((vector unsigned short)__a, __b); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vmaxuh(vector unsigned short __a, vector bool short __b) |
| { |
| return __builtin_altivec_vmaxuh(__a, (vector unsigned short)__b); |
| } |
| |
| /* vec_vmaxsw */ |
| |
| static vector int __ATTRS_o_ai |
| vec_vmaxsw(vector int __a, vector int __b) |
| { |
| return __builtin_altivec_vmaxsw(__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_vmaxsw(vector bool int __a, vector int __b) |
| { |
| return __builtin_altivec_vmaxsw((vector int)__a, __b); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_vmaxsw(vector int __a, vector bool int __b) |
| { |
| return __builtin_altivec_vmaxsw(__a, (vector int)__b); |
| } |
| |
| /* vec_vmaxuw */ |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vmaxuw(vector unsigned int __a, vector unsigned int __b) |
| { |
| return __builtin_altivec_vmaxuw(__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vmaxuw(vector bool int __a, vector unsigned int __b) |
| { |
| return __builtin_altivec_vmaxuw((vector unsigned int)__a, __b); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vmaxuw(vector unsigned int __a, vector bool int __b) |
| { |
| return __builtin_altivec_vmaxuw(__a, (vector unsigned int)__b); |
| } |
| |
| /* vec_vmaxfp */ |
| |
| static vector float __attribute__((__always_inline__)) |
| vec_vmaxfp(vector float __a, vector float __b) |
| { |
| return __builtin_altivec_vmaxfp(__a, __b); |
| } |
| |
| /* vec_mergeh */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_mergeh(vector signed char __a, vector signed char __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, |
| 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17)); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_mergeh(vector unsigned char __a, vector unsigned char __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, |
| 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17)); |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_mergeh(vector bool char __a, vector bool char __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, |
| 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17)); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_mergeh(vector short __a, vector short __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, |
| 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_mergeh(vector unsigned short __a, vector unsigned short __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, |
| 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_mergeh(vector bool short __a, vector bool short __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, |
| 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); |
| } |
| |
| static vector pixel __ATTRS_o_ai |
| vec_mergeh(vector pixel __a, vector pixel __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, |
| 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_mergeh(vector int __a, vector int __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, |
| 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_mergeh(vector unsigned int __a, vector unsigned int __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, |
| 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_mergeh(vector bool int __a, vector bool int __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, |
| 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_mergeh(vector float __a, vector float __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, |
| 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); |
| } |
| |
| /* vec_vmrghb */ |
| |
| #define __builtin_altivec_vmrghb vec_vmrghb |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vmrghb(vector signed char __a, vector signed char __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, |
| 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17)); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vmrghb(vector unsigned char __a, vector unsigned char __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, |
| 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17)); |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_vmrghb(vector bool char __a, vector bool char __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, |
| 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17)); |
| } |
| |
| /* vec_vmrghh */ |
| |
| #define __builtin_altivec_vmrghh vec_vmrghh |
| |
| static vector short __ATTRS_o_ai |
| vec_vmrghh(vector short __a, vector short __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, |
| 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vmrghh(vector unsigned short __a, vector unsigned short __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, |
| 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_vmrghh(vector bool short __a, vector bool short __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, |
| 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); |
| } |
| |
| static vector pixel __ATTRS_o_ai |
| vec_vmrghh(vector pixel __a, vector pixel __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, |
| 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); |
| } |
| |
| /* vec_vmrghw */ |
| |
| #define __builtin_altivec_vmrghw vec_vmrghw |
| |
| static vector int __ATTRS_o_ai |
| vec_vmrghw(vector int __a, vector int __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, |
| 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_vmrghw(vector unsigned int __a, vector unsigned int __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, |
| 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_vmrghw(vector bool int __a, vector bool int __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, |
| 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_vmrghw(vector float __a, vector float __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, |
| 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); |
| } |
| |
| /* vec_mergel */ |
| |
| static vector signed char __ATTRS_o_ai |
| vec_mergel(vector signed char __a, vector signed char __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, |
| 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F)); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_mergel(vector unsigned char __a, vector unsigned char __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, |
| 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F)); |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_mergel(vector bool char __a, vector bool char __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, |
| 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F)); |
| } |
| |
| static vector short __ATTRS_o_ai |
| vec_mergel(vector short __a, vector short __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, |
| 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_mergel(vector unsigned short __a, vector unsigned short __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, |
| 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_mergel(vector bool short __a, vector bool short __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, |
| 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); |
| } |
| |
| static vector pixel __ATTRS_o_ai |
| vec_mergel(vector pixel __a, vector pixel __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, |
| 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); |
| } |
| |
| static vector int __ATTRS_o_ai |
| vec_mergel(vector int __a, vector int __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B, |
| 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F)); |
| } |
| |
| static vector unsigned int __ATTRS_o_ai |
| vec_mergel(vector unsigned int __a, vector unsigned int __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B, |
| 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F)); |
| } |
| |
| static vector bool int __ATTRS_o_ai |
| vec_mergel(vector bool int __a, vector bool int __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B, |
| 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F)); |
| } |
| |
| static vector float __ATTRS_o_ai |
| vec_mergel(vector float __a, vector float __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B, |
| 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F)); |
| } |
| |
| /* vec_vmrglb */ |
| |
| #define __builtin_altivec_vmrglb vec_vmrglb |
| |
| static vector signed char __ATTRS_o_ai |
| vec_vmrglb(vector signed char __a, vector signed char __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, |
| 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F)); |
| } |
| |
| static vector unsigned char __ATTRS_o_ai |
| vec_vmrglb(vector unsigned char __a, vector unsigned char __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, |
| 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F)); |
| } |
| |
| static vector bool char __ATTRS_o_ai |
| vec_vmrglb(vector bool char __a, vector bool char __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, |
| 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F)); |
| } |
| |
| /* vec_vmrglh */ |
| |
| #define __builtin_altivec_vmrglh vec_vmrglh |
| |
| static vector short __ATTRS_o_ai |
| vec_vmrglh(vector short __a, vector short __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, |
| 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); |
| } |
| |
| static vector unsigned short __ATTRS_o_ai |
| vec_vmrglh(vector unsigned short __a, vector unsigned short __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, |
| 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); |
| } |
| |
| static vector bool short __ATTRS_o_ai |
| vec_vmrglh(vector bool short __a, vector bool short __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, |
| 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); |
| } |
| |
| static vector pixel __ATTRS_o_ai |
| vec_vmrglh(vector pixel __a, vector pixel __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, |
| 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); |
| } |
| |
| /* vec_vmrglw */ |
| |
| #define __builtin_altivec_vmrglw vec_vmrglw |
| |
| static vector int __ATTRS_o_ai |
| vec_vmrglw(vector int __a, vector int __b) |
| { |
| return vec_perm(__a, __b, (vector unsigned char) |
| (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B, |
| 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0
|