1 #define OR(a,b) ((long)(a) | (long)(b))
3 long f1(long, long*, long*);
4 long f2(long, long*, long*);
5 long f3(long, long*, long*);
6 long f4(long, long*, long*);
7 long f5(long, long*, long*);
8 long f6(long, long*, long*);
9 long f7(long, long*, long*);
10 long f8(long, long*, long*);
11 long f9(long, long*, long*);
12 long f10(long, long*, long*);
13 long f11(long, long*, long*);
14 long f12(long, long*, long*);
15 long f13(long, long*, long*);
16 long f14(long, long*, long*);
17 long f15(long, long*, long*);
18 long f16(long, long*, long*);
19 long f17(long, long*, long*);
20 long f18(long, long*, long*);
21 long f19(long, long*, long*);
22 long f20(long, long*, long*);
23 long f21(long, long*, long*);
25 long muh[] = {0x05f05f, 0x223344};
26 long kuh[] = {0x00AACC, 0x563425};
28 RET( f1(5, muh, kuh) == OR( 4, 5) &&
29 f2(5, muh, kuh) == OR( muh[0], 0x55555555) &&
30 f3(5, muh, kuh) == OR( 0x55555555, kuh[1]) &&
31 f4(5, muh, kuh) == OR(muh[1]-kuh[0], muh[0]-kuh[1]) &&
32 f5(5, muh, kuh) == OR( 0, 5) &&
33 f6(5, muh, kuh) == OR( 5, 0) &&
34 f7(5, muh, kuh) == OR( muh, kuh) &&
35 f8(5, muh, kuh) == OR( 5, 0x112233) &&
36 f9(5, muh, kuh) == OR( 0x11EEEEFF, 5) &&
37 f10(5, muh, kuh) == OR( muh[0]-5, 6) &&
38 f11(5, muh, kuh) == OR( 7, kuh[1]-3) &&
39 f12(5, muh, kuh) == OR( muh[1]-3, kuh[0]) &&
40 f13(5, muh, kuh) == OR( muh[0], kuh[1]+3) &&
41 f14(5, muh, kuh) == OR( 5, muh[0]) &&
42 f15(5, muh, kuh) == OR( kuh[1], 5) &&
43 f16(5, muh, kuh) == OR( kuh[1], 0) &&
44 f17(5, muh, kuh) == OR( 0, muh[0]) &&
45 f18(5, muh, kuh) == OR( 0, 5) &&
46 f19(5, muh, kuh) == OR( 5, 0) &&
47 f20(5, muh, kuh) == OR( 0, kuh[0]) &&
48 f21(5, muh, kuh) == OR( muh[0], 0)