Adds command line support for Armv8.4-A, via the new command line option -march=armv8...
[deliverable/binutils-gdb.git] / gas / testsuite / gas / arm / thumb32.s
CommitLineData
c19d1205
ZW
1 .text
2 .thumb
3 .syntax unified
4
5encode_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
44add_sub:
0110f2b8
PB
45 @ Should be format 1, Some have equivalent format 2 encodings
46 adds r0, r0, #0
c19d1205
ZW
47 adds r5, r0, #0
48 adds r0, r5, #0
0110f2b8 49 adds r0, r2, #5
c19d1205
ZW
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
0110f2b8
PB
87 adds r5, r3, #0x10000
88 add r0, sp, #1
89 add r9, sp, #0
90 add.w sp, sp, #4
c19d1205
ZW
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
0110f2b8 110 subs r0, r2, #5
c19d1205
ZW
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
0110f2b8
PB
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
c19d1205
ZW
131
132arit3:
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
1c444d06 156 arit3 orn orns orn orns
c19d1205
ZW
157
158 .purgem arit3
159
160bfc_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
180branches:
181 .macro bra op
182 \op 1b
183 \op 1f
184 .endm
1851:
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
2101:
0110f2b8
PB
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
c19d1205
ZW
232 bra bl
233 bra blx
234 .balign 4
2351:
236 bx r9
237 blx r0
238 blx r9
239 bxj r0
240 bxj r9
241 .purgem bra
242
243clz:
244 clz r0, r0
245 clz r9, r0
246 clz r0, r9
247
248cps:
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
260cpy:
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
268czb:
269 cbnz r0, 2f
270 cbz r5, 1f
271
272nop_hint:
273 nop
2741: yield
2752: 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
288it:
e27ec89e
PB
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
c19d1205
ZW
311 .endm
312
e27ec89e
PB
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
c19d1205
ZW
359
360ldst:
c19d1205 3611:
c19d1205
ZW
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
3731:
32a94698
NC
374 nop
375here:
c19d1205
ZW
376 ldrd r2, r3, [r5]
377 ldrd r2, [r5, #0x30]
378 ldrd r2, [r5, #-0x30]
32a94698 379 ldrd r4, r5, here
c19d1205
ZW
380 strd r2, r3, [r5]
381 strd r2, [r5, #0x30]
382 strd r2, [r5, #-0x30]
32a94698 383
c19d1205
ZW
384 ldrbt r1, [r5]
385 ldrbt r1, [r5, #0x30]
386 ldrsbt r1, [r5]
387 ldrsbt r1, [r5, #0x30]
388 ldrht r1, [r5]
389 ldrht r1, [r5, #0x30]
390 ldrsht r1, [r5]
391 ldrsht r1, [r5, #0x30]
392 ldrt r1, [r5]
393 ldrt r1, [r5, #0x30]
394
c19d1205
ZW
395ldxstx:
396 ldrexb r1, [r4]
397 ldrexh r1, [r4]
398 ldrex r1, [r4]
399 ldrexd r1, r2, [r4]
400
401 strexb r1, r2, [r4]
402 strexh r1, r2, [r4]
403 strex r1, r2, [r4]
404 strexd r1, r2, r3, [r4]
f8a8e9d6 405 strexd r1, r3, r3, [r4]
c19d1205
ZW
406
407 ldrex r1, [r4,#516]
408 strex r1, r2, [r4,#516]
409
410ldmstm:
411 ldmia r0!, {r1,r2,r3}
412 ldmia r2, {r0,r1,r2}
413 ldmia.w r2, {r0,r1,r2}
414 ldmia r9, {r0,r1,r2}
415 ldmia r0, {r7,r8,r10}
416 ldmia r0!, {r7,r8,r10}
417
418 stmia r0!, {r1,r2,r3}
419 stmia r2!, {r0,r1,r3}
420 stmia.w r2!, {r0,r1,r3}
421 stmia r9, {r0,r1,r2}
422 stmia r0, {r7,r8,r10}
423 stmia r0!, {r7,r8,r10}
424
425 ldmdb r0, {r7,r8,r10}
426 stmdb r0, {r7,r8,r10}
427
428mlas:
429 mla r0, r0, r0, r0
430 mls r0, r0, r0, r0
431 mla r9, r0, r0, r0
432 mla r0, r9, r0, r0
433 mla r0, r0, r9, r0
434 mla r0, r0, r0, r9
435
436tst_teq_cmp_cmn_mov_mvn:
437 .macro mt op ops opw opsw
438 \ops r0, r0
439 \op r0, r0
440 \ops r5, r0
441 \op r0, r5
442 \op r0, r5, asr #17
443 \opw r0, r0
444 \ops r9, r0
445 \opsw r0, r9
0110f2b8
PB
446 \opw r0, #129
447 \opw r5, #129
c19d1205
ZW
448 .endm
449
450 mt tst tsts tst.w tsts.w
451 mt teq teqs teq.w teqs.w
452 mt cmp cmps cmp.w cmps.w
453 mt cmn cmns cmn.w cmns.w
454 mt mov movs mov.w movs.w
455 mt mvn mvns mvn.w mvns.w
456 .purgem mt
457
458mov16:
459 movw r0, #0
460 movt r0, #0
461 movw r9, #0
462 movw r0, #0x9000
463 movw r0, #0x0800
464 movw r0, #0x0500
465 movw r0, #0x0081
466 movw r0, #0xffff
467
468mrs_msr:
469 mrs r0, CPSR
470 mrs r0, SPSR
471 mrs r9, CPSR_all
472 mrs r9, SPSR_all
473
474 msr CPSR_c, r0
475 msr SPSR_c, r0
476 msr CPSR_c, r9
477 msr CPSR_x, r0
478 msr CPSR_s, r0
479 msr CPSR_f, r0
480
481mul:
482 mul r0, r0, r0
483 mul r0, r9, r0
484 mul r0, r0, r9
485 mul r0, r0
486 mul r9, r0
487 muls r5, r0
488 muls r5, r0, r5
489 muls r0, r5
490
491mull:
492 smull r0, r1, r0, r0
493 umull r0, r1, r0, r0
494 smlal r0, r1, r0, r0
495 umlal r0, r1, r0, r0
496 smull r9, r0, r0, r0
497 smull r0, r9, r0, r0
498 smull r0, r1, r9, r0
499 smull r0, r1, r0, r9
500
501neg:
502 negs r0, r0
503 negs r0, r5
504 negs r5, r0
505 negs.w r0, r0
506 negs.w r5, r0
507 negs.w r0, r5
508
509 neg r0, r9
510 neg r9, r0
511 negs r0, r9
512 negs r9, r0
513
514pkh:
515 pkhbt r0, r0, r0
516 pkhbt r9, r0, r0
517 pkhbt r0, r9, r0
518 pkhbt r0, r0, r9
519 pkhbt r0, r0, r0, lsl #0x14
520 pkhbt r0, r0, r0, lsl #3
521 pkhtb r1, r2, r3
522 pkhtb r1, r2, r3, asr #0x11
523
524push_pop:
525 push {r0}
526 pop {r0}
527 push {r1,lr}
528 pop {r1,pc}
529 push {r8,r9,r10,r11,r12}
530 pop {r8,r9,r10,r11,r12}
531
532qadd:
087b80de 533 qadd r1, r2, r3
c19d1205
ZW
534 qadd16 r1, r2, r3
535 qadd8 r1, r2, r3
4f80ef3e 536 qasx r1, r2, r3
c19d1205 537 qaddsubx r1, r2, r3
087b80de
JM
538 qdadd r1, r2, r3
539 qdsub r1, r2, r3
540 qsub r1, r2, r3
c19d1205
ZW
541 qsub16 r1, r2, r3
542 qsub8 r1, r2, r3
4f80ef3e 543 qsax r1, r2, r3
c19d1205
ZW
544 qsubaddx r1, r2, r3
545 sadd16 r1, r2, r3
546 sadd8 r1, r2, r3
4f80ef3e 547 sasx r1, r2, r3
c19d1205
ZW
548 saddsubx r1, r2, r3
549 ssub16 r1, r2, r3
550 ssub8 r1, r2, r3
4f80ef3e 551 ssax r1, r2, r3
c19d1205
ZW
552 ssubaddx r1, r2, r3
553 shadd16 r1, r2, r3
554 shadd8 r1, r2, r3
4f80ef3e 555 shasx r1, r2, r3
c19d1205
ZW
556 shaddsubx r1, r2, r3
557 shsub16 r1, r2, r3
558 shsub8 r1, r2, r3
4f80ef3e 559 shsax r1, r2, r3
c19d1205
ZW
560 shsubaddx r1, r2, r3
561 uadd16 r1, r2, r3
562 uadd8 r1, r2, r3
4f80ef3e 563 uasx r1, r2, r3
c19d1205
ZW
564 uaddsubx r1, r2, r3
565 usub16 r1, r2, r3
566 usub8 r1, r2, r3
4f80ef3e 567 usax r1, r2, r3
c19d1205
ZW
568 usubaddx r1, r2, r3
569 uhadd16 r1, r2, r3
570 uhadd8 r1, r2, r3
4f80ef3e 571 uhasx r1, r2, r3
c19d1205
ZW
572 uhaddsubx r1, r2, r3
573 uhsub16 r1, r2, r3
574 uhsub8 r1, r2, r3
4f80ef3e 575 uhsax r1, r2, r3
c19d1205
ZW
576 uhsubaddx r1, r2, r3
577 uqadd16 r1, r2, r3
578 uqadd8 r1, r2, r3
4f80ef3e 579 uqasx r1, r2, r3
c19d1205
ZW
580 uqaddsubx r1, r2, r3
581 uqsub16 r1, r2, r3
582 uqsub8 r1, r2, r3
4f80ef3e 583 uqsax r1, r2, r3
c19d1205
ZW
584 uqsubaddx r1, r2, r3
585 sel r1, r2, r3
586
587rbit_rev:
588 .macro rx op opw
589 \op r0, r0
590 \opw r0, r0
591 \op r0, r5
592 \op r5, r0
593 \op r0, r9
594 \op r9, r0
595 .endm
596
597 rx rev rev.w
598 rx rev16 rev16.w
599 rx revsh revsh.w
600 rx rbit rbit.w
601
602 .purgem rx
603
604shift:
605 .macro sh op ops opw opsw
606 \ops r0, #17 @ 16-bit format 1
607 \ops r0, r0, #14
608 \ops r5, r0, #17
609 \ops r0, r5, #14
610 \ops r0, r0 @ 16-bit format 2
611 \ops r0, r5
612 \ops r0, r0, r5
613 \op r9, #17 @ 32-bit format 1
614 \op r9, r9, #14
615 \ops r0, r9, #17
616 \op r9, r0, #14
617 \opw r0, r0, r0 @ 32-bit format 2
618 \op r9, r9
619 \ops r9, r0
620 \op r0, r9
621 \op r0, r5
622 \ops r0, r1, r2
623 .endm
624
625 sh lsl lsls lsl.w lsls.w
626 sh lsr lsrs lsr.w lsrs.w
627 sh asr asrs asr.w asrs.w
628 sh ror rors ror.w rors.w
629
630 .purgem sh
631
1c444d06
JM
632rrx:
633 rrx r1, r2
634 rrxs r3, r4
635
f4c65163
MGD
636 .arch armv7-a
637 .arch_extension sec
3eb17e6b
PB
638smc:
639 smc #0
640 smc #0xabcd
c19d1205
ZW
641
642smla:
643 smlabb r0, r0, r0, r0
644 smlabb r9, r0, r0, r0
645 smlabb r0, r9, r0, r0
646 smlabb r0, r0, r9, r0
647 smlabb r0, r0, r0, r9
648
649 smlatb r0, r0, r0, r0
650 smlabt r0, r0, r0, r0
651 smlatt r0, r0, r0, r0
652 smlawb r0, r0, r0, r0
653 smlawt r0, r0, r0, r0
654 smlad r0, r0, r0, r0
655 smladx r0, r0, r0, r0
656 smlsd r0, r0, r0, r0
657 smlsdx r0, r0, r0, r0
658 smmla r0, r0, r0, r0
659 smmlar r0, r0, r0, r0
660 smmls r0, r0, r0, r0
661 smmlsr r0, r0, r0, r0
662 usada8 r0, r0, r0, r0
663
664smlal:
665 smlalbb r0, r0, r0, r0
666 smlalbb r9, r0, r0, r0
667 smlalbb r0, r9, r0, r0
668 smlalbb r0, r0, r9, r0
669 smlalbb r0, r0, r0, r9
670
671 smlaltb r0, r0, r0, r0
672 smlalbt r0, r0, r0, r0
673 smlaltt r0, r0, r0, r0
674 smlald r0, r0, r0, r0
675 smlaldx r0, r0, r0, r0
676 smlsld r0, r0, r0, r0
677 smlsldx r0, r0, r0, r0
678 umaal r0, r0, r0, r0
679
680smul:
681 smulbb r0, r0, r0
682 smulbb r9, r0, r0
683 smulbb r0, r9, r0
684 smulbb r0, r0, r9
685
686 smultb r0, r0, r0
687 smulbt r0, r0, r0
688 smultt r0, r0, r0
689 smulwb r0, r0, r0
690 smulwt r0, r0, r0
691 smmul r0, r0, r0
692 smmulr r0, r0, r0
693 smuad r0, r0, r0
694 smuadx r0, r0, r0
695 smusd r0, r0, r0
696 smusdx r0, r0, r0
697 usad8 r0, r0, r0
698
699sat:
700 ssat r0, #1, r0
701 ssat r0, #1, r0, lsl #0
702 ssat r0, #1, r0, asr #0
703 ssat r9, #1, r0
704 ssat r0, #18, r0
705 ssat r0, #1, r9
706 ssat r0, #1, r0, lsl #0x1c
707 ssat r0, #1, r0, asr #0x03
708
709 ssat16 r0, #1, r0
710 ssat16 r9, #1, r0
711 ssat16 r0, #10, r0
712 ssat16 r0, #1, r9
713
714 usat r0, #0, r0
715 usat r0, #0, r0, lsl #0
716 usat r0, #0, r0, asr #0
717 usat r9, #0, r0
718 usat r0, #17, r0
719 usat r0, #0, r9
720 usat r0, #0, r0, lsl #0x1c
721 usat r0, #0, r0, asr #0x03
722
723 usat16 r0, #0, r0
724 usat16 r9, #0, r0
725 usat16 r0, #9, r0
726 usat16 r0, #0, r9
727
728xt:
729 sxtb r0, r0
730 sxtb r0, r0, ror #0
731 sxtb r5, r0
732 sxtb r0, r5
733 sxtb.w r1, r2
734 sxtb r1, r2, ror #8
735 sxtb r1, r2, ror #16
736 sxtb r1, r2, ror #24
737
738 sxtb16 r1, r2
739 sxtb16 r8, r9
740 sxth r1, r2
741 sxth r8, r9
742 uxtb r1, r2
743 uxtb r8, r9
744 uxtb16 r1, r2
745 uxtb16 r8, r9
746 uxth r1, r2
747 uxth r8, r9
748
749xta:
750 sxtab r0, r0, r0
751 sxtab r0, r0, r0, ror #0
752 sxtab r9, r0, r0, ror #8
753 sxtab r0, r9, r0, ror #16
754 sxtab r0, r0, r9, ror #24
755
756 sxtab16 r1, r2, r3
757 sxtah r1, r2, r3
758 uxtab r1, r2, r3
759 uxtab16 r1, r2, r3
760 uxtah r1, r2, r3
c160f130
PB
761
762 .macro ldpcimm op
763 \op r1, [pc, #0x2aa]
764 \op r1, [pc, #0x155]
765 \op r1, [pc, #-0x2aa]
766 \op r1, [pc, #-0x155]
767 .endm
768 ldpcimm ldrb
769 ldpcimm ldrsb
770 ldpcimm ldrh
771 ldpcimm ldrsh
772 ldpcimm ldr
92e90b6e
PB
773 addw r9, r0, #0
774 addw r6, pc, #0xfff
775 subw r6, r9, #0xa85
776 subw r6, r9, #0x57a
777 tbb [pc, r6]
778 tbb [r0, r9]
779 tbh [pc, r7, lsl #1]
780 tbh [r0, r8, lsl #1]
e9f89963
PB
781
782 push {r8}
783 pop {r8}
9c3c69f2
PB
784
785 ldmdb r0!, {r7,r8,r10}
786 stmdb r0!, {r7,r8,r10}
f5208ef2
PB
787
788 ldm r0!, {r1, r2}
789 stm r0!, {r1, r2}
790 ldm r0, {r8, r9}
791 stm r0, {r8, r9}
792 itttt eq
793 ldmeq r0!, {r1, r2}
794 stmeq r0!, {r1, r2}
795 ldmeq r0, {r8, r9}
796 stmeq r0, {r8, r9}
797 nop
b6702015
PB
798
799srs:
800 srsia sp, #16
801 srsdb sp, #16
802 srsia sp!, #21
803 srsia sp!, #10
efd81785
PB
804
805 movs pc, lr
806 subs pc, lr, #0
807 subs pc, lr, #4
808 subs pc, lr, #255
79d49516
PB
809
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 ldrd r2, r4, [r9], #48
815 ldrd r2, r4, [r9], #-48
816 strd r2, r4, [r9], #48
817 strd r2, r4, [r9], #-48
818
819 .macro ldaddr op
820 ldr\op r1, [r5, #0x301]
821 ldr\op r1, [r5, #0x30]!
822 ldr\op r1, [r5, #-0x30]!
823 ldr\op r1, [r5], #0x30
824 ldr\op r1, [r5], #-0x30
825 ldr\op r1, [r5, r9]
826 .endm
827 ldaddr
828 ldaddr b
829 ldaddr sb
830 ldaddr h
831 ldaddr sh
728ca7c9
PB
832 .macro movshift op s="s"
833 movs r1, r4, \op #2
834 movs r3, r9, \op #2
835 movs r1, r2, \op r3
836 movs r1, r1, \op r3
837 movs r1, r1, \op r9
838 mov r1, r2, \op r3
839 mov r1, r1, \op r3
840 .endm
841 movshift lsl
842 movshift lsr
843 movshift asr
844 movshift ror
845 nop
This page took 0.555356 seconds and 4 git commands to generate.