* elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
[external/binutils.git] / sim / testsuite / sim / bfin / c_cc2stat_cc_an.s
1 //Original:/testcases/core/c_cc2stat_cc_an/c_cc2stat_cc_an.dsp
2 // Spec Reference: cc2stat cc an
3 # mach: bfin
4
5 .include "testutils.inc"
6         start
7
8
9
10 imm32 r0, 0x00000000;
11 imm32 r1, 0x00000000;
12 imm32 r2, 0x00000000;
13 imm32 r3, 0x00000000;
14 imm32 r4, 0x00000000;
15 imm32 r5, 0x00000000;
16 imm32 r6, 0x00000000;
17 imm32 r7, 0x00000000;
18
19 // test CC = AN 0-0, 0-1, 1-0, 1-1
20 R7 = 0x00;
21 ASTAT = R7;     // cc = 0, AN = 0
22 CC = AN;        //
23 R0 = CC;        //
24
25 R7 = 0x02;
26 ASTAT = R7;     // cc = 0, AN = 1
27 CC = AN;        //
28 R1 = CC;        //
29
30 R7 = 0x20;
31 ASTAT = R7;     // cc = 1, AN = 0
32 CC = AN;        //
33 R2 = CC;        //
34
35 R7 = 0x22;
36 ASTAT = R7;     // cc = 1, AN = 1
37 CC = AN;        //
38 R3 = CC;        //
39
40 // test cc |= AN (0-0, 0-1, 1-0, 1-1)
41 R7 = 0x00;
42 ASTAT = R7;     // cc = 0, AN = 0
43 CC |= AN;       //
44 R4 = CC;        //
45
46 R7 = 0x02;
47 ASTAT = R7;     // cc = 0, AN = 1
48 CC |= AN;       //
49 R5 = CC;        //
50
51 R7 = 0x22;
52 ASTAT = R7;     // cc = 1, AN = 0
53 CC |= AN;       //
54 R6 = CC;        //
55
56 R7 = 0x22;
57 ASTAT = R7;     // cc = 1, AN = 1
58 CC |= AN;       //
59 R7 = CC;        //
60
61 CHECKREG r0, 0x00000000;
62 CHECKREG r1, 0x00000001;
63 CHECKREG r2, 0x00000000;
64 CHECKREG r3, 0x00000001;
65 CHECKREG r4, 0x00000000;
66 CHECKREG r5, 0x00000001;
67 CHECKREG r6, 0x00000001;
68 CHECKREG r7, 0x00000001;
69
70 // test CC &= AN (0-0, 0-1, 1-0, 1-1)
71 R7 = 0x00;
72 ASTAT = R7;     // cc = 0, AN = 0
73 CC &= AN;       //
74 R4 = CC;        //
75
76 R7 = 0x02;
77 ASTAT = R7;     // cc = 0, AN = 1
78 CC &= AN;       //
79 R5 = CC;        //
80
81 R7 = 0x20;
82 ASTAT = R7;     // cc = 1, AN = 0
83 CC &= AN;       //
84 R6 = CC;        //
85
86 R7 = 0x22;
87 ASTAT = R7;     // cc = 1, AN = 1
88 CC &= AN;       //
89 R7 = CC;        //
90
91 CHECKREG r0, 0x00000000;
92 CHECKREG r1, 0x00000001;
93 CHECKREG r2, 0x00000000;
94 CHECKREG r3, 0x00000001;
95 CHECKREG r4, 0x00000000;
96 CHECKREG r5, 0x00000000;
97 CHECKREG r6, 0x00000000;
98 CHECKREG r7, 0x00000001;
99
100 // test CC ^= AN (0-0, 0-1, 1-0, 1-1)
101 R7 = 0x00;
102 ASTAT = R7;     // cc = 0, AN = 0
103 CC ^= AN;       //
104 R4 = CC;        //
105
106 R7 = 0x02;
107 ASTAT = R7;     // cc = 0, AN = 1
108 CC ^= AN;       //
109 R5 = CC;        //
110
111 R7 = 0x20;
112 ASTAT = R7;     // cc = 1, AN = 0
113 CC ^= AN;       //
114 R6 = CC;        //
115
116 R7 = 0x22;
117 ASTAT = R7;     // cc = 1, AN = 1
118 CC ^= AN;       //
119 R7 = CC;        //
120
121
122 CHECKREG r0, 0x00000000;
123 CHECKREG r1, 0x00000001;
124 CHECKREG r2, 0x00000000;
125 CHECKREG r3, 0x00000001;
126 CHECKREG r4, 0x00000000;
127 CHECKREG r5, 0x00000001;
128 CHECKREG r6, 0x00000001;
129 CHECKREG r7, 0x00000000;
130
131 // test AN = CC 0-0, 0-1, 1-0, 1-1
132 R7 = 0x00;
133 ASTAT = R7;     // cc = 0, AN = 0
134 AN = CC;        //
135 R0 = ASTAT;     //
136
137 R7 = 0x02;
138 ASTAT = R7;     // cc = 0, AN = 1
139 AN = CC;        //
140 R1 = ASTAT;     //
141
142 R7 = 0x20;
143 ASTAT = R7;     // cc = 1, AN = 0
144 AN = CC;        //
145 R2 = ASTAT;     //
146
147 R7 = 0x22;
148 ASTAT = R7;     // cc = 1, AN = 1
149 AN = CC;        //
150 R3 = ASTAT;     //
151
152 // test AN |= CC (0-0, 0-1, 1-0, 1-1)
153 R7 = 0x00;
154 ASTAT = R7;     // cc = 0, AN = 0
155 AN |= CC;       //
156 R4 = ASTAT;     //
157
158 R7 = 0x02;
159 ASTAT = R7;     // cc = 0, AN = 1
160 AN |= CC;       //
161 R5 = ASTAT;     //
162
163 R7 = 0x20;
164 ASTAT = R7;     // cc = 1, AN = 0
165 AN |= CC;       //
166 R6 = ASTAT;     //
167
168 R7 = 0x22;
169 ASTAT = R7;     // cc = 1, AN = 1
170 AN |= CC;       //
171 R7 = ASTAT;     //
172
173 CHECKREG r0, 0x00000000;
174 CHECKREG r1, 0x00000000;
175 CHECKREG r2, 0x00000022;
176 CHECKREG r3, 0x00000022;
177 CHECKREG r4, 0x00000000;
178 CHECKREG r5, 0x00000002;
179 CHECKREG r6, 0x00000022;
180 CHECKREG r7, 0x00000022;
181
182 // test AN &= CC (0-0, 0-1, 1-0, 1-1)
183 R7 = 0x00;
184 ASTAT = R7;     // cc = 0, AN = 0
185 AN &= CC;       //
186 R4 = ASTAT;     //
187
188 R7 = 0x02;
189 ASTAT = R7;     // cc = 0, AN = 1
190 AN &= CC;       //
191 R5 = ASTAT;     //
192
193 R7 = 0x20;
194 ASTAT = R7;     // cc = 1, AN = 0
195 AN &= CC;       //
196 R6 = ASTAT;     //
197
198 R7 = 0x22;
199 ASTAT = R7;     // cc = 1, AN = 1
200 AN &= CC;       //
201 R7 = ASTAT;     //
202
203 CHECKREG r0, 0x00000000;
204 CHECKREG r1, 0x00000000;
205 CHECKREG r2, 0x00000022;
206 CHECKREG r3, 0x00000022;
207 CHECKREG r4, 0x00000000;
208 CHECKREG r5, 0x00000000;
209 CHECKREG r6, 0x00000020;
210 CHECKREG r7, 0x00000022;
211
212 // test AN ^= CC (0-0, 0-1, 1-0, 1-1)
213 R7 = 0x00;
214 ASTAT = R7;     // cc = 0, AN = 0
215 AN ^= CC;       //
216 R4 = ASTAT;     //
217
218 R7 = 0x02;
219 ASTAT = R7;     // cc = 0, AN = 1
220 AN ^= CC;       //
221 R5 = ASTAT;     //
222
223 R7 = 0x20;
224 ASTAT = R7;     // cc = 1, AN = 0
225 AN ^= CC;       //
226 R6 = ASTAT;     //
227
228 R7 = 0x22;
229 ASTAT = R7;     // cc = 1, AN = 1
230 AN ^= CC;       //
231 R7 = ASTAT;     //
232
233 CHECKREG r0, 0x00000000;
234 CHECKREG r1, 0x00000000;
235 CHECKREG r2, 0x00000022;
236 CHECKREG r3, 0x00000022;
237 CHECKREG r4, 0x00000000;
238 CHECKREG r5, 0x00000002;
239 CHECKREG r6, 0x00000022;
240 CHECKREG r7, 0x00000020;
241
242
243 pass