1 // RUN
: not llvm-mc
-triple aarch64-none-linux-gnu
-mattr
=+neon
< %s
2> %t
2 // RUN
: FileCheck
--check-prefix
=CHECK-ERROR
< %t %s
4 //------------------------------------------------------------------------------
5 // Vector Integer
Add/sub
6 //------------------------------------------------------------------------------
8 // Mismatched vector types
9 add v0.16
b, v1.8
b, v2.8
b
10 sub v0.2d
, v1.2d
, v2.2s
12 // CHECK-ERROR
: error
: invalid operand for instruction
13 // CHECK-ERROR
: add v0.16
b, v1.8
b, v2.8
b
15 // CHECK-ERROR
: error
: invalid operand for instruction
16 // CHECK-ERROR
: sub v0.2d
, v1.2d
, v2.2s
19 //------------------------------------------------------------------------------
20 // Vector Floating-Point
Add/sub
21 //------------------------------------------------------------------------------
23 // Mismatched
and invalid vector types
24 fadd v0.2d
, v1.2s
, v2.2s
25 fsub v0.4s
, v1.2s
, v2.4s
26 fsub v0.8
b, v1.8
b, v2.8
b
28 // CHECK-ERROR
: error
: invalid operand for instruction
29 // CHECK-ERROR
: fadd v0.2d
, v1.2s
, v2.2s
31 // CHECK-ERROR
: error
: invalid operand for instruction
32 // CHECK-ERROR
: fsub v0.4s
, v1.2s
, v2.4s
34 // CHECK-ERROR
: error
: invalid operand for instruction
35 // CHECK-ERROR
: fsub v0.8
b, v1.8
b, v2.8
b
38 //----------------------------------------------------------------------
40 //----------------------------------------------------------------------
42 // Mismatched
and invalid vector types
43 mul v0.16
b, v1.8
b, v2.8
b
44 mul v0.2d
, v1.2d
, v2.2d
46 // CHECK-ERROR
: error
: invalid operand for instruction
47 // CHECK-ERROR
: mul v0.16
b, v1.8
b, v2.8
b
49 // CHECK-ERROR
: error
: invalid operand for instruction
50 // CHECK-ERROR
: mul v0.2d
, v1.2d
, v2.2d
53 //----------------------------------------------------------------------
54 // Vector Floating-Point
Mul/Div
55 //----------------------------------------------------------------------
56 // Mismatched vector types
57 fmul v0.16
b, v1.8
b, v2.8
b
58 fdiv v0.2s
, v1.2d
, v2.2d
60 // CHECK-ERROR
: error
: invalid operand for instruction
61 // CHECK-ERROR
: fmul v0.16
b, v1.8
b, v2.8
b
63 // CHECK-ERROR
: error
: invalid operand for instruction
64 // CHECK-ERROR
: fdiv v0.2s
, v1.2d
, v2.2d
67 //----------------------------------------------------------------------
68 // Vector
And Orr Eor Bsl Bit Bif
, Orn
, Bic
,
69 //----------------------------------------------------------------------
70 // Mismatched
and invalid vector types
71 and v0.8
b, v1.16
b, v2.8
b
72 orr v0.4h
, v1.4h
, v2.4h
73 eor v0.2s
, v1.2s
, v2.2s
74 bsl v0.8
b, v1.16
b, v2.8
b
75 bsl v0.2s
, v1.2s
, v2.2s
76 bit v0.2d
, v1.2d
, v2.2d
77 bif v0.4h
, v1.4h
, v2.4h
78 orn v0.8
b, v1.16
b, v2.16
b
79 bic v0.2d
, v1.2d
, v2.2d
81 // CHECK-ERROR
: error
: invalid operand for instruction
82 // CHECK-ERROR
: and v0.8
b, v1.16
b, v2.8
b
84 // CHECK-ERROR
: error
: immediate must
be an integer in range
[0, 255]
85 // CHECK-ERROR
: orr v0.4h
, v1.4h
, v2.4h
87 // CHECK-ERROR
: error
: invalid operand for instruction
88 // CHECK-ERROR
: eor v0.2s
, v1.2s
, v2.2s
90 // CHECK-ERROR
: error
: invalid operand for instruction
91 // CHECK-ERROR
: bsl v0.8
b, v1.16
b, v2.8
b
93 // CHECK-ERROR
: error
: invalid operand for instruction
94 // CHECK-ERROR
: bsl v0.2s
, v1.2s
, v2.2s
96 // CHECK-ERROR
: error
: invalid operand for instruction
97 // CHECK-ERROR
: bit v0.2d
, v1.2d
, v2.2d
99 // CHECK-ERROR
: error
: invalid operand for instruction
100 // CHECK-ERROR
: bif v0.4h
, v1.4h
, v2.4h
102 // CHECK-ERROR
: error
: invalid operand for instruction
103 // CHECK-ERROR
: orn v0.8
b, v1.16
b, v2.16
b
105 // CHECK-ERROR
: error
: invalid operand for instruction
106 // CHECK-ERROR
: bic v0.2d
, v1.2d
, v2.2d
109 //----------------------------------------------------------------------
110 // Vector Integer Multiply-accumulate
and Multiply-subtract
111 //----------------------------------------------------------------------
113 // Mismatched
and invalid vector types
114 mla v0.16
b, v1.8
b, v2.8
b
115 mls v0.2d
, v1.2d
, v2.2d
117 // CHECK-ERROR
: error
: invalid operand for instruction
118 // CHECK-ERROR
: mla v0.16
b, v1.8
b, v2.8
b
120 // CHECK-ERROR
: error
: invalid operand for instruction
121 // CHECK-ERROR
: mls v0.2d
, v1.2d
, v2.2d
124 //----------------------------------------------------------------------
125 // Vector Floating-Point Multiply-accumulate
and Multiply-subtract
126 //----------------------------------------------------------------------
127 // Mismatched vector types
128 fmla v0.2s
, v1.2d
, v2.2d
129 fmls v0.16
b, v1.8
b, v2.8
b
131 // CHECK-ERROR
: error
: invalid operand for instruction
132 // CHECK-ERROR
: fmla v0.2s
, v1.2d
, v2.2d
134 // CHECK-ERROR
: error
: invalid operand for instruction
135 // CHECK-ERROR
: fmls v0.16
b, v1.8
b, v2.8
b
139 //----------------------------------------------------------------------
140 // Vector Move Immediate Shifted
141 // Vector Move Inverted Immediate Shifted
142 // Vector Bitwise Bit Clear
(AND NOT) - immediate
143 // Vector Bitwise
OR - immedidate
144 //----------------------------------------------------------------------
145 // out of range immediate
(0 to
0xff)
148 // out of range shift
(0, 8, 16, 24 and 0, 8)
149 bic v15.4h
, #1, lsl #7
150 orr v31.2s
, #1, lsl #25
151 movi v5.4h
, #10, lsl #16
152 // invalid vector type
(2s
, 4s
, 4h
, 8h
)
153 movi v5.8
b, #1, lsl #8
155 // CHECK-ERROR
: error
: immediate must
be an integer in range
[0, 255]
156 // CHECK-ERROR
: movi v0.2s
, #-1
158 // CHECK-ERROR
: error
: immediate must
be an integer in range
[0, 255]
159 // CHECK-ERROR
: mvni v1.4s
, #256
161 // CHECK-ERROR
: error
: invalid operand for instruction
162 // CHECK-ERROR
: bic v15.4h
, #1, lsl #7
164 // CHECK-ERROR
: error
: invalid operand for instruction
165 // CHECK-ERROR
: orr v31.2s
, #1, lsl #25
167 // CHECK-ERROR
: error
: invalid operand for instruction
168 // CHECK-ERROR
: movi v5.4h
, #10, lsl #16
170 // CHECK-ERROR
: error
: invalid operand for instruction
171 // CHECK-ERROR
: movi v5.8
b, #1, lsl #8
173 //----------------------------------------------------------------------
174 // Vector Move Immediate Masked
175 // Vector Move Inverted Immediate Masked
176 //----------------------------------------------------------------------
177 // out of range immediate
(0 to
0xff)
178 movi v0.2s
, #-1, msl #8
179 mvni v7.4s
, #256, msl #16
180 // out of range shift
(8, 16)
181 movi v3.2s
, #1, msl #0
182 mvni v17.4s
, #255, msl #32
183 // invalid vector type
(2s
, 4s
)
184 movi v5.4h
, #31, msl #8
186 // CHECK-ERROR
: error
: immediate must
be an integer in range
[0, 255]
187 // CHECK-ERROR
: movi v0.2s
, #-1, msl #8
189 // CHECK-ERROR
: error
: immediate must
be an integer in range
[0, 255]
190 // CHECK-ERROR
: mvni v7.4s
, #256, msl #16
192 // CHECK-ERROR
: error
: invalid operand for instruction
193 // CHECK-ERROR
: movi v3.2s
, #1, msl #0
195 // CHECK-ERROR
: error
: invalid operand for instruction
196 // CHECK-ERROR
: mvni v17.4s
, #255, msl #32
198 // CHECK-ERROR
: error
: invalid operand for instruction
199 // CHECK-ERROR
: movi v5.4h
, #31, msl #8
202 //----------------------------------------------------------------------
203 // Vector Immediate
- per byte
204 //----------------------------------------------------------------------
205 // out of range immediate
(0 to
0xff)
209 // CHECK-ERROR
: error
: immediate must
be an integer in range
[0, 255]
210 // CHECK-ERROR
: movi v0.8
b, #-1
212 // CHECK-ERROR
: error
: immediate must
be an integer in range
[0, 255]
213 // CHECK-ERROR
: movi v1.16
b, #256
216 //----------------------------------------------------------------------
217 // Scalar Floating-point Reciprocal Estimate
218 //----------------------------------------------------------------------
223 // CHECK-ERROR
: error
: invalid operand for instruction
224 // CHECK-ERROR
: frecpe s19
, h14
226 // CHECK-ERROR
: error
: invalid operand for instruction
227 // CHECK-ERROR
: frecpe d13
, s13
230 //----------------------------------------------------------------------
231 // Scalar Floating-point Reciprocal Exponent
232 //----------------------------------------------------------------------
237 // CHECK-ERROR
: error
: invalid operand for instruction
238 // CHECK-ERROR
: frecpx s18
, h10
240 // CHECK-ERROR
: error
: invalid operand for instruction
241 // CHECK-ERROR
: frecpx d16
, s19
244 //----------------------------------------------------------------------
245 // Scalar Floating-point Reciprocal Square Root Estimate
246 //----------------------------------------------------------------------
251 // CHECK-ERROR
: error
: invalid operand for instruction
252 // CHECK-ERROR
: frsqrte s22
, h13
254 // CHECK-ERROR
: error
: invalid operand for instruction
255 // CHECK-ERROR
: frsqrte d21
, s12
258 //----------------------------------------------------------------------
259 // Vector Move Immediate
- bytemask
, per doubleword
260 //---------------------------------------------------------------------
261 // invalid bytemask
(0x00 or 0xff)
262 movi v0.2d
, #0x10ff00ff00ff00ff
264 // CHECK
:ERROR
: error
: invalid operand for instruction
265 // CHECK
:ERROR
: movi v0.2d
, #0x10ff00ff00ff00ff
268 //----------------------------------------------------------------------
269 // Vector Move Immediate
- bytemask
, one doubleword
270 //----------------------------------------------------------------------
271 // invalid bytemask
(0x00 or 0xff)
272 movi v0.2d
, #0xffff00ff001f00ff
274 // CHECK
:ERROR
: error
: invalid operand for instruction
275 // CHECK
:ERROR
: movi v0.2d
, #0xffff00ff001f00ff
277 //----------------------------------------------------------------------
278 // Vector Floating Point Move Immediate
279 //----------------------------------------------------------------------
280 // invalid vector type
(2s
, 4s
, 2d
)
282 // invalid immediate
(negative hexadecimal encoding
)
285 // CHECK
:ERROR
: error
: invalid operand for instruction
286 // CHECK
:ERROR
: fmov v0.4h
, #1.0
288 // CHECK-ERROR
: error
: encoded floating point value out of range
289 // CHECK-ERROR
: fmov v0.4s
, #-0x0
292 //----------------------------------------------------------------------
293 // Vector Move
- register
294 //----------------------------------------------------------------------
295 // invalid vector type
(8b, 16b)
297 // CHECK
:ERROR
: error
: invalid operand for instruction
298 // CHECK
:ERROR
: mov v0.2s
, v31.8
b
301 //----------------------------------------------------------------------
302 // Vector Absolute Difference
and Accumulate
(Signed
, Unsigned
)
303 //----------------------------------------------------------------------
305 // Mismatched
and invalid vector types
(2d
)
306 saba v0.16
b, v1.8
b, v2.8
b
307 uaba v0.2d
, v1.2d
, v2.2d
309 // CHECK-ERROR
: error
: invalid operand for instruction
310 // CHECK-ERROR
: saba v0.16
b, v1.8
b, v2.8
b
312 // CHECK-ERROR
: error
: invalid operand for instruction
313 // CHECK-ERROR
: uaba v0.2d
, v1.2d
, v2.2d
316 //----------------------------------------------------------------------
317 // Vector Absolute Difference
and Accumulate
(Signed
, Unsigned
)
318 // Vector Absolute Difference
(Signed
, Unsigned
)
320 // Mismatched
and invalid vector types
(2d
)
321 uaba v0.16
b, v1.8
b, v2.8
b
322 saba v0.2d
, v1.2d
, v2.2d
323 uabd v0.4s
, v1.2s
, v2.2s
324 sabd v0.4h
, v1.8h
, v8.8h
326 // CHECK-ERROR
: error
: invalid operand for instruction
327 // CHECK-ERROR
: uaba v0.16
b, v1.8
b, v2.8
b
329 // CHECK-ERROR
: error
: invalid operand for instruction
330 // CHECK-ERROR
: saba v0.2d
, v1.2d
, v2.2d
332 // CHECK-ERROR
: error
: invalid operand for instruction
333 // CHECK-ERROR
: uabd v0.4s
, v1.2s
, v2.2s
335 // CHECK-ERROR
: error
: invalid operand for instruction
336 // CHECK-ERROR
: sabd v0.4h
, v1.8h
, v8.8h
339 //----------------------------------------------------------------------
340 // Vector Absolute Difference
(Floating Point
)
341 //----------------------------------------------------------------------
342 // Mismatched
and invalid vector types
343 fabd v0.2s
, v1.4s
, v2.2d
344 fabd v0.4h
, v1.4h
, v2.4h
346 // CHECK-ERROR
: error
: invalid operand for instruction
347 // CHECK-ERROR
: fabd v0.2s
, v1.4s
, v2.2d
349 // CHECK-ERROR
: error
: instruction requires
: fullfp16
350 // CHECK-ERROR
: fabd v0.4h
, v1.4h
, v2.4h
352 //----------------------------------------------------------------------
353 // Vector Multiply
(Polynomial
)
354 //----------------------------------------------------------------------
356 // Mismatched
and invalid vector types
357 pmul v0.8
b, v1.8
b, v2.16
b
358 pmul v0.2s
, v1.2s
, v2.2s
360 // CHECK-ERROR
: error
: invalid operand for instruction
361 // CHECK-ERROR
: pmul v0.8
b, v1.8
b, v2.16
b
363 // CHECK-ERROR
: error
: invalid operand for instruction
364 // CHECK-ERROR
: pmul v0.2s
, v1.2s
, v2.2s
367 //----------------------------------------------------------------------
368 // Scalar Integer
Add and Sub
369 //----------------------------------------------------------------------
371 // Mismatched registers
375 // CHECK-ERROR
: error
: invalid operand for instruction
376 // CHECK-ERROR
: add d0
, s1
, d2
378 // CHECK-ERROR
: error
: invalid operand for instruction
379 // CHECK-ERROR
: sub s1
, d1
, d2
382 //----------------------------------------------------------------------
383 // Vector Reciprocal Step
(Floating Point
)
384 //----------------------------------------------------------------------
386 // Mismatched
and invalid vector types
387 frecps v0.4s
, v1.2d
, v2.4s
388 frecps v0.8h
, v1.8h
, v2.8h
390 // CHECK-ERROR
: error
: invalid operand for instruction
391 // CHECK-ERROR
: frecps v0.4s
, v1.2d
, v2.4s
393 // CHECK-ERROR
: error
: instruction requires
: fullfp16
394 // CHECK-ERROR
: frecps v0.8h
, v1.8h
, v2.8h
397 //----------------------------------------------------------------------
398 // Vector Reciprocal Square Root Step
(Floating Point
)
399 //----------------------------------------------------------------------
401 // Mismatched
and invalid vector types
402 frsqrts v0.2d
, v1.2d
, v2.2s
403 frsqrts v0.4h
, v1.4h
, v2.4h
405 // CHECK-ERROR
: error
: invalid operand for instruction
406 // CHECK-ERROR
: frsqrts v0.2d
, v1.2d
, v2.2s
408 // CHECK-ERROR
: error
: instruction requires
: fullfp16
409 // CHECK-ERROR
: frsqrts v0.4h
, v1.4h
, v2.4h
413 //----------------------------------------------------------------------
414 // Vector Absolute Compare Mask Less Than
Or Equal
(Floating Point
)
415 //----------------------------------------------------------------------
417 // Mismatched
and invalid vector types
418 facge v0.2d
, v1.2s
, v2.2d
419 facge v0.4h
, v1.4h
, v2.4h
420 facle v0.8h
, v1.4h
, v2.4h
422 // CHECK-ERROR
: error
: invalid operand for instruction
423 // CHECK-ERROR
: facge v0.2d
, v1.2s
, v2.2d
425 // CHECK-ERROR
: error
: instruction requires
: fullfp16
426 // CHECK-ERROR
: facge v0.4h
, v1.4h
, v2.4h
428 // CHECK-ERROR
: error
: invalid operand for instruction
429 // CHECK-ERROR
: facle v0.8h
, v1.4h
, v2.4h
431 //----------------------------------------------------------------------
432 // Vector Absolute Compare Mask Less Than
(Floating Point
)
433 //----------------------------------------------------------------------
435 // Mismatched
and invalid vector types
436 facgt v0.2d
, v1.2d
, v2.4s
437 facgt v0.8h
, v1.8h
, v2.8h
438 faclt v0.8
b, v1.8
b, v2.8
b
440 // CHECK-ERROR
: error
: invalid operand for instruction
441 // CHECK-ERROR
: facgt v0.2d
, v1.2d
, v2.4s
443 // CHECK-ERROR
: error
: instruction requires
: fullfp16
444 // CHECK-ERROR
: facgt v0.8h
, v1.8h
, v2.8h
446 // CHECK-ERROR
: error
: invalid operand for instruction
447 // CHECK-ERROR
: faclt v0.8
b, v1.8
b, v2.8
b
451 //----------------------------------------------------------------------
452 // Vector Compare Mask Equal
(Integer
)
453 //----------------------------------------------------------------------
455 // Mismatched vector types
456 cmeq c0.2d
, v1.2d
, v2.2s
458 // CHECK-ERROR
: error
: invalid operand for instruction
459 // CHECK-ERROR
: cmeq c0.2d
, v1.2d
, v2.2s
462 //----------------------------------------------------------------------
463 // Vector Compare Mask Higher
or Same
(Unsigned Integer
)
464 // Vector Compare Mask Less
or Same
(Unsigned Integer
)
465 // CMLS is alias for CMHS with operands reversed.
466 //----------------------------------------------------------------------
468 // Mismatched vector types
469 cmhs c0.4h
, v1.8
b, v2.8
b
470 cmls c0.16
b, v1.16
b, v2.2d
472 // CHECK-ERROR
: error
: invalid operand for instruction
473 // CHECK-ERROR
: cmhs c0.4h
, v1.8
b, v2.8
b
475 // CHECK-ERROR
: error
: invalid operand for instruction
476 // CHECK-ERROR
: cmls c0.16
b, v1.16
b, v2.2d
479 //----------------------------------------------------------------------
480 // Vector Compare Mask Greater Than
or Equal
(Integer
)
481 // Vector Compare Mask Less Than
or Equal
(Integer
)
482 // CMLE is alias for CMGE with operands reversed.
483 //----------------------------------------------------------------------
485 // Mismatched vector types
486 cmge c0.8h
, v1.8
b, v2.8
b
487 cmle c0.4h
, v1.2s
, v2.2s
489 // CHECK-ERROR
: error
: invalid operand for instruction
490 // CHECK-ERROR
: cmge c0.8h
, v1.8
b, v2.8
b
492 // CHECK-ERROR
: error
: invalid operand for instruction
493 // CHECK-ERROR
: cmle c0.4h
, v1.2s
, v2.2s
496 //----------------------------------------------------------------------
497 // Vector Compare Mask Higher
(Unsigned Integer
)
498 // Vector Compare Mask Lower
(Unsigned Integer
)
499 // CMLO is alias for CMHI with operands reversed.
500 //----------------------------------------------------------------------
502 // Mismatched vector types
503 cmhi c0.4s
, v1.4s
, v2.16
b
504 cmlo c0.8
b, v1.8
b, v2.2s
506 // CHECK-ERROR
: error
: invalid operand for instruction
507 // CHECK-ERROR
: cmhi c0.4s
, v1.4s
, v2.16
b
509 // CHECK-ERROR
: error
: invalid operand for instruction
510 // CHECK-ERROR
: cmlo c0.8
b, v1.8
b, v2.2s
513 //----------------------------------------------------------------------
514 // Vector Compare Mask Greater Than
(Integer
)
515 // Vector Compare Mask Less Than
(Integer
)
516 // CMLT is alias for CMGT with operands reversed.
517 //----------------------------------------------------------------------
519 // Mismatched vector types
520 cmgt c0.8
b, v1.4s
, v2.16
b
521 cmlt c0.8h
, v1.16
b, v2.4s
523 // CHECK-ERROR
: error
: invalid operand for instruction
524 // CHECK-ERROR
: cmgt c0.8
b, v1.4s
, v2.16
b
526 // CHECK-ERROR
: error
: invalid operand for instruction
527 // CHECK-ERROR
: cmlt c0.8h
, v1.16
b, v2.4s
530 //----------------------------------------------------------------------
531 // Vector Compare Mask Bitwise Test
(Integer
)
532 //----------------------------------------------------------------------
534 // Mismatched vector types
535 cmtst c0.16
b, v1.16
b, v2.4s
537 // CHECK-ERROR
: error
: invalid operand for instruction
538 // CHECK-ERROR
: cmtst c0.16
b, v1.16
b, v2.4s
541 //----------------------------------------------------------------------
542 // Vector Compare Mask Equal
(Floating Point
)
543 //----------------------------------------------------------------------
545 // Mismatched
and invalid vector types
546 fcmeq v0.2d
, v1.2s
, v2.2d
547 fcmeq v0.16
b, v1.16
b, v2.16
b
548 fcmeq v0.8
b, v1.4h
, v2.4h
550 // CHECK-ERROR
: error
: invalid operand for instruction
551 // CHECK-ERROR
: fcmeq v0.2d
, v1.2s
, v2.2d
553 // CHECK-ERROR
: error
: invalid operand for instruction
554 // CHECK-ERROR
: fcmeq v0.16
b, v1.16
b, v2.16
b
556 // CHECK-ERROR
: error
: invalid operand for instruction
557 // CHECK-ERROR
: fcmeq v0.8
b, v1.4h
, v2.4h
560 //----------------------------------------------------------------------
561 // Vector Compare Mask Greater Than
Or Equal
(Floating Point
)
562 // Vector Compare Mask Less Than
Or Equal
(Floating Point
)
563 // FCMLE is alias for FCMGE with operands reversed.
564 //----------------------------------------------------------------------
566 // Mismatched
and invalid vector types
567 fcmge v31.4s
, v29.2s
, v28.4s
568 fcmge v3.8
b, v8.2s
, v12.2s
569 fcmle v17.8h
, v15.2d
, v13.2d
571 // CHECK-ERROR
: error
: invalid operand for instruction
572 // CHECK-ERROR
: fcmge v31.4s
, v29.2s
, v28.4s
574 // CHECK-ERROR
: error
: invalid operand for instruction
575 // CHECK-ERROR
: fcmge v3.8
b, v8.2s
, v12.2s
577 // CHECK-ERROR
: error
: invalid operand for instruction
578 // CHECK-ERROR
: fcmle v17.8h
, v15.2d
, v13.2d
581 //----------------------------------------------------------------------
582 // Vector Compare Mask Greater Than
(Floating Point
)
583 // Vector Compare Mask Less Than
(Floating Point
)
584 // FCMLT is alias for FCMGT with operands reversed.
585 //----------------------------------------------------------------------
587 // Mismatched
and invalid vector types
588 fcmgt v0.2d
, v31.2s
, v16.2s
589 fcmgt v4.4s
, v7.4s
, v15.4h
590 fcmlt v29.2d
, v5.2d
, v2.16
b
592 // CHECK-ERROR
: error
: invalid operand for instruction
593 // CHECK-ERROR
: fcmgt v0.2d
, v31.2s
, v16.2s
596 // CHECK-ERROR
: error
: invalid operand for instruction
597 // CHECK-ERROR
: fcmgt v4.4s
, v7.4s
, v15.4h
599 // CHECK-ERROR
: error
: invalid operand for instruction
600 // CHECK-ERROR
: fcmlt v29.2d
, v5.2d
, v2.16
b
603 //----------------------------------------------------------------------
604 // Vector Compare Mask Equal to Zero
(Integer
)
605 //----------------------------------------------------------------------
606 // Mismatched vector types
and invalid imm
607 // Mismatched vector types
608 cmeq c0.2d
, v1.2s
, #0
609 cmeq c0.2d
, v1.2d
, #1
611 // CHECK-ERROR
: error
: invalid operand for instruction
612 // CHECK-ERROR
: cmeq c0.2d
, v1.2s
, #0
614 // CHECK-ERROR
: error
: invalid operand for instruction
615 // CHECK-ERROR
: cmeq c0.2d
, v1.2d
, #1
618 //----------------------------------------------------------------------
619 // Vector Compare Mask Greater Than
or Equal to Zero
(Signed Integer
)
620 //----------------------------------------------------------------------
621 // Mismatched vector types
and invalid imm
622 cmge c0.8h
, v1.8
b, #0
623 cmge c0.4s
, v1.4s
, #-1
625 // CHECK-ERROR
: error
: invalid operand for instruction
626 // CHECK-ERROR
: cmge c0.8h
, v1.8
b, #0
628 // CHECK-ERROR
: error
: invalid operand for instruction
629 // CHECK-ERROR
: cmge c0.4s
, v1.4s
, #-1
632 //----------------------------------------------------------------------
633 // Vector Compare Mask Greater Than Zero
(Signed Integer
)
634 //----------------------------------------------------------------------
635 // Mismatched vector types
and invalid imm
636 cmgt c0.8
b, v1.4s
, #0
637 cmgt c0.8
b, v1.8
b, #-255
639 // CHECK-ERROR
: error
: invalid operand for instruction
640 // CHECK-ERROR
: cmgt c0.8
b, v1.4s
, #0
642 // CHECK-ERROR
: error
: invalid operand for instruction
643 // CHECK-ERROR
: cmgt c0.8
b, v1.8
b, #-255
646 //----------------------------------------------------------------------
647 // Vector Compare Mask Less Than
or Equal To Zero
(Signed Integer
)
648 //----------------------------------------------------------------------
649 // Mismatched vector types
and invalid imm
650 cmle c0.4h
, v1.2s
, #0
651 cmle c0.16
b, v1.16
b, #16
653 // CHECK-ERROR
: error
: invalid operand for instruction
654 // CHECK-ERROR
: cmle c0.4h
, v1.2s
, #0
656 // CHECK-ERROR
: error
: invalid operand for instruction
657 // CHECK-ERROR
: cmle c0.16
b, v1.16
b, #16
659 //----------------------------------------------------------------------
660 // Vector Compare Mask Less Than Zero
(Signed Integer
)
661 //----------------------------------------------------------------------
662 // Mismatched vector types
and invalid imm
663 cmlt c0.8h
, v1.16
b, #0
664 cmlt c0.8h
, v1.8h
, #-15
666 // CHECK-ERROR
: error
: invalid operand for instruction
667 // CHECK-ERROR
: cmlt c0.8h
, v1.16
b, #0
669 // CHECK-ERROR
: error
: invalid operand for instruction
670 // CHECK-ERROR
: cmlt c0.8h
, v1.8h
, #-15
673 //----------------------------------------------------------------------
674 // Vector Compare Mask Equal to Zero
(Floating Point
)
675 //----------------------------------------------------------------------
677 // Mismatched
and invalid vector types
, invalid imm
678 fcmeq v0.2d
, v1.2s
, #0.0
679 fcmeq v0.16
b, v1.16
b, #0.0
680 fcmeq v0.8
b, v1.4h
, #1.0
681 fcmeq v0.8
b, v1.4h
, #1
683 // CHECK-ERROR
: error
: invalid operand for instruction
684 // CHECK-ERROR
: fcmeq v0.2d
, v1.2s
, #0.0
686 // CHECK-ERROR
: error
: invalid operand for instruction
687 // CHECK-ERROR
: fcmeq v0.16
b, v1.16
b, #0.0
691 // CHECK-ERROR
: error
: expected floating-point constant
#0.0
692 // CHECK-ERROR
: fcmeq v0.8
b, v1.4h
, #1.0
694 // CHECK-ERROR
: error
: invalid operand for instruction
695 // CHECK-ERROR
: fcmeq v0.8
b, v1.4h
, #1
698 //----------------------------------------------------------------------
699 // Vector Compare Mask Greater Than
or Equal to Zero
(Floating Point
)
700 //----------------------------------------------------------------------
702 // Mismatched
and invalid vector types
, invalid imm
703 fcmge v31.4s
, v29.2s
, #0.0
704 fcmge v3.8
b, v8.2s
, #0.0
705 fcmle v17.8h
, v15.2d
, #-1.0
706 fcmle v17.8h
, v15.2d
, #2
708 // CHECK-ERROR
: error
: invalid operand for instruction
709 // CHECK-ERROR
: fcmge v31.4s
, v29.2s
, #0.0
711 // CHECK-ERROR
: error
: invalid operand for instruction
712 // CHECK-ERROR
: fcmge v3.8
b, v8.2s
, #0.0
716 // CHECK-ERROR
: error
: expected floating-point constant
#0.0
717 // CHECK-ERROR
: fcmle v17.8h
, v15.2d
, #-1.0
719 // CHECK-ERROR
: error
: invalid operand for instruction
720 // CHECK-ERROR
: fcmle v17.8h
, v15.2d
, #2
723 //----------------------------------------------------------------------
724 // Vector Compare Mask Greater Than Zero
(Floating Point
)
725 //----------------------------------------------------------------------
726 // Mismatched
and invalid vector types
, invalid imm
727 fcmgt v0.2d
, v31.2s
, #0.0
728 fcmgt v4.4s
, v7.4h
, #0.0
729 fcmlt v29.2d
, v5.2d
, #255.0
730 fcmlt v29.2d
, v5.2d
, #255
732 // CHECK-ERROR
: error
: invalid operand for instruction
733 // CHECK-ERROR
: fcmgt v0.2d
, v31.2s
, #0.0
735 // CHECK-ERROR
: error
: invalid operand for instruction
736 // CHECK-ERROR
: fcmgt v4.4s
, v7.4h
, #0.0
740 // CHECK-ERROR
: error
: expected floating-point constant
#0.0
741 // CHECK-ERROR
: fcmlt v29.2d
, v5.2d
, #255.0
743 // CHECK-ERROR
: error
: invalid operand for instruction
744 // CHECK-ERROR
: fcmlt v29.2d
, v5.2d
, #255
747 //----------------------------------------------------------------------
748 // Vector Compare Mask Less Than
or Equal To Zero
(Floating Point
)
749 //----------------------------------------------------------------------
750 // Mismatched
and invalid vector types
, invalid imm
751 fcmge v31.4s
, v29.2s
, #0.0
752 fcmge v3.8
b, v8.2s
, #0.0
753 fcmle v17.2d
, v15.2d
, #15.0
754 fcmle v17.2d
, v15.2d
, #15
756 // CHECK-ERROR
: error
: invalid operand for instruction
757 // CHECK-ERROR
: fcmge v31.4s
, v29.2s
, #0.0
759 // CHECK-ERROR
: error
: invalid operand for instruction
760 // CHECK-ERROR
: fcmge v3.8
b, v8.2s
, #0.0
764 // CHECK-ERROR
: error
: expected floating-point constant
#0.0
765 // CHECK-ERROR
: fcmle v17.2d
, v15.2d
, #15.0
767 // CHECK-ERROR
: error
: invalid operand for instruction
768 // CHECK-ERROR
: fcmle v17.2d
, v15.2d
, #15
771 //----------------------------------------------------------------------
772 // Vector Compare Mask Less Than Zero
(Floating Point
)
773 //----------------------------------------------------------------------
774 // Mismatched
and invalid vector types
, invalid imm
775 fcmgt v0.2d
, v31.2s
, #0.0
776 fcmgt v4.4s
, v7.4h
, #0.0
777 fcmlt v29.2d
, v5.2d
, #16.0
778 fcmlt v29.2d
, v5.2d
, #2
780 // CHECK-ERROR
: error
: invalid operand for instruction
781 // CHECK-ERROR
: fcmgt v0.2d
, v31.2s
, #0.0
783 // CHECK-ERROR
: error
: invalid operand for instruction
784 // CHECK-ERROR
: fcmgt v4.4s
, v7.4h
, #0.0
788 // CHECK-ERROR
: error
: expected floating-point constant
#0.0
789 // CHECK-ERROR
: fcmlt v29.2d
, v5.2d
, #16.0
791 // CHECK-ERROR
: error
: invalid operand for instruction
792 // CHECK-ERROR
: fcmlt v29.2d
, v5.2d
, #2
795 /-----------------------------------------------------------------------
796 // Vector Integer Halving
Add (Signed
)
797 // Vector Integer Halving
Add (Unsigned
)
798 // Vector Integer Halving
Sub (Signed
)
799 // Vector Integer Halving
Sub (Unsigned
)
800 //----------------------------------------------------------------------
801 // Mismatched
and invalid vector types
(2d
)
802 shadd v0.2d
, v1.2d
, v2.2d
803 uhadd v4.2s
, v5.2s
, v5.4h
804 shsub v11.4h
, v12.8h
, v13.4h
805 uhsub v31.16
b, v29.8
b, v28.8
b
807 // CHECK-ERROR
: error
: invalid operand for instruction
808 // CHECK-ERROR
: shadd v0.2d
, v1.2d
, v2.2d
810 // CHECK-ERROR
: error
: invalid operand for instruction
811 // CHECK-ERROR
: uhadd v4.2s
, v5.2s
, v5.4h
813 // CHECK-ERROR
: error
: invalid operand for instruction
814 // CHECK-ERROR
: shsub v11.4h
, v12.8h
, v13.4h
816 // CHECK-ERROR
: error
: invalid operand for instruction
817 // CHECK-ERROR
: uhsub v31.16
b, v29.8
b, v28.8
b
820 //----------------------------------------------------------------------
821 // Vector Integer Rouding Halving
Add (Signed
)
822 // Vector Integer Rouding Halving
Add (Unsigned
)
823 //----------------------------------------------------------------------
825 // Mismatched
and invalid vector types
(2d
)
826 srhadd v0.2s
, v1.2s
, v2.2d
827 urhadd v0.16
b, v1.16
b, v2.8h
829 // CHECK-ERROR
: error
: invalid operand for instruction
830 // CHECK-ERROR
: srhadd v0.2s
, v1.2s
, v2.2d
832 // CHECK-ERROR
: error
: invalid operand for instruction
833 // CHECK-ERROR
: urhadd v0.16
b, v1.16
b, v2.8h
836 //----------------------------------------------------------------------
837 // Vector Integer Saturating
Add (Signed
)
838 // Vector Integer Saturating
Add (Unsigned
)
839 // Vector Integer Saturating
Sub (Signed
)
840 // Vector Integer Saturating
Sub (Unsigned
)
841 //----------------------------------------------------------------------
843 // Mismatched vector types
844 sqadd v0.2s
, v1.2s
, v2.2d
845 uqadd v31.8h
, v1.4h
, v2.4h
846 sqsub v10.8h
, v1.16
b, v2.16
b
847 uqsub v31.8
b, v1.8
b, v2.4s
849 // CHECK-ERROR
: error
: invalid operand for instruction
850 // CHECK-ERROR
: sqadd v0.2s
, v1.2s
, v2.2d
852 // CHECK-ERROR
: error
: invalid operand for instruction
853 // CHECK-ERROR
: uqadd v31.8h
, v1.4h
, v2.4h
855 // CHECK-ERROR
: error
: invalid operand for instruction
856 // CHECK-ERROR
: sqsub v10.8h
, v1.16
b, v2.16
b
858 // CHECK-ERROR
: error
: invalid operand for instruction
859 // CHECK-ERROR
: uqsub v31.8
b, v1.8
b, v2.4s
862 //----------------------------------------------------------------------
863 // Scalar Integer Saturating
Add (Signed
)
864 // Scalar Integer Saturating
Add (Unsigned
)
865 // Scalar Integer Saturating
Sub (Signed
)
866 // Scalar Integer Saturating
Sub (Unsigned
)
867 //----------------------------------------------------------------------
869 // Mismatched registers
875 // CHECK-ERROR
: error
: invalid operand for instruction
876 // CHECK-ERROR
: sqadd d0
, s31
, d2
878 // CHECK-ERROR
: error
: invalid operand for instruction
879 // CHECK-ERROR
: uqadd s0
, s1
, d2
881 // CHECK-ERROR
: error
: invalid operand for instruction
882 // CHECK-ERROR
: sqsub b0
, b2
, s18
884 // CHECK-ERROR
: error
: invalid operand for instruction
885 // CHECK-ERROR
: uqsub h1
, h2
, d2
888 //----------------------------------------------------------------------
889 // Scalar Integer Saturating Doubling Multiply Half High
(Signed
)
890 //----------------------------------------------------------------------
892 sqdmulh h10
, s11
, h12
895 // CHECK-ERROR
: error
: invalid operand for instruction
896 // CHECK-ERROR
: sqdmulh h10
, s11
, h12
898 // CHECK-ERROR
: error
: invalid operand for instruction
899 // CHECK-ERROR
: sqdmulh s20
, h21
, s2
902 //------------------------------------------------------------------------
903 // Scalar Integer Saturating Rounding Doubling Multiply Half High
(Signed
)
904 //------------------------------------------------------------------------
906 sqrdmulh h10
, s11
, h12
907 sqrdmulh s20
, h21
, s2
909 // CHECK-ERROR
: error
: invalid operand for instruction
910 // CHECK-ERROR
: sqrdmulh h10
, s11
, h12
912 // CHECK-ERROR
: error
: invalid operand for instruction
913 // CHECK-ERROR
: sqrdmulh s20
, h21
, s2
916 //----------------------------------------------------------------------
917 // Vector Shift Left
(Signed
and Unsigned Integer
)
918 //----------------------------------------------------------------------
919 // Mismatched vector types
920 sshl v0.4s
, v15.2s
, v16.2s
921 ushl v1.16
b, v25.16
b, v6.8h
923 // CHECK-ERROR
: error
: invalid operand for instruction
924 // CHECK-ERROR
: sshl v0.4s
, v15.2s
, v16.2s
926 // CHECK-ERROR
: error
: invalid operand for instruction
927 // CHECK-ERROR
: ushl v1.16
b, v25.16
b, v6.8h
930 //----------------------------------------------------------------------
931 // Vector Saturating Shift Left
(Signed
and Unsigned Integer
)
932 //----------------------------------------------------------------------
933 // Mismatched vector types
934 sqshl v0.2s
, v15.4s
, v16.2d
935 uqshl v1.8
b, v25.4h
, v6.8h
937 // CHECK-ERROR
: error
: invalid operand for instruction
938 // CHECK-ERROR
: sqshl v0.2s
, v15.4s
, v16.2d
940 // CHECK-ERROR
: error
: invalid operand for instruction
941 // CHECK-ERROR
: uqshl v1.8
b, v25.4h
, v6.8h
944 //----------------------------------------------------------------------
945 // Vector Rouding Shift Left
(Signed
and Unsigned Integer
)
946 //----------------------------------------------------------------------
947 // Mismatched vector types
948 srshl v0.8h
, v15.8h
, v16.16
b
949 urshl v1.2d
, v25.2d
, v6.4s
951 // CHECK-ERROR
: error
: invalid operand for instruction
952 // CHECK-ERROR
: srshl v0.8h
, v15.8h
, v16.16
b
954 // CHECK-ERROR
: error
: invalid operand for instruction
955 // CHECK-ERROR
: urshl v1.2d
, v25.2d
, v6.4s
958 //----------------------------------------------------------------------
959 // Vector Saturating Rouding Shift Left
(Signed
and Unsigned Integer
)
960 //----------------------------------------------------------------------
961 // Mismatched vector types
962 sqrshl v0.2s
, v15.8h
, v16.16
b
963 uqrshl v1.4h
, v25.4h
, v6.2d
965 // CHECK-ERROR
: error
: invalid operand for instruction
966 // CHECK-ERROR
: sqrshl v0.2s
, v15.8h
, v16.16
b
968 // CHECK-ERROR
: error
: invalid operand for instruction
969 // CHECK-ERROR
: uqrshl v1.4h
, v25.4h
, v6.2d
972 //----------------------------------------------------------------------
973 // Scalar Integer Shift Left
(Signed
, Unsigned
)
974 //----------------------------------------------------------------------
975 // Mismatched
and invalid vector types
979 // CHECK-ERROR
: error
: invalid operand for instruction
980 // CHECK-ERROR
: sshl d0
, d1
, s2
982 // CHECK-ERROR
: error
: invalid operand for instruction
983 // CHECK-ERROR
: ushl b2
, b0
, b1
986 //----------------------------------------------------------------------
987 // Scalar Integer Saturating Shift Left
(Signed
, Unsigned
)
988 //----------------------------------------------------------------------
990 // Mismatched vector types
996 // CHECK-ERROR
: error
: invalid operand for instruction
997 // CHECK-ERROR
: sqshl b0
, s1
, b0
999 // CHECK-ERROR
: error
: invalid operand for instruction
1000 // CHECK-ERROR
: uqshl h0
, b1
, h0
1002 // CHECK-ERROR
: error
: invalid operand for instruction
1003 // CHECK-ERROR
: sqshl s0
, h1
, s0
1005 // CHECK-ERROR
: error
: invalid operand for instruction
1006 // CHECK-ERROR
: uqshl d0
, b1
, d0
1009 //----------------------------------------------------------------------
1010 // Scalar Integer Rouding Shift Left
(Signed
, Unsigned
)
1011 //----------------------------------------------------------------------
1012 // Mismatched
and invalid vector types
1016 // CHECK-ERROR
: error
: invalid operand for instruction
1017 // CHECK-ERROR
: srshl h0
, h1
, h2
1019 // CHECK-ERROR
: error
: invalid operand for instruction
1020 // CHECK-ERROR
: urshl s0
, s1
, s2
1024 //----------------------------------------------------------------------
1025 // Scalar Integer Saturating Rounding Shift Left
(Signed
, Unsigned
)
1026 //----------------------------------------------------------------------
1028 // Mismatched vector types
1034 // CHECK-ERROR
: error
: invalid operand for instruction
1035 // CHECK-ERROR
: sqrshl b0
, b1
, s0
1037 // CHECK-ERROR
: error
: invalid operand for instruction
1038 // CHECK-ERROR
: uqrshl h0
, h1
, b0
1040 // CHECK-ERROR
: error
: invalid operand for instruction
1041 // CHECK-ERROR
: sqrshl s0
, s1
, h0
1043 // CHECK-ERROR
: error
: invalid operand for instruction
1044 // CHECK-ERROR
: uqrshl d0
, d1
, b0
1048 //----------------------------------------------------------------------
1049 // Vector Maximum
(Signed
, Unsigned
)
1050 //----------------------------------------------------------------------
1051 // Mismatched
and invalid vector types
1052 smax v0.2d
, v1.2d
, v2.2d
1053 umax v0.4h
, v1.4h
, v2.2s
1055 // CHECK-ERROR
: error
: invalid operand for instruction
1056 // CHECK-ERROR
: smax v0.2d
, v1.2d
, v2.2d
1058 // CHECK-ERROR
: error
: invalid operand for instruction
1059 // CHECK-ERROR
: umax v0.4h
, v1.4h
, v2.2s
1062 //----------------------------------------------------------------------
1063 // Vector Minimum
(Signed
, Unsigned
)
1064 //----------------------------------------------------------------------
1065 // Mismatched
and invalid vector types
1066 smin v0.2d
, v1.2d
, v2.2d
1067 umin v0.2s
, v1.2s
, v2.8
b
1069 // CHECK-ERROR
: error
: invalid operand for instruction
1070 // CHECK-ERROR
: smin v0.2d
, v1.2d
, v2.2d
1072 // CHECK-ERROR
: error
: invalid operand for instruction
1073 // CHECK-ERROR
: umin v0.2s
, v1.2s
, v2.8
b
1077 //----------------------------------------------------------------------
1078 // Vector Maximum
(Floating Point
)
1079 //----------------------------------------------------------------------
1080 // Mismatched
and invalid vector types
1081 fmax v0.2s
, v1.2s
, v2.4s
1082 fmax v0.8
b, v1.8
b, v2.8
b
1084 // CHECK-ERROR
: error
: invalid operand for instruction
1085 // CHECK-ERROR
: fmax v0.2s
, v1.2s
, v2.4s
1087 // CHECK-ERROR
: error
: invalid operand for instruction
1088 // CHECK-ERROR
: fmax v0.8
b, v1.8
b, v2.8
b
1090 //----------------------------------------------------------------------
1091 // Vector Minimum
(Floating Point
)
1092 //----------------------------------------------------------------------
1093 // Mismatched
and invalid vector types
1094 fmin v0.4s
, v1.4s
, v2.2d
1095 fmin v0.8h
, v1.8h
, v2.8h
1097 // CHECK-ERROR
: error
: invalid operand for instruction
1098 // CHECK-ERROR
: fmin v0.4s
, v1.4s
, v2.2d
1100 // CHECK-ERROR
: error
: instruction requires
: fullfp16
1101 // CHECK-ERROR
: fmin v0.8h
, v1.8h
, v2.8h
1104 //----------------------------------------------------------------------
1105 // Vector maxNum
(Floating Point
)
1106 //----------------------------------------------------------------------
1107 // Mismatched
and invalid vector types
1108 fmaxnm v0.2s
, v1.2s
, v2.2d
1109 fmaxnm v0.4h
, v1.8h
, v2.4h
1111 // CHECK-ERROR
: error
: invalid operand for instruction
1112 // CHECK-ERROR
: fmaxnm v0.2s
, v1.2s
, v2.2d
1114 // CHECK-ERROR
: error
: invalid operand for instruction
1115 // CHECK-ERROR
: fmaxnm v0.4h
, v1.8h
, v2.4h
1118 //----------------------------------------------------------------------
1119 // Vector minNum
(Floating Point
)
1120 //----------------------------------------------------------------------
1121 // Mismatched
and invalid vector types
1122 fminnm v0.4s
, v1.2s
, v2.4s
1123 fminnm v0.16
b, v0.16
b, v0.16
b
1125 // CHECK-ERROR
: error
: invalid operand for instruction
1126 // CHECK-ERROR
: fminnm v0.4s
, v1.2s
, v2.4s
1128 // CHECK-ERROR
: error
: invalid operand for instruction
1129 // CHECK-ERROR
: fminnm v0.16
b, v0.16
b, v0.16
b
1133 //----------------------------------------------------------------------
1134 // Vector Maximum Pairwise
(Signed
, Unsigned
)
1135 //----------------------------------------------------------------------
1136 // Mismatched
and invalid vector types
1137 smaxp v0.2d
, v1.2d
, v2.2d
1138 umaxp v0.4h
, v1.4h
, v2.2s
1140 // CHECK-ERROR
: error
: invalid operand for instruction
1141 // CHECK-ERROR
: smaxp v0.2d
, v1.2d
, v2.2d
1143 // CHECK-ERROR
: error
: invalid operand for instruction
1144 // CHECK-ERROR
: umaxp v0.4h
, v1.4h
, v2.2s
1147 //----------------------------------------------------------------------
1148 // Vector Minimum Pairwise
(Signed
, Unsigned
)
1149 //----------------------------------------------------------------------
1150 // Mismatched
and invalid vector types
1151 sminp v0.2d
, v1.2d
, v2.2d
1152 uminp v0.2s
, v1.2s
, v2.8
b
1154 // CHECK-ERROR
: error
: invalid operand for instruction
1155 // CHECK-ERROR
: sminp v0.2d
, v1.2d
, v2.2d
1157 // CHECK-ERROR
: error
: invalid operand for instruction
1158 // CHECK-ERROR
: uminp v0.2s
, v1.2s
, v2.8
b
1162 //----------------------------------------------------------------------
1163 // Vector Maximum Pairwise
(Floating Point
)
1164 //----------------------------------------------------------------------
1165 // Mismatched
and invalid vector types
1166 fmaxp v0.2s
, v1.2s
, v2.4s
1167 fmaxp v0.8
b, v1.8
b, v2.8
b
1169 // CHECK-ERROR
: error
: invalid operand for instruction
1170 // CHECK-ERROR
: fmaxp v0.2s
, v1.2s
, v2.4s
1172 // CHECK-ERROR
: error
: invalid operand for instruction
1173 // CHECK-ERROR
: fmaxp v0.8
b, v1.8
b, v2.8
b
1175 //----------------------------------------------------------------------
1176 // Vector Minimum Pairwise
(Floating Point
)
1177 //----------------------------------------------------------------------
1178 // Mismatched
and invalid vector types
1179 fminp v0.4s
, v1.4s
, v2.2d
1180 fminp v0.8h
, v1.8h
, v2.8h
1182 // CHECK-ERROR
: error
: invalid operand for instruction
1183 // CHECK-ERROR
: fminp v0.4s
, v1.4s
, v2.2d
1185 // CHECK-ERROR
: error
: instruction requires
: fullfp16
1186 // CHECK-ERROR
: fminp v0.8h
, v1.8h
, v2.8h
1189 //----------------------------------------------------------------------
1190 // Vector maxNum Pairwise
(Floating Point
)
1191 //----------------------------------------------------------------------
1192 // Mismatched
and invalid vector types
1193 fmaxnmp v0.2s
, v1.2s
, v2.2d
1194 fmaxnmp v0.4h
, v1.8h
, v2.4h
1196 // CHECK-ERROR
: error
: invalid operand for instruction
1197 // CHECK-ERROR
: fmaxnmp v0.2s
, v1.2s
, v2.2d
1199 // CHECK-ERROR
: error
: invalid operand for instruction
1200 // CHECK-ERROR
: fmaxnmp v0.4h
, v1.8h
, v2.4h
1203 //----------------------------------------------------------------------
1204 // Vector minNum Pairwise
(Floating Point
)
1205 //----------------------------------------------------------------------
1206 // Mismatched
and invalid vector types
1207 fminnmp v0.4s
, v1.2s
, v2.4s
1208 fminnmp v0.16
b, v0.16
b, v0.16
b
1210 // CHECK-ERROR
: error
: invalid operand for instruction
1211 // CHECK-ERROR
: fminnmp v0.4s
, v1.2s
, v2.4s
1213 // CHECK-ERROR
: error
: invalid operand for instruction
1214 // CHECK-ERROR
: fminnmp v0.16
b, v0.16
b, v0.16
b
1218 //----------------------------------------------------------------------
1219 // Vector
Add Pairwise
(Integer
)
1220 //----------------------------------------------------------------------
1222 // Mismatched vector types
1223 addp v0.16
b, v1.8
b, v2.8
b
1225 // CHECK-ERROR
: error
: invalid operand for instruction
1226 // CHECK-ERROR
: addp v0.16
b, v1.8
b, v2.8
b
1229 //----------------------------------------------------------------------
1230 // Vector
Add Pairwise
(Floating Point
)
1231 //----------------------------------------------------------------------
1232 // Mismatched
and invalid vector types
1233 faddp v0.16
b, v1.8
b, v2.8
b
1234 faddp v0.2d
, v1.2d
, v2.8h
1236 // CHECK-ERROR
: error
: invalid operand for instruction
1237 // CHECK-ERROR
: faddp v0.16
b, v1.8
b, v2.8
b
1239 // CHECK-ERROR
: error
: invalid operand for instruction
1240 // CHECK-ERROR
: faddp v0.2d
, v1.2d
, v2.8h
1244 //----------------------------------------------------------------------
1245 // Vector Saturating Doubling Multiply High
1246 //----------------------------------------------------------------------
1247 // Mismatched
and invalid vector types
1248 sqdmulh v2.4h
, v25.8h
, v3.4h
1249 sqdmulh v12.2d
, v5.2d
, v13.2d
1250 sqdmulh v3.8
b, v1.8
b, v30.8
b
1252 // CHECK-ERROR
: error
: invalid operand for instruction
1253 // CHECK-ERROR
: sqdmulh v2.4h
, v25.8h
, v3.4h
1255 // CHECK-ERROR
: error
: invalid operand for instruction
1256 // CHECK-ERROR
: sqdmulh v12.2d
, v5.2d
, v13.2d
1258 // CHECK-ERROR
: error
: invalid operand for instruction
1259 // CHECK-ERROR
: sqdmulh v3.8
b, v1.8
b, v30.8
b
1262 //----------------------------------------------------------------------
1263 // Vector Saturating Rouding Doubling Multiply High
1264 //----------------------------------------------------------------------
1265 // Mismatched
and invalid vector types
1266 sqrdmulh v2.2s
, v25.4s
, v3.4s
1267 sqrdmulh v12.16
b, v5.16
b, v13.16
b
1268 sqrdmulh v3.4h
, v1.4h
, v30.2d
1271 // CHECK-ERROR
: error
: invalid operand for instruction
1272 // CHECK-ERROR
: sqrdmulh v2.2s
, v25.4s
, v3.4s
1274 // CHECK-ERROR
: error
: invalid operand for instruction
1275 // CHECK-ERROR
: sqrdmulh v12.16
b, v5.16
b, v13.16
b
1277 // CHECK-ERROR
: error
: invalid operand for instruction
1278 // CHECK-ERROR
: sqrdmulh v3.4h
, v1.4h
, v30.2d
1281 //----------------------------------------------------------------------
1282 // Vector Multiply Extended
1283 //----------------------------------------------------------------------
1284 // Mismatched
and invalid vector types
1285 fmulx v21.2s
, v5.2s
, v13.2d
1286 fmulx v1.4h
, v25.4h
, v3.4h
1288 // CHECK-ERROR
: error
: invalid operand for instruction
1289 // CHECK-ERROR
: fmulx v21.2s
, v5.2s
, v13.2d
1291 // CHECK-ERROR
: error
: instruction requires
: fullfp16
1292 // CHECK-ERROR
: fmulx v1.4h
, v25.4h
, v3.4h
1295 //------------------------------------------------------------------------------
1296 // Vector Shift Left by Immediate
1297 //------------------------------------------------------------------------------
1298 // Mismatched vector types
and out of range
1299 shl v0.4s
, v15
,2s
, #3
1300 shl v0.2d
, v17.4s
, #3
1301 shl v0.8
b, v31.8
b, #-1
1302 shl v0.8
b, v31.8
b, #8
1303 shl v0.4s
, v21.4s
, #32
1304 shl v0.2d
, v1.2d
, #64
1307 // CHECK-ERROR
: error
: unexpected token in argument list
1308 // CHECK-ERROR
: shl v0.4s
, v15
,2s
, #3
1311 // CHECK-ERROR
: error
: invalid operand for instruction
1312 // CHECK-ERROR
: shl v0.2d
, v17.4s
, #3
1314 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 7]
1315 // CHECK-ERROR
: shl v0.8
b, v31.8
b, #-1
1317 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 7]
1318 // CHECK-ERROR
: shl v0.8
b, v31.8
b, #8
1320 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 31]
1321 // CHECK-ERROR
: shl v0.4s
, v21.4s
, #32
1323 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 63]
1324 // CHECK-ERROR
: shl v0.2d
, v1.2d
, #64
1327 //----------------------------------------------------------------------
1328 // Vector Shift Left Long by Immediate
1329 //----------------------------------------------------------------------
1330 // Mismatched vector types
1331 sshll v0.4s
, v15.2s
, #3
1332 ushll v1.16
b, v25.16
b, #6
1333 sshll2 v0.2d
, v3.8s
, #15
1334 ushll2 v1.4s
, v25.4s
, #7
1337 sshll v0.8h
, v1.8
b, #-1
1338 sshll v0.8h
, v1.8
b, #9
1339 ushll v0.4s
, v1.4h
, #17
1340 ushll v0.2d
, v1.2s
, #33
1341 sshll2 v0.8h
, v1.16
b, #9
1342 sshll2 v0.4s
, v1.8h
, #17
1343 ushll2 v0.2d
, v1.4s
, #33
1345 // CHECK-ERROR
: error
: invalid operand for instruction
1346 // CHECK-ERROR
: sshll v0.4s
, v15.2s
, #3
1348 // CHECK-ERROR
: error
: invalid operand for instruction
1349 // CHECK-ERROR
: ushll v1.16
b, v25.16
b, #6
1351 // CHECK-ERROR
: error
: invalid vector kind qualifier
1352 // CHECK-ERROR
: sshll2 v0.2d
, v3.8s
, #15
1354 // CHECK-ERROR
: error
: invalid operand for instruction
1355 // CHECK-ERROR
: ushll2 v1.4s
, v25.4s
, #7
1357 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 7]
1358 // CHECK-ERROR
: sshll v0.8h
, v1.8
b, #-1
1360 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 7]
1361 // CHECK-ERROR
: sshll v0.8h
, v1.8
b, #9
1363 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 15]
1364 // CHECK-ERROR
: ushll v0.4s
, v1.4h
, #17
1366 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 31]
1367 // CHECK-ERROR
: ushll v0.2d
, v1.2s
, #33
1369 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 7]
1370 // CHECK-ERROR
: sshll2 v0.8h
, v1.16
b, #9
1372 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 15]
1373 // CHECK-ERROR
: sshll2 v0.4s
, v1.8h
, #17
1375 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 31]
1376 // CHECK-ERROR
: ushll2 v0.2d
, v1.4s
, #33
1380 //------------------------------------------------------------------------------
1381 // Vector shift right by immediate
1382 //------------------------------------------------------------------------------
1383 sshr v0.8
b, v1.8h
, #3
1384 sshr v0.4h
, v1.4s
, #3
1385 sshr v0.2s
, v1.2d
, #3
1386 sshr v0.16
b, v1.16
b, #9
1387 sshr v0.8h
, v1.8h
, #17
1388 sshr v0.4s
, v1.4s
, #33
1389 sshr v0.2d
, v1.2d
, #65
1391 // CHECK-ERROR
: error
: invalid operand for instruction
1392 // CHECK-ERROR
: sshr v0.8
b, v1.8h
, #3
1394 // CHECK-ERROR
: error
: invalid operand for instruction
1395 // CHECK-ERROR
: sshr v0.4h
, v1.4s
, #3
1397 // CHECK-ERROR
: error
: invalid operand for instruction
1398 // CHECK-ERROR
: sshr v0.2s
, v1.2d
, #3
1400 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1401 // CHECK-ERROR
: sshr v0.16
b, v1.16
b, #9
1403 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1404 // CHECK-ERROR
: sshr v0.8h
, v1.8h
, #17
1406 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1407 // CHECK-ERROR
: sshr v0.4s
, v1.4s
, #33
1409 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
1410 // CHECK-ERROR
: sshr v0.2d
, v1.2d
, #65
1413 //------------------------------------------------------------------------------
1414 // Vector shift right by immediate
1415 //------------------------------------------------------------------------------
1416 ushr v0.8
b, v1.8h
, #3
1417 ushr v0.4h
, v1.4s
, #3
1418 ushr v0.2s
, v1.2d
, #3
1419 ushr v0.16
b, v1.16
b, #9
1420 ushr v0.8h
, v1.8h
, #17
1421 ushr v0.4s
, v1.4s
, #33
1422 ushr v0.2d
, v1.2d
, #65
1424 // CHECK-ERROR
: error
: invalid operand for instruction
1425 // CHECK-ERROR
: ushr v0.8
b, v1.8h
, #3
1427 // CHECK-ERROR
: error
: invalid operand for instruction
1428 // CHECK-ERROR
: ushr v0.4h
, v1.4s
, #3
1430 // CHECK-ERROR
: error
: invalid operand for instruction
1431 // CHECK-ERROR
: ushr v0.2s
, v1.2d
, #3
1433 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1434 // CHECK-ERROR
: ushr v0.16
b, v1.16
b, #9
1436 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1437 // CHECK-ERROR
: ushr v0.8h
, v1.8h
, #17
1439 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1440 // CHECK-ERROR
: ushr v0.4s
, v1.4s
, #33
1442 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
1443 // CHECK-ERROR
: ushr v0.2d
, v1.2d
, #65
1446 //------------------------------------------------------------------------------
1447 // Vector shift right
and accumulate by immediate
1448 //------------------------------------------------------------------------------
1449 ssra v0.8
b, v1.8h
, #3
1450 ssra v0.4h
, v1.4s
, #3
1451 ssra v0.2s
, v1.2d
, #3
1452 ssra v0.16
b, v1.16
b, #9
1453 ssra v0.8h
, v1.8h
, #17
1454 ssra v0.4s
, v1.4s
, #33
1455 ssra v0.2d
, v1.2d
, #65
1457 // CHECK-ERROR
: error
: invalid operand for instruction
1458 // CHECK-ERROR
: ssra v0.8
b, v1.8h
, #3
1460 // CHECK-ERROR
: error
: invalid operand for instruction
1461 // CHECK-ERROR
: ssra v0.4h
, v1.4s
, #3
1463 // CHECK-ERROR
: error
: invalid operand for instruction
1464 // CHECK-ERROR
: ssra v0.2s
, v1.2d
, #3
1466 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1467 // CHECK-ERROR
: ssra v0.16
b, v1.16
b, #9
1469 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1470 // CHECK-ERROR
: ssra v0.8h
, v1.8h
, #17
1472 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1473 // CHECK-ERROR
: ssra v0.4s
, v1.4s
, #33
1475 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
1476 // CHECK-ERROR
: ssra v0.2d
, v1.2d
, #65
1479 //------------------------------------------------------------------------------
1480 // Vector shift right
and accumulate by immediate
1481 //------------------------------------------------------------------------------
1482 usra v0.8
b, v1.8h
, #3
1483 usra v0.4h
, v1.4s
, #3
1484 usra v0.2s
, v1.2d
, #3
1485 usra v0.16
b, v1.16
b, #9
1486 usra v0.8h
, v1.8h
, #17
1487 usra v0.4s
, v1.4s
, #33
1488 usra v0.2d
, v1.2d
, #65
1490 // CHECK-ERROR
: error
: invalid operand for instruction
1491 // CHECK-ERROR
: usra v0.8
b, v1.8h
, #3
1493 // CHECK-ERROR
: error
: invalid operand for instruction
1494 // CHECK-ERROR
: usra v0.4h
, v1.4s
, #3
1496 // CHECK-ERROR
: error
: invalid operand for instruction
1497 // CHECK-ERROR
: usra v0.2s
, v1.2d
, #3
1499 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1500 // CHECK-ERROR
: usra v0.16
b, v1.16
b, #9
1502 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1503 // CHECK-ERROR
: usra v0.8h
, v1.8h
, #17
1505 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1506 // CHECK-ERROR
: usra v0.4s
, v1.4s
, #33
1508 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
1509 // CHECK-ERROR
: usra v0.2d
, v1.2d
, #65
1512 //------------------------------------------------------------------------------
1513 // Vector rounding shift right by immediate
1514 //------------------------------------------------------------------------------
1515 srshr v0.8
b, v1.8h
, #3
1516 srshr v0.4h
, v1.4s
, #3
1517 srshr v0.2s
, v1.2d
, #3
1518 srshr v0.16
b, v1.16
b, #9
1519 srshr v0.8h
, v1.8h
, #17
1520 srshr v0.4s
, v1.4s
, #33
1521 srshr v0.2d
, v1.2d
, #65
1523 // CHECK-ERROR
: error
: invalid operand for instruction
1524 // CHECK-ERROR
: srshr v0.8
b, v1.8h
, #3
1526 // CHECK-ERROR
: error
: invalid operand for instruction
1527 // CHECK-ERROR
: srshr v0.4h
, v1.4s
, #3
1529 // CHECK-ERROR
: error
: invalid operand for instruction
1530 // CHECK-ERROR
: srshr v0.2s
, v1.2d
, #3
1532 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1533 // CHECK-ERROR
: srshr v0.16
b, v1.16
b, #9
1535 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1536 // CHECK-ERROR
: srshr v0.8h
, v1.8h
, #17
1538 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1539 // CHECK-ERROR
: srshr v0.4s
, v1.4s
, #33
1541 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
1542 // CHECK-ERROR
: srshr v0.2d
, v1.2d
, #65
1545 //------------------------------------------------------------------------------
1546 // Vecotr rounding shift right by immediate
1547 //------------------------------------------------------------------------------
1548 urshr v0.8
b, v1.8h
, #3
1549 urshr v0.4h
, v1.4s
, #3
1550 urshr v0.2s
, v1.2d
, #3
1551 urshr v0.16
b, v1.16
b, #9
1552 urshr v0.8h
, v1.8h
, #17
1553 urshr v0.4s
, v1.4s
, #33
1554 urshr v0.2d
, v1.2d
, #65
1556 // CHECK-ERROR
: error
: invalid operand for instruction
1557 // CHECK-ERROR
: urshr v0.8
b, v1.8h
, #3
1559 // CHECK-ERROR
: error
: invalid operand for instruction
1560 // CHECK-ERROR
: urshr v0.4h
, v1.4s
, #3
1562 // CHECK-ERROR
: error
: invalid operand for instruction
1563 // CHECK-ERROR
: urshr v0.2s
, v1.2d
, #3
1565 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1566 // CHECK-ERROR
: urshr v0.16
b, v1.16
b, #9
1568 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1569 // CHECK-ERROR
: urshr v0.8h
, v1.8h
, #17
1571 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1572 // CHECK-ERROR
: urshr v0.4s
, v1.4s
, #33
1574 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
1575 // CHECK-ERROR
: urshr v0.2d
, v1.2d
, #65
1578 //------------------------------------------------------------------------------
1579 // Vector rounding shift right
and accumulate by immediate
1580 //------------------------------------------------------------------------------
1581 srsra v0.8
b, v1.8h
, #3
1582 srsra v0.4h
, v1.4s
, #3
1583 srsra v0.2s
, v1.2d
, #3
1584 srsra v0.16
b, v1.16
b, #9
1585 srsra v0.8h
, v1.8h
, #17
1586 srsra v0.4s
, v1.4s
, #33
1587 srsra v0.2d
, v1.2d
, #65
1589 // CHECK-ERROR
: error
: invalid operand for instruction
1590 // CHECK-ERROR
: srsra v0.8
b, v1.8h
, #3
1592 // CHECK-ERROR
: error
: invalid operand for instruction
1593 // CHECK-ERROR
: srsra v0.4h
, v1.4s
, #3
1595 // CHECK-ERROR
: error
: invalid operand for instruction
1596 // CHECK-ERROR
: srsra v0.2s
, v1.2d
, #3
1598 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1599 // CHECK-ERROR
: srsra v0.16
b, v1.16
b, #9
1601 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1602 // CHECK-ERROR
: srsra v0.8h
, v1.8h
, #17
1604 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1605 // CHECK-ERROR
: srsra v0.4s
, v1.4s
, #33
1607 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
1608 // CHECK-ERROR
: srsra v0.2d
, v1.2d
, #65
1611 //------------------------------------------------------------------------------
1612 // Vector rounding shift right
and accumulate by immediate
1613 //------------------------------------------------------------------------------
1614 ursra v0.8
b, v1.8h
, #3
1615 ursra v0.4h
, v1.4s
, #3
1616 ursra v0.2s
, v1.2d
, #3
1617 ursra v0.16
b, v1.16
b, #9
1618 ursra v0.8h
, v1.8h
, #17
1619 ursra v0.4s
, v1.4s
, #33
1620 ursra v0.2d
, v1.2d
, #65
1622 // CHECK-ERROR
: error
: invalid operand for instruction
1623 // CHECK-ERROR
: ursra v0.8
b, v1.8h
, #3
1625 // CHECK-ERROR
: error
: invalid operand for instruction
1626 // CHECK-ERROR
: ursra v0.4h
, v1.4s
, #3
1628 // CHECK-ERROR
: error
: invalid operand for instruction
1629 // CHECK-ERROR
: ursra v0.2s
, v1.2d
, #3
1631 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1632 // CHECK-ERROR
: ursra v0.16
b, v1.16
b, #9
1634 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1635 // CHECK-ERROR
: ursra v0.8h
, v1.8h
, #17
1637 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1638 // CHECK-ERROR
: ursra v0.4s
, v1.4s
, #33
1640 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
1641 // CHECK-ERROR
: ursra v0.2d
, v1.2d
, #65
1644 //------------------------------------------------------------------------------
1645 // Vector shift right
and insert by immediate
1646 //------------------------------------------------------------------------------
1647 sri v0.8
b, v1.8h
, #3
1648 sri v0.4h
, v1.4s
, #3
1649 sri v0.2s
, v1.2d
, #3
1650 sri v0.16
b, v1.16
b, #9
1651 sri v0.8h
, v1.8h
, #17
1652 sri v0.4s
, v1.4s
, #33
1653 sri v0.2d
, v1.2d
, #65
1655 // CHECK-ERROR
: error
: invalid operand for instruction
1656 // CHECK-ERROR
: sri v0.8
b, v1.8h
, #3
1658 // CHECK-ERROR
: error
: invalid operand for instruction
1659 // CHECK-ERROR
: sri v0.4h
, v1.4s
, #3
1661 // CHECK-ERROR
: error
: invalid operand for instruction
1662 // CHECK-ERROR
: sri v0.2s
, v1.2d
, #3
1664 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1665 // CHECK-ERROR
: sri v0.16
b, v1.16
b, #9
1667 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1668 // CHECK-ERROR
: sri v0.8h
, v1.8h
, #17
1670 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1671 // CHECK-ERROR
: sri v0.4s
, v1.4s
, #33
1673 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
1674 // CHECK-ERROR
: sri v0.2d
, v1.2d
, #65
1677 //------------------------------------------------------------------------------
1678 // Vector shift left
and insert by immediate
1679 //------------------------------------------------------------------------------
1680 sli v0.8
b, v1.8h
, #3
1681 sli v0.4h
, v1.4s
, #3
1682 sli v0.2s
, v1.2d
, #3
1683 sli v0.16
b, v1.16
b, #8
1684 sli v0.8h
, v1.8h
, #16
1685 sli v0.4s
, v1.4s
, #32
1686 sli v0.2d
, v1.2d
, #64
1688 // CHECK-ERROR
: error
: invalid operand for instruction
1689 // CHECK-ERROR
: sli v0.8
b, v1.8h
, #3
1691 // CHECK-ERROR
: error
: invalid operand for instruction
1692 // CHECK-ERROR
: sli v0.4h
, v1.4s
, #3
1694 // CHECK-ERROR
: error
: invalid operand for instruction
1695 // CHECK-ERROR
: sli v0.2s
, v1.2d
, #3
1697 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 7]
1698 // CHECK-ERROR
: sli v0.16
b, v1.16
b, #8
1700 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 15]
1701 // CHECK-ERROR
: sli v0.8h
, v1.8h
, #16
1703 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 31]
1704 // CHECK-ERROR
: sli v0.4s
, v1.4s
, #32
1706 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 63]
1707 // CHECK-ERROR
: sli v0.2d
, v1.2d
, #64
1710 //------------------------------------------------------------------------------
1711 // Vector saturating shift left unsigned by immediate
1712 //------------------------------------------------------------------------------
1713 sqshlu v0.8
b, v1.8h
, #3
1714 sqshlu v0.4h
, v1.4s
, #3
1715 sqshlu v0.2s
, v1.2d
, #3
1716 sqshlu v0.16
b, v1.16
b, #8
1717 sqshlu v0.8h
, v1.8h
, #16
1718 sqshlu v0.4s
, v1.4s
, #32
1719 sqshlu v0.2d
, v1.2d
, #64
1721 // CHECK-ERROR
: error
: invalid operand for instruction
1722 // CHECK-ERROR
: sqshlu v0.8
b, v1.8h
, #3
1724 // CHECK-ERROR
: error
: invalid operand for instruction
1725 // CHECK-ERROR
: sqshlu v0.4h
, v1.4s
, #3
1727 // CHECK-ERROR
: error
: invalid operand for instruction
1728 // CHECK-ERROR
: sqshlu v0.2s
, v1.2d
, #3
1730 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 7]
1731 // CHECK-ERROR
: sqshlu v0.16
b, v1.16
b, #8
1733 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 15]
1734 // CHECK-ERROR
: sqshlu v0.8h
, v1.8h
, #16
1736 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 31]
1737 // CHECK-ERROR
: sqshlu v0.4s
, v1.4s
, #32
1739 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 63]
1740 // CHECK-ERROR
: sqshlu v0.2d
, v1.2d
, #64
1743 //------------------------------------------------------------------------------
1744 // Vector saturating shift left by immediate
1745 //------------------------------------------------------------------------------
1746 sqshl v0.8
b, v1.8h
, #3
1747 sqshl v0.4h
, v1.4s
, #3
1748 sqshl v0.2s
, v1.2d
, #3
1749 sqshl v0.16
b, v1.16
b, #8
1750 sqshl v0.8h
, v1.8h
, #16
1751 sqshl v0.4s
, v1.4s
, #32
1752 sqshl v0.2d
, v1.2d
, #64
1754 // CHECK-ERROR
: error
: invalid operand for instruction
1755 // CHECK-ERROR
: sqshl v0.8
b, v1.8h
, #3
1757 // CHECK-ERROR
: error
: invalid operand for instruction
1758 // CHECK-ERROR
: sqshl v0.4h
, v1.4s
, #3
1760 // CHECK-ERROR
: error
: invalid operand for instruction
1761 // CHECK-ERROR
: sqshl v0.2s
, v1.2d
, #3
1763 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 7]
1764 // CHECK-ERROR
: sqshl v0.16
b, v1.16
b, #8
1766 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 15]
1767 // CHECK-ERROR
: sqshl v0.8h
, v1.8h
, #16
1769 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 31]
1770 // CHECK-ERROR
: sqshl v0.4s
, v1.4s
, #32
1772 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 63]
1773 // CHECK-ERROR
: sqshl v0.2d
, v1.2d
, #64
1776 //------------------------------------------------------------------------------
1777 // Vector saturating shift left by immediate
1778 //------------------------------------------------------------------------------
1779 uqshl v0.8
b, v1.8h
, #3
1780 uqshl v0.4h
, v1.4s
, #3
1781 uqshl v0.2s
, v1.2d
, #3
1782 uqshl v0.16
b, v1.16
b, #8
1783 uqshl v0.8h
, v1.8h
, #16
1784 uqshl v0.4s
, v1.4s
, #32
1785 uqshl v0.2d
, v1.2d
, #64
1787 // CHECK-ERROR
: error
: invalid operand for instruction
1788 // CHECK-ERROR
: uqshl v0.8
b, v1.8h
, #3
1790 // CHECK-ERROR
: error
: invalid operand for instruction
1791 // CHECK-ERROR
: uqshl v0.4h
, v1.4s
, #3
1793 // CHECK-ERROR
: error
: invalid operand for instruction
1794 // CHECK-ERROR
: uqshl v0.2s
, v1.2d
, #3
1796 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 7]
1797 // CHECK-ERROR
: uqshl v0.16
b, v1.16
b, #8
1799 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 15]
1800 // CHECK-ERROR
: uqshl v0.8h
, v1.8h
, #16
1802 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 31]
1803 // CHECK-ERROR
: uqshl v0.4s
, v1.4s
, #32
1805 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 63]
1806 // CHECK-ERROR
: uqshl v0.2d
, v1.2d
, #64
1809 //------------------------------------------------------------------------------
1810 // Vector shift right narrow by immediate
1811 //------------------------------------------------------------------------------
1812 shrn v0.8
b, v1.8
b, #3
1813 shrn v0.4h
, v1.4h
, #3
1814 shrn v0.2s
, v1.2s
, #3
1815 shrn2 v0.16
b, v1.8h
, #17
1816 shrn2 v0.8h
, v1.4s
, #33
1817 shrn2 v0.4s
, v1.2d
, #65
1819 // CHECK-ERROR
: error
: invalid operand for instruction
1820 // CHECK-ERROR
: shrn v0.8
b, v1.8
b, #3
1822 // CHECK-ERROR
: error
: invalid operand for instruction
1823 // CHECK-ERROR
: shrn v0.4h
, v1.4h
, #3
1825 // CHECK-ERROR
: error
: invalid operand for instruction
1826 // CHECK-ERROR
: shrn v0.2s
, v1.2s
, #3
1828 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1829 // CHECK-ERROR
: shrn2 v0.16
b, v1.8h
, #17
1831 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1832 // CHECK-ERROR
: shrn2 v0.8h
, v1.4s
, #33
1834 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1835 // CHECK-ERROR
: shrn2 v0.4s
, v1.2d
, #65
1838 //------------------------------------------------------------------------------
1839 // Vector saturating shift right unsigned narrow by immediate
1840 //------------------------------------------------------------------------------
1841 sqshrun v0.8
b, v1.8
b, #3
1842 sqshrun v0.4h
, v1.4h
, #3
1843 sqshrun v0.2s
, v1.2s
, #3
1844 sqshrun2 v0.16
b, v1.8h
, #17
1845 sqshrun2 v0.8h
, v1.4s
, #33
1846 sqshrun2 v0.4s
, v1.2d
, #65
1848 // CHECK-ERROR
: error
: invalid operand for instruction
1849 // CHECK-ERROR
: sqshrun v0.8
b, v1.8
b, #3
1851 // CHECK-ERROR
: error
: invalid operand for instruction
1852 // CHECK-ERROR
: sqshrun v0.4h
, v1.4h
, #3
1854 // CHECK-ERROR
: error
: invalid operand for instruction
1855 // CHECK-ERROR
: sqshrun v0.2s
, v1.2s
, #3
1857 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1858 // CHECK-ERROR
: sqshrun2 v0.16
b, v1.8h
, #17
1860 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1861 // CHECK-ERROR
: sqshrun2 v0.8h
, v1.4s
, #33
1863 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1864 // CHECK-ERROR
: sqshrun2 v0.4s
, v1.2d
, #65
1867 //------------------------------------------------------------------------------
1868 // Vector rounding shift right narrow by immediate
1869 //------------------------------------------------------------------------------
1870 rshrn v0.8
b, v1.8
b, #3
1871 rshrn v0.4h
, v1.4h
, #3
1872 rshrn v0.2s
, v1.2s
, #3
1873 rshrn2 v0.16
b, v1.8h
, #17
1874 rshrn2 v0.8h
, v1.4s
, #33
1875 rshrn2 v0.4s
, v1.2d
, #65
1877 // CHECK-ERROR
: error
: invalid operand for instruction
1878 // CHECK-ERROR
: rshrn v0.8
b, v1.8
b, #3
1880 // CHECK-ERROR
: error
: invalid operand for instruction
1881 // CHECK-ERROR
: rshrn v0.4h
, v1.4h
, #3
1883 // CHECK-ERROR
: error
: invalid operand for instruction
1884 // CHECK-ERROR
: rshrn v0.2s
, v1.2s
, #3
1886 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1887 // CHECK-ERROR
: rshrn2 v0.16
b, v1.8h
, #17
1889 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1890 // CHECK-ERROR
: rshrn2 v0.8h
, v1.4s
, #33
1892 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1893 // CHECK-ERROR
: rshrn2 v0.4s
, v1.2d
, #65
1896 //------------------------------------------------------------------------------
1897 // Vector saturating shift right rounded unsigned narrow by immediate
1898 //------------------------------------------------------------------------------
1899 sqrshrun v0.8
b, v1.8
b, #3
1900 sqrshrun v0.4h
, v1.4h
, #3
1901 sqrshrun v0.2s
, v1.2s
, #3
1902 sqrshrun2 v0.16
b, v1.8h
, #17
1903 sqrshrun2 v0.8h
, v1.4s
, #33
1904 sqrshrun2 v0.4s
, v1.2d
, #65
1906 // CHECK-ERROR
: error
: invalid operand for instruction
1907 // CHECK-ERROR
: sqrshrun v0.8
b, v1.8
b, #3
1909 // CHECK-ERROR
: error
: invalid operand for instruction
1910 // CHECK-ERROR
: sqrshrun v0.4h
, v1.4h
, #3
1912 // CHECK-ERROR
: error
: invalid operand for instruction
1913 // CHECK-ERROR
: sqrshrun v0.2s
, v1.2s
, #3
1915 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1916 // CHECK-ERROR
: sqrshrun2 v0.16
b, v1.8h
, #17
1918 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1919 // CHECK-ERROR
: sqrshrun2 v0.8h
, v1.4s
, #33
1921 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1922 // CHECK-ERROR
: sqrshrun2 v0.4s
, v1.2d
, #65
1925 //------------------------------------------------------------------------------
1926 // Vector saturating shift right narrow by immediate
1927 //------------------------------------------------------------------------------
1928 sqshrn v0.8
b, v1.8
b, #3
1929 sqshrn v0.4h
, v1.4h
, #3
1930 sqshrn v0.2s
, v1.2s
, #3
1931 sqshrn2 v0.16
b, v1.8h
, #17
1932 sqshrn2 v0.8h
, v1.4s
, #33
1933 sqshrn2 v0.4s
, v1.2d
, #65
1935 // CHECK-ERROR
: error
: invalid operand for instruction
1936 // CHECK-ERROR
: sqshrn v0.8
b, v1.8
b, #3
1938 // CHECK-ERROR
: error
: invalid operand for instruction
1939 // CHECK-ERROR
: sqshrn v0.4h
, v1.4h
, #3
1941 // CHECK-ERROR
: error
: invalid operand for instruction
1942 // CHECK-ERROR
: sqshrn v0.2s
, v1.2s
, #3
1944 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1945 // CHECK-ERROR
: sqshrn2 v0.16
b, v1.8h
, #17
1947 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1948 // CHECK-ERROR
: sqshrn2 v0.8h
, v1.4s
, #33
1950 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1951 // CHECK-ERROR
: sqshrn2 v0.4s
, v1.2d
, #65
1954 //------------------------------------------------------------------------------
1955 // Vector saturating shift right narrow by immediate
1956 //------------------------------------------------------------------------------
1957 uqshrn v0.8
b, v1.8
b, #3
1958 uqshrn v0.4h
, v1.4h
, #3
1959 uqshrn v0.2s
, v1.2s
, #3
1960 uqshrn2 v0.16
b, v1.8h
, #17
1961 uqshrn2 v0.8h
, v1.4s
, #33
1962 uqshrn2 v0.4s
, v1.2d
, #65
1964 // CHECK-ERROR
: error
: invalid operand for instruction
1965 // CHECK-ERROR
: uqshrn v0.8
b, v1.8
b, #3
1967 // CHECK-ERROR
: error
: invalid operand for instruction
1968 // CHECK-ERROR
: uqshrn v0.4h
, v1.4h
, #3
1970 // CHECK-ERROR
: error
: invalid operand for instruction
1971 // CHECK-ERROR
: uqshrn v0.2s
, v1.2s
, #3
1973 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
1974 // CHECK-ERROR
: uqshrn2 v0.16
b, v1.8h
, #17
1976 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
1977 // CHECK-ERROR
: uqshrn2 v0.8h
, v1.4s
, #33
1979 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
1980 // CHECK-ERROR
: uqshrn2 v0.4s
, v1.2d
, #65
1983 //------------------------------------------------------------------------------
1984 // Vector saturating shift right rounded narrow by immediate
1985 //------------------------------------------------------------------------------
1986 sqrshrn v0.8
b, v1.8
b, #3
1987 sqrshrn v0.4h
, v1.4h
, #3
1988 sqrshrn v0.2s
, v1.2s
, #3
1989 sqrshrn2 v0.16
b, v1.8h
, #17
1990 sqrshrn2 v0.8h
, v1.4s
, #33
1991 sqrshrn2 v0.4s
, v1.2d
, #65
1993 // CHECK-ERROR
: error
: invalid operand for instruction
1994 // CHECK-ERROR
: sqrshrn v0.8
b, v1.8
b, #3
1996 // CHECK-ERROR
: error
: invalid operand for instruction
1997 // CHECK-ERROR
: sqrshrn v0.4h
, v1.4h
, #3
1999 // CHECK-ERROR
: error
: invalid operand for instruction
2000 // CHECK-ERROR
: sqrshrn v0.2s
, v1.2s
, #3
2002 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
2003 // CHECK-ERROR
: sqrshrn2 v0.16
b, v1.8h
, #17
2005 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
2006 // CHECK-ERROR
: sqrshrn2 v0.8h
, v1.4s
, #33
2008 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
2009 // CHECK-ERROR
: sqrshrn2 v0.4s
, v1.2d
, #65
2012 //------------------------------------------------------------------------------
2013 // Vector saturating shift right rounded narrow by immediate
2014 //------------------------------------------------------------------------------
2015 uqrshrn v0.8
b, v1.8
b, #3
2016 uqrshrn v0.4h
, v1.4h
, #3
2017 uqrshrn v0.2s
, v1.2s
, #3
2018 uqrshrn2 v0.16
b, v1.8h
, #17
2019 uqrshrn2 v0.8h
, v1.4s
, #33
2020 uqrshrn2 v0.4s
, v1.2d
, #65
2022 // CHECK-ERROR
: error
: invalid operand for instruction
2023 // CHECK-ERROR
: uqrshrn v0.8
b, v1.8
b, #3
2025 // CHECK-ERROR
: error
: invalid operand for instruction
2026 // CHECK-ERROR
: uqrshrn v0.4h
, v1.4h
, #3
2028 // CHECK-ERROR
: error
: invalid operand for instruction
2029 // CHECK-ERROR
: uqrshrn v0.2s
, v1.2s
, #3
2031 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
2032 // CHECK-ERROR
: uqrshrn2 v0.16
b, v1.8h
, #17
2034 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
2035 // CHECK-ERROR
: uqrshrn2 v0.8h
, v1.4s
, #33
2037 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
2038 // CHECK-ERROR
: uqrshrn2 v0.4s
, v1.2d
, #65
2041 //------------------------------------------------------------------------------
2042 // Fixed-point convert to floating-point
2043 //------------------------------------------------------------------------------
2044 scvtf v0.2s
, v1.2d
, #3
2045 scvtf v0.4s
, v1.4h
, #3
2046 scvtf v0.2d
, v1.2s
, #3
2047 ucvtf v0.2s
, v1.2s
, #33
2048 ucvtf v0.4s
, v1.4s
, #33
2049 ucvtf v0.2d
, v1.2d
, #65
2051 // CHECK-ERROR
: error
: invalid operand for instruction
2052 // CHECK-ERROR
: scvtf v0.2s
, v1.2d
, #3
2054 // CHECK-ERROR
: error
: invalid operand for instruction
2055 // CHECK-ERROR
: scvtf v0.4s
, v1.4h
, #3
2057 // CHECK-ERROR
: error
: invalid operand for instruction
2058 // CHECK-ERROR
: scvtf v0.2d
, v1.2s
, #3
2060 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
2061 // CHECK-ERROR
: ucvtf v0.2s
, v1.2s
, #33
2063 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
2064 // CHECK-ERROR
: ucvtf v0.4s
, v1.4s
, #33
2066 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
2067 // CHECK-ERROR
: ucvtf v0.2d
, v1.2d
, #65
2070 //------------------------------------------------------------------------------
2071 // Floating-point convert to fixed-point
2072 //------------------------------------------------------------------------------
2073 fcvtzs v0.2s
, v1.2d
, #3
2074 fcvtzs v0.4s
, v1.4h
, #3
2075 fcvtzs v0.2d
, v1.2s
, #3
2076 fcvtzu v0.2s
, v1.2s
, #33
2077 fcvtzu v0.4s
, v1.4s
, #33
2078 fcvtzu v0.2d
, v1.2d
, #65
2080 // CHECK-ERROR
: error
: invalid operand for instruction
2081 // CHECK-ERROR
: fcvtzs v0.2s
, v1.2d
, #3
2083 // CHECK-ERROR
: error
: invalid operand for instruction
2084 // CHECK-ERROR
: fcvtzs v0.4s
, v1.4h
, #3
2086 // CHECK-ERROR
: error
: invalid operand for instruction
2087 // CHECK-ERROR
: fcvtzs v0.2d
, v1.2s
, #3
2089 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
2090 // CHECK-ERROR
: fcvtzu v0.2s
, v1.2s
, #33
2092 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
2093 // CHECK-ERROR
: fcvtzu v0.4s
, v1.4s
, #33
2095 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
2096 // CHECK-ERROR
: fcvtzu v0.2d
, v1.2d
, #65
2099 //----------------------------------------------------------------------
2100 // Vector operation on
3 operands with different types
2101 //----------------------------------------------------------------------
2103 // Mismatched
and invalid vector types
2104 saddl v0.8h
, v1.8h
, v2.8
b
2105 saddl v0.4s
, v1.4s
, v2.4h
2106 saddl v0.2d
, v1.2d
, v2.2s
2108 // CHECK-ERROR
: error
: invalid operand for instruction
2109 // CHECK-ERROR
: saddl v0.8h
, v1.8h
, v2.8
b
2111 // CHECK-ERROR
: error
: invalid operand for instruction
2112 // CHECK-ERROR
: saddl v0.4s
, v1.4s
, v2.4h
2114 // CHECK-ERROR
: error
: invalid operand for instruction
2115 // CHECK-ERROR
: saddl v0.2d
, v1.2d
, v2.2s
2118 saddl2 v0.4s
, v1.8s
, v2.8h
2119 saddl2 v0.8h
, v1.16h
, v2.16
b
2120 saddl2 v0.2d
, v1.4d
, v2.4s
2122 // CHECK-ERROR
: error
: invalid vector kind qualifier
2123 // CHECK-ERROR
: saddl2 v0.4s
, v1.8s
, v2.8h
2125 // CHECK-ERROR
: error
: invalid vector kind qualifier
2126 // CHECK-ERROR
: saddl2 v0.8h
, v1.16h
, v2.16
b
2128 // CHECK-ERROR
: error
: invalid vector kind qualifier
2129 // CHECK-ERROR
: saddl2 v0.2d
, v1.4d
, v2.4s
2132 uaddl v0.8h
, v1.8h
, v2.8
b
2133 uaddl v0.4s
, v1.4s
, v2.4h
2134 uaddl v0.2d
, v1.2d
, v2.2s
2136 // CHECK-ERROR
: error
: invalid operand for instruction
2137 // CHECK-ERROR
: uaddl v0.8h
, v1.8h
, v2.8
b
2139 // CHECK-ERROR
: error
: invalid operand for instruction
2140 // CHECK-ERROR
: uaddl v0.4s
, v1.4s
, v2.4h
2142 // CHECK-ERROR
: error
: invalid operand for instruction
2143 // CHECK-ERROR
: uaddl v0.2d
, v1.2d
, v2.2s
2146 uaddl2 v0.8h
, v1.16h
, v2.16
b
2147 uaddl2 v0.4s
, v1.8s
, v2.8h
2148 uaddl2 v0.2d
, v1.4d
, v2.4s
2150 // CHECK-ERROR
: [[@LINE-
4]]:23: error
: invalid vector kind qualifier
2151 // CHECK-ERROR-NEXT
: uaddl2 v0.8h
, v1.16h
, v2.16
b
2152 // CHECK-ERROR
: [[@LINE-
5]]:23: error
: invalid vector kind qualifier
2153 // CHECK-ERROR-NEXT
: uaddl2 v0.4s
, v1.8s
, v2.8h
2154 // CHECK-ERROR
: [[@LINE-
6]]:23: error
: invalid vector kind qualifier
2155 // CHECK-ERROR-NEXT
: uaddl2 v0.2d
, v1.4d
, v2.4s
2157 ssubl v0.8h
, v1.8h
, v2.8
b
2158 ssubl v0.4s
, v1.4s
, v2.4h
2159 ssubl v0.2d
, v1.2d
, v2.2s
2161 // CHECK-ERROR
: [[@LINE-
4]]:22: error
: invalid operand for instruction
2162 // CHECK-ERROR-NEXT
: ssubl v0.8h
, v1.8h
, v2.8
b
2163 // CHECK-ERROR
: error
: invalid operand for instruction
2164 // CHECK-ERROR
: ssubl v0.4s
, v1.4s
, v2.4h
2166 // CHECK-ERROR
: error
: invalid operand for instruction
2167 // CHECK-ERROR
: ssubl v0.2d
, v1.2d
, v2.2s
2170 ssubl2 v0.8h
, v1.16h
, v2.16
b
2171 ssubl2 v0.4s
, v1.8s
, v2.8h
2172 ssubl2 v0.2d
, v1.4d
, v2.4s
2174 // CHECK-ERROR
: [[@LINE-
4]]:23: error
: invalid vector kind qualifier
2175 // CHECK-ERROR
: ssubl2 v0.8h
, v1.16h
, v2.16
b
2177 // CHECK-ERROR
: error
: invalid vector kind qualifier
2178 // CHECK-ERROR
: ssubl2 v0.4s
, v1.8s
, v2.8h
2180 // CHECK-ERROR
: error
: invalid vector kind qualifier
2181 // CHECK-ERROR
: ssubl2 v0.2d
, v1.4d
, v2.4s
2184 usubl v0.8h
, v1.8h
, v2.8
b
2185 usubl v0.4s
, v1.4s
, v2.4h
2186 usubl v0.2d
, v1.2d
, v2.2s
2188 // CHECK-ERROR
: error
: invalid operand for instruction
2189 // CHECK-ERROR
: usubl v0.8h
, v1.8h
, v2.8
b
2191 // CHECK-ERROR
: error
: invalid operand for instruction
2192 // CHECK-ERROR
: usubl v0.4s
, v1.4s
, v2.4h
2194 // CHECK-ERROR
: error
: invalid operand for instruction
2195 // CHECK-ERROR
: usubl v0.2d
, v1.2d
, v2.2s
2198 usubl2 v0.8h
, v1.16h
, v2.16
b
2199 usubl2 v0.4s
, v1.8s
, v2.8h
2200 usubl2 v0.2d
, v1.4d
, v2.4s
2202 // CHECK-ERROR
: [[@LINE-
4]]:23: error
: invalid vector kind qualifier
2203 // CHECK-ERROR
: usubl2 v0.8h
, v1.16h
, v2.16
b
2204 // CHECK-ERROR
: [[@LINE-
5]]:23: error
: invalid vector kind qualifier
2205 // CHECK-ERROR
: usubl2 v0.4s
, v1.8s
, v2.8h
2206 // CHECK-ERROR
: [[@LINE-
6]]:23: error
: invalid vector kind qualifier
2207 // CHECK-ERROR
: usubl2 v0.2d
, v1.4d
, v2.4s
2209 sabal v0.8h
, v1.8h
, v2.8
b
2210 sabal v0.4s
, v1.4s
, v2.4h
2211 sabal v0.2d
, v1.2d
, v2.2s
2213 // CHECK-ERROR
: error
: invalid operand for instruction
2214 // CHECK-ERROR
: sabal v0.8h
, v1.8h
, v2.8
b
2216 // CHECK-ERROR
: error
: invalid operand for instruction
2217 // CHECK-ERROR
: sabal v0.4s
, v1.4s
, v2.4h
2219 // CHECK-ERROR
: error
: invalid operand for instruction
2220 // CHECK-ERROR
: sabal v0.2d
, v1.2d
, v2.2s
2223 sabal2 v0.8h
, v1.16h
, v2.16
b
2224 sabal2 v0.4s
, v1.8s
, v2.8h
2225 sabal2 v0.2d
, v1.4d
, v2.4s
2227 // CHECK-ERROR
: error
: invalid vector kind qualifier
2228 // CHECK-ERROR
: sabal2 v0.8h
, v1.16h
, v2.16
b
2230 // CHECK-ERROR
: error
: invalid vector kind qualifier
2231 // CHECK-ERROR
: sabal2 v0.4s
, v1.8s
, v2.8h
2233 // CHECK-ERROR
: error
: invalid vector kind qualifier
2234 // CHECK-ERROR
: sabal2 v0.2d
, v1.4d
, v2.4s
2237 uabal v0.8h
, v1.8h
, v2.8
b
2238 uabal v0.4s
, v1.4s
, v2.4h
2239 uabal v0.2d
, v1.2d
, v2.2s
2241 // CHECK-ERROR
: error
: invalid operand for instruction
2242 // CHECK-ERROR
: uabal v0.8h
, v1.8h
, v2.8
b
2244 // CHECK-ERROR
: error
: invalid operand for instruction
2245 // CHECK-ERROR
: uabal v0.4s
, v1.4s
, v2.4h
2247 // CHECK-ERROR
: error
: invalid operand for instruction
2248 // CHECK-ERROR
: uabal v0.2d
, v1.2d
, v2.2s
2251 uabal2 v0.8h
, v1.16h
, v2.16
b
2252 uabal2 v0.4s
, v1.8s
, v2.8h
2253 uabal2 v0.2d
, v1.4d
, v2.4s
2255 // CHECK-ERROR
: [[@LINE-
4]]:23: error
: invalid vector kind qualifier
2256 // CHECK-ERROR
: uabal2 v0.8h
, v1.16h
, v2.16
b
2257 // CHECK-ERROR
: [[@LINE-
5]]:23: error
: invalid vector kind qualifier
2258 // CHECK-ERROR
: uabal2 v0.4s
, v1.8s
, v2.8h
2259 // CHECK-ERROR
: [[@LINE-
6]]:23: error
: invalid vector kind qualifier
2260 // CHECK-ERROR
: uabal2 v0.2d
, v1.4d
, v2.4s
2262 sabdl v0.8h
, v1.8h
, v2.8
b
2263 sabdl v0.4s
, v1.4s
, v2.4h
2264 sabdl v0.2d
, v1.2d
, v2.2s
2266 // CHECK-ERROR
: error
: invalid operand for instruction
2267 // CHECK-ERROR
: sabdl v0.8h
, v1.8h
, v2.8
b
2269 // CHECK-ERROR
: error
: invalid operand for instruction
2270 // CHECK-ERROR
: sabdl v0.4s
, v1.4s
, v2.4h
2272 // CHECK-ERROR
: error
: invalid operand for instruction
2273 // CHECK-ERROR
: sabdl v0.2d
, v1.2d
, v2.2s
2276 sabdl2 v0.8h
, v1.16h
, v2.16
b
2277 sabdl2 v0.4s
, v1.8s
, v2.8h
2278 sabdl2 v0.2d
, v1.4d
, v2.4s
2280 // CHECK-ERROR
: [[@LINE-
4]]:23: error
: invalid vector kind qualifier
2281 // CHECK-ERROR
: sabdl2 v0.8h
, v1.16h
, v2.16
b
2282 // CHECK-ERROR
: [[@LINE-
5]]:23: error
: invalid vector kind qualifier
2283 // CHECK-ERROR
: sabdl2 v0.4s
, v1.8s
, v2.8h
2284 // CHECK-ERROR
: [[@LINE-
6]]:23: error
: invalid vector kind qualifier
2285 // CHECK-ERROR
: sabdl2 v0.2d
, v1.4d
, v2.4s
2287 uabdl v0.8h
, v1.8h
, v2.8
b
2288 uabdl v0.4s
, v1.4s
, v2.4h
2289 uabdl v0.2d
, v1.2d
, v2.2s
2291 // CHECK-ERROR
: error
: invalid operand for instruction
2292 // CHECK-ERROR
: uabdl v0.8h
, v1.8h
, v2.8
b
2294 // CHECK-ERROR
: error
: invalid operand for instruction
2295 // CHECK-ERROR
: uabdl v0.4s
, v1.4s
, v2.4h
2297 // CHECK-ERROR
: error
: invalid operand for instruction
2298 // CHECK-ERROR
: uabdl v0.2d
, v1.2d
, v2.2s
2301 uabdl2 v0.8h
, v1.16h
, v2.16
b
2302 uabdl2 v0.4s
, v1.8s
, v2.8h
2303 uabdl2 v0.2d
, v1.4d
, v2.4s
2305 // CHECK-ERROR
: [[@LINE-
4]]:23: error
: invalid vector kind qualifier
2306 // CHECK-ERROR
: uabdl2 v0.8h
, v1.16h
, v2.16
b
2307 // CHECK-ERROR
: [[@LINE-
5]]:23: error
: invalid vector kind qualifier
2308 // CHECK-ERROR
: uabdl2 v0.4s
, v1.8s
, v2.8h
2309 // CHECK-ERROR
: [[@LINE-
6]]:23: error
: invalid vector kind qualifier
2310 // CHECK-ERROR
: uabdl2 v0.2d
, v1.4d
, v2.4s
2312 smlal v0.8h
, v1.8h
, v2.8
b
2313 smlal v0.4s
, v1.4s
, v2.4h
2314 smlal v0.2d
, v1.2d
, v2.2s
2316 // CHECK-ERROR
: error
: invalid operand for instruction
2317 // CHECK-ERROR
: smlal v0.8h
, v1.8h
, v2.8
b
2319 // CHECK-ERROR
: error
: invalid operand for instruction
2320 // CHECK-ERROR
: smlal v0.4s
, v1.4s
, v2.4h
2322 // CHECK-ERROR
: error
: invalid operand for instruction
2323 // CHECK-ERROR
: smlal v0.2d
, v1.2d
, v2.2s
2326 smlal2 v0.8h
, v1.16h
, v2.16
b
2327 smlal2 v0.4s
, v1.8s
, v2.8h
2328 smlal2 v0.2d
, v1.4d
, v2.4s
2330 // CHECK-ERROR
: [[@LINE-
4]]:23: error
: invalid vector kind qualifier
2331 // CHECK-ERROR
: smlal2 v0.8h
, v1.16h
, v2.16
b
2332 // CHECK-ERROR
: [[@LINE-
5]]:23: error
: invalid vector kind qualifier
2333 // CHECK-ERROR
: smlal2 v0.4s
, v1.8s
, v2.8h
2334 // CHECK-ERROR
: [[@LINE-
6]]:23: error
: invalid vector kind qualifier
2335 // CHECK-ERROR
: smlal2 v0.2d
, v1.4d
, v2.4s
2337 umlal v0.8h
, v1.8h
, v2.8
b
2338 umlal v0.4s
, v1.4s
, v2.4h
2339 umlal v0.2d
, v1.2d
, v2.2s
2341 // CHECK-ERROR
: [[@LINE-
4]]:22: error
: invalid operand for instruction
2342 // CHECK-ERROR
: umlal v0.8h
, v1.8h
, v2.8
b
2343 // CHECK-ERROR
: [[@LINE-
5]]:22: error
: invalid operand for instruction
2344 // CHECK-ERROR
: umlal v0.4s
, v1.4s
, v2.4h
2345 // CHECK-ERROR
: [[@LINE-
6]]:22: error
: invalid operand for instruction
2346 // CHECK-ERROR
: umlal v0.2d
, v1.2d
, v2.2s
2348 umlal2 v0.8h
, v1.16h
, v2.16
b
2349 umlal2 v0.4s
, v1.8s
, v2.8h
2350 umlal2 v0.2d
, v1.4d
, v2.4s
2352 // CHECK-ERROR
: [[@LINE-
4]]:23: error
: invalid vector kind qualifier
2353 // CHECK-ERROR
: umlal2 v0.8h
, v1.16h
, v2.16
b
2354 // CHECK-ERROR
: [[@LINE-
5]]:23: error
: invalid vector kind qualifier
2355 // CHECK-ERROR
: umlal2 v0.4s
, v1.8s
, v2.8h
2356 // CHECK-ERROR
: [[@LINE-
6]]:23: error
: invalid vector kind qualifier
2357 // CHECK-ERROR
: umlal2 v0.2d
, v1.4d
, v2.4s
2359 smlsl v0.8h
, v1.8h
, v2.8
b
2360 smlsl v0.4s
, v1.4s
, v2.4h
2361 smlsl v0.2d
, v1.2d
, v2.2s
2363 // CHECK-ERROR
: [[@LINE-
4]]:22: error
: invalid operand for instruction
2364 // CHECK-ERROR
: smlsl v0.8h
, v1.8h
, v2.8
b
2365 // CHECK-ERROR
: [[@LINE-
5]]:22: error
: invalid operand for instruction
2366 // CHECK-ERROR
: smlsl v0.4s
, v1.4s
, v2.4h
2367 // CHECK-ERROR
: [[@LINE-
6]]:22: error
: invalid operand for instruction
2368 // CHECK-ERROR
: smlsl v0.2d
, v1.2d
, v2.2s
2370 smlsl2 v0.8h
, v1.16h
, v2.16
b
2371 smlsl2 v0.4s
, v1.8s
, v2.8h
2372 smlsl2 v0.2d
, v1.4d
, v2.4s
2374 // CHECK-ERROR
: [[@LINE-
4]]:23: error
: invalid vector kind qualifier
2375 // CHECK-ERROR
: smlsl2 v0.8h
, v1.16h
, v2.16
b
2376 // CHECK-ERROR
: [[@LINE-
5]]:23: error
: invalid vector kind qualifier
2377 // CHECK-ERROR
: smlsl2 v0.4s
, v1.8s
, v2.8h
2378 // CHECK-ERROR
: [[@LINE-
6]]:23: error
: invalid vector kind qualifier
2379 // CHECK-ERROR
: smlsl2 v0.2d
, v1.4d
, v2.4s
2381 umlsl v0.8h
, v1.8h
, v2.8
b
2382 umlsl v0.4s
, v1.4s
, v2.4h
2383 umlsl v0.2d
, v1.2d
, v2.2s
2385 // CHECK-ERROR
: error
: invalid operand for instruction
2386 // CHECK-ERROR
: umlsl v0.8h
, v1.8h
, v2.8
b
2388 // CHECK-ERROR
: error
: invalid operand for instruction
2389 // CHECK-ERROR
: umlsl v0.4s
, v1.4s
, v2.4h
2391 // CHECK-ERROR
: error
: invalid operand for instruction
2392 // CHECK-ERROR
: umlsl v0.2d
, v1.2d
, v2.2s
2395 umlsl2 v0.8h
, v1.16h
, v2.16
b
2396 umlsl2 v0.4s
, v1.8s
, v2.8h
2397 umlsl2 v0.2d
, v1.4d
, v2.4s
2399 // CHECK-ERROR
: [[@LINE-
4]]:23: error
: invalid vector kind qualifier
2400 // CHECK-ERROR
: umlsl2 v0.8h
, v1.16h
, v2.16
b
2401 // CHECK-ERROR
: [[@LINE-
5]]:23: error
: invalid vector kind qualifier
2402 // CHECK-ERROR
: umlsl2 v0.4s
, v1.8s
, v2.8h
2403 // CHECK-ERROR
: [[@LINE-
6]]:23: error
: invalid vector kind qualifier
2404 // CHECK-ERROR
: umlsl2 v0.2d
, v1.4d
, v2.4s
2406 smull v0.8h
, v1.8h
, v2.8
b
2407 smull v0.4s
, v1.4s
, v2.4h
2408 smull v0.2d
, v1.2d
, v2.2s
2410 // CHECK-ERROR
: error
: invalid operand for instruction
2411 // CHECK-ERROR
: smull v0.8h
, v1.8h
, v2.8
b
2413 // CHECK-ERROR
: error
: invalid operand for instruction
2414 // CHECK-ERROR
: smull v0.4s
, v1.4s
, v2.4h
2416 // CHECK-ERROR
: error
: invalid operand for instruction
2417 // CHECK-ERROR
: smull v0.2d
, v1.2d
, v2.2s
2420 smull2 v0.8h
, v1.16h
, v2.16
b
2421 smull2 v0.4s
, v1.8s
, v2.8h
2422 smull2 v0.2d
, v1.4d
, v2.4s
2424 // CHECK-ERROR
: [[@LINE-
4]]:23: error
: invalid vector kind qualifier
2425 // CHECK-ERROR
: smull2 v0.8h
, v1.16h
, v2.16
b
2426 // CHECK-ERROR
: [[@LINE-
5]]:23: error
: invalid vector kind qualifier
2427 // CHECK-ERROR
: smull2 v0.4s
, v1.8s
, v2.8h
2428 // CHECK-ERROR
: [[@LINE-
6]]:23: error
: invalid vector kind qualifier
2429 // CHECK-ERROR
: smull2 v0.2d
, v1.4d
, v2.4s
2431 umull v0.8h
, v1.8h
, v2.8
b
2432 umull v0.4s
, v1.4s
, v2.4h
2433 umull v0.2d
, v1.2d
, v2.2s
2435 // CHECK-ERROR
: error
: invalid operand for instruction
2436 // CHECK-ERROR
: umull v0.8h
, v1.8h
, v2.8
b
2438 // CHECK-ERROR
: error
: invalid operand for instruction
2439 // CHECK-ERROR
: umull v0.4s
, v1.4s
, v2.4h
2441 // CHECK-ERROR
: error
: invalid operand for instruction
2442 // CHECK-ERROR
: umull v0.2d
, v1.2d
, v2.2s
2445 umull2 v0.8h
, v1.16h
, v2.16
b
2446 umull2 v0.4s
, v1.8s
, v2.8h
2447 umull2 v0.2d
, v1.4d
, v2.4s
2449 // CHECK-ERROR
: [[@LINE-
4]]:23: error
: invalid vector kind qualifier
2450 // CHECK-ERROR
: umull2 v0.8h
, v1.16h
, v2.16
b
2451 // CHECK-ERROR
: [[@LINE-
5]]:23: error
: invalid vector kind qualifier
2452 // CHECK-ERROR
: umull2 v0.4s
, v1.8s
, v2.8h
2453 // CHECK-ERROR
: [[@LINE-
6]]:23: error
: invalid vector kind qualifier
2454 // CHECK-ERROR
: umull2 v0.2d
, v1.4d
, v2.4s
2456 //------------------------------------------------------------------------------
2458 //------------------------------------------------------------------------------
2460 sqdmlal v0.4s
, v1.4s
, v2.4h
2461 sqdmlal v0.2d
, v1.2d
, v2.2s
2463 // CHECK-ERROR
: error
: invalid operand for instruction
2464 // CHECK-ERROR
: sqdmlal v0.4s
, v1.4s
, v2.4h
2466 // CHECK-ERROR
: error
: invalid operand for instruction
2467 // CHECK-ERROR
: sqdmlal v0.2d
, v1.2d
, v2.2s
2470 sqdmlal2 v0.4s
, v1.8s
, v2.8h
2471 sqdmlal2 v0.2d
, v1.4d
, v2.4s
2473 // CHECK-ERROR
: [[@LINE-
3]]:25: error
: invalid vector kind qualifier
2474 // CHECK-ERROR
: sqdmlal2 v0.4s
, v1.8s
, v2.8h
2475 // CHECK-ERROR
: [[@LINE-
4]]:25: error
: invalid vector kind qualifier
2476 // CHECK-ERROR
: sqdmlal2 v0.2d
, v1.4d
, v2.4s
2478 // Mismatched vector types
2479 sqdmlal v0.8h
, v1.8
b, v2.8
b
2480 sqdmlal2 v0.8h
, v1.16
b, v2.16
b
2482 // CHECK-ERROR
: error
: invalid operand for instruction
2483 // CHECK-ERROR
: sqdmlal v0.8h
, v1.8
b, v2.8
b
2485 // CHECK-ERROR
: error
: invalid operand for instruction
2486 // CHECK-ERROR
: sqdmlal2 v0.8h
, v1.16
b, v2.16
b
2489 sqdmlsl v0.4s
, v1.4s
, v2.4h
2490 sqdmlsl v0.2d
, v1.2d
, v2.2s
2492 // CHECK-ERROR
: error
: invalid operand for instruction
2493 // CHECK-ERROR
: sqdmlsl v0.4s
, v1.4s
, v2.4h
2495 // CHECK-ERROR
: error
: invalid operand for instruction
2496 // CHECK-ERROR
: sqdmlsl v0.2d
, v1.2d
, v2.2s
2499 sqdmlsl2 v0.4s
, v1.8s
, v2.8h
2500 sqdmlsl2 v0.2d
, v1.4d
, v2.4s
2502 // CHECK-ERROR
: [[@LINE-
3]]:25: error
: invalid vector kind qualifier
2503 // CHECK-ERROR
: sqdmlsl2 v0.4s
, v1.8s
, v2.8h
2504 // CHECK-ERROR
: [[@LINE-
4]]:25: error
: invalid vector kind qualifier
2505 // CHECK-ERROR
: sqdmlsl2 v0.2d
, v1.4d
, v2.4s
2507 // Mismatched vector types
2508 sqdmlsl v0.8h
, v1.8
b, v2.8
b
2509 sqdmlsl2 v0.8h
, v1.16
b, v2.16
b
2511 // CHECK-ERROR
: error
: invalid operand for instruction
2512 // CHECK-ERROR
: sqdmlsl v0.8h
, v1.8
b, v2.8
b
2514 // CHECK-ERROR
: error
: invalid operand for instruction
2515 // CHECK-ERROR
: sqdmlsl2 v0.8h
, v1.16
b, v2.16
b
2519 sqdmull v0.4s
, v1.4s
, v2.4h
2520 sqdmull v0.2d
, v1.2d
, v2.2s
2522 // CHECK-ERROR
: error
: invalid operand for instruction
2523 // CHECK-ERROR
: sqdmull v0.4s
, v1.4s
, v2.4h
2525 // CHECK-ERROR
: error
: invalid operand for instruction
2526 // CHECK-ERROR
: sqdmull v0.2d
, v1.2d
, v2.2s
2529 sqdmull2 v0.4s
, v1.8s
, v2.8h
2530 sqdmull2 v0.2d
, v1.4d
, v2.4s
2532 // CHECK-ERROR
: [[@LINE-
3]]:25: error
: invalid vector kind qualifier
2533 // CHECK-ERROR
: sqdmull2 v0.4s
, v1.8s
, v2.8h
2534 // CHECK-ERROR
: [[@LINE-
4]]:25: error
: invalid vector kind qualifier
2535 // CHECK-ERROR
: sqdmull2 v0.2d
, v1.4d
, v2.4s
2537 // Mismatched vector types
2538 sqdmull v0.8h
, v1.8
b, v2.8
b
2539 sqdmull2 v0.8h
, v1.16
b, v2.16
b
2541 // CHECK-ERROR
: error
: invalid operand for instruction
2542 // CHECK-ERROR
: sqdmull v0.8h
, v1.8
b, v2.8
b
2544 // CHECK-ERROR
: error
: invalid operand for instruction
2545 // CHECK-ERROR
: sqdmull2 v0.8h
, v1.16
b, v2.16
b
2549 //------------------------------------------------------------------------------
2551 //------------------------------------------------------------------------------
2553 pmull v0.8h
, v1.8h
, v2.8
b
2555 // CHECK-ERROR
: error
: invalid operand for instruction
2556 // CHECK-ERROR
: pmull v0.8h
, v1.8h
, v2.8
b
2559 pmull v0.1q
, v1.2d
, v2.2d
2561 // CHECK-ERROR
: error
: invalid operand for instruction
2562 // CHECK-ERROR
: pmull v0.1q
, v1.2d
, v2.2d
2565 // Mismatched vector types
2566 pmull v0.4s
, v1.4h
, v2.4h
2567 pmull v0.2d
, v1.2s
, v2.2s
2569 // CHECK-ERROR
: error
: invalid operand for instruction
2570 // CHECK-ERROR
: pmull v0.4s
, v1.4h
, v2.4h
2572 // CHECK-ERROR
: error
: invalid operand for instruction
2573 // CHECK-ERROR
: pmull v0.2d
, v1.2s
, v2.2s
2577 pmull2 v0.8h
, v1.16h
, v2.16
b
2578 // CHECK-ERROR
: [[@LINE-
1]]:23: error
: invalid vector kind qualifier
2579 // CHECK-ERROR
: pmull2 v0.8h
, v1.16h
, v2.16
b
2581 pmull2 v0.q
, v1.2d
, v2.2d
2582 // CHECK-ERROR
: [[@LINE-
1]]:16: error
: invalid vector kind qualifier
2583 // CHECK-ERROR
: pmull2 v0.q
, v1.2d
, v2.2d
2585 // Mismatched vector types
2586 pmull2 v0.4s
, v1.8h v2.8h
2587 pmull2 v0.2d
, v1.4s
, v2.4s
2590 // CHECK-ERROR
: error
: unexpected token in argument list
2591 // CHECK-ERROR
: pmull2 v0.4s
, v1.8h v2.8h
2594 // CHECK-ERROR
: error
: invalid operand for instruction
2595 // CHECK-ERROR
: pmull2 v0.2d
, v1.4s
, v2.4s
2598 //------------------------------------------------------------------------------
2600 //------------------------------------------------------------------------------
2602 saddw v0.8h
, v1.8h
, v2.8h
2603 saddw v0.4s
, v1.4s
, v2.4s
2604 saddw v0.2d
, v1.2d
, v2.2d
2606 // CHECK-ERROR
: error
: invalid operand for instruction
2607 // CHECK-ERROR
: saddw v0.8h
, v1.8h
, v2.8h
2609 // CHECK-ERROR
: error
: invalid operand for instruction
2610 // CHECK-ERROR
: saddw v0.4s
, v1.4s
, v2.4s
2612 // CHECK-ERROR
: error
: invalid operand for instruction
2613 // CHECK-ERROR
: saddw v0.2d
, v1.2d
, v2.2d
2616 saddw2 v0.8h
, v1.8h
, v2.16h
2617 saddw2 v0.4s
, v1.4s
, v2.8s
2618 saddw2 v0.2d
, v1.2d
, v2.4d
2620 // CHECK-ERROR
: [[@LINE-
4]]:30: error
: invalid vector kind qualifier
2621 // CHECK-ERROR
: saddw2 v0.8h
, v1.8h
, v2.16h
2622 // CHECK-ERROR
: [[@LINE-
5]]:30: error
: invalid vector kind qualifier
2623 // CHECK-ERROR
: saddw2 v0.4s
, v1.4s
, v2.8s
2624 // CHECK-ERROR
: [[@LINE-
6]]:30: error
: invalid vector kind qualifier
2625 // CHECK-ERROR
: saddw2 v0.2d
, v1.2d
, v2.4d
2627 uaddw v0.8h
, v1.8h
, v2.8h
2628 uaddw v0.4s
, v1.4s
, v2.4s
2629 uaddw v0.2d
, v1.2d
, v2.2d
2631 // CHECK-ERROR
: error
: invalid operand for instruction
2632 // CHECK-ERROR
: uaddw v0.8h
, v1.8h
, v2.8h
2634 // CHECK-ERROR
: error
: invalid operand for instruction
2635 // CHECK-ERROR
: uaddw v0.4s
, v1.4s
, v2.4s
2637 // CHECK-ERROR
: error
: invalid operand for instruction
2638 // CHECK-ERROR
: uaddw v0.2d
, v1.2d
, v2.2d
2641 uaddw2 v0.8h
, v1.8h
, v2.16h
2642 uaddw2 v0.4s
, v1.4s
, v2.8s
2643 uaddw2 v0.2d
, v1.2d
, v2.4d
2645 // CHECK-ERROR
: [[@LINE-
4]]:30: error
: invalid vector kind qualifier
2646 // CHECK-ERROR
: uaddw2 v0.8h
, v1.8h
, v2.16h
2647 // CHECK-ERROR
: [[@LINE-
5]]:30: error
: invalid vector kind qualifier
2648 // CHECK-ERROR
: uaddw2 v0.4s
, v1.4s
, v2.8s
2649 // CHECK-ERROR
: [[@LINE-
6]]:30: error
: invalid vector kind qualifier
2650 // CHECK-ERROR
: uaddw2 v0.2d
, v1.2d
, v2.4d
2652 ssubw v0.8h
, v1.8h
, v2.8h
2653 ssubw v0.4s
, v1.4s
, v2.4s
2654 ssubw v0.2d
, v1.2d
, v2.2d
2656 // CHECK-ERROR
: error
: invalid operand for instruction
2657 // CHECK-ERROR
: ssubw v0.8h
, v1.8h
, v2.8h
2659 // CHECK-ERROR
: error
: invalid operand for instruction
2660 // CHECK-ERROR
: ssubw v0.4s
, v1.4s
, v2.4s
2662 // CHECK-ERROR
: error
: invalid operand for instruction
2663 // CHECK-ERROR
: ssubw v0.2d
, v1.2d
, v2.2d
2666 ssubw2 v0.8h
, v1.8h
, v2.16h
2667 ssubw2 v0.4s
, v1.4s
, v2.8s
2668 ssubw2 v0.2d
, v1.2d
, v2.4d
2670 // CHECK-ERROR
: [[@LINE-
4]]:30: error
: invalid vector kind qualifier
2671 // CHECK-ERROR
: ssubw2 v0.8h
, v1.8h
, v2.16h
2672 // CHECK-ERROR
: [[@LINE-
5]]:30: error
: invalid vector kind qualifier
2673 // CHECK-ERROR
: ssubw2 v0.4s
, v1.4s
, v2.8s
2674 // CHECK-ERROR
: [[@LINE-
6]]:30: error
: invalid vector kind qualifier
2675 // CHECK-ERROR
: ssubw2 v0.2d
, v1.2d
, v2.4d
2677 usubw v0.8h
, v1.8h
, v2.8h
2678 usubw v0.4s
, v1.4s
, v2.4s
2679 usubw v0.2d
, v1.2d
, v2.2d
2681 // CHECK-ERROR
: error
: invalid operand for instruction
2682 // CHECK-ERROR
: usubw v0.8h
, v1.8h
, v2.8h
2684 // CHECK-ERROR
: error
: invalid operand for instruction
2685 // CHECK-ERROR
: usubw v0.4s
, v1.4s
, v2.4s
2687 // CHECK-ERROR
: error
: invalid operand for instruction
2688 // CHECK-ERROR
: usubw v0.2d
, v1.2d
, v2.2d
2691 usubw2 v0.8h
, v1.8h
, v2.16h
2692 usubw2 v0.4s
, v1.4s
, v2.8s
2693 usubw2 v0.2d
, v1.2d
, v2.4d
2695 // CHECK-ERROR
: [[@LINE-
4]]:30: error
: invalid vector kind qualifier
2696 // CHECK-ERROR
: usubw2 v0.8h
, v1.8h
, v2.16h
2697 // CHECK-ERROR
: [[@LINE-
5]]:30: error
: invalid vector kind qualifier
2698 // CHECK-ERROR
: usubw2 v0.4s
, v1.4s
, v2.8s
2699 // CHECK-ERROR
: [[@LINE-
6]]:30: error
: invalid vector kind qualifier
2700 // CHECK-ERROR
: usubw2 v0.2d
, v1.2d
, v2.4d
2702 //------------------------------------------------------------------------------
2704 //------------------------------------------------------------------------------
2706 addhn v0.8
b, v1.8h
, v2.8d
2707 addhn v0.4h
, v1.4s
, v2.4h
2708 addhn v0.2s
, v1.2d
, v2.2s
2710 // CHECK-ERROR
: [[@LINE-
4]]:29: error
: invalid vector kind qualifier
2711 // CHECK-ERROR
: addhn v0.8
b, v1.8h
, v2.8d
2712 // CHECK-ERROR
: [[@LINE-
5]]:29: error
: invalid operand for instruction
2713 // CHECK-ERROR
: addhn v0.4h
, v1.4s
, v2.4h
2714 // CHECK-ERROR
: [[@LINE-
6]]:29: error
: invalid operand for instruction
2715 // CHECK-ERROR
: addhn v0.2s
, v1.2d
, v2.2s
2717 addhn2 v0.16
b, v1.8h
, v2.8
b
2718 addhn2 v0.8h
, v1.4s
, v2.4h
2719 addhn2 v0.4s
, v1.2d
, v2.2s
2721 // CHECK-ERROR
: error
: invalid operand for instruction
2722 // CHECK-ERROR
: addhn2 v0.16
b, v1.8h
, v2.8
b
2724 // CHECK-ERROR
: error
: invalid operand for instruction
2725 // CHECK-ERROR
: addhn2 v0.8h
, v1.4s
, v2.4h
2727 // CHECK-ERROR
: error
: invalid operand for instruction
2728 // CHECK-ERROR
: addhn2 v0.4s
, v1.2d
, v2.2s
2731 raddhn v0.8
b, v1.8h
, v2.8
b
2732 raddhn v0.4h
, v1.4s
, v2.4h
2733 raddhn v0.2s
, v1.2d
, v2.2s
2735 // CHECK-ERROR
: error
: invalid operand for instruction
2736 // CHECK-ERROR
: raddhn v0.8
b, v1.8h
, v2.8
b
2738 // CHECK-ERROR
: error
: invalid operand for instruction
2739 // CHECK-ERROR
: raddhn v0.4h
, v1.4s
, v2.4h
2741 // CHECK-ERROR
: error
: invalid operand for instruction
2742 // CHECK-ERROR
: raddhn v0.2s
, v1.2d
, v2.2s
2745 raddhn2 v0.16
b, v1.8h
, v2.8
b
2746 raddhn2 v0.8h
, v1.4s
, v2.4h
2747 raddhn2 v0.4s
, v1.2d
, v2.2s
2749 // CHECK-ERROR
: error
: invalid operand for instruction
2750 // CHECK-ERROR
: raddhn2 v0.16
b, v1.8h
, v2.8
b
2752 // CHECK-ERROR
: error
: invalid operand for instruction
2753 // CHECK-ERROR
: raddhn2 v0.8h
, v1.4s
, v2.4h
2755 // CHECK-ERROR
: error
: invalid operand for instruction
2756 // CHECK-ERROR
: raddhn2 v0.4s
, v1.2d
, v2.2s
2759 rsubhn v0.8
b, v1.8h
, v2.8
b
2760 rsubhn v0.4h
, v1.4s
, v2.4h
2761 rsubhn v0.2s
, v1.2d
, v2.2s
2763 // CHECK-ERROR
: error
: invalid operand for instruction
2764 // CHECK-ERROR
: rsubhn v0.8
b, v1.8h
, v2.8
b
2766 // CHECK-ERROR
: error
: invalid operand for instruction
2767 // CHECK-ERROR
: rsubhn v0.4h
, v1.4s
, v2.4h
2769 // CHECK-ERROR
: error
: invalid operand for instruction
2770 // CHECK-ERROR
: rsubhn v0.2s
, v1.2d
, v2.2s
2773 rsubhn2 v0.16
b, v1.8h
, v2.8
b
2774 rsubhn2 v0.8h
, v1.4s
, v2.4h
2775 rsubhn2 v0.4s
, v1.2d
, v2.2s
2777 // CHECK-ERROR
: error
: invalid operand for instruction
2778 // CHECK-ERROR
: rsubhn2 v0.16
b, v1.8h
, v2.8
b
2780 // CHECK-ERROR
: error
: invalid operand for instruction
2781 // CHECK-ERROR
: rsubhn2 v0.8h
, v1.4s
, v2.4h
2783 // CHECK-ERROR
: error
: invalid operand for instruction
2784 // CHECK-ERROR
: rsubhn2 v0.4s
, v1.2d
, v2.2s
2787 //----------------------------------------------------------------------
2788 // Scalar Reduce
Add Pairwise
(Integer
)
2789 //----------------------------------------------------------------------
2790 // invalid vector types
2794 // CHECK-ERROR
: error
: invalid operand for instruction
2795 // CHECK-ERROR
: addp s0
, d1.2d
2797 // CHECK-ERROR
: error
: invalid operand for instruction
2798 // CHECK-ERROR
: addp d0
, d1.2s
2801 //----------------------------------------------------------------------
2802 // Scalar Reduce
Add Pairwise
(Floating Point
)
2803 //----------------------------------------------------------------------
2804 // invalid vector types
2808 // CHECK-ERROR
: error
: invalid operand for instruction
2809 // CHECK-ERROR
: faddp s0
, d1.2d
2811 // CHECK-ERROR
: error
: invalid operand for instruction
2812 // CHECK-ERROR
: faddp d0
, d1.2s
2815 //----------------------------------------------------------------------
2816 // Scalar Reduce Maximum Pairwise
(Floating Point
)
2817 //----------------------------------------------------------------------
2818 // mismatched
and invalid vector types
2823 // CHECK-ERROR
: error
: invalid operand for instruction
2824 // CHECK-ERROR
: fmaxp s0
, v1.2d
2826 // CHECK-ERROR
: error
: invalid operand for instruction
2827 // CHECK-ERROR
: fmaxp d31
, v2.2s
2829 // CHECK-ERROR
: error
: invalid operand for instruction
2830 // CHECK-ERROR
: fmaxp h3
, v2.2s
2834 //----------------------------------------------------------------------
2835 // Scalar Reduce Minimum Pairwise
(Floating Point
)
2836 //----------------------------------------------------------------------
2837 // mismatched
and invalid vector types
2842 // CHECK-ERROR
: error
: invalid operand for instruction
2843 // CHECK-ERROR
: fminp s0
, v1.4h
2845 // CHECK-ERROR
: error
: invalid operand for instruction
2846 // CHECK-ERROR
: fminp d31
, v2.8h
2848 // CHECK-ERROR
: error
: invalid operand for instruction
2849 // CHECK-ERROR
: fminp b3
, v2.2s
2853 //----------------------------------------------------------------------
2854 // Scalar Reduce maxNum Pairwise
(Floating Point
)
2855 //----------------------------------------------------------------------
2856 // mismatched
and invalid vector types
2859 fmaxnmp v1.2s
, v2.2s
2861 // CHECK-ERROR
: error
: invalid operand for instruction
2862 // CHECK-ERROR
: fmaxnmp s0
, v1.8
b
2864 // CHECK-ERROR
: error
: invalid operand for instruction
2865 // CHECK-ERROR
: fmaxnmp d31
, v2.16
b
2867 // CHECK-ERROR
: error
: too few operands for instruction
2868 // CHECK-ERROR
: fmaxnmp v1.2s
, v2.2s
2871 //----------------------------------------------------------------------
2872 // Scalar Reduce minNum Pairwise
(Floating Point
)
2873 //----------------------------------------------------------------------
2874 // mismatched
and invalid vector types
2877 fminnmp v1.4s
, v2.2d
2879 // CHECK-ERROR
: error
: invalid operand for instruction
2880 // CHECK-ERROR
: fminnmp s0
, v1.2d
2882 // CHECK-ERROR
: error
: invalid operand for instruction
2883 // CHECK-ERROR
: fminnmp d31
, v2.4s
2885 // CHECK-ERROR
: error
: invalid operand for instruction
2886 // CHECK-ERROR
: fminnmp v1.4s
, v2.2d
2889 mla v0.2d
, v1.2d
, v16.d
[1]
2890 mla v0.2s
, v1.2s
, v2.s
[4]
2891 mla v0.4s
, v1.4s
, v2.s
[4]
2892 mla v0.2h
, v1.2h
, v2.h
[1]
2893 mla v0.4h
, v1.4h
, v2.h
[8]
2894 mla v0.8h
, v1.8h
, v2.h
[8]
2895 mla v0.4h
, v1.4h
, v16.h
[2]
2896 mla v0.8h
, v1.8h
, v16.h
[2]
2898 // CHECK-ERROR
: error
: invalid operand for instruction
2899 // CHECK-ERROR
: mla v0.2d
, v1.2d
, v16.d
[1]
2901 // CHECK-ERROR
: vector lane must
be an integer in range
2902 // CHECK-ERROR
: mla v0.2s
, v1.2s
, v2.s
[4]
2904 // CHECK-ERROR
: vector lane must
be an integer in range
2905 // CHECK-ERROR
: mla v0.4s
, v1.4s
, v2.s
[4]
2907 // CHECK-ERROR
: error
: invalid operand for instruction
2908 // CHECK-ERROR
: mla v0.2h
, v1.2h
, v2.h
[1]
2910 // CHECK-ERROR
: vector lane must
be an integer in range
2911 // CHECK-ERROR
: mla v0.4h
, v1.4h
, v2.h
[8]
2913 // CHECK-ERROR
: vector lane must
be an integer in range
2914 // CHECK-ERROR
: mla v0.8h
, v1.8h
, v2.h
[8]
2916 // CHECK-ERROR
: error
: invalid operand for instruction
2917 // CHECK-ERROR
: mla v0.4h
, v1.4h
, v16.h
[2]
2919 // CHECK-ERROR
: error
: invalid operand for instruction
2920 // CHECK-ERROR
: mla v0.8h
, v1.8h
, v16.h
[2]
2923 mls v0.2d
, v1.2d
, v16.d
[1]
2924 mls v0.2s
, v1.2s
, v2.s
[4]
2925 mls v0.4s
, v1.4s
, v2.s
[4]
2926 mls v0.2h
, v1.2h
, v2.h
[1]
2927 mls v0.4h
, v1.4h
, v2.h
[8]
2928 mls v0.8h
, v1.8h
, v2.h
[8]
2929 mls v0.4h
, v1.4h
, v16.h
[2]
2930 mls v0.8h
, v1.8h
, v16.h
[2]
2932 // CHECK-ERROR
: error
: invalid operand for instruction
2933 // CHECK-ERROR
: mls v0.2d
, v1.2d
, v16.d
[1]
2935 // CHECK-ERROR
: vector lane must
be an integer in range
2936 // CHECK-ERROR
: mls v0.2s
, v1.2s
, v2.s
[4]
2938 // CHECK-ERROR
: vector lane must
be an integer in range
2939 // CHECK-ERROR
: mls v0.4s
, v1.4s
, v2.s
[4]
2941 // CHECK-ERROR
: error
: invalid operand for instruction
2942 // CHECK-ERROR
: mls v0.2h
, v1.2h
, v2.h
[1]
2944 // CHECK-ERROR
: vector lane must
be an integer in range
2945 // CHECK-ERROR
: mls v0.4h
, v1.4h
, v2.h
[8]
2947 // CHECK-ERROR
: vector lane must
be an integer in range
2948 // CHECK-ERROR
: mls v0.8h
, v1.8h
, v2.h
[8]
2950 // CHECK-ERROR
: error
: invalid operand for instruction
2951 // CHECK-ERROR
: mls v0.4h
, v1.4h
, v16.h
[2]
2953 // CHECK-ERROR
: error
: invalid operand for instruction
2954 // CHECK-ERROR
: mls v0.8h
, v1.8h
, v16.h
[2]
2957 fmla v0.4h
, v1.4h
, v2.h
[2]
2958 fmla v0.8h
, v1.8h
, v2.h
[2]
2959 fmla v0.2s
, v1.2s
, v2.s
[4]
2960 fmla v0.2s
, v1.2s
, v22.s
[4]
2961 fmla v3.4s
, v8.4s
, v2.s
[4]
2962 fmla v3.4s
, v8.4s
, v22.s
[4]
2963 fmla v0.2d
, v1.2d
, v2.d
[2]
2964 fmla v0.2d
, v1.2d
, v22.d
[2]
2966 // CHECK-ERROR
: error
: instruction requires
: fullfp16
2967 // CHECK-ERROR
: fmla v0.4h
, v1.4h
, v2.h
[2]
2969 // CHECK-ERROR
: error
: instruction requires
: fullfp16
2970 // CHECK-ERROR
: fmla v0.8h
, v1.8h
, v2.h
[2]
2972 // CHECK-ERROR
: vector lane must
be an integer in range
2973 // CHECK-ERROR
: fmla v0.2s
, v1.2s
, v2.s
[4]
2975 // CHECK-ERROR
: vector lane must
be an integer in range
2976 // CHECK-ERROR
: fmla v0.2s
, v1.2s
, v22.s
[4]
2978 // CHECK-ERROR
: vector lane must
be an integer in range
2979 // CHECK-ERROR
: fmla v3.4s
, v8.4s
, v2.s
[4]
2981 // CHECK-ERROR
: vector lane must
be an integer in range
2982 // CHECK-ERROR
: fmla v3.4s
, v8.4s
, v22.s
[4]
2984 // CHECK-ERROR
: vector lane must
be an integer in range
2985 // CHECK-ERROR
: fmla v0.2d
, v1.2d
, v2.d
[2]
2987 // CHECK-ERROR
: vector lane must
be an integer in range
2988 // CHECK-ERROR
: fmla v0.2d
, v1.2d
, v22.d
[2]
2991 fmls v0.4h
, v1.4h
, v2.h
[2]
2992 fmls v0.8h
, v1.8h
, v2.h
[2]
2993 fmls v0.2s
, v1.2s
, v2.s
[4]
2994 fmls v0.2s
, v1.2s
, v22.s
[4]
2995 fmls v3.4s
, v8.4s
, v2.s
[4]
2996 fmls v3.4s
, v8.4s
, v22.s
[4]
2997 fmls v0.2d
, v1.2d
, v2.d
[2]
2998 fmls v0.2d
, v1.2d
, v22.d
[2]
3000 // CHECK-ERROR
: error
: instruction requires
: fullfp16
3001 // CHECK-ERROR
: fmls v0.4h
, v1.4h
, v2.h
[2]
3003 // CHECK-ERROR
: error
: instruction requires
: fullfp16
3004 // CHECK-ERROR
: fmls v0.8h
, v1.8h
, v2.h
[2]
3006 // CHECK-ERROR
: vector lane must
be an integer in range
3007 // CHECK-ERROR
: fmls v0.2s
, v1.2s
, v2.s
[4]
3009 // CHECK-ERROR
: vector lane must
be an integer in range
3010 // CHECK-ERROR
: fmls v0.2s
, v1.2s
, v22.s
[4]
3012 // CHECK-ERROR
: vector lane must
be an integer in range
3013 // CHECK-ERROR
: fmls v3.4s
, v8.4s
, v2.s
[4]
3015 // CHECK-ERROR
: vector lane must
be an integer in range
3016 // CHECK-ERROR
: fmls v3.4s
, v8.4s
, v22.s
[4]
3018 // CHECK-ERROR
: vector lane must
be an integer in range
3019 // CHECK-ERROR
: fmls v0.2d
, v1.2d
, v2.d
[2]
3021 // CHECK-ERROR
: vector lane must
be an integer in range
3022 // CHECK-ERROR
: fmls v0.2d
, v1.2d
, v22.d
[2]
3025 smlal v0.4h
, v1.4h
, v2.h
[2]
3026 smlal v0.4s
, v1.4h
, v2.h
[8]
3027 smlal v0.4s
, v1.4h
, v16.h
[2]
3028 smlal v0.2s
, v1.2s
, v2.s
[1]
3029 smlal v0.2d
, v1.2s
, v2.s
[4]
3030 smlal v0.2d
, v1.2s
, v22.s
[4]
3031 smlal2 v0.4h
, v1.8h
, v1.h
[2]
3032 smlal2 v0.4s
, v1.8h
, v1.h
[8]
3033 smlal2 v0.4s
, v1.8h
, v16.h
[2]
3034 smlal2 v0.2s
, v1.4s
, v1.s
[2]
3035 smlal2 v0.2d
, v1.4s
, v1.s
[4]
3036 smlal2 v0.2d
, v1.4s
, v22.s
[4]
3038 // CHECK-ERROR
: error
: invalid operand for instruction
3039 // CHECK-ERROR
: smlal v0.4h
, v1.4h
, v2.h
[2]
3041 // CHECK-ERROR
: vector lane must
be an integer in range
3042 // CHECK-ERROR
: smlal v0.4s
, v1.4h
, v2.h
[8]
3044 // CHECK-ERROR
: error
: invalid operand for instruction
3045 // CHECK-ERROR
: smlal v0.4s
, v1.4h
, v16.h
[2]
3047 // CHECK-ERROR
: error
: invalid operand for instruction
3048 // CHECK-ERROR
: smlal v0.2s
, v1.2s
, v2.s
[1]
3050 // CHECK-ERROR
: vector lane must
be an integer in range
3051 // CHECK-ERROR
: smlal v0.2d
, v1.2s
, v2.s
[4]
3053 // CHECK-ERROR
: vector lane must
be an integer in range
3054 // CHECK-ERROR
: smlal v0.2d
, v1.2s
, v22.s
[4]
3056 // CHECK-ERROR
: error
: invalid operand for instruction
3057 // CHECK-ERROR
: smlal2 v0.4h
, v1.8h
, v1.h
[2]
3059 // CHECK-ERROR
: vector lane must
be an integer in range
3060 // CHECK-ERROR
: smlal2 v0.4s
, v1.8h
, v1.h
[8]
3062 // CHECK-ERROR
: error
: invalid operand for instruction
3063 // CHECK-ERROR
: smlal2 v0.4s
, v1.8h
, v16.h
[2]
3065 // CHECK-ERROR
: error
: invalid operand for instruction
3066 // CHECK-ERROR
: smlal2 v0.2s
, v1.4s
, v1.s
[2]
3068 // CHECK-ERROR
: vector lane must
be an integer in range
3069 // CHECK-ERROR
: smlal2 v0.2d
, v1.4s
, v1.s
[4]
3071 // CHECK-ERROR
: vector lane must
be an integer in range
3072 // CHECK-ERROR
: smlal2 v0.2d
, v1.4s
, v22.s
[4]
3075 smlsl v0.4h
, v1.4h
, v2.h
[2]
3076 smlsl v0.4s
, v1.4h
, v2.h
[8]
3077 smlsl v0.4s
, v1.4h
, v16.h
[2]
3078 smlsl v0.2s
, v1.2s
, v2.s
[1]
3079 smlsl v0.2d
, v1.2s
, v2.s
[4]
3080 smlsl v0.2d
, v1.2s
, v22.s
[4]
3081 smlsl2 v0.4h
, v1.8h
, v1.h
[2]
3082 smlsl2 v0.4s
, v1.8h
, v1.h
[8]
3083 smlsl2 v0.4s
, v1.8h
, v16.h
[2]
3084 smlsl2 v0.2s
, v1.4s
, v1.s
[2]
3085 smlsl2 v0.2d
, v1.4s
, v1.s
[4]
3086 smlsl2 v0.2d
, v1.4s
, v22.s
[4]
3088 // CHECK-ERROR
: error
: invalid operand for instruction
3089 // CHECK-ERROR
: smlsl v0.4h
, v1.4h
, v2.h
[2]
3091 // CHECK-ERROR
: vector lane must
be an integer in range
3092 // CHECK-ERROR
: smlsl v0.4s
, v1.4h
, v2.h
[8]
3094 // CHECK-ERROR
: error
: invalid operand for instruction
3095 // CHECK-ERROR
: smlsl v0.4s
, v1.4h
, v16.h
[2]
3097 // CHECK-ERROR
: error
: invalid operand for instruction
3098 // CHECK-ERROR
: smlsl v0.2s
, v1.2s
, v2.s
[1]
3100 // CHECK-ERROR
: vector lane must
be an integer in range
3101 // CHECK-ERROR
: smlsl v0.2d
, v1.2s
, v2.s
[4]
3103 // CHECK-ERROR
: vector lane must
be an integer in range
3104 // CHECK-ERROR
: smlsl v0.2d
, v1.2s
, v22.s
[4]
3106 // CHECK-ERROR
: error
: invalid operand for instruction
3107 // CHECK-ERROR
: smlsl2 v0.4h
, v1.8h
, v1.h
[2]
3109 // CHECK-ERROR
: vector lane must
be an integer in range
3110 // CHECK-ERROR
: smlsl2 v0.4s
, v1.8h
, v1.h
[8]
3112 // CHECK-ERROR
: error
: invalid operand for instruction
3113 // CHECK-ERROR
: smlsl2 v0.4s
, v1.8h
, v16.h
[2]
3115 // CHECK-ERROR
: error
: invalid operand for instruction
3116 // CHECK-ERROR
: smlsl2 v0.2s
, v1.4s
, v1.s
[2]
3118 // CHECK-ERROR
: vector lane must
be an integer in range
3119 // CHECK-ERROR
: smlsl2 v0.2d
, v1.4s
, v1.s
[4]
3121 // CHECK-ERROR
: vector lane must
be an integer in range
3122 // CHECK-ERROR
: smlsl2 v0.2d
, v1.4s
, v22.s
[4]
3125 umlal v0.4h
, v1.4h
, v2.h
[2]
3126 umlal v0.4s
, v1.4h
, v2.h
[8]
3127 umlal v0.4s
, v1.4h
, v16.h
[2]
3128 umlal v0.2s
, v1.2s
, v2.s
[1]
3129 umlal v0.2d
, v1.2s
, v2.s
[4]
3130 umlal v0.2d
, v1.2s
, v22.s
[4]
3131 umlal2 v0.4h
, v1.8h
, v1.h
[2]
3132 umlal2 v0.4s
, v1.8h
, v1.h
[8]
3133 umlal2 v0.4s
, v1.8h
, v16.h
[2]
3134 umlal2 v0.2s
, v1.4s
, v1.s
[2]
3135 umlal2 v0.2d
, v1.4s
, v1.s
[4]
3136 umlal2 v0.2d
, v1.4s
, v22.s
[4]
3138 // CHECK-ERROR
: error
: invalid operand for instruction
3139 // CHECK-ERROR
: umlal v0.4h
, v1.4h
, v2.h
[2]
3141 // CHECK-ERROR
: vector lane must
be an integer in range
3142 // CHECK-ERROR
: umlal v0.4s
, v1.4h
, v2.h
[8]
3144 // CHECK-ERROR
: error
: invalid operand for instruction
3145 // CHECK-ERROR
: umlal v0.4s
, v1.4h
, v16.h
[2]
3147 // CHECK-ERROR
: error
: invalid operand for instruction
3148 // CHECK-ERROR
: umlal v0.2s
, v1.2s
, v2.s
[1]
3150 // CHECK-ERROR
: vector lane must
be an integer in range
3151 // CHECK-ERROR
: umlal v0.2d
, v1.2s
, v2.s
[4]
3153 // CHECK-ERROR
: vector lane must
be an integer in range
3154 // CHECK-ERROR
: umlal v0.2d
, v1.2s
, v22.s
[4]
3156 // CHECK-ERROR
: error
: invalid operand for instruction
3157 // CHECK-ERROR
: umlal2 v0.4h
, v1.8h
, v1.h
[2]
3159 // CHECK-ERROR
: vector lane must
be an integer in range
3160 // CHECK-ERROR
: umlal2 v0.4s
, v1.8h
, v1.h
[8]
3162 // CHECK-ERROR
: error
: invalid operand for instruction
3163 // CHECK-ERROR
: umlal2 v0.4s
, v1.8h
, v16.h
[2]
3165 // CHECK-ERROR
: error
: invalid operand for instruction
3166 // CHECK-ERROR
: umlal2 v0.2s
, v1.4s
, v1.s
[2]
3168 // CHECK-ERROR
: vector lane must
be an integer in range
3169 // CHECK-ERROR
: umlal2 v0.2d
, v1.4s
, v1.s
[4]
3171 // CHECK-ERROR
: vector lane must
be an integer in range
3172 // CHECK-ERROR
: umlal2 v0.2d
, v1.4s
, v22.s
[4]
3175 umlsl v0.4h
, v1.4h
, v2.h
[2]
3176 umlsl v0.4s
, v1.4h
, v2.h
[8]
3177 umlsl v0.4s
, v1.4h
, v16.h
[2]
3178 umlsl v0.2s
, v1.2s
, v2.s
[3]
3179 umlsl v0.2d
, v1.2s
, v2.s
[4]
3180 umlsl v0.2d
, v1.2s
, v22.s
[4]
3181 umlsl2 v0.4h
, v1.8h
, v1.h
[2]
3182 umlsl2 v0.4s
, v1.8h
, v1.h
[8]
3183 umlsl2 v0.4s
, v1.8h
, v16.h
[2]
3184 umlsl2 v0.2s
, v1.4s
, v1.s
[2]
3185 umlsl2 v0.2d
, v1.4s
, v1.s
[4]
3186 umlsl2 v0.2d
, v1.4s
, v22.s
[4]
3188 // CHECK-ERROR
: error
: invalid operand for instruction
3189 // CHECK-ERROR
: umlsl v0.4h
, v1.4h
, v2.h
[2]
3191 // CHECK-ERROR
: vector lane must
be an integer in range
3192 // CHECK-ERROR
: umlsl v0.4s
, v1.4h
, v2.h
[8]
3194 // CHECK-ERROR
: error
: invalid operand for instruction
3195 // CHECK-ERROR
: umlsl v0.4s
, v1.4h
, v16.h
[2]
3197 // CHECK-ERROR
: error
: invalid operand for instruction
3198 // CHECK-ERROR
: umlsl v0.2s
, v1.2s
, v2.s
[3]
3200 // CHECK-ERROR
: vector lane must
be an integer in range
3201 // CHECK-ERROR
: umlsl v0.2d
, v1.2s
, v2.s
[4]
3203 // CHECK-ERROR
: vector lane must
be an integer in range
3204 // CHECK-ERROR
: umlsl v0.2d
, v1.2s
, v22.s
[4]
3206 // CHECK-ERROR
: error
: invalid operand for instruction
3207 // CHECK-ERROR
: umlsl2 v0.4h
, v1.8h
, v1.h
[2]
3209 // CHECK-ERROR
: vector lane must
be an integer in range
3210 // CHECK-ERROR
: umlsl2 v0.4s
, v1.8h
, v1.h
[8]
3212 // CHECK-ERROR
: error
: invalid operand for instruction
3213 // CHECK-ERROR
: umlsl2 v0.4s
, v1.8h
, v16.h
[2]
3215 // CHECK-ERROR
: error
: invalid operand for instruction
3216 // CHECK-ERROR
: umlsl2 v0.2s
, v1.4s
, v1.s
[2]
3218 // CHECK-ERROR
: vector lane must
be an integer in range
3219 // CHECK-ERROR
: umlsl2 v0.2d
, v1.4s
, v1.s
[4]
3221 // CHECK-ERROR
: vector lane must
be an integer in range
3222 // CHECK-ERROR
: umlsl2 v0.2d
, v1.4s
, v22.s
[4]
3225 sqdmlal v0.4h
, v1.4h
, v2.h
[2]
3226 sqdmlal v0.4s
, v1.4h
, v2.h
[8]
3227 sqdmlal v0.4s
, v1.4h
, v16.h
[2]
3228 sqdmlal v0.2s
, v1.2s
, v2.s
[3]
3229 sqdmlal v0.2d
, v1.2s
, v2.s
[4]
3230 sqdmlal v0.2d
, v1.2s
, v22.s
[4]
3231 sqdmlal2 v0.4h
, v1.8h
, v1.h
[2]
3232 sqdmlal2 v0.4s
, v1.8h
, v1.h
[8]
3233 sqdmlal2 v0.4s
, v1.8h
, v16.h
[2]
3234 sqdmlal2 v0.2s
, v1.4s
, v1.s
[2]
3235 sqdmlal2 v0.2d
, v1.4s
, v1.s
[4]
3236 sqdmlal2 v0.2d
, v1.4s
, v22.s
[4]
3238 // CHECK-ERROR
: error
: invalid operand for instruction
3239 // CHECK-ERROR
: sqdmlal v0.4h
, v1.4h
, v2.h
[2]
3241 // CHECK-ERROR
: vector lane must
be an integer in range
3242 // CHECK-ERROR
: sqdmlal v0.4s
, v1.4h
, v2.h
[8]
3244 // CHECK-ERROR
: error
: invalid operand for instruction
3245 // CHECK-ERROR
: sqdmlal v0.4s
, v1.4h
, v16.h
[2]
3247 // CHECK-ERROR
: error
: invalid operand for instruction
3248 // CHECK-ERROR
: sqdmlal v0.2s
, v1.2s
, v2.s
[3]
3250 // CHECK-ERROR
: vector lane must
be an integer in range
3251 // CHECK-ERROR
: sqdmlal v0.2d
, v1.2s
, v2.s
[4]
3253 // CHECK-ERROR
: vector lane must
be an integer in range
3254 // CHECK-ERROR
: sqdmlal v0.2d
, v1.2s
, v22.s
[4]
3256 // CHECK-ERROR
: error
: invalid operand for instruction
3257 // CHECK-ERROR
: sqdmlal2 v0.4h
, v1.8h
, v1.h
[2]
3259 // CHECK-ERROR
: vector lane must
be an integer in range
3260 // CHECK-ERROR
: sqdmlal2 v0.4s
, v1.8h
, v1.h
[8]
3262 // CHECK-ERROR
: error
: invalid operand for instruction
3263 // CHECK-ERROR
: sqdmlal2 v0.4s
, v1.8h
, v16.h
[2]
3265 // CHECK-ERROR
: error
: invalid operand for instruction
3266 // CHECK-ERROR
: sqdmlal2 v0.2s
, v1.4s
, v1.s
[2]
3268 // CHECK-ERROR
: vector lane must
be an integer in range
3269 // CHECK-ERROR
: sqdmlal2 v0.2d
, v1.4s
, v1.s
[4]
3271 // CHECK-ERROR
: vector lane must
be an integer in range
3272 // CHECK-ERROR
: sqdmlal2 v0.2d
, v1.4s
, v22.s
[4]
3275 sqdmlsl v0.4h
, v1.4h
, v2.h
[2]
3276 sqdmlsl v0.4s
, v1.4h
, v2.h
[8]
3277 sqdmlsl v0.4s
, v1.4h
, v16.h
[2]
3278 sqdmlsl v0.2s
, v1.2s
, v2.s
[3]
3279 sqdmlsl v0.2d
, v1.2s
, v2.s
[4]
3280 sqdmlsl v0.2d
, v1.2s
, v22.s
[4]
3281 sqdmlsl2 v0.4h
, v1.8h
, v1.h
[2]
3282 sqdmlsl2 v0.4s
, v1.8h
, v1.h
[8]
3283 sqdmlsl2 v0.4s
, v1.8h
, v16.h
[2]
3284 sqdmlsl2 v0.2s
, v1.4s
, v1.s
[2]
3285 sqdmlsl2 v0.2d
, v1.4s
, v1.s
[4]
3286 sqdmlsl2 v0.2d
, v1.4s
, v22.s
[4]
3288 // CHECK-ERROR
: error
: invalid operand for instruction
3289 // CHECK-ERROR
: sqdmlsl v0.4h
, v1.4h
, v2.h
[2]
3291 // CHECK-ERROR
: vector lane must
be an integer in range
3292 // CHECK-ERROR
: sqdmlsl v0.4s
, v1.4h
, v2.h
[8]
3294 // CHECK-ERROR
: error
: invalid operand for instruction
3295 // CHECK-ERROR
: sqdmlsl v0.4s
, v1.4h
, v16.h
[2]
3297 // CHECK-ERROR
: error
: invalid operand for instruction
3298 // CHECK-ERROR
: sqdmlsl v0.2s
, v1.2s
, v2.s
[3]
3300 // CHECK-ERROR
: vector lane must
be an integer in range
3301 // CHECK-ERROR
: sqdmlsl v0.2d
, v1.2s
, v2.s
[4]
3303 // CHECK-ERROR
: vector lane must
be an integer in range
3304 // CHECK-ERROR
: sqdmlsl v0.2d
, v1.2s
, v22.s
[4]
3306 // CHECK-ERROR
: error
: invalid operand for instruction
3307 // CHECK-ERROR
: sqdmlsl2 v0.4h
, v1.8h
, v1.h
[2]
3309 // CHECK-ERROR
: vector lane must
be an integer in range
3310 // CHECK-ERROR
: sqdmlsl2 v0.4s
, v1.8h
, v1.h
[8]
3312 // CHECK-ERROR
: error
: invalid operand for instruction
3313 // CHECK-ERROR
: sqdmlsl2 v0.4s
, v1.8h
, v16.h
[2]
3315 // CHECK-ERROR
: error
: invalid operand for instruction
3316 // CHECK-ERROR
: sqdmlsl2 v0.2s
, v1.4s
, v1.s
[2]
3318 // CHECK-ERROR
: vector lane must
be an integer in range
3319 // CHECK-ERROR
: sqdmlsl2 v0.2d
, v1.4s
, v1.s
[4]
3321 // CHECK-ERROR
: vector lane must
be an integer in range
3322 // CHECK-ERROR
: sqdmlsl2 v0.2d
, v1.4s
, v22.s
[4]
3325 mul v0.4h
, v1.4h
, v2.h
[8]
3326 mul v0.4h
, v1.4h
, v16.h
[8]
3327 mul v0.8h
, v1.8h
, v2.h
[8]
3328 mul v0.8h
, v1.8h
, v16.h
[8]
3329 mul v0.2s
, v1.2s
, v2.s
[4]
3330 mul v0.2s
, v1.2s
, v22.s
[4]
3331 mul v0.4s
, v1.4s
, v2.s
[4]
3332 mul v0.4s
, v1.4s
, v22.s
[4]
3333 mul v0.2d
, v1.2d
, v2.d
[1]
3335 // CHECK-ERROR
: vector lane must
be an integer in range
3336 // CHECK-ERROR
: mul v0.4h
, v1.4h
, v2.h
[8]
3338 // CHECK-ERROR
: error
: invalid operand for instruction
3339 // CHECK-ERROR
: mul v0.4h
, v1.4h
, v16.h
[8]
3341 // CHECK-ERROR
: vector lane must
be an integer in range
3342 // CHECK-ERROR
: mul v0.8h
, v1.8h
, v2.h
[8]
3344 // CHECK-ERROR
: invalid operand for instruction
3345 // CHECK-ERROR
: mul v0.8h
, v1.8h
, v16.h
[8]
3347 // CHECK-ERROR
: vector lane must
be an integer in range
3348 // CHECK-ERROR
: mul v0.2s
, v1.2s
, v2.s
[4]
3350 // CHECK-ERROR
: vector lane must
be an integer in range
3351 // CHECK-ERROR
: mul v0.2s
, v1.2s
, v22.s
[4]
3353 // CHECK-ERROR
: vector lane must
be an integer in range
3354 // CHECK-ERROR
: mul v0.4s
, v1.4s
, v2.s
[4]
3356 // CHECK-ERROR
: vector lane must
be an integer in range
3357 // CHECK-ERROR
: mul v0.4s
, v1.4s
, v22.s
[4]
3360 fmul v0.4h
, v1.4h
, v2.h
[4]
3361 fmul v0.2s
, v1.2s
, v2.s
[4]
3362 fmul v0.2s
, v1.2s
, v22.s
[4]
3363 fmul v0.4s
, v1.4s
, v2.s
[4]
3364 fmul v0.4s
, v1.4s
, v22.s
[4]
3365 fmul v0.2d
, v1.2d
, v2.d
[2]
3366 fmul v0.2d
, v1.2d
, v22.d
[2]
3368 // CHECK-ERROR
: error
: invalid operand for instruction
3369 // CHECK-ERROR
: mul v0.2d
, v1.2d
, v2.d
[1]
3371 // CHECK-ERROR
: error
: instruction requires
: fullfp16
3372 // CHECK-ERROR
: fmul v0.4h
, v1.4h
, v2.h
[4]
3374 // CHECK-ERROR
: vector lane must
be an integer in range
3375 // CHECK-ERROR
: fmul v0.2s
, v1.2s
, v2.s
[4]
3377 // CHECK-ERROR
: vector lane must
be an integer in range
3378 // CHECK-ERROR
: fmul v0.2s
, v1.2s
, v22.s
[4]
3380 // CHECK-ERROR
: vector lane must
be an integer in range
3381 // CHECK-ERROR
: fmul v0.4s
, v1.4s
, v2.s
[4]
3383 // CHECK-ERROR
: vector lane must
be an integer in range
3384 // CHECK-ERROR
: fmul v0.4s
, v1.4s
, v22.s
[4]
3386 // CHECK-ERROR
: vector lane must
be an integer in range
3387 // CHECK-ERROR
: fmul v0.2d
, v1.2d
, v2.d
[2]
3389 // CHECK-ERROR
: vector lane must
be an integer in range
3390 // CHECK-ERROR
: fmul v0.2d
, v1.2d
, v22.d
[2]
3393 fmulx v0.4h
, v1.4h
, v2.h
[4]
3394 fmulx v0.2s
, v1.2s
, v2.s
[4]
3395 fmulx v0.2s
, v1.2s
, v22.s
[4]
3396 fmulx v0.4s
, v1.4s
, v2.s
[4]
3397 fmulx v0.4s
, v1.4s
, v22.s
[4]
3398 fmulx v0.2d
, v1.2d
, v2.d
[2]
3399 fmulx v0.2d
, v1.2d
, v22.d
[2]
3401 // CHECK-ERROR
: error
: instruction requires
: fullfp16
3402 // CHECK-ERROR
: fmulx v0.4h
, v1.4h
, v2.h
[4]
3404 // CHECK-ERROR
: vector lane must
be an integer in range
3405 // CHECK-ERROR
: fmulx v0.2s
, v1.2s
, v2.s
[4]
3407 // CHECK-ERROR
: vector lane must
be an integer in range
3408 // CHECK-ERROR
: fmulx v0.2s
, v1.2s
, v22.s
[4]
3410 // CHECK-ERROR
: vector lane must
be an integer in range
3411 // CHECK-ERROR
: fmulx v0.4s
, v1.4s
, v2.s
[4]
3413 // CHECK-ERROR
: vector lane must
be an integer in range
3414 // CHECK-ERROR
: fmulx v0.4s
, v1.4s
, v22.s
[4]
3416 // CHECK-ERROR
: vector lane must
be an integer in range
3417 // CHECK-ERROR
: fmulx v0.2d
, v1.2d
, v2.d
[2]
3419 // CHECK-ERROR
: vector lane must
be an integer in range
3420 // CHECK-ERROR
: fmulx v0.2d
, v1.2d
, v22.d
[2]
3423 smull v0.4h
, v1.4h
, v2.h
[2]
3424 smull v0.4s
, v1.4h
, v2.h
[8]
3425 smull v0.4s
, v1.4h
, v16.h
[4]
3426 smull v0.2s
, v1.2s
, v2.s
[2]
3427 smull v0.2d
, v1.2s
, v2.s
[4]
3428 smull v0.2d
, v1.2s
, v22.s
[4]
3429 smull2 v0.4h
, v1.8h
, v2.h
[2]
3430 smull2 v0.4s
, v1.8h
, v2.h
[8]
3431 smull2 v0.4s
, v1.8h
, v16.h
[4]
3432 smull2 v0.2s
, v1.4s
, v2.s
[2]
3433 smull2 v0.2d
, v1.4s
, v2.s
[4]
3434 smull2 v0.2d
, v1.4s
, v22.s
[4]
3436 // CHECK-ERROR
: error
: invalid operand for instruction
3437 // CHECK-ERROR
: smull v0.4h
, v1.4h
, v2.h
[2]
3439 // CHECK-ERROR
: vector lane must
be an integer in range
3440 // CHECK-ERROR
: smull v0.4s
, v1.4h
, v2.h
[8]
3442 // CHECK-ERROR
: error
: invalid operand for instruction
3443 // CHECK-ERROR
: smull v0.4s
, v1.4h
, v16.h
[4]
3445 // CHECK-ERROR
: error
: invalid operand for instruction
3446 // CHECK-ERROR
: smull v0.2s
, v1.2s
, v2.s
[2]
3448 // CHECK-ERROR
: vector lane must
be an integer in range
3449 // CHECK-ERROR
: smull v0.2d
, v1.2s
, v2.s
[4]
3451 // CHECK-ERROR
: vector lane must
be an integer in range
3452 // CHECK-ERROR
: smull v0.2d
, v1.2s
, v22.s
[4]
3454 // CHECK-ERROR
: error
: invalid operand for instruction
3455 // CHECK-ERROR
: smull2 v0.4h
, v1.8h
, v2.h
[2]
3457 // CHECK-ERROR
: vector lane must
be an integer in range
3458 // CHECK-ERROR
: smull2 v0.4s
, v1.8h
, v2.h
[8]
3460 // CHECK-ERROR
: error
: invalid operand for instruction
3461 // CHECK-ERROR
: smull2 v0.4s
, v1.8h
, v16.h
[4]
3463 // CHECK-ERROR
: error
: invalid operand for instruction
3464 // CHECK-ERROR
: smull2 v0.2s
, v1.4s
, v2.s
[2]
3466 // CHECK-ERROR
: vector lane must
be an integer in range
3467 // CHECK-ERROR
: smull2 v0.2d
, v1.4s
, v2.s
[4]
3469 // CHECK-ERROR
: vector lane must
be an integer in range
3470 // CHECK-ERROR
: smull2 v0.2d
, v1.4s
, v22.s
[4]
3473 umull v0.4h
, v1.4h
, v2.h
[2]
3474 umull v0.4s
, v1.4h
, v2.h
[8]
3475 umull v0.4s
, v1.4h
, v16.h
[4]
3476 umull v0.2s
, v1.2s
, v2.s
[2]
3477 umull v0.2d
, v1.2s
, v2.s
[4]
3478 umull v0.2d
, v1.2s
, v22.s
[4]
3479 umull2 v0.4h
, v1.8h
, v2.h
[2]
3480 umull2 v0.4s
, v1.8h
, v2.h
[8]
3481 umull2 v0.4s
, v1.8h
, v16.h
[4]
3482 umull2 v0.2s
, v1.4s
, v2.s
[2]
3483 umull2 v0.2d
, v1.4s
, v2.s
[4]
3484 umull2 v0.2d
, v1.4s
, v22.s
[4]
3486 // CHECK-ERROR
: error
: invalid operand for instruction
3487 // CHECK-ERROR
: umull v0.4h
, v1.4h
, v2.h
[2]
3489 // CHECK-ERROR
: vector lane must
be an integer in range
3490 // CHECK-ERROR
: umull v0.4s
, v1.4h
, v2.h
[8]
3492 // CHECK-ERROR
: error
: invalid operand for instruction
3493 // CHECK-ERROR
: umull v0.4s
, v1.4h
, v16.h
[4]
3495 // CHECK-ERROR
: error
: invalid operand for instruction
3496 // CHECK-ERROR
: umull v0.2s
, v1.2s
, v2.s
[2]
3498 // CHECK-ERROR
: vector lane must
be an integer in range
3499 // CHECK-ERROR
: umull v0.2d
, v1.2s
, v2.s
[4]
3501 // CHECK-ERROR
: vector lane must
be an integer in range
3502 // CHECK-ERROR
: umull v0.2d
, v1.2s
, v22.s
[4]
3504 // CHECK-ERROR
: error
: invalid operand for instruction
3505 // CHECK-ERROR
: umull2 v0.4h
, v1.8h
, v2.h
[2]
3507 // CHECK-ERROR
: vector lane must
be an integer in range
3508 // CHECK-ERROR
: umull2 v0.4s
, v1.8h
, v2.h
[8]
3510 // CHECK-ERROR
: error
: invalid operand for instruction
3511 // CHECK-ERROR
: umull2 v0.4s
, v1.8h
, v16.h
[4]
3513 // CHECK-ERROR
: error
: invalid operand for instruction
3514 // CHECK-ERROR
: umull2 v0.2s
, v1.4s
, v2.s
[2]
3516 // CHECK-ERROR
: vector lane must
be an integer in range
3517 // CHECK-ERROR
: umull2 v0.2d
, v1.4s
, v2.s
[4]
3519 // CHECK-ERROR
: vector lane must
be an integer in range
3520 // CHECK-ERROR
: umull2 v0.2d
, v1.4s
, v22.s
[4]
3523 sqdmull v0.4h
, v1.4h
, v2.h
[2]
3524 sqdmull v0.4s
, v1.4h
, v2.h
[8]
3525 sqdmull v0.4s
, v1.4h
, v16.h
[4]
3526 sqdmull v0.2s
, v1.2s
, v2.s
[2]
3527 sqdmull v0.2d
, v1.2s
, v2.s
[4]
3528 sqdmull v0.2d
, v1.2s
, v22.s
[4]
3529 sqdmull2 v0.4h
, v1.8h
, v2.h
[2]
3530 sqdmull2 v0.4s
, v1.8h
, v2.h
[8]
3531 sqdmull2 v0.4s
, v1.8h
, v16.h
[4]
3532 sqdmull2 v0.2s
, v1.4s
, v2.s
[2]
3533 sqdmull2 v0.2d
, v1.4s
, v2.s
[4]
3534 sqdmull2 v0.2d
, v1.4s
, v22.s
[4]
3536 // CHECK-ERROR
: error
: invalid operand for instruction
3537 // CHECK-ERROR
: sqdmull v0.4h
, v1.4h
, v2.h
[2]
3539 // CHECK-ERROR
: vector lane must
be an integer in range
3540 // CHECK-ERROR
: sqdmull v0.4s
, v1.4h
, v2.h
[8]
3542 // CHECK-ERROR
: error
: invalid operand for instruction
3543 // CHECK-ERROR
: sqdmull v0.4s
, v1.4h
, v16.h
[4]
3545 // CHECK-ERROR
: error
: invalid operand for instruction
3546 // CHECK-ERROR
: sqdmull v0.2s
, v1.2s
, v2.s
[2]
3548 // CHECK-ERROR
: vector lane must
be an integer in range
3549 // CHECK-ERROR
: sqdmull v0.2d
, v1.2s
, v2.s
[4]
3551 // CHECK-ERROR
: vector lane must
be an integer in range
3552 // CHECK-ERROR
: sqdmull v0.2d
, v1.2s
, v22.s
[4]
3554 // CHECK-ERROR
: error
: invalid operand for instruction
3555 // CHECK-ERROR
: sqdmull2 v0.4h
, v1.8h
, v2.h
[2]
3557 // CHECK-ERROR
: vector lane must
be an integer in range
3558 // CHECK-ERROR
: sqdmull2 v0.4s
, v1.8h
, v2.h
[8]
3560 // CHECK-ERROR
: error
: invalid operand for instruction
3561 // CHECK-ERROR
: sqdmull2 v0.4s
, v1.8h
, v16.h
[4]
3563 // CHECK-ERROR
: error
: invalid operand for instruction
3564 // CHECK-ERROR
: sqdmull2 v0.2s
, v1.4s
, v2.s
[2]
3566 // CHECK-ERROR
: vector lane must
be an integer in range
3567 // CHECK-ERROR
: sqdmull2 v0.2d
, v1.4s
, v2.s
[4]
3569 // CHECK-ERROR
: vector lane must
be an integer in range
3570 // CHECK-ERROR
: sqdmull2 v0.2d
, v1.4s
, v22.s
[4]
3573 sqdmulh v0.4h
, v1.4h
, v2.h
[8]
3574 sqdmulh v0.4h
, v1.4h
, v16.h
[2]
3575 sqdmulh v0.8h
, v1.8h
, v2.h
[8]
3576 sqdmulh v0.8h
, v1.8h
, v16.h
[2]
3577 sqdmulh v0.2s
, v1.2s
, v2.s
[4]
3578 sqdmulh v0.2s
, v1.2s
, v22.s
[4]
3579 sqdmulh v0.4s
, v1.4s
, v2.s
[4]
3580 sqdmulh v0.4s
, v1.4s
, v22.s
[4]
3581 sqdmulh v0.2d
, v1.2d
, v22.d
[1]
3583 // CHECK-ERROR
: vector lane must
be an integer in range
3584 // CHECK-ERROR
: sqdmulh v0.4h
, v1.4h
, v2.h
[8]
3586 // CHECK-ERROR
: error
: invalid operand for instruction
3587 // CHECK-ERROR
: sqdmulh v0.4h
, v1.4h
, v16.h
[2]
3589 // CHECK-ERROR
: vector lane must
be an integer in range
3590 // CHECK-ERROR
: sqdmulh v0.8h
, v1.8h
, v2.h
[8]
3592 // CHECK-ERROR
: error
: invalid operand for instruction
3593 // CHECK-ERROR
: sqdmulh v0.8h
, v1.8h
, v16.h
[2]
3595 // CHECK-ERROR
: vector lane must
be an integer in range
3596 // CHECK-ERROR
: sqdmulh v0.2s
, v1.2s
, v2.s
[4]
3598 // CHECK-ERROR
: vector lane must
be an integer in range
3599 // CHECK-ERROR
: sqdmulh v0.2s
, v1.2s
, v22.s
[4]
3601 // CHECK-ERROR
: vector lane must
be an integer in range
3602 // CHECK-ERROR
: sqdmulh v0.4s
, v1.4s
, v2.s
[4]
3604 // CHECK-ERROR
: vector lane must
be an integer in range
3605 // CHECK-ERROR
: sqdmulh v0.4s
, v1.4s
, v22.s
[4]
3607 // CHECK-ERROR
: error
: invalid operand for instruction
3608 // CHECK-ERROR
: sqdmulh v0.2d
, v1.2d
, v22.d
[1]
3611 sqrdmulh v0.4h
, v1.4h
, v2.h
[8]
3612 sqrdmulh v0.4h
, v1.4h
, v16.h
[2]
3613 sqrdmulh v0.8h
, v1.8h
, v2.h
[8]
3614 sqrdmulh v0.8h
, v1.8h
, v16.h
[2]
3615 sqrdmulh v0.2s
, v1.2s
, v2.s
[4]
3616 sqrdmulh v0.2s
, v1.2s
, v22.s
[4]
3617 sqrdmulh v0.4s
, v1.4s
, v2.s
[4]
3618 sqrdmulh v0.4s
, v1.4s
, v22.s
[4]
3619 sqrdmulh v0.2d
, v1.2d
, v22.d
[1]
3621 // CHECK-ERROR
: vector lane must
be an integer in range
3622 // CHECK-ERROR
: sqrdmulh v0.4h
, v1.4h
, v2.h
[8]
3624 // CHECK-ERROR
: error
: invalid operand for instruction
3625 // CHECK-ERROR
: sqrdmulh v0.4h
, v1.4h
, v16.h
[2]
3627 // CHECK-ERROR
: vector lane must
be an integer in range
3628 // CHECK-ERROR
: sqrdmulh v0.8h
, v1.8h
, v2.h
[8]
3630 // CHECK-ERROR
: error
: invalid operand for instruction
3631 // CHECK-ERROR
: sqrdmulh v0.8h
, v1.8h
, v16.h
[2]
3633 // CHECK-ERROR
: vector lane must
be an integer in range
3634 // CHECK-ERROR
: sqrdmulh v0.2s
, v1.2s
, v2.s
[4]
3636 // CHECK-ERROR
: vector lane must
be an integer in range
3637 // CHECK-ERROR
: sqrdmulh v0.2s
, v1.2s
, v22.s
[4]
3639 // CHECK-ERROR
: vector lane must
be an integer in range
3640 // CHECK-ERROR
: sqrdmulh v0.4s
, v1.4s
, v2.s
[4]
3642 // CHECK-ERROR
: vector lane must
be an integer in range
3643 // CHECK-ERROR
: sqrdmulh v0.4s
, v1.4s
, v22.s
[4]
3645 // CHECK-ERROR
: error
: invalid operand for instruction
3646 // CHECK-ERROR
: sqrdmulh v0.2d
, v1.2d
, v22.d
[1]
3649 //----------------------------------------------------------------------
3651 //----------------------------------------------------------------------
3661 // CHECK-ERROR
: error
: invalid operand for instruction
3662 // CHECK-ERROR
: saddlv b0
, v1.8
b
3664 // CHECK-ERROR
: error
: invalid operand for instruction
3665 // CHECK-ERROR
: saddlv b0
, v1.16
b
3667 // CHECK-ERROR
: error
: invalid operand for instruction
3668 // CHECK-ERROR
: saddlv h0
, v1.4h
3670 // CHECK-ERROR
: error
: invalid operand for instruction
3671 // CHECK-ERROR
: saddlv h0
, v1.8h
3673 // CHECK-ERROR
: error
: invalid operand for instruction
3674 // CHECK-ERROR
: saddlv s0
, v1.2s
3676 // CHECK-ERROR
: error
: invalid operand for instruction
3677 // CHECK-ERROR
: saddlv s0
, v1.4s
3679 // CHECK-ERROR
: error
: invalid operand for instruction
3680 // CHECK-ERROR
: saddlv d0
, v1.2s
3691 // CHECK-ERROR
: error
: invalid operand for instruction
3692 // CHECK-ERROR
: uaddlv b0
, v1.8
b
3694 // CHECK-ERROR
: error
: invalid operand for instruction
3695 // CHECK-ERROR
: uaddlv b0
, v1.16
b
3697 // CHECK-ERROR
: error
: invalid operand for instruction
3698 // CHECK-ERROR
: uaddlv h0
, v1.4h
3700 // CHECK-ERROR
: error
: invalid operand for instruction
3701 // CHECK-ERROR
: uaddlv h0
, v1.8h
3703 // CHECK-ERROR
: error
: invalid operand for instruction
3704 // CHECK-ERROR
: uaddlv s0
, v1.2s
3706 // CHECK-ERROR
: error
: invalid operand for instruction
3707 // CHECK-ERROR
: uaddlv s0
, v1.4s
3709 // CHECK-ERROR
: error
: invalid operand for instruction
3710 // CHECK-ERROR
: uaddlv d0
, v1.2s
3719 // CHECK-ERROR
: error
: invalid operand for instruction
3720 // CHECK-ERROR
: smaxv s0
, v1.2s
3722 // CHECK-ERROR
: error
: invalid operand for instruction
3723 // CHECK-ERROR
: sminv s0
, v1.2s
3725 // CHECK-ERROR
: error
: invalid operand for instruction
3726 // CHECK-ERROR
: umaxv s0
, v1.2s
3728 // CHECK-ERROR
: error
: invalid operand for instruction
3729 // CHECK-ERROR
: uminv s0
, v1.2s
3731 // CHECK-ERROR
: error
: invalid operand for instruction
3732 // CHECK-ERROR
: addv s0
, v1.2s
3741 // CHECK-ERROR
: error
: invalid operand for instruction
3742 // CHECK-ERROR
: smaxv d0
, v1.2d
3744 // CHECK-ERROR
: error
: invalid operand for instruction
3745 // CHECK-ERROR
: sminv d0
, v1.2d
3747 // CHECK-ERROR
: error
: invalid operand for instruction
3748 // CHECK-ERROR
: umaxv d0
, v1.2d
3750 // CHECK-ERROR
: error
: invalid operand for instruction
3751 // CHECK-ERROR
: uminv d0
, v1.2d
3753 // CHECK-ERROR
: error
: invalid operand for instruction
3754 // CHECK-ERROR
: addv d0
, v1.2d
3762 // CHECK-ERROR
: error
: invalid operand for instruction
3763 // CHECK-ERROR
: fmaxnmv b0
, v1.16
b
3765 // CHECK-ERROR
: error
: invalid operand for instruction
3766 // CHECK-ERROR
: fminnmv b0
, v1.16
b
3768 // CHECK-ERROR
: error
: invalid operand for instruction
3769 // CHECK-ERROR
: fmaxv b0
, v1.16
b
3771 // CHECK-ERROR
: error
: invalid operand for instruction
3772 // CHECK-ERROR
: fminv b0
, v1.16
b
3780 // CHECK-ERROR
: error
: instruction requires
: fullfp16
3781 // CHECK-ERROR
: fmaxnmv h0
, v1.8h
3783 // CHECK-ERROR
: error
: instruction requires
: fullfp16
3784 // CHECK-ERROR
: fminnmv h0
, v1.8h
3786 // CHECK-ERROR
: error
: instruction requires
: fullfp16
3787 // CHECK-ERROR
: fmaxv h0
, v1.8h
3789 // CHECK-ERROR
: error
: instruction requires
: fullfp16
3790 // CHECK-ERROR
: fminv h0
, v1.8h
3798 // CHECK-ERROR
: error
: invalid operand for instruction
3799 // CHECK-ERROR
: fmaxnmv d0
, v1.2d
3801 // CHECK-ERROR
: error
: invalid operand for instruction
3802 // CHECK-ERROR
: fminnmv d0
, v1.2d
3804 // CHECK-ERROR
: error
: invalid operand for instruction
3805 // CHECK-ERROR
: fmaxv d0
, v1.2d
3807 // CHECK-ERROR
: error
: invalid operand for instruction
3808 // CHECK-ERROR
: fminv d0
, v1.2d
3811 //----------------------------------------------------------------------
3812 // Floating-point Multiply Extended
3813 //----------------------------------------------------------------------
3818 // CHECK-ERROR
: error
: invalid operand for instruction
3819 // CHECK-ERROR
: fmulx s20
, h22
, s15
3821 // CHECK-ERROR
: error
: invalid operand for instruction
3822 // CHECK-ERROR
: fmulx d23
, d11
, s1
3825 //----------------------------------------------------------------------
3826 // Floating-point Reciprocal Step
3827 //----------------------------------------------------------------------
3829 frecps s21
, s16
, h13
3830 frecps d22
, s30
, d21
3832 // CHECK-ERROR
: error
: invalid operand for instruction
3833 // CHECK-ERROR
: frecps s21
, s16
, h13
3835 // CHECK-ERROR
: error
: invalid operand for instruction
3836 // CHECK-ERROR
: frecps d22
, s30
, d21
3839 //----------------------------------------------------------------------
3840 // Floating-point Reciprocal Square Root Step
3841 //----------------------------------------------------------------------
3843 frsqrts s21
, h5
, s12
3844 frsqrts d8
, s22
, d18
3846 // CHECK-ERROR
: error
: invalid operand for instruction
3847 // CHECK-ERROR
: frsqrts s21
, h5
, s12
3849 // CHECK-ERROR
: error
: invalid operand for instruction
3850 // CHECK-ERROR
: frsqrts d8
, s22
, d18
3853 //----------------------------------------------------------------------
3854 // Vector load
/store multiple N-element structure
(class SIMD lselem
)
3855 //----------------------------------------------------------------------
3860 // CHECK-ERROR
: error
: vector register expected
3861 // CHECK-ERROR
: ld1
{x3
}, [x2
]
3863 // CHECK-ERROR
: error
: invalid operand for instruction
3864 // CHECK-ERROR
: ld1
{v4
}, [x0
]
3866 // CHECK-ERROR
: error
: vector register expected
3867 // CHECK-ERROR
: ld1
{v32.16
b}, [x0
]
3869 // CHECK-ERROR
: error
: invalid operand for instruction
3870 // CHECK-ERROR
: ld1
{v15.8h
}, [x32
]
3873 ld1
{v0.16
b, v2.16
b}, [x0
]
3874 ld1
{v0.8h
, v1.8h
, v2.8h
, v3.8h
, v4.8h
}, [x0
]
3875 ld1 v0.8
b, v1.8
b}, [x0
]
3876 ld1
{v0.8h-v4.8h
}, [x0
]
3877 ld1
{v1.8h-v1.8h
}, [x0
]
3878 ld1
{v15.8h-v17.4h
}, [x15
]
3879 ld1
{v0.8b-v2.8
b, [x0
]
3880 // CHECK-ERROR
: error
: registers must
be sequential
3881 // CHECK-ERROR
: ld1
{v0.16
b, v2.16
b}, [x0
]
3883 // CHECK-ERROR
: error
: invalid number of vectors
3884 // CHECK-ERROR
: ld1
{v0.8h
, v1.8h
, v2.8h
, v3.8h
, v4.8h
}, [x0
]
3886 // CHECK-ERROR
: error
: unexpected token in argument list
3887 // CHECK-ERROR
: ld1 v0.8
b, v1.8
b}, [x0
]
3889 // CHECK-ERROR
: error
: invalid number of vectors
3890 // CHECK-ERROR
: ld1
{v0.8h-v4.8h
}, [x0
]
3892 // CHECK-ERROR
: error
: invalid number of vectors
3893 // CHECK-ERROR
: ld1
{v1.8h-v1.8h
}, [x0
]
3895 // CHECK-ERROR
: error
: mismatched register size suffix
3896 // CHECK-ERROR
: ld1
{v15.8h-v17.4h
}, [x15
]
3898 // CHECK-ERROR
: error
: '}' expected
3899 // CHECK-ERROR
: ld1
{v0.8b-v2.8
b, [x0
]
3902 ld2
{v15.8h
, v16.4h
}, [x15
]
3903 ld2
{v0.8
b, v2.8
b}, [x0
]
3904 ld2
{v15.4h
, v16.4h
, v17.4h
}, [x32
]
3905 ld2
{v15.8h-v16.4h
}, [x15
]
3906 ld2
{v0.2d-v2.2d
}, [x0
]
3907 // CHECK-ERROR
: error
: mismatched register size suffix
3908 // CHECK-ERROR
: ld2
{v15.8h
, v16.4h
}, [x15
]
3910 // CHECK-ERROR
: error
: registers must
be sequential
3911 // CHECK-ERROR
: ld2
{v0.8
b, v2.8
b}, [x0
]
3913 // CHECK-ERROR
: ld2
{v15.4h
, v16.4h
, v17.4h
}, [x32
]
3915 // CHECK-ERROR
: error
: mismatched register size suffix
3916 // CHECK-ERROR
: ld2
{v15.8h-v16.4h
}, [x15
]
3918 // CHECK-ERROR
: error
: invalid operand for instruction
3919 // CHECK-ERROR
: ld2
{v0.2d-v2.2d
}, [x0
]
3922 ld3
{v15.8h
, v16.8h
, v17.4h
}, [x15
]
3923 ld3
{v0.8
b, v1
,8b, v2.8
b, v3.8
b}, [x0
]
3924 ld3
{v0.8
b, v2.8
b, v3.8
b}, [x0
]
3925 ld3
{v15.8h-v17.4h
}, [x15
]
3926 ld3
{v31.4s-v2.4s
}, [sp
]
3927 // CHECK-ERROR
: error
: mismatched register size suffix
3928 // CHECK-ERROR
: ld3
{v15.8h
, v16.8h
, v17.4h
}, [x15
]
3930 // CHECK-ERROR
: error
: mismatched register size suffix
3931 // CHECK-ERROR
: ld3
{v0.8
b, v1
,8b, v2.8
b, v3.8
b}, [x0
]
3933 // CHECK-ERROR
: error
: registers must
be sequential
3934 // CHECK-ERROR
: ld3
{v0.8
b, v2.8
b, v3.8
b}, [x0
]
3936 // CHECK-ERROR
: error
: mismatched register size suffix
3937 // CHECK-ERROR
: ld3
{v15.8h-v17.4h
}, [x15
]
3939 // CHECK-ERROR
: error
: invalid operand for instruction
3940 // CHECK-ERROR
: ld3
{v31.4s-v2.4s
}, [sp
]
3943 ld4
{v15.8h
, v16.8h
, v17.4h
, v18.8h
}, [x15
]
3944 ld4
{v0.8
b, v2.8
b, v3.8
b, v4.8
b}, [x0
]
3945 ld4
{v15.4h
, v16.4h
, v17.4h
, v18.4h
, v19.4h
}, [x31
]
3946 ld4
{v15.8h-v18.4h
}, [x15
]
3947 ld4
{v31.2s-v1.2s
}, [x31
]
3948 // CHECK-ERROR
: error
: mismatched register size suffix
3949 // CHECK-ERROR
: ld4
{v15.8h
, v16.8h
, v17.4h
, v18.8h
}, [x15
]
3951 // CHECK-ERROR
: error
: registers must
be sequential
3952 // CHECK-ERROR
: ld4
{v0.8
b, v2.8
b, v3.8
b, v4.8
b}, [x0
]
3954 // CHECK-ERROR
: error
: invalid number of vectors
3955 // CHECK-ERROR
: ld4
{v15.4h
, v16.4h
, v17.4h
, v18.4h
, v19.4h
}, [x31
]
3957 // CHECK-ERROR
: error
: mismatched register size suffix
3958 // CHECK-ERROR
: ld4
{v15.8h-v18.4h
}, [x15
]
3960 // CHECK-ERROR
: error
: invalid operand for instruction
3961 // CHECK-ERROR
: ld4
{v31.2s-v1.2s
}, [x31
]
3968 // CHECK-ERROR
: error
: vector register expected
3969 // CHECK-ERROR
: st1
{x3
}, [x2
]
3971 // CHECK-ERROR
: error
: invalid operand for instruction
3972 // CHECK-ERROR
: st1
{v4
}, [x0
]
3974 // CHECK-ERROR
: error
: vector register expected
3975 // CHECK-ERROR
: st1
{v32.16
b}, [x0
]
3977 // CHECK-ERROR
: error
: invalid operand for instruction
3978 // CHECK-ERROR
: st1
{v15.8h
}, [x32
]
3981 st1
{v0.16
b, v2.16
b}, [x0
]
3982 st1
{v0.8h
, v1.8h
, v2.8h
, v3.8h
, v4.8h
}, [x0
]
3983 st1 v0.8
b, v1.8
b}, [x0
]
3984 st1
{v0.8h-v4.8h
}, [x0
]
3985 st1
{v1.8h-v1.8h
}, [x0
]
3986 st1
{v15.8h-v17.4h
}, [x15
]
3987 st1
{v0.8b-v2.8
b, [x0
]
3988 // CHECK-ERROR
: error
: registers must
be sequential
3989 // CHECK-ERROR
: st1
{v0.16
b, v2.16
b}, [x0
]
3991 // CHECK-ERROR
: error
: invalid number of vectors
3992 // CHECK-ERROR
: st1
{v0.8h
, v1.8h
, v2.8h
, v3.8h
, v4.8h
}, [x0
]
3994 // CHECK-ERROR
: error
: unexpected token in argument list
3995 // CHECK-ERROR
: st1 v0.8
b, v1.8
b}, [x0
]
3997 // CHECK-ERROR
: error
: invalid number of vectors
3998 // CHECK-ERROR
: st1
{v0.8h-v4.8h
}, [x0
]
4000 // CHECK-ERROR
: error
: invalid number of vectors
4001 // CHECK-ERROR
: st1
{v1.8h-v1.8h
}, [x0
]
4003 // CHECK-ERROR
: error
: mismatched register size suffix
4004 // CHECK-ERROR
: st1
{v15.8h-v17.4h
}, [x15
]
4006 // CHECK-ERROR
: error
: '}' expected
4007 // CHECK-ERROR
: st1
{v0.8b-v2.8
b, [x0
]
4010 st2
{v15.8h
, v16.4h
}, [x15
]
4011 st2
{v0.8
b, v2.8
b}, [x0
]
4012 st2
{v15.4h
, v16.4h
, v17.4h
}, [x30
]
4013 st2
{v15.8h-v16.4h
}, [x15
]
4014 st2
{v0.2d-v2.2d
}, [x0
]
4015 // CHECK-ERROR
: error
: mismatched register size suffix
4016 // CHECK-ERROR
: st2
{v15.8h
, v16.4h
}, [x15
]
4018 // CHECK-ERROR
: error
: registers must
be sequential
4019 // CHECK-ERROR
: st2
{v0.8
b, v2.8
b}, [x0
]
4021 // CHECK-ERROR
: error
: invalid operand for instruction
4022 // CHECK-ERROR
: st2
{v15.4h
, v16.4h
, v17.4h
}, [x30
]
4024 // CHECK-ERROR
: error
: mismatched register size suffix
4025 // CHECK-ERROR
: st2
{v15.8h-v16.4h
}, [x15
]
4027 // CHECK-ERROR
: error
: invalid operand for instruction
4028 // CHECK-ERROR
: st2
{v0.2d-v2.2d
}, [x0
]
4031 st3
{v15.8h
, v16.8h
, v17.4h
}, [x15
]
4032 st3
{v0.8
b, v1
,8b, v2.8
b, v3.8
b}, [x0
]
4033 st3
{v0.8
b, v2.8
b, v3.8
b}, [x0
]
4034 st3
{v15.8h-v17.4h
}, [x15
]
4035 st3
{v31.4s-v2.4s
}, [sp
]
4036 // CHECK-ERROR
: error
: mismatched register size suffix
4037 // CHECK-ERROR
: st3
{v15.8h
, v16.8h
, v17.4h
}, [x15
]
4039 // CHECK-ERROR
: error
: mismatched register size suffix
4040 // CHECK-ERROR
: st3
{v0.8
b, v1
,8b, v2.8
b, v3.8
b}, [x0
]
4042 // CHECK-ERROR
: error
: registers must
be sequential
4043 // CHECK-ERROR
: st3
{v0.8
b, v2.8
b, v3.8
b}, [x0
]
4045 // CHECK-ERROR
: error
: mismatched register size suffix
4046 // CHECK-ERROR
: st3
{v15.8h-v17.4h
}, [x15
]
4048 // CHECK-ERROR
: error
: invalid operand for instruction
4049 // CHECK-ERROR
: st3
{v31.4s-v2.4s
}, [sp
]
4052 st4
{v15.8h
, v16.8h
, v17.4h
, v18.8h
}, [x15
]
4053 st4
{v0.8
b, v2.8
b, v3.8
b, v4.8
b}, [x0
]
4054 st4
{v15.4h
, v16.4h
, v17.4h
, v18.4h
, v19.4h
}, [x31
]
4055 st4
{v15.8h-v18.4h
}, [x15
]
4056 st4
{v31.2s-v1.2s
}, [x31
]
4057 // CHECK-ERROR
: error
: mismatched register size suffix
4058 // CHECK-ERROR
: st4
{v15.8h
, v16.8h
, v17.4h
, v18.8h
}, [x15
]
4060 // CHECK-ERROR
: error
: registers must
be sequential
4061 // CHECK-ERROR
: st4
{v0.8
b, v2.8
b, v3.8
b, v4.8
b}, [x0
]
4063 // CHECK-ERROR
: error
: invalid number of vectors
4064 // CHECK-ERROR
: st4
{v15.4h
, v16.4h
, v17.4h
, v18.4h
, v19.4h
}, [x31
]
4066 // CHECK-ERROR
: error
: mismatched register size suffix
4067 // CHECK-ERROR
: st4
{v15.8h-v18.4h
}, [x15
]
4069 // CHECK-ERROR
: error
: invalid operand for instruction
4070 // CHECK-ERROR
: st4
{v31.2s-v1.2s
}, [x31
]
4073 //----------------------------------------------------------------------
4074 // Vector post-index load
/store multiple N-element structure
4075 // (class SIMD lselem-post
)
4076 //----------------------------------------------------------------------
4077 ld1
{v0.16
b}, [x0
], #8
4078 ld1
{v0.8h
, v1.16h
}, [x0
], x1
4079 ld1
{v0.8
b, v1.8
b, v2.8
b, v3.8
b}, [x0
], #24
4080 // CHECK-ERROR
: error
: invalid operand for instruction
4081 // CHECK-ERROR
: ld1
{v0.16
b}, [x0
], #8
4083 // CHECK-ERROR
: error
: invalid vector kind qualifier
4084 // CHECK-ERROR
: ld1
{v0.8h
, v1.16h
}, [x0
], x1
4086 // CHECK-ERROR
: error
: invalid operand for instruction
4087 // CHECK-ERROR
: ld1
{v0.8
b, v1.8
b, v2.8
b, v3.8
b}, [x0
], #24
4090 ld2
{v0.16
b, v1.16
b}, [x0
], #16
4091 ld3
{v5.2s
, v6.2s
, v7.2s
}, [x1
], #48
4092 ld4
{v31.2d
, v0.2d
, v1.2d
, v2.1d
}, [x3
], x1
4093 // CHECK-ERROR
: error
: invalid operand for instruction
4094 // CHECK-ERROR
: ld2
{v0.16
b, v1.16
b}, [x0
], #16
4096 // CHECK-ERROR
: error
: invalid operand for instruction
4097 // CHECK-ERROR
: ld3
{v5.2s
, v6.2s
, v7.2s
}, [x1
], #48
4099 // CHECK-ERROR
: error
: mismatched register size suffix
4100 // CHECK-ERROR
: ld4
{v31.2d
, v0.2d
, v1.2d
, v2.1d
}, [x3
], x1
4103 st1
{v0.16
b}, [x0
], #8
4104 st1
{v0.8h
, v1.16h
}, [x0
], x1
4105 st1
{v0.8
b, v1.8
b, v2.8
b, v3.8
b}, [x0
], #24
4106 // CHECK-ERROR
: error
: invalid operand for instruction
4107 // CHECK-ERROR
: st1
{v0.16
b}, [x0
], #8
4109 // CHECK-ERROR
: error
: invalid vector kind qualifier
4110 // CHECK-ERROR
: st1
{v0.8h
, v1.16h
}, [x0
], x1
4112 // CHECK-ERROR
: error
: invalid operand for instruction
4113 // CHECK-ERROR
: st1
{v0.8
b, v1.8
b, v2.8
b, v3.8
b}, [x0
], #24
4116 st2
{v0.16
b, v1.16
b}, [x0
], #16
4117 st3
{v5.2s
, v6.2s
, v7.2s
}, [x1
], #48
4118 st4
{v31.2d
, v0.2d
, v1.2d
, v2.1d
}, [x3
], x1
4119 // CHECK-ERROR
: error
: invalid operand for instruction
4120 // CHECK-ERROR
: st2
{v0.16
b, v1.16
b}, [x0
], #16
4122 // CHECK-ERROR
: error
: invalid operand for instruction
4123 // CHECK-ERROR
: st3
{v5.2s
, v6.2s
, v7.2s
}, [x1
], #48
4125 // CHECK-ERROR
: error
: mismatched register size suffix
4126 // CHECK-ERROR
: st4
{v31.2d
, v0.2d
, v1.2d
, v2.1d
}, [x3
], x1
4129 //------------------------------------------------------------------------------
4130 // Load single N-element structure to all lanes of N consecutive
4131 // registers
(N
= 1,2,3,4)
4132 //------------------------------------------------------------------------------
4134 ld2r
{v31.4s
, v0.2s
}, [sp
]
4135 ld3r
{v0.8
b, v1.8
b, v2.8
b, v3.8
b}, [x0
]
4136 ld4r
{v31.2s
, v0.2s
, v1.2d
, v2.2s
}, [sp
]
4137 // CHECK-ERROR
: error
: vector register expected
4138 // CHECK-ERROR
: ld1r
{x1
}, [x0
]
4140 // CHECK-ERROR
: error
: mismatched register size suffix
4141 // CHECK-ERROR
: ld2r
{v31.4s
, v0.2s
}, [sp
]
4143 // CHECK-ERROR
: error
: invalid operand for instruction
4144 // CHECK-ERROR
: ld3r
{v0.8
b, v1.8
b, v2.8
b, v3.8
b}, [x0
]
4146 // CHECK-ERROR
: error
: mismatched register size suffix
4147 // CHECK-ERROR
: ld4r
{v31.2s
, v0.2s
, v1.2d
, v2.2s
}, [sp
]
4150 //------------------------------------------------------------------------------
4151 // Load
/Store single N-element structure to
/from one lane of N consecutive
4152 // registers
(N
= 1, 2,3,4)
4153 //------------------------------------------------------------------------------
4154 ld1
{v0.
b}[16], [x0
]
4155 ld2
{v15.h
, v16.h
}[8], [x15
]
4156 ld3
{v31.s
, v0.s
, v1.s
}[-1], [sp
]
4157 ld4
{v0.d
, v1.d
, v2.d
, v3.d
}[2], [x0
]
4158 // CHECK-ERROR
: vector lane must
be an integer in range
4159 // CHECK-ERROR
: ld1
{v0.
b}[16], [x0
]
4161 // CHECK-ERROR
: vector lane must
be an integer in range
4162 // CHECK-ERROR
: ld2
{v15.h
, v16.h
}[8], [x15
]
4164 // CHECK-ERROR
: error
: vector lane must
be an integer in range
4165 // CHECK-ERROR
: ld3
{v31.s
, v0.s
, v1.s
}[-1], [sp
]
4167 // CHECK-ERROR
: vector lane must
be an integer in range
4168 // CHECK-ERROR
: ld4
{v0.d
, v1.d
, v2.d
, v3.d
}[2], [x0
]
4171 st1
{v0.d
}[16], [x0
]
4172 st2
{v31.s
, v0.s
}[3], [8]
4173 st3
{v15.h
, v16.h
, v17.h
}[-1], [x15
]
4174 st4
{v0.d
, v1.d
, v2.d
, v3.d
}[2], [x0
]
4175 // CHECK-ERROR
: vector lane must
be an integer in range
4176 // CHECK-ERROR
: st1
{v0.d
}[16], [x0
]
4178 // CHECK-ERROR
: error
: invalid operand for instruction
4179 // CHECK-ERROR
: st2
{v31.s
, v0.s
}[3], [8]
4181 // CHECK-ERROR
: error
: vector lane must
be an integer in range
4182 // CHECK-ERROR
: st3
{v15.h
, v16.h
, v17.h
}[-1], [x15
]
4184 // CHECK-ERROR
: vector lane must
be an integer in range
4185 // CHECK-ERROR
: st4
{v0.d
, v1.d
, v2.d
, v3.d
}[2], [x0
]
4188 //------------------------------------------------------------------------------
4189 // Post-index of load single N-element structure to all lanes of N consecutive
4190 // registers
(N
= 1,2,3,4)
4191 //------------------------------------------------------------------------------
4192 ld1r
{v15.8h
}, [x15
], #5
4193 ld2r
{v0.2d
, v1.2d
}, [x0
], #7
4194 ld3r
{v15.4h
, v16.4h
, v17.4h
}, [x15
], #1
4195 ld4r
{v31.1d
, v0.1d
, v1.1d
, v2.1d
}, [sp
], sp
4196 // CHECK-ERROR
: error
: invalid operand for instruction
4197 // CHECK-ERROR
: ld1r
{v15.8h
}, [x15
], #5
4199 // CHECK-ERROR
: error
: invalid operand for instruction
4200 // CHECK-ERROR
: ld2r
{v0.2d
, v1.2d
}, [x0
], #7
4202 // CHECK-ERROR
: error
: invalid operand for instruction
4203 // CHECK-ERROR
: ld3r
{v15.4h
, v16.4h
, v17.4h
}, [x15
], #1
4205 // CHECK-ERROR
: error
: invalid operand for instruction
4206 // CHECK-ERROR
: ld4r
{v31.1d
, v0.1d
, v1.1d
, v2.1d
}, [sp
], sp
4209 //------------------------------------------------------------------------------
4210 // Post-index of Load
/Store single N-element structure to
/from one lane of N
4211 // consecutive registers
(N
= 1, 2,3,4)
4212 //------------------------------------------------------------------------------
4213 ld1
{v0.
b}[0], [x0
], #2
4214 ld2
{v15.h
, v16.h
}[0], [x15
], #3
4215 ld3
{v31.s
, v0.s
, v1.d
}[0], [sp
], x9
4216 ld4
{v0.d
, v1.d
, v2.d
, v3.d
}[1], [x0
], #24
4217 // CHECK-ERROR
: error
: invalid operand for instruction
4218 // CHECK-ERROR
: ld1
{v0.
b}[0], [x0
], #2
4220 // CHECK-ERROR
: error
: invalid operand for instruction
4221 // CHECK-ERROR
: ld2
{v15.h
, v16.h
}[0], [x15
], #3
4223 // CHECK-ERROR
: error
: mismatched register size suffix
4224 // CHECK-ERROR
: ld3
{v31.s
, v0.s
, v1.d
}[0], [sp
], x9
4226 // CHECK-ERROR
: error
: invalid operand for instruction
4227 // CHECK-ERROR
: ld4
{v0.d
, v1.d
, v2.d
, v3.d
}[1], [x0
], #24
4230 st1
{v0.d
}[0], [x0
], #7
4231 st2
{v31.s
, v0.s
}[0], [sp
], #6
4232 st3
{v15.h
, v16.h
, v17.h
}[0], [x15
], #8
4233 st4
{v0.
b, v1.
b, v2.
b, v3.
b}[1], [x0
], #1
4234 // CHECK-ERROR
: error
: invalid operand for instruction
4235 // CHECK-ERROR
: st1
{v0.d
}[0], [x0
], #7
4237 // CHECK-ERROR
: error
: invalid operand for instruction
4238 // CHECK-ERROR
: st2
{v31.s
, v0.s
}[0], [sp
], #6
4240 // CHECK-ERROR
: error
: invalid operand for instruction
4241 // CHECK-ERROR
: st3
{v15.h
, v16.h
, v17.h
}[0], [x15
], #8
4243 // CHECK-ERROR
: error
: invalid operand for instruction
4244 // CHECK-ERROR
: st4
{v0.
b, v1.
b, v2.
b, v3.
b}[1], [x0
], #1
4257 // CHECK-ERROR
: vector lane must
be an integer in range
4258 // CHECK-ERROR
: ins v2.
b[16], w1
4260 // CHECK-ERROR
: vector lane must
be an integer in range
4261 // CHECK-ERROR
: ins v7.h
[8], w14
4263 // CHECK-ERROR
: vector lane must
be an integer in range
4264 // CHECK-ERROR
: ins v20.s
[5], w30
4266 // CHECK-ERROR
: vector lane must
be an integer in range
4267 // CHECK-ERROR
: ins v1.d
[2], x7
4269 // CHECK-ERROR
: error
: invalid operand for instruction
4270 // CHECK-ERROR
: ins v2.
b[3], b1
4272 // CHECK-ERROR
: error
: invalid operand for instruction
4273 // CHECK-ERROR
: ins v7.h
[2], h14
4275 // CHECK-ERROR
: error
: invalid operand for instruction
4276 // CHECK-ERROR
: ins v20.s
[1], s30
4278 // CHECK-ERROR
: error
: invalid operand for instruction
4279 // CHECK-ERROR
: ins v1.d
[0], d7
4293 // CHECK-ERROR
: vector lane must
be an integer in range
4294 // CHECK-ERROR
: smov w1
, v0.
b[16]
4296 // CHECK-ERROR
: vector lane must
be an integer in range
4297 // CHECK-ERROR
: smov w14
, v6.h
[8]
4299 // CHECK-ERROR
: vector lane must
be an integer in range
4300 // CHECK-ERROR
: smov x1
, v0.
b[16]
4302 // CHECK-ERROR
: vector lane must
be an integer in range
4303 // CHECK-ERROR
: smov x14
, v6.h
[8]
4305 // CHECK-ERROR
: vector lane must
be an integer in range
4306 // CHECK-ERROR
: smov x20
, v9.s
[5]
4308 // CHECK-ERROR
: error
: invalid operand for instruction
4309 // CHECK-ERROR
: smov w1
, v0.d
[0]
4311 // CHECK-ERROR
: error
: invalid operand for instruction
4312 // CHECK-ERROR
: smov w14
, v6.d
[1]
4314 // CHECK-ERROR
: error
: invalid operand for instruction
4315 // CHECK-ERROR
: smov x1
, v0.d
[0]
4317 // CHECK-ERROR
: error
: invalid operand for instruction
4318 // CHECK-ERROR
: smov x14
, v6.d
[1]
4320 // CHECK-ERROR
: error
: invalid operand for instruction
4321 // CHECK-ERROR
: smov x20
, v9.d
[0]
4332 // CHECK-ERROR
: vector lane must
be an integer in range
4333 // CHECK-ERROR
: umov w1
, v0.
b[16]
4335 // CHECK-ERROR
: vector lane must
be an integer in range
4336 // CHECK-ERROR
: umov w14
, v6.h
[8]
4338 // CHECK-ERROR
: vector lane must
be an integer in range
4339 // CHECK-ERROR
: umov w20
, v9.s
[5]
4341 // CHECK-ERROR
: vector lane must
be an integer in range
4342 // CHECK-ERROR
: umov x7
, v18.d
[3]
4344 // CHECK-ERROR
: error
: invalid operand for instruction
4345 // CHECK-ERROR
: umov w1
, v0.d
[0]
4347 // CHECK-ERROR
: error
: invalid operand for instruction
4348 // CHECK-ERROR
: umov s20
, v9.s
[2]
4350 // CHECK-ERROR
: error
: invalid operand for instruction
4351 // CHECK-ERROR
: umov d7
, v18.d
[1]
4354 Ins v1.h
[2], v3.
b[6]
4355 Ins v6.h
[7], v7.s
[2]
4356 Ins v15.d
[0], v22.s
[2]
4357 Ins v0.d
[0], v4.
b[1]
4359 // CHECK-ERROR
: error
: invalid operand for instruction
4360 // CHECK-ERROR
: Ins v1.h
[2], v3.
b[6]
4362 // CHECK-ERROR
: error
: invalid operand for instruction
4363 // CHECK-ERROR
: Ins v6.h
[7], v7.s
[2]
4365 // CHECK-ERROR
: error
: invalid operand for instruction
4366 // CHECK-ERROR
: Ins v15.d
[0], v22.s
[2]
4368 // CHECK-ERROR
: error
: invalid operand for instruction
4369 // CHECK-ERROR
: Ins v0.d
[0], v4.
b[1]
4374 dup v17.2d
, v20.s
[0]
4377 dup v17.4s
, v20.d
[0]
4380 // CHECK-ERROR
: error
: invalid operand for instruction
4381 // CHECK-ERROR
: dup v1.8h
, v2.
b[2]
4383 // CHECK-ERROR
: error
: invalid operand for instruction
4384 // CHECK-ERROR
: dup v11.4s
, v7.h
[7]
4386 // CHECK-ERROR
: error
: invalid operand for instruction
4387 // CHECK-ERROR
: dup v17.2d
, v20.s
[0]
4389 // CHECK-ERROR
: error
: invalid operand for instruction
4390 // CHECK-ERROR
: dup v1.16
b, v2.h
[2]
4392 // CHECK-ERROR
: invalid operand for instruction
4393 // CHECK-ERROR
: dup v11.8h
, v7.s
[3]
4395 // CHECK-ERROR
: invalid operand for instruction
4396 // CHECK-ERROR
: dup v17.4s
, v20.d
[0]
4398 // CHECK-ERROR
: invalid operand for instruction
4399 // CHECK-ERROR
: dup v5.2d
, v1.
b[1]
4410 // CHECK-ERROR
: error
: invalid operand for instruction
4411 // CHECK-ERROR
: dup v1.8
b, b1
4413 // CHECK-ERROR
: error
: invalid operand for instruction
4414 // CHECK-ERROR
: dup v11.4h
, h14
4416 // CHECK-ERROR
: error
: invalid operand for instruction
4417 // CHECK-ERROR
: dup v17.2s
, s30
4419 // CHECK-ERROR
: error
: invalid operand for instruction
4420 // CHECK-ERROR
: dup v1.16
b, d2
4422 // CHECK-ERROR
: error
: invalid vector kind qualifier
4423 // CHECK-ERROR
: dup v11.8s
, w16
4425 // CHECK-ERROR
: error
: invalid vector kind qualifier
4426 // CHECK-ERROR
: dup v17.4d
, w28
4428 // CHECK-ERROR
: error
: invalid operand for instruction
4429 // CHECK-ERROR
: dup v5.2d
, w0
4432 //----------------------------------------------------------------------
4433 // Scalar Compare Bitwise Equal
4434 //----------------------------------------------------------------------
4438 // CHECK-ERROR
: error
: invalid operand for instruction
4439 // CHECK-ERROR
: cmeq b20
, d21
, d22
4442 //----------------------------------------------------------------------
4443 // Scalar Compare Bitwise Equal To Zero
4444 //----------------------------------------------------------------------
4448 // CHECK-ERROR
: error
: invalid operand for instruction
4449 // CHECK-ERROR
: cmeq d20
, b21
, #0
4452 //----------------------------------------------------------------------
4453 // Scalar Compare Unsigned Higher
Or Same
4454 //----------------------------------------------------------------------
4458 // CHECK-ERROR
: error
: invalid operand for instruction
4459 // CHECK-ERROR
: cmhs b20
, d21
, d22
4463 //----------------------------------------------------------------------
4464 // Scalar Compare Signed Greather Than
Or Equal
4465 //----------------------------------------------------------------------
4469 // CHECK-ERROR
: error
: invalid operand for instruction
4470 // CHECK-ERROR
: cmge b20
, d21
, d22
4473 //----------------------------------------------------------------------
4474 // Scalar Compare Signed Greather Than
Or Equal To Zero
4475 //----------------------------------------------------------------------
4479 // CHECK-ERROR
: error
: invalid operand for instruction
4480 // CHECK-ERROR
: cmge d20
, b21
, #0
4483 //----------------------------------------------------------------------
4484 // Scalar Compare Unsigned Higher
4485 //----------------------------------------------------------------------
4489 // CHECK-ERROR
: error
: invalid operand for instruction
4490 // CHECK-ERROR
: cmhi b20
, d21
, d22
4493 //----------------------------------------------------------------------
4494 // Scalar Compare Signed Greater Than
4495 //----------------------------------------------------------------------
4499 // CHECK-ERROR
: error
: invalid operand for instruction
4500 // CHECK-ERROR
: cmgt b20
, d21
, d22
4503 //----------------------------------------------------------------------
4504 // Scalar Compare Signed Greater Than Zero
4505 //----------------------------------------------------------------------
4509 // CHECK-ERROR
: error
: invalid operand for instruction
4510 // CHECK-ERROR
: cmgt d20
, b21
, #0
4513 //----------------------------------------------------------------------
4514 // Scalar Compare Signed Less Than
Or Equal To Zero
4515 //----------------------------------------------------------------------
4519 // CHECK-ERROR
: error
: invalid operand for instruction
4520 // CHECK-ERROR
: cmle d20
, b21
, #0
4523 //----------------------------------------------------------------------
4524 // Scalar Compare Less Than Zero
4525 //----------------------------------------------------------------------
4529 // CHECK-ERROR
: error
: invalid operand for instruction
4530 // CHECK-ERROR
: cmlt d20
, b21
, #0
4533 //----------------------------------------------------------------------
4534 // Scalar Compare Bitwise Test Bits
4535 //----------------------------------------------------------------------
4539 // CHECK-ERROR
: error
: invalid operand for instruction
4540 // CHECK-ERROR
: cmtst b20
, d21
, d22
4543 //----------------------------------------------------------------------
4544 // Scalar Floating-point Compare Mask Equal
4545 //----------------------------------------------------------------------
4550 // CHECK-ERROR
: error
: invalid operand for instruction
4551 // CHECK-ERROR
: fcmeq s10
, h11
, s12
4553 // CHECK-ERROR
: error
: invalid operand for instruction
4554 // CHECK-ERROR
: fcmeq d20
, s21
, d22
4557 //----------------------------------------------------------------------
4558 // Scalar Floating-point Compare Mask Equal To Zero
4559 //----------------------------------------------------------------------
4561 fcmeq h10
, s11
, #0.0
4562 fcmeq d20
, s21
, #0.0
4564 // CHECK-ERROR
: error
: invalid operand for instruction
4565 // CHECK-ERROR
: fcmeq h10
, s11
, #0.0
4567 // CHECK-ERROR
: error
: invalid operand for instruction
4568 // CHECK-ERROR
: fcmeq d20
, s21
, #0.0
4571 //----------------------------------------------------------------------
4572 // Scalar Floating-point Compare Mask Greater Than
Or Equal
4573 //----------------------------------------------------------------------
4578 // CHECK-ERROR
: error
: invalid operand for instruction
4579 // CHECK-ERROR
: fcmge s10
, h11
, s12
4581 // CHECK-ERROR
: error
: invalid operand for instruction
4582 // CHECK-ERROR
: fcmge d20
, s21
, d22
4585 //----------------------------------------------------------------------
4586 // Scalar Floating-point Compare Mask Greater Than
Or Equal To Zero
4587 //----------------------------------------------------------------------
4589 fcmge h10
, s11
, #0.0
4590 fcmge d20
, s21
, #0.0
4592 // CHECK-ERROR
: error
: invalid operand for instruction
4593 // CHECK-ERROR
: fcmge h10
, s11
, #0.0
4595 // CHECK-ERROR
: error
: invalid operand for instruction
4596 // CHECK-ERROR
: fcmge d20
, s21
, #0.0
4599 //----------------------------------------------------------------------
4600 // Scalar Floating-point Compare Mask Greather Than
4601 //----------------------------------------------------------------------
4606 // CHECK-ERROR
: error
: invalid operand for instruction
4607 // CHECK-ERROR
: fcmgt s10
, h11
, s12
4609 // CHECK-ERROR
: error
: invalid operand for instruction
4610 // CHECK-ERROR
: fcmgt d20
, s21
, d22
4613 //----------------------------------------------------------------------
4614 // Scalar Floating-point Compare Mask Greather Than Zero
4615 //----------------------------------------------------------------------
4617 fcmgt h10
, s11
, #0.0
4618 fcmgt d20
, s21
, #0.0
4620 // CHECK-ERROR
: error
: invalid operand for instruction
4621 // CHECK-ERROR
: fcmgt h10
, s11
, #0.0
4623 // CHECK-ERROR
: error
: invalid operand for instruction
4624 // CHECK-ERROR
: fcmgt d20
, s21
, #0.0
4627 //----------------------------------------------------------------------
4628 // Scalar Floating-point Compare Mask Less Than
Or Equal To Zero
4629 //----------------------------------------------------------------------
4631 fcmle h10
, s11
, #0.0
4632 fcmle d20
, s21
, #0.0
4634 // CHECK-ERROR
: error
: invalid operand for instruction
4635 // CHECK-ERROR
: fcmle h10
, s11
, #0.0
4637 // CHECK-ERROR
: error
: invalid operand for instruction
4638 // CHECK-ERROR
: fcmle d20
, s21
, #0.0
4641 //----------------------------------------------------------------------
4642 // Scalar Floating-point Compare Mask Less Than
4643 //----------------------------------------------------------------------
4645 fcmlt h10
, s11
, #0.0
4646 fcmlt d20
, s21
, #0.0
4648 // CHECK-ERROR
: error
: invalid operand for instruction
4649 // CHECK-ERROR
: fcmlt h10
, s11
, #0.0
4651 // CHECK-ERROR
: error
: invalid operand for instruction
4652 // CHECK-ERROR
: fcmlt d20
, s21
, #0.0
4655 //----------------------------------------------------------------------
4656 // Scalar Floating-point Absolute Compare Mask Greater Than
Or Equal
4657 //----------------------------------------------------------------------
4662 // CHECK-ERROR
: error
: invalid operand for instruction
4663 // CHECK-ERROR
: facge s10
, h11
, s12
4665 // CHECK-ERROR
: error
: invalid operand for instruction
4666 // CHECK-ERROR
: facge d20
, s21
, d22
4669 //----------------------------------------------------------------------
4670 // Scalar Floating-point Absolute Compare Mask Greater Than
4671 //----------------------------------------------------------------------
4676 // CHECK-ERROR
: error
: invalid operand for instruction
4677 // CHECK-ERROR
: facgt s10
, h11
, s12
4679 // CHECK-ERROR
: error
: invalid operand for instruction
4680 // CHECK-ERROR
: facgt d20
, d21
, s22
4683 //----------------------------------------------------------------------
4684 // Scalar Signed Saturating Accumulated of Unsigned Value
4685 //----------------------------------------------------------------------
4692 // CHECK-ERROR
: error
: invalid operand for instruction
4693 // CHECK-ERROR
: suqadd b0
, h1
4695 // CHECK-ERROR
: error
: invalid operand for instruction
4696 // CHECK-ERROR
: suqadd h0
, s1
4698 // CHECK-ERROR
: error
: invalid operand for instruction
4699 // CHECK-ERROR
: suqadd s0
, d1
4701 // CHECK-ERROR
: error
: invalid operand for instruction
4702 // CHECK-ERROR
: suqadd d0
, b0
4705 //----------------------------------------------------------------------
4706 // Scalar Unsigned Saturating Accumulated of Signed Value
4707 //----------------------------------------------------------------------
4714 // CHECK-ERROR
: error
: invalid operand for instruction
4715 // CHECK-ERROR
: usqadd b0
, h1
4717 // CHECK-ERROR
: error
: invalid operand for instruction
4718 // CHECK-ERROR
: usqadd h0
, s1
4720 // CHECK-ERROR
: error
: invalid operand for instruction
4721 // CHECK-ERROR
: usqadd s0
, d1
4723 // CHECK-ERROR
: error
: invalid operand for instruction
4724 // CHECK-ERROR
: usqadd d0
, b1
4727 //----------------------------------------------------------------------
4728 // Scalar Absolute Value
4729 //----------------------------------------------------------------------
4733 // CHECK-ERROR
: error
: invalid operand for instruction
4734 // CHECK-ERROR
: abs d29
, s24
4737 //----------------------------------------------------------------------
4739 //----------------------------------------------------------------------
4743 // CHECK-ERROR
: error
: invalid operand for instruction
4744 // CHECK-ERROR
: neg d29
, s24
4747 //----------------------------------------------------------------------
4748 // Signed Saturating Doubling Multiply-
Add Long
4749 //----------------------------------------------------------------------
4751 sqdmlal s17
, h27
, s12
4752 sqdmlal d19
, s24
, d12
4754 // CHECK-ERROR
: error
: invalid operand for instruction
4755 // CHECK-ERROR
: sqdmlal s17
, h27
, s12
4757 // CHECK-ERROR
: error
: invalid operand for instruction
4758 // CHECK-ERROR
: sqdmlal d19
, s24
, d12
4761 //----------------------------------------------------------------------
4762 // Signed Saturating Doubling Multiply-Subtract Long
4763 //----------------------------------------------------------------------
4765 sqdmlsl s14
, h12
, s25
4766 sqdmlsl d12
, s23
, d13
4768 // CHECK-ERROR
: error
: invalid operand for instruction
4769 // CHECK-ERROR
: sqdmlsl s14
, h12
, s25
4771 // CHECK-ERROR
: error
: invalid operand for instruction
4772 // CHECK-ERROR
: sqdmlsl d12
, s23
, d13
4775 //----------------------------------------------------------------------
4776 // Signed Saturating Doubling Multiply Long
4777 //----------------------------------------------------------------------
4779 sqdmull s12
, h22
, s12
4780 sqdmull d15
, s22
, d12
4782 // CHECK-ERROR
: error
: invalid operand for instruction
4783 // CHECK-ERROR
: sqdmull s12
, h22
, s12
4785 // CHECK-ERROR
: error
: invalid operand for instruction
4786 // CHECK-ERROR
: sqdmull d15
, s22
, d12
4789 //----------------------------------------------------------------------
4790 // Scalar Signed Saturating Extract Unsigned Narrow
4791 //----------------------------------------------------------------------
4797 // CHECK-ERROR
: error
: invalid operand for instruction
4798 // CHECK-ERROR
: sqxtun b19
, b14
4800 // CHECK-ERROR
: error
: invalid operand for instruction
4801 // CHECK-ERROR
: sqxtun h21
, h15
4803 // CHECK-ERROR
: error
: invalid operand for instruction
4804 // CHECK-ERROR
: sqxtun s20
, s12
4807 //----------------------------------------------------------------------
4808 // Scalar Signed Saturating Extract Signed Narrow
4809 //----------------------------------------------------------------------
4815 // CHECK-ERROR
: error
: invalid operand for instruction
4816 // CHECK-ERROR
: sqxtn b18
, b18
4818 // CHECK-ERROR
: error
: invalid operand for instruction
4819 // CHECK-ERROR
: sqxtn h20
, h17
4821 // CHECK-ERROR
: error
: invalid operand for instruction
4822 // CHECK-ERROR
: sqxtn s19
, s14
4826 //----------------------------------------------------------------------
4827 // Scalar Unsigned Saturating Extract Narrow
4828 //----------------------------------------------------------------------
4834 // CHECK-ERROR
: error
: invalid operand for instruction
4835 // CHECK-ERROR
: uqxtn b18
, b18
4837 // CHECK-ERROR
: error
: invalid operand for instruction
4838 // CHECK-ERROR
: uqxtn h20
, h17
4840 // CHECK-ERROR
: error
: invalid operand for instruction
4841 // CHECK-ERROR
: uqxtn s19
, s14
4844 //----------------------------------------------------------------------
4845 // Scalar Signed Shift Right
(Immediate
)
4846 //----------------------------------------------------------------------
4849 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
4850 // CHECK-ERROR
: sshr d15
, d16
, #99
4855 // CHECK-ERROR
: error
: invalid operand for instruction
4856 // CHECK-ERROR
: sshr d15
, s16
, #31
4859 //----------------------------------------------------------------------
4860 // Scalar Unsigned Shift Right
(Immediate
)
4861 //----------------------------------------------------------------------
4865 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
4866 // CHECK-ERROR
: ushr d10
, d17
, #99
4869 //----------------------------------------------------------------------
4870 // Scalar Signed Rounding Shift Right
(Immediate
)
4871 //----------------------------------------------------------------------
4875 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
4876 // CHECK-ERROR
: srshr d19
, d18
, #99
4879 //----------------------------------------------------------------------
4880 // Scalar Unigned Rounding Shift Right
(Immediate
)
4881 //----------------------------------------------------------------------
4885 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
4886 // CHECK-ERROR
: urshr d20
, d23
, #99
4889 //----------------------------------------------------------------------
4890 // Scalar Signed Shift Right
and Accumulate
(Immediate
)
4891 //----------------------------------------------------------------------
4895 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
4896 // CHECK-ERROR
: ssra d18
, d12
, #99
4899 //----------------------------------------------------------------------
4900 // Scalar Unsigned Shift Right
and Accumulate
(Immediate
)
4901 //----------------------------------------------------------------------
4905 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
4906 // CHECK-ERROR
: usra d20
, d13
, #99
4909 //----------------------------------------------------------------------
4910 // Scalar Signed Rounding Shift Right
and Accumulate
(Immediate
)
4911 //----------------------------------------------------------------------
4915 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
4916 // CHECK-ERROR
: srsra d15
, d11
, #99
4919 //----------------------------------------------------------------------
4920 // Scalar Unsigned Rounding Shift Right
and Accumulate
(Immediate
)
4921 //----------------------------------------------------------------------
4925 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
4926 // CHECK-ERROR
: ursra d18
, d10
, #99
4929 //----------------------------------------------------------------------
4930 // Scalar Shift Left
(Immediate
)
4931 //----------------------------------------------------------------------
4935 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 63]
4936 // CHECK-ERROR
: shl d7
, d10
, #99
4941 // CHECK-ERROR
: error
: invalid operand for instruction
4942 // CHECK-ERROR
: shl d7
, s16
, #31
4945 //----------------------------------------------------------------------
4946 // Signed Saturating Shift Left
(Immediate
)
4947 //----------------------------------------------------------------------
4954 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 7]
4955 // CHECK-ERROR
: sqshl b11
, b19
, #99
4957 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 15]
4958 // CHECK-ERROR
: sqshl h13
, h18
, #99
4960 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 31]
4961 // CHECK-ERROR
: sqshl s14
, s17
, #99
4963 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 63]
4964 // CHECK-ERROR
: sqshl d15
, d16
, #99
4967 //----------------------------------------------------------------------
4968 // Unsigned Saturating Shift Left
(Immediate
)
4969 //----------------------------------------------------------------------
4976 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 7]
4977 // CHECK-ERROR
: uqshl b18
, b15
, #99
4979 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 15]
4980 // CHECK-ERROR
: uqshl h11
, h18
, #99
4982 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 31]
4983 // CHECK-ERROR
: uqshl s14
, s19
, #99
4985 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 63]
4986 // CHECK-ERROR
: uqshl d15
, d12
, #99
4989 //----------------------------------------------------------------------
4990 // Signed Saturating Shift Left Unsigned
(Immediate
)
4991 //----------------------------------------------------------------------
4993 sqshlu b15
, b18
, #99
4994 sqshlu h19
, h17
, #99
4995 sqshlu s16
, s14
, #99
4996 sqshlu d11
, d13
, #99
4998 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 7]
4999 // CHECK-ERROR
: sqshlu b15
, b18
, #99
5001 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 15]
5002 // CHECK-ERROR
: sqshlu h19
, h17
, #99
5004 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 31]
5005 // CHECK-ERROR
: sqshlu s16
, s14
, #99
5007 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 63]
5008 // CHECK-ERROR
: sqshlu d11
, d13
, #99
5011 //----------------------------------------------------------------------
5012 // Shift Right
And Insert
(Immediate
)
5013 //----------------------------------------------------------------------
5017 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
5018 // CHECK-ERROR
: sri d10
, d12
, #99
5021 //----------------------------------------------------------------------
5022 // Shift Left
And Insert
(Immediate
)
5023 //----------------------------------------------------------------------
5027 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[0, 63]
5028 // CHECK-ERROR
: sli d10
, d14
, #99
5031 //----------------------------------------------------------------------
5032 // Signed Saturating Shift Right Narrow
(Immediate
)
5033 //----------------------------------------------------------------------
5035 sqshrn b10
, h15
, #99
5036 sqshrn h17
, s10
, #99
5037 sqshrn s18
, d10
, #99
5039 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
5040 // CHECK-ERROR
: sqshrn b10
, h15
, #99
5042 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
5043 // CHECK-ERROR
: sqshrn h17
, s10
, #99
5045 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
5046 // CHECK-ERROR
: sqshrn s18
, d10
, #99
5049 //----------------------------------------------------------------------
5050 // Unsigned Saturating Shift Right Narrow
(Immediate
)
5051 //----------------------------------------------------------------------
5053 uqshrn b12
, h10
, #99
5054 uqshrn h10
, s14
, #99
5055 uqshrn s10
, d12
, #99
5057 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
5058 // CHECK-ERROR
: uqshrn b12
, h10
, #99
5060 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
5061 // CHECK-ERROR
: uqshrn h10
, s14
, #99
5063 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
5064 // CHECK-ERROR
: uqshrn s10
, d12
, #99
5067 //----------------------------------------------------------------------
5068 // Signed Saturating Rounded Shift Right Narrow
(Immediate
)
5069 //----------------------------------------------------------------------
5071 sqrshrn b10
, h13
, #99
5072 sqrshrn h15
, s10
, #99
5073 sqrshrn s15
, d12
, #99
5075 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
5076 // CHECK-ERROR
: sqrshrn b10
, h13
, #99
5078 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
5079 // CHECK-ERROR
: sqrshrn h15
, s10
, #99
5081 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
5082 // CHECK-ERROR
: sqrshrn s15
, d12
, #99
5085 //----------------------------------------------------------------------
5086 // Unsigned Saturating Rounded Shift Right Narrow
(Immediate
)
5087 //----------------------------------------------------------------------
5089 uqrshrn b10
, h12
, #99
5090 uqrshrn h12
, s10
, #99
5091 uqrshrn s10
, d10
, #99
5093 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
5094 // CHECK-ERROR
: uqrshrn b10
, h12
, #99
5096 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
5097 // CHECK-ERROR
: uqrshrn h12
, s10
, #99
5099 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
5100 // CHECK-ERROR
: uqrshrn s10
, d10
, #99
5103 //----------------------------------------------------------------------
5104 // Signed Saturating Shift Right Unsigned Narrow
(Immediate
)
5105 //----------------------------------------------------------------------
5107 sqshrun b15
, h10
, #99
5108 sqshrun h20
, s14
, #99
5109 sqshrun s10
, d15
, #99
5111 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
5112 // CHECK-ERROR
: sqshrun b15
, h10
, #99
5114 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
5115 // CHECK-ERROR
: sqshrun h20
, s14
, #99
5117 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
5118 // CHECK-ERROR
: sqshrun s10
, d15
, #99
5121 //----------------------------------------------------------------------
5122 // Signed Saturating Rounded Shift Right Unsigned Narrow
(Immediate
)
5123 //----------------------------------------------------------------------
5125 sqrshrun b17
, h10
, #99
5126 sqrshrun h10
, s13
, #99
5127 sqrshrun s22
, d16
, #99
5129 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 8]
5130 // CHECK-ERROR
: sqrshrun b17
, h10
, #99
5132 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 16]
5133 // CHECK-ERROR
: sqrshrun h10
, s13
, #99
5135 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
5136 // CHECK-ERROR
: sqrshrun s22
, d16
, #99
5139 //----------------------------------------------------------------------
5140 // Scalar Signed Fixed-point Convert To Floating-Point
(Immediate
)
5141 //----------------------------------------------------------------------
5148 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
5149 // CHECK-ERROR
: scvtf s22
, s13
, #0
5151 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
5152 // CHECK-ERROR
: scvtf s22
, s13
, #33
5154 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
5155 // CHECK-ERROR
: scvtf d21
, d12
, #65
5157 // CHECK-ERROR
: error
: invalid operand for instruction
5158 // CHECK-ERROR
: scvtf d21
, s12
, #31
5161 //----------------------------------------------------------------------
5162 // Scalar Unsigned Fixed-point Convert To Floating-Point
(Immediate
)
5163 //----------------------------------------------------------------------
5169 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
5170 // CHECK-ERROR
: ucvtf s22
, s13
, #34
5172 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
5173 // CHECK-ERROR
: ucvtf d21
, d14
, #65
5175 // CHECK-ERROR
: error
: invalid operand for instruction
5176 // CHECK-ERROR
: ucvtf d21
, s14
, #64
5179 //------------------------------------------------------------------------------
5181 //------------------------------------------------------------------------------
5183 rev32 v30.2s
, v31.2s
5184 rev32 v30.4s
, v31.4s
5185 rev32 v30.2d
, v31.2d
5192 // CHECK-ERROR
: error
: invalid operand for instruction
5193 // CHECK-ERROR
: rev64 v6.2d
, v8.2d
5195 // CHECK-ERROR
: error
: invalid operand for instruction
5196 // CHECK-ERROR
: rev32 v30.2s
, v31.2s
5198 // CHECK-ERROR
: error
: invalid operand for instruction
5199 // CHECK-ERROR
: rev32 v30.4s
, v31.4s
5201 // CHECK-ERROR
: error
: invalid operand for instruction
5202 // CHECK-ERROR
: rev32 v30.2d
, v31.2d
5204 // CHECK-ERROR
: error
: invalid operand for instruction
5205 // CHECK-ERROR
: rev16 v21.4h
, v1.4h
5207 // CHECK-ERROR
: error
: invalid operand for instruction
5208 // CHECK-ERROR
: rev16 v21.8h
, v1.8h
5210 // CHECK-ERROR
: error
: invalid operand for instruction
5211 // CHECK-ERROR
: rev16 v21.2s
, v1.2s
5213 // CHECK-ERROR
: error
: invalid operand for instruction
5214 // CHECK-ERROR
: rev16 v21.4s
, v1.4s
5216 // CHECK-ERROR
: error
: invalid operand for instruction
5217 // CHECK-ERROR
: rev16 v21.2d
, v1.2d
5220 //------------------------------------------------------------------------------
5221 // Signed integer pairwise
add long
5222 //------------------------------------------------------------------------------
5224 saddlp v3.8h
, v21.8h
5229 // CHECK-ERROR
: error
: invalid operand for instruction
5230 // CHECK-ERROR
: saddlp v3.8h
, v21.8h
5232 // CHECK-ERROR
: error
: invalid operand for instruction
5233 // CHECK-ERROR
: saddlp v8.8
b, v5.8
b
5235 // CHECK-ERROR
: error
: invalid operand for instruction
5236 // CHECK-ERROR
: saddlp v9.8h
, v1.4s
5238 // CHECK-ERROR
: error
: invalid operand for instruction
5239 // CHECK-ERROR
: saddlp v0.4s
, v1.2d
5242 //------------------------------------------------------------------------------
5243 // Unsigned integer pairwise
add long
5244 //------------------------------------------------------------------------------
5246 uaddlp v3.8h
, v21.8h
5251 // CHECK-ERROR
: error
: invalid operand for instruction
5252 // CHECK-ERROR
: uaddlp v3.8h
, v21.8h
5254 // CHECK-ERROR
: error
: invalid operand for instruction
5255 // CHECK-ERROR
: uaddlp v8.8
b, v5.8
b
5257 // CHECK-ERROR
: error
: invalid operand for instruction
5258 // CHECK-ERROR
: uaddlp v9.8h
, v1.4s
5260 // CHECK-ERROR
: error
: invalid operand for instruction
5261 // CHECK-ERROR
: uaddlp v0.4s
, v1.2d
5264 //------------------------------------------------------------------------------
5265 // Signed integer pairwise
add and accumulate long
5266 //------------------------------------------------------------------------------
5268 sadalp v3.16
b, v21.16
b
5272 sadalp v12.2d
, v4.8h
5274 // CHECK-ERROR
: error
: invalid operand for instruction
5275 // CHECK-ERROR
: sadalp v3.16
b, v21.16
b
5277 // CHECK-ERROR
: error
: invalid operand for instruction
5278 // CHECK-ERROR
: sadalp v8.4h
, v5.4h
5280 // CHECK-ERROR
: error
: invalid operand for instruction
5281 // CHECK-ERROR
: sadalp v9.4s
, v1.4s
5283 // CHECK-ERROR
: error
: invalid operand for instruction
5284 // CHECK-ERROR
: sadalp v0.4h
, v1.2s
5286 // CHECK-ERROR
: error
: invalid operand for instruction
5287 // CHECK-ERROR
: sadalp v12.2d
, v4.8h
5290 //------------------------------------------------------------------------------
5291 // Unsigned integer pairwise
add and accumulate long
5292 //------------------------------------------------------------------------------
5294 uadalp v3.16
b, v21.16
b
5298 uadalp v12.2d
, v4.8h
5300 // CHECK-ERROR
: error
: invalid operand for instruction
5301 // CHECK-ERROR
: uadalp v3.16
b, v21.16
b
5303 // CHECK-ERROR
: error
: invalid operand for instruction
5304 // CHECK-ERROR
: uadalp v8.4h
, v5.4h
5306 // CHECK-ERROR
: error
: invalid operand for instruction
5307 // CHECK-ERROR
: uadalp v9.4s
, v1.4s
5309 // CHECK-ERROR
: error
: invalid operand for instruction
5310 // CHECK-ERROR
: uadalp v0.4h
, v1.2s
5312 // CHECK-ERROR
: error
: invalid operand for instruction
5313 // CHECK-ERROR
: uadalp v12.2d
, v4.8h
5316 //------------------------------------------------------------------------------
5317 // Signed integer saturating accumulate of unsigned value
5318 //------------------------------------------------------------------------------
5320 suqadd v0.16
b, v31.8
b
5322 suqadd v13.4h
, v21.4s
5325 // CHECK-ERROR
: error
: invalid operand for instruction
5326 // CHECK-ERROR
: suqadd v0.16
b, v31.8
b
5328 // CHECK-ERROR
: error
: invalid operand for instruction
5329 // CHECK-ERROR
: suqadd v1.8
b, v9.8h
5331 // CHECK-ERROR
: error
: invalid operand for instruction
5332 // CHECK-ERROR
: suqadd v13.4h
, v21.4s
5334 // CHECK-ERROR
: error
: invalid operand for instruction
5335 // CHECK-ERROR
: suqadd v4.2s
, v0.2d
5338 //------------------------------------------------------------------------------
5339 // Unsigned integer saturating accumulate of signed value
5340 //------------------------------------------------------------------------------
5342 usqadd v0.16
b, v31.8
b
5344 usqadd v13.4h
, v21.4s
5347 // CHECK-ERROR
: error
: invalid operand for instruction
5348 // CHECK-ERROR
: usqadd v0.16
b, v31.8
b
5350 // CHECK-ERROR
: error
: invalid operand for instruction
5351 // CHECK-ERROR
: usqadd v2.8h
, v4.4h
5353 // CHECK-ERROR
: error
: invalid operand for instruction
5354 // CHECK-ERROR
: usqadd v13.4h
, v21.4s
5356 // CHECK-ERROR
: error
: invalid operand for instruction
5357 // CHECK-ERROR
: usqadd v4.2s
, v0.2d
5360 //------------------------------------------------------------------------------
5361 // Integer saturating absolute
5362 //------------------------------------------------------------------------------
5364 sqabs v0.16
b, v31.8
b
5369 // CHECK-ERROR
: error
: invalid operand for instruction
5370 // CHECK-ERROR
: sqabs v0.16
b, v31.8
b
5372 // CHECK-ERROR
: error
: invalid operand for instruction
5373 // CHECK-ERROR
: sqabs v2.8h
, v4.4h
5375 // CHECK-ERROR
: error
: invalid operand for instruction
5376 // CHECK-ERROR
: sqabs v6.4s
, v8.2s
5378 // CHECK-ERROR
: error
: invalid operand for instruction
5379 // CHECK-ERROR
: sqabs v6.2d
, v8.2s
5382 //------------------------------------------------------------------------------
5383 // Signed integer saturating negate
5384 //------------------------------------------------------------------------------
5386 sqneg v0.16
b, v31.8
b
5391 // CHECK-ERROR
: error
: invalid operand for instruction
5392 // CHECK-ERROR
: sqneg v0.16
b, v31.8
b
5394 // CHECK-ERROR
: error
: invalid operand for instruction
5395 // CHECK-ERROR
: sqneg v2.8h
, v4.4h
5397 // CHECK-ERROR
: error
: invalid operand for instruction
5398 // CHECK-ERROR
: sqneg v6.4s
, v8.2s
5400 // CHECK-ERROR
: error
: invalid operand for instruction
5401 // CHECK-ERROR
: sqneg v6.2d
, v8.2s
5404 //------------------------------------------------------------------------------
5406 //------------------------------------------------------------------------------
5413 // CHECK-ERROR
: error
: invalid operand for instruction
5414 // CHECK-ERROR
: abs v0.16
b, v31.8
b
5416 // CHECK-ERROR
: error
: invalid operand for instruction
5417 // CHECK-ERROR
: abs v2.8h
, v4.4h
5419 // CHECK-ERROR
: error
: invalid operand for instruction
5420 // CHECK-ERROR
: abs v6.4s
, v8.2s
5422 // CHECK-ERROR
: error
: invalid operand for instruction
5423 // CHECK-ERROR
: abs v6.2d
, v8.2s
5426 //------------------------------------------------------------------------------
5427 // Integer count leading sign bits
5428 //------------------------------------------------------------------------------
5432 // CHECK-ERROR
: error
: invalid operand for instruction
5433 // CHECK-ERROR
: cls v0.2d
, v31.2d
5436 //------------------------------------------------------------------------------
5437 // Integer count leading zeros
5438 //------------------------------------------------------------------------------
5442 // CHECK-ERROR
: error
: invalid operand for instruction
5443 // CHECK-ERROR
: clz v0.2d
, v31.2d
5446 //------------------------------------------------------------------------------
5448 //------------------------------------------------------------------------------
5456 // CHECK-ERROR
: error
: invalid operand for instruction
5457 // CHECK-ERROR
: cnt v2.8h
, v4.8h
5459 // CHECK-ERROR
: error
: invalid operand for instruction
5460 // CHECK-ERROR
: cnt v6.4s
, v8.4s
5462 // CHECK-ERROR
: error
: invalid operand for instruction
5463 // CHECK-ERROR
: cnt v6.2d
, v8.2d
5465 // CHECK-ERROR
: error
: invalid operand for instruction
5466 // CHECK-ERROR
: cnt v13.4h
, v21.4h
5468 // CHECK-ERROR
: error
: invalid operand for instruction
5469 // CHECK-ERROR
: cnt v4.2s
, v0.2s
5473 //------------------------------------------------------------------------------
5475 //------------------------------------------------------------------------------
5483 // CHECK-ERROR
: error
: invalid operand for instruction
5484 // CHECK-ERROR
: not v2.8h
, v4.8h
5486 // CHECK-ERROR
: error
: invalid operand for instruction
5487 // CHECK-ERROR
: not v6.4s
, v8.4s
5489 // CHECK-ERROR
: error
: invalid operand for instruction
5490 // CHECK-ERROR
: not v6.2d
, v8.2d
5492 // CHECK-ERROR
: error
: invalid operand for instruction
5493 // CHECK-ERROR
: not v13.4h
, v21.4h
5495 // CHECK-ERROR
: error
: invalid operand for instruction
5496 // CHECK-ERROR
: not v4.2s
, v0.2s
5499 //------------------------------------------------------------------------------
5501 //------------------------------------------------------------------------------
5509 // CHECK-ERROR
: error
: invalid operand for instruction
5510 // CHECK-ERROR
: rbit v2.8h
, v4.8h
5512 // CHECK-ERROR
: error
: invalid operand for instruction
5513 // CHECK-ERROR
: rbit v6.4s
, v8.4s
5515 // CHECK-ERROR
: error
: invalid operand for instruction
5516 // CHECK-ERROR
: rbit v6.2d
, v8.2d
5518 // CHECK-ERROR
: error
: invalid operand for instruction
5519 // CHECK-ERROR
: rbit v13.4h
, v21.4h
5521 // CHECK-ERROR
: error
: invalid operand for instruction
5522 // CHECK-ERROR
: rbit v4.2s
, v0.2s
5525 //------------------------------------------------------------------------------
5526 // Floating-point absolute
5527 //------------------------------------------------------------------------------
5529 fabs v0.16
b, v31.16
b
5534 // CHECK-ERROR
: error
: invalid operand for instruction
5535 // CHECK-ERROR
: fabs v0.16
b, v31.16
b
5537 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5538 // CHECK-ERROR
: fabs v2.8h
, v4.8h
5540 // CHECK-ERROR
: error
: invalid operand for instruction
5541 // CHECK-ERROR
: fabs v1.8
b, v9.8
b
5543 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5544 // CHECK-ERROR
: fabs v13.4h
, v21.4h
5547 //------------------------------------------------------------------------------
5548 // Floating-point negate
5549 //------------------------------------------------------------------------------
5551 fneg v0.16
b, v31.16
b
5556 // CHECK-ERROR
: error
: invalid operand for instruction
5557 // CHECK-ERROR
: fneg v0.16
b, v31.16
b
5559 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5560 // CHECK-ERROR
: fneg v2.8h
, v4.8h
5562 // CHECK-ERROR
: error
: invalid operand for instruction
5563 // CHECK-ERROR
: fneg v1.8
b, v9.8
b
5565 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5566 // CHECK-ERROR
: fneg v13.4h
, v21.4h
5569 //------------------------------------------------------------------------------
5570 // Integer extract
and narrow
5571 //------------------------------------------------------------------------------
5580 // CHECK-ERROR
: error
: invalid operand for instruction
5581 // CHECK-ERROR
: xtn v0.16
b, v31.8h
5583 // CHECK-ERROR
: error
: invalid operand for instruction
5584 // CHECK-ERROR
: xtn v2.8h
, v4.4s
5586 // CHECK-ERROR
: error
: invalid operand for instruction
5587 // CHECK-ERROR
: xtn v6.4s
, v8.2d
5589 // CHECK-ERROR
: error
: invalid operand for instruction
5590 // CHECK-ERROR
: xtn2 v1.8
b, v9.8h
5592 // CHECK-ERROR
: error
: invalid operand for instruction
5593 // CHECK-ERROR
: xtn2 v13.4h
, v21.4s
5595 // CHECK-ERROR
: error
: invalid operand for instruction
5596 // CHECK-ERROR
: xtn2 v4.2s
, v0.2d
5599 //------------------------------------------------------------------------------
5600 // Signed integer saturating extract
and unsigned narrow
5601 //------------------------------------------------------------------------------
5603 sqxtun v0.16
b, v31.8h
5606 sqxtun2 v1.8
b, v9.8h
5607 sqxtun2 v13.4h
, v21.4s
5608 sqxtun2 v4.2s
, v0.2d
5610 // CHECK-ERROR
: error
: invalid operand for instruction
5611 // CHECK-ERROR
: sqxtun v0.16
b, v31.8h
5613 // CHECK-ERROR
: error
: invalid operand for instruction
5614 // CHECK-ERROR
: sqxtun v2.8h
, v4.4s
5616 // CHECK-ERROR
: error
: invalid operand for instruction
5617 // CHECK-ERROR
: sqxtun v6.4s
, v8.2d
5619 // CHECK-ERROR
: error
: invalid operand for instruction
5620 // CHECK-ERROR
: sqxtun2 v1.8
b, v9.8h
5622 // CHECK-ERROR
: error
: invalid operand for instruction
5623 // CHECK-ERROR
: sqxtun2 v13.4h
, v21.4s
5625 // CHECK-ERROR
: error
: invalid operand for instruction
5626 // CHECK-ERROR
: sqxtun2 v4.2s
, v0.2d
5629 //------------------------------------------------------------------------------
5630 // Signed integer saturating extract
and narrow
5631 //------------------------------------------------------------------------------
5633 sqxtn v0.16
b, v31.8h
5637 sqxtn2 v13.4h
, v21.4s
5640 // CHECK-ERROR
: error
: invalid operand for instruction
5641 // CHECK-ERROR
: sqxtn v0.16
b, v31.8h
5643 // CHECK-ERROR
: error
: invalid operand for instruction
5644 // CHECK-ERROR
: sqxtn v2.8h
, v4.4s
5646 // CHECK-ERROR
: error
: invalid operand for instruction
5647 // CHECK-ERROR
: sqxtn v6.4s
, v8.2d
5649 // CHECK-ERROR
: error
: invalid operand for instruction
5650 // CHECK-ERROR
: sqxtn2 v1.8
b, v9.8h
5652 // CHECK-ERROR
: error
: invalid operand for instruction
5653 // CHECK-ERROR
: sqxtn2 v13.4h
, v21.4s
5655 // CHECK-ERROR
: error
: invalid operand for instruction
5656 // CHECK-ERROR
: sqxtn2 v4.2s
, v0.2d
5659 //------------------------------------------------------------------------------
5660 // Unsigned integer saturating extract
and narrow
5661 //------------------------------------------------------------------------------
5663 uqxtn v0.16
b, v31.8h
5667 uqxtn2 v13.4h
, v21.4s
5670 // CHECK-ERROR
: error
: invalid operand for instruction
5671 // CHECK-ERROR
: uqxtn v0.16
b, v31.8h
5673 // CHECK-ERROR
: error
: invalid operand for instruction
5674 // CHECK-ERROR
: uqxtn v2.8h
, v4.4s
5676 // CHECK-ERROR
: error
: invalid operand for instruction
5677 // CHECK-ERROR
: uqxtn v6.4s
, v8.2d
5679 // CHECK-ERROR
: error
: invalid operand for instruction
5680 // CHECK-ERROR
: uqxtn2 v1.8
b, v9.8h
5682 // CHECK-ERROR
: error
: invalid operand for instruction
5683 // CHECK-ERROR
: uqxtn2 v13.4h
, v21.4s
5685 // CHECK-ERROR
: error
: invalid operand for instruction
5686 // CHECK-ERROR
: uqxtn2 v4.2s
, v0.2d
5689 //------------------------------------------------------------------------------
5690 // Integer shift left long
5691 //------------------------------------------------------------------------------
5693 shll2 v2.8h
, v4.16
b, #7
5694 shll2 v6.4s
, v8.8h
, #15
5695 shll2 v6.2d
, v8.4s
, #31
5696 shll v2.8h
, v4.16
b, #8
5697 shll v6.4s
, v8.8h
, #16
5698 shll v6.2d
, v8.4s
, #32
5699 shll v2.8h
, v4.8
b, #8
5700 shll v6.4s
, v8.4h
, #16
5701 shll v6.2d
, v8.2s
, #32
5702 shll2 v2.8h
, v4.8
b, #5
5703 shll2 v6.4s
, v8.4h
, #14
5704 shll2 v6.2d
, v8.2s
, #1
5706 // CHECK-ERROR
: error
: invalid operand for instruction
5707 // CHECK-ERROR
: shll2 v2.8h
, v4.16
b, #7
5709 // CHECK-ERROR
: error
: invalid operand for instruction
5710 // CHECK-ERROR
: shll2 v6.4s
, v8.8h
, #15
5712 // CHECK-ERROR
: error
: invalid operand for instruction
5713 // CHECK-ERROR
: shll2 v6.2d
, v8.4s
, #31
5715 // CHECK-ERROR
: error
: invalid operand for instruction
5716 // CHECK-ERROR
: shll v2.8h
, v4.16
b, #8
5718 // CHECK-ERROR
: error
: invalid operand for instruction
5719 // CHECK-ERROR
: shll v6.4s
, v8.8h
, #16
5721 // CHECK-ERROR
: error
: invalid operand for instruction
5722 // CHECK-ERROR
: shll v6.2d
, v8.4s
, #32
5724 // CHECK-ERROR
: error
: invalid operand for instruction
5725 // CHECK-ERROR
: shll2 v2.8h
, v4.8
b, #5
5727 // CHECK-ERROR
: error
: invalid operand for instruction
5728 // CHECK-ERROR
: shll2 v6.4s
, v8.4h
, #14
5730 // CHECK-ERROR
: error
: invalid operand for instruction
5731 // CHECK-ERROR
: shll2 v6.2d
, v8.2s
, #1
5734 //------------------------------------------------------------------------------
5735 // Floating-point convert downsize
5736 //------------------------------------------------------------------------------
5740 fcvtn2 v13.4h
, v21.4s
5743 // CHECK-ERROR
: error
: invalid operand for instruction
5744 // CHECK-ERROR
: fcvtn v2.8h
, v4.4s
5746 // CHECK-ERROR
: error
: invalid operand for instruction
5747 // CHECK-ERROR
: fcvtn v6.4s
, v8.2d
5749 // CHECK-ERROR
: error
: invalid operand for instruction
5750 // CHECK-ERROR
: fcvtn2 v13.4h
, v21.4s
5752 // CHECK-ERROR
: error
: invalid operand for instruction
5753 // CHECK-ERROR
: fcvtn2 v4.2s
, v0.2d
5756 //------------------------------------------------------------------------------
5757 // Floating-point convert downsize with inexact
5758 //------------------------------------------------------------------------------
5761 fcvtxn2 v4.2s
, v0.2d
5763 // CHECK-ERROR
: error
: invalid operand for instruction
5764 // CHECK-ERROR
: fcvtxn v6.4s
, v8.2d
5766 // CHECK-ERROR
: error
: invalid operand for instruction
5767 // CHECK-ERROR
: fcvtxn2 v4.2s
, v0.2d
5770 //------------------------------------------------------------------------------
5771 // Floating-point convert upsize
5772 //------------------------------------------------------------------------------
5777 fcvtl v17.2d
, v28.4s
5779 // CHECK-ERROR
: error
: invalid operand for instruction
5780 // CHECK-ERROR
: fcvtl2 v9.4s
, v1.4h
5782 // CHECK-ERROR
: error
: invalid operand for instruction
5783 // CHECK-ERROR
: fcvtl2 v0.2d
, v1.2s
5785 // CHECK-ERROR
: error
: invalid operand for instruction
5786 // CHECK-ERROR
: fcvtl v12.4s
, v4.8h
5788 // CHECK-ERROR
: error
: invalid operand for instruction
5789 // CHECK-ERROR
: fcvtl v17.2d
, v28.4s
5792 //------------------------------------------------------------------------------
5793 // Floating-point round to integral
5794 //------------------------------------------------------------------------------
5796 frintn v0.16
b, v31.16
b
5799 frintn v13.4h
, v21.4h
5801 frinta v0.16
b, v31.16
b
5804 frinta v13.4h
, v21.4h
5806 frintp v0.16
b, v31.16
b
5809 frintp v13.4h
, v21.4h
5811 frintm v0.16
b, v31.16
b
5814 frintm v13.4h
, v21.4h
5816 frintx v0.16
b, v31.16
b
5819 frintx v13.4h
, v21.4h
5821 frintz v0.16
b, v31.16
b
5824 frintz v13.4h
, v21.4h
5826 frinti v0.16
b, v31.16
b
5829 frinti v13.4h
, v21.4h
5831 fcvtns v0.16
b, v31.16
b
5834 fcvtns v13.4h
, v21.4h
5836 fcvtnu v0.16
b, v31.16
b
5839 fcvtnu v13.4h
, v21.4h
5841 fcvtps v0.16
b, v31.16
b
5844 fcvtps v13.4h
, v21.4h
5846 fcvtpu v0.16
b, v31.16
b
5849 fcvtpu v13.4h
, v21.4h
5851 fcvtms v0.16
b, v31.16
b
5854 fcvtms v13.4h
, v21.4h
5856 fcvtmu v0.16
b, v31.16
b
5859 fcvtmu v13.4h
, v21.4h
5861 fcvtzs v0.16
b, v31.16
b
5864 fcvtzs v13.4h
, v21.4h
5866 fcvtzu v0.16
b, v31.16
b
5869 fcvtzu v13.4h
, v21.4h
5871 fcvtas v0.16
b, v31.16
b
5874 fcvtas v13.4h
, v21.4h
5876 fcvtau v0.16
b, v31.16
b
5879 fcvtau v13.4h
, v21.4h
5881 urecpe v0.16
b, v31.16
b
5884 urecpe v13.4h
, v21.4h
5887 ursqrte v0.16
b, v31.16
b
5888 ursqrte v2.8h
, v4.8h
5889 ursqrte v1.8
b, v9.8
b
5890 ursqrte v13.4h
, v21.4h
5891 ursqrte v1.2d
, v9.2d
5893 scvtf v0.16
b, v31.16
b
5896 scvtf v13.4h
, v21.4h
5898 ucvtf v0.16
b, v31.16
b
5901 ucvtf v13.4h
, v21.4h
5903 frecpe v0.16
b, v31.16
b
5906 frecpe v13.4h
, v21.4h
5908 frsqrte v0.16
b, v31.16
b
5909 frsqrte v2.8h
, v4.8h
5910 frsqrte v1.8
b, v9.8
b
5911 frsqrte v13.4h
, v21.4h
5913 fsqrt v0.16
b, v31.16
b
5916 fsqrt v13.4h
, v21.4h
5918 // CHECK-ERROR
: error
: invalid operand for instruction
5919 // CHECK-ERROR
: frintn v0.16
b, v31.16
b
5921 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5922 // CHECK-ERROR
: frintn v2.8h
, v4.8h
5924 // CHECK-ERROR
: error
: invalid operand for instruction
5925 // CHECK-ERROR
: frintn v1.8
b, v9.8
b
5927 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5928 // CHECK-ERROR
: frintn v13.4h
, v21.4h
5930 // CHECK-ERROR
: error
: invalid operand for instruction
5931 // CHECK-ERROR
: frinta v0.16
b, v31.16
b
5933 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5934 // CHECK-ERROR
: frinta v2.8h
, v4.8h
5936 // CHECK-ERROR
: error
: invalid operand for instruction
5937 // CHECK-ERROR
: frinta v1.8
b, v9.8
b
5939 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5940 // CHECK-ERROR
: frinta v13.4h
, v21.4h
5942 // CHECK-ERROR
: error
: invalid operand for instruction
5943 // CHECK-ERROR
: frintp v0.16
b, v31.16
b
5945 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5946 // CHECK-ERROR
: frintp v2.8h
, v4.8h
5948 // CHECK-ERROR
: error
: invalid operand for instruction
5949 // CHECK-ERROR
: frintp v1.8
b, v9.8
b
5951 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5952 // CHECK-ERROR
: frintp v13.4h
, v21.4h
5954 // CHECK-ERROR
: error
: invalid operand for instruction
5955 // CHECK-ERROR
: frintm v0.16
b, v31.16
b
5957 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5958 // CHECK-ERROR
: frintm v2.8h
, v4.8h
5960 // CHECK-ERROR
: error
: invalid operand for instruction
5961 // CHECK-ERROR
: frintm v1.8
b, v9.8
b
5963 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5964 // CHECK-ERROR
: frintm v13.4h
, v21.4h
5966 // CHECK-ERROR
: error
: invalid operand for instruction
5967 // CHECK-ERROR
: frintx v0.16
b, v31.16
b
5969 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5970 // CHECK-ERROR
: frintx v2.8h
, v4.8h
5972 // CHECK-ERROR
: error
: invalid operand for instruction
5973 // CHECK-ERROR
: frintx v1.8
b, v9.8
b
5975 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5976 // CHECK-ERROR
: frintx v13.4h
, v21.4h
5978 // CHECK-ERROR
: error
: invalid operand for instruction
5979 // CHECK-ERROR
: frintz v0.16
b, v31.16
b
5981 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5982 // CHECK-ERROR
: frintz v2.8h
, v4.8h
5984 // CHECK-ERROR
: error
: invalid operand for instruction
5985 // CHECK-ERROR
: frintz v1.8
b, v9.8
b
5987 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5988 // CHECK-ERROR
: frintz v13.4h
, v21.4h
5990 // CHECK-ERROR
: error
: invalid operand for instruction
5991 // CHECK-ERROR
: frinti v0.16
b, v31.16
b
5993 // CHECK-ERROR
: error
: instruction requires
: fullfp16
5994 // CHECK-ERROR
: frinti v2.8h
, v4.8h
5996 // CHECK-ERROR
: error
: invalid operand for instruction
5997 // CHECK-ERROR
: frinti v1.8
b, v9.8
b
5999 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6000 // CHECK-ERROR
: frinti v13.4h
, v21.4h
6002 // CHECK-ERROR
: error
: invalid operand for instruction
6003 // CHECK-ERROR
: fcvtns v0.16
b, v31.16
b
6005 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6006 // CHECK-ERROR
: fcvtns v2.8h
, v4.8h
6008 // CHECK-ERROR
: error
: invalid operand for instruction
6009 // CHECK-ERROR
: fcvtns v1.8
b, v9.8
b
6011 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6012 // CHECK-ERROR
: fcvtns v13.4h
, v21.4h
6014 // CHECK-ERROR
: error
: invalid operand for instruction
6015 // CHECK-ERROR
: fcvtnu v0.16
b, v31.16
b
6017 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6018 // CHECK-ERROR
: fcvtnu v2.8h
, v4.8h
6020 // CHECK-ERROR
: error
: invalid operand for instruction
6021 // CHECK-ERROR
: fcvtnu v1.8
b, v9.8
b
6023 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6024 // CHECK-ERROR
: fcvtnu v13.4h
, v21.4h
6026 // CHECK-ERROR
: error
: invalid operand for instruction
6027 // CHECK-ERROR
: fcvtps v0.16
b, v31.16
b
6029 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6030 // CHECK-ERROR
: fcvtps v2.8h
, v4.8h
6032 // CHECK-ERROR
: error
: invalid operand for instruction
6033 // CHECK-ERROR
: fcvtps v1.8
b, v9.8
b
6035 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6036 // CHECK-ERROR
: fcvtps v13.4h
, v21.4h
6038 // CHECK-ERROR
: error
: invalid operand for instruction
6039 // CHECK-ERROR
: fcvtpu v0.16
b, v31.16
b
6041 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6042 // CHECK-ERROR
: fcvtpu v2.8h
, v4.8h
6044 // CHECK-ERROR
: error
: invalid operand for instruction
6045 // CHECK-ERROR
: fcvtpu v1.8
b, v9.8
b
6047 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6048 // CHECK-ERROR
: fcvtpu v13.4h
, v21.4h
6050 // CHECK-ERROR
: error
: invalid operand for instruction
6051 // CHECK-ERROR
: fcvtms v0.16
b, v31.16
b
6053 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6054 // CHECK-ERROR
: fcvtms v2.8h
, v4.8h
6056 // CHECK-ERROR
: error
: invalid operand for instruction
6057 // CHECK-ERROR
: fcvtms v1.8
b, v9.8
b
6059 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6060 // CHECK-ERROR
: fcvtms v13.4h
, v21.4h
6062 // CHECK-ERROR
: error
: invalid operand for instruction
6063 // CHECK-ERROR
: fcvtmu v0.16
b, v31.16
b
6065 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6066 // CHECK-ERROR
: fcvtmu v2.8h
, v4.8h
6068 // CHECK-ERROR
: error
: invalid operand for instruction
6069 // CHECK-ERROR
: fcvtmu v1.8
b, v9.8
b
6071 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6072 // CHECK-ERROR
: fcvtmu v13.4h
, v21.4h
6074 // CHECK-ERROR
: error
: invalid operand for instruction
6075 // CHECK-ERROR
: fcvtzs v0.16
b, v31.16
b
6077 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6078 // CHECK-ERROR
: fcvtzs v2.8h
, v4.8h
6080 // CHECK-ERROR
: error
: invalid operand for instruction
6081 // CHECK-ERROR
: fcvtzs v1.8
b, v9.8
b
6083 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6084 // CHECK-ERROR
: fcvtzs v13.4h
, v21.4h
6086 // CHECK-ERROR
: error
: invalid operand for instruction
6087 // CHECK-ERROR
: fcvtzu v0.16
b, v31.16
b
6089 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6090 // CHECK-ERROR
: fcvtzu v2.8h
, v4.8h
6092 // CHECK-ERROR
: error
: invalid operand for instruction
6093 // CHECK-ERROR
: fcvtzu v1.8
b, v9.8
b
6095 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6096 // CHECK-ERROR
: fcvtzu v13.4h
, v21.4h
6098 // CHECK-ERROR
: error
: invalid operand for instruction
6099 // CHECK-ERROR
: fcvtas v0.16
b, v31.16
b
6101 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6102 // CHECK-ERROR
: fcvtas v2.8h
, v4.8h
6104 // CHECK-ERROR
: error
: invalid operand for instruction
6105 // CHECK-ERROR
: fcvtas v1.8
b, v9.8
b
6107 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6108 // CHECK-ERROR
: fcvtas v13.4h
, v21.4h
6110 // CHECK-ERROR
: error
: invalid operand for instruction
6111 // CHECK-ERROR
: fcvtau v0.16
b, v31.16
b
6113 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6114 // CHECK-ERROR
: fcvtau v2.8h
, v4.8h
6116 // CHECK-ERROR
: error
: invalid operand for instruction
6117 // CHECK-ERROR
: fcvtau v1.8
b, v9.8
b
6119 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6120 // CHECK-ERROR
: fcvtau v13.4h
, v21.4h
6122 // CHECK-ERROR
: error
: invalid operand for instruction
6123 // CHECK-ERROR
: urecpe v0.16
b, v31.16
b
6125 // CHECK-ERROR
: error
: invalid operand for instruction
6126 // CHECK-ERROR
: urecpe v2.8h
, v4.8h
6128 // CHECK-ERROR
: error
: invalid operand for instruction
6129 // CHECK-ERROR
: urecpe v1.8
b, v9.8
b
6131 // CHECK-ERROR
: error
: invalid operand for instruction
6132 // CHECK-ERROR
: urecpe v13.4h
, v21.4h
6134 // CHECK-ERROR
: error
: invalid operand for instruction
6135 // CHECK-ERROR
: urecpe v1.2d
, v9.2d
6137 // CHECK-ERROR
: error
: invalid operand for instruction
6138 // CHECK-ERROR
: ursqrte v0.16
b, v31.16
b
6140 // CHECK-ERROR
: error
: invalid operand for instruction
6141 // CHECK-ERROR
: ursqrte v2.8h
, v4.8h
6143 // CHECK-ERROR
: error
: invalid operand for instruction
6144 // CHECK-ERROR
: ursqrte v1.8
b, v9.8
b
6146 // CHECK-ERROR
: error
: invalid operand for instruction
6147 // CHECK-ERROR
: ursqrte v13.4h
, v21.4h
6149 // CHECK-ERROR
: error
: invalid operand for instruction
6150 // CHECK-ERROR
: ursqrte v1.2d
, v9.2d
6152 // CHECK-ERROR
: error
: invalid operand for instruction
6153 // CHECK-ERROR
: scvtf v0.16
b, v31.16
b
6155 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6156 // CHECK-ERROR
: scvtf v2.8h
, v4.8h
6158 // CHECK-ERROR
: error
: invalid operand for instruction
6159 // CHECK-ERROR
: scvtf v1.8
b, v9.8
b
6161 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6162 // CHECK-ERROR
: scvtf v13.4h
, v21.4h
6164 // CHECK-ERROR
: error
: invalid operand for instruction
6165 // CHECK-ERROR
: ucvtf v0.16
b, v31.16
b
6167 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6168 // CHECK-ERROR
: ucvtf v2.8h
, v4.8h
6170 // CHECK-ERROR
: error
: invalid operand for instruction
6171 // CHECK-ERROR
: ucvtf v1.8
b, v9.8
b
6173 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6174 // CHECK-ERROR
: ucvtf v13.4h
, v21.4h
6176 // CHECK-ERROR
: error
: invalid operand for instruction
6177 // CHECK-ERROR
: frecpe v0.16
b, v31.16
b
6179 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6180 // CHECK-ERROR
: frecpe v2.8h
, v4.8h
6182 // CHECK-ERROR
: error
: invalid operand for instruction
6183 // CHECK-ERROR
: frecpe v1.8
b, v9.8
b
6185 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6186 // CHECK-ERROR
: frecpe v13.4h
, v21.4h
6188 // CHECK-ERROR
: error
: invalid operand for instruction
6189 // CHECK-ERROR
: frsqrte v0.16
b, v31.16
b
6191 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6192 // CHECK-ERROR
: frsqrte v2.8h
, v4.8h
6194 // CHECK-ERROR
: error
: invalid operand for instruction
6195 // CHECK-ERROR
: frsqrte v1.8
b, v9.8
b
6197 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6198 // CHECK-ERROR
: frsqrte v13.4h
, v21.4h
6200 // CHECK-ERROR
: error
: invalid operand for instruction
6201 // CHECK-ERROR
: fsqrt v0.16
b, v31.16
b
6203 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6204 // CHECK-ERROR
: fsqrt v2.8h
, v4.8h
6206 // CHECK-ERROR
: error
: invalid operand for instruction
6207 // CHECK-ERROR
: fsqrt v1.8
b, v9.8
b
6209 // CHECK-ERROR
: error
: instruction requires
: fullfp16
6210 // CHECK-ERROR
: fsqrt v13.4h
, v21.4h
6213 //----------------------------------------------------------------------
6214 // Scalar Floating-point Convert To Signed Fixed-point
(Immediate
)
6215 //----------------------------------------------------------------------
6218 fcvtzs d21
, d12
, #65
6221 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
6222 // CHECK-ERROR
: fcvtzs s21
, s12
, #0
6224 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
6225 // CHECK-ERROR
: fcvtzs d21
, d12
, #65
6227 // CHECK-ERROR
: error
: invalid operand for instruction
6228 // CHECK-ERROR
: fcvtzs s21
, d12
, #1
6231 //----------------------------------------------------------------------
6232 // Scalar Floating-point Convert To Unsigned Fixed-point
(Immediate
)
6233 //----------------------------------------------------------------------
6235 fcvtzu s21
, s12
, #33
6239 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 32]
6240 // CHECK-ERROR
: fcvtzu s21
, s12
, #33
6242 // CHECK-ERROR
: error
: {{expected|immediate must
be an
}} integer in range
[1, 64]
6243 // CHECK-ERROR
: fcvtzu d21
, d12
, #0
6245 // CHECK-ERROR
: error
: invalid operand for instruction
6246 // CHECK-ERROR
: fcvtzu s21
, d12
, #1
6249 //----------------------------------------------------------------------
6250 // Scalar Unsigned Saturating Extract Narrow
6251 //----------------------------------------------------------------------
6260 // CHECK
: error
: invalid operand for instruction
6261 // CHECK
: aese v0.8h
, v1.8h
6263 // CHECK
: error
: invalid operand for instruction
6264 // CHECK
: aese v0.4s
, v1.4s
6266 // CHECK
: error
: invalid operand for instruction
6267 // CHECK
: aese v0.2d
, v1.2d
6269 // CHECK
: error
: invalid operand for instruction
6270 // CHECK
: aesd v0.8h
, v1.8h
6272 // CHECK
: error
: invalid operand for instruction
6273 // CHECK
: aesmc v0.8h
, v1.8h
6275 // CHECK
: error
: invalid operand for instruction
6276 // CHECK
: aesimc v0.8h
, v1.8h
6283 sha1su1 v0.16
b, v1.16
b
6284 sha1su1 v0.8h
, v1.8h
6285 sha1su1 v0.2d
, v1.2d
6286 sha256su0 v0.16
b, v1.16
b
6288 // CHECK
: error
: invalid operand for instruction
6289 // CHECK
: sha1h b0
, b1
6291 // CHECK
: error
: invalid operand for instruction
6292 // CHECK
: sha1h h0
, h1
6294 // CHECK
: error
: invalid operand for instruction
6295 // CHECK
: sha1h d0
, d1
6297 // CHECK
: error
: invalid operand for instruction
6298 // CHECK
: sha1h q0
, q1
6300 // CHECK
: error
: invalid operand for instruction
6301 // CHECK
: sha1su1 v0.16
b, v1.16
b
6303 // CHECK
: error
: invalid operand for instruction
6304 // CHECK
: sha1su1 v0.8h
, v1.8h
6306 // CHECK
: error
: invalid operand for instruction
6307 // CHECK
: sha1su1 v0.2d
, v1.2d
6309 // CHECK
: error
: invalid operand for instruction
6310 // CHECK
: sha256su0 v0.16
b, v1.16
b
6316 sha1su0 v0.16
b, v1.16
b, v2.16
b
6317 sha1su0 v0.8h
, v1.8h
, v2.8h
6318 sha1su0 v0.2d
, v1.2d
, v2.2d
6320 sha256h v0.4s
, v1.4s
, v2.4s
6322 sha256su1 v0.16
b, v1.16
b, v2.16
b
6324 // CHECK
: error
: invalid operand for instruction
6325 // CHECK
: sha1c q0
, q1
, v2.4s
6327 // CHECK
: error
: invalid operand for instruction
6328 // CHECK
: sha1p q0
, q1
, v2.4s
6330 // CHECK
: error
: invalid operand for instruction
6331 // CHECK
: sha1m q0
, q1
, v2.4s
6333 // CHECK
: error
: invalid operand for instruction
6334 // CHECK
: sha1su0 v0.16
b, v1.16
b, v2.16
b
6336 // CHECK
: error
: invalid operand for instruction
6337 // CHECK
: sha1su0 v0.8h
, v1.8h
, v2.8h
6339 // CHECK
: error
: invalid operand for instruction
6340 // CHECK
: sha1su0 v0.2d
, v1.2d
, v2.2d
6342 // CHECK
: error
: too few operands for instruction
6343 // CHECK
: sha256h q0
, q1
, q2
6345 // CHECK
: error
: invalid operand for instruction
6346 // CHECK
: sha256h v0.4s
, v1.4s
, v2.4s
6348 // CHECK
: error
: too few operands for instruction
6349 // CHECK
: sha256h2 q0
, q1
, q2
6351 // CHECK
: error
: invalid operand for instruction
6352 // CHECK
: sha256su1 v0.16
b, v1.16
b, v2.16
b
6355 //----------------------------------------------------------------------
6357 //----------------------------------------------------------------------
6359 ext v0.8
b, v1.8
b, v2.4h
, #0x3
6360 ext v0.4h
, v1.4h
, v2.4h
, #0x3
6361 ext v0.2s
, v1.2s
, v2.2s
, #0x1
6362 ext v0.1d
, v1.1d
, v2.1d
, #0x0
6364 // CHECK-ERROR
: error
: invalid operand for instruction
6365 // CHECK-ERROR
: ext v0.8
b, v1.8
b, v2.4h
, #0x3
6367 // CHECK-ERROR
: error
: invalid operand for instruction
6368 // CHECK-ERROR
: ext v0.4h
, v1.4h
, v2.4h
, #0x3
6370 // CHECK-ERROR
: error
: invalid operand for instruction
6371 // CHECK-ERROR
: ext v0.2s
, v1.2s
, v2.2s
, #0x1
6373 // CHECK-ERROR
: error
: invalid operand for instruction
6374 // CHECK-ERROR
: ext v0.1d
, v1.1d
, v2.1d
, #0x0
6377 ext v0.16
b, v1.16
b, v2.8h
, #0x3
6378 ext v0.8h
, v1.8h
, v2.8h
, #0x3
6379 ext v0.4s
, v1.4s
, v2.4s
, #0x1
6380 ext v0.2d
, v1.2d
, v2.2d
, #0x0
6382 // CHECK-ERROR
: error
: invalid operand for instruction
6383 // CHECK-ERROR
: ext v0.16
b, v1.16
b, v2.8h
, #0x3
6385 // CHECK-ERROR
: error
: invalid operand for instruction
6386 // CHECK-ERROR
: ext v0.8h
, v1.8h
, v2.8h
, #0x3
6388 // CHECK-ERROR
: error
: invalid operand for instruction
6389 // CHECK-ERROR
: ext v0.4s
, v1.4s
, v2.4s
, #0x1
6391 // CHECK-ERROR
: error
: invalid operand for instruction
6392 // CHECK-ERROR
: ext v0.2d
, v1.2d
, v2.2d
, #0x0
6396 //----------------------------------------------------------------------
6397 // Permutation with
3 vectors
6398 //----------------------------------------------------------------------
6400 uzp1 v0.16
b, v1.8
b, v2.8
b
6401 // CHECK-ERROR
: [[@LINE-
1]]:22: error
: invalid operand for instruction
6402 uzp1 v0.8
b, v1.4
b, v2.4
b
6403 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6404 uzp1 v0.8h
, v1.4h
, v2.4h
6405 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6406 uzp1 v0.4h
, v1.2h
, v2.2h
6407 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6408 uzp1 v0.4s
, v1.2s
, v2.2s
6409 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6410 uzp1 v0.2s
, v1.1s
, v2.1s
6411 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid vector kind qualifier
6412 // CHECK-ERROR
: [[@LINE-
2]]:28: error
: invalid vector kind qualifier
6413 uzp1 v0.2d
, v1.1d
, v2.1d
6414 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6415 uzp1 v0.1d
, v1.1d
, v2.1d
6416 // CHECK-ERROR
: [[@LINE-
1]]:14: error
: invalid operand for instruction
6420 uzp2 v0.16
b, v1.8
b, v2.8
b
6421 // CHECK-ERROR
: [[@LINE-
1]]:22: error
: invalid operand for instruction
6422 uzp2 v0.8
b, v1.4
b, v2.4
b
6423 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6424 uzp2 v0.8h
, v1.4h
, v2.4h
6425 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6426 uzp2 v0.4h
, v1.2h
, v2.2h
6427 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6428 uzp2 v0.4s
, v1.2s
, v2.2s
6429 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6430 uzp2 v0.2s
, v1.1s
, v2.1s
6431 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid vector kind qualifier
6432 // CHECK-ERROR
: [[@LINE-
2]]:28: error
: invalid vector kind qualifier
6433 uzp2 v0.2d
, v1.1d
, v2.1d
6434 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6435 uzp2 v0.1d
, v1.1d
, v2.1d
6436 // CHECK-ERROR
: [[@LINE-
1]]:14: error
: invalid operand for instruction
6440 zip1 v0.16
b, v1.8
b, v2.8
b
6441 // CHECK-ERROR
: [[@LINE-
1]]:22: error
: invalid operand for instruction
6442 zip1 v0.8
b, v1.4
b, v2.4
b
6443 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6444 zip1 v0.8h
, v1.4h
, v2.4h
6445 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6446 zip1 v0.4h
, v1.2h
, v2.2h
6447 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6448 zip1 v0.4s
, v1.2s
, v2.2s
6449 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6450 zip1 v0.2s
, v1.1s
, v2.1s
6451 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid vector kind qualifier
6452 // CHECK-ERROR
: [[@LINE-
2]]:28: error
: invalid vector kind qualifier
6453 zip1 v0.2d
, v1.1d
, v2.1d
6454 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6455 zip1 v0.1d
, v1.1d
, v2.1d
6456 // CHECK-ERROR
: [[@LINE-
1]]:14: error
: invalid operand for instruction
6460 zip2 v0.16
b, v1.8
b, v2.8
b
6461 // CHECK-ERROR
: [[@LINE-
1]]:22: error
: invalid operand for instruction
6462 zip2 v0.8
b, v1.4
b, v2.4
b
6463 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6464 zip2 v0.8h
, v1.4h
, v2.4h
6465 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6466 zip2 v0.4h
, v1.2h
, v2.2h
6467 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6468 zip2 v0.4s
, v1.2s
, v2.2s
6469 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6470 zip2 v0.2s
, v1.1s
, v2.1s
6471 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid vector kind qualifier
6472 // CHECK-ERROR
: [[@LINE-
2]]:28: error
: invalid vector kind qualifier
6473 zip2 v0.2d
, v1.1d
, v2.1d
6474 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6475 zip2 v0.1d
, v1.1d
, v2.1d
6476 // CHECK-ERROR
: [[@LINE-
1]]:14: error
: invalid operand for instruction
6480 trn1 v0.16
b, v1.8
b, v2.8
b
6481 // CHECK-ERROR
: [[@LINE-
1]]:22: error
: invalid operand for instruction
6482 trn1 v0.8
b, v1.4
b, v2.4
b
6483 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6484 trn1 v0.8h
, v1.4h
, v2.4h
6485 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6486 trn1 v0.4h
, v1.2h
, v2.2h
6487 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6488 trn1 v0.4s
, v1.2s
, v2.2s
6489 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6490 trn1 v0.2s
, v1.1s
, v2.1s
6491 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid vector kind qualifier
6492 // CHECK-ERROR
: [[@LINE-
2]]:28: error
: invalid vector kind qualifier
6493 trn1 v0.2d
, v1.1d
, v2.1d
6494 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6495 trn1 v0.1d
, v1.1d
, v2.1d
6496 // CHECK-ERROR
: [[@LINE-
1]]:14: error
: invalid operand for instruction
6500 trn2 v0.16
b, v1.8
b, v2.8
b
6501 // CHECK-ERROR
: [[@LINE-
1]]:22: error
: invalid operand for instruction
6502 trn2 v0.8
b, v1.4
b, v2.4
b
6503 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6504 trn2 v0.8h
, v1.4h
, v2.4h
6505 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6506 trn2 v0.4h
, v1.2h
, v2.2h
6507 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6508 trn2 v0.4s
, v1.2s
, v2.2s
6509 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6510 trn2 v0.2s
, v1.1s
, v2.1s
6511 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid vector kind qualifier
6512 // CHECK-ERROR
: [[@LINE-
2]]:28: error
: invalid vector kind qualifier
6513 trn2 v0.2d
, v1.1d
, v2.1d
6514 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6515 trn2 v0.1d
, v1.1d
, v2.1d
6516 // CHECK-ERROR
: [[@LINE-
1]]:14: error
: invalid operand for instruction
6518 //----------------------------------------------------------------------
6519 // Permutation with
3 vectors
6520 //----------------------------------------------------------------------
6522 uzp1 v0.16
b, v1.8
b, v2.8
b
6523 // CHECK-ERROR
: [[@LINE-
1]]:22: error
: invalid operand for instruction
6524 uzp1 v0.8
b, v1.4
b, v2.4
b
6525 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6526 uzp1 v0.8h
, v1.4h
, v2.4h
6527 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6528 uzp1 v0.4h
, v1.2h
, v2.2h
6529 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6530 uzp1 v0.4s
, v1.2s
, v2.2s
6531 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6532 uzp1 v0.2s
, v1.1s
, v2.1s
6533 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid vector kind qualifier
6534 // CHECK-ERROR
: [[@LINE-
2]]:28: error
: invalid vector kind qualifier
6535 uzp1 v0.2d
, v1.1d
, v2.1d
6536 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6537 uzp1 v0.1d
, v1.1d
, v2.1d
6538 // CHECK-ERROR
: [[@LINE-
1]]:14: error
: invalid operand for instruction
6540 uzp2 v0.16
b, v1.8
b, v2.8
b
6541 // CHECK-ERROR
: [[@LINE-
1]]:22: error
: invalid operand for instruction
6542 uzp2 v0.8
b, v1.4
b, v2.4
b
6543 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6544 uzp2 v0.8h
, v1.4h
, v2.4h
6545 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6546 uzp2 v0.4h
, v1.2h
, v2.2h
6547 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6548 uzp2 v0.4s
, v1.2s
, v2.2s
6549 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6550 uzp2 v0.2s
, v1.1s
, v2.1s
6551 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid vector kind qualifier
6552 // CHECK-ERROR
: [[@LINE-
2]]:28: error
: invalid vector kind qualifier
6553 uzp2 v0.2d
, v1.1d
, v2.1d
6554 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6555 uzp2 v0.1d
, v1.1d
, v2.1d
6556 // CHECK-ERROR
: [[@LINE-
1]]:14: error
: invalid operand for instruction
6558 zip1 v0.16
b, v1.8
b, v2.8
b
6559 // CHECK-ERROR
: [[@LINE-
1]]:22: error
: invalid operand for instruction
6560 zip1 v0.8
b, v1.4
b, v2.4
b
6561 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6562 zip1 v0.8h
, v1.4h
, v2.4h
6563 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6564 zip1 v0.4h
, v1.2h
, v2.2h
6565 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6566 zip1 v0.4s
, v1.2s
, v2.2s
6567 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6568 zip1 v0.2s
, v1.1s
, v2.1s
6569 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid vector kind qualifier
6570 // CHECK-ERROR
: [[@LINE-
2]]:28: error
: invalid vector kind qualifier
6571 zip1 v0.2d
, v1.1d
, v2.1d
6572 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6573 zip1 v0.1d
, v1.1d
, v2.1d
6574 // CHECK-ERROR
: [[@LINE-
1]]:14: error
: invalid operand for instruction
6580 zip2 v0.16
b, v1.8
b, v2.8
b
6581 // CHECK-ERROR
: [[@LINE-
1]]:22: error
: invalid operand for instruction
6582 zip2 v0.8
b, v1.4
b, v2.4
b
6583 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6584 zip2 v0.8h
, v1.4h
, v2.4h
6585 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6586 zip2 v0.4h
, v1.2h
, v2.2h
6587 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6588 zip2 v0.4s
, v1.2s
, v2.2s
6589 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6590 zip2 v0.2s
, v1.1s
, v2.1s
6591 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid vector kind qualifier
6592 // CHECK-ERROR
: [[@LINE-
2]]:28: error
: invalid vector kind qualifier
6593 zip2 v0.2d
, v1.1d
, v2.1d
6594 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6595 zip2 v0.1d
, v1.1d
, v2.1d
6596 // CHECK-ERROR
: [[@LINE-
1]]:14: error
: invalid operand for instruction
6601 trn1 v0.16
b, v1.8
b, v2.8
b
6602 // CHECK-ERROR
: [[@LINE-
1]]:22: error
: invalid operand for instruction
6603 trn1 v0.8
b, v1.4
b, v2.4
b
6604 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6605 trn1 v0.8h
, v1.4h
, v2.4h
6606 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6607 trn1 v0.4h
, v1.2h
, v2.2h
6608 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6609 trn1 v0.4s
, v1.2s
, v2.2s
6610 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6611 trn1 v0.2s
, v1.1s
, v2.1s
6612 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid vector kind qualifier
6613 // CHECK-ERROR
: [[@LINE-
2]]:28: error
: invalid vector kind qualifier
6614 trn1 v0.2d
, v1.1d
, v2.1d
6615 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6616 trn1 v0.1d
, v1.1d
, v2.1d
6617 // CHECK-ERROR
: [[@LINE-
1]]:14: error
: invalid operand for instruction
6621 trn2 v0.16
b, v1.8
b, v2.8
b
6622 // CHECK-ERROR
: [[@LINE-
1]]:22: error
: invalid operand for instruction
6623 trn2 v0.8
b, v1.4
b, v2.4
b
6624 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6625 trn2 v0.8h
, v1.4h
, v2.4h
6626 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6627 trn2 v0.4h
, v1.2h
, v2.2h
6628 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6629 trn2 v0.4s
, v1.2s
, v2.2s
6630 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6631 trn2 v0.2s
, v1.1s
, v2.1s
6632 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid vector kind qualifier
6633 // CHECK-ERROR
: [[@LINE-
2]]:28: error
: invalid vector kind qualifier
6634 trn2 v0.2d
, v1.1d
, v2.1d
6635 // CHECK-ERROR
: [[@LINE-
1]]:21: error
: invalid operand for instruction
6636 trn2 v0.1d
, v1.1d
, v2.1d
6637 // CHECK-ERROR
: [[@LINE-
1]]:14: error
: invalid operand for instruction
6641 //----------------------------------------------------------------------
6642 // Floating Point multiply
(scalar
, by element
)
6643 //----------------------------------------------------------------------
6644 // mismatched
and invalid vector types
6645 fmul s0
, s1
, v1.h
[0]
6646 fmul h0
, h1
, v1.s
[0]
6648 fmul s2
, s29
, v10.s
[4]
6650 // CHECK-ERROR
: error
: invalid operand for instruction
6651 // CHECK-ERROR
: fmul s0
, s1
, v1.h
[0]
6653 // CHECK-ERROR
: error
: invalid operand for instruction
6654 // CHECK-ERROR
: fmul h0
, h1
, v1.s
[0]
6656 // CHECK-ERROR
: vector lane must
be an integer in range
6657 // CHECK-ERROR
: fmul s2
, s29
, v10.s
[4]
6660 //----------------------------------------------------------------------
6661 // Floating Point multiply extended
(scalar
, by element
)
6662 //----------------------------------------------------------------------
6663 // mismatched
and invalid vector types
6664 fmulx d0
, d1
, v1.
b[0]
6665 fmulx h0
, h1
, v1.d
[0]
6667 fmulx d2
, d29
, v10.d
[3]
6669 // CHECK-ERROR
: error
: invalid operand for instruction
6670 // CHECK-ERROR
: fmulx d0
, d1
, v1.
b[0]
6672 // CHECK-ERROR
: error
: invalid operand for instruction
6673 // CHECK-ERROR
: fmulx h0
, h1
, v1.d
[0]
6675 // CHECK-ERROR
: vector lane must
be an integer in range
6676 // CHECK-ERROR
: fmulx d2
, d29
, v10.d
[3]
6679 //----------------------------------------------------------------------
6680 // Floating Point fused multiply-
add (scalar
, by element
)
6681 //----------------------------------------------------------------------
6682 // mismatched
and invalid vector types
6683 fmla b0
, b1
, v1.
b[0]
6684 fmla d30
, s11
, v1.d
[1]
6686 fmla s16
, s22
, v16.s
[5]
6688 // CHECK-ERROR
: error
: invalid operand for instruction
6689 // CHECK-ERROR
: fmla b0
, b1
, v1.
b[0]
6691 // CHECK-ERROR
: error
: invalid operand for instruction
6692 // CHECK-ERROR
: fmla d30
, s11
, v1.d
[1]
6694 // CHECK-ERROR
: vector lane must
be an integer in range
6695 // CHECK-ERROR
: fmla s16
, s22
, v16.s
[5]
6698 //----------------------------------------------------------------------
6699 // Floating Point fused multiply-subtract
(scalar
, by element
)
6700 //----------------------------------------------------------------------
6701 // mismatched
and invalid vector types
6702 fmls s29
, h10
, v28.s
[1]
6703 fmls h7
, h17
, v26.s
[2]
6705 fmls d16
, d22
, v16.d
[-1]
6707 // CHECK-ERROR
: error
: invalid operand for instruction
6708 // CHECK-ERROR
: fmls s29
, h10
, v28.s
[1]
6710 // CHECK-ERROR
: error
: invalid operand for instruction
6711 // CHECK-ERROR
: fmls h7
, h17
, v26.s
[2]
6713 // CHECK-ERROR
: error
: vector lane must
be an integer in range
[0, 1]
6714 // CHECK-ERROR
: fmls d16
, d22
, v16.d
[-1]
6717 //----------------------------------------------------------------------
6718 // Scalar Signed saturating doubling multiply-
add long
6719 // (scalar
, by element
)
6720 //----------------------------------------------------------------------
6721 // mismatched
and invalid vector types
6722 sqdmlal s0
, h0
, v0.s
[0]
6723 sqdmlal s8
, s9
, v14.s
[1]
6725 sqdmlal d4
, s5
, v1.s
[5]
6726 // invalid vector index
6727 sqdmlal s0
, h0
, v17.h
[0]
6729 // CHECK-ERROR
: error
: invalid operand for instruction
6730 // CHECK-ERROR
: sqdmlal s0
, h0
, v0.s
[0]
6732 // CHECK-ERROR
: error
: invalid operand for instruction
6733 // CHECK-ERROR
: sqdmlal s8
, s9
, v14.s
[1]
6735 // CHECK-ERROR
: vector lane must
be an integer in range
6736 // CHECK-ERROR
: sqdmlal d4
, s5
, v1.s
[5]
6738 // CHECK-ERROR
: error
: invalid operand for instruction
6739 // CHECK-ERROR
: sqdmlal s0
, h0
, v17.h
[0]
6742 //----------------------------------------------------------------------
6743 // Scalar Signed saturating doubling multiply-subtract long
6744 // (scalar
, by element
)
6745 //----------------------------------------------------------------------
6746 // mismatched
and invalid vector types
6747 sqdmlsl s1
, h1
, v1.d
[0]
6748 sqdmlsl d1
, h1
, v13.s
[0]
6750 sqdmlsl d1
, s1
, v13.s
[4]
6751 // invalid vector index
6752 sqdmlsl s1
, h1
, v20.h
[7]
6754 // CHECK-ERROR
: error
: invalid operand for instruction
6755 // CHECK-ERROR
: sqdmlsl s1
, h1
, v1.d
[0]
6757 // CHECK-ERROR
: error
: invalid operand for instruction
6758 // CHECK-ERROR
: sqdmlsl d1
, h1
, v13.s
[0]
6760 // CHECK-ERROR
: vector lane must
be an integer in range
6761 // CHECK-ERROR
: sqdmlsl d1
, s1
, v13.s
[4]
6763 // CHECK-ERROR
: error
: invalid operand for instruction
6764 // CHECK-ERROR
: sqdmlsl s1
, h1
, v20.h
[7]
6767 //----------------------------------------------------------------------
6768 // Scalar Signed saturating doubling multiply long
(scalar
, by element
)
6769 //----------------------------------------------------------------------
6770 // mismatched
and invalid vector types
6772 // invalid vector index
6773 // mismatched
and invalid vector types
6774 sqdmull s1
, h1
, v1.s
[1]
6775 sqdmull s1
, s1
, v4.s
[0]
6777 sqdmull s12
, h17
, v9.h
[9]
6778 // invalid vector index
6779 sqdmull s1
, h1
, v16.h
[5]
6781 // CHECK-ERROR
: error
: invalid operand for instruction
6782 // CHECK-ERROR
: sqdmull s1
, h1
, v1.s
[1]
6784 // CHECK-ERROR
: error
: invalid operand for instruction
6785 // CHECK-ERROR
: sqdmull s1
, s1
, v4.s
[0]
6787 // CHECK-ERROR
: vector lane must
be an integer in range
6788 // CHECK-ERROR
: sqdmull s12
, h17
, v9.h
[9]
6790 // CHECK-ERROR
: error
: invalid operand for instruction
6791 // CHECK-ERROR
: sqdmull s1
, h1
, v16.h
[5]
6794 //----------------------------------------------------------------------
6795 // Scalar Signed saturating doubling multiply returning
6796 // high half
(scalar
, by element
)
6797 //----------------------------------------------------------------------
6798 // mismatched
and invalid vector types
6799 sqdmulh h0
, s1
, v0.h
[0]
6800 sqdmulh s25
, s26
, v27.h
[3]
6802 sqdmulh s25
, s26
, v27.s
[4]
6803 // invalid vector index
6804 sqdmulh s0
, h1
, v30.h
[0]
6806 // CHECK-ERROR
: error
: invalid operand for instruction
6807 // CHECK-ERROR
: sqdmulh h0
, s1
, v0.h
[0]
6809 // CHECK-ERROR
: error
: invalid operand for instruction
6810 // CHECK-ERROR
: sqdmulh s25
, s26
, v27.h
[3]
6812 // CHECK-ERROR
: vector lane must
be an integer in range
6813 // CHECK-ERROR
: sqdmulh s25
, s26
, v27.s
[4]
6815 // CHECK-ERROR
: error
: invalid operand for instruction
6816 // CHECK-ERROR
: sqdmulh s0
, h1
, v30.h
[0]
6819 //----------------------------------------------------------------------
6820 // Scalar Signed saturating rounding doubling multiply
6821 // returning high half
(scalar
, by element
)
6822 //----------------------------------------------------------------------
6823 // mismatched
and invalid vector types
6824 sqrdmulh h31
, h30
, v14.s
[2]
6825 sqrdmulh s5
, h6
, v7.s
[2]
6827 sqrdmulh h31
, h30
, v14.h
[9]
6828 // invalid vector index
6829 sqrdmulh h31
, h30
, v20.h
[4]
6831 // CHECK-ERROR
: error
: invalid operand for instruction
6832 // CHECK-ERROR
: sqrdmulh h31
, h30
, v14.s
[2]
6834 // CHECK-ERROR
: error
: invalid operand for instruction
6835 // CHECK-ERROR
: sqrdmulh s5
, h6
, v7.s
[2]
6837 // CHECK-ERROR
: vector lane must
be an integer in range
6838 // CHECK-ERROR
: sqrdmulh h31
, h30
, v14.h
[9]
6840 // CHECK-ERROR
: error
: invalid operand for instruction
6841 // CHECK-ERROR
: sqrdmulh h31
, h30
, v20.h
[4]
6844 //----------------------------------------------------------------------
6845 // Scalar Duplicate element
(scalar
)
6846 //----------------------------------------------------------------------
6847 // mismatched
and invalid vector types
6857 // CHECK-ERROR
: error
: invalid operand for instruction
6858 // CHECK-ERROR
: dup b0
, v1.d
[0]
6860 // CHECK-ERROR
: error
: invalid operand for instruction
6861 // CHECK-ERROR
: dup h0
, v31.
b[8]
6863 // CHECK-ERROR
: error
: invalid operand for instruction
6864 // CHECK-ERROR
: dup s0
, v2.h
[4]
6866 // CHECK-ERROR
: error
: invalid operand for instruction
6867 // CHECK-ERROR
: dup d0
, v17.s
[3]
6869 // CHECK-ERROR
: vector lane must
be an integer in range
6870 // CHECK-ERROR
: dup d0
, v17.d
[4]
6872 // CHECK-ERROR
: vector lane must
be an integer in range
6873 // CHECK-ERROR
: dup s0
, v1.s
[7]
6875 // CHECK-ERROR
: vector lane must
be an integer in range
6876 // CHECK-ERROR
: dup h0
, v31.h
[16]
6878 // CHECK-ERROR
: vector lane must
be an integer in range
6879 // CHECK-ERROR
: dup b1
, v3.
b[16]
6882 //----------------------------------------------------------------------
6884 //----------------------------------------------------------------------
6886 tbl v0.8
b, {v1.8
b}, v2.8
b
6887 tbl v0.8
b, {v1.8
b, v2.8
b}, v2.8
b
6888 tbl v0.8
b, {v1.8
b, v2.8
b, v3.8
b}, v2.8
b
6889 tbl v0.8
b, {v1.8
b, v2.8
b, v3.8
b, v4.8
b}, v2.8
b
6890 tbl v0.8
b, {v1.16
b, v2.16
b, v3.16
b, v4.16
b, v5.16
b}, v2.8
b
6892 // CHECK-ERROR
: error
: invalid operand for instruction
6893 // CHECK-ERROR
: tbl v0.8
b, {v1.8
b}, v2.8
b
6895 // CHECK-ERROR
: error
: invalid operand for instruction
6896 // CHECK-ERROR
: tbl v0.8
b, {v1.8
b, v2.8
b}, v2.8
b
6898 // CHECK-ERROR
: error
: invalid operand for instruction
6899 // CHECK-ERROR
: tbl v0.8
b, {v1.8
b, v2.8
b, v3.8
b}, v2.8
b
6901 // CHECK-ERROR
: error
: invalid operand for instruction
6902 // CHECK-ERROR
: tbl v0.8
b, {v1.8
b, v2.8
b, v3.8
b, v4.8
b}, v2.8
b
6904 // CHECK-ERROR
: error
: invalid number of vectors
6905 // CHECK-ERROR
: tbl v0.8
b, {v1.16
b, v2.16
b, v3.16
b, v4.16
b, v5.16
b}, v2.8
b
6908 tbx v0.8
b, {v1.8
b}, v2.8
b
6909 tbx v0.8
b, {v1.8
b, v2.8
b}, v2.8
b
6910 tbx v0.8
b, {v1.8
b, v2.8
b, v3.8
b}, v2.8
b
6911 tbx v0.8
b, {v1.8
b, v2.8
b, v3.8
b, v4.8
b}, v2.8
b
6912 tbx v0.8
b, {v1.16
b, v2.16
b, v3.16
b, v4.16
b, v5.16
b}, v2.8
b
6914 // CHECK-ERROR
: error
: invalid operand for instruction
6915 // CHECK-ERROR
: tbx v0.8
b, {v1.8
b}, v2.8
b
6917 // CHECK-ERROR
: error
: invalid operand for instruction
6918 // CHECK-ERROR
: tbx v0.8
b, {v1.8
b, v2.8
b}, v2.8
b
6920 // CHECK-ERROR
: error
: invalid operand for instruction
6921 // CHECK-ERROR
: tbx v0.8
b, {v1.8
b, v2.8
b, v3.8
b}, v2.8
b
6923 // CHECK-ERROR
: error
: invalid operand for instruction
6924 // CHECK-ERROR
: tbx v0.8
b, {v1.8
b, v2.8
b, v3.8
b, v4.8
b}, v2.8
b
6926 // CHECK-ERROR
: error
: invalid number of vectors
6927 // CHECK-ERROR
: tbx v0.8
b, {v1.16
b, v2.16
b, v3.16
b, v4.16
b, v5.16
b}, v2.8
b
6930 //----------------------------------------------------------------------
6931 // Scalar Floating-point Convert To Lower Precision Narrow
, Rounding To
6933 //----------------------------------------------------------------------
6937 // CHECK-ERROR
: error
: invalid operand for instruction
6938 // CHECK-ERROR
: fcvtxn s0
, s1
6941 //----------------------------------------------------------------------
6942 // Scalar Floating-point Convert To Signed Integer
, Rounding To Nearest
6943 // With Ties To Away
6944 //----------------------------------------------------------------------
6949 // CHECK-ERROR
: error
: invalid operand for instruction
6950 // CHECK-ERROR
: fcvtas s0
, d0
6952 // CHECK-ERROR
: error
: invalid operand for instruction
6953 // CHECK-ERROR
: fcvtas d0
, s0
6956 //----------------------------------------------------------------------
6957 // Scalar Floating-point Convert To Unsigned Integer
, Rounding To
6958 // Nearest With Ties To Away
6959 //----------------------------------------------------------------------
6964 // CHECK-ERROR
: error
: invalid operand for instruction
6965 // CHECK-ERROR
: fcvtau s0
, d0
6967 // CHECK-ERROR
: error
: invalid operand for instruction
6968 // CHECK-ERROR
: fcvtau d0
, s0
6971 //----------------------------------------------------------------------
6972 // Scalar Floating-point Convert To Signed Integer
, Rounding Toward
6974 //----------------------------------------------------------------------
6979 // CHECK-ERROR
: error
: invalid operand for instruction
6980 // CHECK-ERROR
: fcvtms s0
, d0
6982 // CHECK-ERROR
: error
: invalid operand for instruction
6983 // CHECK-ERROR
: fcvtms d0
, s0
6986 //----------------------------------------------------------------------
6987 // Scalar Floating-point Convert To Unsigned Integer
, Rounding Toward
6989 //----------------------------------------------------------------------
6994 // CHECK-ERROR
: error
: invalid operand for instruction
6995 // CHECK-ERROR
: fcvtmu s0
, d0
6997 // CHECK-ERROR
: error
: invalid operand for instruction
6998 // CHECK-ERROR
: fcvtmu d0
, s0
7001 //----------------------------------------------------------------------
7002 // Scalar Floating-point Convert To Signed Integer
, Rounding To Nearest
7003 // With Ties To Even
7004 //----------------------------------------------------------------------
7009 // CHECK-ERROR
: error
: invalid operand for instruction
7010 // CHECK-ERROR
: fcvtns s0
, d0
7012 // CHECK-ERROR
: error
: invalid operand for instruction
7013 // CHECK-ERROR
: fcvtns d0
, s0
7016 //----------------------------------------------------------------------
7017 // Scalar Floating-point Convert To Unsigned Integer
, Rounding To
7018 // Nearest With Ties To Even
7019 //----------------------------------------------------------------------
7024 // CHECK-ERROR
: error
: invalid operand for instruction
7025 // CHECK-ERROR
: fcvtnu s0
, d0
7027 // CHECK-ERROR
: error
: invalid operand for instruction
7028 // CHECK-ERROR
: fcvtnu d0
, s0
7031 //----------------------------------------------------------------------
7032 // Scalar Floating-point Convert To Signed Integer
, Rounding Toward
7033 // Positive Infinity
7034 //----------------------------------------------------------------------
7039 // CHECK-ERROR
: error
: invalid operand for instruction
7040 // CHECK-ERROR
: fcvtps s0
, d0
7042 // CHECK-ERROR
: error
: invalid operand for instruction
7043 // CHECK-ERROR
: fcvtps d0
, s0
7046 //----------------------------------------------------------------------
7047 // Scalar Floating-point Convert To Unsigned Integer
, Rounding Toward
7048 // Positive Infinity
7049 //----------------------------------------------------------------------
7054 // CHECK-ERROR
: error
: invalid operand for instruction
7055 // CHECK-ERROR
: fcvtpu s0
, d0
7057 // CHECK-ERROR
: error
: invalid operand for instruction
7058 // CHECK-ERROR
: fcvtpu d0
, s0
7061 //----------------------------------------------------------------------
7062 // Scalar Floating-point Convert To Signed Integer
, Rounding Toward Zero
7063 //----------------------------------------------------------------------
7068 // CHECK-ERROR
: error
: invalid operand for instruction
7069 // CHECK-ERROR
: fcvtzs s0
, d0
7071 // CHECK-ERROR
: error
: invalid operand for instruction
7072 // CHECK-ERROR
: fcvtzs d0
, s0
7075 //----------------------------------------------------------------------
7076 // Scalar Floating-point Convert To Unsigned Integer
, Rounding Toward
7078 //----------------------------------------------------------------------
7083 // CHECK-ERROR
: error
: invalid operand for instruction
7084 // CHECK-ERROR
: fcvtzu s0
, d0
7086 // CHECK-ERROR
: error
: invalid operand for instruction
7087 // CHECK-ERROR
: fcvtzu d0
, s0
7090 //----------------------------------------------------------------------
7091 // Scalar Floating-point Absolute Difference
7092 //----------------------------------------------------------------------
7098 // CHECK-ERROR
: error
: invalid operand for instruction
7099 // CHECK-ERROR
: fabd s29
, d24
, s20
7101 // CHECK-ERROR
: error
: invalid operand for instruction
7102 // CHECK-ERROR
: fabd d29
, s24
, d20