gas:
[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
404 ldrex r1, [r4,#516]
405 strex r1, r2, [r4,#516]
406
407 ldmstm:
408 ldmia r0!, {r1,r2,r3}
409 ldmia r2, {r0,r1,r2}
410 ldmia.w r2, {r0,r1,r2}
411 ldmia r9, {r0,r1,r2}
412 ldmia r0, {r7,r8,r10}
413 ldmia r0!, {r7,r8,r10}
414
415 stmia r0!, {r1,r2,r3}
416 stmia r2!, {r0,r1,r3}
417 stmia.w r2!, {r0,r1,r3}
418 stmia r9, {r0,r1,r2}
419 stmia r0, {r7,r8,r10}
420 stmia r0!, {r7,r8,r10}
421
422 ldmdb r0, {r7,r8,r10}
423 stmdb r0, {r7,r8,r10}
424
425 mlas:
426 mla r0, r0, r0, r0
427 mls r0, r0, r0, r0
428 mla r9, r0, r0, r0
429 mla r0, r9, r0, r0
430 mla r0, r0, r9, r0
431 mla r0, r0, r0, r9
432
433 tst_teq_cmp_cmn_mov_mvn:
434 .macro mt op ops opw opsw
435 \ops r0, r0
436 \op r0, r0
437 \ops r5, r0
438 \op r0, r5
439 \op r0, r5, asr #17
440 \opw r0, r0
441 \ops r9, r0
442 \opsw r0, r9
443 \opw r0, #129
444 \opw r5, #129
445 .endm
446
447 mt tst tsts tst.w tsts.w
448 mt teq teqs teq.w teqs.w
449 mt cmp cmps cmp.w cmps.w
450 mt cmn cmns cmn.w cmns.w
451 mt mov movs mov.w movs.w
452 mt mvn mvns mvn.w mvns.w
453 .purgem mt
454
455 mov16:
456 movw r0, #0
457 movt r0, #0
458 movw r9, #0
459 movw r0, #0x9000
460 movw r0, #0x0800
461 movw r0, #0x0500
462 movw r0, #0x0081
463 movw r0, #0xffff
464
465 mrs_msr:
466 mrs r0, CPSR
467 mrs r0, SPSR
468 mrs r9, CPSR_all
469 mrs r9, SPSR_all
470
471 msr CPSR_c, r0
472 msr SPSR_c, r0
473 msr CPSR_c, r9
474 msr CPSR_x, r0
475 msr CPSR_s, r0
476 msr CPSR_f, r0
477
478 mul:
479 mul r0, r0, r0
480 mul r0, r9, r0
481 mul r0, r0, r9
482 mul r0, r0
483 mul r9, r0
484 muls r5, r0
485 muls r5, r0, r5
486 muls r0, r5
487
488 mull:
489 smull r0, r1, r0, r0
490 umull r0, r1, r0, r0
491 smlal r0, r1, r0, r0
492 umlal r0, r1, r0, r0
493 smull r9, r0, r0, r0
494 smull r0, r9, r0, r0
495 smull r0, r1, r9, r0
496 smull r0, r1, r0, r9
497
498 neg:
499 negs r0, r0
500 negs r0, r5
501 negs r5, r0
502 negs.w r0, r0
503 negs.w r5, r0
504 negs.w r0, r5
505
506 neg r0, r9
507 neg r9, r0
508 negs r0, r9
509 negs r9, r0
510
511 pkh:
512 pkhbt r0, r0, r0
513 pkhbt r9, r0, r0
514 pkhbt r0, r9, r0
515 pkhbt r0, r0, r9
516 pkhbt r0, r0, r0, lsl #0x14
517 pkhbt r0, r0, r0, lsl #3
518 pkhtb r1, r2, r3
519 pkhtb r1, r2, r3, asr #0x11
520
521 push_pop:
522 push {r0}
523 pop {r0}
524 push {r1,lr}
525 pop {r1,pc}
526 push {r8,r9,r10,r11,r12}
527 pop {r8,r9,r10,r11,r12}
528
529 qadd:
530 qadd r1, r2, r3
531 qadd16 r1, r2, r3
532 qadd8 r1, r2, r3
533 qasx r1, r2, r3
534 qaddsubx r1, r2, r3
535 qdadd r1, r2, r3
536 qdsub r1, r2, r3
537 qsub r1, r2, r3
538 qsub16 r1, r2, r3
539 qsub8 r1, r2, r3
540 qsax r1, r2, r3
541 qsubaddx r1, r2, r3
542 sadd16 r1, r2, r3
543 sadd8 r1, r2, r3
544 sasx r1, r2, r3
545 saddsubx r1, r2, r3
546 ssub16 r1, r2, r3
547 ssub8 r1, r2, r3
548 ssax r1, r2, r3
549 ssubaddx r1, r2, r3
550 shadd16 r1, r2, r3
551 shadd8 r1, r2, r3
552 shasx r1, r2, r3
553 shaddsubx r1, r2, r3
554 shsub16 r1, r2, r3
555 shsub8 r1, r2, r3
556 shsax r1, r2, r3
557 shsubaddx r1, r2, r3
558 uadd16 r1, r2, r3
559 uadd8 r1, r2, r3
560 uasx r1, r2, r3
561 uaddsubx r1, r2, r3
562 usub16 r1, r2, r3
563 usub8 r1, r2, r3
564 usax r1, r2, r3
565 usubaddx r1, r2, r3
566 uhadd16 r1, r2, r3
567 uhadd8 r1, r2, r3
568 uhasx r1, r2, r3
569 uhaddsubx r1, r2, r3
570 uhsub16 r1, r2, r3
571 uhsub8 r1, r2, r3
572 uhsax r1, r2, r3
573 uhsubaddx r1, r2, r3
574 uqadd16 r1, r2, r3
575 uqadd8 r1, r2, r3
576 uqasx r1, r2, r3
577 uqaddsubx r1, r2, r3
578 uqsub16 r1, r2, r3
579 uqsub8 r1, r2, r3
580 uqsax r1, r2, r3
581 uqsubaddx r1, r2, r3
582 sel r1, r2, r3
583
584 rbit_rev:
585 .macro rx op opw
586 \op r0, r0
587 \opw r0, r0
588 \op r0, r5
589 \op r5, r0
590 \op r0, r9
591 \op r9, r0
592 .endm
593
594 rx rev rev.w
595 rx rev16 rev16.w
596 rx revsh revsh.w
597 rx rbit rbit.w
598
599 .purgem rx
600
601 shift:
602 .macro sh op ops opw opsw
603 \ops r0, #17 @ 16-bit format 1
604 \ops r0, r0, #14
605 \ops r5, r0, #17
606 \ops r0, r5, #14
607 \ops r0, r0 @ 16-bit format 2
608 \ops r0, r5
609 \ops r0, r0, r5
610 \op r9, #17 @ 32-bit format 1
611 \op r9, r9, #14
612 \ops r0, r9, #17
613 \op r9, r0, #14
614 \opw r0, r0, r0 @ 32-bit format 2
615 \op r9, r9
616 \ops r9, r0
617 \op r0, r9
618 \op r0, r5
619 \ops r0, r1, r2
620 .endm
621
622 sh lsl lsls lsl.w lsls.w
623 sh lsr lsrs lsr.w lsrs.w
624 sh asr asrs asr.w asrs.w
625 sh ror rors ror.w rors.w
626
627 .purgem sh
628
629 rrx:
630 rrx r1, r2
631 rrxs r3, r4
632
633 smc:
634 smc #0
635 smc #0xabcd
636
637 smla:
638 smlabb r0, r0, r0, r0
639 smlabb r9, r0, r0, r0
640 smlabb r0, r9, r0, r0
641 smlabb r0, r0, r9, r0
642 smlabb r0, r0, r0, r9
643
644 smlatb r0, r0, r0, r0
645 smlabt r0, r0, r0, r0
646 smlatt r0, r0, r0, r0
647 smlawb r0, r0, r0, r0
648 smlawt r0, r0, r0, r0
649 smlad r0, r0, r0, r0
650 smladx r0, r0, r0, r0
651 smlsd r0, r0, r0, r0
652 smlsdx r0, r0, r0, r0
653 smmla r0, r0, r0, r0
654 smmlar r0, r0, r0, r0
655 smmls r0, r0, r0, r0
656 smmlsr r0, r0, r0, r0
657 usada8 r0, r0, r0, r0
658
659 smlal:
660 smlalbb r0, r0, r0, r0
661 smlalbb r9, r0, r0, r0
662 smlalbb r0, r9, r0, r0
663 smlalbb r0, r0, r9, r0
664 smlalbb r0, r0, r0, r9
665
666 smlaltb r0, r0, r0, r0
667 smlalbt r0, r0, r0, r0
668 smlaltt r0, r0, r0, r0
669 smlald r0, r0, r0, r0
670 smlaldx r0, r0, r0, r0
671 smlsld r0, r0, r0, r0
672 smlsldx r0, r0, r0, r0
673 umaal r0, r0, r0, r0
674
675 smul:
676 smulbb r0, r0, r0
677 smulbb r9, r0, r0
678 smulbb r0, r9, r0
679 smulbb r0, r0, r9
680
681 smultb r0, r0, r0
682 smulbt r0, r0, r0
683 smultt r0, r0, r0
684 smulwb r0, r0, r0
685 smulwt r0, r0, r0
686 smmul r0, r0, r0
687 smmulr r0, r0, r0
688 smuad r0, r0, r0
689 smuadx r0, r0, r0
690 smusd r0, r0, r0
691 smusdx r0, r0, r0
692 usad8 r0, r0, r0
693
694 sat:
695 ssat r0, #1, r0
696 ssat r0, #1, r0, lsl #0
697 ssat r0, #1, r0, asr #0
698 ssat r9, #1, r0
699 ssat r0, #18, r0
700 ssat r0, #1, r9
701 ssat r0, #1, r0, lsl #0x1c
702 ssat r0, #1, r0, asr #0x03
703
704 ssat16 r0, #1, r0
705 ssat16 r9, #1, r0
706 ssat16 r0, #10, r0
707 ssat16 r0, #1, r9
708
709 usat r0, #0, r0
710 usat r0, #0, r0, lsl #0
711 usat r0, #0, r0, asr #0
712 usat r9, #0, r0
713 usat r0, #17, r0
714 usat r0, #0, r9
715 usat r0, #0, r0, lsl #0x1c
716 usat r0, #0, r0, asr #0x03
717
718 usat16 r0, #0, r0
719 usat16 r9, #0, r0
720 usat16 r0, #9, r0
721 usat16 r0, #0, r9
722
723 xt:
724 sxtb r0, r0
725 sxtb r0, r0, ror #0
726 sxtb r5, r0
727 sxtb r0, r5
728 sxtb.w r1, r2
729 sxtb r1, r2, ror #8
730 sxtb r1, r2, ror #16
731 sxtb r1, r2, ror #24
732
733 sxtb16 r1, r2
734 sxtb16 r8, r9
735 sxth r1, r2
736 sxth r8, r9
737 uxtb r1, r2
738 uxtb r8, r9
739 uxtb16 r1, r2
740 uxtb16 r8, r9
741 uxth r1, r2
742 uxth r8, r9
743
744 xta:
745 sxtab r0, r0, r0
746 sxtab r0, r0, r0, ror #0
747 sxtab r9, r0, r0, ror #8
748 sxtab r0, r9, r0, ror #16
749 sxtab r0, r0, r9, ror #24
750
751 sxtab16 r1, r2, r3
752 sxtah r1, r2, r3
753 uxtab r1, r2, r3
754 uxtab16 r1, r2, r3
755 uxtah r1, r2, r3
756
757 .macro ldpcimm op
758 \op r1, [pc, #0x2aa]
759 \op r1, [pc, #0x155]
760 \op r1, [pc, #-0x2aa]
761 \op r1, [pc, #-0x155]
762 .endm
763 ldpcimm ldrb
764 ldpcimm ldrsb
765 ldpcimm ldrh
766 ldpcimm ldrsh
767 ldpcimm ldr
768 addw r9, r0, #0
769 addw r6, pc, #0xfff
770 subw r6, r9, #0xa85
771 subw r6, r9, #0x57a
772 tbb [pc, r6]
773 tbb [r0, r9]
774 tbh [pc, r7, lsl #1]
775 tbh [r0, r8, lsl #1]
776
777 push {r8}
778 pop {r8}
779
780 ldmdb r0!, {r7,r8,r10}
781 stmdb r0!, {r7,r8,r10}
782
783 ldm r0!, {r1, r2}
784 stm r0!, {r1, r2}
785 ldm r0, {r8, r9}
786 stm r0, {r8, r9}
787 itttt eq
788 ldmeq r0!, {r1, r2}
789 stmeq r0!, {r1, r2}
790 ldmeq r0, {r8, r9}
791 stmeq r0, {r8, r9}
792 nop
793
794 srs:
795 srsia sp, #16
796 srsdb sp, #16
797 srsia sp!, #21
798 srsia sp!, #10
799
800 movs pc, lr
801 subs pc, lr, #0
802 subs pc, lr, #4
803 subs pc, lr, #255
804
805 ldrd r2, r4, [r9, #48]!
806 ldrd r2, r4, [r9, #-48]!
807 strd r2, r4, [r9, #48]!
808 strd r2, r4, [r9, #-48]!
809 ldrd r2, r4, [r9], #48
810 ldrd r2, r4, [r9], #-48
811 strd r2, r4, [r9], #48
812 strd r2, r4, [r9], #-48
813
814 .macro ldaddr op
815 ldr\op r1, [r5, #0x301]
816 ldr\op r1, [r5, #0x30]!
817 ldr\op r1, [r5, #-0x30]!
818 ldr\op r1, [r5], #0x30
819 ldr\op r1, [r5], #-0x30
820 ldr\op r1, [r5, r9]
821 .endm
822 ldaddr
823 ldaddr b
824 ldaddr sb
825 ldaddr h
826 ldaddr sh
827 .macro movshift op s="s"
828 movs r1, r4, \op #2
829 movs r3, r9, \op #2
830 movs r1, r2, \op r3
831 movs r1, r1, \op r3
832 movs r1, r1, \op r9
833 mov r1, r2, \op r3
834 mov r1, r1, \op r3
835 .endm
836 movshift lsl
837 movshift lsr
838 movshift asr
839 movshift ror
840 nop
This page took 0.052342 seconds and 4 git commands to generate.