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