1 /* aarch64-tbl.h -- AArch64 opcode description table and instruction
2 operand description table.
3 Copyright (C) 2012-2024 Free Software Foundation, Inc.
5 This file is part of the GNU opcodes library.
7 This library is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option)
12 It is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15 License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this file; see the file COPYING. If not, write to the
19 Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
20 MA 02110-1301, USA. */
22 #include "aarch64-opc.h"
25 #error VERIFIER must be defined.
30 #define OPND(x) AARCH64_OPND_##x
32 #define OP1(a) {OPND(a)}
33 #define OP2(a,b) {OPND(a), OPND(b)}
34 #define OP3(a,b,c) {OPND(a), OPND(b), OPND(c)}
35 #define OP4(a,b,c,d) {OPND(a), OPND(b), OPND(c), OPND(d)}
36 #define OP5(a,b,c,d,e) {OPND(a), OPND(b), OPND(c), OPND(d), OPND(e)}
37 #define OP6(a,b,c,d,e,f) {OPND(a), OPND(b), OPND(c), OPND(d), OPND(e), OPND(f)}
39 #define QLF(x) AARCH64_OPND_QLF_##x
40 #define QLF1(a) {QLF(a)}
41 #define QLF2(a,b) {QLF(a), QLF(b)}
42 #define QLF3(a,b,c) {QLF(a), QLF(b), QLF(c)}
43 #define QLF4(a,b,c,d) {QLF(a), QLF(b), QLF(c), QLF(d)}
44 #define QLF5(a,b,c,d,e) {QLF(a), QLF(b), QLF(c), QLF(d), QLF(e)}
45 #define QLF6(a,b,c,d,e,f) {QLF(a), QLF(b), QLF(c), QLF(d), QLF(e), QLF(f)}
47 /* Qualifiers list. */
49 /* e.g. MSR <systemreg>, <Xt>. */
55 /* e.g. MSRR <systemreg>, <Xt>, <Xt2>. */
61 /* e.g. MRS <Xt>, <systemreg>. */
67 /* e.g. MRRS <Xt>, <Xt2>, <systemreg>. */
73 /* e.g. SYS #<op1>, <Cn>, <Cm>, #<op2>{, <Xt>}. */
76 QLF5(NIL,CR,CR,NIL,X), \
79 /* e.g. SYSL <Xt>, #<op1>, <Cn>, <Cm>, #<op2>. */
82 QLF5(X,NIL,CR,CR,NIL), \
85 /* e.g. SYSP #<op1>, <Cn>, <Cm>, #<op2>{, <Xt>, <Xt+1>}. */
88 QLF6(NIL,CR,CR,NIL,X,X), \
91 /* e.g. ADRP <Xd>, <label>. */
97 /* e.g. TCANCEL #<imm>. */
103 #define QL_IMM_NIL_NIL \
108 /* e.g. B.<cond> <label>. */
109 #define QL_PCREL_NIL \
114 /* e.g. TBZ <Xt>, #<imm>, <label>. */
115 #define QL_PCREL_14 \
117 QLF3(X,imm_0_63,NIL), \
120 /* e.g. BL <label>. */
121 #define QL_PCREL_26 \
126 /* e.g. LDRSW <Xt>, <label>. */
132 /* e.g. LDR <Wt>, <label>. */
139 /* e.g. LDR <Dt>, <label>. */
140 #define QL_FP_PCREL \
147 /* e.g. PRFM <prfop>, <label>. */
148 #define QL_PRFM_PCREL \
159 /* e.g. STG <Xt|SP>, [<Xn|SP>, #<imm9>]. */
166 /* e.g. RBIT <Wd>, <Wn>. */
173 /* e.g. CMN <Wn|WSP>, <Wm>{, <extend> {#<amount>}}. */
181 /* e.g. MOV <Wd|WSP>, <Wn|WSP>, at least one SP. */
190 /* e.g. REV <Wd>, <Wn>. */
196 /* e.g. REV32 <Xd>, <Xn>. */
208 /* e.g. CRC32B <Wd>, <Wn>, <Wm>. */
214 /* e.g. SMULH <Xd>, <Xn>, <Xm>. */
220 /* e.g. CRC32X <Wd>, <Wn>, <Xm>. */
226 /* e.g. UDIV <Xd>, <Xn>, <Xm>. */
233 /* e.g. ADDS <Xd>, <Xn|SP>, <R><m>{, <extend> {#<amount>}}. */
241 /* e.g. MADD <Xd>, <Xn>, <Xm>, <Xa>. */
248 /* e.g. MADDPT <Xd>, <Xn>, <Xm>, <Xa>. */
254 /* e.g. SMADDL <Xd>, <Wn>, <Wm>, <Xa>. */
260 /* e.g. SMADDL <Xd>, <Wn>, <Wm>, <Xa>. */
266 /* e.g. CSINC <Xd>, <Xn>, <Xm>, <cond>. */
269 QLF4(W, W, W, NIL), \
270 QLF4(X, X, X, NIL), \
273 /* e.g. CSET <Wd>, <cond>. */
280 /* e.g. BFM <Wd>, <Wn>, #<immr>, #<imms>. */
283 QLF4(W,W,imm_0_31,imm_0_31), \
284 QLF4(X,X,imm_0_63,imm_0_63), \
287 /* e.g. ADDG <Xd>, <Xn>, #<uimm10>, #<uimm4>. */
290 QLF4(X,X,NIL,imm_0_15), \
293 /* e.g. BFC <Wd>, #<immr>, #<imms>. */
296 QLF3 (W, imm_0_31, imm_1_32), \
297 QLF3 (X, imm_0_63, imm_1_64), \
300 /* e.g. UBFIZ <Wd>, <Wn>, #<lsb>, #<width>. */
303 QLF4(W,W,imm_0_31,imm_1_32), \
304 QLF4(X,X,imm_0_63,imm_1_64), \
307 /* e.g. SCVTF <Sd>, <Xn>, #<fbits>. */
310 QLF3(S_D,W,imm_1_32), \
311 QLF3(S_S,W,imm_1_32), \
312 QLF3(S_D,X,imm_1_64), \
313 QLF3(S_S,X,imm_1_64), \
316 /* e.g. SCVTF <Hd>, <Xn>, #<fbits>. */
317 #define QL_FIX2FP_H \
319 QLF3 (S_H, W, imm_1_32), \
320 QLF3 (S_H, X, imm_1_64), \
323 /* e.g. FCVTZS <Wd>, <Dn>, #<fbits>. */
326 QLF3(W,S_D,imm_1_32), \
327 QLF3(W,S_S,imm_1_32), \
328 QLF3(X,S_D,imm_1_64), \
329 QLF3(X,S_S,imm_1_64), \
332 /* e.g. FCVTZS <Wd>, <Hn>, #<fbits>. */
333 #define QL_FP2FIX_H \
335 QLF3 (W, S_H, imm_1_32), \
336 QLF3 (X, S_H, imm_1_64), \
339 /* e.g. SCVTF <Dd>, <Wn>. */
348 /* e.g. FMOV <Dd>, <Xn>. */
349 #define QL_INT2FP_FMOV \
355 /* e.g. SCVTF <Hd>, <Wn>. */
356 #define QL_INT2FP_H \
362 /* e.g. FCVTNS <Xd>, <Dn>. */
371 /* e.g. FMOV <Xd>, <Dn>. */
372 #define QL_FP2INT_FMOV \
378 /* e.g. FCVTNS <Hd>, <Wn>. */
379 #define QL_FP2INT_H \
385 /* e.g. FJCVTZS <Wd>, <Dn>. */
386 #define QL_FP2INT_W_D \
391 /* e.g. FMOV <Xd>, <Vn>.D[1]. */
397 /* e.g. FMOV <Vd>.D[1], <Xn>. */
403 /* e.g. EXTR <Xd>, <Xn>, <Xm>, #<lsb>. */
406 QLF4(W,W,W,imm_0_31), \
407 QLF4(X,X,X,imm_0_63), \
410 /* e.g. LSL <Wd>, <Wn>, #<uimm>. */
413 QLF3(W,W,imm_0_31), \
414 QLF3(X,X,imm_0_63), \
417 /* e.g. UXTH <Xd>, <Wn>. */
424 /* e.g. UXTW <Xd>, <Wn>. */
430 /* e.g. SQSHL <V><d>, <V><n>, #<shift>. */
433 QLF3(S_B , S_B , S_B ), \
434 QLF3(S_H , S_H , S_H ), \
435 QLF3(S_S , S_S , S_S ), \
436 QLF3(S_D , S_D , S_D ) \
439 /* e.g. SSHR <V><d>, <V><n>, #<shift>. */
440 #define QL_SSHIFT_D \
442 QLF3(S_D , S_D , S_D ) \
445 /* e.g. UCVTF <Vd>.<T>, <Vn>.<T>, #<fbits>. */
446 #define QL_SSHIFT_SD \
448 QLF3(S_S , S_S , S_S ), \
449 QLF3(S_D , S_D , S_D ) \
452 /* e.g. UCVTF <Vd>.<T>, <Vn>.<T>, #<fbits>. */
453 #define QL_SSHIFT_H \
455 QLF3 (S_H, S_H, S_H) \
458 /* e.g. SQSHRUN <Vb><d>, <Va><n>, #<shift>. */
461 QLF3(S_B , S_H , S_B ), \
462 QLF3(S_H , S_S , S_H ), \
463 QLF3(S_S , S_D , S_S ), \
466 /* e.g. SSHR <Vd>.<T>, <Vn>.<T>, #<shift>.
467 The register operand variant qualifiers are deliberately used for the
468 immediate operand to ease the operand encoding/decoding and qualifier
469 sequence matching. */
472 QLF3(V_8B , V_8B , V_8B ), \
473 QLF3(V_16B, V_16B, V_16B), \
474 QLF3(V_4H , V_4H , V_4H ), \
475 QLF3(V_8H , V_8H , V_8H ), \
476 QLF3(V_2S , V_2S , V_2S ), \
477 QLF3(V_4S , V_4S , V_4S ), \
478 QLF3(V_2D , V_2D , V_2D ) \
481 /* e.g. SCVTF <Vd>.<T>, <Vn>.<T>, #<fbits>. */
482 #define QL_VSHIFT_SD \
484 QLF3(V_2S , V_2S , V_2S ), \
485 QLF3(V_4S , V_4S , V_4S ), \
486 QLF3(V_2D , V_2D , V_2D ) \
489 /* e.g. SCVTF <Vd>.<T>, <Vn>.<T>, #<fbits>. */
490 #define QL_VSHIFT_H \
492 QLF3 (V_4H, V_4H, V_4H), \
493 QLF3 (V_8H, V_8H, V_8H) \
496 /* e.g. SHRN<Q> <Vd>.<Tb>, <Vn>.<Ta>, #<shift>. */
499 QLF3(V_8B , V_8H , V_8B ), \
500 QLF3(V_4H , V_4S , V_4H ), \
501 QLF3(V_2S , V_2D , V_2S ), \
504 /* e.g. SHRN<Q> <Vd>.<Tb>, <Vn>.<Ta>, #<shift>. */
505 #define QL_VSHIFTN2 \
507 QLF3(V_16B, V_8H, V_16B), \
508 QLF3(V_8H , V_4S , V_8H ), \
509 QLF3(V_4S , V_2D , V_4S ), \
512 /* e.g. SSHLL<Q> <Vd>.<Ta>, <Vn>.<Tb>, #<shift>.
513 the 3rd qualifier is used to help the encoding. */
516 QLF3(V_8H , V_8B , V_8B ), \
517 QLF3(V_4S , V_4H , V_4H ), \
518 QLF3(V_2D , V_2S , V_2S ), \
521 /* e.g. SSHLL<Q> <Vd>.<Ta>, <Vn>.<Tb>, #<shift>. */
522 #define QL_VSHIFTL2 \
524 QLF3(V_8H , V_16B, V_16B), \
525 QLF3(V_4S , V_8H , V_8H ), \
526 QLF3(V_2D , V_4S , V_4S ), \
532 QLF3(V_8B , V_16B, V_8B ), \
533 QLF3(V_16B, V_16B, V_16B), \
542 /* e.g. ABS <V><d>, <V><n>. */
548 /* e.g. CMGT <V><d>, <V><n>, #0. */
549 #define QL_SISD_CMP_0 \
551 QLF3(S_D, S_D, NIL), \
554 /* e.g. FCMEQ <V><d>, <V><n>, #0. */
555 #define QL_SISD_FCMP_0 \
557 QLF3(S_S, S_S, NIL), \
558 QLF3(S_D, S_D, NIL), \
561 /* e.g. FCMEQ <V><d>, <V><n>, #0. */
562 #define QL_SISD_FCMP_H_0 \
564 QLF3 (S_H, S_H, NIL), \
567 /* e.g. FMAXNMP <V><d>, <Vn>.<T>. */
568 #define QL_SISD_PAIR \
574 /* e.g. FMAXNMP <V><d>, <Vn>.<T>. */
575 #define QL_SISD_PAIR_H \
580 /* e.g. ADDP <V><d>, <Vn>.<T>. */
581 #define QL_SISD_PAIR_D \
586 /* e.g. DUP <V><d>, <Vn>.<T>[<index>]. */
595 /* e.g. FCVTNS <V><d>, <V><n>. */
596 #define QL_S_2SAMESD \
602 /* e.g. FCVTNS <V><d>, <V><n>. */
603 #define QL_S_2SAMEH \
608 /* e.g. SQXTN <Vb><d>, <Va><n>. */
609 #define QL_SISD_NARROW \
616 /* e.g. FCVTXN <Vb><d>, <Va><n>. */
617 #define QL_SISD_NARROW_S \
633 /* FMOV <Dd>, <Dn>. */
640 /* FMOV <Hd>, <Hn>. */
646 /* e.g. SQADD <V><d>, <V><n>, <V><m>. */
649 QLF3(S_B, S_B, S_B), \
650 QLF3(S_H, S_H, S_H), \
651 QLF3(S_S, S_S, S_S), \
652 QLF3(S_D, S_D, S_D), \
655 /* e.g. CMGE <V><d>, <V><n>, <V><m>. */
656 #define QL_S_3SAMED \
658 QLF3(S_D, S_D, S_D), \
661 /* e.g. SQDMULH <V><d>, <V><n>, <V><m>. */
664 QLF3(S_H, S_H, S_H), \
665 QLF3(S_S, S_S, S_S), \
668 /* e.g. SQDMLAL <Va><d>, <Vb><n>, <Vb><m>. */
669 #define QL_SISDL_HS \
671 QLF3(S_S, S_H, S_H), \
672 QLF3(S_D, S_S, S_S), \
675 /* FMUL <Sd>, <Sn>, <Sm>. */
678 QLF3(S_S, S_S, S_S), \
679 QLF3(S_D, S_D, S_D), \
682 /* FMUL <Hd>, <Hn>, <Hm>. */
685 QLF3 (S_H, S_H, S_H), \
688 /* FMADD <Dd>, <Dn>, <Dm>, <Da>. */
691 QLF4(S_S, S_S, S_S, S_S), \
692 QLF4(S_D, S_D, S_D, S_D), \
695 /* FMADD <Hd>, <Hn>, <Hm>, <Ha>. */
698 QLF4 (S_H, S_H, S_H, S_H), \
701 /* e.g. FCMP <Dn>, #0.0. */
708 /* e.g. FCMP <Hn>, #0.0. */
714 /* FCSEL <Sd>, <Sn>, <Sm>, <cond>. */
717 QLF4(S_S, S_S, S_S, NIL), \
718 QLF4(S_D, S_D, S_D, NIL), \
721 /* FCSEL <Hd>, <Hn>, <Hm>, <cond>. */
722 #define QL_FP_COND_H \
724 QLF4 (S_H, S_H, S_H, NIL), \
727 /* e.g. CCMN <Xn>, <Xm>, #<nzcv>, <cond>. */
730 QLF4(W, W, NIL, NIL), \
731 QLF4(X, X, NIL, NIL), \
734 /* e.g. CCMN <Xn>, #<imm>, #<nzcv>, <cond>, */
735 #define QL_CCMP_IMM \
737 QLF4(W, NIL, NIL, NIL), \
738 QLF4(X, NIL, NIL, NIL), \
741 /* e.g. FCCMP <Sn>, <Sm>, #<nzcv>, <cond>. */
744 QLF4(S_S, S_S, NIL, NIL), \
745 QLF4(S_D, S_D, NIL, NIL), \
748 /* e.g. FCCMP <Sn>, <Sm>, #<nzcv>, <cond>. */
751 QLF4 (S_H, S_H, NIL, NIL), \
754 /* e.g. DUP <Vd>.<T>, <Vn>.<Ts>[<index>]. */
766 /* e.g. DUP <Vd>.<T>, <Wn>. */
778 /* e.g. INS <Vd>.<Ts>[<index>], <Wn>. */
787 /* e.g. SMOV <Wd>, <Vn>.<Ts>[<index>]. */
797 /* e.g. UMOV <Wd>, <Vn>.<Ts>[<index>]. */
806 /* e.g. MOV <Wd>, <Vn>.<Ts>[<index>]. */
813 /* e.g. SUQADD <Vd>.<T>, <Vn>.<T>. */
816 QLF2(V_8B , V_8B ), \
817 QLF2(V_16B, V_16B), \
818 QLF2(V_4H , V_4H ), \
819 QLF2(V_8H , V_8H ), \
820 QLF2(V_2S , V_2S ), \
821 QLF2(V_4S , V_4S ), \
822 QLF2(V_2D , V_2D ), \
825 /* e.g. URSQRTE <Vd>.<T>, <Vn>.<T>. */
828 QLF2(V_2S , V_2S ), \
829 QLF2(V_4S , V_4S ), \
832 /* e.g. REV32 <Vd>.<T>, <Vn>.<T>. */
833 #define QL_V2SAMEBH \
835 QLF2(V_8B , V_8B ), \
836 QLF2(V_16B, V_16B), \
837 QLF2(V_4H , V_4H ), \
838 QLF2(V_8H , V_8H ), \
841 /* e.g. FRINTN <Vd>.<T>, <Vn>.<T>. */
842 #define QL_V2SAMESD \
844 QLF2(V_2S , V_2S ), \
845 QLF2(V_4S , V_4S ), \
846 QLF2(V_2D , V_2D ), \
849 /* e.g. REV64 <Vd>.<T>, <Vn>.<T>. */
850 #define QL_V2SAMEBHS \
852 QLF2(V_8B , V_8B ), \
853 QLF2(V_16B, V_16B), \
854 QLF2(V_4H , V_4H ), \
855 QLF2(V_8H , V_8H ), \
856 QLF2(V_2S , V_2S ), \
857 QLF2(V_4S , V_4S ), \
860 /* e.g. FCMGT <Vd>.<T>, <Vd>.<T>>, #0.0. */
867 /* e.g. REV16 <Vd>.<T>, <Vn>.<T>. */
870 QLF2(V_8B , V_8B ), \
871 QLF2(V_16B, V_16B), \
874 /* e.g. SADDLP <Vd>.<Ta>, <Vn>.<Tb>. */
875 #define QL_V2PAIRWISELONGBHS \
877 QLF2(V_4H , V_8B ), \
878 QLF2(V_8H , V_16B), \
879 QLF2(V_2S , V_4H ), \
880 QLF2(V_4S , V_8H ), \
881 QLF2(V_1D , V_2S ), \
882 QLF2(V_2D , V_4S ), \
885 /* e.g. SHLL<Q> <Vd>.<Ta>, <Vn>.<Tb>, #<shift>. */
886 #define QL_V2LONGBHS \
888 QLF2(V_8H , V_8B ), \
889 QLF2(V_4S , V_4H ), \
890 QLF2(V_2D , V_2S ), \
893 /* e.g. SHLL<Q> <Vd>.<Ta>, <Vn>.<Tb>, #<shift>. */
894 #define QL_V2LONGBHS2 \
896 QLF2(V_8H , V_16B), \
897 QLF2(V_4S , V_8H ), \
898 QLF2(V_2D , V_4S ), \
904 QLF3(V_8B , V_8B , V_8B ), \
905 QLF3(V_16B, V_16B, V_16B), \
906 QLF3(V_4H , V_4H , V_4H ), \
907 QLF3(V_8H , V_8H , V_8H ), \
908 QLF3(V_2S , V_2S , V_2S ), \
909 QLF3(V_4S , V_4S , V_4S ), \
910 QLF3(V_2D , V_2D , V_2D ) \
914 #define QL_V3SAMEBHS \
916 QLF3(V_8B , V_8B , V_8B ), \
917 QLF3(V_16B, V_16B, V_16B), \
918 QLF3(V_4H , V_4H , V_4H ), \
919 QLF3(V_8H , V_8H , V_8H ), \
920 QLF3(V_2S , V_2S , V_2S ), \
921 QLF3(V_4S , V_4S , V_4S ), \
924 /* e.g. FCVTXN<Q> <Vd>.<Tb>, <Vn>.<Ta>. */
927 QLF2(V_2S , V_2D ), \
930 /* e.g. FCVTXN<Q> <Vd>.<Tb>, <Vn>.<Ta>. */
931 #define QL_V2NARRS2 \
933 QLF2(V_4S , V_2D ), \
936 /* e.g. FCVTN<Q> <Vd>.<Tb>, <Vn>.<Ta>. */
937 #define QL_V2NARRHS \
939 QLF2(V_4H , V_4S ), \
940 QLF2(V_2S , V_2D ), \
943 /* e.g. FCVTN<Q> <Vd>.<Tb>, <Vn>.<Ta>. */
944 #define QL_V2NARRHS2 \
946 QLF2(V_8H , V_4S ), \
947 QLF2(V_4S , V_2D ), \
950 /* e.g. FCVTL<Q> <Vd>.<Ta>, <Vn>.<Tb>. */
951 #define QL_V2LONGHS \
953 QLF2(V_4S , V_4H ), \
954 QLF2(V_2D , V_2S ), \
957 /* e.g. FCVTL<Q> <Vd>.<Ta>, <Vn>.<Tb>. */
958 #define QL_V2LONGHS2 \
960 QLF2(V_4S , V_8H ), \
961 QLF2(V_2D , V_4S ), \
964 /* e.g. XTN<Q> <Vd>.<Tb>, <Vn>.<Ta>. */
965 #define QL_V2NARRBHS \
967 QLF2(V_8B , V_8H ), \
968 QLF2(V_4H , V_4S ), \
969 QLF2(V_2S , V_2D ), \
972 /* e.g. XTN<Q> <Vd>.<Tb>, <Vn>.<Ta>. */
973 #define QL_V2NARRBHS2 \
975 QLF2(V_16B, V_8H ), \
976 QLF2(V_8H , V_4S ), \
977 QLF2(V_4S , V_2D ), \
983 QLF2(V_8B , V_8B ), \
984 QLF2(V_16B, V_16B), \
988 #define QL_V2SAME16B \
990 QLF2(V_16B, V_16B), \
994 #define QL_V2SAME4S \
1000 #define QL_V3SAME4S \
1002 QLF3(V_4S, V_4S, V_4S), \
1006 #define QL_V3SAMEB \
1008 QLF3(V_8B , V_8B , V_8B ), \
1009 QLF3(V_16B, V_16B, V_16B), \
1012 /* e.g. luti2 <Vd>.16B, { <Vn>.16B }, <Vm>[index]. */
1013 /* The third operand is an AdvSIMD vector with a bit index
1014 and without a type qualifier and is checked separately
1015 based on operand enum. */
1018 QLF3(V_16B , V_16B , NIL), \
1021 /* e.g. luti2 <Vd>.8H, { <Vn>.8H }, <Vm>[index]. */
1022 /* The third operand is an AdvSIMD vector with a bit index
1023 and without a type qualifier and is checked separately
1024 based on operand enum. */
1027 QLF3(V_8H , V_8H , NIL), \
1030 /* e.g. EXT <Vd>.<T>, <Vn>.<T>, <Vm>.<T>, #<index>. */
1033 QLF4(V_8B , V_8B , V_8B , imm_0_7), \
1034 QLF4(V_16B, V_16B, V_16B, imm_0_15), \
1038 #define QL_V3SAMEHS \
1040 QLF3(V_4H , V_4H , V_4H ), \
1041 QLF3(V_8H , V_8H , V_8H ), \
1042 QLF3(V_2S , V_2S , V_2S ), \
1043 QLF3(V_4S , V_4S , V_4S ), \
1047 #define QL_V3SAMESD \
1049 QLF3(V_2S , V_2S , V_2S ), \
1050 QLF3(V_4S , V_4S , V_4S ), \
1051 QLF3(V_2D , V_2D , V_2D ) \
1054 /* e.g. FCMLA <Vd>.<T>, <Vn>.<T>, <Vm>.<T>, #<rotate>. */
1055 #define QL_V3SAMEHSD_ROT \
1057 QLF4 (V_4H, V_4H, V_4H, NIL), \
1058 QLF4 (V_8H, V_8H, V_8H, NIL), \
1059 QLF4 (V_2S, V_2S, V_2S, NIL), \
1060 QLF4 (V_4S, V_4S, V_4S, NIL), \
1061 QLF4 (V_2D, V_2D, V_2D, NIL), \
1064 /* e.g. FMAXNM <Vd>.<T>, <Vn>.<T>, <Vm>.<T>. */
1065 #define QL_V3SAMEH \
1067 QLF3 (V_4H , V_4H , V_4H ), \
1068 QLF3 (V_8H , V_8H , V_8H ), \
1071 /* e.g. SQDMLAL<Q> <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>. */
1072 #define QL_V3LONGHS \
1074 QLF3(V_4S , V_4H , V_4H ), \
1075 QLF3(V_2D , V_2S , V_2S ), \
1078 /* e.g. SQDMLAL<Q> <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>. */
1079 #define QL_V3LONGHS2 \
1081 QLF3(V_4S , V_8H , V_8H ), \
1082 QLF3(V_2D , V_4S , V_4S ), \
1085 /* e.g. SADDL<Q> <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>. */
1086 #define QL_V3LONGBHS \
1088 QLF3(V_8H , V_8B , V_8B ), \
1089 QLF3(V_4S , V_4H , V_4H ), \
1090 QLF3(V_2D , V_2S , V_2S ), \
1093 /* e.g. SADDL<Q> <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>. */
1094 #define QL_V3LONGBHS2 \
1096 QLF3(V_8H , V_16B , V_16B ), \
1097 QLF3(V_4S , V_8H , V_8H ), \
1098 QLF3(V_2D , V_4S , V_4S ), \
1101 /* e.g. SADDW<Q> <Vd>.<Ta>, <Vn>.<Ta>, <Vm>.<Tb>. */
1102 #define QL_V3WIDEBHS \
1104 QLF3(V_8H , V_8H , V_8B ), \
1105 QLF3(V_4S , V_4S , V_4H ), \
1106 QLF3(V_2D , V_2D , V_2S ), \
1109 /* e.g. SADDW<Q> <Vd>.<Ta>, <Vn>.<Ta>, <Vm>.<Tb>. */
1110 #define QL_V3WIDEBHS2 \
1112 QLF3(V_8H , V_8H , V_16B ), \
1113 QLF3(V_4S , V_4S , V_8H ), \
1114 QLF3(V_2D , V_2D , V_4S ), \
1117 /* e.g. ADDHN<Q> <Vd>.<Tb>, <Vn>.<Ta>, <Vm>.<Ta>. */
1118 #define QL_V3NARRBHS \
1120 QLF3(V_8B , V_8H , V_8H ), \
1121 QLF3(V_4H , V_4S , V_4S ), \
1122 QLF3(V_2S , V_2D , V_2D ), \
1125 /* e.g. ADDHN<Q> <Vd>.<Tb>, <Vn>.<Ta>, <Vm>.<Ta>. */
1126 #define QL_V3NARRBHS2 \
1128 QLF3(V_16B , V_8H , V_8H ), \
1129 QLF3(V_8H , V_4S , V_4S ), \
1130 QLF3(V_4S , V_2D , V_2D ), \
1134 #define QL_V3LONGB \
1136 QLF3(V_8H , V_8B , V_8B ), \
1139 /* e.g. PMULL crypto. */
1140 #define QL_V3LONGD \
1142 QLF3(V_1Q , V_1D , V_1D ), \
1146 #define QL_V3LONGB2 \
1148 QLF3(V_8H , V_16B, V_16B), \
1151 /* e.g. PMULL2 crypto. */
1152 #define QL_V3LONGD2 \
1154 QLF3(V_1Q , V_2D , V_2D ), \
1160 QLF3(S_Q, S_S, V_4S), \
1163 /* e.g. SHA256H2. */
1164 #define QL_SHA256UPT \
1166 QLF3(S_Q, S_Q, V_4S), \
1169 /* e.g. LDXRB <Wt>, [<Xn|SP>{,#0}]. */
1170 #define QL_W1_LDST_EXC \
1175 /* e.g. LDXR <Xt>, [<Xn|SP>{,#0}]. */
1182 /* e.g. STXRB <Ws>, <Wt>, [<Xn|SP>{,#0}]. */
1183 #define QL_W2_LDST_EXC \
1188 /* e.g. STXR <Ws>, <Xt>, [<Xn|SP>{,#0}]. */
1189 #define QL_R2_LDST_EXC \
1195 /* e.g. ST64B <Xs>, <Xt>, [<Xn|SP>]. */
1201 /* e.g. LDRAA <Xt>, [<Xn|SP>{,#imm}]. */
1207 /* e.g. LDXP <Xt1>, <Xt2>, [<Xn|SP>{,#0}]. */
1214 /* e.g. CASP <Xt1>, <Xt1+1>, <Xt2>, <Xt2+1>, [<Xn|SP>{,#0}]. */
1217 QLF5(W, W, W, W, NIL), \
1218 QLF5(X, X, X, X, NIL), \
1221 /* e.g. RCWCASP <Xt1>, <Xt1+1>, <Xt2>, <Xt2+1>, [<Xn|SP>{,#0}]. */
1224 QLF5(X, X, X, X, NIL), \
1227 /* e.g. STXP <Ws>, <Xt1>, <Xt2>, [<Xn|SP>{,#0}]. */
1228 #define QL_R3_LDST_EXC \
1230 QLF4(W, W, W, NIL), \
1231 QLF4(W, X, X, NIL), \
1234 /* e.g. STR <Qt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}]. */
1235 #define QL_LDST_FP \
1244 /* e.g. STR <Xt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}]. */
1251 /* e.g. STRB <Wt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}]. */
1252 #define QL_LDST_W8 \
1257 /* e.g. LDRSB <Wt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}]. */
1258 #define QL_LDST_R8 \
1264 /* e.g. STRH <Wt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}]. */
1265 #define QL_LDST_W16 \
1270 /* e.g. LDRSW <Xt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}]. */
1271 #define QL_LDST_X32 \
1276 /* e.g. LDRSH <Wt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}]. */
1277 #define QL_LDST_R16 \
1283 /* e.g. PRFM <prfop>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}]. */
1284 #define QL_LDST_PRFM \
1289 /* e.g. LDG <Xt>, [<Xn|SP>{, #<simm>}]. */
1295 /* e.g. LDPSW <Xt1>, <Xt2>, [<Xn|SP>{, #<imm>}]. */
1296 #define QL_LDST_PAIR_X32 \
1301 /* e.g. STGP <Xt1>, <Xt2>, [<Xn|SP>{, #<imm>}]. */
1304 QLF3(X, X, imm_tag), \
1307 /* e.g. STP <Wt1>, <Wt2>, [<Xn|SP>, #<imm>]!. */
1308 #define QL_LDST_PAIR_R \
1314 /* e.g. STNP <Qt1>, <Qt2>, [<Xn|SP>{, #<imm>}]. */
1315 #define QL_LDST_PAIR_FP \
1317 QLF3(S_S, S_S, S_S), \
1318 QLF3(S_D, S_D, S_D), \
1319 QLF3(S_Q, S_Q, S_Q), \
1322 /* e.g. LD3 {<Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>}, [<Xn|SP>]. */
1323 #define QL_SIMD_LDST \
1334 /* e.g. LD1 {<Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>}, [<Xn|SP>]. */
1335 #define QL_SIMD_LDST_ANY \
1347 /* e.g. LD4 {<Vt>.<T>, <Vt2a>.<T>, <Vt3a>.<T>, <Vt4a>.<T>}[<index>], [<Xn|SP>]. */
1348 #define QL_SIMD_LDSTONE \
1356 /* e.g. ADDV <V><d>, <Vn>.<T>. */
1366 /* e.g. FMINV <V><d>, <Vn>.<T>. */
1367 #define QL_XLANES_FP \
1372 /* e.g. FMINV <V><d>, <Vn>.<T>. */
1373 #define QL_XLANES_FP_H \
1379 /* e.g. SADDLV <V><d>, <Vn>.<T>. */
1380 #define QL_XLANES_L \
1389 /* e.g. MUL <Vd>.<T>, <Vn>.<T>, <Vm>.<Ts>[<index>]. */
1390 #define QL_ELEMENT \
1392 QLF3(V_4H, V_4H, S_H), \
1393 QLF3(V_8H, V_8H, S_H), \
1394 QLF3(V_2S, V_2S, S_S), \
1395 QLF3(V_4S, V_4S, S_S), \
1398 /* e.g. SMLAL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]. */
1399 #define QL_ELEMENT_L \
1401 QLF3(V_4S, V_4H, S_H), \
1402 QLF3(V_2D, V_2S, S_S), \
1405 /* e.g. SMLAL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]. */
1406 #define QL_ELEMENT_L2 \
1408 QLF3(V_4S, V_8H, S_H), \
1409 QLF3(V_2D, V_4S, S_S), \
1412 /* e.g. FMLA <V><d>, <V><n>, <Vm>.<Ts>[<index>]. */
1413 #define QL_ELEMENT_FP \
1415 QLF3(V_2S, V_2S, S_S), \
1416 QLF3(V_4S, V_4S, S_S), \
1417 QLF3(V_2D, V_2D, S_D), \
1420 /* e.g. FMLA <V><d>, <V><n>, <Vm>.<Ts>[<index>]. */
1421 #define QL_ELEMENT_FP_H \
1423 QLF3 (V_4H, V_4H, S_H), \
1424 QLF3 (V_8H, V_8H, S_H), \
1427 /* e.g. FCMLA <Vd>.<T>, <Vn>.<T>, <Vm>.<Ts>[<index>], #<rotate>. */
1428 #define QL_ELEMENT_ROT \
1430 QLF4 (V_4H, V_4H, S_H, NIL), \
1431 QLF4 (V_8H, V_8H, S_H, NIL), \
1432 QLF4 (V_4S, V_4S, S_S, NIL), \
1435 /* e.g. MOVI <Vd>.4S, #<imm8> {, LSL #<amount>}. */
1436 #define QL_SIMD_IMM_S0W \
1442 /* e.g. MOVI <Vd>.4S, #<imm8>, MSL #<amount>. */
1443 #define QL_SIMD_IMM_S1W \
1449 /* e.g. MOVI <Vd>.4H, #<imm8> {, LSL #<amount>}. */
1450 #define QL_SIMD_IMM_S0H \
1456 /* e.g. FMOV <Vd>.<T>, #<imm>. */
1457 #define QL_SIMD_IMM_S \
1463 /* e.g. MOVI <Vd>.8B, #<imm8> {, LSL #<amount>}. */
1464 #define QL_SIMD_IMM_B \
1469 /* e.g. MOVI <Dd>, #<imm>. */
1470 #define QL_SIMD_IMM_D \
1475 /* e.g. FMOV <Vd>.<T>, #<imm>. */
1476 #define QL_SIMD_IMM_H \
1482 /* e.g. MOVI <Vd>.2D, #<imm>. */
1483 #define QL_SIMD_IMM_V2D \
1488 /* The naming convention for SVE macros is:
1490 OP_SVE_<operands>[_<sizes>]*
1492 <operands> contains one character per operand, using the following scheme:
1494 - U: the operand is unqualified (NIL).
1496 - [BHSDQ]: the operand has a S_[BHSDQ] qualifier and the choice of
1497 qualifier is the same for all variants. This is used for:
1499 - .[BHSDQ] suffixes on an SVE vector or predicate
1500 - .[BHSDQ] suffixes on an SME ZA operand
1501 - vector registers and scalar FPRs of the form [BHSDQ]<number>
1503 - [WX]: the operand has a [WX] qualifier and the choice of qualifier
1504 is the same for all variants.
1506 - [ZM]: the operand has a /[ZM] suffix and the choice of suffix
1507 is the same for all variants.
1509 - V: the operand has a S_[BHSD] qualifier and the choice of qualifier
1510 is not the same for all variants. This is used for the same kinds
1511 of operand as [BHSDQ] above.
1513 - R: the operand has a [WX] qualifier and the choice of qualifier is
1514 not the same for all variants.
1516 - P: the operand has a /[ZM] suffix and the choice of suffix is not
1517 the same for all variants.
1519 - v: the operand has a V_[16B|8H|4S|2D] qualifier and the choice of
1520 qualifier suffix is not the same for all variants. This is used for
1521 the same kinds of operands as [BHSD] above.
1523 The _<sizes>, if present, give the subset of [BHSD] that are accepted
1524 by the V entries in <operands>. */
1537 /* e.g. luti2 <Zd>.B, { <Zn>.B }, <Zm>[index]. */
1538 /* The third operand is an index (e.g. immediate or bit)
1539 without a type qualifier and is checked separately
1540 based on operand enum. */
1541 #define OP_SVE_BBU \
1543 QLF3(S_B,S_B,NIL), \
1545 /* e.g. luti2 <Zd>.H, { <Zn>.H }, <Zm>[index]. */
1546 /* The third operand is an index (e.g. immediate or bit)
1547 without a type qualifier and is checked separately
1548 based on operand enum. */
1549 #define OP_SVE_HHU \
1551 QLF3(S_H,S_H,NIL), \
1553 #define OP_SVE_BBB \
1555 QLF3(S_B,S_B,S_B), \
1557 #define OP_SVE_BBBU \
1559 QLF4(S_B,S_B,S_B,NIL), \
1561 #define OP_SVE_BMB \
1563 QLF3(S_B,P_M,S_B), \
1565 #define OP_SVE_BPB \
1567 QLF3(S_B,P_Z,S_B), \
1568 QLF3(S_B,P_M,S_B), \
1574 #define OP_SVE_BUB \
1576 QLF3(S_B,NIL,S_B), \
1578 #define OP_SVE_BUBB \
1580 QLF4(S_B,NIL,S_B,S_B), \
1582 #define OP_SVE_BUU \
1584 QLF3(S_B,NIL,NIL), \
1590 #define OP_SVE_BZB \
1592 QLF3(S_B,P_Z,S_B), \
1594 #define OP_SVE_NN_BHSD \
1596 QLF3(NIL,NIL,S_B), \
1597 QLF3(NIL,NIL,S_H), \
1598 QLF3(NIL,NIL,S_S), \
1601 #define OP_SVE_BZBB \
1603 QLF4(S_B,P_Z,S_B,S_B), \
1605 #define OP_SVE_BZU \
1607 QLF3(S_B,P_Z,NIL), \
1617 #define OP_SVE_DDD \
1619 QLF3(S_D,S_D,S_D), \
1621 #define OP_SVE_DHH \
1623 QLF3(S_D,S_H,S_H), \
1625 #define OP_SVE_DMMD \
1627 QLF4(S_D,P_M,P_M,S_D), \
1629 #define OP_SVE_DMMDD \
1631 QLF5(S_D,P_M,P_M,S_D,S_D) \
1633 #define OP_SVE_DMMHH \
1635 QLF5(S_D,P_M,P_M,S_H,S_H) \
1637 #define OP_SVE_DDDD \
1639 QLF4(S_D,S_D,S_D,S_D), \
1641 #define OP_SVE_DMD \
1643 QLF3(S_D,P_M,S_D), \
1645 #define OP_SVE_DMH \
1647 QLF3(S_D,P_M,S_H), \
1649 #define OP_SVE_DMS \
1651 QLF3(S_D,P_M,S_S), \
1657 #define OP_SVE_DUD \
1659 QLF3(S_D,NIL,S_D), \
1661 #define OP_SVE_DUU \
1663 QLF3(S_D,NIL,NIL), \
1665 #define OP_SVE_DUV_BHS \
1667 QLF3(S_D,NIL,S_B), \
1668 QLF3(S_D,NIL,S_H), \
1669 QLF3(S_D,NIL,S_S), \
1671 #define OP_SVE_DUV_BHSD \
1673 QLF3(S_D,NIL,S_B), \
1674 QLF3(S_D,NIL,S_H), \
1675 QLF3(S_D,NIL,S_S), \
1676 QLF3(S_D,NIL,S_D), \
1678 #define OP_SVE_DZD \
1680 QLF3(S_D,P_Z,S_D), \
1682 #define OP_SVE_DZU \
1684 QLF3(S_D,P_Z,NIL), \
1698 #define OP_SVE_HHH \
1700 QLF3(S_H,S_H,S_H), \
1702 #define OP_SVE_HHHU \
1704 QLF4(S_H,S_H,S_H,NIL), \
1706 #define OP_SVE_HMH \
1708 QLF3(S_H,P_M,S_H), \
1710 #define OP_SVE_HMD \
1712 QLF3(S_H,P_M,S_D), \
1714 #define OP_SVE_HMMBB \
1716 QLF5(S_H,P_M,P_M,S_B,S_B) \
1718 #define OP_SVE_HMS \
1720 QLF3(S_H,P_M,S_S), \
1726 #define OP_SVE_HSU \
1728 QLF3(S_H,S_S,NIL), \
1734 #define OP_SVE_HUU \
1736 QLF3(S_H,NIL,NIL), \
1738 #define OP_SVE_HZU \
1740 QLF3(S_H,P_Z,NIL), \
1742 #define OP_SVE_QMQ \
1744 QLF3(S_Q,P_M,S_Q), \
1750 #define OP_SVE_QQQ \
1752 QLF3(S_Q,S_Q,S_Q), \
1754 #define OP_SVE_QUU \
1756 QLF3(S_Q,NIL,NIL), \
1758 #define OP_SVE_QZU \
1760 QLF3(S_Q,P_Z,NIL), \
1767 #define OP_SVE_RURV_BHSD \
1769 QLF4(W,NIL,W,S_B), \
1770 QLF4(W,NIL,W,S_H), \
1771 QLF4(W,NIL,W,S_S), \
1772 QLF4(X,NIL,X,S_D), \
1774 #define OP_SVE_RUV_BHSD \
1781 #define OP_SVE_SMD \
1783 QLF3(S_S,P_M,S_D), \
1785 #define OP_SVE_SMMBB \
1787 QLF5(S_S,P_M,P_M,S_B,S_B) \
1789 #define OP_SVE_SMMHH \
1791 QLF5(S_S,P_M,P_M,S_H,S_H), \
1793 #define OP_SVE_SMMS \
1795 QLF4(S_S,P_M,P_M,S_S), \
1797 #define OP_SVE_SMMSS \
1799 QLF5(S_S,P_M,P_M,S_S,S_S) \
1801 #define OP_SVE_SSS \
1803 QLF3(S_S,S_S,S_S), \
1805 #define OP_SVE_SSSU \
1807 QLF4(S_S,S_S,S_S,NIL), \
1809 #define OP_SVE_SMH \
1811 QLF3(S_S,P_M,S_H), \
1813 #define OP_SVE_SHH \
1815 QLF3(S_S,S_H,S_H), \
1817 #define OP_SVE_SMS \
1819 QLF3(S_S,P_M,S_S), \
1829 /* e.g. movt ZT0{[<offs>, MUL VL]}, <Zt> */
1830 /* The second operand doesn't have a qualifier and
1831 is checked separetely during encoding. */
1832 #define OP_SVE_SU_Q \
1836 #define OP_SVE_SUS \
1838 QLF3(S_S,NIL,S_S), \
1840 #define OP_SVE_SMSS \
1842 QLF4(S_H,P_M,S_H,S_H), \
1844 #define OP_SVE_SUU \
1846 QLF3(S_S,NIL,NIL), \
1848 #define OP_SVE_SZS \
1850 QLF3(S_S,P_Z,S_S), \
1852 #define OP_SVE_QZD \
1854 QLF3(S_Q,P_Z,S_D), \
1856 #define OP_SVE_QUD \
1858 QLF3(S_Q,NIL,S_D), \
1860 #define OP_SVE_SBB \
1862 QLF3(S_S,S_B,S_B), \
1864 #define OP_SVE_SBBU \
1866 QLF4(S_S,S_B,S_B,NIL), \
1868 #define OP_SVE_DSS \
1870 QLF3(S_D,S_S,S_S), \
1872 #define OP_SVE_DHHU \
1874 QLF4(S_D,S_H,S_H,NIL), \
1876 #define OP_SVE_SZU \
1878 QLF3(S_S,P_Z,NIL), \
1896 #define OP_SVE_UUD \
1898 QLF3(NIL,NIL,S_D), \
1900 #define OP_SVE_UUS \
1902 QLF3(NIL,NIL,S_S), \
1908 #define OP_SVE_UXU \
1912 #define OP_SVE_VMR_BHSD \
1919 #define OP_SVE_VMU_HSD \
1921 QLF3(S_H,P_M,NIL), \
1922 QLF3(S_S,P_M,NIL), \
1923 QLF3(S_D,P_M,NIL), \
1925 #define OP_SVE_VMVD_BHS \
1927 QLF4(S_B,P_M,S_B,S_D), \
1928 QLF4(S_H,P_M,S_H,S_D), \
1929 QLF4(S_S,P_M,S_S,S_D), \
1931 #define OP_SVE_VMVU_BHSD \
1933 QLF4(S_B,P_M,S_B,NIL), \
1934 QLF4(S_H,P_M,S_H,NIL), \
1935 QLF4(S_S,P_M,S_S,NIL), \
1936 QLF4(S_D,P_M,S_D,NIL), \
1938 #define OP_SVE_VMVU_HSD \
1940 QLF4(S_H,P_M,S_H,NIL), \
1941 QLF4(S_S,P_M,S_S,NIL), \
1942 QLF4(S_D,P_M,S_D,NIL), \
1944 #define OP_SVE_VMVV_BHSD \
1946 QLF4(S_B,P_M,S_B,S_B), \
1947 QLF4(S_H,P_M,S_H,S_H), \
1948 QLF4(S_S,P_M,S_S,S_S), \
1949 QLF4(S_D,P_M,S_D,S_D), \
1951 #define OP_SVE_VMVV_HSD \
1953 QLF4(S_H,P_M,S_H,S_H), \
1954 QLF4(S_S,P_M,S_S,S_S), \
1955 QLF4(S_D,P_M,S_D,S_D), \
1957 #define OP_SVE_VMVV_SD \
1959 QLF4(S_S,P_M,S_S,S_S), \
1960 QLF4(S_D,P_M,S_D,S_D), \
1962 #define OP_SVE_VMVV_D \
1964 QLF4(S_D,P_M,S_D,S_D), \
1966 #define OP_SVE_VMVVU_HSD \
1968 QLF5(S_H,P_M,S_H,S_H,NIL), \
1969 QLF5(S_S,P_M,S_S,S_S,NIL), \
1970 QLF5(S_D,P_M,S_D,S_D,NIL), \
1972 #define OP_SVE_VMV_BHSD \
1974 QLF3(S_B,P_M,S_B), \
1975 QLF3(S_H,P_M,S_H), \
1976 QLF3(S_S,P_M,S_S), \
1977 QLF3(S_D,P_M,S_D), \
1979 #define OP_SVE_VMV_BHSDQ \
1981 QLF3(S_B,P_M,S_B), \
1982 QLF3(S_H,P_M,S_H), \
1983 QLF3(S_S,P_M,S_S), \
1984 QLF3(S_D,P_M,S_D), \
1987 #define OP_SVE_VMV_HSD \
1989 QLF3(S_H,P_M,S_H), \
1990 QLF3(S_S,P_M,S_S), \
1991 QLF3(S_D,P_M,S_D), \
1993 #define OP_SVE_VMV_HSD_BHS \
1995 QLF3(S_H,P_M,S_B), \
1996 QLF3(S_S,P_M,S_H), \
1997 QLF3(S_D,P_M,S_S), \
1999 #define OP_SVE_VVU_BH_SD \
2001 QLF3(S_B,S_S,NIL), \
2002 QLF3(S_H,S_D,NIL), \
2004 #define OP_SVE_VVU_HSD_BHS \
2006 QLF3(S_H,S_B,NIL), \
2007 QLF3(S_S,S_H,NIL), \
2008 QLF3(S_D,S_S,NIL), \
2010 #define OP_SVE_vUS_BHSD_BHSD \
2012 QLF3(V_16B,NIL,S_B), \
2013 QLF3(V_8H,NIL,S_H), \
2014 QLF3(V_4S,NIL,S_S), \
2015 QLF3(V_2D,NIL,S_D), \
2017 #define OP_SVE_vUS_HSD_HSD \
2019 QLF3(V_8H,NIL,S_H), \
2020 QLF3(V_4S,NIL,S_S), \
2021 QLF3(V_2D,NIL,S_D), \
2023 #define OP_SVE_VMV_SD \
2025 QLF3(S_S,P_M,S_S), \
2026 QLF3(S_D,P_M,S_D), \
2028 #define OP_SVE_VM_HSD \
2034 #define OP_SVE_VPU_BHSD \
2036 QLF3(S_B,P_Z,NIL), \
2037 QLF3(S_B,P_M,NIL), \
2038 QLF3(S_H,P_Z,NIL), \
2039 QLF3(S_H,P_M,NIL), \
2040 QLF3(S_S,P_Z,NIL), \
2041 QLF3(S_S,P_M,NIL), \
2042 QLF3(S_D,P_Z,NIL), \
2043 QLF3(S_D,P_M,NIL), \
2045 #define OP_SVE_VPV_BHSD \
2047 QLF3(S_B,P_Z,S_B), \
2048 QLF3(S_B,P_M,S_B), \
2049 QLF3(S_H,P_Z,S_H), \
2050 QLF3(S_H,P_M,S_H), \
2051 QLF3(S_S,P_Z,S_S), \
2052 QLF3(S_S,P_M,S_S), \
2053 QLF3(S_D,P_Z,S_D), \
2054 QLF3(S_D,P_M,S_D), \
2056 #define OP_SVE_VRR_BHSD \
2063 #define OP_SVE_VRU_BHSD \
2070 #define OP_SVE_VR_BHSD \
2077 #define OP_SVE_VUR_BHSD \
2084 /* e.g. luti4 { <Zd1>.B-<Zd4>.B }, ZT0, { <Zn1>-<Zn2> } */
2085 /* The second and third operands don't have qualifiers and
2086 are checked separetely during encoding. */
2087 #define OP_SVE_VUU_B \
2089 QLF3(S_B,NIL,NIL), \
2091 #define OP_SVE_VUU_BH \
2093 QLF3(S_B,NIL,NIL), \
2094 QLF3(S_H,NIL,NIL), \
2096 #define OP_SVE_VUU_BHS \
2098 QLF3(S_B,NIL,NIL), \
2099 QLF3(S_H,NIL,NIL), \
2100 QLF3(S_S,NIL,NIL), \
2102 #define OP_SVE_VUU_BHSD \
2104 QLF3(S_B,NIL,NIL), \
2105 QLF3(S_H,NIL,NIL), \
2106 QLF3(S_S,NIL,NIL), \
2107 QLF3(S_D,NIL,NIL), \
2109 #define OP_SVE_VUVV_BHSD \
2111 QLF4(S_B,NIL,S_B,S_B), \
2112 QLF4(S_H,NIL,S_H,S_H), \
2113 QLF4(S_S,NIL,S_S,S_S), \
2114 QLF4(S_D,NIL,S_D,S_D), \
2116 #define OP_SVE_VUU_HS \
2118 QLF3(S_H,NIL,NIL), \
2119 QLF3(S_S,NIL,NIL), \
2121 #define OP_SVE_VUVV_HSD \
2123 QLF4(S_H,NIL,S_H,S_H), \
2124 QLF4(S_S,NIL,S_S,S_S), \
2125 QLF4(S_D,NIL,S_D,S_D), \
2127 #define OP_SVE_VUV_BHSD \
2129 QLF3(S_B,NIL,S_B), \
2130 QLF3(S_H,NIL,S_H), \
2131 QLF3(S_S,NIL,S_S), \
2132 QLF3(S_D,NIL,S_D), \
2134 #define OP_SVE_VUV_HSD \
2136 QLF3(S_H,NIL,S_H), \
2137 QLF3(S_S,NIL,S_S), \
2138 QLF3(S_D,NIL,S_D), \
2140 #define OP_SVE_VUV_SD \
2142 QLF3(S_S,NIL,S_S), \
2143 QLF3(S_D,NIL,S_D), \
2145 #define OP_SVE_VU_BHSD \
2152 #define OP_SVE_VU_HSD \
2158 #define OP_SVE_VU_HSD \
2164 #define OP_SVE_Vv_HSD \
2173 #define OP_SVE_VVD_BHS \
2175 QLF3(S_B,S_B,S_D), \
2176 QLF3(S_H,S_H,S_D), \
2177 QLF3(S_S,S_S,S_D), \
2179 #define OP_SVE_VVU_BHSD \
2181 QLF3(S_B,S_B,NIL), \
2182 QLF3(S_H,S_H,NIL), \
2183 QLF3(S_S,S_S,NIL), \
2184 QLF3(S_D,S_D,NIL), \
2186 #define OP_SVE_VVVU_H \
2188 QLF4(S_H,S_H,S_H,NIL), \
2190 #define OP_SVE_VVVU_S \
2192 QLF4(S_S,S_S,S_S,NIL), \
2194 #define OP_SVE_VVVU_SD_BH \
2196 QLF4(S_S,S_B,S_B,NIL), \
2197 QLF4(S_D,S_H,S_H,NIL), \
2199 #define OP_SVE_VVVU_HSD \
2201 QLF4(S_H,S_H,S_H,NIL), \
2202 QLF4(S_S,S_S,S_S,NIL), \
2203 QLF4(S_D,S_D,S_D,NIL), \
2205 #define OP_SVE_VVVU_BHSD \
2207 QLF4(S_B,S_B,S_B,NIL), \
2208 QLF4(S_H,S_H,S_H,NIL), \
2209 QLF4(S_S,S_S,S_S,NIL), \
2210 QLF4(S_D,S_D,S_D,NIL), \
2212 #define OP_SVE_VVV_BHSD \
2214 QLF3(S_B,S_B,S_B), \
2215 QLF3(S_H,S_H,S_H), \
2216 QLF3(S_S,S_S,S_S), \
2217 QLF3(S_D,S_D,S_D), \
2219 #define OP_SVE_VVV_D \
2221 QLF3(S_D,S_D,S_D), \
2223 #define OP_SVE_VVV_D_H \
2225 QLF3(S_D,S_H,S_H), \
2227 #define OP_SVE_VVV_H \
2229 QLF3(S_H,S_H,S_H), \
2231 #define OP_SVE_VVV_HSD \
2233 QLF3(S_H,S_H,S_H), \
2234 QLF3(S_S,S_S,S_S), \
2235 QLF3(S_D,S_D,S_D), \
2237 #define OP_SVE_VVV_S \
2239 QLF3(S_S,S_S,S_S), \
2241 #define OP_SVE_VVV_HD_BS \
2243 QLF3(S_H,S_B,S_B), \
2244 QLF3(S_D,S_S,S_S), \
2246 #define OP_SVE_VVV_S_B \
2248 QLF3(S_S,S_B,S_B), \
2250 #define OP_SVE_VVV_H_B \
2252 QLF3(S_H,S_B,S_B), \
2254 #define OP_SVE_VVV_Q_D \
2256 QLF3(S_Q,S_D,S_D), \
2258 #define OP_SVE_VVV_HSD_BHS \
2260 QLF3(S_H,S_B,S_B), \
2261 QLF3(S_S,S_H,S_H), \
2262 QLF3(S_D,S_S,S_S), \
2264 #define OP_SVE_VVV_HSD_BHS2 \
2266 QLF3(S_H,S_H,S_B), \
2267 QLF3(S_S,S_S,S_H), \
2268 QLF3(S_D,S_D,S_S), \
2270 #define OP_SVE_VVV_BHS_HSD \
2272 QLF3(S_B,S_H,S_H), \
2273 QLF3(S_H,S_S,S_S), \
2274 QLF3(S_S,S_D,S_D), \
2276 #define OP_SVE_VV_D \
2280 #define OP_SVE_VV_BHS_HSD \
2286 #define OP_SVE_VVV_SD_BH \
2288 QLF3(S_S,S_B,S_B), \
2289 QLF3(S_D,S_H,S_H), \
2291 #define OP_SVE_VVV_SD \
2293 QLF3(S_S,S_S,S_S), \
2294 QLF3(S_D,S_D,S_D), \
2296 #define OP_SVE_VV_BHSD \
2303 #define OP_SVE_VV_BHSDQ \
2311 #define OP_SVE_VV_BH_SD \
2316 #define OP_SVE_VV_HSD \
2322 #define OP_SVE_VVU_BHS_HSD \
2324 QLF3(S_B,S_H,NIL), \
2325 QLF3(S_H,S_S,NIL), \
2326 QLF3(S_S,S_D,NIL), \
2328 #define OP_SVE_VV_HSD_BHS \
2334 #define OP_SVE_VV_SD \
2339 #define OP_SVE_VWW_BHSD \
2346 #define OP_SVE_VXX_BHSD \
2353 #define OP_SVE_VXXU_BHSD \
2355 QLF4(S_B,X,X,NIL), \
2356 QLF4(S_H,X,X,NIL), \
2357 QLF4(S_S,X,X,NIL), \
2358 QLF4(S_D,X,X,NIL), \
2360 #define OP_SVE_VZVD_BHS \
2362 QLF4(S_B,P_Z,S_B,S_D), \
2363 QLF4(S_H,P_Z,S_H,S_D), \
2364 QLF4(S_S,P_Z,S_S,S_D), \
2366 #define OP_SVE_VZVU_BHSD \
2368 QLF4(S_B,P_Z,S_B,NIL), \
2369 QLF4(S_H,P_Z,S_H,NIL), \
2370 QLF4(S_S,P_Z,S_S,NIL), \
2371 QLF4(S_D,P_Z,S_D,NIL), \
2373 #define OP_SVE_VZVV_BHSD \
2375 QLF4(S_B,P_Z,S_B,S_B), \
2376 QLF4(S_H,P_Z,S_H,S_H), \
2377 QLF4(S_S,P_Z,S_S,S_S), \
2378 QLF4(S_D,P_Z,S_D,S_D), \
2380 #define OP_SVE_VZVV_HSD \
2382 QLF4(S_H,P_Z,S_H,S_H), \
2383 QLF4(S_S,P_Z,S_S,S_S), \
2384 QLF4(S_D,P_Z,S_D,S_D), \
2386 #define OP_SVE_VZVV_SD \
2388 QLF4(S_S,P_Z,S_S,S_S), \
2389 QLF4(S_D,P_Z,S_D,S_D), \
2391 #define OP_SVE_VZVV_BH \
2393 QLF4(S_B,P_Z,S_B,S_B), \
2394 QLF4(S_H,P_Z,S_H,S_H), \
2396 #define OP_SVE_VZV_SD \
2398 QLF3(S_S,P_Z,S_S), \
2399 QLF3(S_D,P_Z,S_D), \
2401 #define OP_SVE_VZV_HSD \
2403 QLF3(S_H,P_Z,S_H), \
2404 QLF3(S_S,P_Z,S_S), \
2405 QLF3(S_D,P_Z,S_D), \
2407 #define OP_SVE_V_BHSD \
2414 #define OP_SVE_V_HSD \
2424 #define OP_SVE_WV_BHSD \
2435 #define OP_SVE_XUV_BHSD \
2442 #define OP_SVE_XVW_BHSD \
2449 #define OP_SVE_XV_BHSD \
2456 #define OP_SVE_XWU \
2460 #define OP_SVE_XXU \
2465 #define QL_V3_BSS_LOWER \
2467 QLF3(V_8B, V_4S, V_4S), \
2470 #define QL_V3_BSS_FULL \
2472 QLF3(V_16B, V_4S, V_4S), \
2477 QLF3(V_8B, V_4H, V_4H), \
2478 QLF3(V_16B, V_8H, V_8H), \
2481 /* e.g. BF1CVTL <Vd>.8H, <Vn>.8B. */
2482 #define QL_V2_HB_LOWER \
2487 /* e.g. BF1CVTL2 <Vd>.8H, <Vn>.16B. */
2488 #define QL_V2_HB_FULL \
2490 QLF2(V_8H, V_16B), \
2493 /* e.g. UDOT <Vd>.2S, <Vn>.8B, <Vm>.8B. */
2496 QLF3(V_2S, V_8B, V_8B), \
2497 QLF3(V_4S, V_16B, V_16B),\
2500 /* e.g. UDOT <Vd>.2S, <Vn>.8B, <Vm>.4B[<index>]. */
2503 QLF3(V_2S, V_8B, S_4B),\
2504 QLF3(V_4S, V_16B, S_4B),\
2507 /* e.g. FDOT <Vd>.4H, <Vn>.8B, <Vm>.8B. */
2510 QLF3(V_4H, V_8B, V_8B), \
2511 QLF3(V_8H, V_16B, V_16B),\
2514 /* e.g. FDOT <Vd>.4H, <Vn>.8B, <Vm>.2B[<index>]. */
2517 QLF3(V_4H, V_8B, S_2B),\
2518 QLF3(V_8H, V_16B, S_2B),\
2521 /* e.g. SHA512H <Qd>, <Qn>, <Vm>.2D\f. */
2522 #define QL_SHA512UPT \
2524 QLF3(S_Q, S_Q, V_2D), \
2527 /* e.g. SHA512SU0 <Vd.2D>, <Vn>.2D\f. */
2528 #define QL_V2SAME2D \
2533 /* e.g. SHA512SU1 <Vd>.2D, <Vn>.2D, <Vm>.2D>. */
2534 #define QL_V3SAME2D \
2536 QLF3(V_2D, V_2D, V_2D), \
2539 /* e.g. EOR3 <Vd>.16B, <Vn>.16B, <Vm>.16B, <Va>.16B. */
2540 #define QL_V4SAME16B \
2542 QLF4(V_16B, V_16B, V_16B, V_16B), \
2545 /* e.g. SM3SS1 <Vd>.4S, <Vn>.4S, <Vm>.4S, <Va>.4S. */
2546 #define QL_V4SAME4S \
2548 QLF4(V_4S, V_4S, V_4S, V_4S), \
2551 /* e.g. XAR <Vd>.2D, <Vn>.2D, <Vm>.2D, #<imm6>. */
2554 QLF4(V_2D, V_2D, V_2D, imm_0_63), \
2557 /* e.g. SM3TT1A <Vd>.4S, <Vn>.4S, <Vm>.S[<imm2>]. */
2560 QLF3(V_4S, V_4S, S_S),\
2563 /* e.g. FMLAL <Vd>.2S, <Vn>.2H, <Vm>.2H. */
2564 #define QL_V3FML2S \
2566 QLF3(V_2S, V_2H, V_2H),\
2569 /* e.g. FMLAL <Vd>.4S, <Vn>.4H, <Vm>.4H. */
2570 #define QL_V3FML4S \
2572 QLF3(V_4S, V_4H, V_4H),\
2575 /* e.g. FMLAL <Vd>.2S, <Vn>.2H, <Vm>.H[<index>]. */
2576 #define QL_V2FML2S \
2578 QLF3(V_2S, V_2H, S_H),\
2581 /* e.g. FMLAL <Vd>.4S, <Vn>.4H, <Vm>.H[<index>]. */
2582 #define QL_V2FML4S \
2584 QLF3(V_4S, V_4H, S_H),\
2587 /* e.g. FMLALB <Vd>.8H, <Vn>.16B, <Vm>.16B. */
2588 #define QL_V3FML8H \
2590 QLF3(V_8H, V_16B, V_16B),\
2593 /* e.g. FMLALB <Vd>.8H, <Vn>.16B, <Vm>.B. */
2594 #define QL_V2FML8H \
2596 QLF3(V_8H, V_16B, S_B),\
2599 /* e.g. FMLALLBB <Vd>.4S, <Vn>.16B, <Vm>.16B. */
2600 #define QL_V3FMLL4S \
2602 QLF3(V_4S, V_16B, V_16B),\
2605 /* e.g. FMLALLBB <Vd>.4S, <Vn>.16B, <Vm>.B. */
2606 #define QL_V2FMLL4S \
2608 QLF3(V_4S, V_16B, S_B),\
2611 /* e.g. RMIF <Xn>, #<shift>, #<mask>. */
2614 QLF3(X, imm_0_63, imm_0_15),\
2617 /* e.g. SETF8 <Wn>. */
2623 /* e.g. STLURB <Wt>, [<Xn|SP>{,#<simm>}]. */
2629 /* e.g. STLURB <Xt>, [<Xn|SP>{,#<simm>}]. */
2635 /* e.g. BFDOT <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb> */
2636 #define QL_BFDOT64 \
2638 QLF3(V_2S, V_4H, V_4H),\
2639 QLF3(V_4S, V_8H, V_8H),\
2642 /* e.g. BFDOT <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.2H[<index>] */
2643 #define QL_BFDOT64I \
2645 QLF3(V_2S, V_4H, S_2H),\
2646 QLF3(V_4S, V_8H, S_2H),\
2649 /* e.g. SMMLA <Vd>.4S, <Vn>.16B, <Vm>.16B */
2652 QLF3(V_4S, V_16B, V_16B),\
2655 /* e.g. BFMMLA <Vd>.4s, <Vn>.8h, <Vm>.8h */
2658 QLF3(V_4S, V_8H, V_8H),\
2661 /* e.g. BFCVT <Hd>, <Sn> */
2662 #define QL_BFCVT64 \
2667 /* e.g. BFCVT <Hd>, <Sn> */
2668 #define QL_BFCVTN64 \
2673 /* e.g. BFCVT <Hd>, <Sn> */
2674 #define QL_BFCVTN2_64 \
2679 /* e.g. BFMLAL2 <Vd>.4s, <Vn>.8h, <Vm>.H[<index>] */
2680 #define QL_V3BFML4S \
2682 QLF3(V_4S, V_8H, S_H), \
2687 Any SVE or SVE2 feature must include AARCH64_FEATURE_{SVE|SVE2} in its
2688 bitmask, even if this is implied by other selected feature bits. This
2689 allows verify_constraints to identify SVE instructions when selecting an
2690 error message for MOVPRFX constraint violations. */
2692 static const aarch64_feature_set aarch64_feature_v8
=
2693 AARCH64_FEATURE (V8
);
2694 static const aarch64_feature_set aarch64_feature_fp
=
2695 AARCH64_FEATURE (FP
);
2696 static const aarch64_feature_set aarch64_feature_simd
=
2697 AARCH64_FEATURE (SIMD
);
2698 static const aarch64_feature_set aarch64_feature_crc
=
2699 AARCH64_FEATURE (CRC
);
2700 static const aarch64_feature_set aarch64_feature_lse
=
2701 AARCH64_FEATURE (LSE
);
2702 static const aarch64_feature_set aarch64_feature_lse128
=
2703 AARCH64_FEATURES (2, LSE
, LSE128
);
2704 static const aarch64_feature_set aarch64_feature_lor
=
2705 AARCH64_FEATURE (LOR
);
2706 static const aarch64_feature_set aarch64_feature_rdma
=
2707 AARCH64_FEATURE (RDMA
);
2708 static const aarch64_feature_set aarch64_feature_fp_f16
=
2709 AARCH64_FEATURES (2, F16
, FP
);
2710 static const aarch64_feature_set aarch64_feature_simd_f16
=
2711 AARCH64_FEATURES (2, F16
, SIMD
);
2712 static const aarch64_feature_set aarch64_feature_sve
=
2713 AARCH64_FEATURE (SVE
);
2714 static const aarch64_feature_set aarch64_feature_pauth
=
2715 AARCH64_FEATURE (PAUTH
);
2716 static const aarch64_feature_set aarch64_feature_compnum
=
2717 AARCH64_FEATURE (COMPNUM
);
2718 static const aarch64_feature_set aarch64_feature_jscvt
=
2719 AARCH64_FEATURE (JSCVT
);
2720 static const aarch64_feature_set aarch64_feature_rcpc
=
2721 AARCH64_FEATURE (RCPC
);
2722 static const aarch64_feature_set aarch64_feature_rcpc2
=
2723 AARCH64_FEATURE (RCPC2
);
2724 static const aarch64_feature_set aarch64_feature_dotprod
=
2725 AARCH64_FEATURE (DOTPROD
);
2726 static const aarch64_feature_set aarch64_feature_sha2
=
2727 AARCH64_FEATURES (2, V8
, SHA2
);
2728 static const aarch64_feature_set aarch64_feature_aes
=
2729 AARCH64_FEATURES (2, V8
, AES
);
2730 static const aarch64_feature_set aarch64_feature_sm4
=
2731 AARCH64_FEATURES (3, SM4
, SIMD
, FP
);
2732 static const aarch64_feature_set aarch64_feature_sha3
=
2733 AARCH64_FEATURES (4, SHA2
, SHA3
, SIMD
, FP
);
2734 static const aarch64_feature_set aarch64_feature_fp_16_v8_2a
=
2735 AARCH64_FEATURES (3, F16_FML
, F16
, FP
);
2736 static const aarch64_feature_set aarch64_feature_flagmanip
=
2737 AARCH64_FEATURE (FLAGMANIP
);
2738 static const aarch64_feature_set aarch64_feature_frintts
=
2739 AARCH64_FEATURE (FRINTTS
);
2740 static const aarch64_feature_set aarch64_feature_sb
=
2741 AARCH64_FEATURE (SB
);
2742 static const aarch64_feature_set aarch64_feature_predres
=
2743 AARCH64_FEATURE (PREDRES
);
2744 static const aarch64_feature_set aarch64_feature_predres2
=
2745 AARCH64_FEATURES (2, PREDRES
, PREDRES2
);
2746 static const aarch64_feature_set aarch64_feature_memtag
=
2747 AARCH64_FEATURE (MEMTAG
);
2748 static const aarch64_feature_set aarch64_feature_bfloat16
=
2749 AARCH64_FEATURE (BFLOAT16
);
2750 static const aarch64_feature_set aarch64_feature_bfloat16_sve
=
2751 AARCH64_FEATURES (2, BFLOAT16
, SVE
);
2752 static const aarch64_feature_set aarch64_feature_tme
=
2753 AARCH64_FEATURE (TME
);
2754 static const aarch64_feature_set aarch64_feature_sve2
=
2755 AARCH64_FEATURE (SVE2
);
2756 static const aarch64_feature_set aarch64_feature_sve2aes
=
2757 AARCH64_FEATURES (2, SVE2
, SVE2_AES
);
2758 static const aarch64_feature_set aarch64_feature_sve2sha3
=
2759 AARCH64_FEATURES (2, SVE2
, SVE2_SHA3
);
2760 static const aarch64_feature_set aarch64_feature_sve2sm4
=
2761 AARCH64_FEATURES (2, SVE2
, SVE2_SM4
);
2762 static const aarch64_feature_set aarch64_feature_sve2bitperm
=
2763 AARCH64_FEATURES (2, SVE2
, SVE2_BITPERM
);
2764 static const aarch64_feature_set aarch64_feature_sme
=
2765 AARCH64_FEATURES (2, SVE2
, SME
);
2766 static const aarch64_feature_set aarch64_feature_sme_f64f64
=
2767 AARCH64_FEATURES (3, SVE2
, SME
, SME_F64F64
);
2768 static const aarch64_feature_set aarch64_feature_sme_i16i64
=
2769 AARCH64_FEATURES (3, SVE2
, SME
, SME_I16I64
);
2770 static const aarch64_feature_set aarch64_feature_sme2
=
2771 AARCH64_FEATURES (3, SVE2
, SME
, SME2
);
2772 static const aarch64_feature_set aarch64_feature_sme2_i16i64
=
2773 AARCH64_FEATURES (2, SME2
, SME_I16I64
);
2774 static const aarch64_feature_set aarch64_feature_sme2_f64f64
=
2775 AARCH64_FEATURES (2, SME2
, SME_F64F64
);
2776 static const aarch64_feature_set aarch64_feature_i8mm
=
2777 AARCH64_FEATURE (I8MM
);
2778 static const aarch64_feature_set aarch64_feature_i8mm_sve
=
2779 AARCH64_FEATURES (2, I8MM
, SVE
);
2780 static const aarch64_feature_set aarch64_feature_f32mm_sve
=
2781 AARCH64_FEATURES (2, F32MM
, SVE
);
2782 static const aarch64_feature_set aarch64_feature_f64mm_sve
=
2783 AARCH64_FEATURES (2, F64MM
, SVE
);
2784 static const aarch64_feature_set aarch64_feature_v8r
=
2785 AARCH64_FEATURE (V8R
);
2786 static const aarch64_feature_set aarch64_feature_ls64
=
2787 AARCH64_FEATURE (LS64
);
2788 static const aarch64_feature_set aarch64_feature_flagm
=
2789 AARCH64_FEATURE (FLAGM
);
2790 static const aarch64_feature_set aarch64_feature_xs
=
2791 AARCH64_FEATURE (XS
);
2792 static const aarch64_feature_set aarch64_feature_wfxt
=
2793 AARCH64_FEATURE (WFXT
);
2794 static const aarch64_feature_set aarch64_feature_mops
=
2795 AARCH64_FEATURE (MOPS
);
2796 static const aarch64_feature_set aarch64_feature_mops_memtag
=
2797 AARCH64_FEATURES (2, MOPS
, MEMTAG
);
2798 static const aarch64_feature_set aarch64_feature_hbc
=
2799 AARCH64_FEATURE (HBC
);
2800 static const aarch64_feature_set aarch64_feature_cssc
=
2801 AARCH64_FEATURE (CSSC
);
2802 static const aarch64_feature_set aarch64_feature_chk
=
2803 AARCH64_FEATURE (CHK
);
2804 static const aarch64_feature_set aarch64_feature_gcs
=
2805 AARCH64_FEATURE (GCS
);
2806 static const aarch64_feature_set aarch64_feature_ite
=
2807 AARCH64_FEATURE (ITE
);
2808 static const aarch64_feature_set aarch64_feature_d128
=
2809 AARCH64_FEATURE (D128
);
2810 static const aarch64_feature_set aarch64_feature_the
=
2811 AARCH64_FEATURE (THE
);
2812 static const aarch64_feature_set aarch64_feature_d128_the
=
2813 AARCH64_FEATURES (2, D128
, THE
);
2814 static const aarch64_feature_set aarch64_feature_b16b16_sve2
=
2815 AARCH64_FEATURES (2, B16B16
, SVE2
);
2816 static const aarch64_feature_set aarch64_feature_sme2p1
=
2817 AARCH64_FEATURE (SME2p1
);
2818 static const aarch64_feature_set aarch64_feature_sve2p1
=
2819 AARCH64_FEATURE (SVE2p1
);
2820 static const aarch64_feature_set aarch64_feature_rcpc3
=
2821 AARCH64_FEATURE (RCPC3
);
2822 static const aarch64_feature_set aarch64_feature_cpa
=
2823 AARCH64_FEATURE (CPA
);
2824 static const aarch64_feature_set aarch64_feature_cpa_sve
=
2825 AARCH64_FEATURES (2, CPA
, SVE
);
2826 static const aarch64_feature_set aarch64_feature_faminmax
=
2827 AARCH64_FEATURE (FAMINMAX
);
2828 static const aarch64_feature_set aarch64_feature_faminmax_sve2
=
2829 AARCH64_FEATURES (2, FAMINMAX
, SVE2
);
2830 static const aarch64_feature_set aarch64_feature_faminmax_sme2
=
2831 AARCH64_FEATURES (3, SVE2
, FAMINMAX
, SME2
);
2832 static const aarch64_feature_set aarch64_feature_fp8
=
2833 AARCH64_FEATURE (FP8
);
2834 static const aarch64_feature_set aarch64_feature_fp8_sve2
=
2835 AARCH64_FEATURES (2, FP8
, SVE2
);
2836 static const aarch64_feature_set aarch64_feature_fp8_sme2
=
2837 AARCH64_FEATURES (2, FP8
, SME2
);
2838 static const aarch64_feature_set aarch64_feature_lut
=
2839 AARCH64_FEATURE (LUT
);
2840 static const aarch64_feature_set aarch64_feature_lut_sve2
=
2841 AARCH64_FEATURES (2, LUT
, SVE2
);
2842 static const aarch64_feature_set aarch64_feature_brbe
=
2843 AARCH64_FEATURE (BRBE
);
2844 static const aarch64_feature_set aarch64_feature_sme_lutv2
=
2845 AARCH64_FEATURES (3, SME_LUTv2
, SME2
, SME2p1
);
2846 static const aarch64_feature_set aarch64_feature_fp8fma
=
2847 AARCH64_FEATURE (FP8FMA
);
2848 static const aarch64_feature_set aarch64_feature_fp8dot4
=
2849 AARCH64_FEATURE (FP8DOT4
);
2850 static const aarch64_feature_set aarch64_feature_fp8dot2
=
2851 AARCH64_FEATURE (FP8DOT2
);
2852 static const aarch64_feature_set aarch64_feature_fp8fma_sve
=
2853 AARCH64_FEATURES (2, FP8FMA_SVE
, SVE
);
2854 static const aarch64_feature_set aarch64_feature_fp8dot4_sve
=
2855 AARCH64_FEATURES (2, FP8DOT4_SVE
, SVE
);
2856 static const aarch64_feature_set aarch64_feature_fp8dot2_sve
=
2857 AARCH64_FEATURES (2, FP8DOT2_SVE
, SVE
);
2858 static const aarch64_feature_set aarch64_feature_sme_f8f32
=
2859 AARCH64_FEATURES (2, SME_F8F32
, SME2
);
2860 static const aarch64_feature_set aarch64_feature_sme_f8f16
=
2861 AARCH64_FEATURES (2, SME_F8F32
, SME2
);
2862 static const aarch64_feature_set aarch64_feature_sme_f16f16_f8f16
=
2863 AARCH64_FEATURES (2, SME_F16F16_F8F16
, SME2
);
2865 #define CORE &aarch64_feature_v8
2866 #define FP &aarch64_feature_fp
2867 #define SIMD &aarch64_feature_simd
2868 #define CRC &aarch64_feature_crc
2869 #define LSE &aarch64_feature_lse
2870 #define LSE128 &aarch64_feature_lse128
2871 #define LOR &aarch64_feature_lor
2872 #define RDMA &aarch64_feature_rdma
2873 #define FP_F16 &aarch64_feature_fp_f16
2874 #define SIMD_F16 &aarch64_feature_simd_f16
2875 #define SVE &aarch64_feature_sve
2876 #define PAUTH &aarch64_feature_pauth
2877 #define COMPNUM &aarch64_feature_compnum
2878 #define JSCVT &aarch64_feature_jscvt
2879 #define RCPC &aarch64_feature_rcpc
2880 #define RCPC2 &aarch64_feature_rcpc2
2881 #define SHA2 &aarch64_feature_sha2
2882 #define AES &aarch64_feature_aes
2883 #define SHA3 &aarch64_feature_sha3
2884 #define SM4 &aarch64_feature_sm4
2885 #define FP_F16_V8_2A &aarch64_feature_fp_16_v8_2a
2886 #define DOTPROD &aarch64_feature_dotprod
2887 #define FLAGMANIP &aarch64_feature_flagmanip
2888 #define FRINTTS &aarch64_feature_frintts
2889 #define SB &aarch64_feature_sb
2890 #define PREDRES &aarch64_feature_predres
2891 #define PREDRES2 &aarch64_feature_predres2
2892 #define MEMTAG &aarch64_feature_memtag
2893 #define TME &aarch64_feature_tme
2894 #define SVE2 &aarch64_feature_sve2
2895 #define SVE2_AES &aarch64_feature_sve2aes
2896 #define SVE2_SHA3 &aarch64_feature_sve2sha3
2897 #define SVE2_SM4 &aarch64_feature_sve2sm4
2898 #define SVE2_BITPERM &aarch64_feature_sve2bitperm
2899 #define SME &aarch64_feature_sme
2900 #define SME_F64F64 &aarch64_feature_sme_f64f64
2901 #define SME_I16I64 &aarch64_feature_sme_i16i64
2902 #define SME2 &aarch64_feature_sme2
2903 #define SME2_I16I64 &aarch64_feature_sme2_i16i64
2904 #define SME2_F64F64 &aarch64_feature_sme2_f64f64
2905 #define BFLOAT16_SVE &aarch64_feature_bfloat16_sve
2906 #define BFLOAT16 &aarch64_feature_bfloat16
2907 #define I8MM_SVE &aarch64_feature_i8mm_sve
2908 #define F32MM_SVE &aarch64_feature_f32mm_sve
2909 #define F64MM_SVE &aarch64_feature_f64mm_sve
2910 #define I8MM &aarch64_feature_i8mm
2911 #define ARMV8R &aarch64_feature_v8r
2912 #define LS64 &aarch64_feature_ls64
2913 #define FLAGM &aarch64_feature_flagm
2914 #define XS &aarch64_feature_xs
2915 #define WFXT &aarch64_feature_wfxt
2916 #define MOPS &aarch64_feature_mops
2917 #define MOPS_MEMTAG &aarch64_feature_mops_memtag
2918 #define HBC &aarch64_feature_hbc
2919 #define CSSC &aarch64_feature_cssc
2920 #define CHK &aarch64_feature_chk
2921 #define GCS &aarch64_feature_gcs
2922 #define ITE &aarch64_feature_ite
2923 #define D128 &aarch64_feature_d128
2924 #define THE &aarch64_feature_the
2925 #define D128_THE &aarch64_feature_d128_the
2926 #define B16B16_SVE2 &aarch64_feature_b16b16_sve2
2927 #define SME2p1 &aarch64_feature_sme2p1
2928 #define SVE2p1 &aarch64_feature_sve2p1
2929 #define RCPC3 &aarch64_feature_rcpc3
2930 #define CPA &aarch64_feature_cpa
2931 #define CPA_SVE &aarch64_feature_cpa_sve
2932 #define FAMINMAX &aarch64_feature_faminmax
2933 #define FAMINMAX_SVE2 &aarch64_feature_faminmax_sve2
2934 #define FAMINMAX_SME2 &aarch64_feature_faminmax_sme2
2935 #define FP8 &aarch64_feature_fp8
2936 #define FP8_SVE2 &aarch64_feature_fp8_sve2
2937 #define FP8_SME2 &aarch64_feature_fp8_sme2
2938 #define LUT &aarch64_feature_lut
2939 #define LUT_SVE2 &aarch64_feature_lut_sve2
2940 #define BRBE &aarch64_feature_brbe
2941 #define LUTv2_SME2 &aarch64_feature_sme_lutv2
2942 #define FP8FMA &aarch64_feature_fp8fma
2943 #define FP8DOT4 &aarch64_feature_fp8dot4
2944 #define FP8DOT2 &aarch64_feature_fp8dot2
2945 #define FP8FMA_SVE &aarch64_feature_fp8fma_sve
2946 #define FP8DOT4_SVE &aarch64_feature_fp8dot4_sve
2947 #define FP8DOT2_SVE &aarch64_feature_fp8dot2_sve
2948 #define SME_F8F32 &aarch64_feature_sme_f8f32
2949 #define SME_F8F16 &aarch64_feature_sme_f8f16
2950 #define SME_F16F16_F8F16 &aarch64_feature_sme_f16f16_f8f16
2952 #define CORE_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
2953 { NAME, OPCODE, MASK, CLASS, OP, CORE, OPS, QUALS, FLAGS, 0, 0, NULL }
2954 #define __FP_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
2955 { NAME, OPCODE, MASK, CLASS, OP, FP, OPS, QUALS, FLAGS, 0, 0, NULL }
2956 #define SIMD_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
2957 { NAME, OPCODE, MASK, CLASS, OP, SIMD, OPS, QUALS, FLAGS, 0, 0, NULL }
2958 #define _SIMD_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,VERIFIER) \
2959 { NAME, OPCODE, MASK, CLASS, OP, SIMD, OPS, QUALS, FLAGS, 0, 0, VERIFIER }
2960 #define _CRC_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2961 { NAME, OPCODE, MASK, CLASS, 0, CRC, OPS, QUALS, FLAGS, 0, 0, NULL }
2962 #define _LSE_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2963 { NAME, OPCODE, MASK, CLASS, 0, LSE, OPS, QUALS, FLAGS, 0, 0, NULL }
2964 #define _LSE128_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2965 { NAME, OPCODE, MASK, CLASS, 0, LSE128, OPS, QUALS, FLAGS, 0, 0, NULL }
2966 #define _LOR_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2967 { NAME, OPCODE, MASK, CLASS, 0, LOR, OPS, QUALS, FLAGS, 0, 0, NULL }
2968 #define RDMA_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2969 { NAME, OPCODE, MASK, CLASS, 0, RDMA, OPS, QUALS, FLAGS, 0, 0, NULL }
2970 #define FF16_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2971 { NAME, OPCODE, MASK, CLASS, 0, FP_F16, OPS, QUALS, FLAGS, 0, 0, NULL }
2972 #define SF16_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2973 { NAME, OPCODE, MASK, CLASS, 0, SIMD_F16, OPS, QUALS, FLAGS, 0, 0, NULL }
2974 #define _SVE_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
2975 { NAME, OPCODE, MASK, CLASS, OP, SVE, OPS, QUALS, \
2976 FLAGS | F_STRICT, 0, TIED, NULL }
2977 #define _SVE_INSNC(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
2978 { NAME, OPCODE, MASK, CLASS, OP, SVE, OPS, QUALS, \
2979 FLAGS | F_STRICT, CONSTRAINTS, TIED, NULL }
2980 #define PAUTH_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2981 { NAME, OPCODE, MASK, CLASS, 0, PAUTH, OPS, QUALS, FLAGS, 0, 0, NULL }
2982 #define CNUM_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
2983 { NAME, OPCODE, MASK, CLASS, OP, COMPNUM, OPS, QUALS, FLAGS, 0, 0, NULL }
2984 #define JSCVT_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2985 { NAME, OPCODE, MASK, CLASS, 0, JSCVT, OPS, QUALS, FLAGS, 0, 0, NULL }
2986 #define RCPC_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2987 { NAME, OPCODE, MASK, CLASS, 0, RCPC, OPS, QUALS, FLAGS, 0, 0, NULL }
2988 #define RCPC2_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2989 { NAME, OPCODE, MASK, CLASS, 0, RCPC2, OPS, QUALS, FLAGS, 0, 0, NULL }
2990 #define SHA2_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2991 { NAME, OPCODE, MASK, CLASS, 0, SHA2, OPS, QUALS, FLAGS, 0, 0, NULL }
2992 #define AES_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2993 { NAME, OPCODE, MASK, CLASS, 0, AES, OPS, QUALS, FLAGS, 0, 0, NULL }
2994 #define SHA3_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2995 { NAME, OPCODE, MASK, CLASS, 0, SHA3, OPS, QUALS, FLAGS, 0, 0, NULL }
2996 #define SM4_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2997 { NAME, OPCODE, MASK, CLASS, 0, SM4, OPS, QUALS, FLAGS, 0, 0, NULL }
2998 #define FP16_V8_2A_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
2999 { NAME, OPCODE, MASK, CLASS, 0, FP_F16_V8_2A, OPS, QUALS, FLAGS, 0, 0, NULL }
3000 #define DOT_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3001 { NAME, OPCODE, MASK, CLASS, 0, DOTPROD, OPS, QUALS, FLAGS, 0, 0, NULL }
3002 #define FLAGMANIP_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3003 { NAME, OPCODE, MASK, CLASS, 0, FLAGMANIP, OPS, QUALS, FLAGS, 0, 0, NULL }
3004 #define FRINTTS_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3005 { NAME, OPCODE, MASK, CLASS, 0, FRINTTS, OPS, QUALS, FLAGS, 0, 0, NULL }
3006 #define SB_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3007 { NAME, OPCODE, MASK, CLASS, 0, SB, OPS, QUALS, FLAGS, 0, 0, NULL }
3008 #define PREDRES_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3009 { NAME, OPCODE, MASK, CLASS, 0, PREDRES, OPS, QUALS, FLAGS, 0, 0, NULL }
3010 #define MEMTAG_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3011 { NAME, OPCODE, MASK, CLASS, 0, MEMTAG, OPS, QUALS, FLAGS, 0, 0, NULL }
3012 #define _TME_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
3013 { NAME, OPCODE, MASK, CLASS, OP, TME, OPS, QUALS, FLAGS, 0, 0, NULL }
3014 #define SVE2_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3015 { NAME, OPCODE, MASK, CLASS, OP, SVE2, OPS, QUALS, \
3016 FLAGS | F_STRICT, 0, TIED, NULL }
3017 #define SME2p1_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3018 { NAME, OPCODE, MASK, CLASS, OP, SME2p1, OPS, QUALS, \
3019 FLAGS | F_STRICT, 0, TIED, NULL }
3020 #define SVE2_INSNC(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
3021 { NAME, OPCODE, MASK, CLASS, OP, SVE2, OPS, QUALS, \
3022 FLAGS | F_STRICT, CONSTRAINTS, TIED, NULL }
3023 #define B16B16_SVE2_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3024 { NAME, OPCODE, MASK, CLASS, OP, B16B16_SVE2, OPS, QUALS, \
3025 FLAGS | F_STRICT, 0, TIED, NULL }
3026 #define B16B16_SVE2_INSNC(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
3027 { NAME, OPCODE, MASK, CLASS, OP, B16B16_SVE2, OPS, QUALS, \
3028 FLAGS | F_STRICT, CONSTRAINTS, TIED, NULL }
3029 #define SVE2p1_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3030 { NAME, OPCODE, MASK, CLASS, OP, SVE2p1, OPS, QUALS, \
3031 FLAGS | F_STRICT, 0, TIED, NULL }
3032 #define SVE2p1_INSNC(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
3033 { NAME, OPCODE, MASK, CLASS, OP, SVE2p1, OPS, QUALS, \
3034 FLAGS | F_STRICT, CONSTRAINTS, TIED, NULL }
3035 #define SVE2AES_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3036 { NAME, OPCODE, MASK, CLASS, OP, SVE2_AES, OPS, QUALS, \
3037 FLAGS | F_STRICT, 0, TIED, NULL }
3038 #define SVE2SHA3_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3039 { NAME, OPCODE, MASK, CLASS, OP, SVE2_SHA3, OPS, QUALS, \
3040 FLAGS | F_STRICT, 0, TIED, NULL }
3041 #define SVE2SM4_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3042 { NAME, OPCODE, MASK, CLASS, OP, SVE2_SM4, OPS, QUALS, \
3043 FLAGS | F_STRICT, 0, TIED, NULL }
3044 #define SVE2SM4_INSNC(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
3045 { NAME, OPCODE, MASK, CLASS, OP, SVE2_SM4, OPS, QUALS, \
3046 FLAGS | F_STRICT, CONSTRAINTS, TIED, NULL }
3047 #define SME_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3048 { NAME, OPCODE, MASK, CLASS, OP, SME, OPS, QUALS, \
3049 F_STRICT | FLAGS, 0, TIED, NULL }
3050 #define SME_F64F64_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3051 { NAME, OPCODE, MASK, CLASS, OP, SME_F64F64, OPS, QUALS, \
3052 F_STRICT | FLAGS, 0, TIED, NULL }
3053 #define SME_I16I64_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3054 { NAME, OPCODE, MASK, CLASS, OP, SME_I16I64, OPS, QUALS, \
3055 F_STRICT | FLAGS, 0, TIED, NULL }
3056 #define SME_INSNC(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
3057 { NAME, OPCODE, MASK, CLASS, OP, SME, OPS, QUALS, \
3058 F_STRICT | FLAGS, CONSTRAINTS, TIED, NULL }
3059 #define SME2_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3060 { NAME, OPCODE, MASK, CLASS, OP, SME2, OPS, QUALS, \
3061 F_STRICT | FLAGS, 0, TIED, NULL }
3062 #define SME2_INSNC(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
3063 { NAME, OPCODE, MASK, CLASS, OP, SME2, OPS, QUALS, \
3064 FLAGS | F_STRICT, CONSTRAINTS, TIED, NULL }
3065 #define SME2_I16I64_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3066 { NAME, OPCODE, MASK, CLASS, OP, SME2_I16I64, OPS, QUALS, \
3067 F_STRICT | FLAGS, 0, TIED, NULL }
3068 #define SME2_F64F64_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3069 { NAME, OPCODE, MASK, CLASS, OP, SME2_F64F64, OPS, QUALS, \
3070 F_STRICT | FLAGS, 0, TIED, NULL }
3071 #define SVE2BITPERM_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3072 { NAME, OPCODE, MASK, CLASS, OP, SVE2_BITPERM, OPS, QUALS, \
3073 FLAGS | F_STRICT, 0, TIED, NULL }
3074 #define BFLOAT16_SVE_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3075 { NAME, OPCODE, MASK, CLASS, 0, BFLOAT16_SVE, OPS, QUALS, FLAGS, 0, 0, NULL }
3076 #define BFLOAT16_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS, CONSTRAINTS, TIED) \
3077 { NAME, OPCODE, MASK, CLASS, 0, BFLOAT16_SVE, OPS, QUALS, FLAGS | F_STRICT, \
3078 CONSTRAINTS, TIED, NULL }
3079 #define BFLOAT16_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3080 { NAME, OPCODE, MASK, CLASS, 0, BFLOAT16, OPS, QUALS, FLAGS, 0, 0, NULL }
3081 #define INT8MATMUL_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS, CONSTRAINTS, TIED) \
3082 { NAME, OPCODE, MASK, CLASS, 0, I8MM_SVE, OPS, QUALS, FLAGS, CONSTRAINTS, TIED, NULL }
3083 #define INT8MATMUL_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3084 { NAME, OPCODE, MASK, CLASS, 0, I8MM, OPS, QUALS, FLAGS, 0, 0, NULL }
3085 #define F64MATMUL_SVE_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,TIED) \
3086 { NAME, OPCODE, MASK, CLASS, 0, F64MM_SVE, OPS, QUALS, FLAGS, 0, TIED, NULL }
3087 #define F64MATMUL_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS, CONSTRAINTS, TIED) \
3088 { NAME, OPCODE, MASK, CLASS, 0, F64MM_SVE, OPS, QUALS, FLAGS, CONSTRAINTS, TIED, NULL }
3089 #define F32MATMUL_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS, CONSTRAINTS, TIED) \
3090 { NAME, OPCODE, MASK, CLASS, 0, F32MM_SVE, OPS, QUALS, FLAGS, CONSTRAINTS, TIED, NULL }
3091 #define V8R_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3092 { NAME, OPCODE, MASK, CLASS, 0, ARMV8R, OPS, QUALS, FLAGS, 0, 0, NULL }
3093 #define XS_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3094 { NAME, OPCODE, MASK, CLASS, 0, XS, OPS, QUALS, FLAGS, 0, 0, NULL }
3095 #define WFXT_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3096 { NAME, OPCODE, MASK, CLASS, 0, WFXT, OPS, QUALS, FLAGS, 0, 0, NULL }
3097 #define _LS64_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3098 { NAME, OPCODE, MASK, CLASS, 0, LS64, OPS, QUALS, FLAGS, 0, 0, NULL }
3099 #define FLAGM_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3100 { NAME, OPCODE, MASK, CLASS, 0, FLAGM, OPS, QUALS, FLAGS, 0, 0, NULL }
3101 #define MOPS_INSN(NAME, OPCODE, MASK, CLASS, OPS, QUALS, FLAGS, CONSTRAINTS, VERIFIER) \
3102 { NAME, OPCODE, MASK, CLASS, 0, MOPS, OPS, QUALS, FLAGS, CONSTRAINTS, \
3104 #define MOPS_MEMTAG_INSN(NAME, OPCODE, MASK, CLASS, OPS, QUALS, FLAGS, CONSTRAINTS, VERIFIER) \
3105 { NAME, OPCODE, MASK, CLASS, 0, MOPS_MEMTAG, OPS, QUALS, FLAGS, \
3106 CONSTRAINTS, 0, VERIFIER }
3107 #define HBC_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3108 { NAME, OPCODE, MASK, CLASS, 0, HBC, OPS, QUALS, FLAGS, 0, 0, NULL }
3109 #define CSSC_INSN(NAME,OPCODE,MASK,OPS,QUALS,FLAGS) \
3110 { NAME, OPCODE, MASK, cssc, 0, CSSC, OPS, QUALS, FLAGS, 0, 0, NULL }
3111 #define CHK_INSN(NAME, OPCODE, MASK, OPS, QUALS, FLAGS) \
3112 { NAME, OPCODE, MASK, ic_system, 0, CHK, OPS, QUALS, FLAGS, 0, 0, NULL }
3113 #define GCS_INSN(NAME, OPCODE, MASK, OPS, QUALS, FLAGS) \
3114 { NAME, OPCODE, MASK, gcs, 0, GCS, OPS, QUALS, FLAGS, 0, 0, NULL }
3115 #define D128_INSN(NAME,OPCODE,MASK,OPS,QUALS,FLAGS) \
3116 { NAME, OPCODE, MASK, ic_system, 0, D128, OPS, QUALS, FLAGS, 0, 0, NULL }
3117 #define THE_INSN(NAME,OPCODE,MASK,OPS,QUALS,FLAGS) \
3118 { NAME, OPCODE, MASK, the, 0, THE, OPS, QUALS, FLAGS, 0, 0, NULL }
3119 #define D128_THE_INSN(NAME,OPCODE,MASK,OPS,QUALS,FLAGS) \
3120 { NAME, OPCODE, MASK, the, 0, D128_THE, OPS, QUALS, FLAGS, 0, 0, NULL }
3121 #define RCPC3_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3122 { NAME, OPCODE, MASK, CLASS, 0, RCPC3, OPS, QUALS, FLAGS, 0, 0, NULL }
3123 #define CPA_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS) \
3124 { NAME, OPCODE, MASK, CLASS, 0, CPA, OPS, QUALS, 0, 0, 0, NULL }
3125 #define CPA_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,CONSTRAINTS,TIED) \
3126 { NAME, OPCODE, MASK, CLASS, 0, CPA_SVE, OPS, QUALS, \
3127 F_STRICT, CONSTRAINTS, TIED, NULL }
3128 #define FAMINMAX_INSN(NAME,OPCODE,MASK,OPS,QUALS,FLAGS) \
3129 { NAME, OPCODE, MASK, asimdsame, 0, FAMINMAX, OPS, QUALS, FLAGS, 0, 0, NULL }
3130 #define FAMINMAX_SVE2_INSN(NAME,OPCODE,MASK,OPS,QUALS,CONSTRAINTS) \
3131 { NAME, OPCODE, MASK, sve_size_hsd, 0, FAMINMAX_SVE2, OPS, QUALS, \
3132 0 | F_STRICT, CONSTRAINTS, 2, NULL }
3133 #define FAMINMAX_SME2_INSN(NAME,OPCODE,MASK,OPS,QUALS) \
3134 { NAME, OPCODE, MASK, sme_size_22_hsd, 0, FAMINMAX_SME2, OPS, QUALS, \
3135 F_STRICT | 0, 0, 1, NULL }
3136 #define FP8_INSN(NAME, OPCODE, MASK, CLASS, OPS, QUALS, FLAGS) \
3137 { NAME, OPCODE, MASK, CLASS, 0, FP8, OPS, QUALS, FLAGS, 0, 0, NULL }
3138 #define FP8_SVE2_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3139 { NAME, OPCODE, MASK, CLASS, OP, FP8_SVE2, OPS, QUALS, \
3140 FLAGS | F_STRICT, 0, TIED, NULL }
3141 #define FP8_SME2_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
3142 { NAME, OPCODE, MASK, CLASS, OP, FP8_SME2, OPS, QUALS, \
3143 F_STRICT | FLAGS, 0, TIED, NULL }
3144 #define LUT_INSN(NAME,OPCODE,MASK,OPS,QUALS,FLAGS) \
3145 { NAME, OPCODE, MASK, lut, 0, LUT, OPS, QUALS, FLAGS, 0, 0, NULL }
3146 #define LUT_SVE2_INSN(NAME,OPCODE,MASK,OPS,QUALS,FLAGS,CONSTRAINTS) \
3147 { NAME, OPCODE, MASK, lut, 0, LUT_SVE2, OPS, QUALS, \
3148 FLAGS, CONSTRAINTS, 0, NULL }
3149 #define BRBE_INSN(NAME,OPCODE,MASK,OPS,QUALS,FLAGS) \
3150 { NAME, OPCODE, MASK, ic_system, 0, BRBE, OPS, QUALS, FLAGS, 0, 0, NULL }
3151 #define LUTv2_SME2_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3152 { NAME, OPCODE, MASK, CLASS, 0, LUTv2_SME2, OPS, QUALS, \
3154 #define FP8FMA_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3155 { NAME, OPCODE, MASK, CLASS, 0, FP8FMA, OPS, QUALS, FLAGS, 0, 0, NULL }
3156 #define FP8DOT4_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3157 { NAME, OPCODE, MASK, CLASS, 0, FP8DOT4, OPS, QUALS, FLAGS, 0, 0, NULL }
3158 #define FP8DOT2_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3159 { NAME, OPCODE, MASK, CLASS, 0, FP8DOT2, OPS, QUALS, FLAGS, 0, 0, NULL }
3160 #define FP8FMA_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
3161 { NAME, OPCODE, MASK, CLASS, 0, FP8FMA_SVE, OPS, QUALS, F_STRICT | FLAGS, CONSTRAINTS, TIED, NULL }
3162 #define FP8DOT4_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
3163 { NAME, OPCODE, MASK, CLASS, 0, FP8DOT4_SVE, OPS, QUALS, F_STRICT | FLAGS, CONSTRAINTS, TIED, NULL }
3164 #define FP8DOT2_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
3165 { NAME, OPCODE, MASK, CLASS, 0, FP8DOT2_SVE, OPS, QUALS, F_STRICT | FLAGS, CONSTRAINTS, TIED, NULL }
3166 #define SME_F8F32_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,CONSTRAINTS) \
3167 { NAME, OPCODE, MASK, CLASS, 0, SME_F8F32, OPS, QUALS, F_STRICT | FLAGS, CONSTRAINTS, 0, NULL }
3168 #define SME_F8F16_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,CONSTRAINTS) \
3169 { NAME, OPCODE, MASK, CLASS, 0, SME_F8F16, OPS, QUALS, F_STRICT | FLAGS, CONSTRAINTS, 0, NULL }
3170 #define SME_F16F16_F8F16_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,CONSTRAINTS) \
3171 { NAME, OPCODE, MASK, CLASS, 0, SME_F16F16_F8F16, OPS, QUALS, F_STRICT | FLAGS, CONSTRAINTS, 0, NULL }
3173 #define MOPS_CPY_OP1_OP2_PME_INSN(NAME, OPCODE, MASK, FLAGS, CONSTRAINTS) \
3174 MOPS_INSN (NAME, OPCODE, MASK, 0, \
3175 OP3 (MOPS_ADDR_Rd, MOPS_ADDR_Rs, MOPS_WB_Rn), QL_I3SAMEX, \
3176 FLAGS, CONSTRAINTS, VERIFIER (three_different_regs))
3178 /* These instructions must remain consecutive, since we rely on the order
3179 when detecting invalid sequences. */
3180 #define MOPS_CPY_OP1_OP2_INSN(NAME, SUFFIX, OPCODE, MASK) \
3181 MOPS_CPY_OP1_OP2_PME_INSN (NAME "p" SUFFIX, OPCODE, MASK, F_SCAN, \
3183 MOPS_CPY_OP1_OP2_PME_INSN (NAME "m" SUFFIX, OPCODE | 0x400000, MASK, \
3184 0, C_SCAN_MOPS_M), \
3185 MOPS_CPY_OP1_OP2_PME_INSN (NAME "e" SUFFIX, OPCODE | 0x800000, MASK, \
3188 #define MOPS_CPY_OP1_INSN(NAME, SUFFIX, OPCODE, MASK) \
3189 MOPS_CPY_OP1_OP2_INSN (NAME, SUFFIX, OPCODE, MASK), \
3190 MOPS_CPY_OP1_OP2_INSN (NAME, SUFFIX "wn", OPCODE | 0x4000, MASK), \
3191 MOPS_CPY_OP1_OP2_INSN (NAME, SUFFIX "rn", OPCODE | 0x8000, MASK), \
3192 MOPS_CPY_OP1_OP2_INSN (NAME, SUFFIX "n", OPCODE | 0xc000, MASK)
3194 #define MOPS_CPY_INSN(NAME, OPCODE, MASK) \
3195 MOPS_CPY_OP1_INSN (NAME, "", OPCODE, MASK), \
3196 MOPS_CPY_OP1_INSN (NAME, "wt", OPCODE | 0x1000, MASK), \
3197 MOPS_CPY_OP1_INSN (NAME, "rt", OPCODE | 0x2000, MASK), \
3198 MOPS_CPY_OP1_INSN (NAME, "t", OPCODE | 0x3000, MASK)
3200 #define MOPS_SET_OP1_OP2_PME_INSN(NAME, OPCODE, MASK, FLAGS, CONSTRAINTS, ISA) \
3201 ISA (NAME, OPCODE, MASK, 0, \
3202 OP3 (MOPS_ADDR_Rd, MOPS_WB_Rn, Rm), QL_I3SAMEX, FLAGS, \
3203 CONSTRAINTS, VERIFIER (three_different_regs))
3205 /* These instructions must remain consecutive, since we rely on the order
3206 when detecting invalid sequences. */
3207 #define MOPS_SET_OP1_OP2_INSN(NAME, SUFFIX, OPCODE, MASK, ISA) \
3208 MOPS_SET_OP1_OP2_PME_INSN (NAME "p" SUFFIX, OPCODE, MASK, \
3209 F_SCAN, C_SCAN_MOPS_P, ISA), \
3210 MOPS_SET_OP1_OP2_PME_INSN (NAME "m" SUFFIX, OPCODE | 0x4000, MASK, \
3211 0, C_SCAN_MOPS_M, ISA), \
3212 MOPS_SET_OP1_OP2_PME_INSN (NAME "e" SUFFIX, OPCODE | 0x8000, MASK, \
3213 0, C_SCAN_MOPS_E, ISA)
3215 #define MOPS_SET_INSN(NAME, OPCODE, MASK, ISA) \
3216 MOPS_SET_OP1_OP2_INSN (NAME, "", OPCODE, MASK, ISA), \
3217 MOPS_SET_OP1_OP2_INSN (NAME, "t", OPCODE | 0x1000, MASK, ISA), \
3218 MOPS_SET_OP1_OP2_INSN (NAME, "n", OPCODE | 0x2000, MASK, ISA), \
3219 MOPS_SET_OP1_OP2_INSN (NAME, "tn", OPCODE | 0x3000, MASK, ISA)
3221 #define PREDRES2_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3222 { NAME, OPCODE, MASK, CLASS, 0, PREDRES2, OPS, QUALS, FLAGS, 0, 0, NULL }
3224 #define ITE_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
3225 { NAME, OPCODE, MASK, CLASS, 0, ITE, OPS, QUALS, FLAGS, 0, 0, NULL }
3227 const struct aarch64_opcode aarch64_opcode_table
[] =
3229 /* Add/subtract (with carry). */
3230 CORE_INSN ("adc", 0x1a000000, 0x7fe0fc00, addsub_carry
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
),
3231 CORE_INSN ("adcs", 0x3a000000, 0x7fe0fc00, addsub_carry
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
),
3232 CORE_INSN ("sbc", 0x5a000000, 0x7fe0fc00, addsub_carry
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_HAS_ALIAS
| F_SF
),
3233 CORE_INSN ("ngc", 0x5a0003e0, 0x7fe0ffe0, addsub_carry
, 0, OP2 (Rd
, Rm
), QL_I2SAME
, F_ALIAS
| F_SF
),
3234 CORE_INSN ("sbcs", 0x7a000000, 0x7fe0fc00, addsub_carry
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_HAS_ALIAS
| F_SF
),
3235 CORE_INSN ("ngcs", 0x7a0003e0, 0x7fe0ffe0, addsub_carry
, 0, OP2 (Rd
, Rm
), QL_I2SAME
, F_ALIAS
| F_SF
),
3236 /* Add/subtract (extended register). */
3237 CORE_INSN ("add", 0x0b200000, 0x7fe00000, addsub_ext
, 0, OP3 (Rd_SP
, Rn_SP
, Rm_EXT
), QL_I3_EXT
, F_ARITH_ADD
| F_SF
),
3238 CORE_INSN ("adds", 0x2b200000, 0x7fe00000, addsub_ext
, 0, OP3 (Rd
, Rn_SP
, Rm_EXT
), QL_I3_EXT
, F_ARITH_ADD
| F_HAS_ALIAS
| F_SF
),
3239 CORE_INSN ("cmn", 0x2b20001f, 0x7fe0001f, addsub_ext
, 0, OP2 (Rn_SP
, Rm_EXT
), QL_I2_EXT
, F_SUBCLASS_OTHER
| F_ALIAS
| F_SF
),
3240 CORE_INSN ("sub", 0x4b200000, 0x7fe00000, addsub_ext
, 0, OP3 (Rd_SP
, Rn_SP
, Rm_EXT
), QL_I3_EXT
, F_ARITH_SUB
| F_SF
),
3241 CORE_INSN ("subs", 0x6b200000, 0x7fe00000, addsub_ext
, 0, OP3 (Rd
, Rn_SP
, Rm_EXT
), QL_I3_EXT
, F_ARITH_SUB
| F_HAS_ALIAS
| F_SF
),
3242 CORE_INSN ("cmp", 0x6b20001f, 0x7fe0001f, addsub_ext
, 0, OP2 (Rn_SP
, Rm_EXT
), QL_I2_EXT
, F_SUBCLASS_OTHER
| F_ALIAS
| F_SF
),
3243 /* Add/subtract (immediate). */
3244 CORE_INSN ("add", 0x11000000, 0x7f000000, addsub_imm
, OP_ADD
, OP3 (Rd_SP
, Rn_SP
, AIMM
), QL_R2NIL
, F_ARITH_ADD
| F_HAS_ALIAS
| F_SF
),
3245 CORE_INSN ("mov", 0x11000000, 0x7ffffc00, addsub_imm
, 0, OP2 (Rd_SP
, Rn_SP
), QL_I2SP
, F_ARITH_MOV
| F_ALIAS
| F_SF
),
3246 CORE_INSN ("adds", 0x31000000, 0x7f000000, addsub_imm
, 0, OP3 (Rd
, Rn_SP
, AIMM
), QL_R2NIL
, F_ARITH_ADD
| F_HAS_ALIAS
| F_SF
),
3247 CORE_INSN ("cmn", 0x3100001f, 0x7f00001f, addsub_imm
, 0, OP2 (Rn_SP
, AIMM
), QL_R1NIL
, F_SUBCLASS_OTHER
| F_ALIAS
| F_SF
),
3248 CORE_INSN ("sub", 0x51000000, 0x7f000000, addsub_imm
, 0, OP3 (Rd_SP
, Rn_SP
, AIMM
), QL_R2NIL
, F_ARITH_SUB
| F_SF
),
3249 CORE_INSN ("subs", 0x71000000, 0x7f000000, addsub_imm
, 0, OP3 (Rd
, Rn_SP
, AIMM
), QL_R2NIL
, F_ARITH_SUB
| F_HAS_ALIAS
| F_SF
),
3250 CORE_INSN ("cmp", 0x7100001f, 0x7f00001f, addsub_imm
, 0, OP2 (Rn_SP
, AIMM
), QL_R1NIL
, F_SUBCLASS_OTHER
| F_ALIAS
| F_SF
),
3251 MEMTAG_INSN ("addg", 0x91800000, 0xffc0c000, addsub_imm
, OP4 (Rd_SP
, Rn_SP
, UIMM10
, UIMM4_ADDG
), QL_ADDG
, F_SUBCLASS_OTHER
),
3252 MEMTAG_INSN ("subg", 0xd1800000, 0xffc0c000, addsub_imm
, OP4 (Rd_SP
, Rn_SP
, UIMM10
, UIMM4_ADDG
), QL_ADDG
, F_SUBCLASS_OTHER
),
3253 /* Add/subtract (shifted register). */
3254 CORE_INSN ("add", 0x0b000000, 0x7f200000, addsub_shift
, 0, OP3 (Rd
, Rn
, Rm_SFT
), QL_I3SAMER
, F_SF
),
3255 CORE_INSN ("adds", 0x2b000000, 0x7f200000, addsub_shift
, 0, OP3 (Rd
, Rn
, Rm_SFT
), QL_I3SAMER
, F_HAS_ALIAS
| F_SF
),
3256 CORE_INSN ("cmn", 0x2b00001f, 0x7f20001f, addsub_shift
, 0, OP2 (Rn
, Rm_SFT
), QL_I2SAME
, F_ALIAS
| F_SF
),
3257 CORE_INSN ("sub", 0x4b000000, 0x7f200000, addsub_shift
, 0, OP3 (Rd
, Rn
, Rm_SFT
), QL_I3SAMER
, F_HAS_ALIAS
| F_SF
),
3258 CORE_INSN ("neg", 0x4b0003e0, 0x7f2003e0, addsub_shift
, 0, OP2 (Rd
, Rm_SFT
), QL_I2SAME
, F_ALIAS
| F_SF
),
3259 CORE_INSN ("subs", 0x6b000000, 0x7f200000, addsub_shift
, 0, OP3 (Rd
, Rn
, Rm_SFT
), QL_I3SAMER
, F_HAS_ALIAS
| F_SF
),
3260 CORE_INSN ("cmp", 0x6b00001f, 0x7f20001f, addsub_shift
, 0, OP2 (Rn
, Rm_SFT
), QL_I2SAME
, F_ALIAS
| F_SF
| F_P1
),
3261 CORE_INSN ("negs", 0x6b0003e0, 0x7f2003e0, addsub_shift
, 0, OP2 (Rd
, Rm_SFT
), QL_I2SAME
, F_ALIAS
| F_SF
),
3262 /* AdvSIMD across lanes. */
3263 SIMD_INSN ("saddlv", 0x0e303800, 0xbf3ffc00, asimdall
, 0, OP2 (Fd
, Vn
), QL_XLANES_L
, F_SIZEQ
),
3264 SIMD_INSN ("smaxv", 0x0e30a800, 0xbf3ffc00, asimdall
, 0, OP2 (Fd
, Vn
), QL_XLANES
, F_SIZEQ
),
3265 SIMD_INSN ("sminv", 0x0e31a800, 0xbf3ffc00, asimdall
, 0, OP2 (Fd
, Vn
), QL_XLANES
, F_SIZEQ
),
3266 SIMD_INSN ("addv", 0x0e31b800, 0xbf3ffc00, asimdall
, 0, OP2 (Fd
, Vn
), QL_XLANES
, F_SIZEQ
),
3267 SIMD_INSN ("uaddlv", 0x2e303800, 0xbf3ffc00, asimdall
, 0, OP2 (Fd
, Vn
), QL_XLANES_L
, F_SIZEQ
),
3268 SIMD_INSN ("umaxv", 0x2e30a800, 0xbf3ffc00, asimdall
, 0, OP2 (Fd
, Vn
), QL_XLANES
, F_SIZEQ
),
3269 SIMD_INSN ("uminv", 0x2e31a800, 0xbf3ffc00, asimdall
, 0, OP2 (Fd
, Vn
), QL_XLANES
, F_SIZEQ
),
3270 SIMD_INSN ("fmaxnmv",0x2e30c800, 0xbfbffc00, asimdall
, 0, OP2 (Fd
, Vn
), QL_XLANES_FP
, F_SIZEQ
),
3271 SF16_INSN ("fmaxnmv",0x0e30c800, 0xbffffc00, asimdall
, OP2 (Fd
, Vn
), QL_XLANES_FP_H
, F_SIZEQ
),
3272 SIMD_INSN ("fmaxv", 0x2e30f800, 0xbfbffc00, asimdall
, 0, OP2 (Fd
, Vn
), QL_XLANES_FP
, F_SIZEQ
),
3273 SF16_INSN ("fmaxv", 0x0e30f800, 0xbffffc00, asimdall
, OP2 (Fd
, Vn
), QL_XLANES_FP_H
, F_SIZEQ
),
3274 SIMD_INSN ("fminnmv",0x2eb0c800, 0xbfbffc00, asimdall
, 0, OP2 (Fd
, Vn
), QL_XLANES_FP
, F_SIZEQ
),
3275 SF16_INSN ("fminnmv",0x0eb0c800, 0xbffffc00, asimdall
, OP2 (Fd
, Vn
), QL_XLANES_FP_H
, F_SIZEQ
),
3276 SIMD_INSN ("fminv", 0x2eb0f800, 0xbfbffc00, asimdall
, 0, OP2 (Fd
, Vn
), QL_XLANES_FP
, F_SIZEQ
),
3277 SF16_INSN ("fminv", 0x0eb0f800, 0xbffffc00, asimdall
, OP2 (Fd
, Vn
), QL_XLANES_FP_H
, F_SIZEQ
),
3278 /* AdvSIMD three different. */
3279 SIMD_INSN ("saddl", 0x0e200000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS
, F_SIZEQ
),
3280 SIMD_INSN ("saddl2", 0x4e200000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS2
, F_SIZEQ
),
3281 SIMD_INSN ("saddw", 0x0e201000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3WIDEBHS
, F_SIZEQ
),
3282 SIMD_INSN ("saddw2", 0x4e201000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3WIDEBHS2
, F_SIZEQ
),
3283 SIMD_INSN ("ssubl", 0x0e202000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS
, F_SIZEQ
),
3284 SIMD_INSN ("ssubl2", 0x4e202000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS2
, F_SIZEQ
),
3285 SIMD_INSN ("ssubw", 0x0e203000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3WIDEBHS
, F_SIZEQ
),
3286 SIMD_INSN ("ssubw2", 0x4e203000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3WIDEBHS2
, F_SIZEQ
),
3287 SIMD_INSN ("addhn", 0x0e204000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3NARRBHS
, F_SIZEQ
),
3288 SIMD_INSN ("addhn2", 0x4e204000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3NARRBHS2
, F_SIZEQ
),
3289 SIMD_INSN ("sabal", 0x0e205000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS
, F_SIZEQ
),
3290 SIMD_INSN ("sabal2", 0x4e205000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS2
, F_SIZEQ
),
3291 SIMD_INSN ("subhn", 0x0e206000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3NARRBHS
, F_SIZEQ
),
3292 SIMD_INSN ("subhn2", 0x4e206000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3NARRBHS2
, F_SIZEQ
),
3293 SIMD_INSN ("sabdl", 0x0e207000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS
, F_SIZEQ
),
3294 SIMD_INSN ("sabdl2", 0x4e207000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS2
, F_SIZEQ
),
3295 SIMD_INSN ("smlal", 0x0e208000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS
, F_SIZEQ
),
3296 SIMD_INSN ("smlal2", 0x4e208000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS2
, F_SIZEQ
),
3297 SIMD_INSN ("sqdmlal", 0x0e209000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGHS
, F_SIZEQ
),
3298 SIMD_INSN ("sqdmlal2",0x4e209000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGHS2
, F_SIZEQ
),
3299 SIMD_INSN ("smlsl", 0x0e20a000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS
, F_SIZEQ
),
3300 SIMD_INSN ("smlsl2", 0x4e20a000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS2
, F_SIZEQ
),
3301 SIMD_INSN ("sqdmlsl", 0x0e20b000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGHS
, F_SIZEQ
),
3302 SIMD_INSN ("sqdmlsl2",0x4e20b000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGHS2
, F_SIZEQ
),
3303 SIMD_INSN ("smull", 0x0e20c000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS
, F_SIZEQ
),
3304 SIMD_INSN ("smull2", 0x4e20c000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS2
, F_SIZEQ
),
3305 SIMD_INSN ("sqdmull", 0x0e20d000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGHS
, F_SIZEQ
),
3306 SIMD_INSN ("sqdmull2",0x4e20d000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGHS2
, F_SIZEQ
),
3307 SIMD_INSN ("pmull", 0x0e20e000, 0xffe0fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGB
, 0),
3308 AES_INSN ("pmull", 0x0ee0e000, 0xffe0fc00, asimddiff
, OP3 (Vd
, Vn
, Vm
), QL_V3LONGD
, 0),
3309 SIMD_INSN ("pmull2", 0x4e20e000, 0xffe0fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGB2
, 0),
3310 AES_INSN ("pmull2", 0x4ee0e000, 0xffe0fc00, asimddiff
, OP3 (Vd
, Vn
, Vm
), QL_V3LONGD2
, 0),
3311 SIMD_INSN ("uaddl", 0x2e200000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS
, F_SIZEQ
),
3312 SIMD_INSN ("uaddl2", 0x6e200000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS2
, F_SIZEQ
),
3313 SIMD_INSN ("uaddw", 0x2e201000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3WIDEBHS
, F_SIZEQ
),
3314 SIMD_INSN ("uaddw2", 0x6e201000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3WIDEBHS2
, F_SIZEQ
),
3315 SIMD_INSN ("usubl", 0x2e202000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS
, F_SIZEQ
),
3316 SIMD_INSN ("usubl2", 0x6e202000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS2
, F_SIZEQ
),
3317 SIMD_INSN ("usubw", 0x2e203000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3WIDEBHS
, F_SIZEQ
),
3318 SIMD_INSN ("usubw2", 0x6e203000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3WIDEBHS2
, F_SIZEQ
),
3319 SIMD_INSN ("raddhn", 0x2e204000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3NARRBHS
, F_SIZEQ
),
3320 SIMD_INSN ("raddhn2", 0x6e204000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3NARRBHS2
, F_SIZEQ
),
3321 SIMD_INSN ("uabal", 0x2e205000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS
, F_SIZEQ
),
3322 SIMD_INSN ("uabal2", 0x6e205000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS2
, F_SIZEQ
),
3323 SIMD_INSN ("rsubhn", 0x2e206000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3NARRBHS
, F_SIZEQ
),
3324 SIMD_INSN ("rsubhn2", 0x6e206000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3NARRBHS2
, F_SIZEQ
),
3325 SIMD_INSN ("uabdl", 0x2e207000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS
, F_SIZEQ
),
3326 SIMD_INSN ("uabdl2", 0x6e207000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS2
, F_SIZEQ
),
3327 SIMD_INSN ("umlal", 0x2e208000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS
, F_SIZEQ
),
3328 SIMD_INSN ("umlal2", 0x6e208000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS2
, F_SIZEQ
),
3329 SIMD_INSN ("umlsl", 0x2e20a000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS
, F_SIZEQ
),
3330 SIMD_INSN ("umlsl2", 0x6e20a000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS2
, F_SIZEQ
),
3331 SIMD_INSN ("umull", 0x2e20c000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS
, F_SIZEQ
),
3332 SIMD_INSN ("umull2", 0x6e20c000, 0xff20fc00, asimddiff
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3LONGBHS2
, F_SIZEQ
),
3333 /* AdvSIMD vector x indexed element. */
3334 SIMD_INSN ("smlal", 0x0f002000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L
, F_SIZEQ
),
3335 SIMD_INSN ("smlal2", 0x4f002000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L2
, F_SIZEQ
),
3336 SIMD_INSN ("sqdmlal", 0x0f003000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L
, F_SIZEQ
),
3337 SIMD_INSN ("sqdmlal2",0x4f003000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L2
, F_SIZEQ
),
3338 SIMD_INSN ("smlsl", 0x0f006000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L
, F_SIZEQ
),
3339 SIMD_INSN ("smlsl2", 0x4f006000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L2
, F_SIZEQ
),
3340 SIMD_INSN ("sqdmlsl", 0x0f007000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L
, F_SIZEQ
),
3341 SIMD_INSN ("sqdmlsl2",0x4f007000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L2
, F_SIZEQ
),
3342 SIMD_INSN ("mul", 0x0f008000, 0xbf00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT
, F_SIZEQ
),
3343 SIMD_INSN ("smull", 0x0f00a000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L
, F_SIZEQ
),
3344 SIMD_INSN ("smull2", 0x4f00a000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L2
, F_SIZEQ
),
3345 SIMD_INSN ("sqdmull", 0x0f00b000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L
, F_SIZEQ
),
3346 SIMD_INSN ("sqdmull2",0x4f00b000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L2
, F_SIZEQ
),
3347 SIMD_INSN ("sqdmulh", 0x0f00c000, 0xbf00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT
, F_SIZEQ
),
3348 SIMD_INSN ("sqrdmulh",0x0f00d000, 0xbf00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT
, F_SIZEQ
),
3349 _SIMD_INSN ("fmla", 0x0f801000, 0xbf80f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em
), QL_ELEMENT_FP
, F_SIZEQ
, VERIFIER (elem_sd
)),
3350 SF16_INSN ("fmla", 0x0f001000, 0xbfc0f400, asimdelem
, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_FP_H
, F_SIZEQ
),
3351 _SIMD_INSN ("fmls", 0x0f805000, 0xbf80f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em
), QL_ELEMENT_FP
, F_SIZEQ
, VERIFIER (elem_sd
)),
3352 SF16_INSN ("fmls", 0x0f005000, 0xbfc0f400, asimdelem
, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_FP_H
, F_SIZEQ
),
3353 _SIMD_INSN ("fmul", 0x0f809000, 0xbf80f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em
), QL_ELEMENT_FP
, F_SIZEQ
, VERIFIER (elem_sd
)),
3354 SF16_INSN ("fmul", 0x0f009000, 0xbfc0f400, asimdelem
, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_FP_H
, F_SIZEQ
),
3355 SIMD_INSN ("mla", 0x2f000000, 0xbf00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT
, F_SIZEQ
),
3356 SIMD_INSN ("umlal", 0x2f002000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L
, F_SIZEQ
),
3357 SIMD_INSN ("umlal2", 0x6f002000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L2
, F_SIZEQ
),
3358 SIMD_INSN ("mls", 0x2f004000, 0xbf00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT
, F_SIZEQ
),
3359 SIMD_INSN ("umlsl", 0x2f006000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L
, F_SIZEQ
),
3360 SIMD_INSN ("umlsl2", 0x6f006000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L2
, F_SIZEQ
),
3361 SIMD_INSN ("umull", 0x2f00a000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L
, F_SIZEQ
),
3362 SIMD_INSN ("umull2", 0x6f00a000, 0xff00f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_L2
, F_SIZEQ
),
3363 _SIMD_INSN ("fmulx", 0x2f809000, 0xbf80f400, asimdelem
, 0, OP3 (Vd
, Vn
, Em
), QL_ELEMENT_FP
, F_SIZEQ
, VERIFIER (elem_sd
)),
3364 SF16_INSN ("fmulx", 0x2f009000, 0xbfc0f400, asimdelem
, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT_FP_H
, F_SIZEQ
),
3365 RDMA_INSN ("sqrdmlah",0x2f00d000, 0xbf00f400, asimdelem
, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT
, F_SIZEQ
),
3366 RDMA_INSN ("sqrdmlsh",0x2f00f000, 0xbf00f400, asimdelem
, OP3 (Vd
, Vn
, Em16
), QL_ELEMENT
, F_SIZEQ
),
3367 CNUM_INSN ("fcmla", 0x2f001000, 0xbf009400, asimdelem
, OP_FCMLA_ELEM
, OP4 (Vd
, Vn
, Em
, IMM_ROT2
), QL_ELEMENT_ROT
, F_SIZEQ
),
3369 SIMD_INSN ("ext", 0x2e000000, 0xbfe08400, asimdext
, 0, OP4 (Vd
, Vn
, Vm
, IDX
), QL_VEXT
, F_SIZEQ
),
3370 /* AdvSIMD modified immediate. */
3371 SIMD_INSN ("movi", 0x0f000400, 0xbff89c00, asimdimm
, 0, OP2 (Vd
, SIMD_IMM_SFT
), QL_SIMD_IMM_S0W
, F_SIZEQ
),
3372 SIMD_INSN ("orr", 0x0f001400, 0xbff89c00, asimdimm
, 0, OP2 (Vd
, SIMD_IMM_SFT
), QL_SIMD_IMM_S0W
, F_SIZEQ
),
3373 SIMD_INSN ("movi", 0x0f008400, 0xbff8dc00, asimdimm
, 0, OP2 (Vd
, SIMD_IMM_SFT
), QL_SIMD_IMM_S0H
, F_SIZEQ
),
3374 SIMD_INSN ("orr", 0x0f009400, 0xbff8dc00, asimdimm
, 0, OP2 (Vd
, SIMD_IMM_SFT
), QL_SIMD_IMM_S0H
, F_SIZEQ
),
3375 SIMD_INSN ("movi", 0x0f00c400, 0xbff8ec00, asimdimm
, 0, OP2 (Vd
, SIMD_IMM_SFT
), QL_SIMD_IMM_S1W
, F_SIZEQ
),
3376 SIMD_INSN ("movi", 0x0f00e400, 0xbff8fc00, asimdimm
, 0, OP2 (Vd
, SIMD_IMM_SFT
), QL_SIMD_IMM_B
, F_SIZEQ
),
3377 SIMD_INSN ("fmov", 0x0f00f400, 0xbff8fc00, asimdimm
, 0, OP2 (Vd
, SIMD_FPIMM
), QL_SIMD_IMM_S
, F_SIZEQ
),
3378 SF16_INSN ("fmov", 0x0f00fc00, 0xbff8fc00, asimdimm
, OP2 (Vd
, SIMD_FPIMM
), QL_SIMD_IMM_H
, F_SIZEQ
),
3379 SIMD_INSN ("mvni", 0x2f000400, 0xbff89c00, asimdimm
, 0, OP2 (Vd
, SIMD_IMM_SFT
), QL_SIMD_IMM_S0W
, F_SIZEQ
),
3380 SIMD_INSN ("bic", 0x2f001400, 0xbff89c00, asimdimm
, 0, OP2 (Vd
, SIMD_IMM_SFT
), QL_SIMD_IMM_S0W
, F_SIZEQ
),
3381 SIMD_INSN ("mvni", 0x2f008400, 0xbff8dc00, asimdimm
, 0, OP2 (Vd
, SIMD_IMM_SFT
), QL_SIMD_IMM_S0H
, F_SIZEQ
),
3382 SIMD_INSN ("bic", 0x2f009400, 0xbff8dc00, asimdimm
, 0, OP2 (Vd
, SIMD_IMM_SFT
), QL_SIMD_IMM_S0H
, F_SIZEQ
),
3383 SIMD_INSN ("mvni", 0x2f00c400, 0xbff8ec00, asimdimm
, 0, OP2 (Vd
, SIMD_IMM_SFT
), QL_SIMD_IMM_S1W
, F_SIZEQ
),
3384 SIMD_INSN ("movi", 0x2f00e400, 0xfff8fc00, asimdimm
, 0, OP2 (Sd
, SIMD_IMM
), QL_SIMD_IMM_D
, F_SIZEQ
),
3385 SIMD_INSN ("movi", 0x6f00e400, 0xfff8fc00, asimdimm
, 0, OP2 (Vd
, SIMD_IMM
), QL_SIMD_IMM_V2D
, F_SIZEQ
),
3386 SIMD_INSN ("fmov", 0x6f00f400, 0xfff8fc00, asimdimm
, 0, OP2 (Vd
, SIMD_FPIMM
), QL_SIMD_IMM_V2D
, F_SIZEQ
),
3388 SIMD_INSN ("dup", 0x0e000400, 0xbfe0fc00, asimdins
, 0, OP2 (Vd
, En
), QL_DUP_VX
, F_T
),
3389 SIMD_INSN ("dup", 0x0e000c00, 0xbfe0fc00, asimdins
, 0, OP2 (Vd
, Rn
), QL_DUP_VR
, F_T
),
3390 SIMD_INSN ("smov",0x0e002c00, 0xbfe0fc00, asimdins
, 0, OP2 (Rd
, En
), QL_SMOV
, F_GPRSIZE_IN_Q
),
3391 SIMD_INSN ("umov",0x0e003c00, 0xbfe0fc00, asimdins
, 0, OP2 (Rd
, En
), QL_UMOV
, F_HAS_ALIAS
| F_GPRSIZE_IN_Q
),
3392 SIMD_INSN ("mov", 0x0e003c00, 0xbfe0fc00, asimdins
, 0, OP2 (Rd
, En
), QL_MOV
, F_ALIAS
| F_GPRSIZE_IN_Q
),
3393 SIMD_INSN ("ins", 0x4e001c00, 0xffe0fc00, asimdins
, 0, OP2 (Ed
, Rn
), QL_INS_XR
, F_HAS_ALIAS
),
3394 SIMD_INSN ("mov", 0x4e001c00, 0xffe0fc00, asimdins
, 0, OP2 (Ed
, Rn
), QL_INS_XR
, F_ALIAS
),
3395 SIMD_INSN ("ins", 0x6e000400, 0xffe08400, asimdins
, 0, OP2 (Ed
, En
), QL_S_2SAME
, F_HAS_ALIAS
),
3396 SIMD_INSN ("mov", 0x6e000400, 0xffe08400, asimdins
, 0, OP2 (Ed
, En
), QL_S_2SAME
, F_ALIAS
),
3397 /* AdvSIMD two-reg misc. */
3398 FRINTTS_INSN ("frint32z", 0x0e21e800, 0xbfbffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3399 FRINTTS_INSN ("frint32x", 0x2e21e800, 0xbfbffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3400 FRINTTS_INSN ("frint64z", 0x0e21f800, 0xbfbffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3401 FRINTTS_INSN ("frint64x", 0x2e21f800, 0xbfbffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3402 SIMD_INSN ("rev64", 0x0e200800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMEBHS
, F_SIZEQ
),
3403 SIMD_INSN ("rev16", 0x0e201800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMEB
, F_SIZEQ
),
3404 SIMD_INSN ("saddlp",0x0e202800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2PAIRWISELONGBHS
, F_SIZEQ
),
3405 SIMD_INSN ("suqadd",0x0e203800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAME
, F_SIZEQ
),
3406 SIMD_INSN ("cls", 0x0e204800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMEBHS
, F_SIZEQ
),
3407 SIMD_INSN ("cnt", 0x0e205800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMEB
, F_SIZEQ
),
3408 SIMD_INSN ("sadalp",0x0e206800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2PAIRWISELONGBHS
, F_SIZEQ
),
3409 SIMD_INSN ("sqabs", 0x0e207800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAME
, F_SIZEQ
),
3410 SIMD_INSN ("cmgt", 0x0e208800, 0xbf3ffc00, asimdmisc
, 0, OP3 (Vd
, Vn
, IMM0
), QL_V2SAME
, F_SIZEQ
),
3411 SIMD_INSN ("cmeq", 0x0e209800, 0xbf3ffc00, asimdmisc
, 0, OP3 (Vd
, Vn
, IMM0
), QL_V2SAME
, F_SIZEQ
),
3412 SIMD_INSN ("cmlt", 0x0e20a800, 0xbf3ffc00, asimdmisc
, 0, OP3 (Vd
, Vn
, IMM0
), QL_V2SAME
, F_SIZEQ
),
3413 SIMD_INSN ("abs", 0x0e20b800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAME
, F_SIZEQ
),
3414 SIMD_INSN ("xtn", 0x0e212800, 0xff3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2NARRBHS
, F_SIZEQ
),
3415 SIMD_INSN ("xtn2", 0x4e212800, 0xff3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2NARRBHS2
, F_SIZEQ
),
3416 SIMD_INSN ("sqxtn", 0xe214800, 0xff3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2NARRBHS
, F_SIZEQ
),
3417 SIMD_INSN ("sqxtn2",0x4e214800, 0xff3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2NARRBHS2
, F_SIZEQ
),
3418 SIMD_INSN ("fcvtn", 0x0e216800, 0xffbffc00, asimdmisc
, OP_FCVTN
, OP2 (Vd
, Vn
), QL_V2NARRHS
, F_MISC
),
3419 SIMD_INSN ("fcvtn2", 0x4e216800, 0xffbffc00, asimdmisc
, OP_FCVTN2
, OP2 (Vd
, Vn
), QL_V2NARRHS2
, F_MISC
),
3420 SIMD_INSN ("fcvtl", 0x0e217800, 0xffbffc00, asimdmisc
, OP_FCVTL
, OP2 (Vd
, Vn
), QL_V2LONGHS
, F_MISC
),
3421 SIMD_INSN ("fcvtl2", 0x4e217800, 0xffbffc00, asimdmisc
, OP_FCVTL2
, OP2 (Vd
, Vn
), QL_V2LONGHS2
, F_MISC
),
3422 SIMD_INSN ("frintn", 0x0e218800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3423 SF16_INSN ("frintn", 0x0e798800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3424 SIMD_INSN ("frintm", 0x0e219800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3425 SF16_INSN ("frintm", 0x0e799800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3426 SIMD_INSN ("fcvtns", 0x0e21a800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3427 SF16_INSN ("fcvtns", 0x0e79a800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3428 SIMD_INSN ("fcvtms", 0x0e21b800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3429 SF16_INSN ("fcvtms", 0x0e79b800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3430 SIMD_INSN ("fcvtas", 0x0e21c800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3431 SF16_INSN ("fcvtas", 0x0e79c800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3432 SIMD_INSN ("scvtf", 0x0e21d800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3433 SF16_INSN ("scvtf", 0x0e79d800, 0xbfbffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3434 SIMD_INSN ("fcmgt", 0x0ea0c800, 0xbfbffc00, asimdmisc
, 0, OP3 (Vd
, Vn
, FPIMM0
), QL_V2SAMESD
, F_SIZEQ
),
3435 SF16_INSN ("fcmgt", 0x0ef8c800, 0xbffffc00, asimdmisc
, OP3 (Vd
, Vn
, FPIMM0
), QL_V2SAMEH
, F_SIZEQ
),
3436 SIMD_INSN ("fcmeq", 0x0ea0d800, 0xbfbffc00, asimdmisc
, 0, OP3 (Vd
, Vn
, FPIMM0
), QL_V2SAMESD
, F_SIZEQ
),
3437 SF16_INSN ("fcmeq", 0x0ef8d800, 0xbffffc00, asimdmisc
, OP3 (Vd
, Vn
, FPIMM0
), QL_V2SAMEH
, F_SIZEQ
),
3438 SIMD_INSN ("fcmlt", 0x0ea0e800, 0xbfbffc00, asimdmisc
, 0, OP3 (Vd
, Vn
, FPIMM0
), QL_V2SAMESD
, F_SIZEQ
),
3439 SF16_INSN ("fcmlt", 0x0ef8e800, 0xbffffc00, asimdmisc
, OP3 (Vd
, Vn
, FPIMM0
), QL_V2SAMEH
, F_SIZEQ
),
3440 SIMD_INSN ("fabs", 0x0ea0f800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3441 SF16_INSN ("fabs", 0x0ef8f800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3442 SIMD_INSN ("frintp", 0x0ea18800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3443 SF16_INSN ("frintp", 0x0ef98800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3444 SIMD_INSN ("frintz", 0x0ea19800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3445 SF16_INSN ("frintz", 0x0ef99800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3446 SIMD_INSN ("fcvtps", 0x0ea1a800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3447 SF16_INSN ("fcvtps", 0x0ef9a800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3448 SIMD_INSN ("fcvtzs", 0x0ea1b800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3449 SF16_INSN ("fcvtzs", 0x0ef9b800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3450 SIMD_INSN ("urecpe", 0x0ea1c800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMES
, F_SIZEQ
),
3451 SIMD_INSN ("frecpe", 0x0ea1d800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3452 SF16_INSN ("frecpe", 0x0ef9d800, 0xbfbffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3453 SIMD_INSN ("rev32", 0x2e200800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMEBH
, F_SIZEQ
),
3454 SIMD_INSN ("uaddlp", 0x2e202800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2PAIRWISELONGBHS
, F_SIZEQ
),
3455 SIMD_INSN ("usqadd", 0x2e203800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAME
, F_SIZEQ
),
3456 SIMD_INSN ("clz", 0x2e204800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMEBHS
, F_SIZEQ
),
3457 SIMD_INSN ("uadalp", 0x2e206800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2PAIRWISELONGBHS
, F_SIZEQ
),
3458 SIMD_INSN ("sqneg", 0x2e207800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAME
, F_SIZEQ
),
3459 SIMD_INSN ("cmge", 0x2e208800, 0xbf3ffc00, asimdmisc
, 0, OP3 (Vd
, Vn
, IMM0
), QL_V2SAME
, F_SIZEQ
),
3460 SIMD_INSN ("cmle", 0x2e209800, 0xbf3ffc00, asimdmisc
, 0, OP3 (Vd
, Vn
, IMM0
), QL_V2SAME
, F_SIZEQ
),
3461 SIMD_INSN ("neg", 0x2e20b800, 0xbf3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAME
, F_SIZEQ
),
3462 SIMD_INSN ("sqxtun", 0x2e212800, 0xff3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2NARRBHS
, F_SIZEQ
),
3463 SIMD_INSN ("sqxtun2",0x6e212800, 0xff3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2NARRBHS2
, F_SIZEQ
),
3464 SIMD_INSN ("shll", 0x2e213800, 0xff3ffc00, asimdmisc
, 0, OP3 (Vd
, Vn
, SHLL_IMM
), QL_V2LONGBHS
, F_SIZEQ
),
3465 SIMD_INSN ("shll2", 0x6e213800, 0xff3ffc00, asimdmisc
, 0, OP3 (Vd
, Vn
, SHLL_IMM
), QL_V2LONGBHS2
, F_SIZEQ
),
3466 SIMD_INSN ("uqxtn", 0x2e214800, 0xff3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2NARRBHS
, F_SIZEQ
),
3467 SIMD_INSN ("uqxtn2", 0x6e214800, 0xff3ffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2NARRBHS2
, F_SIZEQ
),
3468 SIMD_INSN ("fcvtxn", 0x2e616800, 0xfffffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2NARRS
, 0),
3469 SIMD_INSN ("fcvtxn2",0x6e616800, 0xfffffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2NARRS2
, 0),
3470 SIMD_INSN ("frinta", 0x2e218800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3471 SF16_INSN ("frinta", 0x2e798800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3472 SIMD_INSN ("frintx", 0x2e219800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3473 SF16_INSN ("frintx", 0x2e799800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3474 SIMD_INSN ("fcvtnu", 0x2e21a800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3475 SF16_INSN ("fcvtnu", 0x2e79a800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3476 SIMD_INSN ("fcvtmu", 0x2e21b800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3477 SF16_INSN ("fcvtmu", 0x2e79b800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3478 SIMD_INSN ("fcvtau", 0x2e21c800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3479 SF16_INSN ("fcvtau", 0x2e79c800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3480 SIMD_INSN ("ucvtf", 0x2e21d800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3481 SF16_INSN ("ucvtf", 0x2e79d800, 0xbfbffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3482 SIMD_INSN ("not", 0x2e205800, 0xbffffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMEB
, F_SIZEQ
| F_HAS_ALIAS
),
3483 SIMD_INSN ("mvn", 0x2e205800, 0xbffffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMEB
, F_SIZEQ
| F_ALIAS
),
3484 SIMD_INSN ("rbit", 0x2e605800, 0xbffffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMEB
, F_SIZEQ
),
3485 SIMD_INSN ("fcmge", 0x2ea0c800, 0xbfbffc00, asimdmisc
, 0, OP3 (Vd
, Vn
, FPIMM0
), QL_V2SAMESD
, F_SIZEQ
),
3486 SF16_INSN ("fcmge", 0x2ef8c800, 0xbffffc00, asimdmisc
, OP3 (Vd
, Vn
, FPIMM0
), QL_V2SAMEH
, F_SIZEQ
),
3487 SIMD_INSN ("fcmle", 0x2ea0d800, 0xbfbffc00, asimdmisc
, 0, OP3 (Vd
, Vn
, FPIMM0
), QL_V2SAMESD
, F_SIZEQ
),
3488 SF16_INSN ("fcmle", 0x2ef8d800, 0xbffffc00, asimdmisc
, OP3 (Vd
, Vn
, FPIMM0
), QL_V2SAMEH
, F_SIZEQ
),
3489 SIMD_INSN ("fneg", 0x2ea0f800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3490 SF16_INSN ("fneg", 0x2ef8f800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3491 SIMD_INSN ("frinti", 0x2ea19800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3492 SF16_INSN ("frinti", 0x2ef99800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3493 SIMD_INSN ("fcvtpu", 0x2ea1a800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3494 SF16_INSN ("fcvtpu", 0x2ef9a800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3495 SIMD_INSN ("fcvtzu", 0x2ea1b800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3496 SF16_INSN ("fcvtzu", 0x2ef9b800, 0xbffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3497 SIMD_INSN ("ursqrte",0x2ea1c800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMES
, F_SIZEQ
),
3498 SIMD_INSN ("frsqrte",0x2ea1d800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3499 SF16_INSN ("frsqrte",0x2ef9d800, 0xbfbffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3500 SIMD_INSN ("fsqrt", 0x2ea1f800, 0xbfbffc00, asimdmisc
, 0, OP2 (Vd
, Vn
), QL_V2SAMESD
, F_SIZEQ
),
3501 SF16_INSN ("fsqrt", 0x2ef9f800, 0xbfbffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2SAMEH
, F_SIZEQ
),
3502 /* AdvSIMD ZIP/UZP/TRN. */
3503 SIMD_INSN ("uzp1", 0xe001800, 0xbf20fc00, asimdperm
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3504 SIMD_INSN ("trn1", 0xe002800, 0xbf20fc00, asimdperm
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3505 SIMD_INSN ("zip1", 0xe003800, 0xbf20fc00, asimdperm
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3506 SIMD_INSN ("uzp2", 0xe005800, 0xbf20fc00, asimdperm
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3507 SIMD_INSN ("trn2", 0xe006800, 0xbf20fc00, asimdperm
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3508 SIMD_INSN ("zip2", 0xe007800, 0xbf20fc00, asimdperm
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3509 /* AdvSIMD three same. */
3510 SIMD_INSN ("shadd", 0xe200400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3511 SIMD_INSN ("sqadd", 0xe200c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3512 SIMD_INSN ("srhadd", 0xe201400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3513 SIMD_INSN ("shsub", 0xe202400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3514 SIMD_INSN ("sqsub", 0xe202c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3515 SIMD_INSN ("cmgt", 0xe203400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3516 SIMD_INSN ("cmge", 0xe203c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3517 SIMD_INSN ("sshl", 0xe204400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3518 SIMD_INSN ("sqshl", 0xe204c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3519 SIMD_INSN ("srshl", 0xe205400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3520 SIMD_INSN ("sqrshl", 0xe205c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3521 SIMD_INSN ("smax", 0xe206400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3522 SIMD_INSN ("smin", 0xe206c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3523 SIMD_INSN ("sabd", 0xe207400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3524 SIMD_INSN ("saba", 0xe207c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3525 SIMD_INSN ("add", 0xe208400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3526 SIMD_INSN ("cmtst", 0xe208c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3527 SIMD_INSN ("mla", 0xe209400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3528 SIMD_INSN ("mul", 0xe209c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3529 SIMD_INSN ("smaxp", 0xe20a400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3530 SIMD_INSN ("sminp", 0xe20ac00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3531 SIMD_INSN ("sqdmulh", 0xe20b400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEHS
, F_SIZEQ
),
3532 SIMD_INSN ("addp", 0xe20bc00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3533 SIMD_INSN ("fmaxnm", 0xe20c400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3534 SF16_INSN ("fmaxnm", 0xe400400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3535 SIMD_INSN ("fmla", 0xe20cc00, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3536 SF16_INSN ("fmla", 0xe400c00, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3537 SIMD_INSN ("fadd", 0xe20d400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3538 SF16_INSN ("fadd", 0xe401400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3539 SIMD_INSN ("fmulx", 0xe20dc00, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3540 SF16_INSN ("fmulx", 0xe401c00, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3541 SIMD_INSN ("fcmeq", 0xe20e400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3542 SF16_INSN ("fcmeq", 0xe402400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3543 SIMD_INSN ("fmax", 0xe20f400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3544 SF16_INSN ("fmax", 0xe403400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3545 SIMD_INSN ("frecps", 0xe20fc00, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3546 SF16_INSN ("frecps", 0xe403c00, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3547 SIMD_INSN ("and", 0xe201c00, 0xbfe0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEB
, F_SIZEQ
),
3548 SIMD_INSN ("bic", 0xe601c00, 0xbfe0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEB
, F_SIZEQ
),
3549 SIMD_INSN ("fminnm", 0xea0c400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3550 SF16_INSN ("fminnm", 0xec00400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3551 SIMD_INSN ("fmls", 0xea0cc00, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3552 SF16_INSN ("fmls", 0xec00c00, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3553 SIMD_INSN ("fsub", 0xea0d400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3554 SF16_INSN ("fsub", 0xec01400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3555 SIMD_INSN ("fmin", 0xea0f400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3556 SF16_INSN ("fmin", 0xec03400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3557 SIMD_INSN ("frsqrts", 0xea0fc00, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3558 SF16_INSN ("frsqrts", 0xec03c00, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3559 SIMD_INSN ("orr", 0xea01c00, 0xbfe0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEB
, F_HAS_ALIAS
| F_SIZEQ
),
3560 SIMD_INSN ("mov", 0xea01c00, 0xbfe0fc00, asimdsame
, OP_MOV_V
, OP2 (Vd
, Vn
), QL_V2SAMEB
, F_ALIAS
| F_CONV
),
3561 SIMD_INSN ("orn", 0xee01c00, 0xbfe0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEB
, F_SIZEQ
),
3562 SIMD_INSN ("uhadd", 0x2e200400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3563 SIMD_INSN ("uqadd", 0x2e200c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3564 SIMD_INSN ("urhadd", 0x2e201400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3565 SIMD_INSN ("uhsub", 0x2e202400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3566 SIMD_INSN ("uqsub", 0x2e202c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3567 SIMD_INSN ("cmhi", 0x2e203400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3568 SIMD_INSN ("cmhs", 0x2e203c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3569 SIMD_INSN ("ushl", 0x2e204400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3570 SIMD_INSN ("uqshl", 0x2e204c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3571 SIMD_INSN ("urshl", 0x2e205400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3572 SIMD_INSN ("uqrshl", 0x2e205c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3573 SIMD_INSN ("umax", 0x2e206400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3574 SIMD_INSN ("umin", 0x2e206c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3575 SIMD_INSN ("uabd", 0x2e207400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3576 SIMD_INSN ("uaba", 0x2e207c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3577 SIMD_INSN ("sub", 0x2e208400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3578 SIMD_INSN ("cmeq", 0x2e208c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAME
, F_SIZEQ
),
3579 SIMD_INSN ("mls", 0x2e209400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3580 SIMD_INSN ("pmul", 0x2e209c00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEB
, F_SIZEQ
),
3581 SIMD_INSN ("umaxp", 0x2e20a400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3582 SIMD_INSN ("uminp", 0x2e20ac00, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEBHS
, F_SIZEQ
),
3583 SIMD_INSN ("sqrdmulh", 0x2e20b400, 0xbf20fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEHS
, F_SIZEQ
),
3584 SIMD_INSN ("fmaxnmp", 0x2e20c400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3585 SF16_INSN ("fmaxnmp", 0x2e400400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3586 SIMD_INSN ("faddp", 0x2e20d400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3587 SF16_INSN ("faddp", 0x2e401400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3588 SIMD_INSN ("fmul", 0x2e20dc00, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3589 SF16_INSN ("fmul", 0x2e401c00, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3590 SIMD_INSN ("fcmge", 0x2e20e400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3591 SF16_INSN ("fcmge", 0x2e402400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3592 SIMD_INSN ("facge", 0x2e20ec00, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3593 SF16_INSN ("facge", 0x2e402c00, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3594 SIMD_INSN ("fmaxp", 0x2e20f400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3595 SF16_INSN ("fmaxp", 0x2e403400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3596 SIMD_INSN ("fdiv", 0x2e20fc00, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3597 SF16_INSN ("fdiv", 0x2e403c00, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3598 SIMD_INSN ("eor", 0x2e201c00, 0xbfe0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEB
, F_SIZEQ
),
3599 SIMD_INSN ("bsl", 0x2e601c00, 0xbfe0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEB
, F_SIZEQ
),
3600 SIMD_INSN ("fminnmp", 0x2ea0c400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3601 SF16_INSN ("fminnmp", 0x2ec00400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3602 SIMD_INSN ("fabd", 0x2ea0d400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3603 SF16_INSN ("fabd", 0x2ec01400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3604 SIMD_INSN ("fcmgt", 0x2ea0e400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3605 SF16_INSN ("fcmgt", 0x2ec02400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3606 SIMD_INSN ("facgt", 0x2ea0ec00, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3607 SF16_INSN ("facgt", 0x2ec02c00, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3608 SIMD_INSN ("fminp", 0x2ea0f400, 0xbfa0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
3609 SF16_INSN ("fminp", 0x2ec03400, 0xbfe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
3610 SIMD_INSN ("bit", 0x2ea01c00, 0xbfe0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEB
, F_SIZEQ
),
3611 SIMD_INSN ("bif", 0x2ee01c00, 0xbfe0fc00, asimdsame
, 0, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEB
, F_SIZEQ
),
3612 /* AdvSIMD three same extension. */
3613 RDMA_INSN ("sqrdmlah",0x2e008400, 0xbf20fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEHS
, F_SIZEQ
),
3614 RDMA_INSN ("sqrdmlsh",0x2e008c00, 0xbf20fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEHS
, F_SIZEQ
),
3615 CNUM_INSN ("fcmla", 0x2e00c400, 0xbf20e400, asimdsame
, 0, OP4 (Vd
, Vn
, Vm
, IMM_ROT1
), QL_V3SAMEHSD_ROT
, F_SIZEQ
),
3616 CNUM_INSN ("fcadd", 0x2e00e400, 0xbf20ec00, asimdsame
, 0, OP4 (Vd
, Vn
, Vm
, IMM_ROT3
), QL_V3SAMEHSD_ROT
, F_SIZEQ
),
3617 /* AdvSIMD shift by immediate. */
3618 SIMD_INSN ("sshr", 0xf000400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT
, 0),
3619 SIMD_INSN ("ssra", 0xf001400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT
, 0),
3620 SIMD_INSN ("srshr", 0xf002400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT
, 0),
3621 SIMD_INSN ("srsra", 0xf003400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT
, 0),
3622 SIMD_INSN ("shl", 0xf005400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSL
), QL_VSHIFT
, 0),
3623 SIMD_INSN ("sqshl", 0xf007400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSL
), QL_VSHIFT
, 0),
3624 SIMD_INSN ("shrn", 0xf008400, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN
, 0),
3625 SIMD_INSN ("shrn2", 0x4f008400, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN2
, 0),
3626 SIMD_INSN ("rshrn", 0xf008c00, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN
, 0),
3627 SIMD_INSN ("rshrn2", 0x4f008c00, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN2
, 0),
3628 SIMD_INSN ("sqshrn", 0xf009400, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN
, 0),
3629 SIMD_INSN ("sqshrn2", 0x4f009400, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN2
, 0),
3630 SIMD_INSN ("sqrshrn", 0xf009c00, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN
, 0),
3631 SIMD_INSN ("sqrshrn2", 0x4f009c00, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN2
, 0),
3632 SIMD_INSN ("sshll", 0xf00a400, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSL
), QL_VSHIFTL
, F_HAS_ALIAS
),
3633 SIMD_INSN ("sxtl", 0xf00a400, 0xff87fc00, asimdshf
, OP_SXTL
, OP2 (Vd
, Vn
), QL_V2LONGBHS
, F_ALIAS
| F_CONV
),
3634 SIMD_INSN ("sshll2", 0x4f00a400, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSL
), QL_VSHIFTL2
, F_HAS_ALIAS
),
3635 SIMD_INSN ("sxtl2", 0x4f00a400, 0xff87fc00, asimdshf
, OP_SXTL2
, OP2 (Vd
, Vn
), QL_V2LONGBHS2
, F_ALIAS
| F_CONV
),
3636 SIMD_INSN ("scvtf", 0xf00e400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT_SD
, 0),
3637 SF16_INSN ("scvtf", 0xf10e400, 0xbf80fc00, asimdshf
, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT_H
, 0),
3638 SIMD_INSN ("fcvtzs", 0xf00fc00, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT_SD
, 0),
3639 SF16_INSN ("fcvtzs", 0xf10fc00, 0xbf80fc00, asimdshf
, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT_H
, 0),
3640 SIMD_INSN ("ushr", 0x2f000400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT
, 0),
3641 SIMD_INSN ("usra", 0x2f001400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT
, 0),
3642 SIMD_INSN ("urshr", 0x2f002400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT
, 0),
3643 SIMD_INSN ("ursra", 0x2f003400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT
, 0),
3644 SIMD_INSN ("sri", 0x2f004400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT
, 0),
3645 SIMD_INSN ("sli", 0x2f005400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSL
), QL_VSHIFT
, 0),
3646 SIMD_INSN ("sqshlu", 0x2f006400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSL
), QL_VSHIFT
, 0),
3647 SIMD_INSN ("uqshl", 0x2f007400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSL
), QL_VSHIFT
, 0),
3648 SIMD_INSN ("sqshrun", 0x2f008400, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN
, 0),
3649 SIMD_INSN ("sqshrun2", 0x6f008400, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN2
, 0),
3650 SIMD_INSN ("sqrshrun", 0x2f008c00, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN
, 0),
3651 SIMD_INSN ("sqrshrun2", 0x6f008c00, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN2
, 0),
3652 SIMD_INSN ("uqshrn", 0x2f009400, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN
, 0),
3653 SIMD_INSN ("uqshrn2", 0x6f009400, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN2
, 0),
3654 SIMD_INSN ("uqrshrn", 0x2f009c00, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN
, 0),
3655 SIMD_INSN ("uqrshrn2", 0x6f009c00, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFTN2
, 0),
3656 SIMD_INSN ("ushll", 0x2f00a400, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSL
), QL_VSHIFTL
, F_HAS_ALIAS
),
3657 SIMD_INSN ("uxtl", 0x2f00a400, 0xff87fc00, asimdshf
, OP_UXTL
, OP2 (Vd
, Vn
), QL_V2LONGBHS
, F_ALIAS
| F_CONV
),
3658 SIMD_INSN ("ushll2", 0x6f00a400, 0xff80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSL
), QL_VSHIFTL2
, F_HAS_ALIAS
),
3659 SIMD_INSN ("uxtl2", 0x6f00a400, 0xff87fc00, asimdshf
, OP_UXTL2
, OP2 (Vd
, Vn
), QL_V2LONGBHS2
, F_ALIAS
| F_CONV
),
3660 SIMD_INSN ("ucvtf", 0x2f00e400, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT_SD
, 0),
3661 SF16_INSN ("ucvtf", 0x2f10e400, 0xbf80fc00, asimdshf
, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT_H
, 0),
3662 SIMD_INSN ("fcvtzu", 0x2f00fc00, 0xbf80fc00, asimdshf
, 0, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT_SD
, 0),
3663 SF16_INSN ("fcvtzu", 0x2f10fc00, 0xbf80fc00, asimdshf
, OP3 (Vd
, Vn
, IMM_VLSR
), QL_VSHIFT_H
, 0),
3664 /* AdvSIMD TBL/TBX. */
3665 SIMD_INSN ("tbl", 0xe000000, 0xbfe09c00, asimdtbl
, 0, OP3 (Vd
, LVn
, Vm
), QL_TABLE
, F_SIZEQ
),
3666 SIMD_INSN ("tbx", 0xe001000, 0xbfe09c00, asimdtbl
, 0, OP3 (Vd
, LVn
, Vm
), QL_TABLE
, F_SIZEQ
),
3667 /* AdvSIMD scalar three different. */
3668 SIMD_INSN ("sqdmlal", 0x5e209000, 0xff20fc00, asisddiff
, 0, OP3 (Sd
, Sn
, Sm
), QL_SISDL_HS
, F_SSIZE
),
3669 SIMD_INSN ("sqdmlsl", 0x5e20b000, 0xff20fc00, asisddiff
, 0, OP3 (Sd
, Sn
, Sm
), QL_SISDL_HS
, F_SSIZE
),
3670 SIMD_INSN ("sqdmull", 0x5e20d000, 0xff20fc00, asisddiff
, 0, OP3 (Sd
, Sn
, Sm
), QL_SISDL_HS
, F_SSIZE
),
3671 /* AdvSIMD scalar x indexed element. */
3672 SIMD_INSN ("sqdmlal", 0x5f003000, 0xff00f400, asisdelem
, 0, OP3 (Sd
, Sn
, Em16
), QL_SISDL_HS
, F_SSIZE
),
3673 SIMD_INSN ("sqdmlsl", 0x5f007000, 0xff00f400, asisdelem
, 0, OP3 (Sd
, Sn
, Em16
), QL_SISDL_HS
, F_SSIZE
),
3674 SIMD_INSN ("sqdmull", 0x5f00b000, 0xff00f400, asisdelem
, 0, OP3 (Sd
, Sn
, Em16
), QL_SISDL_HS
, F_SSIZE
),
3675 SIMD_INSN ("sqdmulh", 0x5f00c000, 0xff00f400, asisdelem
, 0, OP3 (Sd
, Sn
, Em16
), QL_SISD_HS
, F_SSIZE
),
3676 SIMD_INSN ("sqrdmulh", 0x5f00d000, 0xff00f400, asisdelem
, 0, OP3 (Sd
, Sn
, Em16
), QL_SISD_HS
, F_SSIZE
),
3677 _SIMD_INSN ("fmla", 0x5f801000, 0xff80f400, asisdelem
, 0, OP3 (Sd
, Sn
, Em
), QL_FP3
, F_SSIZE
, VERIFIER (elem_sd
)),
3678 SF16_INSN ("fmla", 0x5f001000, 0xffc0f400, asisdelem
, OP3 (Sd
, Sn
, Em16
), QL_FP3_H
, F_SSIZE
),
3679 _SIMD_INSN ("fmls", 0x5f805000, 0xff80f400, asisdelem
, 0, OP3 (Sd
, Sn
, Em
), QL_FP3
, F_SSIZE
, VERIFIER (elem_sd
)),
3680 SF16_INSN ("fmls", 0x5f005000, 0xffc0f400, asisdelem
, OP3 (Sd
, Sn
, Em16
), QL_FP3_H
, F_SSIZE
),
3681 _SIMD_INSN ("fmul", 0x5f809000, 0xff80f400, asisdelem
, 0, OP3 (Sd
, Sn
, Em
), QL_FP3
, F_SSIZE
, VERIFIER (elem_sd
)),
3682 SF16_INSN ("fmul", 0x5f009000, 0xffc0f400, asisdelem
, OP3 (Sd
, Sn
, Em16
), QL_FP3_H
, F_SSIZE
),
3683 _SIMD_INSN ("fmulx", 0x7f809000, 0xff80f400, asisdelem
, 0, OP3 (Sd
, Sn
, Em
), QL_FP3
, F_SSIZE
, VERIFIER (elem_sd
)),
3684 SF16_INSN ("fmulx", 0x7f009000, 0xffc0f400, asisdelem
, OP3 (Sd
, Sn
, Em16
), QL_FP3_H
, F_SSIZE
),
3685 RDMA_INSN ("sqrdmlah", 0x7f00d000, 0xff00f400, asisdelem
, OP3 (Sd
, Sn
, Em16
), QL_SISD_HS
, F_SSIZE
),
3686 RDMA_INSN ("sqrdmlsh", 0x7f00f000, 0xff00f400, asisdelem
, OP3 (Sd
, Sn
, Em16
), QL_SISD_HS
, F_SSIZE
),
3687 /* AdvSIMD load/store multiple structures. */
3688 SIMD_INSN ("st4", 0xc000000, 0xbfff0000, asisdlse
, 0, OP2 (LVt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDST
, F_SIZEQ
| F_OD(4)),
3689 SIMD_INSN ("st1", 0xc000000, 0xbfff0000, asisdlse
, 0, OP2 (LVt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDST_ANY
, F_SIZEQ
| F_OD(1)),
3690 SIMD_INSN ("st2", 0xc000000, 0xbfff0000, asisdlse
, 0, OP2 (LVt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDST
, F_SIZEQ
| F_OD(2)),
3691 SIMD_INSN ("st3", 0xc000000, 0xbfff0000, asisdlse
, 0, OP2 (LVt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDST
, F_SIZEQ
| F_OD(3)),
3692 SIMD_INSN ("ld4", 0xc400000, 0xbfff0000, asisdlse
, 0, OP2 (LVt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDST
, F_SIZEQ
| F_OD(4)),
3693 SIMD_INSN ("ld1", 0xc400000, 0xbfff0000, asisdlse
, 0, OP2 (LVt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDST_ANY
, F_SIZEQ
| F_OD(1)),
3694 SIMD_INSN ("ld2", 0xc400000, 0xbfff0000, asisdlse
, 0, OP2 (LVt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDST
, F_SIZEQ
| F_OD(2)),
3695 SIMD_INSN ("ld3", 0xc400000, 0xbfff0000, asisdlse
, 0, OP2 (LVt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDST
, F_SIZEQ
| F_OD(3)),
3696 /* AdvSIMD load/store multiple structures (post-indexed). */
3697 SIMD_INSN ("st4", 0xc800000, 0xbfe00000, asisdlsep
, 0, OP2 (LVt
, SIMD_ADDR_POST
), QL_SIMD_LDST
, F_SIZEQ
| F_OD(4)),
3698 SIMD_INSN ("st1", 0xc800000, 0xbfe00000, asisdlsep
, 0, OP2 (LVt
, SIMD_ADDR_POST
), QL_SIMD_LDST_ANY
, F_SIZEQ
| F_OD(1)),
3699 SIMD_INSN ("st2", 0xc800000, 0xbfe00000, asisdlsep
, 0, OP2 (LVt
, SIMD_ADDR_POST
), QL_SIMD_LDST
, F_SIZEQ
| F_OD(2)),
3700 SIMD_INSN ("st3", 0xc800000, 0xbfe00000, asisdlsep
, 0, OP2 (LVt
, SIMD_ADDR_POST
), QL_SIMD_LDST
, F_SIZEQ
| F_OD(3)),
3701 SIMD_INSN ("ld4", 0xcc00000, 0xbfe00000, asisdlsep
, 0, OP2 (LVt
, SIMD_ADDR_POST
), QL_SIMD_LDST
, F_SIZEQ
| F_OD(4)),
3702 SIMD_INSN ("ld1", 0xcc00000, 0xbfe00000, asisdlsep
, 0, OP2 (LVt
, SIMD_ADDR_POST
), QL_SIMD_LDST_ANY
, F_SIZEQ
| F_OD(1)),
3703 SIMD_INSN ("ld2", 0xcc00000, 0xbfe00000, asisdlsep
, 0, OP2 (LVt
, SIMD_ADDR_POST
), QL_SIMD_LDST
, F_SIZEQ
| F_OD(2)),
3704 SIMD_INSN ("ld3", 0xcc00000, 0xbfe00000, asisdlsep
, 0, OP2 (LVt
, SIMD_ADDR_POST
), QL_SIMD_LDST
, F_SIZEQ
| F_OD(3)),
3705 /* AdvSIMD load/store single structure. */
3706 SIMD_INSN ("st1", 0xd000000, 0xbfff2000, asisdlso
, 0, OP2 (LEt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDSTONE
, F_OD(1)),
3707 SIMD_INSN ("st3", 0xd002000, 0xbfff2000, asisdlso
, 0, OP2 (LEt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDSTONE
, F_OD(3)),
3708 SIMD_INSN ("st2", 0xd200000, 0xbfff2000, asisdlso
, 0, OP2 (LEt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDSTONE
, F_OD(2)),
3709 SIMD_INSN ("st4", 0xd202000, 0xbfff2000, asisdlso
, 0, OP2 (LEt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDSTONE
, F_OD(4)),
3710 SIMD_INSN ("ld1", 0xd400000, 0xbfff2000, asisdlso
, 0, OP2 (LEt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDSTONE
, F_OD(1)),
3711 SIMD_INSN ("ld3", 0xd402000, 0xbfff2000, asisdlso
, 0, OP2 (LEt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDSTONE
, F_OD(3)),
3712 SIMD_INSN ("ld1r", 0xd40c000, 0xbffff000, asisdlso
, 0, OP2 (LVt_AL
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDST_ANY
, F_SIZEQ
| F_OD(1)),
3713 SIMD_INSN ("ld3r", 0xd40e000, 0xbffff000, asisdlso
, 0, OP2 (LVt_AL
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDST_ANY
, F_SIZEQ
| F_OD(3)),
3714 SIMD_INSN ("ld2", 0xd600000, 0xbfff2000, asisdlso
, 0, OP2 (LEt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDSTONE
, F_OD(2)),
3715 SIMD_INSN ("ld4", 0xd602000, 0xbfff2000, asisdlso
, 0, OP2 (LEt
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDSTONE
, F_OD(4)),
3716 SIMD_INSN ("ld2r", 0xd60c000, 0xbffff000, asisdlso
, 0, OP2 (LVt_AL
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDST_ANY
, F_SIZEQ
| F_OD(2)),
3717 SIMD_INSN ("ld4r", 0xd60e000, 0xbffff000, asisdlso
, 0, OP2 (LVt_AL
, SIMD_ADDR_SIMPLE
), QL_SIMD_LDST_ANY
, F_SIZEQ
| F_OD(4)),
3718 /* AdvSIMD load/store single structure (post-indexed). */
3719 SIMD_INSN ("st1", 0xd800000, 0xbfe02000, asisdlsop
, 0, OP2 (LEt
, SIMD_ADDR_POST
), QL_SIMD_LDSTONE
, F_OD(1)),
3720 SIMD_INSN ("st3", 0xd802000, 0xbfe02000, asisdlsop
, 0, OP2 (LEt
, SIMD_ADDR_POST
), QL_SIMD_LDSTONE
, F_OD(3)),
3721 SIMD_INSN ("st2", 0xda00000, 0xbfe02000, asisdlsop
, 0, OP2 (LEt
, SIMD_ADDR_POST
), QL_SIMD_LDSTONE
, F_OD(2)),
3722 SIMD_INSN ("st4", 0xda02000, 0xbfe02000, asisdlsop
, 0, OP2 (LEt
, SIMD_ADDR_POST
), QL_SIMD_LDSTONE
, F_OD(4)),
3723 SIMD_INSN ("ld1", 0xdc00000, 0xbfe02000, asisdlsop
, 0, OP2 (LEt
, SIMD_ADDR_POST
), QL_SIMD_LDSTONE
, F_OD(1)),
3724 SIMD_INSN ("ld3", 0xdc02000, 0xbfe02000, asisdlsop
, 0, OP2 (LEt
, SIMD_ADDR_POST
), QL_SIMD_LDSTONE
, F_OD(3)),
3725 SIMD_INSN ("ld1r", 0xdc0c000, 0xbfe0f000, asisdlsop
, 0, OP2 (LVt_AL
, SIMD_ADDR_POST
), QL_SIMD_LDST_ANY
, F_SIZEQ
| F_OD(1)),
3726 SIMD_INSN ("ld3r", 0xdc0e000, 0xbfe0f000, asisdlsop
, 0, OP2 (LVt_AL
, SIMD_ADDR_POST
), QL_SIMD_LDST_ANY
, F_SIZEQ
| F_OD(3)),
3727 SIMD_INSN ("ld2", 0xde00000, 0xbfe02000, asisdlsop
, 0, OP2 (LEt
, SIMD_ADDR_POST
), QL_SIMD_LDSTONE
, F_OD(2)),
3728 SIMD_INSN ("ld4", 0xde02000, 0xbfe02000, asisdlsop
, 0, OP2 (LEt
, SIMD_ADDR_POST
), QL_SIMD_LDSTONE
, F_OD(4)),
3729 SIMD_INSN ("ld2r", 0xde0c000, 0xbfe0f000, asisdlsop
, 0, OP2 (LVt_AL
, SIMD_ADDR_POST
), QL_SIMD_LDST_ANY
, F_SIZEQ
| F_OD(2)),
3730 SIMD_INSN ("ld4r", 0xde0e000, 0xbfe0f000, asisdlsop
, 0, OP2 (LVt_AL
, SIMD_ADDR_POST
), QL_SIMD_LDST_ANY
, F_SIZEQ
| F_OD(4)),
3731 /* AdvSIMD scalar two-reg misc. */
3732 SIMD_INSN ("suqadd", 0x5e203800, 0xff3ffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAME
, F_SSIZE
),
3733 SIMD_INSN ("sqabs", 0x5e207800, 0xff3ffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAME
, F_SSIZE
),
3734 SIMD_INSN ("cmgt", 0x5e208800, 0xff3ffc00, asisdmisc
, 0, OP3 (Sd
, Sn
, IMM0
), QL_SISD_CMP_0
, F_SSIZE
),
3735 SIMD_INSN ("cmeq", 0x5e209800, 0xff3ffc00, asisdmisc
, 0, OP3 (Sd
, Sn
, IMM0
), QL_SISD_CMP_0
, F_SSIZE
),
3736 SIMD_INSN ("cmlt", 0x5e20a800, 0xff3ffc00, asisdmisc
, 0, OP3 (Sd
, Sn
, IMM0
), QL_SISD_CMP_0
, F_SSIZE
),
3737 SIMD_INSN ("abs", 0x5e20b800, 0xff3ffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_2SAMED
, F_SSIZE
),
3738 SIMD_INSN ("sqxtn", 0x5e214800, 0xff3ffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_SISD_NARROW
, F_SSIZE
),
3739 SIMD_INSN ("fcvtns", 0x5e21a800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3740 SF16_INSN ("fcvtns", 0x5e79a800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_S_2SAMEH
, F_SSIZE
),
3741 SIMD_INSN ("fcvtms", 0x5e21b800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3742 SF16_INSN ("fcvtms", 0x5e79b800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_S_2SAMEH
, F_SSIZE
),
3743 SIMD_INSN ("fcvtas", 0x5e21c800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3744 SF16_INSN ("fcvtas", 0x5e79c800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_S_2SAMEH
, F_SSIZE
),
3745 SIMD_INSN ("scvtf", 0x5e21d800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3746 SF16_INSN ("scvtf", 0x5e79d800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_S_2SAMEH
, F_SSIZE
),
3747 SIMD_INSN ("fcmgt", 0x5ea0c800, 0xffbffc00, asisdmisc
, 0, OP3 (Sd
, Sn
, FPIMM0
), QL_SISD_FCMP_0
, F_SSIZE
),
3748 SF16_INSN ("fcmgt", 0x5ef8c800, 0xfffffc00, asisdmisc
, OP3 (Sd
, Sn
, FPIMM0
), QL_SISD_FCMP_H_0
, F_SSIZE
),
3749 SIMD_INSN ("fcmeq", 0x5ea0d800, 0xffbffc00, asisdmisc
, 0, OP3 (Sd
, Sn
, FPIMM0
), QL_SISD_FCMP_0
, F_SSIZE
),
3750 SF16_INSN ("fcmeq", 0x5ef8d800, 0xfffffc00, asisdmisc
, OP3 (Sd
, Sn
, FPIMM0
), QL_SISD_FCMP_H_0
, F_SSIZE
),
3751 SIMD_INSN ("fcmlt", 0x5ea0e800, 0xffbffc00, asisdmisc
, 0, OP3 (Sd
, Sn
, FPIMM0
), QL_SISD_FCMP_0
, F_SSIZE
),
3752 SF16_INSN ("fcmlt", 0x5ef8e800, 0xfffffc00, asisdmisc
, OP3 (Sd
, Sn
, FPIMM0
), QL_SISD_FCMP_H_0
, F_SSIZE
),
3753 SIMD_INSN ("fcvtps", 0x5ea1a800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3754 SF16_INSN ("fcvtps", 0x5ef9a800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_S_2SAMEH
, F_SSIZE
),
3755 SIMD_INSN ("fcvtzs", 0x5ea1b800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3756 SF16_INSN ("fcvtzs", 0x5ef9b800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_S_2SAMEH
, F_SSIZE
),
3757 SIMD_INSN ("frecpe", 0x5ea1d800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3758 SF16_INSN ("frecpe", 0x5ef9d800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_S_2SAMEH
, F_SSIZE
),
3759 SIMD_INSN ("frecpx", 0x5ea1f800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3760 SF16_INSN ("frecpx", 0x5ef9f800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_S_2SAMEH
, F_SSIZE
),
3761 SIMD_INSN ("usqadd", 0x7e203800, 0xff3ffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAME
, F_SSIZE
),
3762 SIMD_INSN ("sqneg", 0x7e207800, 0xff3ffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAME
, F_SSIZE
),
3763 SIMD_INSN ("cmge", 0x7e208800, 0xff3ffc00, asisdmisc
, 0, OP3 (Sd
, Sn
, IMM0
), QL_SISD_CMP_0
, F_SSIZE
),
3764 SIMD_INSN ("cmle", 0x7e209800, 0xff3ffc00, asisdmisc
, 0, OP3 (Sd
, Sn
, IMM0
), QL_SISD_CMP_0
, F_SSIZE
),
3765 SIMD_INSN ("neg", 0x7e20b800, 0xff3ffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_2SAMED
, F_SSIZE
),
3766 SIMD_INSN ("sqxtun", 0x7e212800, 0xff3ffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_SISD_NARROW
, F_SSIZE
),
3767 SIMD_INSN ("uqxtn", 0x7e214800, 0xff3ffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_SISD_NARROW
, F_SSIZE
),
3768 SIMD_INSN ("fcvtxn", 0x7e216800, 0xffbffc00, asisdmisc
, OP_FCVTXN_S
, OP2 (Sd
, Sn
), QL_SISD_NARROW_S
, F_MISC
),
3769 SIMD_INSN ("fcvtnu", 0x7e21a800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3770 SF16_INSN ("fcvtnu", 0x7e79a800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_S_2SAMEH
, F_SSIZE
),
3771 SIMD_INSN ("fcvtmu", 0x7e21b800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3772 SF16_INSN ("fcvtmu", 0x7e79b800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_S_2SAMEH
, F_SSIZE
),
3773 SIMD_INSN ("fcvtau", 0x7e21c800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3774 SF16_INSN ("fcvtau", 0x7e79c800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_S_2SAMEH
, F_SSIZE
),
3775 SIMD_INSN ("ucvtf", 0x7e21d800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3776 SF16_INSN ("ucvtf", 0x7e79d800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_S_2SAMEH
, F_SSIZE
),
3777 SIMD_INSN ("fcmge", 0x7ea0c800, 0xffbffc00, asisdmisc
, 0, OP3 (Sd
, Sn
, FPIMM0
), QL_SISD_FCMP_0
, F_SSIZE
),
3778 SF16_INSN ("fcmge", 0x7ef8c800, 0xfffffc00, asisdmisc
, OP3 (Sd
, Sn
, FPIMM0
), QL_SISD_FCMP_H_0
, F_SSIZE
),
3779 SIMD_INSN ("fcmle", 0x7ea0d800, 0xffbffc00, asisdmisc
, 0, OP3 (Sd
, Sn
, FPIMM0
), QL_SISD_FCMP_0
, F_SSIZE
),
3780 SF16_INSN ("fcmle", 0x7ef8d800, 0xfffffc00, asisdmisc
, OP3 (Sd
, Sn
, FPIMM0
), QL_SISD_FCMP_H_0
, F_SSIZE
),
3781 SIMD_INSN ("fcvtpu", 0x7ea1a800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3782 SF16_INSN ("fcvtpu", 0x7ef9a800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_SISD_FCMP_H_0
, F_SSIZE
),
3783 SIMD_INSN ("fcvtzu", 0x7ea1b800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3784 SF16_INSN ("fcvtzu", 0x7ef9b800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_S_2SAMEH
, F_SSIZE
),
3785 SIMD_INSN ("frsqrte", 0x7ea1d800, 0xffbffc00, asisdmisc
, 0, OP2 (Sd
, Sn
), QL_S_2SAMESD
, F_SSIZE
),
3786 SF16_INSN ("frsqrte", 0x7ef9d800, 0xfffffc00, asisdmisc
, OP2 (Sd
, Sn
), QL_S_2SAMEH
, F_SSIZE
),
3787 /* AdvSIMD scalar copy. */
3788 SIMD_INSN ("dup", 0x5e000400, 0xffe0fc00, asisdone
, 0, OP2 (Sd
, En
), QL_S_2SAME
, F_HAS_ALIAS
),
3789 SIMD_INSN ("mov", 0x5e000400, 0xffe0fc00, asisdone
, 0, OP2 (Sd
, En
), QL_S_2SAME
, F_ALIAS
),
3790 /* AdvSIMD scalar pairwise. */
3791 SIMD_INSN ("addp", 0x5e31b800, 0xff3ffc00, asisdpair
, 0, OP2 (Sd
, Vn
), QL_SISD_PAIR_D
, F_SIZEQ
),
3792 SIMD_INSN ("fmaxnmp", 0x7e30c800, 0xffbffc00, asisdpair
, 0, OP2 (Sd
, Vn
), QL_SISD_PAIR
, F_SIZEQ
),
3793 SF16_INSN ("fmaxnmp", 0x5e30c800, 0xfffffc00, asisdpair
, OP2 (Sd
, Vn
), QL_SISD_PAIR_H
, F_SIZEQ
),
3794 SIMD_INSN ("faddp", 0x7e30d800, 0xffbffc00, asisdpair
, 0, OP2 (Sd
, Vn
), QL_SISD_PAIR
, F_SIZEQ
),
3795 SF16_INSN ("faddp", 0x5e30d800, 0xfffffc00, asisdpair
, OP2 (Sd
, Vn
), QL_SISD_PAIR_H
, F_SIZEQ
),
3796 SIMD_INSN ("fmaxp", 0x7e30f800, 0xffbffc00, asisdpair
, 0, OP2 (Sd
, Vn
), QL_SISD_PAIR
, F_SIZEQ
),
3797 SF16_INSN ("fmaxp", 0x5e30f800, 0xfffffc00, asisdpair
, OP2 (Sd
, Vn
), QL_SISD_PAIR_H
, F_SIZEQ
),
3798 SIMD_INSN ("fminnmp", 0x7eb0c800, 0xffbffc00, asisdpair
, 0, OP2 (Sd
, Vn
), QL_SISD_PAIR
, F_SIZEQ
),
3799 SF16_INSN ("fminnmp", 0x5eb0c800, 0xfffffc00, asisdpair
, OP2 (Sd
, Vn
), QL_SISD_PAIR_H
, F_SIZEQ
),
3800 SIMD_INSN ("fminp", 0x7eb0f800, 0xffbffc00, asisdpair
, 0, OP2 (Sd
, Vn
), QL_SISD_PAIR
, F_SIZEQ
),
3801 SF16_INSN ("fminp", 0x5eb0f800, 0xfffffc00, asisdpair
, OP2 (Sd
, Vn
), QL_SISD_PAIR_H
, F_SIZEQ
),
3802 /* AdvSIMD scalar three same. */
3803 SIMD_INSN ("sqadd", 0x5e200c00, 0xff20fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAME
, F_SSIZE
),
3804 SIMD_INSN ("sqsub", 0x5e202c00, 0xff20fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAME
, F_SSIZE
),
3805 SIMD_INSN ("sqshl", 0x5e204c00, 0xff20fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAME
, F_SSIZE
),
3806 SIMD_INSN ("sqrshl", 0x5e205c00, 0xff20fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAME
, F_SSIZE
),
3807 SIMD_INSN ("sqdmulh", 0x5e20b400, 0xff20fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_SISD_HS
, F_SSIZE
),
3808 SIMD_INSN ("fmulx", 0x5e20dc00, 0xffa0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_FP3
, F_SSIZE
),
3809 SF16_INSN ("fmulx", 0x5e401c00, 0xffe0fc00, asisdsame
, OP3 (Sd
, Sn
, Sm
), QL_FP3_H
, F_SSIZE
),
3810 SIMD_INSN ("fcmeq", 0x5e20e400, 0xffa0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_FP3
, F_SSIZE
),
3811 SF16_INSN ("fcmeq", 0x5e402400, 0xffe0fc00, asisdsame
, OP3 (Sd
, Sn
, Sm
), QL_FP3_H
, F_SSIZE
),
3812 SIMD_INSN ("frecps", 0x5e20fc00, 0xffa0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_FP3
, F_SSIZE
),
3813 SF16_INSN ("frecps", 0x5e403c00, 0xffe0fc00, asisdsame
, OP3 (Sd
, Sn
, Sm
), QL_FP3_H
, F_SSIZE
),
3814 SIMD_INSN ("frsqrts", 0x5ea0fc00, 0xffa0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_FP3
, F_SSIZE
),
3815 SF16_INSN ("frsqrts", 0x5ec03c00, 0xffe0fc00, asisdsame
, OP3 (Sd
, Sn
, Sm
), QL_FP3_H
, F_SSIZE
),
3816 SIMD_INSN ("cmgt", 0x5ee03400, 0xffe0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAMED
, F_SSIZE
),
3817 SIMD_INSN ("cmge", 0x5ee03c00, 0xffe0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAMED
, F_SSIZE
),
3818 SIMD_INSN ("sshl", 0x5ee04400, 0xffe0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAMED
, F_SSIZE
),
3819 SIMD_INSN ("srshl", 0x5ee05400, 0xffe0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAMED
, F_SSIZE
),
3820 SIMD_INSN ("add", 0x5ee08400, 0xffe0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAMED
, F_SSIZE
),
3821 SIMD_INSN ("cmtst", 0x5ee08c00, 0xffe0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAMED
, F_SSIZE
),
3822 SIMD_INSN ("uqadd", 0x7e200c00, 0xff20fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAME
, F_SSIZE
),
3823 SIMD_INSN ("uqsub", 0x7e202c00, 0xff20fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAME
, F_SSIZE
),
3824 SIMD_INSN ("uqshl", 0x7e204c00, 0xff20fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAME
, F_SSIZE
),
3825 SIMD_INSN ("uqrshl", 0x7e205c00, 0xff20fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAME
, F_SSIZE
),
3826 SIMD_INSN ("sqrdmulh", 0x7e20b400, 0xff20fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_SISD_HS
, F_SSIZE
),
3827 SIMD_INSN ("fcmge", 0x7e20e400, 0xffa0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_FP3
, F_SSIZE
),
3828 SF16_INSN ("fcmge", 0x7e402400, 0xffe0fc00, asisdsame
, OP3 (Sd
, Sn
, Sm
), QL_FP3_H
, F_SSIZE
),
3829 SIMD_INSN ("facge", 0x7e20ec00, 0xffa0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_FP3
, F_SSIZE
),
3830 SF16_INSN ("facge", 0x7e402c00, 0xffe0fc00, asisdsame
, OP3 (Sd
, Sn
, Sm
), QL_FP3_H
, F_SSIZE
),
3831 SIMD_INSN ("fabd", 0x7ea0d400, 0xffa0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_FP3
, F_SSIZE
),
3832 SF16_INSN ("fabd", 0x7ec01400, 0xffe0fc00, asisdsame
, OP3 (Sd
, Sn
, Sm
), QL_FP3_H
, F_SSIZE
),
3833 SIMD_INSN ("fcmgt", 0x7ea0e400, 0xffa0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_FP3
, F_SSIZE
),
3834 SF16_INSN ("fcmgt", 0x7ec02400, 0xffe0fc00, asisdsame
, OP3 (Sd
, Sn
, Sm
), QL_FP3_H
, F_SSIZE
),
3835 SIMD_INSN ("facgt", 0x7ea0ec00, 0xffa0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_FP3
, F_SSIZE
),
3836 SF16_INSN ("facgt", 0x7ec02c00, 0xffe0fc00, asisdsame
, OP3 (Sd
, Sn
, Sm
), QL_FP3_H
, F_SSIZE
),
3837 SIMD_INSN ("cmhi", 0x7ee03400, 0xffe0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAMED
, F_SSIZE
),
3838 SIMD_INSN ("cmhs", 0x7ee03c00, 0xffe0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAMED
, F_SSIZE
),
3839 SIMD_INSN ("ushl", 0x7ee04400, 0xffe0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAMED
, F_SSIZE
),
3840 SIMD_INSN ("urshl", 0x7ee05400, 0xffe0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAMED
, F_SSIZE
),
3841 SIMD_INSN ("sub", 0x7ee08400, 0xffe0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAMED
, F_SSIZE
),
3842 SIMD_INSN ("cmeq", 0x7ee08c00, 0xffe0fc00, asisdsame
, 0, OP3 (Sd
, Sn
, Sm
), QL_S_3SAMED
, F_SSIZE
),
3843 /* AdvSIMDs scalar three same extension. */
3844 RDMA_INSN ("sqrdmlah", 0x7e008400, 0xff20fc00, asimdsame
, OP3 (Sd
, Sn
, Sm
), QL_SISD_HS
, F_SSIZE
),
3845 RDMA_INSN ("sqrdmlsh", 0x7e008c00, 0xff20fc00, asimdsame
, OP3 (Sd
, Sn
, Sm
), QL_SISD_HS
, F_SSIZE
),
3846 /* AdvSIMD scalar shift by immediate. */
3847 SIMD_INSN ("sshr", 0x5f000400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_D
, 0),
3848 SIMD_INSN ("ssra", 0x5f001400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_D
, 0),
3849 SIMD_INSN ("srshr", 0x5f002400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_D
, 0),
3850 SIMD_INSN ("srsra", 0x5f003400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_D
, 0),
3851 SIMD_INSN ("shl", 0x5f005400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSL
), QL_SSHIFT_D
, 0),
3852 SIMD_INSN ("sqshl", 0x5f007400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSL
), QL_SSHIFT
, 0),
3853 SIMD_INSN ("sqshrn", 0x5f009400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFTN
, 0),
3854 SIMD_INSN ("sqrshrn", 0x5f009c00, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFTN
, 0),
3855 SIMD_INSN ("scvtf", 0x5f00e400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_SD
, 0),
3856 SF16_INSN ("scvtf", 0x5f10e400, 0xff80fc00, asisdshf
, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_H
, 0),
3857 SIMD_INSN ("fcvtzs", 0x5f00fc00, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_SD
, 0),
3858 SF16_INSN ("fcvtzs", 0x5f10fc00, 0xff80fc00, asisdshf
, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_H
, 0),
3859 SIMD_INSN ("ushr", 0x7f000400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_D
, 0),
3860 SIMD_INSN ("usra", 0x7f001400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_D
, 0),
3861 SIMD_INSN ("urshr", 0x7f002400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_D
, 0),
3862 SIMD_INSN ("ursra", 0x7f003400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_D
, 0),
3863 SIMD_INSN ("sri", 0x7f004400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_D
, 0),
3864 SIMD_INSN ("sli", 0x7f005400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSL
), QL_SSHIFT_D
, 0),
3865 SIMD_INSN ("sqshlu", 0x7f006400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSL
), QL_SSHIFT
, 0),
3866 SIMD_INSN ("uqshl", 0x7f007400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSL
), QL_SSHIFT
, 0),
3867 SIMD_INSN ("sqshrun", 0x7f008400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFTN
, 0),
3868 SIMD_INSN ("sqrshrun", 0x7f008c00, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFTN
, 0),
3869 SIMD_INSN ("uqshrn", 0x7f009400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFTN
, 0),
3870 SIMD_INSN ("uqrshrn", 0x7f009c00, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFTN
, 0),
3871 SIMD_INSN ("ucvtf", 0x7f00e400, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_SD
, 0),
3872 SF16_INSN ("ucvtf", 0x7f10e400, 0xff80fc00, asisdshf
, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_H
, 0),
3873 SIMD_INSN ("fcvtzu", 0x7f00fc00, 0xff80fc00, asisdshf
, 0, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_SD
, 0),
3874 SF16_INSN ("fcvtzu", 0x7f10fc00, 0xff80fc00, asisdshf
, OP3 (Sd
, Sn
, IMM_VLSR
), QL_SSHIFT_H
, 0),
3876 CORE_INSN ("sbfm", 0x13000000, 0x7f800000, bitfield
, 0, OP4 (Rd
, Rn
, IMMR
, IMMS
), QL_BF
, F_HAS_ALIAS
| F_SF
| F_N
),
3877 CORE_INSN ("sbfiz", 0x13000000, 0x7f800000, bitfield
, OP_SBFIZ
, OP4 (Rd
, Rn
, IMM
, WIDTH
), QL_BF2
, F_ALIAS
| F_P1
| F_CONV
),
3878 CORE_INSN ("sbfx", 0x13000000, 0x7f800000, bitfield
, OP_SBFX
, OP4 (Rd
, Rn
, IMM
, WIDTH
), QL_BF2
, F_ALIAS
| F_P1
| F_CONV
),
3879 CORE_INSN ("sxtb", 0x13001c00, 0x7fbffc00, bitfield
, 0, OP2 (Rd
, Rn
), QL_EXT
, F_ALIAS
| F_P3
| F_SF
| F_N
),
3880 CORE_INSN ("sxth", 0x13003c00, 0x7fbffc00, bitfield
, 0, OP2 (Rd
, Rn
), QL_EXT
, F_ALIAS
| F_P3
| F_SF
| F_N
),
3881 CORE_INSN ("sxtw", 0x93407c00, 0xfffffc00, bitfield
, 0, OP2 (Rd
, Rn
), QL_EXT_W
, F_ALIAS
| F_P3
),
3882 CORE_INSN ("asr", 0x13000000, 0x7f800000, bitfield
, OP_ASR_IMM
, OP3 (Rd
, Rn
, IMM
), QL_SHIFT
, F_ALIAS
| F_P2
| F_CONV
),
3883 CORE_INSN ("bfm", 0x33000000, 0x7f800000, bitfield
, 0, OP4 (Rd
, Rn
, IMMR
, IMMS
), QL_BF
, F_HAS_ALIAS
| F_SF
| F_N
),
3884 CORE_INSN ("bfi", 0x33000000, 0x7f800000, bitfield
, OP_BFI
, OP4 (Rd
, Rn
, IMM
, WIDTH
), QL_BF2
, F_ALIAS
| F_P1
| F_CONV
),
3885 CORE_INSN ("bfc", 0x330003e0, 0x7f8003e0, bitfield
, OP_BFC
, OP3 (Rd
, IMM
, WIDTH
), QL_BF1
, F_ALIAS
| F_P2
| F_CONV
),
3886 CORE_INSN ("bfxil", 0x33000000, 0x7f800000, bitfield
, OP_BFXIL
, OP4 (Rd
, Rn
, IMM
, WIDTH
), QL_BF2
, F_ALIAS
| F_P1
| F_CONV
),
3887 CORE_INSN ("ubfm", 0x53000000, 0x7f800000, bitfield
, 0, OP4 (Rd
, Rn
, IMMR
, IMMS
), QL_BF
, F_HAS_ALIAS
| F_SF
| F_N
),
3888 CORE_INSN ("ubfiz", 0x53000000, 0x7f800000, bitfield
, OP_UBFIZ
, OP4 (Rd
, Rn
, IMM
, WIDTH
), QL_BF2
, F_ALIAS
| F_P1
| F_CONV
),
3889 CORE_INSN ("ubfx", 0x53000000, 0x7f800000, bitfield
, OP_UBFX
, OP4 (Rd
, Rn
, IMM
, WIDTH
), QL_BF2
, F_ALIAS
| F_P1
| F_CONV
),
3890 CORE_INSN ("uxtb", 0x53001c00, 0xfffffc00, bitfield
, OP_UXTB
, OP2 (Rd
, Rn
), QL_I2SAMEW
, F_ALIAS
| F_P3
),
3891 CORE_INSN ("uxth", 0x53003c00, 0xfffffc00, bitfield
, OP_UXTH
, OP2 (Rd
, Rn
), QL_I2SAMEW
, F_ALIAS
| F_P3
),
3892 CORE_INSN ("lsl", 0x53000000, 0x7f800000, bitfield
, OP_LSL_IMM
, OP3 (Rd
, Rn
, IMM
), QL_SHIFT
, F_ALIAS
| F_P2
| F_CONV
),
3893 CORE_INSN ("lsr", 0x53000000, 0x7f800000, bitfield
, OP_LSR_IMM
, OP3 (Rd
, Rn
, IMM
), QL_SHIFT
, F_ALIAS
| F_P2
| F_CONV
),
3894 /* Unconditional branch (immediate). */
3895 CORE_INSN ("b", 0x14000000, 0xfc000000, branch_imm
, OP_B
, OP1 (ADDR_PCREL26
), QL_PCREL_26
, F_SUBCLASS_OTHER
),
3896 CORE_INSN ("bl", 0x94000000, 0xfc000000, branch_imm
, OP_BL
, OP1 (ADDR_PCREL26
), QL_PCREL_26
, F_BRANCH_CALL
),
3897 /* Unconditional branch (register). */
3898 CORE_INSN ("br", 0xd61f0000, 0xfffffc1f, branch_reg
, 0, OP1 (Rn
), QL_I1X
, F_SUBCLASS_OTHER
),
3899 CORE_INSN ("blr", 0xd63f0000, 0xfffffc1f, branch_reg
, 0, OP1 (Rn
), QL_I1X
, F_BRANCH_CALL
),
3900 CORE_INSN ("ret", 0xd65f0000, 0xfffffc1f, branch_reg
, 0, OP1 (Rn
), QL_I1X
, F_BRANCH_RET
| F_OPD0_OPT
| F_DEFAULT (30)),
3901 CORE_INSN ("eret", 0xd69f03e0, 0xffffffff, branch_reg
, 0, OP0 (), {}, F_BRANCH_RET
),
3902 CORE_INSN ("drps", 0xd6bf03e0, 0xffffffff, branch_reg
, 0, OP0 (), {}, F_SUBCLASS_OTHER
),
3903 PAUTH_INSN ("braa", 0xd71f0800, 0xfffffc00, branch_reg
, OP2 (Rn
, Rd_SP
), QL_I2SAMEX
, F_SUBCLASS_OTHER
),
3904 PAUTH_INSN ("brab", 0xd71f0c00, 0xfffffc00, branch_reg
, OP2 (Rn
, Rd_SP
), QL_I2SAMEX
, F_SUBCLASS_OTHER
),
3905 PAUTH_INSN ("blraa", 0xd73f0800, 0xfffffc00, branch_reg
, OP2 (Rn
, Rd_SP
), QL_I2SAMEX
, F_BRANCH_CALL
),
3906 PAUTH_INSN ("blrab", 0xd73f0c00, 0xfffffc00, branch_reg
, OP2 (Rn
, Rd_SP
), QL_I2SAMEX
, F_BRANCH_CALL
),
3907 PAUTH_INSN ("braaz", 0xd61f081f, 0xfffffc1f, branch_reg
, OP1 (Rn
), QL_I1X
, F_SUBCLASS_OTHER
),
3908 PAUTH_INSN ("brabz", 0xd61f0c1f, 0xfffffc1f, branch_reg
, OP1 (Rn
), QL_I1X
, F_SUBCLASS_OTHER
),
3909 PAUTH_INSN ("blraaz", 0xd63f081f, 0xfffffc1f, branch_reg
, OP1 (Rn
), QL_I1X
, F_BRANCH_CALL
),
3910 PAUTH_INSN ("blrabz", 0xd63f0c1f, 0xfffffc1f, branch_reg
, OP1 (Rn
), QL_I1X
, F_BRANCH_CALL
),
3911 PAUTH_INSN ("retaa", 0xd65f0bff, 0xffffffff, branch_reg
, OP0 (), {}, F_BRANCH_RET
),
3912 PAUTH_INSN ("retab", 0xd65f0fff, 0xffffffff, branch_reg
, OP0 (), {}, F_BRANCH_RET
),
3913 PAUTH_INSN ("eretaa", 0xd69f0bff, 0xffffffff, branch_reg
, OP0 (), {}, F_BRANCH_RET
),
3914 PAUTH_INSN ("eretab", 0xd69f0fff, 0xffffffff, branch_reg
, OP0 (), {}, F_BRANCH_RET
),
3915 /* Compare & branch (immediate). */
3916 CORE_INSN ("cbz", 0x34000000, 0x7f000000, compbranch
, 0, OP2 (Rt
, ADDR_PCREL19
), QL_R_PCREL
, F_SF
),
3917 CORE_INSN ("cbnz", 0x35000000, 0x7f000000, compbranch
, 0, OP2 (Rt
, ADDR_PCREL19
), QL_R_PCREL
, F_SF
),
3918 /* Conditional branch (immediate). */
3919 CORE_INSN ("b.c", 0x54000000, 0xff000010, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_COND
),
3920 /* Conditional compare (immediate). */
3921 CORE_INSN ("ccmn", 0x3a400800, 0x7fe00c10, condcmp_imm
, 0, OP4 (Rn
, CCMP_IMM
, NZCV
, COND
), QL_CCMP_IMM
, F_SF
),
3922 CORE_INSN ("ccmp", 0x7a400800, 0x7fe00c10, condcmp_imm
, 0, OP4 (Rn
, CCMP_IMM
, NZCV
, COND
), QL_CCMP_IMM
, F_SF
),
3923 /* Conditional compare (register). */
3924 CORE_INSN ("ccmn", 0x3a400000, 0x7fe00c10, condcmp_reg
, 0, OP4 (Rn
, Rm
, NZCV
, COND
), QL_CCMP
, F_SF
),
3925 CORE_INSN ("ccmp", 0x7a400000, 0x7fe00c10, condcmp_reg
, 0, OP4 (Rn
, Rm
, NZCV
, COND
), QL_CCMP
, F_SF
),
3926 /* Conditional select. */
3927 CORE_INSN ("csel", 0x1a800000, 0x7fe00c00, condsel
, 0, OP4 (Rd
, Rn
, Rm
, COND
), QL_CSEL
, F_SF
),
3928 CORE_INSN ("csinc", 0x1a800400, 0x7fe00c00, condsel
, 0, OP4 (Rd
, Rn
, Rm
, COND
), QL_CSEL
, F_HAS_ALIAS
| F_SF
),
3929 CORE_INSN ("cinc", 0x1a800400, 0x7fe00c00, condsel
, OP_CINC
, OP3 (Rd
, Rn
, COND1
), QL_CSEL
, F_ALIAS
| F_SF
| F_CONV
),
3930 CORE_INSN ("cset", 0x1a9f07e0, 0x7fff0fe0, condsel
, OP_CSET
, OP2 (Rd
, COND1
), QL_DST_R
, F_ALIAS
| F_P1
| F_SF
| F_CONV
),
3931 CORE_INSN ("csinv", 0x5a800000, 0x7fe00c00, condsel
, 0, OP4 (Rd
, Rn
, Rm
, COND
), QL_CSEL
, F_HAS_ALIAS
| F_SF
),
3932 CORE_INSN ("cinv", 0x5a800000, 0x7fe00c00, condsel
, OP_CINV
, OP3 (Rd
, Rn
, COND1
), QL_CSEL
, F_ALIAS
| F_SF
| F_CONV
),
3933 CORE_INSN ("csetm", 0x5a9f03e0, 0x7fff0fe0, condsel
, OP_CSETM
, OP2 (Rd
, COND1
), QL_DST_R
, F_ALIAS
| F_P1
| F_SF
| F_CONV
),
3934 CORE_INSN ("csneg", 0x5a800400, 0x7fe00c00, condsel
, 0, OP4 (Rd
, Rn
, Rm
, COND
), QL_CSEL
, F_HAS_ALIAS
| F_SF
),
3935 CORE_INSN ("cneg", 0x5a800400, 0x7fe00c00, condsel
, OP_CNEG
, OP3 (Rd
, Rn
, COND1
), QL_CSEL
, F_ALIAS
| F_SF
| F_CONV
),
3937 AES_INSN ("aese", 0x4e284800, 0xfffffc00, cryptoaes
, OP2 (Vd
, Vn
), QL_V2SAME16B
, 0),
3938 AES_INSN ("aesd", 0x4e285800, 0xfffffc00, cryptoaes
, OP2 (Vd
, Vn
), QL_V2SAME16B
, 0),
3939 AES_INSN ("aesmc", 0x4e286800, 0xfffffc00, cryptoaes
, OP2 (Vd
, Vn
), QL_V2SAME16B
, 0),
3940 AES_INSN ("aesimc", 0x4e287800, 0xfffffc00, cryptoaes
, OP2 (Vd
, Vn
), QL_V2SAME16B
, 0),
3941 /* Crypto two-reg SHA. */
3942 SHA2_INSN ("sha1h", 0x5e280800, 0xfffffc00, cryptosha2
, OP2 (Fd
, Fn
), QL_2SAMES
, 0),
3943 SHA2_INSN ("sha1su1", 0x5e281800, 0xfffffc00, cryptosha2
, OP2 (Vd
, Vn
), QL_V2SAME4S
, 0),
3944 SHA2_INSN ("sha256su0",0x5e282800, 0xfffffc00, cryptosha2
, OP2 (Vd
, Vn
), QL_V2SAME4S
, 0),
3945 /* Crypto three-reg SHA. */
3946 SHA2_INSN ("sha1c", 0x5e000000, 0xffe0fc00, cryptosha3
, OP3 (Fd
, Fn
, Vm
), QL_SHAUPT
, 0),
3947 SHA2_INSN ("sha1p", 0x5e001000, 0xffe0fc00, cryptosha3
, OP3 (Fd
, Fn
, Vm
), QL_SHAUPT
, 0),
3948 SHA2_INSN ("sha1m", 0x5e002000, 0xffe0fc00, cryptosha3
, OP3 (Fd
, Fn
, Vm
), QL_SHAUPT
, 0),
3949 SHA2_INSN ("sha1su0", 0x5e003000, 0xffe0fc00, cryptosha3
, OP3 (Vd
, Vn
, Vm
), QL_V3SAME4S
, 0),
3950 SHA2_INSN ("sha256h", 0x5e004000, 0xffe0fc00, cryptosha3
, OP3 (Fd
, Fn
, Vm
), QL_SHA256UPT
, 0),
3951 SHA2_INSN ("sha256h2", 0x5e005000, 0xffe0fc00, cryptosha3
, OP3 (Fd
, Fn
, Vm
), QL_SHA256UPT
, 0),
3952 SHA2_INSN ("sha256su1",0x5e006000, 0xffe0fc00, cryptosha3
, OP3 (Vd
, Vn
, Vm
), QL_V3SAME4S
, 0),
3953 /* Data-processing (1 source). */
3954 CORE_INSN ("rbit", 0x5ac00000, 0x7ffffc00, dp_1src
, 0, OP2 (Rd
, Rn
), QL_I2SAME
, F_SF
),
3955 CORE_INSN ("rev16", 0x5ac00400, 0x7ffffc00, dp_1src
, 0, OP2 (Rd
, Rn
), QL_I2SAME
, F_SF
),
3956 CORE_INSN ("rev", 0x5ac00800, 0xfffffc00, dp_1src
, 0, OP2 (Rd
, Rn
), QL_I2SAMEW
, 0),
3957 CORE_INSN ("rev", 0xdac00c00, 0xfffffc00, dp_1src
, 0, OP2 (Rd
, Rn
), QL_I2SAMEX
, F_SF
| F_HAS_ALIAS
| F_P1
),
3958 CORE_INSN ("rev64", 0xdac00c00, 0xfffffc00, dp_1src
, 0, OP2 (Rd
, Rn
), QL_I2SAMEX
, F_SF
| F_ALIAS
),
3959 CORE_INSN ("clz", 0x5ac01000, 0x7ffffc00, dp_1src
, 0, OP2 (Rd
, Rn
), QL_I2SAME
, F_SF
),
3960 CORE_INSN ("cls", 0x5ac01400, 0x7ffffc00, dp_1src
, 0, OP2 (Rd
, Rn
), QL_I2SAME
, F_SF
),
3961 CORE_INSN ("rev32", 0xdac00800, 0xfffffc00, dp_1src
, 0, OP2 (Rd
, Rn
), QL_I2SAMEX
, 0),
3962 PAUTH_INSN ("pacia", 0xdac10000, 0xfffffc00, dp_1src
, OP2 (Rd
, Rn_SP
), QL_I2SAMEX
, 0),
3963 PAUTH_INSN ("pacib", 0xdac10400, 0xfffffc00, dp_1src
, OP2 (Rd
, Rn_SP
), QL_I2SAMEX
, 0),
3964 PAUTH_INSN ("pacda", 0xdac10800, 0xfffffc00, dp_1src
, OP2 (Rd
, Rn_SP
), QL_I2SAMEX
, 0),
3965 PAUTH_INSN ("pacdb", 0xdac10c00, 0xfffffc00, dp_1src
, OP2 (Rd
, Rn_SP
), QL_I2SAMEX
, 0),
3966 PAUTH_INSN ("autia", 0xdac11000, 0xfffffc00, dp_1src
, OP2 (Rd
, Rn_SP
), QL_I2SAMEX
, 0),
3967 PAUTH_INSN ("autib", 0xdac11400, 0xfffffc00, dp_1src
, OP2 (Rd
, Rn_SP
), QL_I2SAMEX
, 0),
3968 PAUTH_INSN ("autda", 0xdac11800, 0xfffffc00, dp_1src
, OP2 (Rd
, Rn_SP
), QL_I2SAMEX
, 0),
3969 PAUTH_INSN ("autdb", 0xdac11c00, 0xfffffc00, dp_1src
, OP2 (Rd
, Rn_SP
), QL_I2SAMEX
, 0),
3970 PAUTH_INSN ("paciza", 0xdac123e0, 0xffffffe0, dp_1src
, OP1 (Rd
), QL_I1X
, 0),
3971 PAUTH_INSN ("pacizb", 0xdac127e0, 0xffffffe0, dp_1src
, OP1 (Rd
), QL_I1X
, 0),
3972 PAUTH_INSN ("pacdza", 0xdac12be0, 0xffffffe0, dp_1src
, OP1 (Rd
), QL_I1X
, 0),
3973 PAUTH_INSN ("pacdzb", 0xdac12fe0, 0xffffffe0, dp_1src
, OP1 (Rd
), QL_I1X
, 0),
3974 PAUTH_INSN ("autiza", 0xdac133e0, 0xffffffe0, dp_1src
, OP1 (Rd
), QL_I1X
, 0),
3975 PAUTH_INSN ("autizb", 0xdac137e0, 0xffffffe0, dp_1src
, OP1 (Rd
), QL_I1X
, 0),
3976 PAUTH_INSN ("autdza", 0xdac13be0, 0xffffffe0, dp_1src
, OP1 (Rd
), QL_I1X
, 0),
3977 PAUTH_INSN ("autdzb", 0xdac13fe0, 0xffffffe0, dp_1src
, OP1 (Rd
), QL_I1X
, 0),
3978 PAUTH_INSN ("xpaci", 0xdac143e0, 0xffffffe0, dp_1src
, OP1 (Rd
), QL_I1X
, 0),
3979 PAUTH_INSN ("xpacd", 0xdac147e0, 0xffffffe0, dp_1src
, OP1 (Rd
), QL_I1X
, 0),
3980 /* Data-processing (2 source). */
3981 CORE_INSN ("udiv", 0x1ac00800, 0x7fe0fc00, dp_2src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
| F_SUBCLASS_OTHER
),
3982 CORE_INSN ("sdiv", 0x1ac00c00, 0x7fe0fc00, dp_2src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
| F_SUBCLASS_OTHER
),
3983 CORE_INSN ("lslv", 0x1ac02000, 0x7fe0fc00, dp_2src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
| F_HAS_ALIAS
| F_SUBCLASS_OTHER
),
3984 CORE_INSN ("lsl", 0x1ac02000, 0x7fe0fc00, dp_2src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
| F_ALIAS
| F_SUBCLASS_OTHER
),
3985 CORE_INSN ("lsrv", 0x1ac02400, 0x7fe0fc00, dp_2src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
| F_HAS_ALIAS
| F_SUBCLASS_OTHER
),
3986 CORE_INSN ("lsr", 0x1ac02400, 0x7fe0fc00, dp_2src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
| F_ALIAS
| F_SUBCLASS_OTHER
),
3987 CORE_INSN ("asrv", 0x1ac02800, 0x7fe0fc00, dp_2src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
| F_HAS_ALIAS
| F_SUBCLASS_OTHER
),
3988 CORE_INSN ("asr", 0x1ac02800, 0x7fe0fc00, dp_2src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
| F_ALIAS
| F_SUBCLASS_OTHER
),
3989 CORE_INSN ("rorv", 0x1ac02c00, 0x7fe0fc00, dp_2src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
| F_HAS_ALIAS
| F_SUBCLASS_OTHER
),
3990 CORE_INSN ("ror", 0x1ac02c00, 0x7fe0fc00, dp_2src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
| F_ALIAS
| F_SUBCLASS_OTHER
),
3991 MEMTAG_INSN ("subp", 0x9ac00000, 0xffe0fc00, dp_2src
, OP3 (Rd
, Rn_SP
, Rm_SP
), QL_I3SAMEX
, F_SUBCLASS_OTHER
),
3992 MEMTAG_INSN ("subps", 0xbac00000, 0xffe0fc00, dp_2src
, OP3 (Rd
, Rn_SP
, Rm_SP
), QL_I3SAMEX
, F_HAS_ALIAS
| F_SUBCLASS_OTHER
),
3993 MEMTAG_INSN ("cmpp", 0xbac0001f, 0xffe0fc1f, dp_2src
, OP2 (Rn_SP
, Rm_SP
), QL_I2SAMEX
, F_ALIAS
| F_SUBCLASS_OTHER
),
3994 MEMTAG_INSN ("irg", 0x9ac01000, 0xffe0fc00, dp_2src
, OP3 (Rd_SP
, Rn_SP
, Rm
), QL_I3SAMEX
, F_OPD2_OPT
| F_DEFAULT (0x1f) | F_DP_TAG_ONLY
),
3995 MEMTAG_INSN ("gmi", 0x9ac01400, 0xffe0fc00, dp_2src
, OP3 (Rd
, Rn_SP
, Rm
), QL_I3SAMEX
, F_SUBCLASS_OTHER
),
3996 PAUTH_INSN ("pacga", 0x9ac03000, 0xffe0fc00, dp_2src
, OP3 (Rd
, Rn
, Rm_SP
), QL_I3SAMEX
, F_SUBCLASS_OTHER
),
3997 /* CRC instructions. */
3998 _CRC_INSN ("crc32b", 0x1ac04000, 0xffe0fc00, dp_2src
, OP3 (Rd
, Rn
, Rm
), QL_I3SAMEW
, F_SUBCLASS_OTHER
),
3999 _CRC_INSN ("crc32h", 0x1ac04400, 0xffe0fc00, dp_2src
, OP3 (Rd
, Rn
, Rm
), QL_I3SAMEW
, F_SUBCLASS_OTHER
),
4000 _CRC_INSN ("crc32w", 0x1ac04800, 0xffe0fc00, dp_2src
, OP3 (Rd
, Rn
, Rm
), QL_I3SAMEW
, F_SUBCLASS_OTHER
),
4001 _CRC_INSN ("crc32x", 0x9ac04c00, 0xffe0fc00, dp_2src
, OP3 (Rd
, Rn
, Rm
), QL_I3WWX
, F_SUBCLASS_OTHER
),
4002 _CRC_INSN ("crc32cb",0x1ac05000, 0xffe0fc00, dp_2src
, OP3 (Rd
, Rn
, Rm
), QL_I3SAMEW
, F_SUBCLASS_OTHER
),
4003 _CRC_INSN ("crc32ch",0x1ac05400, 0xffe0fc00, dp_2src
, OP3 (Rd
, Rn
, Rm
), QL_I3SAMEW
, F_SUBCLASS_OTHER
),
4004 _CRC_INSN ("crc32cw",0x1ac05800, 0xffe0fc00, dp_2src
, OP3 (Rd
, Rn
, Rm
), QL_I3SAMEW
, F_SUBCLASS_OTHER
),
4005 _CRC_INSN ("crc32cx",0x9ac05c00, 0xffe0fc00, dp_2src
, OP3 (Rd
, Rn
, Rm
), QL_I3WWX
, F_SUBCLASS_OTHER
),
4006 /* Data-processing (3 source). */
4007 CORE_INSN ("madd", 0x1b000000, 0x7fe08000, dp_3src
, 0, OP4 (Rd
, Rn
, Rm
, Ra
), QL_I4SAMER
, F_HAS_ALIAS
| F_SF
),
4008 CORE_INSN ("mul", 0x1b007c00, 0x7fe0fc00, dp_3src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_ALIAS
| F_SF
),
4009 CORE_INSN ("msub", 0x1b008000, 0x7fe08000, dp_3src
, 0, OP4 (Rd
, Rn
, Rm
, Ra
), QL_I4SAMER
, F_HAS_ALIAS
| F_SF
),
4010 CORE_INSN ("mneg", 0x1b00fc00, 0x7fe0fc00, dp_3src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_ALIAS
| F_SF
),
4011 CORE_INSN ("smaddl",0x9b200000, 0xffe08000, dp_3src
, 0, OP4 (Rd
, Rn
, Rm
, Ra
), QL_I4SAMEL
, F_HAS_ALIAS
),
4012 CORE_INSN ("smull", 0x9b207c00, 0xffe0fc00, dp_3src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMEL
, F_ALIAS
),
4013 CORE_INSN ("smsubl",0x9b208000, 0xffe08000, dp_3src
, 0, OP4 (Rd
, Rn
, Rm
, Ra
), QL_I4SAMEL
, F_HAS_ALIAS
),
4014 CORE_INSN ("smnegl",0x9b20fc00, 0xffe0fc00, dp_3src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMEL
, F_ALIAS
),
4015 CORE_INSN ("smulh", 0x9b407c00, 0xffe08000, dp_3src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMEX
, 0),
4016 CORE_INSN ("umaddl",0x9ba00000, 0xffe08000, dp_3src
, 0, OP4 (Rd
, Rn
, Rm
, Ra
), QL_I4SAMEL
, F_HAS_ALIAS
),
4017 CORE_INSN ("umull", 0x9ba07c00, 0xffe0fc00, dp_3src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMEL
, F_ALIAS
),
4018 CORE_INSN ("umsubl",0x9ba08000, 0xffe08000, dp_3src
, 0, OP4 (Rd
, Rn
, Rm
, Ra
), QL_I4SAMEL
, F_HAS_ALIAS
),
4019 CORE_INSN ("umnegl",0x9ba0fc00, 0xffe0fc00, dp_3src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMEL
, F_ALIAS
),
4020 CORE_INSN ("umulh", 0x9bc07c00, 0xffe08000, dp_3src
, 0, OP3 (Rd
, Rn
, Rm
), QL_I3SAMEX
, 0),
4021 /* Excep'n generation. */
4022 CORE_INSN ("svc", 0xd4000001, 0xffe0001f, exception
, 0, OP1 (EXCEPTION
), {}, 0),
4023 CORE_INSN ("hvc", 0xd4000002, 0xffe0001f, exception
, 0, OP1 (EXCEPTION
), {}, 0),
4024 CORE_INSN ("smc", 0xd4000003, 0xffe0001f, exception
, 0, OP1 (EXCEPTION
), {}, 0),
4025 CORE_INSN ("brk", 0xd4200000, 0xffe0001f, exception
, 0, OP1 (EXCEPTION
), {}, 0),
4026 CORE_INSN ("hlt", 0xd4400000, 0xffe0001f, exception
, 0, OP1 (EXCEPTION
), {}, 0),
4027 CORE_INSN ("udf", 0x00000000, 0xffff0000, exception
, 0, OP1 (UNDEFINED
), {}, 0),
4028 CORE_INSN ("dcps1", 0xd4a00001, 0xffe0001f, exception
, 0, OP1 (EXCEPTION
), {}, F_OPD0_OPT
| F_DEFAULT (0)),
4029 CORE_INSN ("dcps2", 0xd4a00002, 0xffe0001f, exception
, 0, OP1 (EXCEPTION
), {}, F_OPD0_OPT
| F_DEFAULT (0)),
4030 CORE_INSN ("dcps3", 0xd4a00003, 0xffe0001f, exception
, 0, OP1 (EXCEPTION
), {}, F_OPD0_OPT
| F_DEFAULT (0)),
4032 CORE_INSN ("extr", 0x13800000, 0x7fa00000, extract
, 0, OP4 (Rd
, Rn
, Rm
, IMMS
), QL_EXTR
, F_HAS_ALIAS
| F_SF
| F_N
),
4033 CORE_INSN ("ror", 0x13800000, 0x7fa00000, extract
, OP_ROR_IMM
, OP3 (Rd
, Rm
, IMMS
), QL_SHIFT
, F_ALIAS
| F_CONV
),
4034 /* Floating-point<->fixed-point conversions. */
4035 __FP_INSN ("scvtf", 0x1e020000, 0x7f3f0000, float2fix
, 0, OP3 (Fd
, Rn
, FBITS
), QL_FIX2FP
, F_FPTYPE
| F_SF
),
4036 FF16_INSN ("scvtf", 0x1ec20000, 0x7f3f0000, float2fix
, OP3 (Fd
, Rn
, FBITS
), QL_FIX2FP_H
, F_FPTYPE
| F_SF
),
4037 __FP_INSN ("ucvtf", 0x1e030000, 0x7f3f0000, float2fix
, 0, OP3 (Fd
, Rn
, FBITS
), QL_FIX2FP
, F_FPTYPE
| F_SF
),
4038 FF16_INSN ("ucvtf", 0x1ec30000, 0x7f3f0000, float2fix
, OP3 (Fd
, Rn
, FBITS
), QL_FIX2FP_H
, F_FPTYPE
| F_SF
),
4039 __FP_INSN ("fcvtzs",0x1e180000, 0x7f3f0000, float2fix
, 0, OP3 (Rd
, Fn
, FBITS
), QL_FP2FIX
, F_FPTYPE
| F_SF
),
4040 FF16_INSN ("fcvtzs",0x1ed80000, 0x7f3f0000, float2fix
, OP3 (Rd
, Fn
, FBITS
), QL_FP2FIX_H
, F_FPTYPE
| F_SF
),
4041 __FP_INSN ("fcvtzu",0x1e190000, 0x7f3f0000, float2fix
, 0, OP3 (Rd
, Fn
, FBITS
), QL_FP2FIX
, F_FPTYPE
| F_SF
),
4042 FF16_INSN ("fcvtzu",0x1ed90000, 0x7f3f0000, float2fix
, OP3 (Rd
, Fn
, FBITS
), QL_FP2FIX_H
, F_FPTYPE
| F_SF
),
4043 /* Floating-point<->integer conversions. */
4044 __FP_INSN ("fcvtns",0x1e200000, 0x7f3ffc00, float2int
, 0, OP2 (Rd
, Fn
), QL_FP2INT
, F_FPTYPE
| F_SF
),
4045 FF16_INSN ("fcvtns",0x1ee00000, 0x7f3ffc00, float2int
, OP2 (Rd
, Fn
), QL_FP2INT_H
, F_FPTYPE
| F_SF
),
4046 __FP_INSN ("fcvtnu",0x1e210000, 0x7f3ffc00, float2int
, 0, OP2 (Rd
, Fn
), QL_FP2INT
, F_FPTYPE
| F_SF
),
4047 FF16_INSN ("fcvtnu",0x1ee10000, 0x7f3ffc00, float2int
, OP2 (Rd
, Fn
), QL_FP2INT_H
, F_FPTYPE
| F_SF
),
4048 __FP_INSN ("scvtf", 0x1e220000, 0x7f3ffc00, float2int
, 0, OP2 (Fd
, Rn
), QL_INT2FP
, F_FPTYPE
| F_SF
),
4049 FF16_INSN ("scvtf", 0x1ee20000, 0x7f3ffc00, float2int
, OP2 (Fd
, Rn
), QL_INT2FP_H
, F_FPTYPE
| F_SF
),
4050 __FP_INSN ("ucvtf", 0x1e230000, 0x7f3ffc00, float2int
, 0, OP2 (Fd
, Rn
), QL_INT2FP
, F_FPTYPE
| F_SF
),
4051 FF16_INSN ("ucvtf", 0x1ee30000, 0x7f3ffc00, float2int
, OP2 (Fd
, Rn
), QL_INT2FP_H
, F_FPTYPE
| F_SF
),
4052 __FP_INSN ("fcvtas",0x1e240000, 0x7f3ffc00, float2int
, 0, OP2 (Rd
, Fn
), QL_FP2INT
, F_FPTYPE
| F_SF
),
4053 FF16_INSN ("fcvtas",0x1ee40000, 0x7f3ffc00, float2int
, OP2 (Rd
, Fn
), QL_FP2INT_H
, F_FPTYPE
| F_SF
),
4054 __FP_INSN ("fcvtau",0x1e250000, 0x7f3ffc00, float2int
, 0, OP2 (Rd
, Fn
), QL_FP2INT
, F_FPTYPE
| F_SF
),
4055 FF16_INSN ("fcvtau",0x1ee50000, 0x7f3ffc00, float2int
, OP2 (Rd
, Fn
), QL_FP2INT_H
, F_FPTYPE
| F_SF
),
4056 __FP_INSN ("fmov", 0x1e260000, 0x7f3ffc00, float2int
, 0, OP2 (Rd
, Fn
), QL_FP2INT_FMOV
, F_FPTYPE
| F_SF
),
4057 FF16_INSN ("fmov", 0x1ee60000, 0x7f3ffc00, float2int
, OP2 (Rd
, Fn
), QL_FP2INT_H
, F_FPTYPE
| F_SF
),
4058 __FP_INSN ("fmov", 0x1e270000, 0x7f3ffc00, float2int
, 0, OP2 (Fd
, Rn
), QL_INT2FP_FMOV
, F_FPTYPE
| F_SF
),
4059 FF16_INSN ("fmov", 0x1ee70000, 0x7f3ffc00, float2int
, OP2 (Fd
, Rn
), QL_INT2FP_H
, F_FPTYPE
| F_SF
),
4060 __FP_INSN ("fcvtps",0x1e280000, 0x7f3ffc00, float2int
, 0, OP2 (Rd
, Fn
), QL_FP2INT
, F_FPTYPE
| F_SF
),
4061 FF16_INSN ("fcvtps",0x1ee80000, 0x7f3ffc00, float2int
, OP2 (Rd
, Fn
), QL_FP2INT_H
, F_FPTYPE
| F_SF
),
4062 __FP_INSN ("fcvtpu",0x1e290000, 0x7f3ffc00, float2int
, 0, OP2 (Rd
, Fn
), QL_FP2INT
, F_FPTYPE
| F_SF
),
4063 FF16_INSN ("fcvtpu",0x1ee90000, 0x7f3ffc00, float2int
, OP2 (Rd
, Fn
), QL_FP2INT_H
, F_FPTYPE
| F_SF
),
4064 __FP_INSN ("fcvtms",0x1e300000, 0x7f3ffc00, float2int
, 0, OP2 (Rd
, Fn
), QL_FP2INT
, F_FPTYPE
| F_SF
),
4065 FF16_INSN ("fcvtms",0x1ef00000, 0x7f3ffc00, float2int
, OP2 (Rd
, Fn
), QL_FP2INT_H
, F_FPTYPE
| F_SF
),
4066 __FP_INSN ("fcvtmu",0x1e310000, 0x7f3ffc00, float2int
, 0, OP2 (Rd
, Fn
), QL_FP2INT
, F_FPTYPE
| F_SF
),
4067 FF16_INSN ("fcvtmu",0x1ef10000, 0x7f3ffc00, float2int
, OP2 (Rd
, Fn
), QL_FP2INT_H
, F_FPTYPE
| F_SF
),
4068 __FP_INSN ("fcvtzs",0x1e380000, 0x7f3ffc00, float2int
, 0, OP2 (Rd
, Fn
), QL_FP2INT
, F_FPTYPE
| F_SF
),
4069 FF16_INSN ("fcvtzs",0x1ef80000, 0x7f3ffc00, float2int
, OP2 (Rd
, Fn
), QL_FP2INT_H
, F_FPTYPE
| F_SF
),
4070 __FP_INSN ("fcvtzu",0x1e390000, 0x7f3ffc00, float2int
, 0, OP2 (Rd
, Fn
), QL_FP2INT
, F_FPTYPE
| F_SF
),
4071 FF16_INSN ("fcvtzu",0x1ef90000, 0x7f3ffc00, float2int
, OP2 (Rd
, Fn
), QL_FP2INT_H
, F_FPTYPE
| F_SF
),
4072 __FP_INSN ("fmov", 0x9eae0000, 0xfffffc00, float2int
, 0, OP2 (Rd
, VnD1
), QL_XVD1
, 0),
4073 __FP_INSN ("fmov", 0x9eaf0000, 0xfffffc00, float2int
, 0, OP2 (VdD1
, Rn
), QL_VD1X
, 0),
4074 JSCVT_INSN ("fjcvtzs", 0x1e7e0000, 0xfffffc00, float2int
, OP2 (Rd
, Fn
), QL_FP2INT_W_D
, 0),
4075 /* Floating-point conditional compare. */
4076 __FP_INSN ("fccmp", 0x1e200400, 0xff200c10, floatccmp
, 0, OP4 (Fn
, Fm
, NZCV
, COND
), QL_FCCMP
, F_FPTYPE
),
4077 FF16_INSN ("fccmp", 0x1ee00400, 0xff200c10, floatccmp
, OP4 (Fn
, Fm
, NZCV
, COND
), QL_FCCMP_H
, F_FPTYPE
),
4078 __FP_INSN ("fccmpe",0x1e200410, 0xff200c10, floatccmp
, 0, OP4 (Fn
, Fm
, NZCV
, COND
), QL_FCCMP
, F_FPTYPE
),
4079 FF16_INSN ("fccmpe",0x1ee00410, 0xff200c10, floatccmp
, OP4 (Fn
, Fm
, NZCV
, COND
), QL_FCCMP_H
, F_FPTYPE
),
4080 /* Floating-point compare. */
4081 __FP_INSN ("fcmp", 0x1e202000, 0xff20fc1f, floatcmp
, 0, OP2 (Fn
, Fm
), QL_FP2
, F_FPTYPE
),
4082 FF16_INSN ("fcmp", 0x1ee02000, 0xff20fc1f, floatcmp
, OP2 (Fn
, Fm
), QL_FP2_H
, F_FPTYPE
),
4083 __FP_INSN ("fcmpe", 0x1e202010, 0xff20fc1f, floatcmp
, 0, OP2 (Fn
, Fm
), QL_FP2
, F_FPTYPE
),
4084 FF16_INSN ("fcmpe", 0x1ee02010, 0xff20fc1f, floatcmp
, OP2 (Fn
, Fm
), QL_FP2_H
, F_FPTYPE
),
4085 __FP_INSN ("fcmp", 0x1e202008, 0xff20fc1f, floatcmp
, 0, OP2 (Fn
, FPIMM0
), QL_DST_SD
,F_FPTYPE
),
4086 FF16_INSN ("fcmp", 0x1ee02008, 0xff20fc1f, floatcmp
, OP2 (Fn
, FPIMM0
), QL_FP2_H
, F_FPTYPE
),
4087 __FP_INSN ("fcmpe", 0x1e202018, 0xff20fc1f, floatcmp
, 0, OP2 (Fn
, FPIMM0
), QL_DST_SD
,F_FPTYPE
),
4088 FF16_INSN ("fcmpe", 0x1ee02018, 0xff20fc1f, floatcmp
, OP2 (Fn
, FPIMM0
), QL_FP2_H
, F_FPTYPE
),
4089 /* Data processing instructions ARMv8.5-A. */
4090 FLAGMANIP_INSN ("xaflag", 0xd500403f, 0xffffffff, 0, OP0 (), {}, 0),
4091 FLAGMANIP_INSN ("axflag", 0xd500405f, 0xffffffff, 0, OP0 (), {}, 0),
4092 FRINTTS_INSN ("frint32z", 0x1e284000, 0xffbffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4093 FRINTTS_INSN ("frint32x", 0x1e28c000, 0xffbffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4094 FRINTTS_INSN ("frint64z", 0x1e294000, 0xffbffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4095 FRINTTS_INSN ("frint64x", 0x1e29c000, 0xffbffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4096 /* Floating-point data-processing (1 source). */
4097 __FP_INSN ("fmov", 0x1e204000, 0xff3ffc00, floatdp1
, 0, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4098 FF16_INSN ("fmov", 0x1ee04000, 0xff3ffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2_H
, F_FPTYPE
),
4099 __FP_INSN ("fabs", 0x1e20c000, 0xff3ffc00, floatdp1
, 0, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4100 FF16_INSN ("fabs", 0x1ee0c000, 0xff3ffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2_H
, F_FPTYPE
),
4101 __FP_INSN ("fneg", 0x1e214000, 0xff3ffc00, floatdp1
, 0, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4102 FF16_INSN ("fneg", 0x1ee14000, 0xff3ffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2_H
, F_FPTYPE
),
4103 __FP_INSN ("fsqrt", 0x1e21c000, 0xff3ffc00, floatdp1
, 0, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4104 FF16_INSN ("fsqrt", 0x1ee1c000, 0xff3ffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2_H
, F_FPTYPE
),
4105 __FP_INSN ("fcvt", 0x1e224000, 0xff3e7c00, floatdp1
, OP_FCVT
, OP2 (Fd
, Fn
), QL_FCVT
, F_FPTYPE
| F_MISC
),
4106 __FP_INSN ("frintn",0x1e244000, 0xff3ffc00, floatdp1
, 0, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4107 FF16_INSN ("frintn",0x1ee44000, 0xff3ffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2_H
, F_FPTYPE
),
4108 __FP_INSN ("frintp",0x1e24c000, 0xff3ffc00, floatdp1
, 0, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4109 FF16_INSN ("frintp",0x1ee4c000, 0xff3ffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2_H
, F_FPTYPE
),
4110 __FP_INSN ("frintm",0x1e254000, 0xff3ffc00, floatdp1
, 0, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4111 FF16_INSN ("frintm",0x1ee54000, 0xff3ffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2_H
, F_FPTYPE
),
4112 __FP_INSN ("frintz",0x1e25c000, 0xff3ffc00, floatdp1
, 0, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4113 FF16_INSN ("frintz",0x1ee5c000, 0xff3ffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2_H
, F_FPTYPE
),
4114 __FP_INSN ("frinta",0x1e264000, 0xff3ffc00, floatdp1
, 0, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4115 FF16_INSN ("frinta",0x1ee64000, 0xff3ffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2_H
, F_FPTYPE
),
4116 __FP_INSN ("frintx",0x1e274000, 0xff3ffc00, floatdp1
, 0, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4117 FF16_INSN ("frintx",0x1ee74000, 0xff3ffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2_H
, F_FPTYPE
),
4118 __FP_INSN ("frinti",0x1e27c000, 0xff3ffc00, floatdp1
, 0, OP2 (Fd
, Fn
), QL_FP2
, F_FPTYPE
),
4119 FF16_INSN ("frinti",0x1ee7c000, 0xff3ffc00, floatdp1
, OP2 (Fd
, Fn
), QL_FP2_H
, F_FPTYPE
),
4120 /* Floating-point data-processing (2 source). */
4121 __FP_INSN ("fmul", 0x1e200800, 0xff20fc00, floatdp2
, 0, OP3 (Fd
, Fn
, Fm
), QL_FP3
, F_FPTYPE
),
4122 FF16_INSN ("fmul", 0x1ee00800, 0xff20fc00, floatdp2
, OP3 (Fd
, Fn
, Fm
), QL_FP3_H
, F_FPTYPE
),
4123 __FP_INSN ("fdiv", 0x1e201800, 0xff20fc00, floatdp2
, 0, OP3 (Fd
, Fn
, Fm
), QL_FP3
, F_FPTYPE
),
4124 FF16_INSN ("fdiv", 0x1ee01800, 0xff20fc00, floatdp2
, OP3 (Fd
, Fn
, Fm
), QL_FP3_H
, F_FPTYPE
),
4125 __FP_INSN ("fadd", 0x1e202800, 0xff20fc00, floatdp2
, 0, OP3 (Fd
, Fn
, Fm
), QL_FP3
, F_FPTYPE
),
4126 FF16_INSN ("fadd", 0x1ee02800, 0xff20fc00, floatdp2
, OP3 (Fd
, Fn
, Fm
), QL_FP3_H
, F_FPTYPE
),
4127 __FP_INSN ("fsub", 0x1e203800, 0xff20fc00, floatdp2
, 0, OP3 (Fd
, Fn
, Fm
), QL_FP3
, F_FPTYPE
),
4128 FF16_INSN ("fsub", 0x1ee03800, 0xff20fc00, floatdp2
, OP3 (Fd
, Fn
, Fm
), QL_FP3_H
, F_FPTYPE
),
4129 __FP_INSN ("fmax", 0x1e204800, 0xff20fc00, floatdp2
, 0, OP3 (Fd
, Fn
, Fm
), QL_FP3
, F_FPTYPE
),
4130 FF16_INSN ("fmax", 0x1ee04800, 0xff20fc00, floatdp2
, OP3 (Fd
, Fn
, Fm
), QL_FP3_H
, F_FPTYPE
),
4131 __FP_INSN ("fmin", 0x1e205800, 0xff20fc00, floatdp2
, 0, OP3 (Fd
, Fn
, Fm
), QL_FP3
, F_FPTYPE
),
4132 FF16_INSN ("fmin", 0x1ee05800, 0xff20fc00, floatdp2
, OP3 (Fd
, Fn
, Fm
), QL_FP3_H
, F_FPTYPE
),
4133 __FP_INSN ("fmaxnm",0x1e206800, 0xff20fc00, floatdp2
, 0, OP3 (Fd
, Fn
, Fm
), QL_FP3
, F_FPTYPE
),
4134 FF16_INSN ("fmaxnm",0x1ee06800, 0xff20fc00, floatdp2
, OP3 (Fd
, Fn
, Fm
), QL_FP3_H
, F_FPTYPE
),
4135 __FP_INSN ("fminnm",0x1e207800, 0xff20fc00, floatdp2
, 0, OP3 (Fd
, Fn
, Fm
), QL_FP3
, F_FPTYPE
),
4136 FF16_INSN ("fminnm",0x1ee07800, 0xff20fc00, floatdp2
, OP3 (Fd
, Fn
, Fm
), QL_FP3_H
, F_FPTYPE
),
4137 __FP_INSN ("fnmul", 0x1e208800, 0xff20fc00, floatdp2
, 0, OP3 (Fd
, Fn
, Fm
), QL_FP3
, F_FPTYPE
),
4138 FF16_INSN ("fnmul", 0x1ee08800, 0xff20fc00, floatdp2
, OP3 (Fd
, Fn
, Fm
), QL_FP3_H
, F_FPTYPE
),
4139 /* Floating-point data-processing (3 source). */
4140 __FP_INSN ("fmadd", 0x1f000000, 0xff208000, floatdp3
, 0, OP4 (Fd
, Fn
, Fm
, Fa
), QL_FP4
, F_FPTYPE
),
4141 FF16_INSN ("fmadd", 0x1fc00000, 0xff208000, floatdp3
, OP4 (Fd
, Fn
, Fm
, Fa
), QL_FP4_H
, F_FPTYPE
),
4142 __FP_INSN ("fmsub", 0x1f008000, 0xff208000, floatdp3
, 0, OP4 (Fd
, Fn
, Fm
, Fa
), QL_FP4
, F_FPTYPE
),
4143 FF16_INSN ("fmsub", 0x1fc08000, 0xff208000, floatdp3
, OP4 (Fd
, Fn
, Fm
, Fa
), QL_FP4_H
, F_FPTYPE
),
4144 __FP_INSN ("fnmadd",0x1f200000, 0xff208000, floatdp3
, 0, OP4 (Fd
, Fn
, Fm
, Fa
), QL_FP4
, F_FPTYPE
),
4145 FF16_INSN ("fnmadd",0x1fe00000, 0xff208000, floatdp3
, OP4 (Fd
, Fn
, Fm
, Fa
), QL_FP4_H
, F_FPTYPE
),
4146 __FP_INSN ("fnmsub",0x1f208000, 0xff208000, floatdp3
, 0, OP4 (Fd
, Fn
, Fm
, Fa
), QL_FP4
, F_FPTYPE
),
4147 FF16_INSN ("fnmsub",0x1fe08000, 0xff208000, floatdp3
, OP4 (Fd
, Fn
, Fm
, Fa
), QL_FP4_H
, F_FPTYPE
),
4148 /* Floating-point immediate. */
4149 __FP_INSN ("fmov", 0x1e201000, 0xff201fe0, floatimm
, 0, OP2 (Fd
, FPIMM
), QL_DST_SD
, F_FPTYPE
),
4150 FF16_INSN ("fmov", 0x1ee01000, 0xff201fe0, floatimm
, OP2 (Fd
, FPIMM
), QL_DST_H
, F_FPTYPE
),
4151 /* Floating-point conditional select. */
4152 __FP_INSN ("fcsel", 0x1e200c00, 0xff200c00, floatsel
, 0, OP4 (Fd
, Fn
, Fm
, COND
), QL_FP_COND
, F_FPTYPE
),
4153 FF16_INSN ("fcsel", 0x1ee00c00, 0xff200c00, floatsel
, OP4 (Fd
, Fn
, Fm
, COND
), QL_FP_COND_H
, F_FPTYPE
),
4154 /* Load/store register (immediate indexed). */
4155 CORE_INSN ("strb", 0x38000400, 0xffe00400, ldst_imm9
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_W8
, F_SUBCLASS_OTHER
),
4156 CORE_INSN ("ldrb", 0x38400400, 0xffe00400, ldst_imm9
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_W8
, F_SUBCLASS_OTHER
),
4157 CORE_INSN ("ldrsb", 0x38800400, 0xffa00400, ldst_imm9
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_R8
, F_SUBCLASS_OTHER
| F_LDS_SIZE
),
4158 CORE_INSN ("str", 0x3c000400, 0x3f600400, ldst_imm9
, 0, OP2 (Ft
, ADDR_SIMM9
), QL_LDST_FP
, F_LDST_STORE
),
4159 CORE_INSN ("ldr", 0x3c400400, 0x3f600400, ldst_imm9
, 0, OP2 (Ft
, ADDR_SIMM9
), QL_LDST_FP
, F_LDST_LOAD
),
4160 CORE_INSN ("strh", 0x78000400, 0xffe00400, ldst_imm9
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_W16
, F_SUBCLASS_OTHER
),
4161 CORE_INSN ("ldrh", 0x78400400, 0xffe00400, ldst_imm9
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_W16
, F_SUBCLASS_OTHER
),
4162 CORE_INSN ("ldrsh", 0x78800400, 0xffa00400, ldst_imm9
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_R16
, F_SUBCLASS_OTHER
| F_LDS_SIZE
),
4163 CORE_INSN ("str", 0xb8000400, 0xbfe00400, ldst_imm9
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_R
, F_LDST_STORE
| F_GPRSIZE_IN_Q
),
4164 CORE_INSN ("ldr", 0xb8400400, 0xbfe00400, ldst_imm9
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_R
, F_LDST_LOAD
| F_GPRSIZE_IN_Q
),
4165 CORE_INSN ("ldrsw", 0xb8800400, 0xffe00400, ldst_imm9
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_X32
, F_SUBCLASS_OTHER
),
4166 /* Load/store Allocation Tag instructions. */
4167 MEMTAG_INSN ("stg", 0xd9200800, 0xffe00c00, ldst_unscaled
, OP2 (Rt_SP
, ADDR_SIMM13
), QL_LDST_AT
, 0),
4168 MEMTAG_INSN ("stzg", 0xd9600800, 0xffe00c00, ldst_unscaled
, OP2 (Rt_SP
, ADDR_SIMM13
), QL_LDST_AT
, 0),
4169 MEMTAG_INSN ("st2g", 0xd9a00800, 0xffe00c00, ldst_unscaled
, OP2 (Rt_SP
, ADDR_SIMM13
), QL_LDST_AT
, 0),
4170 MEMTAG_INSN ("stz2g",0xd9e00800, 0xffe00c00, ldst_unscaled
, OP2 (Rt_SP
, ADDR_SIMM13
), QL_LDST_AT
, 0),
4171 MEMTAG_INSN ("stg", 0xd9200400, 0xffe00400, ldst_imm9
, OP2 (Rt_SP
, ADDR_SIMM13
), QL_LDST_AT
, F_SUBCLASS_OTHER
),
4172 MEMTAG_INSN ("stzg", 0xd9600400, 0xffe00400, ldst_imm9
, OP2 (Rt_SP
, ADDR_SIMM13
), QL_LDST_AT
, F_SUBCLASS_OTHER
),
4173 MEMTAG_INSN ("st2g", 0xd9a00400, 0xffe00400, ldst_imm9
, OP2 (Rt_SP
, ADDR_SIMM13
), QL_LDST_AT
, F_SUBCLASS_OTHER
),
4174 MEMTAG_INSN ("stz2g",0xd9e00400, 0xffe00400, ldst_imm9
, OP2 (Rt_SP
, ADDR_SIMM13
), QL_LDST_AT
, F_SUBCLASS_OTHER
),
4175 /* Load/store register (unsigned immediate). */
4176 CORE_INSN ("strb", 0x39000000, 0xffc00000, ldst_pos
, OP_STRB_POS
, OP2 (Rt
, ADDR_UIMM12
), QL_LDST_W8
, F_SUBCLASS_OTHER
),
4177 CORE_INSN ("ldrb", 0x39400000, 0xffc00000, ldst_pos
, OP_LDRB_POS
, OP2 (Rt
, ADDR_UIMM12
), QL_LDST_W8
, F_SUBCLASS_OTHER
),
4178 CORE_INSN ("ldrsb", 0x39800000, 0xff800000, ldst_pos
, OP_LDRSB_POS
, OP2 (Rt
, ADDR_UIMM12
), QL_LDST_R8
, F_SUBCLASS_OTHER
| F_LDS_SIZE
),
4179 CORE_INSN ("str", 0x3d000000, 0x3f400000, ldst_pos
, OP_STRF_POS
, OP2 (Ft
, ADDR_UIMM12
), QL_LDST_FP
, F_LDST_STORE
),
4180 CORE_INSN ("ldr", 0x3d400000, 0x3f400000, ldst_pos
, OP_LDRF_POS
, OP2 (Ft
, ADDR_UIMM12
), QL_LDST_FP
, F_LDST_LOAD
),
4181 CORE_INSN ("strh", 0x79000000, 0xffc00000, ldst_pos
, OP_STRH_POS
, OP2 (Rt
, ADDR_UIMM12
), QL_LDST_W16
, F_SUBCLASS_OTHER
),
4182 CORE_INSN ("ldrh", 0x79400000, 0xffc00000, ldst_pos
, OP_LDRH_POS
, OP2 (Rt
, ADDR_UIMM12
), QL_LDST_W16
, F_SUBCLASS_OTHER
),
4183 CORE_INSN ("ldrsh", 0x79800000, 0xff800000, ldst_pos
, OP_LDRSH_POS
, OP2 (Rt
, ADDR_UIMM12
), QL_LDST_R16
, F_SUBCLASS_OTHER
| F_LDS_SIZE
),
4184 CORE_INSN ("str", 0xb9000000, 0xbfc00000, ldst_pos
, OP_STR_POS
, OP2 (Rt
, ADDR_UIMM12
), QL_LDST_R
, F_GPRSIZE_IN_Q
| F_LDST_STORE
),
4185 CORE_INSN ("ldr", 0xb9400000, 0xbfc00000, ldst_pos
, OP_LDR_POS
, OP2 (Rt
, ADDR_UIMM12
), QL_LDST_R
, F_GPRSIZE_IN_Q
| F_LDST_LOAD
),
4186 CORE_INSN ("ldrsw", 0xb9800000, 0xffc00000, ldst_pos
, OP_LDRSW_POS
, OP2 (Rt
, ADDR_UIMM12
), QL_LDST_X32
, F_SUBCLASS_OTHER
),
4187 CORE_INSN ("prfm", 0xf9800000, 0xffc00000, ldst_pos
, OP_PRFM_POS
, OP2 (PRFOP
, ADDR_UIMM12
), QL_LDST_PRFM
, F_SUBCLASS_OTHER
),
4188 /* Load/store register (register offset). */
4189 CORE_INSN ("strb", 0x38200800, 0xffe00c00, ldst_regoff
, 0, OP2 (Rt
, ADDR_REGOFF
), QL_LDST_W8
, 0),
4190 CORE_INSN ("ldrb", 0x38600800, 0xffe00c00, ldst_regoff
, 0, OP2 (Rt
, ADDR_REGOFF
), QL_LDST_W8
, 0),
4191 CORE_INSN ("ldrsb", 0x38a00800, 0xffa00c00, ldst_regoff
, 0, OP2 (Rt
, ADDR_REGOFF
), QL_LDST_R8
, F_LDS_SIZE
),
4192 CORE_INSN ("str", 0x3c200800, 0x3f600c00, ldst_regoff
, 0, OP2 (Ft
, ADDR_REGOFF
), QL_LDST_FP
, 0),
4193 CORE_INSN ("ldr", 0x3c600800, 0x3f600c00, ldst_regoff
, 0, OP2 (Ft
, ADDR_REGOFF
), QL_LDST_FP
, 0),
4194 CORE_INSN ("strh", 0x78200800, 0xffe00c00, ldst_regoff
, 0, OP2 (Rt
, ADDR_REGOFF
), QL_LDST_W16
, 0),
4195 CORE_INSN ("ldrh", 0x78600800, 0xffe00c00, ldst_regoff
, 0, OP2 (Rt
, ADDR_REGOFF
), QL_LDST_W16
, 0),
4196 CORE_INSN ("ldrsh", 0x78a00800, 0xffa00c00, ldst_regoff
, 0, OP2 (Rt
, ADDR_REGOFF
), QL_LDST_R16
, F_LDS_SIZE
),
4197 CORE_INSN ("str", 0xb8200800, 0xbfe00c00, ldst_regoff
, 0, OP2 (Rt
, ADDR_REGOFF
), QL_LDST_R
, F_GPRSIZE_IN_Q
),
4198 CORE_INSN ("ldr", 0xb8600800, 0xbfe00c00, ldst_regoff
, 0, OP2 (Rt
, ADDR_REGOFF
), QL_LDST_R
, F_GPRSIZE_IN_Q
),
4199 CORE_INSN ("ldrsw", 0xb8a00800, 0xffe00c00, ldst_regoff
, 0, OP2 (Rt
, ADDR_REGOFF
), QL_LDST_X32
, 0),
4200 CORE_INSN ("prfm", 0xf8a00800, 0xffe00c00, ldst_regoff
, 0, OP2 (PRFOP
, ADDR_REGOFF
), QL_LDST_PRFM
, 0),
4201 /* Load/store register (unprivileged). */
4202 CORE_INSN ("sttrb", 0x38000800, 0xffe00c00, ldst_unpriv
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_W8
, 0),
4203 CORE_INSN ("ldtrb", 0x38400800, 0xffe00c00, ldst_unpriv
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_W8
, 0),
4204 CORE_INSN ("ldtrsb", 0x38800800, 0xffa00c00, ldst_unpriv
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_R8
, F_LDS_SIZE
),
4205 CORE_INSN ("sttrh", 0x78000800, 0xffe00c00, ldst_unpriv
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_W16
, 0),
4206 CORE_INSN ("ldtrh", 0x78400800, 0xffe00c00, ldst_unpriv
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_W16
, 0),
4207 CORE_INSN ("ldtrsh", 0x78800800, 0xffa00c00, ldst_unpriv
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_R16
, F_LDS_SIZE
),
4208 CORE_INSN ("sttr", 0xb8000800, 0xbfe00c00, ldst_unpriv
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_R
, F_GPRSIZE_IN_Q
),
4209 CORE_INSN ("ldtr", 0xb8400800, 0xbfe00c00, ldst_unpriv
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_R
, F_GPRSIZE_IN_Q
),
4210 CORE_INSN ("ldtrsw", 0xb8800800, 0xffe00c00, ldst_unpriv
, 0, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_X32
, 0),
4211 /* Load/store register (unscaled immediate). */
4212 CORE_INSN ("sturb", 0x38000000, 0xffe00c00, ldst_unscaled
, OP_STURB
, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_W8
, 0),
4213 CORE_INSN ("ldurb", 0x38400000, 0xffe00c00, ldst_unscaled
, OP_LDURB
, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_W8
, 0),
4214 CORE_INSN ("ldursb", 0x38800000, 0xffa00c00, ldst_unscaled
, OP_LDURSB
, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_R8
, F_LDS_SIZE
),
4215 CORE_INSN ("stur", 0x3c000000, 0x3f600c00, ldst_unscaled
, OP_STURV
, OP2 (Ft
, ADDR_SIMM9
), QL_LDST_FP
, 0),
4216 CORE_INSN ("ldur", 0x3c400000, 0x3f600c00, ldst_unscaled
, OP_LDURV
, OP2 (Ft
, ADDR_SIMM9
), QL_LDST_FP
, 0),
4217 CORE_INSN ("sturh", 0x78000000, 0xffe00c00, ldst_unscaled
, OP_STURH
, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_W16
, 0),
4218 CORE_INSN ("ldurh", 0x78400000, 0xffe00c00, ldst_unscaled
, OP_LDURH
, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_W16
, 0),
4219 CORE_INSN ("ldursh", 0x78800000, 0xffa00c00, ldst_unscaled
, OP_LDURSH
, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_R16
, F_LDS_SIZE
),
4220 CORE_INSN ("stur", 0xb8000000, 0xbfe00c00, ldst_unscaled
, OP_STUR
, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_R
, F_GPRSIZE_IN_Q
),
4221 CORE_INSN ("ldur", 0xb8400000, 0xbfe00c00, ldst_unscaled
, OP_LDUR
, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_R
, F_GPRSIZE_IN_Q
),
4222 CORE_INSN ("ldursw", 0xb8800000, 0xffe00c00, ldst_unscaled
, OP_LDURSW
, OP2 (Rt
, ADDR_SIMM9
), QL_LDST_X32
, 0),
4223 CORE_INSN ("prfum", 0xf8800000, 0xffe00c00, ldst_unscaled
, OP_PRFUM
, OP2 (PRFOP
, ADDR_SIMM9
), QL_LDST_PRFM
, 0),
4224 MEMTAG_INSN ("ldg", 0xd9600000, 0xffe00c00, ldst_unscaled
, OP2 (Rt
, ADDR_SIMM13
), QL_LDG
, 0),
4225 /* Load/store register (scaled signed immediate). */
4226 PAUTH_INSN ("ldraa", 0xf8200400, 0xffa00400, ldst_imm10
, OP2 (Rt
, ADDR_SIMM10
), QL_X1NIL
, 0),
4227 PAUTH_INSN ("ldrab", 0xf8a00400, 0xffa00400, ldst_imm10
, OP2 (Rt
, ADDR_SIMM10
), QL_X1NIL
, 0),
4228 /* Load/store exclusive. */
4229 CORE_INSN ("stxrb", 0x8007c00, 0xffe08000, ldstexcl
, 0, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4230 CORE_INSN ("stlxrb", 0x800fc00, 0xffe08000, ldstexcl
, 0, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4231 CORE_INSN ("ldxrb", 0x85f7c00, 0xffe08000, ldstexcl
, 0, OP2 (Rt
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, 0),
4232 CORE_INSN ("ldaxrb", 0x85ffc00, 0xffe08000, ldstexcl
, 0, OP2 (Rt
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, 0),
4233 CORE_INSN ("stlrb", 0x89ffc00, 0xffe08000, ldstexcl
, 0, OP2 (Rt
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, 0),
4234 CORE_INSN ("ldarb", 0x8dffc00, 0xffeffc00, ldstexcl
, 0, OP2 (Rt
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, 0),
4235 CORE_INSN ("stxrh", 0x48007c00, 0xffe08000, ldstexcl
, 0, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4236 CORE_INSN ("stlxrh", 0x4800fc00, 0xffe08000, ldstexcl
, 0, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4237 CORE_INSN ("ldxrh", 0x485f7c00, 0xffe08000, ldstexcl
, 0, OP2 (Rt
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, 0),
4238 CORE_INSN ("ldaxrh", 0x485ffc00, 0xffe08000, ldstexcl
, 0, OP2 (Rt
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, 0),
4239 CORE_INSN ("stlrh", 0x489ffc00, 0xffe08000, ldstexcl
, 0, OP2 (Rt
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, 0),
4240 CORE_INSN ("ldarh", 0x48dffc00, 0xfffffc00, ldstexcl
, 0, OP2 (Rt
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, 0),
4241 CORE_INSN ("stxr", 0x88007c00, 0xbfe08000, ldstexcl
, 0, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2_LDST_EXC
, F_GPRSIZE_IN_Q
),
4242 CORE_INSN ("stlxr", 0x8800fc00, 0xbfe08000, ldstexcl
, 0, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2_LDST_EXC
, F_GPRSIZE_IN_Q
),
4243 CORE_INSN ("stxp", 0x88200000, 0xbfe08000, ldstexcl
, 0, OP4 (Rs
, Rt
, Rt2
, ADDR_SIMPLE
), QL_R3_LDST_EXC
, F_GPRSIZE_IN_Q
),
4244 CORE_INSN ("stlxp", 0x88208000, 0xbfe08000, ldstexcl
, 0, OP4 (Rs
, Rt
, Rt2
, ADDR_SIMPLE
), QL_R3_LDST_EXC
, F_GPRSIZE_IN_Q
),
4245 CORE_INSN ("ldxr", 0x885f7c00, 0xbfe08000, ldstexcl
, 0, OP2 (Rt
, ADDR_SIMPLE
), QL_R1NIL
, F_GPRSIZE_IN_Q
),
4246 CORE_INSN ("ldaxr", 0x885ffc00, 0xbfe08000, ldstexcl
, 0, OP2 (Rt
, ADDR_SIMPLE
), QL_R1NIL
, F_GPRSIZE_IN_Q
),
4247 CORE_INSN ("ldxp", 0x887f0000, 0xbfe08000, ldstexcl
, 0, OP3 (Rt
, Rt2
, ADDR_SIMPLE
), QL_R2NIL
, F_GPRSIZE_IN_Q
),
4248 CORE_INSN ("ldaxp", 0x887f8000, 0xbfe08000, ldstexcl
, 0, OP3 (Rt
, Rt2
, ADDR_SIMPLE
), QL_R2NIL
, F_GPRSIZE_IN_Q
),
4249 CORE_INSN ("stlr", 0x889ffc00, 0xbfe08000, ldstexcl
, 0, OP2 (Rt
, ADDR_SIMPLE
), QL_R1NIL
, F_GPRSIZE_IN_Q
),
4250 CORE_INSN ("ldar", 0x88dffc00, 0xbfeffc00, ldstexcl
, 0, OP2 (Rt
, ADDR_SIMPLE
), QL_R1NIL
, F_GPRSIZE_IN_Q
),
4251 RCPC_INSN ("ldaprb", 0x38bfc000, 0xfffffc00, ldstexcl
, OP2 (Rt
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, 0),
4252 RCPC_INSN ("ldaprh", 0x78bfc000, 0xfffffc00, ldstexcl
, OP2 (Rt
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, 0),
4253 RCPC_INSN ("ldapr", 0xb8bfc000, 0xbffffc00, ldstexcl
, OP2 (Rt
, ADDR_SIMPLE
), QL_R1NIL
, F_GPRSIZE_IN_Q
),
4254 MEMTAG_INSN ("ldgm", 0xd9e00000, 0xfffffc00, ldstexcl
, OP2 (Rt
, ADDR_SIMPLE
), QL_X1NIL
, 0),
4255 MEMTAG_INSN ("stgm", 0xd9a00000, 0xfffffc00, ldstexcl
, OP2 (Rt
, ADDR_SIMPLE
), QL_X1NIL
, 0),
4256 MEMTAG_INSN ("stzgm", 0xd9200000, 0xfffffc00, ldstexcl
, OP2 (Rt
, ADDR_SIMPLE
), QL_X1NIL
, 0),
4257 /* Limited Ordering Regions load/store instructions. */
4258 _LOR_INSN ("ldlar", 0x88df7c00, 0xbfe08000, ldstexcl
, OP2 (Rt
, ADDR_SIMPLE
), QL_R1NIL
, F_GPRSIZE_IN_Q
),
4259 _LOR_INSN ("ldlarb", 0x08df7c00, 0xffe08000, ldstexcl
, OP2 (Rt
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, 0),
4260 _LOR_INSN ("ldlarh", 0x48df7c00, 0xffe08000, ldstexcl
, OP2 (Rt
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, 0),
4261 _LOR_INSN ("stllr", 0x889f7c00, 0xbfe08000, ldstexcl
, OP2 (Rt
, ADDR_SIMPLE
), QL_R1NIL
, F_GPRSIZE_IN_Q
),
4262 _LOR_INSN ("stllrb", 0x089f7c00, 0xffe08000, ldstexcl
, OP2 (Rt
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, 0),
4263 _LOR_INSN ("stllrh", 0x489f7c00, 0xbfe08000, ldstexcl
, OP2 (Rt
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, 0),
4264 /* Load/store no-allocate pair (offset). */
4265 CORE_INSN ("stnp", 0x28000000, 0x7fc00000, ldstnapair_offs
, 0, OP3 (Rt
, Rt2
, ADDR_SIMM7
), QL_LDST_PAIR_R
, F_LDST_STORE
| F_SF
),
4266 CORE_INSN ("ldnp", 0x28400000, 0x7fc00000, ldstnapair_offs
, 0, OP3 (Rt
, Rt2
, ADDR_SIMM7
), QL_LDST_PAIR_R
, F_LDST_LOAD
| F_SF
),
4267 CORE_INSN ("stnp", 0x2c000000, 0x3fc00000, ldstnapair_offs
, 0, OP3 (Ft
, Ft2
, ADDR_SIMM7
), QL_LDST_PAIR_FP
, F_LDST_STORE
),
4268 CORE_INSN ("ldnp", 0x2c400000, 0x3fc00000, ldstnapair_offs
, 0, OP3 (Ft
, Ft2
, ADDR_SIMM7
), QL_LDST_PAIR_FP
, F_LDST_LOAD
),
4269 /* Load/store register pair (offset). */
4270 CORE_INSN ("stp", 0x29000000, 0x7ec00000, ldstpair_off
, 0, OP3 (Rt
, Rt2
, ADDR_SIMM7
), QL_LDST_PAIR_R
, F_LDST_STORE
| F_SF
),
4271 CORE_INSN ("ldp", 0x29400000, 0x7ec00000, ldstpair_off
, 0, OP3 (Rt
, Rt2
, ADDR_SIMM7
), QL_LDST_PAIR_R
, F_LDST_LOAD
| F_SF
),
4272 CORE_INSN ("stp", 0x2d000000, 0x3fc00000, ldstpair_off
, 0, OP3 (Ft
, Ft2
, ADDR_SIMM7
), QL_LDST_PAIR_FP
, F_LDST_STORE
| 0),
4273 CORE_INSN ("ldp", 0x2d400000, 0x3fc00000, ldstpair_off
, 0, OP3 (Ft
, Ft2
, ADDR_SIMM7
), QL_LDST_PAIR_FP
, F_LDST_LOAD
),
4274 {"ldpsw", 0x69400000, 0xffc00000, ldstpair_off
, 0, CORE
, OP3 (Rt
, Rt2
, ADDR_SIMM7
), QL_LDST_PAIR_X32
, F_SUBCLASS_OTHER
, 0, 0, VERIFIER (ldpsw
)},
4275 MEMTAG_INSN ("stgp", 0x69000000, 0xffc00000, ldstpair_off
, OP3 (Rt
, Rt2
, ADDR_SIMM11
), QL_STGP
, F_SUBCLASS_OTHER
),
4276 /* Load/store register pair (indexed). */
4277 CORE_INSN ("stp", 0x28800000, 0x7ec00000, ldstpair_indexed
, 0, OP3 (Rt
, Rt2
, ADDR_SIMM7
), QL_LDST_PAIR_R
, F_LDST_STORE
| F_SF
),
4278 CORE_INSN ("ldp", 0x28c00000, 0x7ec00000, ldstpair_indexed
, 0, OP3 (Rt
, Rt2
, ADDR_SIMM7
), QL_LDST_PAIR_R
, F_LDST_LOAD
| F_SF
),
4279 CORE_INSN ("stp", 0x2c800000, 0x3ec00000, ldstpair_indexed
, 0, OP3 (Ft
, Ft2
, ADDR_SIMM7
), QL_LDST_PAIR_FP
, F_LDST_STORE
),
4280 CORE_INSN ("ldp", 0x2cc00000, 0x3ec00000, ldstpair_indexed
, 0, OP3 (Ft
, Ft2
, ADDR_SIMM7
), QL_LDST_PAIR_FP
, F_LDST_LOAD
),
4281 {"ldpsw", 0x68c00000, 0xfec00000, ldstpair_indexed
, 0, CORE
, OP3 (Rt
, Rt2
, ADDR_SIMM7
), QL_LDST_PAIR_X32
, F_SUBCLASS_OTHER
, 0, 0, VERIFIER (ldpsw
)},
4282 MEMTAG_INSN ("stgp", 0x68800000, 0xfec00000, ldstpair_indexed
, OP3 (Rt
, Rt2
, ADDR_SIMM11
), QL_STGP
, F_SUBCLASS_OTHER
),
4283 /* Load register (literal). */
4284 CORE_INSN ("ldr", 0x18000000, 0xbf000000, loadlit
, OP_LDR_LIT
, OP2 (Rt
, ADDR_PCREL19
), QL_R_PCREL
, F_GPRSIZE_IN_Q
),
4285 CORE_INSN ("ldr", 0x1c000000, 0x3f000000, loadlit
, OP_LDRV_LIT
, OP2 (Ft
, ADDR_PCREL19
), QL_FP_PCREL
, 0),
4286 CORE_INSN ("ldrsw", 0x98000000, 0xff000000, loadlit
, OP_LDRSW_LIT
, OP2 (Rt
, ADDR_PCREL19
), QL_X_PCREL
, 0),
4287 CORE_INSN ("prfm", 0xd8000000, 0xff000000, loadlit
, OP_PRFM_LIT
, OP2 (PRFOP
, ADDR_PCREL19
), QL_PRFM_PCREL
, 0),
4288 /* Atomic 64-byte load/store in Armv8.7. */
4289 _LS64_INSN ("ld64b", 0xf83fd000, 0xfffffc00, lse_atomic
, OP2 (Rt_LS64
, ADDR_SIMPLE
), QL_X1NIL
, 0),
4290 _LS64_INSN ("st64b", 0xf83f9000, 0xfffffc00, lse_atomic
, OP2 (Rt_LS64
, ADDR_SIMPLE
), QL_X1NIL
, 0),
4291 _LS64_INSN ("st64bv", 0xf820b000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt_LS64
, ADDR_SIMPLE
), QL_X2NIL
, 0),
4292 _LS64_INSN ("st64bv0", 0xf820a000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt_LS64
, ADDR_SIMPLE
), QL_X2NIL
, 0),
4293 /* Logical (immediate). */
4294 CORE_INSN ("and", 0x12000000, 0x7f800000, log_imm
, 0, OP3 (Rd_SP
, Rn
, LIMM
), QL_R2NIL
, F_HAS_ALIAS
| F_SF
),
4295 CORE_INSN ("bic", 0x12000000, 0x7f800000, log_imm
, OP_BIC
, OP3 (Rd_SP
, Rn
, LIMM
), QL_R2NIL
, F_ALIAS
| F_PSEUDO
| F_SF
),
4296 CORE_INSN ("orr", 0x32000000, 0x7f800000, log_imm
, 0, OP3 (Rd_SP
, Rn
, LIMM
), QL_R2NIL
, F_HAS_ALIAS
| F_SF
),
4297 CORE_INSN ("mov", 0x320003e0, 0x7f8003e0, log_imm
, OP_MOV_IMM_LOG
, OP2 (Rd_SP
, IMM_MOV
), QL_R1NIL
, F_ALIAS
| F_P1
| F_SF
| F_CONV
),
4298 CORE_INSN ("eor", 0x52000000, 0x7f800000, log_imm
, 0, OP3 (Rd_SP
, Rn
, LIMM
), QL_R2NIL
, F_SF
),
4299 CORE_INSN ("ands", 0x72000000, 0x7f800000, log_imm
, 0, OP3 (Rd
, Rn
, LIMM
), QL_R2NIL
, F_HAS_ALIAS
| F_SF
),
4300 CORE_INSN ("tst", 0x7200001f, 0x7f80001f, log_imm
, 0, OP2 (Rn
, LIMM
), QL_R1NIL
, F_ALIAS
| F_SF
),
4301 /* Logical (shifted register). */
4302 CORE_INSN ("and", 0xa000000, 0x7f200000, log_shift
, 0, OP3 (Rd
, Rn
, Rm_SFT
), QL_I3SAMER
, F_SF
),
4303 CORE_INSN ("bic", 0xa200000, 0x7f200000, log_shift
, 0, OP3 (Rd
, Rn
, Rm_SFT
), QL_I3SAMER
, F_SF
),
4304 CORE_INSN ("orr", 0x2a000000, 0x7f200000, log_shift
, 0, OP3 (Rd
, Rn
, Rm_SFT
), QL_I3SAMER
, F_HAS_ALIAS
| F_SF
),
4305 CORE_INSN ("mov", 0x2a0003e0, 0x7fe0ffe0, log_shift
, 0, OP2 (Rd
, Rm_SFT
), QL_I2SAMER
, F_ALIAS
| F_SF
),
4306 CORE_INSN ("uxtw", 0x2a0003e0, 0x7f2003e0, log_shift
, OP_UXTW
, OP2 (Rd
, Rm
), QL_I2SAMEW
, F_ALIAS
| F_PSEUDO
),
4307 CORE_INSN ("orn", 0x2a200000, 0x7f200000, log_shift
, 0, OP3 (Rd
, Rn
, Rm_SFT
), QL_I3SAMER
, F_HAS_ALIAS
| F_SF
),
4308 CORE_INSN ("mvn", 0x2a2003e0, 0x7f2003e0, log_shift
, 0, OP2 (Rd
, Rm_SFT
), QL_I2SAMER
, F_ALIAS
| F_SF
),
4309 CORE_INSN ("eor", 0x4a000000, 0x7f200000, log_shift
, 0, OP3 (Rd
, Rn
, Rm_SFT
), QL_I3SAMER
, F_SF
),
4310 CORE_INSN ("eon", 0x4a200000, 0x7f200000, log_shift
, 0, OP3 (Rd
, Rn
, Rm_SFT
), QL_I3SAMER
, F_SF
),
4311 CORE_INSN ("ands", 0x6a000000, 0x7f200000, log_shift
, 0, OP3 (Rd
, Rn
, Rm_SFT
), QL_I3SAMER
, F_HAS_ALIAS
| F_SF
),
4312 CORE_INSN ("tst", 0x6a00001f, 0x7f20001f, log_shift
, 0, OP2 (Rn
, Rm_SFT
), QL_I2SAMER
, F_ALIAS
| F_SF
),
4313 CORE_INSN ("bics", 0x6a200000, 0x7f200000, log_shift
, 0, OP3 (Rd
, Rn
, Rm_SFT
), QL_I3SAMER
, F_SF
),
4314 /* LSE extension (atomic). */
4315 _LSE_INSN ("casb", 0x8a07c00, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4316 _LSE_INSN ("cash", 0x48a07c00, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4317 _LSE_INSN ("cas", 0x88a07c00, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4318 _LSE_INSN ("casab", 0x8e07c00, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4319 _LSE_INSN ("caslb", 0x8a0fc00, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4320 _LSE_INSN ("casalb", 0x8e0fc00, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4321 _LSE_INSN ("casah", 0x48e07c00, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4322 _LSE_INSN ("caslh", 0x48a0fc00, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4323 _LSE_INSN ("casalh", 0x48e0fc00, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4324 _LSE_INSN ("casa", 0x88e07c00, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4325 _LSE_INSN ("casl", 0x88a0fc00, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4326 _LSE_INSN ("casal", 0x88e0fc00, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4327 _LSE_INSN ("casp", 0x8207c00, 0xbfe0fc00, lse_atomic
, OP5 (Rs
, PAIRREG
, Rt
, PAIRREG
, ADDR_SIMPLE
), QL_R4NIL
, F_LSE_SZ
),
4328 _LSE_INSN ("caspa", 0x8607c00, 0xbfe0fc00, lse_atomic
, OP5 (Rs
, PAIRREG
, Rt
, PAIRREG
, ADDR_SIMPLE
), QL_R4NIL
, F_LSE_SZ
),
4329 _LSE_INSN ("caspl", 0x820fc00, 0xbfe0fc00, lse_atomic
, OP5 (Rs
, PAIRREG
, Rt
, PAIRREG
, ADDR_SIMPLE
), QL_R4NIL
, F_LSE_SZ
),
4330 _LSE_INSN ("caspal", 0x860fc00, 0xbfe0fc00, lse_atomic
, OP5 (Rs
, PAIRREG
, Rt
, PAIRREG
, ADDR_SIMPLE
), QL_R4NIL
, F_LSE_SZ
),
4331 _LSE_INSN ("swpb", 0x38208000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4332 _LSE_INSN ("swph", 0x78208000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4333 _LSE_INSN ("swp", 0xb8208000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4334 _LSE_INSN ("swpab", 0x38a08000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4335 _LSE_INSN ("swplb", 0x38608000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4336 _LSE_INSN ("swpalb", 0x38e08000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4337 _LSE_INSN ("swpah", 0x78a08000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4338 _LSE_INSN ("swplh", 0x78608000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4339 _LSE_INSN ("swpalh", 0x78e08000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4340 _LSE_INSN ("swpa", 0xb8a08000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4341 _LSE_INSN ("swpl", 0xb8608000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4342 _LSE_INSN ("swpal", 0xb8e08000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4343 _LSE_INSN ("ldaddb", 0x38200000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4344 _LSE_INSN ("ldaddh", 0x78200000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4345 _LSE_INSN ("ldadd", 0xb8200000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4346 _LSE_INSN ("ldaddab", 0x38a00000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4347 _LSE_INSN ("ldaddlb", 0x38600000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4348 _LSE_INSN ("ldaddalb", 0x38e00000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4349 _LSE_INSN ("ldaddah", 0x78a00000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4350 _LSE_INSN ("ldaddlh", 0x78600000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4351 _LSE_INSN ("ldaddalh", 0x78e00000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4352 _LSE_INSN ("ldadda", 0xb8a00000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4353 _LSE_INSN ("ldaddl", 0xb8600000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4354 _LSE_INSN ("ldaddal", 0xb8e00000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4355 _LSE_INSN ("ldclrb", 0x38201000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4356 _LSE_INSN ("ldclrh", 0x78201000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4357 _LSE_INSN ("ldclr", 0xb8201000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4358 _LSE_INSN ("ldclrab", 0x38a01000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4359 _LSE_INSN ("ldclrlb", 0x38601000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4360 _LSE_INSN ("ldclralb", 0x38e01000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4361 _LSE_INSN ("ldclrah", 0x78a01000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4362 _LSE_INSN ("ldclrlh", 0x78601000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4363 _LSE_INSN ("ldclralh", 0x78e01000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4364 _LSE_INSN ("ldclra", 0xb8a01000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4365 _LSE_INSN ("ldclrl", 0xb8601000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4366 _LSE_INSN ("ldclral", 0xb8e01000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4367 _LSE_INSN ("ldeorb", 0x38202000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4368 _LSE_INSN ("ldeorh", 0x78202000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4369 _LSE_INSN ("ldeor", 0xb8202000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4370 _LSE_INSN ("ldeorab", 0x38a02000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4371 _LSE_INSN ("ldeorlb", 0x38602000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4372 _LSE_INSN ("ldeoralb", 0x38e02000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4373 _LSE_INSN ("ldeorah", 0x78a02000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4374 _LSE_INSN ("ldeorlh", 0x78602000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4375 _LSE_INSN ("ldeoralh", 0x78e02000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4376 _LSE_INSN ("ldeora", 0xb8a02000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4377 _LSE_INSN ("ldeorl", 0xb8602000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4378 _LSE_INSN ("ldeoral", 0xb8e02000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4379 _LSE_INSN ("ldsetb", 0x38203000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4380 _LSE_INSN ("ldseth", 0x78203000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4381 _LSE_INSN ("ldset", 0xb8203000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4382 _LSE_INSN ("ldsetab", 0x38a03000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4383 _LSE_INSN ("ldsetlb", 0x38603000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4384 _LSE_INSN ("ldsetalb", 0x38e03000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4385 _LSE_INSN ("ldsetah", 0x78a03000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4386 _LSE_INSN ("ldsetlh", 0x78603000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4387 _LSE_INSN ("ldsetalh", 0x78e03000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4388 _LSE_INSN ("ldseta", 0xb8a03000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4389 _LSE_INSN ("ldsetl", 0xb8603000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4390 _LSE_INSN ("ldsetal", 0xb8e03000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4391 _LSE_INSN ("ldsmaxb", 0x38204000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4392 _LSE_INSN ("ldsmaxh", 0x78204000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4393 _LSE_INSN ("ldsmax", 0xb8204000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4394 _LSE_INSN ("ldsmaxab", 0x38a04000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4395 _LSE_INSN ("ldsmaxlb", 0x38604000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4396 _LSE_INSN ("ldsmaxalb", 0x38e04000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4397 _LSE_INSN ("ldsmaxah", 0x78a04000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4398 _LSE_INSN ("ldsmaxlh", 0x78604000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4399 _LSE_INSN ("ldsmaxalh", 0x78e04000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4400 _LSE_INSN ("ldsmaxa", 0xb8a04000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4401 _LSE_INSN ("ldsmaxl", 0xb8604000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4402 _LSE_INSN ("ldsmaxal", 0xb8e04000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4403 _LSE_INSN ("ldsminb", 0x38205000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4404 _LSE_INSN ("ldsminh", 0x78205000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4405 _LSE_INSN ("ldsmin", 0xb8205000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4406 _LSE_INSN ("ldsminab", 0x38a05000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4407 _LSE_INSN ("ldsminlb", 0x38605000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4408 _LSE_INSN ("ldsminalb", 0x38e05000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4409 _LSE_INSN ("ldsminah", 0x78a05000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4410 _LSE_INSN ("ldsminlh", 0x78605000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4411 _LSE_INSN ("ldsminalh", 0x78e05000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4412 _LSE_INSN ("ldsmina", 0xb8a05000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4413 _LSE_INSN ("ldsminl", 0xb8605000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4414 _LSE_INSN ("ldsminal", 0xb8e05000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4415 _LSE_INSN ("ldumaxb", 0x38206000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4416 _LSE_INSN ("ldumaxh", 0x78206000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4417 _LSE_INSN ("ldumax", 0xb8206000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4418 _LSE_INSN ("ldumaxab", 0x38a06000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4419 _LSE_INSN ("ldumaxlb", 0x38606000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4420 _LSE_INSN ("ldumaxalb", 0x38e06000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4421 _LSE_INSN ("ldumaxah", 0x78a06000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4422 _LSE_INSN ("ldumaxlh", 0x78606000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4423 _LSE_INSN ("ldumaxalh", 0x78e06000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4424 _LSE_INSN ("ldumaxa", 0xb8a06000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4425 _LSE_INSN ("ldumaxl", 0xb8606000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4426 _LSE_INSN ("ldumaxal", 0xb8e06000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4427 _LSE_INSN ("lduminb", 0x38207000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4428 _LSE_INSN ("lduminh", 0x78207000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4429 _LSE_INSN ("ldumin", 0xb8207000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4430 _LSE_INSN ("lduminab", 0x38a07000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4431 _LSE_INSN ("lduminlb", 0x38607000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4432 _LSE_INSN ("lduminalb", 0x38e07000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4433 _LSE_INSN ("lduminah", 0x78a07000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4434 _LSE_INSN ("lduminlh", 0x78607000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, F_HAS_ALIAS
),
4435 _LSE_INSN ("lduminalh", 0x78e07000, 0xffe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_W2_LDST_EXC
, 0),
4436 _LSE_INSN ("ldumina", 0xb8a07000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4437 _LSE_INSN ("lduminl", 0xb8607000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
| F_HAS_ALIAS
),
4438 _LSE_INSN ("lduminal", 0xb8e07000, 0xbfe0fc00, lse_atomic
, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_R2NIL
, F_LSE_SZ
),
4439 _LSE_INSN ("staddb", 0x3820001f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4440 _LSE_INSN ("staddh", 0x7820001f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4441 _LSE_INSN ("stadd", 0xb820001f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4442 _LSE_INSN ("staddlb", 0x3860001f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4443 _LSE_INSN ("staddlh", 0x7860001f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4444 _LSE_INSN ("staddl", 0xb860001f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4445 _LSE_INSN ("stclrb", 0x3820101f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4446 _LSE_INSN ("stclrh", 0x7820101f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4447 _LSE_INSN ("stclr", 0xb820101f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4448 _LSE_INSN ("stclrlb", 0x3860101f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4449 _LSE_INSN ("stclrlh", 0x7860101f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4450 _LSE_INSN ("stclrl", 0xb860101f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4451 _LSE_INSN ("steorb", 0x3820201f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4452 _LSE_INSN ("steorh", 0x7820201f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4453 _LSE_INSN ("steor", 0xb820201f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4454 _LSE_INSN ("steorlb", 0x3860201f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4455 _LSE_INSN ("steorlh", 0x7860201f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4456 _LSE_INSN ("steorl", 0xb860201f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4457 _LSE_INSN ("stsetb", 0x3820301f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4458 _LSE_INSN ("stseth", 0x7820301f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4459 _LSE_INSN ("stset", 0xb820301f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4460 _LSE_INSN ("stsetlb", 0x3860301f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4461 _LSE_INSN ("stsetlh", 0x7860301f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4462 _LSE_INSN ("stsetl", 0xb860301f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4463 _LSE_INSN ("stsmaxb", 0x3820401f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4464 _LSE_INSN ("stsmaxh", 0x7820401f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4465 _LSE_INSN ("stsmax", 0xb820401f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4466 _LSE_INSN ("stsmaxlb", 0x3860401f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4467 _LSE_INSN ("stsmaxlh", 0x7860401f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4468 _LSE_INSN ("stsmaxl", 0xb860401f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4469 _LSE_INSN ("stsminb", 0x3820501f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4470 _LSE_INSN ("stsminh", 0x7820501f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4471 _LSE_INSN ("stsmin", 0xb820501f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4472 _LSE_INSN ("stsminlb", 0x3860501f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4473 _LSE_INSN ("stsminlh", 0x7860501f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4474 _LSE_INSN ("stsminl", 0xb860501f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4475 _LSE_INSN ("stumaxb", 0x3820601f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4476 _LSE_INSN ("stumaxh", 0x7820601f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4477 _LSE_INSN ("stumax", 0xb820601f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4478 _LSE_INSN ("stumaxlb", 0x3860601f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4479 _LSE_INSN ("stumaxlh", 0x7860601f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4480 _LSE_INSN ("stumaxl", 0xb860601f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4481 _LSE_INSN ("stuminb", 0x3820701f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4482 _LSE_INSN ("stuminh", 0x7820701f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4483 _LSE_INSN ("stumin", 0xb820701f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4484 _LSE_INSN ("stuminlb", 0x3860701f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4485 _LSE_INSN ("stuminlh", 0x7860701f, 0xffe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_W1_LDST_EXC
, F_ALIAS
),
4486 _LSE_INSN ("stuminl", 0xb860701f, 0xbfe0fc1f, lse_atomic
, OP2 (Rs
, ADDR_SIMPLE
), QL_R1NIL
, F_LSE_SZ
| F_ALIAS
),
4487 /* LSE128 extension (atomic). */
4488 _LSE128_INSN ("ldclrp", 0x19201000, 0xffe0fc00, lse128_atomic
, OP3 (LSE128_Rt
, LSE128_Rt2
, ADDR_SIMPLE
), QL_X2NIL
, 0),
4489 _LSE128_INSN ("ldclrpa", 0x19a01000, 0xffe0fc00, lse128_atomic
, OP3 (LSE128_Rt
, LSE128_Rt2
, ADDR_SIMPLE
), QL_X2NIL
, 0),
4490 _LSE128_INSN ("ldclrpal", 0x19e01000, 0xffe0fc00, lse128_atomic
, OP3 (LSE128_Rt
, LSE128_Rt2
, ADDR_SIMPLE
), QL_X2NIL
, 0),
4491 _LSE128_INSN ("ldclrpl", 0x19601000, 0xffe0fc00, lse128_atomic
, OP3 (LSE128_Rt
, LSE128_Rt2
, ADDR_SIMPLE
), QL_X2NIL
, 0),
4492 _LSE128_INSN ("ldsetp", 0x19203000, 0xffe0fc00, lse128_atomic
, OP3 (LSE128_Rt
, LSE128_Rt2
, ADDR_SIMPLE
), QL_X2NIL
, 0),
4493 _LSE128_INSN ("ldsetpa", 0x19a03000, 0xffe0fc00, lse128_atomic
, OP3 (LSE128_Rt
, LSE128_Rt2
, ADDR_SIMPLE
), QL_X2NIL
, 0),
4494 _LSE128_INSN ("ldsetpal", 0x19e03000, 0xffe0fc00, lse128_atomic
, OP3 (LSE128_Rt
, LSE128_Rt2
, ADDR_SIMPLE
), QL_X2NIL
, 0),
4495 _LSE128_INSN ("ldsetpl", 0x19603000, 0xffe0fc00, lse128_atomic
, OP3 (LSE128_Rt
, LSE128_Rt2
, ADDR_SIMPLE
), QL_X2NIL
, 0),
4496 _LSE128_INSN ("swpp", 0x19208000, 0xffe0fc00, lse128_atomic
, OP3 (LSE128_Rt
, LSE128_Rt2
, ADDR_SIMPLE
), QL_X2NIL
, 0),
4497 _LSE128_INSN ("swppa", 0x19a08000, 0xffe0fc00, lse128_atomic
, OP3 (LSE128_Rt
, LSE128_Rt2
, ADDR_SIMPLE
), QL_X2NIL
, 0),
4498 _LSE128_INSN ("swppal", 0x19e08000, 0xffe0fc00, lse128_atomic
, OP3 (LSE128_Rt
, LSE128_Rt2
, ADDR_SIMPLE
), QL_X2NIL
, 0),
4499 _LSE128_INSN ("swppl", 0x19608000, 0xffe0fc00, lse128_atomic
, OP3 (LSE128_Rt
, LSE128_Rt2
, ADDR_SIMPLE
), QL_X2NIL
, 0),
4500 /* RCPC3 extension. */
4501 RCPC3_INSN ("ldiapp", 0x19400800, 0x3fe0ec00, rcpc3
, OP3 (Rt
, Rs
, RCPC3_ADDR_OPT_POSTIND
), QL_R2NIL
, F_RCPC3_SIZE
),
4502 RCPC3_INSN ("stilp", 0x19000800, 0x3fe0ec00, rcpc3
, OP3 (Rt
, Rs
, RCPC3_ADDR_OPT_PREIND_WB
), QL_R2NIL
, F_RCPC3_SIZE
),
4503 RCPC3_INSN ("ldapr", 0x19c00800, 0x3ffffc00, rcpc3
, OP2 (Rt
, RCPC3_ADDR_POSTIND
), QL_R1NIL
, F_RCPC3_SIZE
),
4504 RCPC3_INSN ("stlr", 0x19800800, 0x3ffffc00, rcpc3
, OP2 (Rt
, RCPC3_ADDR_PREIND_WB
), QL_R1NIL
, F_RCPC3_SIZE
),
4505 RCPC3_INSN ("stl1", 0x0d018400, 0xbffffc00, rcpc3
, OP2 (LEt
, SIMD_ADDR_SIMPLE
), QL_SIMD_IMM_D
, F_OD(1)),
4506 RCPC3_INSN ("ldap1", 0x0d418400, 0xbffffc00, rcpc3
, OP2 (LEt
, SIMD_ADDR_SIMPLE
), QL_SIMD_IMM_D
, F_OD(1)),
4507 RCPC3_INSN ("ldapur", 0x1d400800, 0x3f600C00, rcpc3
, OP2 (Ft
, RCPC3_ADDR_OFFSET
), QL_LDST_FP
, F_RCPC3_SIZE
),
4508 RCPC3_INSN ("stlur", 0x1d000800, 0x3f600C00, rcpc3
, OP2 (Ft
, RCPC3_ADDR_OFFSET
), QL_LDST_FP
, F_RCPC3_SIZE
),
4509 /* AdvSIMD faminmax. */
4510 FAMINMAX_INSN ("famax", 0xec01c00, 0xbfe0fc00, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
4511 FAMINMAX_INSN ("famax", 0xea0dc00, 0xbfa0fc00, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
4512 FAMINMAX_INSN ("famin", 0x2ec01c00, 0xbfe0fc00, OP3 (Vd
, Vn
, Vm
), QL_V3SAMEH
, F_SIZEQ
),
4513 FAMINMAX_INSN ("famin", 0x2ea0dc00, 0xbfa0fc00, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
4514 /* SVE2 faminmax. */
4515 FAMINMAX_SVE2_INSN ("famax", 0x650e8000, 0xff3fe000, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, C_SCAN_MOVPRFX
),
4516 FAMINMAX_SVE2_INSN ("famin", 0x650f8000, 0xff3fe000, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, C_SCAN_MOVPRFX
),
4517 /* SME2 faminmax. */
4518 FAMINMAX_SME2_INSN ("famax", 0xc120b140, 0xff21ffe1, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zmx2
), OP_SVE_VVV_HSD
),
4519 FAMINMAX_SME2_INSN ("famax", 0xc120b940, 0xff23ffe3, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zmx4
), OP_SVE_VVV_HSD
),
4520 FAMINMAX_SME2_INSN ("famin", 0xc120b141, 0xff21ffe1, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zmx2
), OP_SVE_VVV_HSD
),
4521 FAMINMAX_SME2_INSN ("famin", 0xc120b941, 0xff23ffe3, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zmx4
), OP_SVE_VVV_HSD
),
4522 /* Move wide (immediate). */
4523 CORE_INSN ("movn", 0x12800000, 0x7f800000, movewide
, OP_MOVN
, OP2 (Rd
, HALF
), QL_DST_R
, F_SF
| F_HAS_ALIAS
),
4524 CORE_INSN ("mov", 0x12800000, 0x7f800000, movewide
, OP_MOV_IMM_WIDEN
, OP2 (Rd
, IMM_MOV
), QL_DST_R
, F_SF
| F_ALIAS
| F_CONV
),
4525 CORE_INSN ("movz", 0x52800000, 0x7f800000, movewide
, OP_MOVZ
, OP2 (Rd
, HALF
), QL_DST_R
, F_SF
| F_HAS_ALIAS
),
4526 CORE_INSN ("mov", 0x52800000, 0x7f800000, movewide
, OP_MOV_IMM_WIDE
, OP2 (Rd
, IMM_MOV
), QL_DST_R
, F_SF
| F_ALIAS
| F_CONV
),
4527 CORE_INSN ("movk", 0x72800000, 0x7f800000, movewide
, OP_MOVK
, OP2 (Rd
, HALF
), QL_DST_R
, F_SF
),
4528 /* PC-rel. addressing. */
4529 CORE_INSN ("adr", 0x10000000, 0x9f000000, pcreladdr
, 0, OP2 (Rd
, ADDR_PCREL21
), QL_ADRP
, 0),
4530 CORE_INSN ("adrp", 0x90000000, 0x9f000000, pcreladdr
, 0, OP2 (Rd
, ADDR_ADRP
), QL_ADRP
, 0),
4531 /* TME Instructions. */
4532 _TME_INSN ("tstart", 0xd5233060, 0xffffffe0, 0, 0, OP1 (Rd
), QL_I1X
, 0),
4533 _TME_INSN ("tcommit", 0xd503307f, 0xffffffff, 0, 0, OP0 (), {}, 0),
4534 _TME_INSN ("ttest", 0xd5233160, 0xffffffe0, 0, 0, OP1 (Rd
), QL_I1X
, 0),
4535 _TME_INSN ("tcancel", 0xd4600000, 0xffe0001f, 0, 0, OP1 (TME_UIMM16
), QL_IMM_NIL
, 0),
4536 /* SME instructions (aliases for MSR <sysreg> operations. */
4537 SME_INSN ("smstart", 0xd503477f, 0xffffffff, sme_start
, 0, OP0 (), {}, F_SYS_WRITE
, 0),
4538 SME_INSN ("smstop", 0xd503467f, 0xffffffff, sme_stop
, 0, OP0 (), {}, F_SYS_WRITE
, 0),
4539 SME_INSN ("smstart", 0xd503417f, 0xfffff1ff, sme_start
, 0, OP1 (SME_SM_ZA
), {}, F_SYS_WRITE
, 0),
4540 SME_INSN ("smstop", 0xd503407f, 0xfffff1ff, sme_stop
, 0, OP1 (SME_SM_ZA
), {}, F_SYS_WRITE
, 0),
4542 CHK_INSN ("chkfeat", 0xd503251f, 0xffffffff, OP1 (X16
), QL_I1X
, 0),
4543 CORE_INSN ("msr", 0xd500401f, 0xfff8f01f, ic_system
, 0, OP2 (PSTATEFIELD
, UIMM4
), {}, F_SYS_WRITE
),
4544 CORE_INSN ("hint",0xd503201f, 0xfffff01f, ic_system
, 0, OP1 (UIMM7
), {}, F_HAS_ALIAS
),
4545 CORE_INSN ("nop", 0xd503201f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4546 CORE_INSN ("csdb",0xd503229f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4547 CORE_INSN ("bti",0xd503241f, 0xffffff3f, ic_system
, 0, OP1 (BTI_TARGET
), {}, F_ALIAS
| F_OPD0_OPT
| F_DEFAULT (0x0)),
4548 CORE_INSN ("yield", 0xd503203f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4549 CORE_INSN ("wfe", 0xd503205f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4550 CORE_INSN ("wfi", 0xd503207f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4551 CORE_INSN ("sev", 0xd503209f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4552 CORE_INSN ("sevl",0xd50320bf, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4553 CORE_INSN ("dgh", 0xd50320df, 0xffffffff, ic_system
, 0, OP0 (), {}, 0),
4554 CORE_INSN ("xpaclri", 0xd50320ff, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4555 CORE_INSN ("pacia1716", 0xd503211f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4556 CORE_INSN ("pacib1716", 0xd503215f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4557 CORE_INSN ("autia1716", 0xd503219f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4558 CORE_INSN ("autib1716", 0xd50321df, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4559 CORE_INSN ("esb", 0xd503221f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4560 CORE_INSN ("psb", 0xd503223f, 0xffffffff, ic_system
, 0, OP1 (BARRIER_PSB
), {}, F_ALIAS
),
4561 CORE_INSN ("tsb", 0xd503225f, 0xffffffff, ic_system
, 0, OP1 (BARRIER_PSB
), {}, F_ALIAS
),
4562 CORE_INSN ("clearbhb", 0xd50322df, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4563 CORE_INSN ("clrex", 0xd503305f, 0xfffff0ff, ic_system
, 0, OP1 (UIMM4
), {}, F_OPD0_OPT
| F_DEFAULT (0xF)),
4564 CORE_INSN ("dsb", 0xd503309f, 0xfffff0ff, ic_system
, 0, OP1 (BARRIER
), {}, F_HAS_ALIAS
),
4565 XS_INSN ("dsb", 0xd503323f, 0xfffff3ff, ic_system
, OP1 (BARRIER_DSB_NXS
), {}, F_HAS_ALIAS
),
4566 V8R_INSN ("dfb", 0xd5033c9f, 0xffffffff, ic_system
, OP0 (), {}, F_ALIAS
),
4567 CORE_INSN ("ssbb", 0xd503309f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4568 CORE_INSN ("pssbb", 0xd503349f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4569 CORE_INSN ("dmb", 0xd50330bf, 0xfffff0ff, ic_system
, 0, OP1 (BARRIER
), {}, 0),
4570 CORE_INSN ("isb", 0xd50330df, 0xfffff0ff, ic_system
, 0, OP1 (BARRIER_ISB
), {}, F_OPD0_OPT
| F_DEFAULT (0xF)),
4571 SB_INSN ("sb", 0xd50330ff, 0xffffffff, ic_system
, OP0 (), {}, 0),
4572 GCS_INSN ("gcspushx", 0xd508779f, 0xffffffff, OP0 (), {}, 0),
4573 GCS_INSN ("gcspopx", 0xd50877df, 0xffffffff, OP0 (), {}, 0),
4574 GCS_INSN ("gcspopcx", 0xd50877bf, 0xffffffff, OP0 (), {}, 0),
4575 GCS_INSN ("gcsss1", 0xd50b7740, 0xffffffe0, OP1 (Rt
), QL_I1X
, 0),
4576 GCS_INSN ("gcspushm", 0xd50b7700, 0xffffffe0, OP1 (Rt
), QL_I1X
, 0),
4577 GCS_INSN ("gcsss2", 0xd52b7760, 0xffffffe0, OP1 (Rt
), QL_I1X
, 0),
4578 GCS_INSN ("gcspopm", 0xd52b773f, 0xffffffff, OP0 (), {}, 0),
4579 GCS_INSN ("gcspopm", 0xd52b7720, 0xffffffe0, OP1 (Rt
), QL_I1X
, 0),
4580 GCS_INSN ("gcsstr", 0xd91f0c00, 0xfffffc00, OP2 (Rt
, ADDR_SIMPLE
), QL_DST_X
, 0),
4581 GCS_INSN ("gcssttr", 0xd91f1c00, 0xfffffc00, OP2 (Rt
, ADDR_SIMPLE
), QL_DST_X
, 0),
4582 CORE_INSN ("gcsb", 0xd503227f, 0xffffffff, ic_system
, 0, OP1 (BARRIER_GCSB
), {}, F_ALIAS
),
4583 CORE_INSN ("sys", 0xd5080000, 0xfff80000, ic_system
, 0, OP5 (UIMM3_OP1
, CRn
, CRm
, UIMM3_OP2
, Rt
), QL_SYS
, F_HAS_ALIAS
| F_OPD4_OPT
| F_DEFAULT (0x1F)),
4584 D128_INSN ("sysp", 0xd5480000, 0xfff80000, OP6 (UIMM3_OP1
, CRn
, CRm
, UIMM3_OP2
, Rt
, PAIRREG_OR_XZR
), QL_SYSP
, F_HAS_ALIAS
| F_OPD_NARROW
| F_OPD4_OPT
| F_OPD_PAIR_OPT
| F_DEFAULT (0x1f)),
4585 CORE_INSN ("at", 0xd5080000, 0xfff80000, ic_system
, 0, OP2 (SYSREG_AT
, Rt
), QL_SRC_X
, F_ALIAS
),
4586 CORE_INSN ("dc", 0xd5080000, 0xfff80000, ic_system
, 0, OP2 (SYSREG_DC
, Rt
), QL_SRC_X
, F_ALIAS
),
4587 CORE_INSN ("ic", 0xd5080000, 0xfff80000, ic_system
, 0, OP2 (SYSREG_IC
, Rt_SYS
), QL_SRC_X
, F_ALIAS
| F_OPD1_OPT
| F_DEFAULT (0x1F)),
4588 CORE_INSN ("tlbi",0xd5080000, 0xfff80000, ic_system
, 0, OP2 (SYSREG_TLBI
, Rt_SYS
), QL_SRC_X
, F_ALIAS
| F_OPD1_OPT
| F_DEFAULT (0x1F)),
4589 D128_INSN ("tlbip",0xd5480000, 0xfff80000, OP3 (SYSREG_TLBIP
, Rt_SYS
, PAIRREG_OR_XZR
), QL_SRC_X2
, F_ALIAS
| F_OPD1_OPT
| F_OPD_PAIR_OPT
| F_DEFAULT (0x1f)),
4590 WFXT_INSN ("wfet", 0xd5031000, 0xffffffe0, ic_system
, OP1 (Rd
), QL_I1X
, F_HAS_ALIAS
),
4591 WFXT_INSN ("wfit", 0xd5031020, 0xffffffe0, ic_system
, OP1 (Rd
), QL_I1X
, F_HAS_ALIAS
),
4592 PREDRES_INSN ("cfp", 0xd50b7380, 0xffffffe0, ic_system
, OP2 (SYSREG_SR
, Rt
), QL_SRC_X
, F_ALIAS
),
4593 PREDRES_INSN ("dvp", 0xd50b73a0, 0xffffffe0, ic_system
, OP2 (SYSREG_SR
, Rt
), QL_SRC_X
, F_ALIAS
),
4594 PREDRES_INSN ("cpp", 0xd50b73e0, 0xffffffe0, ic_system
, OP2 (SYSREG_SR
, Rt
), QL_SRC_X
, F_ALIAS
),
4595 PREDRES2_INSN ("cosp", 0xd50b73c0, 0xffffffe0, ic_system
, OP2 (SYSREG_SR
, Rt
), QL_SRC_X
, F_ALIAS
),
4596 BRBE_INSN ("brb", 0xd5097280, 0xffffffc0, OP2 (BRBOP
, Rt_IN_SYS_ALIASES
), QL_IMM_NIL_NIL
, F_ALIAS
| F_OPD1_OPT
| F_DEFAULT (0x1F)),
4597 /* Armv8.4-a flag setting instruction, However this encoding has an encoding clash with the msr
4598 below it. Usually we can resolve this by setting an alias condition on the flags, however that
4599 depends on the disassembly masks to be able to quickly find the alias. The problem is the
4600 cfinv instruction has no arguments, so all bits are set in the mask. Which means it will
4601 potentially alias with too many instructions and so the tree can't be constructed. As a work
4602 around we just place cfinv before msr. This means the order between these two shouldn't be
4604 FLAGM_INSN ("cfinv", 0xd500401f, 0xffffffff, ic_system
, OP0 (), {}, 0),
4605 CORE_INSN ("msr", 0xd5000000, 0xffe00000, ic_system
, 0, OP2 (SYSREG
, Rt
), QL_SRC_X
, F_SYS_WRITE
),
4606 CORE_INSN ("sysl",0xd5280000, 0xfff80000, ic_system
, 0, OP5 (Rt
, UIMM3_OP1
, CRn
, CRm
, UIMM3_OP2
), QL_SYSL
, 0),
4607 CORE_INSN ("mrs", 0xd5200000, 0xffe00000, ic_system
, 0, OP2 (Rt
, SYSREG
), QL_DST_X
, F_SYS_READ
),
4608 D128_INSN ("mrrs", 0xd5700000, 0xfff00000, OP3 (Rt
, PAIRREG
, SYSREG128
), QL_DST_X2
, F_SYS_READ
),
4609 D128_INSN ("msrr", 0xd5500000, 0xfff00000, OP3 (SYSREG128
, Rt
, PAIRREG
), QL_SRC_X2
, F_SYS_WRITE
),
4610 CORE_INSN ("paciaz", 0xd503231f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4611 CORE_INSN ("paciasp", 0xd503233f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4612 CORE_INSN ("pacibz", 0xd503235f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4613 CORE_INSN ("pacibsp", 0xd503237f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4614 CORE_INSN ("autiaz", 0xd503239f, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4615 CORE_INSN ("autiasp", 0xd50323bf, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4616 CORE_INSN ("autibz", 0xd50323df, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4617 CORE_INSN ("autibsp", 0xd50323ff, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
4618 /* Test & branch (immediate). */
4619 CORE_INSN ("tbz", 0x36000000, 0x7f000000, testbranch
, 0, OP3 (Rt
, BIT_NUM
, ADDR_PCREL14
), QL_PCREL_14
, 0),
4620 CORE_INSN ("tbnz",0x37000000, 0x7f000000, testbranch
, 0, OP3 (Rt
, BIT_NUM
, ADDR_PCREL14
), QL_PCREL_14
, 0),
4621 /* The old UAL conditional branch mnemonics (to aid portability). */
4622 CORE_INSN ("beq", 0x54000000, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4623 CORE_INSN ("bne", 0x54000001, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4624 CORE_INSN ("bcs", 0x54000002, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4625 CORE_INSN ("bhs", 0x54000002, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4626 CORE_INSN ("bcc", 0x54000003, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4627 CORE_INSN ("blo", 0x54000003, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4628 CORE_INSN ("bmi", 0x54000004, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4629 CORE_INSN ("bpl", 0x54000005, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4630 CORE_INSN ("bvs", 0x54000006, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4631 CORE_INSN ("bvc", 0x54000007, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4632 CORE_INSN ("bhi", 0x54000008, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4633 CORE_INSN ("bls", 0x54000009, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4634 CORE_INSN ("bge", 0x5400000a, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4635 CORE_INSN ("blt", 0x5400000b, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4636 CORE_INSN ("bgt", 0x5400000c, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4637 CORE_INSN ("ble", 0x5400000d, 0xff00001f, condbranch
, 0, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_ALIAS
| F_PSEUDO
),
4638 /* SVE instructions. */
4639 _SVE_INSN ("fmov", 0x2539c000, 0xff3fe000, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_FPIMM8
), OP_SVE_VU_HSD
, F_ALIAS
, 0),
4640 _SVE_INSNC ("fmov", 0x0510c000, 0xff30e000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg4_16
, SVE_FPIMM8
), OP_SVE_VMU_HSD
, F_ALIAS
, C_SCAN_MOVPRFX
, 0),
4641 _SVE_INSN ("mov", 0x04603000, 0xffe0fc00, sve_misc
, OP_MOV_Z_Z
, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_DD
, F_ALIAS
| F_MISC
, 0),
4642 _SVE_INSN ("mov", 0x05202000, 0xff20fc00, sve_index
, OP_MOV_Z_V
, OP2 (SVE_Zd
, SVE_VZn
), OP_SVE_VV_BHSDQ
, F_ALIAS
| F_MISC
, 0),
4643 _SVE_INSN ("mov", 0x05203800, 0xff3ffc00, sve_size_bhsd
, 0, OP2 (SVE_Zd
, Rn_SP
), OP_SVE_VR_BHSD
, F_ALIAS
, 0),
4644 _SVE_INSN ("mov", 0x25804000, 0xfff0c210, sve_misc
, OP_MOV_P_P
, OP2 (SVE_Pd
, SVE_Pn
), OP_SVE_BB
, F_ALIAS
| F_MISC
, 0),
4645 _SVE_INSN ("mov", 0x25804000, 0xfff0c210, sve_misc
, OP_MOV_PN_PN
, OP2 (SVE_PNd
, SVE_PNn
), OP_SVE_BB
, F_ALIAS
| F_MISC
, 0),
4646 _SVE_INSN ("mov", 0x05202000, 0xff20fc00, sve_index
, OP_MOV_Z_Zi
, OP2 (SVE_Zd
, SVE_Zn_INDEX
), OP_SVE_VV_BHSDQ
, F_ALIAS
| F_MISC
, 0),
4647 _SVE_INSN ("mov", 0x05c00000, 0xfffc0000, sve_limm
, 0, OP2 (SVE_Zd
, SVE_LIMM_MOV
), OP_SVE_VU_BHSD
, F_ALIAS
, 0),
4648 _SVE_INSN ("mov", 0x2538c000, 0xff3fc000, sve_size_bhsd
, 0, OP2 (SVE_Zd
, SVE_ASIMM
), OP_SVE_VU_BHSD
, F_ALIAS
, 0),
4649 _SVE_INSNC ("mov", 0x05208000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Vn
), OP_SVE_VMV_BHSD
, F_ALIAS
, C_SCAN_MOVPRFX
, 0),
4650 _SVE_INSN ("mov", 0x0520c000, 0xff20c000, sve_size_bhsd
, OP_MOV_Z_P_Z
, OP3 (SVE_Zd
, SVE_Pg4_10
, SVE_Zn
), OP_SVE_VMV_BHSD
, F_ALIAS
| F_MISC
, 0),
4651 _SVE_INSNC ("mov", 0x0528a000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, Rn_SP
), OP_SVE_VMR_BHSD
, F_ALIAS
, C_SCAN_MOVPRFX
, 0),
4652 _SVE_INSN ("mov", 0x25004000, 0xfff0c210, sve_misc
, OP_MOVZ_P_P_P
, OP3 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
), OP_SVE_BZB
, F_ALIAS
| F_MISC
, 0),
4653 _SVE_INSN ("mov", 0x25004210, 0xfff0c210, sve_misc
, OP_MOVM_P_P_P
, OP3 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
), OP_SVE_BMB
, F_ALIAS
| F_MISC
, 0),
4654 _SVE_INSNC ("mov", 0x05100000, 0xff308000, sve_cpy
, 0, OP3 (SVE_Zd
, SVE_Pg4_16
, SVE_ASIMM
), OP_SVE_VPU_BHSD
, F_ALIAS
, C_SCAN_MOVPRFX
, 0),
4655 _SVE_INSN ("movs", 0x25c04000, 0xfff0c210, sve_misc
, OP_MOVS_P_P
, OP2 (SVE_Pd
, SVE_Pn
), OP_SVE_BB
, F_ALIAS
| F_MISC
, 0),
4656 _SVE_INSN ("movs", 0x25404000, 0xfff0c210, sve_misc
, OP_MOVZS_P_P_P
, OP3 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
), OP_SVE_BZB
, F_ALIAS
| F_MISC
, 0),
4657 _SVE_INSN ("not", 0x25004200, 0xfff0c210, sve_misc
, OP_NOT_P_P_P_Z
, OP3 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
), OP_SVE_BZB
, F_ALIAS
| F_MISC
, 0),
4658 _SVE_INSN ("nots", 0x25404200, 0xfff0c210, sve_misc
, OP_NOTS_P_P_P_Z
, OP3 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
), OP_SVE_BZB
, F_ALIAS
| F_MISC
, 0),
4659 _SVE_INSNC ("abs", 0x0416a000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
4660 _SVE_INSN ("add", 0x04200000, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
4661 _SVE_INSNC ("add", 0x2520c000, 0xff3fc000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_AIMM
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
4662 _SVE_INSNC ("add", 0x04000000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
4663 _SVE_INSN ("addpl", 0x04605000, 0xffe0f800, sve_misc
, 0, OP3 (Rd_SP
, SVE_Rn_SP
, SVE_SIMM6
), OP_SVE_XXU
, 0, 0),
4664 _SVE_INSN ("addvl", 0x04205000, 0xffe0f800, sve_misc
, 0, OP3 (Rd_SP
, SVE_Rn_SP
, SVE_SIMM6
), OP_SVE_XXU
, 0, 0),
4665 _SVE_INSN ("adr", 0x0420a000, 0xffe0f000, sve_misc
, 0, OP2 (SVE_Zd
, SVE_ADDR_ZZ_SXTW
), OP_SVE_DD
, 0, 0),
4666 _SVE_INSN ("adr", 0x0460a000, 0xffe0f000, sve_misc
, 0, OP2 (SVE_Zd
, SVE_ADDR_ZZ_UXTW
), OP_SVE_DD
, 0, 0),
4667 _SVE_INSN ("adr", 0x04a0a000, 0xffa0f000, sve_size_sd
, 0, OP2 (SVE_Zd
, SVE_ADDR_ZZ_LSL
), OP_SVE_VV_SD
, 0, 0),
4668 _SVE_INSN ("and", 0x04203000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DDD
, 0, 0),
4669 _SVE_INSNC ("and", 0x05800000, 0xfffc0000, sve_limm
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_LIMM
), OP_SVE_VVU_BHSD
, F_HAS_ALIAS
, C_SCAN_MOVPRFX
, 1),
4670 _SVE_INSNC ("and", 0x041a0000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
4671 _SVE_INSN ("and", 0x25004000, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, F_HAS_ALIAS
, 0),
4672 _SVE_INSN ("ands", 0x25404000, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, F_HAS_ALIAS
, 0),
4673 _SVE_INSN ("andv", 0x041a2000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_BHSD
, 0, 0),
4674 _SVE_INSN ("asr", 0x04208000, 0xff20fc00, sve_size_bhs
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVD_BHS
, 0, 0),
4675 _SVE_INSN ("asr", 0x04209000, 0xff20fc00, sve_shift_unpred
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED
), OP_SVE_VVU_BHSD
, 0, 0),
4676 _SVE_INSNC ("asr", 0x04108000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
4677 _SVE_INSNC ("asr", 0x04188000, 0xff3fe000, sve_size_bhs
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVD_BHS
, 0, C_SCAN_MOVPRFX
, 2),
4678 _SVE_INSNC ("asr", 0x04008000, 0xff3fe000, sve_shift_pred
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_SHRIMM_PRED
), OP_SVE_VMVU_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
4679 _SVE_INSNC ("asrd", 0x04048000, 0xff3fe000, sve_shift_pred
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_SHRIMM_PRED
), OP_SVE_VMVU_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
4680 _SVE_INSNC ("asrr", 0x04148000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
4681 _SVE_INSN ("bic", 0x04e03000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DDD
, 0, 0),
4682 _SVE_INSNC ("bic", 0x041b0000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
4683 _SVE_INSN ("bic", 0x25004010, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, 0, 0),
4684 _SVE_INSN ("bics", 0x25404010, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, 0, 0),
4685 _SVE_INSN ("brka", 0x25104000, 0xffffc200, sve_pred_zm
, 0, OP3 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
), OP_SVE_BPB
, 0, 0),
4686 _SVE_INSN ("brkas", 0x25504000, 0xffffc210, sve_misc
, 0, OP3 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
), OP_SVE_BZB
, 0, 0),
4687 _SVE_INSN ("brkb", 0x25904000, 0xffffc200, sve_pred_zm
, 0, OP3 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
), OP_SVE_BPB
, 0, 0),
4688 _SVE_INSN ("brkbs", 0x25d04000, 0xffffc210, sve_misc
, 0, OP3 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
), OP_SVE_BZB
, 0, 0),
4689 _SVE_INSN ("brkn", 0x25184000, 0xffffc210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pd
), OP_SVE_BZBB
, 0, 3),
4690 _SVE_INSN ("brkns", 0x25584000, 0xffffc210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pd
), OP_SVE_BZBB
, 0, 3),
4691 _SVE_INSN ("brkpa", 0x2500c000, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, 0, 0),
4692 _SVE_INSN ("brkpas", 0x2540c000, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, 0, 0),
4693 _SVE_INSN ("brkpb", 0x2500c010, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, 0, 0),
4694 _SVE_INSN ("brkpbs", 0x2540c010, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, 0, 0),
4695 _SVE_INSNC ("clasta", 0x05288000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VUVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
4696 _SVE_INSN ("clasta", 0x052a8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Vd
, SVE_Pg3
, SVE_Vd
, SVE_Zm_5
), OP_SVE_VUVV_BHSD
, 0, 2),
4697 _SVE_INSN ("clasta", 0x0530a000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (Rd
, SVE_Pg3
, Rd
, SVE_Zm_5
), OP_SVE_RURV_BHSD
, 0, 2),
4698 _SVE_INSNC ("clastb", 0x05298000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VUVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
4699 _SVE_INSN ("clastb", 0x052b8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Vd
, SVE_Pg3
, SVE_Vd
, SVE_Zm_5
), OP_SVE_VUVV_BHSD
, 0, 2),
4700 _SVE_INSN ("clastb", 0x0531a000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (Rd
, SVE_Pg3
, Rd
, SVE_Zm_5
), OP_SVE_RURV_BHSD
, 0, 2),
4701 _SVE_INSNC ("cls", 0x0418a000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
4702 _SVE_INSNC ("clz", 0x0419a000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
4703 _SVE_INSN ("cmpeq", 0x24002000, 0xff20e010, sve_size_bhs
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVD_BHS
, 0, 0),
4704 _SVE_INSN ("cmpeq", 0x2400a000, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_BHSD
, 0, 0),
4705 _SVE_INSN ("cmpeq", 0x25008000, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SIMM5
), OP_SVE_VZVU_BHSD
, 0, 0),
4706 _SVE_INSN ("cmpge", 0x24004000, 0xff20e010, sve_size_bhs
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVD_BHS
, 0, 0),
4707 _SVE_INSN ("cmpge", 0x24008000, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_BHSD
, F_HAS_ALIAS
, 0),
4708 _SVE_INSN ("cmpge", 0x25000000, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SIMM5
), OP_SVE_VZVU_BHSD
, 0, 0),
4709 _SVE_INSN ("cmpgt", 0x24004010, 0xff20e010, sve_size_bhs
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVD_BHS
, 0, 0),
4710 _SVE_INSN ("cmpgt", 0x24008010, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_BHSD
, F_HAS_ALIAS
, 0),
4711 _SVE_INSN ("cmpgt", 0x25000010, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SIMM5
), OP_SVE_VZVU_BHSD
, 0, 0),
4712 _SVE_INSN ("cmphi", 0x24000010, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_BHSD
, F_HAS_ALIAS
, 0),
4713 _SVE_INSN ("cmphi", 0x2400c010, 0xff20e010, sve_size_bhs
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVD_BHS
, 0, 0),
4714 _SVE_INSN ("cmphi", 0x24200010, 0xff202010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_UIMM7
), OP_SVE_VZVU_BHSD
, 0, 0),
4715 _SVE_INSN ("cmphs", 0x24000000, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_BHSD
, F_HAS_ALIAS
, 0),
4716 _SVE_INSN ("cmphs", 0x2400c000, 0xff20e010, sve_size_bhs
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVD_BHS
, 0, 0),
4717 _SVE_INSN ("cmphs", 0x24200000, 0xff202010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_UIMM7
), OP_SVE_VZVU_BHSD
, 0, 0),
4718 _SVE_INSN ("cmple", 0x24006010, 0xff20e010, sve_size_bhs
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVD_BHS
, 0, 0),
4719 _SVE_INSN ("cmple", 0x25002010, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SIMM5
), OP_SVE_VZVU_BHSD
, 0, 0),
4720 _SVE_INSN ("cmplo", 0x2400e000, 0xff20e010, sve_size_bhs
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVD_BHS
, 0, 0),
4721 _SVE_INSN ("cmplo", 0x24202000, 0xff202010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_UIMM7
), OP_SVE_VZVU_BHSD
, 0, 0),
4722 _SVE_INSN ("cmpls", 0x2400e010, 0xff20e010, sve_size_bhs
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVD_BHS
, 0, 0),
4723 _SVE_INSN ("cmpls", 0x24202010, 0xff202010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_UIMM7
), OP_SVE_VZVU_BHSD
, 0, 0),
4724 _SVE_INSN ("cmplt", 0x24006000, 0xff20e010, sve_size_bhs
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVD_BHS
, 0, 0),
4725 _SVE_INSN ("cmplt", 0x25002000, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SIMM5
), OP_SVE_VZVU_BHSD
, 0, 0),
4726 _SVE_INSN ("cmpne", 0x24002010, 0xff20e010, sve_size_bhs
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVD_BHS
, 0, 0),
4727 _SVE_INSN ("cmpne", 0x2400a010, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_BHSD
, 0, 0),
4728 _SVE_INSN ("cmpne", 0x25008010, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SIMM5
), OP_SVE_VZVU_BHSD
, 0, 0),
4729 _SVE_INSNC ("cnot", 0x041ba000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
4730 _SVE_INSNC ("cnt", 0x041aa000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
4731 _SVE_INSN ("cntb", 0x0420e000, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
4732 _SVE_INSN ("cntd", 0x04e0e000, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
4733 _SVE_INSN ("cnth", 0x0460e000, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
4734 _SVE_INSN ("cntp", 0x25208000, 0xff3fc200, sve_size_bhsd
, 0, OP3 (Rd
, SVE_Pg4_10
, SVE_Pn
), OP_SVE_XUV_BHSD
, 0, 0),
4735 _SVE_INSN ("cntw", 0x04a0e000, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
4736 _SVE_INSN ("compact", 0x05a18000, 0xffbfe000, sve_size_sd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_SD
, 0, 0),
4737 _SVE_INSNC ("cpy", 0x05208000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Vn
), OP_SVE_VMV_BHSD
, F_HAS_ALIAS
, C_SCAN_MOVPRFX
, 0),
4738 _SVE_INSNC ("cpy", 0x0528a000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, Rn_SP
), OP_SVE_VMR_BHSD
, F_HAS_ALIAS
, C_SCAN_MOVPRFX
, 0),
4739 _SVE_INSNC ("cpy", 0x05100000, 0xff308000, sve_cpy
, 0, OP3 (SVE_Zd
, SVE_Pg4_16
, SVE_ASIMM
), OP_SVE_VPU_BHSD
, F_HAS_ALIAS
, C_SCAN_MOVPRFX
, 0),
4740 _SVE_INSN ("ctermeq", 0x25a02000, 0xffa0fc1f, sve_size_sd
, 0, OP2 (Rn
, Rm
), OP_SVE_RR
, 0, 0),
4741 _SVE_INSN ("ctermne", 0x25a02010, 0xffa0fc1f, sve_size_sd
, 0, OP2 (Rn
, Rm
), OP_SVE_RR
, 0, 0),
4742 _SVE_INSN ("decb", 0x0430e400, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
4743 _SVE_INSNC ("decd", 0x04f0c400, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_DU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
4744 _SVE_INSN ("decd", 0x04f0e400, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
4745 _SVE_INSNC ("dech", 0x0470c400, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_HU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
4746 _SVE_INSN ("dech", 0x0470e400, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
4747 _SVE_INSNC ("decp", 0x252d8000, 0xff3ffe00, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_Pg4_5
), OP_SVE_Vv_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4748 _SVE_INSN ("decp", 0x252d8800, 0xff3ffe00, sve_size_bhsd
, 0, OP2 (Rd
, SVE_Pg4_5
), OP_SVE_XV_BHSD
, 0, 0),
4749 _SVE_INSNC ("decw", 0x04b0c400, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_SU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
4750 _SVE_INSN ("decw", 0x04b0e400, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
4751 _SVE_INSN ("dup", 0x05203800, 0xff3ffc00, sve_size_bhsd
, 0, OP2 (SVE_Zd
, Rn_SP
), OP_SVE_VR_BHSD
, F_HAS_ALIAS
, 0),
4752 _SVE_INSN ("dup", 0x05202000, 0xff20fc00, sve_index
, 0, OP2 (SVE_Zd
, SVE_Zn_INDEX
), OP_SVE_VV_BHSDQ
, F_HAS_ALIAS
, 0),
4753 _SVE_INSN ("dup", 0x2538c000, 0xff3fc000, sve_size_bhsd
, 0, OP2 (SVE_Zd
, SVE_ASIMM
), OP_SVE_VU_BHSD
, F_HAS_ALIAS
, 0),
4754 _SVE_INSN ("dupm", 0x05c00000, 0xfffc0000, sve_limm
, 0, OP2 (SVE_Zd
, SVE_LIMM
), OP_SVE_VU_BHSD
, F_HAS_ALIAS
, 0),
4755 _SVE_INSN ("eor", 0x04a03000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DDD
, 0, 0),
4756 _SVE_INSNC ("eor", 0x05400000, 0xfffc0000, sve_limm
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_LIMM
), OP_SVE_VVU_BHSD
, F_HAS_ALIAS
, C_SCAN_MOVPRFX
, 1),
4757 _SVE_INSNC ("eor", 0x04190000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
4758 _SVE_INSN ("eor", 0x25004200, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, F_HAS_ALIAS
, 0),
4759 _SVE_INSN ("eors", 0x25404200, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, F_HAS_ALIAS
, 0),
4760 _SVE_INSN ("eorv", 0x04192000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_BHSD
, 0, 0),
4761 _SVE_INSNC ("ext", 0x05200000, 0xffe0e000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zd
, SVE_Zm_5
, SVE_UIMM8_53
), OP_SVE_BBBU
, 0, C_SCAN_MOVPRFX
, 1),
4762 _SVE_INSNC ("fabd", 0x65088000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4763 _SVE_INSNC ("fabs", 0x041ca000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4764 _SVE_INSN ("facge", 0x6500c010, 0xff20e010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_HSD
, F_HAS_ALIAS
, 0),
4765 _SVE_INSN ("facgt", 0x6500e010, 0xff20e010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_HSD
, F_HAS_ALIAS
, 0),
4766 _SVE_INSN ("fadd", 0x65000000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD
, 0, 0),
4767 _SVE_INSNC ("fadd", 0x65008000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4768 _SVE_INSNC ("fadd", 0x65188000, 0xff3fe3c0, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_I1_HALF_ONE
), OP_SVE_VMVU_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4769 _SVE_INSN ("fadda", 0x65182000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Vd
, SVE_Pg3
, SVE_Vd
, SVE_Zm_5
), OP_SVE_VUVV_HSD
, 0, 2),
4770 _SVE_INSN ("faddv", 0x65002000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_HSD
, 0, 0),
4771 _SVE_INSNC ("fcadd", 0x64008000, 0xff3ee000, sve_size_hsd
, 0, OP5 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
, SVE_IMM_ROT1
), OP_SVE_VMVVU_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4772 _SVE_INSNC ("fcmla", 0x64000000, 0xff208000, sve_size_hsd
, 0, OP5 (SVE_Zd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
, IMM_ROT2
), OP_SVE_VMVVU_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4773 _SVE_INSNC ("fcmla", 0x64a01000, 0xffe0f000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
, SVE_IMM_ROT2
), OP_SVE_VVVU_H
, 0, C_SCAN_MOVPRFX
, 0),
4774 _SVE_INSNC ("fcmla", 0x64e01000, 0xffe0f000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
, SVE_IMM_ROT2
), OP_SVE_VVVU_S
, 0, C_SCAN_MOVPRFX
, 0),
4775 _SVE_INSN ("fcmeq", 0x65122000, 0xff3fe010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, FPIMM0
), OP_SVE_VZV_HSD
, 0, 0),
4776 _SVE_INSN ("fcmeq", 0x65006000, 0xff20e010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_HSD
, 0, 0),
4777 _SVE_INSN ("fcmge", 0x65102000, 0xff3fe010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, FPIMM0
), OP_SVE_VZV_HSD
, 0, 0),
4778 _SVE_INSN ("fcmge", 0x65004000, 0xff20e010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_HSD
, F_HAS_ALIAS
, 0),
4779 _SVE_INSN ("fcmgt", 0x65102010, 0xff3fe010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, FPIMM0
), OP_SVE_VZV_HSD
, 0, 0),
4780 _SVE_INSN ("fcmgt", 0x65004010, 0xff20e010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_HSD
, F_HAS_ALIAS
, 0),
4781 _SVE_INSN ("fcmle", 0x65112010, 0xff3fe010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, FPIMM0
), OP_SVE_VZV_HSD
, 0, 0),
4782 _SVE_INSN ("fcmlt", 0x65112000, 0xff3fe010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, FPIMM0
), OP_SVE_VZV_HSD
, 0, 0),
4783 _SVE_INSN ("fcmne", 0x65132000, 0xff3fe010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, FPIMM0
), OP_SVE_VZV_HSD
, 0, 0),
4784 _SVE_INSN ("fcmne", 0x65006010, 0xff20e010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_HSD
, 0, 0),
4785 _SVE_INSN ("fcmuo", 0x6500c000, 0xff20e010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_HSD
, 0, 0),
4786 _SVE_INSNC ("fcpy", 0x0510c000, 0xff30e000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg4_16
, SVE_FPIMM8
), OP_SVE_VMU_HSD
, F_HAS_ALIAS
, C_SCAN_MOVPRFX
, 0),
4787 _SVE_INSNC ("fcvt", 0x6588a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_HMS
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4788 _SVE_INSNC ("fcvt", 0x6589a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMH
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4789 _SVE_INSNC ("fcvt", 0x65c8a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_HMD
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4790 _SVE_INSNC ("fcvt", 0x65c9a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMH
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4791 _SVE_INSNC ("fcvt", 0x65caa000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMD
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4792 _SVE_INSNC ("fcvt", 0x65cba000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMS
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4793 _SVE_INSNC ("fcvtzs", 0x655aa000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_HMH
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4794 _SVE_INSNC ("fcvtzs", 0x655ca000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMH
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4795 _SVE_INSNC ("fcvtzs", 0x655ea000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMH
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4796 _SVE_INSNC ("fcvtzs", 0x659ca000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMS
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4797 _SVE_INSNC ("fcvtzs", 0x65d8a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMD
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4798 _SVE_INSNC ("fcvtzs", 0x65dca000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMS
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4799 _SVE_INSNC ("fcvtzs", 0x65dea000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMD
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4800 _SVE_INSNC ("fcvtzu", 0x655ba000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_HMH
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4801 _SVE_INSNC ("fcvtzu", 0x655da000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMH
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4802 _SVE_INSNC ("fcvtzu", 0x655fa000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMH
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4803 _SVE_INSNC ("fcvtzu", 0x659da000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMS
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4804 _SVE_INSNC ("fcvtzu", 0x65d9a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMD
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4805 _SVE_INSNC ("fcvtzu", 0x65dda000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMS
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4806 _SVE_INSNC ("fcvtzu", 0x65dfa000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMD
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
4807 _SVE_INSNC ("fdiv", 0x650d8000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4808 _SVE_INSNC ("fdivr", 0x650c8000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4809 _SVE_INSN ("fdup", 0x2539c000, 0xff3fe000, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_FPIMM8
), OP_SVE_VU_HSD
, F_HAS_ALIAS
, 0),
4810 _SVE_INSN ("fexpa", 0x0420b800, 0xff3ffc00, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_VV_HSD
, 0, 0),
4811 _SVE_INSNC ("fmad", 0x65208000, 0xff20e000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zm_5
, SVE_Za_16
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4812 _SVE_INSNC ("fmax", 0x65068000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4813 _SVE_INSNC ("fmax", 0x651e8000, 0xff3fe3c0, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_I1_ZERO_ONE
), OP_SVE_VMVU_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4814 _SVE_INSNC ("fmaxnm", 0x65048000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4815 _SVE_INSNC ("fmaxnm", 0x651c8000, 0xff3fe3c0, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_I1_ZERO_ONE
), OP_SVE_VMVU_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4816 _SVE_INSN ("fmaxnmv", 0x65042000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_HSD
, 0, 0),
4817 _SVE_INSN ("fmaxv", 0x65062000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_HSD
, 0, 0),
4818 _SVE_INSNC ("fmin", 0x65078000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4819 _SVE_INSNC ("fmin", 0x651f8000, 0xff3fe3c0, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_I1_ZERO_ONE
), OP_SVE_VMVU_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4820 _SVE_INSNC ("fminnm", 0x65058000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4821 _SVE_INSNC ("fminnm", 0x651d8000, 0xff3fe3c0, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_I1_ZERO_ONE
), OP_SVE_VMVU_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4822 _SVE_INSN ("fminnmv", 0x65052000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_HSD
, 0, 0),
4823 _SVE_INSN ("fminv", 0x65072000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_HSD
, 0, 0),
4824 _SVE_INSNC ("fmla", 0x65200000, 0xff20e000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4825 _SVE_INSNC ("fmla", 0x64200000, 0xffa0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_22_INDEX
), OP_SVE_VVV_H
, 0, C_SCAN_MOVPRFX
, 0),
4826 _SVE_INSNC ("fmla", 0x64a00000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_VVV_S
, 0, C_SCAN_MOVPRFX
, 0),
4827 _SVE_INSNC ("fmla", 0x64e00000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
), OP_SVE_VVV_D
, 0, C_SCAN_MOVPRFX
, 0),
4828 _SVE_INSNC ("fmls", 0x65202000, 0xff20e000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4829 _SVE_INSNC ("fmls", 0x64200400, 0xffa0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_22_INDEX
), OP_SVE_VVV_H
, 0, C_SCAN_MOVPRFX
, 0),
4830 _SVE_INSNC ("fmls", 0x64a00400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_VVV_S
, 0, C_SCAN_MOVPRFX
, 0),
4831 _SVE_INSNC ("fmls", 0x64e00400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
), OP_SVE_VVV_D
, 0, C_SCAN_MOVPRFX
, 0),
4832 _SVE_INSNC ("fmsb", 0x6520a000, 0xff20e000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zm_5
, SVE_Za_16
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4833 _SVE_INSN ("fmul", 0x65000800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD
, 0, 0),
4834 _SVE_INSNC ("fmul", 0x65028000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4835 _SVE_INSNC ("fmul", 0x651a8000, 0xff3fe3c0, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_I1_HALF_TWO
), OP_SVE_VMVU_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4836 _SVE_INSN ("fmul", 0x64202000, 0xffa0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_22_INDEX
), OP_SVE_VVV_H
, 0, 0),
4837 _SVE_INSN ("fmul", 0x64a02000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_VVV_S
, 0, 0),
4838 _SVE_INSN ("fmul", 0x64e02000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
), OP_SVE_VVV_D
, 0, 0),
4839 _SVE_INSNC ("fmulx", 0x650a8000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4840 _SVE_INSNC ("fneg", 0x041da000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4841 _SVE_INSNC ("fnmad", 0x6520c000, 0xff20e000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zm_5
, SVE_Za_16
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4842 _SVE_INSNC ("fnmla", 0x65204000, 0xff20e000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4843 _SVE_INSNC ("fnmls", 0x65206000, 0xff20e000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4844 _SVE_INSNC ("fnmsb", 0x6520e000, 0xff20e000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zm_5
, SVE_Za_16
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4845 _SVE_INSN ("frecpe", 0x650e3000, 0xff3ffc00, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_VV_HSD
, 0, 0),
4846 _SVE_INSN ("frecps", 0x65001800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD
, 0, 0),
4847 _SVE_INSNC ("frecpx", 0x650ca000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4848 _SVE_INSNC ("frinta", 0x6504a000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4849 _SVE_INSNC ("frinti", 0x6507a000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4850 _SVE_INSNC ("frintm", 0x6502a000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4851 _SVE_INSNC ("frintn", 0x6500a000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4852 _SVE_INSNC ("frintp", 0x6501a000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4853 _SVE_INSNC ("frintx", 0x6506a000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4854 _SVE_INSNC ("frintz", 0x6503a000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4855 _SVE_INSN ("frsqrte", 0x650f3000, 0xff3ffc00, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_VV_HSD
, 0, 0),
4856 _SVE_INSN ("frsqrts", 0x65001c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD
, 0, 0),
4857 _SVE_INSNC ("fscale", 0x65098000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4858 _SVE_INSNC ("fsqrt", 0x650da000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4859 _SVE_INSN ("fsub", 0x65000400, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD
, 0, 0),
4860 _SVE_INSNC ("fsub", 0x65018000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4861 _SVE_INSNC ("fsub", 0x65198000, 0xff3fe3c0, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_I1_HALF_ONE
), OP_SVE_VMVU_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4862 _SVE_INSNC ("fsubr", 0x65038000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4863 _SVE_INSNC ("fsubr", 0x651b8000, 0xff3fe3c0, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_I1_HALF_ONE
), OP_SVE_VMVU_HSD
, 0, C_SCAN_MOVPRFX
, 2),
4864 _SVE_INSNC ("ftmad", 0x65108000, 0xff38fc00, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Zd
, SVE_Zm_5
, SVE_UIMM3
), OP_SVE_VVVU_HSD
, 0, C_SCAN_MOVPRFX
, 1),
4865 _SVE_INSN ("ftsmul", 0x65000c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD
, 0, 0),
4866 _SVE_INSN ("ftssel", 0x0420b000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD
, 0, 0),
4867 _SVE_INSN ("incb", 0x0430e000, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
4868 _SVE_INSNC ("incd", 0x04f0c000, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_DU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
4869 _SVE_INSN ("incd", 0x04f0e000, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
4870 _SVE_INSNC ("inch", 0x0470c000, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_HU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
4871 _SVE_INSN ("inch", 0x0470e000, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
4872 _SVE_INSNC ("incp", 0x252c8000, 0xff3ffe00, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_Pg4_5
), OP_SVE_Vv_HSD
, 0, C_SCAN_MOVPRFX
, 0),
4873 _SVE_INSN ("incp", 0x252c8800, 0xff3ffe00, sve_size_bhsd
, 0, OP2 (Rd
, SVE_Pg4_5
), OP_SVE_XV_BHSD
, 0, 0),
4874 _SVE_INSNC ("incw", 0x04b0c000, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_SU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
4875 _SVE_INSN ("incw", 0x04b0e000, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
4876 _SVE_INSN ("index", 0x04204c00, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, Rn
, Rm
), OP_SVE_VRR_BHSD
, 0, 0),
4877 _SVE_INSN ("index", 0x04204000, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_SIMM5
, SVE_SIMM5B
), OP_SVE_VUU_BHSD
, 0, 0),
4878 _SVE_INSN ("index", 0x04204400, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, Rn
, SIMM5
), OP_SVE_VRU_BHSD
, 0, 0),
4879 _SVE_INSN ("index", 0x04204800, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_SIMM5
, Rm
), OP_SVE_VUR_BHSD
, 0, 0),
4880 _SVE_INSNC ("insr", 0x05243800, 0xff3ffc00, sve_size_bhsd
, 0, OP2 (SVE_Zd
, SVE_Rm
), OP_SVE_VR_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
4881 _SVE_INSNC ("insr", 0x05343800, 0xff3ffc00, sve_size_bhsd
, 0, OP2 (SVE_Zd
, SVE_Vm
), OP_SVE_VV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
4882 _SVE_INSN ("lasta", 0x0520a000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (Rd
, SVE_Pg3
, SVE_Zn
), OP_SVE_RUV_BHSD
, 0, 0),
4883 _SVE_INSN ("lasta", 0x05228000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_BHSD
, 0, 0),
4884 _SVE_INSN ("lastb", 0x0521a000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (Rd
, SVE_Pg3
, SVE_Zn
), OP_SVE_RUV_BHSD
, 0, 0),
4885 _SVE_INSN ("lastb", 0x05238000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_BHSD
, 0, 0),
4886 _SVE_INSN ("ld1b", 0x84004000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_SZS
, F_OD(1), 0),
4887 _SVE_INSN ("ld1b", 0xa4004000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_BZU
, F_OD(1), 0),
4888 _SVE_INSN ("ld1b", 0xa4204000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_HZU
, F_OD(1), 0),
4889 _SVE_INSN ("ld1b", 0xa4404000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_SZU
, F_OD(1), 0),
4890 _SVE_INSN ("ld1b", 0xa4604000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_DZU
, F_OD(1), 0),
4891 _SVE_INSN ("ld1b", 0xc4004000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_DZD
, F_OD(1), 0),
4892 _SVE_INSN ("ld1b", 0xc440c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DZD
, F_OD(1), 0),
4893 _SVE_INSN ("ld1b", 0x8420c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5
), OP_SVE_SZS
, F_OD(1), 0),
4894 _SVE_INSN ("ld1b", 0xa400a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_BZU
, F_OD(1), 0),
4895 _SVE_INSN ("ld1b", 0xa420a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_HZU
, F_OD(1), 0),
4896 _SVE_INSN ("ld1b", 0xa440a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SZU
, F_OD(1), 0),
4897 _SVE_INSN ("ld1b", 0xa460a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
4898 _SVE_INSN ("ld1b", 0xc420c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5
), OP_SVE_DZD
, F_OD(1), 0),
4899 _SVE_INSN ("ld1d", 0xa5e04000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL3
), OP_SVE_DZU
, F_OD(1), 0),
4900 _SVE_INSN ("ld1d", 0xc5804000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_DZD
, F_OD(1), 0),
4901 _SVE_INSN ("ld1d", 0xc5a04000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW3_22
), OP_SVE_DZD
, F_OD(1), 0),
4902 _SVE_INSN ("ld1d", 0xc5c0c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DZD
, F_OD(1), 0),
4903 _SVE_INSN ("ld1d", 0xc5e0c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_LSL3
), OP_SVE_DZD
, F_OD(1), 0),
4904 _SVE_INSN ("ld1d", 0xa5e0a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
4905 _SVE_INSN ("ld1d", 0xc5a0c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x8
), OP_SVE_DZD
, F_OD(1), 0),
4906 _SVE_INSN ("ld1h", 0x84804000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_SZS
, F_OD(1), 0),
4907 _SVE_INSN ("ld1h", 0x84a04000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW1_22
), OP_SVE_SZS
, F_OD(1), 0),
4908 _SVE_INSN ("ld1h", 0xa4a04000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_HZU
, F_OD(1), 0),
4909 _SVE_INSN ("ld1h", 0xa4c04000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_SZU
, F_OD(1), 0),
4910 _SVE_INSN ("ld1h", 0xa4e04000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_DZU
, F_OD(1), 0),
4911 _SVE_INSN ("ld1h", 0xc4804000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_DZD
, F_OD(1), 0),
4912 _SVE_INSN ("ld1h", 0xc4a04000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW1_22
), OP_SVE_DZD
, F_OD(1), 0),
4913 _SVE_INSN ("ld1h", 0xc4c0c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DZD
, F_OD(1), 0),
4914 _SVE_INSN ("ld1h", 0xc4e0c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_LSL1
), OP_SVE_DZD
, F_OD(1), 0),
4915 _SVE_INSN ("ld1h", 0x84a0c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x2
), OP_SVE_SZS
, F_OD(1), 0),
4916 _SVE_INSN ("ld1h", 0xa4a0a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_HZU
, F_OD(1), 0),
4917 _SVE_INSN ("ld1h", 0xa4c0a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SZU
, F_OD(1), 0),
4918 _SVE_INSN ("ld1h", 0xa4e0a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
4919 _SVE_INSN ("ld1h", 0xc4a0c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x2
), OP_SVE_DZD
, F_OD(1), 0),
4920 _SVE_INSN ("ld1rb", 0x84408000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6
), OP_SVE_BZU
, F_OD(1), 0),
4921 _SVE_INSN ("ld1rb", 0x8440a000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6
), OP_SVE_HZU
, F_OD(1), 0),
4922 _SVE_INSN ("ld1rb", 0x8440c000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6
), OP_SVE_SZU
, F_OD(1), 0),
4923 _SVE_INSN ("ld1rb", 0x8440e000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6
), OP_SVE_DZU
, F_OD(1), 0),
4924 _SVE_INSN ("ld1rd", 0x85c0e000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6x8
), OP_SVE_DZU
, F_OD(1), 0),
4925 _SVE_INSN ("ld1rh", 0x84c0a000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6x2
), OP_SVE_HZU
, F_OD(1), 0),
4926 _SVE_INSN ("ld1rh", 0x84c0c000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6x2
), OP_SVE_SZU
, F_OD(1), 0),
4927 _SVE_INSN ("ld1rh", 0x84c0e000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6x2
), OP_SVE_DZU
, F_OD(1), 0),
4928 _SVE_INSN ("ld1rqb", 0xa4002000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x16
), OP_SVE_BZU
, F_OD(1), 0),
4929 _SVE_INSN ("ld1rqb", 0xa4000000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_BZU
, F_OD(1), 0),
4930 _SVE_INSN ("ld1rqd", 0xa5802000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x16
), OP_SVE_DZU
, F_OD(1), 0),
4931 _SVE_INSN ("ld1rqd", 0xa5800000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL3
), OP_SVE_DZU
, F_OD(1), 0),
4932 _SVE_INSN ("ld1rqh", 0xa4802000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x16
), OP_SVE_HZU
, F_OD(1), 0),
4933 _SVE_INSN ("ld1rqh", 0xa4800000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_HZU
, F_OD(1), 0),
4934 _SVE_INSN ("ld1rqw", 0xa5002000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x16
), OP_SVE_SZU
, F_OD(1), 0),
4935 _SVE_INSN ("ld1rqw", 0xa5000000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_SZU
, F_OD(1), 0),
4936 _SVE_INSN ("ld1rsb", 0x85c08000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6
), OP_SVE_DZU
, F_OD(1), 0),
4937 _SVE_INSN ("ld1rsb", 0x85c0a000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6
), OP_SVE_SZU
, F_OD(1), 0),
4938 _SVE_INSN ("ld1rsb", 0x85c0c000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6
), OP_SVE_HZU
, F_OD(1), 0),
4939 _SVE_INSN ("ld1rsh", 0x85408000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6x2
), OP_SVE_DZU
, F_OD(1), 0),
4940 _SVE_INSN ("ld1rsh", 0x8540a000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6x2
), OP_SVE_SZU
, F_OD(1), 0),
4941 _SVE_INSN ("ld1rsw", 0x84c08000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6x4
), OP_SVE_DZU
, F_OD(1), 0),
4942 _SVE_INSN ("ld1rw", 0x8540c000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6x4
), OP_SVE_SZU
, F_OD(1), 0),
4943 _SVE_INSN ("ld1rw", 0x8540e000, 0xffc0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_U6x4
), OP_SVE_DZU
, F_OD(1), 0),
4944 _SVE_INSN ("ld1sb", 0x84000000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_SZS
, F_OD(1), 0),
4945 _SVE_INSN ("ld1sb", 0xa5804000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_DZU
, F_OD(1), 0),
4946 _SVE_INSN ("ld1sb", 0xa5a04000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_SZU
, F_OD(1), 0),
4947 _SVE_INSN ("ld1sb", 0xa5c04000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_HZU
, F_OD(1), 0),
4948 _SVE_INSN ("ld1sb", 0xc4000000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_DZD
, F_OD(1), 0),
4949 _SVE_INSN ("ld1sb", 0xc4408000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DZD
, F_OD(1), 0),
4950 _SVE_INSN ("ld1sb", 0x84208000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5
), OP_SVE_SZS
, F_OD(1), 0),
4951 _SVE_INSN ("ld1sb", 0xa580a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
4952 _SVE_INSN ("ld1sb", 0xa5a0a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SZU
, F_OD(1), 0),
4953 _SVE_INSN ("ld1sb", 0xa5c0a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_HZU
, F_OD(1), 0),
4954 _SVE_INSN ("ld1sb", 0xc4208000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5
), OP_SVE_DZD
, F_OD(1), 0),
4955 _SVE_INSN ("ld1sh", 0x84800000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_SZS
, F_OD(1), 0),
4956 _SVE_INSN ("ld1sh", 0x84a00000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW1_22
), OP_SVE_SZS
, F_OD(1), 0),
4957 _SVE_INSN ("ld1sh", 0xa5004000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_DZU
, F_OD(1), 0),
4958 _SVE_INSN ("ld1sh", 0xa5204000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_SZU
, F_OD(1), 0),
4959 _SVE_INSN ("ld1sh", 0xc4800000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_DZD
, F_OD(1), 0),
4960 _SVE_INSN ("ld1sh", 0xc4a00000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW1_22
), OP_SVE_DZD
, F_OD(1), 0),
4961 _SVE_INSN ("ld1sh", 0xc4c08000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DZD
, F_OD(1), 0),
4962 _SVE_INSN ("ld1sh", 0xc4e08000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_LSL1
), OP_SVE_DZD
, F_OD(1), 0),
4963 _SVE_INSN ("ld1sh", 0x84a08000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x2
), OP_SVE_SZS
, F_OD(1), 0),
4964 _SVE_INSN ("ld1sh", 0xa500a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
4965 _SVE_INSN ("ld1sh", 0xa520a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SZU
, F_OD(1), 0),
4966 _SVE_INSN ("ld1sh", 0xc4a08000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x2
), OP_SVE_DZD
, F_OD(1), 0),
4967 _SVE_INSN ("ld1sw", 0xa4804000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_DZU
, F_OD(1), 0),
4968 _SVE_INSN ("ld1sw", 0xc5000000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_DZD
, F_OD(1), 0),
4969 _SVE_INSN ("ld1sw", 0xc5200000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW2_22
), OP_SVE_DZD
, F_OD(1), 0),
4970 _SVE_INSN ("ld1sw", 0xc5408000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DZD
, F_OD(1), 0),
4971 _SVE_INSN ("ld1sw", 0xc5608000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_LSL2
), OP_SVE_DZD
, F_OD(1), 0),
4972 _SVE_INSN ("ld1sw", 0xa480a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
4973 _SVE_INSN ("ld1sw", 0xc5208000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x4
), OP_SVE_DZD
, F_OD(1), 0),
4974 _SVE_INSN ("ld1w", 0x85004000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_SZS
, F_OD(1), 0),
4975 _SVE_INSN ("ld1w", 0x85204000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW2_22
), OP_SVE_SZS
, F_OD(1), 0),
4976 _SVE_INSN ("ld1w", 0xa5404000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_SZU
, F_OD(1), 0),
4977 _SVE_INSN ("ld1w", 0xa5604000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_DZU
, F_OD(1), 0),
4978 _SVE_INSN ("ld1w", 0xc5004000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_DZD
, F_OD(1), 0),
4979 _SVE_INSN ("ld1w", 0xc5204000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW2_22
), OP_SVE_DZD
, F_OD(1), 0),
4980 _SVE_INSN ("ld1w", 0xc540c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DZD
, F_OD(1), 0),
4981 _SVE_INSN ("ld1w", 0xc560c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_LSL2
), OP_SVE_DZD
, F_OD(1), 0),
4982 _SVE_INSN ("ld1w", 0x8520c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x4
), OP_SVE_SZS
, F_OD(1), 0),
4983 _SVE_INSN ("ld1w", 0xa540a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SZU
, F_OD(1), 0),
4984 _SVE_INSN ("ld1w", 0xa560a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
4985 _SVE_INSN ("ld1w", 0xc520c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x4
), OP_SVE_DZD
, F_OD(1), 0),
4986 _SVE_INSN ("ld2b", 0xa420c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_BZU
, F_OD(2), 0),
4987 _SVE_INSN ("ld2b", 0xa420e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_BZU
, F_OD(2), 0),
4988 _SVE_INSN ("ld2d", 0xa5a0c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL3
), OP_SVE_DZU
, F_OD(2), 0),
4989 _SVE_INSN ("ld2d", 0xa5a0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_DZU
, F_OD(2), 0),
4990 _SVE_INSN ("ld2h", 0xa4a0c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_HZU
, F_OD(2), 0),
4991 _SVE_INSN ("ld2h", 0xa4a0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_HZU
, F_OD(2), 0),
4992 _SVE_INSN ("ld2w", 0xa520c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_SZU
, F_OD(2), 0),
4993 _SVE_INSN ("ld2w", 0xa520e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_SZU
, F_OD(2), 0),
4994 _SVE_INSN ("ld3b", 0xa440c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_BZU
, F_OD(3), 0),
4995 _SVE_INSN ("ld3b", 0xa440e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x3xVL
), OP_SVE_BZU
, F_OD(3), 0),
4996 _SVE_INSN ("ld3d", 0xa5c0c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL3
), OP_SVE_DZU
, F_OD(3), 0),
4997 _SVE_INSN ("ld3d", 0xa5c0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x3xVL
), OP_SVE_DZU
, F_OD(3), 0),
4998 _SVE_INSN ("ld3h", 0xa4c0c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_HZU
, F_OD(3), 0),
4999 _SVE_INSN ("ld3h", 0xa4c0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x3xVL
), OP_SVE_HZU
, F_OD(3), 0),
5000 _SVE_INSN ("ld3w", 0xa540c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_SZU
, F_OD(3), 0),
5001 _SVE_INSN ("ld3w", 0xa540e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x3xVL
), OP_SVE_SZU
, F_OD(3), 0),
5002 _SVE_INSN ("ld4b", 0xa460c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_BZU
, F_OD(4), 0),
5003 _SVE_INSN ("ld4b", 0xa460e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_BZU
, F_OD(4), 0),
5004 _SVE_INSN ("ld4d", 0xa5e0c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL3
), OP_SVE_DZU
, F_OD(4), 0),
5005 _SVE_INSN ("ld4d", 0xa5e0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_DZU
, F_OD(4), 0),
5006 _SVE_INSN ("ld4h", 0xa4e0c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_HZU
, F_OD(4), 0),
5007 _SVE_INSN ("ld4h", 0xa4e0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_HZU
, F_OD(4), 0),
5008 _SVE_INSN ("ld4w", 0xa560c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_SZU
, F_OD(4), 0),
5009 _SVE_INSN ("ld4w", 0xa560e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_SZU
, F_OD(4), 0),
5011 _SVE_INSN ("ldff1b", 0x84006000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_SZS
, F_OD(1), 0),
5012 _SVE_INSN ("ldff1b", 0xa4006000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR
), OP_SVE_BZU
, F_OD(1), 0),
5013 _SVE_INSN ("ldff1b", 0xa4006000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_BZU
, F_OD(1), 0),
5014 _SVE_INSN ("ldff1b", 0xa4206000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR
), OP_SVE_HZU
, F_OD(1), 0),
5015 _SVE_INSN ("ldff1b", 0xa4206000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_HZU
, F_OD(1), 0),
5016 _SVE_INSN ("ldff1b", 0xa4406000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR
), OP_SVE_SZU
, F_OD(1), 0),
5017 _SVE_INSN ("ldff1b", 0xa4406000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_SZU
, F_OD(1), 0),
5018 _SVE_INSN ("ldff1b", 0xa4606000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR
), OP_SVE_DZU
, F_OD(1), 0),
5019 _SVE_INSN ("ldff1b", 0xa4606000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_DZU
, F_OD(1), 0),
5020 _SVE_INSN ("ldff1b", 0xc4006000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_DZD
, F_OD(1), 0),
5021 _SVE_INSN ("ldff1b", 0xc440e000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DZD
, F_OD(1), 0),
5022 _SVE_INSN ("ldff1b", 0x8420e000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5
), OP_SVE_SZS
, F_OD(1), 0),
5023 _SVE_INSN ("ldff1b", 0xc420e000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5
), OP_SVE_DZD
, F_OD(1), 0),
5025 _SVE_INSN ("ldff1d", 0xa5e06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DZU
, F_OD(1), 0),
5026 _SVE_INSN ("ldff1d", 0xa5e06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_DZU
, F_OD(1), 0),
5027 _SVE_INSN ("ldff1d", 0xc5806000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_DZD
, F_OD(1), 0),
5028 _SVE_INSN ("ldff1d", 0xc5a06000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW3_22
), OP_SVE_DZD
, F_OD(1), 0),
5029 _SVE_INSN ("ldff1d", 0xc5c0e000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DZD
, F_OD(1), 0),
5030 _SVE_INSN ("ldff1d", 0xc5e0e000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_LSL3
), OP_SVE_DZD
, F_OD(1), 0),
5031 _SVE_INSN ("ldff1d", 0xc5a0e000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x8
), OP_SVE_DZD
, F_OD(1), 0),
5033 _SVE_INSN ("ldff1h", 0x84806000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_SZS
, F_OD(1), 0),
5034 _SVE_INSN ("ldff1h", 0x84a06000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW1_22
), OP_SVE_SZS
, F_OD(1), 0),
5035 _SVE_INSN ("ldff1h", 0xa4a06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HZU
, F_OD(1), 0),
5036 _SVE_INSN ("ldff1h", 0xa4a06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_HZU
, F_OD(1), 0),
5037 _SVE_INSN ("ldff1h", 0xa4c06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR_LSL1
), OP_SVE_SZU
, F_OD(1), 0),
5038 _SVE_INSN ("ldff1h", 0xa4c06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_SZU
, F_OD(1), 0),
5039 _SVE_INSN ("ldff1h", 0xa4e06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR_LSL1
), OP_SVE_DZU
, F_OD(1), 0),
5040 _SVE_INSN ("ldff1h", 0xa4e06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_DZU
, F_OD(1), 0),
5041 _SVE_INSN ("ldff1h", 0xc4806000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_DZD
, F_OD(1), 0),
5042 _SVE_INSN ("ldff1h", 0xc4a06000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW1_22
), OP_SVE_DZD
, F_OD(1), 0),
5043 _SVE_INSN ("ldff1h", 0xc4c0e000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DZD
, F_OD(1), 0),
5044 _SVE_INSN ("ldff1h", 0xc4e0e000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_LSL1
), OP_SVE_DZD
, F_OD(1), 0),
5045 _SVE_INSN ("ldff1h", 0x84a0e000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x2
), OP_SVE_SZS
, F_OD(1), 0),
5046 _SVE_INSN ("ldff1h", 0xc4a0e000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x2
), OP_SVE_DZD
, F_OD(1), 0),
5048 _SVE_INSN ("ldff1sb", 0x84002000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_SZS
, F_OD(1), 0),
5049 _SVE_INSN ("ldff1sb", 0xa5806000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR
), OP_SVE_DZU
, F_OD(1), 0),
5050 _SVE_INSN ("ldff1sb", 0xa5806000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_DZU
, F_OD(1), 0),
5051 _SVE_INSN ("ldff1sb", 0xa5a06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR
), OP_SVE_SZU
, F_OD(1), 0),
5052 _SVE_INSN ("ldff1sb", 0xa5a06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_SZU
, F_OD(1), 0),
5053 _SVE_INSN ("ldff1sb", 0xa5c06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR
), OP_SVE_HZU
, F_OD(1), 0),
5054 _SVE_INSN ("ldff1sb", 0xa5c06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_HZU
, F_OD(1), 0),
5055 _SVE_INSN ("ldff1sb", 0xc4002000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_DZD
, F_OD(1), 0),
5056 _SVE_INSN ("ldff1sb", 0xc440a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DZD
, F_OD(1), 0),
5057 _SVE_INSN ("ldff1sb", 0x8420a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5
), OP_SVE_SZS
, F_OD(1), 0),
5058 _SVE_INSN ("ldff1sb", 0xc420a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5
), OP_SVE_DZD
, F_OD(1), 0),
5060 _SVE_INSN ("ldff1sh", 0x84802000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_SZS
, F_OD(1), 0),
5061 _SVE_INSN ("ldff1sh", 0x84a02000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW1_22
), OP_SVE_SZS
, F_OD(1), 0),
5062 _SVE_INSN ("ldff1sh", 0xa5006000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR_LSL1
), OP_SVE_DZU
, F_OD(1), 0),
5063 _SVE_INSN ("ldff1sh", 0xa5006000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_DZU
, F_OD(1), 0),
5064 _SVE_INSN ("ldff1sh", 0xa5206000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR_LSL1
), OP_SVE_SZU
, F_OD(1), 0),
5065 _SVE_INSN ("ldff1sh", 0xa5206000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_SZU
, F_OD(1), 0),
5066 _SVE_INSN ("ldff1sh", 0xc4802000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_DZD
, F_OD(1), 0),
5067 _SVE_INSN ("ldff1sh", 0xc4a02000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW1_22
), OP_SVE_DZD
, F_OD(1), 0),
5068 _SVE_INSN ("ldff1sh", 0xc4c0a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DZD
, F_OD(1), 0),
5069 _SVE_INSN ("ldff1sh", 0xc4e0a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_LSL1
), OP_SVE_DZD
, F_OD(1), 0),
5070 _SVE_INSN ("ldff1sh", 0x84a0a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x2
), OP_SVE_SZS
, F_OD(1), 0),
5071 _SVE_INSN ("ldff1sh", 0xc4a0a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x2
), OP_SVE_DZD
, F_OD(1), 0),
5073 _SVE_INSN ("ldff1sw", 0xa4806000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR_LSL2
), OP_SVE_DZU
, F_OD(1), 0),
5074 _SVE_INSN ("ldff1sw", 0xa4806000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_DZU
, F_OD(1), 0),
5075 _SVE_INSN ("ldff1sw", 0xc5002000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_DZD
, F_OD(1), 0),
5076 _SVE_INSN ("ldff1sw", 0xc5202000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW2_22
), OP_SVE_DZD
, F_OD(1), 0),
5077 _SVE_INSN ("ldff1sw", 0xc540a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DZD
, F_OD(1), 0),
5078 _SVE_INSN ("ldff1sw", 0xc560a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_LSL2
), OP_SVE_DZD
, F_OD(1), 0),
5079 _SVE_INSN ("ldff1sw", 0xc520a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x4
), OP_SVE_DZD
, F_OD(1), 0),
5081 _SVE_INSN ("ldff1w", 0x85006000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_SZS
, F_OD(1), 0),
5082 _SVE_INSN ("ldff1w", 0x85206000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW2_22
), OP_SVE_SZS
, F_OD(1), 0),
5083 _SVE_INSN ("ldff1w", 0xa5406000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SZU
, F_OD(1), 0),
5084 _SVE_INSN ("ldff1w", 0xa5406000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_SZU
, F_OD(1), 0),
5085 _SVE_INSN ("ldff1w", 0xa5606000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RR_LSL2
), OP_SVE_DZU
, F_OD(1), 0),
5086 _SVE_INSN ("ldff1w", 0xa5606000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_DZU
, F_OD(1), 0),
5087 _SVE_INSN ("ldff1w", 0xc5006000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_DZD
, F_OD(1), 0),
5088 _SVE_INSN ("ldff1w", 0xc5206000, 0xffa0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW2_22
), OP_SVE_DZD
, F_OD(1), 0),
5089 _SVE_INSN ("ldff1w", 0xc540e000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DZD
, F_OD(1), 0),
5090 _SVE_INSN ("ldff1w", 0xc560e000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_LSL2
), OP_SVE_DZD
, F_OD(1), 0),
5091 _SVE_INSN ("ldff1w", 0x8520e000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x4
), OP_SVE_SZS
, F_OD(1), 0),
5092 _SVE_INSN ("ldff1w", 0xc520e000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x4
), OP_SVE_DZD
, F_OD(1), 0),
5094 _SVE_INSN ("ldnf1b", 0xa410a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_BZU
, F_OD(1), 0),
5095 _SVE_INSN ("ldnf1b", 0xa430a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_HZU
, F_OD(1), 0),
5096 _SVE_INSN ("ldnf1b", 0xa450a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SZU
, F_OD(1), 0),
5097 _SVE_INSN ("ldnf1b", 0xa470a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
5098 _SVE_INSN ("ldnf1d", 0xa5f0a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
5099 _SVE_INSN ("ldnf1h", 0xa4b0a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_HZU
, F_OD(1), 0),
5100 _SVE_INSN ("ldnf1h", 0xa4d0a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SZU
, F_OD(1), 0),
5101 _SVE_INSN ("ldnf1h", 0xa4f0a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
5102 _SVE_INSN ("ldnf1sb", 0xa590a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
5103 _SVE_INSN ("ldnf1sb", 0xa5b0a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SZU
, F_OD(1), 0),
5104 _SVE_INSN ("ldnf1sb", 0xa5d0a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_HZU
, F_OD(1), 0),
5105 _SVE_INSN ("ldnf1sh", 0xa510a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
5106 _SVE_INSN ("ldnf1sh", 0xa530a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SZU
, F_OD(1), 0),
5107 _SVE_INSN ("ldnf1sw", 0xa490a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
5108 _SVE_INSN ("ldnf1w", 0xa550a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SZU
, F_OD(1), 0),
5109 _SVE_INSN ("ldnf1w", 0xa570a000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
5110 _SVE_INSN ("ldnt1b", 0xa400c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_BZU
, F_OD(1), 0),
5111 _SVE_INSN ("ldnt1b", 0xa400e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_BZU
, F_OD(1), 0),
5112 _SVE_INSN ("ldnt1d", 0xa580c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL3
), OP_SVE_DZU
, F_OD(1), 0),
5113 _SVE_INSN ("ldnt1d", 0xa580e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DZU
, F_OD(1), 0),
5114 _SVE_INSN ("ldnt1h", 0xa480c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_HZU
, F_OD(1), 0),
5115 _SVE_INSN ("ldnt1h", 0xa480e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_HZU
, F_OD(1), 0),
5116 _SVE_INSN ("ldnt1w", 0xa500c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_SZU
, F_OD(1), 0),
5117 _SVE_INSN ("ldnt1w", 0xa500e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SZU
, F_OD(1), 0),
5118 _SVE_INSN ("ldr", 0x85800000, 0xffc0e010, sve_misc
, 0, OP2 (SVE_Pt
, SVE_ADDR_RI_S9xVL
), {}, 0, 0),
5119 _SVE_INSN ("ldr", 0x85800000, 0xffc0e010, sve_misc
, 0, OP2 (SVE_PNt
, SVE_ADDR_RI_S9xVL
), {}, 0, 0),
5120 _SVE_INSN ("ldr", 0x85804000, 0xffc0e000, sve_misc
, 0, OP2 (SVE_Zt
, SVE_ADDR_RI_S9xVL
), {}, 0, 0),
5121 _SVE_INSN ("lsl", 0x04208c00, 0xff20fc00, sve_size_bhs
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVD_BHS
, 0, 0),
5122 _SVE_INSN ("lsl", 0x04209c00, 0xff20fc00, sve_shift_unpred
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHLIMM_UNPRED
), OP_SVE_VVU_BHSD
, 0, 0),
5123 _SVE_INSNC ("lsl", 0x04138000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5124 _SVE_INSNC ("lsl", 0x041b8000, 0xff3fe000, sve_size_bhs
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVD_BHS
, 0, C_SCAN_MOVPRFX
, 2),
5125 _SVE_INSNC ("lsl", 0x04038000, 0xff3fe000, sve_shift_pred
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_SHLIMM_PRED
), OP_SVE_VMVU_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5126 _SVE_INSNC ("lslr", 0x04178000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5127 _SVE_INSN ("lsr", 0x04208400, 0xff20fc00, sve_size_bhs
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVD_BHS
, 0, 0),
5128 _SVE_INSN ("lsr", 0x04209400, 0xff20fc00, sve_shift_unpred
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED
), OP_SVE_VVU_BHSD
, 0, 0),
5129 _SVE_INSNC ("lsr", 0x04118000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5130 _SVE_INSNC ("lsr", 0x04198000, 0xff3fe000, sve_size_bhs
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVD_BHS
, 0, C_SCAN_MOVPRFX
, 2),
5131 _SVE_INSNC ("lsr", 0x04018000, 0xff3fe000, sve_shift_pred
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_SHRIMM_PRED
), OP_SVE_VMVU_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5132 _SVE_INSNC ("lsrr", 0x04158000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5133 _SVE_INSNC ("mad", 0x0400c000, 0xff20e000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zm_16
, SVE_Za_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5134 _SVE_INSNC ("mla", 0x04004000, 0xff20e000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5135 _SVE_INSNC ("mls", 0x04006000, 0xff20e000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5136 _SVE_INSNC ("movprfx", 0x0420bc00, 0xfffffc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_Zn
), {}, F_SCAN
, C_SCAN_MOVPRFX
, 0),
5137 _SVE_INSNC ("movprfx", 0x04102000, 0xff3ee000, sve_movprfx
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VPV_BHSD
, F_SCAN
, C_SCAN_MOVPRFX
, 0),
5138 _SVE_INSNC ("msb", 0x0400e000, 0xff20e000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zm_16
, SVE_Za_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5139 _SVE_INSNC ("mul", 0x2530c000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_SIMM8
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
5140 _SVE_INSNC ("mul", 0x04100000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5141 _SVE_INSN ("nand", 0x25804210, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, 0, 0),
5142 _SVE_INSN ("nands", 0x25c04210, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, 0, 0),
5143 _SVE_INSNC ("neg", 0x0417a000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5144 _SVE_INSN ("nor", 0x25804200, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, 0, 0),
5145 _SVE_INSN ("nors", 0x25c04200, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, 0, 0),
5146 _SVE_INSNC ("not", 0x041ea000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5147 _SVE_INSN ("orn", 0x25804010, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, 0, 0),
5148 _SVE_INSN ("orns", 0x25c04010, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, 0, 0),
5149 _SVE_INSN ("orr", 0x04603000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DDD
, F_HAS_ALIAS
, 0),
5150 _SVE_INSNC ("orr", 0x05000000, 0xfffc0000, sve_limm
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_LIMM
), OP_SVE_VVU_BHSD
, F_HAS_ALIAS
, C_SCAN_MOVPRFX
, 1),
5151 _SVE_INSNC ("orr", 0x04180000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5152 _SVE_INSN ("orr", 0x25804000, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, F_HAS_ALIAS
, 0),
5153 _SVE_INSN ("orrs", 0x25c04000, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BZBB
, F_HAS_ALIAS
, 0),
5154 _SVE_INSN ("orv", 0x04182000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_BHSD
, 0, 0),
5155 _SVE_INSN ("pfalse", 0x2518e400, 0xfffffff0, sve_misc
, 0, OP1 (SVE_Pd
), OP_SVE_B
, 0, 0),
5156 _SVE_INSN ("pfalse", 0x2518e400, 0xfffffff0, sve_misc
, 0, OP1 (SVE_PNd
), OP_SVE_B
, 0, 0),
5157 _SVE_INSN ("pfirst", 0x2558c000, 0xfffffe10, sve_misc
, 0, OP3 (SVE_Pd
, SVE_Pg4_5
, SVE_Pd
), OP_SVE_BUB
, 0, 2),
5158 _SVE_INSN ("pnext", 0x2519c400, 0xff3ffe10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, SVE_Pg4_5
, SVE_Pd
), OP_SVE_VUV_BHSD
, 0, 2),
5159 _SVE_INSN ("prfb", 0x8400c000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RX
), {}, 0, 0),
5160 _SVE_INSN ("prfb", 0x84200000, 0xffa0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_UUS
, 0, 0),
5161 _SVE_INSN ("prfb", 0xc4200000, 0xffa0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RZ_XTW_22
), OP_SVE_UUD
, 0, 0),
5162 _SVE_INSN ("prfb", 0xc4608000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_UUD
, 0, 0),
5163 _SVE_INSN ("prfb", 0x8400e000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_ZI_U5
), OP_SVE_UUS
, 0, 0),
5164 _SVE_INSN ("prfb", 0x85c00000, 0xffc0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RI_S6xVL
), {}, 0, 0),
5165 _SVE_INSN ("prfb", 0xc400e000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_ZI_U5
), OP_SVE_UUD
, 0, 0),
5166 _SVE_INSN ("prfd", 0x84206000, 0xffa0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RZ_XTW3_22
), OP_SVE_UUS
, 0, 0),
5167 _SVE_INSN ("prfd", 0x8580c000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RX_LSL3
), {}, 0, 0),
5168 _SVE_INSN ("prfd", 0xc4206000, 0xffa0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RZ_XTW3_22
), OP_SVE_UUD
, 0, 0),
5169 _SVE_INSN ("prfd", 0xc460e000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RZ_LSL3
), OP_SVE_UUD
, 0, 0),
5170 _SVE_INSN ("prfd", 0x8580e000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_ZI_U5x8
), OP_SVE_UUS
, 0, 0),
5171 _SVE_INSN ("prfd", 0x85c06000, 0xffc0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RI_S6xVL
), {}, 0, 0),
5172 _SVE_INSN ("prfd", 0xc580e000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_ZI_U5x8
), OP_SVE_UUD
, 0, 0),
5173 _SVE_INSN ("prfh", 0x84202000, 0xffa0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RZ_XTW1_22
), OP_SVE_UUS
, 0, 0),
5174 _SVE_INSN ("prfh", 0x8480c000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), {}, 0, 0),
5175 _SVE_INSN ("prfh", 0xc4202000, 0xffa0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RZ_XTW1_22
), OP_SVE_UUD
, 0, 0),
5176 _SVE_INSN ("prfh", 0xc460a000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RZ_LSL1
), OP_SVE_UUD
, 0, 0),
5177 _SVE_INSN ("prfh", 0x8480e000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_ZI_U5x2
), OP_SVE_UUS
, 0, 0),
5178 _SVE_INSN ("prfh", 0x85c02000, 0xffc0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RI_S6xVL
), {}, 0, 0),
5179 _SVE_INSN ("prfh", 0xc480e000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_ZI_U5x2
), OP_SVE_UUD
, 0, 0),
5180 _SVE_INSN ("prfw", 0x84204000, 0xffa0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RZ_XTW2_22
), OP_SVE_UUS
, 0, 0),
5181 _SVE_INSN ("prfw", 0x8500c000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), {}, 0, 0),
5182 _SVE_INSN ("prfw", 0xc4204000, 0xffa0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RZ_XTW2_22
), OP_SVE_UUD
, 0, 0),
5183 _SVE_INSN ("prfw", 0xc460c000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RZ_LSL2
), OP_SVE_UUD
, 0, 0),
5184 _SVE_INSN ("prfw", 0x8500e000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_ZI_U5x4
), OP_SVE_UUS
, 0, 0),
5185 _SVE_INSN ("prfw", 0x85c04000, 0xffc0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_RI_S6xVL
), {}, 0, 0),
5186 _SVE_INSN ("prfw", 0xc500e000, 0xffe0e010, sve_misc
, 0, OP3 (SVE_PRFOP
, SVE_Pg3
, SVE_ADDR_ZI_U5x4
), OP_SVE_UUD
, 0, 0),
5187 _SVE_INSN ("ptest", 0x2550c000, 0xffffc21f, sve_misc
, 0, OP2 (SVE_Pg4_10
, SVE_Pn
), OP_SVE_UB
, 0, 0),
5188 _SVE_INSN ("ptrue", 0x2518e000, 0xff3ffc10, sve_size_bhsd
, 0, OP2 (SVE_Pd
, SVE_PATTERN
), OP_SVE_VU_BHSD
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5189 _SVE_INSN ("ptrues", 0x2519e000, 0xff3ffc10, sve_size_bhsd
, 0, OP2 (SVE_Pd
, SVE_PATTERN
), OP_SVE_VU_BHSD
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5190 _SVE_INSN ("punpkhi", 0x05314000, 0xfffffe10, sve_misc
, 0, OP2 (SVE_Pd
, SVE_Pn
), OP_SVE_HB
, 0, 0),
5191 _SVE_INSN ("punpklo", 0x05304000, 0xfffffe10, sve_misc
, 0, OP2 (SVE_Pd
, SVE_Pn
), OP_SVE_HB
, 0, 0),
5192 _SVE_INSNC ("rbit", 0x05278000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5193 _SVE_INSN ("rdffr", 0x2519f000, 0xfffffff0, sve_misc
, 0, OP1 (SVE_Pd
), OP_SVE_B
, 0, 0),
5194 _SVE_INSN ("rdffr", 0x2518f000, 0xfffffe10, sve_misc
, 0, OP2 (SVE_Pd
, SVE_Pg4_5
), OP_SVE_BZ
, 0, 0),
5195 _SVE_INSN ("rdffrs", 0x2558f000, 0xfffffe10, sve_misc
, 0, OP2 (SVE_Pd
, SVE_Pg4_5
), OP_SVE_BZ
, 0, 0),
5196 _SVE_INSN ("rdvl", 0x04bf5000, 0xfffff800, sve_misc
, 0, OP2 (Rd
, SVE_SIMM6
), OP_SVE_XU
, 0, 0),
5197 _SVE_INSN ("rev", 0x05344000, 0xff3ffe10, sve_size_bhsd
, 0, OP2 (SVE_Pd
, SVE_Pn
), OP_SVE_VV_BHSD
, 0, 0),
5198 _SVE_INSN ("rev", 0x05383800, 0xff3ffc00, sve_size_bhsd
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_VV_BHSD
, 0, 0),
5199 _SVE_INSNC ("revb", 0x05248000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
5200 _SVE_INSNC ("revh", 0x05a58000, 0xffbfe000, sve_size_sd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_SD
, 0, C_SCAN_MOVPRFX
, 0),
5201 _SVE_INSNC ("revw", 0x05e68000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMD
, 0, C_SCAN_MOVPRFX
, 0),
5202 _SVE_INSNC ("sabd", 0x040c0000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5203 _SVE_INSN ("saddv", 0x04002000, 0xff3fe000, sve_size_bhs
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DUV_BHS
, 0, 0),
5204 _SVE_INSNC ("scvtf", 0x6552a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_HMH
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5205 _SVE_INSNC ("scvtf", 0x6554a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_HMS
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5206 _SVE_INSNC ("scvtf", 0x6594a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMS
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5207 _SVE_INSNC ("scvtf", 0x65d0a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMS
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5208 _SVE_INSNC ("scvtf", 0x6556a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_HMD
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5209 _SVE_INSNC ("scvtf", 0x65d4a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMD
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5210 _SVE_INSNC ("scvtf", 0x65d6a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMD
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5211 _SVE_INSNC ("sdiv", 0x04940000, 0xffbfe000, sve_size_sd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_SD
, 0, C_SCAN_MOVPRFX
, 2),
5212 _SVE_INSNC ("sdivr", 0x04960000, 0xffbfe000, sve_size_sd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_SD
, 0, C_SCAN_MOVPRFX
, 2),
5213 _SVE_INSNC ("sdot", 0x44800000, 0xffa0fc00, sve_size_sd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_SD_BH
, 0, C_SCAN_MOVPRFX
, 0),
5214 _SVE_INSNC ("sdot", 0x44a00000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_VVV_S_B
, 0, C_SCAN_MOVPRFX
, 0),
5215 _SVE_INSNC ("sdot", 0x44e00000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
), OP_SVE_VVV_D_H
, 0, C_SCAN_MOVPRFX
, 0),
5216 _SVE_INSN ("sel", 0x0520c000, 0xff20c000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg4_10
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VUVV_BHSD
, F_HAS_ALIAS
, 0),
5217 _SVE_INSN ("sel", 0x25004210, 0xfff0c210, sve_misc
, 0, OP4 (SVE_Pd
, SVE_Pg4_10
, SVE_Pn
, SVE_Pm
), OP_SVE_BUBB
, F_HAS_ALIAS
, 0),
5218 _SVE_INSN ("setffr", 0x252c9000, 0xffffffff, sve_misc
, 0, OP0 (), {}, 0, 0),
5219 _SVE_INSNC ("smax", 0x2528c000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_SIMM8
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
5220 _SVE_INSNC ("smax", 0x04080000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5221 _SVE_INSN ("smaxv", 0x04082000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_BHSD
, 0, 0),
5222 _SVE_INSNC ("smin", 0x252ac000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_SIMM8
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
5223 _SVE_INSNC ("smin", 0x040a0000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5224 _SVE_INSN ("sminv", 0x040a2000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_BHSD
, 0, 0),
5225 _SVE_INSNC ("smulh", 0x04120000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5226 _SVE_INSNC ("splice", 0x052c8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VUVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5227 _SVE_INSN ("sqadd", 0x04201000, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5228 _SVE_INSNC ("sqadd", 0x2524c000, 0xff3fc000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_AIMM
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
5229 _SVE_INSN ("sqdecb", 0x0430f800, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5230 _SVE_INSN ("sqdecb", 0x0420f800, 0xfff0fc00, sve_misc
, 0, OP3 (Rd
, Rd
, SVE_PATTERN_SCALED
), OP_SVE_XWU
, F_OPD2_OPT
| F_DEFAULT(31), 1),
5231 _SVE_INSNC ("sqdecd", 0x04e0c800, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_DU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
5232 _SVE_INSN ("sqdecd", 0x04f0f800, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5233 _SVE_INSN ("sqdecd", 0x04e0f800, 0xfff0fc00, sve_misc
, 0, OP3 (Rd
, Rd
, SVE_PATTERN_SCALED
), OP_SVE_XWU
, F_OPD2_OPT
| F_DEFAULT(31), 1),
5234 _SVE_INSNC ("sqdech", 0x0460c800, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_HU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
5235 _SVE_INSN ("sqdech", 0x0470f800, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5236 _SVE_INSN ("sqdech", 0x0460f800, 0xfff0fc00, sve_misc
, 0, OP3 (Rd
, Rd
, SVE_PATTERN_SCALED
), OP_SVE_XWU
, F_OPD2_OPT
| F_DEFAULT(31), 1),
5237 _SVE_INSNC ("sqdecp", 0x252a8000, 0xff3ffe00, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_Pg4_5
), OP_SVE_Vv_HSD
, 0, C_SCAN_MOVPRFX
, 0),
5238 _SVE_INSN ("sqdecp", 0x252a8c00, 0xff3ffe00, sve_size_bhsd
, 0, OP2 (Rd
, SVE_Pg4_5
), OP_SVE_XV_BHSD
, 0, 0),
5239 _SVE_INSN ("sqdecp", 0x252a8800, 0xff3ffe00, sve_size_bhsd
, 0, OP3 (Rd
, SVE_Pg4_5
, Rd
), OP_SVE_XVW_BHSD
, 0, 2),
5240 _SVE_INSNC ("sqdecw", 0x04a0c800, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_SU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
5241 _SVE_INSN ("sqdecw", 0x04b0f800, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5242 _SVE_INSN ("sqdecw", 0x04a0f800, 0xfff0fc00, sve_misc
, 0, OP3 (Rd
, Rd
, SVE_PATTERN_SCALED
), OP_SVE_XWU
, F_OPD2_OPT
| F_DEFAULT(31), 1),
5243 _SVE_INSN ("sqincb", 0x0430f000, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5244 _SVE_INSN ("sqincb", 0x0420f000, 0xfff0fc00, sve_misc
, 0, OP3 (Rd
, Rd
, SVE_PATTERN_SCALED
), OP_SVE_XWU
, F_OPD2_OPT
| F_DEFAULT(31), 1),
5245 _SVE_INSNC ("sqincd", 0x04e0c000, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_DU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
5246 _SVE_INSN ("sqincd", 0x04f0f000, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5247 _SVE_INSN ("sqincd", 0x04e0f000, 0xfff0fc00, sve_misc
, 0, OP3 (Rd
, Rd
, SVE_PATTERN_SCALED
), OP_SVE_XWU
, F_OPD2_OPT
| F_DEFAULT(31), 1),
5248 _SVE_INSNC ("sqinch", 0x0460c000, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_HU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
5249 _SVE_INSN ("sqinch", 0x0470f000, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5250 _SVE_INSN ("sqinch", 0x0460f000, 0xfff0fc00, sve_misc
, 0, OP3 (Rd
, Rd
, SVE_PATTERN_SCALED
), OP_SVE_XWU
, F_OPD2_OPT
| F_DEFAULT(31), 1),
5251 _SVE_INSNC ("sqincp", 0x25288000, 0xff3ffe00, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_Pg4_5
), OP_SVE_Vv_HSD
, 0, C_SCAN_MOVPRFX
, 0),
5252 _SVE_INSN ("sqincp", 0x25288c00, 0xff3ffe00, sve_size_bhsd
, 0, OP2 (Rd
, SVE_Pg4_5
), OP_SVE_XV_BHSD
, 0, 0),
5253 _SVE_INSN ("sqincp", 0x25288800, 0xff3ffe00, sve_size_bhsd
, 0, OP3 (Rd
, SVE_Pg4_5
, Rd
), OP_SVE_XVW_BHSD
, 0, 2),
5254 _SVE_INSNC ("sqincw", 0x04a0c000, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_SU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
5255 _SVE_INSN ("sqincw", 0x04b0f000, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5256 _SVE_INSN ("sqincw", 0x04a0f000, 0xfff0fc00, sve_misc
, 0, OP3 (Rd
, Rd
, SVE_PATTERN_SCALED
), OP_SVE_XWU
, F_OPD2_OPT
| F_DEFAULT(31), 1),
5257 _SVE_INSN ("sqsub", 0x04201800, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5258 _SVE_INSNC ("sqsub", 0x2526c000, 0xff3fc000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_AIMM
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
5259 _SVE_INSN ("st1b", 0xe4004000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_BUU
, F_OD(1), 0),
5260 _SVE_INSN ("st1b", 0xe4008000, 0xffe0a000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_14
), OP_SVE_DUD
, F_OD(1), 0),
5261 _SVE_INSN ("st1b", 0xe400a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DUD
, F_OD(1), 0),
5262 _SVE_INSN ("st1b", 0xe4204000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_HUU
, F_OD(1), 0),
5263 _SVE_INSN ("st1b", 0xe4404000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_SUU
, F_OD(1), 0),
5264 _SVE_INSN ("st1b", 0xe4408000, 0xffe0a000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_14
), OP_SVE_SUS
, F_OD(1), 0),
5265 _SVE_INSN ("st1b", 0xe4604000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_DUU
, F_OD(1), 0),
5266 _SVE_INSN ("st1b", 0xe400e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_BUU
, F_OD(1), 0),
5267 _SVE_INSN ("st1b", 0xe420e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_HUU
, F_OD(1), 0),
5268 _SVE_INSN ("st1b", 0xe440a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5
), OP_SVE_DUD
, F_OD(1), 0),
5269 _SVE_INSN ("st1b", 0xe440e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SUU
, F_OD(1), 0),
5270 _SVE_INSN ("st1b", 0xe460a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5
), OP_SVE_SUS
, F_OD(1), 0),
5271 _SVE_INSN ("st1b", 0xe460e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DUU
, F_OD(1), 0),
5272 _SVE_INSN ("st1d", 0xe5808000, 0xffe0a000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_14
), OP_SVE_DUD
, F_OD(1), 0),
5273 _SVE_INSN ("st1d", 0xe580a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DUD
, F_OD(1), 0),
5274 _SVE_INSN ("st1d", 0xe5a08000, 0xffe0a000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW3_14
), OP_SVE_DUD
, F_OD(1), 0),
5275 _SVE_INSN ("st1d", 0xe5a0a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_LSL3
), OP_SVE_DUD
, F_OD(1), 0),
5276 _SVE_INSN ("st1d", 0xe5e04000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL3
), OP_SVE_DUU
, F_OD(1), 0),
5277 _SVE_INSN ("st1d", 0xe5c0a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x8
), OP_SVE_DUD
, F_OD(1), 0),
5278 _SVE_INSN ("st1d", 0xe5e0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DUU
, F_OD(1), 0),
5279 _SVE_INSN ("st1h", 0xe4808000, 0xffe0a000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_14
), OP_SVE_DUD
, F_OD(1), 0),
5280 _SVE_INSN ("st1h", 0xe480a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DUD
, F_OD(1), 0),
5281 _SVE_INSN ("st1h", 0xe4a04000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_HUU
, F_OD(1), 0),
5282 _SVE_INSN ("st1h", 0xe4a08000, 0xffe0a000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW1_14
), OP_SVE_DUD
, F_OD(1), 0),
5283 _SVE_INSN ("st1h", 0xe4a0a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_LSL1
), OP_SVE_DUD
, F_OD(1), 0),
5284 _SVE_INSN ("st1h", 0xe4c04000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_SUU
, F_OD(1), 0),
5285 _SVE_INSN ("st1h", 0xe4c08000, 0xffe0a000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_14
), OP_SVE_SUS
, F_OD(1), 0),
5286 _SVE_INSN ("st1h", 0xe4e04000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_DUU
, F_OD(1), 0),
5287 _SVE_INSN ("st1h", 0xe4e08000, 0xffe0a000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW1_14
), OP_SVE_SUS
, F_OD(1), 0),
5288 _SVE_INSN ("st1h", 0xe4a0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_HUU
, F_OD(1), 0),
5289 _SVE_INSN ("st1h", 0xe4c0a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x2
), OP_SVE_DUD
, F_OD(1), 0),
5290 _SVE_INSN ("st1h", 0xe4c0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SUU
, F_OD(1), 0),
5291 _SVE_INSN ("st1h", 0xe4e0a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x2
), OP_SVE_SUS
, F_OD(1), 0),
5292 _SVE_INSN ("st1h", 0xe4e0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DUU
, F_OD(1), 0),
5293 _SVE_INSN ("st1w", 0xe5008000, 0xffe0a000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_14
), OP_SVE_DUD
, F_OD(1), 0),
5294 _SVE_INSN ("st1w", 0xe500a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ
), OP_SVE_DUD
, F_OD(1), 0),
5295 _SVE_INSN ("st1w", 0xe5208000, 0xffe0a000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW2_14
), OP_SVE_DUD
, F_OD(1), 0),
5296 _SVE_INSN ("st1w", 0xe520a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_LSL2
), OP_SVE_DUD
, F_OD(1), 0),
5297 _SVE_INSN ("st1w", 0xe5404000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_SUU
, F_OD(1), 0),
5298 _SVE_INSN ("st1w", 0xe5408000, 0xffe0a000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW_14
), OP_SVE_SUS
, F_OD(1), 0),
5299 _SVE_INSN ("st1w", 0xe5604000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_DUU
, F_OD(1), 0),
5300 _SVE_INSN ("st1w", 0xe5608000, 0xffe0a000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RZ_XTW2_14
), OP_SVE_SUS
, F_OD(1), 0),
5301 _SVE_INSN ("st1w", 0xe540a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x4
), OP_SVE_DUD
, F_OD(1), 0),
5302 _SVE_INSN ("st1w", 0xe540e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SUU
, F_OD(1), 0),
5303 _SVE_INSN ("st1w", 0xe560a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZI_U5x4
), OP_SVE_SUS
, F_OD(1), 0),
5304 _SVE_INSN ("st1w", 0xe560e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DUU
, F_OD(1), 0),
5305 _SVE_INSN ("st2b", 0xe4206000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_BUU
, F_OD(2), 0),
5306 _SVE_INSN ("st2b", 0xe430e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_BUU
, F_OD(2), 0),
5307 _SVE_INSN ("st2d", 0xe5a06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL3
), OP_SVE_DUU
, F_OD(2), 0),
5308 _SVE_INSN ("st2d", 0xe5b0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_DUU
, F_OD(2), 0),
5309 _SVE_INSN ("st2h", 0xe4a06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_HUU
, F_OD(2), 0),
5310 _SVE_INSN ("st2h", 0xe4b0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_HUU
, F_OD(2), 0),
5311 _SVE_INSN ("st2w", 0xe5206000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_SUU
, F_OD(2), 0),
5312 _SVE_INSN ("st2w", 0xe530e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_SUU
, F_OD(2), 0),
5313 _SVE_INSN ("st3b", 0xe4406000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_BUU
, F_OD(3), 0),
5314 _SVE_INSN ("st3b", 0xe450e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x3xVL
), OP_SVE_BUU
, F_OD(3), 0),
5315 _SVE_INSN ("st3d", 0xe5c06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL3
), OP_SVE_DUU
, F_OD(3), 0),
5316 _SVE_INSN ("st3d", 0xe5d0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x3xVL
), OP_SVE_DUU
, F_OD(3), 0),
5317 _SVE_INSN ("st3h", 0xe4c06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_HUU
, F_OD(3), 0),
5318 _SVE_INSN ("st3h", 0xe4d0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x3xVL
), OP_SVE_HUU
, F_OD(3), 0),
5319 _SVE_INSN ("st3w", 0xe5406000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_SUU
, F_OD(3), 0),
5320 _SVE_INSN ("st3w", 0xe550e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x3xVL
), OP_SVE_SUU
, F_OD(3), 0),
5321 _SVE_INSN ("st4b", 0xe4606000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_BUU
, F_OD(4), 0),
5322 _SVE_INSN ("st4b", 0xe470e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_BUU
, F_OD(4), 0),
5323 _SVE_INSN ("st4d", 0xe5e06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL3
), OP_SVE_DUU
, F_OD(4), 0),
5324 _SVE_INSN ("st4d", 0xe5f0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_DUU
, F_OD(4), 0),
5325 _SVE_INSN ("st4h", 0xe4e06000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_HUU
, F_OD(4), 0),
5326 _SVE_INSN ("st4h", 0xe4f0e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_HUU
, F_OD(4), 0),
5327 _SVE_INSN ("st4w", 0xe5606000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_SUU
, F_OD(4), 0),
5328 _SVE_INSN ("st4w", 0xe570e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_SUU
, F_OD(4), 0),
5329 _SVE_INSN ("stnt1b", 0xe4006000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_BUU
, F_OD(1), 0),
5330 _SVE_INSN ("stnt1b", 0xe410e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_BUU
, F_OD(1), 0),
5331 _SVE_INSN ("stnt1d", 0xe5806000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL3
), OP_SVE_DUU
, F_OD(1), 0),
5332 _SVE_INSN ("stnt1d", 0xe590e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_DUU
, F_OD(1), 0),
5333 _SVE_INSN ("stnt1h", 0xe4806000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_HUU
, F_OD(1), 0),
5334 _SVE_INSN ("stnt1h", 0xe490e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_HUU
, F_OD(1), 0),
5335 _SVE_INSN ("stnt1w", 0xe5006000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_SUU
, F_OD(1), 0),
5336 _SVE_INSN ("stnt1w", 0xe510e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4xVL
), OP_SVE_SUU
, F_OD(1), 0),
5337 _SVE_INSN ("str", 0xe5800000, 0xffc0e010, sve_misc
, 0, OP2 (SVE_Pt
, SVE_ADDR_RI_S9xVL
), {}, 0, 0),
5338 _SVE_INSN ("str", 0xe5800000, 0xffc0e010, sve_misc
, 0, OP2 (SVE_PNt
, SVE_ADDR_RI_S9xVL
), {}, 0, 0),
5339 _SVE_INSN ("str", 0xe5804000, 0xffc0e000, sve_misc
, 0, OP2 (SVE_Zt
, SVE_ADDR_RI_S9xVL
), {}, 0, 0),
5340 _SVE_INSN ("sub", 0x04200400, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5341 _SVE_INSNC ("sub", 0x2521c000, 0xff3fc000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_AIMM
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
5342 _SVE_INSNC ("sub", 0x04010000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5343 _SVE_INSNC ("subr", 0x2523c000, 0xff3fc000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_AIMM
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
5344 _SVE_INSNC ("subr", 0x04030000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5345 _SVE_INSN ("sunpkhi", 0x05313800, 0xff3ffc00, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_VV_HSD_BHS
, 0, 0),
5346 _SVE_INSN ("sunpklo", 0x05303800, 0xff3ffc00, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_VV_HSD_BHS
, 0, 0),
5347 _SVE_INSNC ("sxtb", 0x0410a000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
5348 _SVE_INSNC ("sxth", 0x0492a000, 0xffbfe000, sve_size_sd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_SD
, 0, C_SCAN_MOVPRFX
, 0),
5349 _SVE_INSNC ("sxtw", 0x04d4a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMD
, 0, C_SCAN_MOVPRFX
, 0),
5350 _SVE_INSN ("tbl", 0x05203000, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_ZnxN
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, F_OD(1), 0),
5351 _SVE_INSN ("trn1", 0x05205000, 0xff30fe10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, SVE_Pn
, SVE_Pm
), OP_SVE_VVV_BHSD
, 0, 0),
5352 _SVE_INSN ("trn1", 0x05207000, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5353 _SVE_INSN ("trn2", 0x05205400, 0xff30fe10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, SVE_Pn
, SVE_Pm
), OP_SVE_VVV_BHSD
, 0, 0),
5354 _SVE_INSN ("trn2", 0x05207400, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5355 _SVE_INSNC ("uabd", 0x040d0000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5356 _SVE_INSN ("uaddv", 0x04012000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DUV_BHSD
, 0, 0),
5357 _SVE_INSNC ("ucvtf", 0x6553a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_HMH
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5358 _SVE_INSNC ("ucvtf", 0x6555a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_HMS
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5359 _SVE_INSNC ("ucvtf", 0x6595a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMS
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5360 _SVE_INSNC ("ucvtf", 0x65d1a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMS
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5361 _SVE_INSNC ("ucvtf", 0x6557a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_HMD
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5362 _SVE_INSNC ("ucvtf", 0x65d5a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMD
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5363 _SVE_INSNC ("ucvtf", 0x65d7a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMD
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5364 _SVE_INSNC ("udiv", 0x04950000, 0xffbfe000, sve_size_sd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_SD
, 0, C_SCAN_MOVPRFX
, 2),
5365 _SVE_INSNC ("udivr", 0x04970000, 0xffbfe000, sve_size_sd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_SD
, 0, C_SCAN_MOVPRFX
, 2),
5366 _SVE_INSNC ("udot", 0x44800400, 0xffa0fc00, sve_size_sd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_SD_BH
, 0, C_SCAN_MOVPRFX
, 0),
5367 _SVE_INSNC ("udot", 0x44a00400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_VVV_S_B
, 0, C_SCAN_MOVPRFX
, 0),
5368 _SVE_INSNC ("udot", 0x44e00400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
), OP_SVE_VVV_D_H
, 0, C_SCAN_MOVPRFX
, 0),
5369 _SVE_INSNC ("umax", 0x2529c000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_UIMM8
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
5370 _SVE_INSNC ("umax", 0x04090000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5371 _SVE_INSN ("umaxv", 0x04092000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_BHSD
, 0, 0),
5372 _SVE_INSNC ("umin", 0x252bc000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_UIMM8
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
5373 _SVE_INSNC ("umin", 0x040b0000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5374 _SVE_INSN ("uminv", 0x040b2000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VUV_BHSD
, 0, 0),
5375 _SVE_INSNC ("umulh", 0x04130000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5376 _SVE_INSN ("uqadd", 0x04201400, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5377 _SVE_INSNC ("uqadd", 0x2525c000, 0xff3fc000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_AIMM
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
5378 _SVE_INSN ("uqdecb", 0x0420fc00, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_WU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5379 _SVE_INSN ("uqdecb", 0x0430fc00, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5380 _SVE_INSNC ("uqdecd", 0x04e0cc00, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_DU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
5381 _SVE_INSN ("uqdecd", 0x04e0fc00, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_WU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5382 _SVE_INSN ("uqdecd", 0x04f0fc00, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5383 _SVE_INSNC ("uqdech", 0x0460cc00, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_HU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
5384 _SVE_INSN ("uqdech", 0x0460fc00, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_WU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5385 _SVE_INSN ("uqdech", 0x0470fc00, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5386 _SVE_INSNC ("uqdecp", 0x252b8000, 0xff3ffe00, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_Pg4_5
), OP_SVE_Vv_HSD
, 0, C_SCAN_MOVPRFX
, 0),
5387 _SVE_INSN ("uqdecp", 0x252b8800, 0xff3ffe00, sve_size_bhsd
, 0, OP2 (Rd
, SVE_Pg4_5
), OP_SVE_WV_BHSD
, 0, 0),
5388 _SVE_INSN ("uqdecp", 0x252b8c00, 0xff3ffe00, sve_size_bhsd
, 0, OP2 (Rd
, SVE_Pg4_5
), OP_SVE_XV_BHSD
, 0, 0),
5389 _SVE_INSNC ("uqdecw", 0x04a0cc00, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_SU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
5390 _SVE_INSN ("uqdecw", 0x04a0fc00, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_WU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5391 _SVE_INSN ("uqdecw", 0x04b0fc00, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5392 _SVE_INSN ("uqincb", 0x0420f400, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_WU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5393 _SVE_INSN ("uqincb", 0x0430f400, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5394 _SVE_INSNC ("uqincd", 0x04e0c400, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_DU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
5395 _SVE_INSN ("uqincd", 0x04e0f400, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_WU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5396 _SVE_INSN ("uqincd", 0x04f0f400, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5397 _SVE_INSNC ("uqinch", 0x0460c400, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_HU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
5398 _SVE_INSN ("uqinch", 0x0460f400, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_WU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5399 _SVE_INSN ("uqinch", 0x0470f400, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5400 _SVE_INSNC ("uqincp", 0x25298000, 0xff3ffe00, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_Pg4_5
), OP_SVE_Vv_HSD
, 0, C_SCAN_MOVPRFX
, 0),
5401 _SVE_INSN ("uqincp", 0x25298800, 0xff3ffe00, sve_size_bhsd
, 0, OP2 (Rd
, SVE_Pg4_5
), OP_SVE_WV_BHSD
, 0, 0),
5402 _SVE_INSN ("uqincp", 0x25298c00, 0xff3ffe00, sve_size_bhsd
, 0, OP2 (Rd
, SVE_Pg4_5
), OP_SVE_XV_BHSD
, 0, 0),
5403 _SVE_INSNC ("uqincw", 0x04a0c400, 0xfff0fc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_PATTERN_SCALED
), OP_SVE_SU
, F_OPD1_OPT
| F_DEFAULT(31), C_SCAN_MOVPRFX
, 0),
5404 _SVE_INSN ("uqincw", 0x04a0f400, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_WU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5405 _SVE_INSN ("uqincw", 0x04b0f400, 0xfff0fc00, sve_misc
, 0, OP2 (Rd
, SVE_PATTERN_SCALED
), OP_SVE_XU
, F_OPD1_OPT
| F_DEFAULT(31), 0),
5406 _SVE_INSN ("uqsub", 0x04201c00, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5407 _SVE_INSNC ("uqsub", 0x2527c000, 0xff3fc000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_AIMM
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
5408 _SVE_INSN ("uunpkhi", 0x05333800, 0xff3ffc00, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_VV_HSD_BHS
, 0, 0),
5409 _SVE_INSN ("uunpklo", 0x05323800, 0xff3ffc00, sve_size_hsd
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_VV_HSD_BHS
, 0, 0),
5410 _SVE_INSNC ("uxtb", 0x0411a000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
5411 _SVE_INSNC ("uxth", 0x0493a000, 0xffbfe000, sve_size_sd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_SD
, 0, C_SCAN_MOVPRFX
, 0),
5412 _SVE_INSNC ("uxtw", 0x04d5a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMD
, 0, C_SCAN_MOVPRFX
, 0),
5413 _SVE_INSN ("uzp1", 0x05204800, 0xff30fe10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, SVE_Pn
, SVE_Pm
), OP_SVE_VVV_BHSD
, 0, 0),
5414 _SVE_INSN ("uzp1", 0x05206800, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5415 _SVE_INSN ("uzp2", 0x05204c00, 0xff30fe10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, SVE_Pn
, SVE_Pm
), OP_SVE_VVV_BHSD
, 0, 0),
5416 _SVE_INSN ("uzp2", 0x05206c00, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5417 _SVE_INSN ("whilele", 0x25200410, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VWW_BHSD
, 0, 0),
5418 _SVE_INSN ("whilele", 0x25201410, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5419 _SVE_INSN ("whilelo", 0x25200c00, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VWW_BHSD
, 0, 0),
5420 _SVE_INSN ("whilelo", 0x25201c00, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5421 _SVE_INSN ("whilels", 0x25200c10, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VWW_BHSD
, 0, 0),
5422 _SVE_INSN ("whilels", 0x25201c10, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5423 _SVE_INSN ("whilelt", 0x25200400, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VWW_BHSD
, 0, 0),
5424 _SVE_INSN ("whilelt", 0x25201400, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5425 _SVE_INSN ("wrffr", 0x25289000, 0xfffffe1f, sve_misc
, 0, OP1 (SVE_Pn
), OP_SVE_B
, 0, 0),
5426 _SVE_INSN ("zip1", 0x05204000, 0xff30fe10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, SVE_Pn
, SVE_Pm
), OP_SVE_VVV_BHSD
, 0, 0),
5427 _SVE_INSN ("zip1", 0x05206000, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5428 _SVE_INSN ("zip2", 0x05204400, 0xff30fe10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, SVE_Pn
, SVE_Pm
), OP_SVE_VVV_BHSD
, 0, 0),
5429 _SVE_INSN ("zip2", 0x05206400, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5430 _SVE_INSNC ("bic", 0x05800000, 0xfffc0000, sve_limm
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_INV_LIMM
), OP_SVE_VVU_BHSD
, F_ALIAS
| F_PSEUDO
, C_SCAN_MOVPRFX
, 1),
5431 _SVE_INSN ("cmple", 0x24008000, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zm_16
, SVE_Zn
), OP_SVE_VZVV_BHSD
, F_ALIAS
| F_PSEUDO
, 0),
5432 _SVE_INSN ("cmplo", 0x24000010, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zm_16
, SVE_Zn
), OP_SVE_VZVV_BHSD
, F_ALIAS
| F_PSEUDO
, 0),
5433 _SVE_INSN ("cmpls", 0x24000000, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zm_16
, SVE_Zn
), OP_SVE_VZVV_BHSD
, F_ALIAS
| F_PSEUDO
, 0),
5434 _SVE_INSN ("cmplt", 0x24008010, 0xff20e010, sve_size_bhsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zm_16
, SVE_Zn
), OP_SVE_VZVV_BHSD
, F_ALIAS
| F_PSEUDO
, 0),
5435 _SVE_INSNC ("eon", 0x05400000, 0xfffc0000, sve_limm
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_INV_LIMM
), OP_SVE_VVU_BHSD
, F_ALIAS
| F_PSEUDO
, C_SCAN_MOVPRFX
, 1),
5436 _SVE_INSN ("facle", 0x6500c010, 0xff20e010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zm_16
, SVE_Zn
), OP_SVE_VZVV_HSD
, F_ALIAS
| F_PSEUDO
, 0),
5437 _SVE_INSN ("faclt", 0x6500e010, 0xff20e010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zm_16
, SVE_Zn
), OP_SVE_VZVV_HSD
, F_ALIAS
| F_PSEUDO
, 0),
5438 _SVE_INSN ("fcmle", 0x65004000, 0xff20e010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zm_16
, SVE_Zn
), OP_SVE_VZVV_HSD
, F_ALIAS
| F_PSEUDO
, 0),
5439 _SVE_INSN ("fcmlt", 0x65004010, 0xff20e010, sve_size_hsd
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zm_16
, SVE_Zn
), OP_SVE_VZVV_HSD
, F_ALIAS
| F_PSEUDO
, 0),
5440 _SVE_INSN ("fmov", 0x2538c000, 0xff3fffe0, sve_size_hsd
, 0, OP2 (SVE_Zd
, FPIMM0
), OP_SVE_V_HSD
, F_ALIAS
| F_PSEUDO
, 0),
5441 _SVE_INSNC ("fmov", 0x05104000, 0xff30ffe0, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg4_16
, FPIMM0
), OP_SVE_VM_HSD
, F_ALIAS
| F_PSEUDO
, C_SCAN_MOVPRFX
, 0),
5442 _SVE_INSNC ("orn", 0x05000000, 0xfffc0000, sve_limm
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_INV_LIMM
), OP_SVE_VVU_BHSD
, F_ALIAS
| F_PSEUDO
, C_SCAN_MOVPRFX
, 1),
5444 /* SVE2 instructions. */
5445 SVE2_INSNC ("adclb", 0x4500d000, 0xffa0fc00, sve_size_sd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_SD
, 0, C_SCAN_MOVPRFX
, 0),
5446 SVE2_INSNC ("adclt", 0x4500d400, 0xffa0fc00, sve_size_sd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_SD
, 0, C_SCAN_MOVPRFX
, 0),
5447 SVE2_INSN ("addhnb", 0x45206000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHS_HSD
, 0, 0),
5448 SVE2_INSN ("addhnt", 0x45206400, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHS_HSD
, 0, 0),
5449 SVE2_INSNC ("addp", 0x4411a000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5450 SVE2_INSNC ("bcax", 0x04603800, 0xffe0fc00, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zd
, SVE_Zm_16
, SVE_Zn
), OP_SVE_DDDD
, 0, C_SCAN_MOVPRFX
, 1),
5451 SVE2_INSNC ("bsl", 0x04203c00, 0xffe0fc00, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zd
, SVE_Zm_16
, SVE_Zn
), OP_SVE_DDDD
, 0, C_SCAN_MOVPRFX
, 1),
5452 SVE2_INSNC ("bsl1n", 0x04603c00, 0xffe0fc00, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zd
, SVE_Zm_16
, SVE_Zn
), OP_SVE_DDDD
, 0, C_SCAN_MOVPRFX
, 1),
5453 SVE2_INSNC ("bsl2n", 0x04a03c00, 0xffe0fc00, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zd
, SVE_Zm_16
, SVE_Zn
), OP_SVE_DDDD
, 0, C_SCAN_MOVPRFX
, 1),
5454 SVE2_INSNC ("cadd", 0x4500d800, 0xff3ff800, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Zd
, SVE_Zn
, SVE_IMM_ROT3
), OP_SVE_VVVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
5455 SVE2_INSNC ("cdot", 0x44801000, 0xffa0f000, sve_size_sd
, 0, OP4 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
, SVE_IMM_ROT2
), OP_SVE_VVVU_SD_BH
, 0, C_SCAN_MOVPRFX
, 0),
5456 SVE2_INSNC ("cdot", 0x44e04000, 0xffe0f000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
, SVE_IMM_ROT2
), OP_SVE_DHHU
, 0, C_SCAN_MOVPRFX
, 0),
5457 SVE2_INSNC ("cdot", 0x44a04000, 0xffe0f000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
, SVE_IMM_ROT2
), OP_SVE_SBBU
, 0, C_SCAN_MOVPRFX
, 0),
5458 SVE2_INSNC ("cmla", 0x44002000, 0xff20f000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
, SVE_IMM_ROT2
), OP_SVE_VVVU_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5459 SVE2_INSNC ("cmla", 0x44a06000, 0xffe0f000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
, SVE_IMM_ROT2
), OP_SVE_VVVU_H
, 0, C_SCAN_MOVPRFX
, 0),
5460 SVE2_INSNC ("cmla", 0x44e06000, 0xffe0f000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
, SVE_IMM_ROT2
), OP_SVE_VVVU_S
, 0, C_SCAN_MOVPRFX
, 0),
5461 SVE2_INSNC ("eor3", 0x04203800, 0xffe0fc00, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zd
, SVE_Zm_16
, SVE_Zn
), OP_SVE_DDDD
, 0, C_SCAN_MOVPRFX
, 1),
5462 SVE2_INSNC ("eorbt", 0x45009000, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5463 SVE2_INSNC ("eortb", 0x45009400, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5464 SVE2_INSN ("ext", 0x05600000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_ZnxN
, SVE_UIMM8_53
), OP_SVE_BBU
, F_OD(2), 0),
5465 SVE2_INSNC ("faddp", 0x64108000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
5466 SVE2_INSN ("fcvtlt", 0x6489a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMH
, 0, 0),
5467 SVE2_INSN ("fcvtlt", 0x64cba000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_DMS
, 0, 0),
5468 SVE2_INSN ("fcvtnt", 0x6488a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_HMS
, 0, 0),
5469 SVE2_INSN ("fcvtnt", 0x64caa000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMD
, 0, 0),
5470 SVE2_INSNC ("fcvtx", 0x650aa000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMD
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
5471 SVE2_INSN ("fcvtxnt", 0x640aa000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMD
, 0, 0),
5472 SVE2_INSNC ("flogb", 0x6518a000, 0xfff9e000, sve_size_hsd2
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
5473 SVE2_INSNC ("fmaxnmp", 0x64148000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
5474 SVE2_INSNC ("fmaxp", 0x64168000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
5475 SVE2_INSNC ("fminnmp", 0x64158000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
5476 SVE2_INSNC ("fminp", 0x64178000, 0xff3fe000, sve_size_hsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_HSD
, 0, C_SCAN_MOVPRFX
, 2),
5477 SVE2_INSNC ("fmlalb", 0x64a04000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5478 SVE2_INSNC ("fmlalb", 0x64a08000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5479 SVE2_INSNC ("fmlalt", 0x64a04400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5480 SVE2_INSNC ("fmlalt", 0x64a08400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5481 SVE2_INSNC ("fmlslb", 0x64a06000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5482 SVE2_INSNC ("fmlslb", 0x64a0a000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5483 SVE2_INSNC ("fmlslt", 0x64a06400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5484 SVE2_INSNC ("fmlslt", 0x64a0a400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5485 SVE2_INSN ("histcnt", 0x45a0c000, 0xffa0e000, sve_size_sd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_SD
, 0, 0),
5486 SVE2_INSN ("histseg", 0x4520a000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_BBB
, 0, 0),
5487 SVE2_INSN ("ldnt1b", 0x8400a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_SZS
, F_OD(1), 0),
5488 SVE2_INSN ("ldnt1b", 0xc400c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_DZD
, F_OD(1), 0),
5489 SVE2_INSN ("ldnt1d", 0xc580c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_DZD
, F_OD(1), 0),
5490 SVE2_INSN ("ldnt1h", 0x8480a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_SZS
, F_OD(1), 0),
5491 SVE2_INSN ("ldnt1h", 0xc480c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_DZD
, F_OD(1), 0),
5492 SVE2_INSN ("ldnt1sb", 0x84008000, 0xbfe0e000, sve_size_sd2
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_VZV_SD
, F_OD(1), 0),
5493 SVE2_INSN ("ldnt1sh", 0x84808000, 0xbfe0e000, sve_size_sd2
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_VZV_SD
, F_OD(1), 0),
5494 SVE2_INSN ("ldnt1sw", 0xc5008000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_DZD
, F_OD(1), 0),
5495 SVE2_INSN ("ldnt1w", 0x8500a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_SZS
, F_OD(1), 0),
5496 SVE2_INSN ("ldnt1w", 0xc500c000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_DZD
, F_OD(1), 0),
5497 SVE2_INSN ("match", 0x45208000, 0xffa0e010, sve_size_bh
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_BH
, 0, 0),
5498 SVE2_INSNC ("mla", 0x44200800, 0xffa0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_22_INDEX
), OP_SVE_HHH
, 0, C_SCAN_MOVPRFX
, 0),
5499 SVE2_INSNC ("mla", 0x44a00800, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_SSS
, 0, C_SCAN_MOVPRFX
, 0),
5500 SVE2_INSNC ("mla", 0x44e00800, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
), OP_SVE_DDD
, 0, C_SCAN_MOVPRFX
, 0),
5501 SVE2_INSNC ("mls", 0x44200c00, 0xffa0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_22_INDEX
), OP_SVE_HHH
, 0, C_SCAN_MOVPRFX
, 0),
5502 SVE2_INSNC ("mls", 0x44a00c00, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_SSS
, 0, C_SCAN_MOVPRFX
, 0),
5503 SVE2_INSNC ("mls", 0x44e00c00, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
), OP_SVE_DDD
, 0, C_SCAN_MOVPRFX
, 0),
5504 SVE2_INSN ("mul", 0x4420f800, 0xffa0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_22_INDEX
), OP_SVE_HHH
, 0, 0),
5505 SVE2_INSN ("mul", 0x44a0f800, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_SSS
, 0, 0),
5506 SVE2_INSN ("mul", 0x44e0f800, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
), OP_SVE_DDD
, 0, 0),
5507 SVE2_INSN ("mul", 0x04206000, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5508 SVE2_INSNC ("nbsl", 0x04e03c00, 0xffe0fc00, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zd
, SVE_Zm_16
, SVE_Zn
), OP_SVE_DDDD
, 0, C_SCAN_MOVPRFX
, 1),
5509 SVE2_INSN ("nmatch", 0x45208010, 0xffa0e010, sve_size_bh
, 0, OP4 (SVE_Pd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VZVV_BH
, 0, 0),
5510 SVE2_INSN ("pmul", 0x04206400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_BBB
, 0, 0),
5511 SVE2_INSN ("pmullb", 0x45406800, 0xff60fc00, sve_size_13
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HD_BS
, 0, 0),
5512 SVE2_INSN ("pmullt", 0x45406c00, 0xff60fc00, sve_size_13
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HD_BS
, 0, 0),
5513 SVE2_INSN ("raddhnb", 0x45206800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHS_HSD
, 0, 0),
5514 SVE2_INSN ("raddhnt", 0x45206c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHS_HSD
, 0, 0),
5515 SVE2_INSN ("rshrnb", 0x45201800, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5516 SVE2_INSN ("rshrnt", 0x45201c00, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5517 SVE2_INSN ("rsubhnb", 0x45207800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHS_HSD
, 0, 0),
5518 SVE2_INSN ("rsubhnt", 0x45207c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHS_HSD
, 0, 0),
5519 SVE2_INSNC ("saba", 0x4500f800, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5520 SVE2_INSNC ("sabalb", 0x4500c000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5521 SVE2_INSNC ("sabalt", 0x4500c400, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5522 SVE2_INSN ("sabdlb", 0x45003000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5523 SVE2_INSN ("sabdlt", 0x45003400, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5524 SVE2_INSNC ("sadalp", 0x4404a000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5525 SVE2_INSN ("saddlb", 0x45000000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5526 SVE2_INSN ("saddlbt", 0x45008000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5527 SVE2_INSN ("saddlt", 0x45000400, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5528 SVE2_INSN ("saddwb", 0x45004000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS2
, 0, 0),
5529 SVE2_INSN ("saddwt", 0x45004400, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS2
, 0, 0),
5530 SVE2_INSNC ("sbclb", 0x4580d000, 0xffa0fc00, sve_size_sd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_SD
, 0, C_SCAN_MOVPRFX
, 0),
5531 SVE2_INSNC ("sbclt", 0x4580d400, 0xffa0fc00, sve_size_sd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_SD
, 0, C_SCAN_MOVPRFX
, 0),
5532 SVE2_INSNC ("shadd", 0x44108000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5533 SVE2_INSN ("shrnb", 0x45201000, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5534 SVE2_INSN ("shrnt", 0x45201400, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5535 SVE2_INSNC ("shsub", 0x44128000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5536 SVE2_INSNC ("shsubr", 0x44168000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5537 SVE2_INSN ("sli", 0x4500f400, 0xff20fc00, sve_shift_tsz_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHLIMM_UNPRED
), OP_SVE_VVU_BHSD
, 0, 0),
5538 SVE2_INSNC ("smaxp", 0x4414a000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5539 SVE2_INSNC ("sminp", 0x4416a000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5540 SVE2_INSNC ("smlalb", 0x44a08000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5541 SVE2_INSNC ("smlalb", 0x44e08000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, C_SCAN_MOVPRFX
, 0),
5542 SVE2_INSNC ("smlalb", 0x44004000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5543 SVE2_INSNC ("smlalt", 0x44a08400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5544 SVE2_INSNC ("smlalt", 0x44e08400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, C_SCAN_MOVPRFX
, 0),
5545 SVE2_INSNC ("smlalt", 0x44004400, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5546 SVE2_INSNC ("smlslb", 0x44a0a000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5547 SVE2_INSNC ("smlslb", 0x44e0a000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, C_SCAN_MOVPRFX
, 0),
5548 SVE2_INSNC ("smlslb", 0x44005000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5549 SVE2_INSNC ("smlslt", 0x44a0a400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5550 SVE2_INSNC ("smlslt", 0x44e0a400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, C_SCAN_MOVPRFX
, 0),
5551 SVE2_INSNC ("smlslt", 0x44005400, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5552 SVE2_INSN ("smulh", 0x04206800, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5553 SVE2_INSN ("smullb", 0x44a0c000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, 0),
5554 SVE2_INSN ("smullb", 0x44e0c000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, 0),
5555 SVE2_INSN ("smullb", 0x45007000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5556 SVE2_INSN ("smullt", 0x44a0c400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, 0),
5557 SVE2_INSN ("smullt", 0x44e0c400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, 0),
5558 SVE2_INSN ("smullt", 0x45007400, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5559 SVE2_INSN ("splice", 0x052d8000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_ZnxN
), OP_SVE_VUV_BHSD
, F_OD(2), 0),
5560 SVE2_INSNC ("sqabs", 0x4408a000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5561 SVE2_INSNC ("sqadd", 0x44188000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5562 SVE2_INSNC ("sqcadd", 0x4501d800, 0xff3ff800, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Zd
, SVE_Zn
, SVE_IMM_ROT3
), OP_SVE_VVVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
5563 SVE2_INSNC ("sqdmlalb", 0x44a02000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5564 SVE2_INSNC ("sqdmlalb", 0x44e02000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, C_SCAN_MOVPRFX
, 0),
5565 SVE2_INSNC ("sqdmlalb", 0x44006000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5566 SVE2_INSNC ("sqdmlalbt", 0x44000800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5567 SVE2_INSNC ("sqdmlalt", 0x44a02400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5568 SVE2_INSNC ("sqdmlalt", 0x44e02400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, C_SCAN_MOVPRFX
, 0),
5569 SVE2_INSNC ("sqdmlalt", 0x44006400, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5570 SVE2_INSNC ("sqdmlslb", 0x44a03000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5571 SVE2_INSNC ("sqdmlslb", 0x44e03000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, C_SCAN_MOVPRFX
, 0),
5572 SVE2_INSNC ("sqdmlslb", 0x44006800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5573 SVE2_INSNC ("sqdmlslbt", 0x44000c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5574 SVE2_INSNC ("sqdmlslt", 0x44a03400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5575 SVE2_INSNC ("sqdmlslt", 0x44e03400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, C_SCAN_MOVPRFX
, 0),
5576 SVE2_INSNC ("sqdmlslt", 0x44006c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5577 SVE2_INSN ("sqdmulh", 0x4420f000, 0xffa0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_22_INDEX
), OP_SVE_HHH
, 0, 0),
5578 SVE2_INSN ("sqdmulh", 0x44a0f000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_SSS
, 0, 0),
5579 SVE2_INSN ("sqdmulh", 0x44e0f000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
), OP_SVE_DDD
, 0, 0),
5580 SVE2_INSN ("sqdmulh", 0x04207000, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5581 SVE2_INSN ("sqdmullb", 0x44a0e000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, 0),
5582 SVE2_INSN ("sqdmullb", 0x44e0e000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, 0),
5583 SVE2_INSN ("sqdmullb", 0x45006000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5584 SVE2_INSN ("sqdmullt", 0x44a0e400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, 0),
5585 SVE2_INSN ("sqdmullt", 0x44e0e400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, 0),
5586 SVE2_INSN ("sqdmullt", 0x45006400, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5587 SVE2_INSNC ("sqneg", 0x4409a000, 0xff3fe000, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5588 SVE2_INSNC ("sqrdcmlah", 0x44a07000, 0xffe0f000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
, SVE_IMM_ROT2
), OP_SVE_HHHU
, 0, C_SCAN_MOVPRFX
, 0),
5589 SVE2_INSNC ("sqrdcmlah", 0x44e07000, 0xffe0f000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
, SVE_IMM_ROT2
), OP_SVE_SSSU
, 0, C_SCAN_MOVPRFX
, 0),
5590 SVE2_INSNC ("sqrdcmlah", 0x44003000, 0xff20f000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
, SVE_IMM_ROT2
), OP_SVE_VVVU_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5591 SVE2_INSNC ("sqrdmlah", 0x44201000, 0xffa0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_22_INDEX
), OP_SVE_HHH
, 0, C_SCAN_MOVPRFX
, 0),
5592 SVE2_INSNC ("sqrdmlah", 0x44a01000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_SSS
, 0, C_SCAN_MOVPRFX
, 0),
5593 SVE2_INSNC ("sqrdmlah", 0x44e01000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
), OP_SVE_DDD
, 0, C_SCAN_MOVPRFX
, 0),
5594 SVE2_INSNC ("sqrdmlah", 0x44007000, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5595 SVE2_INSNC ("sqrdmlsh", 0x44201400, 0xffa0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_22_INDEX
), OP_SVE_HHH
, 0, C_SCAN_MOVPRFX
, 0),
5596 SVE2_INSNC ("sqrdmlsh", 0x44a01400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_SSS
, 0, C_SCAN_MOVPRFX
, 0),
5597 SVE2_INSNC ("sqrdmlsh", 0x44e01400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
), OP_SVE_DDD
, 0, C_SCAN_MOVPRFX
, 0),
5598 SVE2_INSNC ("sqrdmlsh", 0x44007400, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5599 SVE2_INSN ("sqrdmulh", 0x4420f400, 0xffa0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_22_INDEX
), OP_SVE_HHH
, 0, 0),
5600 SVE2_INSN ("sqrdmulh", 0x44a0f400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_SSS
, 0, 0),
5601 SVE2_INSN ("sqrdmulh", 0x44e0f400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_INDEX
), OP_SVE_DDD
, 0, 0),
5602 SVE2_INSN ("sqrdmulh", 0x04207400, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5603 SVE2_INSNC ("sqrshl", 0x440a8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5604 SVE2_INSNC ("sqrshlr", 0x440e8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5605 SVE2_INSN ("sqrshrnb", 0x45202800, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5606 SVE2_INSN ("sqrshrnt", 0x45202c00, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5607 SVE2_INSN ("sqrshrunb", 0x45200800, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5608 SVE2_INSN ("sqrshrunt", 0x45200c00, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5609 SVE2_INSNC ("sqshl", 0x04068000, 0xff3fe000, sve_shift_pred
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_SHLIMM_PRED
), OP_SVE_VMVU_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5610 SVE2_INSNC ("sqshl", 0x44088000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5611 SVE2_INSNC ("sqshlr", 0x440c8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5612 SVE2_INSNC ("sqshlu", 0x040f8000, 0xff3fe000, sve_shift_pred
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_SHLIMM_PRED
), OP_SVE_VMVU_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5613 SVE2_INSN ("sqshrnb", 0x45202000, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5614 SVE2_INSN ("sqshrnt", 0x45202400, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5615 SVE2_INSN ("sqshrunb", 0x45200000, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5616 SVE2_INSN ("sqshrunt", 0x45200400, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5617 SVE2_INSNC ("sqsub", 0x441a8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5618 SVE2_INSNC ("sqsubr", 0x441e8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5619 SVE2_INSN ("sqxtnb", 0x45204000, 0xffa7fc00, sve_size_tsz_bhs
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_VV_BHS_HSD
, 0, 0),
5620 SVE2_INSN ("sqxtnt", 0x45204400, 0xffa7fc00, sve_size_tsz_bhs
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_VV_BHS_HSD
, 0, 0),
5621 SVE2_INSN ("sqxtunb", 0x45205000, 0xffa7fc00, sve_size_tsz_bhs
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_VV_BHS_HSD
, 0, 0),
5622 SVE2_INSN ("sqxtunt", 0x45205400, 0xffa7fc00, sve_size_tsz_bhs
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_VV_BHS_HSD
, 0, 0),
5623 SVE2_INSNC ("srhadd", 0x44148000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5624 SVE2_INSN ("sri", 0x4500f000, 0xff20fc00, sve_shift_tsz_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED
), OP_SVE_VVU_BHSD
, 0, 0),
5625 SVE2_INSNC ("srshl", 0x44028000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5626 SVE2_INSNC ("srshlr", 0x44068000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5627 SVE2_INSNC ("srshr", 0x040c8000, 0xff3fe000, sve_shift_pred
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_SHRIMM_PRED
), OP_SVE_VMVU_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5628 SVE2_INSNC ("srsra", 0x4500e800, 0xff20fc00, sve_shift_tsz_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5629 SVE2_INSN ("sshllb", 0x4500a000, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHLIMM_UNPRED_22
), OP_SVE_VVU_HSD_BHS
, 0, 0),
5630 SVE2_INSN ("sshllt", 0x4500a400, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHLIMM_UNPRED_22
), OP_SVE_VVU_HSD_BHS
, 0, 0),
5631 SVE2_INSNC ("ssra", 0x4500e000, 0xff20fc00, sve_shift_tsz_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5632 SVE2_INSN ("ssublb", 0x45001000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5633 SVE2_INSN ("ssublbt", 0x45008800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5634 SVE2_INSN ("ssublt", 0x45001400, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5635 SVE2_INSN ("ssubltb", 0x45008c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5636 SVE2_INSN ("ssubwb", 0x45005000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS2
, 0, 0),
5637 SVE2_INSN ("ssubwt", 0x45005400, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS2
, 0, 0),
5638 SVE2_INSN ("stnt1b", 0xe4402000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_SUS
, F_OD(1), 0),
5639 SVE2_INSN ("stnt1b", 0xe4002000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_DUD
, F_OD(1), 0),
5640 SVE2_INSN ("stnt1d", 0xe5802000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_DUD
, F_OD(1), 0),
5641 SVE2_INSN ("stnt1h", 0xe4c02000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_SUS
, F_OD(1), 0),
5642 SVE2_INSN ("stnt1h", 0xe4802000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_DUD
, F_OD(1), 0),
5643 SVE2_INSN ("stnt1w", 0xe5402000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_SUS
, F_OD(1), 0),
5644 SVE2_INSN ("stnt1w", 0xe5002000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_DUD
, F_OD(1), 0),
5645 SVE2_INSN ("subhnb", 0x45207000, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHS_HSD
, 0, 0),
5646 SVE2_INSN ("subhnt", 0x45207400, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHS_HSD
, 0, 0),
5647 SVE2_INSNC ("suqadd", 0x441c8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5648 SVE2_INSN ("tbl", 0x05202800, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_ZnxN
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, F_OD(2), 0),
5649 SVE2_INSN ("tbx", 0x05202c00, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5650 SVE2_INSNC ("uaba", 0x4500fc00, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5651 SVE2_INSNC ("uabalb", 0x4500c800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5652 SVE2_INSNC ("uabalt", 0x4500cc00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5653 SVE2_INSN ("uabdlb", 0x45003800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5654 SVE2_INSN ("uabdlt", 0x45003c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5655 SVE2_INSNC ("uadalp", 0x4405a000, 0xff3fe000, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5656 SVE2_INSN ("uaddlb", 0x45000800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5657 SVE2_INSN ("uaddlt", 0x45000c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5658 SVE2_INSN ("uaddwb", 0x45004800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS2
, 0, 0),
5659 SVE2_INSN ("uaddwt", 0x45004c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS2
, 0, 0),
5660 SVE2_INSNC ("uhadd", 0x44118000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5661 SVE2_INSNC ("uhsub", 0x44138000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5662 SVE2_INSNC ("uhsubr", 0x44178000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5663 SVE2_INSNC ("umaxp", 0x4415a000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5664 SVE2_INSNC ("uminp", 0x4417a000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5665 SVE2_INSNC ("umlalb", 0x44a09000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5666 SVE2_INSNC ("umlalb", 0x44e09000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, C_SCAN_MOVPRFX
, 0),
5667 SVE2_INSNC ("umlalb", 0x44004800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5668 SVE2_INSNC ("umlalt", 0x44a09400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5669 SVE2_INSNC ("umlalt", 0x44e09400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, C_SCAN_MOVPRFX
, 0),
5670 SVE2_INSNC ("umlalt", 0x44004c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5671 SVE2_INSNC ("umlslb", 0x44a0b000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5672 SVE2_INSNC ("umlslb", 0x44e0b000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, C_SCAN_MOVPRFX
, 0),
5673 SVE2_INSNC ("umlslb", 0x44005800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5674 SVE2_INSNC ("umlslt", 0x44a0b400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5675 SVE2_INSNC ("umlslt", 0x44e0b400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, C_SCAN_MOVPRFX
, 0),
5676 SVE2_INSNC ("umlslt", 0x44005c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, C_SCAN_MOVPRFX
, 0),
5677 SVE2_INSN ("umulh", 0x04206c00, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5678 SVE2_INSN ("umullb", 0x44a0d000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, 0),
5679 SVE2_INSN ("umullb", 0x44e0d000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, 0),
5680 SVE2_INSN ("umullb", 0x45007800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5681 SVE2_INSN ("umullt", 0x44a0d400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, 0),
5682 SVE2_INSN ("umullt", 0x44e0d400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm4_11_INDEX
), OP_SVE_DSS
, 0, 0),
5683 SVE2_INSN ("umullt", 0x45007c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5684 SVE2_INSNC ("uqadd", 0x44198000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5685 SVE2_INSNC ("uqrshl", 0x440b8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5686 SVE2_INSNC ("uqrshlr", 0x440f8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5687 SVE2_INSN ("uqrshrnb", 0x45203800, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5688 SVE2_INSN ("uqrshrnt", 0x45203c00, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5689 SVE2_INSNC ("uqshl", 0x04078000, 0xff3fe000, sve_shift_pred
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_SHLIMM_PRED
), OP_SVE_VMVU_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5690 SVE2_INSNC ("uqshl", 0x44098000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5691 SVE2_INSNC ("uqshlr", 0x440d8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5692 SVE2_INSN ("uqshrnb", 0x45203000, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5693 SVE2_INSN ("uqshrnt", 0x45203400, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED_22
), OP_SVE_VVU_BHS_HSD
, 0, 0),
5694 SVE2_INSNC ("uqsub", 0x441b8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5695 SVE2_INSNC ("uqsubr", 0x441f8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5696 SVE2_INSN ("uqxtnb", 0x45204800, 0xffa7fc00, sve_size_tsz_bhs
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_VV_BHS_HSD
, 0, 0),
5697 SVE2_INSN ("uqxtnt", 0x45204c00, 0xffa7fc00, sve_size_tsz_bhs
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_VV_BHS_HSD
, 0, 0),
5698 SVE2_INSNC ("urecpe", 0x4480a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMS
, 0, C_SCAN_MOVPRFX
, 0),
5699 SVE2_INSNC ("urhadd", 0x44158000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5700 SVE2_INSNC ("urshl", 0x44038000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5701 SVE2_INSNC ("urshlr", 0x44078000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5702 SVE2_INSNC ("urshr", 0x040d8000, 0xff3fe000, sve_shift_pred
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_SHRIMM_PRED
), OP_SVE_VMVU_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5703 SVE2_INSNC ("ursqrte", 0x4481a000, 0xffffe000, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_SMS
, 0, C_SCAN_MOVPRFX
, 0),
5704 SVE2_INSNC ("ursra", 0x4500ec00, 0xff20fc00, sve_shift_tsz_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5705 SVE2_INSN ("ushllb", 0x4500a800, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHLIMM_UNPRED_22
), OP_SVE_VVU_HSD_BHS
, 0, 0),
5706 SVE2_INSN ("ushllt", 0x4500ac00, 0xffa0fc00, sve_shift_tsz_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHLIMM_UNPRED_22
), OP_SVE_VVU_HSD_BHS
, 0, 0),
5707 SVE2_INSNC ("usqadd", 0x441d8000, 0xff3fe000, sve_size_bhsd
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zn
), OP_SVE_VMVV_BHSD
, 0, C_SCAN_MOVPRFX
, 2),
5708 SVE2_INSNC ("usra", 0x4500e400, 0xff20fc00, sve_shift_tsz_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED
), OP_SVE_VVU_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5709 SVE2_INSN ("usublb", 0x45001800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5710 SVE2_INSN ("usublt", 0x45001c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS
, 0, 0),
5711 SVE2_INSN ("usubwb", 0x45005800, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS2
, 0, 0),
5712 SVE2_INSN ("usubwt", 0x45005c00, 0xff20fc00, sve_size_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD_BHS2
, 0, 0),
5713 SVE2_INSN ("whilege", 0x25200000, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VWW_BHSD
, 0, 0),
5714 SVE2_INSN ("whilege", 0x25201000, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5715 SVE2_INSN ("whilegt", 0x25200010, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VWW_BHSD
, 0, 0),
5716 SVE2_INSN ("whilegt", 0x25201010, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5717 SVE2_INSN ("whilehi", 0x25200810, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VWW_BHSD
, 0, 0),
5718 SVE2_INSN ("whilehi", 0x25201810, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5719 SVE2_INSN ("whilehs", 0x25200800, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VWW_BHSD
, 0, 0),
5720 SVE2_INSN ("whilehs", 0x25201800, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5721 SVE2_INSN ("whilerw", 0x25203010, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5722 SVE2_INSN ("whilewr", 0x25203000, 0xff20fc10, sve_size_bhsd
, 0, OP3 (SVE_Pd
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5723 SVE2_INSNC ("xar", 0x04203400, 0xff20fc00, sve_shift_tsz_bhsd
, 0, OP4 (SVE_Zd
, SVE_Zd
, SVE_Zn
, SVE_SHRIMM_UNPRED
), OP_SVE_VVVU_BHSD
, 0, C_SCAN_MOVPRFX
, 1),
5724 /* SVE2_SM4 instructions. */
5725 SVE2SM4_INSN ("sm4e", 0x4523e000, 0xfffffc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_Zn
), OP_SVE_SSS
, 0, 1),
5726 SVE2SM4_INSN ("sm4ekey", 0x4520f000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SSS
, 0, 0),
5727 /* SVE2_AES instructions. */
5728 SVE2AES_INSN ("aesd", 0x4522e400, 0xfffffc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_Zn
), OP_SVE_BBB
, 0, 1),
5729 SVE2AES_INSN ("aese", 0x4522e000, 0xfffffc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zd
, SVE_Zn
), OP_SVE_BBB
, 0, 1),
5730 SVE2AES_INSN ("aesimc", 0x4520e400, 0xffffffe0, sve_misc
, 0, OP2 (SVE_Zd
, SVE_Zd
), OP_SVE_BB
, 0, 1),
5731 SVE2AES_INSN ("aesmc", 0x4520e000, 0xffffffe0, sve_misc
, 0, OP2 (SVE_Zd
, SVE_Zd
), OP_SVE_BB
, 0, 1),
5732 SVE2AES_INSN ("pmullb", 0x45006800, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_Q_D
, 0, 0),
5733 SVE2AES_INSN ("pmullt", 0x45006c00, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_Q_D
, 0, 0),
5734 /* SVE2_SHA3 instructions. */
5735 SVE2SHA3_INSN ("rax1", 0x4520f400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DDD
, 0, 0),
5736 /* SVE2_BITPERM instructions. */
5737 SVE2BITPERM_INSN ("bdep", 0x4500b400, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5738 SVE2BITPERM_INSN ("bext", 0x4500b000, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5739 SVE2BITPERM_INSN ("bgrp", 0x4500b800, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
5740 /* SME instructions. */
5741 SME_INSN ("addha", 0xc0900000, 0xffff001c, sme_misc
, 0, OP4 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
), OP_SVE_SMMS
, 0, 0),
5742 SME_I16I64_INSN ("addha", 0xc0d00000, 0xffff0018, sme_misc
, 0, OP4 (SME_ZAda_3b
, SVE_Pg3
, SME_Pm
, SVE_Zn
), OP_SVE_DMMD
, 0, 0),
5743 SME_INSN ("addspl", 0x04605800, 0xffe0f800, sme_misc
, 0, OP3 (Rd_SP
, SVE_Rn_SP
, SVE_SIMM6
), OP_SVE_XXU
, 0, 0),
5744 SME_INSN ("addsvl", 0x04205800, 0xffe0f800, sme_misc
, 0, OP3 (Rd_SP
, SVE_Rn_SP
, SVE_SIMM6
), OP_SVE_XXU
, 0, 0),
5745 SME_INSN ("addva", 0xc0910000, 0xffff001c, sme_misc
, 0, OP4 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
), OP_SVE_SMMS
, 0, 0),
5746 SME_I16I64_INSN ("addva", 0xc0d10000, 0xffff0018, sme_misc
, 0, OP4 (SME_ZAda_3b
, SVE_Pg3
, SME_Pm
, SVE_Zn
), OP_SVE_DMMD
, 0, 0),
5747 SME_INSN ("bfmopa", 0x81800000, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMHH
, 0, 0),
5748 SME_INSN ("bfmops", 0x81800010, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMHH
, 0, 0),
5749 SME_INSN ("fmopa", 0x80800000, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMSS
, 0, 0),
5750 SME_F64F64_INSN ("fmopa", 0x80c00000, 0xffe00018, sme_misc
, 0, OP5 (SME_ZAda_3b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DMMDD
, 0, 0),
5751 SME_INSN ("fmopa", 0x81a00000, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMHH
, 0, 0),
5752 SME_INSN ("fmops", 0x80800010, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMSS
, 0, 0),
5753 SME_F64F64_INSN ("fmops", 0x80c00010, 0xffe00018, sme_misc
, 0, OP5 (SME_ZAda_3b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DMMDD
, 0, 0),
5754 SME_INSN ("fmops", 0x81a00010, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMHH
, 0, 0),
5755 SME_INSN ("rdsvl", 0x04bf5800, 0xfffff800, sme_misc
, 0, OP2 (Rd
, SVE_SIMM6
), OP_SVE_XU
, 0, 0),
5756 SME_INSN ("smopa", 0xa0800000, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMBB
, 0, 0),
5757 SME_I16I64_INSN ("smopa", 0xa0c00000, 0xffe00018, sme_misc
, 0, OP5 (SME_ZAda_3b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DMMHH
, 0, 0),
5758 SME_INSN ("smops", 0xa0800010, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMBB
, 0, 0),
5759 SME_I16I64_INSN ("smops", 0xa0c00010, 0xffe00018, sme_misc
, 0, OP5 (SME_ZAda_3b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DMMHH
, 0, 0),
5760 SME_INSN ("sumopa", 0xa0a00000, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMBB
, 0, 0),
5761 SME_I16I64_INSN ("sumopa", 0xa0e00000, 0xffe00018, sme_misc
, 0, OP5 (SME_ZAda_3b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DMMHH
, 0, 0),
5762 SME_INSN ("sumops", 0xa0a00010 ,0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMBB
, 0, 0),
5763 SME_I16I64_INSN ("sumops", 0xa0e00010 ,0xffe00018, sme_misc
, 0, OP5 (SME_ZAda_3b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DMMHH
, 0, 0),
5764 SME_INSN ("umopa", 0xa1a00000, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMBB
, 0, 0),
5765 SME_I16I64_INSN ("umopa", 0xa1e00000, 0xffe00018, sme_misc
, 0, OP5 (SME_ZAda_3b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DMMHH
, 0, 0),
5766 SME_INSN ("umops", 0xa1a00010 ,0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMBB
, 0, 0),
5767 SME_I16I64_INSN ("umops", 0xa1e00010 ,0xffe00018, sme_misc
, 0, OP5 (SME_ZAda_3b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DMMHH
, 0, 0),
5768 SME_INSN ("usmopa", 0xa1800000, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMBB
, 0, 0),
5769 SME_I16I64_INSN ("usmopa", 0xa1c00000, 0xffe00018, sme_misc
, 0, OP5 (SME_ZAda_3b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DMMHH
, 0, 0),
5770 SME_INSN ("usmops", 0xa1800010, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMBB
, 0, 0),
5771 SME_I16I64_INSN ("usmops", 0xa1c00010, 0xffe00018, sme_misc
, 0, OP5 (SME_ZAda_3b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_DMMHH
, 0, 0),
5773 SME_INSN ("mov", 0xc0020000, 0xff3e0200, sme_mov
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SME_ZA_HV_idx_src
), OP_SVE_VMV_BHSDQ
, 0, 0),
5774 SME_INSN ("mov", 0xc0000000, 0xff3e0010, sme_mov
, 0, OP3 (SME_ZA_HV_idx_dest
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_BHSDQ
, 0, 0),
5775 SME_INSN ("mova", 0xc0020000, 0xff3e0200, sme_mov
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SME_ZA_HV_idx_src
), OP_SVE_VMV_BHSDQ
, 0, 0),
5776 SME_INSN ("mova", 0xc0000000, 0xff3e0010, sme_mov
, 0, OP3 (SME_ZA_HV_idx_dest
, SVE_Pg3
, SVE_Zn
), OP_SVE_VMV_BHSDQ
, 0, 0),
5778 SME_INSN ("zero", 0xc0080000, 0xffffff00, sme_misc
, 0, OP1 (SME_list_of_64bit_tiles
), {}, 0, 0),
5780 SME_INSN ("ld1b", 0xe0000000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_RR
), OP_SVE_BZU
, 0, 0),
5781 SME_INSN ("ld1h", 0xe0400000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HZU
, 0, 0),
5782 SME_INSN ("ld1w", 0xe0800000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SZU
, 0, 0),
5783 SME_INSN ("ld1d", 0xe0c00000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DZU
, 0, 0),
5784 SME_INSN ("ld1q", 0xe1c00000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_RR_LSL4
), OP_SVE_QZU
, 0, 0),
5786 SME_INSN ("ld1b", 0xe0000000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_BZU
, 0, 0),
5787 SME_INSN ("ld1h", 0xe0400000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_HZU
, 0, 0),
5788 SME_INSN ("ld1w", 0xe0800000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_SZU
, 0, 0),
5789 SME_INSN ("ld1d", 0xe0c00000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_DZU
, 0, 0),
5790 SME_INSN ("ld1q", 0xe1c00000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_QZU
, 0, 0),
5792 SME_INSN ("st1b", 0xe0200000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_RR
), OP_SVE_BUU
, 0, 0),
5793 SME_INSN ("st1h", 0xe0600000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HUU
, 0, 0),
5794 SME_INSN ("st1w", 0xe0a00000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SUU
, 0, 0),
5795 SME_INSN ("st1d", 0xe0e00000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DUU
, 0, 0),
5796 SME_INSN ("st1q", 0xe1e00000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_RR_LSL4
), OP_SVE_QUU
, 0, 0),
5798 SME_INSN ("st1b", 0xe0200000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_BUU
, 0, 0),
5799 SME_INSN ("st1h", 0xe0600000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_HUU
, 0, 0),
5800 SME_INSN ("st1w", 0xe0a00000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_SUU
, 0, 0),
5801 SME_INSN ("st1d", 0xe0e00000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_DUU
, 0, 0),
5802 SME_INSN ("st1q", 0xe1e00000, 0xffe00010, sve_misc
, 0, OP3 (SME_ZA_HV_idx_ldstr
, SVE_Pg3
, SVE_ADDR_R
), OP_SVE_QUU
, 0, 0),
5804 SME_INSN ("ldr", 0xe1000000, 0xffff9c10, sme_ldr
, 0, OP2 (SME_ZA_array_off4
, SME_ADDR_RI_U4xVL
), {}, 0, 1),
5805 SME_INSN ("str", 0xe1200000, 0xffff9c10, sme_str
, 0, OP2 (SME_ZA_array_off4
, SME_ADDR_RI_U4xVL
), {}, 0, 1),
5807 SME_INSNC ("revd", 0x52e8000, 0xffffe000, sme_misc
, 0, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_QMQ
, 0, C_SCAN_MOVPRFX
, 0),
5808 SME_INSNC ("sclamp", 0x4400c000, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5809 SME_INSNC ("uclamp", 0x4400c400, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, C_SCAN_MOVPRFX
, 0),
5810 SME_INSN ("psel", 0x25204000, 0xff20c210, sme_psel
, 0, OP3 (SVE_Pd
, SVE_Pg4_10
, SME_PnT_Wm_imm
), OP_SVE_NN_BHSD
, 0, 0),
5811 SME_INSN ("psel", 0x25204000, 0xff20c210, sme_psel
, 0, OP3 (SVE_PNd
, SVE_PNg4_10
, SME_PnT_Wm_imm
), OP_SVE_NN_BHSD
, 0, 0),
5813 /* Added in SME2, but part of the prefetch hint space and available
5814 without special command-line flags. */
5815 CORE_INSN ("rprfm", 0xf8a04818, 0xffe04c18, sme_misc
, 0, OP3 (RPRFMOP
, Rm
, SIMD_ADDR_SIMPLE
), OP_SVE_UXU
, 0),
5817 /* SME2 extensions to SVE2. */
5818 SME2_INSNC ("bfmlslb", 0x64e06000, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5819 SME2_INSNC ("bfmlslb", 0x64e0a000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5820 SME2_INSNC ("bfmlslt", 0x64e06400, 0xffe0f400, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5821 SME2_INSNC ("bfmlslt", 0x64e0a400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5822 SME2_INSNC ("fdot", 0x64204000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_19_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5823 SME2_INSNC ("fdot", 0x64208000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5824 SME2_INSNC ("fclamp", 0x64202400, 0xff20fc00, sme_size_22_hsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD
, 0, C_SCAN_MOVPRFX
, 0),
5825 SME2_INSNC ("sdot", 0x4480c800, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_19_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5826 SME2_INSNC ("sdot", 0x4400c800, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5827 SME2_INSN ("sqcvtn", 0x45314000, 0xfffffc20, sve_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_HS
, 0, 0),
5828 SME2_INSN ("sqcvtun", 0x45315000, 0xfffffc20, sve_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_HS
, 0, 0),
5829 SME2_INSN ("sqrshrn", 0x45b02800, 0xfff0fc20, sme_misc
, 0, OP3 (SVE_Zd
, SME_Znx2
, SME_SHRIMM4
), OP_SVE_HSU
, 0, 0),
5830 SME2_INSN ("sqrshrun", 0x45b00800, 0xfff0fc20, sme_misc
, 0, OP3 (SVE_Zd
, SME_Znx2
, SME_SHRIMM4
), OP_SVE_HSU
, 0, 0),
5831 SME2_INSNC ("udot", 0x4480cc00, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_19_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5832 SME2_INSNC ("udot", 0x4400cc00, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
5833 SME2_INSN ("uqcvtn", 0x45314800, 0xfffffc20, sve_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_HS
, 0, 0),
5834 SME2_INSN ("uqrshrn", 0x45b03800, 0xfff0fc20, sme_misc
, 0, OP3 (SVE_Zd
, SME_Znx2
, SME_SHRIMM4
), OP_SVE_HSU
, 0, 0),
5835 SME2_INSN ("whilege", 0x25205010, 0xff20fc11, sme_size_22
, 0, OP3 (SME_Pdx2
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5836 SME2_INSN ("whilegt", 0x25205011, 0xff20fc11, sme_size_22
, 0, OP3 (SME_Pdx2
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5837 SME2_INSN ("whilehi", 0x25205811, 0xff20fc11, sme_size_22
, 0, OP3 (SME_Pdx2
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5838 SME2_INSN ("whilehs", 0x25205810, 0xff20fc11, sme_size_22
, 0, OP3 (SME_Pdx2
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5839 SME2_INSN ("whilele", 0x25205411, 0xff20fc11, sme_size_22
, 0, OP3 (SME_Pdx2
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5840 SME2_INSN ("whilelo", 0x25205c10, 0xff20fc11, sme_size_22
, 0, OP3 (SME_Pdx2
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5841 SME2_INSN ("whilels", 0x25205c11, 0xff20fc11, sme_size_22
, 0, OP3 (SME_Pdx2
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5842 SME2_INSN ("whilelt", 0x25205410, 0xff20fc11, sme_size_22
, 0, OP3 (SME_Pdx2
, Rn
, Rm
), OP_SVE_VXX_BHSD
, 0, 0),
5844 /* SME2 extensions to SME. */
5845 SME2_INSN ("add", 0xc1a01c10, 0xffbf9c38, sme_int_sd
, 0, OP2 (SME_ZA_array_off3_0
, SME_Znx2
), OP_SVE_VVV_SD
, F_OD (2), 0),
5846 SME2_INSN ("add", 0xc1a11c10, 0xffbf9c78, sme_int_sd
, 0, OP2 (SME_ZA_array_off3_0
, SME_Znx4
), OP_SVE_VVV_SD
, F_OD (4), 0),
5847 SME2_INSN ("add", 0xc1201810, 0xffb09c18, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD
, F_OD (2), 0),
5848 SME2_INSN ("add", 0xc1301810, 0xffb09c18, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD
, F_OD (4), 0),
5849 SME2_INSN ("add", 0xc1a01810, 0xffa19c38, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zmx2
), OP_SVE_VVV_SD
, F_OD (2), 0),
5850 SME2_INSN ("add", 0xc1a11810, 0xffa39c78, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zmx4
), OP_SVE_VVV_SD
, F_OD (4), 0),
5851 SME2_INSN ("add", 0xc120a300, 0xff30ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
5852 SME2_INSN ("add", 0xc120ab00, 0xff30ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
5853 SME2_INSN ("bfcvt", 0xc160e000, 0xfffffc20, sme_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_HS
, 0, 0),
5854 SME2_INSN ("bfcvtn", 0xc160e020, 0xfffffc20, sme_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_HS
, 0, 0),
5855 SME2_INSN ("bfdot", 0xc1501018, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_SHH
, F_OD (2), 0),
5856 SME2_INSN ("bfdot", 0xc1509018, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_SHH
, F_OD (4), 0),
5857 SME2_INSN ("bfdot", 0xc1201010, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (2), 0),
5858 SME2_INSN ("bfdot", 0xc1301010, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (4), 0),
5859 SME2_INSN ("bfdot", 0xc1a01010, 0xffe19c38, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zmx2
), OP_SVE_SHH
, F_OD (2), 0),
5860 SME2_INSN ("bfdot", 0xc1a11010, 0xffe39c78, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zmx4
), OP_SVE_SHH
, F_OD (4), 0),
5861 SME2_INSN ("bfmlal", 0xc1801010, 0xfff01018, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm_INDEX3_10
), OP_SVE_SHH
, 0, 0),
5862 SME2_INSN ("bfmlal", 0xc1901010, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (2), 0),
5863 SME2_INSN ("bfmlal", 0xc1909010, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (4), 0),
5864 SME2_INSN ("bfmlal", 0xc1200c10, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm
), OP_SVE_SHH
, 0, 0),
5865 SME2_INSN ("bfmlal", 0xc1200810, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (2), 0),
5866 SME2_INSN ("bfmlal", 0xc1300810, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (4), 0),
5867 SME2_INSN ("bfmlal", 0xc1a00810, 0xffe19c3c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zmx2
), OP_SVE_SHH
, F_OD (2), 0),
5868 SME2_INSN ("bfmlal", 0xc1a10810, 0xffe39c7c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zmx4
), OP_SVE_SHH
, F_OD (4), 0),
5869 SME2_INSN ("bfmlsl", 0xc1801018, 0xfff01018, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm_INDEX3_10
), OP_SVE_SHH
, 0, 0),
5870 SME2_INSN ("bfmlsl", 0xc1901018, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (2), 0),
5871 SME2_INSN ("bfmlsl", 0xc1909018, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (4), 0),
5872 SME2_INSN ("bfmlsl", 0xc1200c18, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm
), OP_SVE_SHH
, 0, 0),
5873 SME2_INSN ("bfmlsl", 0xc1200818, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (2), 0),
5874 SME2_INSN ("bfmlsl", 0xc1300818, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (4), 0),
5875 SME2_INSN ("bfmlsl", 0xc1a00818, 0xffe19c3c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zmx2
), OP_SVE_SHH
, F_OD (2), 0),
5876 SME2_INSN ("bfmlsl", 0xc1a10818, 0xffe39c7c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zmx4
), OP_SVE_SHH
, F_OD (4), 0),
5877 SME2_INSN ("bfvdot", 0xc1500018, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_SHH
, F_OD (2), 0),
5878 SME2_INSN ("bmopa", 0x80800008, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMSS
, 0, 0),
5879 SME2_INSN ("bmops", 0x80800018, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMSS
, 0, 0),
5880 SME2_INSN ("cntp", 0x25208200, 0xff3ffa00, sme_size_22
, 0, OP3 (Rd
, SME_PNn
, SME_VLxN_10
), OP_SVE_XV_BHSD
, 0, 0),
5881 SME2_INSN ("fadd", 0xc1a01c00, 0xffbf9c38, sme_fp_sd
, 0, OP2 (SME_ZA_array_off3_0
, SME_Znx2
), OP_SVE_VVV_SD
, F_OD (2), 0),
5882 SME2_INSN ("fadd", 0xc1a11c00, 0xffbf9c78, sme_fp_sd
, 0, OP2 (SME_ZA_array_off3_0
, SME_Znx4
), OP_SVE_VVV_SD
, F_OD (4), 0),
5883 SME2_INSN ("fclamp", 0xc120c000, 0xff20fc01, sme_size_22_hsd
, 0, OP3 (SME_Zdnx2
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD
, 0, 0),
5884 SME2_INSN ("fclamp", 0xc120c800, 0xff20fc03, sme_size_22_hsd
, 0, OP3 (SME_Zdnx4
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_HSD
, 0, 0),
5885 SME2_INSN ("fcvt", 0xc120e000, 0xfffffc20, sve_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_HS
, 0, 0),
5886 SME2_INSN ("fcvtn", 0xc120e020, 0xfffffc20, sve_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_HS
, 0, 0),
5887 SME2_INSN ("fcvtzs", 0xc121e000, 0xfffffc21, sve_misc
, 0, OP2 (SME_Zdnx2
, SME_Znx2
), OP_SVE_SS
, 0, 0),
5888 SME2_INSN ("fcvtzs", 0xc131e000, 0xfffffc63, sve_misc
, 0, OP2 (SME_Zdnx4
, SME_Znx4
), OP_SVE_SS
, 0, 0),
5889 SME2_INSN ("fcvtzu", 0xc121e020, 0xfffffc21, sve_misc
, 0, OP2 (SME_Zdnx2
, SME_Znx2
), OP_SVE_SS
, 0, 0),
5890 SME2_INSN ("fcvtzu", 0xc131e020, 0xfffffc63, sve_misc
, 0, OP2 (SME_Zdnx4
, SME_Znx4
), OP_SVE_SS
, 0, 0),
5891 SME2_INSN ("fdot", 0xc1501008, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_SHH
, F_OD (2), 0),
5892 SME2_INSN ("fdot", 0xc1509008, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_SHH
, F_OD (4), 0),
5893 SME2_INSN ("fdot", 0xc1201000, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (2), 0),
5894 SME2_INSN ("fdot", 0xc1301000, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (4), 0),
5895 SME2_INSN ("fdot", 0xc1a01000, 0xffe19c38, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zmx2
), OP_SVE_SHH
, F_OD (2), 0),
5896 SME2_INSN ("fdot", 0xc1a11000, 0xffe39c78, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zmx4
), OP_SVE_SHH
, F_OD (4), 0),
5897 SME2_INSN ("fmax", 0xc120a100, 0xff30ffe1, sme_size_22_hsd
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zm
), OP_SVE_VVV_HSD
, 0, 1),
5898 SME2_INSN ("fmax", 0xc120a900, 0xff30ffe3, sme_size_22_hsd
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zm
), OP_SVE_VVV_HSD
, 0, 1),
5899 SME2_INSN ("fmax", 0xc120b100, 0xff21ffe1, sme_size_22_hsd
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zmx2
), OP_SVE_VVV_HSD
, 0, 1),
5900 SME2_INSN ("fmax", 0xc120b900, 0xff23ffe3, sme_size_22_hsd
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zmx4
), OP_SVE_VVV_HSD
, 0, 1),
5901 SME2_INSN ("fmaxnm", 0xc120a120, 0xff30ffe1, sme_size_22_hsd
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zm
), OP_SVE_VVV_HSD
, 0, 1),
5902 SME2_INSN ("fmaxnm", 0xc120a920, 0xff30ffe3, sme_size_22_hsd
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zm
), OP_SVE_VVV_HSD
, 0, 1),
5903 SME2_INSN ("fmaxnm", 0xc120b120, 0xff21ffe1, sme_size_22_hsd
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zmx2
), OP_SVE_VVV_HSD
, 0, 1),
5904 SME2_INSN ("fmaxnm", 0xc120b920, 0xff23ffe3, sme_size_22_hsd
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zmx4
), OP_SVE_VVV_HSD
, 0, 1),
5905 SME2_INSN ("fmin", 0xc120a101, 0xff30ffe1, sme_size_22_hsd
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zm
), OP_SVE_VVV_HSD
, 0, 1),
5906 SME2_INSN ("fmin", 0xc120a901, 0xff30ffe3, sme_size_22_hsd
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zm
), OP_SVE_VVV_HSD
, 0, 1),
5907 SME2_INSN ("fmin", 0xc120b101, 0xff21ffe1, sme_size_22_hsd
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zmx2
), OP_SVE_VVV_HSD
, 0, 1),
5908 SME2_INSN ("fmin", 0xc120b901, 0xff23ffe3, sme_size_22_hsd
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zmx4
), OP_SVE_VVV_HSD
, 0, 1),
5909 SME2_INSN ("fminnm", 0xc120a121, 0xff30ffe1, sme_size_22_hsd
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zm
), OP_SVE_VVV_HSD
, 0, 1),
5910 SME2_INSN ("fminnm", 0xc120a921, 0xff30ffe3, sme_size_22_hsd
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zm
), OP_SVE_VVV_HSD
, 0, 1),
5911 SME2_INSN ("fminnm", 0xc120b121, 0xff21ffe1, sme_size_22_hsd
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zmx2
), OP_SVE_VVV_HSD
, 0, 1),
5912 SME2_INSN ("fminnm", 0xc120b921, 0xff23ffe3, sme_size_22_hsd
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zmx4
), OP_SVE_VVV_HSD
, 0, 1),
5913 SME2_INSN ("fmla", 0xc1500000, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_SSS
, F_OD (2), 0),
5914 SME2_INSN ("fmla", 0xc1508000, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_SSS
, F_OD (4), 0),
5915 SME2_INSN ("fmla", 0xc1201800, 0xffb09c18, sme_fp_sd
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD
, F_OD (2), 0),
5916 SME2_INSN ("fmla", 0xc1301800, 0xffb09c18, sme_fp_sd
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD
, F_OD (4), 0),
5917 SME2_INSN ("fmla", 0xc1a01800, 0xffa19c38, sme_fp_sd
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zmx2
), OP_SVE_VVV_SD
, F_OD (2), 0),
5918 SME2_INSN ("fmla", 0xc1a11800, 0xffa39c78, sme_fp_sd
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zmx4
), OP_SVE_VVV_SD
, F_OD (4), 0),
5919 SME2_INSN ("fmlal", 0xc1801000, 0xfff01018, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm_INDEX3_10
), OP_SVE_SHH
, 0, 0),
5920 SME2_INSN ("fmlal", 0xc1901000, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (2), 0),
5921 SME2_INSN ("fmlal", 0xc1909000, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (4), 0),
5922 SME2_INSN ("fmlal", 0xc1200c00, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm
), OP_SVE_SHH
, 0, 0),
5923 SME2_INSN ("fmlal", 0xc1200800, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (2), 0),
5924 SME2_INSN ("fmlal", 0xc1300800, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (4), 0),
5925 SME2_INSN ("fmlal", 0xc1a00800, 0xffe19c3c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zmx2
), OP_SVE_SHH
, F_OD (2), 0),
5926 SME2_INSN ("fmlal", 0xc1a10800, 0xffe39c7c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zmx4
), OP_SVE_SHH
, F_OD (4), 0),
5927 SME2_INSN ("fmls", 0xc1500010, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_SSS
, F_OD (2), 0),
5928 SME2_INSN ("fmls", 0xc1508010, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_SSS
, F_OD (4), 0),
5929 SME2_INSN ("fmls", 0xc1201808, 0xffb09c18, sme_fp_sd
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD
, F_OD (2), 0),
5930 SME2_INSN ("fmls", 0xc1301808, 0xffb09c18, sme_fp_sd
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD
, F_OD (4), 0),
5931 SME2_INSN ("fmls", 0xc1a01808, 0xffa19c38, sme_fp_sd
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zmx2
), OP_SVE_VVV_SD
, F_OD (2), 0),
5932 SME2_INSN ("fmls", 0xc1a11808, 0xffa39c78, sme_fp_sd
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zmx4
), OP_SVE_VVV_SD
, F_OD (4), 0),
5933 SME2_INSN ("fmlsl", 0xc1801008, 0xfff01018, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm_INDEX3_10
), OP_SVE_SHH
, 0, 0),
5934 SME2_INSN ("fmlsl", 0xc1901008, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (2), 0),
5935 SME2_INSN ("fmlsl", 0xc1909008, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (4), 0),
5936 SME2_INSN ("fmlsl", 0xc1200c08, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm
), OP_SVE_SHH
, 0, 0),
5937 SME2_INSN ("fmlsl", 0xc1200808, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (2), 0),
5938 SME2_INSN ("fmlsl", 0xc1300808, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (4), 0),
5939 SME2_INSN ("fmlsl", 0xc1a00808, 0xffe19c3c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zmx2
), OP_SVE_SHH
, F_OD (2), 0),
5940 SME2_INSN ("fmlsl", 0xc1a10808, 0xffe39c7c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zmx4
), OP_SVE_SHH
, F_OD (4), 0),
5941 SME2_INSN ("frinta", 0xc1ace000, 0xfffffc21, sve_misc
, 0, OP2 (SME_Zdnx2
, SME_Znx2
), OP_SVE_SS
, 0, 0),
5942 SME2_INSN ("frinta", 0xc1bce000, 0xfffffc63, sve_misc
, 0, OP2 (SME_Zdnx4
, SME_Znx4
), OP_SVE_SS
, 0, 0),
5943 SME2_INSN ("frintm", 0xc1aae000, 0xfffffc21, sve_misc
, 0, OP2 (SME_Zdnx2
, SME_Znx2
), OP_SVE_SS
, 0, 0),
5944 SME2_INSN ("frintm", 0xc1bae000, 0xfffffc63, sve_misc
, 0, OP2 (SME_Zdnx4
, SME_Znx4
), OP_SVE_SS
, 0, 0),
5945 SME2_INSN ("frintn", 0xc1a8e000, 0xfffffc21, sve_misc
, 0, OP2 (SME_Zdnx2
, SME_Znx2
), OP_SVE_SS
, 0, 0),
5946 SME2_INSN ("frintn", 0xc1b8e000, 0xfffffc63, sve_misc
, 0, OP2 (SME_Zdnx4
, SME_Znx4
), OP_SVE_SS
, 0, 0),
5947 SME2_INSN ("frintp", 0xc1a9e000, 0xfffffc21, sve_misc
, 0, OP2 (SME_Zdnx2
, SME_Znx2
), OP_SVE_SS
, 0, 0),
5948 SME2_INSN ("frintp", 0xc1b9e000, 0xfffffc63, sve_misc
, 0, OP2 (SME_Zdnx4
, SME_Znx4
), OP_SVE_SS
, 0, 0),
5949 SME2_INSN ("fsub", 0xc1a01c08, 0xffbf9c38, sme_fp_sd
, 0, OP2 (SME_ZA_array_off3_0
, SME_Znx2
), OP_SVE_VVV_SD
, F_OD (2), 0),
5950 SME2_INSN ("fsub", 0xc1a11c08, 0xffbf9c78, sme_fp_sd
, 0, OP2 (SME_ZA_array_off3_0
, SME_Znx4
), OP_SVE_VVV_SD
, F_OD (4), 0),
5951 SME2_INSN ("fvdot", 0xc1500008, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_SHH
, F_OD (2), 0),
5952 SME2_INSN ("ld1b", 0xa0400000, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_BZU
, 0, 0),
5953 SME2_INSN ("ld1b", 0xa0408000, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_BZU
, 0, 0),
5954 SME2_INSN ("ld1b", 0xa1400000, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_BZU
, 0, 0),
5955 SME2_INSN ("ld1b", 0xa1408000, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_BZU
, 0, 0),
5956 SME2_INSN ("ld1b", 0xa0000000, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BZU
, 0, 0),
5957 SME2_INSN ("ld1b", 0xa0008000, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BZU
, 0, 0),
5958 SME2_INSN ("ld1b", 0xa1000000, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BZU
, 0, 0),
5959 SME2_INSN ("ld1b", 0xa1008000, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BZU
, 0, 0),
5960 SME2_INSN ("ld1d", 0xa0406000, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_DZU
, 0, 0),
5961 SME2_INSN ("ld1d", 0xa040e000, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_DZU
, 0, 0),
5962 SME2_INSN ("ld1d", 0xa1406000, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_DZU
, 0, 0),
5963 SME2_INSN ("ld1d", 0xa140e000, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_DZU
, 0, 0),
5964 SME2_INSN ("ld1d", 0xa0006000, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DZU
, 0, 0),
5965 SME2_INSN ("ld1d", 0xa000e000, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DZU
, 0, 0),
5966 SME2_INSN ("ld1d", 0xa1006000, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DZU
, 0, 0),
5967 SME2_INSN ("ld1d", 0xa100e000, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DZU
, 0, 0),
5968 SME2_INSN ("ld1h", 0xa0402000, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_HZU
, 0, 0),
5969 SME2_INSN ("ld1h", 0xa040a000, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_HZU
, 0, 0),
5970 SME2_INSN ("ld1h", 0xa1402000, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_HZU
, 0, 0),
5971 SME2_INSN ("ld1h", 0xa140a000, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_HZU
, 0, 0),
5972 SME2_INSN ("ld1h", 0xa0002000, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HZU
, 0, 0),
5973 SME2_INSN ("ld1h", 0xa000a000, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HZU
, 0, 0),
5974 SME2_INSN ("ld1h", 0xa1002000, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HZU
, 0, 0),
5975 SME2_INSN ("ld1h", 0xa100a000, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HZU
, 0, 0),
5976 SME2_INSN ("ld1w", 0xa0404000, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_SZU
, 0, 0),
5977 SME2_INSN ("ld1w", 0xa040c000, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_SZU
, 0, 0),
5978 SME2_INSN ("ld1w", 0xa1404000, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_SZU
, 0, 0),
5979 SME2_INSN ("ld1w", 0xa140c000, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_SZU
, 0, 0),
5980 SME2_INSN ("ld1w", 0xa0004000, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SZU
, 0, 0),
5981 SME2_INSN ("ld1w", 0xa000c000, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SZU
, 0, 0),
5982 SME2_INSN ("ld1w", 0xa1004000, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SZU
, 0, 0),
5983 SME2_INSN ("ld1w", 0xa100c000, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SZU
, 0, 0),
5984 SME2_INSN ("ldnt1b", 0xa0400001, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_BZU
, 0, 0),
5985 SME2_INSN ("ldnt1b", 0xa0408001, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_BZU
, 0, 0),
5986 SME2_INSN ("ldnt1b", 0xa1400008, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_BZU
, 0, 0),
5987 SME2_INSN ("ldnt1b", 0xa1408008, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_BZU
, 0, 0),
5988 SME2_INSN ("ldnt1b", 0xa0000001, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BZU
, 0, 0),
5989 SME2_INSN ("ldnt1b", 0xa0008001, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BZU
, 0, 0),
5990 SME2_INSN ("ldnt1b", 0xa1000008, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BZU
, 0, 0),
5991 SME2_INSN ("ldnt1b", 0xa1008008, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BZU
, 0, 0),
5992 SME2_INSN ("ldnt1d", 0xa0406001, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_DZU
, 0, 0),
5993 SME2_INSN ("ldnt1d", 0xa040e001, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_DZU
, 0, 0),
5994 SME2_INSN ("ldnt1d", 0xa1406008, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_DZU
, 0, 0),
5995 SME2_INSN ("ldnt1d", 0xa140e008, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_DZU
, 0, 0),
5996 SME2_INSN ("ldnt1d", 0xa0006001, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DZU
, 0, 0),
5997 SME2_INSN ("ldnt1d", 0xa000e001, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DZU
, 0, 0),
5998 SME2_INSN ("ldnt1d", 0xa1006008, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DZU
, 0, 0),
5999 SME2_INSN ("ldnt1d", 0xa100e008, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DZU
, 0, 0),
6000 SME2_INSN ("ldnt1h", 0xa0402001, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_HZU
, 0, 0),
6001 SME2_INSN ("ldnt1h", 0xa040a001, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_HZU
, 0, 0),
6002 SME2_INSN ("ldnt1h", 0xa1402008, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_HZU
, 0, 0),
6003 SME2_INSN ("ldnt1h", 0xa140a008, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_HZU
, 0, 0),
6004 SME2_INSN ("ldnt1h", 0xa0002001, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HZU
, 0, 0),
6005 SME2_INSN ("ldnt1h", 0xa000a001, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HZU
, 0, 0),
6006 SME2_INSN ("ldnt1h", 0xa1002008, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HZU
, 0, 0),
6007 SME2_INSN ("ldnt1h", 0xa100a008, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HZU
, 0, 0),
6008 SME2_INSN ("ldnt1w", 0xa0404001, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_SZU
, 0, 0),
6009 SME2_INSN ("ldnt1w", 0xa040c001, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_SZU
, 0, 0),
6010 SME2_INSN ("ldnt1w", 0xa1404008, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_SZU
, 0, 0),
6011 SME2_INSN ("ldnt1w", 0xa140c008, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_SZU
, 0, 0),
6012 SME2_INSN ("ldnt1w", 0xa0004001, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SZU
, 0, 0),
6013 SME2_INSN ("ldnt1w", 0xa000c001, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SZU
, 0, 0),
6014 SME2_INSN ("ldnt1w", 0xa1004008, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SZU
, 0, 0),
6015 SME2_INSN ("ldnt1w", 0xa100c008, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SZU
, 0, 0),
6016 SME2_INSN ("ldr", 0xe11f8000, 0xfffffc1f, sme_misc
, 0, OP2 (SME_ZT0
, SIMD_ADDR_SIMPLE
), {}, 0, 0),
6017 SME2_INSN ("luti2", 0xc0cc0000, 0xfffc0c00, sme_size_12_bhs
, 0, OP3 (SVE_Zd
, SME_ZT0
, SME_Zn_INDEX4_14
), OP_SVE_VUU_BHS
, 0, 0),
6018 SME2_INSN ("luti2", 0xc08c4000, 0xfffc4c01, sme_size_12_bhs
, 0, OP3 (SME_Zdnx2
, SME_ZT0
, SME_Zn_INDEX3_15
), OP_SVE_VUU_BHS
, 0, 0),
6019 SME2_INSN ("luti2", 0xc08c8000, 0xfffccc03, sme_size_12_bhs
, 0, OP3 (SME_Zdnx4
, SME_ZT0
, SME_Zn_INDEX2_16
), OP_SVE_VUU_BHS
, 0, 0),
6020 SME2_INSN ("luti4", 0xc0ca0000, 0xfffe0c00, sme_size_12_bhs
, 0, OP3 (SVE_Zd
, SME_ZT0
, SME_Zn_INDEX3_14
), OP_SVE_VUU_BHS
, 0, 0),
6021 SME2_INSN ("luti4", 0xc08a4000, 0xfffe4c01, sme_size_12_bhs
, 0, OP3 (SME_Zdnx2
, SME_ZT0
, SME_Zn_INDEX2_15
), OP_SVE_VUU_BHS
, 0, 0),
6022 SME2_INSN ("luti4", 0xc08a8000, 0xfffecc03, sme_size_12_hs
, 0, OP3 (SME_Zdnx4
, SME_ZT0
, SME_Zn_INDEX1_16
), OP_SVE_VUU_HS
, 0, 0),
6023 SME2_INSN ("mov", 0xc0060800, 0xffff9f01, sme2_mov
, 0, OP2 (SME_Zdnx2
, SME_ZA_array_off3_5
), OP_SVE_VV_BHSD
, F_OD (2), 0),
6024 SME2_INSN ("mov", 0xc0060c00, 0xffff9f03, sme2_mov
, 0, OP2 (SME_Zdnx4
, SME_ZA_array_off3_5
), OP_SVE_VV_BHSD
, F_OD (4), 0),
6025 SME2_INSN ("mov", 0xc0060000, 0xff3f1f01, sme_size_22
, 0, OP2 (SME_Zdnx2
, SME_ZA_HV_idx_srcxN
), OP_SVE_VV_BHSDQ
, F_OD (2), 0),
6026 SME2_INSN ("mov", 0xc0060400, 0xff3f1f03, sme_size_22
, 0, OP2 (SME_Zdnx4
, SME_ZA_HV_idx_srcxN
), OP_SVE_VV_BHSDQ
, F_OD (4), 0),
6027 SME2_INSN ("mov", 0xc0040800, 0xffff9c38, sme2_mov
, 0, OP2 (SME_ZA_array_off3_0
, SME_Znx2
), OP_SVE_VV_BHSD
, F_OD (2), 0),
6028 SME2_INSN ("mov", 0xc0040c00, 0xffff9c78, sme2_mov
, 0, OP2 (SME_ZA_array_off3_0
, SME_Znx4
), OP_SVE_VV_BHSD
, F_OD (4), 0),
6029 SME2_INSN ("mov", 0xc0040000, 0xff3f1c38, sme_size_22
, 0, OP2 (SME_ZA_HV_idx_destxN
, SME_Znx2
), OP_SVE_VV_BHSDQ
, F_OD (2), 0),
6030 SME2_INSN ("mov", 0xc0040400, 0xff3f1c78, sme_size_22
, 0, OP2 (SME_ZA_HV_idx_destxN
, SME_Znx4
), OP_SVE_VV_BHSDQ
, F_OD (4), 0),
6031 SME2_INSN ("mova", 0xc0060800, 0xffff9f01, sme2_mov
, 0, OP2 (SME_Zdnx2
, SME_ZA_array_off3_5
), OP_SVE_VV_BHSD
, F_OD (2), 0),
6032 SME2_INSN ("mova", 0xc0060c00, 0xffff9f03, sme2_mov
, 0, OP2 (SME_Zdnx4
, SME_ZA_array_off3_5
), OP_SVE_VV_BHSD
, F_OD (4), 0),
6033 SME2_INSN ("mova", 0xc0060000, 0xff3f1f01, sme_size_22
, 0, OP2 (SME_Zdnx2
, SME_ZA_HV_idx_srcxN
), OP_SVE_VV_BHSDQ
, F_OD (2), 0),
6034 SME2_INSN ("mova", 0xc0060400, 0xff3f1f03, sme_size_22
, 0, OP2 (SME_Zdnx4
, SME_ZA_HV_idx_srcxN
), OP_SVE_VV_BHSDQ
, F_OD (4), 0),
6035 SME2_INSN ("mova", 0xc0040800, 0xffff9c38, sme2_mov
, 0, OP2 (SME_ZA_array_off3_0
, SME_Znx2
), OP_SVE_VV_BHSD
, F_OD (2), 0),
6036 SME2_INSN ("mova", 0xc0040c00, 0xffff9c78, sme2_mov
, 0, OP2 (SME_ZA_array_off3_0
, SME_Znx4
), OP_SVE_VV_BHSD
, F_OD (4), 0),
6037 SME2_INSN ("mova", 0xc0040000, 0xff3f1c38, sme_size_22
, 0, OP2 (SME_ZA_HV_idx_destxN
, SME_Znx2
), OP_SVE_VV_BHSDQ
, F_OD (2), 0),
6038 SME2_INSN ("mova", 0xc0040400, 0xff3f1c78, sme_size_22
, 0, OP2 (SME_ZA_HV_idx_destxN
, SME_Znx4
), OP_SVE_VV_BHSDQ
, F_OD (4), 0),
6039 SME2_INSN ("movt", 0xc04e03e0, 0xffff8fe0, sme_misc
, 0, OP2 (SME_ZT0_INDEX
, Rt
), OP_SVE_UX
, 0, 0),
6040 SME2_INSN ("movt", 0xc04c03e0, 0xffff8fe0, sme_misc
, 0, OP2 (Rt
, SME_ZT0_INDEX
), OP_SVE_XU
, 0, 0),
6041 SME2_INSN ("pext", 0x25207010, 0xff3ffc10, sme_size_22
, 0, OP2 (SVE_Pd
, SME_PNn3_INDEX2
), OP_SVE_VU_BHSD
, 0, 0),
6042 SME2_INSN ("pext", 0x25207410, 0xff3ffe10, sme_size_22
, 0, OP2 (SME_PdxN
, SME_PNn3_INDEX1
), OP_SVE_VU_BHSD
, F_OD (2), 0),
6043 SME2_INSN ("ptrue", 0x25207810, 0xff3ffff8, sme_size_22
, 0, OP1 (SME_PNd3
), OP_SVE_V_BHSD
, 0, 0),
6044 SME2_INSN ("sclamp", 0xc120c400, 0xff20fc01, sme_size_22
, 0, OP3 (SME_Zdnx2
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
6045 SME2_INSN ("sclamp", 0xc120cc00, 0xff20fc03, sme_size_22
, 0, OP3 (SME_Zdnx4
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
6046 SME2_INSN ("scvtf", 0xc122e000, 0xfffffc21, sve_misc
, 0, OP2 (SME_Zdnx2
, SME_Znx2
), OP_SVE_SS
, 0, 0),
6047 SME2_INSN ("scvtf", 0xc132e000, 0xfffffc63, sve_misc
, 0, OP2 (SME_Zdnx4
, SME_Znx4
), OP_SVE_SS
, 0, 0),
6048 SME2_INSN ("sdot", 0xc1501000, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_SHH
, F_OD (2), 0),
6049 SME2_INSN ("sdot", 0xc1509000, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_SHH
, F_OD (4), 0),
6050 SME2_INSN ("sdot", 0xc1601408, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (2), 0),
6051 SME2_INSN ("sdot", 0xc1701408, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (4), 0),
6052 SME2_INSN ("sdot", 0xc1e01408, 0xffe19c38, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zmx2
), OP_SVE_SHH
, F_OD (2), 0),
6053 SME2_INSN ("sdot", 0xc1e11408, 0xffe39c78, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zmx4
), OP_SVE_SHH
, F_OD (4), 0),
6054 SME2_INSN ("sdot", 0xc1501020, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_SBB
, F_OD (2), 0),
6055 SME2_INSN ("sdot", 0xc1509020, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_SBB
, F_OD (4), 0),
6056 SME2_INSN ("sdot", 0xc1201400, 0xffb09c18, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD_BH
, F_OD (2), 0),
6057 SME2_INSN ("sdot", 0xc1301400, 0xffb09c18, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD_BH
, F_OD (4), 0),
6058 SME2_INSN ("sdot", 0xc1a01400, 0xffa19c38, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zmx2
), OP_SVE_VVV_SD_BH
, F_OD (2), 0),
6059 SME2_INSN ("sdot", 0xc1a11400, 0xffa39c78, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zmx4
), OP_SVE_VVV_SD_BH
, F_OD (4), 0),
6060 SME2_INSN ("sel", 0xc1208000, 0xff21e021, sme_size_22
, 0, OP4 (SME_Zdnx2
, SME_PNg3
, SME_Znx2
, SME_Zmx2
), OP_SVE_VUVV_BHSD
, 0, 0),
6061 SME2_INSN ("sel", 0xc1218000, 0xff23e063, sme_size_22
, 0, OP4 (SME_Zdnx4
, SME_PNg3
, SME_Znx4
, SME_Zmx4
), OP_SVE_VUVV_BHSD
, 0, 0),
6062 SME2_INSN ("smax", 0xc120a000, 0xff30ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
6063 SME2_INSN ("smax", 0xc120a800, 0xff30ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
6064 SME2_INSN ("smax", 0xc120b000, 0xff21ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zmx2
), OP_SVE_VVV_BHSD
, 0, 1),
6065 SME2_INSN ("smax", 0xc120b800, 0xff23ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zmx4
), OP_SVE_VVV_BHSD
, 0, 1),
6066 SME2_INSN ("smin", 0xc120a020, 0xff30ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
6067 SME2_INSN ("smin", 0xc120a820, 0xff30ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
6068 SME2_INSN ("smin", 0xc120b020, 0xff21ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zmx2
), OP_SVE_VVV_BHSD
, 0, 1),
6069 SME2_INSN ("smin", 0xc120b820, 0xff23ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zmx4
), OP_SVE_VVV_BHSD
, 0, 1),
6070 SME2_INSN ("smlal", 0xc1c01000, 0xfff01018, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm_INDEX3_10
), OP_SVE_SHH
, 0, 0),
6071 SME2_INSN ("smlal", 0xc1d01000, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (2), 0),
6072 SME2_INSN ("smlal", 0xc1d09000, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (4), 0),
6073 SME2_INSN ("smlal", 0xc1600c00, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm
), OP_SVE_SHH
, 0, 0),
6074 SME2_INSN ("smlal", 0xc1600800, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (2), 0),
6075 SME2_INSN ("smlal", 0xc1700800, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (4), 0),
6076 SME2_INSN ("smlal", 0xc1e00800, 0xffe19c3c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zmx2
), OP_SVE_SHH
, F_OD (2), 0),
6077 SME2_INSN ("smlal", 0xc1e10800, 0xffe39c7c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zmx4
), OP_SVE_SHH
, F_OD (4), 0),
6078 SME2_INSN ("smlall", 0xc1000000, 0xfff0001c, sme_misc
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm_INDEX4_10
), OP_SVE_SBB
, 0, 0),
6079 SME2_INSN ("smlall", 0xc1100000, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zm_INDEX4_1
), OP_SVE_SBB
, F_OD (2), 0),
6080 SME2_INSN ("smlall", 0xc1108000, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zm_INDEX4_1
), OP_SVE_SBB
, F_OD (4), 0),
6081 SME2_INSN ("smlall", 0xc1200400, 0xffb09c1c, sme_int_sd
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm
), OP_SVE_VVV_SD_BH
, 0, 0),
6082 SME2_INSN ("smlall", 0xc1200000, 0xffb09c1e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD_BH
, F_OD (2), 0),
6083 SME2_INSN ("smlall", 0xc1300000, 0xffb09c1e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD_BH
, F_OD (4), 0),
6084 SME2_INSN ("smlall", 0xc1a00000, 0xffa19c3e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zmx2
), OP_SVE_VVV_SD_BH
, F_OD (2), 0),
6085 SME2_INSN ("smlall", 0xc1a10000, 0xffa39c7e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zmx4
), OP_SVE_VVV_SD_BH
, F_OD (4), 0),
6086 SME2_INSN ("smlsl", 0xc1c01008, 0xfff01018, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm_INDEX3_10
), OP_SVE_SHH
, 0, 0),
6087 SME2_INSN ("smlsl", 0xc1d01008, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (2), 0),
6088 SME2_INSN ("smlsl", 0xc1d09008, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (4), 0),
6089 SME2_INSN ("smlsl", 0xc1600c08, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm
), OP_SVE_SHH
, 0, 0),
6090 SME2_INSN ("smlsl", 0xc1600808, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (2), 0),
6091 SME2_INSN ("smlsl", 0xc1700808, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (4), 0),
6092 SME2_INSN ("smlsl", 0xc1e00808, 0xffe19c3c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zmx2
), OP_SVE_SHH
, F_OD (2), 0),
6093 SME2_INSN ("smlsl", 0xc1e10808, 0xffe39c7c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zmx4
), OP_SVE_SHH
, F_OD (4), 0),
6094 SME2_INSN ("smlsll", 0xc1000008, 0xfff0001c, sme_misc
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm_INDEX4_10
), OP_SVE_SBB
, 0, 0),
6095 SME2_INSN ("smlsll", 0xc1100008, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zm_INDEX4_1
), OP_SVE_SBB
, F_OD (2), 0),
6096 SME2_INSN ("smlsll", 0xc1108008, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zm_INDEX4_1
), OP_SVE_SBB
, F_OD (4), 0),
6097 SME2_INSN ("smlsll", 0xc1200408, 0xffb09c1c, sme_int_sd
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm
), OP_SVE_VVV_SD_BH
, 0, 0),
6098 SME2_INSN ("smlsll", 0xc1200008, 0xffb09c1e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD_BH
, F_OD (2), 0),
6099 SME2_INSN ("smlsll", 0xc1300008, 0xffb09c1e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD_BH
, F_OD (4), 0),
6100 SME2_INSN ("smlsll", 0xc1a00008, 0xffa19c3e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zmx2
), OP_SVE_VVV_SD_BH
, F_OD (2), 0),
6101 SME2_INSN ("smlsll", 0xc1a10008, 0xffa39c7e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zmx4
), OP_SVE_VVV_SD_BH
, F_OD (4), 0),
6102 SME2_INSN ("smopa", 0xa0800008, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMHH
, 0, 0),
6103 SME2_INSN ("smops", 0xa0800018, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMHH
, 0, 0),
6104 SME2_INSN ("sqcvt", 0xc123e000, 0xfffffc20, sme_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_HS
, 0, 0),
6105 SME2_INSN ("sqcvt", 0xc133e000, 0xff7ffc60, sme_sz_23
, 0, OP2 (SVE_Zd
, SME_Znx4
), OP_SVE_VV_BH_SD
, 0, 0),
6106 SME2_INSN ("sqcvtn", 0xc133e040, 0xff7ffc60, sme_sz_23
, 0, OP2 (SVE_Zd
, SME_Znx4
), OP_SVE_VV_BH_SD
, 0, 0),
6107 SME2_INSN ("sqcvtu", 0xc163e000, 0xfffffc20, sme_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_HS
, 0, 0),
6108 SME2_INSN ("sqcvtu", 0xc173e000, 0xff7ffc60, sme_sz_23
, 0, OP2 (SVE_Zd
, SME_Znx4
), OP_SVE_VV_BH_SD
, 0, 0),
6109 SME2_INSN ("sqcvtun", 0xc173e040, 0xff7ffc60, sme_sz_23
, 0, OP2 (SVE_Zd
, SME_Znx4
), OP_SVE_VV_BH_SD
, 0, 0),
6110 SME2_INSN ("sqdmulh", 0xc120a400, 0xff30ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
6111 SME2_INSN ("sqdmulh", 0xc120ac00, 0xff30ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
6112 SME2_INSN ("sqdmulh", 0xc120b400, 0xff21ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zmx2
), OP_SVE_VVV_BHSD
, 0, 1),
6113 SME2_INSN ("sqdmulh", 0xc120bc00, 0xff23ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zmx4
), OP_SVE_VVV_BHSD
, 0, 1),
6114 SME2_INSN ("sqrshr", 0xc1e0d400, 0xfff0fc20, sme_misc
, 0, OP3 (SVE_Zd
, SME_Znx2
, SME_SHRIMM4
), OP_SVE_HSU
, 0, 0),
6115 SME2_INSN ("sqrshr", 0xc120d800, 0xff20fc60, sme_shift
, 0, OP3 (SVE_Zd
, SME_Znx4
, SME_SHRIMM5
), OP_SVE_VVU_BH_SD
, 0, 0),
6116 SME2_INSN ("sqrshrn", 0xc120dc00, 0xff20fc60, sme_shift
, 0, OP3 (SVE_Zd
, SME_Znx4
, SME_SHRIMM5
), OP_SVE_VVU_BH_SD
, 0, 0),
6117 SME2_INSN ("sqrshru", 0xc1f0d400, 0xfff0fc20, sme_misc
, 0, OP3 (SVE_Zd
, SME_Znx2
, SME_SHRIMM4
), OP_SVE_HSU
, 0, 0),
6118 SME2_INSN ("sqrshru", 0xc120d840, 0xff20fc60, sme_shift
, 0, OP3 (SVE_Zd
, SME_Znx4
, SME_SHRIMM5
), OP_SVE_VVU_BH_SD
, 0, 0),
6119 SME2_INSN ("sqrshrun", 0xc120dc40, 0xff20fc60, sme_shift
, 0, OP3 (SVE_Zd
, SME_Znx4
, SME_SHRIMM5
), OP_SVE_VVU_BH_SD
, 0, 0),
6120 SME2_INSN ("srshl", 0xc120a220, 0xff30ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
6121 SME2_INSN ("srshl", 0xc120aa20, 0xff30ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
6122 SME2_INSN ("srshl", 0xc120b220, 0xff21ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zmx2
), OP_SVE_VVV_BHSD
, 0, 1),
6123 SME2_INSN ("srshl", 0xc120ba20, 0xff23ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zmx4
), OP_SVE_VVV_BHSD
, 0, 1),
6124 SME2_INSN ("st1b", 0xa0600000, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_BUU
, 0, 0),
6125 SME2_INSN ("st1b", 0xa0608000, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_BUU
, 0, 0),
6126 SME2_INSN ("st1b", 0xa1600000, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_BUU
, 0, 0),
6127 SME2_INSN ("st1b", 0xa1608000, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_BUU
, 0, 0),
6128 SME2_INSN ("st1b", 0xa0200000, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BUU
, 0, 0),
6129 SME2_INSN ("st1b", 0xa0208000, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BUU
, 0, 0),
6130 SME2_INSN ("st1b", 0xa1200000, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BUU
, 0, 0),
6131 SME2_INSN ("st1b", 0xa1208000, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BUU
, 0, 0),
6132 SME2_INSN ("st1d", 0xa0606000, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_DUU
, 0, 0),
6133 SME2_INSN ("st1d", 0xa060e000, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_DUU
, 0, 0),
6134 SME2_INSN ("st1d", 0xa1606000, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_DUU
, 0, 0),
6135 SME2_INSN ("st1d", 0xa160e000, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_DUU
, 0, 0),
6136 SME2_INSN ("st1d", 0xa0206000, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DUU
, 0, 0),
6137 SME2_INSN ("st1d", 0xa020e000, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DUU
, 0, 0),
6138 SME2_INSN ("st1d", 0xa1206000, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DUU
, 0, 0),
6139 SME2_INSN ("st1d", 0xa120e000, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DUU
, 0, 0),
6140 SME2_INSN ("st1h", 0xa0602000, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_HUU
, 0, 0),
6141 SME2_INSN ("st1h", 0xa060a000, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_HUU
, 0, 0),
6142 SME2_INSN ("st1h", 0xa1602000, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_HUU
, 0, 0),
6143 SME2_INSN ("st1h", 0xa160a000, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_HUU
, 0, 0),
6144 SME2_INSN ("st1h", 0xa0202000, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HUU
, 0, 0),
6145 SME2_INSN ("st1h", 0xa020a000, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HUU
, 0, 0),
6146 SME2_INSN ("st1h", 0xa1202000, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HUU
, 0, 0),
6147 SME2_INSN ("st1h", 0xa120a000, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HUU
, 0, 0),
6148 SME2_INSN ("st1w", 0xa0604000, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_SUU
, 0, 0),
6149 SME2_INSN ("st1w", 0xa060c000, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_SUU
, 0, 0),
6150 SME2_INSN ("st1w", 0xa1604000, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_SUU
, 0, 0),
6151 SME2_INSN ("st1w", 0xa160c000, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_SUU
, 0, 0),
6152 SME2_INSN ("st1w", 0xa0204000, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SUU
, 0, 0),
6153 SME2_INSN ("st1w", 0xa020c000, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SUU
, 0, 0),
6154 SME2_INSN ("st1w", 0xa1204000, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SUU
, 0, 0),
6155 SME2_INSN ("st1w", 0xa120c000, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SUU
, 0, 0),
6156 SME2_INSN ("stnt1b", 0xa0600001, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_BUU
, 0, 0),
6157 SME2_INSN ("stnt1b", 0xa0608001, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_BUU
, 0, 0),
6158 SME2_INSN ("stnt1b", 0xa1600008, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_BUU
, 0, 0),
6159 SME2_INSN ("stnt1b", 0xa1608008, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_BUU
, 0, 0),
6160 SME2_INSN ("stnt1b", 0xa0200001, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BUU
, 0, 0),
6161 SME2_INSN ("stnt1b", 0xa0208001, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BUU
, 0, 0),
6162 SME2_INSN ("stnt1b", 0xa1200008, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BUU
, 0, 0),
6163 SME2_INSN ("stnt1b", 0xa1208008, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR
), OP_SVE_BUU
, 0, 0),
6164 SME2_INSN ("stnt1d", 0xa0606001, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_DUU
, 0, 0),
6165 SME2_INSN ("stnt1d", 0xa060e001, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_DUU
, 0, 0),
6166 SME2_INSN ("stnt1d", 0xa1606008, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_DUU
, 0, 0),
6167 SME2_INSN ("stnt1d", 0xa160e008, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_DUU
, 0, 0),
6168 SME2_INSN ("stnt1d", 0xa0206001, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DUU
, 0, 0),
6169 SME2_INSN ("stnt1d", 0xa020e001, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DUU
, 0, 0),
6170 SME2_INSN ("stnt1d", 0xa1206008, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DUU
, 0, 0),
6171 SME2_INSN ("stnt1d", 0xa120e008, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL3
), OP_SVE_DUU
, 0, 0),
6172 SME2_INSN ("stnt1h", 0xa0602001, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_HUU
, 0, 0),
6173 SME2_INSN ("stnt1h", 0xa060a001, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_HUU
, 0, 0),
6174 SME2_INSN ("stnt1h", 0xa1602008, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_HUU
, 0, 0),
6175 SME2_INSN ("stnt1h", 0xa160a008, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_HUU
, 0, 0),
6176 SME2_INSN ("stnt1h", 0xa0202001, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HUU
, 0, 0),
6177 SME2_INSN ("stnt1h", 0xa020a001, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HUU
, 0, 0),
6178 SME2_INSN ("stnt1h", 0xa1202008, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HUU
, 0, 0),
6179 SME2_INSN ("stnt1h", 0xa120a008, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL1
), OP_SVE_HUU
, 0, 0),
6180 SME2_INSN ("stnt1w", 0xa0604001, 0xfff0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_SUU
, 0, 0),
6181 SME2_INSN ("stnt1w", 0xa060c001, 0xfff0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_SUU
, 0, 0),
6182 SME2_INSN ("stnt1w", 0xa1604008, 0xfff0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_SUU
, 0, 0),
6183 SME2_INSN ("stnt1w", 0xa160c008, 0xfff0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_SUU
, 0, 0),
6184 SME2_INSN ("stnt1w", 0xa0204001, 0xffe0e001, sve_misc
, 0, OP3 (SME_Zdnx2
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SUU
, 0, 0),
6185 SME2_INSN ("stnt1w", 0xa020c001, 0xffe0e003, sve_misc
, 0, OP3 (SME_Zdnx4
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SUU
, 0, 0),
6186 SME2_INSN ("stnt1w", 0xa1204008, 0xffe0e008, sve_misc
, 0, OP3 (SME_Ztx2_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SUU
, 0, 0),
6187 SME2_INSN ("stnt1w", 0xa120c008, 0xffe0e00c, sve_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_PNg3
, SVE_ADDR_RR_LSL2
), OP_SVE_SUU
, 0, 0),
6188 SME2_INSN ("str", 0xe13f8000, 0xfffffc1f, sme_misc
, 0, OP2 (SME_ZT0
, SIMD_ADDR_SIMPLE
), {}, 0, 0),
6189 SME2_INSN ("sub", 0xc1a01c18, 0xffbf9c38, sme_int_sd
, 0, OP2 (SME_ZA_array_off3_0
, SME_Znx2
), OP_SVE_VVV_SD
, F_OD (2), 0),
6190 SME2_INSN ("sub", 0xc1a11c18, 0xffbf9c78, sme_int_sd
, 0, OP2 (SME_ZA_array_off3_0
, SME_Znx4
), OP_SVE_VVV_SD
, F_OD (4), 0),
6191 SME2_INSN ("sub", 0xc1201818, 0xffb09c18, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD
, F_OD (2), 0),
6192 SME2_INSN ("sub", 0xc1301818, 0xffb09c18, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD
, F_OD (4), 0),
6193 SME2_INSN ("sub", 0xc1a01818, 0xffa19c38, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zmx2
), OP_SVE_VVV_SD
, F_OD (2), 0),
6194 SME2_INSN ("sub", 0xc1a11818, 0xffa39c78, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zmx4
), OP_SVE_VVV_SD
, F_OD (4), 0),
6195 SME2_INSN ("sudot", 0xc1501038, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_SBB
, F_OD (2), 0),
6196 SME2_INSN ("sudot", 0xc1509038, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_SBB
, F_OD (4), 0),
6197 SME2_INSN ("sudot", 0xc1201418, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_SBB
, F_OD (2), 0),
6198 SME2_INSN ("sudot", 0xc1301418, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_SBB
, F_OD (4), 0),
6199 SME2_INSN ("sumlall", 0xc1000014, 0xfff0001c, sme_misc
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm_INDEX4_10
), OP_SVE_SBB
, 0, 0),
6200 SME2_INSN ("sumlall", 0xc1100030, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zm_INDEX4_1
), OP_SVE_SBB
, F_OD (2), 0),
6201 SME2_INSN ("sumlall", 0xc1108030, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zm_INDEX4_1
), OP_SVE_SBB
, F_OD (4), 0),
6202 SME2_INSN ("sumlall", 0xc1200014, 0xfff09c1e, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SVE_ZnxN
, SME_Zm
), OP_SVE_SBB
, F_OD (2), 0),
6203 SME2_INSN ("sumlall", 0xc1300014, 0xfff09c1e, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SVE_ZnxN
, SME_Zm
), OP_SVE_SBB
, F_OD (4), 0),
6204 SME2_INSN ("sunpk", 0xc125e000, 0xff3ffc01, sme_size_22_hsd
, 0, OP2 (SME_Zdnx2
, SVE_Zn
), OP_SVE_VV_HSD_BHS
, 0, 0),
6205 SME2_INSN ("sunpk", 0xc135e000, 0xff3ffc23, sme_size_22_hsd
, 0, OP2 (SME_Zdnx4
, SME_Znx2
), OP_SVE_VV_HSD_BHS
, 0, 0),
6206 SME2_INSN ("suvdot", 0xc1508038, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_SBB
, F_OD (4), 0),
6207 SME2_INSN ("svdot", 0xc1500020, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_SHH
, F_OD (2), 0),
6208 SME2_INSN ("svdot", 0xc1508020, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_SBB
, F_OD (4), 0),
6209 SME2_INSN ("uclamp", 0xc120c401, 0xff20fc01, sme_size_22
, 0, OP3 (SME_Zdnx2
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
6210 SME2_INSN ("uclamp", 0xc120cc01, 0xff20fc03, sme_size_22
, 0, OP3 (SME_Zdnx4
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
6211 SME2_INSN ("ucvtf", 0xc122e020, 0xfffffc21, sve_misc
, 0, OP2 (SME_Zdnx2
, SME_Znx2
), OP_SVE_SS
, 0, 0),
6212 SME2_INSN ("ucvtf", 0xc132e020, 0xfffffc63, sve_misc
, 0, OP2 (SME_Zdnx4
, SME_Znx4
), OP_SVE_SS
, 0, 0),
6213 SME2_INSN ("udot", 0xc1501010, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_SHH
, F_OD (2), 0),
6214 SME2_INSN ("udot", 0xc1509010, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_SHH
, F_OD (4), 0),
6215 SME2_INSN ("udot", 0xc1601418, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (2), 0),
6216 SME2_INSN ("udot", 0xc1701418, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (4), 0),
6217 SME2_INSN ("udot", 0xc1e01418, 0xffe19c38, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zmx2
), OP_SVE_SHH
, F_OD (2), 0),
6218 SME2_INSN ("udot", 0xc1e11418, 0xffe39c78, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zmx4
), OP_SVE_SHH
, F_OD (4), 0),
6219 SME2_INSN ("udot", 0xc1501030, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_SBB
, F_OD (2), 0),
6220 SME2_INSN ("udot", 0xc1509030, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_SBB
, F_OD (4), 0),
6221 SME2_INSN ("udot", 0xc1201410, 0xffb09c18, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD_BH
, F_OD (2), 0),
6222 SME2_INSN ("udot", 0xc1301410, 0xffb09c18, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD_BH
, F_OD (4), 0),
6223 SME2_INSN ("udot", 0xc1a01410, 0xffa19c38, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zmx2
), OP_SVE_VVV_SD_BH
, F_OD (2), 0),
6224 SME2_INSN ("udot", 0xc1a11410, 0xffa39c78, sme_int_sd
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zmx4
), OP_SVE_VVV_SD_BH
, F_OD (4), 0),
6225 SME2_INSN ("umax", 0xc120a001, 0xff30ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
6226 SME2_INSN ("umax", 0xc120a801, 0xff30ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
6227 SME2_INSN ("umax", 0xc120b001, 0xff21ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zmx2
), OP_SVE_VVV_BHSD
, 0, 1),
6228 SME2_INSN ("umax", 0xc120b801, 0xff23ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zmx4
), OP_SVE_VVV_BHSD
, 0, 1),
6229 SME2_INSN ("umin", 0xc120a021, 0xff30ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
6230 SME2_INSN ("umin", 0xc120a821, 0xff30ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
6231 SME2_INSN ("umin", 0xc120b021, 0xff21ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zmx2
), OP_SVE_VVV_BHSD
, 0, 1),
6232 SME2_INSN ("umin", 0xc120b821, 0xff23ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zmx4
), OP_SVE_VVV_BHSD
, 0, 1),
6233 SME2_INSN ("umlal", 0xc1c01010, 0xfff01018, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm_INDEX3_10
), OP_SVE_SHH
, 0, 0),
6234 SME2_INSN ("umlal", 0xc1d01010, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (2), 0),
6235 SME2_INSN ("umlal", 0xc1d09010, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (4), 0),
6236 SME2_INSN ("umlal", 0xc1600c10, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm
), OP_SVE_SHH
, 0, 0),
6237 SME2_INSN ("umlal", 0xc1600810, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (2), 0),
6238 SME2_INSN ("umlal", 0xc1700810, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (4), 0),
6239 SME2_INSN ("umlal", 0xc1e00810, 0xffe19c3c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zmx2
), OP_SVE_SHH
, F_OD (2), 0),
6240 SME2_INSN ("umlal", 0xc1e10810, 0xffe39c7c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zmx4
), OP_SVE_SHH
, F_OD (4), 0),
6241 SME2_INSN ("umlall", 0xc1000010, 0xfff0001c, sme_misc
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm_INDEX4_10
), OP_SVE_SBB
, 0, 0),
6242 SME2_INSN ("umlall", 0xc1100010, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zm_INDEX4_1
), OP_SVE_SBB
, F_OD (2), 0),
6243 SME2_INSN ("umlall", 0xc1108010, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zm_INDEX4_1
), OP_SVE_SBB
, F_OD (4), 0),
6244 SME2_INSN ("umlall", 0xc1200410, 0xffb09c1c, sme_int_sd
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm
), OP_SVE_VVV_SD_BH
, 0, 0),
6245 SME2_INSN ("umlall", 0xc1200010, 0xffb09c1e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD_BH
, F_OD (2), 0),
6246 SME2_INSN ("umlall", 0xc1300010, 0xffb09c1e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD_BH
, F_OD (4), 0),
6247 SME2_INSN ("umlall", 0xc1a00010, 0xffa19c3e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zmx2
), OP_SVE_VVV_SD_BH
, F_OD (2), 0),
6248 SME2_INSN ("umlall", 0xc1a10010, 0xffa39c7e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zmx4
), OP_SVE_VVV_SD_BH
, F_OD (4), 0),
6249 SME2_INSN ("umlsl", 0xc1c01018, 0xfff01018, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm_INDEX3_10
), OP_SVE_SHH
, 0, 0),
6250 SME2_INSN ("umlsl", 0xc1d01018, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (2), 0),
6251 SME2_INSN ("umlsl", 0xc1d09018, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zm_INDEX3_2
), OP_SVE_SHH
, F_OD (4), 0),
6252 SME2_INSN ("umlsl", 0xc1600c18, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm
), OP_SVE_SHH
, 0, 0),
6253 SME2_INSN ("umlsl", 0xc1600818, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (2), 0),
6254 SME2_INSN ("umlsl", 0xc1700818, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_SHH
, F_OD (4), 0),
6255 SME2_INSN ("umlsl", 0xc1e00818, 0xffe19c3c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zmx2
), OP_SVE_SHH
, F_OD (2), 0),
6256 SME2_INSN ("umlsl", 0xc1e10818, 0xffe39c7c, sme_misc
, 0, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zmx4
), OP_SVE_SHH
, F_OD (4), 0),
6257 SME2_INSN ("umlsll", 0xc1000018, 0xfff0001c, sme_misc
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm_INDEX4_10
), OP_SVE_SBB
, 0, 0),
6258 SME2_INSN ("umlsll", 0xc1100018, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zm_INDEX4_1
), OP_SVE_SBB
, F_OD (2), 0),
6259 SME2_INSN ("umlsll", 0xc1108018, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zm_INDEX4_1
), OP_SVE_SBB
, F_OD (4), 0),
6260 SME2_INSN ("umlsll", 0xc1200418, 0xffb09c1c, sme_int_sd
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm
), OP_SVE_VVV_SD_BH
, 0, 0),
6261 SME2_INSN ("umlsll", 0xc1200018, 0xffb09c1e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD_BH
, F_OD (2), 0),
6262 SME2_INSN ("umlsll", 0xc1300018, 0xffb09c1e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD_BH
, F_OD (4), 0),
6263 SME2_INSN ("umlsll", 0xc1a00018, 0xffa19c3e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zmx2
), OP_SVE_VVV_SD_BH
, F_OD (2), 0),
6264 SME2_INSN ("umlsll", 0xc1a10018, 0xffa39c7e, sme_int_sd
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zmx4
), OP_SVE_VVV_SD_BH
, F_OD (4), 0),
6265 SME2_INSN ("umopa", 0xa1800008, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMHH
, 0, 0),
6266 SME2_INSN ("umops", 0xa1800018, 0xffe0001c, sme_misc
, 0, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMHH
, 0, 0),
6267 SME2_INSN ("uqcvt", 0xc123e020, 0xfffffc20, sme_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_HS
, 0, 0),
6268 SME2_INSN ("uqcvt", 0xc133e020, 0xff7ffc60, sme_sz_23
, 0, OP2 (SVE_Zd
, SME_Znx4
), OP_SVE_VV_BH_SD
, 0, 0),
6269 SME2_INSN ("uqcvtn", 0xc133e060, 0xff7ffc60, sme_sz_23
, 0, OP2 (SVE_Zd
, SME_Znx4
), OP_SVE_VV_BH_SD
, 0, 0),
6270 SME2_INSN ("uqrshr", 0xc1e0d420, 0xfff0fc20, sme_misc
, 0, OP3 (SVE_Zd
, SME_Znx2
, SME_SHRIMM4
), OP_SVE_HSU
, 0, 0),
6271 SME2_INSN ("uqrshr", 0xc120d820, 0xff20fc60, sme_shift
, 0, OP3 (SVE_Zd
, SME_Znx4
, SME_SHRIMM5
), OP_SVE_VVU_BH_SD
, 0, 0),
6272 SME2_INSN ("uqrshrn", 0xc120dc20, 0xff20fc60, sme_shift
, 0, OP3 (SVE_Zd
, SME_Znx4
, SME_SHRIMM5
), OP_SVE_VVU_BH_SD
, 0, 0),
6273 SME2_INSN ("urshl", 0xc120a221, 0xff30ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
6274 SME2_INSN ("urshl", 0xc120aa21, 0xff30ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zm
), OP_SVE_VVV_BHSD
, 0, 1),
6275 SME2_INSN ("urshl", 0xc120b221, 0xff21ffe1, sme_size_22
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zmx2
), OP_SVE_VVV_BHSD
, 0, 1),
6276 SME2_INSN ("urshl", 0xc120ba21, 0xff23ffe3, sme_size_22
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zmx4
), OP_SVE_VVV_BHSD
, 0, 1),
6277 SME2_INSN ("usdot", 0xc1501028, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_SBB
, F_OD (2), 0),
6278 SME2_INSN ("usdot", 0xc1509028, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_SBB
, F_OD (4), 0),
6279 SME2_INSN ("usdot", 0xc1201408, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_SBB
, F_OD (2), 0),
6280 SME2_INSN ("usdot", 0xc1301408, 0xfff09c18, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_SBB
, F_OD (4), 0),
6281 SME2_INSN ("usdot", 0xc1a01408, 0xffe19c38, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zmx2
), OP_SVE_SBB
, F_OD (2), 0),
6282 SME2_INSN ("usdot", 0xc1a11408, 0xffe39c78, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zmx4
), OP_SVE_SBB
, F_OD (4), 0),
6283 SME2_INSN ("usmlall", 0xc1000004, 0xfff0001c, sme_misc
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm_INDEX4_10
), OP_SVE_SBB
, 0, 0),
6284 SME2_INSN ("usmlall", 0xc1100020, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zm_INDEX4_1
), OP_SVE_SBB
, F_OD (2), 0),
6285 SME2_INSN ("usmlall", 0xc1108020, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zm_INDEX4_1
), OP_SVE_SBB
, F_OD (4), 0),
6286 SME2_INSN ("usmlall", 0xc1200404, 0xfff09c1c, sme_misc
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm
), OP_SVE_VVV_SD_BH
, 0, 0),
6287 SME2_INSN ("usmlall", 0xc1200004, 0xfff09c1e, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD_BH
, F_OD (2), 0),
6288 SME2_INSN ("usmlall", 0xc1300004, 0xfff09c1e, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_SD_BH
, F_OD (4), 0),
6289 SME2_INSN ("usmlall", 0xc1a00004, 0xffe19c3e, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zmx2
), OP_SVE_SBB
, F_OD (2), 0),
6290 SME2_INSN ("usmlall", 0xc1a10004, 0xffe39c7e, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zmx4
), OP_SVE_SBB
, F_OD (4), 0),
6291 SME2_INSN ("usvdot", 0xc1508028, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_SBB
, F_OD (4), 0),
6292 SME2_INSN ("uunpk", 0xc125e001, 0xff3ffc01, sme_size_22_hsd
, 0, OP2 (SME_Zdnx2
, SVE_Zn
), OP_SVE_VV_HSD_BHS
, 0, 0),
6293 SME2_INSN ("uunpk", 0xc135e001, 0xff3ffc23, sme_size_22_hsd
, 0, OP2 (SME_Zdnx4
, SME_Znx2
), OP_SVE_VV_HSD_BHS
, 0, 0),
6294 SME2_INSN ("uvdot", 0xc1500030, 0xfff09038, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_SHH
, F_OD (2), 0),
6295 SME2_INSN ("uvdot", 0xc1508030, 0xfff09078, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_SBB
, F_OD (4), 0),
6296 SME2_INSN ("uzp", 0xc120d001, 0xff20fc01, sme_size_22
, 0, OP3 (SME_Zdnx2
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
6297 SME2_INSN ("uzp", 0xc120d401, 0xffe0fc01, sme_misc
, 0, OP3 (SME_Zdnx2
, SVE_Zn
, SVE_Zm_16
), OP_SVE_QQQ
, 0, 0),
6298 SME2_INSN ("uzp", 0xc136e002, 0xff3ffc63, sme_size_22
, 0, OP2 (SME_Zdnx4
, SME_Znx4
), OP_SVE_VV_BHSD
, 0, 0),
6299 SME2_INSN ("uzp", 0xc137e002, 0xfffffc63, sme_misc
, 0, OP2 (SME_Zdnx4
, SME_Znx4
), OP_SVE_QQ
, 0, 0),
6300 SME2_INSN ("whilege", 0x25204010, 0xff20dc18, sme_size_22
, 0, OP4 (SME_PNd3
, Rn
, Rm
, SME_VLxN_13
), OP_SVE_VXXU_BHSD
, 0, 0),
6301 SME2_INSN ("whilegt", 0x25204018, 0xff20dc18, sme_size_22
, 0, OP4 (SME_PNd3
, Rn
, Rm
, SME_VLxN_13
), OP_SVE_VXXU_BHSD
, 0, 0),
6302 SME2_INSN ("whilehi", 0x25204818, 0xff20dc18, sme_size_22
, 0, OP4 (SME_PNd3
, Rn
, Rm
, SME_VLxN_13
), OP_SVE_VXXU_BHSD
, 0, 0),
6303 SME2_INSN ("whilehs", 0x25204810, 0xff20dc18, sme_size_22
, 0, OP4 (SME_PNd3
, Rn
, Rm
, SME_VLxN_13
), OP_SVE_VXXU_BHSD
, 0, 0),
6304 SME2_INSN ("whilele", 0x25204418, 0xff20dc18, sme_size_22
, 0, OP4 (SME_PNd3
, Rn
, Rm
, SME_VLxN_13
), OP_SVE_VXXU_BHSD
, 0, 0),
6305 SME2_INSN ("whilelo", 0x25204c10, 0xff20dc18, sme_size_22
, 0, OP4 (SME_PNd3
, Rn
, Rm
, SME_VLxN_13
), OP_SVE_VXXU_BHSD
, 0, 0),
6306 SME2_INSN ("whilels", 0x25204c18, 0xff20dc18, sme_size_22
, 0, OP4 (SME_PNd3
, Rn
, Rm
, SME_VLxN_13
), OP_SVE_VXXU_BHSD
, 0, 0),
6307 SME2_INSN ("whilelt", 0x25204410, 0xff20dc18, sme_size_22
, 0, OP4 (SME_PNd3
, Rn
, Rm
, SME_VLxN_13
), OP_SVE_VXXU_BHSD
, 0, 0),
6308 SME2_INSN ("zero", 0xc0480001, 0xffffffff, sme_misc
, 0, OP1 (SME_ZT0_LIST
), {}, 0, 0),
6309 SME2_INSN ("zip", 0xc120d000, 0xff20fc01, sme_size_22
, 0, OP3 (SME_Zdnx2
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
6310 SME2_INSN ("zip", 0xc120d400, 0xffe0fc01, sme_misc
, 0, OP3 (SME_Zdnx2
, SVE_Zn
, SVE_Zm_16
), OP_SVE_QQQ
, 0, 0),
6311 SME2_INSN ("zip", 0xc136e000, 0xff3ffc63, sme_size_22
, 0, OP2 (SME_Zdnx4
, SME_Znx4
), OP_SVE_VV_BHSD
, 0, 0),
6312 SME2_INSN ("zip", 0xc137e000, 0xfffffc63, sme_misc
, 0, OP2 (SME_Zdnx4
, SME_Znx4
), OP_SVE_QQ
, 0, 0),
6314 /* SME2 I16I64 instructions. */
6315 SME2_I16I64_INSN ("sdot", 0xc1d00008, 0xfff09838, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX1
), OP_SVE_DHH
, F_OD (2), 0),
6316 SME2_I16I64_INSN ("sdot", 0xc1d08008, 0xfff09878, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX1
), OP_SVE_DHH
, F_OD (4), 0),
6317 SME2_I16I64_INSN ("smlall", 0xc1800000, 0xfff0101c, sme_misc
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm_INDEX3_10
), OP_SVE_DHH
, 0, 0),
6318 SME2_I16I64_INSN ("smlall", 0xc1900000, 0xfff09838, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zm_INDEX3_1
), OP_SVE_DHH
, F_OD (2), 0),
6319 SME2_I16I64_INSN ("smlall", 0xc1908000, 0xfff09878, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zm_INDEX3_1
), OP_SVE_DHH
, F_OD (4), 0),
6320 SME2_I16I64_INSN ("smlsll", 0xc1800008, 0xfff0101c, sme_misc
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm_INDEX3_10
), OP_SVE_DHH
, 0, 0),
6321 SME2_I16I64_INSN ("smlsll", 0xc1900008, 0xfff09838, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zm_INDEX3_1
), OP_SVE_DHH
, F_OD (2), 0),
6322 SME2_I16I64_INSN ("smlsll", 0xc1908008, 0xfff09878, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zm_INDEX3_1
), OP_SVE_DHH
, F_OD (4), 0),
6323 SME2_I16I64_INSN ("svdot", 0xc1d08808, 0xfff09878, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX1
), OP_SVE_DHH
, F_OD (4), 0),
6324 SME2_I16I64_INSN ("udot", 0xc1d00018, 0xfff09838, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX1
), OP_SVE_DHH
, F_OD (2), 0),
6325 SME2_I16I64_INSN ("udot", 0xc1d08018, 0xfff09878, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX1
), OP_SVE_DHH
, F_OD (4), 0),
6326 SME2_I16I64_INSN ("umlall", 0xc1800010, 0xfff0101c, sme_misc
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm_INDEX3_10
), OP_SVE_DHH
, 0, 0),
6327 SME2_I16I64_INSN ("umlall", 0xc1900010, 0xfff09838, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zm_INDEX3_1
), OP_SVE_DHH
, F_OD (2), 0),
6328 SME2_I16I64_INSN ("umlall", 0xc1908010, 0xfff09878, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zm_INDEX3_1
), OP_SVE_DHH
, F_OD (4), 0),
6329 SME2_I16I64_INSN ("umlsll", 0xc1800018, 0xfff0101c, sme_misc
, 0, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm_INDEX3_10
), OP_SVE_DHH
, 0, 0),
6330 SME2_I16I64_INSN ("umlsll", 0xc1900018, 0xfff09838, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zm_INDEX3_1
), OP_SVE_DHH
, F_OD (2), 0),
6331 SME2_I16I64_INSN ("umlsll", 0xc1908018, 0xfff09878, sme_misc
, 0, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zm_INDEX3_1
), OP_SVE_DHH
, F_OD (4), 0),
6332 SME2_I16I64_INSN ("uvdot", 0xc1d08818, 0xfff09878, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX1
), OP_SVE_DHH
, F_OD (4), 0),
6334 /* SME2 F64F64 instructions. */
6335 SME2_F64F64_INSN ("fmla", 0xc1d00000, 0xfff09838, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX1
), OP_SVE_DDD
, F_OD (2), 0),
6336 SME2_F64F64_INSN ("fmla", 0xc1d08000, 0xfff09878, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX1
), OP_SVE_DDD
, F_OD (4), 0),
6337 SME2_F64F64_INSN ("fmls", 0xc1d00010, 0xfff09838, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX1
), OP_SVE_DDD
, F_OD (2), 0),
6338 SME2_F64F64_INSN ("fmls", 0xc1d08010, 0xfff09878, sme_misc
, 0, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX1
), OP_SVE_DDD
, F_OD (4), 0),
6340 /* SIMD Dot Product (optional in v8.2-A). */
6341 DOT_INSN ("udot", 0x2e009400, 0xbf20fc00, dotproduct
, OP3 (Vd
, Vn
, Vm
), QL_V3DOT
, F_SIZEQ
),
6342 DOT_INSN ("sdot", 0xe009400, 0xbf20fc00, dotproduct
, OP3 (Vd
, Vn
, Vm
), QL_V3DOT
, F_SIZEQ
),
6343 DOT_INSN ("udot", 0x2f00e000, 0xbf00f400, dotproduct
, OP3 (Vd
, Vn
, Em
), QL_V2DOT
, F_SIZEQ
),
6344 DOT_INSN ("sdot", 0xf00e000, 0xbf00f400, dotproduct
, OP3 (Vd
, Vn
, Em
), QL_V2DOT
, F_SIZEQ
),
6345 /* Crypto SHA512 (optional in ARMv8.2-a). */
6346 SHA3_INSN ("sha512h", 0xce608000, 0xffe0fc00, cryptosha2
, OP3 (Fd
, Fn
, Vm
), QL_SHA512UPT
, 0),
6347 SHA3_INSN ("sha512h2", 0xce608400, 0xffe0fc00, cryptosha2
, OP3 (Fd
, Fn
, Vm
), QL_SHA512UPT
, 0),
6348 SHA3_INSN ("sha512su0", 0xcec08000, 0xfffffc00, cryptosha2
, OP2 (Vd
, Vn
), QL_V2SAME2D
, 0),
6349 SHA3_INSN ("sha512su1", 0xce608800, 0xffe0fc00, cryptosha2
, OP3 (Vd
, Vn
, Vm
), QL_V3SAME2D
, 0),
6350 /* Crypto SHA3 (optional in ARMv8.2-a). */
6351 SHA3_INSN ("eor3", 0xce000000, 0xffe08000, cryptosha3
, OP4 (Vd
, Vn
, Vm
, Va
), QL_V4SAME16B
, 0),
6352 SHA3_INSN ("rax1", 0xce608c00, 0xffe0fc00, cryptosha3
, OP3 (Vd
, Vn
, Vm
), QL_V3SAME2D
, 0),
6353 SHA3_INSN ("xar", 0xce800000, 0xffe00000, cryptosha3
, OP4 (Vd
, Vn
, Vm
, IMM
), QL_XAR
, 0),
6354 SHA3_INSN ("bcax", 0xce200000, 0xffe08000, cryptosha3
, OP4 (Vd
, Vn
, Vm
, Va
), QL_V4SAME16B
, 0),
6355 /* Crypto SM3 (optional in ARMv8.2-a). */
6356 SM4_INSN ("sm3ss1", 0xce400000, 0xffe08000, cryptosm3
, OP4 (Vd
, Vn
, Vm
, Va
), QL_V4SAME4S
, 0),
6357 SM4_INSN ("sm3tt1a", 0xce408000, 0xffe0cc00, cryptosm3
, OP3 (Vd
, Vn
, Em
), QL_SM3TT
, 0),
6358 SM4_INSN ("sm3tt1b", 0xce408400, 0xffe0cc00, cryptosm3
, OP3 (Vd
, Vn
, Em
), QL_SM3TT
, 0),
6359 SM4_INSN ("sm3tt2a", 0xce408800, 0xffe0cc00, cryptosm3
, OP3 (Vd
, Vn
, Em
), QL_SM3TT
, 0),
6360 SM4_INSN ("sm3tt2b", 0xce408c00, 0xffe0cc00, cryptosm3
, OP3 (Vd
, Vn
, Em
), QL_SM3TT
, 0),
6361 SM4_INSN ("sm3partw1", 0xce60c000, 0xffe0fc00, cryptosm3
, OP3 (Vd
, Vn
, Vm
), QL_V3SAME4S
, 0),
6362 SM4_INSN ("sm3partw2", 0xce60c400, 0xffe0fc00, cryptosm3
, OP3 (Vd
, Vn
, Vm
), QL_V3SAME4S
, 0),
6363 /* Crypto SM4 (optional in ARMv8.2-a). */
6364 SM4_INSN ("sm4e", 0xcec08400, 0xfffffc00, cryptosm4
, OP2 (Vd
, Vn
), QL_V2SAME4S
, 0),
6365 SM4_INSN ("sm4ekey", 0xce60c800, 0xffe0fc00, cryptosm4
, OP3 (Vd
, Vn
, Vm
), QL_V3SAME4S
, 0),
6366 /* Crypto FP16 (optional in ARMv8.2-a). */
6367 FP16_V8_2A_INSN ("fmlal", 0xe20ec00, 0xffa0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3FML2S
, 0),
6368 FP16_V8_2A_INSN ("fmlsl", 0xea0ec00, 0xffa0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3FML2S
, 0),
6369 FP16_V8_2A_INSN ("fmlal2", 0x2e20cc00, 0xffa0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3FML2S
, 0),
6370 FP16_V8_2A_INSN ("fmlsl2", 0x2ea0cc00, 0xffa0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3FML2S
, 0),
6372 FP16_V8_2A_INSN ("fmlal", 0x4e20ec00, 0xffa0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3FML4S
, 0),
6373 FP16_V8_2A_INSN ("fmlsl", 0x4ea0ec00, 0xffa0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3FML4S
, 0),
6374 FP16_V8_2A_INSN ("fmlal2", 0x6e20cc00, 0xffa0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3FML4S
, 0),
6375 FP16_V8_2A_INSN ("fmlsl2", 0x6ea0cc00, 0xffa0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3FML4S
, 0),
6377 FP16_V8_2A_INSN ("fmlal", 0xf800000, 0xffc0f400, asimdelem
, OP3 (Vd
, Vn
, Em16
), QL_V2FML2S
, 0),
6378 FP16_V8_2A_INSN ("fmlsl", 0xf804000, 0xffc0f400, asimdelem
, OP3 (Vd
, Vn
, Em16
), QL_V2FML2S
, 0),
6379 FP16_V8_2A_INSN ("fmlal2", 0x2f808000, 0xffc0f400, asimdelem
, OP3 (Vd
, Vn
, Em16
), QL_V2FML2S
, 0),
6380 FP16_V8_2A_INSN ("fmlsl2", 0x2f80c000, 0xffc0f400, asimdelem
, OP3 (Vd
, Vn
, Em16
), QL_V2FML2S
, 0),
6382 FP16_V8_2A_INSN ("fmlal", 0x4f800000, 0xffc0f400, asimdelem
, OP3 (Vd
, Vn
, Em16
), QL_V2FML4S
, 0),
6383 FP16_V8_2A_INSN ("fmlsl", 0x4f804000, 0xffc0f400, asimdelem
, OP3 (Vd
, Vn
, Em16
), QL_V2FML4S
, 0),
6384 FP16_V8_2A_INSN ("fmlal2", 0x6f808000, 0xffc0f400, asimdelem
, OP3 (Vd
, Vn
, Em16
), QL_V2FML4S
, 0),
6385 FP16_V8_2A_INSN ("fmlsl2", 0x6f80c000, 0xffc0f400, asimdelem
, OP3 (Vd
, Vn
, Em16
), QL_V2FML4S
, 0),
6386 /* System extensions ARMv8.4-a. */
6387 FLAGM_INSN ("rmif", 0xba000400, 0xffe07c10, ic_system
, OP3 (Rn
, IMM_2
, MASK
), QL_RMIF
, 0),
6388 FLAGM_INSN ("setf8", 0x3a00080d, 0xfffffc1f, ic_system
, OP1 (Rn
), QL_SETF
, 0),
6389 FLAGM_INSN ("setf16", 0x3a00480d, 0xfffffc1f, ic_system
, OP1 (Rn
), QL_SETF
, 0),
6390 /* Memory access instructions ARMv8.4-a. */
6391 RCPC2_INSN ("stlurb" , 0x19000000, 0xffe00c00, ldst_unscaled
, OP2 (Rt
, ADDR_OFFSET
), QL_STLW
, 0),
6392 RCPC2_INSN ("ldapurb", 0x19400000, 0xffe00c00, ldst_unscaled
, OP2 (Rt
, ADDR_OFFSET
), QL_STLW
, 0),
6393 RCPC2_INSN ("ldapursb", 0x19c00000, 0xffe00c00, ldst_unscaled
, OP2 (Rt
, ADDR_OFFSET
), QL_STLW
, 0),
6394 RCPC2_INSN ("ldapursb", 0x19800000, 0xffe00c00, ldst_unscaled
, OP2 (Rt
, ADDR_OFFSET
), QL_STLX
, 0),
6395 RCPC2_INSN ("stlurh", 0x59000000, 0xffe00c00, ldst_unscaled
, OP2 (Rt
, ADDR_OFFSET
), QL_STLW
, 0),
6396 RCPC2_INSN ("ldapurh", 0x59400000, 0xffe00c00, ldst_unscaled
, OP2 (Rt
, ADDR_OFFSET
), QL_STLW
, 0),
6397 RCPC2_INSN ("ldapursh", 0x59c00000, 0xffe00c00, ldst_unscaled
, OP2 (Rt
, ADDR_OFFSET
), QL_STLW
, 0),
6398 RCPC2_INSN ("ldapursh", 0x59800000, 0xffe00c00, ldst_unscaled
, OP2 (Rt
, ADDR_OFFSET
), QL_STLX
, 0),
6399 RCPC2_INSN ("stlur", 0x99000000, 0xffe00c00, ldst_unscaled
, OP2 (Rt
, ADDR_OFFSET
), QL_STLW
, 0),
6400 RCPC2_INSN ("ldapur", 0x99400000, 0xffe00c00, ldst_unscaled
, OP2 (Rt
, ADDR_OFFSET
), QL_STLW
, 0),
6401 RCPC2_INSN ("ldapursw", 0x99800000, 0xffe00c00, ldst_unscaled
, OP2 (Rt
, ADDR_OFFSET
), QL_STLX
, 0),
6402 RCPC2_INSN ("stlur", 0xd9000000, 0xffe00c00, ldst_unscaled
, OP2 (Rt
, ADDR_OFFSET
), QL_STLX
, 0),
6403 RCPC2_INSN ("ldapur", 0xd9400000, 0xffe00c00, ldst_unscaled
, OP2 (Rt
, ADDR_OFFSET
), QL_STLX
, 0),
6405 /* Matrix Multiply instructions. */
6406 INT8MATMUL_SVE_INSNC ("smmla", 0x45009800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SBB
, 0, C_SCAN_MOVPRFX
, 0),
6407 INT8MATMUL_SVE_INSNC ("ummla", 0x45c09800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SBB
, 0, C_SCAN_MOVPRFX
, 0),
6408 INT8MATMUL_SVE_INSNC ("usmmla", 0x45809800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SBB
, 0, C_SCAN_MOVPRFX
, 0),
6409 INT8MATMUL_SVE_INSNC ("usdot", 0x44807800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SBB
, 0, C_SCAN_MOVPRFX
, 0),
6410 INT8MATMUL_SVE_INSNC ("usdot", 0x44a01800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_SBB
, 0, C_SCAN_MOVPRFX
, 0),
6411 INT8MATMUL_SVE_INSNC ("sudot", 0x44a01c00, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_SBB
, 0, C_SCAN_MOVPRFX
, 0),
6412 F32MATMUL_SVE_INSNC ("fmmla", 0x64a0e400, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_S
, 0, C_SCAN_MOVPRFX
, 0),
6413 F64MATMUL_SVE_INSNC ("fmmla", 0x64e0e400, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_D
, 0, C_SCAN_MOVPRFX
, 0),
6414 F64MATMUL_SVE_INSN ("ld1rob", 0xa4200000, 0xffe0e000, sve_misc
, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX
), OP_SVE_BZU
, F_OD(1), 0),
6415 F64MATMUL_SVE_INSN ("ld1roh", 0xa4a00000, 0xffe0e000, sve_misc
, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL1
), OP_SVE_HZU
, F_OD(1), 0),
6416 F64MATMUL_SVE_INSN ("ld1row", 0xa5200000, 0xffe0e000, sve_misc
, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL2
), OP_SVE_SZU
, F_OD(1), 0),
6417 F64MATMUL_SVE_INSN ("ld1rod", 0xa5a00000, 0xffe0e000, sve_misc
, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL3
), OP_SVE_DZU
, F_OD(1), 0),
6418 F64MATMUL_SVE_INSN ("ld1rob", 0xa4202000, 0xfff0e000, sve_misc
, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x32
), OP_SVE_BZU
, F_OD(1), 0),
6419 F64MATMUL_SVE_INSN ("ld1roh", 0xa4a02000, 0xfff0e000, sve_misc
, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x32
), OP_SVE_HZU
, F_OD(1), 0),
6420 F64MATMUL_SVE_INSN ("ld1row", 0xa5202000, 0xfff0e000, sve_misc
, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x32
), OP_SVE_SZU
, F_OD(1), 0),
6421 F64MATMUL_SVE_INSN ("ld1rod", 0xa5a02000, 0xfff0e000, sve_misc
, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x32
), OP_SVE_DZU
, F_OD(1), 0),
6422 F64MATMUL_SVE_INSN ("zip1", 0x05a00000, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_QQQ
, 0, 0),
6423 F64MATMUL_SVE_INSN ("zip2", 0x05a00400, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_QQQ
, 0, 0),
6424 F64MATMUL_SVE_INSN ("uzp1", 0x05a00800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_QQQ
, 0, 0),
6425 F64MATMUL_SVE_INSN ("uzp2", 0x05a00c00, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_QQQ
, 0, 0),
6426 F64MATMUL_SVE_INSN ("trn1", 0x05a01800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_QQQ
, 0, 0),
6427 F64MATMUL_SVE_INSN ("trn2", 0x05a01c00, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_QQQ
, 0, 0),
6428 /* Matrix Multiply advanced SIMD instructions. */
6429 INT8MATMUL_INSN ("smmla", 0x4e80a400, 0xffe0fc00, aarch64_misc
, OP3 (Vd
, Vn
, Vm
), QL_MMLA64
, 0),
6430 INT8MATMUL_INSN ("ummla", 0x6e80a400, 0xffe0fc00, aarch64_misc
, OP3 (Vd
, Vn
, Vm
), QL_MMLA64
, 0),
6431 INT8MATMUL_INSN ("usmmla", 0x4e80ac00, 0xffe0fc00, aarch64_misc
, OP3 (Vd
, Vn
, Vm
), QL_MMLA64
, 0),
6432 INT8MATMUL_INSN ("usdot", 0x0e809c00, 0xbfe0fc00, aarch64_misc
, OP3 (Vd
, Vn
, Vm
), QL_V3DOT
, F_SIZEQ
),
6433 INT8MATMUL_INSN ("usdot", 0x0f80f000, 0xbfc0f400, dotproduct
, OP3 (Vd
, Vn
, Em
), QL_V2DOT
, F_SIZEQ
),
6434 INT8MATMUL_INSN ("sudot", 0x0f00f000, 0xbfc0f400, dotproduct
, OP3 (Vd
, Vn
, Em
), QL_V2DOT
, F_SIZEQ
),
6436 /* BFloat instructions. */
6437 BFLOAT16_SVE_INSNC ("bfdot", 0x64608000, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
6438 BFLOAT16_SVE_INSNC ("bfdot", 0x64604000, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
6439 BFLOAT16_SVE_INSNC ("bfmmla", 0x6460e400, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
6440 BFLOAT16_SVE_INSNC ("bfcvt", 0x658aa000, 0xffffe000, sve_misc
, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_HMS
, 0, C_SCAN_MOVPRFX
| C_MAX_ELEM
, 0),
6441 BFLOAT16_SVE_INSNC ("bfcvtnt", 0x648aa000, 0xffffe000, sve_misc
, OP3 (SVE_Zd
, SVE_Pg3
, SVE_Zn
), OP_SVE_HMS
, 0, 0, 0),
6442 BFLOAT16_SVE_INSNC ("bfmlalt", 0x64e08400, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
6443 BFLOAT16_SVE_INSNC ("bfmlalb", 0x64e08000, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
6444 BFLOAT16_SVE_INSNC ("bfmlalt", 0x64e04400, 0xffe0f400, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
6445 BFLOAT16_SVE_INSNC ("bfmlalb", 0x64e04000, 0xffe0f400, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_SHH
, 0, C_SCAN_MOVPRFX
, 0),
6446 /* BFloat Advanced SIMD instructions. */
6447 BFLOAT16_INSN ("bfdot", 0x2e40fc00, 0xbfe0fc00, bfloat16
, OP3 (Vd
, Vn
, Vm
), QL_BFDOT64
, F_SIZEQ
),
6448 /* Using dotproduct as iclass to treat instruction similar to udot. */
6449 BFLOAT16_INSN ("bfdot", 0x0f40f000, 0xbfc0f400, dotproduct
, OP3 (Vd
, Vn
, Em
), QL_BFDOT64I
, F_SIZEQ
),
6450 BFLOAT16_INSN ("bfmmla", 0x6e40ec00, 0xffe0fc00, bfloat16
, OP3 (Vd
, Vn
, Vm
), QL_BFMMLA
, F_SIZEQ
),
6451 BFLOAT16_INSN ("bfcvtn", 0x0ea16800, 0xfffffc00, bfloat16
, OP2 (Vd
, Vn
), QL_BFCVTN64
, 0),
6452 BFLOAT16_INSN ("bfcvtn2", 0x4ea16800, 0xfffffc00, bfloat16
, OP2 (Vd
, Vn
), QL_BFCVTN2_64
, 0),
6453 BFLOAT16_INSN ("bfcvt", 0x1e634000, 0xfffffc00, bfloat16
, OP2 (Fd
, Fn
), QL_BFCVT64
, 0),
6454 BFLOAT16_INSN ("bfmlalt", 0x6ec0fc00, 0xffe0fc00, bfloat16
, OP3 (Vd
, Vn
, Vm
), QL_BFMMLA
, 0),
6455 BFLOAT16_INSN ("bfmlalb", 0x2ec0fc00, 0xffe0fc00, bfloat16
, OP3 (Vd
, Vn
, Vm
), QL_BFMMLA
, 0),
6456 BFLOAT16_INSN ("bfmlalt", 0x4fc0f000, 0xffc0f400, bfloat16
, OP3 (Vd
, Vn
, Em16
), QL_V3BFML4S
, 0),
6457 BFLOAT16_INSN ("bfmlalb", 0x0fc0f000, 0xffc0f400, bfloat16
, OP3 (Vd
, Vn
, Em16
), QL_V3BFML4S
, 0),
6459 /* cpyfp cpyfprn cpyfpwn cpyfpn
6460 cpyfm cpyfmrn cpyfmwn cpyfmn
6461 cpyfe cpyfern cpyfewn cpyfen
6463 cpyfprt cpyfprtrn cpyfprtwn cpyfprtn
6464 cpyfmrt cpyfmrtrn cpyfmrtwn cpyfmrtn
6465 cpyfert cpyfertrn cpyfertwn cpyfertn
6467 cpyfpwt cpyfpwtrn cpyfpwtwn cpyfpwtn
6468 cpyfmwt cpyfmwtrn cpyfmwtwn cpyfmwtn
6469 cpyfewt cpyfewtrn cpyfewtwn cpyfewtn
6471 cpyfpt cpyfptrn cpyfptwn cpyfptn
6472 cpyfmt cpyfmtrn cpyfmtwn cpyfmtn
6473 cpyfet cpyfetrn cpyfetwn cpyfetn. */
6474 MOPS_CPY_INSN ("cpyf", 0x19000400, 0xffe0fc00),
6476 /* cpyp cpyprn cpypwn cpypn
6477 cpym cpymrn cpymwn cpymn
6478 cpye cpyern cpyewn cpyen
6480 cpyprt cpyprtrn cpyprtwn cpyprtn
6481 cpymrt cpymrtrn cpymrtwn cpymrtn
6482 cpyert cpyertrn cpyertwn cpyertn
6484 cpypwt cpypwtrn cpypwtwn cpypwtn
6485 cpymwt cpymwtrn cpymwtwn cpymwtn
6486 cpyewt cpyewtrn cpyewtwn cpyewtn
6488 cpypt cpyptrn cpyptwn cpyptn
6489 cpymt cpymtrn cpymtwn cpymtn
6490 cpyet cpyetrn cpyetwn cpyetn. */
6491 MOPS_CPY_INSN ("cpy", 0x1d000400, 0xffe0fc00),
6493 /* setp setpt setpn setptn
6494 setm setmt setmn setmtn
6495 sete setet seten setetn */
6496 MOPS_SET_INSN ("set", 0x19c00400, 0xffe0fc00, MOPS_INSN
),
6498 /* setgp setgpt setgpn setgptn
6499 setgm setgmt setgmn setgmtn
6500 setge setget setgen setgetn */
6501 MOPS_SET_INSN ("setg", 0x1dc00400, 0xffe0fc00, MOPS_MEMTAG_INSN
),
6503 HBC_INSN ("bc.c", 0x54000010, 0xff000010, condbranch
, OP1 (ADDR_PCREL19
), QL_PCREL_NIL
, F_COND
),
6505 /* CSSC with immediates. */
6506 CSSC_INSN ("smax", 0x11c00000, 0x7ffc0000, OP3 (Rd
, Rn
, CSSC_SIMM8
), QL_R2NIL
, F_SF
),
6507 CSSC_INSN ("umax", 0x11c40000, 0x7ffc0000, OP3 (Rd
, Rn
, CSSC_UIMM8
), QL_R2NIL
, F_SF
),
6508 CSSC_INSN ("smin", 0x11c80000, 0x7ffc0000, OP3 (Rd
, Rn
, CSSC_SIMM8
), QL_R2NIL
, F_SF
),
6509 CSSC_INSN ("umin", 0x11cc0000, 0x7ffc0000, OP3 (Rd
, Rn
, CSSC_UIMM8
), QL_R2NIL
, F_SF
),
6511 /* CSSC with registers only. */
6512 CSSC_INSN ("abs", 0x5ac02000, 0x7ffffc00, OP2 (Rd
, Rn
), QL_I2SAME
, F_SF
),
6513 CSSC_INSN ("cnt", 0x5ac01c00, 0x7ffffc00, OP2 (Rd
, Rn
), QL_I2SAME
, F_SF
),
6514 CSSC_INSN ("ctz", 0x5ac01800, 0x7ffffc00, OP2 (Rd
, Rn
), QL_I2SAME
, F_SF
),
6515 CSSC_INSN ("smax", 0x1ac06000, 0x7fe0fc00, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
),
6516 CSSC_INSN ("umax", 0x1ac06400, 0x7fe0fc00, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
),
6517 CSSC_INSN ("smin", 0x1ac06800, 0x7fe0fc00, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
),
6518 CSSC_INSN ("umin", 0x1ac06c00, 0x7fe0fc00, OP3 (Rd
, Rn
, Rm
), QL_I3SAMER
, F_SF
),
6520 /* FEAT_CLRBHB part of the hint space and available without special
6521 command-line flags. */
6522 CORE_INSN ("clrbhb", 0xd50322df, 0xffffffff, ic_system
, 0, OP0 (), {}, F_ALIAS
),
6524 ITE_INSN ("trcit", 0xd50b72e0, 0xffffffe0, ic_system
, OP1 (Rt
), QL_I1X
, F_ALIAS
),
6526 /* Read check write compare and swap doubleword in memory instructions. */
6527 THE_INSN("rcwcas", 0x19200800, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6528 THE_INSN("rcwcasa", 0x19a00800, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6529 THE_INSN("rcwcasal", 0x19e00800, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6530 THE_INSN("rcwcasl", 0x19600800, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6532 /* Read check write compare and swap quadword in memory instructions. */
6533 D128_THE_INSN("rcwcasp", 0x19200c00, 0xffe0fc00, OP5 (Rs
, PAIRREG
, Rt
, PAIRREG
, ADDR_SIMPLE
), QL_X4NIL
, 0),
6534 D128_THE_INSN("rcwcaspa", 0x19a00c00, 0xffe0fc00, OP5 (Rs
, PAIRREG
, Rt
, PAIRREG
, ADDR_SIMPLE
), QL_X4NIL
, 0),
6535 D128_THE_INSN("rcwcaspal", 0x19e00c00, 0xffe0fc00, OP5 (Rs
, PAIRREG
, Rt
, PAIRREG
, ADDR_SIMPLE
), QL_X4NIL
, 0),
6536 D128_THE_INSN("rcwcaspl", 0x19600c00, 0xffe0fc00, OP5 (Rs
, PAIRREG
, Rt
, PAIRREG
, ADDR_SIMPLE
), QL_X4NIL
, 0),
6538 /* Read check write software compare and swap doubleword in memory
6540 THE_INSN("rcwscas", 0x59200800, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6541 THE_INSN("rcwscasa", 0x59a00800, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6542 THE_INSN("rcwscasal", 0x59e00800, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6543 THE_INSN("rcwscasl", 0x59600800, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6545 /* Read check write software compare and swap quadword in memory
6547 D128_THE_INSN("rcwscasp", 0x59200c00, 0xffe0fc00, OP5 (Rs
, PAIRREG
, Rt
, PAIRREG
, ADDR_SIMPLE
), QL_X4NIL
, 0),
6548 D128_THE_INSN("rcwscaspa", 0x59a00c00, 0xffe0fc00, OP5 (Rs
, PAIRREG
, Rt
, PAIRREG
, ADDR_SIMPLE
), QL_X4NIL
, 0),
6549 D128_THE_INSN("rcwscaspal", 0x59e00c00, 0xffe0fc00, OP5 (Rs
, PAIRREG
, Rt
, PAIRREG
, ADDR_SIMPLE
), QL_X4NIL
, 0),
6550 D128_THE_INSN("rcwscaspl", 0x59600c00, 0xffe0fc00, OP5 (Rs
, PAIRREG
, Rt
, PAIRREG
, ADDR_SIMPLE
), QL_X4NIL
, 0),
6552 /* Read check write atomic bit clear on doubleword in memory instructions. */
6553 THE_INSN("rcwclr", 0x38209000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6554 THE_INSN("rcwclra", 0x38a09000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6555 THE_INSN("rcwclral", 0x38e09000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6556 THE_INSN("rcwclrl", 0x38609000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6558 /* Read check write atomic bit clear on quadword in memory instructions. */
6559 D128_THE_INSN("rcwclrp", 0x19209000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6560 D128_THE_INSN("rcwclrpa", 0x19a09000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6561 D128_THE_INSN("rcwclrpal", 0x19e09000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6562 D128_THE_INSN("rcwclrpl", 0x19609000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6564 /* Read check write software atomic bit clear on doubleword in memory
6566 THE_INSN("rcwsclr", 0x78209000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6567 THE_INSN("rcwsclra", 0x78a09000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6568 THE_INSN("rcwsclral", 0x78e09000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6569 THE_INSN("rcwsclrl", 0x78609000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6571 /* Read check write software atomic bit clear on quadword in memory
6573 D128_THE_INSN("rcwsclrp", 0x59209000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6574 D128_THE_INSN("rcwsclrpa", 0x59a09000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6575 D128_THE_INSN("rcwsclrpal", 0x59e09000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6576 D128_THE_INSN("rcwsclrpl", 0x59609000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6578 /* Read check write atomic bit set on doubleword in memory instructions. */
6579 THE_INSN("rcwset", 0x3820b000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6580 THE_INSN("rcwseta", 0x38a0b000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6581 THE_INSN("rcwsetal", 0x38e0b000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6582 THE_INSN("rcwsetl", 0x3860b000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6584 /* Read check write atomic bit set on quadword in memory instructions. */
6585 D128_THE_INSN("rcwsetp", 0x1920b000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6586 D128_THE_INSN("rcwsetpa", 0x19a0b000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6587 D128_THE_INSN("rcwsetpal", 0x19e0b000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6588 D128_THE_INSN("rcwsetpl", 0x1960b000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6590 /* Read check write software atomic bit set on doubleword in memory
6592 THE_INSN("rcwsset", 0x7820b000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6593 THE_INSN("rcwsseta", 0x78a0b000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6594 THE_INSN("rcwssetal", 0x78e0b000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6595 THE_INSN("rcwssetl", 0x7860b000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6597 /* Read check write software atomic bit set on quadword in memory
6599 D128_THE_INSN("rcwssetp", 0x5920b000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6600 D128_THE_INSN("rcwssetpa", 0x59a0b000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6601 D128_THE_INSN("rcwssetpal", 0x59e0b000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6602 D128_THE_INSN("rcwssetpl", 0x5960b000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6604 /* Read check write swap doubleword in memory instructions. */
6605 THE_INSN("rcwswp", 0x3820a000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6606 THE_INSN("rcwswpa", 0x38a0a000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6607 THE_INSN("rcwswpal", 0x38e0a000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6608 THE_INSN("rcwswpl", 0x3860a000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6610 /* Read check write swap quadword in memory instructions. */
6611 D128_THE_INSN("rcwswpp", 0x1920a000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6612 D128_THE_INSN("rcwswppa", 0x19a0a000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6613 D128_THE_INSN("rcwswppal", 0x19e0a000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6614 D128_THE_INSN("rcwswppl", 0x1960a000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6616 /* Read check write software swap doubleword in memory instructions. */
6617 THE_INSN("rcwsswp", 0x7820a000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6618 THE_INSN("rcwsswpa", 0x78a0a000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6619 THE_INSN("rcwsswpal", 0x78e0a000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6620 THE_INSN("rcwsswpl", 0x7860a000, 0xffe0fc00, OP3 (Rs
, Rt
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6622 /* Read check write software swap quadword in memory instructions. */
6623 D128_THE_INSN("rcwsswpp", 0x5920a000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6624 D128_THE_INSN("rcwsswppa", 0x59a0a000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6625 D128_THE_INSN("rcwsswppal", 0x59e0a000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6626 D128_THE_INSN("rcwsswppl", 0x5960a000, 0xffe0fc00, OP3 (Rt
, Rs
, ADDR_SIMPLE
), QL_X2NIL
, 0),
6628 /* BFloat16 SVE Instructions. */
6629 B16B16_SVE2_INSNC("bfadd", 0x65008000, 0xffffe000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_SMSS
, 0, C_SCAN_MOVPRFX
, 2),
6630 B16B16_SVE2_INSNC("bfmax", 0x65068000, 0xffffe000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_SMSS
, 0, C_SCAN_MOVPRFX
, 2),
6631 B16B16_SVE2_INSNC("bfmaxnm", 0x65048000, 0xffffe000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_SMSS
, 0, C_SCAN_MOVPRFX
, 2),
6632 B16B16_SVE2_INSNC("bfmin", 0x65078000, 0xffffe000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_SMSS
, 0, C_SCAN_MOVPRFX
, 2),
6633 B16B16_SVE2_INSNC("bfminnm", 0x65058000, 0xffffe000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_SMSS
, 0, C_SCAN_MOVPRFX
, 2),
6634 B16B16_SVE2_INSNC("bfmla", 0x65200000, 0xffe0e000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMSS
, 0, C_SCAN_MOVPRFX
, 0),
6635 B16B16_SVE2_INSNC("bfmls", 0x65202000, 0xffe0e000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMSS
, 0, C_SCAN_MOVPRFX
, 0),
6636 B16B16_SVE2_INSNC("bfmul", 0x65028000, 0xffffe000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_SMSS
, 0, C_SCAN_MOVPRFX
, 2),
6637 B16B16_SVE2_INSNC("bfsub", 0x65018000, 0xffffe000, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_SMSS
, 0, C_SCAN_MOVPRFX
, 2),
6638 B16B16_SVE2_INSNC("bfclamp", 0x64202400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_HHH
, 0, C_SCAN_MOVPRFX
, 0),
6639 B16B16_SVE2_INSNC("bfmla", 0x64200800, 0xffa0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_22_INDEX
), OP_SVE_VVV_H
, 0, C_SCAN_MOVPRFX
, 0),
6640 B16B16_SVE2_INSNC("bfmls", 0x64200c00, 0xffa0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_22_INDEX
), OP_SVE_VVV_H
, 0, C_SCAN_MOVPRFX
, 0),
6641 B16B16_SVE2_INSN("bfadd", 0x65000000, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_HHH
, 0, 0),
6642 B16B16_SVE2_INSN("bfmul", 0x65000800, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_HHH
, 0, 0),
6643 B16B16_SVE2_INSN("bfsub", 0x65000400, 0xffe0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_HHH
, 0, 0),
6644 B16B16_SVE2_INSN("bfmul", 0x64202800, 0xffa0fc00, sve_misc
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_22_INDEX
), OP_SVE_VVV_H
, 0, 0),
6646 /* SME2.1 movaz instructions. */
6647 SME2p1_INSN ("movaz", 0xc0060600, 0xffff1f83, sme2_movaz
, 0, OP2 (SME_Zdnx4
, SME_ZA_array_vrsb_2
), OP_SVE_BB
, 0, 0),
6648 SME2p1_INSN ("movaz", 0xc0460600, 0xffff1f83, sme2_movaz
, 0, OP2 (SME_Zdnx4
, SME_ZA_array_vrsh_2
), OP_SVE_HH
, 0, 0),
6649 SME2p1_INSN ("movaz", 0xc0860600, 0xffff1f83, sme2_movaz
, 0, OP2 (SME_Zdnx4
, SME_ZA_array_vrss_2
), OP_SVE_SS
, 0, 0),
6650 SME2p1_INSN ("movaz", 0xc0c60600, 0xffff1f03, sme2_movaz
, 0, OP2 (SME_Zdnx4
, SME_ZA_array_vrsd_2
), OP_SVE_DD
, 0, 0),
6652 SME2p1_INSN ("movaz", 0xc0060200, 0xffff1f01, sme2_movaz
, 0, OP2 (SME_Zdnx2
, SME_ZA_array_vrsb_1
), OP_SVE_BB
, 0, 0),
6653 SME2p1_INSN ("movaz", 0xc0460200, 0xffff1f01, sme2_movaz
, 0, OP2 (SME_Zdnx2
, SME_ZA_array_vrsh_1
), OP_SVE_HH
, 0, 0),
6654 SME2p1_INSN ("movaz", 0xc0860200, 0xffff1f01, sme2_movaz
, 0, OP2 (SME_Zdnx2
, SME_ZA_array_vrss_1
), OP_SVE_SS
, 0, 0),
6655 SME2p1_INSN ("movaz", 0xc0c60200, 0xffff1f01, sme2_movaz
, 0, OP2 (SME_Zdnx2
, SME_ZA_array_vrsd_1
), OP_SVE_DD
, 0, 0),
6657 SME2p1_INSN ("luti2", 0xc09c4000, 0xfffc4c08, sme_size_12_bh
, 0, OP3 (SME_Ztx2_STRIDED
, SME_ZT0
, SME_Zn_INDEX3_15
), OP_SVE_VUU_BH
, 0, 0),
6658 SME2p1_INSN ("luti2", 0xc09c8000, 0xfffccc0c, sme_size_12_bh
, 0, OP3 (SME_Ztx4_STRIDED
, SME_ZT0
, SME_Zn_INDEX2_16
), OP_SVE_VUU_BH
, 0, 0),
6659 SME2p1_INSN ("luti4", 0xc09a4000, 0xfffe4c08, sme_size_12_bh
, 0, OP3 (SME_Ztx2_STRIDED
, SME_ZT0
, SME_Zn_INDEX2_15
), OP_SVE_VUU_BH
, 0, 0),
6660 SME2p1_INSN ("luti4", 0xc09a9000, 0xfffefc0c, sme_misc
, 0, OP3 (SME_Ztx4_STRIDED
, SME_ZT0
, SME_Zn_INDEX1_16
), OP_SVE_HUU
, 0, 0),
6662 /* SME2.1 MOVAZ (array to vector, two registers). */
6663 SME2p1_INSN ("movaz", 0xc0060a00, 0xffff9f01, sme2_movaz
, 0, OP2 (SME_Zdnx2
, SME_ZA_array_off3_5
), OP_SVE_VV_D
, F_OD (2), 0),
6665 /* SME2.1 MOVAZ (array to vector, four registers). */
6666 SME2p1_INSN ("movaz", 0xc0060e00, 0xffff9f03, sme2_movaz
, 0, OP2 (SME_Zdnx4
, SME_ZA_array_off3_5
), OP_SVE_VV_D
, F_OD (4), 0),
6668 /* SME2.1 MOVAZ (tile to vector, single). */
6669 SME2p1_INSN ("movaz", 0xc0020200, 0xffff1e00, sme2_movaz
, 0, OP2 (SVE_Zd
, SME_ZA_ARRAY4
), OP_SVE_BB
, 0, 0),
6670 SME2p1_INSN ("movaz", 0xc0420200, 0xffff1e00, sme2_movaz
, 0, OP2 (SVE_Zd
, SME_ZA_ARRAY4
), OP_SVE_HH
, 0, 0),
6671 SME2p1_INSN ("movaz", 0xc0820200, 0xffff1e00, sme2_movaz
, 0, OP2 (SVE_Zd
, SME_ZA_ARRAY4
), OP_SVE_SS
, 0, 0),
6672 SME2p1_INSN ("movaz", 0xc0c20200, 0xffff1e00, sme2_movaz
, 0, OP2 (SVE_Zd
, SME_ZA_ARRAY4
), OP_SVE_DD
, 0, 0),
6673 SME2p1_INSN ("movaz", 0xc0c30200, 0xffff1e00, sme2_movaz
, 0, OP2 (SVE_Zd
, SME_ZA_ARRAY4
), OP_SVE_QQ
, 0, 0),
6675 /* ZERO (single-vector). */
6676 SME2p1_INSN ("zero", 0xc00c0000, 0xffff9ff8, sme2_movaz
, 0, OP1 (SME_ZA_array_off3_0
), OP_SVE_D
, F_OD (2) | F_VG_REQ
, 0),
6677 SME2p1_INSN ("zero", 0xc00e0000, 0xffff9ff8, sme2_movaz
, 0, OP1 (SME_ZA_array_off3_0
), OP_SVE_D
, F_OD (4) | F_VG_REQ
, 0),
6679 /* ZERO (double-vector). */
6680 SME2p1_INSN ("zero", 0xc00c8000, 0xffff9ff8, sme2_movaz
, 0, OP1 (SME_ZA_array_off3x2
), OP_SVE_D
, 0, 0),
6681 SME2p1_INSN ("zero", 0xc00d0000, 0xffff9ffc, sme2_movaz
, 0, OP1 (SME_ZA_array_off2x2
), OP_SVE_D
, F_OD (2) | F_VG_REQ
, 0),
6682 SME2p1_INSN ("zero", 0xc00d8000, 0xffff9ffc, sme2_movaz
, 0, OP1 (SME_ZA_array_off2x2
), OP_SVE_D
, F_OD (4) | F_VG_REQ
, 0),
6684 /* ZERO (quad-vector). */
6685 SME2p1_INSN ("zero", 0xc00e8000, 0xffff9ffc, sme2_movaz
, 0, OP1 (SME_ZA_array_off2x4
), OP_SVE_D
, 0, 0),
6686 SME2p1_INSN ("zero", 0xc00f0000, 0xffff9ffe, sme2_movaz
, 0, OP1 (SME_ZA_array_off1x4
), OP_SVE_D
, F_OD (2) | F_VG_REQ
, 0),
6687 SME2p1_INSN ("zero", 0xc00f8000, 0xffff9ffe, sme2_movaz
, 0, OP1 (SME_ZA_array_off1x4
), OP_SVE_D
, F_OD (4) | F_VG_REQ
, 0),
6689 /* SVE2p1 Instructions. */
6690 SVE2p1_INSN("addqv",0x04052000, 0xff3fe000, sve2_urqvs
, 0, OP3 (Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_vUS_BHSD_BHSD
, F_OPD_SIZE
, 0),
6691 SVE2p1_INSN("andqv",0x041e2000, 0xff3fe000, sve2_urqvs
, 0, OP3 (Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_vUS_BHSD_BHSD
, F_OPD_SIZE
, 0),
6692 SVE2p1_INSN("smaxqv",0x040c2000, 0xff3fe000, sve2_urqvs
, 0, OP3 (Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_vUS_BHSD_BHSD
, F_OPD_SIZE
, 0),
6693 SVE2p1_INSN("sminqv",0x040e2000, 0xff3fe000, sve2_urqvs
, 0, OP3 (Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_vUS_BHSD_BHSD
, F_OPD_SIZE
, 0),
6694 SVE2p1_INSN("umaxqv",0x040d2000, 0xff3fe000, sve2_urqvs
, 0, OP3 (Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_vUS_BHSD_BHSD
, F_OPD_SIZE
, 0),
6695 SVE2p1_INSN("uminqv",0x040f2000, 0xff3fe000, sve2_urqvs
, 0, OP3 (Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_vUS_BHSD_BHSD
, F_OPD_SIZE
, 0),
6696 SVE2p1_INSN("eorqv",0x041d2000, 0xff3fe000, sve2_urqvs
, 0, OP3 (Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_vUS_BHSD_BHSD
, F_OPD_SIZE
, 0),
6697 SVE2p1_INSN("faddqv",0x6410a000, 0xff3fe000, sve2_urqvs
, 0, OP3 (Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_vUS_HSD_HSD
, F_OPD_SIZE
, 0),
6698 SVE2p1_INSN("fmaxnmqv",0x6414a000, 0xff3fe000, sve2_urqvs
, 0, OP3 (Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_vUS_HSD_HSD
, F_OPD_SIZE
, 0),
6699 SVE2p1_INSN("fmaxqv",0x6416a000, 0xff3fe000, sve2_urqvs
, 0, OP3 (Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_vUS_HSD_HSD
, F_OPD_SIZE
, 0),
6700 SVE2p1_INSN("fminnmqv",0x6415a000, 0xff3fe000, sve2_urqvs
, 0, OP3 (Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_vUS_HSD_HSD
, F_OPD_SIZE
, 0),
6701 SVE2p1_INSN("fminqv",0x6417a000, 0xff3fe000, sve2_urqvs
, 0, OP3 (Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_vUS_HSD_HSD
, F_OPD_SIZE
, 0),
6703 SVE2p1_INSN("dupq",0x05202400, 0xffe0fc00, sve_index
, 0, OP2 (SVE_Zd
, SVE_Zn_5_INDEX
), OP_SVE_VV_BHSD
, 0, 0),
6704 SVE2p1_INSN("orqv",0x041c2000, 0xff3fe000, sve2_urqvs
, 0, OP3 (Vd
, SVE_Pg3
, SVE_Zn
), OP_SVE_vUS_BHSD_BHSD
, F_OPD_SIZE
, 0),
6705 SVE2p1_INSN("tblq",0x4400f800, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_ZnxN
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, F_OD(1), 0),
6706 SVE2p1_INSN("tbxq",0x05203400, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
6707 SVE2p1_INSNC("extq",0x05602400, 0xfff0fc00, sve_misc
, 0, OP4 (SVE_Zd
, SVE_Zd
, SVE_Zm_5
, SVE_UIMM4
), OP_SVE_BBBU
, 0, C_SCAN_MOVPRFX
, 1),
6708 SVE2p1_INSN("uzpq1",0x4400e800, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
6709 SVE2p1_INSN("uzpq2",0x4400ec00, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
6710 SVE2p1_INSN("zipq1",0x4400e000, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
6711 SVE2p1_INSN("zipq2",0x4400e400, 0xff20fc00, sve_size_bhsd
, 0, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_BHSD
, 0, 0),
6713 SVE2p1_INSN("pmov",0x052a3800, 0xfffffc10, sve_misc
, 0, OP2 (SVE_Pd
, SVE_Zn0_INDEX
), OP_SVE_BU
, 0, 0),
6714 SVE2p1_INSN("pmov",0x052c3800, 0xfffdfc10, sve_misc
, 0, OP2 (SVE_Pd
, SVE_Zn1_17_INDEX
), OP_SVE_HU
, 0, 0),
6715 SVE2p1_INSN("pmov",0x05683800, 0xfff9fc10, sve_misc
, 0, OP2 (SVE_Pd
, SVE_Zn2_18_INDEX
), OP_SVE_SU
, 0, 0),
6716 SVE2p1_INSN("pmov",0x05a83800, 0xffb9fc10, sve_misc
, 0, OP2 (SVE_Pd
, SVE_Zn3_22_INDEX
), OP_SVE_DU
, 0, 0),
6718 SVE2p1_INSN("pmov",0x052b3800, 0xfffffe00, sve_misc
, 0, OP2 (SVE_Zd0_INDEX
, SVE_Pg4_5
), OP_SVE_UB
, 0, 0),
6719 SVE2p1_INSN("pmov",0x052d3800, 0xfffdfe00, sve_misc
, 0, OP2 (SVE_Zd1_17_INDEX
, SVE_Pg4_5
), OP_SVE_UH
, 0, 0),
6720 SVE2p1_INSN("pmov",0x05693800, 0xfff9fe00, sve_misc
, 0, OP2 (SVE_Zd2_18_INDEX
, SVE_Pg4_5
), OP_SVE_US
, 0, 0),
6721 SVE2p1_INSN("pmov",0x05a93800, 0xffb9fe00, sve_misc
, 0, OP2 (SVE_Zd3_22_INDEX
, SVE_Pg4_5
), OP_SVE_UD
, 0, 0),
6723 SVE2p1_INSN("ld1q",0xc400a000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_QZD
, F_OD (1), 0),
6724 SVE2p1_INSN("ld2q",0xa490e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_QZU
, F_OD (2), 0),
6725 SVE2p1_INSN("ld3q",0xa510e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x3xVL
), OP_SVE_QZU
, F_OD (3), 0),
6726 SVE2p1_INSN("ld4q",0xa590e000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_QZU
, F_OD (4), 0),
6727 SVE2p1_INSN("ld2q",0xa4a08000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL4
), OP_SVE_QZU
, F_OD (2), 0),
6728 SVE2p1_INSN("ld3q",0xa5208000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL4
), OP_SVE_QZU
, F_OD (3), 0),
6729 SVE2p1_INSN("ld4q",0xa5a08000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL4
), OP_SVE_QZU
, F_OD (4), 0),
6731 SVE2p1_INSN("st1q",0xe4202000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_ZX
), OP_SVE_QUD
, F_OD (1), 0),
6732 SVE2p1_INSN("st2q",0xe4400000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x2xVL
), OP_SVE_QUU
, F_OD (2), 0),
6733 SVE2p1_INSN("st3q",0xe4800000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x3xVL
), OP_SVE_QUU
, F_OD (3), 0),
6734 SVE2p1_INSN("st4q",0xe4c00000, 0xfff0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RI_S4x4xVL
), OP_SVE_QUU
, F_OD (4), 0),
6735 SVE2p1_INSN("st2q",0xe4600000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL4
), OP_SVE_QUU
, F_OD (2), 0),
6736 SVE2p1_INSN("st3q",0xe4a00000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL4
), OP_SVE_QUU
, F_OD (3), 0),
6737 SVE2p1_INSN("st4q",0xe4e00000, 0xffe0e000, sve_misc
, 0, OP3 (SVE_ZtxN
, SVE_Pg3
, SVE_ADDR_RX_LSL4
), OP_SVE_QUU
, F_OD (4), 0),
6739 FP8_INSN("bf1cvtl", 0x2ea17800, 0xfffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2_HB_LOWER
, 0),
6740 FP8_INSN("bf1cvtl2", 0x6ea17800, 0xfffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2_HB_FULL
, 0),
6741 FP8_INSN("bf2cvtl", 0x2ee17800, 0xfffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2_HB_LOWER
, 0),
6742 FP8_INSN("bf2cvtl2", 0x6ee17800, 0xfffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2_HB_FULL
, 0),
6743 FP8_INSN("f1cvtl", 0x2e217800, 0xfffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2_HB_LOWER
, 0),
6744 FP8_INSN("f1cvtl2", 0x6e217800, 0xfffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2_HB_FULL
, 0),
6745 FP8_INSN("f2cvtl", 0x2e617800, 0xfffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2_HB_LOWER
, 0),
6746 FP8_INSN("f2cvtl2", 0x6e617800, 0xfffffc00, asimdmisc
, OP2 (Vd
, Vn
), QL_V2_HB_FULL
, 0),
6747 FP8_INSN("fcvtn", 0x0e00f400, 0xffe0fc00, asimdmisc
, OP3 (Vd
, Vn
, Vm
), QL_V3_BSS_LOWER
, 0),
6748 FP8_INSN("fcvtn2", 0x4e00f400, 0xffe0fc00, asimdmisc
, OP3 (Vd
, Vn
, Vm
), QL_V3_BSS_FULL
, 0),
6749 FP8_INSN("fcvtn", 0x0e40f400, 0xbfe0fc00, asimdmisc
, OP3 (Vd
, Vn
, Vm
), QL_V3_BHH
, F_SIZEQ
),
6750 FP8_INSN("fscale", 0x2ec03c00, 0xbfe0fc00, asimdmisc
, OP3 (Vd
, Vn
, Vm
), QL_VSHIFT_H
, F_SIZEQ
),
6751 FP8_INSN("fscale", 0x2ea0fc00, 0xbfa0fc00, asimdmisc
, OP3 (Vd
, Vn
, Vm
), QL_V3SAMESD
, F_SIZEQ
),
6752 FP8_SVE2_INSN ("bf1cvt", 0x65083800, 0xfffffc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6753 FP8_SVE2_INSN ("bf2cvt", 0x65083c00, 0xfffffc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6754 FP8_SVE2_INSN ("bf1cvtlt", 0x65093800, 0xfffffc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6755 FP8_SVE2_INSN ("bf2cvtlt", 0x65093c00, 0xfffffc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6756 FP8_SVE2_INSN ("f1cvt", 0x65083000, 0xfffffc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6757 FP8_SVE2_INSN ("f2cvt", 0x65083400, 0xfffffc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6758 FP8_SVE2_INSN ("f1cvtlt", 0x65093000, 0xfffffc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6759 FP8_SVE2_INSN ("f2cvtlt", 0x65093400, 0xfffffc00, sve_misc
, 0, OP2 (SVE_Zd
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6760 FP8_SVE2_INSN ("bfcvtn", 0x650a3800, 0xfffffc20, sve_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_BH
, 0, 0),
6761 FP8_SVE2_INSN ("fcvtn", 0x650a3000, 0xfffffc20, sve_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_BH
, 0, 0),
6762 FP8_SVE2_INSN ("fcvtnb", 0x650a3400, 0xfffffc20, sve_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_BS
, 0, 0),
6763 FP8_SVE2_INSN ("fcvtnt", 0x650a3c00, 0xfffffc20, sve_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_BS
, 0, 0),
6764 FP8_SME2_INSN ("bf1cvt", 0xc166e000, 0xfffffc01, sme_misc
, 0, OP2 (SME_Zdnx2
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6765 FP8_SME2_INSN ("bf2cvt", 0xc1e6e000, 0xfffffc01, sme_misc
, 0, OP2 (SME_Zdnx2
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6766 FP8_SME2_INSN ("bf1cvtl", 0xc166e001, 0xfffffc01, sme_misc
, 0, OP2 (SME_Zdnx2
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6767 FP8_SME2_INSN ("bf2cvtl", 0xc1e6e001, 0xfffffc01, sme_misc
, 0, OP2 (SME_Zdnx2
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6768 FP8_SME2_INSN ("bfcvt", 0xc164e000, 0xfffffc20, sme_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_BH
, 0, 0),
6769 FP8_SME2_INSN ("f1cvt", 0xc126e000, 0xfffffc01, sme_misc
, 0, OP2 (SME_Zdnx2
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6770 FP8_SME2_INSN ("f2cvt", 0xc1a6e000, 0xfffffc01, sme_misc
, 0, OP2 (SME_Zdnx2
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6771 FP8_SME2_INSN ("f1cvtl", 0xc126e001, 0xfffffc01, sme_misc
, 0, OP2 (SME_Zdnx2
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6772 FP8_SME2_INSN ("f2cvtl", 0xc1a6e001, 0xfffffc01, sme_misc
, 0, OP2 (SME_Zdnx2
, SVE_Zn
), OP_SVE_HB
, 0, 0),
6773 FP8_SME2_INSN ("fcvt", 0xc124e000, 0xfffffc20, sme_misc
, 0, OP2 (SVE_Zd
, SME_Znx2
), OP_SVE_BH
, 0, 0),
6774 FP8_SME2_INSN ("fcvt", 0xc134e000, 0xfffffc60, sme_misc
, 0, OP2 (SVE_Zd
, SME_Znx4
), OP_SVE_BS
, 0, 0),
6775 FP8_SME2_INSN ("fcvtn", 0xc134e020, 0xfffffc60, sme_misc
, 0, OP2 (SVE_Zd
, SME_Znx4
), OP_SVE_BS
, 0, 0),
6776 FP8_SME2_INSN ("fscale", 0xc120a180, 0xff30ffe1, sme_size_22_hsd
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zm
), OP_SVE_VVV_HSD
, 0, 1),
6777 FP8_SME2_INSN ("fscale", 0xc120a980, 0xff30ffe3, sme_size_22_hsd
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zm
), OP_SVE_VVV_HSD
, 0, 1),
6778 FP8_SME2_INSN ("fscale", 0xc120b180, 0xff21ffe1, sme_size_22_hsd
, 0, OP3 (SME_Zdnx2
, SME_Zdnx2
, SME_Zmx2
), OP_SVE_VVV_HSD
, 0, 1),
6779 FP8_SME2_INSN ("fscale", 0xc120b980, 0xff23ffe3, sme_size_22_hsd
, 0, OP3 (SME_Zdnx4
, SME_Zdnx4
, SME_Zmx4
), OP_SVE_VVV_HSD
, 0, 1),
6781 /* Checked Pointer Arithmetic Instructions. */
6782 CPA_INSN ("addpt", 0x9a002000, 0xffe0e000, aarch64_misc
, OP3 (Rd_SP
, Rn_SP
, Rm_LSL
), QL_I3SAMEX
),
6783 CPA_INSN ("subpt", 0xda002000, 0xffe0e000, aarch64_misc
, OP3 (Rd_SP
, Rn_SP
, Rm_LSL
), QL_I3SAMEX
),
6784 CPA_INSN ("maddpt", 0x9b600000, 0xffe08000, aarch64_misc
, OP4 (Rd
, Rn
, Rm
, Ra
), QL_I4SAMEX
),
6785 CPA_INSN ("msubpt", 0x9b608000, 0xffe08000, aarch64_misc
, OP4 (Rd
, Rn
, Rm
, Ra
), QL_I4SAMEX
),
6787 CPA_SVE_INSNC ("addpt", 0x04c40000, 0xffffe000, sve_misc
, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_D
, C_SCAN_MOVPRFX
, 2),
6788 CPA_SVE_INSNC ("addpt", 0x04e00800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_D
, 0, 0),
6789 CPA_SVE_INSNC ("subpt", 0x04c50000, 0xffffe000, sve_misc
, OP4 (SVE_Zd
, SVE_Pg3
, SVE_Zd
, SVE_Zm_5
), OP_SVE_VMVV_D
, C_SCAN_MOVPRFX
, 2),
6790 CPA_SVE_INSNC ("subpt", 0x04e00c00, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_D
, 0, 0),
6792 CPA_SVE_INSNC ("madpt", 0x44c0d800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zm_16
, SVE_Za_5
), OP_SVE_VVV_D
, C_SCAN_MOVPRFX
, 0),
6793 CPA_SVE_INSNC ("mlapt", 0x44c0d000, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_D
, C_SCAN_MOVPRFX
, 0),
6796 LUT_INSN ("luti2", 0x4e801000, 0xffe09c00, OP3 (Vd
, LVn_LUT
, Em_INDEX2_13
), QL_VVUB
, F_OD(1)),
6797 LUT_INSN ("luti2", 0x4ec00000, 0xffe08c00, OP3 (Vd
, LVn_LUT
, Em_INDEX3_12
), QL_VVUH
, F_OD(1)),
6798 LUT_INSN ("luti4", 0x4e402000, 0xffe0bc00, OP3 (Vd
, LVn_LUT
, Em_INDEX1_14
), QL_VVUB
, F_OD(1)),
6799 LUT_INSN ("luti4", 0x4e401000, 0xffe09c00, OP3 (Vd
, LVn_LUT
, Em_INDEX2_13
), QL_VVUH
, F_OD(2)),
6802 LUT_SVE2_INSN ("luti2", 0x4520b000, 0xff20fc00, OP3 (SVE_Zd
, SVE_ZnxN
, SVE_Zm2_22_INDEX
), OP_SVE_BBU
, F_OD(1), 0),
6803 LUT_SVE2_INSN ("luti2", 0x4520a800, 0xff20ec00, OP3 (SVE_Zd
, SVE_ZnxN
, SVE_Zm3_12_INDEX
), OP_SVE_HHU
, F_OD(1), 0),
6804 LUT_SVE2_INSN ("luti4", 0x4560a400, 0xff60fc00, OP3 (SVE_Zd
, SVE_ZnxN
, SVE_Zm1_23_INDEX
), OP_SVE_BBU
, F_OD(1), 0),
6805 LUT_SVE2_INSN ("luti4", 0x4520b400, 0xff20fc00, OP3 (SVE_Zd
, SVE_ZnxN
, SVE_Zm2_22_INDEX
), OP_SVE_HHU
, F_OD(2), 0),
6806 LUT_SVE2_INSN ("luti4", 0x4520bc00, 0xff20fc00, OP3 (SVE_Zd
, SVE_ZnxN
, SVE_Zm2_22_INDEX
), OP_SVE_HHU
, F_OD(1), 0),
6809 LUTv2_SME2_INSN ("luti4", 0xc08b0000, 0xffffcc23, sme_size_12_b
, OP3 (SME_Zdnx4
, SME_ZT0
, SME_Znx2_BIT_INDEX
), OP_SVE_VUU_B
, F_STRICT
| 0),
6810 LUTv2_SME2_INSN ("luti4", 0xc09b0000, 0xffffcc2c, sme_size_12_b
, OP3 (SME_Zdnx4_STRIDED
, SME_ZT0
, SME_Znx2_BIT_INDEX
), OP_SVE_VUU_B
, F_STRICT
| 0),
6811 LUTv2_SME2_INSN ("movt", 0xc04f03e0, 0xffffcfe0, sme_misc
, OP2 (SME_ZT0_INDEX2_12
, SVE_Zt
), {}, 0),
6812 /* SME FP16 ZA-targeting addition instructions. */
6813 SME_F16F16_F8F16_INSNC("fadd", 0xc1a41c00, 0xffff9c38, sme_misc
, OP2 (SME_ZA_array_off3_0
, SME_Znx2
), OP_SVE_HH
, F_OD (2), 0),
6814 SME_F16F16_F8F16_INSNC("fadd", 0xc1a51c00, 0xffff9c78, sme_misc
, OP2 (SME_ZA_array_off3_0
, SME_Znx4
), OP_SVE_HH
, F_OD (4), 0),
6815 SME_F16F16_F8F16_INSNC("fsub", 0xc1a41c08, 0xffff9c38, sme_misc
, OP2 (SME_ZA_array_off3_0
, SME_Znx2
), OP_SVE_HH
, F_OD (2), 0),
6816 SME_F16F16_F8F16_INSNC("fsub", 0xc1a51c08, 0xffff9c78, sme_misc
, OP2 (SME_ZA_array_off3_0
, SME_Znx4
), OP_SVE_HH
, F_OD (4), 0),
6818 /* FP8 multiplication AdvSIMD instructions. */
6819 FP8DOT4_INSN("fdot", 0x0e00fc00, 0xbfe0fc00, dotproduct
, OP3 (Vd
, Vn
, Vm
), QL_V3DOT
, F_SIZEQ
),
6820 FP8DOT4_INSN("fdot", 0x0f000000, 0xbfc0f400, dotproduct
, OP3 (Vd
, Vn
, Em
), QL_V2DOT
, F_SIZEQ
),
6821 FP8DOT2_INSN("fdot", 0x0e40fc00, 0xbfe0fc00, dotproduct
, OP3 (Vd
, Vn
, Vm
), QL_V3DOTH
, F_SIZEQ
),
6822 FP8DOT2_INSN("fdot", 0x0f400000, 0xbfc0f400, dotproduct
, OP3 (Vd
, Vn
, Em16
), QL_V2DOTH
, F_SIZEQ
),
6823 FP8FMA_INSN("fmlalb", 0x0ec0fc00, 0xffe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3FML8H
, 0),
6824 FP8FMA_INSN("fmlalt", 0x4ec0fc00, 0xffe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3FML8H
, 0),
6825 FP8FMA_INSN("fmlalb", 0x0fc00000, 0xffc0f400, asimdsame
, OP3 (Vd
, Vn
, Em8
), QL_V2FML8H
, 0),
6826 FP8FMA_INSN("fmlalt", 0x4fc00000, 0xffc0f400, asimdsame
, OP3 (Vd
, Vn
, Em8
), QL_V2FML8H
, 0),
6827 FP8FMA_INSN("fmlallbb", 0x0e00c400, 0xffe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3FMLL4S
, 0),
6828 FP8FMA_INSN("fmlallbt", 0x0e40c400, 0xffe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3FMLL4S
, 0),
6829 FP8FMA_INSN("fmlalltb", 0x4e00c400, 0xffe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3FMLL4S
, 0),
6830 FP8FMA_INSN("fmlalltt", 0x4e40c400, 0xffe0fc00, asimdsame
, OP3 (Vd
, Vn
, Vm
), QL_V3FMLL4S
, 0),
6831 FP8FMA_INSN("fmlallbb", 0x2f008000, 0xffc0f400, asimdsame
, OP3 (Vd
, Vn
, Em8
), QL_V2FMLL4S
, 0),
6832 FP8FMA_INSN("fmlallbt", 0x2f408000, 0xffc0f400, asimdsame
, OP3 (Vd
, Vn
, Em8
), QL_V2FMLL4S
, 0),
6833 FP8FMA_INSN("fmlalltb", 0x6f008000, 0xffc0f400, asimdsame
, OP3 (Vd
, Vn
, Em8
), QL_V2FMLL4S
, 0),
6834 FP8FMA_INSN("fmlalltt", 0x6f408000, 0xffc0f400, asimdsame
, OP3 (Vd
, Vn
, Em8
), QL_V2FMLL4S
, 0),
6836 /* FP8 multiplication SVE instructions. */
6837 FP8DOT4_SVE_INSNC("fdot", 0x64608400, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_S_B
, 0, C_SCAN_MOVPRFX
, 0),
6838 FP8DOT4_SVE_INSNC("fdot", 0x64604400, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_INDEX
), OP_SVE_VVV_S_B
, 0, C_SCAN_MOVPRFX
, 0),
6839 FP8DOT2_SVE_INSNC("fdot", 0x64208400, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_H_B
, 0, C_SCAN_MOVPRFX
, 0),
6840 FP8DOT2_SVE_INSNC("fdot", 0x64204400, 0xffe0f400, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_11_INDEX
), OP_SVE_VVV_H_B
, 0, C_SCAN_MOVPRFX
, 0),
6841 FP8FMA_SVE_INSNC("fmlalb", 0x64a08800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_H_B
, 0, C_SCAN_MOVPRFX
, 0),
6842 FP8FMA_SVE_INSNC("fmlalb", 0x64205000, 0xffe0f000, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_10_INDEX
), OP_SVE_VVV_H_B
, 0, C_SCAN_MOVPRFX
, 0),
6843 FP8FMA_SVE_INSNC("fmlallbb", 0x64208800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_S_B
, 0, C_SCAN_MOVPRFX
, 0),
6844 FP8FMA_SVE_INSNC("fmlallbb", 0x6420c000, 0xffe0f000, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_10_INDEX
), OP_SVE_VVV_S_B
, 0, C_SCAN_MOVPRFX
, 0),
6845 FP8FMA_SVE_INSNC("fmlallbt", 0x64209800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_S_B
, 0, C_SCAN_MOVPRFX
, 0),
6846 FP8FMA_SVE_INSNC("fmlallbt", 0x6460c000, 0xffe0f000, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_10_INDEX
), OP_SVE_VVV_S_B
, 0, C_SCAN_MOVPRFX
, 0),
6847 FP8FMA_SVE_INSNC("fmlalltb", 0x6420a800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_S_B
, 0, C_SCAN_MOVPRFX
, 0),
6848 FP8FMA_SVE_INSNC("fmlalltb", 0x64a0c000, 0xffe0f000, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_10_INDEX
), OP_SVE_VVV_S_B
, 0, C_SCAN_MOVPRFX
, 0),
6849 FP8FMA_SVE_INSNC("fmlalltt", 0x6420b800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_S_B
, 0, C_SCAN_MOVPRFX
, 0),
6850 FP8FMA_SVE_INSNC("fmlalltt", 0x64e0c000, 0xffe0f000, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_10_INDEX
), OP_SVE_VVV_S_B
, 0, C_SCAN_MOVPRFX
, 0),
6851 FP8FMA_SVE_INSNC("fmlalt", 0x64a09800, 0xffe0fc00, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm_16
), OP_SVE_VVV_H_B
, 0, C_SCAN_MOVPRFX
, 0),
6852 FP8FMA_SVE_INSNC("fmlalt", 0x64a05000, 0xffe0f000, sve_misc
, OP3 (SVE_Zd
, SVE_Zn
, SVE_Zm3_10_INDEX
), OP_SVE_VVV_H_B
, 0, C_SCAN_MOVPRFX
, 0),
6854 /* FP8 multiplication SME instructions. */
6855 SME_F8F32_INSNC("fdot", 0xc1500038, 0xfff09038, sme_misc
, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2
), OP_SVE_VVV_S_B
, F_OD (2), 0),
6856 SME_F8F32_INSNC("fdot", 0xc1508008, 0xfff09078, sme_misc
, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX2
), OP_SVE_VVV_S_B
, F_OD (4), 0),
6857 SME_F8F32_INSNC("fdot", 0xc1201018, 0xfff09c18, sme_misc
, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_S_B
, F_OD (2), 0),
6858 SME_F8F32_INSNC("fdot", 0xc1301018, 0xfff09c18, sme_misc
, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_S_B
, F_OD (4), 0),
6859 SME_F8F32_INSNC("fdot", 0xc1a01030, 0xffe19c38, sme_misc
, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zmx2
), OP_SVE_VVV_S_B
, F_OD (2), 0),
6860 SME_F8F32_INSNC("fdot", 0xc1a11030, 0xffe39c78, sme_misc
, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zmx4
), OP_SVE_VVV_S_B
, F_OD (4), 0),
6861 SME_F8F16_INSNC("fdot", 0xc1d00020, 0xfff09030, sme_misc
, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX3_3
), OP_SVE_VVV_H_B
, F_OD (2), 0),
6862 SME_F8F16_INSNC("fdot", 0xc1109040, 0xfff09070, sme_misc
, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zm_INDEX3_3
), OP_SVE_VVV_H_B
, F_OD (4), 0),
6863 SME_F8F16_INSNC("fdot", 0xc1201008, 0xfff09c18, sme_misc
, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_H_B
, F_OD (2), 0),
6864 SME_F8F16_INSNC("fdot", 0xc1301008, 0xfff09c18, sme_misc
, OP3 (SME_ZA_array_off3_0
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_H_B
, F_OD (4), 0),
6865 SME_F8F16_INSNC("fdot", 0xc1a01020, 0xffe19c38, sme_misc
, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zmx2
), OP_SVE_VVV_H_B
, F_OD (2), 0),
6866 SME_F8F16_INSNC("fdot", 0xc1a11020, 0xffe39c78, sme_misc
, OP3 (SME_ZA_array_off3_0
, SME_Znx4
, SME_Zmx4
), OP_SVE_VVV_H_B
, F_OD (4), 0),
6867 SME_F8F16_INSNC("fmlal", 0xc1c00000, 0xfff01010, sme_misc
, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm_INDEX4_3
), OP_SVE_VVV_H_B
, 0, 0),
6868 SME_F8F16_INSNC("fmlal", 0xc1901030, 0xfff09030, sme_misc
, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zm_INDEX4_2
), OP_SVE_VVV_H_B
, F_OD (2), 0),
6869 SME_F8F16_INSNC("fmlal", 0xc1909020, 0xfff09070, sme_misc
, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zm_INDEX4_2
), OP_SVE_VVV_H_B
, F_OD (4), 0),
6870 SME_F8F16_INSNC("fmlal", 0xc1300c00, 0xfff09c18, sme_misc
, OP3 (SME_ZA_array_off3x2
, SVE_Zn
, SME_Zm
), OP_SVE_VVV_H_B
, 0, 0),
6871 SME_F8F16_INSNC("fmlal", 0xc1200804, 0xfff09c1c, sme_misc
, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_H_B
, F_OD (2), 0),
6872 SME_F8F16_INSNC("fmlal", 0xc1300804, 0xfff09c1c, sme_misc
, OP3 (SME_ZA_array_off2x2
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_H_B
, F_OD (4), 0),
6873 SME_F8F16_INSNC("fmlal", 0xc1a00820, 0xffe19c3c, sme_misc
, OP3 (SME_ZA_array_off2x2
, SME_Znx2
, SME_Zmx2
), OP_SVE_VVV_H_B
, F_OD (2), 0),
6874 SME_F8F16_INSNC("fmlal", 0xc1a10820, 0xffe39c7c, sme_misc
, OP3 (SME_ZA_array_off2x2
, SME_Znx4
, SME_Zmx4
), OP_SVE_VVV_H_B
, F_OD (4), 0),
6875 SME_F8F32_INSNC("fmlall", 0xc1400000, 0xfff0001c, sme_misc
, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm_INDEX4_10
), OP_SVE_VVV_S_B
, 0, 0),
6876 SME_F8F32_INSNC("fmlall", 0xc1900020, 0xfff09038, sme_misc
, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zm_INDEX4_1
), OP_SVE_VVV_S_B
, F_OD (2), 0),
6877 SME_F8F32_INSNC("fmlall", 0xc1108040, 0xfff09078, sme_misc
, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zm_INDEX4_1
), OP_SVE_VVV_S_B
, F_OD (4), 0),
6878 SME_F8F32_INSNC("fmlall", 0xc1300400, 0xfff09c1c, sme_misc
, OP3 (SME_ZA_array_off2x4
, SVE_Zn
, SME_Zm
), OP_SVE_VVV_S_B
, 0, 0),
6879 SME_F8F32_INSNC("fmlall", 0xc1200002, 0xfff09c1e, sme_misc
, OP3 (SME_ZA_array_off1x4
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_S_B
, F_OD (2), 0),
6880 SME_F8F32_INSNC("fmlall", 0xc1300002, 0xfff09c1e, sme_misc
, OP3 (SME_ZA_array_off1x4
, SVE_ZnxN
, SME_Zm
), OP_SVE_VVV_S_B
, F_OD (4), 0),
6881 SME_F8F32_INSNC("fmlall", 0xc1a00020, 0xffe19c3e, sme_misc
, OP3 (SME_ZA_array_off1x4
, SME_Znx2
, SME_Zmx2
), OP_SVE_VVV_S_B
, F_OD (2), 0),
6882 SME_F8F32_INSNC("fmlall", 0xc1a10020, 0xffe39c7e, sme_misc
, OP3 (SME_ZA_array_off1x4
, SME_Znx4
, SME_Zmx4
), OP_SVE_VVV_S_B
, F_OD (4), 0),
6883 SME_F8F16_INSNC("fmopa", 0x80a00008, 0xffe0001e, sme_misc
, OP5 (SME_ZAda_1b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_HMMBB
, 0, 0),
6884 SME_F8F32_INSNC("fmopa", 0x80a00000, 0xffe0001c, sme_misc
, OP5 (SME_ZAda_2b
, SVE_Pg3
, SME_Pm
, SVE_Zn
, SVE_Zm_16
), OP_SVE_SMMBB
, 0, 0),
6885 SME_F8F16_INSNC("fvdot", 0xc1d01020, 0xfff09030, sme_misc
, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX3_3
), OP_SVE_VVV_H_B
, F_OD (2), 0),
6886 SME_F8F32_INSNC("fvdotb", 0xc1d00800, 0xfff09830, sme_misc
, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2_3
), OP_SVE_VVV_S_B
, F_OD (4), 0),
6887 SME_F8F32_INSNC("fvdott", 0xc1d00810, 0xfff09830, sme_misc
, OP3 (SME_ZA_array_off3_0
, SME_Znx2
, SME_Zm_INDEX2_3
), OP_SVE_VVV_S_B
, F_OD (4), 0),
6889 {0, 0, 0, 0, 0, 0, {}, {}, 0, 0, 0, NULL
},
6892 #ifdef AARCH64_OPERANDS
6893 #undef AARCH64_OPERANDS
6896 /* Macro-based operand decription; this will be fed into aarch64-gen for it
6897 to generate the structure aarch64_operands and the function
6898 aarch64_insert_operand and aarch64_extract_operand.
6900 These inserters and extracters in the description execute the conversion
6901 between the aarch64_opnd_info and value in the operand-related instruction
6904 /* Y expects arguments (left to right) to be operand class, inserter/extractor
6905 name suffix, operand name, flags, related bitfield(s) and description.
6906 X only differs from Y by having the operand inserter and extractor names
6907 listed separately. */
6909 #define AARCH64_OPERANDS \
6910 Y(INT_REG, regno, "Rd", 0, F(FLD_Rd), "an integer register") \
6911 Y(INT_REG, regno, "Rn", 0, F(FLD_Rn), "an integer register") \
6912 Y(INT_REG, regno, "Rm", 0, F(FLD_Rm), "an integer register") \
6913 Y(INT_REG, regno, "Rt", 0, F(FLD_Rt), "an integer register") \
6914 Y(INT_REG, regno, "Rt2", 0, F(FLD_Rt2), "an integer register") \
6915 Y(INT_REG, none, "X16", 0, F(), "X16") \
6916 Y(INT_REG, regno, "Rt_LS64", 0, F(FLD_Rt), "an integer register") \
6917 Y(INT_REG, regno, "Rt_SP", OPD_F_MAYBE_SP, F(FLD_Rt), \
6918 "an integer or stack pointer register") \
6919 Y(INT_REG, regno, "Rs", 0, F(FLD_Rs), "an integer register") \
6920 Y(INT_REG, regno, "Ra", 0, F(FLD_Ra), "an integer register") \
6921 X(INT_REG, ins_regno, ext_regrt_sysins, "Rt_SYS", 0, F(FLD_Rt), \
6922 "an integer register") \
6923 Y(INT_REG, regno, "Rd_SP", OPD_F_MAYBE_SP, F(FLD_Rd), \
6924 "an integer or stack pointer register") \
6925 Y(INT_REG, regno, "Rn_SP", OPD_F_MAYBE_SP, F(FLD_Rn), \
6926 "an integer or stack pointer register") \
6927 Y(INT_REG, regno, "Rm_SP", OPD_F_MAYBE_SP, F(FLD_Rm), \
6928 "an integer or stack pointer register") \
6929 X(INT_REG, 0, ext_regno_pair, "PAIRREG", 0, F(), \
6930 "the second reg of a pair") \
6931 X(INT_REG, 0, ext_regno_pair, "PAIRREG_OR_XZR", 0, F(), \
6932 "the second reg of a pair") \
6933 Y(MODIFIED_REG, reg_extended, "Rm_EXT", 0, F(), \
6934 "an integer register with optional extension") \
6935 Y(MODIFIED_REG, reg_shifted, "Rm_SFT", 0, F(), \
6936 "an integer register with optional shift") \
6937 Y(MODIFIED_REG, reg_lsl_shifted, "Rm_LSL", 0, F(), \
6938 "an integer register with optional LSL shift") \
6939 Y(FP_REG, regno, "Fd", 0, F(FLD_Rd), "a floating-point register") \
6940 Y(FP_REG, regno, "Fn", 0, F(FLD_Rn), "a floating-point register") \
6941 Y(FP_REG, regno, "Fm", 0, F(FLD_Rm), "a floating-point register") \
6942 Y(FP_REG, regno, "Fa", 0, F(FLD_Ra), "a floating-point register") \
6943 Y(FP_REG, ft, "Ft", 0, F(FLD_Rt), "a floating-point register") \
6944 Y(FP_REG, regno, "Ft2", 0, F(FLD_Rt2), "a floating-point register") \
6945 Y(SISD_REG, regno, "Sd", 0, F(FLD_Rd), "a SIMD scalar register") \
6946 Y(SISD_REG, regno, "Sn", 0, F(FLD_Rn), "a SIMD scalar register") \
6947 Y(SISD_REG, regno, "Sm", 0, F(FLD_Rm), "a SIMD scalar register") \
6948 Y(SIMD_REG, regno, "Va", 0, F(FLD_Ra), "a SIMD vector register") \
6949 Y(SIMD_REG, regno, "Vd", 0, F(FLD_Rd), "a SIMD vector register") \
6950 Y(SIMD_REG, regno, "Vn", 0, F(FLD_Rn), "a SIMD vector register") \
6951 Y(SIMD_REG, regno, "Vm", 0, F(FLD_Rm), "a SIMD vector register") \
6952 Y(FP_REG, regno, "VdD1", 0, F(FLD_Rd), \
6953 "the top half of a 128-bit FP/SIMD register") \
6954 Y(FP_REG, regno, "VnD1", 0, F(FLD_Rn), \
6955 "the top half of a 128-bit FP/SIMD register") \
6956 Y(SIMD_ELEMENT, reglane, "Ed", 0, F(FLD_Rd), \
6957 "a SIMD vector element") \
6958 Y(SIMD_ELEMENT, reglane, "En", 0, F(FLD_Rn), \
6959 "a SIMD vector element") \
6960 Y(SIMD_ELEMENT, reglane, "Em", 0, F(FLD_Rm), \
6961 "a SIMD vector element") \
6962 Y(SIMD_ELEMENT, reglane, "Em16", 0, F(FLD_Rm), \
6963 "a SIMD vector element limited to V0-V15") \
6964 Y(SIMD_ELEMENT, reglane, "Em8", 0, F(FLD_Rm), \
6965 "a SIMD vector element limited to V0-V7") \
6966 Y(SIMD_ELEMENT, simple_index, "Em_INDEX1_14", 0, F(FLD_Rm, FLD_imm1_14), \
6967 "a SIMD vector without a type qualifier encoding a bit index") \
6968 Y(SIMD_ELEMENT, simple_index, "Em_INDEX2_13", 0, F(FLD_Rm, FLD_imm2_13), \
6969 "a SIMD vector without a type qualifier encoding a bit index") \
6970 Y(SIMD_ELEMENT, simple_index, "Em_INDEX3_12", 0, F(FLD_Rm, FLD_imm3_12), \
6971 "a SIMD vector without a type qualifier encoding a bit index") \
6972 Y(SIMD_REGLIST, reglist, "LVn", 0, F(FLD_Rn), \
6973 "a SIMD vector register list") \
6974 Y(SIMD_REGLIST, ldst_reglist, "LVt", 0, F(), \
6975 "a SIMD vector register list") \
6976 Y(SIMD_REGLIST, ldst_reglist_r, "LVt_AL", 0, F(), \
6977 "a SIMD vector register list") \
6978 Y(SIMD_REGLIST, lut_reglist, "LVn_LUT", 0, F(FLD_Rn), \
6979 "a SIMD vector register list") \
6980 Y(SIMD_REGLIST, ldst_elemlist, "LEt", 0, F(), \
6981 "a SIMD vector element list") \
6982 Y(IMMEDIATE, imm, "CRn", 0, F(FLD_CRn), \
6983 "a 4-bit opcode field named for historical reasons C0 - C15") \
6984 Y(IMMEDIATE, imm, "CRm", 0, F(FLD_CRm), \
6985 "a 4-bit opcode field named for historical reasons C0 - C15") \
6986 Y(IMMEDIATE, imm, "IDX", 0, F(FLD_imm4_11), \
6987 "an immediate as the index of the least significant byte") \
6988 Y(IMMEDIATE, imm, "MASK", 0, F(FLD_imm4_0), \
6989 "an immediate as the index of the least significant byte") \
6990 Y(IMMEDIATE, advsimd_imm_shift, "IMM_VLSL", 0, F(), \
6991 "a left shift amount for an AdvSIMD register") \
6992 Y(IMMEDIATE, advsimd_imm_shift, "IMM_VLSR", 0, F(), \
6993 "a right shift amount for an AdvSIMD register") \
6994 Y(IMMEDIATE, advsimd_imm_modified, "SIMD_IMM", 0, F(), \
6996 Y(IMMEDIATE, advsimd_imm_modified, "SIMD_IMM_SFT", 0, F(), \
6997 "an 8-bit unsigned immediate with optional shift") \
6998 Y(IMMEDIATE, advsimd_imm_modified, "SIMD_FPIMM", 0, F(), \
6999 "an 8-bit floating-point constant") \
7000 X(IMMEDIATE, 0, ext_shll_imm, "SHLL_IMM", 0, F(), \
7001 "an immediate shift amount of 8, 16 or 32") \
7002 X(IMMEDIATE, 0, 0, "IMM0", 0, F(), "0") \
7003 X(IMMEDIATE, 0, 0, "FPIMM0", 0, F(), "0.0") \
7004 Y(IMMEDIATE, fpimm, "FPIMM", 0, F(FLD_imm8), \
7005 "an 8-bit floating-point constant") \
7006 Y(IMMEDIATE, imm, "IMMR", 0, F(FLD_immr), \
7007 "the right rotate amount") \
7008 Y(IMMEDIATE, imm, "IMMS", 0, F(FLD_imm6_10), \
7009 "the leftmost bit number to be moved from the source") \
7010 Y(IMMEDIATE, imm, "WIDTH", 0, F(FLD_imm6_10), \
7011 "the width of the bit-field") \
7012 Y(IMMEDIATE, imm, "IMM", 0, F(FLD_imm6_10), "an immediate") \
7013 Y(IMMEDIATE, imm, "IMM_2", 0, F(FLD_imm6_15), "an immediate") \
7014 Y(IMMEDIATE, imm, "UIMM3_OP1", 0, F(FLD_op1), \
7015 "a 3-bit unsigned immediate") \
7016 Y(IMMEDIATE, imm, "UIMM3_OP2", 0, F(FLD_op2), \
7017 "a 3-bit unsigned immediate") \
7018 Y(IMMEDIATE, imm, "UIMM4", 0, F(FLD_CRm), \
7019 "a 4-bit unsigned immediate") \
7020 Y(IMMEDIATE, imm, "UIMM4_ADDG", 0, F(FLD_imm4_10), \
7021 "a 4-bit unsigned Logical Address Tag modifier") \
7022 Y(IMMEDIATE, imm, "UIMM7", 0, F(FLD_CRm, FLD_op2), \
7023 "a 7-bit unsigned immediate") \
7024 Y(IMMEDIATE, imm, "UIMM10", OPD_F_SHIFT_BY_4, F(FLD_immr), \
7025 "a 10-bit unsigned multiple of 16") \
7026 Y(IMMEDIATE, imm, "BIT_NUM", 0, F(FLD_b5, FLD_b40), \
7027 "the bit number to be tested") \
7028 Y(IMMEDIATE, imm, "EXCEPTION", 0, F(FLD_imm16_5), \
7029 "a 16-bit unsigned immediate") \
7030 Y(IMMEDIATE, imm, "UNDEFINED", 0, F(FLD_imm16_0), \
7031 "a 16-bit unsigned immediate") \
7032 Y(IMMEDIATE, imm, "CCMP_IMM", 0, F(FLD_imm5), \
7033 "a 5-bit unsigned immediate") \
7034 Y(IMMEDIATE, imm, "SIMM5", OPD_F_SEXT, F(FLD_imm5), \
7035 "a 5-bit signed immediate") \
7036 Y(IMMEDIATE, imm, "NZCV", 0, F(FLD_nzcv), \
7037 "a flag bit specifier giving an alternative value for each flag") \
7038 Y(IMMEDIATE, limm, "LIMM", 0, F(FLD_N,FLD_immr,FLD_imms), \
7039 "Logical immediate") \
7040 Y(IMMEDIATE, aimm, "AIMM", 0, F(FLD_shift,FLD_imm12), \
7041 "a 12-bit unsigned immediate with optional left shift of 12 bits")\
7042 Y(IMMEDIATE, imm_half, "HALF", 0, F(FLD_imm16_5), \
7043 "a 16-bit immediate with optional left shift") \
7044 Y(IMMEDIATE, fbits, "FBITS", 0, F(FLD_scale), \
7045 "the number of bits after the binary point in the fixed-point value")\
7046 X(IMMEDIATE, 0, 0, "IMM_MOV", 0, F(), "an immediate") \
7047 Y(IMMEDIATE, imm_rotate2, "IMM_ROT1", 0, F(FLD_rotate1), \
7048 "a 2-bit rotation specifier for complex arithmetic operations") \
7049 Y(IMMEDIATE, imm_rotate2, "IMM_ROT2", 0, F(FLD_rotate2), \
7050 "a 2-bit rotation specifier for complex arithmetic operations") \
7051 Y(IMMEDIATE, imm_rotate1, "IMM_ROT3", 0, F(FLD_rotate3), \
7052 "a 1-bit rotation specifier for complex arithmetic operations") \
7053 Y(COND, cond, "COND", 0, F(), "a condition") \
7054 Y(COND, cond, "COND1", 0, F(), \
7055 "one of the standard conditions, excluding AL and NV.") \
7056 X(ADDRESS, 0, ext_imm, "ADDR_ADRP", OPD_F_SEXT, F(FLD_immhi, FLD_immlo),\
7057 "21-bit PC-relative address of a 4KB page") \
7058 Y(ADDRESS, imm, "ADDR_PCREL14", OPD_F_SEXT | OPD_F_SHIFT_BY_2, \
7059 F(FLD_imm14), "14-bit PC-relative address") \
7060 Y(ADDRESS, imm, "ADDR_PCREL19", OPD_F_SEXT | OPD_F_SHIFT_BY_2, \
7061 F(FLD_imm19), "19-bit PC-relative address") \
7062 Y(ADDRESS, imm, "ADDR_PCREL21", OPD_F_SEXT, F(FLD_immhi,FLD_immlo), \
7063 "21-bit PC-relative address") \
7064 Y(ADDRESS, imm, "ADDR_PCREL26", OPD_F_SEXT | OPD_F_SHIFT_BY_2, \
7065 F(FLD_imm26), "26-bit PC-relative address") \
7066 Y(ADDRESS, addr_simple, "ADDR_SIMPLE", 0, F(), \
7067 "an address with base register (no offset)") \
7068 Y(ADDRESS, addr_regoff, "ADDR_REGOFF", 0, F(), \
7069 "an address with register offset") \
7070 Y(ADDRESS, addr_simm, "ADDR_SIMM7", 0, F(FLD_imm7,FLD_index2), \
7071 "an address with 7-bit signed immediate offset") \
7072 Y(ADDRESS, addr_simm, "ADDR_SIMM9", 0, F(FLD_imm9,FLD_index), \
7073 "an address with 9-bit signed immediate offset") \
7074 Y(ADDRESS, addr_simm, "ADDR_SIMM9_2", 0, F(FLD_imm9,FLD_index), \
7075 "an address with 9-bit negative or unaligned immediate offset") \
7076 Y(ADDRESS, addr_simm10, "ADDR_SIMM10", 0, F(FLD_Rn,FLD_S_imm10,FLD_imm9,FLD_index),\
7077 "an address with an optional 10-bit scaled, signed immediate offset") \
7078 Y(ADDRESS, addr_simm, "ADDR_SIMM11", 0, F(FLD_imm7,FLD_index2),\
7079 "an address with 11-bit signed immediate (multiple of 16) offset")\
7080 Y(ADDRESS, addr_uimm12, "ADDR_UIMM12", 0, F(FLD_Rn,FLD_imm12), \
7081 "an address with scaled, unsigned immediate offset") \
7082 Y(ADDRESS, addr_simm, "ADDR_SIMM13", 0, F(FLD_imm9,FLD_index),\
7083 "an address with 13-bit signed immediate (multiple of 16) offset")\
7084 Y(ADDRESS, addr_simple, "SIMD_ADDR_SIMPLE", 0, F(), \
7085 "an address with base register (no offset)") \
7086 Y(ADDRESS, addr_offset, "ADDR_OFFSET", 0, F(FLD_Rn,FLD_imm9,FLD_index),\
7087 "an address with an optional 8-bit signed immediate offset") \
7088 Y(ADDRESS, simd_addr_post, "SIMD_ADDR_POST", 0, F(), \
7089 "a post-indexed address with immediate or register increment") \
7090 Y(SYSTEM, sysreg, "SYSREG", 0, F(), "a system register") \
7091 Y(SYSTEM, sysreg, "SYSREG128", 0, F(), "a 128-bit system register") \
7092 Y(SYSTEM, pstatefield, "PSTATEFIELD", 0, F(), \
7093 "a PSTATE field name") \
7094 Y(SYSTEM, sysins_op, "SYSREG_AT", 0, F(), \
7095 "an address translation operation specifier") \
7096 Y(SYSTEM, sysins_op, "SYSREG_DC", 0, F(), \
7097 "a data cache maintenance operation specifier") \
7098 Y(SYSTEM, sysins_op, "SYSREG_IC", 0, F(), \
7099 "an instruction cache maintenance operation specifier") \
7100 Y(SYSTEM, sysins_op, "SYSREG_TLBI", 0, F(), \
7101 "a TBL invalidation operation specifier") \
7102 Y(SYSTEM, sysins_op, "SYSREG_TLBIP", 0, F(), \
7103 "a 128-bit TBL invalidation operation specifier") \
7104 Y(SYSTEM, sysins_op, "SYSREG_SR", 0, F(), \
7105 "a Speculation Restriction option name (RCTX)") \
7106 Y(SYSTEM, barrier, "BARRIER", 0, F(), \
7107 "a barrier option name") \
7108 Y(SYSTEM, barrier_dsb_nxs, "BARRIER_DSB_NXS", 0, F(), \
7109 "the DSB nXS option qualifier name SY, ISH, NSH, OSH or an optional 5-bit unsigned immediate") \
7110 Y(SYSTEM, barrier, "BARRIER_ISB", 0, F(), \
7111 "the ISB option name SY or an optional 4-bit unsigned immediate") \
7112 Y(SYSTEM, prfop, "PRFOP", 0, F(), \
7113 "a prefetch operation specifier") \
7114 Y(SYSTEM, imm, "RPRFMOP", 0, \
7115 F(FLD_imm1_15, FLD_imm2_12, FLD_imm3_0), \
7116 "a range prefetch operation specifier") \
7117 Y(SYSTEM, none, "BARRIER_PSB", 0, F (), \
7118 "the PSB/TSB option name CSYNC") \
7119 Y(SYSTEM, none, "BARRIER_GCSB", 0, F (), \
7120 "the GCSB option name DSYNC") \
7121 Y(SYSTEM, hint, "BTI_TARGET", 0, F (), \
7122 "BTI targets j/c/jc") \
7123 Y(SYSTEM, imm, "BRBOP", 0, F(FLD_brbop), \
7124 "Branch Record Buffer operation operand") \
7125 Y(INT_REG, regno, "Rt_IN_SYS_ALIASES", 0, F(FLD_Rt), \
7126 "Rt register with defaults for SYS aliases") \
7127 Y(INT_REG, regno, "LSE128_Rt", 0, F(FLD_LSE128_Rt), "an integer register") \
7128 Y(INT_REG, regno, "LSE128_Rt2", 0, F(FLD_LSE128_Rt2), "an integer register") \
7129 Y(ADDRESS, sve_addr_ri_s4, "SVE_ADDR_RI_S4x16", \
7130 4 << OPD_F_OD_LSB, F(FLD_Rn), \
7131 "an address with a 4-bit signed offset, multiplied by 16") \
7132 Y(ADDRESS, sve_addr_ri_s4, "SVE_ADDR_RI_S4x32", \
7133 5 << OPD_F_OD_LSB, F(FLD_Rn), \
7134 "an address with a 4-bit signed offset, multiplied by 32") \
7135 Y(ADDRESS, sve_addr_ri_s4xvl, "SVE_ADDR_RI_S4xVL", \
7136 0 << OPD_F_OD_LSB, F(FLD_Rn), \
7137 "an address with a 4-bit signed offset, multiplied by VL") \
7138 Y(ADDRESS, sve_addr_ri_s4xvl, "SVE_ADDR_RI_S4x2xVL", \
7139 1 << OPD_F_OD_LSB, F(FLD_Rn), \
7140 "an address with a 4-bit signed offset, multiplied by 2*VL") \
7141 Y(ADDRESS, sve_addr_ri_s4xvl, "SVE_ADDR_RI_S4x3xVL", \
7142 2 << OPD_F_OD_LSB, F(FLD_Rn), \
7143 "an address with a 4-bit signed offset, multiplied by 3*VL") \
7144 Y(ADDRESS, sve_addr_ri_s4xvl, "SVE_ADDR_RI_S4x4xVL", \
7145 3 << OPD_F_OD_LSB, F(FLD_Rn), \
7146 "an address with a 4-bit signed offset, multiplied by 4*VL") \
7147 Y(ADDRESS, sve_addr_ri_s6xvl, "SVE_ADDR_RI_S6xVL", \
7148 0 << OPD_F_OD_LSB, F(FLD_Rn), \
7149 "an address with a 6-bit signed offset, multiplied by VL") \
7150 Y(ADDRESS, sve_addr_ri_s9xvl, "SVE_ADDR_RI_S9xVL", \
7151 0 << OPD_F_OD_LSB, F(FLD_Rn), \
7152 "an address with a 9-bit signed offset, multiplied by VL") \
7153 Y(ADDRESS, sve_addr_ri_u6, "SVE_ADDR_RI_U6", 0 << OPD_F_OD_LSB, \
7154 F(FLD_Rn), "an address with a 6-bit unsigned offset") \
7155 Y(ADDRESS, sve_addr_ri_u6, "SVE_ADDR_RI_U6x2", 1 << OPD_F_OD_LSB, \
7157 "an address with a 6-bit unsigned offset, multiplied by 2") \
7158 Y(ADDRESS, sve_addr_ri_u6, "SVE_ADDR_RI_U6x4", 2 << OPD_F_OD_LSB, \
7160 "an address with a 6-bit unsigned offset, multiplied by 4") \
7161 Y(ADDRESS, sve_addr_ri_u6, "SVE_ADDR_RI_U6x8", 3 << OPD_F_OD_LSB, \
7163 "an address with a 6-bit unsigned offset, multiplied by 8") \
7164 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_R", 0 << OPD_F_OD_LSB, \
7165 F(FLD_Rn,FLD_Rm), "an address with an optional scalar register offset") \
7166 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR", 0 << OPD_F_OD_LSB, \
7167 F(FLD_Rn,FLD_Rm), "an address with a scalar register offset") \
7168 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR_LSL1", 1 << OPD_F_OD_LSB, \
7169 F(FLD_Rn,FLD_Rm), "an address with a scalar register offset") \
7170 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR_LSL2", 2 << OPD_F_OD_LSB, \
7171 F(FLD_Rn,FLD_Rm), "an address with a scalar register offset") \
7172 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR_LSL3", 3 << OPD_F_OD_LSB, \
7173 F(FLD_Rn,FLD_Rm), "an address with a scalar register offset") \
7174 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR_LSL4", 4 << OPD_F_OD_LSB, \
7175 F(FLD_Rn,FLD_Rm), "an address with a scalar register offset") \
7176 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RX", \
7177 (0 << OPD_F_OD_LSB) | OPD_F_NO_ZR, F(FLD_Rn,FLD_Rm), \
7178 "an address with a scalar register offset") \
7179 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RX_LSL1", \
7180 (1 << OPD_F_OD_LSB) | OPD_F_NO_ZR, F(FLD_Rn,FLD_Rm), \
7181 "an address with a scalar register offset") \
7182 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RX_LSL2", \
7183 (2 << OPD_F_OD_LSB) | OPD_F_NO_ZR, F(FLD_Rn,FLD_Rm), \
7184 "an address with a scalar register offset") \
7185 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RX_LSL3", \
7186 (3 << OPD_F_OD_LSB) | OPD_F_NO_ZR, F(FLD_Rn,FLD_Rm), \
7187 "an address with a scalar register offset") \
7188 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RX_LSL4", \
7189 (4 << OPD_F_OD_LSB) | OPD_F_NO_ZR, F(FLD_Rn,FLD_Rm), \
7190 "an address with a scalar register offset") \
7191 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_ZX", \
7192 0 << OPD_F_OD_LSB , F(FLD_SVE_Zn,FLD_Rm), \
7193 "vector of address with a scalar register offset") \
7194 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RZ", 0 << OPD_F_OD_LSB, \
7195 F(FLD_Rn,FLD_SVE_Zm_16), \
7196 "an address with a vector register offset") \
7197 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RZ_LSL1", 1 << OPD_F_OD_LSB, \
7198 F(FLD_Rn,FLD_SVE_Zm_16), \
7199 "an address with a vector register offset") \
7200 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RZ_LSL2", 2 << OPD_F_OD_LSB, \
7201 F(FLD_Rn,FLD_SVE_Zm_16), \
7202 "an address with a vector register offset") \
7203 Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RZ_LSL3", 3 << OPD_F_OD_LSB, \
7204 F(FLD_Rn,FLD_SVE_Zm_16), \
7205 "an address with a vector register offset") \
7206 Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW_14", \
7207 0 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_14), \
7208 "an address with a vector register offset") \
7209 Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW_22", \
7210 0 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_22), \
7211 "an address with a vector register offset") \
7212 Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW1_14", \
7213 1 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_14), \
7214 "an address with a vector register offset") \
7215 Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW1_22", \
7216 1 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_22), \
7217 "an address with a vector register offset") \
7218 Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW2_14", \
7219 2 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_14), \
7220 "an address with a vector register offset") \
7221 Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW2_22", \
7222 2 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_22), \
7223 "an address with a vector register offset") \
7224 Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW3_14", \
7225 3 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_14), \
7226 "an address with a vector register offset") \
7227 Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW3_22", \
7228 3 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_22), \
7229 "an address with a vector register offset") \
7230 Y(ADDRESS, sve_addr_zi_u5, "SVE_ADDR_ZI_U5", 0 << OPD_F_OD_LSB, \
7231 F(FLD_SVE_Zn), "an address with a 5-bit unsigned offset") \
7232 Y(ADDRESS, sve_addr_zi_u5, "SVE_ADDR_ZI_U5x2", 1 << OPD_F_OD_LSB, \
7234 "an address with a 5-bit unsigned offset, multiplied by 2") \
7235 Y(ADDRESS, sve_addr_zi_u5, "SVE_ADDR_ZI_U5x4", 2 << OPD_F_OD_LSB, \
7237 "an address with a 5-bit unsigned offset, multiplied by 4") \
7238 Y(ADDRESS, sve_addr_zi_u5, "SVE_ADDR_ZI_U5x8", 3 << OPD_F_OD_LSB, \
7240 "an address with a 5-bit unsigned offset, multiplied by 8") \
7241 Y(ADDRESS, sve_addr_zz_lsl, "SVE_ADDR_ZZ_LSL", 0, \
7242 F(FLD_SVE_Zn,FLD_SVE_Zm_16), \
7243 "an address with a vector register offset") \
7244 Y(ADDRESS, sve_addr_zz_sxtw, "SVE_ADDR_ZZ_SXTW", 0, \
7245 F(FLD_SVE_Zn,FLD_SVE_Zm_16), \
7246 "an address with a vector register offset") \
7247 Y(ADDRESS, sve_addr_zz_uxtw, "SVE_ADDR_ZZ_UXTW", 0, \
7248 F(FLD_SVE_Zn,FLD_SVE_Zm_16), \
7249 "an address with a vector register offset") \
7250 Y(IMMEDIATE, sve_aimm, "SVE_AIMM", 0, F(FLD_SVE_imm9), \
7251 "a 9-bit unsigned arithmetic operand") \
7252 Y(IMMEDIATE, sve_asimm, "SVE_ASIMM", 0, F(FLD_SVE_imm9), \
7253 "a 9-bit signed arithmetic operand") \
7254 Y(IMMEDIATE, fpimm, "SVE_FPIMM8", 0, F(FLD_SVE_imm8), \
7255 "an 8-bit floating-point immediate") \
7256 Y(IMMEDIATE, sve_float_half_one, "SVE_I1_HALF_ONE", 0, \
7257 F(FLD_SVE_i1), "either 0.5 or 1.0") \
7258 Y(IMMEDIATE, sve_float_half_two, "SVE_I1_HALF_TWO", 0, \
7259 F(FLD_SVE_i1), "either 0.5 or 2.0") \
7260 Y(IMMEDIATE, sve_float_zero_one, "SVE_I1_ZERO_ONE", 0, \
7261 F(FLD_SVE_i1), "either 0.0 or 1.0") \
7262 Y(IMMEDIATE, imm_rotate1, "SVE_IMM_ROT1", 0, F(FLD_SVE_rot1), \
7263 "a 1-bit rotation specifier for complex arithmetic operations") \
7264 Y(IMMEDIATE, imm_rotate2, "SVE_IMM_ROT2", 0, F(FLD_SVE_rot2), \
7265 "a 2-bit rotation specifier for complex arithmetic operations") \
7266 Y(IMMEDIATE, imm_rotate1, "SVE_IMM_ROT3", 0, F(FLD_SVE_rot3), \
7267 "a 1-bit rotation specifier for complex arithmetic operations") \
7268 Y(IMMEDIATE, inv_limm, "SVE_INV_LIMM", 0, \
7269 F(FLD_SVE_N,FLD_SVE_immr,FLD_SVE_imms), \
7270 "an inverted 13-bit logical immediate") \
7271 Y(IMMEDIATE, limm, "SVE_LIMM", 0, \
7272 F(FLD_SVE_N,FLD_SVE_immr,FLD_SVE_imms), \
7273 "a 13-bit logical immediate") \
7274 Y(IMMEDIATE, sve_limm_mov, "SVE_LIMM_MOV", 0, \
7275 F(FLD_SVE_N,FLD_SVE_immr,FLD_SVE_imms), \
7276 "a 13-bit logical move immediate") \
7277 Y(IMMEDIATE, imm, "SVE_PATTERN", 0, F(FLD_SVE_pattern), \
7278 "an enumeration value such as POW2") \
7279 Y(IMMEDIATE, sve_scale, "SVE_PATTERN_SCALED", 0, \
7280 F(FLD_SVE_pattern), "an enumeration value such as POW2") \
7281 Y(IMMEDIATE, imm, "SVE_PRFOP", 0, F(FLD_SVE_prfop), \
7282 "an enumeration value such as PLDL1KEEP") \
7283 Y(PRED_REG, regno, "SVE_Pd", 0, F(FLD_SVE_Pd), \
7284 "an SVE predicate register") \
7285 Y(PRED_REG, regno, "SVE_PNd", 0, F(FLD_SVE_Pd), \
7286 "an SVE predicate-as-counter register") \
7287 Y(PRED_REG, regno, "SVE_Pg3", 0, F(FLD_SVE_Pg3), \
7288 "an SVE predicate register") \
7289 Y(PRED_REG, regno, "SVE_Pg4_5", 0, F(FLD_SVE_Pg4_5), \
7290 "an SVE predicate register") \
7291 Y(PRED_REG, regno, "SVE_Pg4_10", 0, F(FLD_SVE_Pg4_10), \
7292 "an SVE predicate register") \
7293 Y(PRED_REG, regno, "SVE_PNg4_10", 0, F(FLD_SVE_Pg4_10), \
7294 "an SVE predicate-as-counter register") \
7295 Y(PRED_REG, regno, "SVE_Pg4_16", 0, F(FLD_SVE_Pg4_16), \
7296 "an SVE predicate register") \
7297 Y(PRED_REG, regno, "SVE_Pm", 0, F(FLD_SVE_Pm), \
7298 "an SVE predicate register") \
7299 Y(PRED_REG, regno, "SVE_Pn", 0, F(FLD_SVE_Pn), \
7300 "an SVE predicate register") \
7301 Y(PRED_REG, regno, "SVE_PNn", 0, F(FLD_SVE_Pn), \
7302 "an SVE predicate register") \
7303 Y(PRED_REG, regno, "SVE_Pt", 0, F(FLD_SVE_Pt), \
7304 "an SVE predicate register") \
7305 Y(PRED_REG, regno, "SVE_PNt", 0, F(FLD_SVE_Pt), \
7306 "an SVE predicate register") \
7307 Y(INT_REG, regno, "SVE_Rm", 0, F(FLD_SVE_Rm), \
7308 "an integer register or zero") \
7309 Y(INT_REG, regno, "SVE_Rn_SP", OPD_F_MAYBE_SP, F(FLD_SVE_Rn), \
7310 "an integer register or SP") \
7311 Y(IMMEDIATE, sve_shlimm, "SVE_SHLIMM_PRED", 0, \
7312 F(FLD_SVE_tszh,FLD_SVE_imm5), "a shift-left immediate operand") \
7313 Y(IMMEDIATE, sve_shlimm, "SVE_SHLIMM_UNPRED", 0, \
7314 F(FLD_SVE_tszh,FLD_imm5), "a shift-left immediate operand") \
7315 Y(IMMEDIATE, sve_shlimm, "SVE_SHLIMM_UNPRED_22", 0, \
7316 F(FLD_SVE_sz, FLD_SVE_tszl_19, FLD_SVE_imm3), \
7317 "a shift-left immediate operand") \
7318 Y(IMMEDIATE, sve_shrimm, "SVE_SHRIMM_PRED", 1 << OPD_F_OD_LSB, \
7319 F(FLD_SVE_tszh,FLD_SVE_imm5), "a shift-right immediate operand") \
7320 Y(IMMEDIATE, sve_shrimm, "SVE_SHRIMM_UNPRED", 1 << OPD_F_OD_LSB, \
7321 F(FLD_SVE_tszh,FLD_imm5), "a shift-right immediate operand") \
7322 Y(IMMEDIATE, sve_shrimm, "SVE_SHRIMM_UNPRED_22", 2 << OPD_F_OD_LSB, \
7323 F(FLD_SVE_sz, FLD_SVE_tszl_19, FLD_SVE_imm3), \
7324 "a shift-right immediate operand") \
7325 Y(IMMEDIATE, imm, "SVE_SIMM5", OPD_F_SEXT, F(FLD_SVE_imm5), \
7326 "a 5-bit signed immediate") \
7327 Y(IMMEDIATE, imm, "SVE_SIMM5B", OPD_F_SEXT, F(FLD_SVE_imm5b), \
7328 "a 5-bit signed immediate") \
7329 Y(IMMEDIATE, imm, "SVE_SIMM6", OPD_F_SEXT, F(FLD_SVE_imms), \
7330 "a 6-bit signed immediate") \
7331 Y(IMMEDIATE, imm, "SVE_SIMM8", OPD_F_SEXT, F(FLD_SVE_imm8), \
7332 "an 8-bit signed immediate") \
7333 Y(IMMEDIATE, imm, "SVE_UIMM3", 0, F(FLD_SVE_imm3), \
7334 "a 3-bit unsigned immediate") \
7335 Y(IMMEDIATE, imm, "SVE_UIMM7", 0, F(FLD_SVE_imm7), \
7336 "a 7-bit unsigned immediate") \
7337 Y(IMMEDIATE, imm, "SVE_UIMM8", 0, F(FLD_SVE_imm8), \
7338 "an 8-bit unsigned immediate") \
7339 Y(IMMEDIATE, imm, "SVE_UIMM8_53", 0, F(FLD_imm5,FLD_imm3_10), \
7340 "an 8-bit unsigned immediate") \
7341 Y(IMMEDIATE, imm, "SVE_UIMM4", 0, F(FLD_SVE_imm4), \
7342 "a 4-bit unsigned immediate") \
7343 Y(SIMD_REG, regno, "SVE_VZn", 0, F(FLD_SVE_Zn), "a SIMD register") \
7344 Y(SIMD_REG, regno, "SVE_Vd", 0, F(FLD_SVE_Vd), "a SIMD register") \
7345 Y(SIMD_REG, regno, "SVE_Vm", 0, F(FLD_SVE_Vm), "a SIMD register") \
7346 Y(SIMD_REG, regno, "SVE_Vn", 0, F(FLD_SVE_Vn), "a SIMD register") \
7347 Y(ZA_ACCESS, sme_za_vrs1, "SME_ZA_array_vrsb_1", 0, \
7348 F(FLD_SME_V,FLD_SME_Rv,FLD_off3), "ZA0 tile") \
7349 Y(ZA_ACCESS, sme_za_vrs1, "SME_ZA_array_vrsh_1", 0, \
7350 F(FLD_SME_V,FLD_SME_Rv,FLD_ZAn_1,FLD_off2), "1 bit ZA tile") \
7351 Y(ZA_ACCESS, sme_za_vrs1, "SME_ZA_array_vrss_1", 0, \
7352 F(FLD_SME_V,FLD_SME_Rv,FLD_ZAn_2,FLD_ol), "2 ZA tile") \
7353 Y(ZA_ACCESS, sme_za_vrs1, "SME_ZA_array_vrsd_1", 0, \
7354 F(FLD_SME_V,FLD_SME_Rv,FLD_ZAn_3), "3 ZA tile") \
7355 Y(ZA_ACCESS, sme_za_vrs2, "SME_ZA_array_vrsb_2", 0, \
7356 F(FLD_SME_V,FLD_SME_Rv,FLD_off2), "ZA0 tile") \
7357 Y(ZA_ACCESS, sme_za_vrs2, "SME_ZA_array_vrsh_2", 0, \
7358 F(FLD_SME_V,FLD_SME_Rv,FLD_ZAn,FLD_ol), "1 bit ZA tile") \
7359 Y(ZA_ACCESS, sme_za_vrs2, "SME_ZA_array_vrss_2", 0, \
7360 F(FLD_SME_V,FLD_SME_Rv,FLD_off2), "2 bit ZA tile") \
7361 Y(ZA_ACCESS, sme_za_vrs2, "SME_ZA_array_vrsd_2", 0, \
7362 F(FLD_SME_V,FLD_SME_Rv,FLD_ZAn_3), "3 bit ZA tile") \
7363 Y(ZA_ACCESS, sme_za_tile_to_vec, "SME_ZA_ARRAY4", 0, \
7364 F(FLD_SME_V,FLD_SME_Rv), "ZA tile to vector register") \
7365 Y(SVE_REG, regno, "SVE_Za_5", 0, F(FLD_SVE_Za_5), \
7366 "an SVE vector register") \
7367 Y(SVE_REG, regno, "SVE_Za_16", 0, F(FLD_SVE_Za_16), \
7368 "an SVE vector register") \
7369 Y(SVE_REG, regno, "SVE_Zd", 0, F(FLD_SVE_Zd), \
7370 "an SVE vector register") \
7371 Y(SVE_REG, regno, "SVE_Zm_5", 0, F(FLD_SVE_Zm_5), \
7372 "an SVE vector register") \
7373 Y(SVE_REG, regno, "SVE_Zm_16", 0, F(FLD_SVE_Zm_16), \
7374 "an SVE vector register") \
7375 Y(SVE_REG, simple_index, "SVE_Zm1_23_INDEX", \
7376 0, F(FLD_SVE_Zm_16, FLD_SVE_i1_23), \
7377 "an indexed SVE vector register") \
7378 Y(SVE_REG, simple_index, "SVE_Zm2_22_INDEX", \
7379 0, F(FLD_SVE_Zm_16, FLD_SVE_i2), \
7380 "an indexed SVE vector register") \
7381 Y(SVE_REG, sve_quad_index, "SVE_Zm3_INDEX", \
7382 3 << OPD_F_OD_LSB, F(FLD_SVE_Zm_16), \
7383 "an indexed SVE vector register") \
7384 Y(SVE_REG, sve_quad_index, "SVE_Zm3_11_INDEX", \
7385 3 << OPD_F_OD_LSB, F(FLD_SVE_i3h2, FLD_SVE_i3l, FLD_SVE_imm3), \
7386 "an indexed SVE vector register") \
7387 Y(SVE_REG, simple_index, "SVE_Zm3_12_INDEX", \
7388 0, F(FLD_SVE_Zm_16, FLD_SVE_i3h3, FLD_SVE_i3l2), \
7389 "an indexed SVE vector register") \
7390 Y(SVE_REG, sve_quad_index, "SVE_Zm3_19_INDEX", \
7391 3 << OPD_F_OD_LSB, F(FLD_imm2_19, FLD_SVE_imm3), \
7392 "an indexed SVE vector register") \
7393 Y(SVE_REG, sve_quad_index, "SVE_Zm3_22_INDEX", \
7394 3 << OPD_F_OD_LSB, F(FLD_SVE_i3h, FLD_SVE_Zm_16), \
7395 "an indexed SVE vector register") \
7396 Y(SVE_REG, sve_quad_index, "SVE_Zm3_10_INDEX", \
7397 3 << OPD_F_OD_LSB, F(FLD_SVE_i3h2, FLD_SVE_i4l2, FLD_SVE_imm3), \
7398 "an indexed SVE vector register") \
7399 Y(SVE_REG, sve_quad_index, "SVE_Zm4_11_INDEX", \
7400 4 << OPD_F_OD_LSB, F(FLD_SVE_i2h, FLD_SVE_i3l, FLD_SVE_imm4), \
7401 "an indexed SVE vector register") \
7402 Y(SVE_REG, sve_quad_index, "SVE_Zm4_INDEX", \
7403 4 << OPD_F_OD_LSB, F(FLD_SVE_Zm_16), \
7404 "an indexed SVE vector register") \
7405 Y(SVE_REG, regno, "SVE_Zn", 0, F(FLD_SVE_Zn), \
7406 "an SVE vector register") \
7407 Y(SVE_REG, sve_index, "SVE_Zn_INDEX", 0, \
7408 F(FLD_SVE_Zn, FLD_SVE_tszh, FLD_imm5), \
7409 "an indexed SVE vector register") \
7410 Y(SVE_REG, sve_index, "SVE_Zn_5_INDEX", 0, \
7411 F(FLD_SVE_Zn, FLD_imm5), \
7412 "a 5 bit indexed SVE vector register") \
7413 Y(SVE_REGLIST, sve_reglist, "SVE_ZnxN", 0, F(FLD_SVE_Zn), \
7414 "a list of SVE vector registers") \
7415 Y(SVE_REG, regno, "SVE_Zt", 0, F(FLD_SVE_Zt), \
7416 "an SVE vector register") \
7417 Y(SVE_REGLIST, sve_reglist, "SVE_ZtxN", 0, F(FLD_SVE_Zt), \
7418 "a list of SVE vector registers") \
7419 Y(SVE_REGLIST, sve_aligned_reglist, "SME_Zdnx2", 2 << OPD_F_OD_LSB, \
7420 F(FLD_SME_Zdn2), "a list of SVE vector registers") \
7421 Y(SVE_REGLIST, sve_aligned_reglist, "SME_Zdnx4", 4 << OPD_F_OD_LSB, \
7422 F(FLD_SME_Zdn4), "a list of SVE vector registers") \
7423 Y(SVE_REGLIST, sve_strided_reglist, "SME_Zdnx4_STRIDED", \
7424 4 << OPD_F_OD_LSB, F(FLD_SME_ZdnT, FLD_SME_Zdn2_0), \
7425 "a list of SVE vector registers") \
7426 Y(SVE_REG, regno, "SME_Zm", 0, F(FLD_SME_Zm), \
7427 "an SVE vector register") \
7428 Y(SVE_REGLIST, sve_aligned_reglist, "SME_Zmx2", 2 << OPD_F_OD_LSB, \
7429 F(FLD_SME_Zm2), "a list of SVE vector registers") \
7430 Y(SVE_REGLIST, sve_aligned_reglist, "SME_Zmx4", 4 << OPD_F_OD_LSB, \
7431 F(FLD_SME_Zm4), "a list of SVE vector registers") \
7432 Y(SVE_REGLIST, sve_aligned_reglist, "SME_Znx2", 2 << OPD_F_OD_LSB, \
7433 F(FLD_SME_Zn2), "a list of SVE vector registers") \
7434 Y(SVE_REGLIST, sve_aligned_reglist, "SME_Znx2_BIT_INDEX", \
7435 2 << OPD_F_OD_LSB, F(FLD_SME_Zn2), \
7436 "a list of SVE vector registers") \
7437 Y(SVE_REGLIST, sve_aligned_reglist, "SME_Znx4", 4 << OPD_F_OD_LSB, \
7438 F(FLD_SME_Zn4), "a list of SVE vector registers") \
7439 Y(SVE_REGLIST, sve_strided_reglist, "SME_Ztx2_STRIDED", \
7440 2 << OPD_F_OD_LSB, F(FLD_SME_ZtT, FLD_SME_Zt3), \
7441 "a list of SVE vector registers") \
7442 Y(SVE_REGLIST, sve_strided_reglist, "SME_Ztx4_STRIDED", \
7443 4 << OPD_F_OD_LSB, F(FLD_SME_ZtT, FLD_SME_Zt2), \
7444 "a list of SVE vector registers") \
7445 Y(SVE_REG, regno, "SME_ZAda_1b", 0, F(FLD_SME_ZAda_1b), \
7446 "an SME ZA tile ZA0-ZA1") \
7447 Y(SVE_REG, regno, "SME_ZAda_2b", 0, F(FLD_SME_ZAda_2b), \
7448 "an SME ZA tile ZA0-ZA3") \
7449 Y(SVE_REG, regno, "SME_ZAda_3b", 0, F(FLD_SME_ZAda_3b), \
7450 "an SME ZA tile ZA0-ZA7") \
7451 Y(ZA_ACCESS, sme_za_hv_tiles, "SME_ZA_HV_idx_src", 0, \
7452 F(FLD_SME_size_22,FLD_SME_Q,FLD_SME_V,FLD_SME_Rv,FLD_imm4_5), \
7453 "an SME horizontal or vertical vector access register") \
7454 Y(ZA_ACCESS, sme_za_hv_tiles_range, "SME_ZA_HV_idx_srcxN", 0, \
7455 F(FLD_SME_V,FLD_SME_Rv,FLD_imm3_5), \
7456 "an SME horizontal or vertical vector access register") \
7457 Y(ZA_ACCESS, sme_za_hv_tiles, "SME_ZA_HV_idx_dest", 0, \
7458 F(FLD_SME_size_22,FLD_SME_Q,FLD_SME_V,FLD_SME_Rv,FLD_imm4_0), \
7459 "an SME horizontal or vertical vector access register") \
7460 Y(ZA_ACCESS, sme_za_hv_tiles_range, "SME_ZA_HV_idx_destxN", 0, \
7461 F(FLD_SME_V,FLD_SME_Rv,FLD_imm3_0), \
7462 "an SME horizontal or vertical vector access register") \
7463 Y(SVE_REGLIST, sve_aligned_reglist, "SME_Pdx2", 2 << OPD_F_OD_LSB, \
7464 F(FLD_SME_Pdx2), "a list of SVE predicate registers") \
7465 Y(SVE_REGLIST, sve_reglist, "SME_PdxN", 0, F(FLD_SVE_Pd), \
7466 "a list of SVE predicate registers") \
7467 Y(PRED_REG, regno, "SME_Pm", 0, F(FLD_SME_Pm), \
7468 "an SVE predicate register") \
7469 Y(PRED_REG, regno, "SME_PNd3", 8 << OPD_F_OD_LSB, F(FLD_SME_PNd3), \
7470 "an SVE predicate-as-counter register") \
7471 Y(PRED_REG, regno, "SME_PNg3", 8 << OPD_F_OD_LSB, F(FLD_SVE_Pg3), \
7472 "an SVE predicate-as-counter register") \
7473 Y(PRED_REG, regno, "SME_PNn", 0, F(FLD_SVE_Pn), \
7474 "an SVE predicate-as-counter register") \
7475 Y(SVE_REG, simple_index, "SME_PNn3_INDEX1", 8 << OPD_F_OD_LSB, \
7476 F(FLD_SME_PNn3, FLD_imm1_8), \
7477 "an indexed SVE predicate-as-counter register") \
7478 Y(SVE_REG, simple_index, "SME_PNn3_INDEX2", 8 << OPD_F_OD_LSB, \
7479 F(FLD_SME_PNn3, FLD_imm2_8), \
7480 "an indexed SVE predicate-as-counter register") \
7481 Y(SVE_REG, imm, "SME_list_of_64bit_tiles", 0, \
7482 F(FLD_SME_zero_mask), "a list of 64-bit ZA element tiles") \
7483 Y(ZA_ACCESS, sme_za_hv_tiles, "SME_ZA_HV_idx_ldstr", 0, \
7484 F(FLD_SME_size_22,FLD_index2,FLD_SME_V,FLD_SME_Rv,FLD_imm4_0), \
7485 "an SME horizontal or vertical vector access register") \
7486 Y(ZA_ACCESS, sme_za_array, "SME_ZA_array_off1x4", \
7487 4 << OPD_F_OD_LSB, F(FLD_SME_Rv,FLD_imm1_0), "ZA array") \
7488 Y(ZA_ACCESS, sme_za_array, "SME_ZA_array_off2x2", \
7489 2 << OPD_F_OD_LSB, F(FLD_SME_Rv,FLD_imm2_0), "ZA array") \
7490 Y(ZA_ACCESS, sme_za_array, "SME_ZA_array_off2x4", \
7491 4 << OPD_F_OD_LSB, F(FLD_SME_Rv,FLD_imm2_0), "ZA array") \
7492 Y(ZA_ACCESS, sme_za_array, "SME_ZA_array_off3_0", 0, \
7493 F(FLD_SME_Rv,FLD_imm3_0), "ZA array") \
7494 Y(ZA_ACCESS, sme_za_array, "SME_ZA_array_off3_5", 0, \
7495 F(FLD_SME_Rv,FLD_imm3_5), "ZA array") \
7496 Y(ZA_ACCESS, sme_za_array, "SME_ZA_array_off3x2", \
7497 2 << OPD_F_OD_LSB, F(FLD_SME_Rv,FLD_imm3_0), "ZA array") \
7498 Y(ZA_ACCESS, sme_za_array, "SME_ZA_array_off4", 0, \
7499 F(FLD_SME_Rv,FLD_imm4_0), "ZA array") \
7500 Y(ADDRESS, sme_addr_ri_u4xvl, "SME_ADDR_RI_U4xVL", 0 << OPD_F_OD_LSB, \
7501 F(FLD_Rn,FLD_imm4_0), "memory offset") \
7502 Y(ADDRESS, sme_sm_za, "SME_SM_ZA", 0, \
7503 F(FLD_CRm), "streaming mode") \
7504 Y(SVE_REG, sme_pred_reg_with_index, "SME_PnT_Wm_imm", 0, \
7505 F(FLD_SME_Rm,FLD_SVE_Pn,FLD_SME_i1,FLD_SME_tszh,FLD_SME_tszl), \
7506 "Source scalable predicate register with index ") \
7507 Y(IMMEDIATE, plain_shrimm, "SME_SHRIMM4", 0, F(FLD_SVE_imm4), \
7508 "a shift-right immediate operand") \
7509 Y(IMMEDIATE, sve_shrimm, "SME_SHRIMM5", 1 << OPD_F_OD_LSB, \
7510 F(FLD_SVE_tszh,FLD_SVE_imm5b), "a shift-right immediate operand") \
7511 Y(SVE_REG, simple_index, "SME_Zm_INDEX1", 0, \
7512 F(FLD_SME_Zm, FLD_imm1_10), "an indexed SVE vector register") \
7513 Y(SVE_REG, simple_index, "SME_Zm_INDEX2", 0, \
7514 F(FLD_SME_Zm, FLD_imm2_10), "an indexed SVE vector register") \
7515 Y(SVE_REG, simple_index, "SME_Zm_INDEX2_3", 0, \
7516 F(FLD_SME_Zm, FLD_imm1_10, FLD_imm1_3), \
7517 "an indexed SVE vector register") \
7518 Y(SVE_REG, simple_index, "SME_Zm_INDEX3_1", 0, \
7519 F(FLD_SME_Zm, FLD_imm1_10, FLD_imm2_1), \
7520 "an indexed SVE vector register") \
7521 Y(SVE_REG, simple_index, "SME_Zm_INDEX3_2", 0, \
7522 F(FLD_SME_Zm, FLD_imm2_10, FLD_imm1_2), \
7523 "an indexed SVE vector register") \
7524 Y(SVE_REG, simple_index, "SME_Zm_INDEX3_3", 0, \
7525 F(FLD_SME_Zm, FLD_imm2_10, FLD_imm1_3), \
7526 "an indexed SVE vector register") \
7527 Y(SVE_REG, simple_index, "SME_Zm_INDEX3_10", 0, \
7528 F(FLD_SME_Zm, FLD_imm1_15, FLD_imm2_10), \
7529 "an indexed SVE vector register") \
7530 Y(SVE_REG, simple_index, "SME_Zm_INDEX4_1", 0, \
7531 F(FLD_SME_Zm, FLD_imm2_10, FLD_imm2_1), \
7532 "an indexed SVE vector register") \
7533 Y(SVE_REG, simple_index, "SME_Zm_INDEX4_2", 0, \
7534 F(FLD_SME_Zm, FLD_imm2_10, FLD_imm2_2), \
7535 "an indexed SVE vector register") \
7536 Y(SVE_REG, simple_index, "SME_Zm_INDEX4_3", 0, \
7537 F(FLD_SME_Zm, FLD_imm1_15, FLD_imm2_10, FLD_imm1_3), \
7538 "an indexed SVE vector register") \
7539 Y(SVE_REG, simple_index, "SME_Zm_INDEX4_10", 0, \
7540 F(FLD_SME_Zm, FLD_imm1_15, FLD_imm3_10), \
7541 "an indexed SVE vector register") \
7542 Y(SVE_REG, simple_index, "SME_Zn_INDEX1_16", 0, \
7543 F(FLD_SVE_Zn, FLD_imm1_16), "an indexed SVE vector register") \
7544 Y(SVE_REG, simple_index, "SME_Zn_INDEX2_15", 0, \
7545 F(FLD_SVE_Zn, FLD_imm2_15), "an indexed SVE vector register") \
7546 Y(SVE_REG, simple_index, "SME_Zn_INDEX2_16", 0, \
7547 F(FLD_SVE_Zn, FLD_imm2_16), "an indexed SVE vector register") \
7548 Y(SVE_REG, simple_index, "SME_Zn_INDEX3_14", 0, \
7549 F(FLD_SVE_Zn, FLD_imm3_14), "an indexed SVE vector register") \
7550 Y(SVE_REG, simple_index, "SME_Zn_INDEX3_15", 0, \
7551 F(FLD_SVE_Zn, FLD_imm3_15), "an indexed SVE vector register") \
7552 Y(SVE_REG, simple_index, "SME_Zn_INDEX4_14", 0, \
7553 F(FLD_SVE_Zn, FLD_imm4_14), "an indexed SVE vector register") \
7554 Y(SVE_REG, regno, "SVE_Zn0_INDEX", 0, F(FLD_SVE_Zn), \
7555 "an SVE vector register with option zero index") \
7556 Y(SVE_REG, simple_index, "SVE_Zn1_17_INDEX", 0, \
7557 F(FLD_SVE_Zn, FLD_imm17_1), \
7558 "an SVE vector register with optional one bit index") \
7559 Y(SVE_REG, simple_index, "SVE_Zn2_18_INDEX", 0, \
7560 F(FLD_SVE_Zn, FLD_imm17_2), \
7561 "an SVE vector register with optional two bit index") \
7562 Y(SVE_REG, simple_index, "SVE_Zn3_22_INDEX", 0, \
7563 F(FLD_SVE_Zn, FLD_SVE_i3h, FLD_imm17_2), \
7564 "an SVE vector register with optional three bit index") \
7565 Y(SVE_REG, regno, "SVE_Zd0_INDEX", 0, F(FLD_SVE_Zd), \
7566 "an SVE vector register with option zero index") \
7567 Y(SVE_REG, simple_index, "SVE_Zd1_17_INDEX", 0, \
7568 F(FLD_SVE_Zd, FLD_imm17_1), \
7569 "an SVE vector register with optional one bit index") \
7570 Y(SVE_REG, simple_index, "SVE_Zd2_18_INDEX", 0, \
7571 F(FLD_SVE_Zd, FLD_imm17_2), \
7572 "an SVE vector register with optional two bit index") \
7573 Y(SVE_REG, simple_index, "SVE_Zd3_22_INDEX", 0, \
7574 F(FLD_SVE_Zd, FLD_SVE_i3h, FLD_imm17_2), \
7575 "an SVE vector register with optional three bit index") \
7576 Y(IMMEDIATE, imm, "SME_VLxN_10", 0, F(FLD_SME_VL_10), \
7578 Y(IMMEDIATE, imm, "SME_VLxN_13", 0, F(FLD_SME_VL_13), \
7580 Y(SYSTEM, none, "SME_ZT0", 0, F (), "ZT0") \
7581 Y(IMMEDIATE, imm, "SME_ZT0_INDEX", OPD_F_SHIFT_BY_3, \
7582 F (FLD_imm3_12), "a ZT0 index") \
7583 Y(IMMEDIATE, imm, "SME_ZT0_INDEX2_12", 0, \
7584 F (FLD_imm3_12), "a ZT0 index") \
7585 Y(SYSTEM, none, "SME_ZT0_LIST", 0, F (), "{ ZT0 }") \
7586 Y(IMMEDIATE, imm, "TME_UIMM16", 0, F(FLD_imm16_5), \
7587 "a 16-bit unsigned immediate for TME tcancel") \
7588 Y(SIMD_ELEMENT, reglane, "SM3_IMM2", 0, F(FLD_SM3_imm2), \
7589 "an indexed SM3 vector immediate") \
7590 /* These next two are really register fields; the [...] notation \
7591 is just syntactic sugar. */ \
7592 Y(INT_REG, x0_to_x30, "MOPS_ADDR_Rd", 0, F(FLD_Rd), \
7593 "a register destination address with writeback") \
7594 Y(INT_REG, x0_to_x30, "MOPS_ADDR_Rs", 0, F(FLD_Rs), \
7595 "a register source address with writeback") \
7596 Y(INT_REG, x0_to_x30, "MOPS_WB_Rd", 0, F(FLD_Rn), \
7597 "an integer register with writeback") \
7598 Y(IMMEDIATE, imm, "CSSC_SIMM8", OPD_F_SEXT, F(FLD_CSSC_imm8), \
7599 "an 8-bit signed immediate") \
7600 Y(IMMEDIATE, imm, "CSSC_UIMM8", 0, F(FLD_CSSC_imm8), \
7601 "an 8-bit unsigned immediate") \
7602 X(ADDRESS, ins_rcpc3_addr_opt_offset, ext_rcpc3_addr_opt_offset, \
7603 "RCPC3_ADDR_OPT_POSTIND", 0, F(FLD_opc2), \
7604 "an address with post-incrementing by ammount of loaded bytes") \
7605 X(ADDRESS, ins_rcpc3_addr_opt_offset, ext_rcpc3_addr_opt_offset, \
7606 "RCPC3_ADDR_OPT_PREIND_WB", 0, F(FLD_opc2), \
7607 "an address with pre-incrementing with write-back by ammount of stored bytes") \
7608 X(ADDRESS, ins_rcpc3_addr_opt_offset, ext_rcpc3_addr_opt_offset, \
7609 "RCPC3_ADDR_POSTIND", 0, F(), \
7610 "an address with post-incrementing by ammount of loaded bytes") \
7611 X(ADDRESS, ins_rcpc3_addr_opt_offset, ext_rcpc3_addr_opt_offset, \
7612 "RCPC3_ADDR_PREIND_WB", 0, F(), \
7613 "an address with pre-incrementing with write-back by ammount of stored bytes") \
7614 Y(ADDRESS, rcpc3_addr_offset, "RCPC3_ADDR_OFFSET", 0, F(FLD_Rn,FLD_imm9), \
7615 "an address with an optional 8-bit signed immediate offset")