1b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj#include <stdio.h>
2b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj#include "mul.h"
3d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj#include "opcodes.h"
4b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj
5b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardjstatic void do_imm_insns(void)
6b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj{
7d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSFI,  00000000, 00000000);
8d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSFI,  ffffffff, ffffffff);
9d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSFI,  ffffffff, ffff8000);
10d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSFI,  00000000, 00007fff);
11d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSFI,  00000000, 00007fff);
12d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSFI,  00000000, 00007fff);
13d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSFI,  ffffffff, 80000000);
14d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSFI,  00000000, 7fffffff);
15d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSGFI, 00000000, 00000000);
16d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSGFI, ffffffff, ffffffff);
17d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSGFI, ffffffff, ffff8000);
18d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSGFI, 00000000, 00007fff);
19d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSGFI, 00000000, 00007fff);
20d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSGFI, 00000000, 00007fff);
21d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSGFI, ffffffff, 80000000);
22d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	ximmsweep(MSGFI, 00000000, 7fffffff);
23b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj
24b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj}
25b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj
26b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj
27b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardjstatic void do_regmem_insns(unsigned long m2)
28b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj{
29d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	mhysweep(m2);
30d50650d6cb0e3577ba28b470a4e5f5df8368afaasewardj	mfysweep(m2);
31b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj}
32b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj
33b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardjint main()
34b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj{
35b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_regmem_insns(0x0ul);
36b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_regmem_insns(0x7ffffffffffffffful);
37b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_regmem_insns(0x8000000000000000ul);
38b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_regmem_insns(0xfffffffffffffffful);
39b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_regmem_insns(0x7fffffff00000000ul);
40b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_regmem_insns(0x8000000000000000ul);
41b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_regmem_insns(0xffffffff00000000ul);
42b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_regmem_insns(0x000000007ffffffful);
43b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_regmem_insns(0x0000000080000000ul);
44b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_regmem_insns(0x00000000fffffffful);
45b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_regmem_insns(0x000000000000fffful);
46b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_regmem_insns(0x0000000000007ffful);
47b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_regmem_insns(0x0000000000008000ul);
48b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_regmem_insns(0x000000000000fffful);
49b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	do_imm_insns();
50b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj	return 0;
51b5b87408c0c99f9f6938d8cd921e2a5f420577c4sewardj}
52