psxmem: Add support for Lightrec's custom mem init sequence
[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