sim: bfin: import testsuite
[external/binutils.git] / sim / testsuite / sim / bfin / c_ldstidxl_ld_preg.s
1 //Original:testcases/core/c_ldstidxl_ld_preg/c_ldstidxl_ld_preg.dsp
2 // Spec Reference: c_ldstidxl load dreg
3 # mach: bfin
4
5 .include "testutils.inc"
6         start
7
8 // set all regs
9 init_i_regs 0;
10 init_b_regs 0;
11 init_l_regs 0;
12 init_m_regs 0;
13 INIT_R_REGS 0;
14 I0 = P3;
15 I2 = SP;
16
17 // initial values
18         I1 = P3; P3 = I0; I3 = SP; SP = I2;
19         loadsym p1, DATA_ADDR_1, 0x00;
20         loadsym p2, DATA_ADDR_2, 0xA0;
21         loadsym i1, DATA_ADDR_1, 0x70;
22         loadsym p4, DATA_ADDR_2, 0x70;
23         loadsym p5, DATA_ADDR_1, 0x70;
24         loadsym fp, DATA_ADDR_2, 0x70;
25         loadsym i3, DATA_ADDR_1, 0x70;
26         P3 = I1; SP = I3;
27
28         P2 = [ P1 + 12 ];
29         P3 = [ P1 + 44 ];
30         P4 = [ P1 + 8 ];
31         P5 = [ P1 + 156 ];
32         SP = [ P1 + 16 ];
33         FP = [ P1 + 120 ];
34         P1 = [ P1 + 24 ];
35         CHECKREG p1, 0x18191A1B;
36         CHECKREG p2, 0x0C0D0E0F;
37         CHECKREG p3, 0x74757677;
38         CHECKREG p4, 0x08090A0B;
39         CHECKREG p5, 0x08090A0B;
40         CHECKREG sp, 0x10111213;
41         CHECKREG fp, 0x58596061;
42
43         I1 = P3; P3 = I0; I3 = SP; SP = I2;
44         loadsym p2, DATA_ADDR_2, 0xA0;
45         P3 = I1; SP = I3;
46
47         P1 = [ P2 + -128 ];
48         P3 = [ P2 + -36 ];
49         P4 = [ P2 + -40 ];
50         P5 = [ P2 + -144 ];
51         SP = [ P2 + -48 ];
52         FP = [ P2 + 52 ];
53         P2 = [ P2 + -132 ];
54         CHECKREG p1, 0xEBECEDEE;
55         CHECKREG p2, 0x7C7D7E7F;
56         CHECKREG p3, 0xA60CAD7E;
57         CHECKREG p4, 0xA50CAD6E;
58         CHECKREG p5, 0x70717273;
59         CHECKREG sp, 0xA30CAD4E;
60         CHECKREG fp, 0x64656667;
61
62         I1 = P3; P3 = I0; I3 = SP; SP = I2;
63         loadsym i1, DATA_ADDR_1, 0x70;
64         P3 = I1; SP = I3;
65         P1 = [ P3 + 56 ];
66         P2 = [ P3 + -104 ];
67         P4 = [ P3 + 80 ];
68         P5 = [ P3 + -56 ];
69         SP = [ P3 + 52 ];
70         FP = [ P3 + -48 ];
71         P3 = [ P3 + 84 ];
72         CHECKREG p1, 0x14151617;
73         CHECKREG p2, 0x08090A0B;
74         CHECKREG p3, 0x82838485;
75         CHECKREG p4, 0x74757677;
76         CHECKREG p5, 0x80818283;
77         CHECKREG sp, 0x10111213;
78         CHECKREG fp, 0x01020304;
79
80         I1 = P3; P3 = I0; I3 = SP; SP = I2;
81         loadsym p4, DATA_ADDR_2, 0x70;
82         P3 = I1; SP = I3;
83         P1 = [ P4 + 44 ];
84         P2 = [ P4 + -40 ];
85         P3 = [ P4 + -96 ];
86         P5 = [ P4 + -68 ];
87         SP = [ P4 + 84 ];
88         FP = [ P4 + 108 ];
89         P4 = [ P4 + -32 ];
90         CHECKREG p1, 0x6C6D6E6F;
91         CHECKREG p2, 0xAB0CAD03;
92         CHECKREG p3, 0x70717273;
93         CHECKREG p4, 0xAB0CAD05;
94         CHECKREG p5, 0xFBFCFDFE;
95         CHECKREG sp, 0x03040506;
96         CHECKREG fp, 0x6C6D6E6F;
97
98         I1 = P3; P3 = I0; I3 = SP; SP = I2;
99         loadsym p5, DATA_ADDR_1, 0x70;
100         P3 = I1; SP = I3;
101
102         P1 = [ P5 + 16 ];
103         P2 = [ P5 + 12 ];
104         P3 = [ P5 + 96 ];
105         P4 = [ P5 + 0 ];
106         SP = [ P5 + -44 ];
107         FP = [ P5 + 28 ];
108         P5 = [ P5 + -84 ];
109         CHECKREG p1, 0x66676869;
110         CHECKREG p2, 0x62636465;
111         CHECKREG p3, 0x84858687;
112         CHECKREG p4, 0x50515253;
113         CHECKREG p5, 0x1C1D1E1F;
114         CHECKREG sp, 0x05060708;
115         CHECKREG fp, 0x72636467;
116
117         I1 = P3; P3 = I0; I3 = SP; SP = I2;
118         loadsym i3, DATA_ADDR_2, 0x70;
119         P3 = I1; SP = I3;
120
121         P1 = [ SP + -72 ];
122         P2 = [ SP + 16 ];
123         P3 = [ SP + -80 ];
124         P4 = [ SP + 92 ];
125         P5 = [ SP + -28 ];
126         FP = [ SP + 32 ];
127         SP = [ SP + -36 ];
128         CHECKREG p1, 0xF7F8F9FA;
129         CHECKREG p2, 0xB455565B;
130         CHECKREG p3, 0xEBECEDEE;
131         CHECKREG p4, 0x0B0CAD0E;
132         CHECKREG p5, 0xAB0CAD06;
133         CHECKREG sp, 0xAB0CAD04;
134         CHECKREG fp, 0x60616263;
135
136         I1 = P3; P3 = I0; I3 = SP; SP = I2;
137         loadsym fp, DATA_ADDR_2, 0x70;
138         P3 = I1; SP = I3;
139
140         P1 = [ FP + 40 ];
141         P2 = [ FP + 44 ];
142         P3 = [ FP + 96 ];
143         P4 = [ FP + 52 ];
144         P5 = [ FP + 104 ];
145         SP = [ FP + 60 ];
146         FP = [ FP + 64 ];
147         CHECKREG p1, 0x68696A6B;
148         CHECKREG p2, 0x6C6D6E6F;
149         CHECKREG p3, 0x60616263;
150         CHECKREG p4, 0x74757677;
151         CHECKREG p5, 0x68696A6B;
152         CHECKREG sp, 0x7C7D7E7F;
153         CHECKREG fp, 0xEBECEDEE;
154
155         P3 = I0; SP = I2;
156         pass
157
158 // Pre-load memory with known data
159 // More data is defined than will actually be used
160
161         .data
162 DATA_ADDR_1:
163         .dd 0x00010203
164         .dd 0x04050607
165         .dd 0x08090A0B
166         .dd 0x0C0D0E0F
167         .dd 0x10111213
168         .dd 0x14151617
169         .dd 0x18191A1B
170         .dd 0x1C1D1E1F
171         .dd 0x11223344
172         .dd 0x55667788
173         .dd 0x99717273
174         .dd 0x74757677
175         .dd 0x82838485
176         .dd 0x86878889
177         .dd 0x80818283
178         .dd 0x84858687
179         .dd 0x01020304
180         .dd 0x05060708
181         .dd 0x09101112
182         .dd 0x14151617
183         .dd 0x18192021
184         .dd 0x22232425
185         .dd 0x26272829
186         .dd 0x30313233
187         .dd 0x34353637
188         .dd 0x38394041
189         .dd 0x42434445
190         .dd 0x46474849
191         .dd 0x50515253
192         .dd 0x54555657
193         .dd 0x58596061
194         .dd 0x62636465
195         .dd 0x66676869
196         .dd 0x74555657
197         .dd 0x78596067
198         .dd 0x72636467
199         .dd 0x76676867
200         .dd 0x00010203
201         .dd 0x04050607
202         .dd 0x08090A0B
203         .dd 0x0C0D0E0F
204         .dd 0x10111213
205         .dd 0x14151617
206         .dd 0x18191A1B
207         .dd 0x1C1D1E1F
208         .dd 0x11223344
209         .dd 0x55667788
210         .dd 0x99717273
211         .dd 0x74757677
212         .dd 0x82838485
213         .dd 0x86878889
214         .dd 0x80818283
215         .dd 0x84858687
216         .dd 0x01020304
217         .dd 0x05060708
218         .dd 0x09101112
219         .dd 0x14151617
220         .dd 0x18192021
221         .dd 0x22232425
222         .dd 0x26272829
223         .dd 0x30313233
224         .dd 0x34353637
225         .dd 0x38394041
226         .dd 0x42434445
227         .dd 0x46474849
228         .dd 0x50515253
229         .dd 0x54555657
230         .dd 0x58596061
231         .dd 0x62636465
232         .dd 0x66676869
233         .dd 0x74555657
234         .dd 0x78596067
235         .dd 0x72636467
236         .dd 0x76676867
237         .dd 0x20212223
238         .dd 0x24252627
239         .dd 0x28292A2B
240         .dd 0x2C2D2E2F
241         .dd 0x30313233
242         .dd 0x34353637
243         .dd 0x38393A3B
244         .dd 0x3C3D3E3F
245         .dd 0x91929394
246         .dd 0x95969798
247         .dd 0x99A1A2A3
248         .dd 0xA5A6A7A8
249         .dd 0xA9B0B1B2
250         .dd 0xB3B4B5B6
251         .dd 0xB7B8B9C0
252         .dd 0x70717273
253         .dd 0x74757677
254         .dd 0x78798081
255         .dd 0x82838485
256         .dd 0x86C283C4
257         .dd 0x81C283C4
258         .dd 0x82C283C4
259         .dd 0x83C283C4
260         .dd 0x84C283C4
261         .dd 0x85C283C4
262         .dd 0x86C283C4
263         .dd 0x87C288C4
264         .dd 0x88C283C4
265         .dd 0x89C283C4
266         .dd 0x80C283C4
267         .dd 0x81C283C4
268         .dd 0x82C288C4
269         .dd 0x94555659
270         .dd 0x98596069
271         .dd 0x92636469
272         .dd 0x96676869
273         .dd 0x20212223
274         .dd 0x24252627
275         .dd 0x28292A2B
276         .dd 0x2C2D2E2F
277         .dd 0x30313233
278         .dd 0x34353637
279         .dd 0x38393A3B
280         .dd 0x3C3D3E3F
281         .dd 0x91929394
282         .dd 0x95969798
283         .dd 0x99A1A2A3
284         .dd 0xA5A6A7A8
285         .dd 0xA9B0B1B2
286         .dd 0xB3B4B5B6
287         .dd 0xB7B8B9C0
288         .dd 0x70717273
289         .dd 0x74757677
290         .dd 0x78798081
291         .dd 0x82838485
292         .dd 0x86C283C4
293         .dd 0x81C283C4
294         .dd 0x82C283C4
295         .dd 0x83C283C4
296         .dd 0x84C283C4
297         .dd 0x85C283C4
298         .dd 0x86C283C4
299         .dd 0x87C288C4
300         .dd 0x88C283C4
301         .dd 0x89C283C4
302         .dd 0x80C283C4
303         .dd 0x81C283C4
304         .dd 0x82C288C4
305         .dd 0x94555659
306         .dd 0x98596069
307         .dd 0x92636469
308         .dd 0x96676869
309         .dd 0x40414243
310         .dd 0x44454647
311         .dd 0x48494A4B
312         .dd 0x4C4D4E4F
313         .dd 0x50515253
314         .dd 0x54555657
315         .dd 0x58595A5B
316         .dd 0xC5C6C7C8
317         .dd 0xC9CACBCD
318         .dd 0xCFD0D1D2
319         .dd 0xD3D4D5D6
320         .dd 0xD7D8D9DA
321         .dd 0xDBDCDDDE
322         .dd 0xDFE0E1E2
323         .dd 0xE3E4E5E6
324         .dd 0x91E899EA
325         .dd 0x92E899EA
326         .dd 0x93E899EA
327         .dd 0x94E899EA
328         .dd 0x95E899EA
329         .dd 0x96E899EA
330         .dd 0x97E899EA
331         .dd 0x98E899EA
332         .dd 0x99E899EA
333         .dd 0x91E899EA
334         .dd 0x92E899EA
335         .dd 0x93E899EA
336         .dd 0x94E899EA
337         .dd 0x95E899EA
338         .dd 0x96E899EA
339         .dd 0x977899EA
340         .dd 0xa455565a
341         .dd 0xa859606a
342         .dd 0xa263646a
343         .dd 0xa667686a
344         .dd 0x40414243
345         .dd 0x44454647
346         .dd 0x48494A4B
347         .dd 0x4C4D4E4F
348         .dd 0x50515253
349         .dd 0x54555657
350         .dd 0x58595A5B
351         .dd 0xC5C6C7C8
352         .dd 0xC9CACBCD
353         .dd 0xCFD0D1D2
354         .dd 0xD3D4D5D6
355         .dd 0xD7D8D9DA
356         .dd 0xDBDCDDDE
357         .dd 0xDFE0E1E2
358         .dd 0xE3E4E5E6
359         .dd 0x91E899EA
360         .dd 0x92E899EA
361         .dd 0x93E899EA
362         .dd 0x94E899EA
363         .dd 0x95E899EA
364         .dd 0x96E899EA
365         .dd 0x97E899EA
366         .dd 0x98E899EA
367         .dd 0x99E899EA
368         .dd 0x91E899EA
369         .dd 0x92E899EA
370         .dd 0x93E899EA
371         .dd 0x94E899EA
372         .dd 0x95E899EA
373         .dd 0x96E899EA
374         .dd 0x977899EA
375         .dd 0xa455565a
376         .dd 0xa859606a
377         .dd 0xa263646a
378         .dd 0x60616263
379         .dd 0x64656667
380         .dd 0x68696A6B
381         .dd 0x6C6D6E6F
382         .dd 0x70717273
383         .dd 0x74757677
384         .dd 0x78797A7B
385         .dd 0x7C7D7E7F
386         .dd 0xEBECEDEE
387         .dd 0xF3F4F5F6
388         .dd 0xF7F8F9FA
389         .dd 0xFBFCFDFE
390         .dd 0xFF000102
391         .dd 0x03040506
392         .dd 0x0708090A
393         .dd 0x0B0CAD0E
394         .dd 0xAB0CAD01
395         .dd 0xAB0CAD02
396         .dd 0xAB0CAD03
397         .dd 0xAB0CAD04
398         .dd 0xAB0CAD05
399         .dd 0xAB0CAD06
400         .dd 0xAB0CAA07
401         .dd 0xAB0CAD08
402         .dd 0xAB0CAD09
403         .dd 0xA00CAD1E
404         .dd 0xA10CAD2E
405         .dd 0xA20CAD3E
406         .dd 0xA30CAD4E
407         .dd 0xA40CAD5E
408         .dd 0xa667686a
409
410 DATA_ADDR_2:
411         .dd 0x60616263
412         .dd 0x64656667
413         .dd 0x68696A6B
414         .dd 0x6C6D6E6F
415         .dd 0x70717273
416         .dd 0x74757677
417         .dd 0x78797A7B
418         .dd 0x7C7D7E7F
419         .dd 0xEBECEDEE
420         .dd 0xF3F4F5F6
421         .dd 0xF7F8F9FA
422         .dd 0xFBFCFDFE
423         .dd 0xFF000102
424         .dd 0x03040506
425         .dd 0x0708090A
426         .dd 0x0B0CAD0E
427         .dd 0xAB0CAD01
428         .dd 0xAB0CAD02
429         .dd 0xAB0CAD03
430         .dd 0xAB0CAD04
431         .dd 0xAB0CAD05
432         .dd 0xAB0CAD06
433         .dd 0xAB0CAA07
434         .dd 0xAB0CAD08
435         .dd 0xAB0CAD09
436         .dd 0xA00CAD1E
437         .dd 0xA10CAD2E
438         .dd 0xA20CAD3E
439         .dd 0xA30CAD4E
440         .dd 0xA40CAD5E
441         .dd 0xA50CAD6E
442         .dd 0xA60CAD7E
443         .dd 0xB455565B
444         .dd 0xB859606B
445         .dd 0xB263646B
446         .dd 0xB667686B
447         .dd 0x60616263
448         .dd 0x64656667
449         .dd 0x68696A6B
450         .dd 0x6C6D6E6F
451         .dd 0x70717273
452         .dd 0x74757677
453         .dd 0x78797A7B
454         .dd 0x7C7D7E7F
455         .dd 0xEBECEDEE
456         .dd 0xF3F4F5F6
457         .dd 0xF7F8F9FA
458         .dd 0xFBFCFDFE
459         .dd 0xFF000102
460         .dd 0x03040506
461         .dd 0x0708090A
462         .dd 0x0B0CAD0E
463         .dd 0x60616263
464         .dd 0x64656667
465         .dd 0x68696A6B
466         .dd 0x6C6D6E6F
467         .dd 0x70717273
468         .dd 0x74757677
469         .dd 0x78797A7B
470         .dd 0x7C7D7E7F
471         .dd 0xEBECEDEE
472         .dd 0xF3F4F5F6
473         .dd 0xF7F8F9FA
474         .dd 0xFBFCFDFE
475         .dd 0xFF000102
476         .dd 0x03040506
477         .dd 0x0708090A
478         .dd 0x0B0CAD0E
479         .dd 0xAB0CAD01
480         .dd 0xAB0CAD02
481         .dd 0xAB0CAD03
482         .dd 0xAB0CAD04
483         .dd 0xAB0CAD05
484         .dd 0xAB0CAD06
485         .dd 0xAB0CAA07
486         .dd 0xAB0CAD08
487         .dd 0xAB0CAD09
488         .dd 0xA00CAD1E
489         .dd 0xA10CAD2E
490         .dd 0xA20CAD3E
491         .dd 0xA30CAD4E
492         .dd 0xA40CAD5E
493         .dd 0xAB0CAD01
494         .dd 0xAB0CAD02
495         .dd 0xAB0CAD03
496         .dd 0xAB0CAD04
497         .dd 0xAB0CAD05
498         .dd 0xAB0CAD06
499         .dd 0xAB0CAA07
500         .dd 0xAB0CAD08
501         .dd 0xAB0CAD09
502         .dd 0xA00CAD1E
503         .dd 0xA10CAD2E
504         .dd 0xA20CAD3E
505         .dd 0xA30CAD4E
506         .dd 0xA40CAD5E
507         .dd 0xA50CAD6E
508         .dd 0xA60CAD7E
509         .dd 0xB455565B
510         .dd 0xB859606B
511         .dd 0xB263646B
512         .dd 0xB667686B
513         .dd 0x80818283
514         .dd 0x84858687
515         .dd 0x88898A8B
516         .dd 0x8C8D8E8F
517         .dd 0x90919293
518         .dd 0x94959697
519         .dd 0x98999A9B
520         .dd 0x9C9D9E9F
521         .dd 0x0F101213
522         .dd 0x14151617
523         .dd 0x18191A1B
524         .dd 0x1C1D1E1F
525         .dd 0x20212223
526         .dd 0x24252627
527         .dd 0x28292A2B
528         .dd 0x2C2D2E2F
529         .dd 0xBC0DBE21
530         .dd 0xBC1DBE22
531         .dd 0xBC2DBE23
532         .dd 0xBC3DBE24
533         .dd 0xBC4DBE65
534         .dd 0xBC5DBE27
535         .dd 0xBC6DBE28
536         .dd 0xBC7DBE29
537         .dd 0xBC8DBE2F
538         .dd 0xBC9DBE20
539         .dd 0xBCADBE21
540         .dd 0xBCBDBE2F
541         .dd 0xBCCDBE23
542         .dd 0xBCDDBE24
543         .dd 0xBCFDBE25
544         .dd 0xC455565C
545         .dd 0xC859606C
546         .dd 0xC263646C
547         .dd 0xC667686C
548         .dd 0xCC0DBE2C
549         .dd 0x00010203
550         .dd 0x04050607
551         .dd 0x08090A0B
552         .dd 0x0C0D0E0F
553         .dd 0x10111213
554         .dd 0x14151617
555         .dd 0x18191A1B
556         .dd 0x1C1D1E1F
557         .dd 0x20212223
558         .dd 0x24252627
559         .dd 0x28292A2B
560         .dd 0x2C2D2E2F
561         .dd 0x30313233
562         .dd 0x34353637
563         .dd 0x38393A3B
564         .dd 0x3C3D3E3F
565         .dd 0x40414243
566         .dd 0x44454647
567         .dd 0x48494A4B
568         .dd 0x4C4D4E4F
569         .dd 0x50515253
570         .dd 0x54555657
571         .dd 0x58595A5B
572         .dd 0x5C5D5E5F
573         .dd 0x60616263
574         .dd 0x64656667
575         .dd 0x68696A6B
576         .dd 0x6C6D6E6F
577         .dd 0x70717273
578         .dd 0x74757677
579         .dd 0x78797A7B
580         .dd 0x7C7D7E7F
581         .dd 0x80818283
582         .dd 0x84858687
583         .dd 0x88898A8B
584         .dd 0x8C8D8E8F
585         .dd 0x90919293
586         .dd 0x94959697
587         .dd 0x98999A9B
588         .dd 0x9C9D9E9F
589         .dd 0xA0A1A2A3
590         .dd 0xA4A5A6A7
591         .dd 0x60616263
592         .dd 0x64656667
593         .dd 0x68696A6B
594         .dd 0x6C6D6E6F
595         .dd 0x70717273
596         .dd 0x74757677
597         .dd 0x78797A7B
598         .dd 0x7C7D7E7F
599         .dd 0xEBECEDEE
600         .dd 0xF3F4F5F6
601         .dd 0xF7F8F9FA
602         .dd 0xFBFCFDFE
603         .dd 0xFF000102
604         .dd 0x03040506
605         .dd 0x0708090A
606         .dd 0x0B0CAD0E
607         .dd 0xAB0CAD01
608         .dd 0xAB0CAD02
609         .dd 0xAB0CAD03
610         .dd 0xAB0CAD04
611         .dd 0xAB0CAD05
612         .dd 0xAB0CAD06
613         .dd 0xAB0CAA07
614         .dd 0xAB0CAD08
615         .dd 0xAB0CAD09
616         .dd 0xA00CAD1E
617         .dd 0xA10CAD2E
618         .dd 0xA20CAD3E
619         .dd 0xA30CAD4E
620         .dd 0xA40CAD5E
621         .dd 0xA8A9AAAB
622         .dd 0xACADAEAF
623         .dd 0xB0B1B2B3
624         .dd 0xB4B5B6B7
625         .dd 0xB8B9BABB
626         .dd 0xBCBDBEBF
627         .dd 0xC0C1C2C3
628         .dd 0xC4C5C6C7
629         .dd 0x95E899EA
630         .dd 0x96E899EA
631         .dd 0x977899EA
632         .dd 0xa455565a
633         .dd 0xa859606a
634         .dd 0xa263646a
635         .dd 0xa667686a
636         .dd 0x40414243
637         .dd 0x44454647
638         .dd 0x48494A4B
639         .dd 0x4C4D4E4F
640         .dd 0x50515253
641         .dd 0x54555657
642         .dd 0x58595A5B
643         .dd 0xC5C6C7C8
644         .dd 0xC9CACBCD
645         .dd 0xCFD0D1D2
646         .dd 0xD3D4D5D6
647         .dd 0xD7D8D9DA
648         .dd 0xDBDCDDDE
649         .dd 0xDFE0E1E2
650         .dd 0xE3E4E5E6
651         .dd 0x91E899EA
652         .dd 0x92E899EA
653         .dd 0x93E899EA
654         .dd 0x94E899EA
655         .dd 0x95E899EA
656         .dd 0x96E899EA
657         .dd 0x97E899EA
658         .dd 0x98E899EA
659         .dd 0xC8C9CACB
660         .dd 0xCCCDCECF
661         .dd 0xD0D1D2D3
662         .dd 0xD4D5D6D7
663         .dd 0xD8D9DADB
664         .dd 0xDCDDDEDF
665         .dd 0xE0E1E2E3
666         .dd 0xE4E5E6E7
667         .dd 0xE8E9EAEB
668         .dd 0xECEDEEEF
669         .dd 0xF0F1F2F3
670         .dd 0xF4F5F6F7
671         .dd 0xF8F9FAFB
672         .dd 0xFCFDFEFF