* gas/config/tc-arm.c (arm_ext_mp): Add.
[deliverable/binutils-gdb.git] / gas / testsuite / gas / arm / thumb32.s
1 .text
2 .thumb
3 .syntax unified
4
5 encode_thumb32_immediate:
6 orr r0, r1, #0x00000000
7 orr r0, r1, #0x000000a5
8 orr r0, r1, #0x00a500a5
9 orr r0, r1, #0xa500a500
10 orr r0, r1, #0xa5a5a5a5
11
12 orr r0, r1, #0xa5 << 31
13 orr r0, r1, #0xa5 << 30
14 orr r0, r1, #0xa5 << 29
15 orr r0, r1, #0xa5 << 28
16 orr r0, r1, #0xa5 << 27
17 orr r0, r1, #0xa5 << 26
18 orr r0, r1, #0xa5 << 25
19 orr r0, r1, #0xa5 << 24
20 orr r0, r1, #0xa5 << 23
21 orr r0, r1, #0xa5 << 22
22 orr r0, r1, #0xa5 << 21
23 orr r0, r1, #0xa5 << 20
24 orr r0, r1, #0xa5 << 19
25 orr r0, r1, #0xa5 << 18
26 orr r0, r1, #0xa5 << 17
27 orr r0, r1, #0xa5 << 16
28 orr r0, r1, #0xa5 << 15
29 orr r0, r1, #0xa5 << 14
30 orr r0, r1, #0xa5 << 13
31 orr r0, r1, #0xa5 << 12
32 orr r0, r1, #0xa5 << 11
33 orr r0, r1, #0xa5 << 10
34 orr r0, r1, #0xa5 << 9
35 orr r0, r1, #0xa5 << 8
36 orr r0, r1, #0xa5 << 7
37 orr r0, r1, #0xa5 << 6
38 orr r0, r1, #0xa5 << 5
39 orr r0, r1, #0xa5 << 4
40 orr r0, r1, #0xa5 << 3
41 orr r0, r1, #0xa5 << 2
42 orr r0, r1, #0xa5 << 1
43
44 add_sub:
45 @ Should be format 1, Some have equivalent format 2 encodings
46 adds r0, r0, #0
47 adds r5, r0, #0
48 adds r0, r5, #0
49 adds r0, r2, #5
50
51 adds r0, #129 @ format 2
52 adds r0, r0, #129
53 adds r5, #126
54
55 adds r0, r0, r0 @ format 3
56 adds r5, r0, r0
57 adds r0, r5, r0
58 adds r0, r0, r5
59 adds r1, r2, r3
60
61 add r8, r0 @ format 4
62 add r0, r8
63 add r0, r8, r0
64 add r0, r0, r8
65 add r8, r0, r0 @ ... not this one
66
67 add r1, r0
68 add r0, r1
69
70 add r0, pc, #0 @ format 5
71 add r5, pc, #0
72 add r0, pc, #516
73
74 add r0, sp, #0 @ format 6
75 add r5, sp, #0
76 add r0, sp, #516
77
78 add sp, #0 @ format 7
79 add sp, sp, #0
80 add sp, #260
81
82 add.w r0, r0, #0 @ T32 format 1
83 adds.w r0, r0, #0
84 add.w r9, r0, #0
85 add.w r0, r9, #0
86 add.w r0, r0, #129
87 adds r5, r3, #0x10000
88 add r0, sp, #1
89 add r9, sp, #0
90 add.w sp, sp, #4
91
92 add.w r0, r0, r0 @ T32 format 2
93 adds.w r0, r0, r0
94 add.w r9, r0, r0
95 add.w r0, r9, r0
96 add.w r0, r0, r9
97
98 add.w r8, r9, r10
99 add.w r8, r9, r10, lsl #17
100 add.w r8, r8, r10, lsr #32
101 add.w r8, r8, r10, lsr #17
102 add.w r8, r9, r10, asr #32
103 add.w r8, r9, r10, asr #17
104 add.w r8, r9, r10, rrx
105 add.w r8, r9, r10, ror #17
106
107 subs r0, r0, #0 @ format 1
108 subs r5, r0, #0
109 subs r0, r5, #0
110 subs r0, r2, #5
111
112 subs r0, r0, #129
113 subs r5, #8
114
115 subs r0, r0, r0 @ format 3
116 subs r5, r0, r0
117 subs r0, r5, r0
118 subs r0, r0, r5
119
120 sub sp, #260 @ format 4
121 sub sp, sp, #260
122
123 subs r8, r0 @ T32 format 2
124 subs r0, r8
125 subs r0, #260 @ T32 format 1
126 subs.w r1, r2, #4
127 subs r5, r3, #0x10000
128 sub r1, sp, #4
129 sub r9, sp, #0
130 sub.w sp, sp, #4
131
132 arit3:
133 .macro arit3 op ops opw opsw
134 \ops r0, r0
135 \ops r5, r0
136 \ops r0, r5
137 \ops r0, r0, r5
138 \ops r0, r5, r0
139 \op r0, r5, r0
140 \op r0, r1, r2
141 \op r9, r0, r0
142 \op r0, r9, r0
143 \op r0, r0, r9
144 \opsw r0, r0, r0
145 \opw r0, r1, r2, asr #17
146 \opw r0, r1, #129
147 .endm
148
149 arit3 adc adcs adc.w adcs.w
150 arit3 and ands and.w ands.w
151 arit3 bic bics bic.w bics.w
152 arit3 eor eors eor.w eors.w
153 arit3 orr orrs orr.w orrs.w
154 arit3 rsb rsbs rsb.w rsbs.w
155 arit3 sbc sbcs sbc.w sbcs.w
156 arit3 orn orns orn orns
157
158 .purgem arit3
159
160 bfc_bfi_bfx:
161 bfc r0, #0, #1
162 bfc r9, #0, #1
163 bfi r9, #0, #0, #1
164 bfc r0, #21, #1
165 bfc r0, #0, #18
166
167 bfi r0, r0, #0, #1
168 bfi r9, r0, #0, #1
169 bfi r0, r9, #0, #1
170 bfi r0, r0, #21, #1
171 bfi r0, r0, #0, #18
172
173 sbfx r0, r0, #0, #1
174 ubfx r9, r0, #0, #1
175 sbfx r0, r9, #0, #1
176 ubfx r0, r0, #21, #1
177 sbfx r0, r0, #0, #18
178
179 .globl branches
180 branches:
181 .macro bra op
182 \op 1b
183 \op 1f
184 .endm
185 1:
186 bra beq.n
187 bra bne.n
188 bra bcs.n
189 bra bhs.n
190 bra bcc.n
191 bra bul.n
192 bra blo.n
193 bra bmi.n
194 bra bpl.n
195 bra bvs.n
196 bra bvc.n
197 bra bhi.n
198 bra bls.n
199 bra bvc.n
200 bra bhi.n
201 bra bls.n
202 bra bge.n
203 bra blt.n
204 bra bgt.n
205 bra ble.n
206 bra bal.n
207 bra b.n
208 @ bl, blx have no short form.
209 .balign 4
210 1:
211 bra beq.w
212 bra bne.w
213 bra bcs.w
214 bra bhs.w
215 bra bcc.w
216 bra bul.w
217 bra blo.w
218 bra bmi.w
219 bra bpl.w
220 bra bvs.w
221 bra bvc.w
222 bra bhi.w
223 bra bls.w
224 bra bvc.w
225 bra bhi.w
226 bra bls.w
227 bra bge.w
228 bra blt.w
229 bra bgt.w
230 bra ble.w
231 bra b.w
232 bra bl
233 bra blx
234 .balign 4
235 1:
236 bx r9
237 blx r0
238 blx r9
239 bxj r0
240 bxj r9
241 .purgem bra
242
243 clz:
244 clz r0, r0
245 clz r9, r0
246 clz r0, r9
247
248 cps:
249 cpsie f
250 cpsid i
251 cpsie a
252 cpsid.w f
253 cpsie.w i
254 cpsid.w a
255 cpsie i, #0
256 cpsid i, #17
257 cps #0
258 cps #17
259
260 cpy:
261 cpy r0, r0
262 cpy r9, r0
263 cpy r0, r9
264 cpy.w r0, r0
265 cpy.w r9, r0
266 cpy.w r0, r9
267
268 czb:
269 cbnz r0, 2f
270 cbz r5, 1f
271
272 nop_hint:
273 nop
274 1: yield
275 2: wfe
276 wfi
277 sev
278
279 nop.w
280 yield.w
281 wfe.w
282 wfi.w
283 sev.w
284
285 nop {9}
286 nop {129}
287
288 it:
289 .macro nop1 cond ncond a
290 .ifc \a,t
291 nop\cond
292 .else
293 nop\ncond
294 .endif
295 .endm
296 .macro it0 cond m=
297 it\m \cond
298 nop\cond
299 .endm
300 .macro it1 cond ncond a m=
301 it0 \cond \a\m
302 nop1 \cond \ncond \a
303 .endm
304 .macro it2 cond ncond a b m=
305 it1 \cond \ncond \a \b\m
306 nop1 \cond \ncond \b
307 .endm
308 .macro it3 cond ncond a b c
309 it2 \cond \ncond \a \b \c
310 nop1 \cond \ncond \c
311 .endm
312
313 it0 eq
314 it0 ne
315 it0 cs
316 it0 hs
317 it0 cc
318 it0 ul
319 it0 lo
320 it0 mi
321 it0 pl
322 it0 vs
323 it0 vc
324 it0 hi
325 it0 ge
326 it0 lt
327 it0 gt
328 it0 le
329 it0 al
330 it1 eq ne t
331 it1 eq ne e
332 it2 eq ne t t
333 it2 eq ne e t
334 it2 eq ne t e
335 it2 eq ne e e
336 it3 eq ne t t t
337 it3 eq ne e t t
338 it3 eq ne t e t
339 it3 eq ne t t e
340 it3 eq ne t e e
341 it3 eq ne e t e
342 it3 eq ne e e t
343 it3 eq ne e e e
344
345 it1 ne eq t
346 it1 ne eq e
347 it2 ne eq t t
348 it2 ne eq e t
349 it2 ne eq t e
350 it2 ne eq e e
351 it3 ne eq t t t
352 it3 ne eq e t t
353 it3 ne eq t e t
354 it3 ne eq t t e
355 it3 ne eq t e e
356 it3 ne eq e t e
357 it3 ne eq e e t
358 it3 ne eq e e e
359
360 ldst:
361 1:
362 pld [r5]
363 pld [r5, #0x330]
364 pld [r5, #-0x30]
365 pld [r5], #0x30
366 pld [r5], #-0x30
367 pld [r5, #0x30]!
368 pld [r5, #-0x30]!
369 pld [r5, r4]
370 pld [r9, ip]
371 pld 1f
372 pld 1b
373 1:
374
375 ldrd r2, r3, [r5]
376 ldrd r2, [r5, #0x30]
377 ldrd r2, [r5, #-0x30]
378 strd r2, r3, [r5]
379 strd r2, [r5, #0x30]
380 strd r2, [r5, #-0x30]
381
382 ldrbt r1, [r5]
383 ldrbt r1, [r5, #0x30]
384 ldrsbt r1, [r5]
385 ldrsbt r1, [r5, #0x30]
386 ldrht r1, [r5]
387 ldrht r1, [r5, #0x30]
388 ldrsht r1, [r5]
389 ldrsht r1, [r5, #0x30]
390 ldrt r1, [r5]
391 ldrt r1, [r5, #0x30]
392
393 ldxstx:
394 ldrexb r1, [r4]
395 ldrexh r1, [r4]
396 ldrex r1, [r4]
397 ldrexd r1, r2, [r4]
398
399 strexb r1, r2, [r4]
400 strexh r1, r2, [r4]
401 strex r1, r2, [r4]
402 strexd r1, r2, r3, [r4]
403 strexd r1, r3, r3, [r4]
404
405 ldrex r1, [r4,#516]
406 strex r1, r2, [r4,#516]
407
408 ldmstm:
409 ldmia r0!, {r1,r2,r3}
410 ldmia r2, {r0,r1,r2}
411 ldmia.w r2, {r0,r1,r2}
412 ldmia r9, {r0,r1,r2}
413 ldmia r0, {r7,r8,r10}
414 ldmia r0!, {r7,r8,r10}
415
416 stmia r0!, {r1,r2,r3}
417 stmia r2!, {r0,r1,r3}
418 stmia.w r2!, {r0,r1,r3}
419 stmia r9, {r0,r1,r2}
420 stmia r0, {r7,r8,r10}
421 stmia r0!, {r7,r8,r10}
422
423 ldmdb r0, {r7,r8,r10}
424 stmdb r0, {r7,r8,r10}
425
426 mlas:
427 mla r0, r0, r0, r0
428 mls r0, r0, r0, r0
429 mla r9, r0, r0, r0
430 mla r0, r9, r0, r0
431 mla r0, r0, r9, r0
432 mla r0, r0, r0, r9
433
434 tst_teq_cmp_cmn_mov_mvn:
435 .macro mt op ops opw opsw
436 \ops r0, r0
437 \op r0, r0
438 \ops r5, r0
439 \op r0, r5
440 \op r0, r5, asr #17
441 \opw r0, r0
442 \ops r9, r0
443 \opsw r0, r9
444 \opw r0, #129
445 \opw r5, #129
446 .endm
447
448 mt tst tsts tst.w tsts.w
449 mt teq teqs teq.w teqs.w
450 mt cmp cmps cmp.w cmps.w
451 mt cmn cmns cmn.w cmns.w
452 mt mov movs mov.w movs.w
453 mt mvn mvns mvn.w mvns.w
454 .purgem mt
455
456 mov16:
457 movw r0, #0
458 movt r0, #0
459 movw r9, #0
460 movw r0, #0x9000
461 movw r0, #0x0800
462 movw r0, #0x0500
463 movw r0, #0x0081
464 movw r0, #0xffff
465
466 mrs_msr:
467 mrs r0, CPSR
468 mrs r0, SPSR
469 mrs r9, CPSR_all
470 mrs r9, SPSR_all
471
472 msr CPSR_c, r0
473 msr SPSR_c, r0
474 msr CPSR_c, r9
475 msr CPSR_x, r0
476 msr CPSR_s, r0
477 msr CPSR_f, r0
478
479 mul:
480 mul r0, r0, r0
481 mul r0, r9, r0
482 mul r0, r0, r9
483 mul r0, r0
484 mul r9, r0
485 muls r5, r0
486 muls r5, r0, r5
487 muls r0, r5
488
489 mull:
490 smull r0, r1, r0, r0
491 umull r0, r1, r0, r0
492 smlal r0, r1, r0, r0
493 umlal r0, r1, r0, r0
494 smull r9, r0, r0, r0
495 smull r0, r9, r0, r0
496 smull r0, r1, r9, r0
497 smull r0, r1, r0, r9
498
499 neg:
500 negs r0, r0
501 negs r0, r5
502 negs r5, r0
503 negs.w r0, r0
504 negs.w r5, r0
505 negs.w r0, r5
506
507 neg r0, r9
508 neg r9, r0
509 negs r0, r9
510 negs r9, r0
511
512 pkh:
513 pkhbt r0, r0, r0
514 pkhbt r9, r0, r0
515 pkhbt r0, r9, r0
516 pkhbt r0, r0, r9
517 pkhbt r0, r0, r0, lsl #0x14
518 pkhbt r0, r0, r0, lsl #3
519 pkhtb r1, r2, r3
520 pkhtb r1, r2, r3, asr #0x11
521
522 push_pop:
523 push {r0}
524 pop {r0}
525 push {r1,lr}
526 pop {r1,pc}
527 push {r8,r9,r10,r11,r12}
528 pop {r8,r9,r10,r11,r12}
529
530 qadd:
531 qadd r1, r2, r3
532 qadd16 r1, r2, r3
533 qadd8 r1, r2, r3
534 qasx r1, r2, r3
535 qaddsubx r1, r2, r3
536 qdadd r1, r2, r3
537 qdsub r1, r2, r3
538 qsub r1, r2, r3
539 qsub16 r1, r2, r3
540 qsub8 r1, r2, r3
541 qsax r1, r2, r3
542 qsubaddx r1, r2, r3
543 sadd16 r1, r2, r3
544 sadd8 r1, r2, r3
545 sasx r1, r2, r3
546 saddsubx r1, r2, r3
547 ssub16 r1, r2, r3
548 ssub8 r1, r2, r3
549 ssax r1, r2, r3
550 ssubaddx r1, r2, r3
551 shadd16 r1, r2, r3
552 shadd8 r1, r2, r3
553 shasx r1, r2, r3
554 shaddsubx r1, r2, r3
555 shsub16 r1, r2, r3
556 shsub8 r1, r2, r3
557 shsax r1, r2, r3
558 shsubaddx r1, r2, r3
559 uadd16 r1, r2, r3
560 uadd8 r1, r2, r3
561 uasx r1, r2, r3
562 uaddsubx r1, r2, r3
563 usub16 r1, r2, r3
564 usub8 r1, r2, r3
565 usax r1, r2, r3
566 usubaddx r1, r2, r3
567 uhadd16 r1, r2, r3
568 uhadd8 r1, r2, r3
569 uhasx r1, r2, r3
570 uhaddsubx r1, r2, r3
571 uhsub16 r1, r2, r3
572 uhsub8 r1, r2, r3
573 uhsax r1, r2, r3
574 uhsubaddx r1, r2, r3
575 uqadd16 r1, r2, r3
576 uqadd8 r1, r2, r3
577 uqasx r1, r2, r3
578 uqaddsubx r1, r2, r3
579 uqsub16 r1, r2, r3
580 uqsub8 r1, r2, r3
581 uqsax r1, r2, r3
582 uqsubaddx r1, r2, r3
583 sel r1, r2, r3
584
585 rbit_rev:
586 .macro rx op opw
587 \op r0, r0
588 \opw r0, r0
589 \op r0, r5
590 \op r5, r0
591 \op r0, r9
592 \op r9, r0
593 .endm
594
595 rx rev rev.w
596 rx rev16 rev16.w
597 rx revsh revsh.w
598 rx rbit rbit.w
599
600 .purgem rx
601
602 shift:
603 .macro sh op ops opw opsw
604 \ops r0, #17 @ 16-bit format 1
605 \ops r0, r0, #14
606 \ops r5, r0, #17
607 \ops r0, r5, #14
608 \ops r0, r0 @ 16-bit format 2
609 \ops r0, r5
610 \ops r0, r0, r5
611 \op r9, #17 @ 32-bit format 1
612 \op r9, r9, #14
613 \ops r0, r9, #17
614 \op r9, r0, #14
615 \opw r0, r0, r0 @ 32-bit format 2
616 \op r9, r9
617 \ops r9, r0
618 \op r0, r9
619 \op r0, r5
620 \ops r0, r1, r2
621 .endm
622
623 sh lsl lsls lsl.w lsls.w
624 sh lsr lsrs lsr.w lsrs.w
625 sh asr asrs asr.w asrs.w
626 sh ror rors ror.w rors.w
627
628 .purgem sh
629
630 rrx:
631 rrx r1, r2
632 rrxs r3, r4
633
634 smc:
635 smc #0
636 smc #0xabcd
637
638 smla:
639 smlabb r0, r0, r0, r0
640 smlabb r9, r0, r0, r0
641 smlabb r0, r9, r0, r0
642 smlabb r0, r0, r9, r0
643 smlabb r0, r0, r0, r9
644
645 smlatb r0, r0, r0, r0
646 smlabt r0, r0, r0, r0
647 smlatt r0, r0, r0, r0
648 smlawb r0, r0, r0, r0
649 smlawt r0, r0, r0, r0
650 smlad r0, r0, r0, r0
651 smladx r0, r0, r0, r0
652 smlsd r0, r0, r0, r0
653 smlsdx r0, r0, r0, r0
654 smmla r0, r0, r0, r0
655 smmlar r0, r0, r0, r0
656 smmls r0, r0, r0, r0
657 smmlsr r0, r0, r0, r0
658 usada8 r0, r0, r0, r0
659
660 smlal:
661 smlalbb r0, r0, r0, r0
662 smlalbb r9, r0, r0, r0
663 smlalbb r0, r9, r0, r0
664 smlalbb r0, r0, r9, r0
665 smlalbb r0, r0, r0, r9
666
667 smlaltb r0, r0, r0, r0
668 smlalbt r0, r0, r0, r0
669 smlaltt r0, r0, r0, r0
670 smlald r0, r0, r0, r0
671 smlaldx r0, r0, r0, r0
672 smlsld r0, r0, r0, r0
673 smlsldx r0, r0, r0, r0
674 umaal r0, r0, r0, r0
675
676 smul:
677 smulbb r0, r0, r0
678 smulbb r9, r0, r0
679 smulbb r0, r9, r0
680 smulbb r0, r0, r9
681
682 smultb r0, r0, r0
683 smulbt r0, r0, r0
684 smultt r0, r0, r0
685 smulwb r0, r0, r0
686 smulwt r0, r0, r0
687 smmul r0, r0, r0
688 smmulr r0, r0, r0
689 smuad r0, r0, r0
690 smuadx r0, r0, r0
691 smusd r0, r0, r0
692 smusdx r0, r0, r0
693 usad8 r0, r0, r0
694
695 sat:
696 ssat r0, #1, r0
697 ssat r0, #1, r0, lsl #0
698 ssat r0, #1, r0, asr #0
699 ssat r9, #1, r0
700 ssat r0, #18, r0
701 ssat r0, #1, r9
702 ssat r0, #1, r0, lsl #0x1c
703 ssat r0, #1, r0, asr #0x03
704
705 ssat16 r0, #1, r0
706 ssat16 r9, #1, r0
707 ssat16 r0, #10, r0
708 ssat16 r0, #1, r9
709
710 usat r0, #0, r0
711 usat r0, #0, r0, lsl #0
712 usat r0, #0, r0, asr #0
713 usat r9, #0, r0
714 usat r0, #17, r0
715 usat r0, #0, r9
716 usat r0, #0, r0, lsl #0x1c
717 usat r0, #0, r0, asr #0x03
718
719 usat16 r0, #0, r0
720 usat16 r9, #0, r0
721 usat16 r0, #9, r0
722 usat16 r0, #0, r9
723
724 xt:
725 sxtb r0, r0
726 sxtb r0, r0, ror #0
727 sxtb r5, r0
728 sxtb r0, r5
729 sxtb.w r1, r2
730 sxtb r1, r2, ror #8
731 sxtb r1, r2, ror #16
732 sxtb r1, r2, ror #24
733
734 sxtb16 r1, r2
735 sxtb16 r8, r9
736 sxth r1, r2
737 sxth r8, r9
738 uxtb r1, r2
739 uxtb r8, r9
740 uxtb16 r1, r2
741 uxtb16 r8, r9
742 uxth r1, r2
743 uxth r8, r9
744
745 xta:
746 sxtab r0, r0, r0
747 sxtab r0, r0, r0, ror #0
748 sxtab r9, r0, r0, ror #8
749 sxtab r0, r9, r0, ror #16
750 sxtab r0, r0, r9, ror #24
751
752 sxtab16 r1, r2, r3
753 sxtah r1, r2, r3
754 uxtab r1, r2, r3
755 uxtab16 r1, r2, r3
756 uxtah r1, r2, r3
757
758 .macro ldpcimm op
759 \op r1, [pc, #0x2aa]
760 \op r1, [pc, #0x155]
761 \op r1, [pc, #-0x2aa]
762 \op r1, [pc, #-0x155]
763 .endm
764 ldpcimm ldrb
765 ldpcimm ldrsb
766 ldpcimm ldrh
767 ldpcimm ldrsh
768 ldpcimm ldr
769 addw r9, r0, #0
770 addw r6, pc, #0xfff
771 subw r6, r9, #0xa85
772 subw r6, r9, #0x57a
773 tbb [pc, r6]
774 tbb [r0, r9]
775 tbh [pc, r7, lsl #1]
776 tbh [r0, r8, lsl #1]
777
778 push {r8}
779 pop {r8}
780
781 ldmdb r0!, {r7,r8,r10}
782 stmdb r0!, {r7,r8,r10}
783
784 ldm r0!, {r1, r2}
785 stm r0!, {r1, r2}
786 ldm r0, {r8, r9}
787 stm r0, {r8, r9}
788 itttt eq
789 ldmeq r0!, {r1, r2}
790 stmeq r0!, {r1, r2}
791 ldmeq r0, {r8, r9}
792 stmeq r0, {r8, r9}
793 nop
794
795 srs:
796 srsia sp, #16
797 srsdb sp, #16
798 srsia sp!, #21
799 srsia sp!, #10
800
801 movs pc, lr
802 subs pc, lr, #0
803 subs pc, lr, #4
804 subs pc, lr, #255
805
806 ldrd r2, r4, [r9, #48]!
807 ldrd r2, r4, [r9, #-48]!
808 strd r2, r4, [r9, #48]!
809 strd r2, r4, [r9, #-48]!
810 ldrd r2, r4, [r9], #48
811 ldrd r2, r4, [r9], #-48
812 strd r2, r4, [r9], #48
813 strd r2, r4, [r9], #-48
814
815 .macro ldaddr op
816 ldr\op r1, [r5, #0x301]
817 ldr\op r1, [r5, #0x30]!
818 ldr\op r1, [r5, #-0x30]!
819 ldr\op r1, [r5], #0x30
820 ldr\op r1, [r5], #-0x30
821 ldr\op r1, [r5, r9]
822 .endm
823 ldaddr
824 ldaddr b
825 ldaddr sb
826 ldaddr h
827 ldaddr sh
828 .macro movshift op s="s"
829 movs r1, r4, \op #2
830 movs r3, r9, \op #2
831 movs r1, r2, \op r3
832 movs r1, r1, \op r3
833 movs r1, r1, \op r9
834 mov r1, r2, \op r3
835 mov r1, r1, \op r3
836 .endm
837 movshift lsl
838 movshift lsr
839 movshift asr
840 movshift ror
841 nop
This page took 0.056772 seconds and 4 git commands to generate.