sim: bfin: import testsuite
[external/binutils.git] / sim / testsuite / sim / bfin / c_comp3op_dr_xor_dr.s
1 //Original:/testcases/core/c_comp3op_dr_xor_dr/c_comp3op_dr_xor_dr.dsp
2 // Spec Reference: comp3op dregs xor dregs
3 # mach: bfin
4
5 .include "testutils.inc"
6         start
7
8
9
10
11 imm32 r0, 0x01234567;
12 imm32 r1, 0x89abcdef;
13 imm32 r2, 0x56789abc;
14 imm32 r3, 0xdef01234;
15 imm32 r4, 0x23456899;
16 imm32 r5, 0x78912345;
17 imm32 r6, 0x98765432;
18 imm32 r7, 0x12345678;
19 R0 = R0 ^ R0;
20 R1 = R0 ^ R1;
21 R2 = R0 ^ R2;
22 R3 = R0 ^ R3;
23 R4 = R0 ^ R4;
24 R5 = R0 ^ R5;
25 R6 = R0 ^ R6;
26 R7 = R0 ^ R7;
27 CHECKREG r0, 0x00000000;
28 CHECKREG r1, 0x89ABCDEF;
29 CHECKREG r2, 0x56789ABC;
30 CHECKREG r3, 0xDEF01234;
31 CHECKREG r4, 0x23456899;
32 CHECKREG r5, 0x78912345;
33 CHECKREG r6, 0x98765432;
34 CHECKREG r7, 0x12345678;
35
36 imm32 r0, 0x01231567;
37 imm32 r1, 0x89ab1def;
38 imm32 r2, 0x56781abc;
39 imm32 r3, 0xdef01234;
40 imm32 r4, 0x23451899;
41 imm32 r5, 0x78911345;
42 imm32 r6, 0x98761432;
43 imm32 r7, 0x12341678;
44 R0 = R1 ^ R0;
45 R1 = R1 ^ R1;
46 R2 = R1 ^ R2;
47 R3 = R1 ^ R3;
48 R4 = R1 ^ R4;
49 R5 = R1 ^ R5;
50 R6 = R1 ^ R6;
51 R7 = R1 ^ R7;
52 CHECKREG r0, 0x88880888;
53 CHECKREG r1, 0x00000000;
54 CHECKREG r2, 0x56781ABC;
55 CHECKREG r3, 0xDEF01234;
56 CHECKREG r4, 0x23451899;
57 CHECKREG r5, 0x78911345;
58 CHECKREG r6, 0x98761432;
59 CHECKREG r7, 0x12341678;
60
61 imm32 r0, 0x01234527;
62 imm32 r1, 0x89abcd2f;
63 imm32 r2, 0x56789a2c;
64 imm32 r3, 0xdef01224;
65 imm32 r4, 0x23456829;
66 imm32 r5, 0x78912325;
67 imm32 r6, 0x98765422;
68 imm32 r7, 0x12345628;
69 R0 = R2 ^ R0;
70 R1 = R2 ^ R1;
71 R2 = R2 ^ R2;
72 R3 = R2 ^ R3;
73 R4 = R2 ^ R4;
74 R5 = R2 ^ R5;
75 R6 = R2 ^ R6;
76 R7 = R2 ^ R7;
77 CHECKREG r0, 0x575BDF0B;
78 CHECKREG r1, 0xDFD35703;
79 CHECKREG r2, 0x00000000;
80 CHECKREG r3, 0xDEF01224;
81 CHECKREG r4, 0x23456829;
82 CHECKREG r5, 0x78912325;
83 CHECKREG r6, 0x98765422;
84 CHECKREG r7, 0x12345628;
85
86 imm32 r0, 0x01234563;
87 imm32 r1, 0x89abcde3;
88 imm32 r2, 0x56789ab3;
89 imm32 r3, 0xdef01233;
90 imm32 r4, 0x23456893;
91 imm32 r5, 0x78912343;
92 imm32 r6, 0x98765433;
93 imm32 r7, 0x12345673;
94 R0 = R3 ^ R0;
95 R1 = R3 ^ R1;
96 R2 = R3 ^ R2;
97 R3 = R3 ^ R3;
98 R4 = R3 ^ R4;
99 R5 = R3 ^ R5;
100 R6 = R3 ^ R6;
101 R7 = R3 ^ R7;
102 CHECKREG r0, 0xDFD35750;
103 CHECKREG r1, 0x575BDFD0;
104 CHECKREG r2, 0x88888880;
105 CHECKREG r3, 0x00000000;
106 CHECKREG r4, 0x23456893;
107 CHECKREG r5, 0x78912343;
108 CHECKREG r6, 0x98765433;
109 CHECKREG r7, 0x12345673;
110
111 imm32 r0, 0x41234567;
112 imm32 r1, 0x49abcdef;
113 imm32 r2, 0x46789abc;
114 imm32 r3, 0x4ef01234;
115 imm32 r4, 0x43456899;
116 imm32 r5, 0x48912345;
117 imm32 r6, 0x48765432;
118 imm32 r7, 0x42345678;
119 R0 = R4 ^ R0;
120 R1 = R4 ^ R1;
121 R2 = R4 ^ R2;
122 R3 = R4 ^ R3;
123 R4 = R4 ^ R4;
124 R5 = R4 ^ R5;
125 R6 = R4 ^ R6;
126 R7 = R4 ^ R7;
127 CHECKREG r0, 0x02662DFE;
128 CHECKREG r1, 0x0AEEA576;
129 CHECKREG r2, 0x053DF225;
130 CHECKREG r3, 0x0DB57AAD;
131 CHECKREG r4, 0x00000000;
132 CHECKREG r5, 0x48912345;
133 CHECKREG r6, 0x48765432;
134 CHECKREG r7, 0x42345678;
135
136 imm32 r0, 0x05234567;
137 imm32 r1, 0x85abcdef;
138 imm32 r2, 0x55789abc;
139 imm32 r3, 0xd5f01234;
140 imm32 r4, 0x25456899;
141 imm32 r5, 0x75912345;
142 imm32 r6, 0x95765432;
143 imm32 r7, 0x15345678;
144 R0 = R5 ^ R0;
145 R1 = R5 ^ R1;
146 R2 = R5 ^ R2;
147 R3 = R5 ^ R3;
148 R4 = R5 ^ R4;
149 R5 = R5 ^ R5;
150 R6 = R5 ^ R6;
151 R7 = R5 ^ R7;
152 CHECKREG r0, 0x70B26622;
153 CHECKREG r1, 0xF03AEEAA;
154 CHECKREG r2, 0x20E9B9F9;
155 CHECKREG r3, 0xA0613171;
156 CHECKREG r4, 0x50D44BDC;
157 CHECKREG r5, 0x00000000;
158 CHECKREG r6, 0x95765432;
159 CHECKREG r7, 0x15345678;
160
161 imm32 r0, 0x01264567;
162 imm32 r1, 0x89a6cdef;
163 imm32 r2, 0x56769abc;
164 imm32 r3, 0xdef61234;
165 imm32 r4, 0x23466899;
166 imm32 r5, 0x78962345;
167 imm32 r6, 0x98765432;
168 imm32 r7, 0x12365678;
169 R0 = R6 ^ R0;
170 R1 = R6 ^ R1;
171 R2 = R6 ^ R2;
172 R3 = R6 ^ R3;
173 R4 = R6 ^ R4;
174 R5 = R6 ^ R5;
175 R6 = R6 ^ R6;
176 R7 = R6 ^ R7;
177 CHECKREG r0, 0x99501155;
178 CHECKREG r1, 0x11D099DD;
179 CHECKREG r2, 0xCE00CE8E;
180 CHECKREG r3, 0x46804606;
181 CHECKREG r4, 0xBB303CAB;
182 CHECKREG r5, 0xE0E07777;
183 CHECKREG r6, 0x00000000;
184 CHECKREG r7, 0x12365678;
185
186 imm32 r0, 0x01237567;
187 imm32 r1, 0x89ab7def;
188 imm32 r2, 0x56787abc;
189 imm32 r3, 0xdef07234;
190 imm32 r4, 0x23457899;
191 imm32 r5, 0x78917345;
192 imm32 r6, 0x98767432;
193 imm32 r7, 0x12345678;
194 R0 = R7 ^ R0;
195 R1 = R7 ^ R1;
196 R2 = R7 ^ R2;
197 R3 = R7 ^ R3;
198 R4 = R7 ^ R4;
199 R5 = R7 ^ R5;
200 R6 = R7 ^ R6;
201 R7 = R7 ^ R7;
202 CHECKREG r0, 0x1317231F;
203 CHECKREG r1, 0x9B9F2B97;
204 CHECKREG r2, 0x444C2CC4;
205 CHECKREG r3, 0xCCC4244C;
206 CHECKREG r4, 0x31712EE1;
207 CHECKREG r5, 0x6AA5253D;
208 CHECKREG r6, 0x8A42224A;
209 CHECKREG r7, 0x00000000;
210
211 imm32 r0, 0x11234567;
212 imm32 r1, 0x81abcdef;
213 imm32 r2, 0x56189abc;
214 imm32 r3, 0xdef11234;
215 imm32 r4, 0x23451899;
216 imm32 r5, 0x78912145;
217 imm32 r6, 0x98765412;
218 imm32 r7, 0x12345671;
219 R0 = R1 ^ R0;
220 R1 = R2 ^ R0;
221 R2 = R3 ^ R0;
222 R3 = R4 ^ R0;
223 R4 = R5 ^ R0;
224 R5 = R6 ^ R0;
225 R6 = R7 ^ R0;
226 R7 = R0 ^ R0;
227 CHECKREG r0, 0x90888888;
228 CHECKREG r1, 0xC6901234;
229 CHECKREG r2, 0x4E799ABC;
230 CHECKREG r3, 0xB3CD9011;
231 CHECKREG r4, 0xE819A9CD;
232 CHECKREG r5, 0x08FEDC9A;
233 CHECKREG r6, 0x82BCDEF9;
234 CHECKREG r7, 0x00000000;
235
236 imm32 r0, 0x01231567;
237 imm32 r1, 0x29ab1def;
238 imm32 r2, 0x52781abc;
239 imm32 r3, 0xde201234;
240 imm32 r4, 0x23421899;
241 imm32 r5, 0x78912345;
242 imm32 r6, 0x98761232;
243 imm32 r7, 0x12341628;
244 R0 = R2 ^ R1;
245 R1 = R3 ^ R1;
246 R2 = R4 ^ R1;
247 R3 = R5 ^ R1;
248 R4 = R6 ^ R1;
249 R5 = R7 ^ R1;
250 R6 = R0 ^ R1;
251 R7 = R1 ^ R1;
252 CHECKREG r0, 0x7BD30753;
253 CHECKREG r1, 0xF78B0FDB;
254 CHECKREG r2, 0xD4C91742;
255 CHECKREG r3, 0x8F1A2C9E;
256 CHECKREG r4, 0x6FFD1DE9;
257 CHECKREG r5, 0xE5BF19F3;
258 CHECKREG r6, 0x8C580888;
259 CHECKREG r7, 0x00000000;
260
261 imm32 r0, 0x03234527;
262 imm32 r1, 0x893bcd2f;
263 imm32 r2, 0x56739a2c;
264 imm32 r3, 0x3ef03224;
265 imm32 r4, 0x23456329;
266 imm32 r5, 0x78312335;
267 imm32 r6, 0x98735423;
268 imm32 r7, 0x12343628;
269 R0 = R4 ^ R2;
270 R1 = R5 ^ R2;
271 R2 = R6 ^ R2;
272 R3 = R7 ^ R2;
273 R4 = R0 ^ R2;
274 R5 = R1 ^ R2;
275 R6 = R2 ^ R2;
276 R7 = R3 ^ R2;
277 CHECKREG r0, 0x7536F905;
278 CHECKREG r1, 0x2E42B919;
279 CHECKREG r2, 0xCE00CE0F;
280 CHECKREG r3, 0xDC34F827;
281 CHECKREG r4, 0xBB36370A;
282 CHECKREG r5, 0xE0427716;
283 CHECKREG r6, 0x00000000;
284 CHECKREG r7, 0x12343628;
285
286 imm32 r0, 0x04234563;
287 imm32 r1, 0x894bcde3;
288 imm32 r2, 0x56749ab3;
289 imm32 r3, 0x4ef04233;
290 imm32 r4, 0x24456493;
291 imm32 r5, 0x78412344;
292 imm32 r6, 0x98745434;
293 imm32 r7, 0x12344673;
294 R0 = R5 ^ R3;
295 R1 = R6 ^ R3;
296 R2 = R7 ^ R3;
297 R3 = R0 ^ R3;
298 R4 = R1 ^ R3;
299 R5 = R2 ^ R3;
300 R6 = R3 ^ R3;
301 R7 = R4 ^ R3;
302 CHECKREG r0, 0x36B16177;
303 CHECKREG r1, 0xD6841607;
304 CHECKREG r2, 0x5CC40440;
305 CHECKREG r3, 0x78412344;
306 CHECKREG r4, 0xAEC53543;
307 CHECKREG r5, 0x24852704;
308 CHECKREG r6, 0x00000000;
309 CHECKREG r7, 0xD6841607;
310
311 imm32 r0, 0x41235567;
312 imm32 r1, 0x49abc5ef;
313 imm32 r2, 0x46789a5c;
314 imm32 r3, 0x4ef01235;
315 imm32 r4, 0x53456899;
316 imm32 r5, 0x45912345;
317 imm32 r6, 0x48565432;
318 imm32 r7, 0x42355678;
319 R0 = R6 ^ R4;
320 R1 = R7 ^ R4;
321 R2 = R0 ^ R4;
322 R3 = R1 ^ R4;
323 R4 = R2 ^ R4;
324 R5 = R3 ^ R4;
325 R6 = R4 ^ R4;
326 R7 = R5 ^ R4;
327 CHECKREG r0, 0x1B133CAB;
328 CHECKREG r1, 0x11703EE1;
329 CHECKREG r2, 0x48565432;
330 CHECKREG r3, 0x42355678;
331 CHECKREG r4, 0x1B133CAB;
332 CHECKREG r5, 0x59266AD3;
333 CHECKREG r6, 0x00000000;
334 CHECKREG r7, 0x42355678;
335
336 imm32 r0, 0x05264567;
337 imm32 r1, 0x85ab6def;
338 imm32 r2, 0x657896bc;
339 imm32 r3, 0xd6f01264;
340 imm32 r4, 0x25656896;
341 imm32 r5, 0x75962345;
342 imm32 r6, 0x95766432;
343 imm32 r7, 0x15345678;
344 R0 = R7 ^ R5;
345 R1 = R0 ^ R5;
346 R2 = R1 ^ R5;
347 R3 = R2 ^ R5;
348 R4 = R3 ^ R5;
349 R5 = R4 ^ R5;
350 R6 = R5 ^ R5;
351 R7 = R6 ^ R5;
352 CHECKREG r0, 0x60A2753D;
353 CHECKREG r1, 0x15345678;
354 CHECKREG r2, 0x60A2753D;
355 CHECKREG r3, 0x15345678;
356 CHECKREG r4, 0x60A2753D;
357 CHECKREG r5, 0x15345678;
358 CHECKREG r6, 0x00000000;
359 CHECKREG r7, 0x15345678;
360
361 imm32 r0, 0x01764567;
362 imm32 r1, 0x89a7cdef;
363 imm32 r2, 0x56767abc;
364 imm32 r3, 0xdef61734;
365 imm32 r4, 0x73466879;
366 imm32 r5, 0x77962347;
367 imm32 r6, 0x98765432;
368 imm32 r7, 0x12375678;
369 R0 = R7 ^ R6;
370 R1 = R0 ^ R6;
371 R2 = R1 ^ R6;
372 R3 = R2 ^ R6;
373 R4 = R3 ^ R6;
374 R5 = R4 ^ R6;
375 R6 = R5 ^ R6;
376 R7 = R6 ^ R6;
377 CHECKREG r0, 0x8A41024A;
378 CHECKREG r1, 0x12375678;
379 CHECKREG r2, 0x8A41024A;
380 CHECKREG r3, 0x12375678;
381 CHECKREG r4, 0x8A41024A;
382 CHECKREG r5, 0x12375678;
383 CHECKREG r6, 0x8A41024A;
384 CHECKREG r7, 0x00000000;
385
386 imm32 r0, 0x81238567;
387 imm32 r1, 0x88ab78ef;
388 imm32 r2, 0x56887a8c;
389 imm32 r3, 0x8ef87238;
390 imm32 r4, 0x28458899;
391 imm32 r5, 0x78817845;
392 imm32 r6, 0x98787482;
393 imm32 r7, 0x12348678;
394 R0 = R1 ^ R7;
395 R1 = R2 ^ R7;
396 R2 = R3 ^ R7;
397 R3 = R4 ^ R7;
398 R4 = R5 ^ R7;
399 R5 = R6 ^ R7;
400 R6 = R7 ^ R7;
401 R7 = R0 ^ R7;
402 CHECKREG r0, 0x9A9FFE97;
403 CHECKREG r1, 0x44BCFCF4;
404 CHECKREG r2, 0x9CCCF440;
405 CHECKREG r3, 0x3A710EE1;
406 CHECKREG r4, 0x6AB5FE3D;
407 CHECKREG r5, 0x8A4CF2FA;
408 CHECKREG r6, 0x00000000;
409 CHECKREG r7, 0x88AB78EF;
410
411
412 pass