]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - sim/testsuite/sim/bfin/pushpopreg_1.s
* elfxx-tilegx.c (tilegx_elf_relocate_section): Silence bogus warning.
[thirdparty/binutils-gdb.git] / sim / testsuite / sim / bfin / pushpopreg_1.s
1 # mach: bfin
2
3 .include "testutils.inc"
4 start
5
6
7 r0.l = 0x1111;
8 r0.h = 0x0011;
9 r1.l = 0x2222;
10 r1.h = 0x0022;
11 r2.l = 0x3333;
12 r2.h = 0x0033;
13 r3.l = 0x4444;
14 r3.h = 0x0044;
15 r4.l = 0x5555;
16 r4.h = 0x0055;
17 r5.l = 0x6666;
18 r5.h = 0x0066;
19 r6.l = 0x7777;
20 r6.h = 0x0077;
21 r7.l = 0x8888;
22 r7.h = 0x0088;
23 p1.l = 0x5a5a;
24 p1.h = 0x005a;
25 p2.l = 0x6363;
26 p2.h = 0x0063;
27 p3.l = 0x7777;
28 p3.h = 0x0077;
29 p4.l = 0x7878;
30 p4.h = 0x0078;
31 p5.l = 0x3e3e;
32 p5.h = 0x003e;
33 sp = 0x4000(x);
34
35 jump.s prog_start;
36
37 nop;
38 nop; // ADD reg update to roll back
39 nop;
40
41 prog_start:
42 nop;
43 [--sp] = r0;
44 [--sp] = r1;
45 [--sp] = r2;
46 [--sp] = r3;
47 [--sp] = r4;
48 [--sp] = r5;
49 [--sp] = r6;
50 [--sp] = r7;
51 [--sp] = p0;
52 [--sp] = p1;
53 [--sp] = p2;
54 [--sp] = p3;
55 [--sp] = p4;
56 [--sp] = p5;
57
58 nop;
59 nop;
60 nop;
61 nop;
62 r0.l = 0xdead;
63 r0.h = 0xdead;
64 r1.l = 0xdead;
65 r1.h = 0xdead;
66 r2.l = 0xdead;
67 r2.h = 0xdead;
68 r3.l = 0xdead;
69 r3.h = 0xdead;
70 r4.l = 0xdead;
71 r4.h = 0xdead;
72 r5.l = 0xdead;
73 r5.h = 0xdead;
74 r6.l = 0xdead;
75 r6.h = 0xdead;
76 r7.l = 0xdead;
77 r7.h = 0xdead;
78 p1.l = 0xdead;
79 p1.h = 0xdead;
80 p2.l = 0xdead;
81 p2.h = 0xdead;
82 p3.l = 0xdead;
83 p3.h = 0xdead;
84 p4.l = 0xdead;
85 p4.h = 0xdead;
86 p5.l = 0xdead;
87 p5.h = 0xdead;
88 nop;
89 nop;
90 nop;
91 r0 = [sp++];
92 r1 = [sp++];
93 r2 = [sp++];
94 r3 = [sp++];
95 r4 = [sp++];
96 r5 = [sp++];
97 r6 = [sp++];
98 r7 = [sp++];
99 p0 = [sp++];
100 p1 = [sp++];
101 p2 = [sp++];
102 p3 = [sp++];
103 p4 = [sp++];
104 p5 = [sp++];
105
106 nop;
107 nop;
108 nop;
109 nop;
110 nop;
111 nop;
112 nop;
113 _tp1:
114 nop;
115 nop;
116 nop;
117 nop;
118 nop;
119 nop;
120 nop;
121 [--sp] = r0;
122 [--sp] = r1;
123 [--sp] = r2;
124 [--sp] = r3;
125 [--sp] = r4;
126 [--sp] = r5;
127 [--sp] = r6;
128 [--sp] = r7;
129 [--sp] = p0;
130 [--sp] = p1;
131 [--sp] = p2;
132 [--sp] = p3;
133 [--sp] = p4;
134 [--sp] = p5;
135
136 nop;
137 nop;
138 nop;
139 nop;
140 r0.l = 0xdead;
141 r0.h = 0xdead;
142 r1.l = 0xdead;
143 r1.h = 0xdead;
144 r2.l = 0xdead;
145 r2.h = 0xdead;
146 r3.l = 0xdead;
147 r3.h = 0xdead;
148 r4.l = 0xdead;
149 r4.h = 0xdead;
150 r5.l = 0xdead;
151 r5.h = 0xdead;
152 r6.l = 0xdead;
153 r6.h = 0xdead;
154 r7.l = 0xdead;
155 r7.h = 0xdead;
156 p1.l = 0xdead;
157 p1.h = 0xdead;
158 p2.l = 0xdead;
159 p2.h = 0xdead;
160 p3.l = 0xdead;
161 p3.h = 0xdead;
162 p4.l = 0xdead;
163 p4.h = 0xdead;
164 p5.l = 0xdead;
165 p5.h = 0xdead;
166 nop;
167 nop;
168 nop;
169 r0 = [sp++];
170 r1 = [sp++];
171 r2 = [sp++];
172 r3 = [sp++];
173 r4 = [sp++];
174 r5 = [sp++];
175 r6 = [sp++];
176 r7 = [sp++];
177 p0 = [sp++];
178 p1 = [sp++];
179 a0.x = [sp++];
180
181 a1.w = r0; //preserve r0
182
183 r0 = a0.x;
184 DBGA(r0.l,0x0063);
185
186 a0.w = [sp++];
187 r0 = a0.w;
188 DBGA(r0.l,0x7777);
189 DBGA(r0.h,0x0077);
190
191 a0 = a1; //perserver r0, still
192
193 a1.x = [sp++];
194 r0 = a1.x;
195 DBGA(r0.l,0x0078);
196
197 a1.w = [sp++];
198 r0 = a1.w;
199 DBGA(r0.l,0x3e3e);
200 DBGA(r0.h,0x003e);
201
202 r0 = a0.w; //restore r0
203
204 nop;
205 nop;
206 nop;
207 nop;
208 nop;
209 nop;
210 nop;
211 _tp2:
212 nop;
213 nop;
214 nop;
215 [--sp] = r0;
216 [--sp] = r1;
217 [--sp] = r2;
218 [--sp] = r3;
219 [--sp] = a0.x;
220 [--sp] = a0.w;
221 [--sp] = a1.x;
222 [--sp] = a1.w;
223 [--sp] = p0;
224 [--sp] = p1;
225 [--sp] = p2;
226 [--sp] = p3;
227 [--sp] = p4;
228 [--sp] = p5;
229
230 nop;
231 nop;
232 nop;
233 nop;
234 r0.l = 0xdead;
235 r0.h = 0xdead;
236 r1.l = 0xdead;
237 r1.h = 0xdead;
238 r2.l = 0xdead;
239 r2.h = 0xdead;
240 r3.l = 0xdead;
241 r3.h = 0xdead;
242 r4.l = 0xdead;
243 r4.h = 0xdead;
244 r5.l = 0xdead;
245 r5.h = 0xdead;
246 r6.l = 0xdead;
247 r6.h = 0xdead;
248 r7.l = 0xdead;
249 r7.h = 0xdead;
250 p1.l = 0xdead;
251 p1.h = 0xdead;
252 p2.l = 0xdead;
253 p2.h = 0xdead;
254 p3.l = 0xdead;
255 p3.h = 0xdead;
256 p4.l = 0xdead;
257 p4.h = 0xdead;
258 p5.l = 0xdead;
259 p5.h = 0xdead;
260 nop;
261 nop;
262 nop;
263 r0 = [sp++];
264 r1 = [sp++];
265 r2 = [sp++];
266 r3 = [sp++];
267 r4 = [sp++];
268 r5 = [sp++];
269 r6 = [sp++];
270 r7 = [sp++];
271 p0 = [sp++];
272 p1 = [sp++];
273 p2 = [sp++];
274 p3 = [sp++];
275 p4 = [sp++];
276 p5 = [sp++];
277
278 nop;
279 nop;
280 nop;
281 nop;
282 nop;
283 nop;
284 nop;
285 _tp3:
286 nop;
287 nop;
288 nop;
289 nop;
290 nop;
291 _halt:
292 pass;