| .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 |