Commit | Line | Data |
---|---|---|
4d6ac854 AV |
1 | .syntax unified |
2 | .thumb | |
3 | ||
4 | .macro vcmla_q0 data, op4 | |
5 | .irp op2, q1, q2, q4, q7 | |
6 | .irp op3, q1, q2, q4, q7 | |
7 | vcmla.\data q0, \op2, \op3, \op4 | |
8 | .endr | |
9 | .endr | |
10 | .endm | |
11 | ||
12 | .macro vcmla_q1 data, op4 | |
13 | .irp op2, q0, q2, q4, q7 | |
14 | .irp op3, q0, q2, q4, q7 | |
15 | vcmla.\data q1, \op2, \op3, \op4 | |
16 | .endr | |
17 | .endr | |
18 | .endm | |
19 | ||
20 | .macro vcmla_q2 data, op4 | |
21 | .irp op2, q0, q1, q4, q7 | |
22 | .irp op3, q0, q1, q4, q7 | |
23 | vcmla.\data q2, \op2, \op3, \op4 | |
24 | .endr | |
25 | .endr | |
26 | .endm | |
27 | ||
28 | .macro vcmla_q4 data, op4 | |
29 | .irp op2, q0, q1, q2, q7 | |
30 | .irp op3, q0, q1, q2, q7 | |
31 | vcmla.\data q4, \op2, \op3, \op4 | |
32 | .endr | |
33 | .endr | |
34 | .endm | |
35 | ||
36 | .macro vcmla_q7 data, op4 | |
37 | .irp op2, q0, q1, q2, q4 | |
38 | .irp op3, q0, q1, q2, q4 | |
39 | vcmla.\data q7, \op2, \op3, \op4 | |
40 | .endr | |
41 | .endr | |
42 | .endm | |
43 | ||
44 | .irp data, f16, f32 | |
45 | .irp op4, #0, #90, #180, #270 | |
46 | vcmla_q0 \data, \op4 | |
47 | vcmla_q1 \data, \op4 | |
48 | vcmla_q2 \data, \op4 | |
49 | vcmla_q4 \data, \op4 | |
50 | vcmla_q7 \data, \op4 | |
51 | .endr | |
52 | .endr | |
53 | vpstete | |
54 | vcmlat.f16 q0, q1, q2, #0 | |
55 | vcmlae.f16 q7, q7, q7, #0 | |
56 | vcmlat.f32 q0, q1, q2, #0 | |
57 | vcmlae.f32 q0, q1, q2, #90 |