1.syntax unified 2.thumb 3 4.macro all_vstr op, imm 5.irp op1, q0, q1, q2, q4, q7 6.irp op2, q0, q1, q2, q4, q7 7\op \op1, [\op2, #\imm] 8\op \op1, [\op2, #-\imm] 9\op \op1, [\op2, #\imm]! 10\op \op1, [\op2, #-\imm]! 11.endr 12.endr 13.endm 14 15.irp data, .32, .u32, .s32, .f32 16.irp imm, 0, 4, 8, 16, 32, 64, 128, 256, 508, 340, 168, 60, 480 17all_vstr vstrw\data, \imm 18.endr 19.endr 20 21.irp data, .64, .u64, .s64 22.irp imm, 0, 8, 16, 32, 64, 128, 256, 512, 1016, 680, 336, 960, 120 23all_vstr vstrd\data, \imm 24.endr 25.endr 26 27 28vpstete 29vstrwt.32 q0, [q1, #4] 30vstrwe.u32 q1, [q0, #-4] 31vstrwt.s32 q2, [q2] 32vstrwe.f32 q3, [q4, #-508] 33vpstet 34vstrdt.64 q4, [q5, #512] 35vstrde.u64 q5, [q6, #1016] 36vstrdt.s64 q6, [q7, #-1016] 37 38.macro all_vldr_qq op, op1, op2, imm 39\op \op1, [\op2, #\imm] 40\op \op1, [\op2, #-\imm] 41\op \op1, [\op2, #\imm]! 42\op \op1, [\op2, #-\imm]! 43.endm 44 45.macro all_vldr_q0 op, imm 46.irp op2, q1, q2, q4, q7 47all_vldr_qq \op, q0, \op2, \imm 48.endr 49.endm 50 51.macro all_vldr_q1 op, imm 52.irp op2, q0, q2, q4, q7 53all_vldr_qq \op, q1, \op2, \imm 54.endr 55.endm 56 57.macro all_vldr_q2 op, imm 58.irp op2, q0, q1, q4, q7 59all_vldr_qq \op, q2, \op2, \imm 60.endr 61.endm 62 63.macro all_vldr_q4 op, imm 64.irp op2, q0, q1, q2, q7 65all_vldr_qq \op, q4, \op2, \imm 66.endr 67.endm 68 69.macro all_vldr_q7 op, imm 70.irp op2, q0, q1, q2, q4 71all_vldr_qq \op, q7, \op2, \imm 72.endr 73.endm 74 75.macro all_vldr op, imm 76all_vldr_q0 \op, \imm 77all_vldr_q1 \op, \imm 78all_vldr_q2 \op, \imm 79all_vldr_q4 \op, \imm 80all_vldr_q7 \op, \imm 81.endm 82 83.irp data, .32, .u32, .s32, .f32 84.irp imm, 0, 4, 8, 16, 32, 64, 128, 256, 508, 340, 168, 60, 480 85all_vldr vldrw\data, \imm 86.endr 87.endr 88 89.irp data, .64, .u64, .s64 90.irp imm, 0, 8, 16, 32, 64, 128, 256, 512, 1016, 680, 336, 960, 120 91all_vldr vldrd\data, \imm 92.endr 93.endr 94 95vpstete 96vldrwt.32 q0, [q1, #4] 97vldrwe.u32 q1, [q0, #-4] 98vldrwt.s32 q2, [q3] 99vldrwe.f32 q3, [q4, #-508] 100vpstet 101vldrdt.64 q4, [q5, #512] 102vldrde.u64 q5, [q6, #1016] 103vldrdt.s64 q6, [q7, #-1016] 104