.syntax unified .thumb .irp data, i8, i16, f16 .irp op1, q0, q1, q2, q4, q7 .irp op2, q0, q1, q2, q4, q7 .irp op3, q0, q1, q2, q4, q7 .irp op4, #90, #270 vcadd.\data \op1, \op2, \op3, \op4 .endr .endr .endr .endr .endr .macro vcadd_q0 data, op2, op4 .irp op3, q1, q2, q4, q7 vcadd.\data q0, \op2, \op3, \op4 .endr .endm .macro vcadd_q1 data, op2, op4 .irp op3, q0, q2, q4, q7 vcadd.\data q1, \op2, \op3, \op4 .endr .endm .macro vcadd_q2 data, op2, op4 .irp op3, q0, q1, q4, q7 vcadd.\data q2, \op2, \op3, \op4 .endr .endm .macro vcadd_q3 data, op2, op4 .irp op3, q0, q1, q2, q4, q7 vcadd.\data q3, \op2, \op3, \op4 .endr .endm .macro vcadd_q4 data, op2, op4 .irp op3, q0, q1, q2, q3, q7 vcadd.\data q4, \op2, \op3, \op4 .endr .endm .macro vcadd_q6 data, op2, op4 .irp op3, q0, q1, q2, q4, q7 vcadd.\data q6, \op2, \op3, \op4 .endr .endm .macro vcadd_q7 data, op2, op4 .irp op3, q0, q1, q2, q4, q5 vcadd.\data q7, \op2, \op3, \op4 .endr .endm .irp data, i32, f32 .irp op2, q0, q1, q2, q4, q7 .irp op4, #90, #270 vcadd_q0 \data, \op2, \op4 vcadd_q1 \data, \op2, \op4 vcadd_q2 \data, \op2, \op4 vcadd_q3 \data, \op2, \op4 vcadd_q4 \data, \op2, \op4 vcadd_q6 \data, \op2, \op4 vcadd_q7 \data, \op2, \op4 .endr .endr .endr vpstete vcaddt.i8 q0, q1, q2, #90 vcadde.i8 q7, q7, q7, #270 vcaddt.i16 q0, q1, q2, #90 vcadde.i16 q0, q1, q2, #270 vpstete vcaddt.i32 q0, q1, q2, #90 vcadde.i32 q0, q1, q2, #270 vcaddt.f16 q0, q1, q2, #90 vcadde.f32 q0, q1, q2, #270