Lines Matching +full:0 +full:- +full:100
37 # A combination of tsz:imm3 -- extract esize.
39 # A combination of tsz:imm3 -- extract (2 * esize) - (tsz:imm3)
41 # A combination of tsz:imm3 -- extract (tsz:imm3) - esize
49 # Signed 8-bit immediate, optionally shifted left by 8.
51 # Unsigned 8-bit immediate, optionally shifted left by 8.
57 # Either a copy of rd (at bit 0), or a different source
59 %reg_movprfx 0:5
63 %pnd 0:3 !function=plus_8
106 @pd_pn_e0 ........ ........ ....... rn:4 . rd:4 &rr_esz esz=0
115 @pd_pg_pn_s0 ........ . . ...... .. pg:4 . rn:4 . rd:4 &rpr_s s=0
118 @rd_rn_rm_e0 ........ ... rm:5 ... ... rn:5 rd:5 &rrr_esz esz=0
129 &rrr_esz rn=%reg_movprfx esz=0
173 @rd_pg_rn_e0 ........ .. ... ... ... pg:3 rn:5 rd:5 &rpr_esz esz=0
175 # Two register operands with a 6-bit signed immediate.
191 # Two register operand, one immediate operand, with 4-bit predicate.
196 # Two register operand, one one-bit floating-point operand.
209 # Basic Load/Store with 9-bit immediate offset
260 &rprr_store nreg=0
266 # Two registers and a scalar by N-bit index
272 # Two registers and a scalar by N-bit index, alternate
278 # Three registers and a scalar by N-bit index
286 # Three registers and a scalar by N-bit index, alternate
295 ### SVE Integer Arithmetic - Binary Predicated Group
313 SABD_zpzz 00000100 .. 001 100 000 ... ..... ..... @rdn_pg_rm
321 SDIV_zpzz 00000100 .. 010 100 000 ... ..... ..... @rdn_pg_rm
334 ORQV 00000100 .. 011 100 001 ... ..... ..... @rd_pg_rn
355 SMAXQV 00000100 .. 001 100 001 ... ..... ..... @rd_pg_rn
360 ### SVE Shift by Immediate - Predicated Group
363 ASR_zpzi 00000100 .. 000 000 100 ... .. ... ..... @rdn_pg_tszimm_shr
364 LSR_zpzi 00000100 .. 000 001 100 ... .. ... ..... @rdn_pg_tszimm_shr
365 LSL_zpzi 00000100 .. 000 011 100 ... .. ... ..... @rdn_pg_tszimm_shl
366 ASRD 00000100 .. 000 100 100 ... .. ... ..... @rdn_pg_tszimm_shr
367 SQSHL_zpzi 00000100 .. 000 110 100 ... .. ... ..... @rdn_pg_tszimm_shl
368 UQSHL_zpzi 00000100 .. 000 111 100 ... .. ... ..... @rdn_pg_tszimm_shl
369 SRSHR 00000100 .. 001 100 100 ... .. ... ..... @rdn_pg_tszimm_shr
370 URSHR 00000100 .. 001 101 100 ... .. ... ..... @rdn_pg_tszimm_shr
371 SQSHLU 00000100 .. 001 111 100 ... .. ... ..... @rdn_pg_tszimm_shl
374 ASR_zpzz 00000100 .. 010 000 100 ... ..... ..... @rdn_pg_rm
375 LSR_zpzz 00000100 .. 010 001 100 ... ..... ..... @rdn_pg_rm
376 LSL_zpzz 00000100 .. 010 011 100 ... ..... ..... @rdn_pg_rm
377 ASR_zpzz 00000100 .. 010 100 100 ... ..... ..... @rdm_pg_rn # ASRR
378 LSR_zpzz 00000100 .. 010 101 100 ... ..... ..... @rdm_pg_rn # LSRR
379 LSL_zpzz 00000100 .. 010 111 100 ... ..... ..... @rdm_pg_rn # LSLR
383 ASR_zpzw 00000100 .. 011 000 100 ... ..... ..... @rdn_pg_rm
384 LSR_zpzw 00000100 .. 011 001 100 ... ..... ..... @rdn_pg_rm
385 LSL_zpzw 00000100 .. 011 011 100 ... ..... ..... @rdn_pg_rm
387 ### SVE Integer Arithmetic - Unary Predicated Group
390 # Note esz != 0 for FABS and FNEG.
396 FABS 00000100 .. 011 100 101 ... ..... ..... @rd_pg_rn
407 SXTW 00000100 .. 010 100 101 ... ..... ..... @rd_pg_rn
410 ### SVE Floating Point Compare - Vectors Group
412 # SVE floating-point compare vectors
413 FCMGE_ppzz 01100101 .. 0 ..... 010 ... ..... 0 .... @pd_pg_rn_rm
414 FCMGT_ppzz 01100101 .. 0 ..... 010 ... ..... 1 .... @pd_pg_rn_rm
415 FCMEQ_ppzz 01100101 .. 0 ..... 011 ... ..... 0 .... @pd_pg_rn_rm
416 FCMNE_ppzz 01100101 .. 0 ..... 011 ... ..... 1 .... @pd_pg_rn_rm
417 FCMUO_ppzz 01100101 .. 0 ..... 110 ... ..... 0 .... @pd_pg_rn_rm
418 FACGE_ppzz 01100101 .. 0 ..... 110 ... ..... 1 .... @pd_pg_rn_rm
419 FACGT_ppzz 01100101 .. 0 ..... 111 ... ..... 1 .... @pd_pg_rn_rm
421 ### SVE Integer Multiply-Add Group
423 # SVE integer multiply-add writing addend (predicated)
424 MLA 00000100 .. 0 ..... 010 ... ..... ..... @rda_pg_rn_rm
425 MLS 00000100 .. 0 ..... 011 ... ..... ..... @rda_pg_rn_rm
427 # SVE integer multiply-add writing multiplicand (predicated)
428 MLA 00000100 .. 0 ..... 110 ... ..... ..... @rdn_pg_ra_rm # MAD
429 MLS 00000100 .. 0 ..... 111 ... ..... ..... @rdn_pg_ra_rm # MSB
431 ### SVE Integer Arithmetic - Unpredicated Group
436 SQADD_zzz 00000100 .. 1 ..... 000 100 ..... ..... @rd_rn_rm
441 ### SVE Logical - Unpredicated Group
444 AND_zzz 00000100 00 1 ..... 001 100 ..... ..... @rd_rn_rm_e0
445 ORR_zzz 00000100 01 1 ..... 001 100 ..... ..... @rd_rn_rm_e0
446 EOR_zzz 00000100 10 1 ..... 001 100 ..... ..... @rd_rn_rm_e0
447 BIC_zzz 00000100 11 1 ..... 001 100 ..... ..... @rd_rn_rm_e0
453 EOR3 00000100 00 1 ..... 001 110 ..... ..... @rdn_ra_rm_ex esz=0
454 BSL 00000100 00 1 ..... 001 111 ..... ..... @rdn_ra_rm_ex esz=0
455 BCAX 00000100 01 1 ..... 001 110 ..... ..... @rdn_ra_rm_ex esz=0
456 BSL1N 00000100 01 1 ..... 001 111 ..... ..... @rdn_ra_rm_ex esz=0
457 BSL2N 00000100 10 1 ..... 001 111 ..... ..... @rdn_ra_rm_ex esz=0
458 NBSL 00000100 11 1 ..... 001 111 ..... ..... @rdn_ra_rm_ex esz=0
486 ### SVE Bitwise Shift - Unpredicated Group
507 ### SVE Integer Misc - Unpredicated Group
512 # SVE floating-point exponential accelerator
513 # Note esz != 0
516 # SVE floating-point trig select coefficient
517 # Note esz != 0
523 CNT_r 00000100 .. 10 .... 1110 0 0 ..... ..... @incdec_cnt d=0 u=1
526 INCDEC_r 00000100 .. 11 .... 1110 0 d:1 ..... ..... @incdec_cnt u=1
533 # Note this requires esz != 0.
534 INCDEC_v 00000100 .. 1 1 .... 1100 0 d:1 ..... ..... @incdec2_cnt u=1
537 # Note these require esz != 0.
538 SINCDEC_v 00000100 .. 1 0 .... 1100 d:1 u:1 ..... ..... @incdec2_cnt
550 ### SVE Integer Wide Immediate - Predicated Group
552 # SVE copy floating-point immediate (predicated)
557 INVALID 00000101 00 01 ---- 01 1 -------- -----
561 INVALID 00000101 00 01 ---- 00 1 -------- -----
565 ### SVE Permute - Extract Group
575 ### SVE Permute - Unpredicated Group
584 # SVE Permute Vector - one source quadwords
585 DUPQ 00000101 001 imm:4 1 001001 rn:5 rd:5 &rri_esz esz=0
587 DUPQ 00000101 001 imm:2 100 001001 rn:5 rd:5 &rri_esz esz=2
603 PMOV_pv 00000101 00 101 01 0001110 rn:5 0 rd:4 \
604 &rri_esz esz=0 imm=0
605 PMOV_pv 00000101 00 101 1 imm:1 0001110 rn:5 0 rd:4 &rri_esz esz=1
606 PMOV_pv 00000101 01 101 imm:2 0001110 rn:5 0 rd:4 &rri_esz esz=2
607 PMOV_pv 00000101 1. 101 .. 0001110 rn:5 0 rd:4 \
610 PMOV_vp 00000101 00 101 01 1001110 0 rn:4 rd:5 \
611 &rri_esz esz=0 imm=0
612 PMOV_vp 00000101 00 101 1 imm:1 1001110 0 rn:4 rd:5 &rri_esz esz=1
613 PMOV_vp 00000101 01 101 imm:2 1001110 0 rn:4 rd:5 &rri_esz esz=2
614 PMOV_vp 00000101 1. 101 .. 1001110 0 rn:4 rd:5 \
628 ### SVE Permute - Predicates Group
631 ZIP1_p 00000101 .. 10 .... 010 000 0 .... 0 .... @pd_pn_pm
632 ZIP2_p 00000101 .. 10 .... 010 001 0 .... 0 .... @pd_pn_pm
633 UZP1_p 00000101 .. 10 .... 010 010 0 .... 0 .... @pd_pn_pm
634 UZP2_p 00000101 .. 10 .... 010 011 0 .... 0 .... @pd_pn_pm
635 TRN1_p 00000101 .. 10 .... 010 100 0 .... 0 .... @pd_pn_pm
636 TRN2_p 00000101 .. 10 .... 010 101 0 .... 0 .... @pd_pn_pm
639 REV_p 00000101 .. 11 0100 010 000 0 .... 0 .... @pd_pn
642 PUNPKLO 00000101 00 11 0000 010 000 0 .... 0 .... @pd_pn_e0
643 PUNPKHI 00000101 00 11 0001 010 000 0 .... 0 .... @pd_pn_e0
645 ### SVE Permute - Interleaving Group
652 TRN1_z 00000101 .. 1 ..... 011 100 ..... ..... @rd_rn_rm
664 ZIPQ1 01000100 .. 0 ..... 111 000 ..... ..... @rd_rn_rm
665 ZIPQ2 01000100 .. 0 ..... 111 001 ..... ..... @rd_rn_rm
666 UZPQ1 01000100 .. 0 ..... 111 010 ..... ..... @rd_rn_rm
667 UZPQ2 01000100 .. 0 ..... 111 011 ..... ..... @rd_rn_rm
669 TBLQ 01000100 .. 0 ..... 111 110 ..... ..... @rd_rn_rm
672 ### SVE Permute - Predicated Group
676 COMPACT 00000101 .. 100001 100 ... ..... ..... @rd_pg_rn
679 CLASTA_z 00000101 .. 10100 0 100 ... ..... ..... @rdn_pg_rm
680 CLASTB_z 00000101 .. 10100 1 100 ... ..... ..... @rdn_pg_rm
683 CLASTA_v 00000101 .. 10101 0 100 ... ..... ..... @rd_pg_rn
684 CLASTB_v 00000101 .. 10101 1 100 ... ..... ..... @rd_pg_rn
687 CLASTA_r 00000101 .. 11000 0 101 ... ..... ..... @rd_pg_rn
691 LASTA_v 00000101 .. 10001 0 100 ... ..... ..... @rd_pg_rn
692 LASTB_v 00000101 .. 10001 1 100 ... ..... ..... @rd_pg_rn
695 LASTA_r 00000101 .. 10000 0 101 ... ..... ..... @rd_pg_rn
699 CPY_m_v 00000101 .. 100000 100 ... ..... ..... @rd_pg_rn
706 REVB 00000101 .. 1001 00 100 ... ..... ..... @rd_pg_rn
707 REVH 00000101 .. 1001 01 100 ... ..... ..... @rd_pg_rn
708 REVW 00000101 .. 1001 10 100 ... ..... ..... @rd_pg_rn
709 RBIT 00000101 .. 1001 11 100 ... ..... ..... @rd_pg_rn
710 REVD 00000101 00 1011 10 100 ... ..... ..... @rd_pg_rn_e0
713 SPLICE 00000101 .. 101 100 100 ... ..... ..... @rdn_pg_rm
716 SPLICE_sve2 00000101 .. 101 101 100 ... ..... ..... @rd_pg_rn
723 ### SVE Integer Compare - Vectors Group
726 CMPHS_ppzz 00100100 .. 0 ..... 000 ... ..... 0 .... @pd_pg_rn_rm
727 CMPHI_ppzz 00100100 .. 0 ..... 000 ... ..... 1 .... @pd_pg_rn_rm
728 CMPGE_ppzz 00100100 .. 0 ..... 100 ... ..... 0 .... @pd_pg_rn_rm
729 CMPGT_ppzz 00100100 .. 0 ..... 100 ... ..... 1 .... @pd_pg_rn_rm
730 CMPEQ_ppzz 00100100 .. 0 ..... 101 ... ..... 0 .... @pd_pg_rn_rm
731 CMPNE_ppzz 00100100 .. 0 ..... 101 ... ..... 1 .... @pd_pg_rn_rm
735 CMPEQ_ppzw 00100100 .. 0 ..... 001 ... ..... 0 .... @pd_pg_rn_rm
736 CMPNE_ppzw 00100100 .. 0 ..... 001 ... ..... 1 .... @pd_pg_rn_rm
737 CMPGE_ppzw 00100100 .. 0 ..... 010 ... ..... 0 .... @pd_pg_rn_rm
738 CMPGT_ppzw 00100100 .. 0 ..... 010 ... ..... 1 .... @pd_pg_rn_rm
739 CMPLT_ppzw 00100100 .. 0 ..... 011 ... ..... 0 .... @pd_pg_rn_rm
740 CMPLE_ppzw 00100100 .. 0 ..... 011 ... ..... 1 .... @pd_pg_rn_rm
741 CMPHS_ppzw 00100100 .. 0 ..... 110 ... ..... 0 .... @pd_pg_rn_rm
742 CMPHI_ppzw 00100100 .. 0 ..... 110 ... ..... 1 .... @pd_pg_rn_rm
743 CMPLO_ppzw 00100100 .. 0 ..... 111 ... ..... 0 .... @pd_pg_rn_rm
744 CMPLS_ppzw 00100100 .. 0 ..... 111 ... ..... 1 .... @pd_pg_rn_rm
746 ### SVE Integer Compare - Unsigned Immediate Group
749 CMPHS_ppzi 00100100 .. 1 ....... 0 ... ..... 0 .... @pd_pg_rn_i7
750 CMPHI_ppzi 00100100 .. 1 ....... 0 ... ..... 1 .... @pd_pg_rn_i7
751 CMPLO_ppzi 00100100 .. 1 ....... 1 ... ..... 0 .... @pd_pg_rn_i7
754 ### SVE Integer Compare - Signed Immediate Group
757 CMPGE_ppzi 00100101 .. 0 ..... 000 ... ..... 0 .... @pd_pg_rn_i5
758 CMPGT_ppzi 00100101 .. 0 ..... 000 ... ..... 1 .... @pd_pg_rn_i5
759 CMPLT_ppzi 00100101 .. 0 ..... 001 ... ..... 0 .... @pd_pg_rn_i5
760 CMPLE_ppzi 00100101 .. 0 ..... 001 ... ..... 1 .... @pd_pg_rn_i5
761 CMPEQ_ppzi 00100101 .. 0 ..... 100 ... ..... 0 .... @pd_pg_rn_i5
762 CMPNE_ppzi 00100101 .. 0 ..... 100 ... ..... 1 .... @pd_pg_rn_i5
767 AND_pppp 00100101 0. 00 .... 01 .... 0 .... 0 .... @pd_pg_pn_pm_s
768 BIC_pppp 00100101 0. 00 .... 01 .... 0 .... 1 .... @pd_pg_pn_pm_s
769 EOR_pppp 00100101 0. 00 .... 01 .... 1 .... 0 .... @pd_pg_pn_pm_s
770 SEL_pppp 00100101 0. 00 .... 01 .... 1 .... 1 .... @pd_pg_pn_pm_s
771 ORR_pppp 00100101 1. 00 .... 01 .... 0 .... 0 .... @pd_pg_pn_pm_s
772 ORN_pppp 00100101 1. 00 .... 01 .... 0 .... 1 .... @pd_pg_pn_pm_s
773 NOR_pppp 00100101 1. 00 .... 01 .... 1 .... 0 .... @pd_pg_pn_pm_s
779 PTEST 00100101 01 010000 11 pg:4 0 rn:4 0 0000
782 PTRUE 00100101 esz:2 01100 s:1 111000 pat:5 0 rd:4
792 RDFFR_p 00100101 0 s:1 0110001111000 pg:4 0 rd:4
801 PFIRST 00100101 01 011 000 11000 00 .... 0 .... @pd_pn_e0
804 PNEXT 00100101 .. 011 001 11000 10 .... 0 .... @pd_pn
809 BRKPA 00100101 0. 00 .... 11 .... 0 .... 0 .... @pd_pg_pn_pm_s
810 BRKPB 00100101 0. 00 .... 11 .... 0 .... 1 .... @pd_pg_pn_pm_s
813 BRKA_z 00100101 0. 01000001 .... 0 .... 0 .... @pd_pg_pn_s
814 BRKB_z 00100101 1. 01000001 .... 0 .... 0 .... @pd_pg_pn_s
815 BRKA_m 00100101 00 01000001 .... 0 .... 1 .... @pd_pg_pn_s0
816 BRKB_m 00100101 10 01000001 .... 0 .... 1 .... @pd_pg_pn_s0
819 BRKN 00100101 0. 01100001 .... 0 .... 0 .... @pd_pg_pn_s
824 CNTP 00100101 .. 100 000 10 .... 0 .... ..... @rd_pg4_pn
825 CNTP_c 00100101 esz:2 100 000 10 000 vl:1 1 rn:4 rd:5
840 ### SVE Integer Compare - Scalars Group
848 WHILE_gt 00100101 esz:2 1 rm:5 000 sf:1 u:1 0 rn:5 eq:1 rd:4 &while
851 WHILE_ptr 00100101 esz:2 1 rm:5 001 100 rn:5 rw:1 rd:4
859 WHILE_gt_pair 00100101 .. 1 ..... 0101 . 0 ..... 1 ... . @while_pair
867 WHILE_gt_cnt2 00100101 .. 1 ..... 0100 . 0 ..... 1 . ... @while_cnt
868 WHILE_gt_cnt4 00100101 .. 1 ..... 0110 . 0 ..... 1 . ... @while_cnt
870 # SVE2.1 extract mask predicate from predicate-as-counter
875 ### SVE Integer Wide Immediate - Unpredicated Group
877 # SVE broadcast floating-point immediate (unpredicated)
882 INVALID 00100101 00 111 00 011 1 -------- -----
888 INVALID 00100101 00 100 000 11 1 -------- -----
889 ADD_zzi 00100101 .. 100 000 11 . ........ ..... @rdn_sh_i8u
892 INVALID 00100101 00 100 001 11 1 -------- -----
893 SUB_zzi 00100101 .. 100 001 11 . ........ ..... @rdn_sh_i8u
896 INVALID 00100101 00 100 011 11 1 -------- -----
897 SUBR_zzi 00100101 .. 100 011 11 . ........ ..... @rdn_sh_i8u
900 INVALID 00100101 00 100 100 11 1 -------- -----
901 SQADD_zzi 00100101 .. 100 100 11 . ........ ..... @rdn_sh_i8u
904 INVALID 00100101 00 100 101 11 1 -------- -----
905 UQADD_zzi 00100101 .. 100 101 11 . ........ ..... @rdn_sh_i8u
908 INVALID 00100101 00 100 110 11 1 -------- -----
909 SQSUB_zzi 00100101 .. 100 110 11 . ........ ..... @rdn_sh_i8u
912 INVALID 00100101 00 100 111 11 1 -------- -----
913 UQSUB_zzi 00100101 .. 100 111 11 . ........ ..... @rdn_sh_i8u
926 DOT_zzzz 01000100 1 sz:1 0 rm:5 00000 u:1 rn:5 rd:5 \
930 CDOT_zzzz 01000100 esz:2 0 rm:5 0001 rot:2 rn:5 rd:5 ra=%reg_movprfx
932 #### SVE Multiply - Indexed
940 SDOT_zzxw_2s 01000100 10 0 ..... 110010 ..... ..... @rrxr_2 esz=2
941 UDOT_zzxw_2s 01000100 10 0 ..... 110011 ..... ..... @rrxr_2 esz=2
943 # SVE2 integer multiply-add (indexed)
944 MLA_zzxz_h 01000100 0. 1 ..... 000010 ..... ..... @rrxr_3 esz=1
947 MLS_zzxz_h 01000100 0. 1 ..... 000011 ..... ..... @rrxr_3 esz=1
951 # SVE2 saturating multiply-add high (indexed)
952 SQRDMLAH_zzxz_h 01000100 0. 1 ..... 000100 ..... ..... @rrxr_3 esz=1
955 SQRDMLSH_zzxz_h 01000100 0. 1 ..... 000101 ..... ..... @rrxr_3 esz=1
963 # SVE2 saturating multiply-add (indexed)
979 # SVE2 complex integer multiply-add (indexed)
985 # SVE2 complex saturating integer multiply-add (indexed)
991 # SVE2 multiply-add long (indexed)
1026 SQDMULH_zzx_h 01000100 0. 1 ..... 111100 ..... ..... @rrx_3 esz=1
1029 SQRDMULH_zzx_h 01000100 0. 1 ..... 111101 ..... ..... @rrx_3 esz=1
1034 MUL_zzx_h 01000100 0. 1 ..... 111110 ..... ..... @rrx_3 esz=1
1038 # SVE floating-point complex add (predicated)
1039 FCADD 01100100 esz:2 00000 rot:1 100 pg:3 rm:5 rd:5 \
1042 # SVE floating-point complex multiply-add (predicated)
1043 FCMLA_zpzzz 01100100 esz:2 0 rm:5 0 rot:2 pg:3 rn:5 rd:5 \
1046 # SVE floating-point complex multiply-add (indexed)
1052 ### SVE FP Multiply-Add Indexed Group
1054 # SVE floating-point multiply-add (indexed)
1055 FMLA_zzxz 01100100 0. 1 ..... 000010 ..... ..... @rrxr_3 esz=0
1056 FMLA_zzxz 01100100 0. 1 ..... 000000 ..... ..... @rrxr_3 esz=1
1059 FMLS_zzxz 01100100 0. 1 ..... 000011 ..... ..... @rrxr_3 esz=0
1060 FMLS_zzxz 01100100 0. 1 ..... 000001 ..... ..... @rrxr_3 esz=1
1066 # SVE floating-point multiply (indexed)
1067 FMUL_zzx 01100100 0. 1 ..... 001010 ..... ..... @rrx_3 esz=0
1068 FMUL_zzx 01100100 0. 1 ..... 001000 ..... ..... @rrx_3 esz=1
1075 FMAXNMV 01100101 .. 000 100 001 ... ..... ..... @rd_pg_rn
1083 FMAXNMQV 01100100 .. 010 100 101 ... ..... ..... @rd_pg_rn
1088 ## SVE Floating Point Unary Operations - Unpredicated Group
1095 FCMGE_ppz0 01100101 .. 0100 00 001 ... ..... 0 .... @pd_pg_rn
1097 FCMLT_ppz0 01100101 .. 0100 01 001 ... ..... 0 .... @pd_pg_rn
1099 FCMEQ_ppz0 01100101 .. 0100 10 001 ... ..... 0 .... @pd_pg_rn
1100 FCMNE_ppz0 01100101 .. 0100 11 001 ... ..... 0 .... @pd_pg_rn
1104 # SVE floating-point serial reduction (predicated)
1107 ### SVE Floating Point Arithmetic - Unpredicated Group
1109 # SVE floating-point arithmetic (unpredicated)
1110 FADD_zzz 01100101 .. 0 ..... 000 000 ..... ..... @rd_rn_rm
1111 FSUB_zzz 01100101 .. 0 ..... 000 001 ..... ..... @rd_rn_rm
1112 FMUL_zzz 01100101 .. 0 ..... 000 010 ..... ..... @rd_rn_rm
1113 FTSMUL 01100101 .. 0 ..... 000 011 ..... ..... @rd_rn_rm
1114 FRECPS 01100101 .. 0 ..... 000 110 ..... ..... @rd_rn_rm
1115 FRSQRTS 01100101 .. 0 ..... 000 111 ..... ..... @rd_rn_rm
1119 # SVE floating-point arithmetic (predicated)
1120 FADD_zpzz 01100101 .. 00 0000 100 ... ..... ..... @rdn_pg_rm
1121 FSUB_zpzz 01100101 .. 00 0001 100 ... ..... ..... @rdn_pg_rm
1122 FMUL_zpzz 01100101 .. 00 0010 100 ... ..... ..... @rdn_pg_rm
1123 FSUB_zpzz 01100101 .. 00 0011 100 ... ..... ..... @rdm_pg_rn # FSUBR
1124 FMAXNM_zpzz 01100101 .. 00 0100 100 ... ..... ..... @rdn_pg_rm
1125 FMINNM_zpzz 01100101 .. 00 0101 100 ... ..... ..... @rdn_pg_rm
1126 FMAX_zpzz 01100101 .. 00 0110 100 ... ..... ..... @rdn_pg_rm
1127 FMIN_zpzz 01100101 .. 00 0111 100 ... ..... ..... @rdn_pg_rm
1128 FABD 01100101 .. 00 1000 100 ... ..... ..... @rdn_pg_rm
1129 FSCALE 01100101 .. 00 1001 100 ... ..... ..... @rdn_pg_rm
1130 FMULX 01100101 .. 00 1010 100 ... ..... ..... @rdn_pg_rm
1131 FDIV 01100101 .. 00 1100 100 ... ..... ..... @rdm_pg_rn # FDIVR
1132 FDIV 01100101 .. 00 1101 100 ... ..... ..... @rdn_pg_rm
1134 # SVE floating-point arithmetic with immediate (predicated)
1135 FADD_zpzi 01100101 .. 011 000 100 ... 0000 . ..... @rdn_i1
1136 FSUB_zpzi 01100101 .. 011 001 100 ... 0000 . ..... @rdn_i1
1137 FMUL_zpzi 01100101 .. 011 010 100 ... 0000 . ..... @rdn_i1
1138 FSUBR_zpzi 01100101 .. 011 011 100 ... 0000 . ..... @rdn_i1
1139 FMAXNM_zpzi 01100101 .. 011 100 100 ... 0000 . ..... @rdn_i1
1140 FMINNM_zpzi 01100101 .. 011 101 100 ... 0000 . ..... @rdn_i1
1141 FMAX_zpzi 01100101 .. 011 110 100 ... 0000 . ..... @rdn_i1
1142 FMIN_zpzi 01100101 .. 011 111 100 ... 0000 . ..... @rdn_i1
1144 # SVE floating-point trig multiply-add coefficient
1147 ### SVE FP Multiply-Add Group
1149 # SVE floating-point multiply-accumulate writing addend
1155 # SVE floating-point multiply-accumulate writing multiplicand
1158 FMLA_zpzzz 01100101 .. 1 ..... 100 ... ..... ..... @rdn_pg_rm_ra
1165 # SVE floating-point convert precision
1174 # SVE floating-point convert to integer
1175 FCVTZS_hh 01100101 01 011 01 0 101 ... ..... ..... @rd_pg_rn_e0
1177 FCVTZS_hs 01100101 01 011 10 0 101 ... ..... ..... @rd_pg_rn_e0
1179 FCVTZS_hd 01100101 01 011 11 0 101 ... ..... ..... @rd_pg_rn_e0
1181 FCVTZS_ss 01100101 10 011 10 0 101 ... ..... ..... @rd_pg_rn_e0
1183 FCVTZS_ds 01100101 11 011 00 0 101 ... ..... ..... @rd_pg_rn_e0
1185 FCVTZS_sd 01100101 11 011 10 0 101 ... ..... ..... @rd_pg_rn_e0
1187 FCVTZS_dd 01100101 11 011 11 0 101 ... ..... ..... @rd_pg_rn_e0
1190 # SVE floating-point round to integral value
1195 FRINTA 01100101 .. 000 100 101 ... ..... ..... @rd_pg_rn
1199 # SVE floating-point unary operations
1200 FRECPX 01100101 .. 001 100 101 ... ..... ..... @rd_pg_rn
1203 # SVE integer convert to floating-point
1204 SCVTF_hh 01100101 01 010 01 0 101 ... ..... ..... @rd_pg_rn_e0
1205 SCVTF_sh 01100101 01 010 10 0 101 ... ..... ..... @rd_pg_rn_e0
1206 SCVTF_dh 01100101 01 010 11 0 101 ... ..... ..... @rd_pg_rn_e0
1207 SCVTF_ss 01100101 10 010 10 0 101 ... ..... ..... @rd_pg_rn_e0
1208 SCVTF_sd 01100101 11 010 00 0 101 ... ..... ..... @rd_pg_rn_e0
1209 SCVTF_ds 01100101 11 010 10 0 101 ... ..... ..... @rd_pg_rn_e0
1210 SCVTF_dd 01100101 11 010 11 0 101 ... ..... ..... @rd_pg_rn_e0
1220 ### SVE Memory - 32-bit Gather and Unsized Contiguous Group
1223 LDR_pri 10000101 10 ...... 000 ... ..... 0 .... @pd_rn_i9
1230 &rpri_load dtype=%dtype_23_13 nreg=0
1232 # SVE 32-bit gather load (scalar plus 32-bit unscaled offsets)
1233 # SVE 32-bit gather load (scalar plus 32-bit scaled offsets)
1234 LD1_zprz 1000010 00 .0 ..... 0.. ... ..... ..... \
1235 @rprr_g_load_xs_u esz=2 msz=0 scale=0
1236 LD1_zprz 1000010 01 .. ..... 0.. ... ..... ..... \
1241 # SVE 32-bit gather load (vector plus immediate)
1248 LD_zprr 1010010 .... ..... 010 ... ..... ..... @rprr_load_dt nreg=0
1249 # LD1W (128-bit element)
1250 LD_zprr 1010010 1000 rm:5 100 pg:3 rn:5 rd:5 \
1251 &rprr_load dtype=16 nreg=0
1252 # LD1D (128-bit element)
1253 LD_zprr 1010010 1100 rm:5 100 pg:3 rn:5 rd:5 \
1254 &rprr_load dtype=17 nreg=0
1256 # SVE contiguous first-fault load (scalar plus scalar)
1257 LDFF1_zprr 1010010 .... ..... 011 ... ..... ..... @rprr_load_dt nreg=0
1260 LD_zpri 1010010 .... 0.... 101 ... ..... ..... @rpri_load_dt nreg=0
1261 # LD1W (128-bit element)
1263 &rpri_load dtype=16 nreg=0
1264 # LD1D (128-bit element)
1266 &rpri_load dtype=17 nreg=0
1268 # SVE contiguous non-fault load (scalar plus immediate)
1269 LDNF1_zpri 1010010 .... 1.... 101 ... ..... ..... @rpri_load_dt nreg=0
1271 # SVE contiguous non-temporal load (scalar plus scalar)
1277 LD_zprr 1010010 01 01 ..... 100 ... ..... ..... \
1279 LD_zprr 1010010 10 01 ..... 100 ... ..... ..... \
1281 LD_zprr 1010010 11 01 ..... 100 ... ..... ..... \
1284 # SVE contiguous non-temporal load (scalar plus immediate)
1288 LD_zpri 1010010 .. nreg:2 0.... 111 ... ..... ..... @rpri_load_msz
1299 @rprr_load_msz nreg=0
1301 @rprr_load_msz nreg=0
1305 LD1RQ_zpri 1010010 .. 00 0.... 001 ... ..... ..... \
1306 @rpri_load_msz nreg=0
1307 LD1RO_zpri 1010010 .. 01 0.... 001 ... ..... ..... \
1308 @rpri_load_msz nreg=0
1310 # SVE 32-bit gather prefetch (scalar plus 32-bit scaled offsets)
1311 PRF_ns 1000010 00 -1 ----- 0-- --- ----- 0 ----
1313 # SVE 32-bit gather prefetch (vector plus immediate)
1314 PRF_ns 1000010 -- 00 ----- 111 --- ----- 0 ----
1317 PRF 1000010 11 1- ----- 0-- --- ----- 0 ----
1320 PRF_rr 1000010 -- 00 rm:5 110 --- ----- 0 ----
1322 ### SVE Memory 64-bit Gather Group
1324 # SVE 64-bit gather load (scalar plus 32-bit unpacked unscaled offsets)
1325 # SVE 64-bit gather load (scalar plus 32-bit unpacked scaled offsets)
1326 LD1_zprz 1100010 00 .0 ..... 0.. ... ..... ..... \
1327 @rprr_g_load_xs_u esz=3 msz=0 scale=0
1328 LD1_zprz 1100010 01 .. ..... 0.. ... ..... ..... \
1330 LD1_zprz 1100010 10 .. ..... 0.. ... ..... ..... \
1335 # SVE 64-bit gather load (scalar plus 64-bit unscaled offsets)
1336 # SVE 64-bit gather load (scalar plus 64-bit scaled offsets)
1338 @rprr_g_load_u esz=3 msz=0 scale=0
1350 # SVE 64-bit gather load (vector plus immediate)
1354 # SVE 64-bit gather prefetch (scalar plus 64-bit scaled offsets)
1355 PRF_ns 1100010 00 11 ----- 1-- --- ----- 0 ----
1357 # SVE 64-bit gather prefetch (scalar plus unpacked 32-bit scaled offsets)
1358 PRF_ns 1100010 00 -1 ----- 0-- --- ----- 0 ----
1360 # SVE 64-bit gather prefetch (vector plus immediate)
1361 PRF_ns 1100010 -- 00 ----- 111 --- ----- 0 ----
1366 STR_pri 1110010 11 0. ..... 000 ... ..... 0 .... @pd_rn_i9
1369 STR_zri 1110010 11 0. ..... 010 ... ..... ..... @rd_rn_i9
1373 ST_zpri 1110010 00 esz:2 0.... 111 ... ..... ..... \
1374 @rpri_store msz=0 nreg=0
1375 ST_zpri 1110010 01 esz:2 0.... 111 ... ..... ..... \
1376 @rpri_store msz=1 nreg=0
1377 ST_zpri 1110010 10 10 0.... 111 ... ..... ..... \
1378 @rpri_store msz=2 esz=2 nreg=0
1379 ST_zpri 1110010 10 11 0.... 111 ... ..... ..... \
1380 @rpri_store msz=2 esz=3 nreg=0
1381 ST_zpri 1110010 11 11 0.... 111 ... ..... ..... \
1382 @rpri_store msz=3 esz=3 nreg=0
1383 ST_zpri 1110010 10 00 0.... 111 ... ..... ..... \
1384 @rpri_store msz=2 esz=4 nreg=0
1385 ST_zpri 1110010 11 10 0.... 111 ... ..... ..... \
1386 @rpri_store msz=3 esz=4 nreg=0
1392 @rprr_store_esz_n0 msz=0
1396 @rprr_store msz=2 esz=2 nreg=0
1398 @rprr_store msz=2 esz=3 nreg=0
1400 @rprr_store msz=3 esz=3 nreg=0
1402 @rprr_store msz=2 esz=4 nreg=0
1404 @rprr_store msz=3 esz=4 nreg=0
1406 # SVE contiguous non-temporal store (scalar plus immediate) (nreg == 0)
1407 # SVE store multiple structures (scalar plus immediate) (nreg != 0)
1418 # SVE contiguous non-temporal store (scalar plus scalar) (nreg == 0)
1419 # SVE store multiple structures (scalar plus scalar) (nreg != 0)
1430 # SVE 32-bit scatter store (scalar plus 32-bit scaled offsets)
1431 # Require msz > 0 && msz <= esz.
1432 ST1_zprz 1110010 .. 11 ..... 100 ... ..... ..... \
1433 @rprr_scatter_store xs=0 esz=2 scale=1
1437 # SVE 32-bit scatter store (scalar plus 32-bit unscaled offsets)
1439 ST1_zprz 1110010 .. 10 ..... 100 ... ..... ..... \
1440 @rprr_scatter_store xs=0 esz=2 scale=0
1442 @rprr_scatter_store xs=1 esz=2 scale=0
1444 # SVE 64-bit scatter store (scalar plus 64-bit scaled offset)
1445 # Require msz > 0
1449 # SVE 64-bit scatter store (scalar plus 64-bit unscaled offset)
1451 @rprr_scatter_store xs=2 esz=3 scale=0
1457 # SVE 64-bit scatter store (vector plus immediate)
1461 # SVE 32-bit scatter store (vector plus immediate)
1465 # SVE 64-bit scatter store (scalar plus unpacked 32-bit scaled offset)
1466 # Require msz > 0
1467 ST1_zprz 1110010 .. 01 ..... 100 ... ..... ..... \
1468 @rprr_scatter_store xs=0 esz=3 scale=1
1472 # SVE 64-bit scatter store (scalar plus unpacked 32-bit unscaled offset)
1473 ST1_zprz 1110010 .. 00 ..... 100 ... ..... ..... \
1474 @rprr_scatter_store xs=0 esz=3 scale=0
1476 @rprr_scatter_store xs=1 esz=3 scale=0
1480 ### SVE2 Integer Multiply - Unpredicated
1492 ### SVE2 Integer - Predicated
1494 SADALP_zpzz 01000100 .. 000 100 101 ... ..... ..... @rdm_pg_rn
1506 SRSHL 01000100 .. 000 010 100 ... ..... ..... @rdn_pg_rm
1507 URSHL 01000100 .. 000 011 100 ... ..... ..... @rdn_pg_rm
1508 SRSHL 01000100 .. 000 110 100 ... ..... ..... @rdm_pg_rn # SRSHLR
1509 URSHL 01000100 .. 000 111 100 ... ..... ..... @rdm_pg_rn # URSHLR
1511 SQSHL 01000100 .. 001 000 100 ... ..... ..... @rdn_pg_rm
1512 UQSHL 01000100 .. 001 001 100 ... ..... ..... @rdn_pg_rm
1513 SQSHL 01000100 .. 001 100 100 ... ..... ..... @rdm_pg_rn # SQSHLR
1514 UQSHL 01000100 .. 001 101 100 ... ..... ..... @rdm_pg_rn # UQSHLR
1516 SQRSHL 01000100 .. 001 010 100 ... ..... ..... @rdn_pg_rm
1517 UQRSHL 01000100 .. 001 011 100 ... ..... ..... @rdn_pg_rm
1518 SQRSHL 01000100 .. 001 110 100 ... ..... ..... @rdm_pg_rn # SQRSHLR
1519 UQRSHL 01000100 .. 001 111 100 ... ..... ..... @rdm_pg_rn # UQRSHLR
1523 SHADD 01000100 .. 010 000 100 ... ..... ..... @rdn_pg_rm
1524 UHADD 01000100 .. 010 001 100 ... ..... ..... @rdn_pg_rm
1525 SHSUB 01000100 .. 010 010 100 ... ..... ..... @rdn_pg_rm
1526 UHSUB 01000100 .. 010 011 100 ... ..... ..... @rdn_pg_rm
1527 SRHADD 01000100 .. 010 100 100 ... ..... ..... @rdn_pg_rm
1528 URHADD 01000100 .. 010 101 100 ... ..... ..... @rdn_pg_rm
1529 SHSUB 01000100 .. 010 110 100 ... ..... ..... @rdm_pg_rn # SHSUBR
1530 UHSUB 01000100 .. 010 111 100 ... ..... ..... @rdm_pg_rn # UHSUBR
1535 SMAXP 01000100 .. 010 100 101 ... ..... ..... @rdn_pg_rm
1542 SQADD_zpzz 01000100 .. 011 000 100 ... ..... ..... @rdn_pg_rm
1543 UQADD_zpzz 01000100 .. 011 001 100 ... ..... ..... @rdn_pg_rm
1544 SQSUB_zpzz 01000100 .. 011 010 100 ... ..... ..... @rdn_pg_rm
1545 UQSUB_zpzz 01000100 .. 011 011 100 ... ..... ..... @rdn_pg_rm
1546 SUQADD 01000100 .. 011 100 100 ... ..... ..... @rdn_pg_rm
1547 USQADD 01000100 .. 011 101 100 ... ..... ..... @rdn_pg_rm
1548 SQSUB_zpzz 01000100 .. 011 110 100 ... ..... ..... @rdm_pg_rn # SQSUBR
1549 UQSUB_zpzz 01000100 .. 011 111 100 ... ..... ..... @rdm_pg_rn # UQSUBR
1555 SADDLB 01000101 .. 0 ..... 00 0000 ..... ..... @rd_rn_rm
1556 SADDLT 01000101 .. 0 ..... 00 0001 ..... ..... @rd_rn_rm
1557 UADDLB 01000101 .. 0 ..... 00 0010 ..... ..... @rd_rn_rm
1558 UADDLT 01000101 .. 0 ..... 00 0011 ..... ..... @rd_rn_rm
1560 SSUBLB 01000101 .. 0 ..... 00 0100 ..... ..... @rd_rn_rm
1561 SSUBLT 01000101 .. 0 ..... 00 0101 ..... ..... @rd_rn_rm
1562 USUBLB 01000101 .. 0 ..... 00 0110 ..... ..... @rd_rn_rm
1563 USUBLT 01000101 .. 0 ..... 00 0111 ..... ..... @rd_rn_rm
1565 SABDLB 01000101 .. 0 ..... 00 1100 ..... ..... @rd_rn_rm
1566 SABDLT 01000101 .. 0 ..... 00 1101 ..... ..... @rd_rn_rm
1567 UABDLB 01000101 .. 0 ..... 00 1110 ..... ..... @rd_rn_rm
1568 UABDLT 01000101 .. 0 ..... 00 1111 ..... ..... @rd_rn_rm
1572 SADDLBT 01000101 .. 0 ..... 1000 00 ..... ..... @rd_rn_rm
1573 SSUBLBT 01000101 .. 0 ..... 1000 10 ..... ..... @rd_rn_rm
1574 SSUBLTB 01000101 .. 0 ..... 1000 11 ..... ..... @rd_rn_rm
1578 SADDWB 01000101 .. 0 ..... 010 000 ..... ..... @rd_rn_rm
1579 SADDWT 01000101 .. 0 ..... 010 001 ..... ..... @rd_rn_rm
1580 UADDWB 01000101 .. 0 ..... 010 010 ..... ..... @rd_rn_rm
1581 UADDWT 01000101 .. 0 ..... 010 011 ..... ..... @rd_rn_rm
1583 SSUBWB 01000101 .. 0 ..... 010 100 ..... ..... @rd_rn_rm
1584 SSUBWT 01000101 .. 0 ..... 010 101 ..... ..... @rd_rn_rm
1585 USUBWB 01000101 .. 0 ..... 010 110 ..... ..... @rd_rn_rm
1586 USUBWT 01000101 .. 0 ..... 010 111 ..... ..... @rd_rn_rm
1590 SQDMULLB_zzz 01000101 .. 0 ..... 011 000 ..... ..... @rd_rn_rm
1591 SQDMULLT_zzz 01000101 .. 0 ..... 011 001 ..... ..... @rd_rn_rm
1592 PMULLB 01000101 .. 0 ..... 011 010 ..... ..... @rd_rn_rm
1593 PMULLT 01000101 .. 0 ..... 011 011 ..... ..... @rd_rn_rm
1594 SMULLB_zzz 01000101 .. 0 ..... 011 100 ..... ..... @rd_rn_rm
1595 SMULLT_zzz 01000101 .. 0 ..... 011 101 ..... ..... @rd_rn_rm
1596 UMULLB_zzz 01000101 .. 0 ..... 011 110 ..... ..... @rd_rn_rm
1597 UMULLT_zzz 01000101 .. 0 ..... 011 111 ..... ..... @rd_rn_rm
1601 # Note bit23 == 0 is handled by esz > 0 in do_sve2_shll_tb.
1602 SSHLLB 01000101 .. 0 ..... 1010 00 ..... ..... @rd_rn_tszimm_shl
1603 SSHLLT 01000101 .. 0 ..... 1010 01 ..... ..... @rd_rn_tszimm_shl
1604 USHLLB 01000101 .. 0 ..... 1010 10 ..... ..... @rd_rn_tszimm_shl
1605 USHLLT 01000101 .. 0 ..... 1010 11 ..... ..... @rd_rn_tszimm_shl
1607 ## SVE2 bitwise exclusive-or interleaved
1609 EORBT 01000101 .. 0 ..... 10010 0 ..... ..... @rd_rn_rm
1610 EORTB 01000101 .. 0 ..... 10010 1 ..... ..... @rd_rn_rm
1614 SMMLA 01000101 00 0 ..... 10011 0 ..... ..... @rda_rn_rm_ex esz=2
1615 USMMLA 01000101 10 0 ..... 10011 0 ..... ..... @rda_rn_rm_ex esz=2
1616 UMMLA 01000101 11 0 ..... 10011 0 ..... ..... @rda_rn_rm_ex esz=2
1620 BEXT 01000101 .. 0 ..... 1011 00 ..... ..... @rd_rn_rm
1621 BDEP 01000101 .. 0 ..... 1011 01 ..... ..... @rd_rn_rm
1622 BGRP 01000101 .. 0 ..... 1011 10 ..... ..... @rd_rn_rm
1628 CADD_rot90 01000101 .. 00000 0 11011 0 ..... ..... @rdn_rm
1629 CADD_rot270 01000101 .. 00000 0 11011 1 ..... ..... @rdn_rm
1630 SQCADD_rot90 01000101 .. 00000 1 11011 0 ..... ..... @rdn_rm
1635 SABALB 01000101 .. 0 ..... 1100 00 ..... ..... @rda_rn_rm
1636 SABALT 01000101 .. 0 ..... 1100 01 ..... ..... @rda_rn_rm
1637 UABALB 01000101 .. 0 ..... 1100 10 ..... ..... @rda_rn_rm
1638 UABALT 01000101 .. 0 ..... 1100 11 ..... ..... @rda_rn_rm
1643 ADCLB 01000101 .. 0 ..... 11010 0 ..... ..... @rda_rn_rm
1644 ADCLT 01000101 .. 0 ..... 11010 1 ..... ..... @rda_rn_rm
1649 SSRA 01000101 .. 0 ..... 1110 00 ..... ..... @rd_rn_tszimm_shr
1650 USRA 01000101 .. 0 ..... 1110 01 ..... ..... @rd_rn_tszimm_shr
1651 SRSRA 01000101 .. 0 ..... 1110 10 ..... ..... @rd_rn_tszimm_shr
1652 URSRA 01000101 .. 0 ..... 1110 11 ..... ..... @rd_rn_tszimm_shr
1656 SRI 01000101 .. 0 ..... 11110 0 ..... ..... @rd_rn_tszimm_shr
1657 SLI 01000101 .. 0 ..... 11110 1 ..... ..... @rd_rn_tszimm_shl
1662 SABA 01000101 .. 0 ..... 11111 0 ..... ..... @rd_rn_rm
1663 UABA 01000101 .. 0 ..... 11111 1 ..... ..... @rd_rn_rm
1668 # Bits 23, 18-16 are zero, limited in the translator via esz < 3 & imm == 0.
1671 SQCVTN_sh 01000101 00 1 10001 010 000 ....0 ..... @rd_rnx2 esz=1
1676 UQCVTN_sh 01000101 00 1 10001 010 010 ....0 ..... @rd_rnx2 esz=1
1681 SQCVTUN_sh 01000101 00 1 10001 010 100 ....0 ..... @rd_rnx2 esz=1
1682 SQXTUNB 01000101 .. 1 ..... 010 100 ..... ..... @rd_rn_tszimm_shl
1688 # Bit 23 == 0 is handled by esz > 0 in the translator.
1712 SUBHNB 01000101 .. 1 ..... 011 100 ..... ..... @rd_rn_rm
1719 MATCH 01000101 .. 1 ..... 100 ... ..... 0 .... @pd_pg_rn_rm
1720 NMATCH 01000101 .. 1 ..... 100 ... ..... 1 .... @pd_pg_rn_rm
1727 ## SVE2 floating-point pairwise operations
1729 FADDP 01100100 .. 010 00 0 100 ... ..... ..... @rdn_pg_rm
1730 FMAXNMP 01100100 .. 010 10 0 100 ... ..... ..... @rdn_pg_rm
1731 FMINNMP 01100100 .. 010 10 1 100 ... ..... ..... @rdn_pg_rm
1732 FMAXP 01100100 .. 010 11 0 100 ... ..... ..... @rdn_pg_rm
1733 FMINP 01100100 .. 010 11 1 100 ... ..... ..... @rdn_pg_rm
1735 #### SVE Integer Multiply-Add (unpredicated)
1737 ## SVE2 saturating multiply-add long
1739 SQDMLALB_zzzw 01000100 .. 0 ..... 0110 00 ..... ..... @rda_rn_rm
1740 SQDMLALT_zzzw 01000100 .. 0 ..... 0110 01 ..... ..... @rda_rn_rm
1741 SQDMLSLB_zzzw 01000100 .. 0 ..... 0110 10 ..... ..... @rda_rn_rm
1742 SQDMLSLT_zzzw 01000100 .. 0 ..... 0110 11 ..... ..... @rda_rn_rm
1744 ## SVE2 saturating multiply-add interleaved long
1746 SQDMLALBT 01000100 .. 0 ..... 00001 0 ..... ..... @rda_rn_rm
1747 SQDMLSLBT 01000100 .. 0 ..... 00001 1 ..... ..... @rda_rn_rm
1749 ## SVE2 saturating multiply-add high
1751 SQRDMLAH_zzzz 01000100 .. 0 ..... 01110 0 ..... ..... @rda_rn_rm
1752 SQRDMLSH_zzzz 01000100 .. 0 ..... 01110 1 ..... ..... @rda_rn_rm
1754 ## SVE2 integer multiply-add long
1756 SMLALB_zzzw 01000100 .. 0 ..... 010 000 ..... ..... @rda_rn_rm
1757 SMLALT_zzzw 01000100 .. 0 ..... 010 001 ..... ..... @rda_rn_rm
1758 UMLALB_zzzw 01000100 .. 0 ..... 010 010 ..... ..... @rda_rn_rm
1759 UMLALT_zzzw 01000100 .. 0 ..... 010 011 ..... ..... @rda_rn_rm
1760 SMLSLB_zzzw 01000100 .. 0 ..... 010 100 ..... ..... @rda_rn_rm
1761 SMLSLT_zzzw 01000100 .. 0 ..... 010 101 ..... ..... @rda_rn_rm
1762 UMLSLB_zzzw 01000100 .. 0 ..... 010 110 ..... ..... @rda_rn_rm
1763 UMLSLT_zzzw 01000100 .. 0 ..... 010 111 ..... ..... @rda_rn_rm
1765 ## SVE2 complex integer multiply-add
1767 CMLA_zzzz 01000100 esz:2 0 rm:5 0010 rot:2 rn:5 rd:5 ra=%reg_movprfx
1768 SQRDCMLAH_zzzz 01000100 esz:2 0 rm:5 0011 rot:2 rn:5 rd:5 ra=%reg_movprfx
1772 SDOT_zzzz_2s 01000100 00 0 ..... 110 010 ..... ..... @rda_rn_rm_ex esz=2
1773 UDOT_zzzz_2s 01000100 00 0 ..... 110 011 ..... ..... @rda_rn_rm_ex esz=2
1775 USDOT_zzzz_4s 01000100 10 0 ..... 011 110 ..... ..... @rda_rn_rm_ex esz=2
1784 # SVE2 64-bit gather non-temporal load (scalar plus 64-bit unscaled offsets)
1785 LDNT1_zprz 1100010 msz:2 00 rm:5 1 u:1 0 pg:3 rn:5 rd:5 \
1786 &rprr_gather_load xs=2 esz=3 scale=0 ff=0
1788 # SVE2 32-bit gather non-temporal load (scalar plus 32-bit unscaled offsets)
1790 &rprr_gather_load xs=0 esz=2 scale=0 ff=0
1794 # SVE2 64-bit scatter non-temporal store (vector plus scalar)
1796 @rprr_scatter_store xs=2 esz=3 scale=0
1798 # SVE2 32-bit scatter non-temporal store (vector plus scalar)
1800 @rprr_scatter_store xs=0 esz=2 scale=0
1805 AESMC 01000101 00 10000011100 0 00000 rd:5
1809 AESE 01000101 00 10001 0 11100 0 ..... ..... @rdn_rm_e0
1810 AESD 01000101 00 10001 0 11100 1 ..... ..... @rdn_rm_e0
1811 SM4E 01000101 00 10001 1 11100 0 ..... ..... @rdn_rm_e0
1814 SM4EKEY 01000101 00 1 ..... 11110 0 ..... ..... @rd_rn_rm_e0
1817 ### SVE2 floating-point convert precision odd elements
1826 ### SVE2 floating-point convert to integer
1829 ### SVE2 floating-point multiply-add long (vectors)
1830 FMLALB_zzzw 01100100 10 1 ..... 10 0 00 0 ..... ..... @rda_rn_rm_ex esz=2
1831 FMLALT_zzzw 01100100 10 1 ..... 10 0 00 1 ..... ..... @rda_rn_rm_ex esz=2
1832 FMLSLB_zzzw 01100100 10 1 ..... 10 1 00 0 ..... ..... @rda_rn_rm_ex esz=2
1835 BFMLALB_zzzw 01100100 11 1 ..... 10 0 00 0 ..... ..... @rda_rn_rm_ex esz=2
1836 BFMLALT_zzzw 01100100 11 1 ..... 10 0 00 1 ..... ..... @rda_rn_rm_ex esz=2
1837 BFMLSLB_zzzw 01100100 11 1 ..... 10 1 00 0 ..... ..... @rda_rn_rm_ex esz=2
1840 ### SVE2 floating-point dot-product
1841 FDOT_zzzz 01100100 00 1 ..... 10 0 00 0 ..... ..... @rda_rn_rm_ex esz=2
1842 BFDOT_zzzz 01100100 01 1 ..... 10 0 00 0 ..... ..... @rda_rn_rm_ex esz=2
1844 ### SVE2 floating-point multiply-add long (indexed)
1856 ### SVE2 floating-point dot-product (indexed)
1872 PSEL 00100101 .. 1 ..1 .. 01 .... 0 .... 0 .... \
1873 @psel esz=0 imm=%psel_imm_b
1874 PSEL 00100101 .. 1 .10 .. 01 .... 0 .... 0 .... \
1876 PSEL 00100101 .. 1 100 .. 01 .... 0 .... 0 .... \
1878 PSEL 00100101 .1 1 000 .. 01 .... 0 .... 0 .... \
1883 SCLAMP 01000100 .. 0 ..... 110000 ..... ..... @rda_rn_rm
1884 UCLAMP 01000100 .. 0 ..... 110001 ..... ..... @rda_rn_rm
1888 ### SVE2p1 multi-vec contiguous load
1896 LD1_zcrr 10100000000 rm:5 0 esz:2 ... rn:5 .... - \
1898 LD1_zcrr 10100000000 rm:5 1 esz:2 ... rn:5 ... 0- \
1901 ST1_zcrr 10100000001 rm:5 0 esz:2 ... rn:5 .... - \
1903 ST1_zcrr 10100000001 rm:5 1 esz:2 ... rn:5 ... 0- \
1906 LD1_zcri 101000000100 imm:s4 0 esz:2 ... rn:5 .... - \
1908 LD1_zcri 101000000100 imm:s4 1 esz:2 ... rn:5 ... 0- \
1911 ST1_zcri 101000000110 imm:s4 0 esz:2 ... rn:5 .... - \
1913 ST1_zcri 101000000110 imm:s4 1 esz:2 ... rn:5 ... 0- \
1916 # Note: N bit and 0 bit (for nreg4) still mashed in rd.
1918 LD1_zcrr_stride 10100001000 rm:5 0 esz:2 ... rn:5 rd:5 \
1923 ST1_zcrr_stride 10100001001 rm:5 0 esz:2 ... rn:5 rd:5 \
1928 LD1_zcri_stride 101000010100 imm:s4 0 esz:2 ... rn:5 rd:5 \
1933 ST1_zcri_stride 101000010110 imm:s4 0 esz:2 ... rn:5 rd:5 \