.macro fmac_iter_d_n op, d, n .irp m, 0, 8, 15 vfmal.f16 d\d, s\n, s\m vfmal.f16 d\n, s\d, s\m[0] vfmsl.f16 d\d, s\n, s\m vfmsl.f16 d\n, s\d, s\m[1] .endr .endm .macro fmac_iter_d op, d .irp n, 2, 15, 30 fmac_iter_d_n \op, \d, \n .endr .endm .macro iter .irp d, 0, 7, 16, 31 fmac_iter_d \op, \d .endr .endm .macro fmac_q_iter_d_n op, d, n .irp m, 0, 7 vfmal.f16 q\n, d\d, d\m vfmal.f16 q\d, d\n, d\m[0] vfmsl.f16 q\n, d\d, d\m vfmsl.f16 q\d, d\n, d\m[3] .endr .endm .macro fmac_q_iter_d op, d .irp n, 2, 3, 13 fmac_q_iter_d_n \op, \d, \n .endr .endm .macro q_iter .irp d, 0, 1, 6, 15 fmac_q_iter_d \op, \d .endr .endm .text func: iter q_iter