1 #include <stdio.h>
2 #include "and.h"
3 #include "opcodes.h"
4
5 #define nihh(r1,i2) ".long 0xa5" #r1 "4" #i2 "\n\t"
6 #define nihl(r1,i2) ".long 0xa5" #r1 "5" #i2 "\n\t"
7 #define nilh(r1,i2) ".long 0xa5" #r1 "6" #i2 "\n\t"
8 #define nill(r1,i2) ".long 0xa5" #r1 "7" #i2 "\n\t"
9
do_imm_insns(void)10 static void do_imm_insns(void)
11 {
12 memimmsweep(ni, 0);
13 memimmsweep(ni, 255);
14 memimmsweep(ni, 128);
15 memimmsweep(ni, 0xaa);
16 memimmsweep(ni, 0x55);
17 niysweep(00);
18 niysweep(ff);
19 niysweep(80);
20 niysweep(aa);
21 niysweep(55);
22 immsweep(nihh, 0055);
23 immsweep(nihl, 0055);
24 immsweep(nilh, 0055);
25 immsweep(nill, 0055);
26 immsweep(nihh, 00aa);
27 immsweep(nihl, 00aa);
28 immsweep(nilh, 00aa);
29 immsweep(nill, 00aa);
30 immsweep(nihh, 00ff);
31 immsweep(nihl, 00ff);
32 immsweep(nilh, 00ff);
33 immsweep(nill, 00ff);
34 immsweep(nihh, 0000);
35 immsweep(nihl, 0000);
36 immsweep(nilh, 0000);
37 immsweep(nill, 0000);
38 immsweep(nihh, ffff);
39 immsweep(nihl, ffff);
40 immsweep(nilh, ffff);
41 immsweep(nill, ffff);
42 immsweep(nihh, aaaa);
43 immsweep(nihl, aaaa);
44 immsweep(nilh, aaaa);
45 immsweep(nill, aaaa);
46 immsweep(nihh, 5555);
47 immsweep(nihl, 5555);
48 immsweep(nilh, 5555);
49 immsweep(nill, 5555);
50 }
51
52
do_regmem_insns(unsigned long s2)53 static void do_regmem_insns(unsigned long s2)
54 {
55 memsweep(n, s2);
56 memsweep(ng, s2);
57 regsweep(nr, s2);
58 regsweep(ngr, s2);
59 nysweep(s2);
60 }
61
main()62 int main()
63 {
64 do_regmem_insns(0x0ul);
65 do_regmem_insns(0x5555555555555555ul);
66 do_regmem_insns(0xaaaaaaaaaaaaaaaaul);
67 do_regmem_insns(0x8000000000000000ul);
68 do_regmem_insns(0xfffffffffffffffful);
69 do_regmem_insns(0x7fffffff00000000ul);
70 do_regmem_insns(0x8000000000000000ul);
71 do_regmem_insns(0xaaaaaaaa00000000ul);
72 do_regmem_insns(0xffffffff00000000ul);
73 do_regmem_insns(0x000000007ffffffful);
74 do_regmem_insns(0x0000000080000000ul);
75 do_regmem_insns(0x0000000055555555ul);
76 do_regmem_insns(0x00000000fffffffful);
77 do_regmem_insns(0x000000000000fffful);
78 do_regmem_insns(0x0000000000007ffful);
79 do_regmem_insns(0x0000000000008000ul);
80 do_regmem_insns(0x000000000000fffful);
81
82 do_imm_insns();
83
84 return 0;
85 }
86