tizen 2.4 release
[external/binutils.git] / sim / testsuite / sim / bfin / c_ldstpmod_st_dr_hi.s
1 //Original:testcases/core/c_ldstpmod_st_dr_hi/c_ldstpmod_st_dr_hi.dsp
2 // Spec Reference: c_ldstpmod store dreg hi
3 # mach: bfin
4
5 .include "testutils.inc"
6         start
7
8 // set all regs
9
10 init_i_regs 0;
11 init_b_regs 0;
12 init_l_regs 0;
13 init_m_regs 0;
14 I0 = P3;
15 I2 = SP;
16
17 // initial values
18         imm32 r0, 0x600f5000;
19         imm32 r1, 0x700e6001;
20         imm32 r2, 0x800d7002;
21         imm32 r3, 0x900c8003;
22         imm32 r4, 0xa00b9004;
23         imm32 r5, 0xb00aa005;
24         imm32 r6, 0xc009b006;
25         imm32 r7, 0xd008c007;
26         I1 = P3; P3 = I0; I3 = SP; SP = I2;
27         loadsym p1, DATA_ADDR_1, 0x00;
28         loadsym p2, DATA_ADDR_2, 0x02;
29         loadsym i1, DATA_ADDR_3, 0x04;
30         loadsym p4, DATA_ADDR_4, 0x06;
31         loadsym p5, DATA_ADDR_5, 0x08;
32         loadsym fp, DATA_ADDR_6, 0x0a;
33         loadsym i3, DATA_ADDR_7, 0x0c;
34         P3 = I1; SP = I3;
35         W [ P1 ] = R1.H;
36         W [ P2 ] = R2.H;
37         W [ P3 ] = R3.H;
38         W [ P4 ] = R4.H;
39         W [ P5 ] = R5.H;
40         W [ SP ] = R6.H;
41         W [ FP ] = R0.H;
42         R6.H = W [ P1 ];
43         R5.H = W [ P2 ];
44         R4.H = W [ P3 ];
45         R3.H = W [ P4 ];
46         R2.H = W [ P5 ];
47         R0.H = W [ SP ];
48         R1.H = W [ FP ];
49         CHECKREG r0, 0xC0095000;
50         CHECKREG r1, 0x600F6001;
51         CHECKREG r2, 0xB00A7002;
52         CHECKREG r3, 0xA00B8003;
53         CHECKREG r4, 0x900C9004;
54         CHECKREG r5, 0x800DA005;
55         CHECKREG r6, 0x700EB006;
56
57 // initial values
58         imm32 r0, 0x105f50a0;
59         imm32 r1, 0x204e60a1;
60         imm32 r2, 0x300370a2;
61         imm32 r3, 0x402c80a3;
62         imm32 r4, 0x501b90a4;
63         imm32 r5, 0x600aa0a5;
64         imm32 r6, 0x7019b0a6;
65         imm32 r7, 0xd028c0a7;
66         I1 = P3; P3 = I0; I3 = SP; SP = I2;
67         loadsym p1, DATA_ADDR_1, 0x0c;
68         loadsym p2, DATA_ADDR_2, 0x0a;
69         loadsym i1, DATA_ADDR_3, 0x08;
70         loadsym p4, DATA_ADDR_4, 0x06;
71         loadsym p5, DATA_ADDR_5, 0x04;
72         loadsym fp, DATA_ADDR_6, 0x02;
73         loadsym i3, DATA_ADDR_7, 0x00;
74         P3 = I1; SP = I3;
75         W [ P1 ] = R2.H;
76         W [ P2 ] = R3.H;
77         W [ P3 ] = R4.H;
78         W [ P4 ] = R5.H;
79         W [ P5 ] = R6.H;
80         W [ SP ] = R7.H;
81         W [ FP ] = R1.H;
82         R1.L = W [ P1 ];
83         R2.L = W [ P2 ];
84         R3.L = W [ P3 ];
85         R4.L = W [ P4 ];
86         R5.L = W [ P5 ];
87         R6.L = W [ SP ];
88         R0.L = W [ FP ];
89         CHECKREG r0, 0x105F204E;
90         CHECKREG r1, 0x204E3003;
91         CHECKREG r2, 0x3003402C;
92         CHECKREG r3, 0x402C501B;
93         CHECKREG r4, 0x501B600A;
94         CHECKREG r5, 0x600A7019;
95         CHECKREG r6, 0x7019D028;
96
97 // initial values
98         imm32 r0, 0x10bf50b0;
99         imm32 r1, 0x20be60b1;
100         imm32 r2, 0x30bd70b2;
101         imm32 r3, 0x40bc80b3;
102         imm32 r4, 0x55bb90b4;
103         imm32 r5, 0x12345675;
104         imm32 r6, 0x70b9b0b6;
105         imm32 r7, 0x80b8c0b7;
106         I1 = P3; P3 = I0; I3 = SP; SP = I2;
107         loadsym p1, DATA_ADDR_1, 0x10;
108         loadsym p2, DATA_ADDR_2, 0x02;
109         loadsym i1, DATA_ADDR_3, 0x00;
110         loadsym p4, DATA_ADDR_4, 0x08;
111         loadsym p5, DATA_ADDR_5, 0x04;
112         loadsym fp, DATA_ADDR_6, 0x06;
113         loadsym i3, DATA_ADDR_7, 0x02;
114         P3 = I1; SP = I3;
115         W [ P1 ] = R5.H;
116         W [ P2 ] = R6.H;
117         W [ P3 ] = R7.H;
118         W [ P4 ] = R0.H;
119         W [ P5 ] = R1.H;
120         W [ SP ] = R2.H;
121         W [ FP ] = R3.H;
122         R5.H = W [ P1 ];
123         R4.H = W [ P2 ];
124         R3.H = W [ P3 ];
125         R2.H = W [ P4 ];
126         R1.H = W [ P5 ];
127         R0.H = W [ SP ];
128         R6.H = W [ FP ];
129         CHECKREG r0, 0x30BD50B0;
130         CHECKREG r1, 0x20BE60B1;
131         CHECKREG r2, 0x10BF70B2;
132         CHECKREG r3, 0x80B880B3;
133         CHECKREG r4, 0x70B990B4;
134         CHECKREG r5, 0x12345675;
135         CHECKREG r6, 0x40BCB0B6;
136
137         P3 = I0; SP = I2;
138         pass
139
140 // Pre-load memory with known data
141 // More data is defined than will actually be used
142
143         .data
144 DATA_ADDR_1:
145         .dd 0x00010203
146         .dd 0x04050607
147         .dd 0x08090A0B
148         .dd 0x0C0D0E0F
149         .dd 0x10111213
150         .dd 0x14151617
151         .dd 0x18191A1B
152         .dd 0x1C1D1E1F
153         .dd 0x11223344
154         .dd 0x55667788
155         .dd 0x99717273
156         .dd 0x74757677
157         .dd 0x82838485
158         .dd 0x86878889
159         .dd 0x80818283
160         .dd 0x84858687
161         .dd 0x01020304
162         .dd 0x05060708
163         .dd 0x09101112
164         .dd 0x14151617
165         .dd 0x18192021
166         .dd 0x22232425
167         .dd 0x26272829
168         .dd 0x30313233
169         .dd 0x34353637
170         .dd 0x38394041
171         .dd 0x42434445
172         .dd 0x46474849
173         .dd 0x50515253
174         .dd 0x54555657
175         .dd 0x58596061
176         .dd 0x62636465
177         .dd 0x66676869
178         .dd 0x74555657
179         .dd 0x78596067
180         .dd 0x72636467
181         .dd 0x76676867
182
183 DATA_ADDR_2:
184         .dd 0x20212223
185         .dd 0x24252627
186         .dd 0x28292A2B
187         .dd 0x2C2D2E2F
188         .dd 0x30313233
189         .dd 0x34353637
190         .dd 0x38393A3B
191         .dd 0x3C3D3E3F
192         .dd 0x91929394
193         .dd 0x95969798
194         .dd 0x99A1A2A3
195         .dd 0xA5A6A7A8
196         .dd 0xA9B0B1B2
197         .dd 0xB3B4B5B6
198         .dd 0xB7B8B9C0
199         .dd 0x70717273
200         .dd 0x74757677
201         .dd 0x78798081
202         .dd 0x82838485
203         .dd 0x86C283C4
204         .dd 0x81C283C4
205         .dd 0x82C283C4
206         .dd 0x83C283C4
207         .dd 0x84C283C4
208         .dd 0x85C283C4
209         .dd 0x86C283C4
210         .dd 0x87C288C4
211         .dd 0x88C283C4
212         .dd 0x89C283C4
213         .dd 0x80C283C4
214         .dd 0x81C283C4
215         .dd 0x82C288C4
216         .dd 0x94555659
217         .dd 0x98596069
218         .dd 0x92636469
219         .dd 0x96676869
220
221 DATA_ADDR_3:
222         .dd 0x40414243
223         .dd 0x44454647
224         .dd 0x48494A4B
225         .dd 0x4C4D4E4F
226         .dd 0x50515253
227         .dd 0x54555657
228         .dd 0x58595A5B
229         .dd 0xC5C6C7C8
230         .dd 0xC9CACBCD
231         .dd 0xCFD0D1D2
232         .dd 0xD3D4D5D6
233         .dd 0xD7D8D9DA
234         .dd 0xDBDCDDDE
235         .dd 0xDFE0E1E2
236         .dd 0xE3E4E5E6
237         .dd 0x91E899EA
238         .dd 0x92E899EA
239         .dd 0x93E899EA
240         .dd 0x94E899EA
241         .dd 0x95E899EA
242         .dd 0x96E899EA
243         .dd 0x97E899EA
244         .dd 0x98E899EA
245         .dd 0x99E899EA
246         .dd 0x91E899EA
247         .dd 0x92E899EA
248         .dd 0x93E899EA
249         .dd 0x94E899EA
250         .dd 0x95E899EA
251         .dd 0x96E899EA
252         .dd 0x977899EA
253         .dd 0xa455565a
254         .dd 0xa859606a
255         .dd 0xa263646a
256         .dd 0xa667686a
257
258 DATA_ADDR_4:
259         .dd 0x60616263
260         .dd 0x64656667
261         .dd 0x68696A6B
262         .dd 0x6C6D6E6F
263         .dd 0x70717273
264         .dd 0x74757677
265         .dd 0x78797A7B
266         .dd 0x7C7D7E7F
267         .dd 0xEBECEDEE
268         .dd 0xF3F4F5F6
269         .dd 0xF7F8F9FA
270         .dd 0xFBFCFDFE
271         .dd 0xFF000102
272         .dd 0x03040506
273         .dd 0x0708090A
274         .dd 0x0B0CAD0E
275         .dd 0xAB0CAD01
276         .dd 0xAB0CAD02
277         .dd 0xAB0CAD03
278         .dd 0xAB0CAD04
279         .dd 0xAB0CAD05
280         .dd 0xAB0CAD06
281         .dd 0xAB0CAA07
282         .dd 0xAB0CAD08
283         .dd 0xAB0CAD09
284         .dd 0xA00CAD1E
285         .dd 0xA10CAD2E
286         .dd 0xA20CAD3E
287         .dd 0xA30CAD4E
288         .dd 0xA40CAD5E
289         .dd 0xA50CAD6E
290         .dd 0xA60CAD7E
291         .dd 0xB455565B
292         .dd 0xB859606B
293         .dd 0xB263646B
294         .dd 0xB667686B
295
296 DATA_ADDR_5:
297         .dd 0x80818283
298         .dd 0x84858687
299         .dd 0x88898A8B
300         .dd 0x8C8D8E8F
301         .dd 0x90919293
302         .dd 0x94959697
303         .dd 0x98999A9B
304         .dd 0x9C9D9E9F
305         .dd 0x0F101213
306         .dd 0x14151617
307         .dd 0x18191A1B
308         .dd 0x1C1D1E1F
309         .dd 0x20212223
310         .dd 0x24252627
311         .dd 0x28292A2B
312         .dd 0x2C2D2E2F
313         .dd 0xBC0DBE21
314         .dd 0xBC1DBE22
315         .dd 0xBC2DBE23
316         .dd 0xBC3DBE24
317         .dd 0xBC4DBE65
318         .dd 0xBC5DBE27
319         .dd 0xBC6DBE28
320         .dd 0xBC7DBE29
321         .dd 0xBC8DBE2F
322         .dd 0xBC9DBE20
323         .dd 0xBCADBE21
324         .dd 0xBCBDBE2F
325         .dd 0xBCCDBE23
326         .dd 0xBCDDBE24
327         .dd 0xBCFDBE25
328         .dd 0xC455565C
329         .dd 0xC859606C
330         .dd 0xC263646C
331         .dd 0xC667686C
332         .dd 0xCC0DBE2C
333
334 DATA_ADDR_6:
335         .dd 0x00010203
336         .dd 0x04050607
337         .dd 0x08090A0B
338         .dd 0x0C0D0E0F
339         .dd 0x10111213
340         .dd 0x14151617
341         .dd 0x18191A1B
342         .dd 0x1C1D1E1F
343         .dd 0x20212223
344         .dd 0x24252627
345         .dd 0x28292A2B
346         .dd 0x2C2D2E2F
347         .dd 0x30313233
348         .dd 0x34353637
349         .dd 0x38393A3B
350         .dd 0x3C3D3E3F
351         .dd 0x40414243
352         .dd 0x44454647
353         .dd 0x48494A4B
354         .dd 0x4C4D4E4F
355         .dd 0x50515253
356         .dd 0x54555657
357         .dd 0x58595A5B
358         .dd 0x5C5D5E5F
359         .dd 0x60616263
360         .dd 0x64656667
361         .dd 0x68696A6B
362         .dd 0x6C6D6E6F
363         .dd 0x70717273
364         .dd 0x74757677
365         .dd 0x78797A7B
366         .dd 0x7C7D7E7F
367
368 DATA_ADDR_7:
369         .dd 0x80818283
370         .dd 0x84858687
371         .dd 0x88898A8B
372         .dd 0x8C8D8E8F
373         .dd 0x90919293
374         .dd 0x94959697
375         .dd 0x98999A9B
376         .dd 0x9C9D9E9F
377         .dd 0xA0A1A2A3
378         .dd 0xA4A5A6A7
379         .dd 0xA8A9AAAB
380         .dd 0xACADAEAF
381         .dd 0xB0B1B2B3
382         .dd 0xB4B5B6B7
383         .dd 0xB8B9BABB
384         .dd 0xBCBDBEBF
385         .dd 0xC0C1C2C3
386         .dd 0xC4C5C6C7
387         .dd 0xC8C9CACB
388         .dd 0xCCCDCECF
389         .dd 0xD0D1D2D3
390         .dd 0xD4D5D6D7
391         .dd 0xD8D9DADB
392         .dd 0xDCDDDEDF
393         .dd 0xE0E1E2E3
394         .dd 0xE4E5E6E7
395         .dd 0xE8E9EAEB
396         .dd 0xECEDEEEF
397         .dd 0xF0F1F2F3
398         .dd 0xF4F5F6F7
399         .dd 0xF8F9FAFB
400         .dd 0xFCFDFEFF