[PATCH 57/57][Arm][GAS] MVE Tests
[external/binutils.git] / gas / testsuite / gas / arm / mve-vcadd.s
1 .syntax unified
2 .thumb
3 .irp data, i8, i16, f16
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 op4, #90, #270
8 vcadd.\data \op1, \op2, \op3, \op4
9 .endr
10 .endr
11 .endr
12 .endr
13 .endr
14
15 .macro vcadd_q0 data, op2, op4
16 .irp op3, q1, q2, q4, q7
17 vcadd.\data q0, \op2, \op3, \op4
18 .endr
19 .endm
20
21 .macro vcadd_q1 data, op2, op4
22 .irp op3, q0, q2, q4, q7
23 vcadd.\data q1, \op2, \op3, \op4
24 .endr
25 .endm
26
27 .macro vcadd_q2 data, op2, op4
28 .irp op3, q0, q1, q4, q7
29 vcadd.\data q2, \op2, \op3, \op4
30 .endr
31 .endm
32
33 .macro vcadd_q3 data, op2, op4
34 .irp op3, q0, q1, q2, q4, q7
35 vcadd.\data q3, \op2, \op3, \op4
36 .endr
37 .endm
38
39 .macro vcadd_q4 data, op2, op4
40 .irp op3, q0, q1, q2, q3, q7
41 vcadd.\data q4, \op2, \op3, \op4
42 .endr
43 .endm
44
45 .macro vcadd_q6 data, op2, op4
46 .irp op3, q0, q1, q2, q4, q7
47 vcadd.\data q6, \op2, \op3, \op4
48 .endr
49 .endm
50
51 .macro vcadd_q7 data, op2, op4
52 .irp op3, q0, q1, q2, q4, q5
53 vcadd.\data q7, \op2, \op3, \op4
54 .endr
55 .endm
56
57 .irp data, i32, f32
58 .irp op2, q0, q1, q2, q4, q7
59 .irp op4, #90, #270
60 vcadd_q0 \data, \op2, \op4
61 vcadd_q1 \data, \op2, \op4
62 vcadd_q2 \data, \op2, \op4
63 vcadd_q3 \data, \op2, \op4
64 vcadd_q4 \data, \op2, \op4
65 vcadd_q6 \data, \op2, \op4
66 vcadd_q7 \data, \op2, \op4
67 .endr
68 .endr
69 .endr
70
71 vpstete
72 vcaddt.i8 q0, q1, q2, #90
73 vcadde.i8 q7, q7, q7, #270
74 vcaddt.i16 q0, q1, q2, #90
75 vcadde.i16 q0, q1, q2, #270
76 vpstete
77 vcaddt.i32 q0, q1, q2, #90
78 vcadde.i32 q0, q1, q2, #270
79 vcaddt.f16 q0, q1, q2, #90
80 vcadde.f32 q0, q1, q2, #270