1//Original:/testcases/core/c_ldst_st_p_d_b/c_ldst_st_p_d_b.dsp
2// Spec Reference: c_ldst st_p d b
3# mach: bfin
4
5.include "testutils.inc"
6	start
7
8	INIT_R_REGS 0;
9
10	imm32 r0, 0x0a231507;
11	imm32 r1, 0x1b342618;
12	imm32 r2, 0x2c453729;
13	imm32 r3, 0x3d56483a;
14	imm32 r4, 0x4e67594b;
15	imm32 r5, 0x5f786a5c;
16	imm32 r6, 0x60897b6d;
17	imm32 r7, 0x719a8c7e;
18
19	loadsym p5, DATA_ADDR_1;
20	loadsym p1, DATA_ADDR_2;
21	loadsym p2, DATA_ADDR_3;
22	loadsym p4, DATA_ADDR_5;
23	loadsym fp, DATA_ADDR_6;
24
25	B [ P5 ] = R0;
26	B [ P1 ] = R1;
27	B [ P2 ] = R2;
28	B [ P4 ] = R4;
29	B [ FP ] = R5;
30	R0 = [ P1 ];
31	R1 = [ P2 ];
32	R3 = [ P4 ];
33	R4 = [ P5 ];
34	R5 = [ FP ];
35	CHECKREG r0, 0x20212218;
36	CHECKREG r1, 0x40414229;
37	CHECKREG r3, 0x8081824B;
38	CHECKREG r4, 0x00010207;
39	CHECKREG r5, 0xA0A1A25C;
40	CHECKREG r7, 0x719A8C7E;
41
42	imm32 r0, 0x1a231507;
43	imm32 r1, 0x11342618;
44	imm32 r2, 0x2c153729;
45	imm32 r3, 0x3d51483a;
46	imm32 r4, 0x4e67194b;
47	imm32 r5, 0x5f78615c;
48	imm32 r6, 0x60897b1d;
49	imm32 r7, 0x719a8c71;
50	B [ P5 ] = R1;
51	B [ P1 ] = R2;
52	B [ P2 ] = R3;
53	B [ P4 ] = R5;
54	B [ FP ] = R6;
55	R0 = [ P1 ];
56	R1 = [ P2 ];
57	R3 = [ P4 ];
58	R4 = [ P5 ];
59	R5 = [ FP ];
60	CHECKREG r0, 0x20212229;
61	CHECKREG r1, 0x4041423A;
62	CHECKREG r3, 0x8081825C;
63	CHECKREG r4, 0x00010218;
64	CHECKREG r5, 0xA0A1A21D;
65	CHECKREG r7, 0x719A8C71;
66
67	imm32 r0, 0x2a231507;
68	imm32 r1, 0x12342618;
69	imm32 r2, 0x2c253729;
70	imm32 r3, 0x3d52483a;
71	imm32 r4, 0x4e67294b;
72	imm32 r5, 0x5f78625c;
73	imm32 r6, 0x60897b2d;
74	imm32 r7, 0x719a8c72;
75	B [ P5 ] = R2;
76	B [ P1 ] = R3;
77	B [ P2 ] = R4;
78	B [ P4 ] = R6;
79	B [ FP ] = R7;
80	R0 = [ P1 ];
81	R1 = [ P2 ];
82	R3 = [ P4 ];
83	R4 = [ P5 ];
84	R5 = [ FP ];
85	CHECKREG r0, 0x2021223A;
86	CHECKREG r1, 0x4041424B;
87	CHECKREG r2, 0x2c253729;
88	CHECKREG r3, 0x8081822D;
89	CHECKREG r4, 0x00010229;
90	CHECKREG r5, 0xA0A1A272;
91	CHECKREG r7, 0x719A8C72;
92
93	imm32 r0, 0x3a231507;
94	imm32 r1, 0x13342618;
95	imm32 r3, 0x3d53483a;
96	imm32 r4, 0x4e67394b;
97	imm32 r5, 0x5f78635c;
98	imm32 r6, 0x60897b3d;
99	imm32 r7, 0x719a8c73;
100	B [ P5 ] = R3;
101	B [ P1 ] = R4;
102	B [ P2 ] = R5;
103	B [ P4 ] = R7;
104	B [ FP ] = R0;
105	R0 = [ P1 ];
106	R1 = [ P2 ];
107	R3 = [ P4 ];
108	R4 = [ P5 ];
109	R5 = [ FP ];
110	CHECKREG r0, 0x2021224B;
111	CHECKREG r1, 0x4041425C;
112	CHECKREG r3, 0x80818273;
113	CHECKREG r4, 0x0001023A;
114	CHECKREG r5, 0xA0A1A207;
115	CHECKREG r7, 0x719A8C73;
116
117	imm32 r0, 0x4a231507;
118	imm32 r1, 0x14342618;
119	imm32 r2, 0x2c453729;
120	imm32 r3, 0x3d54483a;
121	imm32 r4, 0x4e67494b;
122	imm32 r5, 0x5f78645c;
123	imm32 r6, 0x60897b4d;
124	imm32 r7, 0x719a8c74;
125	B [ P5 ] = R4;
126	B [ P1 ] = R5;
127	B [ P2 ] = R6;
128	B [ P4 ] = R0;
129	B [ FP ] = R1;
130	R0 = [ P1 ];
131	R1 = [ P2 ];
132	R3 = [ P4 ];
133	R4 = [ P5 ];
134	R5 = [ FP ];
135	CHECKREG r0, 0x2021225C;
136	CHECKREG r1, 0x4041424D;
137	CHECKREG r3, 0x80818207;
138	CHECKREG r4, 0x0001024B;
139	CHECKREG r5, 0xA0A1A218;
140	CHECKREG r7, 0x719A8C74;
141
142	imm32 r0, 0x5a231507;
143	imm32 r1, 0x15342618;
144	imm32 r2, 0x2c553729;
145	imm32 r3, 0x3d55483a;
146	imm32 r4, 0x4e67594b;
147	imm32 r5, 0x5f78655c;
148	imm32 r6, 0x60897b5d;
149	imm32 r7, 0x719a8c75;
150	B [ P5 ] = R5;
151	B [ P1 ] = R6;
152	B [ P2 ] = R7;
153	B [ P4 ] = R1;
154	B [ FP ] = R2;
155	R0 = [ P1 ];
156	R1 = [ P2 ];
157	R3 = [ P4 ];
158	R4 = [ P5 ];
159	R5 = [ FP ];
160	CHECKREG r0, 0x2021225D;
161	CHECKREG r1, 0x40414275;
162	CHECKREG r3, 0x80818218;
163	CHECKREG r4, 0x0001025C;
164	CHECKREG r5, 0xA0A1A229;
165	CHECKREG r7, 0x719A8C75;
166
167	imm32 r0, 0x6a231507;
168	imm32 r1, 0x16342618;
169	imm32 r2, 0x2c653729;
170	imm32 r3, 0x3d56483a;
171	imm32 r4, 0x4e67694b;
172	imm32 r5, 0x5f78665c;
173	imm32 r6, 0x60897b6d;
174	imm32 r7, 0x719a8c76;
175	B [ P5 ] = R6;
176	B [ P1 ] = R7;
177	B [ P2 ] = R0;
178	B [ P4 ] = R2;
179	B [ FP ] = R3;
180	R0 = [ P1 ];
181	R1 = [ P2 ];
182	R3 = [ P4 ];
183	R4 = [ P5 ];
184	R5 = [ FP ];
185	CHECKREG r0, 0x20212276;
186	CHECKREG r1, 0x40414207;
187	CHECKREG r3, 0x80818229;
188	CHECKREG r4, 0x0001026D;
189	CHECKREG r5, 0xA0A1A23A;
190	CHECKREG r7, 0x719A8C76;
191
192	imm32 r0, 0x7a231507;
193	imm32 r1, 0x17342618;
194	imm32 r2, 0x2c753729;
195	imm32 r3, 0x3d57483a;
196	imm32 r4, 0x4e67794b;
197	imm32 r5, 0x5f78675c;
198	imm32 r6, 0x60897b7d;
199	imm32 r7, 0x719a8c77;
200	B [ P5 ] = R7;
201	B [ P1 ] = R0;
202	B [ P2 ] = R1;
203	B [ P4 ] = R3;
204	B [ FP ] = R4;
205	R0 = [ P1 ];
206	R1 = [ P2 ];
207	R3 = [ P4 ];
208	R4 = [ P5 ];
209	R5 = [ FP ];
210	CHECKREG r0, 0x20212207;
211	CHECKREG r1, 0x40414218;
212	CHECKREG r3, 0x8081823A;
213	CHECKREG r4, 0x00010277;
214	CHECKREG r5, 0xA0A1A24B;
215	CHECKREG r7, 0x719A8C77;
216
217	pass
218
219// Pre-load memory witb known data
220// More data is defined than will actually be used
221
222	.data
223
224DATA_ADDR_1:
225	.dd 0x00010203
226	.dd 0x04050607
227	.dd 0x08090A0B
228	.dd 0x0C0D0E0F
229	.dd 0x10111213
230	.dd 0x14151617
231	.dd 0x18191A1B
232	.dd 0x1C1D1E1F
233
234DATA_ADDR_2:
235	.dd 0x20212223
236	.dd 0x24252627
237	.dd 0x28292A2B
238	.dd 0x2C2D2E2F
239	.dd 0x30313233
240	.dd 0x34353637
241	.dd 0x38393A3B
242	.dd 0x3C3D3E3F
243
244DATA_ADDR_3:
245	.dd 0x40414243
246	.dd 0x44454647
247	.dd 0x48494A4B
248	.dd 0x4C4D4E4F
249	.dd 0x50515253
250	.dd 0x54555657
251	.dd 0x58595A5B
252	.dd 0x5C5D5E5F
253
254DATA_ADDR_4:
255	.dd 0x60616263
256	.dd 0x64656667
257	.dd 0x68696A6B
258	.dd 0x6C6D6E6F
259	.dd 0x70717273
260	.dd 0x74757677
261	.dd 0x78797A7B
262	.dd 0x7C7D7E7F
263
264DATA_ADDR_5:
265	.dd 0x80818283
266	.dd 0x84858687
267	.dd 0x88898A8B
268	.dd 0x8C8D8E8F
269	.dd 0x90919293
270	.dd 0x94959697
271	.dd 0x98999A9B
272	.dd 0x9C9D9E9F
273
274DATA_ADDR_6:
275	.dd 0xA0A1A2A3
276	.dd 0xA4A5A6A7
277	.dd 0xA8A9AAAB
278	.dd 0xACADAEAF
279	.dd 0xB0B1B2B3
280	.dd 0xB4B5B6B7
281	.dd 0xB8B9BABB
282	.dd 0xBCBDBEBF
283
284DATA_ADDR_7:
285	.dd 0xC0C1C2C3
286	.dd 0xC4C5C6C7
287	.dd 0xC8C9CACB
288	.dd 0xCCCDCECF
289	.dd 0xD0D1D2D3
290	.dd 0xD4D5D6D7
291	.dd 0xD8D9DADB
292	.dd 0xDCDDDEDF
293	.dd 0xE0E1E2E3
294	.dd 0xE4E5E6E7
295	.dd 0xE8E9EAEB
296	.dd 0xECEDEEEF
297	.dd 0xF0F1F2F3
298	.dd 0xF4F5F6F7
299	.dd 0xF8F9FAFB
300	.dd 0xFCFDFEFF
301