blob: 94d4af764deb798f0a8b5eafb8f610bcc064102c [file] [log] [blame]
.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