1 #pragma version(1) 2 #pragma rs java_package_name(foo) 3 4 uchar uc; 5 uchar2 uc2; 6 uchar3 uc3; 7 uchar4 uc4; 8 9 ushort us; 10 ushort2 us2; 11 ushort3 us3; 12 ushort4 us4; 13 14 uint ui; 15 uint2 ui2; 16 uint3 ui3; 17 uint4 ui4; 18 19 char c; 20 char2 c2; 21 char3 c3; 22 char4 c4; 23 24 short s; 25 short2 s2; 26 short3 s3; 27 short4 s4; 28 29 int i; 30 int2 i2; 31 int3 i3; 32 int4 i4; 33 34 float f; 35 float2 f2; 36 float3 f3; 37 float4 f4; 38 39 #define TEST4_1(ret, typ, fnc) \ 40 ret = fnc(typ); \ 41 ret##2 = fnc(typ##2); \ 42 ret##3 = fnc(typ##3); \ 43 ret##4 = fnc(typ##4); 44 45 #define TEST4_2(typ, fnc) \ 46 typ = fnc(typ, typ); \ 47 typ##2 = fnc(typ##2, typ##2); \ 48 typ##3 = fnc(typ##3, typ##3); \ 49 typ##4 = fnc(typ##4, typ##4); 50 51 #define TEST4_2S(typ, fnc) \ 52 typ = fnc(typ, typ); \ 53 typ##2 = fnc(typ##2, typ); \ 54 typ##3 = fnc(typ##3, typ); \ 55 typ##4 = fnc(typ##4, typ); 56 57 #define TEST_UIFUNC_1(fnc) \ 58 TEST4_1(uc, c, fnc); \ 59 TEST4_1(us, s, fnc); \ 60 TEST4_1(ui, i, fnc); 61 62 #define TEST_IFUNC_1(fnc) \ 63 TEST4_1(uc, uc, fnc); \ 64 TEST4_1(c, c, fnc); \ 65 TEST4_1(us, us, fnc); \ 66 TEST4_1(s, s, fnc); \ 67 TEST4_1(ui, ui, fnc); \ 68 TEST4_1(i, i, fnc); 69 70 #define TEST_IFUNC_2(fnc) \ 71 TEST4_2(uc, fnc); \ 72 TEST4_2(c, fnc); \ 73 TEST4_2(us, fnc); \ 74 TEST4_2(s, fnc); \ 75 TEST4_2(ui, fnc); \ 76 TEST4_2(f, fnc); \ 77 78 79 void compile_all_math_int_ops() { 80 TEST_UIFUNC_1(abs); 81 TEST_IFUNC_1(clz); 82 TEST_IFUNC_2(min); 83 TEST_IFUNC_2(max); 84 TEST4_2S(f, min); 85 TEST4_2S(f, max); 86 87 return; 88 } 89 90