Commit | Line | Data |
---|---|---|
4d6ac854 AV |
1 | .syntax unified |
2 | .thumb | |
3 | .macro all_qqq op | |
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 | \op \op1, \op2, \op3 | |
8 | .endr | |
9 | .endr | |
10 | .endr | |
11 | .endm | |
12 | ||
13 | .macro all_qqr op | |
14 | .irp op1, q0, q1, q2, q4, q7 | |
15 | .irp op2, q0, q1, q2, q4, q7 | |
16 | .irp op3, r0, r1, r2, r4, r7, r8, r10, r12, r14 | |
17 | \op \op1, \op2, \op3 | |
18 | .endr | |
19 | .endr | |
20 | .endr | |
21 | .endm | |
22 | ||
23 | all_qqq vadd.i8 | |
24 | all_qqq vadd.i16 | |
25 | all_qqq vadd.i32 | |
26 | all_qqq vadd.f16 | |
27 | all_qqq vadd.f32 | |
28 | ||
29 | vpstt | |
30 | vaddt.i8 q0, q1, q2 | |
31 | vaddt.i16 q1, q2, q4 | |
32 | vpstee | |
33 | vaddt.i32 q2, q4, q5 | |
34 | vadde.f16 q0, q4, q6 | |
35 | vadde.f32 q4, q5, q7 | |
36 | ||
37 | all_qqq vsub.i8 | |
38 | all_qqq vsub.i16 | |
39 | all_qqq vsub.i32 | |
40 | all_qqq vsub.f16 | |
41 | all_qqq vsub.f32 | |
42 | ||
43 | vpste | |
44 | vsubt.i8 q0, q1, q2 | |
45 | vsube.i16 q1, q2, q4 | |
46 | vpstte | |
47 | vsubt.i32 q2, q7, q5 | |
48 | vsubt.f16 q1, q4, q6 | |
49 | vsube.f32 q4, q5, q7 | |
50 | ||
51 | all_qqr vadd.i8 | |
52 | all_qqr vadd.i16 | |
53 | all_qqr vadd.i32 | |
54 | all_qqr vadd.f16 | |
55 | all_qqr vadd.f32 | |
56 | ||
57 | vpstt | |
58 | vaddt.i8 q0, q1, r10 | |
59 | vaddt.i16 q1, q2, r12 | |
60 | vpstee | |
61 | vaddt.i32 q2, q4, r5 | |
62 | vadde.f16 q5, q4, r6 | |
63 | vadde.f32 q4, q5, r7 | |
64 | ||
65 | all_qqr vsub.i8 | |
66 | all_qqr vsub.i16 | |
67 | all_qqr vsub.i32 | |
68 | all_qqr vsub.f16 | |
69 | all_qqr vsub.f32 | |
70 | ||
71 | vpste | |
72 | vsubt.i8 q0, q1, r10 | |
73 | vsube.i16 q1, q2, r11 | |
74 | vpstte | |
75 | vsubt.i32 q2, q0, r5 | |
76 | vsubt.f16 q1, q4, r6 | |
77 | vsube.f32 q4, q5, r7 |