1//Original:/testcases/core/c_dspldst_st_dr_ippm/c_dspldst_st_dr_ippm.dsp
2// Spec Reference: c_dspldst st_dr_ippm
3# mach: bfin
4
5.include "testutils.inc"
6	start
7
8	imm32 r0, 0x0a234507;
9	imm32 r1, 0x1b345618;
10	imm32 r2, 0x2c456729;
11	imm32 r3, 0x3d56783a;
12	imm32 r4, 0x4e67894b;
13	imm32 r5, 0x5f789a5c;
14	imm32 r6, 0x6089ab6d;
15	imm32 r7, 0x719abc7e;
16
17	M0 = 4 (X);
18	M1 = 0x4 (X);
19	M2 = 0x4 (X);
20	M3 = 0x4 (X);
21
22	loadsym i0, DATA_ADDR_3;
23	loadsym i1, DATA_ADDR_4;
24	loadsym i2, DATA_ADDR_5;
25	loadsym i3, DATA_ADDR_6;
26
27	[ I0 ++ M0 ] = R0;
28	[ I1 ++ M1 ] = R1;
29	[ I2 ++ M2 ] = R2;
30	[ I3 ++ M3 ] = R3;
31	[ I0 ++ M1 ] = R1;
32	[ I1 ++ M2 ] = R2;
33	[ I2 ++ M3 ] = R3;
34	[ I3 ++ M0 ] = R4;
35
36	[ I0 ++ M2 ] = R3;
37	[ I1 ++ M3 ] = R4;
38	[ I2 ++ M0 ] = R5;
39	[ I3 ++ M1 ] = R6;
40	[ I0 ++ M3 ] = R4;
41	[ I1 ++ M0 ] = R5;
42	[ I2 ++ M1 ] = R6;
43	[ I3 ++ M2 ] = R7;
44
45	loadsym i0, DATA_ADDR_3;
46	loadsym i1, DATA_ADDR_4;
47	loadsym i2, DATA_ADDR_5;
48	loadsym i3, DATA_ADDR_6;
49
50	R0 = [ I0 ++ M0 ];
51	R1 = [ I1 ++ M1 ];
52	R2 = [ I2 ++ M2 ];
53	R3 = [ I3 ++ M3 ];
54	R4 = [ I0 ++ M1 ];
55	R5 = [ I1 ++ M2 ];
56	R6 = [ I2 ++ M3 ];
57	R7 = [ I3 ++ M0 ];
58	CHECKREG r0, 0x0A234507;
59	CHECKREG r1, 0x1B345618;
60	CHECKREG r2, 0x2C456729;
61	CHECKREG r3, 0x3D56783A;
62	CHECKREG r4, 0x1B345618;
63	CHECKREG r5, 0x2C456729;
64	CHECKREG r6, 0x3D56783A;
65	CHECKREG r7, 0x4E67894B;
66	R0 = [ I0 ++ M2 ];
67	R1 = [ I1 ++ M3 ];
68	R2 = [ I2 ++ M0 ];
69	R3 = [ I3 ++ M1 ];
70	R4 = [ I0 ++ M3 ];
71	R5 = [ I1 ++ M0 ];
72	R6 = [ I2 ++ M1 ];
73	R7 = [ I3 ++ M2 ];
74	CHECKREG r0, 0x3D56783A;
75	CHECKREG r1, 0x4E67894B;
76	CHECKREG r2, 0x5F789A5C;
77	CHECKREG r3, 0x6089AB6D;
78	CHECKREG r4, 0x4E67894B;
79	CHECKREG r5, 0x5F789A5C;
80	CHECKREG r6, 0x6089AB6D;
81	CHECKREG r7, 0x719ABC7E;
82
83	pass
84
85// Pre-load memory with known data
86// More data is defined than will actually be used
87
88	.data
89DATA_ADDR_3:
90	.dd 0x00010203
91	.dd 0x04050607
92	.dd 0x08090A0B
93	.dd 0x0C0D0E0F
94	.dd 0x10111213
95	.dd 0x14151617
96	.dd 0x18191A1B
97	.dd 0x1C1D1E1F
98	.dd 0x00000000
99	.dd 0x00000000
100	.dd 0x00000000
101	.dd 0x00000000
102	.dd 0x00000000
103	.dd 0x00000000
104	.dd 0x00000000
105	.dd 0x00000000
106	.dd 0x00000000
107	.dd 0x00000000
108	.dd 0x00000000
109	.dd 0x00000000
110	.dd 0x00000000
111	.dd 0x00000000
112	.dd 0x00000000
113	.dd 0x00000000
114	.dd 0x00000000
115	.dd 0x00000000
116	.dd 0x00000000
117	.dd 0x00000000
118	.dd 0x00000000
119	.dd 0x00000000
120	.dd 0x00000000
121	.dd 0x00000000
122	.dd 0x00000000
123
124DATA_ADDR_4:
125	.dd 0x20212223
126	.dd 0x24252627
127	.dd 0x28292A2B
128	.dd 0x2C2D2E2F
129	.dd 0x30313233
130	.dd 0x34353637
131	.dd 0x38393A3B
132	.dd 0x3C3D3E3F
133	.dd 0x00000000
134	.dd 0x00000000
135	.dd 0x00000000
136	.dd 0x00000000
137	.dd 0x00000000
138	.dd 0x00000000
139	.dd 0x00000000
140	.dd 0x00000000
141	.dd 0x00000000
142	.dd 0x00000000
143	.dd 0x00000000
144	.dd 0x00000000
145	.dd 0x00000000
146	.dd 0x00000000
147	.dd 0x00000000
148	.dd 0x00000000
149
150DATA_ADDR_5:
151	.dd 0x40414243
152	.dd 0x44454647
153	.dd 0x48494A4B
154	.dd 0x4C4D4E4F
155	.dd 0x50515253
156	.dd 0x54555657
157	.dd 0x58595A5B
158	.dd 0x5C5D5E5F
159	.dd 0x00000000
160	.dd 0x00000000
161	.dd 0x00000000
162	.dd 0x00000000
163	.dd 0x00000000
164	.dd 0x00000000
165	.dd 0x00000000
166	.dd 0x00000000
167	.dd 0x00000000
168	.dd 0x00000000
169	.dd 0x00000000
170	.dd 0x00000000
171	.dd 0x00000000
172	.dd 0x00000000
173	.dd 0x00000000
174	.dd 0x00000000
175	.dd 0x00000000
176	.dd 0x00000000
177	.dd 0x00000000
178	.dd 0x00000000
179	.dd 0x00000000
180	.dd 0x00000000
181	.dd 0x00000000
182	.dd 0x00000000
183	.dd 0x00000000
184
185DATA_ADDR_6:
186	.dd 0x60616263
187	.dd 0x64656667
188	.dd 0x68696A6B
189	.dd 0x6C6D6E6F
190	.dd 0x70717273
191	.dd 0x74757677
192	.dd 0x78797A7B
193	.dd 0x7C7D7E7F
194	.dd 0x00000000
195	.dd 0x00000000
196	.dd 0x00000000
197	.dd 0x00000000
198	.dd 0x00000000
199	.dd 0x00000000
200	.dd 0x00000000
201	.dd 0x00000000
202	.dd 0x00000000
203	.dd 0x00000000
204	.dd 0x00000000
205	.dd 0x00000000
206	.dd 0x00000000
207	.dd 0x00000000
208	.dd 0x00000000
209	.dd 0x00000000
210	.dd 0x00000000
211	.dd 0x00000000
212	.dd 0x00000000
213	.dd 0x00000000
214	.dd 0x00000000
215	.dd 0x00000000
216	.dd 0x00000000
217	.dd 0x00000000
218	.dd 0x00000000
219
220DATA_ADDR_7:
221	.dd 0x80818283
222	.dd 0x84858687
223	.dd 0x88898A8B
224	.dd 0x8C8D8E8F
225	.dd 0x90919293
226	.dd 0x94959697
227	.dd 0x98999A9B
228	.dd 0x9C9D9E9F
229	.dd 0x00000000
230	.dd 0x00000000
231	.dd 0x00000000
232	.dd 0x00000000
233	.dd 0x00000000
234	.dd 0x00000000
235	.dd 0x00000000
236	.dd 0x00000000
237	.dd 0x00000000
238	.dd 0x00000000
239	.dd 0x00000000
240	.dd 0x00000000
241	.dd 0x00000000
242	.dd 0x00000000
243	.dd 0x00000000
244	.dd 0x00000000
245	.dd 0x00000000
246	.dd 0x00000000
247	.dd 0x00000000
248	.dd 0x00000000
249	.dd 0x00000000
250	.dd 0x00000000
251	.dd 0x00000000
252	.dd 0x00000000
253	.dd 0x00000000
254
255DATA_ADDR_8:
256	.dd 0xA0A1A2A3
257	.dd 0xA4A5A6A7
258	.dd 0xA8A9AAAB
259	.dd 0xACADAEAF
260	.dd 0xB0B1B2B3
261	.dd 0xB4B5B6B7
262	.dd 0xB8B9BABB
263	.dd 0xBCBDBEBF
264	.dd 0xC0C1C2C3
265	.dd 0xC4C5C6C7
266	.dd 0xC8C9CACB
267	.dd 0xCCCDCECF
268	.dd 0xD0D1D2D3
269	.dd 0xD4D5D6D7
270	.dd 0xD8D9DADB
271	.dd 0xDCDDDEDF
272	.dd 0xE0E1E2E3
273	.dd 0xE4E5E6E7
274	.dd 0xE8E9EAEB
275	.dd 0xECEDEEEF
276	.dd 0xF0F1F2F3
277	.dd 0xF4F5F6F7
278	.dd 0xF8F9FAFB
279	.dd 0xFCFDFEFF
280