1b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#include <stdio.h>
2b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#include "mul.h"
3b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#include "opcodes.h"
4b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
5b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovstatic void do_imm_insns(void)
6b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{
7b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	immsweep(mhi, 0);
8b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	immsweep(mhi, -1);
9b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	immsweep(mhi, -32768);
10b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	immsweep(mhi, 32767);
11b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	immsweep(mghi, 0);
12b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	immsweep(mghi, -1);
13b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	immsweep(mghi, -32768);
14b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	immsweep(mghi, 32767);
15b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}
16b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
17b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
18b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovstatic void do_regmem_insns(unsigned long m2)
19b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{
20b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	memsweep(m, m2);
21b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	regsweep(mr, m2);
22b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	memsweep(mh, m2);
23b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	memsweep(mlg, m2);
24b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	regsweep(mlgr, m2);
25b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	memsweep(ml, m2);
26b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	regsweep(mlr, m2);
27b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	memsweep(ms, m2);
28b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	regsweep(msr, m2);
29b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	memsweep(msg, m2);
30b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	regsweep(msgr, m2);
31b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	memsweep(msgf, m2);
32b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	regsweep(msgfr, m2);
33b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	msysweep(m2);
34b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}
35b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
36b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovint main()
37b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{
38b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_regmem_insns(0x0ul);
39b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_regmem_insns(0x7ffffffffffffffful);
40b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_regmem_insns(0x8000000000000000ul);
41b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_regmem_insns(0xfffffffffffffffful);
42b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_regmem_insns(0x7fffffff00000000ul);
43b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_regmem_insns(0x8000000000000000ul);
44b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_regmem_insns(0xffffffff00000000ul);
45b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_regmem_insns(0x000000007ffffffful);
46b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_regmem_insns(0x0000000080000000ul);
47b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_regmem_insns(0x00000000fffffffful);
48b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_regmem_insns(0x000000000000fffful);
49b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_regmem_insns(0x0000000000007ffful);
50b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_regmem_insns(0x0000000000008000ul);
51b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_regmem_insns(0x000000000000fffful);
52b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	do_imm_insns();
53b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov	return 0;
54b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}
55