1 # RUN: llvm-mc -triple armv7-unknown-unknown -mcpu=cortex-a9 -disassemble < %s | FileCheck %s
4 # CHECK: vabs.s8 d16, d16
6 # CHECK: vabs.s16 d16, d16
8 # CHECK: vabs.s32 d16, d16
10 # CHECK: vabs.f32 d16, d16
12 # CHECK: vabs.s8 q8, q8
14 # CHECK: vabs.s16 q8, q8
16 # CHECK: vabs.s32 q8, q8
18 # CHECK: vabs.f32 q8, q8
21 # CHECK: vqabs.s8 d16, d16
23 # CHECK: vqabs.s16 d16, d16
25 # CHECK: vqabs.s32 d16, d16
27 # CHECK: vqabs.s8 q8, q8
29 # CHECK: vqabs.s16 q8, q8
31 # CHECK: vqabs.s32 q8, q8
34 # CHECK: vabd.s8 d16, d16, d17
36 # CHECK: vabd.s16 d16, d16, d17
38 # CHECK: vabd.s32 d16, d16, d17
40 # CHECK: vabd.u8 d16, d16, d17
42 # CHECK: vabd.u16 d16, d16, d17
44 # CHECK: vabd.u32 d16, d16, d17
46 # CHECK: vabd.f32 d16, d16, d17
48 # CHECK: vabd.s8 q8, q8, q9
50 # CHECK: vabd.s16 q8, q8, q9
52 # CHECK: vabd.s32 q8, q8, q9
54 # CHECK: vabd.u8 q8, q8, q9
56 # CHECK: vabd.u16 q8, q8, q9
58 # CHECK: vabd.u32 q8, q8, q9
60 # CHECK: vabd.f32 q8, q8, q9
63 # CHECK: vabdl.s8 q8, d16, d17
65 # CHECK: vabdl.s16 q8, d16, d17
67 # CHECK: vabdl.s32 q8, d16, d17
69 # CHECK: vabdl.u8 q8, d16, d17
71 # CHECK: vabdl.u16 q8, d16, d17
73 # CHECK: vabdl.u32 q8, d16, d17
76 # CHECK: vaba.s8 d16, d18, d17
78 # CHECK: vaba.s16 d16, d18, d17
80 # CHECK: vaba.s32 d16, d18, d17
82 # CHECK: vaba.u8 d16, d18, d17
84 # CHECK: vaba.u16 d16, d18, d17
86 # CHECK: vaba.u32 d16, d18, d17
88 # CHECK: vaba.s8 q9, q8, q10
90 # CHECK: vaba.s16 q9, q8, q10
92 # CHECK: vaba.s32 q9, q8, q10
94 # CHECK: vaba.u8 q9, q8, q10
96 # CHECK: vaba.u16 q9, q8, q10
98 # CHECK: vaba.u32 q9, q8, q10
101 # CHECK: vabal.s8 q8, d19, d18
103 # CHECK: vabal.s16 q8, d19, d18
105 # CHECK: vabal.s32 q8, d19, d18
107 # CHECK: vabal.u8 q8, d19, d18
109 # CHECK: vabal.u16 q8, d19, d18
111 # CHECK: vabal.u32 q8, d19, d18
117 # CHECK: vadd.i8 d16, d17, d16
119 # CHECK: vadd.i16 d16, d17, d16
121 # CHECK: vadd.i64 d16, d17, d16
123 # CHECK: vadd.i32 d16, d17, d16
125 # CHECK: vadd.f32 d16, d16, d17
127 # CHECK: vadd.f32 q8, q8, q9
130 # CHECK: vaddl.s8 q8, d17, d16
132 # CHECK: vaddl.s16 q8, d17, d16
134 # CHECK: vaddl.s32 q8, d17, d16
136 # CHECK: vaddl.u8 q8, d17, d16
138 # CHECK: vaddl.u16 q8, d17, d16
140 # CHECK: vaddl.u32 q8, d17, d16
143 # CHECK: vaddw.s8 q8, q8, d18
145 # CHECK: vaddw.s16 q8, q8, d18
147 # CHECK: vaddw.s32 q8, q8, d18
149 # CHECK: vaddw.u8 q8, q8, d18
151 # CHECK: vaddw.u16 q8, q8, d18
153 # CHECK: vaddw.u32 q8, q8, d18
156 # CHECK: vhadd.s8 d16, d16, d17
158 # CHECK: vhadd.s16 d16, d16, d17
160 # CHECK: vhadd.s32 d16, d16, d17
162 # CHECK: vhadd.u8 d16, d16, d17
164 # CHECK: vhadd.u16 d16, d16, d17
166 # CHECK: vhadd.u32 d16, d16, d17
168 # CHECK: vhadd.s8 q8, q8, q9
170 # CHECK: vhadd.s16 q8, q8, q9
172 # CHECK: vhadd.s32 q8, q8, q9
174 # CHECK: vhadd.u8 q8, q8, q9
176 # CHECK: vhadd.u16 q8, q8, q9
178 # CHECK: vhadd.u32 q8, q8, q9
181 # CHECK: vrhadd.s8 d16, d16, d17
183 # CHECK: vrhadd.s16 d16, d16, d17
185 # CHECK: vrhadd.s32 d16, d16, d17
187 # CHECK: vrhadd.u8 d16, d16, d17
189 # CHECK: vrhadd.u16 d16, d16, d17
191 # CHECK: vrhadd.u32 d16, d16, d17
193 # CHECK: vrhadd.s8 q8, q8, q9
195 # CHECK: vrhadd.s16 q8, q8, q9
197 # CHECK: vrhadd.s32 q8, q8, q9
199 # CHECK: vrhadd.u8 q8, q8, q9
201 # CHECK: vrhadd.u16 q8, q8, q9
203 # CHECK: vrhadd.u32 q8, q8, q9
206 # CHECK: vqadd.s8 d16, d16, d17
208 # CHECK: vqadd.s16 d16, d16, d17
210 # CHECK: vqadd.s32 d16, d16, d17
212 # CHECK: vqadd.s64 d16, d16, d17
214 # CHECK: vqadd.u8 d16, d16, d17
216 # CHECK: vqadd.u16 d16, d16, d17
218 # CHECK: vqadd.u32 d16, d16, d17
220 # CHECK: vqadd.u64 d16, d16, d17
222 # CHECK: vqadd.s8 q8, q8, q9
224 # CHECK: vqadd.s16 q8, q8, q9
226 # CHECK: vqadd.s32 q8, q8, q9
228 # CHECK: vqadd.s64 q8, q8, q9
230 # CHECK: vqadd.u8 q8, q8, q9
232 # CHECK: vqadd.u16 q8, q8, q9
234 # CHECK: vqadd.u32 q8, q8, q9
236 # CHECK: vqadd.u64 q8, q8, q9
239 # CHECK: vaddhn.i16 d16, q8, q9
241 # CHECK: vaddhn.i32 d16, q8, q9
243 # CHECK: vaddhn.i64 d16, q8, q9
245 # CHECK: vraddhn.i16 d16, q8, q9
247 # CHECK: vraddhn.i32 d16, q8, q9
249 # CHECK: vraddhn.i64 d16, q8, q9
253 # CHECK: vcnt.8 d16, d16
255 # CHECK: vcnt.8 q8, q8
257 # CHECK: vclz.i8 d16, d16
259 # CHECK: vclz.i16 d16, d16
261 # CHECK: vclz.i32 d16, d16
263 # CHECK: vclz.i8 q8, q8
265 # CHECK: vclz.i16 q8, q8
267 # CHECK: vclz.i32 q8, q8
269 # CHECK: vcls.s8 d16, d16
271 # CHECK: vcls.s16 d16, d16
273 # CHECK: vcls.s32 d16, d16
275 # CHECK: vcls.s8 q8, q8
277 # CHECK: vcls.s16 q8, q8
279 # CHECK: vcls.s32 q8, q8
285 # CHECK: vand d16, d17, d16
287 # CHECK: vand q8, q8, q9
290 # CHECK: veor d16, d17, d16
292 # CHECK: veor q8, q8, q9
295 # CHECK: vorr d16, d17, d16
297 # CHECK: vorr q8, q8, q9
299 # CHECK: vorr.i32 d16, #0x1000000
301 # CHECK: vorr.i32 q8, #0x1000000
303 # CHECK: vorr.i32 q8, #0x0
306 # CHECK: vbic d16, d17, d16
308 # CHECK: vbic q8, q8, q9
310 # CHECK: vbic.i32 d16, #0xff000000
312 # CHECK: vbic.i32 q8, #0xff000000
315 # CHECK: vorn d16, d17, d16
317 # CHECK: vorn q8, q8, q9
320 # CHECK: vmvn d16, d16
325 # CHECK: vbsl d18, d17, d16
327 # CHECK: vbsl q8, q10, q9
330 # CHECK: vceq.i8 d16, d16, d17
331 # CHECK: vceq.i16 d16, d16, d17
332 # CHECK: vceq.i32 d16, d16, d17
333 # CHECK: vceq.f32 d16, d16, d17
334 # CHECK: vceq.i8 q8, q8, q9
335 # CHECK: vceq.i16 q8, q8, q9
336 # CHECK: vceq.i32 q8, q8, q9
337 # CHECK: vceq.f32 q8, q8, q9
348 # CHECK: vcge.s8 d16, d16, d17
349 # CHECK: vcge.s16 d16, d16, d17
350 # CHECK: vcge.s32 d16, d16, d17
351 # CHECK: vcge.u8 d16, d16, d17
352 # CHECK: vcge.u16 d16, d16, d17
353 # CHECK: vcge.u32 d16, d16, d17
354 # CHECK: vcge.f32 d16, d16, d17
355 # CHECK: vcge.s8 q8, q8, q9
356 # CHECK: vcge.s16 q8, q8, q9
357 # CHECK: vcge.s32 q8, q8, q9
358 # CHECK: vcge.u8 q8, q8, q9
359 # CHECK: vcge.u16 q8, q8, q9
360 # CHECK: vcge.u32 q8, q8, q9
361 # CHECK: vcge.f32 q8, q8, q9
362 # CHECK: vacge.f32 d16, d16, d17
363 # CHECK: vacge.f32 q8, q8, q9
382 # CHECK: vcgt.s8 d16, d16, d17
383 # CHECK: vcgt.s16 d16, d16, d17
384 # CHECK: vcgt.s32 d16, d16, d17
385 # CHECK: vcgt.u8 d16, d16, d17
386 # CHECK: vcgt.u16 d16, d16, d17
387 # CHECK: vcgt.u32 d16, d16, d17
388 # CHECK: vcgt.f32 d16, d16, d17
389 # CHECK: vcgt.s8 q8, q8, q9
390 # CHECK: vcgt.s16 q8, q8, q9
391 # CHECK: vcgt.s32 q8, q8, q9
392 # CHECK: vcgt.u8 q8, q8, q9
393 # CHECK: vcgt.u16 q8, q8, q9
394 # CHECK: vcgt.u32 q8, q8, q9
395 # CHECK: vcgt.f32 q8, q8, q9
396 # CHECK: vacgt.f32 d16, d16, d17
397 # CHECK: vacgt.f32 q8, q8, q9
416 # CHECK: vtst.8 d16, d16, d17
417 # CHECK: vtst.16 d16, d16, d17
418 # CHECK: vtst.32 d16, d16, d17
419 # CHECK: vtst.8 q8, q8, q9
420 # CHECK: vtst.16 q8, q8, q9
421 # CHECK: vtst.32 q8, q8, q9
430 # CHECK: vceq.i8 d16, d16, #0
431 # CHECK: vcge.s8 d16, d16, #0
432 # CHECK: vcle.s8 d16, d16, #0
433 # CHECK: vcgt.s8 d16, d16, #0
434 # CHECK: vclt.s8 d16, d16, #0
444 # CHECK: vcvt.s32.f32 d16, d16
446 # CHECK: vcvt.u32.f32 d16, d16
448 # CHECK: vcvt.f32.s32 d16, d16
450 # CHECK: vcvt.f32.u32 d16, d16
452 # CHECK: vcvt.s32.f32 q8, q8
454 # CHECK: vcvt.u32.f32 q8, q8
456 # CHECK: vcvt.f32.s32 q8, q8
458 # CHECK: vcvt.f32.u32 q8, q8
460 # CHECK: vcvt.s32.f32 d16, d16, #1
462 # CHECK: vcvt.u32.f32 d16, d16, #1
464 # CHECK: vcvt.f32.s32 d16, d16, #1
466 # CHECK: vcvt.f32.u32 d16, d16, #1
468 # CHECK: vcvt.s32.f32 q8, q8, #1
470 # CHECK: vcvt.u32.f32 q8, q8, #1
472 # CHECK: vcvt.f32.s32 q8, q8, #1
474 # CHECK: vcvt.f32.u32 q8, q8, #1
476 # CHECK: vcvt.f32.f16 q8, d16
478 # CHECK: vcvt.f16.f32 d16, q8
483 # CHECK: vdup.8 d16, r0
484 # CHECK: vdup.16 d16, r0
485 # CHECK: vdup.32 d16, r0
491 # CHECK: vdup.8 q8, r0
492 # CHECK: vdup.16 q8, r0
493 # CHECK: vdup.32 q8, r0
499 # CHECK: vdup.8 d16, d16[1
500 # CHECK: vdup.16 d16, d16[1
501 # CHECK: vdup.32 d16, d16[1
507 # CHECK: vdup.8 q8, d16[1
508 # CHECK: vdup.16 q8, d16[1
509 # CHECK: vdup.32 q8, d16[1
517 # CHECK: vmin.s8 d16, d16, d17
519 # CHECK: vmin.s16 d16, d16, d17
521 # CHECK: vmin.s32 d16, d16, d17
523 # CHECK: vmin.u8 d16, d16, d17
525 # CHECK: vmin.u16 d16, d16, d17
527 # CHECK: vmin.u32 d16, d16, d17
529 # CHECK: vmin.f32 d16, d16, d17
531 # CHECK: vmin.s8 q8, q8, q9
533 # CHECK: vmin.s16 q8, q8, q9
535 # CHECK: vmin.s32 q8, q8, q9
537 # CHECK: vmin.u8 q8, q8, q9
539 # CHECK: vmin.u16 q8, q8, q9
541 # CHECK: vmin.u32 q8, q8, q9
543 # CHECK: vmin.f32 q8, q8, q9
545 # CHECK: vmax.s8 d16, d16, d17
547 # CHECK: vmax.s16 d16, d16, d17
549 # CHECK: vmax.s32 d16, d16, d17
551 # CHECK: vmax.u8 d16, d16, d17
553 # CHECK: vmax.u16 d16, d16, d17
555 # CHECK: vmax.u32 d16, d16, d17
557 # CHECK: vmax.f32 d16, d16, d17
559 # CHECK: vmax.s8 q8, q8, q9
561 # CHECK: vmax.s16 q8, q8, q9
563 # CHECK: vmax.s32 q8, q8, q9
565 # CHECK: vmax.u8 q8, q8, q9
567 # CHECK: vmax.u16 q8, q8, q9
569 # CHECK: vmax.u32 q8, q8, q9
571 # CHECK: vmax.f32 q8, q8, q9
576 # CHECK: vmov.i8 d16, #0x8
578 # CHECK: vmov.i16 d16, #0x10
580 # CHECK: vmov.i16 d16, #0x1000
582 # CHECK: vmov.i32 d16, #0x20
584 # CHECK: vmov.i32 d16, #0x2000
586 # CHECK: vmov.i32 d16, #0x200000
588 # CHECK: vmov.i32 d16, #0x20000000
590 # CHECK: vmov.i32 d16, #0x20ff
592 # CHECK: vmov.i32 d16, #0x20ffff
594 # CHECK: vmov.i64 d16, #0xff0000ff0000ffff
596 # CHECK: vmov.i8 q8, #0x8
598 # CHECK: vmov.i16 q8, #0x10
600 # CHECK: vmov.i16 q8, #0x1000
602 # CHECK: vmov.i32 q8, #0x20
604 # CHECK: vmov.i32 q8, #0x2000
606 # CHECK: vmov.i32 q8, #0x200000
608 # CHECK: vmov.i32 q8, #0x20000000
610 # CHECK: vmov.i32 q8, #0x20ff
612 # CHECK: vmov.i32 q8, #0x20ffff
614 # CHECK: vmov.i64 q8, #0xff0000ff0000ffff
616 # CHECK: vmvn.i16 d16, #0x10
618 # CHECK: vmvn.i16 d16, #0x1000
620 # CHECK: vmvn.i32 d16, #0x20
622 # CHECK: vmvn.i32 d16, #0x2000
624 # CHECK: vmvn.i32 d16, #0x200000
626 # CHECK: vmvn.i32 d16, #0x20000000
628 # CHECK: vmvn.i32 d16, #0x20ff
630 # CHECK: vmvn.i32 d16, #0x20ffff
632 # CHECK: vmovl.s8 q8, d16
634 # CHECK: vmovl.s16 q8, d16
636 # CHECK: vmovl.s32 q8, d16
638 # CHECK: vmovl.u8 q8, d16
640 # CHECK: vmovl.u16 q8, d16
642 # CHECK: vmovl.u32 q8, d16
644 # CHECK: vmovn.i16 d16, q8
646 # CHECK: vmovn.i32 d16, q8
648 # CHECK: vmovn.i64 d16, q8
650 # CHECK: vqmovn.s16 d16, q8
652 # CHECK: vqmovn.s32 d16, q8
654 # CHECK: vqmovn.s64 d16, q8
656 # CHECK: vqmovn.u16 d16, q8
658 # CHECK: vqmovn.u32 d16, q8
660 # CHECK: vqmovn.u64 d16, q8
662 # CHECK: vqmovun.s16 d16, q8
664 # CHECK: vqmovun.s32 d16, q8
666 # CHECK: vqmovun.s64 d16, q8
668 # CHECK: vmov.s8 r0, d16[1
670 # CHECK: vmov.s16 r0, d16[1
672 # CHECK: vmov.u8 r0, d16[1
674 # CHECK: vmov.u16 r0, d16[1
676 # CHECK: vmov.32 r0, d16[1
678 # CHECK: vmov.8 d16[1], r1
680 # CHECK: vmov.16 d16[1], r1
682 # CHECK: vmov.32 d16[1], r1
684 # CHECK: vmov.8 d18[1], r1
686 # CHECK: vmov.16 d18[1], r1
688 # CHECK: vmov.32 d18[1], r1
693 # CHECK: vmla.i8 d16, d18, d17
695 # CHECK: vmla.i16 d16, d18, d17
697 # CHECK: vmla.i32 d16, d18, d17
699 # CHECK: vmla.f32 d16, d18, d17
701 # CHECK: vmla.i8 q9, q8, q10
703 # CHECK: vmla.i16 q9, q8, q10
705 # CHECK: vmla.i32 q9, q8, q10
707 # CHECK: vmla.f32 q9, q8, q10
709 # CHECK: vmlal.s8 q8, d19, d18
711 # CHECK: vmlal.s16 q8, d19, d18
713 # CHECK: vmlal.s32 q8, d19, d18
715 # CHECK: vmlal.u8 q8, d19, d18
717 # CHECK: vmlal.u16 q8, d19, d18
719 # CHECK: vmlal.u32 q8, d19, d18
721 # CHECK: vqdmlal.s16 q8, d19, d18
723 # CHECK: vqdmlal.s32 q8, d19, d18
725 # CHECK: vmls.i8 d16, d18, d17
727 # CHECK: vmls.i16 d16, d18, d17
729 # CHECK: vmls.i32 d16, d18, d17
731 # CHECK: vmls.f32 d16, d18, d17
733 # CHECK: vmls.i8 q9, q8, q10
735 # CHECK: vmls.i16 q9, q8, q10
737 # CHECK: vmls.i32 q9, q8, q10
739 # CHECK: vmls.f32 q9, q8, q10
741 # CHECK: vmlsl.s8 q8, d19, d18
743 # CHECK: vmlsl.s16 q8, d19, d18
745 # CHECK: vmlsl.s32 q8, d19, d18
747 # CHECK: vmlsl.u8 q8, d19, d18
749 # CHECK: vmlsl.u16 q8, d19, d18
751 # CHECK: vmlsl.u32 q8, d19, d18
753 # CHECK: vqdmlsl.s16 q8, d19, d18
755 # CHECK: vqdmlsl.s32 q8, d19, d18
759 # CHECK: vmul.i8 d16, d16, d17
761 # CHECK: vmul.i16 d16, d16, d17
763 # CHECK: vmul.i32 d16, d16, d17
765 # CHECK: vmul.f32 d16, d16, d17
767 # CHECK: vmul.i8 q8, q8, q9
769 # CHECK: vmul.i16 q8, q8, q9
771 # CHECK: vmul.i32 q8, q8, q9
773 # CHECK: vmul.f32 q8, q8, q9
775 # CHECK: vmul.p8 d16, d16, d17
777 # CHECK: vmul.p8 q8, q8, q9
779 # CHECK: vqdmulh.s16 d16, d16, d17
781 # CHECK: vqdmulh.s32 d16, d16, d17
783 # CHECK: vqdmulh.s16 q8, q8, q9
785 # CHECK: vqdmulh.s32 q8, q8, q9
787 # CHECK: vqrdmulh.s16 d16, d16, d17
789 # CHECK: vqrdmulh.s32 d16, d16, d17
791 # CHECK: vqrdmulh.s16 q8, q8, q9
793 # CHECK: vqrdmulh.s32 q8, q8, q9
795 # CHECK: vmull.s8 q8, d16, d17
797 # CHECK: vmull.s16 q8, d16, d17
799 # CHECK: vmull.s32 q8, d16, d17
801 # CHECK: vmull.u8 q8, d16, d17
803 # CHECK: vmull.u16 q8, d16, d17
805 # CHECK: vmull.u32 q8, d16, d17
807 # CHECK: vmull.p8 q8, d16, d17
809 # CHECK: vqdmull.s16 q8, d16, d17
811 # CHECK: vqdmull.s32 q8, d16, d17
815 # CHECK: vneg.s8 d16, d16
817 # CHECK: vneg.s16 d16, d16
819 # CHECK: vneg.s32 d16, d16
821 # CHECK: vneg.f32 d16, d16
823 # CHECK: vneg.s8 q8, q8
825 # CHECK: vneg.s16 q8, q8
827 # CHECK: vneg.s32 q8, q8
829 # CHECK: vneg.f32 q8, q8
831 # CHECK: vqneg.s8 d16, d16
833 # CHECK: vqneg.s16 d16, d16
835 # CHECK: vqneg.s32 d16, d16
837 # CHECK: vqneg.s8 q8, q8
839 # CHECK: vqneg.s16 q8, q8
841 # CHECK: vqneg.s32 q8, q8
845 # CHECK: vpadd.i8 d16, d17, d16
847 # CHECK: vpadd.i16 d16, d17, d16
849 # CHECK: vpadd.i32 d16, d17, d16
851 # CHECK: vpadd.f32 d16, d16, d17
853 # CHECK: vpaddl.s8 d16, d16
855 # CHECK: vpaddl.s16 d16, d16
857 # CHECK: vpaddl.s32 d16, d16
859 # CHECK: vpaddl.u8 d16, d16
861 # CHECK: vpaddl.u16 d16, d16
863 # CHECK: vpaddl.u32 d16, d16
865 # CHECK: vpaddl.s8 q8, q8
867 # CHECK: vpaddl.s16 q8, q8
869 # CHECK: vpaddl.s32 q8, q8
871 # CHECK: vpaddl.u8 q8, q8
873 # CHECK: vpaddl.u16 q8, q8
875 # CHECK: vpaddl.u32 q8, q8
877 # CHECK: vpadal.s8 d16, d17
879 # CHECK: vpadal.s16 d16, d17
881 # CHECK: vpadal.s32 d16, d17
883 # CHECK: vpadal.u8 d16, d17
885 # CHECK: vpadal.u16 d16, d17
887 # CHECK: vpadal.u32 d16, d17
889 # CHECK: vpadal.s8 q9, q8
891 # CHECK: vpadal.s16 q9, q8
893 # CHECK: vpadal.s32 q9, q8
895 # CHECK: vpadal.u8 q9, q8
897 # CHECK: vpadal.u16 q9, q8
899 # CHECK: vpadal.u32 q9, q8
901 # CHECK: vpmin.s8 d16, d16, d17
903 # CHECK: vpmin.s16 d16, d16, d17
905 # CHECK: vpmin.s32 d16, d16, d17
907 # CHECK: vpmin.u8 d16, d16, d17
909 # CHECK: vpmin.u16 d16, d16, d17
911 # CHECK: vpmin.u32 d16, d16, d17
913 # CHECK: vpmin.f32 d16, d16, d17
915 # CHECK: vpmax.s8 d16, d16, d17
917 # CHECK: vpmax.s16 d16, d16, d17
919 # CHECK: vpmax.s32 d16, d16, d17
921 # CHECK: vpmax.u8 d16, d16, d17
923 # CHECK: vpmax.u16 d16, d16, d17
925 # CHECK: vpmax.u32 d16, d16, d17
927 # CHECK: vpmax.f32 d16, d16, d17
931 # CHECK: vrecpe.u32 d16, d16
933 # CHECK: vrecpe.u32 q8, q8
935 # CHECK: vrecpe.f32 d16, d16
937 # CHECK: vrecpe.f32 q8, q8
939 # CHECK: vrecps.f32 d16, d16, d17
941 # CHECK: vrecps.f32 q8, q8, q9
943 # CHECK: vrsqrte.u32 d16, d16
945 # CHECK: vrsqrte.u32 q8, q8
947 # CHECK: vrsqrte.f32 d16, d16
949 # CHECK: vrsqrte.f32 q8, q8
951 # CHECK: vrsqrts.f32 d16, d16, d17
953 # CHECK: vrsqrts.f32 q8, q8, q9
957 # CHECK: vrev64.8 d16, d16
959 # CHECK: vrev64.16 d16, d16
961 # CHECK: vrev64.32 d16, d16
963 # CHECK: vrev64.8 q8, q8
965 # CHECK: vrev64.16 q8, q8
967 # CHECK: vrev64.32 q8, q8
969 # CHECK: vrev32.8 d16, d16
971 # CHECK: vrev32.16 d16, d16
973 # CHECK: vrev32.8 q8, q8
975 # CHECK: vrev32.16 q8, q8
977 # CHECK: vrev16.8 d16, d16
979 # CHECK: vrev16.8 q8, q8
983 # CHECK: vqshl.s8 d16, d16, d17
985 # CHECK: vqshl.s16 d16, d16, d17
987 # CHECK: vqshl.s32 d16, d16, d17
989 # CHECK: vqshl.s64 d16, d16, d17
991 # CHECK: vqshl.u8 d16, d16, d17
993 # CHECK: vqshl.u16 d16, d16, d17
995 # CHECK: vqshl.u32 d16, d16, d17
997 # CHECK: vqshl.u64 d16, d16, d17
999 # CHECK: vqshl.s8 q8, q8, q9
1001 # CHECK: vqshl.s16 q8, q8, q9
1003 # CHECK: vqshl.s32 q8, q8, q9
1005 # CHECK: vqshl.s64 q8, q8, q9
1007 # CHECK: vqshl.u8 q8, q8, q9
1009 # CHECK: vqshl.u16 q8, q8, q9
1011 # CHECK: vqshl.u32 q8, q8, q9
1013 # CHECK: vqshl.u64 q8, q8, q9
1015 # CHECK: vqshl.s8 d16, d16, #7
1017 # CHECK: vqshl.s16 d16, d16, #15
1019 # CHECK: vqshl.s32 d16, d16, #31
1021 # CHECK: vqshl.s64 d16, d16, #63
1023 # CHECK: vqshl.u8 d16, d16, #7
1025 # CHECK: vqshl.u16 d16, d16, #15
1027 # CHECK: vqshl.u32 d16, d16, #31
1029 # CHECK: vqshl.u64 d16, d16, #63
1031 # CHECK: vqshlu.s8 d16, d16, #7
1033 # CHECK: vqshlu.s16 d16, d16, #15
1035 # CHECK: vqshlu.s32 d16, d16, #31
1037 # CHECK: vqshlu.s64 d16, d16, #63
1039 # CHECK: vqshl.s8 q8, q8, #7
1041 # CHECK: vqshl.s16 q8, q8, #15
1043 # CHECK: vqshl.s32 q8, q8, #31
1045 # CHECK: vqshl.s64 q8, q8, #63
1047 # CHECK: vqshl.u8 q8, q8, #7
1049 # CHECK: vqshl.u16 q8, q8, #15
1051 # CHECK: vqshl.u32 q8, q8, #31
1053 # CHECK: vqshl.u64 q8, q8, #63
1055 # CHECK: vqshlu.s8 q8, q8, #7
1057 # CHECK: vqshlu.s16 q8, q8, #15
1059 # CHECK: vqshlu.s32 q8, q8, #31
1061 # CHECK: vqshlu.s64 q8, q8, #63
1063 # CHECK: vqrshl.s8 d16, d16, d17
1065 # CHECK: vqrshl.s16 d16, d16, d17
1067 # CHECK: vqrshl.s32 d16, d16, d17
1069 # CHECK: vqrshl.s64 d16, d16, d17
1071 # CHECK: vqrshl.u8 d16, d16, d17
1073 # CHECK: vqrshl.u16 d16, d16, d17
1075 # CHECK: vqrshl.u32 d16, d16, d17
1077 # CHECK: vqrshl.u64 d16, d16, d17
1079 # CHECK: vqrshl.s8 q8, q8, q9
1081 # CHECK: vqrshl.s16 q8, q8, q9
1083 # CHECK: vqrshl.s32 q8, q8, q9
1085 # CHECK: vqrshl.s64 q8, q8, q9
1087 # CHECK: vqrshl.u8 q8, q8, q9
1089 # CHECK: vqrshl.u16 q8, q8, q9
1091 # CHECK: vqrshl.u32 q8, q8, q9
1093 # CHECK: vqrshl.u64 q8, q8, q9
1095 # CHECK: vqshrn.s16 d16, q8, #8
1097 # CHECK: vqshrn.s32 d16, q8, #16
1099 # CHECK: vqshrn.s64 d16, q8, #32
1101 # CHECK: vqshrn.u16 d16, q8, #8
1103 # CHECK: vqshrn.u32 d16, q8, #16
1105 # CHECK: vqshrn.u64 d16, q8, #32
1107 # CHECK: vqshrun.s16 d16, q8, #8
1109 # CHECK: vqshrun.s32 d16, q8, #16
1111 # CHECK: vqshrun.s64 d16, q8, #32
1113 # CHECK: vqrshrn.s16 d16, q8, #8
1115 # CHECK: vqrshrn.s32 d16, q8, #16
1117 # CHECK: vqrshrn.s64 d16, q8, #32
1119 # CHECK: vqrshrn.u16 d16, q8, #8
1121 # CHECK: vqrshrn.u32 d16, q8, #16
1123 # CHECK: vqrshrn.u64 d16, q8, #32
1125 # CHECK: vqrshrun.s16 d16, q8, #8
1127 # CHECK: vqrshrun.s32 d16, q8, #16
1129 # CHECK: vqrshrun.s64 d16, q8, #32
1133 # CHECK: vshl.u8 d16, d17, d16
1135 # CHECK: vshl.u16 d16, d17, d16
1137 # CHECK: vshl.u32 d16, d17, d16
1139 # CHECK: vshl.u64 d16, d17, d16
1141 # CHECK: vshl.i8 d16, d16, #7
1143 # CHECK: vshl.i16 d16, d16, #15
1145 # CHECK: vshl.i32 d16, d16, #31
1147 # CHECK: vshl.i64 d16, d16, #63
1149 # CHECK: vshl.u8 q8, q9, q8
1151 # CHECK: vshl.u16 q8, q9, q8
1153 # CHECK: vshl.u32 q8, q9, q8
1155 # CHECK: vshl.u64 q8, q9, q8
1157 # CHECK: vshl.i8 q8, q8, #7
1159 # CHECK: vshl.i16 q8, q8, #15
1161 # CHECK: vshl.i32 q8, q8, #31
1163 # CHECK: vshl.i64 q8, q8, #63
1165 # CHECK: vshr.u8 d16, d16, #7
1167 # CHECK: vshr.u16 d16, d16, #15
1169 # CHECK: vshr.u32 d16, d16, #31
1171 # CHECK: vshr.u64 d16, d16, #63
1173 # CHECK: vshr.u8 q8, q8, #7
1175 # CHECK: vshr.u16 q8, q8, #15
1177 # CHECK: vshr.u32 q8, q8, #31
1179 # CHECK: vshr.u64 q8, q8, #63
1181 # CHECK: vshr.s8 d16, d16, #7
1183 # CHECK: vshr.s16 d16, d16, #15
1185 # CHECK: vshr.s32 d16, d16, #31
1187 # CHECK: vshr.s64 d16, d16, #63
1189 # CHECK: vshr.s8 q8, q8, #7
1191 # CHECK: vshr.s16 q8, q8, #15
1193 # CHECK: vshr.s32 q8, q8, #31
1195 # CHECK: vshr.s64 q8, q8, #63
1197 # CHECK: vsra.u8 d16, d16, #7
1199 # CHECK: vsra.u16 d16, d16, #15
1201 # CHECK: vsra.u32 d16, d16, #31
1203 # CHECK: vsra.u64 d16, d16, #63
1205 # CHECK: vsra.u8 q8, q8, #7
1207 # CHECK: vsra.u16 q8, q8, #15
1209 # CHECK: vsra.u32 q8, q8, #31
1211 # CHECK: vsra.u64 q8, q8, #63
1213 # CHECK: vsra.s8 d16, d16, #7
1215 # CHECK: vsra.s16 d16, d16, #15
1217 # CHECK: vsra.s32 d16, d16, #31
1219 # CHECK: vsra.s64 d16, d16, #63
1221 # CHECK: vsra.s8 q8, q8, #7
1223 # CHECK: vsra.s16 q8, q8, #15
1225 # CHECK: vsra.s32 q8, q8, #31
1227 # CHECK: vsra.s64 q8, q8, #63
1229 # CHECK: vsri.8 d16, d16, #7
1231 # CHECK: vsri.16 d16, d16, #15
1233 # CHECK: vsri.32 d16, d16, #31
1235 # CHECK: vsri.64 d16, d16, #63
1237 # CHECK: vsri.8 q8, q8, #7
1239 # CHECK: vsri.16 q8, q8, #15
1241 # CHECK: vsri.32 q8, q8, #31
1243 # CHECK: vsri.64 q8, q8, #63
1245 # CHECK: vsli.8 d16, d16, #7
1247 # CHECK: vsli.16 d16, d16, #15
1249 # CHECK: vsli.32 d16, d16, #31
1251 # CHECK: vsli.64 d16, d16, #63
1253 # CHECK: vsli.8 q8, q8, #7
1255 # CHECK: vsli.16 q8, q8, #15
1257 # CHECK: vsli.32 q8, q8, #31
1259 # CHECK: vsli.64 q8, q8, #63
1261 # CHECK: vshll.s8 q8, d16, #7
1263 # CHECK: vshll.s16 q8, d16, #15
1265 # CHECK: vshll.s32 q8, d16, #31
1267 # CHECK: vshll.u8 q8, d16, #7
1269 # CHECK: vshll.u16 q8, d16, #15
1271 # CHECK: vshll.u32 q8, d16, #31
1273 # CHECK: vshll.i8 q8, d16, #8
1275 # CHECK: vshll.i16 q8, d16, #16
1277 # CHECK: vshll.i32 q8, d16, #32
1279 # CHECK: vshrn.i16 d16, q8, #8
1281 # CHECK: vshrn.i32 d16, q8, #16
1283 # CHECK: vshrn.i64 d16, q8, #32
1285 # CHECK: vrshl.s8 d16, d17, d16
1287 # CHECK: vrshl.s16 d16, d17, d16
1289 # CHECK: vrshl.s32 d16, d17, d16
1291 # CHECK: vrshl.s64 d16, d17, d16
1293 # CHECK: vrshl.u8 d16, d17, d16
1295 # CHECK: vrshl.u16 d16, d17, d16
1297 # CHECK: vrshl.u32 d16, d17, d16
1299 # CHECK: vrshl.u64 d16, d17, d16
1301 # CHECK: vrshl.s8 q8, q9, q8
1303 # CHECK: vrshl.s16 q8, q9, q8
1305 # CHECK: vrshl.s32 q8, q9, q8
1307 # CHECK: vrshl.s64 q8, q9, q8
1309 # CHECK: vrshl.u8 q8, q9, q8
1311 # CHECK: vrshl.u16 q8, q9, q8
1313 # CHECK: vrshl.u32 q8, q9, q8
1315 # CHECK: vrshl.u64 q8, q9, q8
1317 # CHECK: vrshr.s8 d16, d16, #8
1319 # CHECK: vrshr.s16 d16, d16, #16
1321 # CHECK: vrshr.s32 d16, d16, #32
1323 # CHECK: vrshr.s64 d16, d16, #64
1325 # CHECK: vrshr.u8 d16, d16, #8
1327 # CHECK: vrshr.u16 d16, d16, #16
1329 # CHECK: vrshr.u32 d16, d16, #32
1331 # CHECK: vrshr.u64 d16, d16, #64
1333 # CHECK: vrshr.s8 q8, q8, #8
1335 # CHECK: vrshr.s16 q8, q8, #16
1337 # CHECK: vrshr.s32 q8, q8, #32
1339 # CHECK: vrshr.s64 q8, q8, #64
1341 # CHECK: vrshr.u8 q8, q8, #8
1343 # CHECK: vrshr.u16 q8, q8, #16
1345 # CHECK: vrshr.u32 q8, q8, #32
1347 # CHECK: vrshr.u64 q8, q8, #64
1349 # CHECK: vrshrn.i16 d16, q8, #8
1351 # CHECK: vrshrn.i32 d16, q8, #16
1353 # CHECK: vrshrn.i64 d16, q8, #32
1355 # CHECK: vqrshrn.s16 d16, q8, #4
1357 # CHECK: vqrshrn.s32 d16, q8, #13
1359 # CHECK: vqrshrn.s64 d16, q8, #13
1361 # CHECK: vqrshrn.u16 d16, q8, #4
1363 # CHECK: vqrshrn.u32 d16, q8, #13
1365 # CHECK: vqrshrn.u64 d16, q8, #13
1369 # CHECK: vsra.s8 d17, d16, #8
1371 # CHECK: vsra.s16 d17, d16, #16
1373 # CHECK: vsra.s32 d17, d16, #32
1375 # CHECK: vsra.s64 d17, d16, #64
1377 # CHECK: vsra.s8 q8, q9, #8
1379 # CHECK: vsra.s16 q8, q9, #16
1381 # CHECK: vsra.s32 q8, q9, #32
1383 # CHECK: vsra.s64 q8, q9, #64
1385 # CHECK: vsra.u8 d17, d16, #8
1387 # CHECK: vsra.u16 d17, d16, #16
1389 # CHECK: vsra.u32 d17, d16, #32
1391 # CHECK: vsra.u64 d17, d16, #64
1393 # CHECK: vsra.u8 q8, q9, #8
1395 # CHECK: vsra.u16 q8, q9, #16
1397 # CHECK: vsra.u32 q8, q9, #32
1399 # CHECK: vsra.u64 q8, q9, #64
1401 # CHECK: vrsra.s8 d17, d16, #8
1403 # CHECK: vrsra.s16 d17, d16, #16
1405 # CHECK: vrsra.s32 d17, d16, #32
1407 # CHECK: vrsra.s64 d17, d16, #64
1409 # CHECK: vrsra.u8 d17, d16, #8
1411 # CHECK: vrsra.u16 d17, d16, #16
1413 # CHECK: vrsra.u32 d17, d16, #32
1415 # CHECK: vrsra.u64 d17, d16, #64
1417 # CHECK: vrsra.s8 q8, q9, #8
1419 # CHECK: vrsra.s16 q8, q9, #16
1421 # CHECK: vrsra.s32 q8, q9, #32
1423 # CHECK: vrsra.s64 q8, q9, #64
1425 # CHECK: vrsra.u8 q8, q9, #8
1427 # CHECK: vrsra.u16 q8, q9, #16
1429 # CHECK: vrsra.u32 q8, q9, #32
1431 # CHECK: vrsra.u64 q8, q9, #64
1433 # CHECK: vsli.8 d17, d16, #7
1435 # CHECK: vsli.16 d17, d16, #15
1437 # CHECK: vsli.32 d17, d16, #31
1439 # CHECK: vsli.64 d17, d16, #63
1441 # CHECK: vsli.8 q9, q8, #7
1443 # CHECK: vsli.16 q9, q8, #15
1445 # CHECK: vsli.32 q9, q8, #31
1447 # CHECK: vsli.64 q9, q8, #63
1449 # CHECK: vsri.8 d17, d16, #8
1451 # CHECK: vsri.16 d17, d16, #16
1453 # CHECK: vsri.32 d17, d16, #32
1455 # CHECK: vsri.64 d17, d16, #64
1457 # CHECK: vsri.8 q9, q8, #8
1459 # CHECK: vsri.16 q9, q8, #16
1461 # CHECK: vsri.32 q9, q8, #32
1463 # CHECK: vsri.64 q9, q8, #64
1467 # CHECK: vext.8 d16, d17, d16, #3
1469 # CHECK: vext.8 d16, d17, d16, #5
1471 # CHECK: vext.8 q8, q9, q8, #3
1473 # CHECK: vext.8 q8, q9, q8, #7
1475 # CHECK: vext.16 d16, d17, d16, #3
1477 # CHECK: vext.32 q8, q9, q8, #3
1479 # CHECK: vtrn.8 d17, d16
1481 # CHECK: vtrn.16 d17, d16
1483 # CHECK: vtrn.32 d17, d16
1485 # CHECK: vtrn.8 q9, q8
1487 # CHECK: vtrn.16 q9, q8
1489 # CHECK: vtrn.32 q9, q8
1491 # CHECK: vuzp.8 d17, d16
1493 # CHECK: vuzp.16 d17, d16
1495 # CHECK: vuzp.8 q9, q8
1497 # CHECK: vuzp.16 q9, q8
1499 # CHECK: vuzp.32 q9, q8
1501 # CHECK: vzip.8 d17, d16
1503 # CHECK: vzip.16 d17, d16
1505 # CHECK: vzip.8 q9, q8
1507 # CHECK: vzip.16 q9, q8
1509 # CHECK: vzip.32 q9, q8
1513 # CHECK: vsub.i8 d16, d17, d16
1515 # CHECK: vsub.i16 d16, d17, d16
1517 # CHECK: vsub.i32 d16, d17, d16
1519 # CHECK: vsub.i64 d16, d17, d16
1521 # CHECK: vsub.f32 d16, d16, d17
1523 # CHECK: vsub.i8 q8, q8, q9
1525 # CHECK: vsub.i16 q8, q8, q9
1527 # CHECK: vsub.i32 q8, q8, q9
1529 # CHECK: vsub.i64 q8, q8, q9
1531 # CHECK: vsub.f32 q8, q8, q9
1533 # CHECK: vsubl.s8 q8, d17, d16
1535 # CHECK: vsubl.s16 q8, d17, d16
1537 # CHECK: vsubl.s32 q8, d17, d16
1539 # CHECK: vsubl.u8 q8, d17, d16
1541 # CHECK: vsubl.u16 q8, d17, d16
1543 # CHECK: vsubl.u32 q8, d17, d16
1545 # CHECK: vsubw.s8 q8, q8, d18
1547 # CHECK: vsubw.s16 q8, q8, d18
1549 # CHECK: vsubw.s32 q8, q8, d18
1551 # CHECK: vsubw.u8 q8, q8, d18
1553 # CHECK: vsubw.u16 q8, q8, d18
1555 # CHECK: vsubw.u32 q8, q8, d18
1557 # CHECK: vhsub.s8 d16, d16, d17
1559 # CHECK: vhsub.s16 d16, d16, d17
1561 # CHECK: vhsub.s32 d16, d16, d17
1563 # CHECK: vhsub.u8 d16, d16, d17
1565 # CHECK: vhsub.u16 d16, d16, d17
1567 # CHECK: vhsub.u32 d16, d16, d17
1569 # CHECK: vhsub.s8 q8, q8, q9
1571 # CHECK: vhsub.s16 q8, q8, q9
1573 # CHECK: vhsub.s32 q8, q8, q9
1575 # CHECK: vqsub.s8 d16, d16, d17
1577 # CHECK: vqsub.s16 d16, d16, d17
1579 # CHECK: vqsub.s32 d16, d16, d17
1581 # CHECK: vqsub.s64 d16, d16, d17
1583 # CHECK: vqsub.u8 d16, d16, d17
1585 # CHECK: vqsub.u16 d16, d16, d17
1587 # CHECK: vqsub.u32 d16, d16, d17
1589 # CHECK: vqsub.u64 d16, d16, d17
1591 # CHECK: vqsub.s8 q8, q8, q9
1593 # CHECK: vqsub.s16 q8, q8, q9
1595 # CHECK: vqsub.s32 q8, q8, q9
1597 # CHECK: vqsub.s64 q8, q8, q9
1599 # CHECK: vqsub.u8 q8, q8, q9
1601 # CHECK: vqsub.u16 q8, q8, q9
1603 # CHECK: vqsub.u32 q8, q8, q9
1605 # CHECK: vqsub.u64 q8, q8, q9
1607 # CHECK: vsubhn.i16 d16, q8, q9
1609 # CHECK: vsubhn.i32 d16, q8, q9
1611 # CHECK: vsubhn.i64 d16, q8, q9
1613 # CHECK: vrsubhn.i16 d16, q8, q9
1615 # CHECK: vrsubhn.i32 d16, q8, q9
1617 # CHECK: vrsubhn.i64 d16, q8, q9
1622 # CHECK: vtbl.8 d16, {d17}, d16
1624 # CHECK: vtbl.8 d16, {d16, d17}, d18
1626 # CHECK: vtbl.8 d16, {d16, d17, d18}, d20
1628 # CHECK: vtbl.8 d16, {d16, d17, d18, d19}, d20
1630 # CHECK: vtbx.8 d18, {d16}, d17
1632 # CHECK: vtbx.8 d19, {d16, d17}, d18
1634 # CHECK: vtbx.8 d20, {d16, d17, d18}, d21
1636 # CHECK: vtbx.8 d20, {d16, d17, d18, d19}, d21
1641 # CHECK: vld1.8 {d16}, [r0, :64]
1643 # CHECK: vld1.16 {d16}, [r0]
1645 # CHECK: vld1.32 {d16}, [r0]
1647 # CHECK: vld1.64 {d16}, [r0]
1649 # CHECK: vld1.8 {d16, d17}, [r0, :64]
1651 # CHECK: vld1.16 {d16, d17}, [r0, :128]
1653 # CHECK: vld1.32 {d16, d17}, [r0]
1655 # CHECK: vld1.64 {d16, d17}, [r0]
1658 # CHECK: vld2.8 {d16, d17}, [r0, :64]
1660 # CHECK: vld2.16 {d16, d17}, [r0, :128]
1662 # CHECK: vld2.32 {d16, d17}, [r0]
1664 # CHECK: vld2.8 {d16, d17, d18, d19}, [r0, :64]
1666 # CHECK: vld2.16 {d16, d17, d18, d19}, [r0, :128]
1668 # CHECK: vld2.32 {d16, d17, d18, d19}, [r0, :256]
1671 # CHECK: vld3.8 {d16, d17, d18}, [r0, :64]
1673 # CHECK: vld3.16 {d16, d17, d18}, [r0]
1675 # CHECK: vld3.32 {d16, d17, d18}, [r0]
1677 # CHECK: vld3.8 {d16, d18, d20}, [r0, :64]!
1679 # CHECK: vld3.8 {d17, d19, d21}, [r0, :64]!
1681 # CHECK: vld3.16 {d16, d18, d20}, [r0]!
1683 # CHECK: vld3.16 {d17, d19, d21}, [r0]!
1685 # CHECK: vld3.32 {d16, d18, d20}, [r0]!
1687 # CHECK: vld3.32 {d17, d19, d21}, [r0]!
1690 # CHECK: vld4.8 {d16, d17, d18, d19}, [r0, :64]
1692 # CHECK: vld4.16 {d16, d17, d18, d19}, [r0, :128]
1694 # CHECK: vld4.32 {d16, d17, d18, d19}, [r0, :256]
1696 # CHECK: vld4.8 {d16, d18, d20, d22}, [r0, :256]!
1698 # CHECK: vld4.8 {d17, d19, d21, d23}, [r0, :256]!
1700 # CHECK: vld4.16 {d16, d18, d20, d22}, [r0]!
1702 # CHECK: vld4.16 {d17, d19, d21, d23}, [r0]!
1704 # CHECK: vld4.32 {d16, d18, d20, d22}, [r0]!
1706 # CHECK: vld4.32 {d17, d19, d21, d23}, [r0]!
1709 # CHECK: vld1.8 {d16[3]}, [r0]
1711 # CHECK: vld1.16 {d16[2]}, [r0, :16]
1713 # CHECK: vld1.32 {d16[1]}, [r0, :32]
1716 # CHECK: vld2.8 {d16[1], d17[1]}, [r0, :16]
1718 # CHECK: vld2.16 {d16[1], d17[1]}, [r0, :32]
1720 # CHECK: vld2.32 {d16[1], d17[1]}, [r0]
1722 # CHECK: vld2.16 {d17[1], d19[1]}, [r0]
1724 # CHECK: vld2.32 {d17[0], d19[0]}, [r0, :64]
1727 # CHECK: vld3.8 {d16[1], d17[1], d18[1]}, [r0]
1729 # CHECK: vld3.16 {d16[1], d17[1], d18[1]}, [r0]
1731 # CHECK: vld3.32 {d16[1], d17[1], d18[1]}, [r0]
1733 # CHECK: vld3.16 {d16[1], d18[1], d20[1]}, [r0]
1735 # CHECK: vld3.32 {d17[1], d19[1], d21[1]}, [r0]
1737 # CHECK: vld3.8 {d0[], d1[], d2[]}, [r4]
1739 # CHECK: vld3.8 {d0[], d1[], d2[]}, [r4]!
1741 # CHECK: vld3.8 {d0[], d2[], d4[]}, [r4], r5
1743 # CHECK: vld3.16 {d0[], d2[], d4[]}, [r4]
1745 # CHECK: vld3.16 {d0[], d1[], d2[]}, [r4]!
1747 # CHECK: vld3.16 {d0[], d2[], d4[]}, [r4], r5
1749 # CHECK: vld3.32 {d0[], d1[], d2[]}, [r4]
1751 # CHECK: vld3.32 {d0[], d1[], d2[]}, [r4]!
1753 # CHECK: vld3.32 {d0[], d2[], d4[]}, [r4], r5
1757 # CHECK: vld4.8 {d16[1], d17[1], d18[1], d19[1]}, [r0, :32]
1759 # CHECK: vld4.16 {d16[1], d17[1], d18[1], d19[1]}, [r0]
1761 # CHECK: vld4.32 {d16[1], d17[1], d18[1], d19[1]}, [r0, :128]
1763 # CHECK: vld4.16 {d16[1], d18[1], d20[1], d22[1]}, [r0, :64]
1765 # CHECK: vld4.32 {d17[0], d19[0], d21[0], d23[0]}, [r0]
1768 # CHECK: vld4.8 {d0[], d1[], d2[], d3[]}, [r4]
1770 # CHECK: vld4.8 {d0[], d2[], d4[], d6[]}, [r4, :32]
1772 # CHECK: vld4.8 {d0[], d1[], d2[], d3[]}, [r4, :32]!
1774 # CHECK: vld4.8 {d0[], d2[], d4[], d6[]}, [r4, :32], r5
1776 # CHECK: vld4.16 {d0[], d1[], d2[], d3[]}, [r4]
1778 # CHECK: vld4.16 {d0[], d2[], d4[], d6[]}, [r4, :64]
1780 # CHECK: vld4.16 {d0[], d1[], d2[], d3[]}, [r4, :64]!
1782 # CHECK: vld4.16 {d0[], d2[], d4[], d6[]}, [r4, :64], r5
1784 # CHECK: vld4.32 {d0[], d1[], d2[], d3[]}, [r4]
1786 # CHECK: vld4.32 {d0[], d2[], d4[], d6[]}, [r4, :64]
1788 # CHECK: vld4.32 {d0[], d1[], d2[], d3[]}, [r4, :128]!
1790 # CHECK: vld4.32 {d0[], d2[], d4[], d6[]}, [r4, :128], r5
1794 # CHECK: vst1.8 {d16}, [r0, :64]
1796 # CHECK: vst1.16 {d16}, [r0]
1798 # CHECK: vst1.32 {d16}, [r0]
1800 # CHECK: vst1.64 {d16}, [r0]
1802 # CHECK: vst1.8 {d16, d17}, [r0, :64]
1804 # CHECK: vst1.16 {d16, d17}, [r0, :128]
1806 # CHECK: vst1.32 {d16, d17}, [r0]
1808 # CHECK: vst1.64 {d16, d17}, [r0]
1811 # CHECK: vst2.8 {d16, d17}, [r0, :64]
1813 # CHECK: vst2.16 {d16, d17}, [r0, :128]
1815 # CHECK: vst2.32 {d16, d17}, [r0]
1817 # CHECK: vst2.8 {d16, d17, d18, d19}, [r0, :64]
1819 # CHECK: vst2.16 {d16, d17, d18, d19}, [r0, :128]
1821 # CHECK: vst2.32 {d16, d17, d18, d19}, [r0, :256]
1824 # CHECK: vst3.8 {d16, d17, d18}, [r0, :64]
1826 # CHECK: vst3.16 {d16, d17, d18}, [r0]
1828 # CHECK: vst3.32 {d16, d17, d18}, [r0]
1830 # CHECK: vst3.8 {d16, d18, d20}, [r0, :64]!
1832 # CHECK: vst3.8 {d17, d19, d21}, [r0, :64]!
1834 # CHECK: vst3.16 {d16, d18, d20}, [r0]!
1836 # CHECK: vst3.16 {d17, d19, d21}, [r0]!
1838 # CHECK: vst3.32 {d16, d18, d20}, [r0]!
1840 # CHECK: vst3.32 {d17, d19, d21}, [r0]!
1843 # CHECK: vst4.8 {d16, d17, d18, d19}, [r0, :64]
1845 # CHECK: vst4.16 {d16, d17, d18, d19}, [r0, :128]
1847 # CHECK: vst4.8 {d16, d18, d20, d22}, [r0, :256]!
1849 # CHECK: vst4.8 {d17, d19, d21, d23}, [r0, :256]!
1851 # CHECK: vst4.16 {d16, d18, d20, d22}, [r0]!
1853 # CHECK: vst4.16 {d17, d19, d21, d23}, [r0]!
1855 # CHECK: vst4.32 {d16, d18, d20, d22}, [r0]!
1857 # CHECK: vst4.32 {d17, d19, d21, d23}, [r0]!
1860 # CHECK: vst2.8 {d16[1], d17[1]}, [r0, :16]
1862 # CHECK: vst2.16 {d16[1], d17[1]}, [r0, :32]
1864 # CHECK: vst2.32 {d16[1], d17[1]}, [r0]
1866 # CHECK: vst2.16 {d17[1], d19[1]}, [r0]
1868 # CHECK: vst2.32 {d17[0], d19[0]}, [r0, :64]
1871 # CHECK: vst3.8 {d16[1], d17[1], d18[1]}, [r0]
1873 # CHECK: vst3.16 {d16[1], d17[1], d18[1]}, [r0]
1875 # CHECK: vst3.32 {d16[1], d17[1], d18[1]}, [r0]
1877 # CHECK: vst3.16 {d17[2], d19[2], d21[2]}, [r0]
1879 # CHECK: vst3.32 {d16[0], d18[0], d20[0]}, [r0]
1882 # CHECK: vst4.8 {d16[1], d17[1], d18[1], d19[1]}, [r0, :32]
1884 # CHECK: vst4.16 {d16[1], d17[1], d18[1], d19[1]}, [r0]
1886 # CHECK: vst4.32 {d16[1], d17[1], d18[1], d19[1]}, [r0, :128]
1888 # CHECK: vst4.16 {d17[3], d19[3], d21[3], d23[3]}, [r0, :64]
1890 # CHECK: vst4.32 {d17[0], d19[0], d21[0], d23[0]}, [r0]
1893 # CHECK: vld1.8 {d0[]}, [r0], r0
1895 # CHECK: vst4.8 {d0[0], d1[0], d2[0], d3[0]}, [r0]!
1898 # CHECK: vmovvs r2, lr, s27, s28
1904 # CHECK: vmov s3, s4, r1, r2
1905 # CHECK: vmov s2, s3, r1, r2
1906 # CHECK: vmov r1, r2, s3, s4
1907 # CHECK: vmov r1, r2, s2, s3
1913 # CHECK: vmov d15, r1, r2
1914 # CHECK: vmov d16, r1, r2
1915 # CHECK: vmov r1, r2, d15
1916 # CHECK: vmov r1, r2, d16
1920 # CHECK: vcvttmi.f32.f16 s2, s19
1923 # CHECK: vld1.8 {d23, d24, d25}, [r6, :64]!
1925 # CHECK: vld1.32 {d22, d23, d24, d25}, [pc, :64]!
1927 # CHECK: vst1.32 {d26, d27}, [r1, :64]!
1931 # CHECK: vmov.f32 d0, #1.600000e+01
1932 # CHECK: vmov.f32 q0, #1.600000e+01
1936 # CHECK: vst1.8 {d8}, [r4]!
1938 # CHECK: vst1.16 {d8}, [r4]!
1940 # CHECK: vst1.32 {d8}, [r4]!
1942 # CHECK: vst1.64 {d8}, [r4]!
1944 # CHECK: vst1.8 {d8}, [r4], r6
1946 # CHECK: vst1.16 {d8}, [r4], r6
1948 # CHECK: vst1.32 {d8}, [r4], r6
1950 # CHECK: vst1.64 {d8}, [r4], r6
1953 # CHECK: vst1.8 {d8, d9}, [r4]!
1955 # CHECK: vst1.16 {d8, d9}, [r4]!
1957 # CHECK: vst1.32 {d8, d9}, [r4]!
1959 # CHECK: vst1.64 {d8, d9}, [r4]!
1961 # CHECK: vst1.8 {d8, d9}, [r4], r6
1963 # CHECK: vst1.16 {d8, d9}, [r4], r6
1965 # CHECK: vst1.32 {d8, d9}, [r4], r6
1967 # CHECK: vst1.64 {d8, d9}, [r4], r6
1970 # CHECK: vst1.8 {d8, d9, d10}, [r4]!
1972 # CHECK: vst1.16 {d8, d9, d10}, [r4]!
1974 # CHECK: vst1.32 {d8, d9, d10}, [r4]!
1976 # CHECK: vst1.64 {d8, d9, d10}, [r4]!
1978 # CHECK: vst1.8 {d8, d9, d10}, [r4], r6
1980 # CHECK: vst1.16 {d8, d9, d10}, [r4], r6
1982 # CHECK: vst1.32 {d8, d9, d10}, [r4], r6
1984 # CHECK: vst1.64 {d8, d9, d10}, [r4], r6
1987 # CHECK: vst1.8 {d8, d9, d10, d11}, [r4]!
1989 # CHECK: vst1.16 {d8, d9, d10, d11}, [r4]!
1991 # CHECK: vst1.32 {d8, d9, d10, d11}, [r4]!
1993 # CHECK: vst1.64 {d8, d9, d10, d11}, [r4]!
1995 # CHECK: vst1.8 {d8, d9, d10, d11}, [r4], r6
1997 # CHECK: vst1.16 {d8, d9, d10, d11}, [r4], r6
1999 # CHECK: vst1.32 {d8, d9, d10, d11}, [r4], r6
2001 # CHECK: vst1.64 {d8, d9, d10, d11}, [r4], r6
2004 # CHECK: vst2.8 {d8, d9}, [r4]!
2006 # CHECK: vst2.16 {d8, d9}, [r4]!
2008 # CHECK: vst2.32 {d8, d9}, [r4]!
2010 # CHECK: vst2.8 {d8, d9}, [r4], r6
2012 # CHECK: vst2.16 {d8, d9}, [r4], r6
2014 # CHECK: vst2.32 {d8, d9}, [r4], r6
2017 # CHECK: vst2.8 {d8, d10}, [r4]!
2019 # CHECK: vst2.16 {d8, d10}, [r4]!
2021 # CHECK: vst2.32 {d8, d10}, [r4]!
2023 # CHECK: vst2.8 {d8, d10}, [r4], r6
2025 # CHECK: vst2.16 {d8, d10}, [r4], r6
2027 # CHECK: vst2.32 {d8, d10}, [r4], r6
2030 # CHECK: vst3.8 {d8, d9, d10}, [r4]!
2032 # CHECK: vst3.16 {d8, d9, d10}, [r4]!
2034 # CHECK: vst3.32 {d8, d9, d10}, [r4]!
2036 # CHECK: vst3.8 {d8, d10, d12}, [r4], r6
2038 # CHECK: vst3.16 {d8, d10, d12}, [r4], r6
2040 # CHECK: vst3.32 {d8, d10, d12}, [r4], r6
2043 # CHECK: vst4.8 {d8, d9, d10, d11}, [r4]!
2045 # CHECK: vst4.16 {d8, d9, d10, d11}, [r4]!
2047 # CHECK: vst4.32 {d8, d9, d10, d11}, [r4]!
2049 # CHECK: vst4.8 {d8, d10, d12, d14}, [r4], r6
2051 # CHECK: vst4.16 {d8, d10, d12, d14}, [r4], r6
2053 # CHECK: vst4.32 {d8, d10, d12, d14}, [r4], r6
2056 # CHECK: vst1.16 {d8, d9}, [r4]
2058 # CHECK: vst1.32 {d8, d9}, [r4]
2060 # CHECK: vst1.64 {d8, d9}, [r4]
2062 # CHECK: vst1.8 {d8, d9}, [r4]
2065 # CHECK: vst2.16 {d8, d9}, [r4]
2067 # CHECK: vst2.32 {d8, d9}, [r4]
2069 # CHECK: vst2.8 {d8, d9}, [r4]
2072 # CHECK: vst2.16 {d8, d9}, [r4]!
2074 # CHECK: vst2.16 {d8, d9}, [r4], r6
2076 # CHECK: vst2.32 {d8, d9}, [r4]!
2078 # CHECK: vst2.32 {d8, d9}, [r4], r6
2080 # CHECK: vst2.8 {d8, d9}, [r4]!
2082 # CHECK: vst2.8 {d8, d9}, [r4], r6
2085 # CHECK: vst2.16 {d8, d10}, [r4]
2087 # CHECK: vst2.32 {d8, d10}, [r4]
2089 # CHECK: vst2.8 {d8, d10}, [r4]
2092 # CHECK: vst3.8 {d8, d9, d10}, [r4]
2094 # CHECK: vst3.16 {d8, d9, d10}, [r4]
2096 # CHECK: vst3.32 {d8, d9, d10}, [r4]
2099 # CHECK: vst4.8 {d8, d9, d10, d11}, [r4]
2101 # CHECK: vst4.16 {d8, d9, d10, d11}, [r4]
2103 # CHECK: vst4.32 {d8, d9, d10, d11}, [r4]
2106 # CHECK: vst3.8 {d8, d10, d12}, [r4]
2108 # CHECK: vst3.16 {d8, d10, d12}, [r4]
2110 # CHECK: vst3.32 {d8, d10, d12}, [r4]
2113 # CHECK: vst4.8 {d8, d10, d12, d14}, [r4]
2115 # CHECK: vst4.16 {d8, d10, d12, d14}, [r4]
2117 # CHECK: vst4.32 {d8, d10, d12, d14}, [r4]
2121 # CHECK: vld1.8 {d8}, [r4]!
2123 # CHECK: vld1.16 {d8}, [r4]!
2125 # CHECK: vld1.32 {d8}, [r4]!
2127 # CHECK: vld1.64 {d8}, [r4]!
2129 # CHECK: vld1.8 {d8}, [r4], r6
2131 # CHECK: vld1.16 {d8}, [r4], r6
2133 # CHECK: vld1.32 {d8}, [r4], r6
2135 # CHECK: vld1.64 {d8}, [r4], r6
2137 # CHECK: vld1.8 {d8, d9}, [r4]!
2139 # CHECK: vld1.16 {d8, d9}, [r4]!
2141 # CHECK: vld1.32 {d8, d9}, [r4]!
2143 # CHECK: vld1.64 {d8, d9}, [r4]!
2145 # CHECK: vld1.8 {d8, d9}, [r4], r6
2147 # CHECK: vld1.16 {d8, d9}, [r4], r6
2149 # CHECK: vld1.32 {d8, d9}, [r4], r6
2151 # CHECK: vld1.64 {d8, d9}, [r4], r6
2153 # CHECK: vld1.8 {d8, d9, d10}, [r4]!
2155 # CHECK: vld1.16 {d8, d9, d10}, [r4]!
2157 # CHECK: vld1.32 {d8, d9, d10}, [r4]!
2159 # CHECK: vld1.64 {d8, d9, d10}, [r4]!
2161 # CHECK: vld1.8 {d8, d9, d10}, [r4], r6
2163 # CHECK: vld1.16 {d8, d9, d10}, [r4], r6
2165 # CHECK: vld1.32 {d8, d9, d10}, [r4], r6
2167 # CHECK: vld1.64 {d8, d9, d10}, [r4], r6
2169 # CHECK: vld1.8 {d8, d9, d10, d11}, [r4]!
2171 # CHECK: vld1.16 {d8, d9, d10, d11}, [r4]!
2173 # CHECK: vld1.32 {d8, d9, d10, d11}, [r4]!
2175 # CHECK: vld1.64 {d8, d9, d10, d11}, [r4]!
2177 # CHECK: vld1.8 {d8, d9, d10, d11}, [r4], r6
2179 # CHECK: vld1.16 {d8, d9, d10, d11}, [r4], r6
2181 # CHECK: vld1.32 {d8, d9, d10, d11}, [r4], r6
2183 # CHECK: vld1.64 {d8, d9, d10, d11}, [r4], r6
2185 # CHECK: vld2.8 {d8, d9}, [r4]!
2187 # CHECK: vld2.16 {d8, d9}, [r4]!
2189 # CHECK: vld2.32 {d8, d9}, [r4]!
2191 # CHECK: vld2.8 {d8, d9}, [r4], r6
2193 # CHECK: vld2.16 {d8, d9}, [r4], r6
2195 # CHECK: vld2.32 {d8, d9}, [r4], r6
2197 # CHECK: vld2.8 {d8, d10}, [r4]!
2199 # CHECK: vld2.16 {d8, d10}, [r4]!
2201 # CHECK: vld2.32 {d8, d10}, [r4]!
2203 # CHECK: vld2.8 {d8, d10}, [r4], r6
2205 # CHECK: vld2.16 {d8, d10}, [r4], r6
2207 # CHECK: vld2.32 {d8, d10}, [r4], r6
2209 # CHECK: vld3.8 {d8, d9, d10}, [r4]!
2211 # CHECK: vld3.16 {d8, d9, d10}, [r4]!
2213 # CHECK: vld3.32 {d8, d9, d10}, [r4]!
2215 # CHECK: vld3.8 {d8, d10, d12}, [r4], r6
2217 # CHECK: vld3.16 {d8, d10, d12}, [r4], r6
2219 # CHECK: vld3.32 {d8, d10, d12}, [r4], r6
2221 # CHECK: vld4.8 {d8, d9, d10, d11}, [r4]!
2223 # CHECK: vld4.16 {d8, d9, d10, d11}, [r4]!
2225 # CHECK: vld4.32 {d8, d9, d10, d11}, [r4]!
2227 # CHECK: vld4.8 {d8, d10, d12, d14}, [r4], r6
2229 # CHECK: vld4.16 {d8, d10, d12, d14}, [r4], r6
2231 # CHECK: vld4.32 {d8, d10, d12, d14}, [r4], r6
2233 # CHECK: vld1.16 {d8, d9}, [r4]
2235 # CHECK: vld1.32 {d8, d9}, [r4]
2237 # CHECK: vld1.64 {d8, d9}, [r4]
2239 # CHECK: vld1.8 {d8, d9}, [r4]
2241 # CHECK: vld2.16 {d8, d9}, [r4]
2243 # CHECK: vld2.32 {d8, d9}, [r4]
2245 # CHECK: vld2.8 {d8, d9}, [r4]
2247 # CHECK: vld2.16 {d8, d9}, [r4]!
2249 # CHECK: vld2.16 {d8, d9}, [r4], r6
2251 # CHECK: vld2.32 {d8, d9}, [r4]!
2253 # CHECK: vld2.32 {d8, d9}, [r4], r6
2255 # CHECK: vld2.8 {d8, d9}, [r4]!
2257 # CHECK: vld2.8 {d8, d9}, [r4], r6
2259 # CHECK: vld2.16 {d8, d10}, [r4]
2261 # CHECK: vld2.32 {d8, d10}, [r4]
2263 # CHECK: vld2.8 {d8, d10}, [r4]
2265 # CHECK: vld2.16 {d8, d9, d10, d11}, [r4]!
2267 # CHECK: vld2.16 {d8, d9, d10, d11}, [r4], r6
2269 # CHECK: vld2.32 {d8, d9, d10, d11}, [r4]!
2271 # CHECK: vld2.32 {d8, d9, d10, d11}, [r4], r6
2273 # CHECK: vld2.8 {d8, d9, d10, d11}, [r4]!
2275 # CHECK: vld2.8 {d8, d9, d10, d11}, [r4], r6
2277 # CHECK: vld3.8 {d8, d9, d10}, [r4]
2279 # CHECK: vld3.16 {d8, d9, d10}, [r4]
2281 # CHECK: vld3.32 {d8, d9, d10}, [r4]
2283 # CHECK: vld4.8 {d8, d9, d10, d11}, [r4]
2285 # CHECK: vld4.16 {d8, d9, d10, d11}, [r4]
2287 # CHECK: vld4.32 {d8, d9, d10, d11}, [r4]
2289 # CHECK: vld3.8 {d8, d10, d12}, [r4]
2291 # CHECK: vld3.16 {d8, d10, d12}, [r4]
2293 # CHECK: vld3.32 {d8, d10, d12}, [r4]
2295 # CHECK: vld4.8 {d8, d10, d12, d14}, [r4]
2297 # CHECK: vld4.16 {d8, d10, d12, d14}, [r4]
2299 # CHECK: vld4.32 {d8, d10, d12, d14}, [r4]
2303 # CHECK: vld2.8 {d0[], d1[]}, [r2]
2305 # CHECK: vld2.16 {d0[], d1[]}, [r2]
2307 # CHECK: vld2.32 {d0[], d1[]}, [r2]
2309 # CHECK: vld2.8 {d0[], d1[]}, [r2]!
2311 # CHECK: vld2.16 {d0[], d1[]}, [r2]!
2313 # CHECK: vld2.32 {d0[], d1[]}, [r2]!
2315 # CHECK: vld2.8 {d0[], d1[]}, [r2], r3
2317 # CHECK: vld2.16 {d0[], d1[]}, [r2], r3
2319 # CHECK: vld2.32 {d0[], d1[]}, [r2], r3
2321 # CHECK: vld2.8 {d0[], d2[]}, [r3]
2323 # CHECK: vld2.16 {d0[], d2[]}, [r3]
2325 # CHECK: vld2.32 {d0[], d2[]}, [r3]
2327 # CHECK: vld2.8 {d0[], d2[]}, [r3]!
2329 # CHECK: vld2.16 {d0[], d2[]}, [r3]!
2331 # CHECK: vld2.32 {d0[], d2[]}, [r3]!
2333 # CHECK: vld2.8 {d0[], d2[]}, [r3], r4
2336 # CHECK: vld2.32 {d0[], d2[]}, [r3], r4