Home | History | Annotate | Download | only in arm
      1 .syntax unified
      2 .thumb
      3 ldmstm:
      4 	ldmia sp!, {r0}
      5 	ldmia sp!, {r8}
      6 	ldmia r1, {r9}
      7 	ldmia r2!, {ip}
      8 	ldmdb sp!, {r2}
      9 	ldmdb sp!, {r8}
     10 	ldmdb r6, {r4}
     11 	ldmdb r6, {r8}
     12 	ldmdb r2!, {r4}
     13 	ldmdb r2!, {ip}
     14 	stmia sp!, {r3}
     15 	stmia sp!, {r9}
     16 	stmia r3, {ip}
     17 	stmia r4!, {ip}
     18 	stmdb sp!, {r3}
     19 	stmdb sp!, {r9}
     20 	stmdb r7, {r5}
     21 	stmdb r6, {ip}
     22 	stmdb r6!, {fp}
     23 	stmdb r5!, {r8}
     24 
     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
     35 	it eq
     36 	ldmiaeq r0!, {r12, pc}	@ Encoding T2
     37 
     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
     46 
     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]
     64