[PATCH 57/57][Arm][GAS] MVE Tests
[external/binutils.git] / gas / testsuite / gas / arm / mve-vhcadd.s
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