52 lines
1.4 KiB
ArmAsm
52 lines
1.4 KiB
ArmAsm
.syntax unified
|
|
.thumb
|
|
|
|
.macro all_vstld2 op
|
|
.irp part, 0, 1
|
|
.irp size, .8, .16, .32
|
|
.irp op2, r0, r1, r2, r4, r7, r8, r10, r12, r13, r14
|
|
\op\()\part\()\size {q0, q1}, [\op2]
|
|
\op\()\part\()\size {q1, q2}, [\op2]
|
|
\op\()\part\()\size {q2, q3}, [\op2]
|
|
\op\()\part\()\size {q3, q4}, [\op2]
|
|
\op\()\part\()\size {q4, q5}, [\op2]
|
|
\op\()\part\()\size {q5, q6}, [\op2]
|
|
\op\()\part\()\size {q6, q7}, [\op2]
|
|
.endr
|
|
.irp op2, r0, r1, r2, r4, r7, r8, r10, r12, r14
|
|
\op\()\part\()\size {q0, q1}, [\op2]!
|
|
\op\()\part\()\size {q1, q2}, [\op2]!
|
|
\op\()\part\()\size {q2, q3}, [\op2]!
|
|
\op\()\part\()\size {q3, q4}, [\op2]!
|
|
\op\()\part\()\size {q4, q5}, [\op2]!
|
|
\op\()\part\()\size {q5, q6}, [\op2]!
|
|
\op\()\part\()\size {q6, q7}, [\op2]!
|
|
.endr
|
|
.endr
|
|
.endr
|
|
.endm
|
|
|
|
.macro all_vstld4 op
|
|
.irp part, 0, 1, 2, 3
|
|
.irp size, .8, .16, .32
|
|
.irp op2, r0, r1, r2, r4, r7, r8, r10, r12, r13, r14
|
|
\op\()\part\()\size {q0, q1, q2, q3}, [\op2]
|
|
\op\()\part\()\size {q1, q2, q3, q4}, [\op2]
|
|
\op\()\part\()\size {q2, q3, q4, q5}, [\op2]
|
|
\op\()\part\()\size {q3, q4, q5, q6}, [\op2]
|
|
\op\()\part\()\size {q4, q5, q6, q7}, [\op2]
|
|
.endr
|
|
.irp op2, r0, r1, r2, r4, r7, r8, r10, r12, r14
|
|
\op\()\part\()\size {q0, q1, q2, q3}, [\op2]!
|
|
\op\()\part\()\size {q1, q2, q3, q4}, [\op2]!
|
|
\op\()\part\()\size {q2, q3, q4, q5}, [\op2]!
|
|
\op\()\part\()\size {q3, q4, q5, q6}, [\op2]!
|
|
\op\()\part\()\size {q4, q5, q6, q7}, [\op2]!
|
|
.endr
|
|
.endr
|
|
.endr
|
|
.endm
|
|
all_vstld2 vst2
|
|
all_vstld2 vld2
|
|
all_vstld4 vst4
|
|
all_vstld4 vld4
|