1#include "macros.inc"
2
3test_suite b
4
5test bnone
6 movi a2, 0xa5a5ff00
7 movi a3, 0x5a5a00ff
8 bnone a2, a3, 1f
9 test_fail
101:
11 movi a2, 0xa5a5ff01
12 bnone a2, a3, 1f
13 j 2f
141:
15 test_fail
162:
17test_end
18
19test beq
20 movi a2, 0
21 movi a3, 0
22 beq a2, a3, 1f
23 test_fail
241:
25 movi a2, 1
26 beq a2, a3, 1f
27 j 2f
281:
29 test_fail
302:
31test_end
32
33test blt
34 movi a2, 6
35 movi a3, 7
36 blt a2, a3, 1f
37 test_fail
381:
39 movi a2, 0xffffffff
40 blt a2, a3, 1f
41 test_fail
421:
43 movi a2, 7
44 blt a2, a3, 1f
45 j 2f
461:
47 test_fail
482:
49test_end
50
51test bltu
52 movi a2, 6
53 movi a3, 7
54 bltu a2, a3, 1f
55 test_fail
561:
57 movi a2, 7
58 bltu a2, a3, 1f
59 j 2f
601:
61 test_fail
622:
63 movi a2, 0xffffffff
64 bltu a2, a3, 1f
65 j 2f
661:
67 test_fail
682:
69test_end
70
71test ball
72 movi a2, 0xa5a5ffa5
73 movi a3, 0xa5a5ff00
74 ball a2, a3, 1f
75 test_fail
761:
77 movi a2, 0xa5a5a5a5
78 ball a2, a3, 1f
79 j 2f
801:
81 test_fail
822:
83test_end
84
85test bbc
86 movi a2, 0xfffffffd
87#undef BIT
88
89#define BIT 0xfffffffe
90#else
91#define BIT 0xffffff01
92#endif
93 movi a3, BIT
94 bbc a2, a3, 1f
95 test_fail
961:
97 movi a2, 8
98#undef BIT
99
100#define BIT 0xfffffffc
101#else
102#define BIT 0xffffff03
103#endif
104 movi a3, BIT
105 bbc a2, a3, 1f
106 j 2f
1071:
108 test_fail
1092:
110test_end
111
112test bbci
113 movi a2, 0xfffdffff
114 bbci.l a2, 17, 1f
115 test_fail
1161:
117 movi a2, 0x00020000
118 bbci.l a2, 17, 1f
119 j 2f
1201:
121 test_fail
1222:
123test_end
124
125test bany
126 movi a2, 0xa5a5ff01
127 movi a3, 0x5a5a00ff
128 bany a2, a3, 1f
129 test_fail
1301:
131 movi a2, 0xa5a5ff00
132 bany a2, a3, 1f
133 j 2f
1341:
135 test_fail
1362:
137test_end
138
139test bne
140 movi a2, 1
141 movi a3, 0
142 bne a2, a3, 1f
143 test_fail
1441:
145 movi a2, 0
146 bne a2, a3, 1f
147 j 2f
1481:
149 test_fail
1502:
151test_end
152
153test bge
154 movi a2, 7
155 movi a3, 7
156 bge a2, a3, 1f
157 test_fail
1581:
159 movi a2, 6
160 bge a2, a3, 1f
161 j 2f
1621:
163 test_fail
1642:
165 movi a2, 0xffffffff
166 bge a2, a3, 1f
167 j 2f
1681:
169 test_fail
1702:
171test_end
172
173test bgeu
174 movi a2, 7
175 movi a3, 7
176 bgeu a2, a3, 1f
177 test_fail
1781:
179 movi a2, 0xffffffff
180 bgeu a2, a3, 1f
181 test_fail
1821:
183 movi a2, 6
184 bgeu a2, a3, 1f
185 j 2f
1861:
187 test_fail
1882:
189test_end
190
191test bnall
192 movi a2, 0xa5a5a5a5
193 movi a3, 0xa5a5ff00
194 bnall a2, a3, 1f
195 test_fail
1961:
197 movi a2, 0xa5a5ffa5
198 bnall a2, a3, 1f
199 j 2f
2001:
201 test_fail
2022:
203test_end
204
205test bbs
206 movi a2, 8
207#undef BIT
208
209#define BIT 0xfffffffc
210#else
211#define BIT 0xffffff03
212#endif
213 movi a3, BIT
214 bbs a2, a3, 1f
215 test_fail
2161:
217 movi a2, 0xfffffffd
218#undef BIT
219
220#define BIT 0xfffffffe
221#else
222#define BIT 0xffffff01
223#endif
224 movi a3, BIT
225 bbs a2, a3, 1f
226 j 2f
2271:
228 test_fail
2292:
230test_end
231
232test bbsi
233 movi a2, 0x00020000
234 bbsi.l a2, 17, 1f
235 test_fail
2361:
237 movi a2, 0xfffdffff
238 bbsi.l a2, 17, 1f
239 j 2f
2401:
241 test_fail
2422:
243test_end
244
245test_suite_end
246