Commit | Line | Data |
---|---|---|
df5b3187 NC |
1 | # Test new instructions |
2 | branchpoint: | |
3 | ||
4 | .text | |
5 | .global bcl | |
6 | bcl: | |
7 | bcl branchpoint | |
8 | ||
9 | .text | |
10 | .global bncl | |
11 | bncl: | |
12 | bncl branchpoint | |
13 | ||
14 | .text | |
15 | .global cmpz | |
16 | cmpz: | |
17 | cmpz fp | |
18 | ||
19 | .text | |
20 | .global cmpeq | |
21 | cmpeq: | |
22 | cmpeq fp, fp | |
23 | ||
24 | .text | |
25 | .global machl1 | |
26 | machl1: | |
27 | machl1 fp, fp | |
28 | ||
29 | .text | |
30 | .global macsl0 | |
31 | msblo: | |
32 | msblo fp, fp | |
33 | ||
34 | .text | |
35 | .global mulwu1 | |
36 | mulwu1: | |
37 | mulwu1 fp, fp | |
38 | ||
39 | .text | |
40 | .global macwu1 | |
41 | macwu1: | |
42 | macwu1 fp, fp | |
43 | ||
44 | .text | |
45 | .global sadd | |
46 | sadd: | |
47 | sadd | |
48 | ||
49 | .text | |
50 | .global satb | |
51 | satb: | |
52 | satb fp, fp | |
53 | ||
54 | ||
55 | .text | |
56 | .global mulhi | |
57 | mulhi: | |
58 | mulhi fp, fp, a1 | |
59 | ||
60 | .text | |
61 | .global mullo | |
62 | mullo: | |
63 | mullo fp, fp, a0 | |
64 | ||
65 | .text | |
66 | .global mulwhi | |
67 | mulwhi: | |
68 | mulwhi fp, fp, a1 | |
69 | ||
70 | .text | |
71 | .global mulwlo | |
72 | mulwlo: | |
73 | mulwlo fp, fp, a0 | |
74 | ||
75 | .text | |
76 | .global machi | |
77 | machi: | |
78 | machi fp, fp, a1 | |
79 | ||
80 | .text | |
81 | .global maclo | |
82 | maclo: | |
83 | maclo fp, fp, a0 | |
84 | ||
85 | .text | |
86 | .global macwhi | |
87 | macwhi: | |
88 | macwhi fp, fp, a1 | |
89 | ||
90 | .text | |
91 | .global macwlo | |
92 | macwlo: | |
93 | macwlo fp, fp, a0 | |
94 | ||
95 | .text | |
96 | .global mvfachi | |
97 | mvfachi: | |
98 | mvfachi fp, a1 | |
99 | ||
100 | .text | |
101 | .global mvfacmi | |
102 | mvfacmi: | |
103 | mvfacmi fp, a1 | |
104 | ||
105 | .text | |
106 | .global mvfaclo | |
107 | mvfaclo: | |
108 | mvfaclo fp, a0 | |
109 | ||
110 | .text | |
111 | .global mvtachi | |
112 | mvtachi: | |
113 | mvtachi fp, a1 | |
114 | ||
115 | .text | |
116 | .global mvtaclo | |
117 | mvtaclo: | |
118 | mvtaclo fp, a0 | |
119 | ||
120 | .text | |
121 | .global rac | |
122 | rac: | |
123 | rac a1 | |
124 | ||
125 | .text | |
126 | .global rach | |
127 | rach: | |
128 | rach a1 | |
129 | ||
130 | # Test explicitly parallel and implicitly parallel instructions | |
131 | # Including apparent instruction sequence reordering. | |
132 | .text | |
133 | .global bc__add | |
134 | bc__add: | |
135 | bc branchpoint || add fp, fp | |
136 | bc branchpoint | |
137 | add fp, fp | |
138 | ||
139 | .text | |
140 | .global bcl__addi | |
141 | bcl__addi: | |
142 | bcl branchpoint || addi fp, #77 | |
143 | addi fp, #77 | |
144 | bcl branchpoint | |
145 | ||
146 | .text | |
147 | .global bl__addv | |
148 | bl__addv: | |
149 | bl branchpoint || addv fp, fp | |
150 | addv fp, fp | |
151 | bl branchpoint | |
152 | ||
153 | .text | |
154 | .global bnc__addx | |
155 | bnc__addx: | |
156 | bnc branchpoint || addx fp, fp | |
157 | bnc branchpoint | |
158 | addx fp, fp | |
159 | ||
160 | .text | |
161 | .global bncl__and | |
162 | bncl__and: | |
163 | bncl branchpoint || and fp, fp | |
164 | bncl branchpoint | |
165 | and fp, fp | |
166 | ||
167 | .text | |
168 | .global bra__cmp | |
169 | bra__cmp: | |
170 | bra branchpoint || cmp fp, fp | |
171 | cmp fp, fp | |
172 | bra branchpoint | |
173 | ||
174 | .text | |
175 | .global jl__cmpeq | |
176 | jl__cmpeq: | |
177 | jl fp || cmpeq fp, fp | |
178 | cmpeq fp, fp | |
179 | jl fp | |
180 | ||
181 | .text | |
182 | .global jmp__cmpu | |
183 | jmp__cmpu: | |
184 | jmp fp || cmpu fp, fp | |
185 | cmpu fp, fp | |
186 | jmp fp | |
187 | ||
188 | .text | |
189 | .global ld__cmpz | |
190 | ld__cmpz: | |
191 | ld fp, @fp || cmpz r1 | |
192 | cmpz r1 | |
193 | ld fp, @fp | |
194 | ||
195 | .text | |
196 | .global ld__ldi | |
197 | ld__ldi: | |
198 | ld fp, @r1+ || ldi r2, #77 | |
199 | ld fp, @r1+ | |
200 | ldi r2, #77 | |
201 | ||
202 | .text | |
203 | .global ldb__mv | |
204 | ldb__mv: | |
205 | ldb fp, @fp || mv r2, fp | |
206 | ldb fp, @fp | |
207 | mv r2, fp | |
208 | ||
209 | .text | |
210 | .global ldh__neg | |
211 | ldh__neg: | |
212 | ldh fp, @fp || neg r2, fp | |
213 | ldh fp, @fp | |
214 | neg r2, fp | |
215 | ||
216 | .text | |
217 | .global ldub__nop | |
218 | ldub__nop: | |
219 | ldub fp, @fp || nop | |
220 | ldub fp, @fp | |
221 | nop | |
222 | ||
223 | .text | |
224 | .global lduh__not | |
225 | lduh__not: | |
226 | lduh fp, @fp || not r2, fp | |
227 | lduh fp, @fp | |
228 | not r2, fp | |
229 | ||
230 | .text | |
231 | .global lock__or | |
232 | lock__or: | |
233 | lock fp, @fp || or r2, fp | |
234 | lock fp, @fp | |
235 | or r2, fp | |
236 | ||
237 | .text | |
238 | .global mvfc__sub | |
239 | mvfc__sub: | |
240 | mvfc fp, cr1 || sub r2, fp | |
241 | mvfc fp, cr1 | |
242 | sub r2, fp | |
243 | ||
244 | .text | |
245 | .global mvtc__subv | |
246 | mvtc__subv: | |
247 | mvtc fp, cr0 || subv r2, fp | |
248 | mvtc fp, cr0 | |
249 | subv r2, fp | |
250 | ||
251 | .text | |
252 | .global rte__subx | |
253 | rte__subx: | |
254 | rte || subx r2, fp | |
255 | rte | |
256 | subx r2, fp | |
257 | ||
258 | .text | |
259 | .global sll__xor | |
260 | sll__xor: | |
261 | sll fp, r1 || xor r2, fp | |
262 | sll fp, r1 | |
263 | xor r2, fp | |
264 | ||
265 | .text | |
266 | .global slli__machi | |
267 | slli__machi: | |
268 | slli fp, #22 || machi r2, fp | |
269 | slli fp, #22 | |
270 | machi r2, fp | |
271 | ||
272 | .text | |
273 | .global sra__machl1 | |
274 | sra__machl1: | |
275 | sra fp, fp || machl1 r2, fp | |
276 | sra fp, fp | |
277 | machl1 r2, fp | |
278 | ||
279 | .text | |
280 | .global srai__maclo | |
281 | srai__maclo: | |
282 | srai fp, #22 || maclo r2, fp | |
283 | srai fp, #22 | |
284 | maclo r2, fp | |
285 | ||
286 | .text | |
287 | .global srl__macwhi | |
288 | srl__macwhi: | |
289 | srl fp, fp || macwhi r2, fp | |
290 | srl fp, fp | |
291 | macwhi r2, fp | |
292 | ||
293 | .text | |
294 | .global srli__macwlo | |
295 | srli__macwlo: | |
296 | srli fp, #22 || macwlo r2, fp | |
297 | srli fp, #22 | |
298 | macwlo r2, fp | |
299 | ||
300 | .text | |
301 | .global st__macwu1 | |
302 | st__macwu1: | |
303 | st fp, @fp || macwu1 r2, fp | |
304 | st fp, @fp | |
305 | macwu1 r2, fp | |
306 | ||
307 | .text | |
308 | .global st__msblo | |
309 | st__msblo: | |
310 | st fp, @+fp || msblo r2, fp | |
311 | st fp, @+fp | |
312 | msblo r2, fp | |
313 | ||
314 | .text | |
315 | .global st__mul | |
316 | st__mul: | |
317 | st fp, @-fp || mul r2, fp | |
318 | st fp, @-fp | |
319 | mul r2, fp | |
320 | ||
321 | .text | |
322 | .global stb__mulhi | |
323 | stb__mulhi: | |
324 | stb fp, @fp || mulhi r2, fp | |
325 | stb fp, @fp | |
326 | mulhi r2, fp | |
327 | ||
328 | .text | |
329 | .global sth__mullo | |
330 | sth__mullo: | |
331 | sth fp, @fp || mullo r2, fp | |
332 | sth fp, @fp | |
333 | mullo r2, fp | |
334 | ||
335 | .text | |
336 | .global trap__mulwhi | |
337 | trap__mulwhi: | |
338 | trap 2 || mulwhi r2, fp | |
339 | trap 2 | |
340 | mulwhi r2, fp | |
341 | ||
342 | .text | |
343 | .global unlock__mulwlo | |
344 | unlock__mulwlo: | |
345 | unlock fp, @fp || mulwlo r2, fp | |
346 | unlock fp, @fp | |
347 | mulwlo r2, fp | |
348 | ||
349 | .text | |
350 | .global add__mulwu1 | |
351 | add__mulwu1: | |
352 | add fp, fp || mulwu1 r2, fp | |
353 | add fp, fp | |
354 | mulwu1 r2, fp | |
355 | ||
356 | .text | |
357 | .global addi__mvfachi | |
358 | addi__mvfachi: | |
359 | addi fp, #77 || mvfachi r2, a0 | |
360 | addi fp, #77 | |
361 | mvfachi r2, a0 | |
362 | ||
363 | .text | |
364 | .global addv__mvfaclo | |
365 | addv__mvfaclo: | |
366 | addv fp, fp || mvfaclo r2, a1 | |
367 | addv fp, fp | |
368 | mvfaclo r2, a1 | |
369 | ||
370 | .text | |
371 | .global addx__mvfacmi | |
372 | addx__mvfacmi: | |
373 | addx fp, fp || mvfacmi r2, a0 | |
374 | addx fp, fp | |
375 | mvfacmi r2, a0 | |
376 | ||
377 | .text | |
378 | .global and__mvtachi | |
379 | and__mvtachi: | |
380 | and fp, fp || mvtachi r2, a0 | |
381 | and fp, fp | |
382 | mvtachi r2, a0 | |
383 | ||
384 | .text | |
385 | .global cmp__mvtaclo | |
386 | cmp__mvtaclo: | |
387 | cmp fp, fp || mvtaclo r2, a0 | |
388 | cmp fp, fp | |
389 | mvtaclo r2, a0 | |
390 | ||
391 | .text | |
392 | .global cmpeq__rac | |
393 | cmpeq__rac: | |
394 | cmpeq fp, fp || rac a1 | |
395 | cmpeq fp, fp | |
396 | rac a1 | |
397 | ||
398 | .text | |
399 | .global cmpu__rach | |
400 | cmpu__rach: | |
401 | cmpu fp, fp || rach a0 | |
402 | cmpu fp, fp | |
403 | rach a0 | |
404 | ||
405 | .text | |
406 | .global cmpz__sadd | |
407 | cmpz__sadd: | |
408 | cmpz fp || sadd | |
409 | cmpz fp | |
410 | sadd | |
411 | ||
412 | ||
413 | ||
414 | # Test private instructions | |
415 | .text | |
416 | .global sc | |
417 | sc: | |
418 | sc | |
419 | sadd | |
420 | ||
421 | .text | |
422 | .global snc | |
423 | snc: | |
424 | snc | |
425 | sadd | |
426 | ||
427 | .text | |
428 | .global jc | |
429 | jc: | |
430 | jc fp | |
431 | ||
432 | .text | |
433 | .global jnc | |
434 | jnc: | |
435 | jnc fp | |
436 | ||
437 | .text | |
438 | .global pcmpbz | |
439 | pcmpbz: | |
440 | pcmpbz fp | |
441 | ||
442 | .text | |
443 | .global sat | |
444 | sat: | |
445 | sat fp, fp | |
446 | ||
447 | .text | |
448 | .global sath | |
449 | sath: | |
450 | sath fp, fp | |
451 | ||
452 | ||
453 | # Test parallel versions of the private instructions | |
454 | ||
455 | .text | |
456 | .global jc__pcmpbz | |
457 | jc__pcmpbz: | |
458 | jc fp || pcmpbz fp | |
459 | jc fp | |
460 | pcmpbz fp | |
461 | ||
462 | .text | |
463 | .global jnc__ldi | |
464 | jnc__ldi: | |
465 | jnc fp || ldi fp, #77 | |
466 | jnc fp | |
467 | ldi fp, #77 | |
468 | ||
469 | .text | |
470 | .global sc__mv | |
471 | sc__mv: | |
472 | sc || mv fp, r2 | |
473 | sc | |
474 | mv fp, r2 | |
475 | ||
476 | .text | |
477 | .global snc__neg | |
478 | snc__neg: | |
479 | snc || neg fp, r2 | |
480 | snc | |
481 | neg fp, r2 | |
482 | ||
483 | ||
484 | ||
485 | ||
486 |