Jason Sams 4d3399337d Convert renderscript from using ACC to LLVM for its compiler.
This will also require application to be updated to support
the new compiler and data passing models.

Change-Id: If078e3a5148af395ba1b936169a407d8c3ad727f
2010-05-11 14:03:58 -07:00

654 lines
34 KiB
Plaintext

// Float ops, 6.11.2
extern float __attribute__((overloadable)) acos(float);
extern float2 __attribute__((overloadable)) acos(float2);
extern float3 __attribute__((overloadable)) acos(float3);
extern float4 __attribute__((overloadable)) acos(float4);
extern float8 __attribute__((overloadable)) acos(float8);
extern float16 __attribute__((overloadable)) acos(float16);
extern float __attribute__((overloadable)) acosh(float);
extern float2 __attribute__((overloadable)) acosh(float2);
extern float3 __attribute__((overloadable)) acosh(float3);
extern float4 __attribute__((overloadable)) acosh(float4);
extern float8 __attribute__((overloadable)) acosh(float8);
extern float16 __attribute__((overloadable)) acosh(float16);
extern float __attribute__((overloadable)) acospi(float);
extern float2 __attribute__((overloadable)) acospi(float2);
extern float3 __attribute__((overloadable)) acospi(float3);
extern float4 __attribute__((overloadable)) acospi(float4);
extern float8 __attribute__((overloadable)) acospi(float8);
extern float16 __attribute__((overloadable)) acospi(float16);
extern float __attribute__((overloadable)) asin(float);
extern float2 __attribute__((overloadable)) asin(float2);
extern float3 __attribute__((overloadable)) asin(float3);
extern float4 __attribute__((overloadable)) asin(float4);
extern float8 __attribute__((overloadable)) asin(float8);
extern float16 __attribute__((overloadable)) asin(float16);
extern float __attribute__((overloadable)) asinh(float);
extern float2 __attribute__((overloadable)) asinh(float2);
extern float3 __attribute__((overloadable)) asinh(float3);
extern float4 __attribute__((overloadable)) asinh(float4);
extern float8 __attribute__((overloadable)) asinh(float8);
extern float16 __attribute__((overloadable)) asinh(float16);
extern float __attribute__((overloadable)) asinpi(float);
extern float2 __attribute__((overloadable)) asinpi(float2);
extern float3 __attribute__((overloadable)) asinpi(float3);
extern float4 __attribute__((overloadable)) asinpi(float4);
extern float8 __attribute__((overloadable)) asinpi(float8);
extern float16 __attribute__((overloadable)) asinpi(float16);
extern float __attribute__((overloadable)) atan(float);
extern float2 __attribute__((overloadable)) atan(float2);
extern float3 __attribute__((overloadable)) atan(float3);
extern float4 __attribute__((overloadable)) atan(float4);
extern float8 __attribute__((overloadable)) atan(float8);
extern float16 __attribute__((overloadable)) atan(float16);
extern float __attribute__((overloadable)) atan2(float, float);
extern float2 __attribute__((overloadable)) atan2(float2, float2);
extern float3 __attribute__((overloadable)) atan2(float3, float3);
extern float4 __attribute__((overloadable)) atan2(float4, float4);
extern float8 __attribute__((overloadable)) atan2(float8, float8);
extern float16 __attribute__((overloadable)) atan2(float16, float16);
extern float __attribute__((overloadable)) atanh(float);
extern float2 __attribute__((overloadable)) atanh(float2);
extern float3 __attribute__((overloadable)) atanh(float3);
extern float4 __attribute__((overloadable)) atanh(float4);
extern float8 __attribute__((overloadable)) atanh(float8);
extern float16 __attribute__((overloadable)) atanh(float16);
extern float __attribute__((overloadable)) atanpi(float);
extern float2 __attribute__((overloadable)) atanpi(float2);
extern float3 __attribute__((overloadable)) atanpi(float3);
extern float4 __attribute__((overloadable)) atanpi(float4);
extern float8 __attribute__((overloadable)) atanpi(float8);
extern float16 __attribute__((overloadable)) atanpi(float16);
extern float __attribute__((overloadable)) atan2pi(float, float);
extern float2 __attribute__((overloadable)) atan2pi(float2, float2);
extern float3 __attribute__((overloadable)) atan2pi(float3, float3);
extern float4 __attribute__((overloadable)) atan2pi(float4, float4);
extern float8 __attribute__((overloadable)) atan2pi(float8, float8);
extern float16 __attribute__((overloadable)) atan2pi(float16, float16);
extern float __attribute__((overloadable)) cbrt(float);
extern float2 __attribute__((overloadable)) cbrt(float2);
extern float3 __attribute__((overloadable)) cbrt(float3);
extern float4 __attribute__((overloadable)) cbrt(float4);
extern float8 __attribute__((overloadable)) cbrt(float8);
extern float16 __attribute__((overloadable)) cbrt(float16);
extern float __attribute__((overloadable)) ceil(float);
extern float2 __attribute__((overloadable)) ceil(float2);
extern float3 __attribute__((overloadable)) ceil(float3);
extern float4 __attribute__((overloadable)) ceil(float4);
extern float8 __attribute__((overloadable)) ceil(float8);
extern float16 __attribute__((overloadable)) ceil(float16);
extern float __attribute__((overloadable)) copysign(float, float);
extern float2 __attribute__((overloadable)) copysign(float2, float2);
extern float3 __attribute__((overloadable)) copysign(float3, float3);
extern float4 __attribute__((overloadable)) copysign(float4, float4);
extern float8 __attribute__((overloadable)) copysign(float8, float8);
extern float16 __attribute__((overloadable)) copysign(float16, float16);
extern float __attribute__((overloadable)) cos(float);
extern float2 __attribute__((overloadable)) cos(float2);
extern float3 __attribute__((overloadable)) cos(float3);
extern float4 __attribute__((overloadable)) cos(float4);
extern float8 __attribute__((overloadable)) cos(float8);
extern float16 __attribute__((overloadable)) cos(float16);
extern float __attribute__((overloadable)) cosh(float);
extern float2 __attribute__((overloadable)) cosh(float2);
extern float3 __attribute__((overloadable)) cosh(float3);
extern float4 __attribute__((overloadable)) cosh(float4);
extern float8 __attribute__((overloadable)) cosh(float8);
extern float16 __attribute__((overloadable)) cosh(float16);
extern float __attribute__((overloadable)) cospi(float);
extern float2 __attribute__((overloadable)) cospi(float2);
extern float3 __attribute__((overloadable)) cospi(float3);
extern float4 __attribute__((overloadable)) cospi(float4);
extern float8 __attribute__((overloadable)) cospi(float8);
extern float16 __attribute__((overloadable)) cospi(float16);
extern float __attribute__((overloadable)) erfc(float);
extern float2 __attribute__((overloadable)) erfc(float2);
extern float3 __attribute__((overloadable)) erfc(float3);
extern float4 __attribute__((overloadable)) erfc(float4);
extern float8 __attribute__((overloadable)) erfc(float8);
extern float16 __attribute__((overloadable)) erfc(float16);
extern float __attribute__((overloadable)) erf(float);
extern float2 __attribute__((overloadable)) erf(float2);
extern float3 __attribute__((overloadable)) erf(float3);
extern float4 __attribute__((overloadable)) erf(float4);
extern float8 __attribute__((overloadable)) erf(float8);
extern float16 __attribute__((overloadable)) erf(float16);
extern float __attribute__((overloadable)) exp(float);
extern float2 __attribute__((overloadable)) exp(float2);
extern float3 __attribute__((overloadable)) exp(float3);
extern float4 __attribute__((overloadable)) exp(float4);
extern float8 __attribute__((overloadable)) exp(float8);
extern float16 __attribute__((overloadable)) exp(float16);
extern float __attribute__((overloadable)) exp2(float);
extern float2 __attribute__((overloadable)) exp2(float2);
extern float3 __attribute__((overloadable)) exp2(float3);
extern float4 __attribute__((overloadable)) exp2(float4);
extern float8 __attribute__((overloadable)) exp2(float8);
extern float16 __attribute__((overloadable)) exp2(float16);
extern float __attribute__((overloadable)) exp10(float);
extern float2 __attribute__((overloadable)) exp10(float2);
extern float3 __attribute__((overloadable)) exp10(float3);
extern float4 __attribute__((overloadable)) exp10(float4);
extern float8 __attribute__((overloadable)) exp10(float8);
extern float16 __attribute__((overloadable)) exp10(float16);
extern float __attribute__((overloadable)) expm1(float);
extern float2 __attribute__((overloadable)) expm1(float2);
extern float3 __attribute__((overloadable)) expm1(float3);
extern float4 __attribute__((overloadable)) expm1(float4);
extern float8 __attribute__((overloadable)) expm1(float8);
extern float16 __attribute__((overloadable)) expm1(float16);
extern float __attribute__((overloadable)) fabs(float);
extern float2 __attribute__((overloadable)) fabs(float2);
extern float3 __attribute__((overloadable)) fabs(float3);
extern float4 __attribute__((overloadable)) fabs(float4);
extern float8 __attribute__((overloadable)) fabs(float8);
extern float16 __attribute__((overloadable)) fabs(float16);
extern float __attribute__((overloadable)) fdim(float, float);
extern float2 __attribute__((overloadable)) fdim(float2, float2);
extern float3 __attribute__((overloadable)) fdim(float3, float3);
extern float4 __attribute__((overloadable)) fdim(float4, float4);
extern float8 __attribute__((overloadable)) fdim(float8, float8);
extern float16 __attribute__((overloadable)) fdim(float16, float16);
extern float __attribute__((overloadable)) floor(float);
extern float2 __attribute__((overloadable)) floor(float2);
extern float3 __attribute__((overloadable)) floor(float3);
extern float4 __attribute__((overloadable)) floor(float4);
extern float8 __attribute__((overloadable)) floor(float8);
extern float16 __attribute__((overloadable)) floor(float16);
extern float __attribute__((overloadable)) fma(float, float, float);
extern float2 __attribute__((overloadable)) fma(float2, float2, float2);
extern float3 __attribute__((overloadable)) fma(float3, float3, float3);
extern float4 __attribute__((overloadable)) fma(float4, float4, float4);
extern float8 __attribute__((overloadable)) fma(float8, float8, float8);
extern float16 __attribute__((overloadable)) fma(float16, float16, float16);
extern float __attribute__((overloadable)) fmax(float, float);
extern float2 __attribute__((overloadable)) fmax(float2, float2);
extern float3 __attribute__((overloadable)) fmax(float3, float3);
extern float4 __attribute__((overloadable)) fmax(float4, float4);
extern float8 __attribute__((overloadable)) fmax(float8, float8);
extern float16 __attribute__((overloadable)) fmax(float16, float16);
extern float2 __attribute__((overloadable)) fmax(float2, float);
extern float3 __attribute__((overloadable)) fmax(float3, float);
extern float4 __attribute__((overloadable)) fmax(float4, float);
extern float8 __attribute__((overloadable)) fmax(float8, float);
extern float16 __attribute__((overloadable)) fmax(float16, float);
extern float __attribute__((overloadable)) fmin(float, float);
extern float2 __attribute__((overloadable)) fmin(float2, float2);
extern float3 __attribute__((overloadable)) fmin(float3, float3);
extern float4 __attribute__((overloadable)) fmin(float4, float4);
extern float8 __attribute__((overloadable)) fmin(float8, float8);
extern float16 __attribute__((overloadable)) fmin(float16, float16);
extern float2 __attribute__((overloadable)) fmin(float2, float);
extern float3 __attribute__((overloadable)) fmin(float3, float);
extern float4 __attribute__((overloadable)) fmin(float4, float);
extern float8 __attribute__((overloadable)) fmin(float8, float);
extern float16 __attribute__((overloadable)) fmin(float16, float);
extern float __attribute__((overloadable)) fmod(float, float);
extern float2 __attribute__((overloadable)) fmod(float2, float2);
extern float3 __attribute__((overloadable)) fmod(float3, float3);
extern float4 __attribute__((overloadable)) fmod(float4, float4);
extern float8 __attribute__((overloadable)) fmod(float8, float8);
extern float16 __attribute__((overloadable)) fmod(float16, float16);
extern float __attribute__((overloadable)) fract(float, float *);
extern float2 __attribute__((overloadable)) fract(float2, float2 *);
extern float3 __attribute__((overloadable)) fract(float3, float3 *);
extern float4 __attribute__((overloadable)) fract(float4, float4 *);
extern float8 __attribute__((overloadable)) fract(float8, float8 *);
extern float16 __attribute__((overloadable)) fract(float16, float16 *);
extern float __attribute__((overloadable)) frexp(float, float *);
extern float2 __attribute__((overloadable)) frexp(float2, float2 *);
extern float3 __attribute__((overloadable)) frexp(float3, float3 *);
extern float4 __attribute__((overloadable)) frexp(float4, float4 *);
extern float8 __attribute__((overloadable)) frexp(float8, float8 *);
extern float16 __attribute__((overloadable)) frexp(float16, float16 *);
extern float __attribute__((overloadable)) hypot(float, float);
extern float2 __attribute__((overloadable)) hypot(float2, float2);
extern float3 __attribute__((overloadable)) hypot(float3, float3);
extern float4 __attribute__((overloadable)) hypot(float4, float4);
extern float8 __attribute__((overloadable)) hypot(float8, float8);
extern float16 __attribute__((overloadable)) hypot(float16, float16);
extern int __attribute__((overloadable)) ilogb(float);
extern int2 __attribute__((overloadable)) ilogb(float2);
extern int3 __attribute__((overloadable)) ilogb(float3);
extern int4 __attribute__((overloadable)) ilogb(float4);
extern int8 __attribute__((overloadable)) ilogb(float8);
extern int16 __attribute__((overloadable)) ilogb(float16);
extern float __attribute__((overloadable)) ldexp(float, int);
extern float2 __attribute__((overloadable)) ldexp(float2, int2);
extern float3 __attribute__((overloadable)) ldexp(float3, int3);
extern float4 __attribute__((overloadable)) ldexp(float4, int4);
extern float8 __attribute__((overloadable)) ldexp(float8, int8);
extern float16 __attribute__((overloadable)) ldexp(float16, int16);
extern float2 __attribute__((overloadable)) ldexp(float2, int);
extern float3 __attribute__((overloadable)) ldexp(float3, int);
extern float4 __attribute__((overloadable)) ldexp(float4, int);
extern float8 __attribute__((overloadable)) ldexp(float8, int);
extern float16 __attribute__((overloadable)) ldexp(float16, int);
extern float __attribute__((overloadable)) lgamma(float);
extern float2 __attribute__((overloadable)) lgamma(float2);
extern float3 __attribute__((overloadable)) lgamma(float3);
extern float4 __attribute__((overloadable)) lgamma(float4);
extern float8 __attribute__((overloadable)) lgamma(float8);
extern float16 __attribute__((overloadable)) lgamma(float16);
extern float __attribute__((overloadable)) lgamma(float, float *);
extern float2 __attribute__((overloadable)) lgamma(float2, float2 *);
extern float3 __attribute__((overloadable)) lgamma(float3, float3 *);
extern float4 __attribute__((overloadable)) lgamma(float4, float4 *);
extern float8 __attribute__((overloadable)) lgamma(float8, float8 *);
extern float16 __attribute__((overloadable)) lgamma(float16, float16 *);
extern float __attribute__((overloadable)) log(float);
extern float2 __attribute__((overloadable)) log(float2);
extern float3 __attribute__((overloadable)) log(float3);
extern float4 __attribute__((overloadable)) log(float4);
extern float8 __attribute__((overloadable)) log(float8);
extern float16 __attribute__((overloadable)) log(float16);
extern float __attribute__((overloadable)) log2(float);
extern float2 __attribute__((overloadable)) log2(float2);
extern float3 __attribute__((overloadable)) log2(float3);
extern float4 __attribute__((overloadable)) log2(float4);
extern float8 __attribute__((overloadable)) log2(float8);
extern float16 __attribute__((overloadable)) log2(float16);
extern float __attribute__((overloadable)) log10(float);
extern float2 __attribute__((overloadable)) log10(float2);
extern float3 __attribute__((overloadable)) log10(float3);
extern float4 __attribute__((overloadable)) log10(float4);
extern float8 __attribute__((overloadable)) log10(float8);
extern float16 __attribute__((overloadable)) log10(float16);
extern float __attribute__((overloadable)) log1p(float);
extern float2 __attribute__((overloadable)) log1p(float2);
extern float3 __attribute__((overloadable)) log1p(float3);
extern float4 __attribute__((overloadable)) log1p(float4);
extern float8 __attribute__((overloadable)) log1p(float8);
extern float16 __attribute__((overloadable)) log1p(float16);
extern float __attribute__((overloadable)) logb(float);
extern float2 __attribute__((overloadable)) logb(float2);
extern float3 __attribute__((overloadable)) logb(float3);
extern float4 __attribute__((overloadable)) logb(float4);
extern float8 __attribute__((overloadable)) logb(float8);
extern float16 __attribute__((overloadable)) logb(float16);
extern float __attribute__((overloadable)) mad(float, float, float);
extern float2 __attribute__((overloadable)) mad(float2, float2, float2);
extern float3 __attribute__((overloadable)) mad(float3, float3, float3);
extern float4 __attribute__((overloadable)) mad(float4, float4, float4);
extern float8 __attribute__((overloadable)) mad(float8, float8, float8);
extern float16 __attribute__((overloadable)) mad(float16, float16, float16);
extern float __attribute__((overloadable)) modf(float, float *);
extern float2 __attribute__((overloadable)) modf(float2, float2 *);
extern float3 __attribute__((overloadable)) modf(float3, float3 *);
extern float4 __attribute__((overloadable)) modf(float4, float4 *);
extern float8 __attribute__((overloadable)) modf(float8, float8 *);
extern float16 __attribute__((overloadable)) modf(float16, float16 *);
extern float __attribute__((overloadable)) nan(uint);
extern float2 __attribute__((overloadable)) nan(uint2);
extern float3 __attribute__((overloadable)) nan(uint3);
extern float4 __attribute__((overloadable)) nan(uint4);
extern float8 __attribute__((overloadable)) nan(uint8);
extern float16 __attribute__((overloadable)) nan(uint16);
extern float __attribute__((overloadable)) nextafter(float, float);
extern float2 __attribute__((overloadable)) nextafter(float2, float2);
extern float3 __attribute__((overloadable)) nextafter(float3, float3);
extern float4 __attribute__((overloadable)) nextafter(float4, float4);
extern float8 __attribute__((overloadable)) nextafter(float8, float8);
extern float16 __attribute__((overloadable)) nextafter(float16, float16);
extern float __attribute__((overloadable)) pow(float, float);
extern float2 __attribute__((overloadable)) pow(float2, float2);
extern float3 __attribute__((overloadable)) pow(float3, float3);
extern float4 __attribute__((overloadable)) pow(float4, float4);
extern float8 __attribute__((overloadable)) pow(float8, float8);
extern float16 __attribute__((overloadable)) pow(float16, float16);
extern float __attribute__((overloadable)) pown(float, int);
extern float2 __attribute__((overloadable)) pown(float2, int2);
extern float3 __attribute__((overloadable)) pown(float3, int3);
extern float4 __attribute__((overloadable)) pown(float4, int4);
extern float8 __attribute__((overloadable)) pown(float8, int8);
extern float16 __attribute__((overloadable)) pown(float16, int16);
extern float __attribute__((overloadable)) powr(float, float);
extern float2 __attribute__((overloadable)) powr(float2, float2);
extern float3 __attribute__((overloadable)) powr(float3, float3);
extern float4 __attribute__((overloadable)) powr(float4, float4);
extern float8 __attribute__((overloadable)) powr(float8, float8);
extern float16 __attribute__((overloadable)) powr(float16, float16);
extern float __attribute__((overloadable)) remainder(float, float);
extern float2 __attribute__((overloadable)) remainder(float2, float2);
extern float3 __attribute__((overloadable)) remainder(float3, float3);
extern float4 __attribute__((overloadable)) remainder(float4, float4);
extern float8 __attribute__((overloadable)) remainder(float8, float8);
extern float16 __attribute__((overloadable)) remainder(float16, float16);
extern float __attribute__((overloadable)) remquo(float, float, float *);
extern float2 __attribute__((overloadable)) remquo(float2, float2, float2 *);
extern float3 __attribute__((overloadable)) remquo(float3, float3, float3 *);
extern float4 __attribute__((overloadable)) remquo(float4, float4, float4 *);
extern float8 __attribute__((overloadable)) remquo(float8, float8, float8 *);
extern float16 __attribute__((overloadable)) remquo(float16, float16, float16 *);
extern float __attribute__((overloadable)) rint(float);
extern float2 __attribute__((overloadable)) rint(float2);
extern float3 __attribute__((overloadable)) rint(float3);
extern float4 __attribute__((overloadable)) rint(float4);
extern float8 __attribute__((overloadable)) rint(float8);
extern float16 __attribute__((overloadable)) rint(float16);
extern float __attribute__((overloadable)) rootn(float, int);
extern float2 __attribute__((overloadable)) rootn(float2, int2);
extern float3 __attribute__((overloadable)) rootn(float3, int3);
extern float4 __attribute__((overloadable)) rootn(float4, int4);
extern float8 __attribute__((overloadable)) rootn(float8, int8);
extern float16 __attribute__((overloadable)) rootn(float16, int16);
extern float __attribute__((overloadable)) round(float);
extern float2 __attribute__((overloadable)) round(float2);
extern float3 __attribute__((overloadable)) round(float3);
extern float4 __attribute__((overloadable)) round(float4);
extern float8 __attribute__((overloadable)) round(float8);
extern float16 __attribute__((overloadable)) round(float16);
extern float __attribute__((overloadable)) rsqrt(float);
extern float2 __attribute__((overloadable)) rsqrt(float2);
extern float3 __attribute__((overloadable)) rsqrt(float3);
extern float4 __attribute__((overloadable)) rsqrt(float4);
extern float8 __attribute__((overloadable)) rsqrt(float8);
extern float16 __attribute__((overloadable)) rsqrt(float16);
extern float __attribute__((overloadable)) sin(float);
extern float2 __attribute__((overloadable)) sin(float2);
extern float3 __attribute__((overloadable)) sin(float3);
extern float4 __attribute__((overloadable)) sin(float4);
extern float8 __attribute__((overloadable)) sin(float8);
extern float16 __attribute__((overloadable)) sin(float16);
extern float __attribute__((overloadable)) sincos(float, float *);
extern float2 __attribute__((overloadable)) sincos(float2, float2 *);
extern float3 __attribute__((overloadable)) sincos(float3, float3 *);
extern float4 __attribute__((overloadable)) sincos(float4, float4 *);
extern float8 __attribute__((overloadable)) sincos(float8, float8 *);
extern float16 __attribute__((overloadable)) sincos(float16, float16 *);
extern float __attribute__((overloadable)) sinh(float);
extern float2 __attribute__((overloadable)) sinh(float2);
extern float3 __attribute__((overloadable)) sinh(float3);
extern float4 __attribute__((overloadable)) sinh(float4);
extern float8 __attribute__((overloadable)) sinh(float8);
extern float16 __attribute__((overloadable)) sinh(float16);
extern float __attribute__((overloadable)) sinpi(float);
extern float2 __attribute__((overloadable)) sinpi(float2);
extern float3 __attribute__((overloadable)) sinpi(float3);
extern float4 __attribute__((overloadable)) sinpi(float4);
extern float8 __attribute__((overloadable)) sinpi(float8);
extern float16 __attribute__((overloadable)) sinpi(float16);
extern float __attribute__((overloadable)) sqrt(float);
extern float2 __attribute__((overloadable)) sqrt(float2);
extern float3 __attribute__((overloadable)) sqrt(float3);
extern float4 __attribute__((overloadable)) sqrt(float4);
extern float8 __attribute__((overloadable)) sqrt(float8);
extern float16 __attribute__((overloadable)) sqrt(float16);
extern float __attribute__((overloadable)) tan(float);
extern float2 __attribute__((overloadable)) tan(float2);
extern float3 __attribute__((overloadable)) tan(float3);
extern float4 __attribute__((overloadable)) tan(float4);
extern float8 __attribute__((overloadable)) tan(float8);
extern float16 __attribute__((overloadable)) tan(float16);
extern float __attribute__((overloadable)) tanh(float);
extern float2 __attribute__((overloadable)) tanh(float2);
extern float3 __attribute__((overloadable)) tanh(float3);
extern float4 __attribute__((overloadable)) tanh(float4);
extern float8 __attribute__((overloadable)) tanh(float8);
extern float16 __attribute__((overloadable)) tanh(float16);
extern float __attribute__((overloadable)) tanpi(float);
extern float2 __attribute__((overloadable)) tanpi(float2);
extern float3 __attribute__((overloadable)) tanpi(float3);
extern float4 __attribute__((overloadable)) tanpi(float4);
extern float8 __attribute__((overloadable)) tanpi(float8);
extern float16 __attribute__((overloadable)) tanpi(float16);
extern float __attribute__((overloadable)) tgamma(float);
extern float2 __attribute__((overloadable)) tgamma(float2);
extern float3 __attribute__((overloadable)) tgamma(float3);
extern float4 __attribute__((overloadable)) tgamma(float4);
extern float8 __attribute__((overloadable)) tgamma(float8);
extern float16 __attribute__((overloadable)) tgamma(float16);
extern float __attribute__((overloadable)) trunc(float);
extern float2 __attribute__((overloadable)) trunc(float2);
extern float3 __attribute__((overloadable)) trunc(float3);
extern float4 __attribute__((overloadable)) trunc(float4);
extern float8 __attribute__((overloadable)) trunc(float8);
extern float16 __attribute__((overloadable)) trunc(float16);
// Int ops (partial), 6.11.3
extern uint __attribute__((overloadable)) abs(int);
extern ushort __attribute__((overloadable)) abs(short);
extern uchar __attribute__((overloadable)) abs(char);
extern uint __attribute__((overloadable)) clz(uint);
extern int __attribute__((overloadable)) clz(int);
extern ushort __attribute__((overloadable)) clz(ushort);
extern short __attribute__((overloadable)) clz(short);
extern uchar __attribute__((overloadable)) clz(uchar);
extern char __attribute__((overloadable)) clz(char);
extern uint __attribute__((overloadable)) min(uint);
extern int __attribute__((overloadable)) min(int);
extern ushort __attribute__((overloadable)) min(ushort);
extern short __attribute__((overloadable)) min(short);
extern uchar __attribute__((overloadable)) min(uchar);
extern char __attribute__((overloadable)) min(char);
extern uint __attribute__((overloadable)) max(uint);
extern int __attribute__((overloadable)) max(int);
extern ushort __attribute__((overloadable)) max(ushort);
extern short __attribute__((overloadable)) max(short);
extern uchar __attribute__((overloadable)) max(uchar);
extern char __attribute__((overloadable)) max(char);
// 6.11.4
extern float __attribute__((overloadable)) clamp(float, float, float);
extern float2 __attribute__((overloadable)) clamp(float2, float2, float2);
extern float3 __attribute__((overloadable)) clamp(float3, float3, float3);
extern float4 __attribute__((overloadable)) clamp(float4, float4, float4);
extern float8 __attribute__((overloadable)) clamp(float8, float8, float8);
extern float16 __attribute__((overloadable)) clamp(float16, float16, float16);
extern float2 __attribute__((overloadable)) clamp(float2, float, float);
extern float3 __attribute__((overloadable)) clamp(float3, float, float);
extern float4 __attribute__((overloadable)) clamp(float4, float, float);
extern float8 __attribute__((overloadable)) clamp(float8, float, float);
extern float16 __attribute__((overloadable)) clamp(float16, float, float);
extern float __attribute__((overloadable)) degrees(float);
extern float2 __attribute__((overloadable)) degrees(float2);
extern float3 __attribute__((overloadable)) degrees(float3);
extern float4 __attribute__((overloadable)) degrees(float4);
extern float8 __attribute__((overloadable)) degrees(float8);
extern float16 __attribute__((overloadable)) degrees(float16);
extern float __attribute__((overloadable)) max(float, float);
extern float2 __attribute__((overloadable)) max(float2, float2);
extern float3 __attribute__((overloadable)) max(float3, float3);
extern float4 __attribute__((overloadable)) max(float4, float4);
extern float8 __attribute__((overloadable)) max(float8, float8);
extern float16 __attribute__((overloadable)) max(float16, float16);
extern float2 __attribute__((overloadable)) max(float2, float);
extern float3 __attribute__((overloadable)) max(float3, float);
extern float4 __attribute__((overloadable)) max(float4, float);
extern float8 __attribute__((overloadable)) max(float8, float);
extern float16 __attribute__((overloadable)) max(float16, float);
extern float __attribute__((overloadable)) min(float, float);
extern float2 __attribute__((overloadable)) min(float2, float2);
extern float3 __attribute__((overloadable)) min(float3, float3);
extern float4 __attribute__((overloadable)) min(float4, float4);
extern float8 __attribute__((overloadable)) min(float8, float8);
extern float16 __attribute__((overloadable)) min(float16, float16);
extern float2 __attribute__((overloadable)) min(float2, float);
extern float3 __attribute__((overloadable)) min(float3, float);
extern float4 __attribute__((overloadable)) min(float4, float);
extern float8 __attribute__((overloadable)) min(float8, float);
extern float16 __attribute__((overloadable)) min(float16, float);
extern float __attribute__((overloadable)) mix(float, float, float);
extern float2 __attribute__((overloadable)) mix(float2, float2, float2);
extern float3 __attribute__((overloadable)) mix(float3, float3, float3);
extern float4 __attribute__((overloadable)) mix(float4, float4, float4);
extern float8 __attribute__((overloadable)) mix(float8, float8, float8);
extern float16 __attribute__((overloadable)) mix(float16, float16, float16);
extern float2 __attribute__((overloadable)) mix(float2, float2, float);
extern float3 __attribute__((overloadable)) mix(float3, float3, float);
extern float4 __attribute__((overloadable)) mix(float4, float4, float);
extern float8 __attribute__((overloadable)) mix(float8, float8, float);
extern float16 __attribute__((overloadable)) mix(float16, float16, float);
extern float __attribute__((overloadable)) radians(float);
extern float2 __attribute__((overloadable)) radians(float2);
extern float3 __attribute__((overloadable)) radians(float3);
extern float4 __attribute__((overloadable)) radians(float4);
extern float8 __attribute__((overloadable)) radians(float8);
extern float16 __attribute__((overloadable)) radians(float16);
extern float __attribute__((overloadable)) step(float, float);
extern float2 __attribute__((overloadable)) step(float2, float2);
extern float3 __attribute__((overloadable)) step(float3, float3);
extern float4 __attribute__((overloadable)) step(float4, float4);
extern float8 __attribute__((overloadable)) step(float8, float8);
extern float16 __attribute__((overloadable)) step(float16, float16);
extern float2 __attribute__((overloadable)) step(float, float2);
extern float3 __attribute__((overloadable)) step(float, float3);
extern float4 __attribute__((overloadable)) step(float, float4);
extern float8 __attribute__((overloadable)) step(float, float8);
extern float16 __attribute__((overloadable)) step(float, float16);
extern float __attribute__((overloadable)) smoothstep(float, float, float);
extern float2 __attribute__((overloadable)) smoothstep(float2, float2, float2);
extern float3 __attribute__((overloadable)) smoothstep(float3, float3, float3);
extern float4 __attribute__((overloadable)) smoothstep(float4, float4, float4);
extern float8 __attribute__((overloadable)) smoothstep(float8, float8, float8);
extern float16 __attribute__((overloadable)) smoothstep(float16, float16, float16);
extern float2 __attribute__((overloadable)) smoothstep(float, float, float2);
extern float3 __attribute__((overloadable)) smoothstep(float, float, float3);
extern float4 __attribute__((overloadable)) smoothstep(float, float, float4);
extern float8 __attribute__((overloadable)) smoothstep(float, float, float8);
extern float16 __attribute__((overloadable)) smoothstep(float, float, float16);
extern float __attribute__((overloadable)) sign(float);
extern float2 __attribute__((overloadable)) sign(float2);
extern float3 __attribute__((overloadable)) sign(float3);
extern float4 __attribute__((overloadable)) sign(float4);
extern float8 __attribute__((overloadable)) sign(float8);
extern float16 __attribute__((overloadable)) sign(float16);
// 6.11.5
extern float3 __attribute__((overloadable)) cross(float2, float2);
extern float3 __attribute__((overloadable)) cross(float3, float3);
extern float4 __attribute__((overloadable)) cross(float4, float4);
extern float __attribute__((overloadable)) dot(float, float);
extern float __attribute__((overloadable)) dot(float2, float2);
extern float __attribute__((overloadable)) dot(float3, float3);
extern float __attribute__((overloadable)) dot(float4, float4);
extern float __attribute__((overloadable)) distance(float, float);
extern float __attribute__((overloadable)) distance(float2, float2);
extern float __attribute__((overloadable)) distance(float3, float3);
extern float __attribute__((overloadable)) distance(float4, float4);
extern float __attribute__((overloadable)) length(float);
extern float __attribute__((overloadable)) length(float2);
extern float __attribute__((overloadable)) length(float3);
extern float __attribute__((overloadable)) length(float4);
extern float __attribute__((overloadable)) normalize(float);
extern float2 __attribute__((overloadable)) normalize(float2);
extern float3 __attribute__((overloadable)) normalize(float3);
extern float4 __attribute__((overloadable)) normalize(float4);
// RS specific functions
extern float randf(float);
extern float randf2(float, float);
extern float mapf(float, float, float, float, float);
extern float __attribute__((overloadable)) frac(float);
extern void debugP(int, void *);
extern void debugPi(int, int);
extern void debugPf(int, float);
extern void debugF(const char *, float);
extern void debugI32(const char *, int);
extern void debugHexI32(const char *, int);
extern void matrixLoadIdentity(void *mat);
extern void matrixLoadFloat(void *mat, const float *f);
extern void matrixLoadMat(void *mat, const void *newmat);
extern void matrixLoadRotate(void *mat, float rot, float x, float y, float z);
extern void matrixLoadScale(void *mat, float x, float y, float z);
extern void matrixLoadTranslate(void *mat, float x, float y, float z);
extern void matrixLoadMultiply(void *mat, const void *lhs, const void *rhs);
extern void matrixMultiply(void *mat, const void *rhs);
extern void matrixRotate(void *mat, float rot, float x, float y, float z);
extern void matrixScale(void *mat, float x, float y, float z);
extern void matrixTranslate(void *mat, float x, float y, float z);