drc: implement cycle reload on read
[pcsx_rearmed.git] / deps / lightning / check / alu_sub.tst
1 #include "alu.inc"
2
3 .code
4         prolog
5
6 #define SUB(N, I0, I1, V)       ALU(N, , sub, I0, I1, V)
7
8         SUB(0,  0x7fffffff, 1,          0x7ffffffe)
9         SUB(2,  0x80000000, 1,          0x7fffffff)
10         SUB(3,  0x80000000, 0x7fffffff, 1)
11         SUB(4,  0xffffffff, 0xffffffff, 0)
12         SUB(5,  0xffffffff, 0x7fffffff, 0x80000000)
13         SUB(6,  0x7fffffff, 0,          0x7fffffff)
14 #if __WORDSIZE == 32
15         SUB(7,  1,          0x7fffffff, 0x80000002)
16         SUB(8,  1,          0x80000000, 0x80000001)
17         SUB(9,  0x7fffffff, 0x80000000, 0xffffffff)
18         SUB(10, 0x7fffffff, 0xffffffff, 0x80000000)
19         SUB(11, 0,          0x7fffffff, 0x80000001)
20 #else
21         SUB(7,  1,                  0x7fffffff,         0xffffffff80000002)
22         SUB(8,  1,                  0xffffffff80000000,         0x80000001)
23         SUB(9,  0x7fffffff,         0xffffffff80000000,         0xffffffff)
24         SUB(10, 0xffffffff7fffffff, 0xffffffffffffffff, 0xffffffff80000000)
25         SUB(11, 0,                  0x7fffffff,         0xffffffff80000001)
26         SUB(12, 0x7fffffffffffffff, 1,                  0x7ffffffffffffffe)
27         SUB(13, 1,                  0x7fffffffffffffff, 0x8000000000000002)
28         SUB(14, 0x8000000000000000, 1,                  0x7fffffffffffffff)
29         SUB(15, 1,                  0x8000000000000000, 0x8000000000000001)
30         SUB(16, 0x7fffffffffffffff, 0x8000000000000000, 0xffffffffffffffff)
31         SUB(17, 0x8000000000000000, 0x7fffffffffffffff, 1)
32         SUB(18, 0x7fffffffffffffff, 0xffffffffffffffff, 0x8000000000000000)
33         SUB(19, 0xffffffffffffffff, 0x7fffffffffffffff, 0x8000000000000000)
34         SUB(20, 0xffffffffffffffff, 0xffffffffffffffff, 0)
35 #endif
36
37 #undef SUB
38 #define SUB(N, T, I0, I1, V)    FOP(N, T, sub, I0, I1, V)
39         SUB(0, _f,      -0.5,       0.5,        -1.0)
40         SUB(1, _f,       0.25,      0.75,       -0.5)
41         SUB(0, _d,      -0.5,       0.5,        -1.0)
42         SUB(1, _d,       0.25,      0.75,       -0.5)
43
44         prepare
45                 pushargi ok
46                 ellipsis
47         finishi @printf
48         ret
49         epilog