sim: bfin: unify se_all helpers more
[deliverable/binutils-gdb.git] / sim / testsuite / sim / bfin / c_compi2opd_flags.S
CommitLineData
1d7b4a70
MF
1//Original:/proj/frio/dv/testcases/core/c_compi2opd_flags/c_compi2opd_flags.dsp
2// Spec Reference: compi2opd dregs += imm7 flags (az, an, ac, av0)
3# mach: bfin
4
5#include "test.h"
6.include "testutils.inc"
7 start
8
9 INIT_R_REGS 0;
10 ASTAT = R0; // initialize astat
11
12// AZ for R0
13 imm32 r0, 0x00000000;
14 R0 += 0; // az = 1 an = 0 ac = 0 av0 = 0
15 R7 = ASTAT;
16 R0 += 1; // az = 0 an = 0 ac = 0 av0 = 0
17 R6 = ASTAT;
18 R0 += -1; // az = 1 an = 0 ac = 1 av0 = 0
19 R5 = ASTAT;
20 R1 = R0;
21 R0 += -1; // az = 0 an = 1 ac = 0 av0 = 0
22 R4 = ASTAT;
23 R0 += 1; // az = 1 an = 0 ac = 1 av0 = 0
24 R3 = ASTAT;
25 CHECKREG r0, 0x00000000;
26 CHECKREG r1, 0x00000000;
27 CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
28 CHECKREG r4, (_AN);
29 CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
30 CHECKREG r6, 0x00000000;
31 CHECKREG r7, (_AZ);
32
33// AN, AC for R0
34 imm32 r0, 0xffffffff;
35 R0 += 1; // az = 1 an = 0 ac = 1 av0 = 0
36 R7 = ASTAT;
37 R1 = R0;
38 R0 += 0; // az = 1 an = 0 ac = 0 av0 = 0
39 R6 = ASTAT;
40 R0 += -1; // az = 0 an = 1 ac = 0 av0 = 0
41 R5 = ASTAT;
42 CHECKREG r0, 0xFFFFFFFF;
43 CHECKREG r1, 0x00000000;
44 CHECKREG r5, (_AN);
45 CHECKREG r6, (_AZ);
46 CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
47
48// AC, AV0 for R0
49 imm32 r0, 0x7fffffff;
50 R0 += 1; // az = 0 an = 1 ac = 0 av0 = 1
51 R7 = ASTAT;
52 R1 = R0;
53 R0 += -1; // az = 0 an = 0 ac = 1 av0 = 1
54 R6 = ASTAT;
55 R2 = R0;
56 R0 += -1; // az = 0 an = 0 ac = 1 av0 = 0
57 R5 = ASTAT;
58 CHECKREG r0, 0x7FFFFFFE;
59 CHECKREG r1, 0x80000000;
60 CHECKREG r2, 0x7FFFFFFF;
61 CHECKREG r5, (_VS|_AC0|_AC0_COPY);
62 CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); //C
63 CHECKREG r7, (_VS|_V|_V_COPY|_AN); // A
64
65// AZ, AN, AC, AV0 for R0
66 R0 = 0;
67 ASTAT = R0;
68 imm32 r0, 0x80000000;
69 R0 += -1; // az = 0 an = 0 ac = 1 av0 = 1
70 R7 = ASTAT;
71 R1 = R0;
72 R0 += 1; // az = 1 an = 1 ac = 0 av0 = 1
73 R6 = ASTAT;
74 R2 = R0;
75 R0 += 1; // az = 0 an = 1 ac = 0 av0 = 0
76 R5 = ASTAT;
77 CHECKREG r0, 0x80000001;
78 CHECKREG r1, 0x7FFFFFFF;
79 CHECKREG r2, 0x80000000;
80 CHECKREG r5, (_VS|_AN);
81 CHECKREG r6, (_VS|_V|_V_COPY|_AN);
82 CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
83
84// AZ for R0
85 R1 = 0;
86 ASTAT = R1;
87 imm32 r1, 0x00000000;
88 R1 += 0; // az = 1 an = 0 ac = 0 av0 = 0
89 R7 = ASTAT;
90 R1 += 1; // az = 0 an = 0 ac = 0 av0 = 0
91 R6 = ASTAT;
92 R1 += -1; // az = 1 an = 0 ac = 1 av0 = 0
93 R5 = ASTAT;
94 R0 = R1;
95 R1 += -1; // az = 0 an = 1 ac = 0 av0 = 0
96 R4 = ASTAT;
97 R1 += 1; // az = 1 an = 0 ac = 1 av0 = 0
98 R3 = ASTAT;
99 CHECKREG r0, 0x00000000;
100 CHECKREG r1, 0x00000000;
101 CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
102 CHECKREG r4, (_AN);
103 CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
104 CHECKREG r6, 0x00000000;
105 CHECKREG r7, (_AZ);
106
107// AN, AC for R1
108 imm32 r1, 0xffffffff;
109 R1 += 1; // az = 1 an = 0 ac = 1 av0 = 0
110 R7 = ASTAT;
111 R0 = R1;
112 R1 += 0; // az = 1 an = 0 ac = 0 av0 = 0
113 R6 = ASTAT;
114 R1 += -1; // az = 0 an = 1 ac = 0 av0 = 0
115 R5 = ASTAT;
116 CHECKREG r0, 0x00000000;
117 CHECKREG r1, 0xFFFFFFFF;
118 CHECKREG r5, (_AN);
119 CHECKREG r6, (_AZ);
120 CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
121
122// AC, AV0 for R1
123 imm32 r1, 0x7fffffff;
124 R1 += 1; // az = 0 an = 1 ac = 0 av0 = 1
125 R7 = ASTAT;
126 R0 = R1;
127 R1 += -1; // az = 0 an = 0 ac = 1 av0 = 1
128 R6 = ASTAT;
129 R2 = R1;
130 R1 += -1; // az = 0 an = 0 ac = 1 av0 = 0
131 R5 = ASTAT;
132 CHECKREG r0, 0x80000000;
133 CHECKREG r1, 0x7FFFFFFE;
134 CHECKREG r2, 0x7FFFFFFF;
135 CHECKREG r5, (_VS|_AC0|_AC0_COPY);
136 CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
137 CHECKREG r7, (_VS|_V|_V_COPY|_AN);
138
139// AZ, AN, AC, AV0 for R1
140 R1 = 0;
141 ASTAT = R1;
142 imm32 r1, 0x80000000;
143 R1 += -1; // az = 0 an = 0 ac = 1 av0 = 1
144 R7 = ASTAT;
145 R0 = R1;
146 R1 += 1; // az = 1 an = 1 ac = 0 av0 = 1
147 R6 = ASTAT;
148 R2 = R1;
149 R1 += 1; // az = 0 an = 1 ac = 0 av0 = 0
150 R5 = ASTAT;
151 CHECKREG r0, 0x7FFFFFFF;
152 CHECKREG r1, 0x80000001;
153 CHECKREG r2, 0x80000000;
154 CHECKREG r5, (_VS|_AN);
155 CHECKREG r6, (_VS|_V|_V_COPY|_AN);
156 CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
157
158// AZ for R2
159 imm32 r2, 0x00000000;
160 ASTAT = R2;
161 R2 += 0; // az = 1 an = 0 ac = 0 av0 = 0
162 R7 = ASTAT;
163 R2 += 1; // az = 0 an = 0 ac = 0 av0 = 0
164 R6 = ASTAT;
165 R2 += -1; // az = 1 an = 0 ac = 1 av0 = 0
166 R5 = ASTAT;
167 R1 = R2;
168 R2 += -1; // az = 0 an = 1 ac = 0 av0 = 0
169 R4 = ASTAT;
170 R2 += 1; // az = 1 an = 0 ac = 1 av0 = 0
171 R3 = ASTAT;
172 CHECKREG r1, 0x00000000;
173 CHECKREG r2, 0x00000000;
174 CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
175 CHECKREG r4, (_AN);
176 CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
177 CHECKREG r6, 0x00000000;
178 CHECKREG r7, (_AZ);
179
180// AN, AC for R2
181 imm32 r2, 0xffffffff;
182 R2 += 1; // az = 1 an = 0 ac = 1 av0 = 0
183 R7 = ASTAT;
184 R1 = R2;
185 R2 += 0; // az = 1 an = 0 ac = 0 av0 = 0
186 R6 = ASTAT;
187 R2 += -1; // az = 0 an = 1 ac = 0 av0 = 0
188 R5 = ASTAT;
189 CHECKREG r2, 0xFFFFFFFF;
190 CHECKREG r1, 0x00000000;
191 CHECKREG r5, (_AN);
192 CHECKREG r6, (_AZ);
193 CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
194
195// AC, AV0 for R2
196 imm32 r2, 0x7fffffff;
197 R2 += 1; // az = 0 an = 1 ac = 0 av0 = 1
198 R7 = ASTAT;
199 R0 = R2;
200 R2 += -1; // az = 0 an = 0 ac = 1 av0 = 1
201 R6 = ASTAT;
202 R1 = R2;
203 R2 += -1; // az = 0 an = 0 ac = 1 av0 = 0
204 R5 = ASTAT;
205 CHECKREG r0, 0x80000000;
206 CHECKREG r1, 0x7FFFFFFF;
207 CHECKREG r2, 0x7FFFFFFE;
208 CHECKREG r5, (_VS|_AC0|_AC0_COPY);
209 CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
210 CHECKREG r7, (_VS|_V|_V_COPY|_AN);
211
212// AZ, AN, AC, AV0 for R2
213 R2 = 0;
214 ASTAT = R2;
215 imm32 r2, 0x80000000;
216 R2 += -1; // az = 0 an = 0 ac = 1 av0 = 1
217 R7 = ASTAT;
218 R0 = R2;
219 R2 += 1; // az = 1 an = 1 ac = 0 av0 = 1
220 R6 = ASTAT;
221 R1 = R2;
222 R2 += 1; // az = 0 an = 1 ac = 0 av0 = 0
223 R5 = ASTAT;
224 CHECKREG r0, 0x7FFFFFFF;
225 CHECKREG r1, 0x80000000;
226 CHECKREG r2, 0x80000001;
227 CHECKREG r5, (_VS|_AN);
228 CHECKREG r6, (_VS|_V|_V_COPY|_AN);
229 CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
230
231// AZ for R3
232 imm32 r3, 0x00000000;
233 ASTAT = R3;
234 R3 += 0; // az = 1 an = 0 ac = 0 av0 = 0
235 R7 = ASTAT;
236 R3 += 1; // az = 0 an = 0 ac = 0 av0 = 0
237 R6 = ASTAT;
238 R3 += -1; // az = 1 an = 0 ac = 1 av0 = 0
239 R5 = ASTAT;
240 R0 = R3;
241 R3 += -1; // az = 0 an = 1 ac = 0 av0 = 0
242 R4 = ASTAT;
243 R3 += 1; // az = 1 an = 0 ac = 1 av0 = 0
244 R2 = ASTAT;
245 CHECKREG r0, 0x00000000;
246 CHECKREG r2, (_AC0|_AC0_COPY|_AZ);
247 CHECKREG r3, 0x00000000;
248 CHECKREG r4, (_AN);
249 CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
250 CHECKREG r6, 0x00000000;
251 CHECKREG r7, (_AZ);
252
253// AN, AC for R3
254 imm32 r3, 0xffffffff;
255 R3 += 1; // az = 1 an = 0 ac = 1 av0 = 0
256 R7 = ASTAT;
257 R0 = R3;
258 R3 += 0; // az = 1 an = 0 ac = 0 av0 = 0
259 R6 = ASTAT;
260 R3 += -1; // az = 0 an = 1 ac = 0 av0 = 0
261 R5 = ASTAT;
262 CHECKREG r0, 0x00000000;
263 CHECKREG r3, 0xFFFFFFFF;
264 CHECKREG r5, (_AN);
265 CHECKREG r6, (_AZ);
266 CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
267
268// AC, AV0 for R3
269 imm32 r3, 0x7fffffff;
270 R3 += 1; // az = 0 an = 1 ac = 0 av0 = 1
271 R7 = ASTAT;
272 R0 = R3;
273 R3 += -1; // az = 0 an = 0 ac = 1 av0 = 1
274 R6 = ASTAT;
275 R1 = R3;
276 R3 += -1; // az = 0 an = 0 ac = 1 av0 = 0
277 R5 = ASTAT;
278 CHECKREG r0, 0x80000000;
279 CHECKREG r1, 0x7FFFFFFF;
280 CHECKREG r3, 0x7FFFFFFE;
281 CHECKREG r5, (_VS|_AC0|_AC0_COPY);
282 CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
283 CHECKREG r7, (_VS|_V|_V_COPY|_AN);
284
285// AZ, AN, AC, AV0 for R3
286 R3 = 0;
287 ASTAT = R3;
288 imm32 r3, 0x80000000;
289 R3 += -1; // az = 0 an = 0 ac = 1 av0 = 1
290 R7 = ASTAT;
291 R0 = R3;
292 R3 += 1; // az = 1 an = 1 ac = 0 av0 = 1
293 R6 = ASTAT;
294 R1 = R3;
295 R3 += 1; // az = 0 an = 1 ac = 0 av0 = 0
296 R5 = ASTAT;
297 CHECKREG r0, 0x7FFFFFFF;
298 CHECKREG r1, 0x80000000;
299 CHECKREG r3, 0x80000001;
300 CHECKREG r5, (_VS|_AN);
301 CHECKREG r6, (_VS|_V|_V_COPY|_AN);
302 CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
303
304// AZ for R4
305 imm32 r4, 0x00000000;
306 ASTAT = R4;
307 R4 += 0; // az = 1 an = 0 ac = 0 av0 = 0
308 R7 = ASTAT;
309 R4 += 1; // az = 0 an = 0 ac = 0 av0 = 0
310 R6 = ASTAT;
311 R4 += -1; // az = 1 an = 0 ac = 1 av0 = 0
312 R5 = ASTAT;
313 R1 = R4;
314 R4 += -1; // az = 0 an = 1 ac = 0 av0 = 0
315 R3 = ASTAT;
316 R4 += 1; // az = 1 an = 0 ac = 1 av0 = 0
317 R2 = ASTAT;
318 CHECKREG r1, 0x00000000;
319 CHECKREG r2, (_AC0|_AC0_COPY|_AZ);
320 CHECKREG r3, (_AN);
321 CHECKREG r4, 0x00000000;
322 CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
323 CHECKREG r6, 0x00000000;
324 CHECKREG r7, (_AZ);
325
326// AN, AC for R4
327 imm32 r4, 0xffffffff;
328 R4 += 1; // az = 1 an = 0 ac = 1 av0 = 0
329 R7 = ASTAT;
330 R1 = R4;
331 R4 += 0; // az = 1 an = 0 ac = 0 av0 = 0
332 R6 = ASTAT;
333 R4 += -1; // az = 0 an = 1 ac = 0 av0 = 0
334 R5 = ASTAT;
335 CHECKREG r1, 0x00000000;
336 CHECKREG r4, 0xFFFFFFFF;
337 CHECKREG r5, (_AN);
338 CHECKREG r6, (_AZ);
339 CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
340
341// AC, AV0 for R4
342 imm32 r4, 0x7fffffff;
343 R4 += 1; // az = 0 an = 1 ac = 0 av0 = 1
344 R7 = ASTAT;
345 R1 = R4;
346 R4 += -1; // az = 0 an = 0 ac = 1 av0 = 1
347 R6 = ASTAT;
348 R2 = R4;
349 R4 += -1; // az = 0 an = 0 ac = 1 av0 = 0
350 R5 = ASTAT;
351 CHECKREG r1, 0x80000000;
352 CHECKREG r2, 0x7FFFFFFF;
353 CHECKREG r4, 0x7FFFFFFE;
354 CHECKREG r5, (_VS|_AC0|_AC0_COPY);
355 CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
356 CHECKREG r7, (_VS|_V|_V_COPY|_AN);
357
358// AZ, AN, AC, AV0 for R4
359 R4 = 0;
360 ASTAT = R4;
361 imm32 r4, 0x80000000;
362 R4 += -1; // az = 0 an = 0 ac = 1 av0 = 1
363 R7 = ASTAT;
364 R1 = R4;
365 R4 += 1; // az = 1 an = 1 ac = 0 av0 = 1
366 R6 = ASTAT;
367 R2 = R4;
368 R4 += 1; // az = 0 an = 1 ac = 0 av0 = 0
369 R5 = ASTAT;
370 CHECKREG r1, 0x7FFFFFFF;
371 CHECKREG r2, 0x80000000;
372 CHECKREG r4, 0x80000001;
373 CHECKREG r5, (_VS|_AN);
374 CHECKREG r6, (_VS|_V|_V_COPY|_AN);
375 CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
376
377// AZ for R5
378 imm32 r5, 0x00000000;
379 ASTAT = R5;
380 R5 += 0; // az = 1 an = 0 ac = 0 av0 = 0
381 R7 = ASTAT;
382 R5 += 1; // az = 0 an = 0 ac = 0 av0 = 0
383 R6 = ASTAT;
384 R5 += -1; // az = 1 an = 0 ac = 1 av0 = 0
385 R2 = ASTAT;
386 R0 = R5;
387 R5 += -1; // az = 0 an = 1 ac = 0 av0 = 0
388 R4 = ASTAT;
389 R5 += 1; // az = 1 an = 0 ac = 1 av0 = 0
390 R3 = ASTAT;
391 CHECKREG r0, 0x00000000;
392 CHECKREG r2, (_AC0|_AC0_COPY|_AZ);
393 CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
394 CHECKREG r4, (_AN);
395 CHECKREG r5, 0x00000000;
396 CHECKREG r6, 0x00000000;
397 CHECKREG r7, (_AZ);
398
399// AN, AC for R5
400 imm32 r5, 0xffffffff;
401 R5 += 1; // az = 1 an = 0 ac = 1 av0 = 0
402 R7 = ASTAT;
403 R0 = R5;
404 R5 += 0; // az = 1 an = 0 ac = 0 av0 = 0
405 R6 = ASTAT;
406 R5 += -1; // az = 0 an = 1 ac = 0 av0 = 0
407 R4 = ASTAT;
408 CHECKREG r0, 0x00000000;
409 CHECKREG r4, (_AN);
410 CHECKREG r5, 0xFFFFFFFF;
411 CHECKREG r6, (_AZ);
412 CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
413
414// AC, AV0 for R5
415 imm32 r5, 0x7fffffff;
416 R5 += 1; // az = 0 an = 1 ac = 0 av0 = 1
417 R7 = ASTAT;
418 R0 = R5;
419 R5 += -1; // az = 0 an = 0 ac = 1 av0 = 1
420 R6 = ASTAT;
421 R2 = R5;
422 R5 += -1; // az = 0 an = 0 ac = 1 av0 = 0
423 R4 = ASTAT;
424 CHECKREG r0, 0x80000000;
425 CHECKREG r2, 0x7FFFFFFF;
426 CHECKREG r4, (_VS|_AC0|_AC0_COPY);
427 CHECKREG r5, 0x7FFFFFFE;
428 CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
429 CHECKREG r7, (_VS|_V|_V_COPY|_AN);
430
431// AZ, AN, AC, AV0 for R5
432 R5 = 0;
433 ASTAT = R5;
434 imm32 r5, 0x80000000;
435 R5 += -1; // az = 0 an = 0 ac = 1 av0 = 1
436 R7 = ASTAT;
437 R0 = R5;
438 R5 += 1; // az = 1 an = 1 ac = 0 av0 = 1
439 R6 = ASTAT;
440 R2 = R5;
441 R5 += 1; // az = 0 an = 1 ac = 0 av0 = 0
442 R4 = ASTAT;
443 CHECKREG r0, 0x7FFFFFFF;
444 CHECKREG r2, 0x80000000;
445 CHECKREG r4, (_VS|_AN);
446 CHECKREG r5, 0x80000001;
447 CHECKREG r6, (_VS|_V|_V_COPY|_AN);
448 CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
449
450// AZ for R6
451 imm32 r6, 0x00000000;
452 ASTAT = R6;
453 R6 += 0; // az = 1 an = 0 ac = 0 av0 = 0
454 R7 = ASTAT;
455 R6 += 1; // az = 0 an = 0 ac = 0 av0 = 0
456 R0 = ASTAT;
457 R6 += -1; // az = 1 an = 0 ac = 1 av0 = 0
458 R5 = ASTAT;
459 R1 = R6;
460 R6 += -1; // az = 0 an = 1 ac = 0 av0 = 0
461 R4 = ASTAT;
462 R6 += 1; // az = 1 an = 0 ac = 1 av0 = 0
463 R3 = ASTAT;
464 CHECKREG r0, 0x00000000;
465 CHECKREG r1, 0x00000000;
466 CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
467 CHECKREG r4, (_AN);
468 CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
469 CHECKREG r6, 0x00000000;
470 CHECKREG r7, (_AZ);
471
472// AN, AC for R6
473 imm32 r6, 0xffffffff;
474 R6 += 1; // az = 1 an = 0 ac = 1 av0 = 0
475 R7 = ASTAT;
476 R1 = R6;
477 R6 += 0; // az = 1 an = 0 ac = 0 av0 = 0
478 R4 = ASTAT;
479 R6 += -1; // az = 0 an = 1 ac = 0 av0 = 0
480 R5 = ASTAT;
481 CHECKREG r1, 0x00000000;
482 CHECKREG r4, (_AZ);
483 CHECKREG r5, (_AN);
484 CHECKREG r6, 0xFFFFFFFF;
485 CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
486
487// AC, AV0 for R6
488 R6 = 0;
489 ASTAT = R6;
490 imm32 r6, 0x7fffffff;
491 R6 += 1; // az = 0 an = 1 ac = 0 av0 = 1
492 R7 = ASTAT;
493 R0 = R6;
494 R6 += -1; // az = 0 an = 0 ac = 1 av0 = 1
495 R4 = ASTAT;
496 R1 = R6;
497 R6 += -1; // az = 0 an = 0 ac = 1 av0 = 0
498 R5 = ASTAT;
499 CHECKREG r0, 0x80000000;
500 CHECKREG r1, 0x7FFFFFFF;
501 CHECKREG r4, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
502 CHECKREG r5, (_VS|_AC0|_AC0_COPY);
503 CHECKREG r6, 0x7FFFFFFE;
504 CHECKREG r7, (_VS|_V|_V_COPY|_AN);
505
506// AZ, AN, AC, AV0 for R6
507 R6 = 0;
508 ASTAT = R6;
509 imm32 r6, 0x80000000;
510 R6 += -1; // az = 0 an = 0 ac = 1 av0 = 1
511 R7 = ASTAT;
512 R0 = R6;
513 R6 += 1; // az = 1 an = 1 ac = 0 av0 = 1
514 R4 = ASTAT;
515 R1 = R6;
516 R6 += 1; // az = 0 an = 1 ac = 0 av0 = 0
517 R5 = ASTAT;
518 CHECKREG r0, 0x7FFFFFFF;
519 CHECKREG r1, 0x80000000;
520 CHECKREG r4, (_VS|_V|_V_COPY|_AN);
521 CHECKREG r5, (_VS|_AN);
522 CHECKREG r6, 0x80000001;
523 CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
524
525// AZ for R7
526 imm32 r7, 0x00000000;
527 ASTAT = R7;
528 R7 += 0; // az = 1 an = 0 ac = 0 av0 = 0
529 R1 = ASTAT;
530 R7 += 1; // az = 0 an = 0 ac = 0 av0 = 0
531 R6 = ASTAT;
532 R7 += -1; // az = 1 an = 0 ac = 1 av0 = 0
533 R5 = ASTAT;
534 R0 = R7;
535 R7 += -1; // az = 0 an = 1 ac = 0 av0 = 0
536 R4 = ASTAT;
537 R7 += 1; // az = 1 an = 0 ac = 1 av0 = 0
538 R2 = ASTAT;
539 CHECKREG r0, 0x00000000;
540 CHECKREG r1, (_AZ);
541 CHECKREG r2, (_AC0|_AC0_COPY|_AZ);
542 CHECKREG r4, (_AN);
543 CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
544 CHECKREG r6, 0x00000000;
545 CHECKREG r7, 0x00000000;
546
547// AN, AC for R7
548 imm32 r7, 0xffffffff;
549 R7 += 1; // az = 1 an = 0 ac = 1 av0 = 0
550 R4 = ASTAT;
551 R0 = R7;
552 R7 += 0; // az = 1 an = 0 ac = 0 av0 = 0
553 R6 = ASTAT;
554 R7 += -1; // az = 0 an = 1 ac = 0 av0 = 0
555 R5 = ASTAT;
556 CHECKREG r0, 0x00000000;
557 CHECKREG r4, (_AC0|_AC0_COPY|_AZ);
558 CHECKREG r5, (_AN);
559 CHECKREG r6, (_AZ);
560 CHECKREG r7, 0xFFFFFFFF;
561
562// AC, AV0 for R7
563 R7 = 0;
564 ASTAT = R7;
565 imm32 r7, 0x7fffffff;
566 R7 += 1; // az = 0 an = 1 ac = 0 av0 = 1
567 R4 = ASTAT;
568 R0 = R7;
569 R7 += -1; // az = 0 an = 0 ac = 1 av0 = 1
570 R6 = ASTAT;
571 R1 = R7;
572 R7 += -1; // az = 0 an = 0 ac = 1 av0 = 0
573 R5 = ASTAT;
574 CHECKREG r0, 0x80000000;
575 CHECKREG r1, 0x7FFFFFFF;
576 CHECKREG r4, (_VS|_V|_V_COPY|_AN);
577 CHECKREG r5, (_VS|_AC0|_AC0_COPY);
578 CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
579 CHECKREG r7, 0x7FFFFFFE;
580
581// AZ, AN, AC, AV0 for R7
582 R7 = 0;
583 ASTAT = R7;
584 imm32 r7, 0x80000000;
585 R7 += -1; // az = 0 an = 0 ac = 1 av0 = 1
586 R4 = ASTAT;
587 R0 = R7;
588 R7 += 1; // az = 1 an = 1 ac = 0 av0 = 1
589 R6 = ASTAT;
590 R1 = R7;
591 R7 += 1; // az = 0 an = 1 ac = 0 av0 = 0
592 R5 = ASTAT;
593 CHECKREG r0, 0x7FFFFFFF;
594 CHECKREG r1, 0x80000000;
595 CHECKREG r4, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
596 CHECKREG r5, (_VS|_AN);
597 CHECKREG r6, (_VS|_V|_V_COPY|_AN);
598 CHECKREG r7, 0x80000001;
599
600 pass
This page took 0.196843 seconds and 4 git commands to generate.