* elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
[external/binutils.git] / sim / testsuite / sim / bfin / c_compi2opd_flags.S
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