1 ; RUN: llvm-mc -triple arm64-apple-darwin -mattr=crypto,fullfp16 -output-asm-variant=1 -show-encoding < %s | FileCheck %s
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]
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]
37 ; CHECK: add d1, d2, d3 ; encoding: [0x41,0x84,0xe3,0x5e]
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]
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]
71 ; CHECK: addp.2d d0, v0 ; encoding: [0x00,0xb8,0xf1,0x5e]
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]
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]
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]
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]
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
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]
223 ; CHECK: ins.d v2[1], x5 ; encoding: [0xa2,0x1c,0x18,0x4e]
224 ; CHECK: ins.s v2[1], w5 ; encoding: [0xa2,0x1c,0x0c,0x4e]
225 ; CHECK: ins.h v2[1], w5 ; encoding: [0xa2,0x1c,0x06,0x4e]
226 ; CHECK: ins.b v2[1], w5 ; encoding: [0xa2,0x1c,0x03,0x4e]
228 ; CHECK: ins.d v2[1], x5 ; encoding: [0xa2,0x1c,0x18,0x4e]
229 ; CHECK: ins.s v2[1], w5 ; encoding: [0xa2,0x1c,0x0c,0x4e]
230 ; CHECK: ins.h v2[1], w5 ; encoding: [0xa2,0x1c,0x06,0x4e]
231 ; CHECK: ins.b v2[1], w5 ; encoding: [0xa2,0x1c,0x03,0x4e]
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: ins.d v2[1], v15[1] ; encoding: [0xe2,0x45,0x18,0x6e]
244 ; CHECK: ins.s v2[1], v15[1] ; encoding: [0xe2,0x25,0x0c,0x6e]
245 ; CHECK: ins.h v2[1], v15[1] ; encoding: [0xe2,0x15,0x06,0x6e]
246 ; CHECK: ins.b v2[1], v15[1] ; encoding: [0xe2,0x0d,0x03,0x6e]
248 ; CHECK: ins.d v2[1], v15[0] ; encoding: [0xe2,0x05,0x18,0x6e]
249 ; CHECK: ins.s v2[3], v15[2] ; encoding: [0xe2,0x45,0x1c,0x6e]
250 ; CHECK: ins.h v2[7], v15[3] ; encoding: [0xe2,0x35,0x1e,0x6e]
251 ; CHECK: ins.b v2[10], v15[5] ; encoding: [0xe2,0x2d,0x15,0x6e]
253 ; MOV aliases for the above INS instructions.
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: ins.d v2[1], x5 ; encoding: [0xa2,0x1c,0x18,0x4e]
275 ; CHECK: ins.s v3[1], w6 ; encoding: [0xc3,0x1c,0x0c,0x4e]
276 ; CHECK: ins.h v4[1], w7 ; encoding: [0xe4,0x1c,0x06,0x4e]
277 ; CHECK: ins.b v5[1], w8 ; encoding: [0x05,0x1d,0x03,0x4e]
278 ; CHECK: ins.d v9[1], x2 ; encoding: [0x49,0x1c,0x18,0x4e]
279 ; CHECK: ins.s v8[1], w3 ; encoding: [0x68,0x1c,0x0c,0x4e]
280 ; CHECK: ins.h v7[1], w4 ; encoding: [0x87,0x1c,0x06,0x4e]
281 ; CHECK: ins.b v6[1], w5 ; encoding: [0xa6,0x1c,0x03,0x4e]
282 ; CHECK: ins.d v1[1], v10[1] ; encoding: [0x41,0x45,0x18,0x6e]
283 ; CHECK: ins.s v2[1], v11[1] ; encoding: [0x62,0x25,0x0c,0x6e]
284 ; CHECK: ins.h v7[1], v12[1] ; encoding: [0x87,0x15,0x06,0x6e]
285 ; CHECK: ins.b v8[1], v15[1] ; encoding: [0xe8,0x0d,0x03,0x6e]
286 ; CHECK: ins.d v2[1], v15[0] ; encoding: [0xe2,0x05,0x18,0x6e]
287 ; CHECK: ins.s v7[3], v16[2] ; encoding: [0x07,0x46,0x1c,0x6e]
288 ; CHECK: ins.h v8[7], v17[3] ; encoding: [0x28,0x36,0x1e,0x6e]
289 ; CHECK: ins.b v9[10], v18[5] ; encoding: [0x49,0x2e,0x15,0x6e]
295 ; CHECK: and.8b v0, v0, v0 ; encoding: [0x00,0x1c,0x20,0x0e]
296 ; CHECK: and.16b v0, v0, v0 ; encoding: [0x00,0x1c,0x20,0x4e]
300 ; CHECK: bic.8b v0, v0, v0 ; encoding: [0x00,0x1c,0x60,0x0e]
317 fmaxnmp.2s v0, v0, v0
321 fminnmp.2s v0, v0, v0
332 frsqrts.2s v0, v0, v0
347 sqdmulh.4h v0, v0, v0
348 sqrdmulh.4h 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]
452 fmaxnmp.4h v0, v0, v0
456 fminnmp.4h v0, v0, v0
465 frsqrts.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]
502 fmaxnmp.8h v0, v0, v0
506 fminnmp.8h v0, v0, v0
515 frsqrts.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]
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]
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]
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]
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]
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]
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]
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 ;===-------------------------------------------------------------------------===
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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 ;===-------------------------------------------------------------------------===
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, #0x1 ; encoding: [0x20,0x14,0x00,0x2f]
935 ; CHECK: bic.2s v0, #0x1 ; encoding: [0x20,0x14,0x00,0x2f]
936 ; CHECK: bic.2s v0, #0x1, lsl #8 ; encoding: [0x20,0x34,0x00,0x2f]
937 ; CHECK: bic.2s v0, #0x1, lsl #16 ; encoding: [0x20,0x54,0x00,0x2f]
938 ; CHECK: bic.2s v0, #0x1, lsl #24 ; encoding: [0x20,0x74,0x00,0x2f]
941 bic.4h v0, #1, lsl #0
942 bic.4h v0, #1, lsl #8
944 ; CHECK: bic.4h v0, #0x1 ; encoding: [0x20,0x94,0x00,0x2f]
945 ; CHECK: bic.4h v0, #0x1 ; encoding: [0x20,0x94,0x00,0x2f]
946 ; CHECK: bic.4h v0, #0x1, lsl #8 ; encoding: [0x20,0xb4,0x00,0x2f]
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, #0x1 ; encoding: [0x20,0x14,0x00,0x6f]
955 ; CHECK: bic.4s v0, #0x1 ; encoding: [0x20,0x14,0x00,0x6f]
956 ; CHECK: bic.4s v0, #0x1, lsl #8 ; encoding: [0x20,0x34,0x00,0x6f]
957 ; CHECK: bic.4s v0, #0x1, lsl #16 ; encoding: [0x20,0x54,0x00,0x6f]
958 ; CHECK: bic.4s v0, #0x1, lsl #24 ; encoding: [0x20,0x74,0x00,0x6f]
961 bic.8h v0, #1, lsl #0
962 bic.8h v0, #1, lsl #8
964 ; CHECK: bic.8h v0, #0x1 ; encoding: [0x20,0x94,0x00,0x6f]
965 ; CHECK: bic.8h v0, #0x1 ; encoding: [0x20,0x94,0x00,0x6f]
966 ; CHECK: bic.8h v0, #0x1, 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]
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, #0x1 ; encoding: [0x20,0x14,0x00,0x0f]
985 ; CHECK: orr.2s v0, #0x1 ; encoding: [0x20,0x14,0x00,0x0f]
986 ; CHECK: orr.2s v0, #0x1, lsl #8 ; encoding: [0x20,0x34,0x00,0x0f]
987 ; CHECK: orr.2s v0, #0x1, lsl #16 ; encoding: [0x20,0x54,0x00,0x0f]
988 ; CHECK: orr.2s v0, #0x1, lsl #24 ; encoding: [0x20,0x74,0x00,0x0f]
991 orr.4h v0, #1, lsl #0
992 orr.4h v0, #1, lsl #8
994 ; CHECK: orr.4h v0, #0x1 ; encoding: [0x20,0x94,0x00,0x0f]
995 ; CHECK: orr.4h v0, #0x1 ; encoding: [0x20,0x94,0x00,0x0f]
996 ; CHECK: orr.4h v0, #0x1, lsl #8 ; encoding: [0x20,0xb4,0x00,0x0f]
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, #0x1 ; encoding: [0x20,0x14,0x00,0x4f]
1005 ; CHECK: orr.4s v0, #0x1 ; encoding: [0x20,0x14,0x00,0x4f]
1006 ; CHECK: orr.4s v0, #0x1, lsl #8 ; encoding: [0x20,0x34,0x00,0x4f]
1007 ; CHECK: orr.4s v0, #0x1, lsl #16 ; encoding: [0x20,0x54,0x00,0x4f]
1008 ; CHECK: orr.4s v0, #0x1, lsl #24 ; encoding: [0x20,0x74,0x00,0x4f]
1011 orr.8h v0, #1, lsl #0
1012 orr.8h v0, #1, lsl #8
1014 ; CHECK: orr.8h v0, #0x1 ; encoding: [0x20,0x94,0x00,0x4f]
1015 ; CHECK: orr.8h v0, #0x1 ; encoding: [0x20,0x94,0x00,0x4f]
1016 ; CHECK: orr.8h v0, #0x1, 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]
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, #0x1 ; encoding: [0x20,0x04,0x00,0x0f]
1031 ; CHECK: movi.2s v0, #0x1 ; encoding: [0x20,0x04,0x00,0x0f]
1032 ; CHECK: movi.2s v0, #0x1, lsl #8 ; encoding: [0x20,0x24,0x00,0x0f]
1033 ; CHECK: movi.2s v0, #0x1, lsl #16 ; encoding: [0x20,0x44,0x00,0x0f]
1034 ; CHECK: movi.2s v0, #0x1, lsl #24 ; encoding: [0x20,0x64,0x00,0x0f]
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, #0x1 ; encoding: [0x20,0x04,0x00,0x4f]
1043 ; CHECK: movi.4s v0, #0x1 ; encoding: [0x20,0x04,0x00,0x4f]
1044 ; CHECK: movi.4s v0, #0x1, lsl #8 ; encoding: [0x20,0x24,0x00,0x4f]
1045 ; CHECK: movi.4s v0, #0x1, lsl #16 ; encoding: [0x20,0x44,0x00,0x4f]
1046 ; CHECK: movi.4s v0, #0x1, lsl #24 ; encoding: [0x20,0x64,0x00,0x4f]
1049 movi.4h v0, #1, lsl #0
1050 movi.4h v0, #1, lsl #8
1052 ; CHECK: movi.4h v0, #0x1 ; encoding: [0x20,0x84,0x00,0x0f]
1053 ; CHECK: movi.4h v0, #0x1 ; encoding: [0x20,0x84,0x00,0x0f]
1054 ; CHECK: movi.4h v0, #0x1, lsl #8 ; encoding: [0x20,0xa4,0x00,0x0f]
1057 movi.8h v0, #1, lsl #0
1058 movi.8h v0, #1, lsl #8
1060 ; CHECK: movi.8h v0, #0x1 ; encoding: [0x20,0x84,0x00,0x4f]
1061 ; CHECK: movi.8h v0, #0x1 ; encoding: [0x20,0x84,0x00,0x4f]
1062 ; CHECK: movi.8h v0, #0x1, 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, #0x1, msl #8 ; encoding: [0x20,0xc4,0x00,0x0f]
1070 ; CHECK: movi.2s v0, #0x1, msl #16 ; encoding: [0x20,0xd4,0x00,0x0f]
1071 ; CHECK: movi.4s v0, #0x1, msl #8 ; encoding: [0x20,0xc4,0x00,0x4f]
1072 ; CHECK: movi.4s v0, #0x1, msl #16 ; encoding: [0x20,0xd4,0x00,0x4f]
1077 ; CHECK: movi.8b v0, #0x1 ; encoding: [0x20,0xe4,0x00,0x0f]
1078 ; CHECK: movi.16b v0, #0x1 ; encoding: [0x20,0xe4,0x00,0x4f]
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, #0x1 ; encoding: [0x20,0x04,0x00,0x2f]
1087 ; CHECK: mvni.2s v0, #0x1 ; encoding: [0x20,0x04,0x00,0x2f]
1088 ; CHECK: mvni.2s v0, #0x1, lsl #8 ; encoding: [0x20,0x24,0x00,0x2f]
1089 ; CHECK: mvni.2s v0, #0x1, lsl #16 ; encoding: [0x20,0x44,0x00,0x2f]
1090 ; CHECK: mvni.2s v0, #0x1, lsl #24 ; encoding: [0x20,0x64,0x00,0x2f]
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, #0x1 ; encoding: [0x20,0x04,0x00,0x6f]
1099 ; CHECK: mvni.4s v0, #0x1 ; encoding: [0x20,0x04,0x00,0x6f]
1100 ; CHECK: mvni.4s v0, #0x1, lsl #8 ; encoding: [0x20,0x24,0x00,0x6f]
1101 ; CHECK: mvni.4s v0, #0x1, lsl #16 ; encoding: [0x20,0x44,0x00,0x6f]
1102 ; CHECK: mvni.4s v0, #0x1, lsl #24 ; encoding: [0x20,0x64,0x00,0x6f]
1105 mvni.4h v0, #1, lsl #0
1106 mvni.4h v0, #1, lsl #8
1108 ; CHECK: mvni.4h v0, #0x1 ; encoding: [0x20,0x84,0x00,0x2f]
1109 ; CHECK: mvni.4h v0, #0x1 ; encoding: [0x20,0x84,0x00,0x2f]
1110 ; CHECK: mvni.4h v0, #0x1, lsl #8 ; encoding: [0x20,0xa4,0x00,0x2f]
1113 mvni.8h v0, #1, lsl #0
1114 mvni.8h v0, #1, lsl #8
1116 ; CHECK: mvni.8h v0, #0x1 ; encoding: [0x20,0x84,0x00,0x6f]
1117 ; CHECK: mvni.8h v0, #0x1 ; encoding: [0x20,0x84,0x00,0x6f]
1118 ; CHECK: mvni.8h v0, #0x1, 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, #0x1, msl #8 ; encoding: [0x20,0xc4,0x00,0x2f]
1126 ; CHECK: mvni.2s v0, #0x1, msl #16 ; encoding: [0x20,0xd4,0x00,0x2f]
1127 ; CHECK: mvni.4s v0, #0x1, msl #8 ; encoding: [0x20,0xc4,0x00,0x6f]
1128 ; CHECK: mvni.4s v0, #0x1, 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 ;===-------------------------------------------------------------------------===
1172 ;===-------------------------------------------------------------------------===
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 ;===-------------------------------------------------------------------------===
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
1458 rshrn2.16b v0, v0, #2
1460 rshrn2.8h v0, v0, #4
1462 rshrn2.4s v0, v0, #6
1474 shrn2.16b v0, v0, #2
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
1506 sqshl.16b v0, v0, #2
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
1532 srshr.16b v0, v0, #2
1539 srsra.16b v0, v0, #2
1546 sshll2.8h v0, v0, #2
1548 sshll2.4s v0, v0, #4
1550 sshll2.2d v0, v0, #6
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
1576 uqshl.16b v0, v0, #2
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
1589 urshr.16b v0, v0, #2
1596 ursra.16b v0, v0, #2
1603 ushll2.8h v0, v0, #2
1605 ushll2.4s v0, v0, #4
1607 ushll2.2d v0, v0, #6
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]
1932 pmull2.8h v0, v0, v0
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]
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
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]
1987 ; CHECK: sqdmull s0, h0, h0 ; encoding: [0x00,0xd0,0x60,0x5e]
1988 ; CHECK: sqdmull d0, s0, s0 ; encoding: [0x00,0xd0,0xa0,0x5e]
1992 ; CHECK: frsqrte s0, s0 ; encoding: [0x00,0xd8,0xa1,0x7e]
1993 ; CHECK: frsqrte d0, d0 ; encoding: [0x00,0xd8,0xe1,0x7e]
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'.
2031 mvn v19.16b, v17.16b
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
2052 xtn2 v14.16b, v14.8h
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]