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