1#include <stdio.h>
2#include "sub.h"
3#include "opcodes.h"
4
5static void do_regmem_insns(unsigned long s2)
6{
7	memsweep(s, s2, 0);
8	memsweep(sh, s2, 0);
9	memsweep(sg, s2, 0);
10	memsweep(sgf, s2, 0);
11	memsweep(sl, s2, 0);
12	memsweep(slg, s2, 0);
13	memsweep(sgf, s2, 0);
14	memsweep(slgf, s2, 0);
15	regsweep(sr, s2, 0);
16	regsweep(sgr, s2, 0);
17	regsweep(sgfr, s2, 0);
18	regsweep(slr, s2, 0);
19	regsweep(slgr, s2, 0);
20	regsweep(slgfr, s2, 0);
21	memsweep(slb, s2, 0);
22	memsweep(slbg, s2, 0);
23	regsweep(slbr, s2, 0);
24	regsweep(slbgr, s2, 0);
25	memsweep(slb, s2, 1);
26	memsweep(slbg, s2, 1);
27	regsweep(slbr, s2, 1);
28	regsweep(slbgr, s2, 1);
29	ldispsweep(SHY, s2, 0);
30	ldispsweep(SLY, s2, 0);
31	ldispsweep(SY, s2, 0);
32}
33
34int main()
35{
36	do_regmem_insns(0x0ul);
37	do_regmem_insns(0x7ffffffffffffffful);
38	do_regmem_insns(0x8000000000000000ul);
39	do_regmem_insns(0xfffffffffffffffful);
40	do_regmem_insns(0x7fffffff00000000ul);
41	do_regmem_insns(0x8000000000000000ul);
42	do_regmem_insns(0xffffffff00000000ul);
43	do_regmem_insns(0x000000007ffffffful);
44	do_regmem_insns(0x0000000080000000ul);
45	do_regmem_insns(0x00000000fffffffful);
46	do_regmem_insns(0x000000000000fffful);
47	do_regmem_insns(0x0000000000007ffful);
48	do_regmem_insns(0x0000000000008000ul);
49	do_regmem_insns(0x000000000000fffful);
50
51	return 0;
52}
53