1//Original:/testcases/core/c_ldst_ld_d_p_h/c_ldst_ld_d_p_h.dsp
2// Spec Reference: c_ldst ld d [p] h
3# mach: bfin
4
5.include "testutils.inc"
6	start
7
8	loadsym p1, DATA_ADDR_1;
9	loadsym p2, DATA_ADDR_2;
10.ifndef BFIN_HOST
11	loadsym p3, DATA_ADDR_3;
12.endif
13	loadsym p4, DATA_ADDR_4;
14	loadsym p5, DATA_ADDR_5;
15	loadsym fp, DATA_ADDR_6;
16
17// load 16 bits from memory and zero extend into 32-bit reg
18	R0 = W [ P1 ] (Z);
19	R1 = W [ P2 ] (Z);
20.ifndef BFIN_HOST
21	R2 = W [ P3 ] (Z);
22.else
23	R2 = 0x4243(Z);
24.endif
25	R3 = W [ P4 ] (Z);
26	R4 = W [ P5 ] (Z);
27	R5 = W [ P5 ] (Z);
28	R6 = W [ FP ] (Z);
29	CHECKREG r0, 0x00000203;
30	CHECKREG r1, 0x00002223;
31	CHECKREG r2, 0x00004243;
32	CHECKREG r3, 0x00006263;
33	CHECKREG r4, 0x00008283;
34	CHECKREG r5, 0x00008283;
35	CHECKREG r6, 0x00000203;
36	R1 = W [ P2 ] (Z);
37.ifndef BFIN_HOST
38	R2 = W [ P3 ] (Z);
39.else
40	R2 = 0x4243 (Z);
41.endif
42	R3 = W [ P4 ] (Z);
43	R4 = W [ P5 ] (Z);
44	R5 = W [ FP ] (Z);
45	R7 = W [ P1 ] (Z);
46	CHECKREG r0, 0x00000203;
47	CHECKREG r1, 0x00002223;
48	CHECKREG r2, 0x00004243;
49	CHECKREG r3, 0x00006263;
50	CHECKREG r4, 0x00008283;
51	CHECKREG r5, 0x00000203;
52	CHECKREG r7, 0x00000203;
53.ifndef BFIN_HOST
54	R2 = W [ P3 ] (Z);
55.else
56	R2 = 0x4243 (Z);
57.endif
58	R3 = W [ P4 ] (Z);
59	R4 = W [ P5 ] (Z);
60	R5 = W [ FP ] (Z);
61	R7 = W [ P1 ] (Z);
62	R0 = W [ P2 ] (Z);
63	CHECKREG r0, 0x00002223;
64	CHECKREG r1, 0x00002223;
65	CHECKREG r2, 0x00004243;
66	CHECKREG r3, 0x00006263;
67	CHECKREG r4, 0x00008283;
68	CHECKREG r5, 0x00000203;
69	CHECKREG r7, 0x00000203;
70
71	R3 = W [ P4 ] (Z);
72	R4 = W [ P5 ] (Z);
73	R5 = W [ FP ] (Z);
74	R7 = W [ P1 ] (Z);
75	R0 = W [ P2 ] (Z);
76.ifndef BFIN_HOST
77	R1 = W [ P3 ] (Z);
78.else
79	R1 = 0x4243 (Z);
80.endif
81	CHECKREG r0, 0x00002223;
82	CHECKREG r1, 0x00004243;
83	CHECKREG r2, 0x00004243;
84	CHECKREG r3, 0x00006263;
85	CHECKREG r4, 0x00008283;
86	CHECKREG r5, 0x00000203;
87	CHECKREG r7, 0x00000203;
88
89	pass
90
91// Pre-load memory with known data
92// More data is defined than will actually be used
93
94	.data
95DATA_ADDR_1:
96	.dd 0x00010203
97	.dd 0x04050607
98	.dd 0x08090A0B
99	.dd 0x0C0D0E0F
100	.dd 0x10111213
101	.dd 0x14151617
102	.dd 0x18191A1B
103	.dd 0x1C1D1E1F
104	.dd 0x11223344
105	.dd 0x55667788
106	.dd 0x99717273
107	.dd 0x74757677
108	.dd 0x82838485
109	.dd 0x86878889
110	.dd 0x80818283
111	.dd 0x84858687
112	.dd 0x01020304
113	.dd 0x05060708
114	.dd 0x09101112
115	.dd 0x14151617
116	.dd 0x18192021
117	.dd 0x22232425
118	.dd 0x26272829
119	.dd 0x30313233
120	.dd 0x34353637
121	.dd 0x38394041
122	.dd 0x42434445
123	.dd 0x46474849
124	.dd 0x50515253
125	.dd 0x54555657
126	.dd 0x58596061
127	.dd 0x62636465
128	.dd 0x66676869
129	.dd 0x74555657
130	.dd 0x78596067
131	.dd 0x72636467
132	.dd 0x76676867
133
134DATA_ADDR_2:
135	.dd 0x20212223
136	.dd 0x24252627
137	.dd 0x28292A2B
138	.dd 0x2C2D2E2F
139	.dd 0x30313233
140	.dd 0x34353637
141	.dd 0x38393A3B
142	.dd 0x3C3D3E3F
143	.dd 0x91929394
144	.dd 0x95969798
145	.dd 0x99A1A2A3
146	.dd 0xA5A6A7A8
147	.dd 0xA9B0B1B2
148	.dd 0xB3B4B5B6
149	.dd 0xB7B8B9C0
150	.dd 0x70717273
151	.dd 0x74757677
152	.dd 0x78798081
153	.dd 0x82838485
154	.dd 0x86C283C4
155	.dd 0x81C283C4
156	.dd 0x82C283C4
157	.dd 0x83C283C4
158	.dd 0x84C283C4
159	.dd 0x85C283C4
160	.dd 0x86C283C4
161	.dd 0x87C288C4
162	.dd 0x88C283C4
163	.dd 0x89C283C4
164	.dd 0x80C283C4
165	.dd 0x81C283C4
166	.dd 0x82C288C4
167	.dd 0x94555659
168	.dd 0x98596069
169	.dd 0x92636469
170	.dd 0x96676869
171
172DATA_ADDR_3:
173	.dd 0x40414243
174	.dd 0x44454647
175	.dd 0x48494A4B
176	.dd 0x4C4D4E4F
177	.dd 0x50515253
178	.dd 0x54555657
179	.dd 0x58595A5B
180	.dd 0xC5C6C7C8
181	.dd 0xC9CACBCD
182	.dd 0xCFD0D1D2
183	.dd 0xD3D4D5D6
184	.dd 0xD7D8D9DA
185	.dd 0xDBDCDDDE
186	.dd 0xDFE0E1E2
187	.dd 0xE3E4E5E6
188	.dd 0x91E899EA
189	.dd 0x92E899EA
190	.dd 0x93E899EA
191	.dd 0x94E899EA
192	.dd 0x95E899EA
193	.dd 0x96E899EA
194	.dd 0x97E899EA
195	.dd 0x98E899EA
196	.dd 0x99E899EA
197	.dd 0x91E899EA
198	.dd 0x92E899EA
199	.dd 0x93E899EA
200	.dd 0x94E899EA
201	.dd 0x95E899EA
202	.dd 0x96E899EA
203	.dd 0x977899EA
204	.dd 0xa455565a
205	.dd 0xa859606a
206	.dd 0xa263646a
207	.dd 0xa667686a
208
209DATA_ADDR_4:
210	.dd 0x60616263
211	.dd 0x64656667
212	.dd 0x68696A6B
213	.dd 0x6C6D6E6F
214	.dd 0x70717273
215	.dd 0x74757677
216	.dd 0x78797A7B
217	.dd 0x7C7D7E7F
218	.dd 0xEBECEDEE
219	.dd 0xF3F4F5F6
220	.dd 0xF7F8F9FA
221	.dd 0xFBFCFDFE
222	.dd 0xFF000102
223	.dd 0x03040506
224	.dd 0x0708090A
225	.dd 0x0B0CAD0E
226	.dd 0xAB0CAD01
227	.dd 0xAB0CAD02
228	.dd 0xAB0CAD03
229	.dd 0xAB0CAD04
230	.dd 0xAB0CAD05
231	.dd 0xAB0CAD06
232	.dd 0xAB0CAA07
233	.dd 0xAB0CAD08
234	.dd 0xAB0CAD09
235	.dd 0xAB0CAD0E
236	.dd 0xAB0CAD0E
237	.dd 0xAB0CAD0E
238	.dd 0xAB0CAD0E
239	.dd 0xAB0CAD0E
240	.dd 0xAB0CAD0E
241	.dd 0xAB0CAD0E
242	.dd 0xB455565B
243	.dd 0xB859606B
244	.dd 0xB263646B
245	.dd 0xB667686B
246
247DATA_ADDR_5:
248	.dd 0x80818283
249	.dd 0x84858687
250	.dd 0x88898A8B
251	.dd 0x8C8D8E8F
252	.dd 0x90919293
253	.dd 0x94959697
254	.dd 0x98999A9B
255	.dd 0x9C9D9E9F
256	.dd 0x0F101213
257	.dd 0x14151617
258	.dd 0x18191A1B
259	.dd 0x1C1D1E1F
260	.dd 0x20212223
261	.dd 0x24252627
262	.dd 0x28292A2B
263	.dd 0x2C2D2E2F
264	.dd 0xBC0DBE21
265	.dd 0xBC1DBE22
266	.dd 0xBC2DBE23
267	.dd 0xBC3DBE24
268	.dd 0xBC4DBE65
269	.dd 0xBC5DBE27
270	.dd 0xBC6DBE28
271	.dd 0xBC7DBE29
272	.dd 0xBC8DBE2F
273	.dd 0xBC9DBE20
274	.dd 0xBCADBE21
275	.dd 0xBCBDBE2F
276	.dd 0xBCCDBE23
277	.dd 0xBCDDBE24
278	.dd 0xBCFDBE25
279	.dd 0xC455565C
280	.dd 0xC859606C
281	.dd 0xC263646C
282	.dd 0xC667686C
283	.dd 0xCC0DBE2C
284
285DATA_ADDR_6:
286	.dd 0x00010203
287	.dd 0x04050607
288	.dd 0x08090A0B
289	.dd 0x0C0D0E0F
290	.dd 0x10111213
291	.dd 0x14151617
292	.dd 0x18191A1B
293	.dd 0x1C1D1E1F
294	.dd 0x20212223
295	.dd 0x24252627
296	.dd 0x28292A2B
297	.dd 0x2C2D2E2F
298	.dd 0x30313233
299	.dd 0x34353637
300	.dd 0x38393A3B
301	.dd 0x3C3D3E3F
302	.dd 0x40414243
303	.dd 0x44454647
304	.dd 0x48494A4B
305	.dd 0x4C4D4E4F
306	.dd 0x50515253
307	.dd 0x54555657
308	.dd 0x58595A5B
309	.dd 0x5C5D5E5F
310	.dd 0x60616263
311	.dd 0x64656667
312	.dd 0x68696A6B
313	.dd 0x6C6D6E6F
314	.dd 0x70717273
315	.dd 0x74757677
316	.dd 0x78797A7B
317	.dd 0x7C7D7E7F
318
319DATA_ADDR_7:
320	.dd 0x80818283
321	.dd 0x84858687
322	.dd 0x88898A8B
323	.dd 0x8C8D8E8F
324	.dd 0x90919293
325	.dd 0x94959697
326	.dd 0x98999A9B
327	.dd 0x9C9D9E9F
328	.dd 0xA0A1A2A3
329	.dd 0xA4A5A6A7
330	.dd 0xA8A9AAAB
331	.dd 0xACADAEAF
332	.dd 0xB0B1B2B3
333	.dd 0xB4B5B6B7
334	.dd 0xB8B9BABB
335	.dd 0xBCBDBEBF
336	.dd 0xC0C1C2C3
337	.dd 0xC4C5C6C7
338	.dd 0xC8C9CACB
339	.dd 0xCCCDCECF
340	.dd 0xD0D1D2D3
341	.dd 0xD4D5D6D7
342	.dd 0xD8D9DADB
343	.dd 0xDCDDDEDF
344	.dd 0xE0E1E2E3
345	.dd 0xE4E5E6E7
346	.dd 0xE8E9EAEB
347	.dd 0xECEDEEEF
348	.dd 0xF0F1F2F3
349	.dd 0xF4F5F6F7
350	.dd 0xF8F9FAFB
351	.dd 0xFCFDFEFF
352