OLD | NEW |
1 #ifndef TEST_ARITH_DEF | 1 #ifndef TEST_ARITH_DEF |
2 #define TEST_ARITH_DEF | 2 #define TEST_ARITH_DEF |
3 | 3 |
4 #define XSTR(s) STR(s) | 4 #define XSTR(s) STR(s) |
5 #define STR(s) #s | 5 #define STR(s) #s |
6 | 6 |
7 #define UINTOP_TABLE \ | 7 #define UINTOP_TABLE \ |
8 /* inst, operator, div */ \ | 8 /* inst, operator, div */ \ |
9 X(Add, +, 0 ) \ | 9 X(Add, +, 0 ) \ |
10 X(Sub, -, 0 ) \ | 10 X(Sub, -, 0 ) \ |
(...skipping 24 matching lines...) Expand all Loading... |
35 X(Frem, COMMA, myFrem) \ | 35 X(Frem, COMMA, myFrem) \ |
36 //#define X(inst, op, func) | 36 //#define X(inst, op, func) |
37 | 37 |
38 // Note: The above definition of COMMA, plus the "func" argument to | 38 // Note: The above definition of COMMA, plus the "func" argument to |
39 // the X macro, are because C++ does not allow the % operator on | 39 // the X macro, are because C++ does not allow the % operator on |
40 // floating-point primitive types. To work around this, the expansion | 40 // floating-point primitive types. To work around this, the expansion |
41 // is "func(a infix_op b)", which becomes "myFrem(a , b)" for the Frem | 41 // is "func(a infix_op b)", which becomes "myFrem(a , b)" for the Frem |
42 // instruction and "(a + b)" for the Fadd instruction. The two | 42 // instruction and "(a + b)" for the Fadd instruction. The two |
43 // versions of myFrem() are defined in a separate bitcode file. | 43 // versions of myFrem() are defined in a separate bitcode file. |
44 | 44 |
| 45 #define INT_VALUE_ARRAY \ |
| 46 { 0x0, 0x1, 0x7ffffffe, 0x7fffffff, \ |
| 47 0x80000000, 0x80000001, 0xfffffffe, 0xffffffff, \ |
| 48 0x7e, 0x7f, 0x80, 0x81, \ |
| 49 0xfe, 0xff, 0x100, 0x101, \ |
| 50 0x7ffe, 0x7fff, 0x8000, 0x8001, \ |
| 51 0xfffe, 0xffff, 0x10000, 0x10001 } |
| 52 |
| 53 #define FP_VALUE_ARRAY(NegInf, PosInf, NegNan, NaN) \ |
| 54 { 0, 1, 0x7e, \ |
| 55 0x7f, 0x80, 0x81, \ |
| 56 0xfe, 0xff, 0x7ffe, \ |
| 57 0x7fff, 0x8000, 0x8001, \ |
| 58 0xfffe, 0xffff, 0x7ffffffe, \ |
| 59 0x7fffffff, 0x80000000, 0x80000001, \ |
| 60 0xfffffffe, 0xffffffff, 0x100000000ll, \ |
| 61 0x100000001ll, 0x7ffffffffffffffell, 0x7fffffffffffffffll, \ |
| 62 0x8000000000000000ll, 0x8000000000000001ll, 0xfffffffffffffffell, \ |
| 63 0xffffffffffffffffll, NegInf, PosInf, \ |
| 64 Nan, NegNan, -0.0, \ |
| 65 FLT_MIN, FLT_MAX, DBL_MIN, \ |
| 66 DBL_MAX } |
| 67 |
45 #endif // TEST_ARITH_DEF | 68 #endif // TEST_ARITH_DEF |
OLD | NEW |