blob: 59ef57f915f2c076ce20eed0f6dfa66bb26c5a9e [file] [log] [blame]
#pragma version(1)
#pragma rs java_package_name(foo)
uchar uc;
uchar2 uc2;
uchar3 uc3;
uchar4 uc4;
ushort us;
ushort2 us2;
ushort3 us3;
ushort4 us4;
uint ui;
uint2 ui2;
uint3 ui3;
uint4 ui4;
char c;
char2 c2;
char3 c3;
char4 c4;
short s;
short2 s2;
short3 s3;
short4 s4;
int i;
int2 i2;
int3 i3;
int4 i4;
float f;
float2 f2;
float3 f3;
float4 f4;
#define TEST4_1(ret, typ, fnc) \
ret = fnc(typ); \
ret##2 = fnc(typ##2); \
ret##3 = fnc(typ##3); \
ret##4 = fnc(typ##4);
#define TEST4_2(typ, fnc) \
typ = fnc(typ, typ); \
typ##2 = fnc(typ##2, typ##2); \
typ##3 = fnc(typ##3, typ##3); \
typ##4 = fnc(typ##4, typ##4);
#define TEST4_2S(typ, fnc) \
typ = fnc(typ, typ); \
typ##2 = fnc(typ##2, typ); \
typ##3 = fnc(typ##3, typ); \
typ##4 = fnc(typ##4, typ);
#define TEST_UIFUNC_1(fnc) \
TEST4_1(uc, c, fnc); \
TEST4_1(us, s, fnc); \
TEST4_1(ui, i, fnc);
#define TEST_IFUNC_1(fnc) \
TEST4_1(uc, uc, fnc); \
TEST4_1(c, c, fnc); \
TEST4_1(us, us, fnc); \
TEST4_1(s, s, fnc); \
TEST4_1(ui, ui, fnc); \
TEST4_1(i, i, fnc);
#define TEST_IFUNC_2(fnc) \
TEST4_2(uc, fnc); \
TEST4_2(c, fnc); \
TEST4_2(us, fnc); \
TEST4_2(s, fnc); \
TEST4_2(ui, fnc); \
TEST4_2(f, fnc); \
void compile_all_math_int_ops() {
TEST_UIFUNC_1(abs);
TEST_IFUNC_1(clz);
TEST_IFUNC_2(min);
TEST_IFUNC_2(max);
TEST4_2S(f, min);
TEST4_2S(f, max);
return;
}