Commit | Line | Data |
---|---|---|
4d6ac854 AV |
1 | .syntax unified |
2 | .thumb | |
3 | .irp data, s8, s16 | |
4 | .irp op1, q0, q1, q2, q4, q7 | |
5 | .irp op2, q0, q1, q2, q4, q7 | |
6 | .irp op3, q0, q1, q2, q4, q7 | |
7 | .irp rot, #90, #270 | |
8 | vhcadd.\data \op1, \op2, \op3, \rot | |
9 | .endr | |
10 | .endr | |
11 | .endr | |
12 | .endr | |
13 | .endr | |
14 | ||
15 | .macro vhcadd_q0 op2, rot | |
16 | .irp op3, q1, q2, q4, q7 | |
17 | vhcadd.s32 q0, \op2, \op3, \rot | |
18 | .endr | |
19 | .endm | |
20 | ||
21 | .macro vhcadd_q1 op2, rot | |
22 | .irp op3, q0, q2, q4, q7 | |
23 | vhcadd.s32 q1, \op2, \op3, \rot | |
24 | .endr | |
25 | .endm | |
26 | ||
27 | .macro vhcadd_q2 op2, rot | |
28 | .irp op3, q0, q1, q4, q7 | |
29 | vhcadd.s32 q2, \op2, \op3, \rot | |
30 | .endr | |
31 | .endm | |
32 | ||
33 | .macro vhcadd_q4 op2, rot | |
34 | .irp op3, q0, q1, q2, q7 | |
35 | vhcadd.s32 q4, \op2, \op3, \rot | |
36 | .endr | |
37 | .endm | |
38 | ||
39 | .macro vhcadd_q7 op2, rot | |
40 | .irp op3, q0, q1, q2, q4 | |
41 | vhcadd.s32 q7, \op2, \op3, \rot | |
42 | .endr | |
43 | .endm | |
44 | ||
45 | .irp op2, q0, q1, q2, q4, q7 | |
46 | .irp rot, #90, #270 | |
47 | vhcadd_q0 \op2, \rot | |
48 | vhcadd_q1 \op2, \rot | |
49 | vhcadd_q2 \op2, \rot | |
50 | vhcadd_q4 \op2, \rot | |
51 | vhcadd_q7 \op2, \rot | |
52 | .endr | |
53 | .endr | |
54 | ||
55 | vpste | |
56 | vhcaddt.s8 q0, q1, q2, #90 | |
57 | vhcadde.s16 q0, q1, q2, #270 |