[obj2yaml] - Fix a comment. NFC.
[llvm-complete.git] / test / MC / ARM / mve-qdest-rsrc.s
blob3b5536a7407ad80323bd0459cc6998b664f7adc6
1 # RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=+mve -show-encoding < %s \
2 # RUN: | FileCheck --check-prefix=CHECK-NOFP %s
3 # RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=+mve.fp,+fp64 -show-encoding < %s 2>%t \
4 # RUN: | FileCheck --check-prefix=CHECK %s
5 # RUN: FileCheck --check-prefix=ERROR < %t %s
7 # CHECK: vsub.i8 q0, q3, r3 @ encoding: [0x07,0xee,0x43,0x1f]
8 # CHECK-NOFP: vsub.i8 q0, q3, r3 @ encoding: [0x07,0xee,0x43,0x1f]
9 vsub.i8 q0, q3, r3
11 # CHECK: vsub.i16 q0, q7, lr @ encoding: [0x1f,0xee,0x4e,0x1f]
12 # CHECK-NOFP: vsub.i16 q0, q7, lr @ encoding: [0x1f,0xee,0x4e,0x1f]
13 vsub.i16 q0, q7, lr
15 # CHECK: vsub.i32 q1, q5, r10 @ encoding: [0x2b,0xee,0x4a,0x3f]
16 # CHECK-NOFP: vsub.i32 q1, q5, r10 @ encoding: [0x2b,0xee,0x4a,0x3f]
17 vsub.i32 q1, q5, r10
19 # CHECK: vadd.i8 q1, q4, r7 @ encoding: [0x09,0xee,0x47,0x2f]
20 # CHECK-NOFP: vadd.i8 q1, q4, r7 @ encoding: [0x09,0xee,0x47,0x2f]
21 vadd.i8 q1, q4, r7
23 # CHECK: vadd.i16 q0, q6, r11 @ encoding: [0x1d,0xee,0x4b,0x0f]
24 # CHECK-NOFP: vadd.i16 q0, q6, r11 @ encoding: [0x1d,0xee,0x4b,0x0f]
25 vadd.i16 q0, q6, r11
27 # CHECK: vadd.i32 q0, q1, r6 @ encoding: [0x23,0xee,0x46,0x0f]
28 # CHECK-NOFP: vadd.i32 q0, q1, r6 @ encoding: [0x23,0xee,0x46,0x0f]
29 vadd.i32 q0, q1, r6
31 # CHECK: vqsub.s8 q2, q2, r8 @ encoding: [0x04,0xee,0x68,0x5f]
32 # CHECK-NOFP: vqsub.s8 q2, q2, r8 @ encoding: [0x04,0xee,0x68,0x5f]
33 vqsub.s8 q2, q2, r8
35 # CHECK: vqsub.s16 q1, q4, r0 @ encoding: [0x18,0xee,0x60,0x3f]
36 # CHECK-NOFP: vqsub.s16 q1, q4, r0 @ encoding: [0x18,0xee,0x60,0x3f]
37 vqsub.s16 q1, q4, r0
39 # CHECK: vqsub.s32 q0, q2, r0 @ encoding: [0x24,0xee,0x60,0x1f]
40 # CHECK-NOFP: vqsub.s32 q0, q2, r0 @ encoding: [0x24,0xee,0x60,0x1f]
41 vqsub.s32 q0, q2, r0
43 # CHECK: vqsub.u8 q0, q1, r2 @ encoding: [0x02,0xfe,0x62,0x1f]
44 # CHECK-NOFP: vqsub.u8 q0, q1, r2 @ encoding: [0x02,0xfe,0x62,0x1f]
45 vqsub.u8 q0, q1, r2
47 # CHECK: vqsub.u16 q0, q2, r6 @ encoding: [0x14,0xfe,0x66,0x1f]
48 # CHECK-NOFP: vqsub.u16 q0, q2, r6 @ encoding: [0x14,0xfe,0x66,0x1f]
49 vqsub.u16 q0, q2, r6
51 # CHECK: vqsub.u32 q0, q2, r2 @ encoding: [0x24,0xfe,0x62,0x1f]
52 # CHECK-NOFP: vqsub.u32 q0, q2, r2 @ encoding: [0x24,0xfe,0x62,0x1f]
53 vqsub.u32 q0, q2, r2
55 # CHECK: vqadd.s8 q0, q6, r1 @ encoding: [0x0c,0xee,0x61,0x0f]
56 # CHECK-NOFP: vqadd.s8 q0, q6, r1 @ encoding: [0x0c,0xee,0x61,0x0f]
57 vqadd.s8 q0, q6, r1
59 # CHECK: vqadd.s16 q3, q4, r2 @ encoding: [0x18,0xee,0x62,0x6f]
60 # CHECK-NOFP: vqadd.s16 q3, q4, r2 @ encoding: [0x18,0xee,0x62,0x6f]
61 vqadd.s16 q3, q4, r2
63 # CHECK: vqadd.s32 q0, q5, r11 @ encoding: [0x2a,0xee,0x6b,0x0f]
64 # CHECK-NOFP: vqadd.s32 q0, q5, r11 @ encoding: [0x2a,0xee,0x6b,0x0f]
65 vqadd.s32 q0, q5, r11
67 # CHECK: vqadd.u8 q0, q1, r8 @ encoding: [0x02,0xfe,0x68,0x0f]
68 # CHECK-NOFP: vqadd.u8 q0, q1, r8 @ encoding: [0x02,0xfe,0x68,0x0f]
69 vqadd.u8 q0, q1, r8
71 # CHECK: vqadd.u16 q0, q5, r9 @ encoding: [0x1a,0xfe,0x69,0x0f]
72 # CHECK-NOFP: vqadd.u16 q0, q5, r9 @ encoding: [0x1a,0xfe,0x69,0x0f]
73 vqadd.u16 q0, q5, r9
75 # CHECK: vqadd.u32 q0, q0, r7 @ encoding: [0x20,0xfe,0x67,0x0f]
76 # CHECK-NOFP: vqadd.u32 q0, q0, r7 @ encoding: [0x20,0xfe,0x67,0x0f]
77 vqadd.u32 q0, q0, r7
79 # CHECK: vqdmullb.s16 q0, q1, r6 @ encoding: [0x32,0xee,0x66,0x0f]
80 # CHECK-NOFP: vqdmullb.s16 q0, q1, r6 @ encoding: [0x32,0xee,0x66,0x0f]
81 vqdmullb.s16 q0, q1, r6
83 # CHECK: vqdmullb.s32 q0, q3, q7 @ encoding: [0x36,0xfe,0x0f,0x0f]
84 # CHECK-NOFP: vqdmullb.s32 q0, q3, q7 @ encoding: [0x36,0xfe,0x0f,0x0f]
85 vqdmullb.s32 q0, q3, q7
87 # CHECK: vqdmullt.s16 q0, q1, r0 @ encoding: [0x32,0xee,0x60,0x1f]
88 # CHECK-NOFP: vqdmullt.s16 q0, q1, r0 @ encoding: [0x32,0xee,0x60,0x1f]
89 vqdmullt.s16 q0, q1, r0
91 # CHECK: vqdmullt.s32 q0, q4, r5 @ encoding: [0x38,0xfe,0x65,0x1f]
92 # CHECK-NOFP: vqdmullt.s32 q0, q4, r5 @ encoding: [0x38,0xfe,0x65,0x1f]
93 vqdmullt.s32 q0, q4, r5
95 # CHECK: vsub.f16 q0, q3, r7 @ encoding: [0x36,0xfe,0x47,0x1f]
96 # CHECK-NOFP-NOT: vsub.f16 q0, q3, r7 @ encoding: [0x36,0xfe,0x47,0x1f]
97 vsub.f16 q0, q3, r7
99 # CHECK: vsub.f32 q1, q1, r10 @ encoding: [0x32,0xee,0x4a,0x3f]
100 # CHECK-NOFP-NOT: vsub.f32 q1, q1, r10 @ encoding: [0x32,0xee,0x4a,0x3f]
101 vsub.f32 q1, q1, r10
103 # CHECK: vadd.f16 q0, q1, lr @ encoding: [0x32,0xfe,0x4e,0x0f]
104 # CHECK-NOFP-NOT: vadd.f16 q0, q1, lr @ encoding: [0x32,0xfe,0x4e,0x0f]
105 vadd.f16 q0, q1, lr
107 # CHECK: vadd.f32 q1, q4, r4 @ encoding: [0x38,0xee,0x44,0x2f]
108 # CHECK-NOFP-NOT: vadd.f32 q1, q4, r4 @ encoding: [0x38,0xee,0x44,0x2f]
109 vadd.f32 q1, q4, r4
111 # CHECK: vhsub.s8 q0, q3, lr @ encoding: [0x06,0xee,0x4e,0x1f]
112 # CHECK-NOFP: vhsub.s8 q0, q3, lr @ encoding: [0x06,0xee,0x4e,0x1f]
113 vhsub.s8 q0, q3, lr
115 # CHECK: vhsub.s16 q0, q0, r6 @ encoding: [0x10,0xee,0x46,0x1f]
116 # CHECK-NOFP: vhsub.s16 q0, q0, r6 @ encoding: [0x10,0xee,0x46,0x1f]
117 vhsub.s16 q0, q0, r6
119 # CHECK: vhsub.s32 q1, q2, r7 @ encoding: [0x24,0xee,0x47,0x3f]
120 # CHECK-NOFP: vhsub.s32 q1, q2, r7 @ encoding: [0x24,0xee,0x47,0x3f]
121 vhsub.s32 q1, q2, r7
123 # CHECK: vhsub.u8 q1, q6, r5 @ encoding: [0x0c,0xfe,0x45,0x3f]
124 # CHECK-NOFP: vhsub.u8 q1, q6, r5 @ encoding: [0x0c,0xfe,0x45,0x3f]
125 vhsub.u8 q1, q6, r5
127 # CHECK: vhsub.u16 q0, q4, r10 @ encoding: [0x18,0xfe,0x4a,0x1f]
128 # CHECK-NOFP: vhsub.u16 q0, q4, r10 @ encoding: [0x18,0xfe,0x4a,0x1f]
129 vhsub.u16 q0, q4, r10
131 # CHECK: vhsub.u32 q0, q4, r12 @ encoding: [0x28,0xfe,0x4c,0x1f]
132 # CHECK-NOFP: vhsub.u32 q0, q4, r12 @ encoding: [0x28,0xfe,0x4c,0x1f]
133 vhsub.u32 q0, q4, r12
135 # CHECK: vhadd.s8 q0, q2, r1 @ encoding: [0x04,0xee,0x41,0x0f]
136 # CHECK-NOFP: vhadd.s8 q0, q2, r1 @ encoding: [0x04,0xee,0x41,0x0f]
137 vhadd.s8 q0, q2, r1
139 # CHECK: vhadd.s16 q0, q2, r1 @ encoding: [0x14,0xee,0x41,0x0f]
140 # CHECK-NOFP: vhadd.s16 q0, q2, r1 @ encoding: [0x14,0xee,0x41,0x0f]
141 vhadd.s16 q0, q2, r1
143 # CHECK: vhadd.s32 q0, q0, r10 @ encoding: [0x20,0xee,0x4a,0x0f]
144 # CHECK-NOFP: vhadd.s32 q0, q0, r10 @ encoding: [0x20,0xee,0x4a,0x0f]
145 vhadd.s32 q0, q0, r10
147 # CHECK: vhadd.u8 q0, q5, lr @ encoding: [0x0a,0xfe,0x4e,0x0f]
148 # CHECK-NOFP: vhadd.u8 q0, q5, lr @ encoding: [0x0a,0xfe,0x4e,0x0f]
149 vhadd.u8 q0, q5, lr
151 # CHECK: vhadd.u16 q1, q2, r2 @ encoding: [0x14,0xfe,0x42,0x2f]
152 # CHECK-NOFP: vhadd.u16 q1, q2, r2 @ encoding: [0x14,0xfe,0x42,0x2f]
153 vhadd.u16 q1, q2, r2
155 # CHECK: vhadd.u32 q0, q2, r11 @ encoding: [0x24,0xfe,0x4b,0x0f]
156 # CHECK-NOFP: vhadd.u32 q0, q2, r11 @ encoding: [0x24,0xfe,0x4b,0x0f]
157 vhadd.u32 q0, q2, r11
159 # CHECK: vqrshl.s8 q0, r0 @ encoding: [0x33,0xee,0xe0,0x1e]
160 # CHECK-NOFP: vqrshl.s8 q0, r0 @ encoding: [0x33,0xee,0xe0,0x1e]
161 vqrshl.s8 q0, r0
163 # CHECK: vqrshl.s16 q0, r3 @ encoding: [0x37,0xee,0xe3,0x1e]
164 # CHECK-NOFP: vqrshl.s16 q0, r3 @ encoding: [0x37,0xee,0xe3,0x1e]
165 vqrshl.s16 q0, r3
167 # CHECK: vqrshl.s32 q0, lr @ encoding: [0x3b,0xee,0xee,0x1e]
168 # CHECK-NOFP: vqrshl.s32 q0, lr @ encoding: [0x3b,0xee,0xee,0x1e]
169 vqrshl.s32 q0, lr
171 # CHECK: vqrshl.u8 q0, r0 @ encoding: [0x33,0xfe,0xe0,0x1e]
172 # CHECK-NOFP: vqrshl.u8 q0, r0 @ encoding: [0x33,0xfe,0xe0,0x1e]
173 vqrshl.u8 q0, r0
175 # CHECK: vqrshl.u16 q0, r2 @ encoding: [0x37,0xfe,0xe2,0x1e]
176 # CHECK-NOFP: vqrshl.u16 q0, r2 @ encoding: [0x37,0xfe,0xe2,0x1e]
177 vqrshl.u16 q0, r2
179 # CHECK: vqrshl.u32 q0, r3 @ encoding: [0x3b,0xfe,0xe3,0x1e]
180 # CHECK-NOFP: vqrshl.u32 q0, r3 @ encoding: [0x3b,0xfe,0xe3,0x1e]
181 vqrshl.u32 q0, r3
183 # CHECK: vqshl.s8 q0, r0 @ encoding: [0x31,0xee,0xe0,0x1e]
184 # CHECK-NOFP: vqshl.s8 q0, r0 @ encoding: [0x31,0xee,0xe0,0x1e]
185 vqshl.s8 q0, r0
187 # CHECK: vqshl.s16 q1, r1 @ encoding: [0x35,0xee,0xe1,0x3e]
188 # CHECK-NOFP: vqshl.s16 q1, r1 @ encoding: [0x35,0xee,0xe1,0x3e]
189 vqshl.s16 q1, r1
191 # CHECK: vqshl.s32 q0, r3 @ encoding: [0x39,0xee,0xe3,0x1e]
192 # CHECK-NOFP: vqshl.s32 q0, r3 @ encoding: [0x39,0xee,0xe3,0x1e]
193 vqshl.s32 q0, r3
195 # CHECK: vqshl.u8 q0, r1 @ encoding: [0x31,0xfe,0xe1,0x1e]
196 # CHECK-NOFP: vqshl.u8 q0, r1 @ encoding: [0x31,0xfe,0xe1,0x1e]
197 vqshl.u8 q0, r1
199 # CHECK: vqshl.u16 q0, r11 @ encoding: [0x35,0xfe,0xeb,0x1e]
200 # CHECK-NOFP: vqshl.u16 q0, r11 @ encoding: [0x35,0xfe,0xeb,0x1e]
201 vqshl.u16 q0, r11
203 # CHECK: vqshl.u32 q0, lr @ encoding: [0x39,0xfe,0xee,0x1e]
204 # CHECK-NOFP: vqshl.u32 q0, lr @ encoding: [0x39,0xfe,0xee,0x1e]
205 vqshl.u32 q0, lr
207 # CHECK: vrshl.s8 q0, r6 @ encoding: [0x33,0xee,0x66,0x1e]
208 # CHECK-NOFP: vrshl.s8 q0, r6 @ encoding: [0x33,0xee,0x66,0x1e]
209 vrshl.s8 q0, r6
211 # CHECK: vrshl.s16 q0, lr @ encoding: [0x37,0xee,0x6e,0x1e]
212 # CHECK-NOFP: vrshl.s16 q0, lr @ encoding: [0x37,0xee,0x6e,0x1e]
213 vrshl.s16 q0, lr
215 # CHECK: vrshl.s32 q0, r4 @ encoding: [0x3b,0xee,0x64,0x1e]
216 # CHECK-NOFP: vrshl.s32 q0, r4 @ encoding: [0x3b,0xee,0x64,0x1e]
217 vrshl.s32 q0, r4
219 # CHECK: vrshl.u8 q0, r0 @ encoding: [0x33,0xfe,0x60,0x1e]
220 # CHECK-NOFP: vrshl.u8 q0, r0 @ encoding: [0x33,0xfe,0x60,0x1e]
221 vrshl.u8 q0, r0
223 # CHECK: vrshl.u16 q0, r10 @ encoding: [0x37,0xfe,0x6a,0x1e]
224 # CHECK-NOFP: vrshl.u16 q0, r10 @ encoding: [0x37,0xfe,0x6a,0x1e]
225 vrshl.u16 q0, r10
227 # CHECK: vrshl.u32 q0, r1 @ encoding: [0x3b,0xfe,0x61,0x1e]
228 # CHECK-NOFP: vrshl.u32 q0, r1 @ encoding: [0x3b,0xfe,0x61,0x1e]
229 vrshl.u32 q0, r1
231 # CHECK: vshl.s8 q0, lr @ encoding: [0x31,0xee,0x6e,0x1e]
232 # CHECK-NOFP: vshl.s8 q0, lr @ encoding: [0x31,0xee,0x6e,0x1e]
233 vshl.s8 q0, lr
235 # CHECK: vshl.s16 q0, lr @ encoding: [0x35,0xee,0x6e,0x1e]
236 # CHECK-NOFP: vshl.s16 q0, lr @ encoding: [0x35,0xee,0x6e,0x1e]
237 vshl.s16 q0, lr
239 # CHECK: vshl.s32 q0, r1 @ encoding: [0x39,0xee,0x61,0x1e]
240 # CHECK-NOFP: vshl.s32 q0, r1 @ encoding: [0x39,0xee,0x61,0x1e]
241 vshl.s32 q0, r1
243 # CHECK: vshl.u8 q0, r10 @ encoding: [0x31,0xfe,0x6a,0x1e]
244 # CHECK-NOFP: vshl.u8 q0, r10 @ encoding: [0x31,0xfe,0x6a,0x1e]
245 vshl.u8 q0, r10
247 # CHECK: vshl.u16 q1, r10 @ encoding: [0x35,0xfe,0x6a,0x3e]
248 # CHECK-NOFP: vshl.u16 q1, r10 @ encoding: [0x35,0xfe,0x6a,0x3e]
249 vshl.u16 q1, r10
251 # CHECK: vshl.u32 q0, r12 @ encoding: [0x39,0xfe,0x6c,0x1e]
252 # CHECK-NOFP: vshl.u32 q0, r12 @ encoding: [0x39,0xfe,0x6c,0x1e]
253 vshl.u32 q0, r12
255 # CHECK: vbrsr.8 q0, q4, r8 @ encoding: [0x09,0xfe,0x68,0x1e]
256 # CHECK-NOFP: vbrsr.8 q0, q4, r8 @ encoding: [0x09,0xfe,0x68,0x1e]
257 vbrsr.8 q0, q4, r8
259 # CHECK: vbrsr.16 q0, q1, r1 @ encoding: [0x13,0xfe,0x61,0x1e]
260 # CHECK-NOFP: vbrsr.16 q0, q1, r1 @ encoding: [0x13,0xfe,0x61,0x1e]
261 vbrsr.16 q0, q1, r1
263 # CHECK: vbrsr.32 q0, q6, r0 @ encoding: [0x2d,0xfe,0x60,0x1e]
264 # CHECK-NOFP: vbrsr.32 q0, q6, r0 @ encoding: [0x2d,0xfe,0x60,0x1e]
265 vbrsr.32 q0, q6, r0
267 # CHECK: vmul.i8 q0, q0, r12 @ encoding: [0x01,0xee,0x6c,0x1e]
268 # CHECK-NOFP: vmul.i8 q0, q0, r12 @ encoding: [0x01,0xee,0x6c,0x1e]
269 vmul.i8 q0, q0, r12
271 # CHECK: vmul.i16 q0, q4, r7 @ encoding: [0x19,0xee,0x67,0x1e]
272 # CHECK-NOFP: vmul.i16 q0, q4, r7 @ encoding: [0x19,0xee,0x67,0x1e]
273 vmul.i16 q0, q4, r7
275 # CHECK: vmul.i32 q0, q1, r11 @ encoding: [0x23,0xee,0x6b,0x1e]
276 # CHECK-NOFP: vmul.i32 q0, q1, r11 @ encoding: [0x23,0xee,0x6b,0x1e]
277 vmul.i32 q0, q1, r11
279 # CHECK: vmul.f16 q0, q0, r10 @ encoding: [0x31,0xfe,0x6a,0x0e]
280 # CHECK-NOFP-NOT: vmul.f16 q0, q0, r10 @ encoding: [0x31,0xfe,0x6a,0x0e]
281 vmul.f16 q0, q0, r10
283 # CHECK: vmul.f32 q0, q1, r7 @ encoding: [0x33,0xee,0x67,0x0e]
284 # CHECK-NOFP-NOT: vmul.f32 q0, q1, r7 @ encoding: [0x33,0xee,0x67,0x0e]
285 vmul.f32 q0, q1, r7
287 # CHECK: vqdmulh.s8 q0, q1, r6 @ encoding: [0x03,0xee,0x66,0x0e]
288 # CHECK-NOFP: vqdmulh.s8 q0, q1, r6 @ encoding: [0x03,0xee,0x66,0x0e]
289 vqdmulh.s8 q0, q1, r6
291 # CHECK: vqdmulh.s16 q0, q2, r2 @ encoding: [0x15,0xee,0x62,0x0e]
292 # CHECK-NOFP: vqdmulh.s16 q0, q2, r2 @ encoding: [0x15,0xee,0x62,0x0e]
293 vqdmulh.s16 q0, q2, r2
295 # CHECK: vqdmulh.s32 q1, q3, r8 @ encoding: [0x27,0xee,0x68,0x2e]
296 # CHECK-NOFP: vqdmulh.s32 q1, q3, r8 @ encoding: [0x27,0xee,0x68,0x2e]
297 vqdmulh.s32 q1, q3, r8
299 # CHECK: vqrdmulh.s8 q0, q2, r6 @ encoding: [0x05,0xfe,0x66,0x0e]
300 # CHECK-NOFP: vqrdmulh.s8 q0, q2, r6 @ encoding: [0x05,0xfe,0x66,0x0e]
301 vqrdmulh.s8 q0, q2, r6
303 # CHECK: vqrdmulh.s16 q0, q0, r2 @ encoding: [0x11,0xfe,0x62,0x0e]
304 # CHECK-NOFP: vqrdmulh.s16 q0, q0, r2 @ encoding: [0x11,0xfe,0x62,0x0e]
305 vqrdmulh.s16 q0, q0, r2
307 # CHECK: vqrdmulh.s32 q0, q0, r2 @ encoding: [0x21,0xfe,0x62,0x0e]
308 # CHECK-NOFP: vqrdmulh.s32 q0, q0, r2 @ encoding: [0x21,0xfe,0x62,0x0e]
309 vqrdmulh.s32 q0, q0, r2
311 # CHECK: vfmas.f16 q0, q0, r12 @ encoding: [0x31,0xfe,0x4c,0x1e]
312 # CHECK-NOFP-NOT: vfmas.f16 q0, q0, r12 @ encoding: [0x31,0xfe,0x4c,0x1e]
313 vfmas.f16 q0, q0, r12
315 # CHECK: vfmas.f32 q0, q3, lr @ encoding: [0x37,0xee,0x4e,0x1e]
316 # CHECK-NOFP-NOT: vfmas.f32 q0, q3, lr @ encoding: [0x37,0xee,0x4e,0x1e]
317 vfmas.f32 q0, q3, lr
319 # CHECK: vmlas.s8 q0, q0, r6 @ encoding: [0x01,0xee,0x46,0x1e]
320 # CHECK-NOFP: vmlas.s8 q0, q0, r6 @ encoding: [0x01,0xee,0x46,0x1e]
321 vmlas.s8 q0, q0, r6
323 # CHECK: vmlas.s16 q0, q2, r9 @ encoding: [0x15,0xee,0x49,0x1e]
324 # CHECK-NOFP: vmlas.s16 q0, q2, r9 @ encoding: [0x15,0xee,0x49,0x1e]
325 vmlas.s16 q0, q2, r9
327 # CHECK: vmlas.s32 q0, q7, r6 @ encoding: [0x2f,0xee,0x46,0x1e]
328 # CHECK-NOFP: vmlas.s32 q0, q7, r6 @ encoding: [0x2f,0xee,0x46,0x1e]
329 vmlas.s32 q0, q7, r6
331 # CHECK: vmlas.u8 q0, q5, lr @ encoding: [0x0b,0xfe,0x4e,0x1e]
332 # CHECK-NOFP: vmlas.u8 q0, q5, lr @ encoding: [0x0b,0xfe,0x4e,0x1e]
333 vmlas.u8 q0, q5, lr
335 # CHECK: vmlas.u16 q0, q3, r12 @ encoding: [0x17,0xfe,0x4c,0x1e]
336 # CHECK-NOFP: vmlas.u16 q0, q3, r12 @ encoding: [0x17,0xfe,0x4c,0x1e]
337 vmlas.u16 q0, q3, r12
339 # CHECK: vmlas.u32 q1, q1, r11 @ encoding: [0x23,0xfe,0x4b,0x3e]
340 # CHECK-NOFP: vmlas.u32 q1, q1, r11 @ encoding: [0x23,0xfe,0x4b,0x3e]
341 vmlas.u32 q1, q1, r11
343 # CHECK: vfma.f16 q1, q1, r6 @ encoding: [0x33,0xfe,0x46,0x2e]
344 # CHECK-NOFP-NOT: vfma.f16 q1, q1, r6 @ encoding: [0x33,0xfe,0x46,0x2e]
345 vfma.f16 q1, q1, r6
347 # CHECK: vfmas.f32 q7, q4, r6 @ encoding: [0x39,0xee,0x46,0xfe]
348 # CHECK-NOFP-NOT: vfmas.f32 q7, q4, r6 @ encoding: [0x39,0xee,0x46,0xfe]
349 vfmas.f32 q7, q4, r6
351 # CHECK: vmla.s8 q0, q3, r8 @ encoding: [0x07,0xee,0x48,0x0e]
352 # CHECK-NOFP: vmla.s8 q0, q3, r8 @ encoding: [0x07,0xee,0x48,0x0e]
353 vmla.s8 q0, q3, r8
355 # CHECK: vmla.s16 q1, q3, r10 @ encoding: [0x17,0xee,0x4a,0x2e]
356 # CHECK-NOFP: vmla.s16 q1, q3, r10 @ encoding: [0x17,0xee,0x4a,0x2e]
357 vmla.s16 q1, q3, r10
359 # CHECK: vmla.s32 q1, q3, r1 @ encoding: [0x27,0xee,0x41,0x2e]
360 # CHECK-NOFP: vmla.s32 q1, q3, r1 @ encoding: [0x27,0xee,0x41,0x2e]
361 vmla.s32 q1, q3, r1
363 # CHECK: vmla.u8 q0, q7, r10 @ encoding: [0x0f,0xfe,0x4a,0x0e]
364 # CHECK-NOFP: vmla.u8 q0, q7, r10 @ encoding: [0x0f,0xfe,0x4a,0x0e]
365 vmla.u8 q0, q7, r10
367 # CHECK: vmla.u16 q0, q0, r7 @ encoding: [0x11,0xfe,0x47,0x0e]
368 # CHECK-NOFP: vmla.u16 q0, q0, r7 @ encoding: [0x11,0xfe,0x47,0x0e]
369 vmla.u16 q0, q0, r7
371 # CHECK: vmla.u32 q1, q6, r10 @ encoding: [0x2d,0xfe,0x4a,0x2e]
372 # CHECK-NOFP: vmla.u32 q1, q6, r10 @ encoding: [0x2d,0xfe,0x4a,0x2e]
373 vmla.u32 q1, q6, r10
375 # CHECK: vqdmlash.s8 q0, q0, r5 @ encoding: [0x00,0xee,0x65,0x1e]
376 # CHECK-NOFP: vqdmlash.s8 q0, q0, r5 @ encoding: [0x00,0xee,0x65,0x1e]
377 vqdmlash.s8 q0, q0, r5
379 # CHECK: vqdmlash.s16 q0, q5, lr @ encoding: [0x1a,0xee,0x6e,0x1e]
380 # CHECK-NOFP: vqdmlash.s16 q0, q5, lr @ encoding: [0x1a,0xee,0x6e,0x1e]
381 vqdmlash.s16 q0, q5, lr
383 # CHECK: vqdmlash.s32 q0, q2, r3 @ encoding: [0x24,0xee,0x63,0x1e]
384 # CHECK-NOFP: vqdmlash.s32 q0, q2, r3 @ encoding: [0x24,0xee,0x63,0x1e]
385 vqdmlash.s32 q0, q2, r3
387 # ERROR: [[@LINE+2]]:9: error: invalid operand for instruction
388 # ERROR-NOFP: [[@LINE+1]]:9: error: invalid operand for instruction
389 vqdmlash.u8 q0, q4, r2
391 # ERROR: [[@LINE+2]]:9: error: invalid operand for instruction
392 # ERROR-NOFP: [[@LINE+1]]:9: error: invalid operand for instruction
393 vqdmlash.u16 q1, q4, r2
395 # ERROR: [[@LINE+2]]:9: error: invalid operand for instruction
396 # ERROR-NOFP: [[@LINE+1]]:9: error: invalid operand for instruction
397 vqdmlash.u32 q1, q5, r0
399 # CHECK: vqdmlah.s8 q0, q3, r3 @ encoding: [0x06,0xee,0x63,0x0e]
400 # CHECK-NOFP: vqdmlah.s8 q0, q3, r3 @ encoding: [0x06,0xee,0x63,0x0e]
401 vqdmlah.s8 q0, q3, r3
403 # CHECK: vqdmlah.s16 q5, q3, r9 @ encoding: [0x16,0xee,0x69,0xae]
404 # CHECK-NOFP: vqdmlah.s16 q5, q3, r9 @ encoding: [0x16,0xee,0x69,0xae]
405 vqdmlah.s16 q5, q3, r9
407 # CHECK: vqdmlah.s32 q0, q1, r11 @ encoding: [0x22,0xee,0x6b,0x0e]
408 # CHECK-NOFP: vqdmlah.s32 q0, q1, r11 @ encoding: [0x22,0xee,0x6b,0x0e]
409 vqdmlah.s32 q0, q1, r11
411 # ERROR: [[@LINE+2]]:8: error: invalid operand for instruction
412 # ERROR-NOFP: [[@LINE+1]]:8: error: invalid operand for instruction
413 vqdmlah.u8 q0, q2, lr
415 # ERROR: [[@LINE+2]]:8: error: invalid operand for instruction
416 # ERROR-NOFP: [[@LINE+1]]:8: error: invalid operand for instruction
417 vqdmlah.u16 q0, q3, r10
419 # ERROR: [[@LINE+2]]:8: error: invalid operand for instruction
420 # ERROR-NOFP: [[@LINE+1]]:8: error: invalid operand for instruction
421 vqdmlah.u32 q1, q5, r2
423 # CHECK: vqrdmlash.s8 q0, q5, r10 @ encoding: [0x0a,0xee,0x4a,0x1e]
424 # CHECK-NOFP: vqrdmlash.s8 q0, q5, r10 @ encoding: [0x0a,0xee,0x4a,0x1e]
425 vqrdmlash.s8 q0, q5, r10
427 # CHECK: vqrdmlash.s16 q0, q3, r2 @ encoding: [0x16,0xee,0x42,0x1e]
428 # CHECK-NOFP: vqrdmlash.s16 q0, q3, r2 @ encoding: [0x16,0xee,0x42,0x1e]
429 vqrdmlash.s16 q0, q3, r2
431 # CHECK: vqrdmlash.s32 q0, q0, r4 @ encoding: [0x20,0xee,0x44,0x1e]
432 # CHECK-NOFP: vqrdmlash.s32 q0, q0, r4 @ encoding: [0x20,0xee,0x44,0x1e]
433 vqrdmlash.s32 q0, q0, r4
435 # ERROR: [[@LINE+2]]:10: error: invalid operand for instruction
436 # ERROR-NOFP: [[@LINE+1]]:10: error: invalid operand for instruction
437 vqrdmlash.u8 q0, q4, r9
439 # ERROR: [[@LINE+2]]:10: error: invalid operand for instruction
440 # ERROR-NOFP: [[@LINE+1]]:10: error: invalid operand for instruction
441 vqrdmlash.u16 q0, q6, r12
443 # ERROR: [[@LINE+2]]:10: error: invalid operand for instruction
444 # ERROR-NOFP: [[@LINE+1]]:10: error: invalid operand for instruction
445 vqrdmlash.u32 q0, q3, r7
447 # CHECK: vqrdmlah.s8 q0, q5, r11 @ encoding: [0x0a,0xee,0x4b,0x0e]
448 # CHECK-NOFP: vqrdmlah.s8 q0, q5, r11 @ encoding: [0x0a,0xee,0x4b,0x0e]
449 vqrdmlah.s8 q0, q5, r11
451 # CHECK: vqrdmlah.s16 q0, q2, r10 @ encoding: [0x14,0xee,0x4a,0x0e]
452 # CHECK-NOFP: vqrdmlah.s16 q0, q2, r10 @ encoding: [0x14,0xee,0x4a,0x0e]
453 vqrdmlah.s16 q0, q2, r10
455 # CHECK: vqrdmlah.s32 q0, q4, r11 @ encoding: [0x28,0xee,0x4b,0x0e]
456 # CHECK-NOFP: vqrdmlah.s32 q0, q4, r11 @ encoding: [0x28,0xee,0x4b,0x0e]
457 vqrdmlah.s32 q0, q4, r11
459 # ERROR: [[@LINE+2]]:9: error: invalid operand for instruction
460 # ERROR-NOFP: [[@LINE+1]]:9: error: invalid operand for instruction
461 vqrdmlah.u8 q0, q4, r2
463 # ERROR: [[@LINE+2]]:9: error: invalid operand for instruction
464 # ERROR-NOFP: [[@LINE+1]]:9: error: invalid operand for instruction
465 vqrdmlah.u16 q0, q6, r1
467 # ERROR: [[@LINE+2]]:9: error: invalid operand for instruction
468 # ERROR-NOFP: [[@LINE+1]]:9: error: invalid operand for instruction
469 vqrdmlah.u32 q0, q4, r2
471 # CHECK: viwdup.u8 q0, lr, r1, #1 @ encoding: [0x0f,0xee,0x60,0x0f]
472 # CHECK-NOFP: viwdup.u8 q0, lr, r1, #1 @ encoding: [0x0f,0xee,0x60,0x0f]
473 viwdup.u8 q0, lr, r1, #1
475 # CHECK: viwdup.u16 q1, r10, r1, #8 @ encoding: [0x1b,0xee,0xe1,0x2f]
476 # CHECK-NOFP: viwdup.u16 q1, r10, r1, #8 @ encoding: [0x1b,0xee,0xe1,0x2f]
477 viwdup.u16 q1, r10, r1, #8
479 # CHECK: viwdup.u32 q6, r10, r5, #4 @ encoding: [0x2b,0xee,0xe4,0xcf]
480 # CHECK-NOFP: viwdup.u32 q6, r10, r5, #4 @ encoding: [0x2b,0xee,0xe4,0xcf]
481 viwdup.u32 q6, r10, r5, #4
483 # ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: vector increment immediate must be 1, 2, 4 or 8
484 viwdup.u32 q6, r10, r5, #3
486 # ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: operand must be an even-numbered register
487 viwdup.u32 q6, r3, r5, #4
489 # CHECK: vdwdup.u8 q0, r12, r11, #8 @ encoding: [0x0d,0xee,0xeb,0x1f]
490 # CHECK-NOFP: vdwdup.u8 q0, r12, r11, #8 @ encoding: [0x0d,0xee,0xeb,0x1f]
491 vdwdup.u8 q0, r12, r11, #8
493 # CHECK: vdwdup.u16 q0, r12, r1, #2 @ encoding: [0x1d,0xee,0x61,0x1f]
494 # CHECK-NOFP: vdwdup.u16 q0, r12, r1, #2 @ encoding: [0x1d,0xee,0x61,0x1f]
495 vdwdup.u16 q0, r12, r1, #2
497 # CHECK: vdwdup.u32 q0, r0, r7, #8 @ encoding: [0x21,0xee,0xe7,0x1f]
498 # CHECK-NOFP: vdwdup.u32 q0, r0, r7, #8 @ encoding: [0x21,0xee,0xe7,0x1f]
499 vdwdup.u32 q0, r0, r7, #8
501 # ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: vector increment immediate must be 1, 2, 4 or 8
502 vdwdup.u32 q0, r0, r7, #9
504 # CHECK: vidup.u8 q0, lr, #2 @ encoding: [0x0f,0xee,0x6f,0x0f]
505 # CHECK-NOFP: vidup.u8 q0, lr, #2 @ encoding: [0x0f,0xee,0x6f,0x0f]
506 vidup.u8 q0, lr, #2
508 # CHECK: vidup.u16 q0, lr, #4 @ encoding: [0x1f,0xee,0xee,0x0f]
509 # CHECK-NOFP: vidup.u16 q0, lr, #4 @ encoding: [0x1f,0xee,0xee,0x0f]
510 vidup.u16 q0, lr, #4
512 # CHECK: vidup.u32 q0, r12, #1 @ encoding: [0x2d,0xee,0x6e,0x0f]
513 # CHECK-NOFP: vidup.u32 q0, r12, #1 @ encoding: [0x2d,0xee,0x6e,0x0f]
514 vidup.u32 q0, r12, #1
516 # ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: vector increment immediate must be 1, 2, 4 or 8
517 vidup.u32 q0, r12, #3
519 # CHECK: vddup.u8 q0, r4, #4 @ encoding: [0x05,0xee,0xee,0x1f]
520 # CHECK-NOFP: vddup.u8 q0, r4, #4 @ encoding: [0x05,0xee,0xee,0x1f]
521 vddup.u8 q0, r4, #4
523 # CHECK: vddup.u16 q0, r10, #4 @ encoding: [0x1b,0xee,0xee,0x1f]
524 # CHECK-NOFP: vddup.u16 q0, r10, #4 @ encoding: [0x1b,0xee,0xee,0x1f]
525 vddup.u16 q0, r10, #4
527 # CHECK: vddup.u32 q2, r0, #8 @ encoding: [0x21,0xee,0xef,0x5f]
528 # CHECK-NOFP: vddup.u32 q2, r0, #8 @ encoding: [0x21,0xee,0xef,0x5f]
529 vddup.u32 q2, r0, #8
531 # ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: vector increment immediate must be 1, 2, 4 or 8
532 vddup.u32 q2, r0, #5
534 # CHECK: vctp.8 lr @ encoding: [0x0e,0xf0,0x01,0xe8]
535 # CHECK-NOFP: vctp.8 lr @ encoding: [0x0e,0xf0,0x01,0xe8]
536 vctp.8 lr
538 # CHECK: vctp.16 r0 @ encoding: [0x10,0xf0,0x01,0xe8]
539 # CHECK-NOFP: vctp.16 r0 @ encoding: [0x10,0xf0,0x01,0xe8]
540 vctp.16 r0
542 # CHECK: vctp.32 r10 @ encoding: [0x2a,0xf0,0x01,0xe8]
543 # CHECK-NOFP: vctp.32 r10 @ encoding: [0x2a,0xf0,0x01,0xe8]
544 vctp.32 r10
546 # CHECK: vctp.64 r1 @ encoding: [0x31,0xf0,0x01,0xe8]
547 # CHECK-NOFP: vctp.64 r1 @ encoding: [0x31,0xf0,0x01,0xe8]
548 vctp.64 r1
550 vpste
551 vmult.i8 q0, q1, q2
552 vmule.i16 q0, q1, q2
553 # CHECK: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
554 # CHECK-NOFP: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
555 # CHECK: vmult.i8 q0, q1, q2 @ encoding: [0x02,0xef,0x54,0x09]
556 # CHECK-NOFP: vmult.i8 q0, q1, q2 @ encoding: [0x02,0xef,0x54,0x09]
557 # CHECK: vmule.i16 q0, q1, q2 @ encoding: [0x12,0xef,0x54,0x09]
558 # CHECK-NOFP: vmule.i16 q0, q1, q2 @ encoding: [0x12,0xef,0x54,0x09]
560 vpste
561 vmult.i16 q0, q1, q2
562 vmule.i16 q1, q2, q3
563 # CHECK: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
564 # CHECK-NOFP: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
565 # CHECK: vmult.i16 q0, q1, q2 @ encoding: [0x12,0xef,0x54,0x09]
566 # CHECK-NOFP: vmult.i16 q0, q1, q2 @ encoding: [0x12,0xef,0x54,0x09]
567 # CHECK: vmule.i16 q1, q2, q3 @ encoding: [0x14,0xef,0x56,0x29]
568 # CHECK-NOFP: vmule.i16 q1, q2, q3 @ encoding: [0x14,0xef,0x56,0x29]
570 vqrshl.u32 q0, r0
571 # CHECK: vqrshl.u32 q0, r0 @ encoding: [0x3b,0xfe,0xe0,0x1e]
572 # CHECK-NOFP: vqrshl.u32 q0, r0 @ encoding: [0x3b,0xfe,0xe0,0x1e]
574 vpste
575 vqrshlt.u16 q0, r0
576 vqrshle.s16 q0, q1, q2
577 # CHECK: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
578 # CHECK-NOFP: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
579 # CHECK: vqrshlt.u16 q0, r0 @ encoding: [0x37,0xfe,0xe0,0x1e]
580 # CHECK-NOFP: vqrshlt.u16 q0, r0 @ encoding: [0x37,0xfe,0xe0,0x1e]
581 # CHECK: vqrshle.s16 q0, q1, q2 @ encoding: [0x14,0xef,0x52,0x05]
582 # CHECK-NOFP: vqrshle.s16 q0, q1, q2 @ encoding: [0x14,0xef,0x52,0x05]
584 vpste
585 vrshlt.u16 q0, q1, q2
586 vrshle.s32 q0, r0
587 # CHECK: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
588 # CHECK-NOFP: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
589 # CHECK: vrshlt.u16 q0, q1, q2 @ encoding: [0x14,0xff,0x42,0x05]
590 # CHECK-NOFP: vrshlt.u16 q0, q1, q2 @ encoding: [0x14,0xff,0x42,0x05]
591 # CHECK: vrshle.s32 q0, r0 @ encoding: [0x3b,0xee,0x60,0x1e]
592 # CHECK-NOFP: vrshle.s32 q0, r0 @ encoding: [0x3b,0xee,0x60,0x1e]
594 vpste
595 vshlt.s8 q0, r0
596 vshle.u32 q0, r0
597 # CHECK: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
598 # CHECK-NOFP: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]
599 # CHECK: vshlt.s8 q0, r0 @ encoding: [0x31,0xee,0x60,0x1e]
600 # CHECK-NOFP: vshlt.s8 q0, r0 @ encoding: [0x31,0xee,0x60,0x1e]
601 # CHECK: vshle.u32 q0, r0 @ encoding: [0x39,0xfe,0x60,0x1e]
602 # CHECK-NOFP: vshle.u32 q0, r0 @ encoding: [0x39,0xfe,0x60,0x1e]