25 @ Valid Thumb-2 encodings of LDM/LDMIA/LDMFD as specified by section
26 @ A8.6.53 of the ARM ARM
27 ldmia r0!, {r1-r3} @ Encoding T1
28 ldmia r0, {r0-r3} @ Encoding T1
29 ldmia r0!, {r1} @ Encoding T1
30 ldmia r0, {r8-r11} @ Encoding T2
31 ldmia.w r0!, {r1-r3} @ Encoding T2
32 ldmia r0!, {r8-r11} @ Encoding T2
33 ldmia r0!, {r12, r14} @ Encoding T2
34 ldmia r0!, {r12, pc} @ Encoding T2
36 ldmiaeq r0!, {r12, pc} @ Encoding T2
38 @ Valid Thumb-2 encodings of STM/STMIA/STMEA as specified by section
39 @ A8.6.189 of the ARMARM.
40 stmia r0!, {r0-r3} @ Encoding T1, Allowed as r0 is lowest reg
41 stmia r0!, {r4-r7} @ Encoding T1
42 stmia.w r0!, {r4-r7} @ Encoding T2
43 stmia r0!, {r8-r11} @ Encoding T2
44 stmia r0, {r0-r3} @ Encoding T2
45 stmia r0, {r8-r11} @ Encoding T2
47 @ The following are technically UNPREDICTABLE if we assemble them
48 @ as written, but gas translates (stm|ldm) rn(!), {rd} into an
49 @ equivalent, and well-defined, (ldr, str) rd, [rn], (#4).
50 ldmia.w r0!, {r1} @ ldr.w r1, [r0], #4
51 ldmia.w r0, {r1} @ ldr.w r1, [r0]
52 ldmia r8!, {r9} @ ldr.w r9, [r8], #4
53 ldmia r8, {r9} @ ldr.w r9, [r8]
54 stmia.w r0!, {r1} @ str.w r1, [r0], #4
55 stmia r0, {r1} @ T1 str r1, [r0]
56 ldmia r1, {r2} @ T1 ldr r2, [r1]
57 ldmia r0, {r7} @ T1 ldr r7, [r0]
58 stmia sp, {r7} @ T1 str r7, [sp]
59 stmia sp, {r0} @ T1 str r0, [sp]
60 ldmia sp, {r7} @ T1 ldr r7, [sp]
61 ldmia sp, {r0} @ T1 ldr r0, [sp]
62 stmia r8!, {r9} @ str.w r9, [r8], #4
63 stmia r8, {r9} @ str.w r9, [r8]