[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MC / AArch64 / arm64-advsimd.s
blobe2bf48103fcd4bd3229837cf0a26fffb75ad0fd3
1 ; RUN: llvm-mc -triple arm64-apple-darwin -mattr=crypto,fullfp16 -output-asm-variant=1 -show-encoding < %s | FileCheck %s
3 foo:
5 abs.8b v0, v0
6 abs.16b v0, v0
7 abs.4h v0, v0
8 abs.8h v0, v0
9 abs.2s v0, v0
10 abs.4s v0, v0
12 ; CHECK: abs.8b v0, v0 ; encoding: [0x00,0xb8,0x20,0x0e]
13 ; CHECK: abs.16b v0, v0 ; encoding: [0x00,0xb8,0x20,0x4e]
14 ; CHECK: abs.4h v0, v0 ; encoding: [0x00,0xb8,0x60,0x0e]
15 ; CHECK: abs.8h v0, v0 ; encoding: [0x00,0xb8,0x60,0x4e]
16 ; CHECK: abs.2s v0, v0 ; encoding: [0x00,0xb8,0xa0,0x0e]
17 ; CHECK: abs.4s v0, v0 ; encoding: [0x00,0xb8,0xa0,0x4e]
19 add.8b v0, v0, v0
20 add.16b v0, v0, v0
21 add.4h v0, v0, v0
22 add.8h v0, v0, v0
23 add.2s v0, v0, v0
24 add.4s v0, v0, v0
25 add.2d v0, v0, v0
27 ; CHECK: add.8b v0, v0, v0 ; encoding: [0x00,0x84,0x20,0x0e]
28 ; CHECK: add.16b v0, v0, v0 ; encoding: [0x00,0x84,0x20,0x4e]
29 ; CHECK: add.4h v0, v0, v0 ; encoding: [0x00,0x84,0x60,0x0e]
30 ; CHECK: add.8h v0, v0, v0 ; encoding: [0x00,0x84,0x60,0x4e]
31 ; CHECK: add.2s v0, v0, v0 ; encoding: [0x00,0x84,0xa0,0x0e]
32 ; CHECK: add.4s v0, v0, v0 ; encoding: [0x00,0x84,0xa0,0x4e]
33 ; CHECK: add.2d v0, v0, v0 ; encoding: [0x00,0x84,0xe0,0x4e]
35 add d1, d2, d3
37 ; CHECK: add d1, d2, d3 ; encoding: [0x41,0x84,0xe3,0x5e]
39 addhn.8b v0, v0, v0
40 addhn2.16b v0, v0, v0
41 addhn.4h v0, v0, v0
42 addhn2.8h v0, v0, v0
43 addhn.2s v0, v0, v0
44 addhn2.4s v0, v0, v0
46 ; CHECK: addhn.8b v0, v0, v0 ; encoding: [0x00,0x40,0x20,0x0e]
47 ; CHECK: addhn2.16b v0, v0, v0 ; encoding: [0x00,0x40,0x20,0x4e]
48 ; CHECK: addhn.4h v0, v0, v0 ; encoding: [0x00,0x40,0x60,0x0e]
49 ; CHECK: addhn2.8h v0, v0, v0 ; encoding: [0x00,0x40,0x60,0x4e]
50 ; CHECK: addhn.2s v0, v0, v0 ; encoding: [0x00,0x40,0xa0,0x0e]
51 ; CHECK: addhn2.4s v0, v0, v0 ; encoding: [0x00,0x40,0xa0,0x4e]
53 addp.8b v0, v0, v0
54 addp.16b v0, v0, v0
55 addp.4h v0, v0, v0
56 addp.8h v0, v0, v0
57 addp.2s v0, v0, v0
58 addp.4s v0, v0, v0
59 addp.2d v0, v0, v0
61 ; CHECK: addp.8b v0, v0, v0 ; encoding: [0x00,0xbc,0x20,0x0e]
62 ; CHECK: addp.16b v0, v0, v0 ; encoding: [0x00,0xbc,0x20,0x4e]
63 ; CHECK: addp.4h v0, v0, v0 ; encoding: [0x00,0xbc,0x60,0x0e]
64 ; CHECK: addp.8h v0, v0, v0 ; encoding: [0x00,0xbc,0x60,0x4e]
65 ; CHECK: addp.2s v0, v0, v0 ; encoding: [0x00,0xbc,0xa0,0x0e]
66 ; CHECK: addp.4s v0, v0, v0 ; encoding: [0x00,0xbc,0xa0,0x4e]
67 ; CHECK: addp.2d v0, v0, v0 ; encoding: [0x00,0xbc,0xe0,0x4e]
69 addp.2d d0, v0
71 ; CHECK: addp.2d d0, v0 ; encoding: [0x00,0xb8,0xf1,0x5e]
73 addv.8b b0, v0
74 addv.16b b0, v0
75 addv.4h h0, v0
76 addv.8h h0, v0
77 addv.4s s0, v0
79 ; CHECK: addv.8b b0, v0 ; encoding: [0x00,0xb8,0x31,0x0e]
80 ; CHECK: addv.16b b0, v0 ; encoding: [0x00,0xb8,0x31,0x4e]
81 ; CHECK: addv.4h h0, v0 ; encoding: [0x00,0xb8,0x71,0x0e]
82 ; CHECK: addv.8h h0, v0 ; encoding: [0x00,0xb8,0x71,0x4e]
83 ; CHECK: addv.4s s0, v0 ; encoding: [0x00,0xb8,0xb1,0x4e]
86 ; INS/DUP
87 dup.2d v0, x3
88 dup.4s v0, w3
89 dup.2s v0, w3
90 dup.8h v0, w3
91 dup.4h v0, w3
92 dup.16b v0, w3
93 dup.8b v0, w3
95 dup v1.2d, x3
96 dup v2.4s, w4
97 dup v3.2s, w5
98 dup v4.8h, w6
99 dup v5.4h, w7
100 dup v6.16b, w8
101 dup v7.8b, w9
103 ; CHECK: dup.2d v0, x3 ; encoding: [0x60,0x0c,0x08,0x4e]
104 ; CHECK: dup.4s v0, w3 ; encoding: [0x60,0x0c,0x04,0x4e]
105 ; CHECK: dup.2s v0, w3 ; encoding: [0x60,0x0c,0x04,0x0e]
106 ; CHECK: dup.8h v0, w3 ; encoding: [0x60,0x0c,0x02,0x4e]
107 ; CHECK: dup.4h v0, w3 ; encoding: [0x60,0x0c,0x02,0x0e]
108 ; CHECK: dup.16b v0, w3 ; encoding: [0x60,0x0c,0x01,0x4e]
109 ; CHECK: dup.8b v0, w3 ; encoding: [0x60,0x0c,0x01,0x0e]
111 ; CHECK: dup.2d v1, x3 ; encoding: [0x61,0x0c,0x08,0x4e]
112 ; CHECK: dup.4s v2, w4 ; encoding: [0x82,0x0c,0x04,0x4e]
113 ; CHECK: dup.2s v3, w5 ; encoding: [0xa3,0x0c,0x04,0x0e]
114 ; CHECK: dup.8h v4, w6 ; encoding: [0xc4,0x0c,0x02,0x4e]
115 ; CHECK: dup.4h v5, w7 ; encoding: [0xe5,0x0c,0x02,0x0e]
116 ; CHECK: dup.16b v6, w8 ; encoding: [0x06,0x0d,0x01,0x4e]
117 ; CHECK: dup.8b v7, w9 ; encoding: [0x27,0x0d,0x01,0x0e]
119 dup.2d v0, v3[1]
120 dup.2s v0, v3[1]
121 dup.4s v0, v3[1]
122 dup.4h v0, v3[1]
123 dup.8h v0, v3[1]
124 dup.8b v0, v3[1]
125 dup.16b v0, v3[1]
127 dup v7.2d, v9.d[1]
128 dup v6.2s, v8.s[1]
129 dup v5.4s, v7.s[2]
130 dup v4.4h, v6.h[3]
131 dup v3.8h, v5.h[4]
132 dup v2.8b, v4.b[5]
133 dup v1.16b, v3.b[6]
135 ; CHECK: dup.2d v0, v3[1] ; encoding: [0x60,0x04,0x18,0x4e]
136 ; CHECK: dup.2s v0, v3[1] ; encoding: [0x60,0x04,0x0c,0x0e]
137 ; CHECK: dup.4s v0, v3[1] ; encoding: [0x60,0x04,0x0c,0x4e]
138 ; CHECK: dup.4h v0, v3[1] ; encoding: [0x60,0x04,0x06,0x0e]
139 ; CHECK: dup.8h v0, v3[1] ; encoding: [0x60,0x04,0x06,0x4e]
140 ; CHECK: dup.8b v0, v3[1] ; encoding: [0x60,0x04,0x03,0x0e]
141 ; CHECK: dup.16b v0, v3[1] ; encoding: [0x60,0x04,0x03,0x4e]
143 ; CHECK: dup.2d v7, v9[1] ; encoding: [0x27,0x05,0x18,0x4e]
144 ; CHECK: dup.2s v6, v8[1] ; encoding: [0x06,0x05,0x0c,0x0e]
145 ; CHECK: dup.4s v5, v7[2] ; encoding: [0xe5,0x04,0x14,0x4e]
146 ; CHECK: dup.4h v4, v6[3] ; encoding: [0xc4,0x04,0x0e,0x0e]
147 ; CHECK: dup.8h v3, v5[4] ; encoding: [0xa3,0x04,0x12,0x4e]
148 ; CHECK: dup.8b v2, v4[5] ; encoding: [0x82,0x04,0x0b,0x0e]
149 ; CHECK: dup.16b v1, v3[6] ; encoding: [0x61,0x04,0x0d,0x4e]
151 dup b3, v4[1]
152 dup h3, v4[1]
153 dup s3, v4[1]
154 dup d3, v4[1]
155 dup b3, v4.b[1]
156 dup h3, v4.h[1]
157 dup s3, v4.s[1]
158 dup d3, v4.d[1]
160 mov b3, v4[1]
161 mov h3, v4[1]
162 mov s3, v4[1]
163 mov d3, v4[1]
164 mov b3, v4.b[1]
165 mov h3, v4.h[1]
166 mov s3, v4.s[1]
167 mov d3, v4.d[1]
169 ; CHECK: mov b3, v4[1] ; encoding: [0x83,0x04,0x03,0x5e]
170 ; CHECK: mov h3, v4[1] ; encoding: [0x83,0x04,0x06,0x5e]
171 ; CHECK: mov s3, v4[1] ; encoding: [0x83,0x04,0x0c,0x5e]
172 ; CHECK: mov d3, v4[1] ; encoding: [0x83,0x04,0x18,0x5e]
173 ; CHECK: mov b3, v4[1] ; encoding: [0x83,0x04,0x03,0x5e]
174 ; CHECK: mov h3, v4[1] ; encoding: [0x83,0x04,0x06,0x5e]
175 ; CHECK: mov s3, v4[1] ; encoding: [0x83,0x04,0x0c,0x5e]
176 ; CHECK: mov d3, v4[1] ; encoding: [0x83,0x04,0x18,0x5e]
178 ; CHECK: mov b3, v4[1] ; encoding: [0x83,0x04,0x03,0x5e]
179 ; CHECK: mov h3, v4[1] ; encoding: [0x83,0x04,0x06,0x5e]
180 ; CHECK: mov s3, v4[1] ; encoding: [0x83,0x04,0x0c,0x5e]
181 ; CHECK: mov d3, v4[1] ; encoding: [0x83,0x04,0x18,0x5e]
182 ; CHECK: mov b3, v4[1] ; encoding: [0x83,0x04,0x03,0x5e]
183 ; CHECK: mov h3, v4[1] ; encoding: [0x83,0x04,0x06,0x5e]
184 ; CHECK: mov s3, v4[1] ; encoding: [0x83,0x04,0x0c,0x5e]
185 ; CHECK: mov d3, v4[1] ; encoding: [0x83,0x04,0x18,0x5e]
187 smov.s x3, v2[2]
188 smov x3, v2.s[2]
189 umov.s w3, v2[2]
190 umov w3, v2.s[2]
191 umov.d x3, v2[1]
192 umov x3, v2.d[1]
194 ; CHECK: smov.s x3, v2[2] ; encoding: [0x43,0x2c,0x14,0x4e]
195 ; CHECK: smov.s x3, v2[2] ; encoding: [0x43,0x2c,0x14,0x4e]
196 ; CHECK: mov.s w3, v2[2] ; encoding: [0x43,0x3c,0x14,0x0e]
197 ; CHECK: mov.s w3, v2[2] ; encoding: [0x43,0x3c,0x14,0x0e]
198 ; CHECK: mov.d x3, v2[1] ; encoding: [0x43,0x3c,0x18,0x4e]
199 ; CHECK: mov.d x3, v2[1] ; encoding: [0x43,0x3c,0x18,0x4e]
201 ; MOV aliases for UMOV instructions above
203 mov.s w2, v3[3]
204 mov w5, v7.s[2]
205 mov.d x11, v13[1]
206 mov x17, v19.d[0]
208 ; CHECK: mov.s w2, v3[3] ; encoding: [0x62,0x3c,0x1c,0x0e]
209 ; CHECK: mov.s w5, v7[2] ; encoding: [0xe5,0x3c,0x14,0x0e]
210 ; CHECK: mov.d x11, v13[1] ; encoding: [0xab,0x3d,0x18,0x4e]
211 ; CHECK: mov.d x17, v19[0] ; encoding: [0x71,0x3e,0x08,0x4e]
213 ins.d v2[1], x5
214 ins.s v2[1], w5
215 ins.h v2[1], w5
216 ins.b v2[1], w5
218 ins v2.d[1], x5
219 ins v2.s[1], w5
220 ins v2.h[1], w5
221 ins v2.b[1], w5
223 ; CHECK: mov.d v2[1], x5 ; encoding: [0xa2,0x1c,0x18,0x4e]
224 ; CHECK: mov.s v2[1], w5 ; encoding: [0xa2,0x1c,0x0c,0x4e]
225 ; CHECK: mov.h v2[1], w5 ; encoding: [0xa2,0x1c,0x06,0x4e]
226 ; CHECK: mov.b v2[1], w5 ; encoding: [0xa2,0x1c,0x03,0x4e]
228 ; CHECK: mov.d v2[1], x5 ; encoding: [0xa2,0x1c,0x18,0x4e]
229 ; CHECK: mov.s v2[1], w5 ; encoding: [0xa2,0x1c,0x0c,0x4e]
230 ; CHECK: mov.h v2[1], w5 ; encoding: [0xa2,0x1c,0x06,0x4e]
231 ; CHECK: mov.b v2[1], w5 ; encoding: [0xa2,0x1c,0x03,0x4e]
233 ins.d v2[1], v15[1]
234 ins.s v2[1], v15[1]
235 ins.h v2[1], v15[1]
236 ins.b v2[1], v15[1]
238 ins v2.d[1], v15.d[0]
239 ins v2.s[3], v15.s[2]
240 ins v2.h[7], v15.h[3]
241 ins v2.b[10], v15.b[5]
243 ; CHECK: mov.d v2[1], v15[1] ; encoding: [0xe2,0x45,0x18,0x6e]
244 ; CHECK: mov.s v2[1], v15[1] ; encoding: [0xe2,0x25,0x0c,0x6e]
245 ; CHECK: mov.h v2[1], v15[1] ; encoding: [0xe2,0x15,0x06,0x6e]
246 ; CHECK: mov.b v2[1], v15[1] ; encoding: [0xe2,0x0d,0x03,0x6e]
248 ; CHECK: mov.d v2[1], v15[0] ; encoding: [0xe2,0x05,0x18,0x6e]
249 ; CHECK: mov.s v2[3], v15[2] ; encoding: [0xe2,0x45,0x1c,0x6e]
250 ; CHECK: mov.h v2[7], v15[3] ; encoding: [0xe2,0x35,0x1e,0x6e]
251 ; CHECK: mov.b v2[10], v15[5] ; encoding: [0xe2,0x2d,0x15,0x6e]
253 ; MOV aliases for the above INS instructions.
254 mov.d v2[1], x5
255 mov.s v3[1], w6
256 mov.h v4[1], w7
257 mov.b v5[1], w8
259 mov v9.d[1], x2
260 mov v8.s[1], w3
261 mov v7.h[1], w4
262 mov v6.b[1], w5
264 mov.d v1[1], v10[1]
265 mov.s v2[1], v11[1]
266 mov.h v7[1], v12[1]
267 mov.b v8[1], v15[1]
269 mov v2.d[1], v15.d[0]
270 mov v7.s[3], v16.s[2]
271 mov v8.h[7], v17.h[3]
272 mov v9.b[10], v18.b[5]
274 ; CHECK: mov.d v2[1], x5 ; encoding: [0xa2,0x1c,0x18,0x4e]
275 ; CHECK: mov.s v3[1], w6 ; encoding: [0xc3,0x1c,0x0c,0x4e]
276 ; CHECK: mov.h v4[1], w7 ; encoding: [0xe4,0x1c,0x06,0x4e]
277 ; CHECK: mov.b v5[1], w8 ; encoding: [0x05,0x1d,0x03,0x4e]
278 ; CHECK: mov.d v9[1], x2 ; encoding: [0x49,0x1c,0x18,0x4e]
279 ; CHECK: mov.s v8[1], w3 ; encoding: [0x68,0x1c,0x0c,0x4e]
280 ; CHECK: mov.h v7[1], w4 ; encoding: [0x87,0x1c,0x06,0x4e]
281 ; CHECK: mov.b v6[1], w5 ; encoding: [0xa6,0x1c,0x03,0x4e]
282 ; CHECK: mov.d v1[1], v10[1] ; encoding: [0x41,0x45,0x18,0x6e]
283 ; CHECK: mov.s v2[1], v11[1] ; encoding: [0x62,0x25,0x0c,0x6e]
284 ; CHECK: mov.h v7[1], v12[1] ; encoding: [0x87,0x15,0x06,0x6e]
285 ; CHECK: mov.b v8[1], v15[1] ; encoding: [0xe8,0x0d,0x03,0x6e]
286 ; CHECK: mov.d v2[1], v15[0] ; encoding: [0xe2,0x05,0x18,0x6e]
287 ; CHECK: mov.s v7[3], v16[2] ; encoding: [0x07,0x46,0x1c,0x6e]
288 ; CHECK: mov.h v8[7], v17[3] ; encoding: [0x28,0x36,0x1e,0x6e]
289 ; CHECK: mov.b v9[10], v18[5] ; encoding: [0x49,0x2e,0x15,0x6e]
292 and.8b v0, v0, v0
293 and.16b v0, v0, v0
295 ; CHECK: and.8b v0, v0, v0 ; encoding: [0x00,0x1c,0x20,0x0e]
296 ; CHECK: and.16b v0, v0, v0 ; encoding: [0x00,0x1c,0x20,0x4e]
298 bic.8b v0, v0, v0
300 ; CHECK: bic.8b v0, v0, v0 ; encoding: [0x00,0x1c,0x60,0x0e]
302 cmeq.8b v0, v0, v0
303 cmge.8b v0, v0, v0
304 cmgt.8b v0, v0, v0
305 cmhi.8b v0, v0, v0
306 cmhs.8b v0, v0, v0
307 cmtst.8b v0, v0, v0
308 fabd.2s v0, v0, v0
309 facge.2s v0, v0, v0
310 facgt.2s v0, v0, v0
311 faddp.2s v0, v0, v0
312 fadd.2s v0, v0, v0
313 fcmeq.2s v0, v0, v0
314 fcmge.2s v0, v0, v0
315 fcmgt.2s v0, v0, v0
316 fdiv.2s v0, v0, v0
317 fmaxnmp.2s v0, v0, v0
318 fmaxnm.2s v0, v0, v0
319 fmaxp.2s v0, v0, v0
320 fmax.2s v0, v0, v0
321 fminnmp.2s v0, v0, v0
322 fminnm.2s v0, v0, v0
323 fminp.2s v0, v0, v0
324 fmin.2s v0, v0, v0
325 fmla.2s v0, v0, v0
326 fmls.2s v0, v0, v0
327 fmulx.2s v0, v0, v0
328 fmul.2s v0, v0, v0
329 fmulx d2, d3, d1
330 fmulx s2, s3, s1
331 frecps.2s v0, v0, v0
332 frsqrts.2s v0, v0, v0
333 fsub.2s v0, v0, v0
334 mla.8b v0, v0, v0
335 mls.8b v0, v0, v0
336 mul.8b v0, v0, v0
337 pmul.8b v0, v0, v0
338 saba.8b v0, v0, v0
339 sabd.8b v0, v0, v0
340 shadd.8b v0, v0, v0
341 shsub.8b v0, v0, v0
342 smaxp.8b v0, v0, v0
343 smax.8b v0, v0, v0
344 sminp.8b v0, v0, v0
345 smin.8b v0, v0, v0
346 sqadd.8b v0, v0, v0
347 sqdmulh.4h v0, v0, v0
348 sqrdmulh.4h v0, v0, v0
349 sqrshl.8b v0, v0, v0
350 sqshl.8b v0, v0, v0
351 sqsub.8b v0, v0, v0
352 srhadd.8b v0, v0, v0
353 srshl.8b v0, v0, v0
354 sshl.8b v0, v0, v0
355 sub.8b v0, v0, v0
356 uaba.8b v0, v0, v0
357 uabd.8b v0, v0, v0
358 uhadd.8b v0, v0, v0
359 uhsub.8b v0, v0, v0
360 umaxp.8b v0, v0, v0
361 umax.8b v0, v0, v0
362 uminp.8b v0, v0, v0
363 umin.8b v0, v0, v0
364 uqadd.8b v0, v0, v0
365 uqrshl.8b v0, v0, v0
366 uqshl.8b v0, v0, v0
367 uqsub.8b v0, v0, v0
368 urhadd.8b v0, v0, v0
369 urshl.8b v0, v0, v0
370 ushl.8b v0, v0, v0
372 ; CHECK: cmeq.8b v0, v0, v0 ; encoding: [0x00,0x8c,0x20,0x2e]
373 ; CHECK: cmge.8b v0, v0, v0 ; encoding: [0x00,0x3c,0x20,0x0e]
374 ; CHECK: cmgt.8b v0, v0, v0 ; encoding: [0x00,0x34,0x20,0x0e]
375 ; CHECK: cmhi.8b v0, v0, v0 ; encoding: [0x00,0x34,0x20,0x2e]
376 ; CHECK: cmhs.8b v0, v0, v0 ; encoding: [0x00,0x3c,0x20,0x2e]
377 ; CHECK: cmtst.8b v0, v0, v0 ; encoding: [0x00,0x8c,0x20,0x0e]
378 ; CHECK: fabd.2s v0, v0, v0 ; encoding: [0x00,0xd4,0xa0,0x2e]
379 ; CHECK: facge.2s v0, v0, v0 ; encoding: [0x00,0xec,0x20,0x2e]
380 ; CHECK: facgt.2s v0, v0, v0 ; encoding: [0x00,0xec,0xa0,0x2e]
381 ; CHECK: faddp.2s v0, v0, v0 ; encoding: [0x00,0xd4,0x20,0x2e]
382 ; CHECK: fadd.2s v0, v0, v0 ; encoding: [0x00,0xd4,0x20,0x0e]
383 ; CHECK: fcmeq.2s v0, v0, v0 ; encoding: [0x00,0xe4,0x20,0x0e]
384 ; CHECK: fcmge.2s v0, v0, v0 ; encoding: [0x00,0xe4,0x20,0x2e]
385 ; CHECK: fcmgt.2s v0, v0, v0 ; encoding: [0x00,0xe4,0xa0,0x2e]
386 ; CHECK: fdiv.2s v0, v0, v0 ; encoding: [0x00,0xfc,0x20,0x2e]
387 ; CHECK: fmaxnmp.2s v0, v0, v0 ; encoding: [0x00,0xc4,0x20,0x2e]
388 ; CHECK: fmaxnm.2s v0, v0, v0 ; encoding: [0x00,0xc4,0x20,0x0e]
389 ; CHECK: fmaxp.2s v0, v0, v0 ; encoding: [0x00,0xf4,0x20,0x2e]
390 ; CHECK: fmax.2s v0, v0, v0 ; encoding: [0x00,0xf4,0x20,0x0e]
391 ; CHECK: fminnmp.2s v0, v0, v0 ; encoding: [0x00,0xc4,0xa0,0x2e]
392 ; CHECK: fminnm.2s v0, v0, v0 ; encoding: [0x00,0xc4,0xa0,0x0e]
393 ; CHECK: fminp.2s v0, v0, v0 ; encoding: [0x00,0xf4,0xa0,0x2e]
394 ; CHECK: fmin.2s v0, v0, v0 ; encoding: [0x00,0xf4,0xa0,0x0e]
395 ; CHECK: fmla.2s v0, v0, v0 ; encoding: [0x00,0xcc,0x20,0x0e]
396 ; CHECK: fmls.2s v0, v0, v0 ; encoding: [0x00,0xcc,0xa0,0x0e]
397 ; CHECK: fmulx.2s v0, v0, v0 ; encoding: [0x00,0xdc,0x20,0x0e]
399 ; CHECK: fmul.2s v0, v0, v0 ; encoding: [0x00,0xdc,0x20,0x2e]
400 ; CHECK: fmulx d2, d3, d1 ; encoding: [0x62,0xdc,0x61,0x5e]
401 ; CHECK: fmulx s2, s3, s1 ; encoding: [0x62,0xdc,0x21,0x5e]
402 ; CHECK: frecps.2s v0, v0, v0 ; encoding: [0x00,0xfc,0x20,0x0e]
403 ; CHECK: frsqrts.2s v0, v0, v0 ; encoding: [0x00,0xfc,0xa0,0x0e]
404 ; CHECK: fsub.2s v0, v0, v0 ; encoding: [0x00,0xd4,0xa0,0x0e]
405 ; CHECK: mla.8b v0, v0, v0 ; encoding: [0x00,0x94,0x20,0x0e]
406 ; CHECK: mls.8b v0, v0, v0 ; encoding: [0x00,0x94,0x20,0x2e]
407 ; CHECK: mul.8b v0, v0, v0 ; encoding: [0x00,0x9c,0x20,0x0e]
408 ; CHECK: pmul.8b v0, v0, v0 ; encoding: [0x00,0x9c,0x20,0x2e]
409 ; CHECK: saba.8b v0, v0, v0 ; encoding: [0x00,0x7c,0x20,0x0e]
410 ; CHECK: sabd.8b v0, v0, v0 ; encoding: [0x00,0x74,0x20,0x0e]
411 ; CHECK: shadd.8b v0, v0, v0 ; encoding: [0x00,0x04,0x20,0x0e]
412 ; CHECK: shsub.8b v0, v0, v0 ; encoding: [0x00,0x24,0x20,0x0e]
413 ; CHECK: smaxp.8b v0, v0, v0 ; encoding: [0x00,0xa4,0x20,0x0e]
414 ; CHECK: smax.8b v0, v0, v0 ; encoding: [0x00,0x64,0x20,0x0e]
415 ; CHECK: sminp.8b v0, v0, v0 ; encoding: [0x00,0xac,0x20,0x0e]
416 ; CHECK: smin.8b v0, v0, v0 ; encoding: [0x00,0x6c,0x20,0x0e]
417 ; CHECK: sqadd.8b v0, v0, v0 ; encoding: [0x00,0x0c,0x20,0x0e]
418 ; CHECK: sqdmulh.4h v0, v0, v0 ; encoding: [0x00,0xb4,0x60,0x0e]
419 ; CHECK: sqrdmulh.4h v0, v0, v0 ; encoding: [0x00,0xb4,0x60,0x2e]
420 ; CHECK: sqrshl.8b v0, v0, v0 ; encoding: [0x00,0x5c,0x20,0x0e]
421 ; CHECK: sqshl.8b v0, v0, v0 ; encoding: [0x00,0x4c,0x20,0x0e]
422 ; CHECK: sqsub.8b v0, v0, v0 ; encoding: [0x00,0x2c,0x20,0x0e]
423 ; CHECK: srhadd.8b v0, v0, v0 ; encoding: [0x00,0x14,0x20,0x0e]
424 ; CHECK: srshl.8b v0, v0, v0 ; encoding: [0x00,0x54,0x20,0x0e]
425 ; CHECK: sshl.8b v0, v0, v0 ; encoding: [0x00,0x44,0x20,0x0e]
426 ; CHECK: sub.8b v0, v0, v0 ; encoding: [0x00,0x84,0x20,0x2e]
427 ; CHECK: uaba.8b v0, v0, v0 ; encoding: [0x00,0x7c,0x20,0x2e]
428 ; CHECK: uabd.8b v0, v0, v0 ; encoding: [0x00,0x74,0x20,0x2e]
429 ; CHECK: uhadd.8b v0, v0, v0 ; encoding: [0x00,0x04,0x20,0x2e]
430 ; CHECK: uhsub.8b v0, v0, v0 ; encoding: [0x00,0x24,0x20,0x2e]
431 ; CHECK: umaxp.8b v0, v0, v0 ; encoding: [0x00,0xa4,0x20,0x2e]
432 ; CHECK: umax.8b v0, v0, v0 ; encoding: [0x00,0x64,0x20,0x2e]
433 ; CHECK: uminp.8b v0, v0, v0 ; encoding: [0x00,0xac,0x20,0x2e]
434 ; CHECK: umin.8b v0, v0, v0 ; encoding: [0x00,0x6c,0x20,0x2e]
435 ; CHECK: uqadd.8b v0, v0, v0 ; encoding: [0x00,0x0c,0x20,0x2e]
436 ; CHECK: uqrshl.8b v0, v0, v0 ; encoding: [0x00,0x5c,0x20,0x2e]
437 ; CHECK: uqshl.8b v0, v0, v0 ; encoding: [0x00,0x4c,0x20,0x2e]
438 ; CHECK: uqsub.8b v0, v0, v0 ; encoding: [0x00,0x2c,0x20,0x2e]
439 ; CHECK: urhadd.8b v0, v0, v0 ; encoding: [0x00,0x14,0x20,0x2e]
440 ; CHECK: urshl.8b v0, v0, v0 ; encoding: [0x00,0x54,0x20,0x2e]
441 ; CHECK: ushl.8b v0, v0, v0 ; encoding: [0x00,0x44,0x20,0x2e]
443 fabd.4h v0, v0, v0
444 facge.4h v0, v0, v0
445 facgt.4h v0, v0, v0
446 faddp.4h v0, v0, v0
447 fadd.4h v0, v0, v0
448 fcmeq.4h v0, v0, v0
449 fcmge.4h v0, v0, v0
450 fcmgt.4h v0, v0, v0
451 fdiv.4h v0, v0, v0
452 fmaxnmp.4h v0, v0, v0
453 fmaxnm.4h v0, v0, v0
454 fmaxp.4h v0, v0, v0
455 fmax.4h v0, v0, v0
456 fminnmp.4h v0, v0, v0
457 fminnm.4h v0, v0, v0
458 fminp.4h v0, v0, v0
459 fmin.4h v0, v0, v0
460 fmla.4h v0, v0, v0
461 fmls.4h v0, v0, v0
462 fmulx.4h v0, v0, v0
463 fmul.4h v0, v0, v0
464 frecps.4h v0, v0, v0
465 frsqrts.4h v0, v0, v0
466 fsub.4h v0, v0, v0
468 ; CHECK: fabd.4h v0, v0, v0 ; encoding: [0x00,0x14,0xc0,0x2e]
469 ; CHECK: facge.4h v0, v0, v0 ; encoding: [0x00,0x2c,0x40,0x2e]
470 ; CHECK: facgt.4h v0, v0, v0 ; encoding: [0x00,0x2c,0xc0,0x2e]
471 ; CHECK: faddp.4h v0, v0, v0 ; encoding: [0x00,0x14,0x40,0x2e]
472 ; CHECK: fadd.4h v0, v0, v0 ; encoding: [0x00,0x14,0x40,0x0e]
473 ; CHECK: fcmeq.4h v0, v0, v0 ; encoding: [0x00,0x24,0x40,0x0e]
474 ; CHECK: fcmge.4h v0, v0, v0 ; encoding: [0x00,0x24,0x40,0x2e]
475 ; CHECK: fcmgt.4h v0, v0, v0 ; encoding: [0x00,0x24,0xc0,0x2e]
476 ; CHECK: fdiv.4h v0, v0, v0 ; encoding: [0x00,0x3c,0x40,0x2e]
477 ; CHECK: fmaxnmp.4h v0, v0, v0 ; encoding: [0x00,0x04,0x40,0x2e]
478 ; CHECK: fmaxnm.4h v0, v0, v0 ; encoding: [0x00,0x04,0x40,0x0e]
479 ; CHECK: fmaxp.4h v0, v0, v0 ; encoding: [0x00,0x34,0x40,0x2e]
480 ; CHECK: fmax.4h v0, v0, v0 ; encoding: [0x00,0x34,0x40,0x0e]
481 ; CHECK: fminnmp.4h v0, v0, v0 ; encoding: [0x00,0x04,0xc0,0x2e]
482 ; CHECK: fminnm.4h v0, v0, v0 ; encoding: [0x00,0x04,0xc0,0x0e]
483 ; CHECK: fminp.4h v0, v0, v0 ; encoding: [0x00,0x34,0xc0,0x2e]
484 ; CHECK: fmin.4h v0, v0, v0 ; encoding: [0x00,0x34,0xc0,0x0e]
485 ; CHECK: fmla.4h v0, v0, v0 ; encoding: [0x00,0x0c,0x40,0x0e]
486 ; CHECK: fmls.4h v0, v0, v0 ; encoding: [0x00,0x0c,0xc0,0x0e]
487 ; CHECK: fmulx.4h v0, v0, v0 ; encoding: [0x00,0x1c,0x40,0x0e]
488 ; CHECK: fmul.4h v0, v0, v0 ; encoding: [0x00,0x1c,0x40,0x2e]
489 ; CHECK: frecps.4h v0, v0, v0 ; encoding: [0x00,0x3c,0x40,0x0e]
490 ; CHECK: frsqrts.4h v0, v0, v0 ; encoding: [0x00,0x3c,0xc0,0x0e]
491 ; CHECK: fsub.4h v0, v0, v0 ; encoding: [0x00,0x14,0xc0,0x0e]
493 fabd.8h v0, v0, v0
494 facge.8h v0, v0, v0
495 facgt.8h v0, v0, v0
496 faddp.8h v0, v0, v0
497 fadd.8h v0, v0, v0
498 fcmeq.8h v0, v0, v0
499 fcmge.8h v0, v0, v0
500 fcmgt.8h v0, v0, v0
501 fdiv.8h v0, v0, v0
502 fmaxnmp.8h v0, v0, v0
503 fmaxnm.8h v0, v0, v0
504 fmaxp.8h v0, v0, v0
505 fmax.8h v0, v0, v0
506 fminnmp.8h v0, v0, v0
507 fminnm.8h v0, v0, v0
508 fminp.8h v0, v0, v0
509 fmin.8h v0, v0, v0
510 fmla.8h v0, v0, v0
511 fmls.8h v0, v0, v0
512 fmulx.8h v0, v0, v0
513 fmul.8h v0, v0, v0
514 frecps.8h v0, v0, v0
515 frsqrts.8h v0, v0, v0
516 fsub.8h v0, v0, v0
518 ; CHECK: fabd.8h v0, v0, v0 ; encoding: [0x00,0x14,0xc0,0x6e]
519 ; CHECK: facge.8h v0, v0, v0 ; encoding: [0x00,0x2c,0x40,0x6e]
520 ; CHECK: facgt.8h v0, v0, v0 ; encoding: [0x00,0x2c,0xc0,0x6e]
521 ; CHECK: faddp.8h v0, v0, v0 ; encoding: [0x00,0x14,0x40,0x6e]
522 ; CHECK: fadd.8h v0, v0, v0 ; encoding: [0x00,0x14,0x40,0x4e]
523 ; CHECK: fcmeq.8h v0, v0, v0 ; encoding: [0x00,0x24,0x40,0x4e]
524 ; CHECK: fcmge.8h v0, v0, v0 ; encoding: [0x00,0x24,0x40,0x6e]
525 ; CHECK: fcmgt.8h v0, v0, v0 ; encoding: [0x00,0x24,0xc0,0x6e]
526 ; CHECK: fdiv.8h v0, v0, v0 ; encoding: [0x00,0x3c,0x40,0x6e]
527 ; CHECK: fmaxnmp.8h v0, v0, v0 ; encoding: [0x00,0x04,0x40,0x6e]
528 ; CHECK: fmaxnm.8h v0, v0, v0 ; encoding: [0x00,0x04,0x40,0x4e]
529 ; CHECK: fmaxp.8h v0, v0, v0 ; encoding: [0x00,0x34,0x40,0x6e]
530 ; CHECK: fmax.8h v0, v0, v0 ; encoding: [0x00,0x34,0x40,0x4e]
531 ; CHECK: fminnmp.8h v0, v0, v0 ; encoding: [0x00,0x04,0xc0,0x6e]
532 ; CHECK: fminnm.8h v0, v0, v0 ; encoding: [0x00,0x04,0xc0,0x4e]
533 ; CHECK: fminp.8h v0, v0, v0 ; encoding: [0x00,0x34,0xc0,0x6e]
534 ; CHECK: fmin.8h v0, v0, v0 ; encoding: [0x00,0x34,0xc0,0x4e]
535 ; CHECK: fmla.8h v0, v0, v0 ; encoding: [0x00,0x0c,0x40,0x4e]
536 ; CHECK: fmls.8h v0, v0, v0 ; encoding: [0x00,0x0c,0xc0,0x4e]
537 ; CHECK: fmulx.8h v0, v0, v0 ; encoding: [0x00,0x1c,0x40,0x4e]
538 ; CHECK: fmul.8h v0, v0, v0 ; encoding: [0x00,0x1c,0x40,0x6e]
539 ; CHECK: frecps.8h v0, v0, v0 ; encoding: [0x00,0x3c,0x40,0x4e]
540 ; CHECK: frsqrts.8h v0, v0, v0 ; encoding: [0x00,0x3c,0xc0,0x4e]
541 ; CHECK: fsub.8h v0, v0, v0 ; encoding: [0x00,0x14,0xc0,0x4e]
543 bif.8b v0, v0, v0
544 bit.8b v0, v0, v0
545 bsl.8b v0, v0, v0
546 eor.8b v0, v0, v0
547 orn.8b v0, v0, v0
548 orr.8b v0, v0, v1
550 ; CHECK: bif.8b v0, v0, v0 ; encoding: [0x00,0x1c,0xe0,0x2e]
551 ; CHECK: bit.8b v0, v0, v0 ; encoding: [0x00,0x1c,0xa0,0x2e]
552 ; CHECK: bsl.8b v0, v0, v0 ; encoding: [0x00,0x1c,0x60,0x2e]
553 ; CHECK: eor.8b v0, v0, v0 ; encoding: [0x00,0x1c,0x20,0x2e]
554 ; CHECK: orn.8b v0, v0, v0 ; encoding: [0x00,0x1c,0xe0,0x0e]
555 ; CHECK: orr.8b v0, v0, v1 ; encoding: [0x00,0x1c,0xa1,0x0e]
557 sadalp.4h v0, v0
558 sadalp.8h v0, v0
559 sadalp.2s v0, v0
560 sadalp.4s v0, v0
561 sadalp.1d v0, v0
562 sadalp.2d v0, v0
564 ; CHECK: sadalp.4h v0, v0 ; encoding: [0x00,0x68,0x20,0x0e]
565 ; CHECK: sadalp.8h v0, v0 ; encoding: [0x00,0x68,0x20,0x4e]
566 ; CHECK: sadalp.2s v0, v0 ; encoding: [0x00,0x68,0x60,0x0e]
567 ; CHECK: sadalp.4s v0, v0 ; encoding: [0x00,0x68,0x60,0x4e]
568 ; CHECK: sadalp.1d v0, v0 ; encoding: [0x00,0x68,0xa0,0x0e]
569 ; CHECK: sadalp.2d v0, v0 ; encoding: [0x00,0x68,0xa0,0x4e]
571 cls.8b v0, v0
572 clz.8b v0, v0
573 cnt.8b v0, v0
574 fabs.2s v0, v0
575 fneg.2s v0, v0
576 frecpe.2s v0, v0
577 frinta.2s v0, v0
578 frintx.2s v0, v0
579 frinti.2s v0, v0
580 frintm.2s v0, v0
581 frintn.2s v0, v0
582 frintp.2s v0, v0
583 frintz.2s v0, v0
584 frsqrte.2s v0, v0
585 fsqrt.2s v0, v0
586 neg.8b v0, v0
587 not.8b v0, v0
588 rbit.8b v0, v0
589 rev16.8b v0, v0
590 rev32.8b v0, v0
591 rev64.8b v0, v0
592 sadalp.4h v0, v0
593 saddlp.4h v0, v0
594 scvtf.2s v0, v0
595 sqabs.8b v0, v0
596 sqneg.8b v0, v0
597 sqxtn.8b v0, v0
598 sqxtun.8b v0, v0
599 suqadd.8b v0, v0
600 uadalp.4h v0, v0
601 uaddlp.4h v0, v0
602 ucvtf.2s v0, v0
603 uqxtn.8b v0, v0
604 urecpe.2s v0, v0
605 ursqrte.2s v0, v0
606 usqadd.8b v0, v0
607 xtn.8b v0, v0
608 shll.8h v1, v2, #8
609 shll.4s v3, v4, #16
610 shll.2d v5, v6, #32
611 shll2.8h v7, v8, #8
612 shll2.4s v9, v10, #16
613 shll2.2d v11, v12, #32
614 shll v1.8h, v2.8b, #8
615 shll v1.4s, v2.4h, #16
616 shll v1.2d, v2.2s, #32
617 shll2 v1.8h, v2.16b, #8
618 shll2 v1.4s, v2.8h, #16
619 shll2 v1.2d, v2.4s, #32
621 ; CHECK: cls.8b v0, v0 ; encoding: [0x00,0x48,0x20,0x0e]
622 ; CHECK: clz.8b v0, v0 ; encoding: [0x00,0x48,0x20,0x2e]
623 ; CHECK: cnt.8b v0, v0 ; encoding: [0x00,0x58,0x20,0x0e]
624 ; CHECK: fabs.2s v0, v0 ; encoding: [0x00,0xf8,0xa0,0x0e]
625 ; CHECK: fneg.2s v0, v0 ; encoding: [0x00,0xf8,0xa0,0x2e]
626 ; CHECK: frecpe.2s v0, v0 ; encoding: [0x00,0xd8,0xa1,0x0e]
627 ; CHECK: frinta.2s v0, v0 ; encoding: [0x00,0x88,0x21,0x2e]
628 ; CHECK: frintx.2s v0, v0 ; encoding: [0x00,0x98,0x21,0x2e]
629 ; CHECK: frinti.2s v0, v0 ; encoding: [0x00,0x98,0xa1,0x2e]
630 ; CHECK: frintm.2s v0, v0 ; encoding: [0x00,0x98,0x21,0x0e]
631 ; CHECK: frintn.2s v0, v0 ; encoding: [0x00,0x88,0x21,0x0e]
632 ; CHECK: frintp.2s v0, v0 ; encoding: [0x00,0x88,0xa1,0x0e]
633 ; CHECK: frintz.2s v0, v0 ; encoding: [0x00,0x98,0xa1,0x0e]
634 ; CHECK: frsqrte.2s v0, v0 ; encoding: [0x00,0xd8,0xa1,0x2e]
635 ; CHECK: fsqrt.2s v0, v0 ; encoding: [0x00,0xf8,0xa1,0x2e]
636 ; CHECK: neg.8b v0, v0 ; encoding: [0x00,0xb8,0x20,0x2e]
637 ; CHECK: mvn.8b v0, v0 ; encoding: [0x00,0x58,0x20,0x2e]
638 ; CHECK: rbit.8b v0, v0 ; encoding: [0x00,0x58,0x60,0x2e]
639 ; CHECK: rev16.8b v0, v0 ; encoding: [0x00,0x18,0x20,0x0e]
640 ; CHECK: rev32.8b v0, v0 ; encoding: [0x00,0x08,0x20,0x2e]
641 ; CHECK: rev64.8b v0, v0 ; encoding: [0x00,0x08,0x20,0x0e]
642 ; CHECK: sadalp.4h v0, v0 ; encoding: [0x00,0x68,0x20,0x0e]
643 ; CHECK: saddlp.4h v0, v0 ; encoding: [0x00,0x28,0x20,0x0e]
644 ; CHECK: scvtf.2s v0, v0 ; encoding: [0x00,0xd8,0x21,0x0e]
645 ; CHECK: sqabs.8b v0, v0 ; encoding: [0x00,0x78,0x20,0x0e]
646 ; CHECK: sqneg.8b v0, v0 ; encoding: [0x00,0x78,0x20,0x2e]
647 ; CHECK: sqxtn.8b v0, v0 ; encoding: [0x00,0x48,0x21,0x0e]
648 ; CHECK: sqxtun.8b v0, v0 ; encoding: [0x00,0x28,0x21,0x2e]
649 ; CHECK: suqadd.8b v0, v0 ; encoding: [0x00,0x38,0x20,0x0e]
650 ; CHECK: uadalp.4h v0, v0 ; encoding: [0x00,0x68,0x20,0x2e]
651 ; CHECK: uaddlp.4h v0, v0 ; encoding: [0x00,0x28,0x20,0x2e]
652 ; CHECK: ucvtf.2s v0, v0 ; encoding: [0x00,0xd8,0x21,0x2e]
653 ; CHECK: uqxtn.8b v0, v0 ; encoding: [0x00,0x48,0x21,0x2e]
654 ; CHECK: urecpe.2s v0, v0 ; encoding: [0x00,0xc8,0xa1,0x0e]
655 ; CHECK: ursqrte.2s v0, v0 ; encoding: [0x00,0xc8,0xa1,0x2e]
656 ; CHECK: usqadd.8b v0, v0 ; encoding: [0x00,0x38,0x20,0x2e]
657 ; CHECK: xtn.8b v0, v0 ; encoding: [0x00,0x28,0x21,0x0e]
658 ; CHECK: shll.8h v1, v2, #8 ; encoding: [0x41,0x38,0x21,0x2e]
659 ; CHECK: shll.4s v3, v4, #16 ; encoding: [0x83,0x38,0x61,0x2e]
660 ; CHECK: shll.2d v5, v6, #32 ; encoding: [0xc5,0x38,0xa1,0x2e]
661 ; CHECK: shll2.8h v7, v8, #8 ; encoding: [0x07,0x39,0x21,0x6e]
662 ; CHECK: shll2.4s v9, v10, #16 ; encoding: [0x49,0x39,0x61,0x6e]
663 ; CHECK: shll2.2d v11, v12, #32 ; encoding: [0x8b,0x39,0xa1,0x6e]
664 ; CHECK: shll.8h v1, v2, #8 ; encoding: [0x41,0x38,0x21,0x2e]
665 ; CHECK: shll.4s v1, v2, #16 ; encoding: [0x41,0x38,0x61,0x2e]
666 ; CHECK: shll.2d v1, v2, #32 ; encoding: [0x41,0x38,0xa1,0x2e]
667 ; CHECK: shll2.8h v1, v2, #8 ; encoding: [0x41,0x38,0x21,0x6e]
668 ; CHECK: shll2.4s v1, v2, #16 ; encoding: [0x41,0x38,0x61,0x6e]
669 ; CHECK: shll2.2d v1, v2, #32 ; encoding: [0x41,0x38,0xa1,0x6e]
671 fabs.4h v0, v0
672 fneg.4h v0, v0
673 frecpe.4h v0, v0
674 frinta.4h v0, v0
675 frintx.4h v0, v0
676 frinti.4h v0, v0
677 frintm.4h v0, v0
678 frintn.4h v0, v0
679 frintp.4h v0, v0
680 frintz.4h v0, v0
681 frsqrte.4h v0, v0
682 fsqrt.4h v0, v0
684 ; CHECK: fabs.4h v0, v0 ; encoding: [0x00,0xf8,0xf8,0x0e]
685 ; CHECK: fneg.4h v0, v0 ; encoding: [0x00,0xf8,0xf8,0x2e]
686 ; CHECK: frecpe.4h v0, v0 ; encoding: [0x00,0xd8,0xf9,0x0e]
687 ; CHECK: frinta.4h v0, v0 ; encoding: [0x00,0x88,0x79,0x2e]
688 ; CHECK: frintx.4h v0, v0 ; encoding: [0x00,0x98,0x79,0x2e]
689 ; CHECK: frinti.4h v0, v0 ; encoding: [0x00,0x98,0xf9,0x2e]
690 ; CHECK: frintm.4h v0, v0 ; encoding: [0x00,0x98,0x79,0x0e]
691 ; CHECK: frintn.4h v0, v0 ; encoding: [0x00,0x88,0x79,0x0e]
692 ; CHECK: frintp.4h v0, v0 ; encoding: [0x00,0x88,0xf9,0x0e]
693 ; CHECK: frintz.4h v0, v0 ; encoding: [0x00,0x98,0xf9,0x0e]
694 ; CHECK: frsqrte.4h v0, v0 ; encoding: [0x00,0xd8,0xf9,0x2e]
695 ; CHECK: fsqrt.4h v0, v0 ; encoding: [0x00,0xf8,0xf9,0x2e]
697 fabs.8h v0, v0
698 fneg.8h v0, v0
699 frecpe.8h v0, v0
700 frinta.8h v0, v0
701 frintx.8h v0, v0
702 frinti.8h v0, v0
703 frintm.8h v0, v0
704 frintn.8h v0, v0
705 frintp.8h v0, v0
706 frintz.8h v0, v0
707 frsqrte.8h v0, v0
708 fsqrt.8h v0, v0
710 ; CHECK: fabs.8h v0, v0 ; encoding: [0x00,0xf8,0xf8,0x4e]
711 ; CHECK: fneg.8h v0, v0 ; encoding: [0x00,0xf8,0xf8,0x6e]
712 ; CHECK: frecpe.8h v0, v0 ; encoding: [0x00,0xd8,0xf9,0x4e]
713 ; CHECK: frinta.8h v0, v0 ; encoding: [0x00,0x88,0x79,0x6e]
714 ; CHECK: frintx.8h v0, v0 ; encoding: [0x00,0x98,0x79,0x6e]
715 ; CHECK: frinti.8h v0, v0 ; encoding: [0x00,0x98,0xf9,0x6e]
716 ; CHECK: frintm.8h v0, v0 ; encoding: [0x00,0x98,0x79,0x4e]
717 ; CHECK: frintn.8h v0, v0 ; encoding: [0x00,0x88,0x79,0x4e]
718 ; CHECK: frintp.8h v0, v0 ; encoding: [0x00,0x88,0xf9,0x4e]
719 ; CHECK: frintz.8h v0, v0 ; encoding: [0x00,0x98,0xf9,0x4e]
720 ; CHECK: frsqrte.8h v0, v0 ; encoding: [0x00,0xd8,0xf9,0x6e]
721 ; CHECK: fsqrt.8h v0, v0 ; encoding: [0x00,0xf8,0xf9,0x6e]
723 cmeq.8b v0, v0, #0
724 cmeq.16b v0, v0, #0
725 cmeq.4h v0, v0, #0
726 cmeq.8h v0, v0, #0
727 cmeq.2s v0, v0, #0
728 cmeq.4s v0, v0, #0
729 cmeq.2d v0, v0, #0
731 ; CHECK: cmeq.8b v0, v0, #0 ; encoding: [0x00,0x98,0x20,0x0e]
732 ; CHECK: cmeq.16b v0, v0, #0 ; encoding: [0x00,0x98,0x20,0x4e]
733 ; CHECK: cmeq.4h v0, v0, #0 ; encoding: [0x00,0x98,0x60,0x0e]
734 ; CHECK: cmeq.8h v0, v0, #0 ; encoding: [0x00,0x98,0x60,0x4e]
735 ; CHECK: cmeq.2s v0, v0, #0 ; encoding: [0x00,0x98,0xa0,0x0e]
736 ; CHECK: cmeq.4s v0, v0, #0 ; encoding: [0x00,0x98,0xa0,0x4e]
737 ; CHECK: cmeq.2d v0, v0, #0 ; encoding: [0x00,0x98,0xe0,0x4e]
739 cmge.8b v0, v0, #0
740 cmgt.8b v0, v0, #0
741 cmle.8b v0, v0, #0
742 cmlt.8b v0, v0, #0
743 fcmeq.2s v0, v0, #0
744 fcmge.2s v0, v0, #0
745 fcmgt.2s v0, v0, #0
746 fcmle.2s v0, v0, #0
747 fcmlt.2s v0, v0, #0
749 ; ARM verbose mode aliases
750 cmlt v8.8b, v14.8b, #0
751 cmlt v8.16b, v14.16b, #0
752 cmlt v8.4h, v14.4h, #0
753 cmlt v8.8h, v14.8h, #0
754 cmlt v8.2s, v14.2s, #0
755 cmlt v8.4s, v14.4s, #0
756 cmlt v8.2d, v14.2d, #0
758 ; CHECK: cmge.8b v0, v0, #0 ; encoding: [0x00,0x88,0x20,0x2e]
759 ; CHECK: cmgt.8b v0, v0, #0 ; encoding: [0x00,0x88,0x20,0x0e]
760 ; CHECK: cmle.8b v0, v0, #0 ; encoding: [0x00,0x98,0x20,0x2e]
761 ; CHECK: cmlt.8b v0, v0, #0 ; encoding: [0x00,0xa8,0x20,0x0e]
762 ; CHECK: fcmeq.2s v0, v0, #0.0 ; encoding: [0x00,0xd8,0xa0,0x0e]
763 ; CHECK: fcmge.2s v0, v0, #0.0 ; encoding: [0x00,0xc8,0xa0,0x2e]
764 ; CHECK: fcmgt.2s v0, v0, #0.0 ; encoding: [0x00,0xc8,0xa0,0x0e]
765 ; CHECK: fcmle.2s v0, v0, #0.0 ; encoding: [0x00,0xd8,0xa0,0x2e]
766 ; CHECK: fcmlt.2s v0, v0, #0.0 ; encoding: [0x00,0xe8,0xa0,0x0e]
767 ; CHECK: cmlt.8b v8, v14, #0 ; encoding: [0xc8,0xa9,0x20,0x0e]
768 ; CHECK: cmlt.16b v8, v14, #0 ; encoding: [0xc8,0xa9,0x20,0x4e]
769 ; CHECK: cmlt.4h v8, v14, #0 ; encoding: [0xc8,0xa9,0x60,0x0e]
770 ; CHECK: cmlt.8h v8, v14, #0 ; encoding: [0xc8,0xa9,0x60,0x4e]
771 ; CHECK: cmlt.2s v8, v14, #0 ; encoding: [0xc8,0xa9,0xa0,0x0e]
772 ; CHECK: cmlt.4s v8, v14, #0 ; encoding: [0xc8,0xa9,0xa0,0x4e]
773 ; CHECK: cmlt.2d v8, v14, #0 ; encoding: [0xc8,0xa9,0xe0,0x4e]
776 ;===-------------------------------------------------------------------------===
777 ; AdvSIMD Floating-point <-> Integer Conversions
778 ;===-------------------------------------------------------------------------===
780 fcvtas.2s v0, v0
781 fcvtas.4s v0, v0
782 fcvtas.2d v0, v0
783 fcvtas s0, s0
784 fcvtas d0, d0
786 ; CHECK: fcvtas.2s v0, v0 ; encoding: [0x00,0xc8,0x21,0x0e]
787 ; CHECK: fcvtas.4s v0, v0 ; encoding: [0x00,0xc8,0x21,0x4e]
788 ; CHECK: fcvtas.2d v0, v0 ; encoding: [0x00,0xc8,0x61,0x4e]
789 ; CHECK: fcvtas s0, s0 ; encoding: [0x00,0xc8,0x21,0x5e]
790 ; CHECK: fcvtas d0, d0 ; encoding: [0x00,0xc8,0x61,0x5e]
792 fcvtau.2s v0, v0
793 fcvtau.4s v0, v0
794 fcvtau.2d v0, v0
795 fcvtau s0, s0
796 fcvtau d0, d0
798 ; CHECK: fcvtau.2s v0, v0 ; encoding: [0x00,0xc8,0x21,0x2e]
799 ; CHECK: fcvtau.4s v0, v0 ; encoding: [0x00,0xc8,0x21,0x6e]
800 ; CHECK: fcvtau.2d v0, v0 ; encoding: [0x00,0xc8,0x61,0x6e]
801 ; CHECK: fcvtau s0, s0 ; encoding: [0x00,0xc8,0x21,0x7e]
802 ; CHECK: fcvtau d0, d0 ; encoding: [0x00,0xc8,0x61,0x7e]
804 fcvtl v1.4s, v5.4h
805 fcvtl v2.2d, v6.2s
806 fcvtl2 v3.4s, v7.8h
807 fcvtl2 v4.2d, v8.4s
809 ; CHECK: fcvtl v1.4s, v5.4h ; encoding: [0xa1,0x78,0x21,0x0e]
810 ; CHECK: fcvtl v2.2d, v6.2s ; encoding: [0xc2,0x78,0x61,0x0e]
811 ; CHECK: fcvtl2 v3.4s, v7.8h ; encoding: [0xe3,0x78,0x21,0x4e]
812 ; CHECK: fcvtl2 v4.2d, v8.4s ; encoding: [0x04,0x79,0x61,0x4e]
814 fcvtms.2s v0, v0
815 fcvtms.4s v0, v0
816 fcvtms.2d v0, v0
817 fcvtms s0, s0
818 fcvtms d0, d0
820 ; CHECK: fcvtms.2s v0, v0 ; encoding: [0x00,0xb8,0x21,0x0e]
821 ; CHECK: fcvtms.4s v0, v0 ; encoding: [0x00,0xb8,0x21,0x4e]
822 ; CHECK: fcvtms.2d v0, v0 ; encoding: [0x00,0xb8,0x61,0x4e]
823 ; CHECK: fcvtms s0, s0 ; encoding: [0x00,0xb8,0x21,0x5e]
824 ; CHECK: fcvtms d0, d0 ; encoding: [0x00,0xb8,0x61,0x5e]
826 fcvtmu.2s v0, v0
827 fcvtmu.4s v0, v0
828 fcvtmu.2d v0, v0
829 fcvtmu s0, s0
830 fcvtmu d0, d0
832 ; CHECK: fcvtmu.2s v0, v0 ; encoding: [0x00,0xb8,0x21,0x2e]
833 ; CHECK: fcvtmu.4s v0, v0 ; encoding: [0x00,0xb8,0x21,0x6e]
834 ; CHECK: fcvtmu.2d v0, v0 ; encoding: [0x00,0xb8,0x61,0x6e]
835 ; CHECK: fcvtmu s0, s0 ; encoding: [0x00,0xb8,0x21,0x7e]
836 ; CHECK: fcvtmu d0, d0 ; encoding: [0x00,0xb8,0x61,0x7e]
838 fcvtns.2s v0, v0
839 fcvtns.4s v0, v0
840 fcvtns.2d v0, v0
841 fcvtns s0, s0
842 fcvtns d0, d0
844 ; CHECK: fcvtns.2s v0, v0 ; encoding: [0x00,0xa8,0x21,0x0e]
845 ; CHECK: fcvtns.4s v0, v0 ; encoding: [0x00,0xa8,0x21,0x4e]
846 ; CHECK: fcvtns.2d v0, v0 ; encoding: [0x00,0xa8,0x61,0x4e]
847 ; CHECK: fcvtns s0, s0 ; encoding: [0x00,0xa8,0x21,0x5e]
848 ; CHECK: fcvtns d0, d0 ; encoding: [0x00,0xa8,0x61,0x5e]
850 fcvtnu.2s v0, v0
851 fcvtnu.4s v0, v0
852 fcvtnu.2d v0, v0
853 fcvtnu s0, s0
854 fcvtnu d0, d0
856 ; CHECK: fcvtnu.2s v0, v0 ; encoding: [0x00,0xa8,0x21,0x2e]
857 ; CHECK: fcvtnu.4s v0, v0 ; encoding: [0x00,0xa8,0x21,0x6e]
858 ; CHECK: fcvtnu.2d v0, v0 ; encoding: [0x00,0xa8,0x61,0x6e]
859 ; CHECK: fcvtnu s0, s0 ; encoding: [0x00,0xa8,0x21,0x7e]
860 ; CHECK: fcvtnu d0, d0 ; encoding: [0x00,0xa8,0x61,0x7e]
862 fcvtn v2.4h, v4.4s
863 fcvtn v3.2s, v5.2d
864 fcvtn2 v4.8h, v6.4s
865 fcvtn2 v5.4s, v7.2d
866 fcvtxn v6.2s, v9.2d
867 fcvtxn2 v7.4s, v8.2d
869 ; CHECK: fcvtn v2.4h, v4.4s ; encoding: [0x82,0x68,0x21,0x0e]
870 ; CHECK: fcvtn v3.2s, v5.2d ; encoding: [0xa3,0x68,0x61,0x0e]
871 ; CHECK: fcvtn2 v4.8h, v6.4s ; encoding: [0xc4,0x68,0x21,0x4e]
872 ; CHECK: fcvtn2 v5.4s, v7.2d ; encoding: [0xe5,0x68,0x61,0x4e]
873 ; CHECK: fcvtxn v6.2s, v9.2d ; encoding: [0x26,0x69,0x61,0x2e]
874 ; CHECK: fcvtxn2 v7.4s, v8.2d ; encoding: [0x07,0x69,0x61,0x6e]
876 fcvtps.2s v0, v0
877 fcvtps.4s v0, v0
878 fcvtps.2d v0, v0
879 fcvtps s0, s0
880 fcvtps d0, d0
882 ; CHECK: fcvtps.2s v0, v0 ; encoding: [0x00,0xa8,0xa1,0x0e]
883 ; CHECK: fcvtps.4s v0, v0 ; encoding: [0x00,0xa8,0xa1,0x4e]
884 ; CHECK: fcvtps.2d v0, v0 ; encoding: [0x00,0xa8,0xe1,0x4e]
885 ; CHECK: fcvtps s0, s0 ; encoding: [0x00,0xa8,0xa1,0x5e]
886 ; CHECK: fcvtps d0, d0 ; encoding: [0x00,0xa8,0xe1,0x5e]
888 fcvtpu.2s v0, v0
889 fcvtpu.4s v0, v0
890 fcvtpu.2d v0, v0
891 fcvtpu s0, s0
892 fcvtpu d0, d0
894 ; CHECK: fcvtpu.2s v0, v0 ; encoding: [0x00,0xa8,0xa1,0x2e]
895 ; CHECK: fcvtpu.4s v0, v0 ; encoding: [0x00,0xa8,0xa1,0x6e]
896 ; CHECK: fcvtpu.2d v0, v0 ; encoding: [0x00,0xa8,0xe1,0x6e]
897 ; CHECK: fcvtpu s0, s0 ; encoding: [0x00,0xa8,0xa1,0x7e]
898 ; CHECK: fcvtpu d0, d0 ; encoding: [0x00,0xa8,0xe1,0x7e]
900 fcvtzs.2s v0, v0
901 fcvtzs.4s v0, v0
902 fcvtzs.2d v0, v0
903 fcvtzs s0, s0
904 fcvtzs d0, d0
906 ; CHECK: fcvtzs.2s v0, v0 ; encoding: [0x00,0xb8,0xa1,0x0e]
907 ; CHECK: fcvtzs.4s v0, v0 ; encoding: [0x00,0xb8,0xa1,0x4e]
908 ; CHECK: fcvtzs.2d v0, v0 ; encoding: [0x00,0xb8,0xe1,0x4e]
909 ; CHECK: fcvtzs s0, s0 ; encoding: [0x00,0xb8,0xa1,0x5e]
910 ; CHECK: fcvtzs d0, d0 ; encoding: [0x00,0xb8,0xe1,0x5e]
912 fcvtzu.2s v0, v0
913 fcvtzu.4s v0, v0
914 fcvtzu.2d v0, v0
915 fcvtzu s0, s0
916 fcvtzu d0, d0
918 ; CHECK: fcvtzu.2s v0, v0 ; encoding: [0x00,0xb8,0xa1,0x2e]
919 ; CHECK: fcvtzu.4s v0, v0 ; encoding: [0x00,0xb8,0xa1,0x6e]
920 ; CHECK: fcvtzu.2d v0, v0 ; encoding: [0x00,0xb8,0xe1,0x6e]
921 ; CHECK: fcvtzu s0, s0 ; encoding: [0x00,0xb8,0xa1,0x7e]
922 ; CHECK: fcvtzu d0, d0 ; encoding: [0x00,0xb8,0xe1,0x7e]
924 ;===-------------------------------------------------------------------------===
925 ; AdvSIMD modified immediate instructions
926 ;===-------------------------------------------------------------------------===
928 bic.2s v0, #1
929 bic.2s v0, #1, lsl #0
930 bic.2s v0, #1, lsl #8
931 bic.2s v0, #1, lsl #16
932 bic.2s v0, #1, lsl #24
934 ; CHECK: bic.2s v0, #1 ; encoding: [0x20,0x14,0x00,0x2f]
935 ; CHECK: bic.2s v0, #1 ; encoding: [0x20,0x14,0x00,0x2f]
936 ; CHECK: bic.2s v0, #1, lsl #8 ; encoding: [0x20,0x34,0x00,0x2f]
937 ; CHECK: bic.2s v0, #1, lsl #16 ; encoding: [0x20,0x54,0x00,0x2f]
938 ; CHECK: bic.2s v0, #1, lsl #24 ; encoding: [0x20,0x74,0x00,0x2f]
940 bic.4h v0, #1
941 bic.4h v0, #1, lsl #0
942 bic.4h v0, #1, lsl #8
944 ; CHECK: bic.4h v0, #1 ; encoding: [0x20,0x94,0x00,0x2f]
945 ; CHECK: bic.4h v0, #1 ; encoding: [0x20,0x94,0x00,0x2f]
946 ; CHECK: bic.4h v0, #1, lsl #8 ; encoding: [0x20,0xb4,0x00,0x2f]
948 bic.4s v0, #1
949 bic.4s v0, #1, lsl #0
950 bic.4s v0, #1, lsl #8
951 bic.4s v0, #1, lsl #16
952 bic.4s v0, #1, lsl #24
954 ; CHECK: bic.4s v0, #1 ; encoding: [0x20,0x14,0x00,0x6f]
955 ; CHECK: bic.4s v0, #1 ; encoding: [0x20,0x14,0x00,0x6f]
956 ; CHECK: bic.4s v0, #1, lsl #8 ; encoding: [0x20,0x34,0x00,0x6f]
957 ; CHECK: bic.4s v0, #1, lsl #16 ; encoding: [0x20,0x54,0x00,0x6f]
958 ; CHECK: bic.4s v0, #1, lsl #24 ; encoding: [0x20,0x74,0x00,0x6f]
960 bic.8h v0, #1
961 bic.8h v0, #1, lsl #0
962 bic.8h v0, #1, lsl #8
964 ; CHECK: bic.8h v0, #1 ; encoding: [0x20,0x94,0x00,0x6f]
965 ; CHECK: bic.8h v0, #1 ; encoding: [0x20,0x94,0x00,0x6f]
966 ; CHECK: bic.8h v0, #1, lsl #8 ; encoding: [0x20,0xb4,0x00,0x6f]
968 fmov.2d v0, #1.250000e-01
970 ; CHECK: fmov.2d v0, #0.12500000 ; encoding: [0x00,0xf4,0x02,0x6f]
972 fmov.2s v0, #1.250000e-01
973 fmov.4s v0, #1.250000e-01
975 ; CHECK: fmov.2s v0, #0.12500000 ; encoding: [0x00,0xf4,0x02,0x0f]
976 ; CHECK: fmov.4s v0, #0.12500000 ; encoding: [0x00,0xf4,0x02,0x4f]
978 orr.2s v0, #1
979 orr.2s v0, #1, lsl #0
980 orr.2s v0, #1, lsl #8
981 orr.2s v0, #1, lsl #16
982 orr.2s v0, #1, lsl #24
984 ; CHECK: orr.2s v0, #1 ; encoding: [0x20,0x14,0x00,0x0f]
985 ; CHECK: orr.2s v0, #1 ; encoding: [0x20,0x14,0x00,0x0f]
986 ; CHECK: orr.2s v0, #1, lsl #8 ; encoding: [0x20,0x34,0x00,0x0f]
987 ; CHECK: orr.2s v0, #1, lsl #16 ; encoding: [0x20,0x54,0x00,0x0f]
988 ; CHECK: orr.2s v0, #1, lsl #24 ; encoding: [0x20,0x74,0x00,0x0f]
990 orr.4h v0, #1
991 orr.4h v0, #1, lsl #0
992 orr.4h v0, #1, lsl #8
994 ; CHECK: orr.4h v0, #1 ; encoding: [0x20,0x94,0x00,0x0f]
995 ; CHECK: orr.4h v0, #1 ; encoding: [0x20,0x94,0x00,0x0f]
996 ; CHECK: orr.4h v0, #1, lsl #8 ; encoding: [0x20,0xb4,0x00,0x0f]
998 orr.4s v0, #1
999 orr.4s v0, #1, lsl #0
1000 orr.4s v0, #1, lsl #8
1001 orr.4s v0, #1, lsl #16
1002 orr.4s v0, #1, lsl #24
1004 ; CHECK: orr.4s v0, #1 ; encoding: [0x20,0x14,0x00,0x4f]
1005 ; CHECK: orr.4s v0, #1 ; encoding: [0x20,0x14,0x00,0x4f]
1006 ; CHECK: orr.4s v0, #1, lsl #8 ; encoding: [0x20,0x34,0x00,0x4f]
1007 ; CHECK: orr.4s v0, #1, lsl #16 ; encoding: [0x20,0x54,0x00,0x4f]
1008 ; CHECK: orr.4s v0, #1, lsl #24 ; encoding: [0x20,0x74,0x00,0x4f]
1010 orr.8h v0, #1
1011 orr.8h v0, #1, lsl #0
1012 orr.8h v0, #1, lsl #8
1014 ; CHECK: orr.8h v0, #1 ; encoding: [0x20,0x94,0x00,0x4f]
1015 ; CHECK: orr.8h v0, #1 ; encoding: [0x20,0x94,0x00,0x4f]
1016 ; CHECK: orr.8h v0, #1, lsl #8 ; encoding: [0x20,0xb4,0x00,0x4f]
1018 movi d0, #0x000000000000ff
1019 movi.2d v0, #0x000000000000ff
1021 ; CHECK: movi d0, #0x000000000000ff ; encoding: [0x20,0xe4,0x00,0x2f]
1022 ; CHECK: movi.2d v0, #0x000000000000ff ; encoding: [0x20,0xe4,0x00,0x6f]
1024 movi.2s v0, #1
1025 movi.2s v0, #1, lsl #0
1026 movi.2s v0, #1, lsl #8
1027 movi.2s v0, #1, lsl #16
1028 movi.2s v0, #1, lsl #24
1030 ; CHECK: movi.2s v0, #1 ; encoding: [0x20,0x04,0x00,0x0f]
1031 ; CHECK: movi.2s v0, #1 ; encoding: [0x20,0x04,0x00,0x0f]
1032 ; CHECK: movi.2s v0, #1, lsl #8 ; encoding: [0x20,0x24,0x00,0x0f]
1033 ; CHECK: movi.2s v0, #1, lsl #16 ; encoding: [0x20,0x44,0x00,0x0f]
1034 ; CHECK: movi.2s v0, #1, lsl #24 ; encoding: [0x20,0x64,0x00,0x0f]
1036 movi.4s v0, #1
1037 movi.4s v0, #1, lsl #0
1038 movi.4s v0, #1, lsl #8
1039 movi.4s v0, #1, lsl #16
1040 movi.4s v0, #1, lsl #24
1042 ; CHECK: movi.4s v0, #1 ; encoding: [0x20,0x04,0x00,0x4f]
1043 ; CHECK: movi.4s v0, #1 ; encoding: [0x20,0x04,0x00,0x4f]
1044 ; CHECK: movi.4s v0, #1, lsl #8 ; encoding: [0x20,0x24,0x00,0x4f]
1045 ; CHECK: movi.4s v0, #1, lsl #16 ; encoding: [0x20,0x44,0x00,0x4f]
1046 ; CHECK: movi.4s v0, #1, lsl #24 ; encoding: [0x20,0x64,0x00,0x4f]
1048 movi.4h v0, #1
1049 movi.4h v0, #1, lsl #0
1050 movi.4h v0, #1, lsl #8
1052 ; CHECK: movi.4h v0, #1 ; encoding: [0x20,0x84,0x00,0x0f]
1053 ; CHECK: movi.4h v0, #1 ; encoding: [0x20,0x84,0x00,0x0f]
1054 ; CHECK: movi.4h v0, #1, lsl #8 ; encoding: [0x20,0xa4,0x00,0x0f]
1056 movi.8h v0, #1
1057 movi.8h v0, #1, lsl #0
1058 movi.8h v0, #1, lsl #8
1060 ; CHECK: movi.8h v0, #1 ; encoding: [0x20,0x84,0x00,0x4f]
1061 ; CHECK: movi.8h v0, #1 ; encoding: [0x20,0x84,0x00,0x4f]
1062 ; CHECK: movi.8h v0, #1, lsl #8 ; encoding: [0x20,0xa4,0x00,0x4f]
1064 movi.2s v0, #1, msl #8
1065 movi.2s v0, #1, msl #16
1066 movi.4s v0, #1, msl #8
1067 movi.4s v0, #1, msl #16
1069 ; CHECK: movi.2s v0, #1, msl #8 ; encoding: [0x20,0xc4,0x00,0x0f]
1070 ; CHECK: movi.2s v0, #1, msl #16 ; encoding: [0x20,0xd4,0x00,0x0f]
1071 ; CHECK: movi.4s v0, #1, msl #8 ; encoding: [0x20,0xc4,0x00,0x4f]
1072 ; CHECK: movi.4s v0, #1, msl #16 ; encoding: [0x20,0xd4,0x00,0x4f]
1074 movi.8b v0, #1
1075 movi.16b v0, #1
1077 ; CHECK: movi.8b v0, #1 ; encoding: [0x20,0xe4,0x00,0x0f]
1078 ; CHECK: movi.16b v0, #1 ; encoding: [0x20,0xe4,0x00,0x4f]
1080 mvni.2s v0, #1
1081 mvni.2s v0, #1, lsl #0
1082 mvni.2s v0, #1, lsl #8
1083 mvni.2s v0, #1, lsl #16
1084 mvni.2s v0, #1, lsl #24
1086 ; CHECK: mvni.2s v0, #1 ; encoding: [0x20,0x04,0x00,0x2f]
1087 ; CHECK: mvni.2s v0, #1 ; encoding: [0x20,0x04,0x00,0x2f]
1088 ; CHECK: mvni.2s v0, #1, lsl #8 ; encoding: [0x20,0x24,0x00,0x2f]
1089 ; CHECK: mvni.2s v0, #1, lsl #16 ; encoding: [0x20,0x44,0x00,0x2f]
1090 ; CHECK: mvni.2s v0, #1, lsl #24 ; encoding: [0x20,0x64,0x00,0x2f]
1092 mvni.4s v0, #1
1093 mvni.4s v0, #1, lsl #0
1094 mvni.4s v0, #1, lsl #8
1095 mvni.4s v0, #1, lsl #16
1096 mvni.4s v0, #1, lsl #24
1098 ; CHECK: mvni.4s v0, #1 ; encoding: [0x20,0x04,0x00,0x6f]
1099 ; CHECK: mvni.4s v0, #1 ; encoding: [0x20,0x04,0x00,0x6f]
1100 ; CHECK: mvni.4s v0, #1, lsl #8 ; encoding: [0x20,0x24,0x00,0x6f]
1101 ; CHECK: mvni.4s v0, #1, lsl #16 ; encoding: [0x20,0x44,0x00,0x6f]
1102 ; CHECK: mvni.4s v0, #1, lsl #24 ; encoding: [0x20,0x64,0x00,0x6f]
1104 mvni.4h v0, #1
1105 mvni.4h v0, #1, lsl #0
1106 mvni.4h v0, #1, lsl #8
1108 ; CHECK: mvni.4h v0, #1 ; encoding: [0x20,0x84,0x00,0x2f]
1109 ; CHECK: mvni.4h v0, #1 ; encoding: [0x20,0x84,0x00,0x2f]
1110 ; CHECK: mvni.4h v0, #1, lsl #8 ; encoding: [0x20,0xa4,0x00,0x2f]
1112 mvni.8h v0, #1
1113 mvni.8h v0, #1, lsl #0
1114 mvni.8h v0, #1, lsl #8
1116 ; CHECK: mvni.8h v0, #1 ; encoding: [0x20,0x84,0x00,0x6f]
1117 ; CHECK: mvni.8h v0, #1 ; encoding: [0x20,0x84,0x00,0x6f]
1118 ; CHECK: mvni.8h v0, #1, lsl #8 ; encoding: [0x20,0xa4,0x00,0x6f]
1120 mvni.2s v0, #1, msl #8
1121 mvni.2s v0, #1, msl #16
1122 mvni.4s v0, #1, msl #8
1123 mvni.4s v0, #1, msl #16
1125 ; CHECK: mvni.2s v0, #1, msl #8 ; encoding: [0x20,0xc4,0x00,0x2f]
1126 ; CHECK: mvni.2s v0, #1, msl #16 ; encoding: [0x20,0xd4,0x00,0x2f]
1127 ; CHECK: mvni.4s v0, #1, msl #8 ; encoding: [0x20,0xc4,0x00,0x6f]
1128 ; CHECK: mvni.4s v0, #1, msl #16 ; encoding: [0x20,0xd4,0x00,0x6f]
1130 ;===-------------------------------------------------------------------------===
1131 ; AdvSIMD scalar x index
1132 ;===-------------------------------------------------------------------------===
1134 fmla.s s0, s0, v0[3]
1135 fmla.d d0, d0, v0[1]
1136 fmls.s s0, s0, v0[3]
1137 fmls.d d0, d0, v0[1]
1138 fmulx.s s0, s0, v0[3]
1139 fmulx.d d0, d0, v0[1]
1140 fmul.s s0, s0, v0[3]
1141 fmul.d d0, d0, v0[1]
1142 sqdmlal.h s0, h0, v0[7]
1143 sqdmlal.s d0, s0, v0[3]
1144 sqdmlsl.h s0, h0, v0[7]
1145 sqdmulh.h h0, h0, v0[7]
1146 sqdmulh.s s0, s0, v0[3]
1147 sqdmull.h s0, h0, v0[7]
1148 sqdmull.s d0, s0, v0[3]
1149 sqrdmulh.h h0, h0, v0[7]
1150 sqrdmulh.s s0, s0, v0[3]
1152 ; CHECK: fmla.s s0, s0, v0[3] ; encoding: [0x00,0x18,0xa0,0x5f]
1153 ; CHECK: fmla.d d0, d0, v0[1] ; encoding: [0x00,0x18,0xc0,0x5f]
1154 ; CHECK: fmls.s s0, s0, v0[3] ; encoding: [0x00,0x58,0xa0,0x5f]
1155 ; CHECK: fmls.d d0, d0, v0[1] ; encoding: [0x00,0x58,0xc0,0x5f]
1156 ; CHECK: fmulx.s s0, s0, v0[3] ; encoding: [0x00,0x98,0xa0,0x7f]
1157 ; CHECK: fmulx.d d0, d0, v0[1] ; encoding: [0x00,0x98,0xc0,0x7f]
1158 ; CHECK: fmul.s s0, s0, v0[3] ; encoding: [0x00,0x98,0xa0,0x5f]
1159 ; CHECK: fmul.d d0, d0, v0[1] ; encoding: [0x00,0x98,0xc0,0x5f]
1160 ; CHECK: sqdmlal.h s0, h0, v0[7] ; encoding: [0x00,0x38,0x70,0x5f]
1161 ; CHECK: sqdmlal.s d0, s0, v0[3] ; encoding: [0x00,0x38,0xa0,0x5f]
1162 ; CHECK: sqdmlsl.h s0, h0, v0[7] ; encoding: [0x00,0x78,0x70,0x5f]
1163 ; CHECK: sqdmulh.h h0, h0, v0[7] ; encoding: [0x00,0xc8,0x70,0x5f]
1164 ; CHECK: sqdmulh.s s0, s0, v0[3] ; encoding: [0x00,0xc8,0xa0,0x5f]
1165 ; CHECK: sqdmull.h s0, h0, v0[7] ; encoding: [0x00,0xb8,0x70,0x5f]
1166 ; CHECK: sqdmull.s d0, s0, v0[3] ; encoding: [0x00,0xb8,0xa0,0x5f]
1167 ; CHECK: sqrdmulh.h h0, h0, v0[7] ; encoding: [0x00,0xd8,0x70,0x5f]
1168 ; CHECK: sqrdmulh.s s0, s0, v0[3] ; encoding: [0x00,0xd8,0xa0,0x5f]
1170 ;===-------------------------------------------------------------------------===
1171 ; AdvSIMD SMLAL
1172 ;===-------------------------------------------------------------------------===
1173 smlal.8h v1, v2, v3
1174 smlal.4s v1, v2, v3
1175 smlal.2d v1, v2, v3
1176 smlal2.8h v1, v2, v3
1177 smlal2.4s v1, v2, v3
1178 smlal2.2d v1, v2, v3
1180 smlal v13.8h, v8.8b, v0.8b
1181 smlal v13.4s, v8.4h, v0.4h
1182 smlal v13.2d, v8.2s, v0.2s
1183 smlal2 v13.8h, v8.16b, v0.16b
1184 smlal2 v13.4s, v8.8h, v0.8h
1185 smlal2 v13.2d, v8.4s, v0.4s
1187 ; CHECK: smlal.8h v1, v2, v3 ; encoding: [0x41,0x80,0x23,0x0e]
1188 ; CHECK: smlal.4s v1, v2, v3 ; encoding: [0x41,0x80,0x63,0x0e]
1189 ; CHECK: smlal.2d v1, v2, v3 ; encoding: [0x41,0x80,0xa3,0x0e]
1190 ; CHECK: smlal2.8h v1, v2, v3 ; encoding: [0x41,0x80,0x23,0x4e]
1191 ; CHECK: smlal2.4s v1, v2, v3 ; encoding: [0x41,0x80,0x63,0x4e]
1192 ; CHECK: smlal2.2d v1, v2, v3 ; encoding: [0x41,0x80,0xa3,0x4e]
1193 ; CHECK: smlal.8h v13, v8, v0 ; encoding: [0x0d,0x81,0x20,0x0e]
1194 ; CHECK: smlal.4s v13, v8, v0 ; encoding: [0x0d,0x81,0x60,0x0e]
1195 ; CHECK: smlal.2d v13, v8, v0 ; encoding: [0x0d,0x81,0xa0,0x0e]
1196 ; CHECK: smlal2.8h v13, v8, v0 ; encoding: [0x0d,0x81,0x20,0x4e]
1197 ; CHECK: smlal2.4s v13, v8, v0 ; encoding: [0x0d,0x81,0x60,0x4e]
1198 ; CHECK: smlal2.2d v13, v8, v0 ; encoding: [0x0d,0x81,0xa0,0x4e]
1201 ;===-------------------------------------------------------------------------===
1202 ; AdvSIMD scalar x index
1203 ;===-------------------------------------------------------------------------===
1205 fmla.2s v0, v0, v0[0]
1206 fmla.4s v0, v0, v0[1]
1207 fmla.2d v0, v0, v0[1]
1208 fmls.2s v0, v0, v0[0]
1209 fmls.4s v0, v0, v0[1]
1210 fmls.2d v0, v0, v0[1]
1211 fmulx.2s v0, v0, v0[0]
1212 fmulx.4s v0, v0, v0[1]
1213 fmulx.2d v0, v0, v0[1]
1214 fmul.2s v0, v0, v0[0]
1215 fmul.4s v0, v0, v0[1]
1216 fmul.2d v0, v0, v0[1]
1217 mla.4h v0, v0, v0[0]
1218 mla.8h v0, v0, v0[1]
1219 mla.2s v0, v0, v0[2]
1220 mla.4s v0, v0, v0[3]
1221 mls.4h v0, v0, v0[0]
1222 mls.8h v0, v0, v0[1]
1223 mls.2s v0, v0, v0[2]
1224 mls.4s v0, v0, v0[3]
1225 mul.4h v0, v0, v0[0]
1226 mul.8h v0, v0, v0[1]
1227 mul.2s v0, v0, v0[2]
1228 mul.4s v0, v0, v0[3]
1229 smlal.4s v0, v0, v0[0]
1230 smlal2.4s v0, v0, v0[1]
1231 smlal.2d v0, v0, v0[2]
1232 smlal2.2d v0, v0, v0[3]
1233 smlsl.4s v0, v0, v0[0]
1234 smlsl2.4s v0, v0, v0[1]
1235 smlsl.2d v0, v0, v0[2]
1236 smlsl2.2d v0, v0, v0[3]
1237 smull.4s v0, v0, v0[0]
1238 smull2.4s v0, v0, v0[1]
1239 smull.2d v0, v0, v0[2]
1240 smull2.2d v0, v0, v0[3]
1241 sqdmlal.4s v0, v0, v0[0]
1242 sqdmlal2.4s v0, v0, v0[1]
1243 sqdmlal.2d v0, v0, v0[2]
1244 sqdmlal2.2d v0, v0, v0[3]
1245 sqdmlsl.4s v0, v0, v0[0]
1246 sqdmlsl2.4s v0, v0, v0[1]
1247 sqdmlsl.2d v0, v0, v0[2]
1248 sqdmlsl2.2d v0, v0, v0[3]
1249 sqdmulh.4h v0, v0, v0[0]
1250 sqdmulh.8h v0, v0, v0[1]
1251 sqdmulh.2s v0, v0, v0[2]
1252 sqdmulh.4s v0, v0, v0[3]
1253 sqdmull.4s v0, v0, v0[0]
1254 sqdmull2.4s v0, v0, v0[1]
1255 sqdmull.2d v0, v0, v0[2]
1256 sqdmull2.2d v0, v0, v0[3]
1257 sqrdmulh.4h v0, v0, v0[0]
1258 sqrdmulh.8h v0, v0, v0[1]
1259 sqrdmulh.2s v0, v0, v0[2]
1260 sqrdmulh.4s v0, v0, v0[3]
1261 umlal.4s v0, v0, v0[0]
1262 umlal2.4s v0, v0, v0[1]
1263 umlal.2d v0, v0, v0[2]
1264 umlal2.2d v0, v0, v0[3]
1265 umlsl.4s v0, v0, v0[0]
1266 umlsl2.4s v0, v0, v0[1]
1267 umlsl.2d v0, v0, v0[2]
1268 umlsl2.2d v0, v0, v0[3]
1269 umull.4s v0, v0, v0[0]
1270 umull2.4s v0, v0, v0[1]
1271 umull.2d v0, v0, v0[2]
1272 umull2.2d v0, v0, v0[3]
1274 ; CHECK: fmla.2s v0, v0, v0[0] ; encoding: [0x00,0x10,0x80,0x0f]
1275 ; CHECK: fmla.4s v0, v0, v0[1] ; encoding: [0x00,0x10,0xa0,0x4f]
1276 ; CHECK: fmla.2d v0, v0, v0[1] ; encoding: [0x00,0x18,0xc0,0x4f]
1277 ; CHECK: fmls.2s v0, v0, v0[0] ; encoding: [0x00,0x50,0x80,0x0f]
1278 ; CHECK: fmls.4s v0, v0, v0[1] ; encoding: [0x00,0x50,0xa0,0x4f]
1279 ; CHECK: fmls.2d v0, v0, v0[1] ; encoding: [0x00,0x58,0xc0,0x4f]
1280 ; CHECK: fmulx.2s v0, v0, v0[0] ; encoding: [0x00,0x90,0x80,0x2f]
1281 ; CHECK: fmulx.4s v0, v0, v0[1] ; encoding: [0x00,0x90,0xa0,0x6f]
1282 ; CHECK: fmulx.2d v0, v0, v0[1] ; encoding: [0x00,0x98,0xc0,0x6f]
1283 ; CHECK: fmul.2s v0, v0, v0[0] ; encoding: [0x00,0x90,0x80,0x0f]
1284 ; CHECK: fmul.4s v0, v0, v0[1] ; encoding: [0x00,0x90,0xa0,0x4f]
1285 ; CHECK: fmul.2d v0, v0, v0[1] ; encoding: [0x00,0x98,0xc0,0x4f]
1286 ; CHECK: mla.4h v0, v0, v0[0] ; encoding: [0x00,0x00,0x40,0x2f]
1287 ; CHECK: mla.8h v0, v0, v0[1] ; encoding: [0x00,0x00,0x50,0x6f]
1288 ; CHECK: mla.2s v0, v0, v0[2] ; encoding: [0x00,0x08,0x80,0x2f]
1289 ; CHECK: mla.4s v0, v0, v0[3] ; encoding: [0x00,0x08,0xa0,0x6f]
1290 ; CHECK: mls.4h v0, v0, v0[0] ; encoding: [0x00,0x40,0x40,0x2f]
1291 ; CHECK: mls.8h v0, v0, v0[1] ; encoding: [0x00,0x40,0x50,0x6f]
1292 ; CHECK: mls.2s v0, v0, v0[2] ; encoding: [0x00,0x48,0x80,0x2f]
1293 ; CHECK: mls.4s v0, v0, v0[3] ; encoding: [0x00,0x48,0xa0,0x6f]
1294 ; CHECK: mul.4h v0, v0, v0[0] ; encoding: [0x00,0x80,0x40,0x0f]
1295 ; CHECK: mul.8h v0, v0, v0[1] ; encoding: [0x00,0x80,0x50,0x4f]
1296 ; CHECK: mul.2s v0, v0, v0[2] ; encoding: [0x00,0x88,0x80,0x0f]
1297 ; CHECK: mul.4s v0, v0, v0[3] ; encoding: [0x00,0x88,0xa0,0x4f]
1298 ; CHECK: smlal.4s v0, v0, v0[0] ; encoding: [0x00,0x20,0x40,0x0f]
1299 ; CHECK: smlal2.4s v0, v0, v0[1] ; encoding: [0x00,0x20,0x50,0x4f]
1300 ; CHECK: smlal.2d v0, v0, v0[2] ; encoding: [0x00,0x28,0x80,0x0f]
1301 ; CHECK: smlal2.2d v0, v0, v0[3] ; encoding: [0x00,0x28,0xa0,0x4f]
1302 ; CHECK: smlsl.4s v0, v0, v0[0] ; encoding: [0x00,0x60,0x40,0x0f]
1303 ; CHECK: smlsl2.4s v0, v0, v0[1] ; encoding: [0x00,0x60,0x50,0x4f]
1304 ; CHECK: smlsl.2d v0, v0, v0[2] ; encoding: [0x00,0x68,0x80,0x0f]
1305 ; CHECK: smlsl2.2d v0, v0, v0[3] ; encoding: [0x00,0x68,0xa0,0x4f]
1306 ; CHECK: smull.4s v0, v0, v0[0] ; encoding: [0x00,0xa0,0x40,0x0f]
1307 ; CHECK: smull2.4s v0, v0, v0[1] ; encoding: [0x00,0xa0,0x50,0x4f]
1308 ; CHECK: smull.2d v0, v0, v0[2] ; encoding: [0x00,0xa8,0x80,0x0f]
1309 ; CHECK: smull2.2d v0, v0, v0[3] ; encoding: [0x00,0xa8,0xa0,0x4f]
1310 ; CHECK: sqdmlal.4s v0, v0, v0[0] ; encoding: [0x00,0x30,0x40,0x0f]
1311 ; CHECK: sqdmlal2.4s v0, v0, v0[1] ; encoding: [0x00,0x30,0x50,0x4f]
1312 ; CHECK: sqdmlal.2d v0, v0, v0[2] ; encoding: [0x00,0x38,0x80,0x0f]
1313 ; CHECK: sqdmlal2.2d v0, v0, v0[3] ; encoding: [0x00,0x38,0xa0,0x4f]
1314 ; CHECK: sqdmlsl.4s v0, v0, v0[0] ; encoding: [0x00,0x70,0x40,0x0f]
1315 ; CHECK: sqdmlsl2.4s v0, v0, v0[1] ; encoding: [0x00,0x70,0x50,0x4f]
1316 ; CHECK: sqdmlsl.2d v0, v0, v0[2] ; encoding: [0x00,0x78,0x80,0x0f]
1317 ; CHECK: sqdmlsl2.2d v0, v0, v0[3] ; encoding: [0x00,0x78,0xa0,0x4f]
1318 ; CHECK: sqdmulh.4h v0, v0, v0[0] ; encoding: [0x00,0xc0,0x40,0x0f]
1319 ; CHECK: sqdmulh.8h v0, v0, v0[1] ; encoding: [0x00,0xc0,0x50,0x4f]
1320 ; CHECK: sqdmulh.2s v0, v0, v0[2] ; encoding: [0x00,0xc8,0x80,0x0f]
1321 ; CHECK: sqdmulh.4s v0, v0, v0[3] ; encoding: [0x00,0xc8,0xa0,0x4f]
1322 ; CHECK: sqdmull.4s v0, v0, v0[0] ; encoding: [0x00,0xb0,0x40,0x0f]
1323 ; CHECK: sqdmull2.4s v0, v0, v0[1] ; encoding: [0x00,0xb0,0x50,0x4f]
1324 ; CHECK: sqdmull.2d v0, v0, v0[2] ; encoding: [0x00,0xb8,0x80,0x0f]
1325 ; CHECK: sqdmull2.2d v0, v0, v0[3] ; encoding: [0x00,0xb8,0xa0,0x4f]
1326 ; CHECK: sqrdmulh.4h v0, v0, v0[0] ; encoding: [0x00,0xd0,0x40,0x0f]
1327 ; CHECK: sqrdmulh.8h v0, v0, v0[1] ; encoding: [0x00,0xd0,0x50,0x4f]
1328 ; CHECK: sqrdmulh.2s v0, v0, v0[2] ; encoding: [0x00,0xd8,0x80,0x0f]
1329 ; CHECK: sqrdmulh.4s v0, v0, v0[3] ; encoding: [0x00,0xd8,0xa0,0x4f]
1330 ; CHECK: umlal.4s v0, v0, v0[0] ; encoding: [0x00,0x20,0x40,0x2f]
1331 ; CHECK: umlal2.4s v0, v0, v0[1] ; encoding: [0x00,0x20,0x50,0x6f]
1332 ; CHECK: umlal.2d v0, v0, v0[2] ; encoding: [0x00,0x28,0x80,0x2f]
1333 ; CHECK: umlal2.2d v0, v0, v0[3] ; encoding: [0x00,0x28,0xa0,0x6f]
1334 ; CHECK: umlsl.4s v0, v0, v0[0] ; encoding: [0x00,0x60,0x40,0x2f]
1335 ; CHECK: umlsl2.4s v0, v0, v0[1] ; encoding: [0x00,0x60,0x50,0x6f]
1336 ; CHECK: umlsl.2d v0, v0, v0[2] ; encoding: [0x00,0x68,0x80,0x2f]
1337 ; CHECK: umlsl2.2d v0, v0, v0[3] ; encoding: [0x00,0x68,0xa0,0x6f]
1338 ; CHECK: umull.4s v0, v0, v0[0] ; encoding: [0x00,0xa0,0x40,0x2f]
1339 ; CHECK: umull2.4s v0, v0, v0[1] ; encoding: [0x00,0xa0,0x50,0x6f]
1340 ; CHECK: umull.2d v0, v0, v0[2] ; encoding: [0x00,0xa8,0x80,0x2f]
1341 ; CHECK: umull2.2d v0, v0, v0[3] ; encoding: [0x00,0xa8,0xa0,0x6f]
1344 ;===-------------------------------------------------------------------------===
1345 ; AdvSIMD scalar with shift
1346 ;===-------------------------------------------------------------------------===
1348 fcvtzs s0, s0, #1
1349 fcvtzs d0, d0, #2
1350 fcvtzu s0, s0, #1
1351 fcvtzu d0, d0, #2
1352 shl d0, d0, #1
1353 sli d0, d0, #1
1354 sqrshrn b0, h0, #1
1355 sqrshrn h0, s0, #2
1356 sqrshrn s0, d0, #3
1357 sqrshrun b0, h0, #1
1358 sqrshrun h0, s0, #2
1359 sqrshrun s0, d0, #3
1360 sqshlu b0, b0, #1
1361 sqshlu h0, h0, #2
1362 sqshlu s0, s0, #3
1363 sqshlu d0, d0, #4
1364 sqshl b0, b0, #1
1365 sqshl h0, h0, #2
1366 sqshl s0, s0, #3
1367 sqshl d0, d0, #4
1368 sqshrn b0, h0, #1
1369 sqshrn h0, s0, #2
1370 sqshrn s0, d0, #3
1371 sqshrun b0, h0, #1
1372 sqshrun h0, s0, #2
1373 sqshrun s0, d0, #3
1374 sri d0, d0, #1
1375 srshr d0, d0, #1
1376 srsra d0, d0, #1
1377 sshr d0, d0, #1
1378 ucvtf s0, s0, #1
1379 ucvtf d0, d0, #2
1380 scvtf s0, s0, #1
1381 scvtf d0, d0, #2
1382 uqrshrn b0, h0, #1
1383 uqrshrn h0, s0, #2
1384 uqrshrn s0, d0, #3
1385 uqshl b0, b0, #1
1386 uqshl h0, h0, #2
1387 uqshl s0, s0, #3
1388 uqshl d0, d0, #4
1389 uqshrn b0, h0, #1
1390 uqshrn h0, s0, #2
1391 uqshrn s0, d0, #3
1392 urshr d0, d0, #1
1393 ursra d0, d0, #1
1394 ushr d0, d0, #1
1395 usra d0, d0, #1
1397 ; CHECK: fcvtzs s0, s0, #1 ; encoding: [0x00,0xfc,0x3f,0x5f]
1398 ; CHECK: fcvtzs d0, d0, #2 ; encoding: [0x00,0xfc,0x7e,0x5f]
1399 ; CHECK: fcvtzu s0, s0, #1 ; encoding: [0x00,0xfc,0x3f,0x7f]
1400 ; CHECK: fcvtzu d0, d0, #2 ; encoding: [0x00,0xfc,0x7e,0x7f]
1401 ; CHECK: shl d0, d0, #1 ; encoding: [0x00,0x54,0x41,0x5f]
1402 ; CHECK: sli d0, d0, #1 ; encoding: [0x00,0x54,0x41,0x7f]
1403 ; CHECK: sqrshrn b0, h0, #1 ; encoding: [0x00,0x9c,0x0f,0x5f]
1404 ; CHECK: sqrshrn h0, s0, #2 ; encoding: [0x00,0x9c,0x1e,0x5f]
1405 ; CHECK: sqrshrn s0, d0, #3 ; encoding: [0x00,0x9c,0x3d,0x5f]
1406 ; CHECK: sqrshrun b0, h0, #1 ; encoding: [0x00,0x8c,0x0f,0x7f]
1407 ; CHECK: sqrshrun h0, s0, #2 ; encoding: [0x00,0x8c,0x1e,0x7f]
1408 ; CHECK: sqrshrun s0, d0, #3 ; encoding: [0x00,0x8c,0x3d,0x7f]
1409 ; CHECK: sqshlu b0, b0, #1 ; encoding: [0x00,0x64,0x09,0x7f]
1410 ; CHECK: sqshlu h0, h0, #2 ; encoding: [0x00,0x64,0x12,0x7f]
1411 ; CHECK: sqshlu s0, s0, #3 ; encoding: [0x00,0x64,0x23,0x7f]
1412 ; CHECK: sqshlu d0, d0, #4 ; encoding: [0x00,0x64,0x44,0x7f]
1413 ; CHECK: sqshl b0, b0, #1 ; encoding: [0x00,0x74,0x09,0x5f]
1414 ; CHECK: sqshl h0, h0, #2 ; encoding: [0x00,0x74,0x12,0x5f]
1415 ; CHECK: sqshl s0, s0, #3 ; encoding: [0x00,0x74,0x23,0x5f]
1416 ; CHECK: sqshl d0, d0, #4 ; encoding: [0x00,0x74,0x44,0x5f]
1417 ; CHECK: sqshrn b0, h0, #1 ; encoding: [0x00,0x94,0x0f,0x5f]
1418 ; CHECK: sqshrn h0, s0, #2 ; encoding: [0x00,0x94,0x1e,0x5f]
1419 ; CHECK: sqshrn s0, d0, #3 ; encoding: [0x00,0x94,0x3d,0x5f]
1420 ; CHECK: sqshrun b0, h0, #1 ; encoding: [0x00,0x84,0x0f,0x7f]
1421 ; CHECK: sqshrun h0, s0, #2 ; encoding: [0x00,0x84,0x1e,0x7f]
1422 ; CHECK: sqshrun s0, d0, #3 ; encoding: [0x00,0x84,0x3d,0x7f]
1423 ; CHECK: sri d0, d0, #1 ; encoding: [0x00,0x44,0x7f,0x7f]
1424 ; CHECK: srshr d0, d0, #1 ; encoding: [0x00,0x24,0x7f,0x5f]
1425 ; CHECK: srsra d0, d0, #1 ; encoding: [0x00,0x34,0x7f,0x5f]
1426 ; CHECK: sshr d0, d0, #1 ; encoding: [0x00,0x04,0x7f,0x5f]
1427 ; CHECK: ucvtf s0, s0, #1 ; encoding: [0x00,0xe4,0x3f,0x7f]
1428 ; CHECK: ucvtf d0, d0, #2 ; encoding: [0x00,0xe4,0x7e,0x7f]
1429 ; check: scvtf s0, s0, #1 ; encoding: [0x00,0xe4,0x3f,0x5f]
1430 ; check: scvtf d0, d0, #2 ; encoding: [0x00,0xe4,0x7e,0x5f]
1431 ; CHECK: uqrshrn b0, h0, #1 ; encoding: [0x00,0x9c,0x0f,0x7f]
1432 ; CHECK: uqrshrn h0, s0, #2 ; encoding: [0x00,0x9c,0x1e,0x7f]
1433 ; CHECK: uqrshrn s0, d0, #3 ; encoding: [0x00,0x9c,0x3d,0x7f]
1434 ; CHECK: uqshl b0, b0, #1 ; encoding: [0x00,0x74,0x09,0x7f]
1435 ; CHECK: uqshl h0, h0, #2 ; encoding: [0x00,0x74,0x12,0x7f]
1436 ; CHECK: uqshl s0, s0, #3 ; encoding: [0x00,0x74,0x23,0x7f]
1437 ; CHECK: uqshl d0, d0, #4 ; encoding: [0x00,0x74,0x44,0x7f]
1438 ; CHECK: uqshrn b0, h0, #1 ; encoding: [0x00,0x94,0x0f,0x7f]
1439 ; CHECK: uqshrn h0, s0, #2 ; encoding: [0x00,0x94,0x1e,0x7f]
1440 ; CHECK: uqshrn s0, d0, #3 ; encoding: [0x00,0x94,0x3d,0x7f]
1441 ; CHECK: urshr d0, d0, #1 ; encoding: [0x00,0x24,0x7f,0x7f]
1442 ; CHECK: ursra d0, d0, #1 ; encoding: [0x00,0x34,0x7f,0x7f]
1443 ; CHECK: ushr d0, d0, #1 ; encoding: [0x00,0x04,0x7f,0x7f]
1444 ; CHECK: usra d0, d0, #1 ; encoding: [0x00,0x14,0x7f,0x7f]
1447 ;===-------------------------------------------------------------------------===
1448 ; AdvSIMD vector with shift
1449 ;===-------------------------------------------------------------------------===
1451 fcvtzs.2s v0, v0, #1
1452 fcvtzs.4s v0, v0, #2
1453 fcvtzs.2d v0, v0, #3
1454 fcvtzu.2s v0, v0, #1
1455 fcvtzu.4s v0, v0, #2
1456 fcvtzu.2d v0, v0, #3
1457 rshrn.8b v0, v0, #1
1458 rshrn2.16b v0, v0, #2
1459 rshrn.4h v0, v0, #3
1460 rshrn2.8h v0, v0, #4
1461 rshrn.2s v0, v0, #5
1462 rshrn2.4s v0, v0, #6
1463 scvtf.2s v0, v0, #1
1464 scvtf.4s v0, v0, #2
1465 scvtf.2d v0, v0, #3
1466 shl.8b v0, v0, #1
1467 shl.16b v0, v0, #2
1468 shl.4h v0, v0, #3
1469 shl.8h v0, v0, #4
1470 shl.2s v0, v0, #5
1471 shl.4s v0, v0, #6
1472 shl.2d v0, v0, #7
1473 shrn.8b v0, v0, #1
1474 shrn2.16b v0, v0, #2
1475 shrn.4h v0, v0, #3
1476 shrn2.8h v0, v0, #4
1477 shrn.2s v0, v0, #5
1478 shrn2.4s v0, v0, #6
1479 sli.8b v0, v0, #1
1480 sli.16b v0, v0, #2
1481 sli.4h v0, v0, #3
1482 sli.8h v0, v0, #4
1483 sli.2s v0, v0, #5
1484 sli.4s v0, v0, #6
1485 sli.2d v0, v0, #7
1486 sqrshrn.8b v0, v0, #1
1487 sqrshrn2.16b v0, v0, #2
1488 sqrshrn.4h v0, v0, #3
1489 sqrshrn2.8h v0, v0, #4
1490 sqrshrn.2s v0, v0, #5
1491 sqrshrn2.4s v0, v0, #6
1492 sqrshrun.8b v0, v0, #1
1493 sqrshrun2.16b v0, v0, #2
1494 sqrshrun.4h v0, v0, #3
1495 sqrshrun2.8h v0, v0, #4
1496 sqrshrun.2s v0, v0, #5
1497 sqrshrun2.4s v0, v0, #6
1498 sqshlu.8b v0, v0, #1
1499 sqshlu.16b v0, v0, #2
1500 sqshlu.4h v0, v0, #3
1501 sqshlu.8h v0, v0, #4
1502 sqshlu.2s v0, v0, #5
1503 sqshlu.4s v0, v0, #6
1504 sqshlu.2d v0, v0, #7
1505 sqshl.8b v0, v0, #1
1506 sqshl.16b v0, v0, #2
1507 sqshl.4h v0, v0, #3
1508 sqshl.8h v0, v0, #4
1509 sqshl.2s v0, v0, #5
1510 sqshl.4s v0, v0, #6
1511 sqshl.2d v0, v0, #7
1512 sqshrn.8b v0, v0, #1
1513 sqshrn2.16b v0, v0, #2
1514 sqshrn.4h v0, v0, #3
1515 sqshrn2.8h v0, v0, #4
1516 sqshrn.2s v0, v0, #5
1517 sqshrn2.4s v0, v0, #6
1518 sqshrun.8b v0, v0, #1
1519 sqshrun2.16b v0, v0, #2
1520 sqshrun.4h v0, v0, #3
1521 sqshrun2.8h v0, v0, #4
1522 sqshrun.2s v0, v0, #5
1523 sqshrun2.4s v0, v0, #6
1524 sri.8b v0, v0, #1
1525 sri.16b v0, v0, #2
1526 sri.4h v0, v0, #3
1527 sri.8h v0, v0, #4
1528 sri.2s v0, v0, #5
1529 sri.4s v0, v0, #6
1530 sri.2d v0, v0, #7
1531 srshr.8b v0, v0, #1
1532 srshr.16b v0, v0, #2
1533 srshr.4h v0, v0, #3
1534 srshr.8h v0, v0, #4
1535 srshr.2s v0, v0, #5
1536 srshr.4s v0, v0, #6
1537 srshr.2d v0, v0, #7
1538 srsra.8b v0, v0, #1
1539 srsra.16b v0, v0, #2
1540 srsra.4h v0, v0, #3
1541 srsra.8h v0, v0, #4
1542 srsra.2s v0, v0, #5
1543 srsra.4s v0, v0, #6
1544 srsra.2d v0, v0, #7
1545 sshll.8h v0, v0, #1
1546 sshll2.8h v0, v0, #2
1547 sshll.4s v0, v0, #3
1548 sshll2.4s v0, v0, #4
1549 sshll.2d v0, v0, #5
1550 sshll2.2d v0, v0, #6
1551 sshr.8b v0, v0, #1
1552 sshr.16b v0, v0, #2
1553 sshr.4h v0, v0, #3
1554 sshr.8h v0, v0, #4
1555 sshr.2s v0, v0, #5
1556 sshr.4s v0, v0, #6
1557 sshr.2d v0, v0, #7
1558 sshr.8b v0, v0, #1
1559 ssra.16b v0, v0, #2
1560 ssra.4h v0, v0, #3
1561 ssra.8h v0, v0, #4
1562 ssra.2s v0, v0, #5
1563 ssra.4s v0, v0, #6
1564 ssra.2d v0, v0, #7
1565 ssra d0, d0, #64
1566 ucvtf.2s v0, v0, #1
1567 ucvtf.4s v0, v0, #2
1568 ucvtf.2d v0, v0, #3
1569 uqrshrn.8b v0, v0, #1
1570 uqrshrn2.16b v0, v0, #2
1571 uqrshrn.4h v0, v0, #3
1572 uqrshrn2.8h v0, v0, #4
1573 uqrshrn.2s v0, v0, #5
1574 uqrshrn2.4s v0, v0, #6
1575 uqshl.8b v0, v0, #1
1576 uqshl.16b v0, v0, #2
1577 uqshl.4h v0, v0, #3
1578 uqshl.8h v0, v0, #4
1579 uqshl.2s v0, v0, #5
1580 uqshl.4s v0, v0, #6
1581 uqshl.2d v0, v0, #7
1582 uqshrn.8b v0, v0, #1
1583 uqshrn2.16b v0, v0, #2
1584 uqshrn.4h v0, v0, #3
1585 uqshrn2.8h v0, v0, #4
1586 uqshrn.2s v0, v0, #5
1587 uqshrn2.4s v0, v0, #6
1588 urshr.8b v0, v0, #1
1589 urshr.16b v0, v0, #2
1590 urshr.4h v0, v0, #3
1591 urshr.8h v0, v0, #4
1592 urshr.2s v0, v0, #5
1593 urshr.4s v0, v0, #6
1594 urshr.2d v0, v0, #7
1595 ursra.8b v0, v0, #1
1596 ursra.16b v0, v0, #2
1597 ursra.4h v0, v0, #3
1598 ursra.8h v0, v0, #4
1599 ursra.2s v0, v0, #5
1600 ursra.4s v0, v0, #6
1601 ursra.2d v0, v0, #7
1602 ushll.8h v0, v0, #1
1603 ushll2.8h v0, v0, #2
1604 ushll.4s v0, v0, #3
1605 ushll2.4s v0, v0, #4
1606 ushll.2d v0, v0, #5
1607 ushll2.2d v0, v0, #6
1608 ushr.8b v0, v0, #1
1609 ushr.16b v0, v0, #2
1610 ushr.4h v0, v0, #3
1611 ushr.8h v0, v0, #4
1612 ushr.2s v0, v0, #5
1613 ushr.4s v0, v0, #6
1614 ushr.2d v0, v0, #7
1615 usra.8b v0, v0, #1
1616 usra.16b v0, v0, #2
1617 usra.4h v0, v0, #3
1618 usra.8h v0, v0, #4
1619 usra.2s v0, v0, #5
1620 usra.4s v0, v0, #6
1621 usra.2d v0, v0, #7
1623 ; CHECK: fcvtzs.2s v0, v0, #1 ; encoding: [0x00,0xfc,0x3f,0x0f]
1624 ; CHECK: fcvtzs.4s v0, v0, #2 ; encoding: [0x00,0xfc,0x3e,0x4f]
1625 ; CHECK: fcvtzs.2d v0, v0, #3 ; encoding: [0x00,0xfc,0x7d,0x4f]
1626 ; CHECK: fcvtzu.2s v0, v0, #1 ; encoding: [0x00,0xfc,0x3f,0x2f]
1627 ; CHECK: fcvtzu.4s v0, v0, #2 ; encoding: [0x00,0xfc,0x3e,0x6f]
1628 ; CHECK: fcvtzu.2d v0, v0, #3 ; encoding: [0x00,0xfc,0x7d,0x6f]
1629 ; CHECK: rshrn.8b v0, v0, #1 ; encoding: [0x00,0x8c,0x0f,0x0f]
1630 ; CHECK: rshrn2.16b v0, v0, #2 ; encoding: [0x00,0x8c,0x0e,0x4f]
1631 ; CHECK: rshrn.4h v0, v0, #3 ; encoding: [0x00,0x8c,0x1d,0x0f]
1632 ; CHECK: rshrn2.8h v0, v0, #4 ; encoding: [0x00,0x8c,0x1c,0x4f]
1633 ; CHECK: rshrn.2s v0, v0, #5 ; encoding: [0x00,0x8c,0x3b,0x0f]
1634 ; CHECK: rshrn2.4s v0, v0, #6 ; encoding: [0x00,0x8c,0x3a,0x4f]
1635 ; CHECK: scvtf.2s v0, v0, #1 ; encoding: [0x00,0xe4,0x3f,0x0f]
1636 ; CHECK: scvtf.4s v0, v0, #2 ; encoding: [0x00,0xe4,0x3e,0x4f]
1637 ; CHECK: scvtf.2d v0, v0, #3 ; encoding: [0x00,0xe4,0x7d,0x4f]
1638 ; CHECK: shl.8b v0, v0, #1 ; encoding: [0x00,0x54,0x09,0x0f]
1639 ; CHECK: shl.16b v0, v0, #2 ; encoding: [0x00,0x54,0x0a,0x4f]
1640 ; CHECK: shl.4h v0, v0, #3 ; encoding: [0x00,0x54,0x13,0x0f]
1641 ; CHECK: shl.8h v0, v0, #4 ; encoding: [0x00,0x54,0x14,0x4f]
1642 ; CHECK: shl.2s v0, v0, #5 ; encoding: [0x00,0x54,0x25,0x0f]
1643 ; CHECK: shl.4s v0, v0, #6 ; encoding: [0x00,0x54,0x26,0x4f]
1644 ; CHECK: shl.2d v0, v0, #7 ; encoding: [0x00,0x54,0x47,0x4f]
1645 ; CHECK: shrn.8b v0, v0, #1 ; encoding: [0x00,0x84,0x0f,0x0f]
1646 ; CHECK: shrn2.16b v0, v0, #2 ; encoding: [0x00,0x84,0x0e,0x4f]
1647 ; CHECK: shrn.4h v0, v0, #3 ; encoding: [0x00,0x84,0x1d,0x0f]
1648 ; CHECK: shrn2.8h v0, v0, #4 ; encoding: [0x00,0x84,0x1c,0x4f]
1649 ; CHECK: shrn.2s v0, v0, #5 ; encoding: [0x00,0x84,0x3b,0x0f]
1650 ; CHECK: shrn2.4s v0, v0, #6 ; encoding: [0x00,0x84,0x3a,0x4f]
1651 ; CHECK: sli.8b v0, v0, #1 ; encoding: [0x00,0x54,0x09,0x2f]
1652 ; CHECK: sli.16b v0, v0, #2 ; encoding: [0x00,0x54,0x0a,0x6f]
1653 ; CHECK: sli.4h v0, v0, #3 ; encoding: [0x00,0x54,0x13,0x2f]
1654 ; CHECK: sli.8h v0, v0, #4 ; encoding: [0x00,0x54,0x14,0x6f]
1655 ; CHECK: sli.2s v0, v0, #5 ; encoding: [0x00,0x54,0x25,0x2f]
1656 ; CHECK: sli.4s v0, v0, #6 ; encoding: [0x00,0x54,0x26,0x6f]
1657 ; CHECK: sli.2d v0, v0, #7 ; encoding: [0x00,0x54,0x47,0x6f]
1658 ; CHECK: sqrshrn.8b v0, v0, #1 ; encoding: [0x00,0x9c,0x0f,0x0f]
1659 ; CHECK: sqrshrn2.16b v0, v0, #2 ; encoding: [0x00,0x9c,0x0e,0x4f]
1660 ; CHECK: sqrshrn.4h v0, v0, #3 ; encoding: [0x00,0x9c,0x1d,0x0f]
1661 ; CHECK: sqrshrn2.8h v0, v0, #4 ; encoding: [0x00,0x9c,0x1c,0x4f]
1662 ; CHECK: sqrshrn.2s v0, v0, #5 ; encoding: [0x00,0x9c,0x3b,0x0f]
1663 ; CHECK: sqrshrn2.4s v0, v0, #6 ; encoding: [0x00,0x9c,0x3a,0x4f]
1664 ; CHECK: sqrshrun.8b v0, v0, #1 ; encoding: [0x00,0x8c,0x0f,0x2f]
1665 ; CHECK: sqrshrun2.16b v0, v0, #2 ; encoding: [0x00,0x8c,0x0e,0x6f]
1666 ; CHECK: sqrshrun.4h v0, v0, #3 ; encoding: [0x00,0x8c,0x1d,0x2f]
1667 ; CHECK: sqrshrun2.8h v0, v0, #4 ; encoding: [0x00,0x8c,0x1c,0x6f]
1668 ; CHECK: sqrshrun.2s v0, v0, #5 ; encoding: [0x00,0x8c,0x3b,0x2f]
1669 ; CHECK: sqrshrun2.4s v0, v0, #6 ; encoding: [0x00,0x8c,0x3a,0x6f]
1670 ; CHECK: sqshlu.8b v0, v0, #1 ; encoding: [0x00,0x64,0x09,0x2f]
1671 ; CHECK: sqshlu.16b v0, v0, #2 ; encoding: [0x00,0x64,0x0a,0x6f]
1672 ; CHECK: sqshlu.4h v0, v0, #3 ; encoding: [0x00,0x64,0x13,0x2f]
1673 ; CHECK: sqshlu.8h v0, v0, #4 ; encoding: [0x00,0x64,0x14,0x6f]
1674 ; CHECK: sqshlu.2s v0, v0, #5 ; encoding: [0x00,0x64,0x25,0x2f]
1675 ; CHECK: sqshlu.4s v0, v0, #6 ; encoding: [0x00,0x64,0x26,0x6f]
1676 ; CHECK: sqshlu.2d v0, v0, #7 ; encoding: [0x00,0x64,0x47,0x6f]
1677 ; CHECK: sqshl.8b v0, v0, #1 ; encoding: [0x00,0x74,0x09,0x0f]
1678 ; CHECK: sqshl.16b v0, v0, #2 ; encoding: [0x00,0x74,0x0a,0x4f]
1679 ; CHECK: sqshl.4h v0, v0, #3 ; encoding: [0x00,0x74,0x13,0x0f]
1680 ; CHECK: sqshl.8h v0, v0, #4 ; encoding: [0x00,0x74,0x14,0x4f]
1681 ; CHECK: sqshl.2s v0, v0, #5 ; encoding: [0x00,0x74,0x25,0x0f]
1682 ; CHECK: sqshl.4s v0, v0, #6 ; encoding: [0x00,0x74,0x26,0x4f]
1683 ; CHECK: sqshl.2d v0, v0, #7 ; encoding: [0x00,0x74,0x47,0x4f]
1684 ; CHECK: sqshrn.8b v0, v0, #1 ; encoding: [0x00,0x94,0x0f,0x0f]
1685 ; CHECK: sqshrn2.16b v0, v0, #2 ; encoding: [0x00,0x94,0x0e,0x4f]
1686 ; CHECK: sqshrn.4h v0, v0, #3 ; encoding: [0x00,0x94,0x1d,0x0f]
1687 ; CHECK: sqshrn2.8h v0, v0, #4 ; encoding: [0x00,0x94,0x1c,0x4f]
1688 ; CHECK: sqshrn.2s v0, v0, #5 ; encoding: [0x00,0x94,0x3b,0x0f]
1689 ; CHECK: sqshrn2.4s v0, v0, #6 ; encoding: [0x00,0x94,0x3a,0x4f]
1690 ; CHECK: sqshrun.8b v0, v0, #1 ; encoding: [0x00,0x84,0x0f,0x2f]
1691 ; CHECK: sqshrun2.16b v0, v0, #2 ; encoding: [0x00,0x84,0x0e,0x6f]
1692 ; CHECK: sqshrun.4h v0, v0, #3 ; encoding: [0x00,0x84,0x1d,0x2f]
1693 ; CHECK: sqshrun2.8h v0, v0, #4 ; encoding: [0x00,0x84,0x1c,0x6f]
1694 ; CHECK: sqshrun.2s v0, v0, #5 ; encoding: [0x00,0x84,0x3b,0x2f]
1695 ; CHECK: sqshrun2.4s v0, v0, #6 ; encoding: [0x00,0x84,0x3a,0x6f]
1696 ; CHECK: sri.8b v0, v0, #1 ; encoding: [0x00,0x44,0x0f,0x2f]
1697 ; CHECK: sri.16b v0, v0, #2 ; encoding: [0x00,0x44,0x0e,0x6f]
1698 ; CHECK: sri.4h v0, v0, #3 ; encoding: [0x00,0x44,0x1d,0x2f]
1699 ; CHECK: sri.8h v0, v0, #4 ; encoding: [0x00,0x44,0x1c,0x6f]
1700 ; CHECK: sri.2s v0, v0, #5 ; encoding: [0x00,0x44,0x3b,0x2f]
1701 ; CHECK: sri.4s v0, v0, #6 ; encoding: [0x00,0x44,0x3a,0x6f]
1702 ; CHECK: sri.2d v0, v0, #7 ; encoding: [0x00,0x44,0x79,0x6f]
1703 ; CHECK: srshr.8b v0, v0, #1 ; encoding: [0x00,0x24,0x0f,0x0f]
1704 ; CHECK: srshr.16b v0, v0, #2 ; encoding: [0x00,0x24,0x0e,0x4f]
1705 ; CHECK: srshr.4h v0, v0, #3 ; encoding: [0x00,0x24,0x1d,0x0f]
1706 ; CHECK: srshr.8h v0, v0, #4 ; encoding: [0x00,0x24,0x1c,0x4f]
1707 ; CHECK: srshr.2s v0, v0, #5 ; encoding: [0x00,0x24,0x3b,0x0f]
1708 ; CHECK: srshr.4s v0, v0, #6 ; encoding: [0x00,0x24,0x3a,0x4f]
1709 ; CHECK: srshr.2d v0, v0, #7 ; encoding: [0x00,0x24,0x79,0x4f]
1710 ; CHECK: srsra.8b v0, v0, #1 ; encoding: [0x00,0x34,0x0f,0x0f]
1711 ; CHECK: srsra.16b v0, v0, #2 ; encoding: [0x00,0x34,0x0e,0x4f]
1712 ; CHECK: srsra.4h v0, v0, #3 ; encoding: [0x00,0x34,0x1d,0x0f]
1713 ; CHECK: srsra.8h v0, v0, #4 ; encoding: [0x00,0x34,0x1c,0x4f]
1714 ; CHECK: srsra.2s v0, v0, #5 ; encoding: [0x00,0x34,0x3b,0x0f]
1715 ; CHECK: srsra.4s v0, v0, #6 ; encoding: [0x00,0x34,0x3a,0x4f]
1716 ; CHECK: srsra.2d v0, v0, #7 ; encoding: [0x00,0x34,0x79,0x4f]
1717 ; CHECK: sshll.8h v0, v0, #1 ; encoding: [0x00,0xa4,0x09,0x0f]
1718 ; CHECK: sshll2.8h v0, v0, #2 ; encoding: [0x00,0xa4,0x0a,0x4f]
1719 ; CHECK: sshll.4s v0, v0, #3 ; encoding: [0x00,0xa4,0x13,0x0f]
1720 ; CHECK: sshll2.4s v0, v0, #4 ; encoding: [0x00,0xa4,0x14,0x4f]
1721 ; CHECK: sshll.2d v0, v0, #5 ; encoding: [0x00,0xa4,0x25,0x0f]
1722 ; CHECK: sshll2.2d v0, v0, #6 ; encoding: [0x00,0xa4,0x26,0x4f]
1723 ; CHECK: sshr.8b v0, v0, #1 ; encoding: [0x00,0x04,0x0f,0x0f]
1724 ; CHECK: sshr.16b v0, v0, #2 ; encoding: [0x00,0x04,0x0e,0x4f]
1725 ; CHECK: sshr.4h v0, v0, #3 ; encoding: [0x00,0x04,0x1d,0x0f]
1726 ; CHECK: sshr.8h v0, v0, #4 ; encoding: [0x00,0x04,0x1c,0x4f]
1727 ; CHECK: sshr.2s v0, v0, #5 ; encoding: [0x00,0x04,0x3b,0x0f]
1728 ; CHECK: sshr.4s v0, v0, #6 ; encoding: [0x00,0x04,0x3a,0x4f]
1729 ; CHECK: sshr.2d v0, v0, #7 ; encoding: [0x00,0x04,0x79,0x4f]
1730 ; CHECK: sshr.8b v0, v0, #1 ; encoding: [0x00,0x04,0x0f,0x0f]
1731 ; CHECK: ssra.16b v0, v0, #2 ; encoding: [0x00,0x14,0x0e,0x4f]
1732 ; CHECK: ssra.4h v0, v0, #3 ; encoding: [0x00,0x14,0x1d,0x0f]
1733 ; CHECK: ssra.8h v0, v0, #4 ; encoding: [0x00,0x14,0x1c,0x4f]
1734 ; CHECK: ssra.2s v0, v0, #5 ; encoding: [0x00,0x14,0x3b,0x0f]
1735 ; CHECK: ssra.4s v0, v0, #6 ; encoding: [0x00,0x14,0x3a,0x4f]
1736 ; CHECK: ssra.2d v0, v0, #7 ; encoding: [0x00,0x14,0x79,0x4f]
1737 ; CHECK: ssra d0, d0, #64 ; encoding: [0x00,0x14,0x40,0x5f]
1738 ; CHECK: ucvtf.2s v0, v0, #1 ; encoding: [0x00,0xe4,0x3f,0x2f]
1739 ; CHECK: ucvtf.4s v0, v0, #2 ; encoding: [0x00,0xe4,0x3e,0x6f]
1740 ; CHECK: ucvtf.2d v0, v0, #3 ; encoding: [0x00,0xe4,0x7d,0x6f]
1741 ; CHECK: uqrshrn.8b v0, v0, #1 ; encoding: [0x00,0x9c,0x0f,0x2f]
1742 ; CHECK: uqrshrn2.16b v0, v0, #2 ; encoding: [0x00,0x9c,0x0e,0x6f]
1743 ; CHECK: uqrshrn.4h v0, v0, #3 ; encoding: [0x00,0x9c,0x1d,0x2f]
1744 ; CHECK: uqrshrn2.8h v0, v0, #4 ; encoding: [0x00,0x9c,0x1c,0x6f]
1745 ; CHECK: uqrshrn.2s v0, v0, #5 ; encoding: [0x00,0x9c,0x3b,0x2f]
1746 ; CHECK: uqrshrn2.4s v0, v0, #6 ; encoding: [0x00,0x9c,0x3a,0x6f]
1747 ; CHECK: uqshl.8b v0, v0, #1 ; encoding: [0x00,0x74,0x09,0x2f]
1748 ; CHECK: uqshl.16b v0, v0, #2 ; encoding: [0x00,0x74,0x0a,0x6f]
1749 ; CHECK: uqshl.4h v0, v0, #3 ; encoding: [0x00,0x74,0x13,0x2f]
1750 ; CHECK: uqshl.8h v0, v0, #4 ; encoding: [0x00,0x74,0x14,0x6f]
1751 ; CHECK: uqshl.2s v0, v0, #5 ; encoding: [0x00,0x74,0x25,0x2f]
1752 ; CHECK: uqshl.4s v0, v0, #6 ; encoding: [0x00,0x74,0x26,0x6f]
1753 ; CHECK: uqshl.2d v0, v0, #7 ; encoding: [0x00,0x74,0x47,0x6f]
1754 ; CHECK: uqshrn.8b v0, v0, #1 ; encoding: [0x00,0x94,0x0f,0x2f]
1755 ; CHECK: uqshrn2.16b v0, v0, #2 ; encoding: [0x00,0x94,0x0e,0x6f]
1756 ; CHECK: uqshrn.4h v0, v0, #3 ; encoding: [0x00,0x94,0x1d,0x2f]
1757 ; CHECK: uqshrn2.8h v0, v0, #4 ; encoding: [0x00,0x94,0x1c,0x6f]
1758 ; CHECK: uqshrn.2s v0, v0, #5 ; encoding: [0x00,0x94,0x3b,0x2f]
1759 ; CHECK: uqshrn2.4s v0, v0, #6 ; encoding: [0x00,0x94,0x3a,0x6f]
1760 ; CHECK: urshr.8b v0, v0, #1 ; encoding: [0x00,0x24,0x0f,0x2f]
1761 ; CHECK: urshr.16b v0, v0, #2 ; encoding: [0x00,0x24,0x0e,0x6f]
1762 ; CHECK: urshr.4h v0, v0, #3 ; encoding: [0x00,0x24,0x1d,0x2f]
1763 ; CHECK: urshr.8h v0, v0, #4 ; encoding: [0x00,0x24,0x1c,0x6f]
1764 ; CHECK: urshr.2s v0, v0, #5 ; encoding: [0x00,0x24,0x3b,0x2f]
1765 ; CHECK: urshr.4s v0, v0, #6 ; encoding: [0x00,0x24,0x3a,0x6f]
1766 ; CHECK: urshr.2d v0, v0, #7 ; encoding: [0x00,0x24,0x79,0x6f]
1767 ; CHECK: ursra.8b v0, v0, #1 ; encoding: [0x00,0x34,0x0f,0x2f]
1768 ; CHECK: ursra.16b v0, v0, #2 ; encoding: [0x00,0x34,0x0e,0x6f]
1769 ; CHECK: ursra.4h v0, v0, #3 ; encoding: [0x00,0x34,0x1d,0x2f]
1770 ; CHECK: ursra.8h v0, v0, #4 ; encoding: [0x00,0x34,0x1c,0x6f]
1771 ; CHECK: ursra.2s v0, v0, #5 ; encoding: [0x00,0x34,0x3b,0x2f]
1772 ; CHECK: ursra.4s v0, v0, #6 ; encoding: [0x00,0x34,0x3a,0x6f]
1773 ; CHECK: ursra.2d v0, v0, #7 ; encoding: [0x00,0x34,0x79,0x6f]
1774 ; CHECK: ushll.8h v0, v0, #1 ; encoding: [0x00,0xa4,0x09,0x2f]
1775 ; CHECK: ushll2.8h v0, v0, #2 ; encoding: [0x00,0xa4,0x0a,0x6f]
1776 ; CHECK: ushll.4s v0, v0, #3 ; encoding: [0x00,0xa4,0x13,0x2f]
1777 ; CHECK: ushll2.4s v0, v0, #4 ; encoding: [0x00,0xa4,0x14,0x6f]
1778 ; CHECK: ushll.2d v0, v0, #5 ; encoding: [0x00,0xa4,0x25,0x2f]
1779 ; CHECK: ushll2.2d v0, v0, #6 ; encoding: [0x00,0xa4,0x26,0x6f]
1780 ; CHECK: ushr.8b v0, v0, #1 ; encoding: [0x00,0x04,0x0f,0x2f]
1781 ; CHECK: ushr.16b v0, v0, #2 ; encoding: [0x00,0x04,0x0e,0x6f]
1782 ; CHECK: ushr.4h v0, v0, #3 ; encoding: [0x00,0x04,0x1d,0x2f]
1783 ; CHECK: ushr.8h v0, v0, #4 ; encoding: [0x00,0x04,0x1c,0x6f]
1784 ; CHECK: ushr.2s v0, v0, #5 ; encoding: [0x00,0x04,0x3b,0x2f]
1785 ; CHECK: ushr.4s v0, v0, #6 ; encoding: [0x00,0x04,0x3a,0x6f]
1786 ; CHECK: ushr.2d v0, v0, #7 ; encoding: [0x00,0x04,0x79,0x6f]
1787 ; CHECK: usra.8b v0, v0, #1 ; encoding: [0x00,0x14,0x0f,0x2f]
1788 ; CHECK: usra.16b v0, v0, #2 ; encoding: [0x00,0x14,0x0e,0x6f]
1789 ; CHECK: usra.4h v0, v0, #3 ; encoding: [0x00,0x14,0x1d,0x2f]
1790 ; CHECK: usra.8h v0, v0, #4 ; encoding: [0x00,0x14,0x1c,0x6f]
1791 ; CHECK: usra.2s v0, v0, #5 ; encoding: [0x00,0x14,0x3b,0x2f]
1792 ; CHECK: usra.4s v0, v0, #6 ; encoding: [0x00,0x14,0x3a,0x6f]
1793 ; CHECK: usra.2d v0, v0, #7 ; encoding: [0x00,0x14,0x79,0x6f]
1796 ; ARM Verbose syntax variants.
1798 rshrn v9.8b, v11.8h, #1
1799 rshrn2 v8.16b, v9.8h, #2
1800 rshrn v7.4h, v8.4s, #3
1801 rshrn2 v6.8h, v7.4s, #4
1802 rshrn v5.2s, v6.2d, #5
1803 rshrn2 v4.4s, v5.2d, #6
1805 shrn v9.8b, v11.8h, #1
1806 shrn2 v8.16b, v9.8h, #2
1807 shrn v7.4h, v8.4s, #3
1808 shrn2 v6.8h, v7.4s, #4
1809 shrn v5.2s, v6.2d, #5
1810 shrn2 v4.4s, v5.2d, #6
1812 sqrshrn v9.8b, v11.8h, #1
1813 sqrshrn2 v8.16b, v9.8h, #2
1814 sqrshrn v7.4h, v8.4s, #3
1815 sqrshrn2 v6.8h, v7.4s, #4
1816 sqrshrn v5.2s, v6.2d, #5
1817 sqrshrn2 v4.4s, v5.2d, #6
1819 sqshrn v9.8b, v11.8h, #1
1820 sqshrn2 v8.16b, v9.8h, #2
1821 sqshrn v7.4h, v8.4s, #3
1822 sqshrn2 v6.8h, v7.4s, #4
1823 sqshrn v5.2s, v6.2d, #5
1824 sqshrn2 v4.4s, v5.2d, #6
1826 sqrshrun v9.8b, v11.8h, #1
1827 sqrshrun2 v8.16b, v9.8h, #2
1828 sqrshrun v7.4h, v8.4s, #3
1829 sqrshrun2 v6.8h, v7.4s, #4
1830 sqrshrun v5.2s, v6.2d, #5
1831 sqrshrun2 v4.4s, v5.2d, #6
1833 sqshrun v9.8b, v11.8h, #1
1834 sqshrun2 v8.16b, v9.8h, #2
1835 sqshrun v7.4h, v8.4s, #3
1836 sqshrun2 v6.8h, v7.4s, #4
1837 sqshrun v5.2s, v6.2d, #5
1838 sqshrun2 v4.4s, v5.2d, #6
1840 uqrshrn v9.8b, v11.8h, #1
1841 uqrshrn2 v8.16b, v9.8h, #2
1842 uqrshrn v7.4h, v8.4s, #3
1843 uqrshrn2 v6.8h, v7.4s, #4
1844 uqrshrn v5.2s, v6.2d, #5
1845 uqrshrn2 v4.4s, v5.2d, #6
1847 uqshrn v9.8b, v11.8h, #1
1848 uqshrn2 v8.16b, v9.8h, #2
1849 uqshrn v7.4h, v8.4s, #3
1850 uqshrn2 v6.8h, v7.4s, #4
1851 uqshrn v5.2s, v6.2d, #5
1852 uqshrn2 v4.4s, v5.2d, #6
1854 sshll2 v10.8h, v3.16b, #6
1855 sshll2 v11.4s, v4.8h, #5
1856 sshll2 v12.2d, v5.4s, #4
1857 sshll v13.8h, v6.8b, #3
1858 sshll v14.4s, v7.4h, #2
1859 sshll v15.2d, v8.2s, #7
1861 ushll2 v10.8h, v3.16b, #6
1862 ushll2 v11.4s, v4.8h, #5
1863 ushll2 v12.2d, v5.4s, #4
1864 ushll v13.8h, v6.8b, #3
1865 ushll v14.4s, v7.4h, #2
1866 ushll v15.2d, v8.2s, #7
1869 ; CHECK: rshrn.8b v9, v11, #1 ; encoding: [0x69,0x8d,0x0f,0x0f]
1870 ; CHECK: rshrn2.16b v8, v9, #2 ; encoding: [0x28,0x8d,0x0e,0x4f]
1871 ; CHECK: rshrn.4h v7, v8, #3 ; encoding: [0x07,0x8d,0x1d,0x0f]
1872 ; CHECK: rshrn2.8h v6, v7, #4 ; encoding: [0xe6,0x8c,0x1c,0x4f]
1873 ; CHECK: rshrn.2s v5, v6, #5 ; encoding: [0xc5,0x8c,0x3b,0x0f]
1874 ; CHECK: rshrn2.4s v4, v5, #6 ; encoding: [0xa4,0x8c,0x3a,0x4f]
1875 ; CHECK: shrn.8b v9, v11, #1 ; encoding: [0x69,0x85,0x0f,0x0f]
1876 ; CHECK: shrn2.16b v8, v9, #2 ; encoding: [0x28,0x85,0x0e,0x4f]
1877 ; CHECK: shrn.4h v7, v8, #3 ; encoding: [0x07,0x85,0x1d,0x0f]
1878 ; CHECK: shrn2.8h v6, v7, #4 ; encoding: [0xe6,0x84,0x1c,0x4f]
1879 ; CHECK: shrn.2s v5, v6, #5 ; encoding: [0xc5,0x84,0x3b,0x0f]
1880 ; CHECK: shrn2.4s v4, v5, #6 ; encoding: [0xa4,0x84,0x3a,0x4f]
1881 ; CHECK: sqrshrn.8b v9, v11, #1 ; encoding: [0x69,0x9d,0x0f,0x0f]
1882 ; CHECK: sqrshrn2.16b v8, v9, #2 ; encoding: [0x28,0x9d,0x0e,0x4f]
1883 ; CHECK: sqrshrn.4h v7, v8, #3 ; encoding: [0x07,0x9d,0x1d,0x0f]
1884 ; CHECK: sqrshrn2.8h v6, v7, #4 ; encoding: [0xe6,0x9c,0x1c,0x4f]
1885 ; CHECK: sqrshrn.2s v5, v6, #5 ; encoding: [0xc5,0x9c,0x3b,0x0f]
1886 ; CHECK: sqrshrn2.4s v4, v5, #6 ; encoding: [0xa4,0x9c,0x3a,0x4f]
1887 ; CHECK: sqshrn.8b v9, v11, #1 ; encoding: [0x69,0x95,0x0f,0x0f]
1888 ; CHECK: sqshrn2.16b v8, v9, #2 ; encoding: [0x28,0x95,0x0e,0x4f]
1889 ; CHECK: sqshrn.4h v7, v8, #3 ; encoding: [0x07,0x95,0x1d,0x0f]
1890 ; CHECK: sqshrn2.8h v6, v7, #4 ; encoding: [0xe6,0x94,0x1c,0x4f]
1891 ; CHECK: sqshrn.2s v5, v6, #5 ; encoding: [0xc5,0x94,0x3b,0x0f]
1892 ; CHECK: sqshrn2.4s v4, v5, #6 ; encoding: [0xa4,0x94,0x3a,0x4f]
1893 ; CHECK: sqrshrun.8b v9, v11, #1 ; encoding: [0x69,0x8d,0x0f,0x2f]
1894 ; CHECK: sqrshrun2.16b v8, v9, #2 ; encoding: [0x28,0x8d,0x0e,0x6f]
1895 ; CHECK: sqrshrun.4h v7, v8, #3 ; encoding: [0x07,0x8d,0x1d,0x2f]
1896 ; CHECK: sqrshrun2.8h v6, v7, #4 ; encoding: [0xe6,0x8c,0x1c,0x6f]
1897 ; CHECK: sqrshrun.2s v5, v6, #5 ; encoding: [0xc5,0x8c,0x3b,0x2f]
1898 ; CHECK: sqrshrun2.4s v4, v5, #6 ; encoding: [0xa4,0x8c,0x3a,0x6f]
1899 ; CHECK: sqshrun.8b v9, v11, #1 ; encoding: [0x69,0x85,0x0f,0x2f]
1900 ; CHECK: sqshrun2.16b v8, v9, #2 ; encoding: [0x28,0x85,0x0e,0x6f]
1901 ; CHECK: sqshrun.4h v7, v8, #3 ; encoding: [0x07,0x85,0x1d,0x2f]
1902 ; CHECK: sqshrun2.8h v6, v7, #4 ; encoding: [0xe6,0x84,0x1c,0x6f]
1903 ; CHECK: sqshrun.2s v5, v6, #5 ; encoding: [0xc5,0x84,0x3b,0x2f]
1904 ; CHECK: sqshrun2.4s v4, v5, #6 ; encoding: [0xa4,0x84,0x3a,0x6f]
1905 ; CHECK: uqrshrn.8b v9, v11, #1 ; encoding: [0x69,0x9d,0x0f,0x2f]
1906 ; CHECK: uqrshrn2.16b v8, v9, #2 ; encoding: [0x28,0x9d,0x0e,0x6f]
1907 ; CHECK: uqrshrn.4h v7, v8, #3 ; encoding: [0x07,0x9d,0x1d,0x2f]
1908 ; CHECK: uqrshrn2.8h v6, v7, #4 ; encoding: [0xe6,0x9c,0x1c,0x6f]
1909 ; CHECK: uqrshrn.2s v5, v6, #5 ; encoding: [0xc5,0x9c,0x3b,0x2f]
1910 ; CHECK: uqrshrn2.4s v4, v5, #6 ; encoding: [0xa4,0x9c,0x3a,0x6f]
1911 ; CHECK: uqshrn.8b v9, v11, #1 ; encoding: [0x69,0x95,0x0f,0x2f]
1912 ; CHECK: uqshrn2.16b v8, v9, #2 ; encoding: [0x28,0x95,0x0e,0x6f]
1913 ; CHECK: uqshrn.4h v7, v8, #3 ; encoding: [0x07,0x95,0x1d,0x2f]
1914 ; CHECK: uqshrn2.8h v6, v7, #4 ; encoding: [0xe6,0x94,0x1c,0x6f]
1915 ; CHECK: uqshrn.2s v5, v6, #5 ; encoding: [0xc5,0x94,0x3b,0x2f]
1916 ; CHECK: uqshrn2.4s v4, v5, #6 ; encoding: [0xa4,0x94,0x3a,0x6f]
1917 ; CHECK: sshll2.8h v10, v3, #6 ; encoding: [0x6a,0xa4,0x0e,0x4f]
1918 ; CHECK: sshll2.4s v11, v4, #5 ; encoding: [0x8b,0xa4,0x15,0x4f]
1919 ; CHECK: sshll2.2d v12, v5, #4 ; encoding: [0xac,0xa4,0x24,0x4f]
1920 ; CHECK: sshll.8h v13, v6, #3 ; encoding: [0xcd,0xa4,0x0b,0x0f]
1921 ; CHECK: sshll.4s v14, v7, #2 ; encoding: [0xee,0xa4,0x12,0x0f]
1922 ; CHECK: sshll.2d v15, v8, #7 ; encoding: [0x0f,0xa5,0x27,0x0f]
1923 ; CHECK: ushll2.8h v10, v3, #6 ; encoding: [0x6a,0xa4,0x0e,0x6f]
1924 ; CHECK: ushll2.4s v11, v4, #5 ; encoding: [0x8b,0xa4,0x15,0x6f]
1925 ; CHECK: ushll2.2d v12, v5, #4 ; encoding: [0xac,0xa4,0x24,0x6f]
1926 ; CHECK: ushll.8h v13, v6, #3 ; encoding: [0xcd,0xa4,0x0b,0x2f]
1927 ; CHECK: ushll.4s v14, v7, #2 ; encoding: [0xee,0xa4,0x12,0x2f]
1928 ; CHECK: ushll.2d v15, v8, #7 ; encoding: [0x0f,0xa5,0x27,0x2f]
1931 pmull.8h v0, v0, v0
1932 pmull2.8h v0, v0, v0
1933 pmull.1q v2, v3, v4
1934 pmull2.1q v2, v3, v4
1935 pmull v2.1q, v3.1d, v4.1d
1936 pmull2 v2.1q, v3.2d, v4.2d
1938 ; CHECK: pmull.8h v0, v0, v0 ; encoding: [0x00,0xe0,0x20,0x0e]
1939 ; CHECK: pmull2.8h v0, v0, v0 ; encoding: [0x00,0xe0,0x20,0x4e]
1940 ; CHECK: pmull.1q v2, v3, v4 ; encoding: [0x62,0xe0,0xe4,0x0e]
1941 ; CHECK: pmull2.1q v2, v3, v4 ; encoding: [0x62,0xe0,0xe4,0x4e]
1942 ; CHECK: pmull.1q v2, v3, v4 ; encoding: [0x62,0xe0,0xe4,0x0e]
1943 ; CHECK: pmull2.1q v2, v3, v4 ; encoding: [0x62,0xe0,0xe4,0x4e]
1946 faddp.2d d1, v2
1947 faddp.2s s3, v4
1948 ; CHECK: faddp.2d d1, v2 ; encoding: [0x41,0xd8,0x70,0x7e]
1949 ; CHECK: faddp.2s s3, v4 ; encoding: [0x83,0xd8,0x30,0x7e]
1951 tbl.16b v2, {v4,v5,v6,v7}, v1
1952 tbl.8b v0, {v4,v5,v6,v7}, v1
1953 tbl.16b v2, {v5}, v1
1954 tbl.8b v0, {v5}, v1
1955 tbl.16b v2, {v5,v6,v7}, v1
1956 tbl.8b v0, {v5,v6,v7}, v1
1957 tbl.16b v2, {v6,v7}, v1
1958 tbl.8b v0, {v6,v7}, v1
1959 ; CHECK: tbl.16b v2, { v4, v5, v6, v7 }, v1 ; encoding: [0x82,0x60,0x01,0x4e]
1960 ; CHECK: tbl.8b v0, { v4, v5, v6, v7 }, v1 ; encoding: [0x80,0x60,0x01,0x0e]
1961 ; CHECK: tbl.16b v2, { v5 }, v1 ; encoding: [0xa2,0x00,0x01,0x4e]
1962 ; CHECK: tbl.8b v0, { v5 }, v1 ; encoding: [0xa0,0x00,0x01,0x0e]
1963 ; CHECK: tbl.16b v2, { v5, v6, v7 }, v1 ; encoding: [0xa2,0x40,0x01,0x4e]
1964 ; CHECK: tbl.8b v0, { v5, v6, v7 }, v1 ; encoding: [0xa0,0x40,0x01,0x0e]
1965 ; CHECK: tbl.16b v2, { v6, v7 }, v1 ; encoding: [0xc2,0x20,0x01,0x4e]
1966 ; CHECK: tbl.8b v0, { v6, v7 }, v1 ; encoding: [0xc0,0x20,0x01,0x0e]
1968 tbl v2.16b, {v4.16b,v5.16b,v6.16b,v7.16b}, v1.16b
1969 tbl v0.8b, {v4.16b,v5.16b,v6.16b,v7.16b}, v1.8b
1970 tbl v2.16b, {v5.16b}, v1.16b
1971 tbl v0.8b, {v5.16b}, v1.8b
1972 tbl v2.16b, {v5.16b,v6.16b,v7.16b}, v1.16b
1973 tbl v0.8b, {v5.16b,v6.16b,v7.16b}, v1.8b
1974 tbl v2.16b, {v6.16b,v7.16b}, v1.16b
1975 tbl v0.8b, {v6.16b,v7.16b}, v1.8b
1976 ; CHECK: tbl.16b v2, { v4, v5, v6, v7 }, v1 ; encoding: [0x82,0x60,0x01,0x4e]
1977 ; CHECK: tbl.8b v0, { v4, v5, v6, v7 }, v1 ; encoding: [0x80,0x60,0x01,0x0e]
1978 ; CHECK: tbl.16b v2, { v5 }, v1 ; encoding: [0xa2,0x00,0x01,0x4e]
1979 ; CHECK: tbl.8b v0, { v5 }, v1 ; encoding: [0xa0,0x00,0x01,0x0e]
1980 ; CHECK: tbl.16b v2, { v5, v6, v7 }, v1 ; encoding: [0xa2,0x40,0x01,0x4e]
1981 ; CHECK: tbl.8b v0, { v5, v6, v7 }, v1 ; encoding: [0xa0,0x40,0x01,0x0e]
1982 ; CHECK: tbl.16b v2, { v6, v7 }, v1 ; encoding: [0xc2,0x20,0x01,0x4e]
1983 ; CHECK: tbl.8b v0, { v6, v7 }, v1 ; encoding: [0xc0,0x20,0x01,0x0e]
1985 sqdmull s0, h0, h0
1986 sqdmull d0, s0, s0
1987 ; CHECK: sqdmull s0, h0, h0 ; encoding: [0x00,0xd0,0x60,0x5e]
1988 ; CHECK: sqdmull d0, s0, s0 ; encoding: [0x00,0xd0,0xa0,0x5e]
1990 frsqrte s0, s0
1991 frsqrte d0, d0
1992 ; CHECK: frsqrte s0, s0 ; encoding: [0x00,0xd8,0xa1,0x7e]
1993 ; CHECK: frsqrte d0, d0 ; encoding: [0x00,0xd8,0xe1,0x7e]
1995 mov.16b v0, v0
1996 mov.2s v0, v0
1997 ; CHECK: mov.16b v0, v0 ; encoding: [0x00,0x1c,0xa0,0x4e]
1998 ; CHECK: mov.8b v0, v0 ; encoding: [0x00,0x1c,0xa0,0x0e]
2001 ; uadalp/sadalp verbose mode aliases.
2002 uadalp v14.4h, v25.8b
2003 uadalp v15.8h, v24.16b
2004 uadalp v16.2s, v23.4h
2005 uadalp v17.4s, v22.8h
2006 uadalp v18.1d, v21.2s
2007 uadalp v19.2d, v20.4s
2009 sadalp v1.4h, v11.8b
2010 sadalp v2.8h, v12.16b
2011 sadalp v3.2s, v13.4h
2012 sadalp v4.4s, v14.8h
2013 sadalp v5.1d, v15.2s
2014 sadalp v6.2d, v16.4s
2016 ; CHECK: uadalp.4h v14, v25 ; encoding: [0x2e,0x6b,0x20,0x2e]
2017 ; CHECK: uadalp.8h v15, v24 ; encoding: [0x0f,0x6b,0x20,0x6e]
2018 ; CHECK: uadalp.2s v16, v23 ; encoding: [0xf0,0x6a,0x60,0x2e]
2019 ; CHECK: uadalp.4s v17, v22 ; encoding: [0xd1,0x6a,0x60,0x6e]
2020 ; CHECK: uadalp.1d v18, v21 ; encoding: [0xb2,0x6a,0xa0,0x2e]
2021 ; CHECK: uadalp.2d v19, v20 ; encoding: [0x93,0x6a,0xa0,0x6e]
2022 ; CHECK: sadalp.4h v1, v11 ; encoding: [0x61,0x69,0x20,0x0e]
2023 ; CHECK: sadalp.8h v2, v12 ; encoding: [0x82,0x69,0x20,0x4e]
2024 ; CHECK: sadalp.2s v3, v13 ; encoding: [0xa3,0x69,0x60,0x0e]
2025 ; CHECK: sadalp.4s v4, v14 ; encoding: [0xc4,0x69,0x60,0x4e]
2026 ; CHECK: sadalp.1d v5, v15 ; encoding: [0xe5,0x69,0xa0,0x0e]
2027 ; CHECK: sadalp.2d v6, v16 ; encoding: [0x06,0x6a,0xa0,0x4e]
2029 ; MVN is an alias for 'not'.
2030 mvn v1.8b, v4.8b
2031 mvn v19.16b, v17.16b
2032 mvn.8b v10, v6
2033 mvn.16b v11, v7
2035 ; CHECK: mvn.8b v1, v4 ; encoding: [0x81,0x58,0x20,0x2e]
2036 ; CHECK: mvn.16b v19, v17 ; encoding: [0x33,0x5a,0x20,0x6e]
2037 ; CHECK: mvn.8b v10, v6 ; encoding: [0xca,0x58,0x20,0x2e]
2038 ; CHECK: mvn.16b v11, v7 ; encoding: [0xeb,0x58,0x20,0x6e]
2040 ; sqdmull verbose mode aliases
2041 sqdmull v10.4s, v12.4h, v12.4h
2042 sqdmull2 v10.4s, v13.8h, v13.8h
2043 sqdmull v10.2d, v13.2s, v13.2s
2044 sqdmull2 v10.2d, v13.4s, v13.4s
2045 ; CHECK: sqdmull.4s v10, v12, v12 ; encoding: [0x8a,0xd1,0x6c,0x0e]
2046 ; CHECK: sqdmull2.4s v10, v13, v13 ; encoding: [0xaa,0xd1,0x6d,0x4e]
2047 ; CHECK: sqdmull.2d v10, v13, v13 ; encoding: [0xaa,0xd1,0xad,0x0e]
2048 ; CHECK: sqdmull2.2d v10, v13, v13 ; encoding: [0xaa,0xd1,0xad,0x4e]
2050 ; xtn verbose mode aliases
2051 xtn v14.8b, v14.8h
2052 xtn2 v14.16b, v14.8h
2053 xtn v14.4h, v14.4s
2054 xtn2 v14.8h, v14.4s
2055 xtn v14.2s, v14.2d
2056 xtn2 v14.4s, v14.2d
2057 ; CHECK: xtn.8b v14, v14 ; encoding: [0xce,0x29,0x21,0x0e]
2058 ; CHECK: xtn2.16b v14, v14 ; encoding: [0xce,0x29,0x21,0x4e]
2059 ; CHECK: xtn.4h v14, v14 ; encoding: [0xce,0x29,0x61,0x0e]
2060 ; CHECK: xtn2.8h v14, v14 ; encoding: [0xce,0x29,0x61,0x4e]
2061 ; CHECK: xtn.2s v14, v14 ; encoding: [0xce,0x29,0xa1,0x0e]
2062 ; CHECK: xtn2.4s v14, v14 ; encoding: [0xce,0x29,0xa1,0x4e]
2064 ; uaddl verbose mode aliases
2065 uaddl v9.8h, v13.8b, v14.8b
2066 uaddl2 v9.8h, v13.16b, v14.16b
2067 uaddl v9.4s, v13.4h, v14.4h
2068 uaddl2 v9.4s, v13.8h, v14.8h
2069 uaddl v9.2d, v13.2s, v14.2s
2070 uaddl2 v9.2d, v13.4s, v14.4s
2071 ; CHECK: uaddl.8h v9, v13, v14 ; encoding: [0xa9,0x01,0x2e,0x2e]
2072 ; CHECK: uaddl2.8h v9, v13, v14 ; encoding: [0xa9,0x01,0x2e,0x6e]
2073 ; CHECK: uaddl.4s v9, v13, v14 ; encoding: [0xa9,0x01,0x6e,0x2e]
2074 ; CHECK: uaddl2.4s v9, v13, v14 ; encoding: [0xa9,0x01,0x6e,0x6e]
2075 ; CHECK: uaddl.2d v9, v13, v14 ; encoding: [0xa9,0x01,0xae,0x2e]
2076 ; CHECK: uaddl2.2d v9, v13, v14 ; encoding: [0xa9,0x01,0xae,0x6e]
2078 ; bit verbose mode aliases
2079 bit v9.16b, v10.16b, v10.16b
2080 bit v9.8b, v10.8b, v10.8b
2081 ; CHECK: bit.16b v9, v10, v10 ; encoding: [0x49,0x1d,0xaa,0x6e]
2082 ; CHECK: bit.8b v9, v10, v10 ; encoding: [0x49,0x1d,0xaa,0x2e]
2084 ; pmull verbose mode aliases
2085 pmull v8.8h, v8.8b, v8.8b
2086 pmull2 v8.8h, v8.16b, v8.16b
2087 pmull v8.1q, v8.1d, v8.1d
2088 pmull2 v8.1q, v8.2d, v8.2d
2089 ; CHECK: pmull.8h v8, v8, v8 ; encoding: [0x08,0xe1,0x28,0x0e]
2090 ; CHECK: pmull2.8h v8, v8, v8 ; encoding: [0x08,0xe1,0x28,0x4e]
2091 ; CHECK: pmull.1q v8, v8, v8 ; encoding: [0x08,0xe1,0xe8,0x0e]
2092 ; CHECK: pmull2.1q v8, v8, v8 ; encoding: [0x08,0xe1,0xe8,0x4e]
2094 ; usubl verbose mode aliases
2095 usubl v9.8h, v13.8b, v14.8b
2096 usubl2 v9.8h, v13.16b, v14.16b
2097 usubl v9.4s, v13.4h, v14.4h
2098 usubl2 v9.4s, v13.8h, v14.8h
2099 usubl v9.2d, v13.2s, v14.2s
2100 usubl2 v9.2d, v13.4s, v14.4s
2101 ; CHECK: usubl.8h v9, v13, v14 ; encoding: [0xa9,0x21,0x2e,0x2e]
2102 ; CHECK: usubl2.8h v9, v13, v14 ; encoding: [0xa9,0x21,0x2e,0x6e]
2103 ; CHECK: usubl.4s v9, v13, v14 ; encoding: [0xa9,0x21,0x6e,0x2e]
2104 ; CHECK: usubl2.4s v9, v13, v14 ; encoding: [0xa9,0x21,0x6e,0x6e]
2105 ; CHECK: usubl.2d v9, v13, v14 ; encoding: [0xa9,0x21,0xae,0x2e]
2106 ; CHECK: usubl2.2d v9, v13, v14 ; encoding: [0xa9,0x21,0xae,0x6e]
2108 ; uabdl verbose mode aliases
2109 uabdl v9.8h, v13.8b, v14.8b
2110 uabdl2 v9.8h, v13.16b, v14.16b
2111 uabdl v9.4s, v13.4h, v14.4h
2112 uabdl2 v9.4s, v13.8h, v14.8h
2113 uabdl v9.2d, v13.2s, v14.2s
2114 uabdl2 v9.2d, v13.4s, v14.4s
2115 ; CHECK: uabdl.8h v9, v13, v14 ; encoding: [0xa9,0x71,0x2e,0x2e]
2116 ; CHECK: uabdl2.8h v9, v13, v14 ; encoding: [0xa9,0x71,0x2e,0x6e]
2117 ; CHECK: uabdl.4s v9, v13, v14 ; encoding: [0xa9,0x71,0x6e,0x2e]
2118 ; CHECK: uabdl2.4s v9, v13, v14 ; encoding: [0xa9,0x71,0x6e,0x6e]
2119 ; CHECK: uabdl.2d v9, v13, v14 ; encoding: [0xa9,0x71,0xae,0x2e]
2120 ; CHECK: uabdl2.2d v9, v13, v14 ; encoding: [0xa9,0x71,0xae,0x6e]
2122 ; umull verbose mode aliases
2123 umull v9.8h, v13.8b, v14.8b
2124 umull2 v9.8h, v13.16b, v14.16b
2125 umull v9.4s, v13.4h, v14.4h
2126 umull2 v9.4s, v13.8h, v14.8h
2127 umull v9.2d, v13.2s, v14.2s
2128 umull2 v9.2d, v13.4s, v14.4s
2129 ; CHECK: umull.8h v9, v13, v14 ; encoding: [0xa9,0xc1,0x2e,0x2e]
2130 ; CHECK: umull2.8h v9, v13, v14 ; encoding: [0xa9,0xc1,0x2e,0x6e]
2131 ; CHECK: umull.4s v9, v13, v14 ; encoding: [0xa9,0xc1,0x6e,0x2e]
2132 ; CHECK: umull2.4s v9, v13, v14 ; encoding: [0xa9,0xc1,0x6e,0x6e]
2133 ; CHECK: umull.2d v9, v13, v14 ; encoding: [0xa9,0xc1,0xae,0x2e]
2134 ; CHECK: umull2.2d v9, v13, v14 ; encoding: [0xa9,0xc1,0xae,0x6e]
2136 ; smull verbose mode aliases
2137 smull v9.8h, v13.8b, v14.8b
2138 smull2 v9.8h, v13.16b, v14.16b
2139 smull v9.4s, v13.4h, v14.4h
2140 smull2 v9.4s, v13.8h, v14.8h
2141 smull v9.2d, v13.2s, v14.2s
2142 smull2 v9.2d, v13.4s, v14.4s
2143 ; CHECK: smull.8h v9, v13, v14 ; encoding: [0xa9,0xc1,0x2e,0x0e]
2144 ; CHECK: smull2.8h v9, v13, v14 ; encoding: [0xa9,0xc1,0x2e,0x4e]
2145 ; CHECK: smull.4s v9, v13, v14 ; encoding: [0xa9,0xc1,0x6e,0x0e]
2146 ; CHECK: smull2.4s v9, v13, v14 ; encoding: [0xa9,0xc1,0x6e,0x4e]
2147 ; CHECK: smull.2d v9, v13, v14 ; encoding: [0xa9,0xc1,0xae,0x0e]
2148 ; CHECK: smull2.2d v9, v13, v14 ; encoding: [0xa9,0xc1,0xae,0x4e]