Commit | Line | Data |
---|---|---|
c604a79a JW |
1 | .macro dotprod_iter_d_n op, d, n |
2 | .irp m, 0, 8, 15 | |
3 | \op d\d, d\n, d\m | |
4 | \op d\d, d\n, d\m[0] | |
5 | .endr | |
6 | .endm | |
7 | ||
8 | .macro dotprod_iter_d op, d | |
9 | .irp n, 2, 15, 30 | |
10 | dotprod_iter_d_n \op, \d, \n | |
11 | .endr | |
12 | .endm | |
13 | ||
14 | .macro dotprod_iter op | |
15 | .irp d, 0, 7, 16, 31 | |
16 | dotprod_iter_d \op, \d | |
17 | .endr | |
18 | .endm | |
19 | ||
20 | .macro dotprod_q_iter_d_n op, d, n | |
21 | .irp m, 0, 7, 15 | |
22 | \op q\d, q\n, q\m | |
23 | \op q\d, q\n, d\m[1] | |
24 | .endr | |
25 | .endm | |
26 | ||
27 | .macro dotprod_q_iter_d op, d | |
28 | .irp n, 2, 3, 14 | |
29 | dotprod_q_iter_d_n \op, \d, \n | |
30 | .endr | |
31 | .endm | |
32 | ||
33 | .macro dotprod_q_iter op | |
34 | .irp d, 0, 1, 6, 13 | |
35 | dotprod_q_iter_d \op, \d | |
36 | .endr | |
37 | .endm | |
38 | ||
39 | .text | |
40 | func: | |
41 | dotprod_iter vudot.u8 | |
42 | dotprod_iter vsdot.s8 | |
43 | dotprod_q_iter vudot.u8 | |
44 | dotprod_q_iter vsdot.s8 |