[PATCH 57/57][Arm][GAS] MVE Tests
[external/binutils.git] / gas / testsuite / gas / arm / mve-vmullbt.s
1 .syntax unified
2 .thumb
3
4 .macro helper_q0 op
5 .irp op2, q1, q2, q4, q7
6 .irp op3, q1, q2, q4, q7
7 \op q0, \op2, \op3
8 .endr
9 .endr
10 .endm
11
12 .macro helper_q1 op
13 .irp op2, q0, q2, q4, q7
14 .irp op3, q0, q2, q4, q7
15 \op q1, \op2, \op3
16 .endr
17 .endr
18 .endm
19
20 .macro helper_q2 op
21 .irp op2, q0, q1, q4, q7
22 .irp op3, q0, q1, q4, q7
23 \op q2, \op2, \op3
24 .endr
25 .endr
26 .endm
27
28 .macro helper_q4 op
29 .irp op2, q0, q1, q2, q7
30 .irp op3, q0, q1, q2, q7
31 \op q4, \op2, \op3
32 .endr
33 .endr
34 .endm
35
36
37 .macro helper_q7 op
38 .irp op2, q0, q1, q2, q4
39 .irp op3, q0, q1, q2, q4
40 \op q7, \op2, \op3
41 .endr
42 .endr
43 .endm
44
45 .macro all_qqq op
46 helper_q0 \op
47 helper_q1 \op
48 helper_q2 \op
49 helper_q4 \op
50 helper_q7 \op
51 .endm
52
53 .irp data, s8, u8, s16, u16, p8, p16
54 .irp op1, q0, q1, q2, q4, q7
55 .irp op2, q0, q1, q2, q4, q7
56 .irp op3, q0, q1, q2, q4, q7
57 vmullb.\data \op1, \op2, \op3
58 vmullt.\data \op1, \op2, \op3
59 .endr
60 .endr
61 .endr
62 .endr
63
64 all_qqq vmullb.s32
65 all_qqq vmullb.u32
66 all_qqq vmullt.s32
67 all_qqq vmullt.u32
68
69 vpstete
70 vmullbt.s8 q0, q1, q2
71 vmullbe.s16 q1, q0, q3
72 vmullbt.s32 q2, q3, q4
73 vmullbe.u8 q3, q2, q1
74 vpstete
75 vmullbt.u16 q4, q5, q7
76 vmullbe.u32 q5, q4, q6
77 vmullbt.p8 q6, q7, q5
78 vmullbe.p16 q7, q6, q0
79
80 vpstete
81 vmulltt.s8 q0, q1, q2
82 vmullte.s16 q1, q0, q3
83 vmulltt.s32 q2, q3, q4
84 vmullte.u8 q3, q2, q1
85 vpstete
86 vmulltt.u16 q4, q5, q7
87 vmullte.u32 q5, q4, q6
88 vmulltt.p8 q6, q7, q5
89 vmullte.p16 q7, q6, q0