git subrepo pull (merge) --force deps/lightning
[pcsx_rearmed.git] / deps / lightning / check / alu_hmul.tst
1 #include "alu.inc"
2
3 .code
4         prolog
5 #define HMUL(N, I0, I1, V)              ALU(N, , hmul, I0, I1, V)
6 #define UHMUL(N, I0, I1, V)             ALU(N, _u, hmul, I0, I1, V)
7         HMUL(0, -2, -1, 0)
8         HMUL(1, 0, -1, 0)
9         HMUL(2, -1, 0, 0)
10         HMUL(3, 1, -1, -1)
11 #if __WORDSIZE == 32
12          HMUL(4, 0x7ffff, 0x7ffff, 0x3f)
13         UHMUL(5, 0xffffff, 0xffffff, 0xffff)
14          HMUL(6, 0x80000000, -2, 1)
15          HMUL(7, 0x80000000, 2, -1)
16          HMUL(8, 0x80000001, 3, -2)
17          HMUL(9, 0x80000001, -3, 1)
18 #else
19          HMUL(4, 0x7ffffffff, 0x7ffffffff, 0x3f)
20         UHMUL(5, 0xffffffffff, 0xffffffffff, 0xffff)
21          HMUL(6, 0x8000000000000000, -2, 1)
22          HMUL(7, 0x8000000000000000, 2, -1)
23          HMUL(8, 0x8000000000000001, 3, -2)
24          HMUL(9, 0x8000000000000001, -3, 1)
25 #endif
26         prepare
27                 pushargi ok
28                 ellipsis
29         finishi @printf
30         ret
31         epilog