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