Move input type selection to RETRO_ENVIRONMENT_SET_CONTROLLER_INFO
[pcsx_rearmed.git] / deps / lightning / check / alu_mul.tst
CommitLineData
4a71579b
PC
1#include "alu.inc"
2
3.code
4 prolog
5
6#define MUL(N, I0, I1, V) ALU(N, , mul, I0, I1, V)
7
8 MUL(0, 0x7fffffff, 1, 0x7fffffff)
9 MUL(1, 1, 0x7fffffff, 0x7fffffff)
10 MUL(2, 0x80000000, 1, 0x80000000)
11 MUL(3, 1, 0x80000000, 0x80000000)
12 MUL(4, 0x7fffffff, 2, 0xfffffffe)
13 MUL(5, 2, 0x7fffffff, 0xfffffffe)
14 MUL(6, 0x7fffffff, 0, 0)
15 MUL(7, 0, 0x7fffffff, 0)
16#if __WORDSIZE == 32
17 MUL(8, 0x80000000, 2, 0)
18 MUL(9, 2, 0x80000000, 0)
19 MUL(10, 0x7fffffff, 0x80000000, 0x80000000)
20 MUL(11, 0x80000000, 0x7fffffff, 0x80000000)
21 MUL(12, 0x7fffffff, 0xffffffff, 0x80000001)
22 MUL(13, 0xffffffff, 0x7fffffff, 0x80000001)
23 MUL(14, 0xffffffff, 0xffffffff, 1)
24#else
25 MUL(8, 0x80000000, 2, 0x100000000)
26 MUL(9, 2, 0x80000000, 0x100000000)
27 MUL(10, 0x7fffffff, 0x80000000, 0x3fffffff80000000)
28 MUL(11, 0x80000000, 0x7fffffff, 0x3fffffff80000000)
29 MUL(12, 0x7fffffff, 0xffffffff, 0x7ffffffe80000001)
30 MUL(13, 0xffffffff, 0x7fffffff, 0x7ffffffe80000001)
31 MUL(14, 0xffffffff, 0xffffffff, 0xfffffffe00000001)
32 MUL(15, 0x7fffffffffffffff, 1, 0x7fffffffffffffff)
33 MUL(16, 1, 0x7fffffffffffffff, 0x7fffffffffffffff)
34 MUL(17, 0x8000000000000000, 1, 0x8000000000000000)
35 MUL(18, 1, 0x8000000000000000, 0x8000000000000000)
36 MUL(19, 0x7fffffffffffffff, 2, 0xfffffffffffffffe)
37 MUL(20, 2, 0x7fffffffffffffff, 0xfffffffffffffffe)
38 MUL(21, 0x8000000000000000, 2, 0)
39 MUL(22, 2, 0x8000000000000000, 0)
40 MUL(23, 0x7fffffffffffffff, 0x8000000000000000, 0x8000000000000000)
41 MUL(24, 0x8000000000000000, 0x7fffffffffffffff, 0x8000000000000000)
42 MUL(25, 0x7fffffffffffffff, 0xffffffffffffffff, 0x8000000000000001)
43 MUL(26, 0xffffffffffffffff, 0x7fffffffffffffff, 0x8000000000000001)
44 MUL(27, 0xffffffffffffffff, 0xffffffffffffffff, 1)
45#endif
46
47#undef MUL
48#define MUL(N, T, I0, I1, V) FOP(N, T, mul, I0, I1, V)
49 MUL(0, _f, -0.5, 0.5, -0.25)
50 MUL(1, _f, 0.25, 0.75, 0.1875)
51 MUL(0, _d, -0.5, 0.5, -0.25)
52 MUL(1, _d, 0.25, 0.75, 0.1875)
53
54 prepare
55 pushargi ok
56 ellipsis
57 finishi @printf
58 ret
59 epilog