Home | History | Annotate | Download | only in arm
      1 @ test register and multi-register loads and stores.
      2 
      3 	.text
      4 	.arm
      5 	.syntax unified
      6 
      7 	.macro multi op dir="" wb=""
      8 	\op\dir r2\wb,{d2}
      9 	\op\dir r2\wb,{d2-d3}
     10 	\op\dir r2\wb,{q2-q3}
     11 	\op\dir r2\wb,{q12-q14,q15}
     12 	\op\dir r2\wb,{d3,d4,d5-d8,d9,d10,d11,d12-d16,d17-d18}
     13 	.endm
     14 
     15 	multi vldm
     16 	multi vldm ia
     17 	multi vldm ia "!"
     18 	multi vldm db "!"
     19 
     20 	multi vstm
     21 	multi vstm ia
     22 	multi vstm ia "!"
     23 	multi vstm db "!"
     24 
     25 backward:
     26 	.word 500
     27 
     28 	.macro single op offset=""
     29 	\op d5,[r3]
     30 	\op d5,[r3,#-\offset]
     31 	\op d5,[r3,#\offset]
     32 	.endm
     33 
     34 	vldr d22, forward
     35 
     36 	single vldr 4
     37 	single vstr 4
     38 	single vldr 256
     39 	single vstr 256
     40 
     41 forward:
     42 	.word 700
     43 
     44 	vldr d7, backward
     45