blob: 74ce08aa6fea521f01c6698672d180ce6d4c97a5 [file] [log] [blame]
/*===---- 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