Home | History | Annotate | Line # | Download | only in opcodes
aarch64-tbl.h revision 1.10
      1   1.1  christos /* aarch64-tbl.h -- AArch64 opcode description table and instruction
      2   1.1  christos    operand description table.
      3  1.10  christos    Copyright (C) 2012-2022 Free Software Foundation, Inc.
      4   1.1  christos 
      5   1.1  christos    This file is part of the GNU opcodes library.
      6   1.1  christos 
      7   1.1  christos    This library is free software; you can redistribute it and/or modify
      8   1.1  christos    it under the terms of the GNU General Public License as published by
      9   1.1  christos    the Free Software Foundation; either version 3, or (at your option)
     10   1.1  christos    any later version.
     11   1.1  christos 
     12   1.1  christos    It is distributed in the hope that it will be useful, but WITHOUT
     13   1.1  christos    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     14   1.1  christos    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
     15   1.1  christos    License for more details.
     16   1.1  christos 
     17   1.1  christos    You should have received a copy of the GNU General Public License
     18   1.1  christos    along with this file; see the file COPYING.  If not, write to the
     19   1.1  christos    Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
     20   1.1  christos    MA 02110-1301, USA.  */
     21   1.1  christos 
     22   1.1  christos #include "aarch64-opc.h"
     23   1.1  christos 
     24   1.6  christos #ifndef VERIFIER
     25   1.6  christos #error  VERIFIER must be defined.
     26   1.6  christos #endif
     27   1.6  christos 
     28   1.1  christos /* Operand type.  */
     29   1.1  christos 
     30   1.1  christos #define OPND(x)	AARCH64_OPND_##x
     31   1.1  christos #define OP0() {}
     32   1.1  christos #define OP1(a) {OPND(a)}
     33   1.1  christos #define OP2(a,b) {OPND(a), OPND(b)}
     34   1.1  christos #define OP3(a,b,c) {OPND(a), OPND(b), OPND(c)}
     35   1.1  christos #define OP4(a,b,c,d) {OPND(a), OPND(b), OPND(c), OPND(d)}
     36   1.1  christos #define OP5(a,b,c,d,e) {OPND(a), OPND(b), OPND(c), OPND(d), OPND(e)}
     37   1.1  christos 
     38   1.1  christos #define QLF(x) AARCH64_OPND_QLF_##x
     39   1.1  christos #define QLF1(a) {QLF(a)}
     40   1.1  christos #define QLF2(a,b) {QLF(a), QLF(b)}
     41   1.1  christos #define QLF3(a,b,c) {QLF(a), QLF(b), QLF(c)}
     42   1.1  christos #define QLF4(a,b,c,d) {QLF(a), QLF(b), QLF(c), QLF(d)}
     43   1.1  christos #define QLF5(a,b,c,d,e) {QLF(a), QLF(b), QLF(c), QLF(d), QLF(e)}
     44   1.1  christos 
     45   1.1  christos /* Qualifiers list.  */
     46   1.1  christos 
     47   1.1  christos /* e.g. MSR <systemreg>, <Xt>.  */
     48   1.1  christos #define QL_SRC_X		\
     49   1.1  christos {				\
     50   1.1  christos   QLF2(NIL,X),			\
     51   1.1  christos }
     52   1.1  christos 
     53   1.1  christos /* e.g. MRS <Xt>, <systemreg>.  */
     54   1.1  christos #define QL_DST_X		\
     55   1.1  christos {				\
     56   1.1  christos   QLF2(X,NIL),			\
     57   1.1  christos }
     58   1.1  christos 
     59   1.1  christos /* e.g. SYS #<op1>, <Cn>, <Cm>, #<op2>{, <Xt>}.  */
     60   1.1  christos #define QL_SYS			\
     61   1.1  christos {				\
     62   1.7  christos   QLF5(NIL,CR,CR,NIL,X),	\
     63   1.1  christos }
     64   1.1  christos 
     65   1.1  christos /* e.g. SYSL <Xt>, #<op1>, <Cn>, <Cm>, #<op2>.  */
     66   1.1  christos #define QL_SYSL			\
     67   1.1  christos {				\
     68   1.7  christos   QLF5(X,NIL,CR,CR,NIL),	\
     69   1.1  christos }
     70   1.1  christos 
     71   1.1  christos /* e.g. ADRP <Xd>, <label>.  */
     72   1.1  christos #define QL_ADRP			\
     73   1.1  christos {				\
     74   1.1  christos   QLF2(X,NIL),			\
     75   1.1  christos }
     76   1.1  christos 
     77   1.9  christos /* e.g. TCANCEL #<imm>.  */
     78   1.9  christos #define QL_IMM_NIL		\
     79   1.9  christos {				\
     80   1.9  christos   QLF1(NIL),			\
     81   1.9  christos }
     82   1.9  christos 
     83   1.1  christos /* e.g. B.<cond> <label>.  */
     84   1.1  christos #define QL_PCREL_NIL		\
     85   1.1  christos {				\
     86   1.1  christos   QLF1(NIL),			\
     87   1.1  christos }
     88   1.1  christos 
     89   1.1  christos /* e.g. TBZ <Xt>, #<imm>, <label>.  */
     90   1.1  christos #define QL_PCREL_14		\
     91   1.1  christos {				\
     92   1.1  christos   QLF3(X,imm_0_63,NIL),		\
     93   1.1  christos }
     94   1.1  christos 
     95   1.1  christos /* e.g. BL <label>.  */
     96   1.1  christos #define QL_PCREL_26		\
     97   1.1  christos {				\
     98   1.1  christos   QLF1(NIL),			\
     99   1.1  christos }
    100   1.1  christos 
    101   1.1  christos /* e.g. LDRSW <Xt>, <label>.  */
    102   1.1  christos #define QL_X_PCREL		\
    103   1.1  christos {				\
    104   1.1  christos   QLF2(X,NIL),			\
    105   1.1  christos }
    106   1.1  christos 
    107   1.1  christos /* e.g. LDR <Wt>, <label>.  */
    108   1.1  christos #define QL_R_PCREL		\
    109   1.1  christos {				\
    110   1.1  christos   QLF2(W,NIL),			\
    111   1.1  christos   QLF2(X,NIL),			\
    112   1.1  christos }
    113   1.1  christos 
    114   1.1  christos /* e.g. LDR <Dt>, <label>.  */
    115   1.1  christos #define QL_FP_PCREL		\
    116   1.1  christos {				\
    117   1.1  christos   QLF2(S_S,NIL),		\
    118   1.1  christos   QLF2(S_D,NIL),		\
    119   1.1  christos   QLF2(S_Q,NIL),		\
    120   1.1  christos }
    121   1.1  christos 
    122   1.1  christos /* e.g. PRFM <prfop>, <label>.  */
    123   1.1  christos #define QL_PRFM_PCREL		\
    124   1.1  christos {				\
    125   1.1  christos   QLF2(NIL,NIL),		\
    126   1.1  christos }
    127   1.1  christos 
    128   1.1  christos /* e.g. BR <Xn>.  */
    129   1.1  christos #define QL_I1X			\
    130   1.1  christos {				\
    131   1.1  christos   QLF1(X),			\
    132   1.1  christos }
    133   1.1  christos 
    134   1.9  christos /* e.g. STG <Xt|SP>, [<Xn|SP>, #<imm9>].  */
    135   1.8  christos #define QL_LDST_AT		\
    136   1.8  christos {				\
    137   1.8  christos   QLF2(X, imm_tag),		\
    138   1.9  christos   QLF2(SP, imm_tag),		\
    139   1.8  christos }
    140   1.8  christos 
    141   1.1  christos /* e.g. RBIT <Wd>, <Wn>.  */
    142   1.1  christos #define QL_I2SAME		\
    143   1.1  christos {				\
    144   1.1  christos   QLF2(W,W),			\
    145   1.1  christos   QLF2(X,X),			\
    146   1.1  christos }
    147   1.1  christos 
    148   1.1  christos /* e.g. CMN <Wn|WSP>, <Wm>{, <extend> {#<amount>}}.  */
    149   1.1  christos #define QL_I2_EXT		\
    150   1.1  christos {				\
    151   1.1  christos   QLF2(W,W),			\
    152   1.1  christos   QLF2(X,W),			\
    153   1.1  christos   QLF2(X,X),			\
    154   1.1  christos }
    155   1.1  christos 
    156   1.1  christos /* e.g. MOV <Wd|WSP>, <Wn|WSP>, at least one SP.  */
    157   1.1  christos #define QL_I2SP			\
    158   1.1  christos {				\
    159   1.1  christos   QLF2(WSP,W),			\
    160   1.1  christos   QLF2(W,WSP),			\
    161   1.1  christos   QLF2(SP,X),			\
    162   1.1  christos   QLF2(X,SP),			\
    163   1.1  christos }
    164   1.1  christos 
    165   1.1  christos /* e.g. REV <Wd>, <Wn>.  */
    166   1.1  christos #define QL_I2SAMEW		\
    167   1.1  christos {				\
    168   1.1  christos   QLF2(W,W),			\
    169   1.1  christos }
    170   1.1  christos 
    171   1.1  christos /* e.g. REV32 <Xd>, <Xn>.  */
    172   1.1  christos #define QL_I2SAMEX		\
    173   1.1  christos {				\
    174   1.1  christos   QLF2(X,X),			\
    175   1.1  christos }
    176   1.1  christos 
    177   1.1  christos #define QL_I2SAMER		\
    178   1.1  christos {				\
    179   1.1  christos   QLF2(W,W),			\
    180   1.1  christos   QLF2(X,X),			\
    181   1.1  christos }
    182   1.1  christos 
    183   1.1  christos /* e.g. CRC32B <Wd>, <Wn>, <Wm>.  */
    184   1.1  christos #define QL_I3SAMEW		\
    185   1.1  christos {				\
    186   1.1  christos   QLF3(W,W,W),			\
    187   1.1  christos }
    188   1.1  christos 
    189   1.1  christos /* e.g. SMULH <Xd>, <Xn>, <Xm>.  */
    190   1.1  christos #define QL_I3SAMEX		\
    191   1.1  christos {				\
    192   1.1  christos   QLF3(X,X,X),			\
    193   1.1  christos }
    194   1.1  christos 
    195   1.1  christos /* e.g. CRC32X <Wd>, <Wn>, <Xm>.  */
    196   1.1  christos #define QL_I3WWX		\
    197   1.1  christos {				\
    198   1.1  christos   QLF3(W,W,X),			\
    199   1.1  christos }
    200   1.1  christos 
    201   1.1  christos /* e.g. UDIV <Xd>, <Xn>, <Xm>.  */
    202   1.1  christos #define QL_I3SAMER		\
    203   1.1  christos {				\
    204   1.1  christos   QLF3(W,W,W),			\
    205   1.1  christos   QLF3(X,X,X),			\
    206   1.1  christos }
    207   1.1  christos 
    208   1.1  christos /* e.g. ADDS <Xd>, <Xn|SP>, <R><m>{, <extend> {#<amount>}}.  */
    209   1.1  christos #define QL_I3_EXT		\
    210   1.1  christos {				\
    211   1.1  christos   QLF3(W,W,W),			\
    212   1.1  christos   QLF3(X,X,W),			\
    213   1.1  christos   QLF3(X,X,X),			\
    214   1.1  christos }
    215   1.1  christos 
    216   1.1  christos /* e.g. MADD <Xd>, <Xn>, <Xm>, <Xa>.  */
    217   1.1  christos #define QL_I4SAMER		\
    218   1.1  christos {				\
    219   1.1  christos   QLF4(W,W,W,W),		\
    220   1.1  christos   QLF4(X,X,X,X),		\
    221   1.1  christos }
    222   1.1  christos 
    223   1.1  christos /* e.g. SMADDL <Xd>, <Wn>, <Wm>, <Xa>.  */
    224   1.1  christos #define QL_I3SAMEL		\
    225   1.1  christos {				\
    226   1.1  christos   QLF3(X,W,W),			\
    227   1.1  christos }
    228   1.1  christos 
    229   1.1  christos /* e.g. SMADDL <Xd>, <Wn>, <Wm>, <Xa>.  */
    230   1.1  christos #define QL_I4SAMEL		\
    231   1.1  christos {				\
    232   1.1  christos   QLF4(X,W,W,X),		\
    233   1.1  christos }
    234   1.1  christos 
    235   1.1  christos /* e.g. CSINC <Xd>, <Xn>, <Xm>, <cond>.  */
    236   1.1  christos #define QL_CSEL			\
    237   1.1  christos {				\
    238   1.1  christos   QLF4(W, W, W, NIL),		\
    239   1.1  christos   QLF4(X, X, X, NIL),		\
    240   1.1  christos }
    241   1.1  christos 
    242   1.1  christos /* e.g. CSET <Wd>, <cond>.  */
    243   1.1  christos #define QL_DST_R			\
    244   1.1  christos {				\
    245   1.1  christos   QLF2(W, NIL),			\
    246   1.1  christos   QLF2(X, NIL),			\
    247   1.1  christos }
    248   1.1  christos 
    249   1.1  christos /* e.g. BFM <Wd>, <Wn>, #<immr>, #<imms>.  */
    250   1.1  christos #define QL_BF			\
    251   1.1  christos {				\
    252   1.1  christos   QLF4(W,W,imm_0_31,imm_0_31),	\
    253   1.1  christos   QLF4(X,X,imm_0_63,imm_0_63),	\
    254   1.1  christos }
    255   1.1  christos 
    256   1.8  christos /* e.g. ADDG <Xd>, <Xn>, #<uimm10>, #<uimm4>.  */
    257   1.8  christos #define QL_ADDG			\
    258   1.8  christos {				\
    259   1.8  christos   QLF4(X,X,NIL,imm_0_15),	\
    260   1.8  christos }				\
    261   1.8  christos 
    262   1.6  christos /* e.g. BFC <Wd>, #<immr>, #<imms>.  */
    263   1.6  christos #define QL_BF1					\
    264   1.6  christos {						\
    265   1.6  christos   QLF3 (W, imm_0_31, imm_1_32),			\
    266   1.6  christos   QLF3 (X, imm_0_63, imm_1_64),			\
    267   1.6  christos }
    268   1.6  christos 
    269   1.1  christos /* e.g. UBFIZ <Wd>, <Wn>, #<lsb>, #<width>.  */
    270   1.1  christos #define QL_BF2			\
    271   1.1  christos {				\
    272   1.1  christos   QLF4(W,W,imm_0_31,imm_1_32),	\
    273   1.1  christos   QLF4(X,X,imm_0_63,imm_1_64),	\
    274   1.1  christos }
    275   1.1  christos 
    276   1.1  christos /* e.g. SCVTF <Sd>, <Xn>, #<fbits>.  */
    277   1.1  christos #define QL_FIX2FP		\
    278   1.1  christos {				\
    279   1.1  christos   QLF3(S_D,W,imm_1_32),		\
    280   1.1  christos   QLF3(S_S,W,imm_1_32),		\
    281   1.1  christos   QLF3(S_D,X,imm_1_64),		\
    282   1.1  christos   QLF3(S_S,X,imm_1_64),		\
    283   1.1  christos }
    284   1.1  christos 
    285   1.6  christos /* e.g. SCVTF <Hd>, <Xn>, #<fbits>.  */
    286   1.6  christos #define QL_FIX2FP_H			\
    287   1.6  christos {					\
    288   1.6  christos   QLF3 (S_H, W, imm_1_32),		\
    289   1.6  christos   QLF3 (S_H, X, imm_1_64),		\
    290   1.6  christos }
    291   1.6  christos 
    292   1.1  christos /* e.g. FCVTZS <Wd>, <Dn>, #<fbits>.  */
    293   1.1  christos #define QL_FP2FIX		\
    294   1.1  christos {				\
    295   1.1  christos   QLF3(W,S_D,imm_1_32),		\
    296   1.1  christos   QLF3(W,S_S,imm_1_32),		\
    297   1.1  christos   QLF3(X,S_D,imm_1_64),		\
    298   1.1  christos   QLF3(X,S_S,imm_1_64),		\
    299   1.1  christos }
    300   1.1  christos 
    301   1.6  christos /* e.g. FCVTZS <Wd>, <Hn>, #<fbits>.  */
    302   1.6  christos #define QL_FP2FIX_H			\
    303   1.6  christos {					\
    304   1.6  christos   QLF3 (W, S_H, imm_1_32),		\
    305   1.6  christos   QLF3 (X, S_H, imm_1_64),		\
    306   1.6  christos }
    307   1.6  christos 
    308   1.1  christos /* e.g. SCVTF <Dd>, <Wn>.  */
    309   1.1  christos #define QL_INT2FP		\
    310   1.1  christos {				\
    311   1.1  christos   QLF2(S_D,W),			\
    312   1.1  christos   QLF2(S_S,W),			\
    313   1.1  christos   QLF2(S_D,X),			\
    314   1.1  christos   QLF2(S_S,X),			\
    315   1.1  christos }
    316   1.1  christos 
    317   1.8  christos /* e.g. FMOV <Dd>, <Xn>.  */
    318   1.8  christos #define QL_INT2FP_FMOV		\
    319   1.8  christos {				\
    320   1.8  christos   QLF2(S_S,W),			\
    321   1.8  christos   QLF2(S_D,X),			\
    322   1.8  christos }
    323   1.8  christos 
    324   1.6  christos /* e.g. SCVTF <Hd>, <Wn>.  */
    325   1.6  christos #define QL_INT2FP_H			\
    326   1.6  christos {					\
    327   1.6  christos   QLF2 (S_H, W),			\
    328   1.6  christos   QLF2 (S_H, X),			\
    329   1.6  christos }
    330   1.6  christos 
    331   1.1  christos /* e.g. FCVTNS <Xd>, <Dn>.  */
    332   1.1  christos #define QL_FP2INT		\
    333   1.1  christos {				\
    334   1.1  christos   QLF2(W,S_D),			\
    335   1.1  christos   QLF2(W,S_S),			\
    336   1.1  christos   QLF2(X,S_D),			\
    337   1.1  christos   QLF2(X,S_S),			\
    338   1.1  christos }
    339   1.1  christos 
    340   1.8  christos /* e.g. FMOV <Xd>, <Dn>.  */
    341   1.8  christos #define QL_FP2INT_FMOV		\
    342   1.8  christos {				\
    343   1.8  christos   QLF2(W,S_S),			\
    344   1.8  christos   QLF2(X,S_D),			\
    345   1.8  christos }
    346   1.8  christos 
    347   1.6  christos /* e.g. FCVTNS <Hd>, <Wn>.  */
    348   1.6  christos #define QL_FP2INT_H			\
    349   1.6  christos {					\
    350   1.6  christos   QLF2 (W, S_H),			\
    351   1.6  christos   QLF2 (X, S_H),			\
    352   1.6  christos }
    353   1.6  christos 
    354   1.7  christos /* e.g. FJCVTZS <Wd>, <Dn>.  */
    355   1.7  christos #define QL_FP2INT_W_D			\
    356   1.7  christos {					\
    357   1.7  christos   QLF2 (W, S_D),			\
    358   1.7  christos }
    359   1.7  christos 
    360   1.1  christos /* e.g. FMOV <Xd>, <Vn>.D[1].  */
    361   1.1  christos #define QL_XVD1			\
    362   1.1  christos {				\
    363   1.1  christos   QLF2(X,S_D),			\
    364   1.1  christos }
    365   1.1  christos 
    366   1.1  christos /* e.g. FMOV <Vd>.D[1], <Xn>.  */
    367   1.1  christos #define QL_VD1X			\
    368   1.1  christos {				\
    369   1.1  christos   QLF2(S_D,X),			\
    370   1.1  christos }
    371   1.1  christos 
    372   1.1  christos /* e.g. EXTR <Xd>, <Xn>, <Xm>, #<lsb>.  */
    373   1.1  christos #define QL_EXTR			\
    374   1.1  christos {				\
    375   1.1  christos   QLF4(W,W,W,imm_0_31),		\
    376   1.1  christos   QLF4(X,X,X,imm_0_63),		\
    377   1.1  christos }
    378   1.1  christos 
    379   1.1  christos /* e.g. LSL <Wd>, <Wn>, #<uimm>.  */
    380   1.1  christos #define QL_SHIFT		\
    381   1.1  christos {				\
    382   1.1  christos   QLF3(W,W,imm_0_31),		\
    383   1.1  christos   QLF3(X,X,imm_0_63),		\
    384   1.1  christos }
    385   1.1  christos 
    386   1.1  christos /* e.g. UXTH <Xd>, <Wn>.  */
    387   1.1  christos #define QL_EXT			\
    388   1.1  christos {				\
    389   1.1  christos   QLF2(W,W),			\
    390   1.1  christos   QLF2(X,W),			\
    391   1.1  christos }
    392   1.1  christos 
    393   1.1  christos /* e.g. UXTW <Xd>, <Wn>.  */
    394   1.1  christos #define QL_EXT_W		\
    395   1.1  christos {				\
    396   1.1  christos   QLF2(X,W),			\
    397   1.1  christos }
    398   1.1  christos 
    399   1.1  christos /* e.g. SQSHL <V><d>, <V><n>, #<shift>.  */
    400   1.1  christos #define QL_SSHIFT		\
    401   1.1  christos {				\
    402   1.1  christos   QLF3(S_B , S_B , S_B ),	\
    403   1.1  christos   QLF3(S_H , S_H , S_H ),	\
    404   1.1  christos   QLF3(S_S , S_S , S_S ),	\
    405   1.1  christos   QLF3(S_D , S_D , S_D )	\
    406   1.1  christos }
    407   1.1  christos 
    408   1.1  christos /* e.g. SSHR <V><d>, <V><n>, #<shift>.  */
    409   1.1  christos #define QL_SSHIFT_D		\
    410   1.1  christos {				\
    411   1.1  christos   QLF3(S_D , S_D , S_D )	\
    412   1.1  christos }
    413   1.1  christos 
    414   1.1  christos /* e.g. UCVTF <Vd>.<T>, <Vn>.<T>, #<fbits>.  */
    415   1.1  christos #define QL_SSHIFT_SD		\
    416   1.1  christos {				\
    417   1.1  christos   QLF3(S_S , S_S , S_S ),	\
    418   1.1  christos   QLF3(S_D , S_D , S_D )	\
    419   1.1  christos }
    420   1.1  christos 
    421   1.6  christos /* e.g. UCVTF <Vd>.<T>, <Vn>.<T>, #<fbits>.  */
    422   1.6  christos #define QL_SSHIFT_H		\
    423   1.6  christos {				\
    424   1.6  christos   QLF3 (S_H, S_H, S_H)		\
    425   1.6  christos }
    426   1.6  christos 
    427   1.1  christos /* e.g. SQSHRUN <Vb><d>, <Va><n>, #<shift>.  */
    428   1.1  christos #define QL_SSHIFTN		\
    429   1.1  christos {				\
    430   1.1  christos   QLF3(S_B , S_H , S_B ),	\
    431   1.1  christos   QLF3(S_H , S_S , S_H ),	\
    432   1.1  christos   QLF3(S_S , S_D , S_S ),	\
    433   1.1  christos }
    434   1.1  christos 
    435   1.1  christos /* e.g. SSHR <Vd>.<T>, <Vn>.<T>, #<shift>.
    436   1.1  christos    The register operand variant qualifiers are deliberately used for the
    437   1.1  christos    immediate operand to ease the operand encoding/decoding and qualifier
    438   1.1  christos    sequence matching.  */
    439   1.1  christos #define QL_VSHIFT		\
    440   1.1  christos {				\
    441   1.1  christos   QLF3(V_8B , V_8B , V_8B ),	\
    442   1.1  christos   QLF3(V_16B, V_16B, V_16B),	\
    443   1.1  christos   QLF3(V_4H , V_4H , V_4H ),	\
    444   1.1  christos   QLF3(V_8H , V_8H , V_8H ),	\
    445   1.1  christos   QLF3(V_2S , V_2S , V_2S ),	\
    446   1.1  christos   QLF3(V_4S , V_4S , V_4S ),	\
    447   1.1  christos   QLF3(V_2D , V_2D , V_2D )	\
    448   1.1  christos }
    449   1.1  christos 
    450   1.1  christos /* e.g. SCVTF <Vd>.<T>, <Vn>.<T>, #<fbits>.  */
    451   1.1  christos #define QL_VSHIFT_SD		\
    452   1.1  christos {				\
    453   1.1  christos   QLF3(V_2S , V_2S , V_2S ),	\
    454   1.1  christos   QLF3(V_4S , V_4S , V_4S ),	\
    455   1.1  christos   QLF3(V_2D , V_2D , V_2D )	\
    456   1.1  christos }
    457   1.1  christos 
    458   1.6  christos /* e.g. SCVTF <Vd>.<T>, <Vn>.<T>, #<fbits>.  */
    459   1.6  christos #define QL_VSHIFT_H		\
    460   1.6  christos {				\
    461   1.6  christos   QLF3 (V_4H, V_4H, V_4H),	\
    462   1.6  christos   QLF3 (V_8H, V_8H, V_8H)	\
    463   1.6  christos }
    464   1.6  christos 
    465   1.1  christos /* e.g. SHRN<Q> <Vd>.<Tb>, <Vn>.<Ta>, #<shift>.  */
    466   1.1  christos #define QL_VSHIFTN		\
    467   1.1  christos {				\
    468   1.1  christos   QLF3(V_8B , V_8H , V_8B ),	\
    469   1.1  christos   QLF3(V_4H , V_4S , V_4H ),	\
    470   1.1  christos   QLF3(V_2S , V_2D , V_2S ),	\
    471   1.1  christos }
    472   1.1  christos 
    473   1.1  christos /* e.g. SHRN<Q> <Vd>.<Tb>, <Vn>.<Ta>, #<shift>.  */
    474   1.1  christos #define QL_VSHIFTN2		\
    475   1.1  christos {				\
    476   1.1  christos   QLF3(V_16B, V_8H, V_16B),	\
    477   1.1  christos   QLF3(V_8H , V_4S , V_8H ),	\
    478   1.1  christos   QLF3(V_4S , V_2D , V_4S ),	\
    479   1.1  christos }
    480   1.1  christos 
    481   1.1  christos /* e.g. SSHLL<Q> <Vd>.<Ta>, <Vn>.<Tb>, #<shift>.
    482   1.1  christos    the 3rd qualifier is used to help the encoding.  */
    483   1.1  christos #define QL_VSHIFTL		\
    484   1.1  christos {				\
    485   1.1  christos   QLF3(V_8H , V_8B , V_8B ),	\
    486   1.1  christos   QLF3(V_4S , V_4H , V_4H ),	\
    487   1.1  christos   QLF3(V_2D , V_2S , V_2S ),	\
    488   1.1  christos }
    489   1.1  christos 
    490   1.1  christos /* e.g. SSHLL<Q> <Vd>.<Ta>, <Vn>.<Tb>, #<shift>.  */
    491   1.1  christos #define QL_VSHIFTL2		\
    492   1.1  christos {				\
    493   1.1  christos   QLF3(V_8H , V_16B, V_16B),	\
    494   1.1  christos   QLF3(V_4S , V_8H , V_8H ),	\
    495   1.1  christos   QLF3(V_2D , V_4S , V_4S ),	\
    496   1.1  christos }
    497   1.1  christos 
    498   1.1  christos /* e.g. TBL.  */
    499   1.1  christos #define QL_TABLE		\
    500   1.1  christos {				\
    501   1.1  christos   QLF3(V_8B , V_16B, V_8B ),	\
    502   1.1  christos   QLF3(V_16B, V_16B, V_16B),	\
    503   1.1  christos }
    504   1.1  christos 
    505   1.1  christos /* e.g. SHA1H.  */
    506   1.1  christos #define QL_2SAMES		\
    507   1.1  christos {				\
    508   1.1  christos   QLF2(S_S, S_S),		\
    509   1.1  christos }
    510   1.1  christos 
    511   1.1  christos /* e.g. ABS <V><d>, <V><n>.  */
    512   1.1  christos #define QL_2SAMED		\
    513   1.1  christos {				\
    514   1.1  christos   QLF2(S_D, S_D),		\
    515   1.1  christos }
    516   1.1  christos 
    517   1.1  christos /* e.g. CMGT <V><d>, <V><n>, #0.  */
    518   1.1  christos #define QL_SISD_CMP_0		\
    519   1.1  christos {				\
    520   1.1  christos   QLF3(S_D, S_D, NIL),		\
    521   1.1  christos }
    522   1.1  christos 
    523   1.1  christos /* e.g. FCMEQ <V><d>, <V><n>, #0.  */
    524   1.1  christos #define QL_SISD_FCMP_0		\
    525   1.1  christos {				\
    526   1.1  christos   QLF3(S_S, S_S, NIL),		\
    527   1.1  christos   QLF3(S_D, S_D, NIL),		\
    528   1.1  christos }
    529   1.1  christos 
    530   1.6  christos /* e.g. FCMEQ <V><d>, <V><n>, #0.  */
    531   1.6  christos #define QL_SISD_FCMP_H_0	\
    532   1.6  christos {				\
    533   1.6  christos   QLF3 (S_H, S_H, NIL),		\
    534   1.6  christos }
    535   1.6  christos 
    536   1.1  christos /* e.g. FMAXNMP <V><d>, <Vn>.<T>.  */
    537   1.1  christos #define QL_SISD_PAIR		\
    538   1.1  christos {				\
    539   1.1  christos   QLF2(S_S, V_2S),		\
    540   1.1  christos   QLF2(S_D, V_2D),		\
    541   1.1  christos }
    542   1.1  christos 
    543   1.6  christos /* e.g. FMAXNMP <V><d>, <Vn>.<T>.  */
    544   1.6  christos #define QL_SISD_PAIR_H		\
    545   1.6  christos {				\
    546   1.6  christos   QLF2 (S_H, V_2H),		\
    547   1.6  christos }
    548   1.6  christos 
    549   1.1  christos /* e.g. ADDP <V><d>, <Vn>.<T>.  */
    550   1.1  christos #define QL_SISD_PAIR_D		\
    551   1.1  christos {				\
    552   1.1  christos   QLF2(S_D, V_2D),		\
    553   1.1  christos }
    554   1.1  christos 
    555   1.1  christos /* e.g. DUP <V><d>, <Vn>.<T>[<index>].  */
    556   1.1  christos #define QL_S_2SAME		\
    557   1.1  christos {				\
    558   1.1  christos   QLF2(S_B, S_B),		\
    559   1.1  christos   QLF2(S_H, S_H),		\
    560   1.1  christos   QLF2(S_S, S_S),		\
    561   1.1  christos   QLF2(S_D, S_D),		\
    562   1.1  christos }
    563   1.1  christos 
    564   1.1  christos /* e.g. FCVTNS <V><d>, <V><n>.  */
    565   1.1  christos #define QL_S_2SAMESD		\
    566   1.1  christos {				\
    567   1.1  christos   QLF2(S_S, S_S),		\
    568   1.1  christos   QLF2(S_D, S_D),		\
    569   1.1  christos }
    570   1.1  christos 
    571   1.6  christos /* e.g. FCVTNS <V><d>, <V><n>.  */
    572   1.6  christos #define QL_S_2SAMEH		\
    573   1.6  christos {				\
    574   1.6  christos   QLF2 (S_H, S_H),		\
    575   1.6  christos }
    576   1.6  christos 
    577   1.1  christos /* e.g. SQXTN <Vb><d>, <Va><n>.  */
    578   1.1  christos #define QL_SISD_NARROW		\
    579   1.1  christos {				\
    580   1.1  christos   QLF2(S_B, S_H),		\
    581   1.1  christos   QLF2(S_H, S_S),		\
    582   1.1  christos   QLF2(S_S, S_D),		\
    583   1.1  christos }
    584   1.1  christos 
    585   1.1  christos /* e.g. FCVTXN <Vb><d>, <Va><n>.  */
    586   1.1  christos #define QL_SISD_NARROW_S	\
    587   1.1  christos {				\
    588   1.1  christos   QLF2(S_S, S_D),		\
    589   1.1  christos }
    590   1.1  christos 
    591   1.1  christos /* e.g. FCVT.  */
    592   1.1  christos #define QL_FCVT			\
    593   1.1  christos {				\
    594   1.1  christos   QLF2(S_S, S_H),		\
    595   1.1  christos   QLF2(S_S, S_D),		\
    596   1.1  christos   QLF2(S_D, S_H),		\
    597   1.1  christos   QLF2(S_D, S_S),		\
    598   1.1  christos   QLF2(S_H, S_S),		\
    599   1.1  christos   QLF2(S_H, S_D),		\
    600   1.1  christos }
    601   1.1  christos 
    602   1.1  christos /* FMOV <Dd>, <Dn>.  */
    603   1.1  christos #define QL_FP2			\
    604   1.1  christos {				\
    605   1.1  christos   QLF2(S_S, S_S),		\
    606   1.1  christos   QLF2(S_D, S_D),		\
    607   1.1  christos }
    608   1.1  christos 
    609   1.6  christos /* FMOV <Hd>, <Hn>.  */
    610   1.6  christos #define QL_FP2_H		\
    611   1.6  christos {				\
    612   1.6  christos   QLF2 (S_H, S_H),		\
    613   1.6  christos }
    614   1.6  christos 
    615   1.1  christos /* e.g. SQADD <V><d>, <V><n>, <V><m>.  */
    616   1.1  christos #define QL_S_3SAME		\
    617   1.1  christos {				\
    618   1.1  christos   QLF3(S_B, S_B, S_B),		\
    619   1.1  christos   QLF3(S_H, S_H, S_H),		\
    620   1.1  christos   QLF3(S_S, S_S, S_S),		\
    621   1.1  christos   QLF3(S_D, S_D, S_D),		\
    622   1.1  christos }
    623   1.1  christos 
    624   1.1  christos /* e.g. CMGE <V><d>, <V><n>, <V><m>.  */
    625   1.1  christos #define QL_S_3SAMED		\
    626   1.1  christos {				\
    627   1.1  christos   QLF3(S_D, S_D, S_D),		\
    628   1.1  christos }
    629   1.1  christos 
    630   1.1  christos /* e.g. SQDMULH <V><d>, <V><n>, <V><m>.  */
    631   1.1  christos #define QL_SISD_HS		\
    632   1.1  christos {				\
    633   1.1  christos   QLF3(S_H, S_H, S_H),		\
    634   1.1  christos   QLF3(S_S, S_S, S_S),		\
    635   1.1  christos }
    636   1.1  christos 
    637   1.1  christos /* e.g. SQDMLAL <Va><d>, <Vb><n>, <Vb><m>.  */
    638   1.1  christos #define QL_SISDL_HS		\
    639   1.1  christos {				\
    640   1.1  christos   QLF3(S_S, S_H, S_H),		\
    641   1.1  christos   QLF3(S_D, S_S, S_S),		\
    642   1.1  christos }
    643   1.1  christos 
    644   1.1  christos /* FMUL <Sd>, <Sn>, <Sm>.  */
    645   1.1  christos #define QL_FP3			\
    646   1.1  christos {				\
    647   1.1  christos   QLF3(S_S, S_S, S_S),		\
    648   1.1  christos   QLF3(S_D, S_D, S_D),		\
    649   1.1  christos }
    650   1.1  christos 
    651   1.6  christos /* FMUL <Hd>, <Hn>, <Hm>.  */
    652   1.6  christos #define QL_FP3_H		\
    653   1.6  christos {				\
    654   1.6  christos   QLF3 (S_H, S_H, S_H),		\
    655   1.6  christos }
    656   1.6  christos 
    657   1.1  christos /* FMADD <Dd>, <Dn>, <Dm>, <Da>.  */
    658   1.1  christos #define QL_FP4			\
    659   1.1  christos {				\
    660   1.1  christos   QLF4(S_S, S_S, S_S, S_S),	\
    661   1.1  christos   QLF4(S_D, S_D, S_D, S_D),	\
    662   1.1  christos }
    663   1.1  christos 
    664   1.6  christos /* FMADD <Hd>, <Hn>, <Hm>, <Ha>.  */
    665   1.6  christos #define QL_FP4_H		\
    666   1.6  christos {				\
    667   1.6  christos   QLF4 (S_H, S_H, S_H, S_H),	\
    668   1.6  christos }
    669   1.6  christos 
    670   1.1  christos /* e.g. FCMP <Dn>, #0.0.  */
    671   1.1  christos #define QL_DST_SD			\
    672   1.1  christos {				\
    673   1.1  christos   QLF2(S_S, NIL),		\
    674   1.1  christos   QLF2(S_D, NIL),		\
    675   1.1  christos }
    676   1.1  christos 
    677   1.6  christos /* e.g. FCMP <Hn>, #0.0.  */
    678   1.6  christos #define QL_DST_H		\
    679   1.6  christos {				\
    680   1.6  christos   QLF2 (S_H, NIL),		\
    681   1.6  christos }
    682   1.6  christos 
    683   1.1  christos /* FCSEL <Sd>, <Sn>, <Sm>, <cond>.  */
    684   1.1  christos #define QL_FP_COND		\
    685   1.1  christos {				\
    686   1.1  christos   QLF4(S_S, S_S, S_S, NIL),	\
    687   1.1  christos   QLF4(S_D, S_D, S_D, NIL),	\
    688   1.1  christos }
    689   1.1  christos 
    690   1.6  christos /* FCSEL <Hd>, <Hn>, <Hm>, <cond>.  */
    691   1.6  christos #define QL_FP_COND_H		\
    692   1.6  christos {				\
    693   1.6  christos   QLF4 (S_H, S_H, S_H, NIL),	\
    694   1.6  christos }
    695   1.6  christos 
    696   1.1  christos /* e.g. CCMN <Xn>, <Xm>, #<nzcv>, <cond>.  */
    697   1.1  christos #define QL_CCMP			\
    698   1.1  christos {				\
    699   1.1  christos   QLF4(W, W, NIL, NIL),		\
    700   1.1  christos   QLF4(X, X, NIL, NIL),		\
    701   1.1  christos }
    702   1.1  christos 
    703   1.1  christos /* e.g. CCMN <Xn>, #<imm>, #<nzcv>, <cond>,  */
    704   1.1  christos #define QL_CCMP_IMM		\
    705   1.1  christos {				\
    706   1.1  christos   QLF4(W, NIL, NIL, NIL),	\
    707   1.1  christos   QLF4(X, NIL, NIL, NIL),	\
    708   1.1  christos }
    709   1.1  christos 
    710   1.1  christos /* e.g. FCCMP <Sn>, <Sm>, #<nzcv>, <cond>.  */
    711   1.1  christos #define QL_FCCMP		\
    712   1.1  christos {				\
    713   1.1  christos   QLF4(S_S, S_S, NIL, NIL),	\
    714   1.1  christos   QLF4(S_D, S_D, NIL, NIL),	\
    715   1.1  christos }
    716   1.1  christos 
    717   1.6  christos /* e.g. FCCMP <Sn>, <Sm>, #<nzcv>, <cond>.  */
    718   1.6  christos #define QL_FCCMP_H		\
    719   1.6  christos {				\
    720   1.6  christos   QLF4 (S_H, S_H, NIL, NIL),	\
    721   1.6  christos }
    722   1.6  christos 
    723   1.1  christos /* e.g. DUP <Vd>.<T>, <Vn>.<Ts>[<index>].  */
    724   1.1  christos #define QL_DUP_VX		\
    725   1.1  christos {				\
    726   1.1  christos   QLF2(V_8B , S_B ),		\
    727   1.1  christos   QLF2(V_16B, S_B ),		\
    728   1.1  christos   QLF2(V_4H , S_H ),		\
    729   1.1  christos   QLF2(V_8H , S_H ),		\
    730   1.1  christos   QLF2(V_2S , S_S ),		\
    731   1.1  christos   QLF2(V_4S , S_S ),		\
    732   1.1  christos   QLF2(V_2D , S_D ),		\
    733   1.1  christos }
    734   1.1  christos 
    735   1.1  christos /* e.g. DUP <Vd>.<T>, <Wn>.  */
    736   1.1  christos #define QL_DUP_VR		\
    737   1.1  christos {				\
    738   1.1  christos   QLF2(V_8B , W ),		\
    739   1.1  christos   QLF2(V_16B, W ),		\
    740   1.1  christos   QLF2(V_4H , W ),		\
    741   1.1  christos   QLF2(V_8H , W ),		\
    742   1.1  christos   QLF2(V_2S , W ),		\
    743   1.1  christos   QLF2(V_4S , W ),		\
    744   1.1  christos   QLF2(V_2D , X ),		\
    745   1.1  christos }
    746   1.1  christos 
    747   1.1  christos /* e.g. INS <Vd>.<Ts>[<index>], <Wn>.  */
    748   1.1  christos #define QL_INS_XR		\
    749   1.1  christos {				\
    750   1.1  christos   QLF2(S_H , W ),		\
    751   1.1  christos   QLF2(S_S , W ),		\
    752   1.1  christos   QLF2(S_D , X ),		\
    753   1.1  christos   QLF2(S_B , W ),		\
    754   1.1  christos }
    755   1.1  christos 
    756   1.1  christos /* e.g. SMOV <Wd>, <Vn>.<Ts>[<index>].  */
    757   1.1  christos #define QL_SMOV			\
    758   1.1  christos {				\
    759   1.1  christos   QLF2(W , S_H),		\
    760   1.1  christos   QLF2(X , S_H),		\
    761   1.1  christos   QLF2(X , S_S),		\
    762   1.1  christos   QLF2(W , S_B),		\
    763   1.1  christos   QLF2(X , S_B),		\
    764   1.1  christos }
    765   1.1  christos 
    766   1.1  christos /* e.g. UMOV <Wd>, <Vn>.<Ts>[<index>].  */
    767   1.1  christos #define QL_UMOV			\
    768   1.1  christos {				\
    769   1.1  christos   QLF2(W , S_H),		\
    770   1.1  christos   QLF2(W , S_S),		\
    771   1.1  christos   QLF2(X , S_D),		\
    772   1.1  christos   QLF2(W , S_B),		\
    773   1.1  christos }
    774   1.1  christos 
    775   1.1  christos /* e.g. MOV <Wd>, <Vn>.<Ts>[<index>].  */
    776   1.1  christos #define QL_MOV			\
    777   1.1  christos {				\
    778   1.1  christos   QLF2(W , S_S),		\
    779   1.1  christos   QLF2(X , S_D),		\
    780   1.1  christos }
    781   1.1  christos 
    782   1.1  christos /* e.g. SUQADD <Vd>.<T>, <Vn>.<T>.  */
    783   1.1  christos #define QL_V2SAME		\
    784   1.1  christos {				\
    785   1.1  christos   QLF2(V_8B , V_8B ),		\
    786   1.1  christos   QLF2(V_16B, V_16B),		\
    787   1.1  christos   QLF2(V_4H , V_4H ),		\
    788   1.1  christos   QLF2(V_8H , V_8H ),		\
    789   1.1  christos   QLF2(V_2S , V_2S ),		\
    790   1.1  christos   QLF2(V_4S , V_4S ),		\
    791   1.1  christos   QLF2(V_2D , V_2D ),		\
    792   1.1  christos }
    793   1.1  christos 
    794   1.1  christos /* e.g. URSQRTE <Vd>.<T>, <Vn>.<T>.  */
    795   1.1  christos #define QL_V2SAMES		\
    796   1.1  christos {				\
    797   1.1  christos   QLF2(V_2S , V_2S ),		\
    798   1.1  christos   QLF2(V_4S , V_4S ),		\
    799   1.1  christos }
    800   1.1  christos 
    801   1.1  christos /* e.g. REV32 <Vd>.<T>, <Vn>.<T>.  */
    802   1.1  christos #define QL_V2SAMEBH		\
    803   1.1  christos {				\
    804   1.1  christos   QLF2(V_8B , V_8B ),		\
    805   1.1  christos   QLF2(V_16B, V_16B),		\
    806   1.1  christos   QLF2(V_4H , V_4H ),		\
    807   1.1  christos   QLF2(V_8H , V_8H ),		\
    808   1.1  christos }
    809   1.1  christos 
    810   1.1  christos /* e.g. FRINTN <Vd>.<T>, <Vn>.<T>.  */
    811   1.1  christos #define QL_V2SAMESD		\
    812   1.1  christos {				\
    813   1.1  christos   QLF2(V_2S , V_2S ),		\
    814   1.1  christos   QLF2(V_4S , V_4S ),		\
    815   1.1  christos   QLF2(V_2D , V_2D ),		\
    816   1.1  christos }
    817   1.1  christos 
    818   1.1  christos /* e.g. REV64 <Vd>.<T>, <Vn>.<T>.  */
    819   1.1  christos #define QL_V2SAMEBHS		\
    820   1.1  christos {				\
    821   1.1  christos   QLF2(V_8B , V_8B ),		\
    822   1.1  christos   QLF2(V_16B, V_16B),		\
    823   1.1  christos   QLF2(V_4H , V_4H ),		\
    824   1.1  christos   QLF2(V_8H , V_8H ),		\
    825   1.1  christos   QLF2(V_2S , V_2S ),		\
    826   1.1  christos   QLF2(V_4S , V_4S ),		\
    827   1.1  christos }
    828   1.1  christos 
    829   1.6  christos /* e.g. FCMGT <Vd>.<T>, <Vd>.<T>>, #0.0.  */
    830   1.6  christos #define QL_V2SAMEH		\
    831   1.6  christos {				\
    832   1.6  christos   QLF2 (V_4H, V_4H),		\
    833   1.6  christos   QLF2 (V_8H, V_8H),		\
    834   1.6  christos }
    835   1.6  christos 
    836   1.1  christos /* e.g. REV16 <Vd>.<T>, <Vn>.<T>.  */
    837   1.1  christos #define QL_V2SAMEB		\
    838   1.1  christos {				\
    839   1.1  christos   QLF2(V_8B , V_8B ),		\
    840   1.1  christos   QLF2(V_16B, V_16B),		\
    841   1.1  christos }
    842   1.1  christos 
    843   1.1  christos /* e.g. SADDLP <Vd>.<Ta>, <Vn>.<Tb>.  */
    844   1.1  christos #define QL_V2PAIRWISELONGBHS		\
    845   1.1  christos {				\
    846   1.1  christos   QLF2(V_4H , V_8B ),		\
    847   1.1  christos   QLF2(V_8H , V_16B),		\
    848   1.1  christos   QLF2(V_2S , V_4H ),		\
    849   1.1  christos   QLF2(V_4S , V_8H ),		\
    850   1.1  christos   QLF2(V_1D , V_2S ),		\
    851   1.1  christos   QLF2(V_2D , V_4S ),		\
    852   1.1  christos }
    853   1.1  christos 
    854   1.1  christos /* e.g. SHLL<Q> <Vd>.<Ta>, <Vn>.<Tb>, #<shift>.  */
    855   1.1  christos #define QL_V2LONGBHS		\
    856   1.1  christos {				\
    857   1.1  christos   QLF2(V_8H , V_8B ),		\
    858   1.1  christos   QLF2(V_4S , V_4H ),		\
    859   1.1  christos   QLF2(V_2D , V_2S ),		\
    860   1.1  christos }
    861   1.1  christos 
    862   1.1  christos /* e.g. SHLL<Q> <Vd>.<Ta>, <Vn>.<Tb>, #<shift>.  */
    863   1.1  christos #define QL_V2LONGBHS2		\
    864   1.1  christos {				\
    865   1.1  christos   QLF2(V_8H , V_16B),		\
    866   1.1  christos   QLF2(V_4S , V_8H ),		\
    867   1.1  christos   QLF2(V_2D , V_4S ),		\
    868   1.1  christos }
    869   1.1  christos 
    870   1.1  christos /* */
    871   1.1  christos #define QL_V3SAME		\
    872   1.1  christos {				\
    873   1.1  christos   QLF3(V_8B , V_8B , V_8B ),	\
    874   1.1  christos   QLF3(V_16B, V_16B, V_16B),	\
    875   1.1  christos   QLF3(V_4H , V_4H , V_4H ),	\
    876   1.1  christos   QLF3(V_8H , V_8H , V_8H ),	\
    877   1.1  christos   QLF3(V_2S , V_2S , V_2S ),	\
    878   1.1  christos   QLF3(V_4S , V_4S , V_4S ),	\
    879   1.1  christos   QLF3(V_2D , V_2D , V_2D )	\
    880   1.1  christos }
    881   1.1  christos 
    882   1.1  christos /* e.g. SHADD.  */
    883   1.1  christos #define QL_V3SAMEBHS		\
    884   1.1  christos {				\
    885   1.1  christos   QLF3(V_8B , V_8B , V_8B ),	\
    886   1.1  christos   QLF3(V_16B, V_16B, V_16B),	\
    887   1.1  christos   QLF3(V_4H , V_4H , V_4H ),	\
    888   1.1  christos   QLF3(V_8H , V_8H , V_8H ),	\
    889   1.1  christos   QLF3(V_2S , V_2S , V_2S ),	\
    890   1.1  christos   QLF3(V_4S , V_4S , V_4S ),	\
    891   1.1  christos }
    892   1.1  christos 
    893   1.1  christos /* e.g. FCVTXN<Q> <Vd>.<Tb>, <Vn>.<Ta>.  */
    894   1.1  christos #define QL_V2NARRS		\
    895   1.1  christos {				\
    896   1.1  christos   QLF2(V_2S , V_2D ),		\
    897   1.1  christos }
    898   1.1  christos 
    899   1.1  christos /* e.g. FCVTXN<Q> <Vd>.<Tb>, <Vn>.<Ta>.  */
    900   1.1  christos #define QL_V2NARRS2		\
    901   1.1  christos {				\
    902   1.1  christos   QLF2(V_4S , V_2D ),		\
    903   1.1  christos }
    904   1.1  christos 
    905   1.1  christos /* e.g. FCVTN<Q> <Vd>.<Tb>, <Vn>.<Ta>.  */
    906   1.1  christos #define QL_V2NARRHS		\
    907   1.1  christos {				\
    908   1.1  christos   QLF2(V_4H , V_4S ),		\
    909   1.1  christos   QLF2(V_2S , V_2D ),		\
    910   1.1  christos }
    911   1.1  christos 
    912   1.1  christos /* e.g. FCVTN<Q> <Vd>.<Tb>, <Vn>.<Ta>.  */
    913   1.1  christos #define QL_V2NARRHS2		\
    914   1.1  christos {				\
    915   1.1  christos   QLF2(V_8H , V_4S ),		\
    916   1.1  christos   QLF2(V_4S , V_2D ),		\
    917   1.1  christos }
    918   1.1  christos 
    919   1.1  christos /* e.g. FCVTL<Q> <Vd>.<Ta>, <Vn>.<Tb>.  */
    920   1.1  christos #define QL_V2LONGHS		\
    921   1.1  christos {				\
    922   1.1  christos   QLF2(V_4S , V_4H ),		\
    923   1.1  christos   QLF2(V_2D , V_2S ),		\
    924   1.1  christos }
    925   1.1  christos 
    926   1.1  christos /* e.g. FCVTL<Q> <Vd>.<Ta>, <Vn>.<Tb>.  */
    927   1.1  christos #define QL_V2LONGHS2		\
    928   1.1  christos {				\
    929   1.1  christos   QLF2(V_4S , V_8H ),		\
    930   1.1  christos   QLF2(V_2D , V_4S ),		\
    931   1.1  christos }
    932   1.1  christos 
    933   1.1  christos /* e.g. XTN<Q> <Vd>.<Tb>, <Vn>.<Ta>.  */
    934   1.1  christos #define QL_V2NARRBHS		\
    935   1.1  christos {				\
    936   1.1  christos   QLF2(V_8B , V_8H ),		\
    937   1.1  christos   QLF2(V_4H , V_4S ),		\
    938   1.1  christos   QLF2(V_2S , V_2D ),		\
    939   1.1  christos }
    940   1.1  christos 
    941   1.1  christos /* e.g. XTN<Q> <Vd>.<Tb>, <Vn>.<Ta>.  */
    942   1.1  christos #define QL_V2NARRBHS2		\
    943   1.1  christos {				\
    944   1.1  christos   QLF2(V_16B, V_8H ),		\
    945   1.1  christos   QLF2(V_8H , V_4S ),		\
    946   1.1  christos   QLF2(V_4S , V_2D ),		\
    947   1.1  christos }
    948   1.1  christos 
    949   1.1  christos /* e.g. ORR.  */
    950   1.1  christos #define QL_V2SAMEB		\
    951   1.1  christos {				\
    952   1.1  christos   QLF2(V_8B , V_8B ),		\
    953   1.1  christos   QLF2(V_16B, V_16B),		\
    954   1.1  christos }
    955   1.1  christos 
    956   1.1  christos /* e.g. AESE.  */
    957   1.1  christos #define QL_V2SAME16B		\
    958   1.1  christos {				\
    959   1.1  christos   QLF2(V_16B, V_16B),		\
    960   1.1  christos }
    961   1.1  christos 
    962   1.1  christos /* e.g. SHA1SU1.  */
    963   1.1  christos #define QL_V2SAME4S		\
    964   1.1  christos {				\
    965   1.1  christos   QLF2(V_4S, V_4S),		\
    966   1.1  christos }
    967   1.1  christos 
    968   1.1  christos /* e.g. SHA1SU0.  */
    969   1.1  christos #define QL_V3SAME4S		\
    970   1.1  christos {				\
    971   1.1  christos   QLF3(V_4S, V_4S, V_4S),	\
    972   1.1  christos }
    973   1.1  christos 
    974   1.1  christos /* e.g. SHADD.  */
    975   1.1  christos #define QL_V3SAMEB		\
    976   1.1  christos {				\
    977   1.1  christos   QLF3(V_8B , V_8B , V_8B ),	\
    978   1.1  christos   QLF3(V_16B, V_16B, V_16B),	\
    979   1.1  christos }
    980   1.1  christos 
    981   1.1  christos /* e.g. EXT <Vd>.<T>, <Vn>.<T>, <Vm>.<T>, #<index>.  */
    982   1.1  christos #define QL_VEXT			\
    983   1.1  christos {					\
    984   1.1  christos   QLF4(V_8B , V_8B , V_8B , imm_0_7),	\
    985   1.1  christos   QLF4(V_16B, V_16B, V_16B, imm_0_15),	\
    986   1.1  christos }
    987   1.1  christos 
    988   1.1  christos /* e.g. .  */
    989   1.1  christos #define QL_V3SAMEHS		\
    990   1.1  christos {				\
    991   1.1  christos   QLF3(V_4H , V_4H , V_4H ),	\
    992   1.1  christos   QLF3(V_8H , V_8H , V_8H ),	\
    993   1.1  christos   QLF3(V_2S , V_2S , V_2S ),	\
    994   1.1  christos   QLF3(V_4S , V_4S , V_4S ),	\
    995   1.1  christos }
    996   1.1  christos 
    997   1.1  christos /* */
    998   1.1  christos #define QL_V3SAMESD		\
    999   1.1  christos {				\
   1000   1.1  christos   QLF3(V_2S , V_2S , V_2S ),	\
   1001   1.1  christos   QLF3(V_4S , V_4S , V_4S ),	\
   1002   1.1  christos   QLF3(V_2D , V_2D , V_2D )	\
   1003   1.1  christos }
   1004   1.1  christos 
   1005   1.7  christos /* e.g. FCMLA <Vd>.<T>, <Vn>.<T>, <Vm>.<T>, #<rotate>.  */
   1006   1.7  christos #define QL_V3SAMEHSD_ROT	\
   1007   1.7  christos {				\
   1008   1.7  christos   QLF4 (V_4H, V_4H, V_4H, NIL),	\
   1009   1.7  christos   QLF4 (V_8H, V_8H, V_8H, NIL),	\
   1010   1.7  christos   QLF4 (V_2S, V_2S, V_2S, NIL),	\
   1011   1.7  christos   QLF4 (V_4S, V_4S, V_4S, NIL),	\
   1012   1.7  christos   QLF4 (V_2D, V_2D, V_2D, NIL),	\
   1013   1.7  christos }
   1014   1.7  christos 
   1015   1.6  christos /* e.g. FMAXNM <Vd>.<T>, <Vn>.<T>, <Vm>.<T>.  */
   1016   1.6  christos #define QL_V3SAMEH		\
   1017   1.6  christos {				\
   1018   1.6  christos   QLF3 (V_4H , V_4H , V_4H ),	\
   1019   1.6  christos   QLF3 (V_8H , V_8H , V_8H ),	\
   1020   1.6  christos }
   1021   1.6  christos 
   1022   1.1  christos /* e.g. SQDMLAL<Q> <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>.  */
   1023   1.1  christos #define QL_V3LONGHS		\
   1024   1.1  christos {				\
   1025   1.1  christos   QLF3(V_4S , V_4H , V_4H ),	\
   1026   1.1  christos   QLF3(V_2D , V_2S , V_2S ),	\
   1027   1.1  christos }
   1028   1.1  christos 
   1029   1.1  christos /* e.g. SQDMLAL<Q> <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>.  */
   1030   1.1  christos #define QL_V3LONGHS2		\
   1031   1.1  christos {				\
   1032   1.1  christos   QLF3(V_4S , V_8H , V_8H ),	\
   1033   1.1  christos   QLF3(V_2D , V_4S , V_4S ),	\
   1034   1.1  christos }
   1035   1.1  christos 
   1036   1.1  christos /* e.g. SADDL<Q> <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>.  */
   1037   1.1  christos #define QL_V3LONGBHS		\
   1038   1.1  christos {				\
   1039   1.1  christos   QLF3(V_8H , V_8B , V_8B ),	\
   1040   1.1  christos   QLF3(V_4S , V_4H , V_4H ),	\
   1041   1.1  christos   QLF3(V_2D , V_2S , V_2S ),	\
   1042   1.1  christos }
   1043   1.1  christos 
   1044   1.1  christos /* e.g. SADDL<Q> <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>.  */
   1045   1.1  christos #define QL_V3LONGBHS2		\
   1046   1.1  christos {				\
   1047   1.1  christos   QLF3(V_8H , V_16B , V_16B ),	\
   1048   1.1  christos   QLF3(V_4S , V_8H , V_8H ),	\
   1049   1.1  christos   QLF3(V_2D , V_4S , V_4S ),	\
   1050   1.1  christos }
   1051   1.1  christos 
   1052   1.1  christos /* e.g. SADDW<Q> <Vd>.<Ta>, <Vn>.<Ta>, <Vm>.<Tb>.  */
   1053   1.1  christos #define QL_V3WIDEBHS		\
   1054   1.1  christos {				\
   1055   1.1  christos   QLF3(V_8H , V_8H , V_8B ),	\
   1056   1.1  christos   QLF3(V_4S , V_4S , V_4H ),	\
   1057   1.1  christos   QLF3(V_2D , V_2D , V_2S ),	\
   1058   1.1  christos }
   1059   1.1  christos 
   1060   1.1  christos /* e.g. SADDW<Q> <Vd>.<Ta>, <Vn>.<Ta>, <Vm>.<Tb>.  */
   1061   1.1  christos #define QL_V3WIDEBHS2		\
   1062   1.1  christos {				\
   1063   1.1  christos   QLF3(V_8H , V_8H , V_16B ),	\
   1064   1.1  christos   QLF3(V_4S , V_4S , V_8H ),	\
   1065   1.1  christos   QLF3(V_2D , V_2D , V_4S ),	\
   1066   1.1  christos }
   1067   1.1  christos 
   1068   1.1  christos /* e.g. ADDHN<Q> <Vd>.<Tb>, <Vn>.<Ta>, <Vm>.<Ta>.  */
   1069   1.1  christos #define QL_V3NARRBHS		\
   1070   1.1  christos {				\
   1071   1.1  christos   QLF3(V_8B , V_8H , V_8H ),	\
   1072   1.1  christos   QLF3(V_4H , V_4S , V_4S ),	\
   1073   1.1  christos   QLF3(V_2S , V_2D , V_2D ),	\
   1074   1.1  christos }
   1075   1.1  christos 
   1076   1.1  christos /* e.g. ADDHN<Q> <Vd>.<Tb>, <Vn>.<Ta>, <Vm>.<Ta>.  */
   1077   1.1  christos #define QL_V3NARRBHS2		\
   1078   1.1  christos {				\
   1079   1.1  christos   QLF3(V_16B , V_8H , V_8H ),	\
   1080   1.1  christos   QLF3(V_8H , V_4S , V_4S ),	\
   1081   1.1  christos   QLF3(V_4S , V_2D , V_2D ),	\
   1082   1.1  christos }
   1083   1.1  christos 
   1084   1.1  christos /* e.g. PMULL.  */
   1085   1.1  christos #define QL_V3LONGB		\
   1086   1.1  christos {				\
   1087   1.1  christos   QLF3(V_8H , V_8B , V_8B ),	\
   1088   1.1  christos }
   1089   1.1  christos 
   1090   1.1  christos /* e.g. PMULL crypto.  */
   1091   1.1  christos #define QL_V3LONGD		\
   1092   1.1  christos {				\
   1093   1.1  christos   QLF3(V_1Q , V_1D , V_1D ),	\
   1094   1.1  christos }
   1095   1.1  christos 
   1096   1.1  christos /* e.g. PMULL2.  */
   1097   1.1  christos #define QL_V3LONGB2		\
   1098   1.1  christos {				\
   1099   1.1  christos   QLF3(V_8H , V_16B, V_16B),	\
   1100   1.1  christos }
   1101   1.1  christos 
   1102   1.1  christos /* e.g. PMULL2 crypto.  */
   1103   1.1  christos #define QL_V3LONGD2		\
   1104   1.1  christos {				\
   1105   1.1  christos   QLF3(V_1Q , V_2D , V_2D ),	\
   1106   1.1  christos }
   1107   1.1  christos 
   1108   1.1  christos /* e.g. SHA1C.  */
   1109   1.1  christos #define QL_SHAUPT		\
   1110   1.1  christos {				\
   1111   1.1  christos   QLF3(S_Q, S_S, V_4S),		\
   1112   1.1  christos }
   1113   1.1  christos 
   1114   1.1  christos /* e.g. SHA256H2.  */
   1115   1.1  christos #define QL_SHA256UPT		\
   1116   1.1  christos {				\
   1117   1.1  christos   QLF3(S_Q, S_Q, V_4S),		\
   1118   1.1  christos }
   1119   1.1  christos 
   1120   1.1  christos /* e.g. LDXRB <Wt>, [<Xn|SP>{,#0}].  */
   1121   1.1  christos #define QL_W1_LDST_EXC		\
   1122   1.1  christos {				\
   1123   1.1  christos   QLF2(W, NIL),			\
   1124   1.1  christos }
   1125   1.1  christos 
   1126   1.1  christos /* e.g. LDXR <Xt>, [<Xn|SP>{,#0}].  */
   1127   1.1  christos #define QL_R1NIL		\
   1128   1.1  christos {				\
   1129   1.1  christos   QLF2(W, NIL),			\
   1130   1.1  christos   QLF2(X, NIL),			\
   1131   1.1  christos }
   1132   1.1  christos 
   1133   1.1  christos /* e.g. STXRB <Ws>, <Wt>, [<Xn|SP>{,#0}].  */
   1134   1.1  christos #define QL_W2_LDST_EXC		\
   1135   1.1  christos {				\
   1136   1.1  christos   QLF3(W, W, NIL),		\
   1137   1.1  christos }
   1138   1.1  christos 
   1139   1.1  christos /* e.g. STXR <Ws>, <Xt>, [<Xn|SP>{,#0}].  */
   1140   1.1  christos #define QL_R2_LDST_EXC		\
   1141   1.1  christos {				\
   1142   1.1  christos   QLF3(W, W, NIL),		\
   1143   1.1  christos   QLF3(W, X, NIL),		\
   1144   1.1  christos }
   1145   1.1  christos 
   1146  1.10  christos /* e.g. ST64B <Xs>, <Xt>, [<Xn|SP>].  */
   1147  1.10  christos #define QL_X2NIL		\
   1148  1.10  christos {				\
   1149  1.10  christos   QLF3(X, X, NIL),			\
   1150  1.10  christos }
   1151  1.10  christos 
   1152   1.7  christos /* e.g. LDRAA <Xt>, [<Xn|SP>{,#imm}].  */
   1153   1.7  christos #define QL_X1NIL		\
   1154   1.7  christos {				\
   1155   1.7  christos   QLF2(X, NIL),			\
   1156   1.7  christos }
   1157   1.7  christos 
   1158   1.1  christos /* e.g. LDXP <Xt1>, <Xt2>, [<Xn|SP>{,#0}].  */
   1159   1.1  christos #define QL_R2NIL		\
   1160   1.1  christos {				\
   1161   1.1  christos   QLF3(W, W, NIL),		\
   1162   1.1  christos   QLF3(X, X, NIL),		\
   1163   1.1  christos }
   1164   1.1  christos 
   1165   1.3  christos /* e.g. CASP <Xt1>, <Xt1+1>, <Xt2>, <Xt2+1>, [<Xn|SP>{,#0}].  */
   1166   1.3  christos #define QL_R4NIL		\
   1167   1.3  christos {				\
   1168   1.3  christos   QLF5(W, W, W, W, NIL),	\
   1169   1.3  christos   QLF5(X, X, X, X, NIL),	\
   1170   1.3  christos }
   1171   1.3  christos 
   1172   1.1  christos /* e.g. STXP <Ws>, <Xt1>, <Xt2>, [<Xn|SP>{,#0}].  */
   1173   1.1  christos #define QL_R3_LDST_EXC		\
   1174   1.1  christos {				\
   1175   1.1  christos   QLF4(W, W, W, NIL),		\
   1176   1.1  christos   QLF4(W, X, X, NIL),		\
   1177   1.1  christos }
   1178   1.1  christos 
   1179   1.1  christos /* e.g. STR <Qt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}].  */
   1180   1.1  christos #define QL_LDST_FP		\
   1181   1.1  christos {				\
   1182   1.1  christos   QLF2(S_B, S_B),		\
   1183   1.1  christos   QLF2(S_H, S_H),		\
   1184   1.1  christos   QLF2(S_S, S_S),		\
   1185   1.1  christos   QLF2(S_D, S_D),		\
   1186   1.1  christos   QLF2(S_Q, S_Q),		\
   1187   1.1  christos }
   1188   1.1  christos 
   1189   1.1  christos /* e.g. STR <Xt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}].  */
   1190   1.1  christos #define QL_LDST_R		\
   1191   1.1  christos {				\
   1192   1.1  christos   QLF2(W, S_S),			\
   1193   1.1  christos   QLF2(X, S_D),			\
   1194   1.1  christos }
   1195   1.1  christos 
   1196   1.1  christos /* e.g. STRB <Wt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}].  */
   1197   1.1  christos #define QL_LDST_W8		\
   1198   1.1  christos {				\
   1199   1.1  christos   QLF2(W, S_B),			\
   1200   1.1  christos }
   1201   1.1  christos 
   1202   1.1  christos /* e.g. LDRSB <Wt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}].  */
   1203   1.1  christos #define QL_LDST_R8		\
   1204   1.1  christos {				\
   1205   1.1  christos   QLF2(W, S_B),			\
   1206   1.1  christos   QLF2(X, S_B),			\
   1207   1.1  christos }
   1208   1.1  christos 
   1209   1.1  christos /* e.g. STRH <Wt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}].  */
   1210   1.1  christos #define QL_LDST_W16		\
   1211   1.1  christos {				\
   1212   1.1  christos   QLF2(W, S_H),			\
   1213   1.1  christos }
   1214   1.1  christos 
   1215   1.1  christos /* e.g. LDRSW <Xt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}].  */
   1216   1.1  christos #define QL_LDST_X32		\
   1217   1.1  christos {				\
   1218   1.1  christos   QLF2(X, S_S),			\
   1219   1.1  christos }
   1220   1.1  christos 
   1221   1.1  christos /* e.g. LDRSH <Wt>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}].  */
   1222   1.1  christos #define QL_LDST_R16		\
   1223   1.1  christos {				\
   1224   1.1  christos   QLF2(W, S_H),			\
   1225   1.1  christos   QLF2(X, S_H),			\
   1226   1.1  christos }
   1227   1.1  christos 
   1228   1.1  christos /* e.g. PRFM <prfop>, [<Xn|SP>, <R><m>{, <extend> {<amount>}}].  */
   1229   1.1  christos #define QL_LDST_PRFM		\
   1230   1.1  christos {				\
   1231   1.1  christos   QLF2(NIL, S_D),		\
   1232   1.1  christos }
   1233   1.1  christos 
   1234   1.8  christos /* e.g. LDG <Xt>, [<Xn|SP>{, #<simm>}].  */
   1235   1.8  christos #define QL_LDG			\
   1236   1.8  christos {				\
   1237   1.8  christos   QLF2(X, imm_tag),		\
   1238   1.8  christos }
   1239   1.8  christos 
   1240   1.1  christos /* e.g. LDPSW <Xt1>, <Xt2>, [<Xn|SP>{, #<imm>}].  */
   1241   1.1  christos #define QL_LDST_PAIR_X32	\
   1242   1.1  christos {				\
   1243   1.1  christos   QLF3(X, X, S_S),		\
   1244   1.1  christos }
   1245   1.1  christos 
   1246   1.8  christos /* e.g. STGP <Xt1>, <Xt2>, [<Xn|SP>{, #<imm>}].  */
   1247   1.8  christos #define QL_STGP			\
   1248   1.8  christos {				\
   1249   1.8  christos   QLF3(X, X, imm_tag),		\
   1250   1.8  christos }
   1251   1.8  christos 
   1252   1.1  christos /* e.g. STP <Wt1>, <Wt2>, [<Xn|SP>, #<imm>]!.  */
   1253   1.1  christos #define QL_LDST_PAIR_R		\
   1254   1.1  christos {				\
   1255   1.1  christos   QLF3(W, W, S_S),		\
   1256   1.1  christos   QLF3(X, X, S_D),		\
   1257   1.1  christos }
   1258   1.1  christos 
   1259   1.1  christos /* e.g. STNP <Qt1>, <Qt2>, [<Xn|SP>{, #<imm>}].  */
   1260   1.1  christos #define QL_LDST_PAIR_FP		\
   1261   1.1  christos {				\
   1262   1.1  christos   QLF3(S_S, S_S, S_S),		\
   1263   1.1  christos   QLF3(S_D, S_D, S_D),		\
   1264   1.1  christos   QLF3(S_Q, S_Q, S_Q),		\
   1265   1.1  christos }
   1266   1.1  christos 
   1267   1.1  christos /* e.g. LD3 {<Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>}, [<Xn|SP>].  */
   1268   1.1  christos #define QL_SIMD_LDST		\
   1269   1.1  christos {				\
   1270   1.1  christos   QLF2(V_8B, NIL),		\
   1271   1.1  christos   QLF2(V_16B, NIL),		\
   1272   1.1  christos   QLF2(V_4H, NIL),		\
   1273   1.1  christos   QLF2(V_8H, NIL),		\
   1274   1.1  christos   QLF2(V_2S, NIL),		\
   1275   1.1  christos   QLF2(V_4S, NIL),		\
   1276   1.1  christos   QLF2(V_2D, NIL),		\
   1277   1.1  christos }
   1278   1.1  christos 
   1279   1.1  christos /* e.g. LD1 {<Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>}, [<Xn|SP>].  */
   1280   1.1  christos #define QL_SIMD_LDST_ANY	\
   1281   1.1  christos {				\
   1282   1.1  christos   QLF2(V_8B, NIL),		\
   1283   1.1  christos   QLF2(V_16B, NIL),		\
   1284   1.1  christos   QLF2(V_4H, NIL),		\
   1285   1.1  christos   QLF2(V_8H, NIL),		\
   1286   1.1  christos   QLF2(V_2S, NIL),		\
   1287   1.1  christos   QLF2(V_4S, NIL),		\
   1288   1.1  christos   QLF2(V_1D, NIL),		\
   1289   1.1  christos   QLF2(V_2D, NIL),		\
   1290   1.1  christos }
   1291   1.1  christos 
   1292   1.1  christos /* e.g. LD4 {<Vt>.<T>, <Vt2a>.<T>, <Vt3a>.<T>, <Vt4a>.<T>}[<index>], [<Xn|SP>].  */
   1293   1.1  christos #define QL_SIMD_LDSTONE		\
   1294   1.1  christos {				\
   1295   1.1  christos   QLF2(S_B, NIL),		\
   1296   1.1  christos   QLF2(S_H, NIL),		\
   1297   1.1  christos   QLF2(S_S, NIL),		\
   1298   1.1  christos   QLF2(S_D, NIL),		\
   1299   1.1  christos }
   1300   1.1  christos 
   1301   1.1  christos /* e.g. ADDV <V><d>, <Vn>.<T>.  */
   1302   1.1  christos #define QL_XLANES		\
   1303   1.1  christos {				\
   1304   1.1  christos   QLF2(S_B, V_8B),		\
   1305   1.1  christos   QLF2(S_B, V_16B),		\
   1306   1.1  christos   QLF2(S_H, V_4H),		\
   1307   1.1  christos   QLF2(S_H, V_8H),		\
   1308   1.1  christos   QLF2(S_S, V_4S),		\
   1309   1.1  christos }
   1310   1.1  christos 
   1311   1.1  christos /* e.g. FMINV <V><d>, <Vn>.<T>.  */
   1312   1.1  christos #define QL_XLANES_FP		\
   1313   1.1  christos {				\
   1314   1.1  christos   QLF2(S_S, V_4S),		\
   1315   1.1  christos }
   1316   1.1  christos 
   1317   1.6  christos /* e.g. FMINV <V><d>, <Vn>.<T>.  */
   1318   1.6  christos #define QL_XLANES_FP_H		\
   1319   1.6  christos {				\
   1320   1.6  christos   QLF2 (S_H, V_4H),		\
   1321   1.6  christos   QLF2 (S_H, V_8H),		\
   1322   1.6  christos }
   1323   1.6  christos 
   1324   1.1  christos /* e.g. SADDLV <V><d>, <Vn>.<T>.  */
   1325   1.1  christos #define QL_XLANES_L		\
   1326   1.1  christos {				\
   1327   1.1  christos   QLF2(S_H, V_8B),		\
   1328   1.1  christos   QLF2(S_H, V_16B),		\
   1329   1.1  christos   QLF2(S_S, V_4H),		\
   1330   1.1  christos   QLF2(S_S, V_8H),		\
   1331   1.1  christos   QLF2(S_D, V_4S),		\
   1332   1.1  christos }
   1333   1.1  christos 
   1334   1.1  christos /* e.g. MUL <Vd>.<T>, <Vn>.<T>, <Vm>.<Ts>[<index>].  */
   1335   1.1  christos #define QL_ELEMENT		\
   1336   1.1  christos {				\
   1337   1.1  christos   QLF3(V_4H, V_4H, S_H),	\
   1338   1.1  christos   QLF3(V_8H, V_8H, S_H),	\
   1339   1.1  christos   QLF3(V_2S, V_2S, S_S),	\
   1340   1.1  christos   QLF3(V_4S, V_4S, S_S),	\
   1341   1.1  christos }
   1342   1.1  christos 
   1343   1.1  christos /* e.g. SMLAL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>].  */
   1344   1.1  christos #define QL_ELEMENT_L		\
   1345   1.1  christos {				\
   1346   1.1  christos   QLF3(V_4S, V_4H, S_H),	\
   1347   1.1  christos   QLF3(V_2D, V_2S, S_S),	\
   1348   1.1  christos }
   1349   1.1  christos 
   1350   1.1  christos /* e.g. SMLAL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>].  */
   1351   1.1  christos #define QL_ELEMENT_L2		\
   1352   1.1  christos {				\
   1353   1.1  christos   QLF3(V_4S, V_8H, S_H),	\
   1354   1.1  christos   QLF3(V_2D, V_4S, S_S),	\
   1355   1.1  christos }
   1356   1.1  christos 
   1357   1.1  christos /* e.g. FMLA <V><d>, <V><n>, <Vm>.<Ts>[<index>].  */
   1358   1.1  christos #define QL_ELEMENT_FP		\
   1359   1.1  christos {				\
   1360   1.1  christos   QLF3(V_2S, V_2S, S_S),	\
   1361   1.1  christos   QLF3(V_4S, V_4S, S_S),	\
   1362   1.1  christos   QLF3(V_2D, V_2D, S_D),	\
   1363   1.1  christos }
   1364   1.1  christos 
   1365   1.6  christos /* e.g. FMLA <V><d>, <V><n>, <Vm>.<Ts>[<index>].  */
   1366   1.6  christos #define QL_ELEMENT_FP_H		\
   1367   1.6  christos {				\
   1368   1.6  christos   QLF3 (V_4H, V_4H, S_H),	\
   1369   1.6  christos   QLF3 (V_8H, V_8H, S_H),	\
   1370   1.6  christos }
   1371   1.6  christos 
   1372   1.7  christos /* e.g. FCMLA <Vd>.<T>, <Vn>.<T>, <Vm>.<Ts>[<index>], #<rotate>.  */
   1373   1.7  christos #define QL_ELEMENT_ROT		\
   1374   1.7  christos {				\
   1375   1.7  christos   QLF4 (V_4H, V_4H, S_H, NIL),	\
   1376   1.7  christos   QLF4 (V_8H, V_8H, S_H, NIL),	\
   1377   1.7  christos   QLF4 (V_4S, V_4S, S_S, NIL),	\
   1378   1.7  christos }
   1379   1.7  christos 
   1380   1.1  christos /* e.g. MOVI <Vd>.4S, #<imm8> {, LSL #<amount>}.  */
   1381   1.1  christos #define QL_SIMD_IMM_S0W		\
   1382   1.1  christos {				\
   1383   1.1  christos   QLF2(V_2S, LSL),		\
   1384   1.1  christos   QLF2(V_4S, LSL),		\
   1385   1.1  christos }
   1386   1.1  christos 
   1387   1.1  christos /* e.g. MOVI <Vd>.4S, #<imm8>, MSL #<amount>.  */
   1388   1.1  christos #define QL_SIMD_IMM_S1W		\
   1389   1.1  christos {				\
   1390   1.1  christos   QLF2(V_2S, MSL),		\
   1391   1.1  christos   QLF2(V_4S, MSL),		\
   1392   1.1  christos }
   1393   1.1  christos 
   1394   1.1  christos /* e.g. MOVI <Vd>.4H, #<imm8> {, LSL #<amount>}.  */
   1395   1.1  christos #define QL_SIMD_IMM_S0H		\
   1396   1.1  christos {				\
   1397   1.1  christos   QLF2(V_4H, LSL),		\
   1398   1.1  christos   QLF2(V_8H, LSL),		\
   1399   1.1  christos }
   1400   1.1  christos 
   1401   1.1  christos /* e.g. FMOV <Vd>.<T>, #<imm>.  */
   1402   1.1  christos #define QL_SIMD_IMM_S		\
   1403   1.1  christos {				\
   1404   1.1  christos   QLF2(V_2S, NIL),		\
   1405   1.1  christos   QLF2(V_4S, NIL),		\
   1406   1.1  christos }
   1407   1.1  christos 
   1408   1.1  christos /* e.g. MOVI <Vd>.8B, #<imm8> {, LSL #<amount>}.  */
   1409   1.1  christos #define QL_SIMD_IMM_B		\
   1410   1.1  christos {				\
   1411   1.1  christos   QLF2(V_8B, LSL),		\
   1412   1.1  christos   QLF2(V_16B, LSL),		\
   1413   1.1  christos }
   1414   1.1  christos /* e.g. MOVI <Dd>, #<imm>.  */
   1415   1.1  christos #define QL_SIMD_IMM_D		\
   1416   1.1  christos {				\
   1417   1.1  christos   QLF2(S_D, NIL),		\
   1418   1.1  christos }
   1419   1.1  christos 
   1420   1.6  christos /* e.g. FMOV <Vd>.<T>, #<imm>.  */
   1421   1.6  christos #define QL_SIMD_IMM_H		\
   1422   1.6  christos {				\
   1423   1.6  christos   QLF2 (V_4H, NIL),		\
   1424   1.6  christos   QLF2 (V_8H, NIL),		\
   1425   1.6  christos }
   1426   1.6  christos 
   1427   1.1  christos /* e.g. MOVI <Vd>.2D, #<imm>.  */
   1428   1.1  christos #define QL_SIMD_IMM_V2D		\
   1429   1.1  christos {				\
   1430   1.1  christos   QLF2(V_2D, NIL),		\
   1431   1.1  christos }
   1432   1.7  christos 
   1433   1.7  christos /* The naming convention for SVE macros is:
   1434   1.7  christos 
   1435   1.7  christos    OP_SVE_<operands>[_<sizes>]*
   1436   1.7  christos 
   1437   1.7  christos    <operands> contains one character per operand, using the following scheme:
   1438   1.7  christos 
   1439   1.7  christos    - U: the operand is unqualified (NIL).
   1440   1.7  christos 
   1441   1.7  christos    - [BHSD]: the operand has a S_[BHSD] qualifier and the choice of
   1442   1.7  christos      qualifier is the same for all variants.  This is used for both
   1443   1.7  christos      .[BHSD] suffixes on an SVE predicate or vector register and
   1444   1.7  christos      scalar FPRs of the form [BHSD]<number>.
   1445   1.7  christos 
   1446   1.7  christos    - [WX]: the operand has a [WX] qualifier and the choice of qualifier
   1447   1.7  christos      is the same for all variants.
   1448   1.7  christos 
   1449   1.7  christos    - [ZM]: the operand has a /[ZM] suffix and the choice of suffix
   1450   1.7  christos      is the same for all variants.
   1451   1.7  christos 
   1452   1.7  christos    - V: the operand has a S_[BHSD] qualifier and the choice of qualifier
   1453   1.7  christos      is not the same for all variants.
   1454   1.7  christos 
   1455   1.7  christos    - R: the operand has a [WX] qualifier and the choice of qualifier is
   1456   1.7  christos      not the same for all variants.
   1457   1.7  christos 
   1458   1.7  christos    - P: the operand has a /[ZM] suffix and the choice of suffix is not
   1459   1.7  christos      the same for all variants.
   1460   1.7  christos 
   1461   1.7  christos    The _<sizes>, if present, give the subset of [BHSD] that are accepted
   1462   1.7  christos    by the V entries in <operands>.  */
   1463   1.7  christos #define OP_SVE_B                                        \
   1464   1.7  christos {                                                       \
   1465   1.7  christos   QLF1(S_B),                                            \
   1466   1.7  christos }
   1467   1.7  christos #define OP_SVE_BB                                       \
   1468   1.7  christos {                                                       \
   1469   1.7  christos   QLF2(S_B,S_B),                                        \
   1470   1.7  christos }
   1471   1.9  christos #define OP_SVE_BBU                                      \
   1472   1.9  christos {                                                       \
   1473   1.9  christos   QLF3(S_B,S_B,NIL),                                \
   1474   1.9  christos }
   1475   1.9  christos #define OP_SVE_BBB                                      \
   1476   1.9  christos {                                                       \
   1477   1.9  christos   QLF3(S_B,S_B,S_B),                                \
   1478   1.9  christos }
   1479   1.7  christos #define OP_SVE_BBBU                                     \
   1480   1.7  christos {                                                       \
   1481   1.7  christos   QLF4(S_B,S_B,S_B,NIL),                                \
   1482   1.7  christos }
   1483   1.7  christos #define OP_SVE_BMB                                      \
   1484   1.7  christos {                                                       \
   1485   1.7  christos   QLF3(S_B,P_M,S_B),                                    \
   1486   1.7  christos }
   1487   1.7  christos #define OP_SVE_BPB                                      \
   1488   1.7  christos {                                                       \
   1489   1.7  christos   QLF3(S_B,P_Z,S_B),                                    \
   1490   1.7  christos   QLF3(S_B,P_M,S_B),                                    \
   1491   1.7  christos }
   1492   1.7  christos #define OP_SVE_BUB                                      \
   1493   1.7  christos {                                                       \
   1494   1.7  christos   QLF3(S_B,NIL,S_B),                                    \
   1495   1.7  christos }
   1496   1.7  christos #define OP_SVE_BUBB                                     \
   1497   1.7  christos {                                                       \
   1498   1.7  christos   QLF4(S_B,NIL,S_B,S_B),                                \
   1499   1.7  christos }
   1500   1.7  christos #define OP_SVE_BUU                                      \
   1501   1.7  christos {                                                       \
   1502   1.7  christos   QLF3(S_B,NIL,NIL),                                    \
   1503   1.7  christos }
   1504   1.7  christos #define OP_SVE_BZ                                       \
   1505   1.7  christos {                                                       \
   1506   1.7  christos   QLF2(S_B,P_Z),                                        \
   1507   1.7  christos }
   1508   1.7  christos #define OP_SVE_BZB                                      \
   1509   1.7  christos {                                                       \
   1510   1.7  christos   QLF3(S_B,P_Z,S_B),                                    \
   1511   1.7  christos }
   1512  1.10  christos #define OP_SVE_NN_BHSD                                  \
   1513  1.10  christos {                                                       \
   1514  1.10  christos   QLF3(NIL,NIL,S_B),                                    \
   1515  1.10  christos   QLF3(NIL,NIL,S_H),                                    \
   1516  1.10  christos   QLF3(NIL,NIL,S_S),                                    \
   1517  1.10  christos   QLF3(NIL,NIL,S_D)                                     \
   1518  1.10  christos }
   1519   1.7  christos #define OP_SVE_BZBB                                     \
   1520   1.7  christos {                                                       \
   1521   1.7  christos   QLF4(S_B,P_Z,S_B,S_B),                                \
   1522   1.7  christos }
   1523   1.7  christos #define OP_SVE_BZU                                      \
   1524   1.7  christos {                                                       \
   1525   1.7  christos   QLF3(S_B,P_Z,NIL),                                    \
   1526   1.7  christos }
   1527   1.7  christos #define OP_SVE_DD                                       \
   1528   1.7  christos {                                                       \
   1529   1.7  christos   QLF2(S_D,S_D),                                        \
   1530   1.7  christos }
   1531   1.7  christos #define OP_SVE_DDD                                      \
   1532   1.7  christos {                                                       \
   1533   1.7  christos   QLF3(S_D,S_D,S_D),                                    \
   1534   1.7  christos }
   1535   1.9  christos #define OP_SVE_QQQ                                      \
   1536   1.9  christos {                                                       \
   1537   1.9  christos   QLF3(S_Q,S_Q,S_Q),                                    \
   1538   1.9  christos }
   1539   1.9  christos #define OP_SVE_DDDD                                     \
   1540   1.9  christos {                                                       \
   1541   1.9  christos   QLF4(S_D,S_D,S_D,S_D),                                \
   1542   1.9  christos }
   1543   1.7  christos #define OP_SVE_DMD                                      \
   1544   1.7  christos {                                                       \
   1545   1.7  christos   QLF3(S_D,P_M,S_D),                                    \
   1546   1.7  christos }
   1547  1.10  christos #define OP_SVE_QMQ                                      \
   1548  1.10  christos {                                                       \
   1549  1.10  christos   QLF3(S_Q,P_M,S_Q),                                    \
   1550  1.10  christos }
   1551   1.7  christos #define OP_SVE_DMH                                      \
   1552   1.7  christos {                                                       \
   1553   1.7  christos   QLF3(S_D,P_M,S_H),                                    \
   1554   1.7  christos }
   1555   1.7  christos #define OP_SVE_DMS                                      \
   1556   1.7  christos {                                                       \
   1557   1.7  christos   QLF3(S_D,P_M,S_S),                                    \
   1558   1.7  christos }
   1559   1.7  christos #define OP_SVE_DU                                       \
   1560   1.7  christos {                                                       \
   1561   1.7  christos   QLF2(S_D,NIL),                                        \
   1562   1.7  christos }
   1563   1.7  christos #define OP_SVE_DUD                                      \
   1564   1.7  christos {                                                       \
   1565   1.7  christos   QLF3(S_D,NIL,S_D),                                    \
   1566   1.7  christos }
   1567   1.7  christos #define OP_SVE_DUU                                      \
   1568   1.7  christos {                                                       \
   1569   1.7  christos   QLF3(S_D,NIL,NIL),                                    \
   1570   1.7  christos }
   1571  1.10  christos #define OP_SVE_QUU                                      \
   1572  1.10  christos {                                                       \
   1573  1.10  christos   QLF3(S_Q,NIL,NIL),                                    \
   1574  1.10  christos }
   1575   1.7  christos #define OP_SVE_DUV_BHS                                  \
   1576   1.7  christos {                                                       \
   1577   1.7  christos   QLF3(S_D,NIL,S_B),                                    \
   1578   1.7  christos   QLF3(S_D,NIL,S_H),                                    \
   1579   1.7  christos   QLF3(S_D,NIL,S_S),                                    \
   1580   1.7  christos }
   1581   1.7  christos #define OP_SVE_DUV_BHSD                                 \
   1582   1.7  christos {                                                       \
   1583   1.7  christos   QLF3(S_D,NIL,S_B),                                    \
   1584   1.7  christos   QLF3(S_D,NIL,S_H),                                    \
   1585   1.7  christos   QLF3(S_D,NIL,S_S),                                    \
   1586   1.7  christos   QLF3(S_D,NIL,S_D),                                    \
   1587   1.7  christos }
   1588   1.7  christos #define OP_SVE_DZD                                      \
   1589   1.7  christos {                                                       \
   1590   1.7  christos   QLF3(S_D,P_Z,S_D),                                    \
   1591   1.7  christos }
   1592   1.7  christos #define OP_SVE_DZU                                      \
   1593   1.7  christos {                                                       \
   1594   1.7  christos   QLF3(S_D,P_Z,NIL),                                    \
   1595   1.7  christos }
   1596  1.10  christos #define OP_SVE_QZU                                      \
   1597  1.10  christos {                                                       \
   1598  1.10  christos   QLF3(S_Q,P_Z,NIL),                                    \
   1599  1.10  christos }
   1600   1.7  christos #define OP_SVE_HB                                       \
   1601   1.7  christos {                                                       \
   1602   1.7  christos   QLF2(S_H,S_B),                                        \
   1603   1.7  christos }
   1604   1.9  christos #define OP_SVE_HHH                                      \
   1605   1.9  christos {                                                       \
   1606   1.9  christos   QLF3(S_H,S_H,S_H),                                    \
   1607   1.9  christos }
   1608   1.9  christos #define OP_SVE_HHHU                                     \
   1609   1.9  christos {                                                       \
   1610   1.9  christos   QLF4(S_H,S_H,S_H,NIL),                                \
   1611   1.9  christos }
   1612   1.7  christos #define OP_SVE_HMH                                      \
   1613   1.7  christos {                                                       \
   1614   1.7  christos   QLF3(S_H,P_M,S_H),                                    \
   1615   1.7  christos }
   1616   1.7  christos #define OP_SVE_HMD                                      \
   1617   1.7  christos {                                                       \
   1618   1.7  christos   QLF3(S_H,P_M,S_D),                                    \
   1619   1.7  christos }
   1620   1.7  christos #define OP_SVE_HMS                                      \
   1621   1.7  christos {                                                       \
   1622   1.7  christos   QLF3(S_H,P_M,S_S),                                    \
   1623   1.7  christos }
   1624   1.7  christos #define OP_SVE_HU                                       \
   1625   1.7  christos {                                                       \
   1626   1.7  christos   QLF2(S_H,NIL),                                        \
   1627   1.7  christos }
   1628   1.7  christos #define OP_SVE_HUU                                      \
   1629   1.7  christos {                                                       \
   1630   1.7  christos   QLF3(S_H,NIL,NIL),                                    \
   1631   1.7  christos }
   1632   1.7  christos #define OP_SVE_HZU                                      \
   1633   1.7  christos {                                                       \
   1634   1.7  christos   QLF3(S_H,P_Z,NIL),                                    \
   1635   1.7  christos }
   1636   1.7  christos #define OP_SVE_RR                                       \
   1637   1.7  christos {                                                       \
   1638   1.7  christos   QLF2(W,W),                                            \
   1639   1.7  christos   QLF2(X,X),                                            \
   1640   1.7  christos }
   1641   1.7  christos #define OP_SVE_RURV_BHSD                                \
   1642   1.7  christos {                                                       \
   1643   1.7  christos   QLF4(W,NIL,W,S_B),                                    \
   1644   1.7  christos   QLF4(W,NIL,W,S_H),                                    \
   1645   1.7  christos   QLF4(W,NIL,W,S_S),                                    \
   1646   1.7  christos   QLF4(X,NIL,X,S_D),                                    \
   1647   1.7  christos }
   1648   1.7  christos #define OP_SVE_RUV_BHSD                                 \
   1649   1.7  christos {                                                       \
   1650   1.7  christos   QLF3(W,NIL,S_B),                                      \
   1651   1.7  christos   QLF3(W,NIL,S_H),                                      \
   1652   1.7  christos   QLF3(W,NIL,S_S),                                      \
   1653   1.7  christos   QLF3(X,NIL,S_D),                                      \
   1654   1.7  christos }
   1655   1.7  christos #define OP_SVE_SMD                                      \
   1656   1.7  christos {                                                       \
   1657   1.7  christos   QLF3(S_S,P_M,S_D),                                    \
   1658   1.7  christos }
   1659   1.9  christos #define OP_SVE_SSS                                      \
   1660   1.9  christos {                                                       \
   1661   1.9  christos   QLF3(S_S,S_S,S_S),                                    \
   1662   1.9  christos }
   1663   1.9  christos #define OP_SVE_SSSU                                     \
   1664   1.9  christos {                                                       \
   1665   1.9  christos   QLF4(S_S,S_S,S_S,NIL),                                \
   1666   1.9  christos }
   1667   1.7  christos #define OP_SVE_SMH                                      \
   1668   1.7  christos {                                                       \
   1669   1.7  christos   QLF3(S_S,P_M,S_H),                                    \
   1670   1.7  christos }
   1671   1.9  christos #define OP_SVE_SHH                                      \
   1672   1.9  christos {                                                       \
   1673   1.9  christos   QLF3(S_S,S_H,S_H),                                    \
   1674   1.9  christos }
   1675   1.7  christos #define OP_SVE_SMS                                      \
   1676   1.7  christos {                                                       \
   1677   1.7  christos   QLF3(S_S,P_M,S_S),                                    \
   1678   1.7  christos }
   1679   1.7  christos #define OP_SVE_SU                                       \
   1680   1.7  christos {                                                       \
   1681   1.7  christos   QLF2(S_S,NIL),                                        \
   1682   1.7  christos }
   1683   1.7  christos #define OP_SVE_SUS                                      \
   1684   1.7  christos {                                                       \
   1685   1.7  christos   QLF3(S_S,NIL,S_S),                                    \
   1686   1.7  christos }
   1687   1.7  christos #define OP_SVE_SUU                                      \
   1688   1.7  christos {                                                       \
   1689   1.7  christos   QLF3(S_S,NIL,NIL),                                    \
   1690   1.7  christos }
   1691   1.7  christos #define OP_SVE_SZS                                      \
   1692   1.7  christos {                                                       \
   1693   1.7  christos   QLF3(S_S,P_Z,S_S),                                    \
   1694   1.7  christos }
   1695   1.9  christos #define OP_SVE_SBB                                      \
   1696   1.9  christos {                                                       \
   1697   1.9  christos   QLF3(S_S,S_B,S_B),                                    \
   1698   1.9  christos }
   1699   1.9  christos #define OP_SVE_SBBU                                     \
   1700   1.9  christos {                                                       \
   1701   1.9  christos   QLF4(S_S,S_B,S_B,NIL),                                \
   1702   1.9  christos }
   1703   1.9  christos #define OP_SVE_DSS                                      \
   1704   1.9  christos {                                                       \
   1705   1.9  christos   QLF3(S_D,S_S,S_S),                                    \
   1706   1.9  christos }
   1707   1.9  christos #define OP_SVE_DHHU                                     \
   1708   1.9  christos {                                                       \
   1709   1.9  christos   QLF4(S_D,S_H,S_H,NIL),                                \
   1710   1.9  christos }
   1711   1.7  christos #define OP_SVE_SZU                                      \
   1712   1.7  christos {                                                       \
   1713   1.7  christos   QLF3(S_S,P_Z,NIL),                                    \
   1714   1.7  christos }
   1715   1.7  christos #define OP_SVE_UB                                       \
   1716   1.7  christos {                                                       \
   1717   1.7  christos   QLF2(NIL,S_B),                                        \
   1718   1.7  christos }
   1719   1.7  christos #define OP_SVE_UUD                                      \
   1720   1.7  christos {                                                       \
   1721   1.7  christos   QLF3(NIL,NIL,S_D),                                    \
   1722   1.7  christos }
   1723   1.7  christos #define OP_SVE_UUS                                      \
   1724   1.7  christos {                                                       \
   1725   1.7  christos   QLF3(NIL,NIL,S_S),                                    \
   1726   1.7  christos }
   1727   1.7  christos #define OP_SVE_VMR_BHSD                                 \
   1728   1.7  christos {                                                       \
   1729   1.7  christos   QLF3(S_B,P_M,W),                                      \
   1730   1.7  christos   QLF3(S_H,P_M,W),                                      \
   1731   1.7  christos   QLF3(S_S,P_M,W),                                      \
   1732   1.7  christos   QLF3(S_D,P_M,X),                                      \
   1733   1.7  christos }
   1734   1.7  christos #define OP_SVE_VMU_HSD                                  \
   1735   1.7  christos {                                                       \
   1736   1.7  christos   QLF3(S_H,P_M,NIL),                                    \
   1737   1.7  christos   QLF3(S_S,P_M,NIL),                                    \
   1738   1.7  christos   QLF3(S_D,P_M,NIL),                                    \
   1739   1.7  christos }
   1740   1.7  christos #define OP_SVE_VMVD_BHS                                 \
   1741   1.7  christos {                                                       \
   1742   1.7  christos   QLF4(S_B,P_M,S_B,S_D),                                \
   1743   1.7  christos   QLF4(S_H,P_M,S_H,S_D),                                \
   1744   1.7  christos   QLF4(S_S,P_M,S_S,S_D),                                \
   1745   1.7  christos }
   1746   1.7  christos #define OP_SVE_VMVU_BHSD                                \
   1747   1.7  christos {                                                       \
   1748   1.7  christos   QLF4(S_B,P_M,S_B,NIL),                                \
   1749   1.7  christos   QLF4(S_H,P_M,S_H,NIL),                                \
   1750   1.7  christos   QLF4(S_S,P_M,S_S,NIL),                                \
   1751   1.7  christos   QLF4(S_D,P_M,S_D,NIL),                                \
   1752   1.7  christos }
   1753   1.7  christos #define OP_SVE_VMVU_HSD                                 \
   1754   1.7  christos {                                                       \
   1755   1.7  christos   QLF4(S_H,P_M,S_H,NIL),                                \
   1756   1.7  christos   QLF4(S_S,P_M,S_S,NIL),                                \
   1757   1.7  christos   QLF4(S_D,P_M,S_D,NIL),                                \
   1758   1.7  christos }
   1759   1.7  christos #define OP_SVE_VMVV_BHSD                                \
   1760   1.7  christos {                                                       \
   1761   1.7  christos   QLF4(S_B,P_M,S_B,S_B),                                \
   1762   1.7  christos   QLF4(S_H,P_M,S_H,S_H),                                \
   1763   1.7  christos   QLF4(S_S,P_M,S_S,S_S),                                \
   1764   1.7  christos   QLF4(S_D,P_M,S_D,S_D),                                \
   1765   1.7  christos }
   1766   1.7  christos #define OP_SVE_VMVV_HSD                                 \
   1767   1.7  christos {                                                       \
   1768   1.7  christos   QLF4(S_H,P_M,S_H,S_H),                                \
   1769   1.7  christos   QLF4(S_S,P_M,S_S,S_S),                                \
   1770   1.7  christos   QLF4(S_D,P_M,S_D,S_D),                                \
   1771   1.7  christos }
   1772   1.7  christos #define OP_SVE_VMVV_SD                                  \
   1773   1.7  christos {                                                       \
   1774   1.7  christos   QLF4(S_S,P_M,S_S,S_S),                                \
   1775   1.7  christos   QLF4(S_D,P_M,S_D,S_D),                                \
   1776   1.7  christos }
   1777   1.7  christos #define OP_SVE_VMVVU_HSD                                \
   1778   1.7  christos {                                                       \
   1779   1.7  christos   QLF5(S_H,P_M,S_H,S_H,NIL),                            \
   1780   1.7  christos   QLF5(S_S,P_M,S_S,S_S,NIL),                            \
   1781   1.7  christos   QLF5(S_D,P_M,S_D,S_D,NIL),                            \
   1782   1.7  christos }
   1783   1.7  christos #define OP_SVE_VMV_BHSD                                 \
   1784   1.7  christos {                                                       \
   1785   1.7  christos   QLF3(S_B,P_M,S_B),                                    \
   1786   1.7  christos   QLF3(S_H,P_M,S_H),                                    \
   1787   1.7  christos   QLF3(S_S,P_M,S_S),                                    \
   1788   1.7  christos   QLF3(S_D,P_M,S_D),                                    \
   1789   1.7  christos }
   1790   1.7  christos #define OP_SVE_VMV_HSD                                  \
   1791   1.7  christos {                                                       \
   1792   1.7  christos   QLF3(S_H,P_M,S_H),                                    \
   1793   1.7  christos   QLF3(S_S,P_M,S_S),                                    \
   1794   1.7  christos   QLF3(S_D,P_M,S_D),                                    \
   1795   1.7  christos }
   1796   1.9  christos #define OP_SVE_VMV_HSD_BHS                              \
   1797   1.9  christos {                                                       \
   1798   1.9  christos   QLF3(S_H,P_M,S_B),                                    \
   1799   1.9  christos   QLF3(S_S,P_M,S_H),                                    \
   1800   1.9  christos   QLF3(S_D,P_M,S_S),                                    \
   1801   1.9  christos }
   1802   1.9  christos #define OP_SVE_VVU_HSD_BHS                              \
   1803   1.9  christos {                                                       \
   1804   1.9  christos   QLF3(S_H,S_B,NIL),                                    \
   1805   1.9  christos   QLF3(S_S,S_H,NIL),                                    \
   1806   1.9  christos   QLF3(S_D,S_S,NIL),                                    \
   1807   1.9  christos }
   1808   1.7  christos #define OP_SVE_VMV_SD                                   \
   1809   1.7  christos {                                                       \
   1810   1.7  christos   QLF3(S_S,P_M,S_S),                                    \
   1811   1.7  christos   QLF3(S_D,P_M,S_D),                                    \
   1812   1.7  christos }
   1813   1.7  christos #define OP_SVE_VM_HSD                                   \
   1814   1.7  christos {                                                       \
   1815   1.7  christos   QLF2(S_H,P_M),                                        \
   1816   1.7  christos   QLF2(S_S,P_M),                                        \
   1817   1.7  christos   QLF2(S_D,P_M),                                        \
   1818   1.7  christos }
   1819   1.7  christos #define OP_SVE_VPU_BHSD                                 \
   1820   1.7  christos {                                                       \
   1821   1.7  christos   QLF3(S_B,P_Z,NIL),                                    \
   1822   1.7  christos   QLF3(S_B,P_M,NIL),                                    \
   1823   1.7  christos   QLF3(S_H,P_Z,NIL),                                    \
   1824   1.7  christos   QLF3(S_H,P_M,NIL),                                    \
   1825   1.7  christos   QLF3(S_S,P_Z,NIL),                                    \
   1826   1.7  christos   QLF3(S_S,P_M,NIL),                                    \
   1827   1.7  christos   QLF3(S_D,P_Z,NIL),                                    \
   1828   1.7  christos   QLF3(S_D,P_M,NIL),                                    \
   1829   1.7  christos }
   1830   1.7  christos #define OP_SVE_VPV_BHSD                                 \
   1831   1.7  christos {                                                       \
   1832   1.7  christos   QLF3(S_B,P_Z,S_B),                                    \
   1833   1.7  christos   QLF3(S_B,P_M,S_B),                                    \
   1834   1.7  christos   QLF3(S_H,P_Z,S_H),                                    \
   1835   1.7  christos   QLF3(S_H,P_M,S_H),                                    \
   1836   1.7  christos   QLF3(S_S,P_Z,S_S),                                    \
   1837   1.7  christos   QLF3(S_S,P_M,S_S),                                    \
   1838   1.7  christos   QLF3(S_D,P_Z,S_D),                                    \
   1839   1.7  christos   QLF3(S_D,P_M,S_D),                                    \
   1840   1.7  christos }
   1841   1.7  christos #define OP_SVE_VRR_BHSD                                 \
   1842   1.7  christos {                                                       \
   1843   1.7  christos   QLF3(S_B,W,W),                                        \
   1844   1.7  christos   QLF3(S_H,W,W),                                        \
   1845   1.7  christos   QLF3(S_S,W,W),                                        \
   1846   1.7  christos   QLF3(S_D,X,X),                                        \
   1847   1.7  christos }
   1848   1.7  christos #define OP_SVE_VRU_BHSD                                 \
   1849   1.7  christos {                                                       \
   1850   1.7  christos   QLF3(S_B,W,NIL),                                      \
   1851   1.7  christos   QLF3(S_H,W,NIL),                                      \
   1852   1.7  christos   QLF3(S_S,W,NIL),                                      \
   1853   1.7  christos   QLF3(S_D,X,NIL),                                      \
   1854   1.7  christos }
   1855   1.7  christos #define OP_SVE_VR_BHSD                                  \
   1856   1.7  christos {                                                       \
   1857   1.7  christos   QLF2(S_B,W),                                          \
   1858   1.7  christos   QLF2(S_H,W),                                          \
   1859   1.7  christos   QLF2(S_S,W),                                          \
   1860   1.7  christos   QLF2(S_D,X),                                          \
   1861   1.7  christos }
   1862   1.7  christos #define OP_SVE_VUR_BHSD                                 \
   1863   1.7  christos {                                                       \
   1864   1.7  christos   QLF3(S_B,NIL,W),                                      \
   1865   1.7  christos   QLF3(S_H,NIL,W),                                      \
   1866   1.7  christos   QLF3(S_S,NIL,W),                                      \
   1867   1.7  christos   QLF3(S_D,NIL,X),                                      \
   1868   1.7  christos }
   1869   1.7  christos #define OP_SVE_VUU_BHSD                                 \
   1870   1.7  christos {                                                       \
   1871   1.7  christos   QLF3(S_B,NIL,NIL),                                    \
   1872   1.7  christos   QLF3(S_H,NIL,NIL),                                    \
   1873   1.7  christos   QLF3(S_S,NIL,NIL),                                    \
   1874   1.7  christos   QLF3(S_D,NIL,NIL),                                    \
   1875   1.7  christos }
   1876   1.7  christos #define OP_SVE_VUVV_BHSD                                \
   1877   1.7  christos {                                                       \
   1878   1.7  christos   QLF4(S_B,NIL,S_B,S_B),                                \
   1879   1.7  christos   QLF4(S_H,NIL,S_H,S_H),                                \
   1880   1.7  christos   QLF4(S_S,NIL,S_S,S_S),                                \
   1881   1.7  christos   QLF4(S_D,NIL,S_D,S_D),                                \
   1882   1.7  christos }
   1883   1.7  christos #define OP_SVE_VUVV_HSD                                 \
   1884   1.7  christos {                                                       \
   1885   1.7  christos   QLF4(S_H,NIL,S_H,S_H),                                \
   1886   1.7  christos   QLF4(S_S,NIL,S_S,S_S),                                \
   1887   1.7  christos   QLF4(S_D,NIL,S_D,S_D),                                \
   1888   1.7  christos }
   1889   1.7  christos #define OP_SVE_VUV_BHSD                                 \
   1890   1.7  christos {                                                       \
   1891   1.7  christos   QLF3(S_B,NIL,S_B),                                    \
   1892   1.7  christos   QLF3(S_H,NIL,S_H),                                    \
   1893   1.7  christos   QLF3(S_S,NIL,S_S),                                    \
   1894   1.7  christos   QLF3(S_D,NIL,S_D),                                    \
   1895   1.7  christos }
   1896   1.7  christos #define OP_SVE_VUV_HSD                                  \
   1897   1.7  christos {                                                       \
   1898   1.7  christos   QLF3(S_H,NIL,S_H),                                    \
   1899   1.7  christos   QLF3(S_S,NIL,S_S),                                    \
   1900   1.7  christos   QLF3(S_D,NIL,S_D),                                    \
   1901   1.7  christos }
   1902   1.7  christos #define OP_SVE_VUV_SD                                   \
   1903   1.7  christos {                                                       \
   1904   1.7  christos   QLF3(S_S,NIL,S_S),                                    \
   1905   1.7  christos   QLF3(S_D,NIL,S_D),                                    \
   1906   1.7  christos }
   1907   1.7  christos #define OP_SVE_VU_BHSD                                  \
   1908   1.7  christos {                                                       \
   1909   1.7  christos   QLF2(S_B,NIL),                                        \
   1910   1.7  christos   QLF2(S_H,NIL),                                        \
   1911   1.7  christos   QLF2(S_S,NIL),                                        \
   1912   1.7  christos   QLF2(S_D,NIL),                                        \
   1913   1.7  christos }
   1914   1.7  christos #define OP_SVE_VU_HSD                                   \
   1915   1.7  christos {                                                       \
   1916   1.7  christos   QLF2(S_H,NIL),                                        \
   1917   1.7  christos   QLF2(S_S,NIL),                                        \
   1918   1.7  christos   QLF2(S_D,NIL),                                        \
   1919   1.7  christos }
   1920   1.7  christos #define OP_SVE_VU_HSD                                   \
   1921   1.7  christos {                                                       \
   1922   1.7  christos   QLF2(S_H,NIL),                                        \
   1923   1.7  christos   QLF2(S_S,NIL),                                        \
   1924   1.7  christos   QLF2(S_D,NIL),                                        \
   1925   1.7  christos }
   1926  1.10  christos #define OP_SVE_Vv_HSD                                   \
   1927  1.10  christos {                                                       \
   1928  1.10  christos   QLF2(S_H,S_H),                                        \
   1929  1.10  christos   QLF2(S_S,S_S),                                        \
   1930  1.10  christos   QLF2(S_D,S_D),                                        \
   1931  1.10  christos   QLF2(S_H,NIL),                                        \
   1932  1.10  christos   QLF2(S_S,NIL),                                        \
   1933  1.10  christos   QLF2(S_D,NIL),                                        \
   1934  1.10  christos }
   1935   1.7  christos #define OP_SVE_VVD_BHS                                  \
   1936   1.7  christos {                                                       \
   1937   1.7  christos   QLF3(S_B,S_B,S_D),                                    \
   1938   1.7  christos   QLF3(S_H,S_H,S_D),                                    \
   1939   1.7  christos   QLF3(S_S,S_S,S_D),                                    \
   1940   1.7  christos }
   1941   1.7  christos #define OP_SVE_VVU_BHSD                                 \
   1942   1.7  christos {                                                       \
   1943   1.7  christos   QLF3(S_B,S_B,NIL),                                    \
   1944   1.7  christos   QLF3(S_H,S_H,NIL),                                    \
   1945   1.7  christos   QLF3(S_S,S_S,NIL),                                    \
   1946   1.7  christos   QLF3(S_D,S_D,NIL),                                    \
   1947   1.7  christos }
   1948   1.7  christos #define OP_SVE_VVVU_H                                   \
   1949   1.7  christos {                                                       \
   1950   1.7  christos   QLF4(S_H,S_H,S_H,NIL),                                \
   1951   1.7  christos }
   1952   1.7  christos #define OP_SVE_VVVU_S                                   \
   1953   1.7  christos {                                                       \
   1954   1.7  christos   QLF4(S_S,S_S,S_S,NIL),                                \
   1955   1.7  christos }
   1956   1.9  christos #define OP_SVE_VVVU_SD_BH                               \
   1957   1.9  christos {                                                       \
   1958   1.9  christos   QLF4(S_S,S_B,S_B,NIL),                                \
   1959   1.9  christos   QLF4(S_D,S_H,S_H,NIL),                                \
   1960   1.9  christos }
   1961   1.7  christos #define OP_SVE_VVVU_HSD                                 \
   1962   1.7  christos {                                                       \
   1963   1.7  christos   QLF4(S_H,S_H,S_H,NIL),                                \
   1964   1.7  christos   QLF4(S_S,S_S,S_S,NIL),                                \
   1965   1.7  christos   QLF4(S_D,S_D,S_D,NIL),                                \
   1966   1.7  christos }
   1967   1.9  christos #define OP_SVE_VVVU_BHSD                                \
   1968   1.9  christos {                                                       \
   1969   1.9  christos   QLF4(S_B,S_B,S_B,NIL),                                \
   1970   1.9  christos   QLF4(S_H,S_H,S_H,NIL),                                \
   1971   1.9  christos   QLF4(S_S,S_S,S_S,NIL),                                \
   1972   1.9  christos   QLF4(S_D,S_D,S_D,NIL),                                \
   1973   1.9  christos }
   1974   1.7  christos #define OP_SVE_VVV_BHSD                                 \
   1975   1.7  christos {                                                       \
   1976   1.7  christos   QLF3(S_B,S_B,S_B),                                    \
   1977   1.7  christos   QLF3(S_H,S_H,S_H),                                    \
   1978   1.7  christos   QLF3(S_S,S_S,S_S),                                    \
   1979   1.7  christos   QLF3(S_D,S_D,S_D),                                    \
   1980   1.7  christos }
   1981   1.7  christos #define OP_SVE_VVV_D                                    \
   1982   1.7  christos {                                                       \
   1983   1.7  christos   QLF3(S_D,S_D,S_D),                                    \
   1984   1.7  christos }
   1985   1.7  christos #define OP_SVE_VVV_D_H                                  \
   1986   1.7  christos {                                                       \
   1987   1.7  christos   QLF3(S_D,S_H,S_H),                                    \
   1988   1.7  christos }
   1989   1.7  christos #define OP_SVE_VVV_H                                    \
   1990   1.7  christos {                                                       \
   1991   1.7  christos   QLF3(S_H,S_H,S_H),                                    \
   1992   1.7  christos }
   1993   1.7  christos #define OP_SVE_VVV_HSD                                  \
   1994   1.7  christos {                                                       \
   1995   1.7  christos   QLF3(S_H,S_H,S_H),                                    \
   1996   1.7  christos   QLF3(S_S,S_S,S_S),                                    \
   1997   1.7  christos   QLF3(S_D,S_D,S_D),                                    \
   1998   1.7  christos }
   1999   1.7  christos #define OP_SVE_VVV_S                                    \
   2000   1.7  christos {                                                       \
   2001   1.7  christos   QLF3(S_S,S_S,S_S),                                    \
   2002   1.7  christos }
   2003   1.9  christos #define OP_SVE_VVV_HD_BS				\
   2004   1.9  christos {                                                       \
   2005   1.9  christos   QLF3(S_H,S_B,S_B),                                    \
   2006   1.9  christos   QLF3(S_D,S_S,S_S),                                    \
   2007   1.9  christos }
   2008   1.7  christos #define OP_SVE_VVV_S_B                                  \
   2009   1.7  christos {                                                       \
   2010   1.7  christos   QLF3(S_S,S_B,S_B),                                    \
   2011   1.7  christos }
   2012   1.9  christos #define OP_SVE_VVV_Q_D					\
   2013   1.9  christos {                                                       \
   2014   1.9  christos   QLF3(S_Q,S_D,S_D),                                    \
   2015   1.9  christos }
   2016   1.9  christos #define OP_SVE_VVV_HSD_BHS                              \
   2017   1.9  christos {                                                       \
   2018   1.9  christos   QLF3(S_H,S_B,S_B),                                    \
   2019   1.9  christos   QLF3(S_S,S_H,S_H),                                    \
   2020   1.9  christos   QLF3(S_D,S_S,S_S),                                    \
   2021   1.9  christos }
   2022   1.9  christos #define OP_SVE_VVV_HSD_BHS2                             \
   2023   1.9  christos {                                                       \
   2024   1.9  christos   QLF3(S_H,S_H,S_B),                                    \
   2025   1.9  christos   QLF3(S_S,S_S,S_H),                                    \
   2026   1.9  christos   QLF3(S_D,S_D,S_S),                                    \
   2027   1.9  christos }
   2028   1.9  christos #define OP_SVE_VVV_BHS_HSD                              \
   2029   1.9  christos {                                                       \
   2030   1.9  christos   QLF3(S_B,S_H,S_H),                                    \
   2031   1.9  christos   QLF3(S_H,S_S,S_S),                                    \
   2032   1.9  christos   QLF3(S_S,S_D,S_D),                                    \
   2033   1.9  christos }
   2034   1.9  christos #define OP_SVE_VV_BHS_HSD                               \
   2035   1.9  christos {                                                       \
   2036   1.9  christos   QLF2(S_B,S_H),                                        \
   2037   1.9  christos   QLF2(S_H,S_S),                                        \
   2038   1.9  christos   QLF2(S_S,S_D),                                        \
   2039   1.9  christos }
   2040   1.7  christos #define OP_SVE_VVV_SD_BH                                \
   2041   1.7  christos {                                                       \
   2042   1.7  christos   QLF3(S_S,S_B,S_B),                                    \
   2043   1.7  christos   QLF3(S_D,S_H,S_H),                                    \
   2044   1.7  christos }
   2045   1.9  christos #define OP_SVE_VVV_SD                                   \
   2046   1.9  christos {                                                       \
   2047   1.9  christos   QLF3(S_S,S_S,S_S),                                    \
   2048   1.9  christos   QLF3(S_D,S_D,S_D),                                    \
   2049   1.9  christos }
   2050   1.7  christos #define OP_SVE_VV_BHSD                                  \
   2051   1.7  christos {                                                       \
   2052   1.7  christos   QLF2(S_B,S_B),                                        \
   2053   1.7  christos   QLF2(S_H,S_H),                                        \
   2054   1.7  christos   QLF2(S_S,S_S),                                        \
   2055   1.7  christos   QLF2(S_D,S_D),                                        \
   2056   1.7  christos }
   2057   1.7  christos #define OP_SVE_VV_BHSDQ                                 \
   2058   1.7  christos {                                                       \
   2059   1.7  christos   QLF2(S_B,S_B),                                        \
   2060   1.7  christos   QLF2(S_H,S_H),                                        \
   2061   1.7  christos   QLF2(S_S,S_S),                                        \
   2062   1.7  christos   QLF2(S_D,S_D),                                        \
   2063   1.7  christos   QLF2(S_Q,S_Q),                                        \
   2064   1.7  christos }
   2065   1.7  christos #define OP_SVE_VV_HSD                                   \
   2066   1.7  christos {                                                       \
   2067   1.7  christos   QLF2(S_H,S_H),                                        \
   2068   1.7  christos   QLF2(S_S,S_S),                                        \
   2069   1.7  christos   QLF2(S_D,S_D),                                        \
   2070   1.7  christos }
   2071   1.9  christos #define OP_SVE_VVU_BHS_HSD                               \
   2072   1.9  christos {                                                       \
   2073   1.9  christos   QLF3(S_B,S_H,NIL),                                        \
   2074   1.9  christos   QLF3(S_H,S_S,NIL),                                        \
   2075   1.9  christos   QLF3(S_S,S_D,NIL),                                        \
   2076   1.9  christos }
   2077   1.7  christos #define OP_SVE_VV_HSD_BHS                               \
   2078   1.7  christos {                                                       \
   2079   1.7  christos   QLF2(S_H,S_B),                                        \
   2080   1.7  christos   QLF2(S_S,S_H),                                        \
   2081   1.7  christos   QLF2(S_D,S_S),                                        \
   2082   1.7  christos }
   2083   1.7  christos #define OP_SVE_VV_SD                                    \
   2084   1.7  christos {                                                       \
   2085   1.7  christos   QLF2(S_S,S_S),                                        \
   2086   1.7  christos   QLF2(S_D,S_D),                                        \
   2087   1.7  christos }
   2088   1.7  christos #define OP_SVE_VWW_BHSD                                 \
   2089   1.7  christos {                                                       \
   2090   1.7  christos   QLF3(S_B,W,W),                                        \
   2091   1.7  christos   QLF3(S_H,W,W),                                        \
   2092   1.7  christos   QLF3(S_S,W,W),                                        \
   2093   1.7  christos   QLF3(S_D,W,W),                                        \
   2094   1.7  christos }
   2095   1.7  christos #define OP_SVE_VXX_BHSD                                 \
   2096   1.7  christos {                                                       \
   2097   1.7  christos   QLF3(S_B,X,X),                                        \
   2098   1.7  christos   QLF3(S_H,X,X),                                        \
   2099   1.7  christos   QLF3(S_S,X,X),                                        \
   2100   1.7  christos   QLF3(S_D,X,X),                                        \
   2101   1.7  christos }
   2102   1.7  christos #define OP_SVE_VZVD_BHS                                 \
   2103   1.7  christos {                                                       \
   2104   1.7  christos   QLF4(S_B,P_Z,S_B,S_D),                                \
   2105   1.7  christos   QLF4(S_H,P_Z,S_H,S_D),                                \
   2106   1.7  christos   QLF4(S_S,P_Z,S_S,S_D),                                \
   2107   1.7  christos }
   2108   1.7  christos #define OP_SVE_VZVU_BHSD                                \
   2109   1.7  christos {                                                       \
   2110   1.7  christos   QLF4(S_B,P_Z,S_B,NIL),                                \
   2111   1.7  christos   QLF4(S_H,P_Z,S_H,NIL),                                \
   2112   1.7  christos   QLF4(S_S,P_Z,S_S,NIL),                                \
   2113   1.7  christos   QLF4(S_D,P_Z,S_D,NIL),                                \
   2114   1.7  christos }
   2115   1.7  christos #define OP_SVE_VZVV_BHSD                                \
   2116   1.7  christos {                                                       \
   2117   1.7  christos   QLF4(S_B,P_Z,S_B,S_B),                                \
   2118   1.7  christos   QLF4(S_H,P_Z,S_H,S_H),                                \
   2119   1.7  christos   QLF4(S_S,P_Z,S_S,S_S),                                \
   2120   1.7  christos   QLF4(S_D,P_Z,S_D,S_D),                                \
   2121   1.7  christos }
   2122   1.7  christos #define OP_SVE_VZVV_HSD                                 \
   2123   1.7  christos {                                                       \
   2124   1.7  christos   QLF4(S_H,P_Z,S_H,S_H),                                \
   2125   1.7  christos   QLF4(S_S,P_Z,S_S,S_S),                                \
   2126   1.7  christos   QLF4(S_D,P_Z,S_D,S_D),                                \
   2127   1.7  christos }
   2128   1.9  christos #define OP_SVE_VZVV_SD                                 \
   2129   1.9  christos {                                                       \
   2130   1.9  christos   QLF4(S_S,P_Z,S_S,S_S),                                \
   2131   1.9  christos   QLF4(S_D,P_Z,S_D,S_D),                                \
   2132   1.9  christos }
   2133   1.9  christos #define OP_SVE_VZVV_BH                                 \
   2134   1.9  christos {                                                       \
   2135   1.9  christos   QLF4(S_B,P_Z,S_B,S_B),                                \
   2136   1.9  christos   QLF4(S_H,P_Z,S_H,S_H),                                \
   2137   1.9  christos }
   2138   1.9  christos #define OP_SVE_VZV_SD                                   \
   2139   1.9  christos {                                                       \
   2140   1.9  christos   QLF3(S_S,P_Z,S_S),                                    \
   2141   1.9  christos   QLF3(S_D,P_Z,S_D),                                    \
   2142   1.9  christos }
   2143   1.7  christos #define OP_SVE_VZV_HSD                                  \
   2144   1.7  christos {                                                       \
   2145   1.7  christos   QLF3(S_H,P_Z,S_H),                                    \
   2146   1.7  christos   QLF3(S_S,P_Z,S_S),                                    \
   2147   1.7  christos   QLF3(S_D,P_Z,S_D),                                    \
   2148   1.7  christos }
   2149   1.7  christos #define OP_SVE_V_HSD                                    \
   2150   1.7  christos {                                                       \
   2151   1.7  christos   QLF1(S_H),                                            \
   2152   1.7  christos   QLF1(S_S),                                            \
   2153   1.7  christos   QLF1(S_D),                                            \
   2154   1.7  christos }
   2155   1.7  christos #define OP_SVE_WU                                       \
   2156   1.7  christos {                                                       \
   2157   1.7  christos   QLF2(W,NIL),                                          \
   2158   1.7  christos }
   2159   1.7  christos #define OP_SVE_WV_BHSD                                  \
   2160   1.7  christos {                                                       \
   2161   1.7  christos   QLF2(W,S_B),                                          \
   2162   1.7  christos   QLF2(W,S_H),                                          \
   2163   1.7  christos   QLF2(W,S_S),                                          \
   2164   1.7  christos   QLF2(W,S_D),                                          \
   2165   1.7  christos }
   2166   1.7  christos #define OP_SVE_XU                                       \
   2167   1.7  christos {                                                       \
   2168   1.7  christos   QLF2(X,NIL),                                          \
   2169   1.7  christos }
   2170   1.7  christos #define OP_SVE_XUV_BHSD                                 \
   2171   1.7  christos {                                                       \
   2172   1.7  christos   QLF3(X,NIL,S_B),                                      \
   2173   1.7  christos   QLF3(X,NIL,S_H),                                      \
   2174   1.7  christos   QLF3(X,NIL,S_S),                                      \
   2175   1.7  christos   QLF3(X,NIL,S_D),                                      \
   2176   1.7  christos }
   2177   1.7  christos #define OP_SVE_XVW_BHSD                                 \
   2178   1.7  christos {                                                       \
   2179   1.7  christos   QLF3(X,S_B,W),                                        \
   2180   1.7  christos   QLF3(X,S_H,W),                                        \
   2181   1.7  christos   QLF3(X,S_S,W),                                        \
   2182   1.7  christos   QLF3(X,S_D,W),                                        \
   2183   1.7  christos }
   2184   1.7  christos #define OP_SVE_XV_BHSD                                  \
   2185   1.7  christos {                                                       \
   2186   1.7  christos   QLF2(X,S_B),                                          \
   2187   1.7  christos   QLF2(X,S_H),                                          \
   2188   1.7  christos   QLF2(X,S_S),                                          \
   2189   1.7  christos   QLF2(X,S_D),                                          \
   2190   1.7  christos }
   2191   1.7  christos #define OP_SVE_XWU                                      \
   2192   1.7  christos {                                                       \
   2193   1.7  christos   QLF3(X,W,NIL),                                        \
   2194   1.7  christos }
   2195   1.7  christos #define OP_SVE_XXU                                      \
   2196   1.7  christos {                                                       \
   2197   1.7  christos   QLF3(X,X,NIL),                                        \
   2198   1.7  christos }
   2199  1.10  christos /* e.g. ADDVA <ZAda>.S, <Pn>/M, <Pm>/M, <Zn>.S  */
   2200  1.10  christos #define OP_SME_ZADA_PN_PM_ZN_S                          \
   2201  1.10  christos {                                                       \
   2202  1.10  christos   QLF4(S_S,P_M,P_M,S_S),                                \
   2203  1.10  christos }
   2204  1.10  christos /* e.g. ADDVA <ZAda>.D, <Pn>/M, <Pm>/M, <Zn>.D  */
   2205  1.10  christos #define OP_SME_ZADA_PN_PM_ZN_D                          \
   2206  1.10  christos {                                                       \
   2207  1.10  christos   QLF4(S_D,P_M,P_M,S_D),                                \
   2208  1.10  christos }
   2209  1.10  christos /* e.g. BFMOPA <ZAda>.S, <Pn>/M, <Pm>/M, <Zn>.H, <Zm>.H  */
   2210  1.10  christos #define OP_SME_ZADA_PN_PM_ZN_ZM                         \
   2211  1.10  christos {                                                       \
   2212  1.10  christos   QLF5(S_S,P_M,P_M,S_H,S_H),                            \
   2213  1.10  christos }
   2214  1.10  christos #define OP_SME_ZADA_S_PM_PM_S_S                         \
   2215  1.10  christos {                                                       \
   2216  1.10  christos   QLF5(S_S,P_M,P_M,S_S,S_S)                             \
   2217  1.10  christos }
   2218  1.10  christos #define OP_SME_ZADA_D_PM_PM_D_D                         \
   2219  1.10  christos {                                                       \
   2220  1.10  christos   QLF5(S_D,P_M,P_M,S_D,S_D)                             \
   2221  1.10  christos }
   2222  1.10  christos #define OP_SME_ZADA_S_PM_PM_H_H                         \
   2223  1.10  christos {                                                       \
   2224  1.10  christos   QLF5(S_S,P_M,P_M,S_H,S_H)                             \
   2225  1.10  christos }
   2226  1.10  christos #define OP_SME_ZADA_S_PM_PM_B_B                         \
   2227  1.10  christos {                                                       \
   2228  1.10  christos   QLF5(S_S,P_M,P_M,S_B,S_B)                             \
   2229  1.10  christos }
   2230  1.10  christos #define OP_SME_ZADA_D_PM_PM_H_H                         \
   2231  1.10  christos {                                                       \
   2232  1.10  christos   QLF5(S_D,P_M,P_M,S_H,S_H)                             \
   2233  1.10  christos }
   2234  1.10  christos #define OP_SME_BHSDQ_PM_BHSDQ                           \
   2235  1.10  christos {                                                       \
   2236  1.10  christos   QLF3(S_B,P_M,S_B),                                    \
   2237  1.10  christos   QLF3(S_H,P_M,S_H),                                    \
   2238  1.10  christos   QLF3(S_S,P_M,S_S),                                    \
   2239  1.10  christos   QLF3(S_D,P_M,S_D),                                    \
   2240  1.10  christos   QLF3(S_Q,P_M,S_Q)                                     \
   2241  1.10  christos }
   2242  1.10  christos 
   2243   1.8  christos /* e.g. UDOT <Vd>.2S, <Vn>.8B, <Vm>.8B.  */
   2244   1.8  christos #define QL_V3DOT	   \
   2245   1.8  christos {			   \
   2246   1.8  christos   QLF3(V_2S, V_8B,  V_8B), \
   2247   1.8  christos   QLF3(V_4S, V_16B, V_16B),\
   2248   1.8  christos }
   2249   1.8  christos 
   2250   1.8  christos /* e.g. UDOT <Vd>.2S, <Vn>.8B, <Vm>.4B[<index>].  */
   2251   1.8  christos #define QL_V2DOT	 \
   2252   1.8  christos {			 \
   2253   1.8  christos   QLF3(V_2S, V_8B,  S_4B),\
   2254   1.8  christos   QLF3(V_4S, V_16B, S_4B),\
   2255   1.8  christos }
   2256   1.8  christos 
   2257   1.8  christos /* e.g. SHA512H <Qd>, <Qn>, <Vm>.2D.  */
   2259   1.8  christos #define QL_SHA512UPT			\
   2260   1.8  christos {				\
   2261   1.8  christos   QLF3(S_Q, S_Q, V_2D),		\
   2262   1.8  christos }
   2263   1.8  christos 
   2264   1.8  christos /* e.g. SHA512SU0 <Vd.2D>, <Vn>.2D.  */
   2266   1.8  christos #define QL_V2SAME2D		\
   2267   1.8  christos {				\
   2268   1.8  christos   QLF2(V_2D, V_2D),		\
   2269   1.8  christos }
   2270   1.8  christos 
   2271   1.8  christos /* e.g. SHA512SU1 <Vd>.2D, <Vn>.2D, <Vm>.2D>.  */
   2272   1.8  christos #define QL_V3SAME2D		\
   2273   1.8  christos {				\
   2274   1.8  christos   QLF3(V_2D, V_2D, V_2D),	\
   2275   1.8  christos }
   2276   1.8  christos 
   2277   1.8  christos /* e.g. EOR3 <Vd>.16B, <Vn>.16B, <Vm>.16B, <Va>.16B.  */
   2278   1.8  christos #define QL_V4SAME16B			\
   2279   1.8  christos {					\
   2280   1.8  christos   QLF4(V_16B, V_16B, V_16B, V_16B),	\
   2281   1.8  christos }
   2282   1.8  christos 
   2283   1.8  christos /* e.g. SM3SS1 <Vd>.4S, <Vn>.4S, <Vm>.4S, <Va>.4S.  */
   2284   1.8  christos #define QL_V4SAME4S			\
   2285   1.8  christos {					\
   2286   1.8  christos   QLF4(V_4S, V_4S, V_4S, V_4S),		\
   2287   1.8  christos }
   2288   1.8  christos 
   2289   1.8  christos /* e.g. XAR <Vd>.2D, <Vn>.2D, <Vm>.2D, #<imm6>.  */
   2290   1.8  christos #define QL_XAR			\
   2291   1.8  christos {				\
   2292   1.8  christos   QLF4(V_2D, V_2D, V_2D, imm_0_63),	\
   2293   1.8  christos }
   2294   1.8  christos 
   2295   1.8  christos /* e.g. SM3TT1A <Vd>.4S, <Vn>.4S, <Vm>.S[<imm2>].  */
   2296   1.8  christos #define QL_SM3TT	\
   2297   1.8  christos {			\
   2298   1.8  christos   QLF3(V_4S, V_4S, S_S),\
   2299   1.8  christos }
   2300   1.8  christos 
   2301   1.8  christos /* e.g. FMLAL  <Vd>.2S, <Vn>.2H, <Vm>.2H.  */
   2302   1.8  christos #define QL_V3FML2S \
   2303   1.8  christos {		   \
   2304   1.8  christos   QLF3(V_2S, V_2H, V_2H),\
   2305   1.8  christos }
   2306   1.8  christos 
   2307   1.8  christos /* e.g. FMLAL  <Vd>.4S, <Vn>.4H, <Vm>.4H.  */
   2308   1.8  christos #define QL_V3FML4S \
   2309   1.8  christos {		   \
   2310   1.8  christos   QLF3(V_4S, V_4H, V_4H),\
   2311   1.8  christos }
   2312   1.8  christos 
   2313   1.8  christos /* e.g. FMLAL  <Vd>.2S, <Vn>.2H, <Vm>.H[<index>].  */
   2314   1.8  christos #define QL_V2FML2S \
   2315   1.8  christos {		   \
   2316   1.8  christos   QLF3(V_2S, V_2H, S_H),\
   2317   1.8  christos }
   2318   1.8  christos 
   2319   1.8  christos /* e.g. FMLAL  <Vd>.4S, <Vn>.4H, <Vm>.H[<index>].  */
   2320   1.8  christos #define QL_V2FML4S \
   2321   1.8  christos {		   \
   2322   1.8  christos   QLF3(V_4S, V_4H, S_H),\
   2323   1.8  christos }
   2324   1.8  christos 
   2325   1.8  christos /* e.g. RMIF <Xn>, #<shift>, #<mask>.  */
   2326   1.8  christos #define QL_RMIF  \
   2327   1.8  christos {		  \
   2328   1.8  christos   QLF3(X, imm_0_63, imm_0_15),\
   2329   1.8  christos }
   2330   1.8  christos 
   2331   1.8  christos /* e.g. SETF8 <Wn>.  */
   2332   1.8  christos #define QL_SETF \
   2333   1.8  christos {		\
   2334   1.8  christos   QLF1(W),	\
   2335   1.8  christos }
   2336   1.8  christos 
   2337   1.8  christos /* e.g. STLURB <Wt>, [<Xn|SP>{,#<simm>}].  */
   2338   1.8  christos #define QL_STLW \
   2339   1.8  christos {		\
   2340   1.8  christos   QLF2(W, NIL),	\
   2341   1.8  christos }
   2342   1.8  christos 
   2343   1.8  christos /* e.g. STLURB <Xt>, [<Xn|SP>{,#<simm>}].  */
   2344   1.8  christos #define QL_STLX \
   2345   1.8  christos {		\
   2346   1.9  christos   QLF2(X, NIL),	\
   2347   1.9  christos }
   2348   1.9  christos 
   2349   1.9  christos /* e.g. BFDOT <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb> */
   2350   1.9  christos #define QL_BFDOT64    \
   2351   1.9  christos {		      \
   2352   1.9  christos   QLF3(V_2S, V_4H, V_4H),\
   2353   1.9  christos   QLF3(V_4S, V_8H, V_8H),\
   2354   1.9  christos }
   2355   1.9  christos 
   2356   1.9  christos /* e.g. BFDOT <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.2H[<index>] */
   2357   1.9  christos #define QL_BFDOT64I    \
   2358   1.9  christos {		      \
   2359   1.9  christos   QLF3(V_2S, V_4H, S_2H),\
   2360   1.9  christos   QLF3(V_4S, V_8H, S_2H),\
   2361   1.9  christos }
   2362   1.9  christos 
   2363   1.9  christos /* e.g. SMMLA <Vd>.4S, <Vn>.16B, <Vm>.16B */
   2364   1.9  christos #define QL_MMLA64      \
   2365   1.9  christos {		      \
   2366   1.9  christos   QLF3(V_4S, V_16B, V_16B),\
   2367   1.9  christos }
   2368   1.9  christos 
   2369   1.9  christos /* e.g. BFMMLA <Vd>.4s, <Vn>.8h, <Vm>.8h */
   2370   1.9  christos #define QL_BFMMLA    \
   2371   1.9  christos {		      \
   2372   1.9  christos   QLF3(V_4S, V_8H, V_8H),\
   2373   1.9  christos }
   2374   1.9  christos 
   2375   1.9  christos /* e.g. BFCVT <Hd>, <Sn> */
   2376   1.9  christos #define QL_BFCVT64      \
   2377   1.9  christos {		      \
   2378   1.9  christos   QLF2(S_H,S_S),  \
   2379   1.9  christos }
   2380   1.9  christos 
   2381   1.9  christos /* e.g. BFCVT <Hd>, <Sn> */
   2382   1.9  christos #define QL_BFCVTN64      \
   2383   1.9  christos {		      \
   2384   1.9  christos   QLF2(V_4H,V_4S),  \
   2385   1.9  christos }
   2386   1.9  christos 
   2387   1.9  christos /* e.g. BFCVT <Hd>, <Sn> */
   2388   1.9  christos #define QL_BFCVTN2_64      \
   2389   1.9  christos {		      \
   2390   1.9  christos   QLF2(V_8H,V_4S),  \
   2391   1.9  christos }
   2392   1.9  christos 
   2393   1.9  christos /* e.g. BFMLAL2 <Vd>.4s, <Vn>.8h, <Vm>.H[<index>] */
   2394   1.9  christos #define QL_V3BFML4S      \
   2395   1.9  christos {		      \
   2396   1.1  christos   QLF3(V_4S, V_8H, S_H),	\
   2397   1.1  christos }
   2398   1.1  christos 
   2399   1.1  christos /* Opcode table.  */
   2401   1.1  christos 
   2402   1.1  christos static const aarch64_feature_set aarch64_feature_v8 =
   2403   1.1  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8, 0);
   2404   1.1  christos static const aarch64_feature_set aarch64_feature_fp =
   2405   1.1  christos   AARCH64_FEATURE (AARCH64_FEATURE_FP, 0);
   2406   1.1  christos static const aarch64_feature_set aarch64_feature_simd =
   2407   1.3  christos   AARCH64_FEATURE (AARCH64_FEATURE_SIMD, 0);
   2408   1.3  christos static const aarch64_feature_set aarch64_feature_crc =
   2409   1.5  christos   AARCH64_FEATURE (AARCH64_FEATURE_CRC, 0);
   2410   1.5  christos static const aarch64_feature_set aarch64_feature_lse =
   2411   1.5  christos   AARCH64_FEATURE (AARCH64_FEATURE_LSE, 0);
   2412   1.5  christos static const aarch64_feature_set aarch64_feature_lor =
   2413   1.6  christos   AARCH64_FEATURE (AARCH64_FEATURE_LOR, 0);
   2414   1.6  christos static const aarch64_feature_set aarch64_feature_rdma =
   2415   1.6  christos   AARCH64_FEATURE (AARCH64_FEATURE_RDMA, 0);
   2416   1.6  christos static const aarch64_feature_set aarch64_feature_v8_2 =
   2417   1.6  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_2, 0);
   2418   1.6  christos static const aarch64_feature_set aarch64_feature_fp_f16 =
   2419   1.7  christos   AARCH64_FEATURE (AARCH64_FEATURE_F16 | AARCH64_FEATURE_FP, 0);
   2420   1.7  christos static const aarch64_feature_set aarch64_feature_simd_f16 =
   2421   1.7  christos   AARCH64_FEATURE (AARCH64_FEATURE_F16 | AARCH64_FEATURE_SIMD, 0);
   2422   1.7  christos static const aarch64_feature_set aarch64_feature_sve =
   2423   1.7  christos   AARCH64_FEATURE (AARCH64_FEATURE_SVE, 0);
   2424   1.7  christos static const aarch64_feature_set aarch64_feature_v8_3 =
   2425  1.10  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_3, 0);
   2426  1.10  christos static const aarch64_feature_set aarch64_feature_fp_v8_3 =
   2427   1.7  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_3 | AARCH64_FEATURE_FP, 0);
   2428   1.7  christos static const aarch64_feature_set aarch64_feature_pac =
   2429   1.7  christos   AARCH64_FEATURE (AARCH64_FEATURE_PAC, 0);
   2430   1.7  christos static const aarch64_feature_set aarch64_feature_compnum =
   2431   1.8  christos   AARCH64_FEATURE (AARCH64_FEATURE_COMPNUM, 0);
   2432   1.8  christos static const aarch64_feature_set aarch64_feature_rcpc =
   2433   1.8  christos   AARCH64_FEATURE (AARCH64_FEATURE_RCPC, 0);
   2434   1.8  christos static const aarch64_feature_set aarch64_feature_dotprod =
   2435   1.8  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_2 | AARCH64_FEATURE_DOTPROD, 0);
   2436   1.8  christos static const aarch64_feature_set aarch64_feature_sha2 =
   2437   1.8  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8 | AARCH64_FEATURE_SHA2, 0);
   2438   1.8  christos static const aarch64_feature_set aarch64_feature_aes =
   2439   1.8  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8 | AARCH64_FEATURE_AES, 0);
   2440   1.8  christos static const aarch64_feature_set aarch64_feature_v8_4 =
   2441   1.8  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_4, 0);
   2442   1.8  christos static const aarch64_feature_set aarch64_feature_sm4 =
   2443   1.8  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_2 | AARCH64_FEATURE_SM4
   2444   1.8  christos 		   | AARCH64_FEATURE_SIMD | AARCH64_FEATURE_FP, 0);
   2445   1.8  christos static const aarch64_feature_set aarch64_feature_sha3 =
   2446   1.8  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_2 | AARCH64_FEATURE_SHA2
   2447   1.8  christos 		   | AARCH64_FEATURE_SHA3 | AARCH64_FEATURE_SIMD | AARCH64_FEATURE_FP, 0);
   2448   1.8  christos static const aarch64_feature_set aarch64_feature_fp_16_v8_2 =
   2449   1.8  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_2 | AARCH64_FEATURE_F16_FML
   2450   1.8  christos 		   | AARCH64_FEATURE_F16 | AARCH64_FEATURE_FP, 0);
   2451   1.8  christos static const aarch64_feature_set aarch64_feature_v8_5 =
   2452   1.8  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_5, 0);
   2453   1.8  christos static const aarch64_feature_set aarch64_feature_flagmanip =
   2454   1.8  christos   AARCH64_FEATURE (AARCH64_FEATURE_FLAGMANIP, 0);
   2455   1.8  christos static const aarch64_feature_set aarch64_feature_frintts =
   2456   1.8  christos   AARCH64_FEATURE (AARCH64_FEATURE_FRINTTS, 0);
   2457   1.8  christos static const aarch64_feature_set aarch64_feature_sb =
   2458   1.8  christos   AARCH64_FEATURE (AARCH64_FEATURE_SB, 0);
   2459   1.8  christos static const aarch64_feature_set aarch64_feature_predres =
   2460   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_PREDRES, 0);
   2461   1.9  christos static const aarch64_feature_set aarch64_feature_memtag =
   2462   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_5 | AARCH64_FEATURE_MEMTAG, 0);
   2463   1.9  christos static const aarch64_feature_set aarch64_feature_bfloat16 =
   2464   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_BFLOAT16, 0);
   2465   1.9  christos static const aarch64_feature_set aarch64_feature_bfloat16_sve =
   2466   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_BFLOAT16 | AARCH64_FEATURE_SVE, 0);
   2467   1.9  christos static const aarch64_feature_set aarch64_feature_tme =
   2468   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_TME, 0);
   2469   1.9  christos static const aarch64_feature_set aarch64_feature_sve2 =
   2470   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_SVE2, 0);
   2471   1.9  christos static const aarch64_feature_set aarch64_feature_sve2aes =
   2472   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_SVE2 | AARCH64_FEATURE_SVE2_AES, 0);
   2473   1.9  christos static const aarch64_feature_set aarch64_feature_sve2sha3 =
   2474   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_SVE2 | AARCH64_FEATURE_SVE2_SHA3, 0);
   2475   1.9  christos static const aarch64_feature_set aarch64_feature_sve2sm4 =
   2476  1.10  christos   AARCH64_FEATURE (AARCH64_FEATURE_SVE2 | AARCH64_FEATURE_SVE2_SM4, 0);
   2477  1.10  christos static const aarch64_feature_set aarch64_feature_sve2bitperm =
   2478  1.10  christos   AARCH64_FEATURE (AARCH64_FEATURE_SVE2 | AARCH64_FEATURE_SVE2_BITPERM, 0);
   2479  1.10  christos static const aarch64_feature_set aarch64_feature_sme =
   2480  1.10  christos   AARCH64_FEATURE (AARCH64_FEATURE_SVE2 | AARCH64_FEATURE_SME, 0);
   2481  1.10  christos static const aarch64_feature_set aarch64_feature_sme_f64 =
   2482  1.10  christos   AARCH64_FEATURE (AARCH64_FEATURE_SVE2 | AARCH64_FEATURE_SME
   2483  1.10  christos        | AARCH64_FEATURE_SME_F64, 0);
   2484   1.9  christos static const aarch64_feature_set aarch64_feature_sme_i64 =
   2485   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_SVE2 | AARCH64_FEATURE_SME
   2486  1.10  christos        | AARCH64_FEATURE_SME_I64, 0);
   2487  1.10  christos static const aarch64_feature_set aarch64_feature_v8_6 =
   2488   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_6, 0);
   2489   1.9  christos static const aarch64_feature_set aarch64_feature_v8_7 =
   2490   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_7, 0);
   2491   1.9  christos static const aarch64_feature_set aarch64_feature_i8mm =
   2492   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_2 | AARCH64_FEATURE_I8MM, 0);
   2493   1.9  christos static const aarch64_feature_set aarch64_feature_i8mm_sve =
   2494   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_2 | AARCH64_FEATURE_I8MM
   2495   1.9  christos        | AARCH64_FEATURE_SVE, 0);
   2496   1.9  christos static const aarch64_feature_set aarch64_feature_f32mm_sve =
   2497   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_2 | AARCH64_FEATURE_F32MM
   2498   1.9  christos        | AARCH64_FEATURE_SVE, 0);
   2499   1.9  christos static const aarch64_feature_set aarch64_feature_f64mm_sve =
   2500   1.9  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_2 | AARCH64_FEATURE_F64MM
   2501  1.10  christos        | AARCH64_FEATURE_SVE, 0);
   2502  1.10  christos static const aarch64_feature_set aarch64_feature_v8_r =
   2503  1.10  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_R, 0);
   2504  1.10  christos static const aarch64_feature_set aarch64_feature_ls64 =
   2505  1.10  christos   AARCH64_FEATURE (AARCH64_FEATURE_V8_6 | AARCH64_FEATURE_LS64, 0);
   2506  1.10  christos static const aarch64_feature_set aarch64_feature_flagm =
   2507  1.10  christos   AARCH64_FEATURE (AARCH64_FEATURE_FLAGM, 0);
   2508  1.10  christos static const aarch64_feature_set aarch64_feature_mops =
   2509  1.10  christos   AARCH64_FEATURE (AARCH64_FEATURE_MOPS, 0);
   2510  1.10  christos static const aarch64_feature_set aarch64_feature_mops_memtag =
   2511  1.10  christos   AARCH64_FEATURE (AARCH64_FEATURE_MOPS | AARCH64_FEATURE_MEMTAG, 0);
   2512  1.10  christos static const aarch64_feature_set aarch64_feature_hbc =
   2513   1.6  christos   AARCH64_FEATURE (AARCH64_FEATURE_HBC, 0);
   2514   1.6  christos static const aarch64_feature_set aarch64_feature_cssc =
   2515   1.6  christos   AARCH64_FEATURE (AARCH64_FEATURE_CSSC, 0);
   2516   1.6  christos 
   2517   1.6  christos #define CORE		&aarch64_feature_v8
   2518   1.6  christos #define FP		&aarch64_feature_fp
   2519   1.6  christos #define SIMD		&aarch64_feature_simd
   2520   1.6  christos #define CRC		&aarch64_feature_crc
   2521   1.6  christos #define LSE		&aarch64_feature_lse
   2522   1.6  christos #define LOR		&aarch64_feature_lor
   2523   1.6  christos #define RDMA		&aarch64_feature_rdma
   2524   1.7  christos #define FP_F16		&aarch64_feature_fp_f16
   2525   1.7  christos #define SIMD_F16	&aarch64_feature_simd_f16
   2526   1.7  christos #define ARMV8_2		&aarch64_feature_v8_2
   2527  1.10  christos #define SVE		&aarch64_feature_sve
   2528   1.7  christos #define ARMV8_3		&aarch64_feature_v8_3
   2529   1.7  christos #define FP_V8_3		&aarch64_feature_fp_v8_3
   2530   1.8  christos #define PAC		&aarch64_feature_pac
   2531   1.8  christos #define COMPNUM		&aarch64_feature_compnum
   2532   1.8  christos #define RCPC		&aarch64_feature_rcpc
   2533   1.8  christos #define SHA2		&aarch64_feature_sha2
   2534   1.8  christos #define AES		&aarch64_feature_aes
   2535   1.8  christos #define ARMV8_4		&aarch64_feature_v8_4
   2536   1.8  christos #define SHA3		&aarch64_feature_sha3
   2537   1.8  christos #define SM4		&aarch64_feature_sm4
   2538   1.8  christos #define FP_F16_V8_2	&aarch64_feature_fp_16_v8_2
   2539   1.8  christos #define DOTPROD		&aarch64_feature_dotprod
   2540   1.8  christos #define ARMV8_5		&aarch64_feature_v8_5
   2541   1.8  christos #define FLAGMANIP	&aarch64_feature_flagmanip
   2542   1.8  christos #define FRINTTS		&aarch64_feature_frintts
   2543   1.9  christos #define SB		&aarch64_feature_sb
   2544   1.9  christos #define PREDRES		&aarch64_feature_predres
   2545   1.9  christos #define MEMTAG		&aarch64_feature_memtag
   2546   1.9  christos #define TME		&aarch64_feature_tme
   2547   1.9  christos #define SVE2		&aarch64_feature_sve2
   2548   1.9  christos #define SVE2_AES		&aarch64_feature_sve2aes
   2549  1.10  christos #define SVE2_SHA3	&aarch64_feature_sve2sha3
   2550  1.10  christos #define SVE2_SM4		&aarch64_feature_sve2sm4
   2551  1.10  christos #define SVE2_BITPERM	&aarch64_feature_sve2bitperm
   2552   1.9  christos #define SME		&aarch64_feature_sme
   2553   1.9  christos #define SME_F64		&aarch64_feature_sme_f64
   2554   1.9  christos #define SME_I64		&aarch64_feature_sme_i64
   2555   1.9  christos #define ARMV8_6		&aarch64_feature_v8_6
   2556   1.9  christos #define ARMV8_6_SVE		&aarch64_feature_v8_6
   2557   1.9  christos #define BFLOAT16_SVE	&aarch64_feature_bfloat16_sve
   2558   1.9  christos #define BFLOAT16	&aarch64_feature_bfloat16
   2559   1.9  christos #define I8MM_SVE      &aarch64_feature_i8mm_sve
   2560   1.9  christos #define F32MM_SVE     &aarch64_feature_f32mm_sve
   2561  1.10  christos #define F64MM_SVE     &aarch64_feature_f64mm_sve
   2562  1.10  christos #define I8MM      &aarch64_feature_i8mm
   2563  1.10  christos #define ARMV8_R	  &aarch64_feature_v8_r
   2564  1.10  christos #define ARMV8_7	  &aarch64_feature_v8_7
   2565  1.10  christos #define LS64	  &aarch64_feature_ls64
   2566  1.10  christos #define FLAGM	  &aarch64_feature_flagm
   2567  1.10  christos #define MOPS	  &aarch64_feature_mops
   2568   1.7  christos #define MOPS_MEMTAG &aarch64_feature_mops_memtag
   2569   1.7  christos #define HBC	  &aarch64_feature_hbc
   2570   1.8  christos #define CSSC	  &aarch64_feature_cssc
   2571   1.7  christos 
   2572   1.8  christos #define CORE_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
   2573   1.7  christos   { NAME, OPCODE, MASK, CLASS, OP, CORE, OPS, QUALS, FLAGS, 0, 0, NULL }
   2574   1.8  christos #define __FP_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
   2575   1.8  christos   { NAME, OPCODE, MASK, CLASS, OP, FP, OPS, QUALS, FLAGS, 0, 0, NULL }
   2576   1.8  christos #define SIMD_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
   2577   1.6  christos   { NAME, OPCODE, MASK, CLASS, OP, SIMD, OPS, QUALS, FLAGS, 0, 0, NULL }
   2578   1.8  christos #define _SIMD_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,VERIFIER) \
   2579   1.6  christos   { NAME, OPCODE, MASK, CLASS, OP, SIMD, OPS, QUALS, FLAGS, 0, 0, VERIFIER }
   2580   1.8  christos #define _CRC_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2581   1.6  christos   { NAME, OPCODE, MASK, CLASS, 0, CRC, OPS, QUALS, FLAGS, 0, 0, NULL }
   2582   1.8  christos #define _LSE_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2583   1.6  christos   { NAME, OPCODE, MASK, CLASS, 0, LSE, OPS, QUALS, FLAGS, 0, 0, NULL }
   2584   1.8  christos #define _LOR_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2585   1.6  christos   { NAME, OPCODE, MASK, CLASS, 0, LOR, OPS, QUALS, FLAGS, 0, 0, NULL }
   2586   1.8  christos #define RDMA_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2587   1.6  christos   { NAME, OPCODE, MASK, CLASS, 0, RDMA, OPS, QUALS, FLAGS, 0, 0, NULL }
   2588   1.8  christos #define FF16_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2589   1.7  christos   { NAME, OPCODE, MASK, CLASS, 0, FP_F16, OPS, QUALS, FLAGS, 0, 0, NULL }
   2590   1.8  christos #define SF16_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS)		\
   2591   1.7  christos   { NAME, OPCODE, MASK, CLASS, 0, SIMD_F16, OPS, QUALS, FLAGS, 0, 0, NULL }
   2592   1.7  christos #define V8_2_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
   2593   1.8  christos   { NAME, OPCODE, MASK, CLASS, OP, ARMV8_2, OPS, QUALS, FLAGS, 0, 0, NULL }
   2594   1.8  christos #define _SVE_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
   2595   1.8  christos   { NAME, OPCODE, MASK, CLASS, OP, SVE, OPS, QUALS, \
   2596   1.8  christos     FLAGS | F_STRICT, 0, TIED, NULL }
   2597   1.7  christos #define _SVE_INSNC(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
   2598   1.8  christos   { NAME, OPCODE, MASK, CLASS, OP, SVE, OPS, QUALS, \
   2599  1.10  christos     FLAGS | F_STRICT, CONSTRAINTS, TIED, NULL }
   2600  1.10  christos #define V8_3_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2601   1.7  christos   { NAME, OPCODE, MASK, CLASS, 0, ARMV8_3, OPS, QUALS, FLAGS, 0, 0, NULL }
   2602   1.8  christos #define PAC_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2603   1.7  christos   { NAME, OPCODE, MASK, CLASS, 0, PAC, OPS, QUALS, FLAGS, 0, 0, NULL }
   2604   1.8  christos #define CNUM_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
   2605   1.8  christos   { NAME, OPCODE, MASK, CLASS, OP, COMPNUM, OPS, QUALS, FLAGS, 0, 0, NULL }
   2606   1.8  christos #define RCPC_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2607   1.8  christos   { NAME, OPCODE, MASK, CLASS, 0, RCPC, OPS, QUALS, FLAGS, 0, 0, NULL }
   2608   1.8  christos #define SHA2_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2609   1.8  christos   { NAME, OPCODE, MASK, CLASS, 0, SHA2, OPS, QUALS, FLAGS, 0, 0, NULL }
   2610   1.8  christos #define AES_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2611   1.8  christos   { NAME, OPCODE, MASK, CLASS, 0, AES, OPS, QUALS, FLAGS, 0, 0, NULL }
   2612   1.8  christos #define V8_4_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2613   1.8  christos   { NAME, OPCODE, MASK, CLASS, 0, ARMV8_4, OPS, QUALS, FLAGS, 0, 0, NULL }
   2614   1.8  christos #define SHA3_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2615   1.8  christos   { NAME, OPCODE, MASK, CLASS, 0, SHA3, OPS, QUALS, FLAGS, 0, 0, NULL }
   2616   1.8  christos #define SM4_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2617   1.8  christos   { NAME, OPCODE, MASK, CLASS, 0, SM4, OPS, QUALS, FLAGS, 0, 0, NULL }
   2618   1.8  christos #define FP16_V8_2_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2619   1.8  christos   { NAME, OPCODE, MASK, CLASS, 0, FP_F16_V8_2, OPS, QUALS, FLAGS, 0, 0, NULL }
   2620   1.8  christos #define DOT_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2621   1.8  christos   { NAME, OPCODE, MASK, CLASS, 0, DOTPROD, OPS, QUALS, FLAGS, 0, 0, NULL }
   2622   1.8  christos #define V8_5_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2623   1.8  christos   { NAME, OPCODE, MASK, CLASS, 0, ARMV8_5, OPS, QUALS, FLAGS, 0, 0, NULL }
   2624   1.8  christos #define FLAGMANIP_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2625   1.8  christos   { NAME, OPCODE, MASK, CLASS, 0, FLAGMANIP, OPS, QUALS, FLAGS, 0, 0, NULL }
   2626   1.8  christos #define FRINTTS_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2627   1.8  christos   { NAME, OPCODE, MASK, CLASS, 0, FRINTTS, OPS, QUALS, FLAGS, 0, 0, NULL }
   2628   1.8  christos #define SB_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2629   1.8  christos   { NAME, OPCODE, MASK, CLASS, 0, SB, OPS, QUALS, FLAGS, 0, 0, NULL }
   2630   1.8  christos #define PREDRES_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2631   1.9  christos   { NAME, OPCODE, MASK, CLASS, 0, PREDRES, OPS, QUALS, FLAGS, 0, 0, NULL }
   2632   1.9  christos #define MEMTAG_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2633   1.9  christos   { NAME, OPCODE, MASK, CLASS, 0, MEMTAG, OPS, QUALS, FLAGS, 0, 0, NULL }
   2634   1.9  christos #define _TME_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
   2635   1.9  christos   { NAME, OPCODE, MASK, CLASS, OP, TME, OPS, QUALS, FLAGS, 0, 0, NULL }
   2636   1.9  christos #define SVE2_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
   2637   1.9  christos   { NAME, OPCODE, MASK, CLASS, OP, SVE2, OPS, QUALS, \
   2638   1.9  christos     FLAGS | F_STRICT, 0, TIED, NULL }
   2639   1.9  christos #define SVE2_INSNC(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
   2640   1.9  christos   { NAME, OPCODE, MASK, CLASS, OP, SVE2, OPS, QUALS, \
   2641   1.9  christos     FLAGS | F_STRICT, CONSTRAINTS, TIED, NULL }
   2642   1.9  christos #define SVE2AES_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
   2643   1.9  christos   { NAME, OPCODE, MASK, CLASS, OP, SVE2_AES, OPS, QUALS, \
   2644   1.9  christos     FLAGS | F_STRICT, 0, TIED, NULL }
   2645   1.9  christos #define SVE2SHA3_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
   2646   1.9  christos   { NAME, OPCODE, MASK, CLASS, OP, SVE2_SHA3, OPS, QUALS, \
   2647   1.9  christos     FLAGS | F_STRICT, 0, TIED, NULL }
   2648   1.9  christos #define SVE2SM4_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
   2649   1.9  christos   { NAME, OPCODE, MASK, CLASS, OP, SVE2_SM4, OPS, QUALS, \
   2650   1.9  christos     FLAGS | F_STRICT, 0, TIED, NULL }
   2651  1.10  christos #define SVE2SM4_INSNC(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
   2652  1.10  christos   { NAME, OPCODE, MASK, CLASS, OP, SVE2_SM4, OPS, QUALS, \
   2653  1.10  christos     FLAGS | F_STRICT, CONSTRAINTS, TIED, NULL }
   2654  1.10  christos #define SME_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
   2655  1.10  christos   { NAME, OPCODE, MASK, CLASS, OP, SME, OPS, QUALS, \
   2656  1.10  christos     FLAGS, 0, TIED, NULL }
   2657  1.10  christos #define SME_F64_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
   2658  1.10  christos   { NAME, OPCODE, MASK, CLASS, OP, SME_F64, OPS, QUALS, \
   2659  1.10  christos     FLAGS, 0, TIED, NULL }
   2660  1.10  christos #define SME_I64_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
   2661  1.10  christos   { NAME, OPCODE, MASK, CLASS, OP, SME_I64, OPS, QUALS, \
   2662  1.10  christos     FLAGS, 0, TIED, NULL }
   2663   1.9  christos #define SME_INSNC(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
   2664   1.9  christos   { NAME, OPCODE, MASK, CLASS, OP, SME, OPS, QUALS, \
   2665   1.9  christos     FLAGS, CONSTRAINTS, TIED, NULL }
   2666   1.9  christos #define SVE2BITPERM_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
   2667   1.9  christos   { NAME, OPCODE, MASK, CLASS, OP, SVE2_BITPERM, OPS, QUALS, \
   2668   1.9  christos     FLAGS | F_STRICT, 0, TIED, NULL }
   2669   1.9  christos #define V8_6_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2670   1.9  christos   { NAME, OPCODE, MASK, CLASS, 0, ARMV8_6, OPS, QUALS, FLAGS, 0, 0, NULL }
   2671   1.9  christos #define BFLOAT16_SVE_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2672   1.9  christos   { NAME, OPCODE, MASK, CLASS, 0, BFLOAT16_SVE, OPS, QUALS, FLAGS, 0, 0, NULL }
   2673   1.9  christos #define BFLOAT16_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS, CONSTRAINTS, TIED) \
   2674   1.9  christos   { NAME, OPCODE, MASK, CLASS, 0, BFLOAT16_SVE, OPS, QUALS, FLAGS | F_STRICT, \
   2675   1.9  christos     CONSTRAINTS, TIED, NULL }
   2676   1.9  christos #define BFLOAT16_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2677   1.9  christos   { NAME, OPCODE, MASK, CLASS, 0, BFLOAT16, OPS, QUALS, FLAGS, 0, 0, NULL }
   2678   1.9  christos #define INT8MATMUL_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS, CONSTRAINTS, TIED) \
   2679   1.9  christos   { NAME, OPCODE, MASK, CLASS, 0, I8MM_SVE, OPS, QUALS, FLAGS, CONSTRAINTS, TIED, NULL }
   2680   1.9  christos #define INT8MATMUL_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2681   1.9  christos   { NAME, OPCODE, MASK, CLASS, 0, I8MM, OPS, QUALS, FLAGS, 0, 0, NULL }
   2682   1.9  christos #define F64MATMUL_SVE_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,TIED) \
   2683   1.9  christos   { NAME, OPCODE, MASK, CLASS, 0, F64MM_SVE, OPS, QUALS, FLAGS, 0, TIED, NULL }
   2684   1.9  christos #define F64MATMUL_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS, CONSTRAINTS, TIED) \
   2685   1.9  christos   { NAME, OPCODE, MASK, CLASS, 0, F64MM_SVE, OPS, QUALS, FLAGS, CONSTRAINTS, TIED, NULL }
   2686   1.9  christos #define F32MATMUL_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS, CONSTRAINTS, TIED) \
   2687  1.10  christos   { NAME, OPCODE, MASK, CLASS, 0, F32MM_SVE, OPS, QUALS, FLAGS, CONSTRAINTS, TIED, NULL }
   2688  1.10  christos #define V8_R_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2689  1.10  christos   { NAME, OPCODE, MASK, CLASS, 0, ARMV8_R, OPS, QUALS, FLAGS, 0, 0, NULL }
   2690  1.10  christos #define V8_7_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2691  1.10  christos   { NAME, OPCODE, MASK, CLASS, 0, ARMV8_7, OPS, QUALS, FLAGS, 0, 0, NULL }
   2692  1.10  christos #define _LS64_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2693  1.10  christos   { NAME, OPCODE, MASK, CLASS, 0, LS64, OPS, QUALS, FLAGS, 0, 0, NULL }
   2694  1.10  christos #define FLAGM_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2695  1.10  christos   { NAME, OPCODE, MASK, CLASS, 0, FLAGM, OPS, QUALS, FLAGS, 0, 0, NULL }
   2696  1.10  christos #define MOPS_INSN(NAME, OPCODE, MASK, CLASS, OPS, QUALS, FLAGS, CONSTRAINTS, VERIFIER) \
   2697  1.10  christos   { NAME, OPCODE, MASK, CLASS, 0, MOPS, OPS, QUALS, FLAGS, CONSTRAINTS, \
   2698  1.10  christos     0, VERIFIER }
   2699  1.10  christos #define MOPS_MEMTAG_INSN(NAME, OPCODE, MASK, CLASS, OPS, QUALS, FLAGS, CONSTRAINTS, VERIFIER) \
   2700  1.10  christos   { NAME, OPCODE, MASK, CLASS, 0, MOPS_MEMTAG, OPS, QUALS, FLAGS, \
   2701  1.10  christos     CONSTRAINTS, 0, VERIFIER }
   2702  1.10  christos #define HBC_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   2703  1.10  christos   { NAME, OPCODE, MASK, CLASS, 0, HBC, OPS, QUALS, FLAGS, 0, 0, NULL }
   2704  1.10  christos #define CSSC_INSN(NAME,OPCODE,MASK,OPS,QUALS,FLAGS) \
   2705  1.10  christos   { NAME, OPCODE, MASK, cssc, 0, CSSC, OPS, QUALS, FLAGS, 0, 0, NULL }
   2706  1.10  christos 
   2707  1.10  christos #define MOPS_CPY_OP1_OP2_PME_INSN(NAME, OPCODE, MASK, FLAGS, CONSTRAINTS) \
   2708  1.10  christos   MOPS_INSN (NAME, OPCODE, MASK, 0, \
   2709  1.10  christos 	     OP3 (MOPS_ADDR_Rd, MOPS_ADDR_Rs, MOPS_WB_Rn), QL_I3SAMEX, \
   2710  1.10  christos 	     FLAGS, CONSTRAINTS, VERIFIER (three_different_regs))
   2711  1.10  christos 
   2712  1.10  christos /* These instructions must remain consecutive, since we rely on the order
   2713  1.10  christos    when detecting invalid sequences.  */
   2714  1.10  christos #define MOPS_CPY_OP1_OP2_INSN(NAME, SUFFIX, OPCODE, MASK) \
   2715  1.10  christos   MOPS_CPY_OP1_OP2_PME_INSN (NAME "p" SUFFIX, OPCODE, MASK, F_SCAN, \
   2716  1.10  christos 			     C_SCAN_MOPS_P), \
   2717  1.10  christos   MOPS_CPY_OP1_OP2_PME_INSN (NAME "m" SUFFIX, OPCODE | 0x400000, MASK, \
   2718  1.10  christos 			     0, C_SCAN_MOPS_M), \
   2719  1.10  christos   MOPS_CPY_OP1_OP2_PME_INSN (NAME "e" SUFFIX, OPCODE | 0x800000, MASK, \
   2720  1.10  christos 			     0, C_SCAN_MOPS_E)
   2721  1.10  christos 
   2722  1.10  christos #define MOPS_CPY_OP1_INSN(NAME, SUFFIX, OPCODE, MASK) \
   2723  1.10  christos   MOPS_CPY_OP1_OP2_INSN (NAME, SUFFIX, OPCODE, MASK), \
   2724  1.10  christos   MOPS_CPY_OP1_OP2_INSN (NAME, SUFFIX "wn", OPCODE | 0x4000, MASK), \
   2725  1.10  christos   MOPS_CPY_OP1_OP2_INSN (NAME, SUFFIX "rn", OPCODE | 0x8000, MASK), \
   2726  1.10  christos   MOPS_CPY_OP1_OP2_INSN (NAME, SUFFIX "n", OPCODE | 0xc000, MASK)
   2727  1.10  christos 
   2728  1.10  christos #define MOPS_CPY_INSN(NAME, OPCODE, MASK) \
   2729  1.10  christos   MOPS_CPY_OP1_INSN (NAME, "", OPCODE, MASK), \
   2730  1.10  christos   MOPS_CPY_OP1_INSN (NAME, "wt", OPCODE | 0x1000, MASK), \
   2731  1.10  christos   MOPS_CPY_OP1_INSN (NAME, "rt", OPCODE | 0x2000, MASK), \
   2732  1.10  christos   MOPS_CPY_OP1_INSN (NAME, "t", OPCODE | 0x3000, MASK)
   2733  1.10  christos 
   2734  1.10  christos #define MOPS_SET_OP1_OP2_PME_INSN(NAME, OPCODE, MASK, FLAGS, CONSTRAINTS, ISA) \
   2735  1.10  christos   ISA (NAME, OPCODE, MASK, 0, \
   2736  1.10  christos        OP3 (MOPS_ADDR_Rd, MOPS_WB_Rn, Rm), QL_I3SAMEX, FLAGS, \
   2737  1.10  christos        CONSTRAINTS, VERIFIER (three_different_regs))
   2738  1.10  christos 
   2739  1.10  christos /* These instructions must remain consecutive, since we rely on the order
   2740  1.10  christos    when detecting invalid sequences.  */
   2741  1.10  christos #define MOPS_SET_OP1_OP2_INSN(NAME, SUFFIX, OPCODE, MASK, ISA) \
   2742  1.10  christos   MOPS_SET_OP1_OP2_PME_INSN (NAME "p" SUFFIX, OPCODE, MASK, \
   2743  1.10  christos 			     F_SCAN, C_SCAN_MOPS_P, ISA), \
   2744  1.10  christos   MOPS_SET_OP1_OP2_PME_INSN (NAME "m" SUFFIX, OPCODE | 0x4000, MASK, \
   2745  1.10  christos 			     0, C_SCAN_MOPS_M, ISA), \
   2746  1.10  christos   MOPS_SET_OP1_OP2_PME_INSN (NAME "e" SUFFIX, OPCODE | 0x8000, MASK, \
   2747  1.10  christos 			     0, C_SCAN_MOPS_E, ISA)
   2748  1.10  christos 
   2749  1.10  christos #define MOPS_SET_INSN(NAME, OPCODE, MASK, ISA) \
   2750  1.10  christos   MOPS_SET_OP1_OP2_INSN (NAME, "", OPCODE, MASK, ISA), \
   2751   1.1  christos   MOPS_SET_OP1_OP2_INSN (NAME, "t", OPCODE | 0x1000, MASK, ISA), \
   2752  1.10  christos   MOPS_SET_OP1_OP2_INSN (NAME, "n", OPCODE | 0x2000, MASK, ISA), \
   2753   1.1  christos   MOPS_SET_OP1_OP2_INSN (NAME, "tn", OPCODE | 0x3000, MASK, ISA)
   2754   1.1  christos 
   2755   1.7  christos const struct aarch64_opcode aarch64_opcode_table[] =
   2756   1.7  christos {
   2757   1.7  christos   /* Add/subtract (with carry).  */
   2758   1.7  christos   CORE_INSN ("adc",  0x1a000000, 0x7fe0fc00, addsub_carry, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF),
   2759   1.7  christos   CORE_INSN ("adcs", 0x3a000000, 0x7fe0fc00, addsub_carry, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF),
   2760   1.7  christos   CORE_INSN ("sbc",  0x5a000000, 0x7fe0fc00, addsub_carry, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_HAS_ALIAS | F_SF),
   2761   1.1  christos   CORE_INSN ("ngc",  0x5a0003e0, 0x7fe0ffe0, addsub_carry, 0, OP2 (Rd, Rm),     QL_I2SAME,  F_ALIAS | F_SF),
   2762   1.7  christos   CORE_INSN ("sbcs", 0x7a000000, 0x7fe0fc00, addsub_carry, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_HAS_ALIAS | F_SF),
   2763   1.7  christos   CORE_INSN ("ngcs", 0x7a0003e0, 0x7fe0ffe0, addsub_carry, 0, OP2 (Rd, Rm),     QL_I2SAME,  F_ALIAS | F_SF),
   2764   1.7  christos   /* Add/subtract (extended register).  */
   2765   1.7  christos   CORE_INSN ("add",  0x0b200000, 0x7fe00000, addsub_ext, 0, OP3 (Rd_SP, Rn_SP, Rm_EXT), QL_I3_EXT, F_SF),
   2766   1.7  christos   CORE_INSN ("adds", 0x2b200000, 0x7fe00000, addsub_ext, 0, OP3 (Rd, Rn_SP, Rm_EXT),    QL_I3_EXT, F_HAS_ALIAS | F_SF),
   2767   1.7  christos   CORE_INSN ("cmn",  0x2b20001f, 0x7fe0001f, addsub_ext, 0, OP2 (Rn_SP, Rm_EXT),        QL_I2_EXT, F_ALIAS | F_SF),
   2768   1.1  christos   CORE_INSN ("sub",  0x4b200000, 0x7fe00000, addsub_ext, 0, OP3 (Rd_SP, Rn_SP, Rm_EXT), QL_I3_EXT, F_SF),
   2769   1.7  christos   CORE_INSN ("subs", 0x6b200000, 0x7fe00000, addsub_ext, 0, OP3 (Rd, Rn_SP, Rm_EXT),    QL_I3_EXT, F_HAS_ALIAS | F_SF),
   2770   1.7  christos   CORE_INSN ("cmp",  0x6b20001f, 0x7fe0001f, addsub_ext, 0, OP2 (Rn_SP, Rm_EXT),        QL_I2_EXT, F_ALIAS | F_SF),
   2771   1.7  christos   /* Add/subtract (immediate).  */
   2772   1.7  christos   CORE_INSN ("add",  0x11000000, 0x7f000000, addsub_imm, OP_ADD, OP3 (Rd_SP, Rn_SP, AIMM), QL_R2NIL, F_HAS_ALIAS | F_SF),
   2773   1.7  christos   CORE_INSN ("mov",  0x11000000, 0x7ffffc00, addsub_imm, 0, OP2 (Rd_SP, Rn_SP),       QL_I2SP, F_ALIAS | F_SF),
   2774   1.7  christos   CORE_INSN ("adds", 0x31000000, 0x7f000000, addsub_imm, 0, OP3 (Rd, Rn_SP, AIMM),    QL_R2NIL, F_HAS_ALIAS | F_SF),
   2775   1.7  christos   CORE_INSN ("cmn",  0x3100001f, 0x7f00001f, addsub_imm, 0, OP2 (Rn_SP, AIMM),        QL_R1NIL, F_ALIAS | F_SF),
   2776   1.8  christos   CORE_INSN ("sub",  0x51000000, 0x7f000000, addsub_imm, 0, OP3 (Rd_SP, Rn_SP, AIMM), QL_R2NIL, F_SF),
   2777   1.8  christos   CORE_INSN ("subs", 0x71000000, 0x7f000000, addsub_imm, 0, OP3 (Rd, Rn_SP, AIMM),    QL_R2NIL, F_HAS_ALIAS | F_SF),
   2778   1.1  christos   CORE_INSN ("cmp",  0x7100001f, 0x7f00001f, addsub_imm, 0, OP2 (Rn_SP, AIMM),        QL_R1NIL, F_ALIAS | F_SF),
   2779   1.7  christos   MEMTAG_INSN ("addg",  0x91800000, 0xffc0c000, addsub_imm, OP4 (Rd_SP, Rn_SP, UIMM10, UIMM4_ADDG), QL_ADDG, 0),
   2780   1.7  christos   MEMTAG_INSN ("subg",  0xd1800000, 0xffc0c000, addsub_imm, OP4 (Rd_SP, Rn_SP, UIMM10, UIMM4_ADDG), QL_ADDG, 0),
   2781   1.7  christos   /* Add/subtract (shifted register).  */
   2782   1.7  christos   CORE_INSN ("add",  0x0b000000, 0x7f200000, addsub_shift, 0, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_SF),
   2783   1.7  christos   CORE_INSN ("adds", 0x2b000000, 0x7f200000, addsub_shift, 0, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_HAS_ALIAS | F_SF),
   2784   1.7  christos   CORE_INSN ("cmn",  0x2b00001f, 0x7f20001f, addsub_shift, 0, OP2 (Rn, Rm_SFT),     QL_I2SAME,  F_ALIAS | F_SF),
   2785   1.8  christos   CORE_INSN ("sub",  0x4b000000, 0x7f200000, addsub_shift, 0, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_HAS_ALIAS | F_SF),
   2786   1.7  christos   CORE_INSN ("neg",  0x4b0003e0, 0x7f2003e0, addsub_shift, 0, OP2 (Rd, Rm_SFT),     QL_I2SAME,  F_ALIAS | F_SF),
   2787   1.1  christos   CORE_INSN ("subs", 0x6b000000, 0x7f200000, addsub_shift, 0, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_HAS_ALIAS | F_SF),
   2788   1.7  christos   CORE_INSN ("cmp",  0x6b00001f, 0x7f20001f, addsub_shift, 0, OP2 (Rn, Rm_SFT),     QL_I2SAME,  F_ALIAS | F_SF | F_P1),
   2789   1.7  christos   CORE_INSN ("negs", 0x6b0003e0, 0x7f2003e0, addsub_shift, 0, OP2 (Rd, Rm_SFT),     QL_I2SAME,  F_ALIAS | F_SF),
   2790   1.7  christos   /* AdvSIMD across lanes.  */
   2791   1.7  christos   SIMD_INSN ("saddlv", 0x0e303800, 0xbf3ffc00, asimdall, 0, OP2 (Fd, Vn), QL_XLANES_L,    F_SIZEQ),
   2792   1.7  christos   SIMD_INSN ("smaxv",  0x0e30a800, 0xbf3ffc00, asimdall, 0, OP2 (Fd, Vn), QL_XLANES,      F_SIZEQ),
   2793   1.7  christos   SIMD_INSN ("sminv",  0x0e31a800, 0xbf3ffc00, asimdall, 0, OP2 (Fd, Vn), QL_XLANES,      F_SIZEQ),
   2794   1.7  christos   SIMD_INSN ("addv",   0x0e31b800, 0xbf3ffc00, asimdall, 0, OP2 (Fd, Vn), QL_XLANES,      F_SIZEQ),
   2795   1.7  christos   SIMD_INSN ("uaddlv", 0x2e303800, 0xbf3ffc00, asimdall, 0, OP2 (Fd, Vn), QL_XLANES_L,    F_SIZEQ),
   2796   1.6  christos   SIMD_INSN ("umaxv",  0x2e30a800, 0xbf3ffc00, asimdall, 0, OP2 (Fd, Vn), QL_XLANES,      F_SIZEQ),
   2797   1.7  christos   SIMD_INSN ("uminv",  0x2e31a800, 0xbf3ffc00, asimdall, 0, OP2 (Fd, Vn), QL_XLANES,      F_SIZEQ),
   2798   1.6  christos   SIMD_INSN ("fmaxnmv",0x2e30c800, 0xbfbffc00, asimdall, 0, OP2 (Fd, Vn), QL_XLANES_FP,   F_SIZEQ),
   2799   1.7  christos   SF16_INSN ("fmaxnmv",0x0e30c800, 0xbffffc00, asimdall, OP2 (Fd, Vn), QL_XLANES_FP_H, F_SIZEQ),
   2800   1.6  christos   SIMD_INSN ("fmaxv",  0x2e30f800, 0xbfbffc00, asimdall, 0, OP2 (Fd, Vn), QL_XLANES_FP,   F_SIZEQ),
   2801   1.7  christos   SF16_INSN ("fmaxv",  0x0e30f800, 0xbffffc00, asimdall, OP2 (Fd, Vn), QL_XLANES_FP_H, F_SIZEQ),
   2802   1.6  christos   SIMD_INSN ("fminnmv",0x2eb0c800, 0xbfbffc00, asimdall, 0, OP2 (Fd, Vn), QL_XLANES_FP,   F_SIZEQ),
   2803   1.1  christos   SF16_INSN ("fminnmv",0x0eb0c800, 0xbffffc00, asimdall, OP2 (Fd, Vn), QL_XLANES_FP_H, F_SIZEQ),
   2804   1.7  christos   SIMD_INSN ("fminv",  0x2eb0f800, 0xbfbffc00, asimdall, 0, OP2 (Fd, Vn), QL_XLANES_FP,   F_SIZEQ),
   2805   1.7  christos   SF16_INSN ("fminv",  0x0eb0f800, 0xbffffc00, asimdall, OP2 (Fd, Vn), QL_XLANES_FP_H, F_SIZEQ),
   2806   1.7  christos   /* AdvSIMD three different.  */
   2807   1.7  christos   SIMD_INSN ("saddl",   0x0e200000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   2808   1.7  christos   SIMD_INSN ("saddl2",  0x4e200000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   2809   1.7  christos   SIMD_INSN ("saddw",   0x0e201000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3WIDEBHS,  F_SIZEQ),
   2810   1.7  christos   SIMD_INSN ("saddw2",  0x4e201000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3WIDEBHS2, F_SIZEQ),
   2811   1.7  christos   SIMD_INSN ("ssubl",   0x0e202000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   2812   1.7  christos   SIMD_INSN ("ssubl2",  0x4e202000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   2813   1.7  christos   SIMD_INSN ("ssubw",   0x0e203000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3WIDEBHS,  F_SIZEQ),
   2814   1.7  christos   SIMD_INSN ("ssubw2",  0x4e203000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3WIDEBHS2, F_SIZEQ),
   2815   1.7  christos   SIMD_INSN ("addhn",   0x0e204000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3NARRBHS,  F_SIZEQ),
   2816   1.7  christos   SIMD_INSN ("addhn2",  0x4e204000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3NARRBHS2, F_SIZEQ),
   2817   1.7  christos   SIMD_INSN ("sabal",   0x0e205000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   2818   1.7  christos   SIMD_INSN ("sabal2",  0x4e205000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   2819   1.7  christos   SIMD_INSN ("subhn",   0x0e206000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3NARRBHS,  F_SIZEQ),
   2820   1.7  christos   SIMD_INSN ("subhn2",  0x4e206000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3NARRBHS2, F_SIZEQ),
   2821   1.7  christos   SIMD_INSN ("sabdl",   0x0e207000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   2822   1.7  christos   SIMD_INSN ("sabdl2",  0x4e207000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   2823   1.7  christos   SIMD_INSN ("smlal",   0x0e208000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   2824   1.7  christos   SIMD_INSN ("smlal2",  0x4e208000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   2825   1.7  christos   SIMD_INSN ("sqdmlal", 0x0e209000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGHS,   F_SIZEQ),
   2826   1.7  christos   SIMD_INSN ("sqdmlal2",0x4e209000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGHS2,  F_SIZEQ),
   2827   1.7  christos   SIMD_INSN ("smlsl",   0x0e20a000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   2828   1.7  christos   SIMD_INSN ("smlsl2",  0x4e20a000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   2829   1.7  christos   SIMD_INSN ("sqdmlsl", 0x0e20b000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGHS,   F_SIZEQ),
   2830   1.7  christos   SIMD_INSN ("sqdmlsl2",0x4e20b000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGHS2,  F_SIZEQ),
   2831   1.7  christos   SIMD_INSN ("smull",   0x0e20c000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   2832   1.7  christos   SIMD_INSN ("smull2",  0x4e20c000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   2833   1.8  christos   SIMD_INSN ("sqdmull", 0x0e20d000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGHS,   F_SIZEQ),
   2834   1.7  christos   SIMD_INSN ("sqdmull2",0x4e20d000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGHS2,  F_SIZEQ),
   2835   1.8  christos   SIMD_INSN ("pmull",   0x0e20e000, 0xffe0fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGB,    0),
   2836   1.7  christos   AES_INSN ("pmull",   0x0ee0e000, 0xffe0fc00, asimddiff, OP3 (Vd, Vn, Vm), QL_V3LONGD,    0),
   2837   1.7  christos   SIMD_INSN ("pmull2",  0x4e20e000, 0xffe0fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGB2,   0),
   2838   1.7  christos   AES_INSN ("pmull2",  0x4ee0e000, 0xffe0fc00, asimddiff, OP3 (Vd, Vn, Vm), QL_V3LONGD2,   0),
   2839   1.7  christos   SIMD_INSN ("uaddl",   0x2e200000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   2840   1.7  christos   SIMD_INSN ("uaddl2",  0x6e200000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   2841   1.7  christos   SIMD_INSN ("uaddw",   0x2e201000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3WIDEBHS,  F_SIZEQ),
   2842   1.7  christos   SIMD_INSN ("uaddw2",  0x6e201000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3WIDEBHS2, F_SIZEQ),
   2843   1.7  christos   SIMD_INSN ("usubl",   0x2e202000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   2844   1.7  christos   SIMD_INSN ("usubl2",  0x6e202000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   2845   1.7  christos   SIMD_INSN ("usubw",   0x2e203000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3WIDEBHS,  F_SIZEQ),
   2846   1.7  christos   SIMD_INSN ("usubw2",  0x6e203000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3WIDEBHS2, F_SIZEQ),
   2847   1.7  christos   SIMD_INSN ("raddhn",  0x2e204000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3NARRBHS,  F_SIZEQ),
   2848   1.7  christos   SIMD_INSN ("raddhn2", 0x6e204000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3NARRBHS2, F_SIZEQ),
   2849   1.7  christos   SIMD_INSN ("uabal",   0x2e205000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   2850   1.7  christos   SIMD_INSN ("uabal2",  0x6e205000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   2851   1.7  christos   SIMD_INSN ("rsubhn",  0x2e206000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3NARRBHS,  F_SIZEQ),
   2852   1.7  christos   SIMD_INSN ("rsubhn2", 0x6e206000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3NARRBHS2, F_SIZEQ),
   2853   1.7  christos   SIMD_INSN ("uabdl",   0x2e207000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   2854   1.7  christos   SIMD_INSN ("uabdl2",  0x6e207000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   2855   1.7  christos   SIMD_INSN ("umlal",   0x2e208000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   2856   1.7  christos   SIMD_INSN ("umlal2",  0x6e208000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   2857   1.7  christos   SIMD_INSN ("umlsl",   0x2e20a000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   2858   1.1  christos   SIMD_INSN ("umlsl2",  0x6e20a000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   2859   1.8  christos   SIMD_INSN ("umull",   0x2e20c000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS,  F_SIZEQ),
   2860   1.8  christos   SIMD_INSN ("umull2",  0x6e20c000, 0xff20fc00, asimddiff, 0, OP3 (Vd, Vn, Vm), QL_V3LONGBHS2, F_SIZEQ),
   2861   1.8  christos   /* AdvSIMD vector x indexed element.  */
   2862   1.8  christos   SIMD_INSN ("smlal",   0x0f002000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L,    F_SIZEQ),
   2863   1.8  christos   SIMD_INSN ("smlal2",  0x4f002000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L2,   F_SIZEQ),
   2864   1.8  christos   SIMD_INSN ("sqdmlal", 0x0f003000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L,    F_SIZEQ),
   2865   1.8  christos   SIMD_INSN ("sqdmlal2",0x4f003000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L2,   F_SIZEQ),
   2866   1.8  christos   SIMD_INSN ("smlsl",   0x0f006000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L,    F_SIZEQ),
   2867   1.8  christos   SIMD_INSN ("smlsl2",  0x4f006000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L2,   F_SIZEQ),
   2868   1.8  christos   SIMD_INSN ("sqdmlsl", 0x0f007000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L,    F_SIZEQ),
   2869   1.8  christos   SIMD_INSN ("sqdmlsl2",0x4f007000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L2,   F_SIZEQ),
   2870   1.8  christos   SIMD_INSN ("mul",     0x0f008000, 0xbf00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT,      F_SIZEQ),
   2871   1.8  christos   SIMD_INSN ("smull",   0x0f00a000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L,    F_SIZEQ),
   2872   1.8  christos   SIMD_INSN ("smull2",  0x4f00a000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L2,   F_SIZEQ),
   2873   1.8  christos   SIMD_INSN ("sqdmull", 0x0f00b000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L,    F_SIZEQ),
   2874   1.8  christos   SIMD_INSN ("sqdmull2",0x4f00b000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L2,   F_SIZEQ),
   2875   1.8  christos   SIMD_INSN ("sqdmulh", 0x0f00c000, 0xbf00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT,      F_SIZEQ),
   2876   1.8  christos   SIMD_INSN ("sqrdmulh",0x0f00d000, 0xbf00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT,      F_SIZEQ),
   2877   1.8  christos   _SIMD_INSN ("fmla",    0x0f801000, 0xbf80f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_FP,  F_SIZEQ, VERIFIER (elem_sd)),
   2878   1.8  christos   SF16_INSN ("fmla",    0x0f001000, 0xbfc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_ELEMENT_FP_H, F_SIZEQ),
   2879   1.8  christos   _SIMD_INSN ("fmls",    0x0f805000, 0xbf80f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_FP,   F_SIZEQ, VERIFIER (elem_sd)),
   2880   1.8  christos   SF16_INSN ("fmls",    0x0f005000, 0xbfc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_ELEMENT_FP_H, F_SIZEQ),
   2881   1.8  christos   _SIMD_INSN ("fmul",    0x0f809000, 0xbf80f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_FP,   F_SIZEQ, VERIFIER (elem_sd)),
   2882   1.8  christos   SF16_INSN ("fmul",    0x0f009000, 0xbfc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_ELEMENT_FP_H, F_SIZEQ),
   2883   1.8  christos   SIMD_INSN ("mla",     0x2f000000, 0xbf00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT,      F_SIZEQ),
   2884   1.8  christos   SIMD_INSN ("umlal",   0x2f002000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L,    F_SIZEQ),
   2885   1.8  christos   SIMD_INSN ("umlal2",  0x6f002000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L2,   F_SIZEQ),
   2886   1.8  christos   SIMD_INSN ("mls",     0x2f004000, 0xbf00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT,      F_SIZEQ),
   2887   1.8  christos   SIMD_INSN ("umlsl",   0x2f006000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L,    F_SIZEQ),
   2888   1.8  christos   SIMD_INSN ("umlsl2",  0x6f006000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L2,   F_SIZEQ),
   2889   1.8  christos   SIMD_INSN ("umull",   0x2f00a000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L,    F_SIZEQ),
   2890   1.8  christos   SIMD_INSN ("umull2",  0x6f00a000, 0xff00f400, asimdelem, 0, OP3 (Vd, Vn, Em16), QL_ELEMENT_L2,   F_SIZEQ),
   2891   1.8  christos   _SIMD_INSN ("fmulx",   0x2f809000, 0xbf80f400, asimdelem, 0, OP3 (Vd, Vn, Em), QL_ELEMENT_FP,   F_SIZEQ, VERIFIER (elem_sd)),
   2892   1.7  christos   SF16_INSN ("fmulx",   0x2f009000, 0xbfc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_ELEMENT_FP_H, F_SIZEQ),
   2893   1.1  christos   RDMA_INSN ("sqrdmlah",0x2f00d000, 0xbf00f400, asimdelem, OP3 (Vd, Vn, Em16), QL_ELEMENT,      F_SIZEQ),
   2894   1.7  christos   RDMA_INSN ("sqrdmlsh",0x2f00f000, 0xbf00f400, asimdelem, OP3 (Vd, Vn, Em16), QL_ELEMENT,      F_SIZEQ),
   2895   1.1  christos   CNUM_INSN ("fcmla", 0x2f001000, 0xbf009400, asimdelem, OP_FCMLA_ELEM, OP4 (Vd, Vn, Em, IMM_ROT2), QL_ELEMENT_ROT, F_SIZEQ),
   2896   1.7  christos   /* AdvSIMD EXT.  */
   2897   1.7  christos   SIMD_INSN ("ext",  0x2e000000, 0xbfe08400, asimdext, 0, OP4 (Vd, Vn, Vm, IDX), QL_VEXT, F_SIZEQ),
   2898   1.7  christos   /* AdvSIMD modified immediate.  */
   2899   1.7  christos   SIMD_INSN ("movi", 0x0f000400, 0xbff89c00, asimdimm, 0, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S0W, F_SIZEQ),
   2900   1.7  christos   SIMD_INSN ("orr",  0x0f001400, 0xbff89c00, asimdimm, 0, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S0W, F_SIZEQ),
   2901   1.7  christos   SIMD_INSN ("movi", 0x0f008400, 0xbff8dc00, asimdimm, 0, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S0H, F_SIZEQ),
   2902   1.7  christos   SIMD_INSN ("orr",  0x0f009400, 0xbff8dc00, asimdimm, 0, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S0H, F_SIZEQ),
   2903   1.6  christos   SIMD_INSN ("movi", 0x0f00c400, 0xbff8ec00, asimdimm, 0, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S1W, F_SIZEQ),
   2904   1.7  christos   SIMD_INSN ("movi", 0x0f00e400, 0xbff8fc00, asimdimm, 0, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_B, F_SIZEQ),
   2905   1.7  christos   SIMD_INSN ("fmov", 0x0f00f400, 0xbff8fc00, asimdimm, 0, OP2 (Vd, SIMD_FPIMM), QL_SIMD_IMM_S, F_SIZEQ),
   2906   1.7  christos   SF16_INSN ("fmov", 0x0f00fc00, 0xbff8fc00, asimdimm, OP2 (Vd, SIMD_FPIMM), QL_SIMD_IMM_H, F_SIZEQ),
   2907   1.7  christos   SIMD_INSN ("mvni", 0x2f000400, 0xbff89c00, asimdimm, 0, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S0W, F_SIZEQ),
   2908   1.7  christos   SIMD_INSN ("bic",  0x2f001400, 0xbff89c00, asimdimm, 0, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S0W, F_SIZEQ),
   2909   1.7  christos   SIMD_INSN ("mvni", 0x2f008400, 0xbff8dc00, asimdimm, 0, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S0H, F_SIZEQ),
   2910   1.7  christos   SIMD_INSN ("bic",  0x2f009400, 0xbff8dc00, asimdimm, 0, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S0H, F_SIZEQ),
   2911   1.7  christos   SIMD_INSN ("mvni", 0x2f00c400, 0xbff8ec00, asimdimm, 0, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S1W, F_SIZEQ),
   2912   1.1  christos   SIMD_INSN ("movi", 0x2f00e400, 0xfff8fc00, asimdimm, 0, OP2 (Sd, SIMD_IMM), QL_SIMD_IMM_D, F_SIZEQ),
   2913   1.7  christos   SIMD_INSN ("movi", 0x6f00e400, 0xfff8fc00, asimdimm, 0, OP2 (Vd, SIMD_IMM), QL_SIMD_IMM_V2D, F_SIZEQ),
   2914   1.7  christos   SIMD_INSN ("fmov", 0x6f00f400, 0xfff8fc00, asimdimm, 0, OP2 (Vd, SIMD_FPIMM), QL_SIMD_IMM_V2D, F_SIZEQ),
   2915   1.7  christos   /* AdvSIMD copy.  */
   2916   1.7  christos   SIMD_INSN ("dup", 0x0e000400, 0xbfe0fc00, asimdins, 0, OP2 (Vd, En), QL_DUP_VX, F_T),
   2917   1.7  christos   SIMD_INSN ("dup", 0x0e000c00, 0xbfe0fc00, asimdins, 0, OP2 (Vd, Rn), QL_DUP_VR, F_T),
   2918   1.7  christos   SIMD_INSN ("smov",0x0e002c00, 0xbfe0fc00, asimdins, 0, OP2 (Rd, En), QL_SMOV, F_GPRSIZE_IN_Q),
   2919   1.7  christos   SIMD_INSN ("umov",0x0e003c00, 0xbfe0fc00, asimdins, 0, OP2 (Rd, En), QL_UMOV, F_HAS_ALIAS | F_GPRSIZE_IN_Q),
   2920   1.7  christos   SIMD_INSN ("mov", 0x0e003c00, 0xbfe0fc00, asimdins, 0, OP2 (Rd, En), QL_MOV, F_ALIAS | F_GPRSIZE_IN_Q),
   2921   1.7  christos   SIMD_INSN ("ins", 0x4e001c00, 0xffe0fc00, asimdins, 0, OP2 (Ed, Rn), QL_INS_XR, F_HAS_ALIAS),
   2922   1.1  christos   SIMD_INSN ("mov", 0x4e001c00, 0xffe0fc00, asimdins, 0, OP2 (Ed, Rn), QL_INS_XR, F_ALIAS),
   2923   1.8  christos   SIMD_INSN ("ins", 0x6e000400, 0xffe08400, asimdins, 0, OP2 (Ed, En), QL_S_2SAME, F_HAS_ALIAS),
   2924   1.8  christos   SIMD_INSN ("mov", 0x6e000400, 0xffe08400, asimdins, 0, OP2 (Ed, En), QL_S_2SAME, F_ALIAS),
   2925   1.8  christos   /* AdvSIMD two-reg misc.  */
   2926   1.8  christos   FRINTTS_INSN ("frint32z", 0x0e21e800, 0xbfbffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2927   1.7  christos   FRINTTS_INSN ("frint32x", 0x2e21e800, 0xbfbffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2928   1.7  christos   FRINTTS_INSN ("frint64z", 0x0e21f800, 0xbfbffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2929   1.7  christos   FRINTTS_INSN ("frint64x", 0x2e21f800, 0xbfbffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2930   1.7  christos   SIMD_INSN ("rev64", 0x0e200800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMEBHS, F_SIZEQ),
   2931   1.7  christos   SIMD_INSN ("rev16", 0x0e201800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMEB, F_SIZEQ),
   2932   1.7  christos   SIMD_INSN ("saddlp",0x0e202800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2PAIRWISELONGBHS, F_SIZEQ),
   2933   1.7  christos   SIMD_INSN ("suqadd",0x0e203800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAME, F_SIZEQ),
   2934   1.7  christos   SIMD_INSN ("cls",   0x0e204800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMEBHS, F_SIZEQ),
   2935   1.7  christos   SIMD_INSN ("cnt",   0x0e205800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMEB, F_SIZEQ),
   2936   1.7  christos   SIMD_INSN ("sadalp",0x0e206800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2PAIRWISELONGBHS, F_SIZEQ),
   2937   1.7  christos   SIMD_INSN ("sqabs", 0x0e207800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAME, F_SIZEQ),
   2938   1.7  christos   SIMD_INSN ("cmgt",  0x0e208800, 0xbf3ffc00, asimdmisc, 0, OP3 (Vd, Vn, IMM0), QL_V2SAME, F_SIZEQ),
   2939   1.7  christos   SIMD_INSN ("cmeq",  0x0e209800, 0xbf3ffc00, asimdmisc, 0, OP3 (Vd, Vn, IMM0), QL_V2SAME, F_SIZEQ),
   2940   1.7  christos   SIMD_INSN ("cmlt",  0x0e20a800, 0xbf3ffc00, asimdmisc, 0, OP3 (Vd, Vn, IMM0), QL_V2SAME, F_SIZEQ),
   2941   1.7  christos   SIMD_INSN ("abs",   0x0e20b800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAME, F_SIZEQ),
   2942   1.7  christos   SIMD_INSN ("xtn",   0x0e212800, 0xff3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2NARRBHS, F_SIZEQ),
   2943   1.7  christos   SIMD_INSN ("xtn2",  0x4e212800, 0xff3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2NARRBHS2, F_SIZEQ),
   2944   1.7  christos   SIMD_INSN ("sqxtn", 0xe214800, 0xff3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2NARRBHS, F_SIZEQ),
   2945   1.7  christos   SIMD_INSN ("sqxtn2",0x4e214800, 0xff3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2NARRBHS2, F_SIZEQ),
   2946   1.7  christos   SIMD_INSN ("fcvtn",  0x0e216800, 0xffbffc00, asimdmisc, OP_FCVTN,  OP2 (Vd, Vn), QL_V2NARRHS,  F_MISC),
   2947   1.7  christos   SIMD_INSN ("fcvtn2", 0x4e216800, 0xffbffc00, asimdmisc, OP_FCVTN2, OP2 (Vd, Vn), QL_V2NARRHS2, F_MISC),
   2948   1.6  christos   SIMD_INSN ("fcvtl",  0x0e217800, 0xffbffc00, asimdmisc, OP_FCVTL,  OP2 (Vd, Vn), QL_V2LONGHS,  F_MISC),
   2949   1.7  christos   SIMD_INSN ("fcvtl2", 0x4e217800, 0xffbffc00, asimdmisc, OP_FCVTL2, OP2 (Vd, Vn), QL_V2LONGHS2, F_MISC),
   2950   1.6  christos   SIMD_INSN ("frintn", 0x0e218800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2951   1.7  christos   SF16_INSN ("frintn", 0x0e798800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   2952   1.6  christos   SIMD_INSN ("frintm", 0x0e219800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2953   1.7  christos   SF16_INSN ("frintm", 0x0e799800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   2954   1.6  christos   SIMD_INSN ("fcvtns", 0x0e21a800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2955   1.7  christos   SF16_INSN ("fcvtns", 0x0e79a800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   2956   1.6  christos   SIMD_INSN ("fcvtms", 0x0e21b800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2957   1.7  christos   SF16_INSN ("fcvtms", 0x0e79b800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   2958   1.6  christos   SIMD_INSN ("fcvtas", 0x0e21c800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2959   1.7  christos   SF16_INSN ("fcvtas", 0x0e79c800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   2960   1.6  christos   SIMD_INSN ("scvtf",  0x0e21d800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2961   1.7  christos   SF16_INSN ("scvtf",  0x0e79d800, 0xbfbffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   2962   1.6  christos   SIMD_INSN ("fcmgt",  0x0ea0c800, 0xbfbffc00, asimdmisc, 0, OP3 (Vd, Vn, FPIMM0), QL_V2SAMESD, F_SIZEQ),
   2963   1.7  christos   SF16_INSN ("fcmgt",  0x0ef8c800, 0xbffffc00, asimdmisc, OP3 (Vd, Vn, FPIMM0), QL_V2SAMEH, F_SIZEQ),
   2964   1.6  christos   SIMD_INSN ("fcmeq",  0x0ea0d800, 0xbfbffc00, asimdmisc, 0, OP3 (Vd, Vn, FPIMM0), QL_V2SAMESD, F_SIZEQ),
   2965   1.7  christos   SF16_INSN ("fcmeq",  0x0ef8d800, 0xbffffc00, asimdmisc, OP3 (Vd, Vn, FPIMM0), QL_V2SAMEH, F_SIZEQ),
   2966   1.6  christos   SIMD_INSN ("fcmlt",  0x0ea0e800, 0xbfbffc00, asimdmisc, 0, OP3 (Vd, Vn, FPIMM0), QL_V2SAMESD, F_SIZEQ),
   2967   1.7  christos   SF16_INSN ("fcmlt",  0x0ef8e800, 0xbffffc00, asimdmisc, OP3 (Vd, Vn, FPIMM0), QL_V2SAMEH, F_SIZEQ),
   2968   1.6  christos   SIMD_INSN ("fabs",   0x0ea0f800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2969   1.7  christos   SF16_INSN ("fabs",   0x0ef8f800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   2970   1.6  christos   SIMD_INSN ("frintp", 0x0ea18800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2971   1.7  christos   SF16_INSN ("frintp", 0x0ef98800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   2972   1.6  christos   SIMD_INSN ("frintz", 0x0ea19800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2973   1.7  christos   SF16_INSN ("frintz", 0x0ef99800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   2974   1.6  christos   SIMD_INSN ("fcvtps", 0x0ea1a800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2975   1.7  christos   SF16_INSN ("fcvtps", 0x0ef9a800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   2976   1.7  christos   SIMD_INSN ("fcvtzs", 0x0ea1b800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2977   1.6  christos   SF16_INSN ("fcvtzs", 0x0ef9b800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   2978   1.7  christos   SIMD_INSN ("urecpe", 0x0ea1c800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMES, F_SIZEQ),
   2979   1.7  christos   SIMD_INSN ("frecpe", 0x0ea1d800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2980   1.7  christos   SF16_INSN ("frecpe", 0x0ef9d800, 0xbfbffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   2981   1.7  christos   SIMD_INSN ("rev32",  0x2e200800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMEBH, F_SIZEQ),
   2982   1.7  christos   SIMD_INSN ("uaddlp", 0x2e202800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2PAIRWISELONGBHS, F_SIZEQ),
   2983   1.7  christos   SIMD_INSN ("usqadd", 0x2e203800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAME, F_SIZEQ),
   2984   1.7  christos   SIMD_INSN ("clz",    0x2e204800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMEBHS, F_SIZEQ),
   2985   1.7  christos   SIMD_INSN ("uadalp", 0x2e206800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2PAIRWISELONGBHS, F_SIZEQ),
   2986   1.7  christos   SIMD_INSN ("sqneg",  0x2e207800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAME, F_SIZEQ),
   2987   1.7  christos   SIMD_INSN ("cmge",   0x2e208800, 0xbf3ffc00, asimdmisc, 0, OP3 (Vd, Vn, IMM0), QL_V2SAME, F_SIZEQ),
   2988   1.7  christos   SIMD_INSN ("cmle",   0x2e209800, 0xbf3ffc00, asimdmisc, 0, OP3 (Vd, Vn, IMM0), QL_V2SAME, F_SIZEQ),
   2989   1.7  christos   SIMD_INSN ("neg",    0x2e20b800, 0xbf3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAME, F_SIZEQ),
   2990   1.7  christos   SIMD_INSN ("sqxtun", 0x2e212800, 0xff3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2NARRBHS, F_SIZEQ),
   2991   1.7  christos   SIMD_INSN ("sqxtun2",0x6e212800, 0xff3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2NARRBHS2, F_SIZEQ),
   2992   1.7  christos   SIMD_INSN ("shll",   0x2e213800, 0xff3ffc00, asimdmisc, 0, OP3 (Vd, Vn, SHLL_IMM), QL_V2LONGBHS, F_SIZEQ),
   2993   1.7  christos   SIMD_INSN ("shll2",  0x6e213800, 0xff3ffc00, asimdmisc, 0, OP3 (Vd, Vn, SHLL_IMM), QL_V2LONGBHS2, F_SIZEQ),
   2994   1.7  christos   SIMD_INSN ("uqxtn",  0x2e214800, 0xff3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2NARRBHS, F_SIZEQ),
   2995   1.7  christos   SIMD_INSN ("uqxtn2", 0x6e214800, 0xff3ffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2NARRBHS2, F_SIZEQ),
   2996   1.6  christos   SIMD_INSN ("fcvtxn", 0x2e616800, 0xfffffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2NARRS, 0),
   2997   1.7  christos   SIMD_INSN ("fcvtxn2",0x6e616800, 0xfffffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2NARRS2, 0),
   2998   1.6  christos   SIMD_INSN ("frinta", 0x2e218800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   2999   1.7  christos   SF16_INSN ("frinta", 0x2e798800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   3000   1.6  christos   SIMD_INSN ("frintx", 0x2e219800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   3001   1.7  christos   SF16_INSN ("frintx", 0x2e799800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   3002   1.6  christos   SIMD_INSN ("fcvtnu", 0x2e21a800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   3003   1.7  christos   SF16_INSN ("fcvtnu", 0x2e79a800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   3004   1.6  christos   SIMD_INSN ("fcvtmu", 0x2e21b800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   3005   1.7  christos   SF16_INSN ("fcvtmu", 0x2e79b800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   3006   1.6  christos   SIMD_INSN ("fcvtau", 0x2e21c800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   3007   1.7  christos   SF16_INSN ("fcvtau", 0x2e79c800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   3008   1.7  christos   SIMD_INSN ("ucvtf",  0x2e21d800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   3009   1.7  christos   SF16_INSN ("ucvtf",  0x2e79d800, 0xbfbffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   3010   1.7  christos   SIMD_INSN ("not",    0x2e205800, 0xbffffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMEB, F_SIZEQ | F_HAS_ALIAS),
   3011   1.6  christos   SIMD_INSN ("mvn",    0x2e205800, 0xbffffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMEB, F_SIZEQ | F_ALIAS),
   3012   1.7  christos   SIMD_INSN ("rbit",   0x2e605800, 0xbffffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMEB, F_SIZEQ),
   3013   1.6  christos   SIMD_INSN ("fcmge",  0x2ea0c800, 0xbfbffc00, asimdmisc, 0, OP3 (Vd, Vn, FPIMM0), QL_V2SAMESD, F_SIZEQ),
   3014   1.7  christos   SF16_INSN ("fcmge",  0x2ef8c800, 0xbffffc00, asimdmisc, OP3 (Vd, Vn, FPIMM0), QL_V2SAMEH, F_SIZEQ),
   3015   1.6  christos   SIMD_INSN ("fcmle",  0x2ea0d800, 0xbfbffc00, asimdmisc, 0, OP3 (Vd, Vn, FPIMM0), QL_V2SAMESD, F_SIZEQ),
   3016   1.7  christos   SF16_INSN ("fcmle",  0x2ef8d800, 0xbffffc00, asimdmisc, OP3 (Vd, Vn, FPIMM0), QL_V2SAMEH, F_SIZEQ),
   3017   1.6  christos   SIMD_INSN ("fneg",   0x2ea0f800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   3018   1.7  christos   SF16_INSN ("fneg",   0x2ef8f800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   3019   1.6  christos   SIMD_INSN ("frinti", 0x2ea19800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   3020   1.7  christos   SF16_INSN ("frinti", 0x2ef99800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   3021   1.6  christos   SIMD_INSN ("fcvtpu", 0x2ea1a800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   3022   1.7  christos   SF16_INSN ("fcvtpu", 0x2ef9a800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   3023   1.7  christos   SIMD_INSN ("fcvtzu", 0x2ea1b800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   3024   1.6  christos   SF16_INSN ("fcvtzu", 0x2ef9b800, 0xbffffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   3025   1.7  christos   SIMD_INSN ("ursqrte",0x2ea1c800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMES, F_SIZEQ),
   3026   1.6  christos   SIMD_INSN ("frsqrte",0x2ea1d800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   3027   1.1  christos   SF16_INSN ("frsqrte",0x2ef9d800, 0xbfbffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   3028   1.7  christos   SIMD_INSN ("fsqrt",  0x2ea1f800, 0xbfbffc00, asimdmisc, 0, OP2 (Vd, Vn), QL_V2SAMESD, F_SIZEQ),
   3029   1.7  christos   SF16_INSN ("fsqrt",  0x2ef9f800, 0xbfbffc00, asimdmisc, OP2 (Vd, Vn), QL_V2SAMEH, F_SIZEQ),
   3030   1.7  christos   /* AdvSIMD ZIP/UZP/TRN.  */
   3031   1.7  christos   SIMD_INSN ("uzp1", 0xe001800, 0xbf20fc00, asimdperm, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3032   1.7  christos   SIMD_INSN ("trn1", 0xe002800, 0xbf20fc00, asimdperm, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3033   1.7  christos   SIMD_INSN ("zip1", 0xe003800, 0xbf20fc00, asimdperm, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3034   1.1  christos   SIMD_INSN ("uzp2", 0xe005800, 0xbf20fc00, asimdperm, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3035   1.7  christos   SIMD_INSN ("trn2", 0xe006800, 0xbf20fc00, asimdperm, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3036   1.7  christos   SIMD_INSN ("zip2", 0xe007800, 0xbf20fc00, asimdperm, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3037   1.7  christos   /* AdvSIMD three same.  */
   3038   1.7  christos   SIMD_INSN ("shadd", 0xe200400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3039   1.7  christos   SIMD_INSN ("sqadd", 0xe200c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3040   1.7  christos   SIMD_INSN ("srhadd", 0xe201400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3041   1.7  christos   SIMD_INSN ("shsub", 0xe202400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3042   1.7  christos   SIMD_INSN ("sqsub", 0xe202c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3043   1.7  christos   SIMD_INSN ("cmgt", 0xe203400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3044   1.7  christos   SIMD_INSN ("cmge", 0xe203c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3045   1.7  christos   SIMD_INSN ("sshl", 0xe204400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3046   1.7  christos   SIMD_INSN ("sqshl", 0xe204c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3047   1.7  christos   SIMD_INSN ("srshl", 0xe205400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3048   1.7  christos   SIMD_INSN ("sqrshl", 0xe205c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3049   1.7  christos   SIMD_INSN ("smax", 0xe206400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3050   1.7  christos   SIMD_INSN ("smin", 0xe206c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3051   1.7  christos   SIMD_INSN ("sabd", 0xe207400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3052   1.7  christos   SIMD_INSN ("saba", 0xe207c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3053   1.7  christos   SIMD_INSN ("add", 0xe208400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3054   1.7  christos   SIMD_INSN ("cmtst", 0xe208c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3055   1.7  christos   SIMD_INSN ("mla", 0xe209400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3056   1.7  christos   SIMD_INSN ("mul", 0xe209c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3057   1.7  christos   SIMD_INSN ("smaxp", 0xe20a400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3058   1.7  christos   SIMD_INSN ("sminp", 0xe20ac00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3059   1.6  christos   SIMD_INSN ("sqdmulh", 0xe20b400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEHS, F_SIZEQ),
   3060   1.7  christos   SIMD_INSN ("addp", 0xe20bc00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3061   1.6  christos   SIMD_INSN ("fmaxnm", 0xe20c400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3062   1.7  christos   SF16_INSN ("fmaxnm", 0xe400400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3063   1.6  christos   SIMD_INSN ("fmla", 0xe20cc00, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3064   1.7  christos   SF16_INSN ("fmla", 0xe400c00, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3065   1.6  christos   SIMD_INSN ("fadd", 0xe20d400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3066   1.7  christos   SF16_INSN ("fadd", 0xe401400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3067   1.6  christos   SIMD_INSN ("fmulx", 0xe20dc00, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3068   1.7  christos   SF16_INSN ("fmulx", 0xe401c00, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3069   1.6  christos   SIMD_INSN ("fcmeq", 0xe20e400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3070   1.7  christos   SF16_INSN ("fcmeq", 0xe402400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3071   1.6  christos   SIMD_INSN ("fmax", 0xe20f400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3072   1.7  christos   SF16_INSN ("fmax", 0xe403400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3073   1.7  christos   SIMD_INSN ("frecps", 0xe20fc00, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3074   1.7  christos   SF16_INSN ("frecps", 0xe403c00, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3075   1.6  christos   SIMD_INSN ("and", 0xe201c00, 0xbfe0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_SIZEQ),
   3076   1.7  christos   SIMD_INSN ("bic", 0xe601c00, 0xbfe0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_SIZEQ),
   3077   1.6  christos   SIMD_INSN ("fminnm", 0xea0c400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3078   1.7  christos   SF16_INSN ("fminnm", 0xec00400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3079   1.6  christos   SIMD_INSN ("fmls", 0xea0cc00, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3080   1.7  christos   SF16_INSN ("fmls", 0xec00c00, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3081   1.6  christos   SIMD_INSN ("fsub", 0xea0d400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3082   1.7  christos   SF16_INSN ("fsub", 0xec01400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3083   1.6  christos   SIMD_INSN ("fmin", 0xea0f400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3084   1.7  christos   SF16_INSN ("fmin", 0xec03400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3085   1.7  christos   SIMD_INSN ("frsqrts", 0xea0fc00, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3086   1.7  christos   SF16_INSN ("frsqrts", 0xec03c00, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3087   1.7  christos   SIMD_INSN ("orr", 0xea01c00, 0xbfe0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_HAS_ALIAS | F_SIZEQ),
   3088   1.7  christos   SIMD_INSN ("mov", 0xea01c00, 0xbfe0fc00, asimdsame, OP_MOV_V, OP2 (Vd, Vn), QL_V2SAMEB, F_ALIAS | F_CONV),
   3089   1.7  christos   SIMD_INSN ("orn", 0xee01c00, 0xbfe0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_SIZEQ),
   3090   1.7  christos   SIMD_INSN ("uhadd", 0x2e200400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3091   1.7  christos   SIMD_INSN ("uqadd", 0x2e200c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3092   1.7  christos   SIMD_INSN ("urhadd", 0x2e201400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3093   1.7  christos   SIMD_INSN ("uhsub", 0x2e202400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3094   1.7  christos   SIMD_INSN ("uqsub", 0x2e202c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3095   1.7  christos   SIMD_INSN ("cmhi", 0x2e203400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3096   1.7  christos   SIMD_INSN ("cmhs", 0x2e203c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3097   1.7  christos   SIMD_INSN ("ushl", 0x2e204400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3098   1.7  christos   SIMD_INSN ("uqshl", 0x2e204c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3099   1.7  christos   SIMD_INSN ("urshl", 0x2e205400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3100   1.7  christos   SIMD_INSN ("uqrshl", 0x2e205c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3101   1.7  christos   SIMD_INSN ("umax", 0x2e206400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3102   1.7  christos   SIMD_INSN ("umin", 0x2e206c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3103   1.7  christos   SIMD_INSN ("uabd", 0x2e207400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3104   1.7  christos   SIMD_INSN ("uaba", 0x2e207c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3105   1.7  christos   SIMD_INSN ("sub", 0x2e208400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3106   1.7  christos   SIMD_INSN ("cmeq", 0x2e208c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAME, F_SIZEQ),
   3107   1.7  christos   SIMD_INSN ("mls", 0x2e209400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3108   1.7  christos   SIMD_INSN ("pmul", 0x2e209c00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_SIZEQ),
   3109   1.7  christos   SIMD_INSN ("umaxp", 0x2e20a400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3110   1.6  christos   SIMD_INSN ("uminp", 0x2e20ac00, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEBHS, F_SIZEQ),
   3111   1.7  christos   SIMD_INSN ("sqrdmulh", 0x2e20b400, 0xbf20fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEHS, F_SIZEQ),
   3112   1.6  christos   SIMD_INSN ("fmaxnmp", 0x2e20c400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3113   1.7  christos   SF16_INSN ("fmaxnmp", 0x2e400400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3114   1.6  christos   SIMD_INSN ("faddp", 0x2e20d400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3115   1.7  christos   SF16_INSN ("faddp", 0x2e401400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3116   1.6  christos   SIMD_INSN ("fmul", 0x2e20dc00, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3117   1.7  christos   SF16_INSN ("fmul", 0x2e401c00, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3118   1.6  christos   SIMD_INSN ("fcmge", 0x2e20e400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3119   1.7  christos   SF16_INSN ("fcmge", 0x2e402400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3120   1.6  christos   SIMD_INSN ("facge", 0x2e20ec00, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3121   1.7  christos   SF16_INSN ("facge", 0x2e402c00, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3122   1.6  christos   SIMD_INSN ("fmaxp", 0x2e20f400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3123   1.7  christos   SF16_INSN ("fmaxp", 0x2e403400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3124   1.7  christos   SIMD_INSN ("fdiv", 0x2e20fc00, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3125   1.7  christos   SF16_INSN ("fdiv", 0x2e403c00, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3126   1.6  christos   SIMD_INSN ("eor", 0x2e201c00, 0xbfe0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_SIZEQ),
   3127   1.7  christos   SIMD_INSN ("bsl", 0x2e601c00, 0xbfe0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_SIZEQ),
   3128   1.6  christos   SIMD_INSN ("fminnmp", 0x2ea0c400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3129   1.7  christos   SF16_INSN ("fminnmp", 0x2ec00400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3130   1.6  christos   SIMD_INSN ("fabd", 0x2ea0d400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3131   1.7  christos   SF16_INSN ("fabd", 0x2ec01400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3132   1.6  christos   SIMD_INSN ("fcmgt", 0x2ea0e400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3133   1.7  christos   SF16_INSN ("fcmgt", 0x2ec02400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3134   1.6  christos   SIMD_INSN ("facgt", 0x2ea0ec00, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3135   1.7  christos   SF16_INSN ("facgt", 0x2ec02c00, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3136   1.7  christos   SIMD_INSN ("fminp", 0x2ea0f400, 0xbfa0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ),
   3137   1.5  christos   SF16_INSN ("fminp", 0x2ec03400, 0xbfe0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEH, F_SIZEQ),
   3138   1.8  christos   SIMD_INSN ("bit", 0x2ea01c00, 0xbfe0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_SIZEQ),
   3139   1.8  christos   SIMD_INSN ("bif", 0x2ee01c00, 0xbfe0fc00, asimdsame, 0, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_SIZEQ),
   3140   1.7  christos   /* AdvSIMD three same extension.  */
   3141   1.7  christos   RDMA_INSN ("sqrdmlah",0x2e008400, 0xbf20fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEHS, F_SIZEQ),
   3142   1.1  christos   RDMA_INSN ("sqrdmlsh",0x2e008c00, 0xbf20fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3SAMEHS, F_SIZEQ),
   3143   1.7  christos   CNUM_INSN ("fcmla", 0x2e00c400, 0xbf20e400, asimdsame, 0, OP4 (Vd, Vn, Vm, IMM_ROT1), QL_V3SAMEHSD_ROT, F_SIZEQ),
   3144   1.7  christos   CNUM_INSN ("fcadd", 0x2e00e400, 0xbf20ec00, asimdsame, 0, OP4 (Vd, Vn, Vm, IMM_ROT3), QL_V3SAMEHSD_ROT, F_SIZEQ),
   3145   1.7  christos   /* AdvSIMD shift by immediate.  */
   3146   1.7  christos   SIMD_INSN ("sshr", 0xf000400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT, 0),
   3147   1.7  christos   SIMD_INSN ("ssra", 0xf001400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT, 0),
   3148   1.7  christos   SIMD_INSN ("srshr", 0xf002400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT, 0),
   3149   1.7  christos   SIMD_INSN ("srsra", 0xf003400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT, 0),
   3150   1.7  christos   SIMD_INSN ("shl", 0xf005400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFT, 0),
   3151   1.7  christos   SIMD_INSN ("sqshl", 0xf007400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFT, 0),
   3152   1.7  christos   SIMD_INSN ("shrn", 0xf008400, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN, 0),
   3153   1.7  christos   SIMD_INSN ("shrn2", 0x4f008400, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0),
   3154   1.7  christos   SIMD_INSN ("rshrn", 0xf008c00, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN, 0),
   3155   1.7  christos   SIMD_INSN ("rshrn2", 0x4f008c00, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0),
   3156   1.7  christos   SIMD_INSN ("sqshrn", 0xf009400, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN, 0),
   3157   1.7  christos   SIMD_INSN ("sqshrn2", 0x4f009400, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0),
   3158   1.7  christos   SIMD_INSN ("sqrshrn", 0xf009c00, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN, 0),
   3159   1.7  christos   SIMD_INSN ("sqrshrn2", 0x4f009c00, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0),
   3160   1.7  christos   SIMD_INSN ("sshll", 0xf00a400, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL, F_HAS_ALIAS),
   3161   1.7  christos   SIMD_INSN ("sxtl", 0xf00a400, 0xff87fc00, asimdshf, OP_SXTL, OP2 (Vd, Vn), QL_V2LONGBHS, F_ALIAS | F_CONV),
   3162   1.6  christos   SIMD_INSN ("sshll2", 0x4f00a400, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL2, F_HAS_ALIAS),
   3163   1.7  christos   SIMD_INSN ("sxtl2", 0x4f00a400, 0xff87fc00, asimdshf, OP_SXTL2, OP2 (Vd, Vn), QL_V2LONGBHS2, F_ALIAS | F_CONV),
   3164   1.6  christos   SIMD_INSN ("scvtf", 0xf00e400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_SD, 0),
   3165   1.7  christos   SF16_INSN ("scvtf", 0xf10e400, 0xbf80fc00, asimdshf, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_H, 0),
   3166   1.7  christos   SIMD_INSN ("fcvtzs", 0xf00fc00, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_SD, 0),
   3167   1.7  christos   SF16_INSN ("fcvtzs", 0xf10fc00, 0xbf80fc00, asimdshf, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_H, 0),
   3168   1.7  christos   SIMD_INSN ("ushr", 0x2f000400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT, 0),
   3169   1.7  christos   SIMD_INSN ("usra", 0x2f001400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT, 0),
   3170   1.7  christos   SIMD_INSN ("urshr", 0x2f002400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT, 0),
   3171   1.7  christos   SIMD_INSN ("ursra", 0x2f003400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT, 0),
   3172   1.7  christos   SIMD_INSN ("sri", 0x2f004400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT, 0),
   3173   1.7  christos   SIMD_INSN ("sli", 0x2f005400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFT, 0),
   3174   1.7  christos   SIMD_INSN ("sqshlu", 0x2f006400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFT, 0),
   3175   1.7  christos   SIMD_INSN ("uqshl", 0x2f007400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFT, 0),
   3176   1.7  christos   SIMD_INSN ("sqshrun", 0x2f008400, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN, 0),
   3177   1.7  christos   SIMD_INSN ("sqshrun2", 0x6f008400, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0),
   3178   1.7  christos   SIMD_INSN ("sqrshrun", 0x2f008c00, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN, 0),
   3179   1.7  christos   SIMD_INSN ("sqrshrun2", 0x6f008c00, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0),
   3180   1.7  christos   SIMD_INSN ("uqshrn", 0x2f009400, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN, 0),
   3181   1.7  christos   SIMD_INSN ("uqshrn2", 0x6f009400, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0),
   3182   1.7  christos   SIMD_INSN ("uqrshrn", 0x2f009c00, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN, 0),
   3183   1.7  christos   SIMD_INSN ("uqrshrn2", 0x6f009c00, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0),
   3184   1.7  christos   SIMD_INSN ("ushll", 0x2f00a400, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL, F_HAS_ALIAS),
   3185   1.7  christos   SIMD_INSN ("uxtl", 0x2f00a400, 0xff87fc00, asimdshf, OP_UXTL, OP2 (Vd, Vn), QL_V2LONGBHS, F_ALIAS | F_CONV),
   3186   1.6  christos   SIMD_INSN ("ushll2", 0x6f00a400, 0xff80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL2, F_HAS_ALIAS),
   3187   1.7  christos   SIMD_INSN ("uxtl2", 0x6f00a400, 0xff87fc00, asimdshf, OP_UXTL2, OP2 (Vd, Vn), QL_V2LONGBHS2, F_ALIAS | F_CONV),
   3188   1.6  christos   SIMD_INSN ("ucvtf", 0x2f00e400, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_SD, 0),
   3189   1.1  christos   SF16_INSN ("ucvtf", 0x2f10e400, 0xbf80fc00, asimdshf, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_H, 0),
   3190   1.7  christos   SIMD_INSN ("fcvtzu", 0x2f00fc00, 0xbf80fc00, asimdshf, 0, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_SD, 0),
   3191   1.7  christos   SF16_INSN ("fcvtzu", 0x2f10fc00, 0xbf80fc00, asimdshf, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_H, 0),
   3192   1.1  christos   /* AdvSIMD TBL/TBX.  */
   3193   1.7  christos   SIMD_INSN ("tbl", 0xe000000, 0xbfe09c00, asimdtbl, 0, OP3 (Vd, LVn, Vm), QL_TABLE, F_SIZEQ),
   3194   1.7  christos   SIMD_INSN ("tbx", 0xe001000, 0xbfe09c00, asimdtbl, 0, OP3 (Vd, LVn, Vm), QL_TABLE, F_SIZEQ),
   3195   1.7  christos   /* AdvSIMD scalar three different.  */
   3196   1.1  christos   SIMD_INSN ("sqdmlal", 0x5e209000, 0xff20fc00, asisddiff, 0, OP3 (Sd, Sn, Sm), QL_SISDL_HS, F_SSIZE),
   3197   1.8  christos   SIMD_INSN ("sqdmlsl", 0x5e20b000, 0xff20fc00, asisddiff, 0, OP3 (Sd, Sn, Sm), QL_SISDL_HS, F_SSIZE),
   3198   1.8  christos   SIMD_INSN ("sqdmull", 0x5e20d000, 0xff20fc00, asisddiff, 0, OP3 (Sd, Sn, Sm), QL_SISDL_HS, F_SSIZE),
   3199   1.8  christos   /* AdvSIMD scalar x indexed element.  */
   3200   1.8  christos   SIMD_INSN ("sqdmlal", 0x5f003000, 0xff00f400, asisdelem, 0, OP3 (Sd, Sn, Em16), QL_SISDL_HS, F_SSIZE),
   3201   1.8  christos   SIMD_INSN ("sqdmlsl", 0x5f007000, 0xff00f400, asisdelem, 0, OP3 (Sd, Sn, Em16), QL_SISDL_HS, F_SSIZE),
   3202   1.8  christos   SIMD_INSN ("sqdmull", 0x5f00b000, 0xff00f400, asisdelem, 0, OP3 (Sd, Sn, Em16), QL_SISDL_HS, F_SSIZE),
   3203   1.8  christos   SIMD_INSN ("sqdmulh", 0x5f00c000, 0xff00f400, asisdelem, 0, OP3 (Sd, Sn, Em16), QL_SISD_HS, F_SSIZE),
   3204   1.8  christos   SIMD_INSN ("sqrdmulh", 0x5f00d000, 0xff00f400, asisdelem, 0, OP3 (Sd, Sn, Em16), QL_SISD_HS, F_SSIZE),
   3205   1.8  christos   _SIMD_INSN ("fmla", 0x5f801000, 0xff80f400, asisdelem, 0, OP3 (Sd, Sn, Em), QL_FP3, F_SSIZE, VERIFIER (elem_sd)),
   3206   1.8  christos   SF16_INSN ("fmla", 0x5f001000, 0xffc0f400, asisdelem, OP3 (Sd, Sn, Em16), QL_FP3_H, F_SSIZE),
   3207   1.8  christos   _SIMD_INSN ("fmls", 0x5f805000, 0xff80f400, asisdelem, 0, OP3 (Sd, Sn, Em), QL_FP3, F_SSIZE, VERIFIER (elem_sd)),
   3208   1.8  christos   SF16_INSN ("fmls", 0x5f005000, 0xffc0f400, asisdelem, OP3 (Sd, Sn, Em16), QL_FP3_H, F_SSIZE),
   3209   1.8  christos   _SIMD_INSN ("fmul", 0x5f809000, 0xff80f400, asisdelem, 0, OP3 (Sd, Sn, Em), QL_FP3, F_SSIZE, VERIFIER (elem_sd)),
   3210   1.8  christos   SF16_INSN ("fmul", 0x5f009000, 0xffc0f400, asisdelem, OP3 (Sd, Sn, Em16), QL_FP3_H, F_SSIZE),
   3211   1.8  christos   _SIMD_INSN ("fmulx", 0x7f809000, 0xff80f400, asisdelem, 0, OP3 (Sd, Sn, Em), QL_FP3, F_SSIZE, VERIFIER (elem_sd)),
   3212   1.1  christos   SF16_INSN ("fmulx", 0x7f009000, 0xffc0f400, asisdelem, OP3 (Sd, Sn, Em16), QL_FP3_H, F_SSIZE),
   3213   1.7  christos   RDMA_INSN ("sqrdmlah", 0x7f00d000, 0xff00f400, asisdelem, OP3 (Sd, Sn, Em16), QL_SISD_HS, F_SSIZE),
   3214   1.7  christos   RDMA_INSN ("sqrdmlsh", 0x7f00f000, 0xff00f400, asisdelem, OP3 (Sd, Sn, Em16), QL_SISD_HS, F_SSIZE),
   3215   1.7  christos   /* AdvSIMD load/store multiple structures.  */
   3216   1.7  christos   SIMD_INSN ("st4", 0xc000000, 0xbfff0000, asisdlse, 0, OP2 (LVt, SIMD_ADDR_SIMPLE), QL_SIMD_LDST, F_SIZEQ | F_OD(4)),
   3217   1.7  christos   SIMD_INSN ("st1", 0xc000000, 0xbfff0000, asisdlse, 0, OP2 (LVt, SIMD_ADDR_SIMPLE), QL_SIMD_LDST_ANY, F_SIZEQ | F_OD(1)),
   3218   1.7  christos   SIMD_INSN ("st2", 0xc000000, 0xbfff0000, asisdlse, 0, OP2 (LVt, SIMD_ADDR_SIMPLE), QL_SIMD_LDST, F_SIZEQ | F_OD(2)),
   3219   1.7  christos   SIMD_INSN ("st3", 0xc000000, 0xbfff0000, asisdlse, 0, OP2 (LVt, SIMD_ADDR_SIMPLE), QL_SIMD_LDST, F_SIZEQ | F_OD(3)),
   3220   1.7  christos   SIMD_INSN ("ld4", 0xc400000, 0xbfff0000, asisdlse, 0, OP2 (LVt, SIMD_ADDR_SIMPLE), QL_SIMD_LDST, F_SIZEQ | F_OD(4)),
   3221   1.1  christos   SIMD_INSN ("ld1", 0xc400000, 0xbfff0000, asisdlse, 0, OP2 (LVt, SIMD_ADDR_SIMPLE), QL_SIMD_LDST_ANY, F_SIZEQ | F_OD(1)),
   3222   1.7  christos   SIMD_INSN ("ld2", 0xc400000, 0xbfff0000, asisdlse, 0, OP2 (LVt, SIMD_ADDR_SIMPLE), QL_SIMD_LDST, F_SIZEQ | F_OD(2)),
   3223   1.7  christos   SIMD_INSN ("ld3", 0xc400000, 0xbfff0000, asisdlse, 0, OP2 (LVt, SIMD_ADDR_SIMPLE), QL_SIMD_LDST, F_SIZEQ | F_OD(3)),
   3224   1.7  christos   /* AdvSIMD load/store multiple structures (post-indexed).  */
   3225   1.7  christos   SIMD_INSN ("st4", 0xc800000, 0xbfe00000, asisdlsep, 0, OP2 (LVt, SIMD_ADDR_POST), QL_SIMD_LDST, F_SIZEQ | F_OD(4)),
   3226   1.7  christos   SIMD_INSN ("st1", 0xc800000, 0xbfe00000, asisdlsep, 0, OP2 (LVt, SIMD_ADDR_POST), QL_SIMD_LDST_ANY, F_SIZEQ | F_OD(1)),
   3227   1.7  christos   SIMD_INSN ("st2", 0xc800000, 0xbfe00000, asisdlsep, 0, OP2 (LVt, SIMD_ADDR_POST), QL_SIMD_LDST, F_SIZEQ | F_OD(2)),
   3228   1.7  christos   SIMD_INSN ("st3", 0xc800000, 0xbfe00000, asisdlsep, 0, OP2 (LVt, SIMD_ADDR_POST), QL_SIMD_LDST, F_SIZEQ | F_OD(3)),
   3229   1.7  christos   SIMD_INSN ("ld4", 0xcc00000, 0xbfe00000, asisdlsep, 0, OP2 (LVt, SIMD_ADDR_POST), QL_SIMD_LDST, F_SIZEQ | F_OD(4)),
   3230   1.1  christos   SIMD_INSN ("ld1", 0xcc00000, 0xbfe00000, asisdlsep, 0, OP2 (LVt, SIMD_ADDR_POST), QL_SIMD_LDST_ANY, F_SIZEQ | F_OD(1)),
   3231   1.7  christos   SIMD_INSN ("ld2", 0xcc00000, 0xbfe00000, asisdlsep, 0, OP2 (LVt, SIMD_ADDR_POST), QL_SIMD_LDST, F_SIZEQ | F_OD(2)),
   3232   1.7  christos   SIMD_INSN ("ld3", 0xcc00000, 0xbfe00000, asisdlsep, 0, OP2 (LVt, SIMD_ADDR_POST), QL_SIMD_LDST, F_SIZEQ | F_OD(3)),
   3233   1.7  christos   /* AdvSIMD load/store single structure.  */
   3234   1.7  christos   SIMD_INSN ("st1", 0xd000000, 0xbfff2000, asisdlso, 0, OP2 (LEt, SIMD_ADDR_SIMPLE), QL_SIMD_LDSTONE, F_OD(1)),
   3235   1.7  christos   SIMD_INSN ("st3", 0xd002000, 0xbfff2000, asisdlso, 0, OP2 (LEt, SIMD_ADDR_SIMPLE), QL_SIMD_LDSTONE, F_OD(3)),
   3236   1.7  christos   SIMD_INSN ("st2", 0xd200000, 0xbfff2000, asisdlso, 0, OP2 (LEt, SIMD_ADDR_SIMPLE), QL_SIMD_LDSTONE, F_OD(2)),
   3237   1.8  christos   SIMD_INSN ("st4", 0xd202000, 0xbfff2000, asisdlso, 0, OP2 (LEt, SIMD_ADDR_SIMPLE), QL_SIMD_LDSTONE, F_OD(4)),
   3238   1.8  christos   SIMD_INSN ("ld1", 0xd400000, 0xbfff2000, asisdlso, 0, OP2 (LEt, SIMD_ADDR_SIMPLE), QL_SIMD_LDSTONE, F_OD(1)),
   3239   1.7  christos   SIMD_INSN ("ld3", 0xd402000, 0xbfff2000, asisdlso, 0, OP2 (LEt, SIMD_ADDR_SIMPLE), QL_SIMD_LDSTONE, F_OD(3)),
   3240   1.7  christos   SIMD_INSN ("ld1r", 0xd40c000, 0xbffff000, asisdlso, 0, OP2 (LVt_AL, SIMD_ADDR_SIMPLE), QL_SIMD_LDST_ANY, F_SIZEQ | F_OD(1)),
   3241   1.8  christos   SIMD_INSN ("ld3r", 0xd40e000, 0xbffff000, asisdlso, 0, OP2 (LVt_AL, SIMD_ADDR_SIMPLE), QL_SIMD_LDST_ANY, F_SIZEQ | F_OD(3)),
   3242   1.8  christos   SIMD_INSN ("ld2", 0xd600000, 0xbfff2000, asisdlso, 0, OP2 (LEt, SIMD_ADDR_SIMPLE), QL_SIMD_LDSTONE, F_OD(2)),
   3243   1.1  christos   SIMD_INSN ("ld4", 0xd602000, 0xbfff2000, asisdlso, 0, OP2 (LEt, SIMD_ADDR_SIMPLE), QL_SIMD_LDSTONE, F_OD(4)),
   3244   1.7  christos   SIMD_INSN ("ld2r", 0xd60c000, 0xbffff000, asisdlso, 0, OP2 (LVt_AL, SIMD_ADDR_SIMPLE), QL_SIMD_LDST_ANY, F_SIZEQ | F_OD(2)),
   3245   1.7  christos   SIMD_INSN ("ld4r", 0xd60e000, 0xbffff000, asisdlso, 0, OP2 (LVt_AL, SIMD_ADDR_SIMPLE), QL_SIMD_LDST_ANY, F_SIZEQ | F_OD(4)),
   3246   1.7  christos   /* AdvSIMD load/store single structure (post-indexed).  */
   3247   1.7  christos   SIMD_INSN ("st1", 0xd800000, 0xbfe02000, asisdlsop, 0, OP2 (LEt, SIMD_ADDR_POST), QL_SIMD_LDSTONE, F_OD(1)),
   3248   1.7  christos   SIMD_INSN ("st3", 0xd802000, 0xbfe02000, asisdlsop, 0, OP2 (LEt, SIMD_ADDR_POST), QL_SIMD_LDSTONE, F_OD(3)),
   3249   1.7  christos   SIMD_INSN ("st2", 0xda00000, 0xbfe02000, asisdlsop, 0, OP2 (LEt, SIMD_ADDR_POST), QL_SIMD_LDSTONE, F_OD(2)),
   3250   1.8  christos   SIMD_INSN ("st4", 0xda02000, 0xbfe02000, asisdlsop, 0, OP2 (LEt, SIMD_ADDR_POST), QL_SIMD_LDSTONE, F_OD(4)),
   3251   1.8  christos   SIMD_INSN ("ld1", 0xdc00000, 0xbfe02000, asisdlsop, 0, OP2 (LEt, SIMD_ADDR_POST), QL_SIMD_LDSTONE, F_OD(1)),
   3252   1.7  christos   SIMD_INSN ("ld3", 0xdc02000, 0xbfe02000, asisdlsop, 0, OP2 (LEt, SIMD_ADDR_POST), QL_SIMD_LDSTONE, F_OD(3)),
   3253   1.7  christos   SIMD_INSN ("ld1r", 0xdc0c000, 0xbfe0f000, asisdlsop, 0, OP2 (LVt_AL, SIMD_ADDR_POST), QL_SIMD_LDST_ANY, F_SIZEQ | F_OD(1)),
   3254   1.8  christos   SIMD_INSN ("ld3r", 0xdc0e000, 0xbfe0f000, asisdlsop, 0, OP2 (LVt_AL, SIMD_ADDR_POST), QL_SIMD_LDST_ANY, F_SIZEQ | F_OD(3)),
   3255   1.8  christos   SIMD_INSN ("ld2", 0xde00000, 0xbfe02000, asisdlsop, 0, OP2 (LEt, SIMD_ADDR_POST), QL_SIMD_LDSTONE, F_OD(2)),
   3256   1.1  christos   SIMD_INSN ("ld4", 0xde02000, 0xbfe02000, asisdlsop, 0, OP2 (LEt, SIMD_ADDR_POST), QL_SIMD_LDSTONE, F_OD(4)),
   3257   1.7  christos   SIMD_INSN ("ld2r", 0xde0c000, 0xbfe0f000, asisdlsop, 0, OP2 (LVt_AL, SIMD_ADDR_POST), QL_SIMD_LDST_ANY, F_SIZEQ | F_OD(2)),
   3258   1.7  christos   SIMD_INSN ("ld4r", 0xde0e000, 0xbfe0f000, asisdlsop, 0, OP2 (LVt_AL, SIMD_ADDR_POST), QL_SIMD_LDST_ANY, F_SIZEQ | F_OD(4)),
   3259   1.7  christos   /* AdvSIMD scalar two-reg misc.  */
   3260   1.7  christos   SIMD_INSN ("suqadd", 0x5e203800, 0xff3ffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAME, F_SSIZE),
   3261   1.7  christos   SIMD_INSN ("sqabs", 0x5e207800, 0xff3ffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAME, F_SSIZE),
   3262   1.7  christos   SIMD_INSN ("cmgt", 0x5e208800, 0xff3ffc00, asisdmisc, 0, OP3 (Sd, Sn, IMM0), QL_SISD_CMP_0, F_SSIZE),
   3263   1.7  christos   SIMD_INSN ("cmeq", 0x5e209800, 0xff3ffc00, asisdmisc, 0, OP3 (Sd, Sn, IMM0), QL_SISD_CMP_0, F_SSIZE),
   3264   1.7  christos   SIMD_INSN ("cmlt", 0x5e20a800, 0xff3ffc00, asisdmisc, 0, OP3 (Sd, Sn, IMM0), QL_SISD_CMP_0, F_SSIZE),
   3265   1.6  christos   SIMD_INSN ("abs", 0x5e20b800, 0xff3ffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_2SAMED, F_SSIZE),
   3266   1.7  christos   SIMD_INSN ("sqxtn", 0x5e214800, 0xff3ffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_SISD_NARROW, F_SSIZE),
   3267   1.6  christos   SIMD_INSN ("fcvtns", 0x5e21a800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3268   1.7  christos   SF16_INSN ("fcvtns", 0x5e79a800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_S_2SAMEH, F_SSIZE),
   3269   1.6  christos   SIMD_INSN ("fcvtms", 0x5e21b800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3270   1.7  christos   SF16_INSN ("fcvtms", 0x5e79b800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_S_2SAMEH, F_SSIZE),
   3271   1.6  christos   SIMD_INSN ("fcvtas", 0x5e21c800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3272   1.7  christos   SF16_INSN ("fcvtas", 0x5e79c800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_S_2SAMEH, F_SSIZE),
   3273   1.6  christos   SIMD_INSN ("scvtf", 0x5e21d800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3274   1.7  christos   SF16_INSN ("scvtf", 0x5e79d800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_S_2SAMEH, F_SSIZE),
   3275   1.6  christos   SIMD_INSN ("fcmgt", 0x5ea0c800, 0xffbffc00, asisdmisc, 0, OP3 (Sd, Sn, FPIMM0), QL_SISD_FCMP_0, F_SSIZE),
   3276   1.7  christos   SF16_INSN ("fcmgt", 0x5ef8c800, 0xfffffc00, asisdmisc, OP3 (Sd, Sn, FPIMM0), QL_SISD_FCMP_H_0, F_SSIZE),
   3277   1.6  christos   SIMD_INSN ("fcmeq", 0x5ea0d800, 0xffbffc00, asisdmisc, 0, OP3 (Sd, Sn, FPIMM0), QL_SISD_FCMP_0, F_SSIZE),
   3278   1.7  christos   SF16_INSN ("fcmeq", 0x5ef8d800, 0xfffffc00, asisdmisc, OP3 (Sd, Sn, FPIMM0), QL_SISD_FCMP_H_0, F_SSIZE),
   3279   1.6  christos   SIMD_INSN ("fcmlt", 0x5ea0e800, 0xffbffc00, asisdmisc, 0, OP3 (Sd, Sn, FPIMM0), QL_SISD_FCMP_0, F_SSIZE),
   3280   1.7  christos   SF16_INSN ("fcmlt", 0x5ef8e800, 0xfffffc00, asisdmisc, OP3 (Sd, Sn, FPIMM0), QL_SISD_FCMP_H_0, F_SSIZE),
   3281   1.6  christos   SIMD_INSN ("fcvtps", 0x5ea1a800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3282   1.7  christos   SF16_INSN ("fcvtps", 0x5ef9a800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_S_2SAMEH, F_SSIZE),
   3283   1.6  christos   SIMD_INSN ("fcvtzs", 0x5ea1b800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3284   1.7  christos   SF16_INSN ("fcvtzs", 0x5ef9b800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_S_2SAMEH, F_SSIZE),
   3285   1.6  christos   SIMD_INSN ("frecpe", 0x5ea1d800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3286   1.7  christos   SF16_INSN ("frecpe", 0x5ef9d800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_S_2SAMEH, F_SSIZE),
   3287   1.7  christos   SIMD_INSN ("frecpx", 0x5ea1f800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3288   1.7  christos   SF16_INSN ("frecpx", 0x5ef9f800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_S_2SAMEH, F_SSIZE),
   3289   1.7  christos   SIMD_INSN ("usqadd", 0x7e203800, 0xff3ffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAME, F_SSIZE),
   3290   1.7  christos   SIMD_INSN ("sqneg", 0x7e207800, 0xff3ffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAME, F_SSIZE),
   3291   1.7  christos   SIMD_INSN ("cmge", 0x7e208800, 0xff3ffc00, asisdmisc, 0, OP3 (Sd, Sn, IMM0), QL_SISD_CMP_0, F_SSIZE),
   3292   1.7  christos   SIMD_INSN ("cmle", 0x7e209800, 0xff3ffc00, asisdmisc, 0, OP3 (Sd, Sn, IMM0), QL_SISD_CMP_0, F_SSIZE),
   3293   1.7  christos   SIMD_INSN ("neg", 0x7e20b800, 0xff3ffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_2SAMED, F_SSIZE),
   3294   1.7  christos   SIMD_INSN ("sqxtun", 0x7e212800, 0xff3ffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_SISD_NARROW, F_SSIZE),
   3295   1.6  christos   SIMD_INSN ("uqxtn", 0x7e214800, 0xff3ffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_SISD_NARROW, F_SSIZE),
   3296   1.7  christos   SIMD_INSN ("fcvtxn", 0x7e216800, 0xffbffc00, asisdmisc, OP_FCVTXN_S, OP2 (Sd, Sn), QL_SISD_NARROW_S, F_MISC),
   3297   1.6  christos   SIMD_INSN ("fcvtnu", 0x7e21a800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3298   1.7  christos   SF16_INSN ("fcvtnu", 0x7e79a800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_S_2SAMEH, F_SSIZE),
   3299   1.6  christos   SIMD_INSN ("fcvtmu", 0x7e21b800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3300   1.7  christos   SF16_INSN ("fcvtmu", 0x7e79b800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_S_2SAMEH, F_SSIZE),
   3301   1.6  christos   SIMD_INSN ("fcvtau", 0x7e21c800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3302   1.7  christos   SF16_INSN ("fcvtau", 0x7e79c800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_S_2SAMEH, F_SSIZE),
   3303   1.6  christos   SIMD_INSN ("ucvtf", 0x7e21d800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3304   1.7  christos   SF16_INSN ("ucvtf", 0x7e79d800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_S_2SAMEH, F_SSIZE),
   3305   1.6  christos   SIMD_INSN ("fcmge", 0x7ea0c800, 0xffbffc00, asisdmisc, 0, OP3 (Sd, Sn, FPIMM0), QL_SISD_FCMP_0, F_SSIZE),
   3306   1.7  christos   SF16_INSN ("fcmge", 0x7ef8c800, 0xfffffc00, asisdmisc, OP3 (Sd, Sn, FPIMM0), QL_SISD_FCMP_H_0, F_SSIZE),
   3307   1.6  christos   SIMD_INSN ("fcmle", 0x7ea0d800, 0xffbffc00, asisdmisc, 0, OP3 (Sd, Sn, FPIMM0), QL_SISD_FCMP_0, F_SSIZE),
   3308   1.7  christos   SF16_INSN ("fcmle", 0x7ef8d800, 0xfffffc00, asisdmisc, OP3 (Sd, Sn, FPIMM0), QL_SISD_FCMP_H_0, F_SSIZE),
   3309   1.6  christos   SIMD_INSN ("fcvtpu", 0x7ea1a800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3310   1.7  christos   SF16_INSN ("fcvtpu", 0x7ef9a800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_SISD_FCMP_H_0, F_SSIZE),
   3311   1.6  christos   SIMD_INSN ("fcvtzu", 0x7ea1b800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3312   1.1  christos   SF16_INSN ("fcvtzu", 0x7ef9b800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_S_2SAMEH, F_SSIZE),
   3313   1.7  christos   SIMD_INSN ("frsqrte", 0x7ea1d800, 0xffbffc00, asisdmisc, 0, OP2 (Sd, Sn), QL_S_2SAMESD, F_SSIZE),
   3314   1.7  christos   SF16_INSN ("frsqrte", 0x7ef9d800, 0xfffffc00, asisdmisc, OP2 (Sd, Sn), QL_S_2SAMEH, F_SSIZE),
   3315   1.1  christos   /* AdvSIMD scalar copy.  */
   3316   1.7  christos   SIMD_INSN ("dup", 0x5e000400, 0xffe0fc00, asisdone, 0, OP2 (Sd, En), QL_S_2SAME, F_HAS_ALIAS),
   3317   1.7  christos   SIMD_INSN ("mov", 0x5e000400, 0xffe0fc00, asisdone, 0, OP2 (Sd, En), QL_S_2SAME, F_ALIAS),
   3318   1.6  christos   /* AdvSIMD scalar pairwise.  */
   3319   1.7  christos   SIMD_INSN ("addp", 0x5e31b800, 0xff3ffc00, asisdpair, 0, OP2 (Sd, Vn), QL_SISD_PAIR_D, F_SIZEQ),
   3320   1.6  christos   SIMD_INSN ("fmaxnmp", 0x7e30c800, 0xffbffc00, asisdpair, 0, OP2 (Sd, Vn), QL_SISD_PAIR, F_SIZEQ),
   3321   1.7  christos   SF16_INSN ("fmaxnmp", 0x5e30c800, 0xfffffc00, asisdpair, OP2 (Sd, Vn), QL_SISD_PAIR_H, F_SIZEQ),
   3322   1.6  christos   SIMD_INSN ("faddp", 0x7e30d800, 0xffbffc00, asisdpair, 0, OP2 (Sd, Vn), QL_SISD_PAIR, F_SIZEQ),
   3323   1.7  christos   SF16_INSN ("faddp", 0x5e30d800, 0xfffffc00, asisdpair, OP2 (Sd, Vn), QL_SISD_PAIR_H, F_SIZEQ),
   3324   1.6  christos   SIMD_INSN ("fmaxp", 0x7e30f800, 0xffbffc00, asisdpair, 0, OP2 (Sd, Vn), QL_SISD_PAIR, F_SIZEQ),
   3325   1.7  christos   SF16_INSN ("fmaxp", 0x5e30f800, 0xfffffc00, asisdpair, OP2 (Sd, Vn), QL_SISD_PAIR_H, F_SIZEQ),
   3326   1.6  christos   SIMD_INSN ("fminnmp", 0x7eb0c800, 0xffbffc00, asisdpair, 0, OP2 (Sd, Vn), QL_SISD_PAIR, F_SIZEQ),
   3327   1.1  christos   SF16_INSN ("fminnmp", 0x5eb0c800, 0xfffffc00, asisdpair, OP2 (Sd, Vn), QL_SISD_PAIR_H, F_SIZEQ),
   3328   1.7  christos   SIMD_INSN ("fminp", 0x7eb0f800, 0xffbffc00, asisdpair, 0, OP2 (Sd, Vn), QL_SISD_PAIR, F_SIZEQ),
   3329   1.7  christos   SF16_INSN ("fminp", 0x5eb0f800, 0xfffffc00, asisdpair, OP2 (Sd, Vn), QL_SISD_PAIR_H, F_SIZEQ),
   3330   1.7  christos   /* AdvSIMD scalar three same.  */
   3331   1.7  christos   SIMD_INSN ("sqadd", 0x5e200c00, 0xff20fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAME, F_SSIZE),
   3332   1.7  christos   SIMD_INSN ("sqsub", 0x5e202c00, 0xff20fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAME, F_SSIZE),
   3333   1.7  christos   SIMD_INSN ("sqshl", 0x5e204c00, 0xff20fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAME, F_SSIZE),
   3334   1.6  christos   SIMD_INSN ("sqrshl", 0x5e205c00, 0xff20fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAME, F_SSIZE),
   3335   1.7  christos   SIMD_INSN ("sqdmulh", 0x5e20b400, 0xff20fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_SISD_HS, F_SSIZE),
   3336   1.6  christos   SIMD_INSN ("fmulx", 0x5e20dc00, 0xffa0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_FP3, F_SSIZE),
   3337   1.7  christos   SF16_INSN ("fmulx", 0x5e401c00, 0xffe0fc00, asisdsame, OP3 (Sd, Sn, Sm), QL_FP3_H, F_SSIZE),
   3338   1.6  christos   SIMD_INSN ("fcmeq", 0x5e20e400, 0xffa0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_FP3, F_SSIZE),
   3339   1.7  christos   SF16_INSN ("fcmeq", 0x5e402400, 0xffe0fc00, asisdsame, OP3 (Sd, Sn, Sm), QL_FP3_H, F_SSIZE),
   3340   1.6  christos   SIMD_INSN ("frecps", 0x5e20fc00, 0xffa0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_FP3, F_SSIZE),
   3341   1.7  christos   SF16_INSN ("frecps", 0x5e403c00, 0xffe0fc00, asisdsame, OP3 (Sd, Sn, Sm), QL_FP3_H, F_SSIZE),
   3342   1.7  christos   SIMD_INSN ("frsqrts", 0x5ea0fc00, 0xffa0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_FP3, F_SSIZE),
   3343   1.7  christos   SF16_INSN ("frsqrts", 0x5ec03c00, 0xffe0fc00, asisdsame, OP3 (Sd, Sn, Sm), QL_FP3_H, F_SSIZE),
   3344   1.7  christos   SIMD_INSN ("cmgt", 0x5ee03400, 0xffe0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE),
   3345   1.7  christos   SIMD_INSN ("cmge", 0x5ee03c00, 0xffe0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE),
   3346   1.7  christos   SIMD_INSN ("sshl", 0x5ee04400, 0xffe0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE),
   3347   1.7  christos   SIMD_INSN ("srshl", 0x5ee05400, 0xffe0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE),
   3348   1.7  christos   SIMD_INSN ("add", 0x5ee08400, 0xffe0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE),
   3349   1.7  christos   SIMD_INSN ("cmtst", 0x5ee08c00, 0xffe0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE),
   3350   1.7  christos   SIMD_INSN ("uqadd", 0x7e200c00, 0xff20fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAME, F_SSIZE),
   3351   1.7  christos   SIMD_INSN ("uqsub", 0x7e202c00, 0xff20fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAME, F_SSIZE),
   3352   1.7  christos   SIMD_INSN ("uqshl", 0x7e204c00, 0xff20fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAME, F_SSIZE),
   3353   1.6  christos   SIMD_INSN ("uqrshl", 0x7e205c00, 0xff20fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAME, F_SSIZE),
   3354   1.7  christos   SIMD_INSN ("sqrdmulh", 0x7e20b400, 0xff20fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_SISD_HS, F_SSIZE),
   3355   1.6  christos   SIMD_INSN ("fcmge", 0x7e20e400, 0xffa0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_FP3, F_SSIZE),
   3356   1.7  christos   SF16_INSN ("fcmge", 0x7e402400, 0xffe0fc00, asisdsame, OP3 (Sd, Sn, Sm), QL_FP3_H, F_SSIZE),
   3357   1.6  christos   SIMD_INSN ("facge", 0x7e20ec00, 0xffa0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_FP3, F_SSIZE),
   3358   1.7  christos   SF16_INSN ("facge", 0x7e402c00, 0xffe0fc00, asisdsame, OP3 (Sd, Sn, Sm), QL_FP3_H, F_SSIZE),
   3359   1.6  christos   SIMD_INSN ("fabd", 0x7ea0d400, 0xffa0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_FP3, F_SSIZE),
   3360   1.7  christos   SF16_INSN ("fabd", 0x7ec01400, 0xffe0fc00, asisdsame, OP3 (Sd, Sn, Sm), QL_FP3_H, F_SSIZE),
   3361   1.6  christos   SIMD_INSN ("fcmgt", 0x7ea0e400, 0xffa0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_FP3, F_SSIZE),
   3362   1.7  christos   SF16_INSN ("fcmgt", 0x7ec02400, 0xffe0fc00, asisdsame, OP3 (Sd, Sn, Sm), QL_FP3_H, F_SSIZE),
   3363   1.7  christos   SIMD_INSN ("facgt", 0x7ea0ec00, 0xffa0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_FP3, F_SSIZE),
   3364   1.7  christos   SF16_INSN ("facgt", 0x7ec02c00, 0xffe0fc00, asisdsame, OP3 (Sd, Sn, Sm), QL_FP3_H, F_SSIZE),
   3365   1.7  christos   SIMD_INSN ("cmhi", 0x7ee03400, 0xffe0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE),
   3366   1.7  christos   SIMD_INSN ("cmhs", 0x7ee03c00, 0xffe0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE),
   3367   1.7  christos   SIMD_INSN ("ushl", 0x7ee04400, 0xffe0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE),
   3368   1.5  christos   SIMD_INSN ("urshl", 0x7ee05400, 0xffe0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE),
   3369   1.6  christos   SIMD_INSN ("sub", 0x7ee08400, 0xffe0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE),
   3370   1.6  christos   SIMD_INSN ("cmeq", 0x7ee08c00, 0xffe0fc00, asisdsame, 0, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE),
   3371   1.1  christos   /* AdvSIMDs scalar three same extension.  */
   3372   1.7  christos   RDMA_INSN ("sqrdmlah", 0x7e008400, 0xff20fc00, asimdsame, OP3 (Sd, Sn, Sm), QL_SISD_HS, F_SSIZE),
   3373   1.7  christos   RDMA_INSN ("sqrdmlsh", 0x7e008c00, 0xff20fc00, asimdsame, OP3 (Sd, Sn, Sm), QL_SISD_HS, F_SSIZE),
   3374   1.7  christos   /* AdvSIMD scalar shift by immediate.  */
   3375   1.7  christos   SIMD_INSN ("sshr", 0x5f000400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_D, 0),
   3376   1.7  christos   SIMD_INSN ("ssra", 0x5f001400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_D, 0),
   3377   1.7  christos   SIMD_INSN ("srshr", 0x5f002400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_D, 0),
   3378   1.7  christos   SIMD_INSN ("srsra", 0x5f003400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_D, 0),
   3379   1.7  christos   SIMD_INSN ("shl", 0x5f005400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSL), QL_SSHIFT_D, 0),
   3380   1.7  christos   SIMD_INSN ("sqshl", 0x5f007400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSL), QL_SSHIFT, 0),
   3381   1.6  christos   SIMD_INSN ("sqshrn", 0x5f009400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFTN, 0),
   3382   1.7  christos   SIMD_INSN ("sqrshrn", 0x5f009c00, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFTN, 0),
   3383   1.6  christos   SIMD_INSN ("scvtf", 0x5f00e400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_SD, 0),
   3384   1.7  christos   SF16_INSN ("scvtf", 0x5f10e400, 0xff80fc00, asisdshf, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_H, 0),
   3385   1.7  christos   SIMD_INSN ("fcvtzs", 0x5f00fc00, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_SD, 0),
   3386   1.7  christos   SF16_INSN ("fcvtzs", 0x5f10fc00, 0xff80fc00, asisdshf, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_H, 0),
   3387   1.7  christos   SIMD_INSN ("ushr", 0x7f000400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_D, 0),
   3388   1.7  christos   SIMD_INSN ("usra", 0x7f001400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_D, 0),
   3389   1.7  christos   SIMD_INSN ("urshr", 0x7f002400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_D, 0),
   3390   1.7  christos   SIMD_INSN ("ursra", 0x7f003400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_D, 0),
   3391   1.7  christos   SIMD_INSN ("sri", 0x7f004400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_D, 0),
   3392   1.7  christos   SIMD_INSN ("sli", 0x7f005400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSL), QL_SSHIFT_D, 0),
   3393   1.7  christos   SIMD_INSN ("sqshlu", 0x7f006400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSL), QL_SSHIFT, 0),
   3394   1.7  christos   SIMD_INSN ("uqshl", 0x7f007400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSL), QL_SSHIFT, 0),
   3395   1.7  christos   SIMD_INSN ("sqshrun", 0x7f008400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFTN, 0),
   3396   1.7  christos   SIMD_INSN ("sqrshrun", 0x7f008c00, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFTN, 0),
   3397   1.6  christos   SIMD_INSN ("uqshrn", 0x7f009400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFTN, 0),
   3398   1.7  christos   SIMD_INSN ("uqrshrn", 0x7f009c00, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFTN, 0),
   3399   1.6  christos   SIMD_INSN ("ucvtf", 0x7f00e400, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_SD, 0),
   3400   1.1  christos   SF16_INSN ("ucvtf", 0x7f10e400, 0xff80fc00, asisdshf, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_H, 0),
   3401   1.7  christos   SIMD_INSN ("fcvtzu", 0x7f00fc00, 0xff80fc00, asisdshf, 0, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_SD, 0),
   3402   1.7  christos   SF16_INSN ("fcvtzu", 0x7f10fc00, 0xff80fc00, asisdshf, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_H, 0),
   3403   1.7  christos   /* Bitfield.  */
   3404   1.7  christos   CORE_INSN ("sbfm", 0x13000000, 0x7f800000, bitfield, 0, OP4 (Rd, Rn, IMMR, IMMS), QL_BF, F_HAS_ALIAS | F_SF | F_N),
   3405   1.7  christos   CORE_INSN ("sbfiz", 0x13000000, 0x7f800000, bitfield, OP_SBFIZ, OP4 (Rd, Rn, IMM, WIDTH), QL_BF2, F_ALIAS | F_P1 | F_CONV),
   3406   1.7  christos   CORE_INSN ("sbfx",  0x13000000, 0x7f800000, bitfield, OP_SBFX,  OP4 (Rd, Rn, IMM, WIDTH), QL_BF2, F_ALIAS | F_P1 | F_CONV),
   3407   1.7  christos   CORE_INSN ("sxtb", 0x13001c00, 0x7fbffc00, bitfield, 0, OP2 (Rd, Rn), QL_EXT, F_ALIAS | F_P3 | F_SF | F_N),
   3408   1.7  christos   CORE_INSN ("sxth", 0x13003c00, 0x7fbffc00, bitfield, 0, OP2 (Rd, Rn), QL_EXT, F_ALIAS | F_P3 | F_SF | F_N),
   3409   1.7  christos   CORE_INSN ("sxtw", 0x93407c00, 0xfffffc00, bitfield, 0, OP2 (Rd, Rn), QL_EXT_W, F_ALIAS | F_P3),
   3410   1.7  christos   CORE_INSN ("asr", 0x13000000, 0x7f800000, bitfield, OP_ASR_IMM, OP3 (Rd, Rn, IMM), QL_SHIFT, F_ALIAS | F_P2 | F_CONV),
   3411   1.7  christos   CORE_INSN ("bfm", 0x33000000, 0x7f800000, bitfield, 0, OP4 (Rd, Rn, IMMR, IMMS), QL_BF, F_HAS_ALIAS | F_SF | F_N),
   3412   1.7  christos   CORE_INSN ("bfi", 0x33000000, 0x7f800000, bitfield, OP_BFI, OP4 (Rd, Rn, IMM, WIDTH), QL_BF2, F_ALIAS | F_P1 | F_CONV),
   3413   1.7  christos   V8_2_INSN ("bfc", 0x330003e0, 0x7f8003e0, bitfield, OP_BFC, OP3 (Rd, IMM, WIDTH), QL_BF1, F_ALIAS | F_P2 | F_CONV),
   3414   1.7  christos   CORE_INSN ("bfxil", 0x33000000, 0x7f800000, bitfield, OP_BFXIL, OP4 (Rd, Rn, IMM, WIDTH), QL_BF2, F_ALIAS | F_P1 | F_CONV),
   3415   1.7  christos   CORE_INSN ("ubfm", 0x53000000, 0x7f800000, bitfield, 0, OP4 (Rd, Rn, IMMR, IMMS), QL_BF, F_HAS_ALIAS | F_SF | F_N),
   3416   1.7  christos   CORE_INSN ("ubfiz", 0x53000000, 0x7f800000, bitfield, OP_UBFIZ, OP4 (Rd, Rn, IMM, WIDTH), QL_BF2, F_ALIAS | F_P1 | F_CONV),
   3417   1.7  christos   CORE_INSN ("ubfx", 0x53000000, 0x7f800000, bitfield, OP_UBFX, OP4 (Rd, Rn, IMM, WIDTH), QL_BF2, F_ALIAS | F_P1 | F_CONV),
   3418   1.7  christos   CORE_INSN ("uxtb", 0x53001c00, 0xfffffc00, bitfield, OP_UXTB, OP2 (Rd, Rn), QL_I2SAMEW, F_ALIAS | F_P3),
   3419   1.1  christos   CORE_INSN ("uxth", 0x53003c00, 0xfffffc00, bitfield, OP_UXTH, OP2 (Rd, Rn), QL_I2SAMEW, F_ALIAS | F_P3),
   3420   1.7  christos   CORE_INSN ("lsl", 0x53000000, 0x7f800000, bitfield, OP_LSL_IMM, OP3 (Rd, Rn, IMM), QL_SHIFT, F_ALIAS | F_P2 | F_CONV),
   3421   1.7  christos   CORE_INSN ("lsr", 0x53000000, 0x7f800000, bitfield, OP_LSR_IMM, OP3 (Rd, Rn, IMM), QL_SHIFT, F_ALIAS | F_P2 | F_CONV),
   3422   1.1  christos   /* Unconditional branch (immediate).  */
   3423   1.7  christos   CORE_INSN ("b", 0x14000000, 0xfc000000, branch_imm, OP_B, OP1 (ADDR_PCREL26), QL_PCREL_26, 0),
   3424   1.7  christos   CORE_INSN ("bl", 0x94000000, 0xfc000000, branch_imm, OP_BL, OP1 (ADDR_PCREL26), QL_PCREL_26, 0),
   3425   1.7  christos   /* Unconditional branch (register).  */
   3426   1.7  christos   CORE_INSN ("br", 0xd61f0000, 0xfffffc1f, branch_reg, 0, OP1 (Rn), QL_I1X, 0),
   3427   1.7  christos   CORE_INSN ("blr", 0xd63f0000, 0xfffffc1f, branch_reg, 0, OP1 (Rn), QL_I1X, 0),
   3428  1.10  christos   CORE_INSN ("ret", 0xd65f0000, 0xfffffc1f, branch_reg, 0, OP1 (Rn), QL_I1X, F_OPD0_OPT | F_DEFAULT (30)),
   3429  1.10  christos   CORE_INSN ("eret", 0xd69f03e0, 0xffffffff, branch_reg, 0, OP0 (), {}, 0),
   3430  1.10  christos   CORE_INSN ("drps", 0xd6bf03e0, 0xffffffff, branch_reg, 0, OP0 (), {}, 0),
   3431  1.10  christos   PAC_INSN ("braa", 0xd71f0800, 0xfffffc00, branch_reg, OP2 (Rn, Rd_SP), QL_I2SAMEX, 0),
   3432  1.10  christos   PAC_INSN ("brab", 0xd71f0c00, 0xfffffc00, branch_reg, OP2 (Rn, Rd_SP), QL_I2SAMEX, 0),
   3433  1.10  christos   PAC_INSN ("blraa", 0xd73f0800, 0xfffffc00, branch_reg, OP2 (Rn, Rd_SP), QL_I2SAMEX, 0),
   3434  1.10  christos   PAC_INSN ("blrab", 0xd73f0c00, 0xfffffc00, branch_reg, OP2 (Rn, Rd_SP), QL_I2SAMEX, 0),
   3435  1.10  christos   PAC_INSN ("braaz", 0xd61f081f, 0xfffffc1f, branch_reg, OP1 (Rn), QL_I1X, 0),
   3436  1.10  christos   PAC_INSN ("brabz", 0xd61f0c1f, 0xfffffc1f, branch_reg, OP1 (Rn), QL_I1X, 0),
   3437  1.10  christos   PAC_INSN ("blraaz", 0xd63f081f, 0xfffffc1f, branch_reg, OP1 (Rn), QL_I1X, 0),
   3438  1.10  christos   PAC_INSN ("blrabz", 0xd63f0c1f, 0xfffffc1f, branch_reg, OP1 (Rn), QL_I1X, 0),
   3439  1.10  christos   PAC_INSN ("retaa", 0xd65f0bff, 0xffffffff, branch_reg, OP0 (), {}, 0),
   3440   1.1  christos   PAC_INSN ("retab", 0xd65f0fff, 0xffffffff, branch_reg, OP0 (), {}, 0),
   3441   1.7  christos   PAC_INSN ("eretaa", 0xd69f0bff, 0xffffffff, branch_reg, OP0 (), {}, 0),
   3442   1.7  christos   PAC_INSN ("eretab", 0xd69f0fff, 0xffffffff, branch_reg, OP0 (), {}, 0),
   3443   1.1  christos   /* Compare & branch (immediate).  */
   3444   1.7  christos   CORE_INSN ("cbz", 0x34000000, 0x7f000000, compbranch, 0, OP2 (Rt, ADDR_PCREL19), QL_R_PCREL, F_SF),
   3445   1.1  christos   CORE_INSN ("cbnz", 0x35000000, 0x7f000000, compbranch, 0, OP2 (Rt, ADDR_PCREL19), QL_R_PCREL, F_SF),
   3446   1.7  christos   /* Conditional branch (immediate).  */
   3447   1.7  christos   CORE_INSN ("b.c", 0x54000000, 0xff000010, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_COND),
   3448   1.1  christos   /* Conditional compare (immediate).  */
   3449   1.7  christos   CORE_INSN ("ccmn", 0x3a400800, 0x7fe00c10, condcmp_imm, 0, OP4 (Rn, CCMP_IMM, NZCV, COND), QL_CCMP_IMM, F_SF),
   3450   1.7  christos   CORE_INSN ("ccmp", 0x7a400800, 0x7fe00c10, condcmp_imm, 0, OP4 (Rn, CCMP_IMM, NZCV, COND), QL_CCMP_IMM, F_SF),
   3451   1.1  christos   /* Conditional compare (register).  */
   3452   1.7  christos   CORE_INSN ("ccmn", 0x3a400000, 0x7fe00c10, condcmp_reg, 0, OP4 (Rn, Rm, NZCV, COND), QL_CCMP, F_SF),
   3453   1.7  christos   CORE_INSN ("ccmp", 0x7a400000, 0x7fe00c10, condcmp_reg, 0, OP4 (Rn, Rm, NZCV, COND), QL_CCMP, F_SF),
   3454   1.7  christos   /* Conditional select.  */
   3455   1.7  christos   CORE_INSN ("csel", 0x1a800000, 0x7fe00c00, condsel, 0, OP4 (Rd, Rn, Rm, COND), QL_CSEL, F_SF),
   3456   1.7  christos   CORE_INSN ("csinc", 0x1a800400, 0x7fe00c00, condsel, 0, OP4 (Rd, Rn, Rm, COND), QL_CSEL, F_HAS_ALIAS | F_SF),
   3457   1.7  christos   CORE_INSN ("cinc", 0x1a800400, 0x7fe00c00, condsel, OP_CINC, OP3 (Rd, Rn, COND1), QL_CSEL, F_ALIAS | F_SF | F_CONV),
   3458   1.7  christos   CORE_INSN ("cset", 0x1a9f07e0, 0x7fff0fe0, condsel, OP_CSET, OP2 (Rd, COND1), QL_DST_R, F_ALIAS | F_P1 | F_SF | F_CONV),
   3459   1.7  christos   CORE_INSN ("csinv", 0x5a800000, 0x7fe00c00, condsel, 0, OP4 (Rd, Rn, Rm, COND), QL_CSEL, F_HAS_ALIAS | F_SF),
   3460   1.7  christos   CORE_INSN ("cinv", 0x5a800000, 0x7fe00c00, condsel, OP_CINV, OP3 (Rd, Rn, COND1), QL_CSEL, F_ALIAS | F_SF | F_CONV),
   3461   1.1  christos   CORE_INSN ("csetm", 0x5a9f03e0, 0x7fff0fe0, condsel, OP_CSETM, OP2 (Rd, COND1), QL_DST_R, F_ALIAS | F_P1 | F_SF | F_CONV),
   3462   1.8  christos   CORE_INSN ("csneg", 0x5a800400, 0x7fe00c00, condsel, 0, OP4 (Rd, Rn, Rm, COND), QL_CSEL, F_HAS_ALIAS | F_SF),
   3463   1.8  christos   CORE_INSN ("cneg", 0x5a800400, 0x7fe00c00, condsel, OP_CNEG, OP3 (Rd, Rn, COND1), QL_CSEL, F_ALIAS | F_SF | F_CONV),
   3464   1.8  christos   /* Crypto AES.  */
   3465   1.8  christos   AES_INSN ("aese",     0x4e284800, 0xfffffc00, cryptoaes, OP2 (Vd, Vn), QL_V2SAME16B, 0),
   3466   1.1  christos   AES_INSN ("aesd",     0x4e285800, 0xfffffc00, cryptoaes, OP2 (Vd, Vn), QL_V2SAME16B, 0),
   3467   1.8  christos   AES_INSN ("aesmc",    0x4e286800, 0xfffffc00, cryptoaes, OP2 (Vd, Vn), QL_V2SAME16B, 0),
   3468   1.8  christos   AES_INSN ("aesimc",   0x4e287800, 0xfffffc00, cryptoaes, OP2 (Vd, Vn), QL_V2SAME16B, 0),
   3469   1.8  christos   /* Crypto two-reg SHA.  */
   3470   1.1  christos   SHA2_INSN ("sha1h",    0x5e280800, 0xfffffc00, cryptosha2, OP2 (Fd, Fn), QL_2SAMES, 0),
   3471   1.8  christos   SHA2_INSN ("sha1su1",  0x5e281800, 0xfffffc00, cryptosha2, OP2 (Vd, Vn), QL_V2SAME4S, 0),
   3472   1.8  christos   SHA2_INSN ("sha256su0",0x5e282800, 0xfffffc00, cryptosha2, OP2 (Vd, Vn), QL_V2SAME4S, 0),
   3473   1.8  christos   /* Crypto three-reg SHA.  */
   3474   1.8  christos   SHA2_INSN ("sha1c",    0x5e000000, 0xffe0fc00, cryptosha3, OP3 (Fd, Fn, Vm), QL_SHAUPT, 0),
   3475   1.8  christos   SHA2_INSN ("sha1p",    0x5e001000, 0xffe0fc00, cryptosha3, OP3 (Fd, Fn, Vm), QL_SHAUPT, 0),
   3476   1.8  christos   SHA2_INSN ("sha1m",    0x5e002000, 0xffe0fc00, cryptosha3, OP3 (Fd, Fn, Vm), QL_SHAUPT, 0),
   3477   1.8  christos   SHA2_INSN ("sha1su0",  0x5e003000, 0xffe0fc00, cryptosha3, OP3 (Vd, Vn, Vm), QL_V3SAME4S, 0),
   3478   1.1  christos   SHA2_INSN ("sha256h",  0x5e004000, 0xffe0fc00, cryptosha3, OP3 (Fd, Fn, Vm), QL_SHA256UPT, 0),
   3479   1.7  christos   SHA2_INSN ("sha256h2", 0x5e005000, 0xffe0fc00, cryptosha3, OP3 (Fd, Fn, Vm), QL_SHA256UPT, 0),
   3480   1.7  christos   SHA2_INSN ("sha256su1",0x5e006000, 0xffe0fc00, cryptosha3, OP3 (Vd, Vn, Vm), QL_V3SAME4S, 0),
   3481   1.7  christos   /* Data-processing (1 source).  */
   3482   1.7  christos   CORE_INSN ("rbit",  0x5ac00000, 0x7ffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAME, F_SF),
   3483   1.7  christos   CORE_INSN ("rev16", 0x5ac00400, 0x7ffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAME, F_SF),
   3484   1.7  christos   CORE_INSN ("rev",   0x5ac00800, 0xfffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAMEW, 0),
   3485   1.7  christos   CORE_INSN ("rev",   0xdac00c00, 0xfffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAMEX, F_SF | F_HAS_ALIAS | F_P1),
   3486   1.7  christos   V8_2_INSN ("rev64", 0xdac00c00, 0xfffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAMEX, F_SF | F_ALIAS),
   3487  1.10  christos   CORE_INSN ("clz",   0x5ac01000, 0x7ffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAME, F_SF),
   3488  1.10  christos   CORE_INSN ("cls",   0x5ac01400, 0x7ffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAME, F_SF),
   3489  1.10  christos   CORE_INSN ("rev32", 0xdac00800, 0xfffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAMEX, 0),
   3490  1.10  christos   PAC_INSN ("pacia", 0xdac10000, 0xfffffc00, dp_1src, OP2 (Rd, Rn_SP), QL_I2SAMEX, 0),
   3491  1.10  christos   PAC_INSN ("pacib", 0xdac10400, 0xfffffc00, dp_1src, OP2 (Rd, Rn_SP), QL_I2SAMEX, 0),
   3492  1.10  christos   PAC_INSN ("pacda", 0xdac10800, 0xfffffc00, dp_1src, OP2 (Rd, Rn_SP), QL_I2SAMEX, 0),
   3493  1.10  christos   PAC_INSN ("pacdb", 0xdac10c00, 0xfffffc00, dp_1src, OP2 (Rd, Rn_SP), QL_I2SAMEX, 0),
   3494  1.10  christos   PAC_INSN ("autia", 0xdac11000, 0xfffffc00, dp_1src, OP2 (Rd, Rn_SP), QL_I2SAMEX, 0),
   3495  1.10  christos   PAC_INSN ("autib", 0xdac11400, 0xfffffc00, dp_1src, OP2 (Rd, Rn_SP), QL_I2SAMEX, 0),
   3496  1.10  christos   PAC_INSN ("autda", 0xdac11800, 0xfffffc00, dp_1src, OP2 (Rd, Rn_SP), QL_I2SAMEX, 0),
   3497  1.10  christos   PAC_INSN ("autdb", 0xdac11c00, 0xfffffc00, dp_1src, OP2 (Rd, Rn_SP), QL_I2SAMEX, 0),
   3498  1.10  christos   PAC_INSN ("paciza", 0xdac123e0, 0xffffffe0, dp_1src, OP1 (Rd), QL_I1X, 0),
   3499  1.10  christos   PAC_INSN ("pacizb", 0xdac127e0, 0xffffffe0, dp_1src, OP1 (Rd), QL_I1X, 0),
   3500  1.10  christos   PAC_INSN ("pacdza", 0xdac12be0, 0xffffffe0, dp_1src, OP1 (Rd), QL_I1X, 0),
   3501  1.10  christos   PAC_INSN ("pacdzb", 0xdac12fe0, 0xffffffe0, dp_1src, OP1 (Rd), QL_I1X, 0),
   3502  1.10  christos   PAC_INSN ("autiza", 0xdac133e0, 0xffffffe0, dp_1src, OP1 (Rd), QL_I1X, 0),
   3503  1.10  christos   PAC_INSN ("autizb", 0xdac137e0, 0xffffffe0, dp_1src, OP1 (Rd), QL_I1X, 0),
   3504  1.10  christos   PAC_INSN ("autdza", 0xdac13be0, 0xffffffe0, dp_1src, OP1 (Rd), QL_I1X, 0),
   3505   1.1  christos   PAC_INSN ("autdzb", 0xdac13fe0, 0xffffffe0, dp_1src, OP1 (Rd), QL_I1X, 0),
   3506   1.7  christos   PAC_INSN ("xpaci", 0xdac143e0, 0xffffffe0, dp_1src, OP1 (Rd), QL_I1X, 0),
   3507   1.7  christos   PAC_INSN ("xpacd", 0xdac147e0, 0xffffffe0, dp_1src, OP1 (Rd), QL_I1X, 0),
   3508   1.7  christos   /* Data-processing (2 source).  */
   3509   1.7  christos   CORE_INSN ("udiv",  0x1ac00800, 0x7fe0fc00, dp_2src, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF),
   3510   1.7  christos   CORE_INSN ("sdiv",  0x1ac00c00, 0x7fe0fc00, dp_2src, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF),
   3511   1.7  christos   CORE_INSN ("lslv",  0x1ac02000, 0x7fe0fc00, dp_2src, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF | F_HAS_ALIAS),
   3512   1.7  christos   CORE_INSN ("lsl",   0x1ac02000, 0x7fe0fc00, dp_2src, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF | F_ALIAS),
   3513   1.7  christos   CORE_INSN ("lsrv",  0x1ac02400, 0x7fe0fc00, dp_2src, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF | F_HAS_ALIAS),
   3514   1.7  christos   CORE_INSN ("lsr",   0x1ac02400, 0x7fe0fc00, dp_2src, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF | F_ALIAS),
   3515   1.7  christos   CORE_INSN ("asrv",  0x1ac02800, 0x7fe0fc00, dp_2src, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF | F_HAS_ALIAS),
   3516   1.8  christos   CORE_INSN ("asr",   0x1ac02800, 0x7fe0fc00, dp_2src, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF | F_ALIAS),
   3517   1.8  christos   CORE_INSN ("rorv",  0x1ac02c00, 0x7fe0fc00, dp_2src, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF | F_HAS_ALIAS),
   3518   1.8  christos   CORE_INSN ("ror",   0x1ac02c00, 0x7fe0fc00, dp_2src, 0, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF | F_ALIAS),
   3519   1.8  christos   MEMTAG_INSN ("subp",   0x9ac00000, 0xffe0fc00, dp_2src, OP3 (Rd, Rn_SP, Rm_SP), QL_I3SAMEX, 0),
   3520   1.8  christos   MEMTAG_INSN ("subps",  0xbac00000, 0xffe0fc00, dp_2src, OP3 (Rd, Rn_SP, Rm_SP), QL_I3SAMEX, F_HAS_ALIAS),
   3521  1.10  christos   MEMTAG_INSN ("cmpp",   0xbac0001f, 0xffe0fc1f, dp_2src, OP2 (Rn_SP, Rm_SP), QL_I2SAMEX, F_ALIAS),
   3522   1.1  christos   MEMTAG_INSN ("irg",    0x9ac01000, 0xffe0fc00, dp_2src, OP3 (Rd_SP, Rn_SP, Rm), QL_I3SAMEX, F_OPD2_OPT | F_DEFAULT (0x1f)),
   3523   1.6  christos   MEMTAG_INSN ("gmi",    0x9ac01400, 0xffe0fc00, dp_2src, OP3 (Rd, Rn_SP, Rm), QL_I3SAMEX, 0),
   3524   1.6  christos   PAC_INSN ("pacga", 0x9ac03000, 0xffe0fc00, dp_2src, OP3 (Rd, Rn, Rm_SP), QL_I3SAMEX, 0),
   3525   1.6  christos   /* CRC instructions.  */
   3526   1.6  christos   _CRC_INSN ("crc32b", 0x1ac04000, 0xffe0fc00, dp_2src, OP3 (Rd, Rn, Rm), QL_I3SAMEW, 0),
   3527   1.6  christos   _CRC_INSN ("crc32h", 0x1ac04400, 0xffe0fc00, dp_2src, OP3 (Rd, Rn, Rm), QL_I3SAMEW, 0),
   3528   1.6  christos   _CRC_INSN ("crc32w", 0x1ac04800, 0xffe0fc00, dp_2src, OP3 (Rd, Rn, Rm), QL_I3SAMEW, 0),
   3529   1.6  christos   _CRC_INSN ("crc32x", 0x9ac04c00, 0xffe0fc00, dp_2src, OP3 (Rd, Rn, Rm), QL_I3WWX,   0),
   3530   1.6  christos   _CRC_INSN ("crc32cb",0x1ac05000, 0xffe0fc00, dp_2src, OP3 (Rd, Rn, Rm), QL_I3SAMEW, 0),
   3531   1.1  christos   _CRC_INSN ("crc32ch",0x1ac05400, 0xffe0fc00, dp_2src, OP3 (Rd, Rn, Rm), QL_I3SAMEW, 0),
   3532   1.7  christos   _CRC_INSN ("crc32cw",0x1ac05800, 0xffe0fc00, dp_2src, OP3 (Rd, Rn, Rm), QL_I3SAMEW, 0),
   3533   1.7  christos   _CRC_INSN ("crc32cx",0x9ac05c00, 0xffe0fc00, dp_2src, OP3 (Rd, Rn, Rm), QL_I3WWX,   0),
   3534   1.7  christos   /* Data-processing (3 source).  */
   3535   1.7  christos   CORE_INSN ("madd",  0x1b000000, 0x7fe08000, dp_3src, 0, OP4 (Rd, Rn, Rm, Ra), QL_I4SAMER, F_HAS_ALIAS | F_SF),
   3536   1.7  christos   CORE_INSN ("mul",   0x1b007c00, 0x7fe0fc00, dp_3src, 0, OP3 (Rd, Rn, Rm),     QL_I3SAMER, F_ALIAS | F_SF),
   3537   1.7  christos   CORE_INSN ("msub",  0x1b008000, 0x7fe08000, dp_3src, 0, OP4 (Rd, Rn, Rm, Ra), QL_I4SAMER, F_HAS_ALIAS | F_SF),
   3538   1.7  christos   CORE_INSN ("mneg",  0x1b00fc00, 0x7fe0fc00, dp_3src, 0, OP3 (Rd, Rn, Rm),     QL_I3SAMER, F_ALIAS | F_SF),
   3539   1.7  christos   CORE_INSN ("smaddl",0x9b200000, 0xffe08000, dp_3src, 0, OP4 (Rd, Rn, Rm, Ra), QL_I4SAMEL, F_HAS_ALIAS),
   3540   1.7  christos   CORE_INSN ("smull", 0x9b207c00, 0xffe0fc00, dp_3src, 0, OP3 (Rd, Rn, Rm),     QL_I3SAMEL, F_ALIAS),
   3541   1.7  christos   CORE_INSN ("smsubl",0x9b208000, 0xffe08000, dp_3src, 0, OP4 (Rd, Rn, Rm, Ra), QL_I4SAMEL, F_HAS_ALIAS),
   3542   1.7  christos   CORE_INSN ("smnegl",0x9b20fc00, 0xffe0fc00, dp_3src, 0, OP3 (Rd, Rn, Rm),     QL_I3SAMEL, F_ALIAS),
   3543   1.7  christos   CORE_INSN ("smulh", 0x9b407c00, 0xffe08000, dp_3src, 0, OP3 (Rd, Rn, Rm),     QL_I3SAMEX, 0),
   3544   1.7  christos   CORE_INSN ("umaddl",0x9ba00000, 0xffe08000, dp_3src, 0, OP4 (Rd, Rn, Rm, Ra), QL_I4SAMEL, F_HAS_ALIAS),
   3545   1.7  christos   CORE_INSN ("umull", 0x9ba07c00, 0xffe0fc00, dp_3src, 0, OP3 (Rd, Rn, Rm),     QL_I3SAMEL, F_ALIAS),
   3546   1.1  christos   CORE_INSN ("umsubl",0x9ba08000, 0xffe08000, dp_3src, 0, OP4 (Rd, Rn, Rm, Ra), QL_I4SAMEL, F_HAS_ALIAS),
   3547   1.7  christos   CORE_INSN ("umnegl",0x9ba0fc00, 0xffe0fc00, dp_3src, 0, OP3 (Rd, Rn, Rm),     QL_I3SAMEL, F_ALIAS),
   3548   1.7  christos   CORE_INSN ("umulh", 0x9bc07c00, 0xffe08000, dp_3src, 0, OP3 (Rd, Rn, Rm),     QL_I3SAMEX, 0),
   3549   1.7  christos   /* Excep'n generation.  */
   3550   1.7  christos   CORE_INSN ("svc",   0xd4000001, 0xffe0001f, exception, 0, OP1 (EXCEPTION), {}, 0),
   3551   1.7  christos   CORE_INSN ("hvc",   0xd4000002, 0xffe0001f, exception, 0, OP1 (EXCEPTION), {}, 0),
   3552   1.9  christos   CORE_INSN ("smc",   0xd4000003, 0xffe0001f, exception, 0, OP1 (EXCEPTION), {}, 0),
   3553   1.7  christos   CORE_INSN ("brk",   0xd4200000, 0xffe0001f, exception, 0, OP1 (EXCEPTION), {}, 0),
   3554   1.7  christos   CORE_INSN ("hlt",   0xd4400000, 0xffe0001f, exception, 0, OP1 (EXCEPTION), {}, 0),
   3555   1.7  christos   CORE_INSN ("udf",   0x00000000, 0xffff0000, exception, 0, OP1 (UNDEFINED), {}, 0),
   3556   1.1  christos   CORE_INSN ("dcps1", 0xd4a00001, 0xffe0001f, exception, 0, OP1 (EXCEPTION), {}, F_OPD0_OPT | F_DEFAULT (0)),
   3557   1.7  christos   CORE_INSN ("dcps2", 0xd4a00002, 0xffe0001f, exception, 0, OP1 (EXCEPTION), {}, F_OPD0_OPT | F_DEFAULT (0)),
   3558   1.7  christos   CORE_INSN ("dcps3", 0xd4a00003, 0xffe0001f, exception, 0, OP1 (EXCEPTION), {}, F_OPD0_OPT | F_DEFAULT (0)),
   3559   1.1  christos   /* Extract.  */
   3560   1.7  christos   CORE_INSN ("extr",  0x13800000, 0x7fa00000, extract, 0, OP4 (Rd, Rn, Rm, IMMS), QL_EXTR, F_HAS_ALIAS | F_SF | F_N),
   3561   1.6  christos   CORE_INSN ("ror", 0x13800000, 0x7fa00000, extract, OP_ROR_IMM, OP3 (Rd, Rm, IMMS), QL_SHIFT, F_ALIAS | F_CONV),
   3562   1.7  christos   /* Floating-point<->fixed-point conversions.  */
   3563   1.6  christos   __FP_INSN ("scvtf", 0x1e020000, 0x7f3f0000, float2fix, 0, OP3 (Fd, Rn, FBITS), QL_FIX2FP, F_FPTYPE | F_SF),
   3564   1.7  christos   FF16_INSN ("scvtf", 0x1ec20000, 0x7f3f0000, float2fix, OP3 (Fd, Rn, FBITS), QL_FIX2FP_H, F_FPTYPE | F_SF),
   3565   1.6  christos   __FP_INSN ("ucvtf", 0x1e030000, 0x7f3f0000, float2fix, 0, OP3 (Fd, Rn, FBITS), QL_FIX2FP, F_FPTYPE | F_SF),
   3566   1.7  christos   FF16_INSN ("ucvtf", 0x1ec30000, 0x7f3f0000, float2fix, OP3 (Fd, Rn, FBITS), QL_FIX2FP_H, F_FPTYPE | F_SF),
   3567   1.6  christos   __FP_INSN ("fcvtzs",0x1e180000, 0x7f3f0000, float2fix, 0, OP3 (Rd, Fn, FBITS), QL_FP2FIX, F_FPTYPE | F_SF),
   3568   1.1  christos   FF16_INSN ("fcvtzs",0x1ed80000, 0x7f3f0000, float2fix, OP3 (Rd, Fn, FBITS), QL_FP2FIX_H, F_FPTYPE | F_SF),
   3569   1.7  christos   __FP_INSN ("fcvtzu",0x1e190000, 0x7f3f0000, float2fix, 0, OP3 (Rd, Fn, FBITS), QL_FP2FIX, F_FPTYPE | F_SF),
   3570   1.6  christos   FF16_INSN ("fcvtzu",0x1ed90000, 0x7f3f0000, float2fix, OP3 (Rd, Fn, FBITS), QL_FP2FIX_H, F_FPTYPE | F_SF),
   3571   1.7  christos   /* Floating-point<->integer conversions.  */
   3572   1.6  christos   __FP_INSN ("fcvtns",0x1e200000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
   3573   1.7  christos   FF16_INSN ("fcvtns",0x1ee00000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
   3574   1.6  christos   __FP_INSN ("fcvtnu",0x1e210000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
   3575   1.7  christos   FF16_INSN ("fcvtnu",0x1ee10000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
   3576   1.6  christos   __FP_INSN ("scvtf", 0x1e220000, 0x7f3ffc00, float2int, 0, OP2 (Fd, Rn), QL_INT2FP, F_FPTYPE | F_SF),
   3577   1.7  christos   FF16_INSN ("scvtf", 0x1ee20000, 0x7f3ffc00, float2int, OP2 (Fd, Rn), QL_INT2FP_H, F_FPTYPE | F_SF),
   3578   1.6  christos   __FP_INSN ("ucvtf", 0x1e230000, 0x7f3ffc00, float2int, 0, OP2 (Fd, Rn), QL_INT2FP, F_FPTYPE | F_SF),
   3579   1.7  christos   FF16_INSN ("ucvtf", 0x1ee30000, 0x7f3ffc00, float2int, OP2 (Fd, Rn), QL_INT2FP_H, F_FPTYPE | F_SF),
   3580   1.6  christos   __FP_INSN ("fcvtas",0x1e240000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
   3581   1.8  christos   FF16_INSN ("fcvtas",0x1ee40000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
   3582   1.6  christos   __FP_INSN ("fcvtau",0x1e250000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
   3583   1.8  christos   FF16_INSN ("fcvtau",0x1ee50000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
   3584   1.6  christos   __FP_INSN ("fmov",  0x1e260000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT_FMOV, F_FPTYPE | F_SF),
   3585   1.7  christos   FF16_INSN ("fmov",  0x1ee60000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
   3586   1.6  christos   __FP_INSN ("fmov",  0x1e270000, 0x7f3ffc00, float2int, 0, OP2 (Fd, Rn), QL_INT2FP_FMOV, F_FPTYPE | F_SF),
   3587   1.7  christos   FF16_INSN ("fmov",  0x1ee70000, 0x7f3ffc00, float2int, OP2 (Fd, Rn), QL_INT2FP_H, F_FPTYPE | F_SF),
   3588   1.6  christos   __FP_INSN ("fcvtps",0x1e280000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
   3589   1.7  christos   FF16_INSN ("fcvtps",0x1ee80000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
   3590   1.6  christos   __FP_INSN ("fcvtpu",0x1e290000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
   3591   1.7  christos   FF16_INSN ("fcvtpu",0x1ee90000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
   3592   1.6  christos   __FP_INSN ("fcvtms",0x1e300000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
   3593   1.7  christos   FF16_INSN ("fcvtms",0x1ef00000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
   3594   1.6  christos   __FP_INSN ("fcvtmu",0x1e310000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
   3595   1.7  christos   FF16_INSN ("fcvtmu",0x1ef10000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
   3596   1.6  christos   __FP_INSN ("fcvtzs",0x1e380000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
   3597   1.7  christos   FF16_INSN ("fcvtzs",0x1ef80000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
   3598   1.7  christos   __FP_INSN ("fcvtzu",0x1e390000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
   3599   1.8  christos   FF16_INSN ("fcvtzu",0x1ef90000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
   3600   1.1  christos   __FP_INSN ("fmov",  0x9eae0000, 0xfffffc00, float2int, 0, OP2 (Rd, VnD1), QL_XVD1, 0),
   3601   1.7  christos   __FP_INSN ("fmov",  0x9eaf0000, 0xfffffc00, float2int, 0, OP2 (VdD1, Rn), QL_VD1X, 0),
   3602   1.6  christos   {"fjcvtzs", 0x1e7e0000, 0xfffffc00, float2int, 0, FP_V8_3, OP2 (Rd, Fn), QL_FP2INT_W_D, 0, 0, 0, NULL },
   3603   1.7  christos   /* Floating-point conditional compare.  */
   3604   1.6  christos   __FP_INSN ("fccmp", 0x1e200400, 0xff200c10, floatccmp, 0, OP4 (Fn, Fm, NZCV, COND), QL_FCCMP, F_FPTYPE),
   3605   1.1  christos   FF16_INSN ("fccmp", 0x1ee00400, 0xff200c10, floatccmp, OP4 (Fn, Fm, NZCV, COND), QL_FCCMP_H, F_FPTYPE),
   3606   1.7  christos   __FP_INSN ("fccmpe",0x1e200410, 0xff200c10, floatccmp, 0, OP4 (Fn, Fm, NZCV, COND), QL_FCCMP, F_FPTYPE),
   3607   1.6  christos   FF16_INSN ("fccmpe",0x1ee00410, 0xff200c10, floatccmp, OP4 (Fn, Fm, NZCV, COND), QL_FCCMP_H, F_FPTYPE),
   3608   1.7  christos   /* Floating-point compare.  */
   3609   1.6  christos   __FP_INSN ("fcmp",  0x1e202000, 0xff20fc1f, floatcmp, 0, OP2 (Fn, Fm),     QL_FP2,   F_FPTYPE),
   3610   1.7  christos   FF16_INSN ("fcmp",  0x1ee02000, 0xff20fc1f, floatcmp, OP2 (Fn, Fm),     QL_FP2_H, F_FPTYPE),
   3611   1.6  christos   __FP_INSN ("fcmpe", 0x1e202010, 0xff20fc1f, floatcmp, 0, OP2 (Fn, Fm),     QL_FP2,   F_FPTYPE),
   3612   1.7  christos   FF16_INSN ("fcmpe", 0x1ee02010, 0xff20fc1f, floatcmp, OP2 (Fn, Fm),     QL_FP2_H, F_FPTYPE),
   3613   1.6  christos   __FP_INSN ("fcmp",  0x1e202008, 0xff20fc1f, floatcmp, 0, OP2 (Fn, FPIMM0), QL_DST_SD,F_FPTYPE),
   3614   1.8  christos   FF16_INSN ("fcmp",  0x1ee02008, 0xff20fc1f, floatcmp, OP2 (Fn, FPIMM0), QL_FP2_H, F_FPTYPE),
   3615   1.8  christos   __FP_INSN ("fcmpe", 0x1e202018, 0xff20fc1f, floatcmp, 0, OP2 (Fn, FPIMM0), QL_DST_SD,F_FPTYPE),
   3616   1.8  christos   FF16_INSN ("fcmpe", 0x1ee02018, 0xff20fc1f, floatcmp, OP2 (Fn, FPIMM0), QL_FP2_H, F_FPTYPE),
   3617   1.8  christos   /* Data processing instructions ARMv8.5-A.  */
   3618   1.8  christos   FLAGMANIP_INSN ("xaflag",   0xd500403f, 0xffffffff, 0, OP0 (), {}, 0),
   3619   1.8  christos   FLAGMANIP_INSN ("axflag",   0xd500405f, 0xffffffff, 0, OP0 (), {}, 0),
   3620   1.8  christos   FRINTTS_INSN ("frint32z", 0x1e284000, 0xffbffc00, floatdp1, OP2 (Fd, Fn), QL_FP2, F_FPTYPE),
   3621   1.1  christos   FRINTTS_INSN ("frint32x", 0x1e28c000, 0xffbffc00, floatdp1, OP2 (Fd, Fn), QL_FP2, F_FPTYPE),
   3622   1.7  christos   FRINTTS_INSN ("frint64z", 0x1e294000, 0xffbffc00, floatdp1, OP2 (Fd, Fn), QL_FP2, F_FPTYPE),
   3623   1.6  christos   FRINTTS_INSN ("frint64x", 0x1e29c000, 0xffbffc00, floatdp1, OP2 (Fd, Fn), QL_FP2, F_FPTYPE),
   3624   1.7  christos   /* Floating-point data-processing (1 source).  */
   3625   1.6  christos   __FP_INSN ("fmov",  0x1e204000, 0xff3ffc00, floatdp1, 0, OP2 (Fd, Fn), QL_FP2,   F_FPTYPE),
   3626   1.7  christos   FF16_INSN ("fmov",  0x1ee04000, 0xff3ffc00, floatdp1, OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE),
   3627   1.6  christos   __FP_INSN ("fabs",  0x1e20c000, 0xff3ffc00, floatdp1, 0, OP2 (Fd, Fn), QL_FP2,   F_FPTYPE),
   3628   1.7  christos   FF16_INSN ("fabs",  0x1ee0c000, 0xff3ffc00, floatdp1, OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE),
   3629   1.6  christos   __FP_INSN ("fneg",  0x1e214000, 0xff3ffc00, floatdp1, 0, OP2 (Fd, Fn), QL_FP2,   F_FPTYPE),
   3630   1.7  christos   FF16_INSN ("fneg",  0x1ee14000, 0xff3ffc00, floatdp1, OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE),
   3631   1.7  christos   __FP_INSN ("fsqrt", 0x1e21c000, 0xff3ffc00, floatdp1, 0, OP2 (Fd, Fn), QL_FP2,   F_FPTYPE),
   3632   1.6  christos   FF16_INSN ("fsqrt", 0x1ee1c000, 0xff3ffc00, floatdp1, OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE),
   3633   1.7  christos   __FP_INSN ("fcvt", 0x1e224000, 0xff3e7c00, floatdp1, OP_FCVT, OP2 (Fd, Fn), QL_FCVT, F_FPTYPE | F_MISC),
   3634   1.6  christos   __FP_INSN ("frintn",0x1e244000, 0xff3ffc00, floatdp1, 0, OP2 (Fd, Fn), QL_FP2,   F_FPTYPE),
   3635   1.7  christos   FF16_INSN ("frintn",0x1ee44000, 0xff3ffc00, floatdp1, OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE),
   3636   1.6  christos   __FP_INSN ("frintp",0x1e24c000, 0xff3ffc00, floatdp1, 0, OP2 (Fd, Fn), QL_FP2,   F_FPTYPE),
   3637   1.7  christos   FF16_INSN ("frintp",0x1ee4c000, 0xff3ffc00, floatdp1, OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE),
   3638   1.6  christos   __FP_INSN ("frintm",0x1e254000, 0xff3ffc00, floatdp1, 0, OP2 (Fd, Fn), QL_FP2,   F_FPTYPE),
   3639   1.7  christos   FF16_INSN ("frintm",0x1ee54000, 0xff3ffc00, floatdp1, OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE),
   3640   1.6  christos   __FP_INSN ("frintz",0x1e25c000, 0xff3ffc00, floatdp1, 0, OP2 (Fd, Fn), QL_FP2,   F_FPTYPE),
   3641   1.7  christos   FF16_INSN ("frintz",0x1ee5c000, 0xff3ffc00, floatdp1, OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE),
   3642   1.6  christos   __FP_INSN ("frinta",0x1e264000, 0xff3ffc00, floatdp1, 0, OP2 (Fd, Fn), QL_FP2,   F_FPTYPE),
   3643   1.7  christos   FF16_INSN ("frinta",0x1ee64000, 0xff3ffc00, floatdp1, OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE),
   3644   1.6  christos   __FP_INSN ("frintx",0x1e274000, 0xff3ffc00, floatdp1, 0, OP2 (Fd, Fn), QL_FP2,   F_FPTYPE),
   3645   1.1  christos   FF16_INSN ("frintx",0x1ee74000, 0xff3ffc00, floatdp1, OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE),
   3646   1.7  christos   __FP_INSN ("frinti",0x1e27c000, 0xff3ffc00, floatdp1, 0, OP2 (Fd, Fn), QL_FP2,   F_FPTYPE),
   3647   1.6  christos   FF16_INSN ("frinti",0x1ee7c000, 0xff3ffc00, floatdp1, OP2 (Fd, Fn), QL_FP2_H, F_FPTYPE),
   3648   1.7  christos   /* Floating-point data-processing (2 source).  */
   3649   1.6  christos   __FP_INSN ("fmul",  0x1e200800, 0xff20fc00, floatdp2, 0, OP3 (Fd, Fn, Fm), QL_FP3,   F_FPTYPE),
   3650   1.7  christos   FF16_INSN ("fmul",  0x1ee00800, 0xff20fc00, floatdp2, OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE),
   3651   1.6  christos   __FP_INSN ("fdiv",  0x1e201800, 0xff20fc00, floatdp2, 0, OP3 (Fd, Fn, Fm), QL_FP3,   F_FPTYPE),
   3652   1.7  christos   FF16_INSN ("fdiv",  0x1ee01800, 0xff20fc00, floatdp2, OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE),
   3653   1.6  christos   __FP_INSN ("fadd",  0x1e202800, 0xff20fc00, floatdp2, 0, OP3 (Fd, Fn, Fm), QL_FP3,   F_FPTYPE),
   3654   1.7  christos   FF16_INSN ("fadd",  0x1ee02800, 0xff20fc00, floatdp2, OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE),
   3655   1.6  christos   __FP_INSN ("fsub",  0x1e203800, 0xff20fc00, floatdp2, 0, OP3 (Fd, Fn, Fm), QL_FP3,   F_FPTYPE),
   3656   1.7  christos   FF16_INSN ("fsub",  0x1ee03800, 0xff20fc00, floatdp2, OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE),
   3657   1.6  christos   __FP_INSN ("fmax",  0x1e204800, 0xff20fc00, floatdp2, 0, OP3 (Fd, Fn, Fm), QL_FP3,   F_FPTYPE),
   3658   1.7  christos   FF16_INSN ("fmax",  0x1ee04800, 0xff20fc00, floatdp2, OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE),
   3659   1.6  christos   __FP_INSN ("fmin",  0x1e205800, 0xff20fc00, floatdp2, 0, OP3 (Fd, Fn, Fm), QL_FP3,   F_FPTYPE),
   3660   1.7  christos   FF16_INSN ("fmin",  0x1ee05800, 0xff20fc00, floatdp2, OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE),
   3661   1.6  christos   __FP_INSN ("fmaxnm",0x1e206800, 0xff20fc00, floatdp2, 0, OP3 (Fd, Fn, Fm), QL_FP3,   F_FPTYPE),
   3662   1.7  christos   FF16_INSN ("fmaxnm",0x1ee06800, 0xff20fc00, floatdp2, OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE),
   3663   1.6  christos   __FP_INSN ("fminnm",0x1e207800, 0xff20fc00, floatdp2, 0, OP3 (Fd, Fn, Fm), QL_FP3,   F_FPTYPE),
   3664   1.1  christos   FF16_INSN ("fminnm",0x1ee07800, 0xff20fc00, floatdp2, OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE),
   3665   1.7  christos   __FP_INSN ("fnmul", 0x1e208800, 0xff20fc00, floatdp2, 0, OP3 (Fd, Fn, Fm), QL_FP3,   F_FPTYPE),
   3666   1.6  christos   FF16_INSN ("fnmul", 0x1ee08800, 0xff20fc00, floatdp2, OP3 (Fd, Fn, Fm), QL_FP3_H, F_FPTYPE),
   3667   1.7  christos   /* Floating-point data-processing (3 source).  */
   3668   1.6  christos   __FP_INSN ("fmadd", 0x1f000000, 0xff208000, floatdp3, 0, OP4 (Fd, Fn, Fm, Fa), QL_FP4,   F_FPTYPE),
   3669   1.7  christos   FF16_INSN ("fmadd", 0x1fc00000, 0xff208000, floatdp3, OP4 (Fd, Fn, Fm, Fa), QL_FP4_H, F_FPTYPE),
   3670   1.6  christos   __FP_INSN ("fmsub", 0x1f008000, 0xff208000, floatdp3, 0, OP4 (Fd, Fn, Fm, Fa), QL_FP4,   F_FPTYPE),
   3671   1.7  christos   FF16_INSN ("fmsub", 0x1fc08000, 0xff208000, floatdp3, OP4 (Fd, Fn, Fm, Fa), QL_FP4_H, F_FPTYPE),
   3672   1.6  christos   __FP_INSN ("fnmadd",0x1f200000, 0xff208000, floatdp3, 0, OP4 (Fd, Fn, Fm, Fa), QL_FP4,   F_FPTYPE),
   3673   1.1  christos   FF16_INSN ("fnmadd",0x1fe00000, 0xff208000, floatdp3, OP4 (Fd, Fn, Fm, Fa), QL_FP4_H, F_FPTYPE),
   3674   1.7  christos   __FP_INSN ("fnmsub",0x1f208000, 0xff208000, floatdp3, 0, OP4 (Fd, Fn, Fm, Fa), QL_FP4,   F_FPTYPE),
   3675   1.6  christos   FF16_INSN ("fnmsub",0x1fe08000, 0xff208000, floatdp3, OP4 (Fd, Fn, Fm, Fa), QL_FP4_H, F_FPTYPE),
   3676   1.1  christos   /* Floating-point immediate.  */
   3677   1.7  christos   __FP_INSN ("fmov", 0x1e201000, 0xff201fe0, floatimm, 0, OP2 (Fd, FPIMM), QL_DST_SD, F_FPTYPE),
   3678   1.6  christos   FF16_INSN ("fmov", 0x1ee01000, 0xff201fe0, floatimm, OP2 (Fd, FPIMM), QL_DST_H, F_FPTYPE),
   3679   1.1  christos   /* Floating-point conditional select.  */
   3680   1.7  christos   __FP_INSN ("fcsel", 0x1e200c00, 0xff200c00, floatsel, 0, OP4 (Fd, Fn, Fm, COND), QL_FP_COND, F_FPTYPE),
   3681   1.7  christos   FF16_INSN ("fcsel", 0x1ee00c00, 0xff200c00, floatsel, OP4 (Fd, Fn, Fm, COND), QL_FP_COND_H, F_FPTYPE),
   3682   1.7  christos   /* Load/store register (immediate indexed).  */
   3683   1.7  christos   CORE_INSN ("strb", 0x38000400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W8, 0),
   3684   1.7  christos   CORE_INSN ("ldrb", 0x38400400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W8, 0),
   3685   1.7  christos   CORE_INSN ("ldrsb", 0x38800400, 0xffa00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R8, F_LDS_SIZE),
   3686   1.7  christos   CORE_INSN ("str", 0x3c000400, 0x3f600400, ldst_imm9, 0, OP2 (Ft, ADDR_SIMM9), QL_LDST_FP, 0),
   3687   1.7  christos   CORE_INSN ("ldr", 0x3c400400, 0x3f600400, ldst_imm9, 0, OP2 (Ft, ADDR_SIMM9), QL_LDST_FP, 0),
   3688   1.7  christos   CORE_INSN ("strh", 0x78000400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W16, 0),
   3689   1.7  christos   CORE_INSN ("ldrh", 0x78400400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W16, 0),
   3690   1.7  christos   CORE_INSN ("ldrsh", 0x78800400, 0xffa00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R16, F_LDS_SIZE),
   3691   1.8  christos   CORE_INSN ("str", 0xb8000400, 0xbfe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R, F_GPRSIZE_IN_Q),
   3692   1.9  christos   CORE_INSN ("ldr", 0xb8400400, 0xbfe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R, F_GPRSIZE_IN_Q),
   3693   1.9  christos   CORE_INSN ("ldrsw", 0xb8800400, 0xffe00400, ldst_imm9, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_X32, 0),
   3694   1.9  christos   /* Load/store Allocation Tag instructions.  */
   3695   1.9  christos   MEMTAG_INSN ("stg",  0xd9200800, 0xffe00c00, ldst_unscaled, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0),
   3696   1.9  christos   MEMTAG_INSN ("stzg", 0xd9600800, 0xffe00c00, ldst_unscaled, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0),
   3697   1.9  christos   MEMTAG_INSN ("st2g", 0xd9a00800, 0xffe00c00, ldst_unscaled, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0),
   3698   1.9  christos   MEMTAG_INSN ("stz2g",0xd9e00800, 0xffe00c00, ldst_unscaled, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0),
   3699   1.9  christos   MEMTAG_INSN ("stg",  0xd9200400, 0xffe00400, ldst_imm9, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0),
   3700   1.1  christos   MEMTAG_INSN ("stzg", 0xd9600400, 0xffe00400, ldst_imm9, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0),
   3701   1.7  christos   MEMTAG_INSN ("st2g", 0xd9a00400, 0xffe00400, ldst_imm9, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0),
   3702   1.7  christos   MEMTAG_INSN ("stz2g",0xd9e00400, 0xffe00400, ldst_imm9, OP2 (Rt_SP, ADDR_SIMM13), QL_LDST_AT, 0),
   3703   1.7  christos   /* Load/store register (unsigned immediate).  */
   3704   1.7  christos   CORE_INSN ("strb", 0x39000000, 0xffc00000, ldst_pos, OP_STRB_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_W8, 0),
   3705   1.7  christos   CORE_INSN ("ldrb", 0x39400000, 0xffc00000, ldst_pos, OP_LDRB_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_W8, 0),
   3706   1.7  christos   CORE_INSN ("ldrsb", 0x39800000, 0xff800000, ldst_pos, OP_LDRSB_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_R8, F_LDS_SIZE),
   3707   1.7  christos   CORE_INSN ("str", 0x3d000000, 0x3f400000, ldst_pos, OP_STRF_POS, OP2 (Ft, ADDR_UIMM12), QL_LDST_FP, 0),
   3708   1.7  christos   CORE_INSN ("ldr", 0x3d400000, 0x3f400000, ldst_pos, OP_LDRF_POS, OP2 (Ft, ADDR_UIMM12), QL_LDST_FP, 0),
   3709   1.7  christos   CORE_INSN ("strh", 0x79000000, 0xffc00000, ldst_pos, OP_STRH_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_W16, 0),
   3710   1.7  christos   CORE_INSN ("ldrh", 0x79400000, 0xffc00000, ldst_pos, OP_LDRH_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_W16, 0),
   3711   1.7  christos   CORE_INSN ("ldrsh", 0x79800000, 0xff800000, ldst_pos, OP_LDRSH_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_R16, F_LDS_SIZE),
   3712   1.7  christos   CORE_INSN ("str", 0xb9000000, 0xbfc00000, ldst_pos, OP_STR_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_R, F_GPRSIZE_IN_Q),
   3713   1.1  christos   CORE_INSN ("ldr", 0xb9400000, 0xbfc00000, ldst_pos, OP_LDR_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_R, F_GPRSIZE_IN_Q),
   3714   1.7  christos   CORE_INSN ("ldrsw", 0xb9800000, 0xffc00000, ldst_pos, OP_LDRSW_POS, OP2 (Rt, ADDR_UIMM12), QL_LDST_X32, 0),
   3715   1.7  christos   CORE_INSN ("prfm", 0xf9800000, 0xffc00000, ldst_pos, OP_PRFM_POS, OP2 (PRFOP, ADDR_UIMM12), QL_LDST_PRFM, 0),
   3716   1.7  christos   /* Load/store register (register offset).  */
   3717   1.7  christos   CORE_INSN ("strb", 0x38200800, 0xffe00c00, ldst_regoff, 0, OP2 (Rt, ADDR_REGOFF), QL_LDST_W8, 0),
   3718   1.7  christos   CORE_INSN ("ldrb", 0x38600800, 0xffe00c00, ldst_regoff, 0, OP2 (Rt, ADDR_REGOFF), QL_LDST_W8, 0),
   3719   1.7  christos   CORE_INSN ("ldrsb", 0x38a00800, 0xffa00c00, ldst_regoff, 0, OP2 (Rt, ADDR_REGOFF), QL_LDST_R8, F_LDS_SIZE),
   3720   1.7  christos   CORE_INSN ("str", 0x3c200800, 0x3f600c00, ldst_regoff, 0, OP2 (Ft, ADDR_REGOFF), QL_LDST_FP, 0),
   3721   1.7  christos   CORE_INSN ("ldr", 0x3c600800, 0x3f600c00, ldst_regoff, 0, OP2 (Ft, ADDR_REGOFF), QL_LDST_FP, 0),
   3722   1.7  christos   CORE_INSN ("strh", 0x78200800, 0xffe00c00, ldst_regoff, 0, OP2 (Rt, ADDR_REGOFF), QL_LDST_W16, 0),
   3723   1.7  christos   CORE_INSN ("ldrh", 0x78600800, 0xffe00c00, ldst_regoff, 0, OP2 (Rt, ADDR_REGOFF), QL_LDST_W16, 0),
   3724   1.7  christos   CORE_INSN ("ldrsh", 0x78a00800, 0xffa00c00, ldst_regoff, 0, OP2 (Rt, ADDR_REGOFF), QL_LDST_R16, F_LDS_SIZE),
   3725   1.7  christos   CORE_INSN ("str", 0xb8200800, 0xbfe00c00, ldst_regoff, 0, OP2 (Rt, ADDR_REGOFF), QL_LDST_R, F_GPRSIZE_IN_Q),
   3726   1.1  christos   CORE_INSN ("ldr", 0xb8600800, 0xbfe00c00, ldst_regoff, 0, OP2 (Rt, ADDR_REGOFF), QL_LDST_R, F_GPRSIZE_IN_Q),
   3727   1.7  christos   CORE_INSN ("ldrsw", 0xb8a00800, 0xffe00c00, ldst_regoff, 0, OP2 (Rt, ADDR_REGOFF), QL_LDST_X32, 0),
   3728   1.7  christos   CORE_INSN ("prfm", 0xf8a00800, 0xffe00c00, ldst_regoff, 0, OP2 (PRFOP, ADDR_REGOFF), QL_LDST_PRFM, 0),
   3729   1.7  christos   /* Load/store register (unprivileged).  */
   3730   1.7  christos   CORE_INSN ("sttrb", 0x38000800, 0xffe00c00, ldst_unpriv, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W8, 0),
   3731   1.7  christos   CORE_INSN ("ldtrb", 0x38400800, 0xffe00c00, ldst_unpriv, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W8, 0),
   3732   1.7  christos   CORE_INSN ("ldtrsb", 0x38800800, 0xffa00c00, ldst_unpriv, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R8, F_LDS_SIZE),
   3733   1.7  christos   CORE_INSN ("sttrh", 0x78000800, 0xffe00c00, ldst_unpriv, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W16, 0),
   3734   1.7  christos   CORE_INSN ("ldtrh", 0x78400800, 0xffe00c00, ldst_unpriv, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_W16, 0),
   3735   1.7  christos   CORE_INSN ("ldtrsh", 0x78800800, 0xffa00c00, ldst_unpriv, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R16, F_LDS_SIZE),
   3736   1.1  christos   CORE_INSN ("sttr", 0xb8000800, 0xbfe00c00, ldst_unpriv, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R, F_GPRSIZE_IN_Q),
   3737   1.7  christos   CORE_INSN ("ldtr", 0xb8400800, 0xbfe00c00, ldst_unpriv, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_R, F_GPRSIZE_IN_Q),
   3738   1.7  christos   CORE_INSN ("ldtrsw", 0xb8800800, 0xffe00c00, ldst_unpriv, 0, OP2 (Rt, ADDR_SIMM9), QL_LDST_X32, 0),
   3739   1.7  christos   /* Load/store register (unscaled immediate).  */
   3740   1.7  christos   CORE_INSN ("sturb", 0x38000000, 0xffe00c00, ldst_unscaled, OP_STURB, OP2 (Rt, ADDR_SIMM9), QL_LDST_W8, 0),
   3741   1.7  christos   CORE_INSN ("ldurb", 0x38400000, 0xffe00c00, ldst_unscaled, OP_LDURB, OP2 (Rt, ADDR_SIMM9), QL_LDST_W8, 0),
   3742   1.7  christos   CORE_INSN ("ldursb", 0x38800000, 0xffa00c00, ldst_unscaled, OP_LDURSB, OP2 (Rt, ADDR_SIMM9), QL_LDST_R8, F_LDS_SIZE),
   3743   1.7  christos   CORE_INSN ("stur", 0x3c000000, 0x3f600c00, ldst_unscaled, OP_STURV, OP2 (Ft, ADDR_SIMM9), QL_LDST_FP, 0),
   3744   1.7  christos   CORE_INSN ("ldur", 0x3c400000, 0x3f600c00, ldst_unscaled, OP_LDURV, OP2 (Ft, ADDR_SIMM9), QL_LDST_FP, 0),
   3745   1.7  christos   CORE_INSN ("sturh", 0x78000000, 0xffe00c00, ldst_unscaled, OP_STURH, OP2 (Rt, ADDR_SIMM9), QL_LDST_W16, 0),
   3746   1.7  christos   CORE_INSN ("ldurh", 0x78400000, 0xffe00c00, ldst_unscaled, OP_LDURH, OP2 (Rt, ADDR_SIMM9), QL_LDST_W16, 0),
   3747   1.7  christos   CORE_INSN ("ldursh", 0x78800000, 0xffa00c00, ldst_unscaled, OP_LDURSH, OP2 (Rt, ADDR_SIMM9), QL_LDST_R16, F_LDS_SIZE),
   3748   1.7  christos   CORE_INSN ("stur", 0xb8000000, 0xbfe00c00, ldst_unscaled, OP_STUR, OP2 (Rt, ADDR_SIMM9), QL_LDST_R, F_GPRSIZE_IN_Q),
   3749   1.8  christos   CORE_INSN ("ldur", 0xb8400000, 0xbfe00c00, ldst_unscaled, OP_LDUR, OP2 (Rt, ADDR_SIMM9), QL_LDST_R, F_GPRSIZE_IN_Q),
   3750   1.7  christos   CORE_INSN ("ldursw", 0xb8800000, 0xffe00c00, ldst_unscaled, OP_LDURSW, OP2 (Rt, ADDR_SIMM9), QL_LDST_X32, 0),
   3751  1.10  christos   CORE_INSN ("prfum", 0xf8800000, 0xffe00c00, ldst_unscaled, OP_PRFUM, OP2 (PRFOP, ADDR_SIMM9), QL_LDST_PRFM, 0),
   3752  1.10  christos   MEMTAG_INSN ("ldg",  0xd9600000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_SIMM13), QL_LDG, 0),
   3753   1.1  christos   /* Load/store register (scaled signed immediate).  */
   3754   1.7  christos   PAC_INSN ("ldraa", 0xf8200400, 0xffa00400, ldst_imm10, OP2 (Rt, ADDR_SIMM10), QL_X1NIL, 0),
   3755   1.7  christos   PAC_INSN ("ldrab", 0xf8a00400, 0xffa00400, ldst_imm10, OP2 (Rt, ADDR_SIMM10), QL_X1NIL, 0),
   3756   1.7  christos   /* Load/store exclusive.  */
   3757   1.7  christos   CORE_INSN ("stxrb", 0x8007c00, 0xffe08000, ldstexcl, 0, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3758   1.7  christos   CORE_INSN ("stlxrb", 0x800fc00, 0xffe08000, ldstexcl, 0, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3759   1.7  christos   CORE_INSN ("ldxrb", 0x85f7c00, 0xffe08000, ldstexcl, 0, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0),
   3760   1.7  christos   CORE_INSN ("ldaxrb", 0x85ffc00, 0xffe08000, ldstexcl, 0, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0),
   3761   1.7  christos   CORE_INSN ("stlrb", 0x89ffc00, 0xffe08000, ldstexcl, 0, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0),
   3762   1.7  christos   CORE_INSN ("ldarb", 0x8dffc00, 0xffeffc00, ldstexcl, 0, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0),
   3763   1.7  christos   CORE_INSN ("stxrh", 0x48007c00, 0xffe08000, ldstexcl, 0, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3764   1.7  christos   CORE_INSN ("stlxrh", 0x4800fc00, 0xffe08000, ldstexcl, 0, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3765   1.8  christos   CORE_INSN ("ldxrh", 0x485f7c00, 0xffe08000, ldstexcl, 0, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0),
   3766   1.7  christos   CORE_INSN ("ldaxrh", 0x485ffc00, 0xffe08000, ldstexcl, 0, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0),
   3767   1.7  christos   CORE_INSN ("stlrh", 0x489ffc00, 0xffe08000, ldstexcl, 0, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0),
   3768   1.7  christos   CORE_INSN ("ldarh", 0x48dffc00, 0xfffffc00, ldstexcl, 0, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0),
   3769   1.7  christos   CORE_INSN ("stxr", 0x88007c00, 0xbfe08000, ldstexcl, 0, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2_LDST_EXC, F_GPRSIZE_IN_Q),
   3770   1.7  christos   CORE_INSN ("stlxr", 0x8800fc00, 0xbfe08000, ldstexcl, 0, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2_LDST_EXC, F_GPRSIZE_IN_Q),
   3771   1.7  christos   CORE_INSN ("stxp", 0x88200000, 0xbfe08000, ldstexcl, 0, OP4 (Rs, Rt, Rt2, ADDR_SIMPLE), QL_R3_LDST_EXC, F_GPRSIZE_IN_Q),
   3772   1.7  christos   CORE_INSN ("stlxp", 0x88208000, 0xbfe08000, ldstexcl, 0, OP4 (Rs, Rt, Rt2, ADDR_SIMPLE), QL_R3_LDST_EXC, F_GPRSIZE_IN_Q),
   3773   1.7  christos   CORE_INSN ("ldxr", 0x885f7c00, 0xbfe08000, ldstexcl, 0, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q),
   3774   1.7  christos   CORE_INSN ("ldaxr", 0x885ffc00, 0xbfe08000, ldstexcl, 0, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q),
   3775   1.7  christos   CORE_INSN ("ldxp", 0x887f0000, 0xbfe08000, ldstexcl, 0, OP3 (Rt, Rt2, ADDR_SIMPLE), QL_R2NIL, F_GPRSIZE_IN_Q),
   3776   1.7  christos   CORE_INSN ("ldaxp", 0x887f8000, 0xbfe08000, ldstexcl, 0, OP3 (Rt, Rt2, ADDR_SIMPLE), QL_R2NIL, F_GPRSIZE_IN_Q),
   3777   1.7  christos   CORE_INSN ("stlr", 0x889ffc00, 0xbfe08000, ldstexcl, 0, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q),
   3778   1.7  christos   CORE_INSN ("ldar", 0x88dffc00, 0xbfeffc00, ldstexcl, 0, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q),
   3779   1.9  christos   RCPC_INSN ("ldaprb", 0x38bfc000, 0xfffffc00, ldstexcl, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0),
   3780   1.9  christos   RCPC_INSN ("ldaprh", 0x78bfc000, 0xfffffc00, ldstexcl, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0),
   3781   1.8  christos   RCPC_INSN ("ldapr", 0xb8bfc000, 0xbffffc00, ldstexcl, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q),
   3782   1.5  christos   MEMTAG_INSN ("ldgm", 0xd9e00000, 0xfffffc00, ldstexcl, OP2 (Rt, ADDR_SIMPLE), QL_X1NIL, 0),
   3783   1.6  christos   MEMTAG_INSN ("stgm", 0xd9a00000, 0xfffffc00, ldstexcl, OP2 (Rt, ADDR_SIMPLE), QL_X1NIL, 0),
   3784   1.6  christos   MEMTAG_INSN ("stzgm", 0xd9200000, 0xfffffc00, ldstexcl, OP2 (Rt, ADDR_SIMPLE), QL_X1NIL, 0),
   3785   1.6  christos   /* Limited Ordering Regions load/store instructions.  */
   3786   1.6  christos   _LOR_INSN ("ldlar",  0x88df7c00, 0xbfe08000, ldstexcl, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL,       F_GPRSIZE_IN_Q),
   3787   1.6  christos   _LOR_INSN ("ldlarb", 0x08df7c00, 0xffe08000, ldstexcl, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0),
   3788   1.6  christos   _LOR_INSN ("ldlarh", 0x48df7c00, 0xffe08000, ldstexcl, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0),
   3789   1.1  christos   _LOR_INSN ("stllr",  0x889f7c00, 0xbfe08000, ldstexcl, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL,       F_GPRSIZE_IN_Q),
   3790   1.7  christos   _LOR_INSN ("stllrb", 0x089f7c00, 0xffe08000, ldstexcl, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0),
   3791   1.7  christos   _LOR_INSN ("stllrh", 0x489f7c00, 0xbfe08000, ldstexcl, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0),
   3792   1.7  christos   /* Load/store no-allocate pair (offset).  */
   3793   1.7  christos   CORE_INSN ("stnp", 0x28000000, 0x7fc00000, ldstnapair_offs, 0, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF),
   3794   1.1  christos   CORE_INSN ("ldnp", 0x28400000, 0x7fc00000, ldstnapair_offs, 0, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF),
   3795   1.7  christos   CORE_INSN ("stnp", 0x2c000000, 0x3fc00000, ldstnapair_offs, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, 0),
   3796   1.7  christos   CORE_INSN ("ldnp", 0x2c400000, 0x3fc00000, ldstnapair_offs, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, 0),
   3797   1.7  christos   /* Load/store register pair (offset).  */
   3798   1.7  christos   CORE_INSN ("stp", 0x29000000, 0x7ec00000, ldstpair_off, 0, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF),
   3799   1.8  christos   CORE_INSN ("ldp", 0x29400000, 0x7ec00000, ldstpair_off, 0, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF),
   3800   1.8  christos   CORE_INSN ("stp", 0x2d000000, 0x3fc00000, ldstpair_off, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, 0),
   3801   1.1  christos   CORE_INSN ("ldp", 0x2d400000, 0x3fc00000, ldstpair_off, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, 0),
   3802   1.7  christos   {"ldpsw", 0x69400000, 0xffc00000, ldstpair_off, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_X32, 0, 0, 0, VERIFIER (ldpsw)},
   3803   1.7  christos   MEMTAG_INSN ("stgp", 0x69000000, 0xffc00000, ldstpair_off, OP3 (Rt, Rt2, ADDR_SIMM11), QL_STGP, 0),
   3804   1.7  christos   /* Load/store register pair (indexed).  */
   3805   1.7  christos   CORE_INSN ("stp", 0x28800000, 0x7ec00000, ldstpair_indexed, 0, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF),
   3806   1.8  christos   CORE_INSN ("ldp", 0x28c00000, 0x7ec00000, ldstpair_indexed, 0, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF),
   3807   1.8  christos   CORE_INSN ("stp", 0x2c800000, 0x3ec00000, ldstpair_indexed, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, 0),
   3808   1.1  christos   CORE_INSN ("ldp", 0x2cc00000, 0x3ec00000, ldstpair_indexed, 0, OP3 (Ft, Ft2, ADDR_SIMM7), QL_LDST_PAIR_FP, 0),
   3809   1.7  christos   {"ldpsw", 0x68c00000, 0xfec00000, ldstpair_indexed, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_X32, 0, 0, 0, VERIFIER (ldpsw)},
   3810   1.7  christos   MEMTAG_INSN ("stgp", 0x68800000, 0xfec00000, ldstpair_indexed, OP3 (Rt, Rt2, ADDR_SIMM11), QL_STGP, 0),
   3811   1.7  christos   /* Load register (literal).  */
   3812   1.7  christos   CORE_INSN ("ldr",   0x18000000, 0xbf000000, loadlit, OP_LDR_LIT,   OP2 (Rt, ADDR_PCREL19),    QL_R_PCREL, F_GPRSIZE_IN_Q),
   3813  1.10  christos   CORE_INSN ("ldr",   0x1c000000, 0x3f000000, loadlit, OP_LDRV_LIT,  OP2 (Ft, ADDR_PCREL19),    QL_FP_PCREL, 0),
   3814  1.10  christos   CORE_INSN ("ldrsw", 0x98000000, 0xff000000, loadlit, OP_LDRSW_LIT, OP2 (Rt, ADDR_PCREL19),    QL_X_PCREL, 0),
   3815  1.10  christos   CORE_INSN ("prfm",  0xd8000000, 0xff000000, loadlit, OP_PRFM_LIT,  OP2 (PRFOP, ADDR_PCREL19), QL_PRFM_PCREL, 0),
   3816  1.10  christos   /* Atomic 64-byte load/store in Armv8.7.  */
   3817  1.10  christos   _LS64_INSN ("ld64b",   0xf83fd000, 0xfffffc00, lse_atomic, OP2 (Rt_LS64, ADDR_SIMPLE), QL_X1NIL, 0),
   3818   1.1  christos   _LS64_INSN ("st64b",   0xf83f9000, 0xfffffc00, lse_atomic, OP2 (Rt_LS64, ADDR_SIMPLE), QL_X1NIL, 0),
   3819   1.7  christos   _LS64_INSN ("st64bv",  0xf820b000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt_LS64, ADDR_SIMPLE), QL_X2NIL, 0),
   3820   1.7  christos   _LS64_INSN ("st64bv0", 0xf820a000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt_LS64, ADDR_SIMPLE), QL_X2NIL, 0),
   3821   1.7  christos   /* Logical (immediate).  */
   3822   1.7  christos   CORE_INSN ("and", 0x12000000, 0x7f800000, log_imm, 0, OP3 (Rd_SP, Rn, LIMM), QL_R2NIL, F_HAS_ALIAS | F_SF),
   3823   1.7  christos   CORE_INSN ("bic", 0x12000000, 0x7f800000, log_imm, OP_BIC, OP3 (Rd_SP, Rn, LIMM), QL_R2NIL, F_ALIAS | F_PSEUDO | F_SF),
   3824   1.7  christos   CORE_INSN ("orr", 0x32000000, 0x7f800000, log_imm, 0, OP3 (Rd_SP, Rn, LIMM), QL_R2NIL, F_HAS_ALIAS | F_SF),
   3825   1.7  christos   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),
   3826   1.1  christos   CORE_INSN ("eor", 0x52000000, 0x7f800000, log_imm, 0, OP3 (Rd_SP, Rn, LIMM), QL_R2NIL, F_SF),
   3827   1.7  christos   CORE_INSN ("ands", 0x72000000, 0x7f800000, log_imm, 0, OP3 (Rd, Rn, LIMM), QL_R2NIL, F_HAS_ALIAS | F_SF),
   3828   1.7  christos   CORE_INSN ("tst", 0x7200001f, 0x7f80001f, log_imm, 0, OP2 (Rn, LIMM), QL_R1NIL, F_ALIAS | F_SF),
   3829   1.7  christos   /* Logical (shifted register).  */
   3830   1.8  christos   CORE_INSN ("and", 0xa000000, 0x7f200000, log_shift, 0, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_SF),
   3831   1.7  christos   CORE_INSN ("bic", 0xa200000, 0x7f200000, log_shift, 0, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_SF),
   3832   1.7  christos   CORE_INSN ("orr", 0x2a000000, 0x7f200000, log_shift, 0, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_HAS_ALIAS | F_SF),
   3833   1.7  christos   CORE_INSN ("mov", 0x2a0003e0, 0x7fe0ffe0, log_shift, 0, OP2 (Rd, Rm_SFT), QL_I2SAMER, F_ALIAS | F_SF),
   3834   1.7  christos   CORE_INSN ("uxtw", 0x2a0003e0, 0x7f2003e0, log_shift, OP_UXTW, OP2 (Rd, Rm), QL_I2SAMEW, F_ALIAS | F_PSEUDO),
   3835   1.7  christos   CORE_INSN ("orn", 0x2a200000, 0x7f200000, log_shift, 0, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_HAS_ALIAS | F_SF),
   3836   1.7  christos   CORE_INSN ("mvn", 0x2a2003e0, 0x7f2003e0, log_shift, 0, OP2 (Rd, Rm_SFT), QL_I2SAMER, F_ALIAS | F_SF),
   3837   1.7  christos   CORE_INSN ("eor", 0x4a000000, 0x7f200000, log_shift, 0, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_SF),
   3838   1.7  christos   CORE_INSN ("eon", 0x4a200000, 0x7f200000, log_shift, 0, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_SF),
   3839   1.3  christos   CORE_INSN ("ands", 0x6a000000, 0x7f200000, log_shift, 0, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_HAS_ALIAS | F_SF),
   3840   1.6  christos   CORE_INSN ("tst", 0x6a00001f, 0x7f20001f, log_shift, 0, OP2 (Rn, Rm_SFT), QL_I2SAMER, F_ALIAS | F_SF),
   3841   1.6  christos   CORE_INSN ("bics", 0x6a200000, 0x7f200000, log_shift, 0, OP3 (Rd, Rn, Rm_SFT), QL_I3SAMER, F_SF),
   3842   1.6  christos   /* LSE extension (atomic).  */
   3843   1.6  christos   _LSE_INSN ("casb", 0x8a07c00, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3844   1.6  christos   _LSE_INSN ("cash", 0x48a07c00, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3845   1.6  christos   _LSE_INSN ("cas", 0x88a07c00, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3846   1.6  christos   _LSE_INSN ("casab", 0x8e07c00, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3847   1.6  christos   _LSE_INSN ("caslb", 0x8a0fc00, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3848   1.6  christos   _LSE_INSN ("casalb", 0x8e0fc00, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3849   1.6  christos   _LSE_INSN ("casah", 0x48e07c00, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3850   1.6  christos   _LSE_INSN ("caslh", 0x48a0fc00, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3851   1.6  christos   _LSE_INSN ("casalh", 0x48e0fc00, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3852   1.6  christos   _LSE_INSN ("casa", 0x88e07c00, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3853   1.6  christos   _LSE_INSN ("casl", 0x88a0fc00, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3854   1.6  christos   _LSE_INSN ("casal", 0x88e0fc00, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3855   1.6  christos   _LSE_INSN ("casp", 0x8207c00, 0xbfe0fc00, lse_atomic, OP5 (Rs, PAIRREG, Rt, PAIRREG, ADDR_SIMPLE), QL_R4NIL, F_LSE_SZ),
   3856   1.6  christos   _LSE_INSN ("caspa", 0x8607c00, 0xbfe0fc00, lse_atomic, OP5 (Rs, PAIRREG, Rt, PAIRREG, ADDR_SIMPLE), QL_R4NIL, F_LSE_SZ),
   3857   1.6  christos   _LSE_INSN ("caspl", 0x820fc00, 0xbfe0fc00, lse_atomic, OP5 (Rs, PAIRREG, Rt, PAIRREG, ADDR_SIMPLE), QL_R4NIL, F_LSE_SZ),
   3858   1.6  christos   _LSE_INSN ("caspal", 0x860fc00, 0xbfe0fc00, lse_atomic, OP5 (Rs, PAIRREG, Rt, PAIRREG, ADDR_SIMPLE), QL_R4NIL, F_LSE_SZ),
   3859   1.6  christos   _LSE_INSN ("swpb", 0x38208000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3860   1.6  christos   _LSE_INSN ("swph", 0x78208000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3861   1.6  christos   _LSE_INSN ("swp", 0xb8208000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3862   1.6  christos   _LSE_INSN ("swpab", 0x38a08000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3863   1.6  christos   _LSE_INSN ("swplb", 0x38608000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3864   1.6  christos   _LSE_INSN ("swpalb", 0x38e08000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3865   1.6  christos   _LSE_INSN ("swpah", 0x78a08000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3866   1.6  christos   _LSE_INSN ("swplh", 0x78608000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3867   1.6  christos   _LSE_INSN ("swpalh", 0x78e08000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3868   1.6  christos   _LSE_INSN ("swpa", 0xb8a08000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3869   1.6  christos   _LSE_INSN ("swpl", 0xb8608000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3870   1.6  christos   _LSE_INSN ("swpal", 0xb8e08000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3871   1.6  christos   _LSE_INSN ("ldaddb", 0x38200000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3872   1.6  christos   _LSE_INSN ("ldaddh", 0x78200000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3873   1.6  christos   _LSE_INSN ("ldadd", 0xb8200000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3874   1.6  christos   _LSE_INSN ("ldaddab", 0x38a00000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3875   1.6  christos   _LSE_INSN ("ldaddlb", 0x38600000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3876   1.6  christos   _LSE_INSN ("ldaddalb", 0x38e00000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3877   1.6  christos   _LSE_INSN ("ldaddah", 0x78a00000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3878   1.6  christos   _LSE_INSN ("ldaddlh", 0x78600000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3879   1.6  christos   _LSE_INSN ("ldaddalh", 0x78e00000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3880   1.6  christos   _LSE_INSN ("ldadda", 0xb8a00000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3881   1.6  christos   _LSE_INSN ("ldaddl", 0xb8600000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3882   1.6  christos   _LSE_INSN ("ldaddal", 0xb8e00000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3883   1.6  christos   _LSE_INSN ("ldclrb", 0x38201000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3884   1.6  christos   _LSE_INSN ("ldclrh", 0x78201000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3885   1.6  christos   _LSE_INSN ("ldclr", 0xb8201000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3886   1.6  christos   _LSE_INSN ("ldclrab", 0x38a01000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3887   1.6  christos   _LSE_INSN ("ldclrlb", 0x38601000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3888   1.6  christos   _LSE_INSN ("ldclralb", 0x38e01000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3889   1.6  christos   _LSE_INSN ("ldclrah", 0x78a01000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3890   1.6  christos   _LSE_INSN ("ldclrlh", 0x78601000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3891   1.6  christos   _LSE_INSN ("ldclralh", 0x78e01000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3892   1.6  christos   _LSE_INSN ("ldclra", 0xb8a01000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3893   1.6  christos   _LSE_INSN ("ldclrl", 0xb8601000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3894   1.6  christos   _LSE_INSN ("ldclral", 0xb8e01000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3895   1.6  christos   _LSE_INSN ("ldeorb", 0x38202000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3896   1.6  christos   _LSE_INSN ("ldeorh", 0x78202000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3897   1.6  christos   _LSE_INSN ("ldeor", 0xb8202000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3898   1.6  christos   _LSE_INSN ("ldeorab", 0x38a02000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3899   1.6  christos   _LSE_INSN ("ldeorlb", 0x38602000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3900   1.6  christos   _LSE_INSN ("ldeoralb", 0x38e02000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3901   1.6  christos   _LSE_INSN ("ldeorah", 0x78a02000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3902   1.6  christos   _LSE_INSN ("ldeorlh", 0x78602000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3903   1.6  christos   _LSE_INSN ("ldeoralh", 0x78e02000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3904   1.6  christos   _LSE_INSN ("ldeora", 0xb8a02000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3905   1.6  christos   _LSE_INSN ("ldeorl", 0xb8602000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3906   1.6  christos   _LSE_INSN ("ldeoral", 0xb8e02000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3907   1.6  christos   _LSE_INSN ("ldsetb", 0x38203000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3908   1.6  christos   _LSE_INSN ("ldseth", 0x78203000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3909   1.6  christos   _LSE_INSN ("ldset", 0xb8203000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3910   1.6  christos   _LSE_INSN ("ldsetab", 0x38a03000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3911   1.6  christos   _LSE_INSN ("ldsetlb", 0x38603000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3912   1.6  christos   _LSE_INSN ("ldsetalb", 0x38e03000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3913   1.6  christos   _LSE_INSN ("ldsetah", 0x78a03000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3914   1.6  christos   _LSE_INSN ("ldsetlh", 0x78603000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3915   1.6  christos   _LSE_INSN ("ldsetalh", 0x78e03000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3916   1.6  christos   _LSE_INSN ("ldseta", 0xb8a03000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3917   1.6  christos   _LSE_INSN ("ldsetl", 0xb8603000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3918   1.6  christos   _LSE_INSN ("ldsetal", 0xb8e03000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3919   1.6  christos   _LSE_INSN ("ldsmaxb", 0x38204000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3920   1.6  christos   _LSE_INSN ("ldsmaxh", 0x78204000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3921   1.6  christos   _LSE_INSN ("ldsmax", 0xb8204000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3922   1.6  christos   _LSE_INSN ("ldsmaxab", 0x38a04000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3923   1.6  christos   _LSE_INSN ("ldsmaxlb", 0x38604000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3924   1.6  christos   _LSE_INSN ("ldsmaxalb", 0x38e04000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3925   1.6  christos   _LSE_INSN ("ldsmaxah", 0x78a04000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3926   1.6  christos   _LSE_INSN ("ldsmaxlh", 0x78604000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3927   1.6  christos   _LSE_INSN ("ldsmaxalh", 0x78e04000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3928   1.6  christos   _LSE_INSN ("ldsmaxa", 0xb8a04000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3929   1.6  christos   _LSE_INSN ("ldsmaxl", 0xb8604000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3930   1.6  christos   _LSE_INSN ("ldsmaxal", 0xb8e04000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3931   1.6  christos   _LSE_INSN ("ldsminb", 0x38205000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3932   1.6  christos   _LSE_INSN ("ldsminh", 0x78205000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3933   1.6  christos   _LSE_INSN ("ldsmin", 0xb8205000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3934   1.6  christos   _LSE_INSN ("ldsminab", 0x38a05000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3935   1.6  christos   _LSE_INSN ("ldsminlb", 0x38605000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3936   1.6  christos   _LSE_INSN ("ldsminalb", 0x38e05000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3937   1.6  christos   _LSE_INSN ("ldsminah", 0x78a05000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3938   1.6  christos   _LSE_INSN ("ldsminlh", 0x78605000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3939   1.6  christos   _LSE_INSN ("ldsminalh", 0x78e05000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3940   1.6  christos   _LSE_INSN ("ldsmina", 0xb8a05000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3941   1.6  christos   _LSE_INSN ("ldsminl", 0xb8605000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3942   1.6  christos   _LSE_INSN ("ldsminal", 0xb8e05000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3943   1.6  christos   _LSE_INSN ("ldumaxb", 0x38206000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3944   1.6  christos   _LSE_INSN ("ldumaxh", 0x78206000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3945   1.6  christos   _LSE_INSN ("ldumax", 0xb8206000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3946   1.6  christos   _LSE_INSN ("ldumaxab", 0x38a06000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3947   1.6  christos   _LSE_INSN ("ldumaxlb", 0x38606000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3948   1.6  christos   _LSE_INSN ("ldumaxalb", 0x38e06000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3949   1.6  christos   _LSE_INSN ("ldumaxah", 0x78a06000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3950   1.6  christos   _LSE_INSN ("ldumaxlh", 0x78606000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3951   1.6  christos   _LSE_INSN ("ldumaxalh", 0x78e06000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3952   1.6  christos   _LSE_INSN ("ldumaxa", 0xb8a06000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3953   1.6  christos   _LSE_INSN ("ldumaxl", 0xb8606000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3954   1.6  christos   _LSE_INSN ("ldumaxal", 0xb8e06000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3955   1.6  christos   _LSE_INSN ("lduminb", 0x38207000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3956   1.6  christos   _LSE_INSN ("lduminh", 0x78207000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3957   1.6  christos   _LSE_INSN ("ldumin", 0xb8207000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3958   1.6  christos   _LSE_INSN ("lduminab", 0x38a07000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3959   1.6  christos   _LSE_INSN ("lduminlb", 0x38607000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3960   1.6  christos   _LSE_INSN ("lduminalb", 0x38e07000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3961   1.6  christos   _LSE_INSN ("lduminah", 0x78a07000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3962   1.6  christos   _LSE_INSN ("lduminlh", 0x78607000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, F_HAS_ALIAS),
   3963   1.6  christos   _LSE_INSN ("lduminalh", 0x78e07000, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_W2_LDST_EXC, 0),
   3964   1.6  christos   _LSE_INSN ("ldumina", 0xb8a07000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3965   1.6  christos   _LSE_INSN ("lduminl", 0xb8607000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS),
   3966   1.6  christos   _LSE_INSN ("lduminal", 0xb8e07000, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ),
   3967   1.6  christos   _LSE_INSN ("staddb", 0x3820001f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3968   1.6  christos   _LSE_INSN ("staddh", 0x7820001f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3969   1.6  christos   _LSE_INSN ("stadd", 0xb820001f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   3970   1.6  christos   _LSE_INSN ("staddlb", 0x3860001f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3971   1.6  christos   _LSE_INSN ("staddlh", 0x7860001f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3972   1.6  christos   _LSE_INSN ("staddl", 0xb860001f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   3973   1.6  christos   _LSE_INSN ("stclrb", 0x3820101f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3974   1.6  christos   _LSE_INSN ("stclrh", 0x7820101f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3975   1.6  christos   _LSE_INSN ("stclr", 0xb820101f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   3976   1.6  christos   _LSE_INSN ("stclrlb", 0x3860101f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3977   1.6  christos   _LSE_INSN ("stclrlh", 0x7860101f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3978   1.6  christos   _LSE_INSN ("stclrl", 0xb860101f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   3979   1.6  christos   _LSE_INSN ("steorb", 0x3820201f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3980   1.6  christos   _LSE_INSN ("steorh", 0x7820201f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3981   1.6  christos   _LSE_INSN ("steor", 0xb820201f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   3982   1.6  christos   _LSE_INSN ("steorlb", 0x3860201f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3983   1.6  christos   _LSE_INSN ("steorlh", 0x7860201f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3984   1.6  christos   _LSE_INSN ("steorl", 0xb860201f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   3985   1.6  christos   _LSE_INSN ("stsetb", 0x3820301f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3986   1.6  christos   _LSE_INSN ("stseth", 0x7820301f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3987   1.6  christos   _LSE_INSN ("stset", 0xb820301f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   3988   1.6  christos   _LSE_INSN ("stsetlb", 0x3860301f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3989   1.6  christos   _LSE_INSN ("stsetlh", 0x7860301f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3990   1.6  christos   _LSE_INSN ("stsetl", 0xb860301f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   3991   1.6  christos   _LSE_INSN ("stsmaxb", 0x3820401f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3992   1.6  christos   _LSE_INSN ("stsmaxh", 0x7820401f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3993   1.6  christos   _LSE_INSN ("stsmax", 0xb820401f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   3994   1.6  christos   _LSE_INSN ("stsmaxlb", 0x3860401f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3995   1.6  christos   _LSE_INSN ("stsmaxlh", 0x7860401f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3996   1.6  christos   _LSE_INSN ("stsmaxl", 0xb860401f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   3997   1.6  christos   _LSE_INSN ("stsminb", 0x3820501f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3998   1.6  christos   _LSE_INSN ("stsminh", 0x7820501f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   3999   1.6  christos   _LSE_INSN ("stsmin", 0xb820501f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   4000   1.6  christos   _LSE_INSN ("stsminlb", 0x3860501f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   4001   1.6  christos   _LSE_INSN ("stsminlh", 0x7860501f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   4002   1.6  christos   _LSE_INSN ("stsminl", 0xb860501f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   4003   1.6  christos   _LSE_INSN ("stumaxb", 0x3820601f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   4004   1.6  christos   _LSE_INSN ("stumaxh", 0x7820601f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   4005   1.6  christos   _LSE_INSN ("stumax", 0xb820601f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   4006   1.6  christos   _LSE_INSN ("stumaxlb", 0x3860601f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   4007   1.6  christos   _LSE_INSN ("stumaxlh", 0x7860601f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   4008   1.6  christos   _LSE_INSN ("stumaxl", 0xb860601f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   4009   1.6  christos   _LSE_INSN ("stuminb", 0x3820701f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   4010   1.6  christos   _LSE_INSN ("stuminh", 0x7820701f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   4011   1.6  christos   _LSE_INSN ("stumin", 0xb820701f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   4012   1.1  christos   _LSE_INSN ("stuminlb", 0x3860701f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   4013   1.7  christos   _LSE_INSN ("stuminlh", 0x7860701f, 0xffe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_W1_LDST_EXC, F_ALIAS),
   4014   1.7  christos   _LSE_INSN ("stuminl", 0xb860701f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS),
   4015   1.7  christos   /* Move wide (immediate).  */
   4016   1.7  christos   CORE_INSN ("movn", 0x12800000, 0x7f800000, movewide, OP_MOVN, OP2 (Rd, HALF), QL_DST_R, F_SF | F_HAS_ALIAS),
   4017   1.7  christos   CORE_INSN ("mov",  0x12800000, 0x7f800000, movewide, OP_MOV_IMM_WIDEN, OP2 (Rd, IMM_MOV), QL_DST_R, F_SF | F_ALIAS | F_CONV),
   4018   1.1  christos   CORE_INSN ("movz", 0x52800000, 0x7f800000, movewide, OP_MOVZ, OP2 (Rd, HALF), QL_DST_R, F_SF | F_HAS_ALIAS),
   4019   1.7  christos   CORE_INSN ("mov",  0x52800000, 0x7f800000, movewide, OP_MOV_IMM_WIDE, OP2 (Rd, IMM_MOV), QL_DST_R, F_SF | F_ALIAS | F_CONV),
   4020   1.7  christos   CORE_INSN ("movk", 0x72800000, 0x7f800000, movewide, OP_MOVK, OP2 (Rd, HALF), QL_DST_R, F_SF),
   4021   1.9  christos   /* PC-rel. addressing.  */
   4022   1.9  christos   CORE_INSN ("adr",  0x10000000, 0x9f000000, pcreladdr, 0, OP2 (Rd, ADDR_PCREL21), QL_ADRP, 0),
   4023   1.9  christos   CORE_INSN ("adrp", 0x90000000, 0x9f000000, pcreladdr, 0, OP2 (Rd, ADDR_ADRP), QL_ADRP, 0),
   4024   1.9  christos   /* TME Instructions.  */
   4025   1.9  christos   _TME_INSN ("tstart", 0xd5233060, 0xffffffe0, 0, 0, OP1 (Rd), QL_I1X, 0),
   4026  1.10  christos   _TME_INSN ("tcommit", 0xd503307f, 0xffffffff, 0, 0, OP0 (), {}, 0),
   4027  1.10  christos   _TME_INSN ("ttest", 0xd5233160, 0xffffffe0, 0, 0, OP1 (Rd), QL_I1X, 0),
   4028  1.10  christos   _TME_INSN ("tcancel", 0xd4600000, 0xffe0001f, 0, 0, OP1 (TME_UIMM16), QL_IMM_NIL, 0),
   4029  1.10  christos   /* SME instructions (aliases for MSR <sysreg> operations.  */
   4030  1.10  christos   SME_INSN ("smstart", 0xd503477f, 0xffffffff, sme_start, 0, OP0 (), {}, F_SYS_WRITE, 0),
   4031   1.1  christos   SME_INSN ("smstop",  0xd503467f, 0xffffffff, sme_stop,  0, OP0 (), {}, F_SYS_WRITE, 0),
   4032   1.8  christos   SME_INSN ("smstart", 0xd503417f, 0xfffff1ff, sme_start, 0, OP1 (SME_SM_ZA), {}, F_SYS_WRITE, 0),
   4033   1.7  christos   SME_INSN ("smstop",  0xd503407f, 0xfffff1ff, sme_stop,  0, OP1 (SME_SM_ZA), {}, F_SYS_WRITE, 0),
   4034   1.7  christos   /* System.  */
   4035   1.8  christos   CORE_INSN ("msr", 0xd500401f, 0xfff8f01f, ic_system, 0, OP2 (PSTATEFIELD, UIMM4), {}, F_SYS_WRITE),
   4036   1.9  christos   CORE_INSN ("hint",0xd503201f, 0xfffff01f, ic_system, 0, OP1 (UIMM7), {}, F_HAS_ALIAS),
   4037   1.7  christos   CORE_INSN ("nop", 0xd503201f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4038   1.7  christos   CORE_INSN ("csdb",0xd503229f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4039   1.7  christos   CORE_INSN ("bti",0xd503241f, 0xffffff3f, ic_system, 0, OP1 (BTI_TARGET), {}, F_ALIAS | F_OPD0_OPT | F_DEFAULT (0x0)),
   4040   1.7  christos   CORE_INSN ("yield", 0xd503203f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4041   1.7  christos   CORE_INSN ("wfe", 0xd503205f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4042   1.9  christos   CORE_INSN ("wfi", 0xd503207f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4043   1.9  christos   CORE_INSN ("sev", 0xd503209f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4044   1.9  christos   CORE_INSN ("sevl",0xd50320bf, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4045   1.9  christos   CORE_INSN ("dgh", 0xd50320df, 0xffffffff, ic_system, 0, OP0 (), {}, 0),
   4046   1.9  christos   CORE_INSN ("xpaclri", 0xd50320ff, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4047   1.9  christos   CORE_INSN ("pacia1716", 0xd503211f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4048   1.9  christos   CORE_INSN ("pacib1716", 0xd503215f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4049   1.9  christos   CORE_INSN ("autia1716", 0xd503219f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4050   1.9  christos   CORE_INSN ("autib1716", 0xd50321df, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4051  1.10  christos   CORE_INSN ("esb", 0xd503221f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4052   1.7  christos   CORE_INSN ("psb", 0xd503223f, 0xffffffff, ic_system, 0, OP1 (BARRIER_PSB), {}, F_ALIAS),
   4053   1.8  christos   CORE_INSN ("tsb", 0xd503225f, 0xffffffff, ic_system, 0, OP1 (BARRIER_PSB), {}, F_ALIAS),
   4054  1.10  christos   CORE_INSN ("clearbhb", 0xd50322df, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4055   1.9  christos   CORE_INSN ("clrex", 0xd503305f, 0xfffff0ff, ic_system, 0, OP1 (UIMM4), {}, F_OPD0_OPT | F_DEFAULT (0xF)),
   4056   1.8  christos   CORE_INSN ("dsb", 0xd503309f, 0xfffff0ff, ic_system, 0, OP1 (BARRIER), {}, F_HAS_ALIAS),
   4057   1.8  christos   V8_7_INSN ("dsb", 0xd503323f, 0xfffff3ff, ic_system, OP1 (BARRIER_DSB_NXS), {}, F_HAS_ALIAS),
   4058   1.7  christos   V8_R_INSN ("dfb", 0xd5033c9f, 0xffffffff, ic_system, OP0 (), {}, F_ALIAS),
   4059   1.7  christos   CORE_INSN ("ssbb", 0xd503309f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4060   1.8  christos   CORE_INSN ("pssbb", 0xd503349f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4061   1.7  christos   CORE_INSN ("dmb", 0xd50330bf, 0xfffff0ff, ic_system, 0, OP1 (BARRIER), {}, 0),
   4062   1.7  christos   CORE_INSN ("isb", 0xd50330df, 0xfffff0ff, ic_system, 0, OP1 (BARRIER_ISB), {}, F_OPD0_OPT | F_DEFAULT (0xF)),
   4063   1.7  christos   SB_INSN ("sb", 0xd50330ff, 0xffffffff, ic_system, OP0 (), {}, 0),
   4064   1.7  christos   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)),
   4065   1.7  christos   CORE_INSN ("at",  0xd5080000, 0xfff80000, ic_system, 0, OP2 (SYSREG_AT, Rt), QL_SRC_X, F_ALIAS),
   4066  1.10  christos   CORE_INSN ("dc",  0xd5080000, 0xfff80000, ic_system, 0, OP2 (SYSREG_DC, Rt), QL_SRC_X, F_ALIAS),
   4067  1.10  christos   CORE_INSN ("ic",  0xd5080000, 0xfff80000, ic_system, 0, OP2 (SYSREG_IC, Rt_SYS), QL_SRC_X, F_ALIAS | F_OPD1_OPT | F_DEFAULT (0x1F)),
   4068   1.8  christos   CORE_INSN ("tlbi",0xd5080000, 0xfff80000, ic_system, 0, OP2 (SYSREG_TLBI, Rt_SYS), QL_SRC_X, F_ALIAS | F_OPD1_OPT | F_DEFAULT (0x1F)),
   4069   1.8  christos   V8_7_INSN ("wfet", 0xd5031000, 0xffffffe0, ic_system, OP1 (Rd), QL_I1X, F_HAS_ALIAS),
   4070   1.8  christos   V8_7_INSN ("wfit", 0xd5031020, 0xffffffe0, ic_system, OP1 (Rd), QL_I1X, F_HAS_ALIAS),
   4071   1.9  christos   PREDRES_INSN ("cfp", 0xd50b7380, 0xffffffe0, ic_system, OP2 (SYSREG_SR, Rt), QL_SRC_X, F_ALIAS),
   4072   1.9  christos   PREDRES_INSN ("dvp", 0xd50b73a0, 0xffffffe0, ic_system, OP2 (SYSREG_SR, Rt), QL_SRC_X, F_ALIAS),
   4073   1.9  christos   PREDRES_INSN ("cpp", 0xd50b73e0, 0xffffffe0, ic_system, OP2 (SYSREG_SR, Rt), QL_SRC_X, F_ALIAS),
   4074   1.9  christos   /* Armv8.4-a flag setting instruction, However this encoding has an encoding clash with the msr
   4075   1.9  christos      below it.  Usually we can resolve this by setting an alias condition on the flags, however that
   4076   1.9  christos      depends on the disassembly masks to be able to quickly find the alias.  The problem is the
   4077   1.9  christos      cfinv instruction has no arguments, so all bits are set in the mask.  Which means it will
   4078  1.10  christos      potentially alias with too many instructions and so the tree can't be constructed.   As a work
   4079   1.8  christos      around we just place cfinv before msr.  This means the order between these two shouldn't be
   4080   1.7  christos      changed.  */
   4081   1.8  christos   FLAGM_INSN ("cfinv",  0xd500401f, 0xffffffff, ic_system, OP0 (), {}, 0),
   4082   1.9  christos   CORE_INSN ("msr", 0xd5000000, 0xffe00000, ic_system, 0, OP2 (SYSREG, Rt), QL_SRC_X, F_SYS_WRITE),
   4083   1.9  christos   CORE_INSN ("sysl",0xd5280000, 0xfff80000, ic_system, 0, OP5 (Rt, UIMM3_OP1, CRn, CRm, UIMM3_OP2), QL_SYSL, 0),
   4084   1.9  christos   CORE_INSN ("mrs", 0xd5200000, 0xffe00000, ic_system, 0, OP2 (Rt, SYSREG), QL_DST_X, F_SYS_READ),
   4085   1.9  christos   CORE_INSN ("paciaz",  0xd503231f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4086   1.9  christos   CORE_INSN ("paciasp", 0xd503233f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4087   1.9  christos   CORE_INSN ("pacibz",  0xd503235f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4088   1.9  christos   CORE_INSN ("pacibsp", 0xd503237f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4089   1.9  christos   CORE_INSN ("autiaz",  0xd503239f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4090   1.1  christos   CORE_INSN ("autiasp", 0xd50323bf, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4091   1.7  christos   CORE_INSN ("autibz",  0xd50323df, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4092   1.7  christos   CORE_INSN ("autibsp", 0xd50323ff, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
   4093   1.1  christos   /* Test & branch (immediate).  */
   4094   1.7  christos   CORE_INSN ("tbz", 0x36000000, 0x7f000000, testbranch, 0, OP3 (Rt, BIT_NUM, ADDR_PCREL14), QL_PCREL_14, 0),
   4095   1.7  christos   CORE_INSN ("tbnz",0x37000000, 0x7f000000, testbranch, 0, OP3 (Rt, BIT_NUM, ADDR_PCREL14), QL_PCREL_14, 0),
   4096   1.7  christos   /* The old UAL conditional branch mnemonics (to aid portability).  */
   4097   1.7  christos   CORE_INSN ("beq", 0x54000000, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4098   1.7  christos   CORE_INSN ("bne", 0x54000001, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4099   1.7  christos   CORE_INSN ("bcs", 0x54000002, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4100   1.7  christos   CORE_INSN ("bhs", 0x54000002, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4101   1.7  christos   CORE_INSN ("bcc", 0x54000003, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4102   1.7  christos   CORE_INSN ("blo", 0x54000003, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4103   1.7  christos   CORE_INSN ("bmi", 0x54000004, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4104   1.7  christos   CORE_INSN ("bpl", 0x54000005, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4105   1.7  christos   CORE_INSN ("bvs", 0x54000006, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4106   1.7  christos   CORE_INSN ("bvc", 0x54000007, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4107   1.7  christos   CORE_INSN ("bhi", 0x54000008, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4108   1.7  christos   CORE_INSN ("bls", 0x54000009, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4109   1.7  christos   CORE_INSN ("bge", 0x5400000a, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4110   1.7  christos   CORE_INSN ("blt", 0x5400000b, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4111   1.7  christos   CORE_INSN ("bgt", 0x5400000c, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4112   1.9  christos   CORE_INSN ("ble", 0x5400000d, 0xff00001f, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_ALIAS | F_PSEUDO),
   4113   1.7  christos   /* SVE instructions.  */
   4114   1.7  christos   _SVE_INSN ("fmov", 0x2539c000, 0xff3fe000, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_FPIMM8), OP_SVE_VU_HSD, F_ALIAS, 0),
   4115   1.7  christos   _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),
   4116   1.7  christos   _SVE_INSN ("mov", 0x04603000, 0xffe0fc00, sve_misc, OP_MOV_Z_Z, OP2 (SVE_Zd, SVE_Zn), OP_SVE_DD, F_ALIAS | F_MISC, 0),
   4117   1.7  christos   _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),
   4118   1.7  christos   _SVE_INSN ("mov", 0x05203800, 0xff3ffc00, sve_size_bhsd, 0, OP2 (SVE_Zd, Rn_SP), OP_SVE_VR_BHSD, F_ALIAS, 0),
   4119   1.7  christos   _SVE_INSN ("mov", 0x25804000, 0xfff0c210, sve_misc, OP_MOV_P_P, OP2 (SVE_Pd, SVE_Pn), OP_SVE_BB, F_ALIAS | F_MISC, 0),
   4120   1.8  christos   _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),
   4121   1.7  christos   _SVE_INSN ("mov", 0x05c00000, 0xfffc0000, sve_limm, 0, OP2 (SVE_Zd, SVE_LIMM_MOV), OP_SVE_VU_BHSD, F_ALIAS, 0),
   4122   1.8  christos   _SVE_INSN ("mov", 0x2538c000, 0xff3fc000, sve_size_bhsd, 0, OP2 (SVE_Zd, SVE_ASIMM), OP_SVE_VU_BHSD, F_ALIAS, 0),
   4123   1.7  christos   _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),
   4124   1.7  christos   _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),
   4125   1.8  christos   _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),
   4126   1.7  christos   _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),
   4127   1.7  christos   _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),
   4128   1.7  christos   _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),
   4129   1.7  christos   _SVE_INSN ("movs", 0x25c04000, 0xfff0c210, sve_misc, OP_MOVS_P_P, OP2 (SVE_Pd, SVE_Pn), OP_SVE_BB, F_ALIAS | F_MISC, 0),
   4130   1.8  christos   _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),
   4131   1.7  christos   _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),
   4132   1.8  christos   _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),
   4133   1.8  christos   _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),
   4134   1.7  christos   _SVE_INSN ("add", 0x04200000, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   4135   1.7  christos   _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),
   4136   1.7  christos   _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),
   4137   1.7  christos   _SVE_INSN ("addpl", 0x04605000, 0xffe0f800, sve_misc, 0, OP3 (Rd_SP, SVE_Rn_SP, SVE_SIMM6), OP_SVE_XXU, 0, 0),
   4138   1.7  christos   _SVE_INSN ("addvl", 0x04205000, 0xffe0f800, sve_misc, 0, OP3 (Rd_SP, SVE_Rn_SP, SVE_SIMM6), OP_SVE_XXU, 0, 0),
   4139   1.7  christos   _SVE_INSN ("adr", 0x0420a000, 0xffe0f000, sve_misc, 0, OP2 (SVE_Zd, SVE_ADDR_ZZ_SXTW), OP_SVE_DD, 0, 0),
   4140   1.8  christos   _SVE_INSN ("adr", 0x0460a000, 0xffe0f000, sve_misc, 0, OP2 (SVE_Zd, SVE_ADDR_ZZ_UXTW), OP_SVE_DD, 0, 0),
   4141   1.8  christos   _SVE_INSN ("adr", 0x04a0a000, 0xffa0f000, sve_size_sd, 0, OP2 (SVE_Zd, SVE_ADDR_ZZ_LSL), OP_SVE_VV_SD, 0, 0),
   4142   1.7  christos   _SVE_INSN ("and", 0x04203000, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_DDD, 0, 0),
   4143   1.7  christos   _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),
   4144   1.7  christos   _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),
   4145   1.7  christos   _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),
   4146   1.7  christos   _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),
   4147   1.8  christos   _SVE_INSN ("andv", 0x041a2000, 0xff3fe000, sve_size_bhsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_BHSD, 0, 0),
   4148   1.8  christos   _SVE_INSN ("asr", 0x04208000, 0xff20fc00, sve_size_bhs, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVD_BHS, 0, 0),
   4149   1.8  christos   _SVE_INSN ("asr", 0x04209000, 0xff20fc00, sve_shift_unpred, 0, OP3 (SVE_Zd, SVE_Zn, SVE_SHRIMM_UNPRED), OP_SVE_VVU_BHSD, 0, 0),
   4150   1.8  christos   _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),
   4151   1.8  christos   _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),
   4152   1.7  christos   _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),
   4153   1.8  christos   _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),
   4154   1.7  christos   _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),
   4155   1.7  christos   _SVE_INSN ("bic", 0x04e03000, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_DDD, 0, 0),
   4156   1.7  christos   _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),
   4157   1.7  christos   _SVE_INSN ("bic", 0x25004010, 0xfff0c210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pm), OP_SVE_BZBB, 0, 0),
   4158   1.7  christos   _SVE_INSN ("bics", 0x25404010, 0xfff0c210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pm), OP_SVE_BZBB, 0, 0),
   4159   1.7  christos   _SVE_INSN ("brka", 0x25104000, 0xffffc200, sve_pred_zm, 0, OP3 (SVE_Pd, SVE_Pg4_10, SVE_Pn), OP_SVE_BPB, 0, 0),
   4160   1.7  christos   _SVE_INSN ("brkas", 0x25504000, 0xffffc210, sve_misc, 0, OP3 (SVE_Pd, SVE_Pg4_10, SVE_Pn), OP_SVE_BZB, 0, 0),
   4161   1.7  christos   _SVE_INSN ("brkb", 0x25904000, 0xffffc200, sve_pred_zm, 0, OP3 (SVE_Pd, SVE_Pg4_10, SVE_Pn), OP_SVE_BPB, 0, 0),
   4162   1.7  christos   _SVE_INSN ("brkbs", 0x25d04000, 0xffffc210, sve_misc, 0, OP3 (SVE_Pd, SVE_Pg4_10, SVE_Pn), OP_SVE_BZB, 0, 0),
   4163   1.7  christos   _SVE_INSN ("brkn", 0x25184000, 0xffffc210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pd), OP_SVE_BZBB, 0, 3),
   4164   1.7  christos   _SVE_INSN ("brkns", 0x25584000, 0xffffc210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pd), OP_SVE_BZBB, 0, 3),
   4165   1.7  christos   _SVE_INSN ("brkpa", 0x2500c000, 0xfff0c210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pm), OP_SVE_BZBB, 0, 0),
   4166   1.8  christos   _SVE_INSN ("brkpas", 0x2540c000, 0xfff0c210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pm), OP_SVE_BZBB, 0, 0),
   4167   1.7  christos   _SVE_INSN ("brkpb", 0x2500c010, 0xfff0c210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pm), OP_SVE_BZBB, 0, 0),
   4168   1.7  christos   _SVE_INSN ("brkpbs", 0x2540c010, 0xfff0c210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pm), OP_SVE_BZBB, 0, 0),
   4169   1.8  christos   _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),
   4170   1.7  christos   _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),
   4171   1.7  christos   _SVE_INSN ("clasta", 0x0530a000, 0xff3fe000, sve_size_bhsd, 0, OP4 (Rd, SVE_Pg3, Rd, SVE_Zm_5), OP_SVE_RURV_BHSD, 0, 2),
   4172   1.8  christos   _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),
   4173   1.8  christos   _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),
   4174   1.7  christos   _SVE_INSN ("clastb", 0x0531a000, 0xff3fe000, sve_size_bhsd, 0, OP4 (Rd, SVE_Pg3, Rd, SVE_Zm_5), OP_SVE_RURV_BHSD, 0, 2),
   4175   1.7  christos   _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),
   4176   1.7  christos   _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),
   4177   1.7  christos   _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),
   4178   1.7  christos   _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),
   4179   1.7  christos   _SVE_INSN ("cmpeq", 0x25008000, 0xff20e010, sve_size_bhsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, SIMM5), OP_SVE_VZVU_BHSD, 0, 0),
   4180   1.7  christos   _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),
   4181   1.7  christos   _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),
   4182   1.7  christos   _SVE_INSN ("cmpge", 0x25000000, 0xff20e010, sve_size_bhsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, SIMM5), OP_SVE_VZVU_BHSD, 0, 0),
   4183   1.7  christos   _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),
   4184   1.7  christos   _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),
   4185   1.7  christos   _SVE_INSN ("cmpgt", 0x25000010, 0xff20e010, sve_size_bhsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, SIMM5), OP_SVE_VZVU_BHSD, 0, 0),
   4186   1.7  christos   _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),
   4187   1.7  christos   _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),
   4188   1.7  christos   _SVE_INSN ("cmphi", 0x24200010, 0xff202010, sve_size_bhsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, SVE_UIMM7), OP_SVE_VZVU_BHSD, 0, 0),
   4189   1.7  christos   _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),
   4190   1.7  christos   _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),
   4191   1.7  christos   _SVE_INSN ("cmphs", 0x24200000, 0xff202010, sve_size_bhsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, SVE_UIMM7), OP_SVE_VZVU_BHSD, 0, 0),
   4192   1.7  christos   _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),
   4193   1.7  christos   _SVE_INSN ("cmple", 0x25002010, 0xff20e010, sve_size_bhsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, SIMM5), OP_SVE_VZVU_BHSD, 0, 0),
   4194   1.7  christos   _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),
   4195   1.7  christos   _SVE_INSN ("cmplo", 0x24202000, 0xff202010, sve_size_bhsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, SVE_UIMM7), OP_SVE_VZVU_BHSD, 0, 0),
   4196   1.7  christos   _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),
   4197   1.7  christos   _SVE_INSN ("cmpls", 0x24202010, 0xff202010, sve_size_bhsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, SVE_UIMM7), OP_SVE_VZVU_BHSD, 0, 0),
   4198   1.7  christos   _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),
   4199   1.7  christos   _SVE_INSN ("cmplt", 0x25002000, 0xff20e010, sve_size_bhsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, SIMM5), OP_SVE_VZVU_BHSD, 0, 0),
   4200   1.8  christos   _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),
   4201   1.8  christos   _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),
   4202   1.7  christos   _SVE_INSN ("cmpne", 0x25008010, 0xff20e010, sve_size_bhsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, SIMM5), OP_SVE_VZVU_BHSD, 0, 0),
   4203   1.7  christos   _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),
   4204   1.7  christos   _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),
   4205   1.7  christos   _SVE_INSN ("cntb", 0x0420e000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4206   1.7  christos   _SVE_INSN ("cntd", 0x04e0e000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4207   1.7  christos   _SVE_INSN ("cnth", 0x0460e000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4208   1.8  christos   _SVE_INSN ("cntp", 0x25208000, 0xff3fc200, sve_size_bhsd, 0, OP3 (Rd, SVE_Pg4_10, SVE_Pn), OP_SVE_XUV_BHSD, 0, 0),
   4209   1.8  christos   _SVE_INSN ("cntw", 0x04a0e000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4210   1.8  christos   _SVE_INSN ("compact", 0x05a18000, 0xffbfe000, sve_size_sd, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_SD, 0, 0),
   4211   1.7  christos   _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),
   4212   1.7  christos   _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),
   4213   1.7  christos   _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),
   4214   1.8  christos   _SVE_INSN ("ctermeq", 0x25a02000, 0xffa0fc1f, sve_size_sd, 0, OP2 (Rn, Rm), OP_SVE_RR, 0, 0),
   4215   1.7  christos   _SVE_INSN ("ctermne", 0x25a02010, 0xffa0fc1f, sve_size_sd, 0, OP2 (Rn, Rm), OP_SVE_RR, 0, 0),
   4216   1.8  christos   _SVE_INSN ("decb", 0x0430e400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4217   1.7  christos   _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),
   4218  1.10  christos   _SVE_INSN ("decd", 0x04f0e400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4219   1.7  christos   _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),
   4220   1.8  christos   _SVE_INSN ("dech", 0x0470e400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4221   1.7  christos   _SVE_INSNC ("decp", 0x252d8000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_Vv_HSD, 0, C_SCAN_MOVPRFX, 0),
   4222   1.7  christos   _SVE_INSN ("decp", 0x252d8800, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_XV_BHSD, 0, 0),
   4223   1.7  christos   _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),
   4224   1.7  christos   _SVE_INSN ("decw", 0x04b0e400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4225   1.7  christos   _SVE_INSN ("dup", 0x05203800, 0xff3ffc00, sve_size_bhsd, 0, OP2 (SVE_Zd, Rn_SP), OP_SVE_VR_BHSD, F_HAS_ALIAS, 0),
   4226   1.7  christos   _SVE_INSN ("dup", 0x05202000, 0xff20fc00, sve_index, 0, OP2 (SVE_Zd, SVE_Zn_INDEX), OP_SVE_VV_BHSDQ, F_HAS_ALIAS, 0),
   4227   1.8  christos   _SVE_INSN ("dup", 0x2538c000, 0xff3fc000, sve_size_bhsd, 0, OP2 (SVE_Zd, SVE_ASIMM), OP_SVE_VU_BHSD, F_HAS_ALIAS, 0),
   4228   1.8  christos   _SVE_INSN ("dupm", 0x05c00000, 0xfffc0000, sve_limm, 0, OP2 (SVE_Zd, SVE_LIMM), OP_SVE_VU_BHSD, F_HAS_ALIAS, 0),
   4229   1.7  christos   _SVE_INSN ("eor", 0x04a03000, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_DDD, 0, 0),
   4230   1.7  christos   _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),
   4231   1.7  christos   _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),
   4232   1.8  christos   _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),
   4233   1.8  christos   _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),
   4234   1.8  christos   _SVE_INSN ("eorv", 0x04192000, 0xff3fe000, sve_size_bhsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_BHSD, 0, 0),
   4235   1.7  christos   _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),
   4236   1.7  christos   _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),
   4237   1.7  christos   _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),
   4238   1.8  christos   _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),
   4239   1.8  christos   _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),
   4240   1.7  christos   _SVE_INSN ("fadd", 0x65000000, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD, 0, 0),
   4241   1.7  christos   _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),
   4242   1.8  christos   _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),
   4243   1.8  christos   _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),
   4244   1.8  christos   _SVE_INSN ("faddv", 0x65002000, 0xff3fe000, sve_size_hsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_HSD, 0, 0),
   4245   1.8  christos   _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),
   4246   1.7  christos   _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),
   4247   1.7  christos   _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),
   4248   1.7  christos   _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),
   4249   1.7  christos   _SVE_INSN ("fcmeq", 0x65122000, 0xff3fe010, sve_size_hsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, FPIMM0), OP_SVE_VZV_HSD, 0, 0),
   4250   1.7  christos   _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),
   4251   1.7  christos   _SVE_INSN ("fcmge", 0x65102000, 0xff3fe010, sve_size_hsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, FPIMM0), OP_SVE_VZV_HSD, 0, 0),
   4252   1.7  christos   _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),
   4253   1.7  christos   _SVE_INSN ("fcmgt", 0x65102010, 0xff3fe010, sve_size_hsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, FPIMM0), OP_SVE_VZV_HSD, 0, 0),
   4254   1.7  christos   _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),
   4255   1.7  christos   _SVE_INSN ("fcmle", 0x65112010, 0xff3fe010, sve_size_hsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, FPIMM0), OP_SVE_VZV_HSD, 0, 0),
   4256   1.7  christos   _SVE_INSN ("fcmlt", 0x65112000, 0xff3fe010, sve_size_hsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, FPIMM0), OP_SVE_VZV_HSD, 0, 0),
   4257   1.8  christos   _SVE_INSN ("fcmne", 0x65132000, 0xff3fe010, sve_size_hsd, 0, OP4 (SVE_Pd, SVE_Pg3, SVE_Zn, FPIMM0), OP_SVE_VZV_HSD, 0, 0),
   4258   1.8  christos   _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),
   4259   1.8  christos   _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),
   4260   1.8  christos   _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),
   4261   1.8  christos   _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),
   4262   1.8  christos   _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),
   4263   1.8  christos   _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),
   4264   1.9  christos   _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),
   4265   1.9  christos   _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),
   4266   1.9  christos   _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),
   4267   1.9  christos   _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),
   4268   1.9  christos   _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),
   4269   1.9  christos   _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),
   4270   1.9  christos   _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),
   4271   1.9  christos   _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),
   4272   1.9  christos   _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),
   4273   1.9  christos   _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),
   4274   1.9  christos   _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),
   4275   1.9  christos   _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),
   4276   1.9  christos   _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),
   4277   1.9  christos   _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),
   4278   1.8  christos   _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),
   4279   1.8  christos   _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),
   4280   1.7  christos   _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),
   4281   1.7  christos   _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),
   4282   1.8  christos   _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),
   4283   1.8  christos   _SVE_INSN ("fdup", 0x2539c000, 0xff3fe000, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_FPIMM8), OP_SVE_VU_HSD, F_HAS_ALIAS, 0),
   4284   1.8  christos   _SVE_INSN ("fexpa", 0x0420b800, 0xff3ffc00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Zn), OP_SVE_VV_HSD, 0, 0),
   4285   1.8  christos   _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),
   4286   1.8  christos   _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),
   4287   1.7  christos   _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),
   4288   1.7  christos   _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),
   4289   1.8  christos   _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),
   4290   1.8  christos   _SVE_INSN ("fmaxnmv", 0x65042000, 0xff3fe000, sve_size_hsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_HSD, 0, 0),
   4291   1.8  christos   _SVE_INSN ("fmaxv", 0x65062000, 0xff3fe000, sve_size_hsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_HSD, 0, 0),
   4292   1.8  christos   _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),
   4293   1.7  christos   _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),
   4294   1.7  christos   _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),
   4295   1.8  christos   _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),
   4296   1.8  christos   _SVE_INSN ("fminnmv", 0x65052000, 0xff3fe000, sve_size_hsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_HSD, 0, 0),
   4297   1.8  christos   _SVE_INSN ("fminv", 0x65072000, 0xff3fe000, sve_size_hsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_HSD, 0, 0),
   4298   1.8  christos   _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),
   4299   1.8  christos   _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),
   4300   1.8  christos   _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),
   4301   1.8  christos   _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),
   4302   1.8  christos   _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),
   4303   1.8  christos   _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),
   4304   1.7  christos   _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),
   4305   1.8  christos   _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),
   4306   1.8  christos   _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),
   4307   1.7  christos   _SVE_INSN ("fmul", 0x65000800, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD, 0, 0),
   4308   1.7  christos   _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),
   4309   1.7  christos   _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),
   4310   1.8  christos   _SVE_INSN ("fmul", 0x64202000, 0xffa0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_22_INDEX), OP_SVE_VVV_H, 0, 0),
   4311   1.8  christos   _SVE_INSN ("fmul", 0x64a02000, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_INDEX), OP_SVE_VVV_S, 0, 0),
   4312   1.8  christos   _SVE_INSN ("fmul", 0x64e02000, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm4_INDEX), OP_SVE_VVV_D, 0, 0),
   4313   1.8  christos   _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),
   4314   1.8  christos   _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),
   4315   1.8  christos   _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),
   4316   1.7  christos   _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),
   4317   1.7  christos   _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),
   4318   1.8  christos   _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),
   4319   1.8  christos   _SVE_INSN ("frecpe", 0x650e3000, 0xff3ffc00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Zn), OP_SVE_VV_HSD, 0, 0),
   4320   1.8  christos   _SVE_INSN ("frecps", 0x65001800, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD, 0, 0),
   4321   1.8  christos   _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),
   4322   1.8  christos   _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),
   4323   1.8  christos   _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),
   4324   1.8  christos   _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),
   4325   1.8  christos   _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),
   4326   1.7  christos   _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),
   4327   1.7  christos   _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),
   4328   1.8  christos   _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),
   4329   1.8  christos   _SVE_INSN ("frsqrte", 0x650f3000, 0xff3ffc00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Zn), OP_SVE_VV_HSD, 0, 0),
   4330   1.7  christos   _SVE_INSN ("frsqrts", 0x65001c00, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD, 0, 0),
   4331   1.8  christos   _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),
   4332   1.8  christos   _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),
   4333   1.8  christos   _SVE_INSN ("fsub", 0x65000400, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD, 0, 0),
   4334   1.8  christos   _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),
   4335   1.8  christos   _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),
   4336   1.7  christos   _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),
   4337   1.7  christos   _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),
   4338   1.7  christos   _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),
   4339   1.8  christos   _SVE_INSN ("ftsmul", 0x65000c00, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD, 0, 0),
   4340   1.7  christos   _SVE_INSN ("ftssel", 0x0420b000, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD, 0, 0),
   4341   1.8  christos   _SVE_INSN ("incb", 0x0430e000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4342   1.7  christos   _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),
   4343  1.10  christos   _SVE_INSN ("incd", 0x04f0e000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4344   1.7  christos   _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),
   4345   1.8  christos   _SVE_INSN ("inch", 0x0470e000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4346   1.7  christos   _SVE_INSNC ("incp", 0x252c8000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_Vv_HSD, 0, C_SCAN_MOVPRFX, 0),
   4347   1.7  christos   _SVE_INSN ("incp", 0x252c8800, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_XV_BHSD, 0, 0),
   4348   1.7  christos   _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),
   4349   1.7  christos   _SVE_INSN ("incw", 0x04b0e000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4350   1.7  christos   _SVE_INSN ("index", 0x04204c00, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, Rn, Rm), OP_SVE_VRR_BHSD, 0, 0),
   4351   1.8  christos   _SVE_INSN ("index", 0x04204000, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_SIMM5, SVE_SIMM5B), OP_SVE_VUU_BHSD, 0, 0),
   4352   1.8  christos   _SVE_INSN ("index", 0x04204400, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, Rn, SIMM5), OP_SVE_VRU_BHSD, 0, 0),
   4353   1.7  christos   _SVE_INSN ("index", 0x04204800, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_SIMM5, Rm), OP_SVE_VUR_BHSD, 0, 0),
   4354   1.7  christos   _SVE_INSNC ("insr", 0x05243800, 0xff3ffc00, sve_size_bhsd, 0, OP2 (SVE_Zd, SVE_Rm), OP_SVE_VR_BHSD, 0, C_SCAN_MOVPRFX, 0),
   4355   1.7  christos   _SVE_INSNC ("insr", 0x05343800, 0xff3ffc00, sve_size_bhsd, 0, OP2 (SVE_Zd, SVE_Vm), OP_SVE_VV_BHSD, 0, C_SCAN_MOVPRFX, 0),
   4356   1.7  christos   _SVE_INSN ("lasta", 0x0520a000, 0xff3fe000, sve_size_bhsd, 0, OP3 (Rd, SVE_Pg3, SVE_Zn), OP_SVE_RUV_BHSD, 0, 0),
   4357   1.7  christos   _SVE_INSN ("lasta", 0x05228000, 0xff3fe000, sve_size_bhsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_BHSD, 0, 0),
   4358   1.7  christos   _SVE_INSN ("lastb", 0x0521a000, 0xff3fe000, sve_size_bhsd, 0, OP3 (Rd, SVE_Pg3, SVE_Zn), OP_SVE_RUV_BHSD, 0, 0),
   4359   1.7  christos   _SVE_INSN ("lastb", 0x05238000, 0xff3fe000, sve_size_bhsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_BHSD, 0, 0),
   4360   1.7  christos   _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),
   4361   1.7  christos   _SVE_INSN ("ld1b", 0xa4004000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_BZU, F_OD(1), 0),
   4362   1.7  christos   _SVE_INSN ("ld1b", 0xa4204000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_HZU, F_OD(1), 0),
   4363   1.7  christos   _SVE_INSN ("ld1b", 0xa4404000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_SZU, F_OD(1), 0),
   4364   1.7  christos   _SVE_INSN ("ld1b", 0xa4604000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_DZU, F_OD(1), 0),
   4365   1.7  christos   _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),
   4366   1.7  christos   _SVE_INSN ("ld1b", 0xc440c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   4367   1.7  christos   _SVE_INSN ("ld1b", 0x8420c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_SZS, F_OD(1), 0),
   4368   1.7  christos   _SVE_INSN ("ld1b", 0xa400a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_BZU, F_OD(1), 0),
   4369   1.7  christos   _SVE_INSN ("ld1b", 0xa420a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_HZU, F_OD(1), 0),
   4370   1.7  christos   _SVE_INSN ("ld1b", 0xa440a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SZU, F_OD(1), 0),
   4371   1.7  christos   _SVE_INSN ("ld1b", 0xa460a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4372   1.7  christos   _SVE_INSN ("ld1b", 0xc420c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_DZD, F_OD(1), 0),
   4373   1.7  christos   _SVE_INSN ("ld1d", 0xa5e04000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL3), OP_SVE_DZU, F_OD(1), 0),
   4374   1.7  christos   _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),
   4375   1.7  christos   _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),
   4376   1.7  christos   _SVE_INSN ("ld1d", 0xc5c0c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   4377   1.7  christos   _SVE_INSN ("ld1d", 0xc5e0c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL3), OP_SVE_DZD, F_OD(1), 0),
   4378   1.7  christos   _SVE_INSN ("ld1d", 0xa5e0a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4379   1.7  christos   _SVE_INSN ("ld1d", 0xc5a0c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x8), OP_SVE_DZD, F_OD(1), 0),
   4380   1.7  christos   _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),
   4381   1.7  christos   _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),
   4382   1.7  christos   _SVE_INSN ("ld1h", 0xa4a04000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_HZU, F_OD(1), 0),
   4383   1.7  christos   _SVE_INSN ("ld1h", 0xa4c04000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_SZU, F_OD(1), 0),
   4384   1.7  christos   _SVE_INSN ("ld1h", 0xa4e04000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_DZU, F_OD(1), 0),
   4385   1.7  christos   _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),
   4386   1.7  christos   _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),
   4387   1.7  christos   _SVE_INSN ("ld1h", 0xc4c0c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   4388   1.7  christos   _SVE_INSN ("ld1h", 0xc4e0c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL1), OP_SVE_DZD, F_OD(1), 0),
   4389   1.7  christos   _SVE_INSN ("ld1h", 0x84a0c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_SZS, F_OD(1), 0),
   4390   1.7  christos   _SVE_INSN ("ld1h", 0xa4a0a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_HZU, F_OD(1), 0),
   4391   1.7  christos   _SVE_INSN ("ld1h", 0xa4c0a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SZU, F_OD(1), 0),
   4392   1.7  christos   _SVE_INSN ("ld1h", 0xa4e0a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4393   1.7  christos   _SVE_INSN ("ld1h", 0xc4a0c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_DZD, F_OD(1), 0),
   4394   1.7  christos   _SVE_INSN ("ld1rb", 0x84408000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6), OP_SVE_BZU, F_OD(1), 0),
   4395   1.7  christos   _SVE_INSN ("ld1rb", 0x8440a000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6), OP_SVE_HZU, F_OD(1), 0),
   4396   1.7  christos   _SVE_INSN ("ld1rb", 0x8440c000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6), OP_SVE_SZU, F_OD(1), 0),
   4397   1.7  christos   _SVE_INSN ("ld1rb", 0x8440e000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6), OP_SVE_DZU, F_OD(1), 0),
   4398   1.7  christos   _SVE_INSN ("ld1rd", 0x85c0e000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6x8), OP_SVE_DZU, F_OD(1), 0),
   4399   1.7  christos   _SVE_INSN ("ld1rh", 0x84c0a000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6x2), OP_SVE_HZU, F_OD(1), 0),
   4400   1.7  christos   _SVE_INSN ("ld1rh", 0x84c0c000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6x2), OP_SVE_SZU, F_OD(1), 0),
   4401   1.7  christos   _SVE_INSN ("ld1rh", 0x84c0e000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6x2), OP_SVE_DZU, F_OD(1), 0),
   4402   1.7  christos   _SVE_INSN ("ld1rqb", 0xa4002000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x16), OP_SVE_BZU, F_OD(1), 0),
   4403   1.7  christos   _SVE_INSN ("ld1rqb", 0xa4000000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_BZU, F_OD(1), 0),
   4404   1.7  christos   _SVE_INSN ("ld1rqd", 0xa5802000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x16), OP_SVE_DZU, F_OD(1), 0),
   4405   1.7  christos   _SVE_INSN ("ld1rqd", 0xa5800000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL3), OP_SVE_DZU, F_OD(1), 0),
   4406   1.7  christos   _SVE_INSN ("ld1rqh", 0xa4802000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x16), OP_SVE_HZU, F_OD(1), 0),
   4407   1.7  christos   _SVE_INSN ("ld1rqh", 0xa4800000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_HZU, F_OD(1), 0),
   4408   1.7  christos   _SVE_INSN ("ld1rqw", 0xa5002000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x16), OP_SVE_SZU, F_OD(1), 0),
   4409   1.7  christos   _SVE_INSN ("ld1rqw", 0xa5000000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SZU, F_OD(1), 0),
   4410   1.7  christos   _SVE_INSN ("ld1rsb", 0x85c08000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6), OP_SVE_DZU, F_OD(1), 0),
   4411   1.7  christos   _SVE_INSN ("ld1rsb", 0x85c0a000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6), OP_SVE_SZU, F_OD(1), 0),
   4412   1.7  christos   _SVE_INSN ("ld1rsb", 0x85c0c000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6), OP_SVE_HZU, F_OD(1), 0),
   4413   1.7  christos   _SVE_INSN ("ld1rsh", 0x85408000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6x2), OP_SVE_DZU, F_OD(1), 0),
   4414   1.7  christos   _SVE_INSN ("ld1rsh", 0x8540a000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6x2), OP_SVE_SZU, F_OD(1), 0),
   4415   1.7  christos   _SVE_INSN ("ld1rsw", 0x84c08000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6x4), OP_SVE_DZU, F_OD(1), 0),
   4416   1.7  christos   _SVE_INSN ("ld1rw", 0x8540c000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6x4), OP_SVE_SZU, F_OD(1), 0),
   4417   1.7  christos   _SVE_INSN ("ld1rw", 0x8540e000, 0xffc0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_U6x4), OP_SVE_DZU, F_OD(1), 0),
   4418   1.7  christos   _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),
   4419   1.7  christos   _SVE_INSN ("ld1sb", 0xa5804000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_DZU, F_OD(1), 0),
   4420   1.7  christos   _SVE_INSN ("ld1sb", 0xa5a04000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_SZU, F_OD(1), 0),
   4421   1.7  christos   _SVE_INSN ("ld1sb", 0xa5c04000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_HZU, F_OD(1), 0),
   4422   1.7  christos   _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),
   4423   1.7  christos   _SVE_INSN ("ld1sb", 0xc4408000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   4424   1.7  christos   _SVE_INSN ("ld1sb", 0x84208000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_SZS, F_OD(1), 0),
   4425   1.7  christos   _SVE_INSN ("ld1sb", 0xa580a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4426   1.7  christos   _SVE_INSN ("ld1sb", 0xa5a0a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SZU, F_OD(1), 0),
   4427   1.7  christos   _SVE_INSN ("ld1sb", 0xa5c0a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_HZU, F_OD(1), 0),
   4428   1.7  christos   _SVE_INSN ("ld1sb", 0xc4208000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_DZD, F_OD(1), 0),
   4429   1.7  christos   _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),
   4430   1.7  christos   _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),
   4431   1.7  christos   _SVE_INSN ("ld1sh", 0xa5004000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_DZU, F_OD(1), 0),
   4432   1.7  christos   _SVE_INSN ("ld1sh", 0xa5204000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_SZU, F_OD(1), 0),
   4433   1.7  christos   _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),
   4434   1.7  christos   _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),
   4435   1.7  christos   _SVE_INSN ("ld1sh", 0xc4c08000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   4436   1.7  christos   _SVE_INSN ("ld1sh", 0xc4e08000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL1), OP_SVE_DZD, F_OD(1), 0),
   4437   1.7  christos   _SVE_INSN ("ld1sh", 0x84a08000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_SZS, F_OD(1), 0),
   4438   1.7  christos   _SVE_INSN ("ld1sh", 0xa500a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4439   1.7  christos   _SVE_INSN ("ld1sh", 0xa520a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SZU, F_OD(1), 0),
   4440   1.7  christos   _SVE_INSN ("ld1sh", 0xc4a08000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_DZD, F_OD(1), 0),
   4441   1.7  christos   _SVE_INSN ("ld1sw", 0xa4804000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_DZU, F_OD(1), 0),
   4442   1.7  christos   _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),
   4443   1.7  christos   _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),
   4444   1.7  christos   _SVE_INSN ("ld1sw", 0xc5408000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   4445   1.7  christos   _SVE_INSN ("ld1sw", 0xc5608000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL2), OP_SVE_DZD, F_OD(1), 0),
   4446   1.7  christos   _SVE_INSN ("ld1sw", 0xa480a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4447   1.7  christos   _SVE_INSN ("ld1sw", 0xc5208000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x4), OP_SVE_DZD, F_OD(1), 0),
   4448   1.7  christos   _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),
   4449   1.7  christos   _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),
   4450   1.7  christos   _SVE_INSN ("ld1w", 0xa5404000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SZU, F_OD(1), 0),
   4451   1.7  christos   _SVE_INSN ("ld1w", 0xa5604000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_DZU, F_OD(1), 0),
   4452   1.7  christos   _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),
   4453   1.7  christos   _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),
   4454   1.7  christos   _SVE_INSN ("ld1w", 0xc540c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   4455   1.7  christos   _SVE_INSN ("ld1w", 0xc560c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL2), OP_SVE_DZD, F_OD(1), 0),
   4456   1.7  christos   _SVE_INSN ("ld1w", 0x8520c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x4), OP_SVE_SZS, F_OD(1), 0),
   4457   1.7  christos   _SVE_INSN ("ld1w", 0xa540a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SZU, F_OD(1), 0),
   4458   1.7  christos   _SVE_INSN ("ld1w", 0xa560a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4459   1.7  christos   _SVE_INSN ("ld1w", 0xc520c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x4), OP_SVE_DZD, F_OD(1), 0),
   4460   1.7  christos   _SVE_INSN ("ld2b", 0xa420c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_BZU, F_OD(2), 0),
   4461   1.7  christos   _SVE_INSN ("ld2b", 0xa420e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_BZU, F_OD(2), 0),
   4462   1.7  christos   _SVE_INSN ("ld2d", 0xa5a0c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL3), OP_SVE_DZU, F_OD(2), 0),
   4463   1.7  christos   _SVE_INSN ("ld2d", 0xa5a0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_DZU, F_OD(2), 0),
   4464   1.7  christos   _SVE_INSN ("ld2h", 0xa4a0c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_HZU, F_OD(2), 0),
   4465   1.7  christos   _SVE_INSN ("ld2h", 0xa4a0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_HZU, F_OD(2), 0),
   4466   1.7  christos   _SVE_INSN ("ld2w", 0xa520c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SZU, F_OD(2), 0),
   4467   1.7  christos   _SVE_INSN ("ld2w", 0xa520e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_SZU, F_OD(2), 0),
   4468   1.7  christos   _SVE_INSN ("ld3b", 0xa440c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_BZU, F_OD(3), 0),
   4469   1.7  christos   _SVE_INSN ("ld3b", 0xa440e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x3xVL), OP_SVE_BZU, F_OD(3), 0),
   4470   1.7  christos   _SVE_INSN ("ld3d", 0xa5c0c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL3), OP_SVE_DZU, F_OD(3), 0),
   4471   1.7  christos   _SVE_INSN ("ld3d", 0xa5c0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x3xVL), OP_SVE_DZU, F_OD(3), 0),
   4472   1.7  christos   _SVE_INSN ("ld3h", 0xa4c0c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_HZU, F_OD(3), 0),
   4473   1.7  christos   _SVE_INSN ("ld3h", 0xa4c0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x3xVL), OP_SVE_HZU, F_OD(3), 0),
   4474   1.7  christos   _SVE_INSN ("ld3w", 0xa540c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SZU, F_OD(3), 0),
   4475   1.7  christos   _SVE_INSN ("ld3w", 0xa540e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x3xVL), OP_SVE_SZU, F_OD(3), 0),
   4476   1.7  christos   _SVE_INSN ("ld4b", 0xa460c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_BZU, F_OD(4), 0),
   4477   1.7  christos   _SVE_INSN ("ld4b", 0xa460e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_BZU, F_OD(4), 0),
   4478   1.7  christos   _SVE_INSN ("ld4d", 0xa5e0c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL3), OP_SVE_DZU, F_OD(4), 0),
   4479   1.7  christos   _SVE_INSN ("ld4d", 0xa5e0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_DZU, F_OD(4), 0),
   4480   1.7  christos   _SVE_INSN ("ld4h", 0xa4e0c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_HZU, F_OD(4), 0),
   4481   1.8  christos   _SVE_INSN ("ld4h", 0xa4e0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_HZU, F_OD(4), 0),
   4482   1.7  christos   _SVE_INSN ("ld4w", 0xa560c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SZU, F_OD(4), 0),
   4483   1.7  christos   _SVE_INSN ("ld4w", 0xa560e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_SZU, F_OD(4), 0),
   4484   1.8  christos 
   4485   1.7  christos   _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),
   4486   1.8  christos   _SVE_INSN ("ldff1b", 0xa4006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_BZU, F_OD(1), 0),
   4487   1.7  christos   _SVE_INSN ("ldff1b", 0xa4006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_BZU, F_OD(1), 0),
   4488   1.8  christos   _SVE_INSN ("ldff1b", 0xa4206000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_HZU, F_OD(1), 0),
   4489   1.7  christos   _SVE_INSN ("ldff1b", 0xa4206000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_HZU, F_OD(1), 0),
   4490   1.8  christos   _SVE_INSN ("ldff1b", 0xa4406000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_SZU, F_OD(1), 0),
   4491   1.7  christos   _SVE_INSN ("ldff1b", 0xa4406000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
   4492   1.7  christos   _SVE_INSN ("ldff1b", 0xa4606000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_DZU, F_OD(1), 0),
   4493   1.7  christos   _SVE_INSN ("ldff1b", 0xa4606000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
   4494   1.7  christos   _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),
   4495   1.8  christos   _SVE_INSN ("ldff1b", 0xc440e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   4496   1.7  christos   _SVE_INSN ("ldff1b", 0x8420e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_SZS, F_OD(1), 0),
   4497   1.8  christos   _SVE_INSN ("ldff1b", 0xc420e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_DZD, F_OD(1), 0),
   4498   1.7  christos 
   4499   1.7  christos   _SVE_INSN ("ldff1d", 0xa5e06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL3), OP_SVE_DZU, F_OD(1), 0),
   4500   1.7  christos   _SVE_INSN ("ldff1d", 0xa5e06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
   4501   1.7  christos   _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),
   4502   1.7  christos   _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),
   4503   1.8  christos   _SVE_INSN ("ldff1d", 0xc5c0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   4504   1.7  christos   _SVE_INSN ("ldff1d", 0xc5e0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL3), OP_SVE_DZD, F_OD(1), 0),
   4505   1.7  christos   _SVE_INSN ("ldff1d", 0xc5a0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x8), OP_SVE_DZD, F_OD(1), 0),
   4506   1.7  christos 
   4507   1.8  christos   _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),
   4508   1.7  christos   _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),
   4509   1.8  christos   _SVE_INSN ("ldff1h", 0xa4a06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_HZU, F_OD(1), 0),
   4510   1.7  christos   _SVE_INSN ("ldff1h", 0xa4a06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_HZU, F_OD(1), 0),
   4511   1.8  christos   _SVE_INSN ("ldff1h", 0xa4c06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_SZU, F_OD(1), 0),
   4512   1.7  christos   _SVE_INSN ("ldff1h", 0xa4c06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
   4513   1.7  christos   _SVE_INSN ("ldff1h", 0xa4e06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_DZU, F_OD(1), 0),
   4514   1.7  christos   _SVE_INSN ("ldff1h", 0xa4e06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
   4515   1.7  christos   _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),
   4516   1.7  christos   _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),
   4517   1.7  christos   _SVE_INSN ("ldff1h", 0xc4c0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   4518   1.8  christos   _SVE_INSN ("ldff1h", 0xc4e0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL1), OP_SVE_DZD, F_OD(1), 0),
   4519   1.7  christos   _SVE_INSN ("ldff1h", 0x84a0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_SZS, F_OD(1), 0),
   4520   1.7  christos   _SVE_INSN ("ldff1h", 0xc4a0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_DZD, F_OD(1), 0),
   4521   1.8  christos 
   4522   1.7  christos   _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),
   4523   1.8  christos   _SVE_INSN ("ldff1sb", 0xa5806000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_DZU, F_OD(1), 0),
   4524   1.7  christos   _SVE_INSN ("ldff1sb", 0xa5806000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
   4525   1.8  christos   _SVE_INSN ("ldff1sb", 0xa5a06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_SZU, F_OD(1), 0),
   4526   1.7  christos   _SVE_INSN ("ldff1sb", 0xa5a06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
   4527   1.7  christos   _SVE_INSN ("ldff1sb", 0xa5c06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_HZU, F_OD(1), 0),
   4528   1.7  christos   _SVE_INSN ("ldff1sb", 0xa5c06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_HZU, F_OD(1), 0),
   4529   1.7  christos   _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),
   4530   1.8  christos   _SVE_INSN ("ldff1sb", 0xc440a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   4531   1.7  christos   _SVE_INSN ("ldff1sb", 0x8420a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_SZS, F_OD(1), 0),
   4532   1.7  christos   _SVE_INSN ("ldff1sb", 0xc420a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_DZD, F_OD(1), 0),
   4533   1.7  christos 
   4534   1.8  christos   _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),
   4535   1.7  christos   _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),
   4536   1.8  christos   _SVE_INSN ("ldff1sh", 0xa5006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_DZU, F_OD(1), 0),
   4537   1.7  christos   _SVE_INSN ("ldff1sh", 0xa5006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
   4538   1.7  christos   _SVE_INSN ("ldff1sh", 0xa5206000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_SZU, F_OD(1), 0),
   4539   1.7  christos   _SVE_INSN ("ldff1sh", 0xa5206000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
   4540   1.7  christos   _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),
   4541   1.7  christos   _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),
   4542   1.7  christos   _SVE_INSN ("ldff1sh", 0xc4c0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   4543   1.8  christos   _SVE_INSN ("ldff1sh", 0xc4e0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL1), OP_SVE_DZD, F_OD(1), 0),
   4544   1.7  christos   _SVE_INSN ("ldff1sh", 0x84a0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_SZS, F_OD(1), 0),
   4545   1.8  christos   _SVE_INSN ("ldff1sh", 0xc4a0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_DZD, F_OD(1), 0),
   4546   1.7  christos 
   4547   1.7  christos   _SVE_INSN ("ldff1sw", 0xa4806000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL2), OP_SVE_DZU, F_OD(1), 0),
   4548   1.7  christos   _SVE_INSN ("ldff1sw", 0xa4806000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
   4549   1.7  christos   _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),
   4550   1.7  christos   _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),
   4551   1.8  christos   _SVE_INSN ("ldff1sw", 0xc540a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   4552   1.7  christos   _SVE_INSN ("ldff1sw", 0xc560a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL2), OP_SVE_DZD, F_OD(1), 0),
   4553   1.7  christos   _SVE_INSN ("ldff1sw", 0xc520a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x4), OP_SVE_DZD, F_OD(1), 0),
   4554   1.7  christos 
   4555   1.8  christos   _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),
   4556   1.7  christos   _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),
   4557   1.8  christos   _SVE_INSN ("ldff1w", 0xa5406000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL2), OP_SVE_SZU, F_OD(1), 0),
   4558   1.7  christos   _SVE_INSN ("ldff1w", 0xa5406000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
   4559   1.7  christos   _SVE_INSN ("ldff1w", 0xa5606000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL2), OP_SVE_DZU, F_OD(1), 0),
   4560   1.7  christos   _SVE_INSN ("ldff1w", 0xa5606000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
   4561   1.7  christos   _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),
   4562   1.7  christos   _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),
   4563   1.7  christos   _SVE_INSN ("ldff1w", 0xc540e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
   4564   1.8  christos   _SVE_INSN ("ldff1w", 0xc560e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL2), OP_SVE_DZD, F_OD(1), 0),
   4565   1.7  christos   _SVE_INSN ("ldff1w", 0x8520e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x4), OP_SVE_SZS, F_OD(1), 0),
   4566   1.7  christos   _SVE_INSN ("ldff1w", 0xc520e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x4), OP_SVE_DZD, F_OD(1), 0),
   4567   1.7  christos 
   4568   1.7  christos   _SVE_INSN ("ldnf1b", 0xa410a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_BZU, F_OD(1), 0),
   4569   1.7  christos   _SVE_INSN ("ldnf1b", 0xa430a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_HZU, F_OD(1), 0),
   4570   1.7  christos   _SVE_INSN ("ldnf1b", 0xa450a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SZU, F_OD(1), 0),
   4571   1.7  christos   _SVE_INSN ("ldnf1b", 0xa470a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4572   1.7  christos   _SVE_INSN ("ldnf1d", 0xa5f0a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4573   1.7  christos   _SVE_INSN ("ldnf1h", 0xa4b0a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_HZU, F_OD(1), 0),
   4574   1.7  christos   _SVE_INSN ("ldnf1h", 0xa4d0a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SZU, F_OD(1), 0),
   4575   1.7  christos   _SVE_INSN ("ldnf1h", 0xa4f0a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4576   1.7  christos   _SVE_INSN ("ldnf1sb", 0xa590a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4577   1.7  christos   _SVE_INSN ("ldnf1sb", 0xa5b0a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SZU, F_OD(1), 0),
   4578   1.7  christos   _SVE_INSN ("ldnf1sb", 0xa5d0a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_HZU, F_OD(1), 0),
   4579   1.7  christos   _SVE_INSN ("ldnf1sh", 0xa510a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4580   1.7  christos   _SVE_INSN ("ldnf1sh", 0xa530a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SZU, F_OD(1), 0),
   4581   1.7  christos   _SVE_INSN ("ldnf1sw", 0xa490a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4582   1.7  christos   _SVE_INSN ("ldnf1w", 0xa550a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SZU, F_OD(1), 0),
   4583   1.7  christos   _SVE_INSN ("ldnf1w", 0xa570a000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4584   1.7  christos   _SVE_INSN ("ldnt1b", 0xa400c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_BZU, F_OD(1), 0),
   4585   1.7  christos   _SVE_INSN ("ldnt1b", 0xa400e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_BZU, F_OD(1), 0),
   4586   1.7  christos   _SVE_INSN ("ldnt1d", 0xa580c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL3), OP_SVE_DZU, F_OD(1), 0),
   4587   1.7  christos   _SVE_INSN ("ldnt1d", 0xa580e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DZU, F_OD(1), 0),
   4588   1.7  christos   _SVE_INSN ("ldnt1h", 0xa480c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_HZU, F_OD(1), 0),
   4589   1.7  christos   _SVE_INSN ("ldnt1h", 0xa480e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_HZU, F_OD(1), 0),
   4590   1.7  christos   _SVE_INSN ("ldnt1w", 0xa500c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SZU, F_OD(1), 0),
   4591   1.7  christos   _SVE_INSN ("ldnt1w", 0xa500e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SZU, F_OD(1), 0),
   4592   1.7  christos   _SVE_INSN ("ldr", 0x85800000, 0xffc0e010, sve_misc, 0, OP2 (SVE_Pt, SVE_ADDR_RI_S9xVL), {}, 0, 0),
   4593   1.8  christos   _SVE_INSN ("ldr", 0x85804000, 0xffc0e000, sve_misc, 0, OP2 (SVE_Zt, SVE_ADDR_RI_S9xVL), {}, 0, 0),
   4594   1.8  christos   _SVE_INSN ("lsl", 0x04208c00, 0xff20fc00, sve_size_bhs, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVD_BHS, 0, 0),
   4595   1.8  christos   _SVE_INSN ("lsl", 0x04209c00, 0xff20fc00, sve_shift_unpred, 0, OP3 (SVE_Zd, SVE_Zn, SVE_SHLIMM_UNPRED), OP_SVE_VVU_BHSD, 0, 0),
   4596   1.8  christos   _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),
   4597   1.7  christos   _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),
   4598   1.7  christos   _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),
   4599   1.8  christos   _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),
   4600   1.8  christos   _SVE_INSN ("lsr", 0x04208400, 0xff20fc00, sve_size_bhs, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVD_BHS, 0, 0),
   4601   1.8  christos   _SVE_INSN ("lsr", 0x04209400, 0xff20fc00, sve_shift_unpred, 0, OP3 (SVE_Zd, SVE_Zn, SVE_SHRIMM_UNPRED), OP_SVE_VVU_BHSD, 0, 0),
   4602   1.8  christos   _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),
   4603   1.8  christos   _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),
   4604   1.8  christos   _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),
   4605   1.8  christos   _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),
   4606   1.8  christos   _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),
   4607   1.8  christos   _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),
   4608   1.8  christos   _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),
   4609   1.8  christos   _SVE_INSNC ("movprfx", 0x0420bc00, 0xfffffc00, sve_misc, 0, OP2 (SVE_Zd, SVE_Zn), {}, F_SCAN, C_SCAN_MOVPRFX, 0),
   4610   1.8  christos   _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),
   4611   1.7  christos   _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),
   4612   1.7  christos   _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),
   4613   1.8  christos   _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),
   4614   1.7  christos   _SVE_INSN ("nand", 0x25804210, 0xfff0c210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pm), OP_SVE_BZBB, 0, 0),
   4615   1.7  christos   _SVE_INSN ("nands", 0x25c04210, 0xfff0c210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pm), OP_SVE_BZBB, 0, 0),
   4616   1.8  christos   _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),
   4617   1.7  christos   _SVE_INSN ("nor", 0x25804200, 0xfff0c210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pm), OP_SVE_BZBB, 0, 0),
   4618   1.7  christos   _SVE_INSN ("nors", 0x25c04200, 0xfff0c210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pm), OP_SVE_BZBB, 0, 0),
   4619   1.7  christos   _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),
   4620   1.8  christos   _SVE_INSN ("orn", 0x25804010, 0xfff0c210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pm), OP_SVE_BZBB, 0, 0),
   4621   1.8  christos   _SVE_INSN ("orns", 0x25c04010, 0xfff0c210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pm), OP_SVE_BZBB, 0, 0),
   4622   1.7  christos   _SVE_INSN ("orr", 0x04603000, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_DDD, F_HAS_ALIAS, 0),
   4623   1.7  christos   _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),
   4624   1.7  christos   _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),
   4625   1.7  christos   _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),
   4626   1.7  christos   _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),
   4627   1.7  christos   _SVE_INSN ("orv", 0x04182000, 0xff3fe000, sve_size_bhsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_BHSD, 0, 0),
   4628   1.7  christos   _SVE_INSN ("pfalse", 0x2518e400, 0xfffffff0, sve_misc, 0, OP1 (SVE_Pd), OP_SVE_B, 0, 0),
   4629   1.7  christos   _SVE_INSN ("pfirst", 0x2558c000, 0xfffffe10, sve_misc, 0, OP3 (SVE_Pd, SVE_Pg4_5, SVE_Pd), OP_SVE_BUB, 0, 2),
   4630   1.7  christos   _SVE_INSN ("pnext", 0x2519c400, 0xff3ffe10, sve_size_bhsd, 0, OP3 (SVE_Pd, SVE_Pg4_5, SVE_Pd), OP_SVE_VUV_BHSD, 0, 2),
   4631   1.7  christos   _SVE_INSN ("prfb", 0x8400c000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RX), {}, 0, 0),
   4632   1.7  christos   _SVE_INSN ("prfb", 0x84200000, 0xffa0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_UUS, 0, 0),
   4633   1.7  christos   _SVE_INSN ("prfb", 0xc4200000, 0xffa0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_UUD, 0, 0),
   4634   1.7  christos   _SVE_INSN ("prfb", 0xc4608000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_UUD, 0, 0),
   4635   1.7  christos   _SVE_INSN ("prfb", 0x8400e000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_UUS, 0, 0),
   4636   1.7  christos   _SVE_INSN ("prfb", 0x85c00000, 0xffc0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RI_S6xVL), {}, 0, 0),
   4637   1.7  christos   _SVE_INSN ("prfb", 0xc400e000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_UUD, 0, 0),
   4638   1.7  christos   _SVE_INSN ("prfd", 0x84206000, 0xffa0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RZ_XTW3_22), OP_SVE_UUS, 0, 0),
   4639   1.7  christos   _SVE_INSN ("prfd", 0x8580c000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RX_LSL3), {}, 0, 0),
   4640   1.7  christos   _SVE_INSN ("prfd", 0xc4206000, 0xffa0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RZ_XTW3_22), OP_SVE_UUD, 0, 0),
   4641   1.7  christos   _SVE_INSN ("prfd", 0xc460e000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RZ_LSL3), OP_SVE_UUD, 0, 0),
   4642   1.7  christos   _SVE_INSN ("prfd", 0x8580e000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_ZI_U5x8), OP_SVE_UUS, 0, 0),
   4643   1.7  christos   _SVE_INSN ("prfd", 0x85c06000, 0xffc0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RI_S6xVL), {}, 0, 0),
   4644   1.7  christos   _SVE_INSN ("prfd", 0xc580e000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_ZI_U5x8), OP_SVE_UUD, 0, 0),
   4645   1.7  christos   _SVE_INSN ("prfh", 0x84202000, 0xffa0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RZ_XTW1_22), OP_SVE_UUS, 0, 0),
   4646   1.7  christos   _SVE_INSN ("prfh", 0x8480c000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RX_LSL1), {}, 0, 0),
   4647   1.7  christos   _SVE_INSN ("prfh", 0xc4202000, 0xffa0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RZ_XTW1_22), OP_SVE_UUD, 0, 0),
   4648   1.7  christos   _SVE_INSN ("prfh", 0xc460a000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RZ_LSL1), OP_SVE_UUD, 0, 0),
   4649   1.7  christos   _SVE_INSN ("prfh", 0x8480e000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_UUS, 0, 0),
   4650   1.7  christos   _SVE_INSN ("prfh", 0x85c02000, 0xffc0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RI_S6xVL), {}, 0, 0),
   4651   1.7  christos   _SVE_INSN ("prfh", 0xc480e000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_UUD, 0, 0),
   4652   1.7  christos   _SVE_INSN ("prfw", 0x84204000, 0xffa0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RZ_XTW2_22), OP_SVE_UUS, 0, 0),
   4653   1.7  christos   _SVE_INSN ("prfw", 0x8500c000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RX_LSL2), {}, 0, 0),
   4654   1.7  christos   _SVE_INSN ("prfw", 0xc4204000, 0xffa0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RZ_XTW2_22), OP_SVE_UUD, 0, 0),
   4655   1.7  christos   _SVE_INSN ("prfw", 0xc460c000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RZ_LSL2), OP_SVE_UUD, 0, 0),
   4656   1.7  christos   _SVE_INSN ("prfw", 0x8500e000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_ZI_U5x4), OP_SVE_UUS, 0, 0),
   4657   1.7  christos   _SVE_INSN ("prfw", 0x85c04000, 0xffc0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RI_S6xVL), {}, 0, 0),
   4658   1.7  christos   _SVE_INSN ("prfw", 0xc500e000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_ZI_U5x4), OP_SVE_UUD, 0, 0),
   4659   1.7  christos   _SVE_INSN ("ptest", 0x2550c000, 0xffffc21f, sve_misc, 0, OP2 (SVE_Pg4_10, SVE_Pn), OP_SVE_UB, 0, 0),
   4660   1.7  christos   _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),
   4661   1.8  christos   _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),
   4662   1.7  christos   _SVE_INSN ("punpkhi", 0x05314000, 0xfffffe10, sve_misc, 0, OP2 (SVE_Pd, SVE_Pn), OP_SVE_HB, 0, 0),
   4663   1.7  christos   _SVE_INSN ("punpklo", 0x05304000, 0xfffffe10, sve_misc, 0, OP2 (SVE_Pd, SVE_Pn), OP_SVE_HB, 0, 0),
   4664   1.7  christos   _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),
   4665   1.7  christos   _SVE_INSN ("rdffr", 0x2519f000, 0xfffffff0, sve_misc, 0, OP1 (SVE_Pd), OP_SVE_B, 0, 0),
   4666   1.7  christos   _SVE_INSN ("rdffr", 0x2518f000, 0xfffffe10, sve_misc, 0, OP2 (SVE_Pd, SVE_Pg4_5), OP_SVE_BZ, 0, 0),
   4667   1.7  christos   _SVE_INSN ("rdffrs", 0x2558f000, 0xfffffe10, sve_misc, 0, OP2 (SVE_Pd, SVE_Pg4_5), OP_SVE_BZ, 0, 0),
   4668   1.8  christos   _SVE_INSN ("rdvl", 0x04bf5000, 0xfffff800, sve_misc, 0, OP2 (Rd, SVE_SIMM6), OP_SVE_XU, 0, 0),
   4669   1.8  christos   _SVE_INSN ("rev", 0x05344000, 0xff3ffe10, sve_size_bhsd, 0, OP2 (SVE_Pd, SVE_Pn), OP_SVE_VV_BHSD, 0, 0),
   4670   1.8  christos   _SVE_INSN ("rev", 0x05383800, 0xff3ffc00, sve_size_bhsd, 0, OP2 (SVE_Zd, SVE_Zn), OP_SVE_VV_BHSD, 0, 0),
   4671   1.8  christos   _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),
   4672   1.7  christos   _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),
   4673   1.9  christos   _SVE_INSNC ("revw", 0x05e68000, 0xffffe000, sve_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_DMD, 0, C_SCAN_MOVPRFX, 0),
   4674   1.9  christos   _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),
   4675   1.9  christos   _SVE_INSN ("saddv", 0x04002000, 0xff3fe000, sve_size_bhs, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_DUV_BHS, 0, 0),
   4676   1.9  christos   _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),
   4677   1.9  christos   _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),
   4678   1.9  christos   _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),
   4679   1.9  christos   _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),
   4680   1.8  christos   _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),
   4681   1.8  christos   _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),
   4682   1.8  christos   _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),
   4683   1.8  christos   _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),
   4684   1.8  christos   _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),
   4685   1.7  christos   _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),
   4686   1.7  christos   _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),
   4687   1.7  christos   _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),
   4688   1.8  christos   _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),
   4689   1.8  christos   _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),
   4690   1.7  christos   _SVE_INSN ("setffr", 0x252c9000, 0xffffffff, sve_misc, 0, OP0 (), {}, 0, 0),
   4691   1.8  christos   _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),
   4692   1.8  christos   _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),
   4693   1.7  christos   _SVE_INSN ("smaxv", 0x04082000, 0xff3fe000, sve_size_bhsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_BHSD, 0, 0),
   4694   1.8  christos   _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),
   4695   1.8  christos   _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),
   4696   1.7  christos   _SVE_INSN ("sminv", 0x040a2000, 0xff3fe000, sve_size_bhsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_BHSD, 0, 0),
   4697   1.8  christos   _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),
   4698   1.7  christos   _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),
   4699   1.7  christos   _SVE_INSN ("sqadd", 0x04201000, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   4700   1.8  christos   _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),
   4701   1.7  christos   _SVE_INSN ("sqdecb", 0x0430f800, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4702   1.7  christos   _SVE_INSN ("sqdecb", 0x0420f800, 0xfff0fc00, sve_misc, 0, OP3 (Rd, Rd, SVE_PATTERN_SCALED), OP_SVE_XWU, F_OPD2_OPT | F_DEFAULT(31), 1),
   4703   1.8  christos   _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),
   4704   1.7  christos   _SVE_INSN ("sqdecd", 0x04f0f800, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4705   1.7  christos   _SVE_INSN ("sqdecd", 0x04e0f800, 0xfff0fc00, sve_misc, 0, OP3 (Rd, Rd, SVE_PATTERN_SCALED), OP_SVE_XWU, F_OPD2_OPT | F_DEFAULT(31), 1),
   4706  1.10  christos   _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),
   4707   1.7  christos   _SVE_INSN ("sqdech", 0x0470f800, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4708   1.7  christos   _SVE_INSN ("sqdech", 0x0460f800, 0xfff0fc00, sve_misc, 0, OP3 (Rd, Rd, SVE_PATTERN_SCALED), OP_SVE_XWU, F_OPD2_OPT | F_DEFAULT(31), 1),
   4709   1.8  christos   _SVE_INSNC ("sqdecp", 0x252a8000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_Vv_HSD, 0, C_SCAN_MOVPRFX, 0),
   4710   1.7  christos   _SVE_INSN ("sqdecp", 0x252a8c00, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_XV_BHSD, 0, 0),
   4711   1.7  christos   _SVE_INSN ("sqdecp", 0x252a8800, 0xff3ffe00, sve_size_bhsd, 0, OP3 (Rd, SVE_Pg4_5, Rd), OP_SVE_XVW_BHSD, 0, 2),
   4712   1.7  christos   _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),
   4713   1.7  christos   _SVE_INSN ("sqdecw", 0x04b0f800, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4714   1.8  christos   _SVE_INSN ("sqdecw", 0x04a0f800, 0xfff0fc00, sve_misc, 0, OP3 (Rd, Rd, SVE_PATTERN_SCALED), OP_SVE_XWU, F_OPD2_OPT | F_DEFAULT(31), 1),
   4715   1.7  christos   _SVE_INSN ("sqincb", 0x0430f000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4716   1.7  christos   _SVE_INSN ("sqincb", 0x0420f000, 0xfff0fc00, sve_misc, 0, OP3 (Rd, Rd, SVE_PATTERN_SCALED), OP_SVE_XWU, F_OPD2_OPT | F_DEFAULT(31), 1),
   4717   1.8  christos   _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),
   4718   1.7  christos   _SVE_INSN ("sqincd", 0x04f0f000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4719   1.7  christos   _SVE_INSN ("sqincd", 0x04e0f000, 0xfff0fc00, sve_misc, 0, OP3 (Rd, Rd, SVE_PATTERN_SCALED), OP_SVE_XWU, F_OPD2_OPT | F_DEFAULT(31), 1),
   4720  1.10  christos   _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),
   4721   1.7  christos   _SVE_INSN ("sqinch", 0x0470f000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4722   1.7  christos   _SVE_INSN ("sqinch", 0x0460f000, 0xfff0fc00, sve_misc, 0, OP3 (Rd, Rd, SVE_PATTERN_SCALED), OP_SVE_XWU, F_OPD2_OPT | F_DEFAULT(31), 1),
   4723   1.8  christos   _SVE_INSNC ("sqincp", 0x25288000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_Vv_HSD, 0, C_SCAN_MOVPRFX, 0),
   4724   1.7  christos   _SVE_INSN ("sqincp", 0x25288c00, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_XV_BHSD, 0, 0),
   4725   1.7  christos   _SVE_INSN ("sqincp", 0x25288800, 0xff3ffe00, sve_size_bhsd, 0, OP3 (Rd, SVE_Pg4_5, Rd), OP_SVE_XVW_BHSD, 0, 2),
   4726   1.7  christos   _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),
   4727   1.8  christos   _SVE_INSN ("sqincw", 0x04b0f000, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4728   1.7  christos   _SVE_INSN ("sqincw", 0x04a0f000, 0xfff0fc00, sve_misc, 0, OP3 (Rd, Rd, SVE_PATTERN_SCALED), OP_SVE_XWU, F_OPD2_OPT | F_DEFAULT(31), 1),
   4729   1.7  christos   _SVE_INSN ("sqsub", 0x04201800, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   4730   1.7  christos   _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),
   4731   1.7  christos   _SVE_INSN ("st1b", 0xe4004000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_BUU, F_OD(1), 0),
   4732   1.7  christos   _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),
   4733   1.7  christos   _SVE_INSN ("st1b", 0xe400a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DUD, F_OD(1), 0),
   4734   1.7  christos   _SVE_INSN ("st1b", 0xe4204000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_HUU, F_OD(1), 0),
   4735   1.7  christos   _SVE_INSN ("st1b", 0xe4404000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_SUU, F_OD(1), 0),
   4736   1.7  christos   _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),
   4737   1.7  christos   _SVE_INSN ("st1b", 0xe4604000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_DUU, F_OD(1), 0),
   4738   1.7  christos   _SVE_INSN ("st1b", 0xe400e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_BUU, F_OD(1), 0),
   4739   1.7  christos   _SVE_INSN ("st1b", 0xe420e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_HUU, F_OD(1), 0),
   4740   1.7  christos   _SVE_INSN ("st1b", 0xe440a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_DUD, F_OD(1), 0),
   4741   1.7  christos   _SVE_INSN ("st1b", 0xe440e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SUU, F_OD(1), 0),
   4742   1.7  christos   _SVE_INSN ("st1b", 0xe460a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_SUS, F_OD(1), 0),
   4743   1.7  christos   _SVE_INSN ("st1b", 0xe460e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DUU, F_OD(1), 0),
   4744   1.7  christos   _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),
   4745   1.7  christos   _SVE_INSN ("st1d", 0xe580a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DUD, F_OD(1), 0),
   4746   1.7  christos   _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),
   4747   1.7  christos   _SVE_INSN ("st1d", 0xe5a0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL3), OP_SVE_DUD, F_OD(1), 0),
   4748   1.7  christos   _SVE_INSN ("st1d", 0xe5e04000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL3), OP_SVE_DUU, F_OD(1), 0),
   4749   1.7  christos   _SVE_INSN ("st1d", 0xe5c0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x8), OP_SVE_DUD, F_OD(1), 0),
   4750   1.7  christos   _SVE_INSN ("st1d", 0xe5e0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DUU, F_OD(1), 0),
   4751   1.7  christos   _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),
   4752   1.7  christos   _SVE_INSN ("st1h", 0xe480a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DUD, F_OD(1), 0),
   4753   1.7  christos   _SVE_INSN ("st1h", 0xe4a04000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_HUU, F_OD(1), 0),
   4754   1.7  christos   _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),
   4755   1.7  christos   _SVE_INSN ("st1h", 0xe4a0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL1), OP_SVE_DUD, F_OD(1), 0),
   4756   1.7  christos   _SVE_INSN ("st1h", 0xe4c04000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_SUU, F_OD(1), 0),
   4757   1.7  christos   _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),
   4758   1.7  christos   _SVE_INSN ("st1h", 0xe4e04000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_DUU, F_OD(1), 0),
   4759   1.7  christos   _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),
   4760   1.7  christos   _SVE_INSN ("st1h", 0xe4a0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_HUU, F_OD(1), 0),
   4761   1.7  christos   _SVE_INSN ("st1h", 0xe4c0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_DUD, F_OD(1), 0),
   4762   1.7  christos   _SVE_INSN ("st1h", 0xe4c0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SUU, F_OD(1), 0),
   4763   1.7  christos   _SVE_INSN ("st1h", 0xe4e0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_SUS, F_OD(1), 0),
   4764   1.7  christos   _SVE_INSN ("st1h", 0xe4e0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DUU, F_OD(1), 0),
   4765   1.7  christos   _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),
   4766   1.7  christos   _SVE_INSN ("st1w", 0xe500a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DUD, F_OD(1), 0),
   4767   1.7  christos   _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),
   4768   1.7  christos   _SVE_INSN ("st1w", 0xe520a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_LSL2), OP_SVE_DUD, F_OD(1), 0),
   4769   1.7  christos   _SVE_INSN ("st1w", 0xe5404000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SUU, F_OD(1), 0),
   4770   1.7  christos   _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),
   4771   1.7  christos   _SVE_INSN ("st1w", 0xe5604000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_DUU, F_OD(1), 0),
   4772   1.7  christos   _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),
   4773   1.7  christos   _SVE_INSN ("st1w", 0xe540a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x4), OP_SVE_DUD, F_OD(1), 0),
   4774   1.7  christos   _SVE_INSN ("st1w", 0xe540e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SUU, F_OD(1), 0),
   4775   1.7  christos   _SVE_INSN ("st1w", 0xe560a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x4), OP_SVE_SUS, F_OD(1), 0),
   4776   1.7  christos   _SVE_INSN ("st1w", 0xe560e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DUU, F_OD(1), 0),
   4777   1.7  christos   _SVE_INSN ("st2b", 0xe4206000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_BUU, F_OD(2), 0),
   4778   1.7  christos   _SVE_INSN ("st2b", 0xe430e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_BUU, F_OD(2), 0),
   4779   1.7  christos   _SVE_INSN ("st2d", 0xe5a06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL3), OP_SVE_DUU, F_OD(2), 0),
   4780   1.7  christos   _SVE_INSN ("st2d", 0xe5b0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_DUU, F_OD(2), 0),
   4781   1.7  christos   _SVE_INSN ("st2h", 0xe4a06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_HUU, F_OD(2), 0),
   4782   1.7  christos   _SVE_INSN ("st2h", 0xe4b0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_HUU, F_OD(2), 0),
   4783   1.7  christos   _SVE_INSN ("st2w", 0xe5206000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SUU, F_OD(2), 0),
   4784   1.7  christos   _SVE_INSN ("st2w", 0xe530e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_SUU, F_OD(2), 0),
   4785   1.7  christos   _SVE_INSN ("st3b", 0xe4406000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_BUU, F_OD(3), 0),
   4786   1.7  christos   _SVE_INSN ("st3b", 0xe450e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x3xVL), OP_SVE_BUU, F_OD(3), 0),
   4787   1.7  christos   _SVE_INSN ("st3d", 0xe5c06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL3), OP_SVE_DUU, F_OD(3), 0),
   4788   1.7  christos   _SVE_INSN ("st3d", 0xe5d0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x3xVL), OP_SVE_DUU, F_OD(3), 0),
   4789   1.7  christos   _SVE_INSN ("st3h", 0xe4c06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_HUU, F_OD(3), 0),
   4790   1.7  christos   _SVE_INSN ("st3h", 0xe4d0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x3xVL), OP_SVE_HUU, F_OD(3), 0),
   4791   1.7  christos   _SVE_INSN ("st3w", 0xe5406000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SUU, F_OD(3), 0),
   4792   1.7  christos   _SVE_INSN ("st3w", 0xe550e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x3xVL), OP_SVE_SUU, F_OD(3), 0),
   4793   1.7  christos   _SVE_INSN ("st4b", 0xe4606000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_BUU, F_OD(4), 0),
   4794   1.7  christos   _SVE_INSN ("st4b", 0xe470e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_BUU, F_OD(4), 0),
   4795   1.7  christos   _SVE_INSN ("st4d", 0xe5e06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL3), OP_SVE_DUU, F_OD(4), 0),
   4796   1.7  christos   _SVE_INSN ("st4d", 0xe5f0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_DUU, F_OD(4), 0),
   4797   1.7  christos   _SVE_INSN ("st4h", 0xe4e06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_HUU, F_OD(4), 0),
   4798   1.7  christos   _SVE_INSN ("st4h", 0xe4f0e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_HUU, F_OD(4), 0),
   4799   1.7  christos   _SVE_INSN ("st4w", 0xe5606000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SUU, F_OD(4), 0),
   4800   1.7  christos   _SVE_INSN ("st4w", 0xe570e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_SUU, F_OD(4), 0),
   4801   1.7  christos   _SVE_INSN ("stnt1b", 0xe4006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_BUU, F_OD(1), 0),
   4802   1.7  christos   _SVE_INSN ("stnt1b", 0xe410e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_BUU, F_OD(1), 0),
   4803   1.7  christos   _SVE_INSN ("stnt1d", 0xe5806000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL3), OP_SVE_DUU, F_OD(1), 0),
   4804   1.7  christos   _SVE_INSN ("stnt1d", 0xe590e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_DUU, F_OD(1), 0),
   4805   1.7  christos   _SVE_INSN ("stnt1h", 0xe4806000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_HUU, F_OD(1), 0),
   4806   1.7  christos   _SVE_INSN ("stnt1h", 0xe490e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_HUU, F_OD(1), 0),
   4807   1.7  christos   _SVE_INSN ("stnt1w", 0xe5006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SUU, F_OD(1), 0),
   4808   1.7  christos   _SVE_INSN ("stnt1w", 0xe510e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SUU, F_OD(1), 0),
   4809   1.8  christos   _SVE_INSN ("str", 0xe5800000, 0xffc0e010, sve_misc, 0, OP2 (SVE_Pt, SVE_ADDR_RI_S9xVL), {}, 0, 0),
   4810   1.8  christos   _SVE_INSN ("str", 0xe5804000, 0xffc0e000, sve_misc, 0, OP2 (SVE_Zt, SVE_ADDR_RI_S9xVL), {}, 0, 0),
   4811   1.8  christos   _SVE_INSN ("sub", 0x04200400, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   4812   1.8  christos   _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),
   4813   1.7  christos   _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),
   4814   1.7  christos   _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),
   4815   1.8  christos   _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),
   4816   1.8  christos   _SVE_INSN ("sunpkhi", 0x05313800, 0xff3ffc00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Zn), OP_SVE_VV_HSD_BHS, 0, 0),
   4817   1.8  christos   _SVE_INSN ("sunpklo", 0x05303800, 0xff3ffc00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Zn), OP_SVE_VV_HSD_BHS, 0, 0),
   4818   1.7  christos   _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),
   4819   1.7  christos   _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),
   4820   1.7  christos   _SVE_INSNC ("sxtw", 0x04d4a000, 0xffffe000, sve_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_DMD, 0, C_SCAN_MOVPRFX, 0),
   4821   1.7  christos   _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),
   4822   1.7  christos   _SVE_INSN ("trn1", 0x05205000, 0xff30fe10, sve_size_bhsd, 0, OP3 (SVE_Pd, SVE_Pn, SVE_Pm), OP_SVE_VVV_BHSD, 0, 0),
   4823   1.8  christos   _SVE_INSN ("trn1", 0x05207000, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   4824   1.7  christos   _SVE_INSN ("trn2", 0x05205400, 0xff30fe10, sve_size_bhsd, 0, OP3 (SVE_Pd, SVE_Pn, SVE_Pm), OP_SVE_VVV_BHSD, 0, 0),
   4825   1.9  christos   _SVE_INSN ("trn2", 0x05207400, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   4826   1.9  christos   _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),
   4827   1.9  christos   _SVE_INSN ("uaddv", 0x04012000, 0xff3fe000, sve_size_bhsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_DUV_BHSD, 0, 0),
   4828   1.9  christos   _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),
   4829   1.9  christos   _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),
   4830   1.9  christos   _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),
   4831   1.9  christos   _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),
   4832   1.8  christos   _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),
   4833   1.8  christos   _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),
   4834   1.8  christos   _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),
   4835   1.8  christos   _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),
   4836   1.8  christos   _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),
   4837   1.8  christos   _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),
   4838   1.8  christos   _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),
   4839   1.7  christos   _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),
   4840   1.8  christos   _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),
   4841   1.8  christos   _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),
   4842   1.7  christos   _SVE_INSN ("umaxv", 0x04092000, 0xff3fe000, sve_size_bhsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_BHSD, 0, 0),
   4843   1.8  christos   _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),
   4844   1.7  christos   _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),
   4845   1.8  christos   _SVE_INSN ("uminv", 0x040b2000, 0xff3fe000, sve_size_bhsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_BHSD, 0, 0),
   4846   1.7  christos   _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),
   4847   1.7  christos   _SVE_INSN ("uqadd", 0x04201400, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   4848   1.8  christos   _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),
   4849   1.7  christos   _SVE_INSN ("uqdecb", 0x0420fc00, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_WU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4850   1.7  christos   _SVE_INSN ("uqdecb", 0x0430fc00, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4851   1.8  christos   _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),
   4852   1.7  christos   _SVE_INSN ("uqdecd", 0x04e0fc00, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_WU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4853   1.7  christos   _SVE_INSN ("uqdecd", 0x04f0fc00, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4854  1.10  christos   _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),
   4855   1.7  christos   _SVE_INSN ("uqdech", 0x0460fc00, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_WU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4856   1.7  christos   _SVE_INSN ("uqdech", 0x0470fc00, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4857   1.8  christos   _SVE_INSNC ("uqdecp", 0x252b8000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_Vv_HSD, 0, C_SCAN_MOVPRFX, 0),
   4858   1.7  christos   _SVE_INSN ("uqdecp", 0x252b8800, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_WV_BHSD, 0, 0),
   4859   1.7  christos   _SVE_INSN ("uqdecp", 0x252b8c00, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_XV_BHSD, 0, 0),
   4860   1.7  christos   _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),
   4861   1.7  christos   _SVE_INSN ("uqdecw", 0x04a0fc00, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_WU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4862   1.8  christos   _SVE_INSN ("uqdecw", 0x04b0fc00, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4863   1.7  christos   _SVE_INSN ("uqincb", 0x0420f400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_WU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4864   1.7  christos   _SVE_INSN ("uqincb", 0x0430f400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4865   1.8  christos   _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),
   4866   1.7  christos   _SVE_INSN ("uqincd", 0x04e0f400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_WU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4867   1.7  christos   _SVE_INSN ("uqincd", 0x04f0f400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4868  1.10  christos   _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),
   4869   1.7  christos   _SVE_INSN ("uqinch", 0x0460f400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_WU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4870   1.7  christos   _SVE_INSN ("uqinch", 0x0470f400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4871   1.8  christos   _SVE_INSNC ("uqincp", 0x25298000, 0xff3ffe00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Pg4_5), OP_SVE_Vv_HSD, 0, C_SCAN_MOVPRFX, 0),
   4872   1.7  christos   _SVE_INSN ("uqincp", 0x25298800, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_WV_BHSD, 0, 0),
   4873   1.7  christos   _SVE_INSN ("uqincp", 0x25298c00, 0xff3ffe00, sve_size_bhsd, 0, OP2 (Rd, SVE_Pg4_5), OP_SVE_XV_BHSD, 0, 0),
   4874   1.7  christos   _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),
   4875   1.8  christos   _SVE_INSN ("uqincw", 0x04a0f400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_WU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4876   1.7  christos   _SVE_INSN ("uqincw", 0x04b0f400, 0xfff0fc00, sve_misc, 0, OP2 (Rd, SVE_PATTERN_SCALED), OP_SVE_XU, F_OPD1_OPT | F_DEFAULT(31), 0),
   4877   1.7  christos   _SVE_INSN ("uqsub", 0x04201c00, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   4878   1.8  christos   _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),
   4879   1.8  christos   _SVE_INSN ("uunpkhi", 0x05333800, 0xff3ffc00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Zn), OP_SVE_VV_HSD_BHS, 0, 0),
   4880   1.8  christos   _SVE_INSN ("uunpklo", 0x05323800, 0xff3ffc00, sve_size_hsd, 0, OP2 (SVE_Zd, SVE_Zn), OP_SVE_VV_HSD_BHS, 0, 0),
   4881   1.7  christos   _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),
   4882   1.7  christos   _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),
   4883   1.7  christos   _SVE_INSNC ("uxtw", 0x04d5a000, 0xffffe000, sve_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_DMD, 0, C_SCAN_MOVPRFX, 0),
   4884   1.7  christos   _SVE_INSN ("uzp1", 0x05204800, 0xff30fe10, sve_size_bhsd, 0, OP3 (SVE_Pd, SVE_Pn, SVE_Pm), OP_SVE_VVV_BHSD, 0, 0),
   4885   1.7  christos   _SVE_INSN ("uzp1", 0x05206800, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   4886   1.7  christos   _SVE_INSN ("uzp2", 0x05204c00, 0xff30fe10, sve_size_bhsd, 0, OP3 (SVE_Pd, SVE_Pn, SVE_Pm), OP_SVE_VVV_BHSD, 0, 0),
   4887   1.7  christos   _SVE_INSN ("uzp2", 0x05206c00, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   4888   1.7  christos   _SVE_INSN ("whilele", 0x25200410, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VWW_BHSD, 0, 0),
   4889   1.7  christos   _SVE_INSN ("whilele", 0x25201410, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VXX_BHSD, 0, 0),
   4890   1.7  christos   _SVE_INSN ("whilelo", 0x25200c00, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VWW_BHSD, 0, 0),
   4891   1.7  christos   _SVE_INSN ("whilelo", 0x25201c00, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VXX_BHSD, 0, 0),
   4892   1.7  christos   _SVE_INSN ("whilels", 0x25200c10, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VWW_BHSD, 0, 0),
   4893   1.7  christos   _SVE_INSN ("whilels", 0x25201c10, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VXX_BHSD, 0, 0),
   4894   1.7  christos   _SVE_INSN ("whilelt", 0x25200400, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VWW_BHSD, 0, 0),
   4895   1.7  christos   _SVE_INSN ("whilelt", 0x25201400, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VXX_BHSD, 0, 0),
   4896   1.7  christos   _SVE_INSN ("wrffr", 0x25289000, 0xfffffe1f, sve_misc, 0, OP1 (SVE_Pn), OP_SVE_B, 0, 0),
   4897   1.7  christos   _SVE_INSN ("zip1", 0x05204000, 0xff30fe10, sve_size_bhsd, 0, OP3 (SVE_Pd, SVE_Pn, SVE_Pm), OP_SVE_VVV_BHSD, 0, 0),
   4898   1.8  christos   _SVE_INSN ("zip1", 0x05206000, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   4899   1.7  christos   _SVE_INSN ("zip2", 0x05204400, 0xff30fe10, sve_size_bhsd, 0, OP3 (SVE_Pd, SVE_Pn, SVE_Pm), OP_SVE_VVV_BHSD, 0, 0),
   4900   1.7  christos   _SVE_INSN ("zip2", 0x05206400, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   4901   1.7  christos   _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),
   4902   1.7  christos   _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),
   4903   1.8  christos   _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),
   4904   1.7  christos   _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),
   4905   1.7  christos   _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),
   4906   1.7  christos   _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),
   4907   1.7  christos   _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),
   4908   1.7  christos   _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),
   4909   1.8  christos   _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),
   4910   1.8  christos   _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),
   4911   1.1  christos   _SVE_INSN ("fmov", 0x2538c000, 0xff3fffe0, sve_size_hsd, 0, OP2 (SVE_Zd, FPIMM0), OP_SVE_V_HSD, F_ALIAS | F_PSEUDO, 0),
   4912   1.9  christos   _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),
   4913   1.9  christos   _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),
   4914   1.9  christos 
   4915   1.9  christos   /* SVE2 instructions.  */
   4916   1.9  christos   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),
   4917   1.9  christos   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),
   4918   1.9  christos   SVE2_INSN ("addhnb", 0x45206000, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHS_HSD, 0, 0),
   4919   1.9  christos   SVE2_INSN ("addhnt", 0x45206400, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHS_HSD, 0, 0),
   4920   1.9  christos   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),
   4921   1.9  christos   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),
   4922   1.9  christos   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),
   4923   1.9  christos   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),
   4924   1.9  christos   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),
   4925   1.9  christos   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),
   4926   1.9  christos   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),
   4927   1.9  christos   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),
   4928   1.9  christos   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),
   4929   1.9  christos   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),
   4930   1.9  christos   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),
   4931   1.9  christos   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),
   4932   1.9  christos   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),
   4933   1.9  christos   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),
   4934   1.9  christos   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),
   4935   1.9  christos   SVE2_INSN ("ext", 0x05600000, 0xffe0e000, sve_misc, 0, OP3 (SVE_Zd, SVE_ZnxN, SVE_UIMM8_53), OP_SVE_BBU, F_OD(2), 0),
   4936   1.9  christos   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),
   4937   1.9  christos   SVE2_INSN ("fcvtlt", 0x6489a000, 0xffffe000, sve_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_SMH, 0, 0),
   4938   1.9  christos   SVE2_INSN ("fcvtlt", 0x64cba000, 0xffffe000, sve_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_DMS, 0, 0),
   4939   1.9  christos   SVE2_INSN ("fcvtnt", 0x6488a000, 0xffffe000, sve_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_HMS, 0, 0),
   4940   1.9  christos   SVE2_INSN ("fcvtnt", 0x64caa000, 0xffffe000, sve_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_SMD, 0, 0),
   4941   1.9  christos   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),
   4942   1.9  christos   SVE2_INSN ("fcvtxnt", 0x640aa000, 0xffffe000, sve_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_SMD, 0, 0),
   4943   1.9  christos   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),
   4944   1.9  christos   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),
   4945   1.9  christos   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),
   4946   1.9  christos   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),
   4947   1.9  christos   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),
   4948   1.9  christos   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),
   4949   1.9  christos   SVE2_INSNC ("fmlalb", 0x64a08000, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SHH, 0, C_SCAN_MOVPRFX, 0),
   4950   1.9  christos   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),
   4951   1.9  christos   SVE2_INSNC ("fmlalt", 0x64a08400, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SHH, 0, C_SCAN_MOVPRFX, 0),
   4952   1.9  christos   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),
   4953   1.9  christos   SVE2_INSNC ("fmlslb", 0x64a0a000, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SHH, 0, C_SCAN_MOVPRFX, 0),
   4954   1.9  christos   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),
   4955   1.9  christos   SVE2_INSNC ("fmlslt", 0x64a0a400, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SHH, 0, C_SCAN_MOVPRFX, 0),
   4956   1.9  christos   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),
   4957   1.9  christos   SVE2_INSN ("histseg", 0x4520a000, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_BBB, 0, 0),
   4958   1.9  christos   SVE2_INSN ("ldnt1b", 0x8400a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_SZS, F_OD(1), 0),
   4959   1.9  christos   SVE2_INSN ("ldnt1b", 0xc400c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_DZD, F_OD(1), 0),
   4960   1.9  christos   SVE2_INSN ("ldnt1d", 0xc580c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_DZD, F_OD(1), 0),
   4961   1.9  christos   SVE2_INSN ("ldnt1h", 0x8480a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_SZS, F_OD(1), 0),
   4962   1.9  christos   SVE2_INSN ("ldnt1h", 0xc480c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_DZD, F_OD(1), 0),
   4963   1.9  christos   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),
   4964   1.9  christos   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),
   4965   1.9  christos   SVE2_INSN ("ldnt1sw", 0xc5008000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_DZD, F_OD(1), 0),
   4966   1.9  christos   SVE2_INSN ("ldnt1w", 0x8500a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_SZS, F_OD(1), 0),
   4967   1.9  christos   SVE2_INSN ("ldnt1w", 0xc500c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_DZD, F_OD(1), 0),
   4968   1.9  christos   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),
   4969   1.9  christos   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),
   4970   1.9  christos   SVE2_INSNC ("mla", 0x44a00800, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_INDEX), OP_SVE_SSS, 0, C_SCAN_MOVPRFX, 0),
   4971   1.9  christos   SVE2_INSNC ("mla", 0x44e00800, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm4_INDEX), OP_SVE_DDD, 0, C_SCAN_MOVPRFX, 0),
   4972   1.9  christos   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),
   4973   1.9  christos   SVE2_INSNC ("mls", 0x44a00c00, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_INDEX), OP_SVE_SSS, 0, C_SCAN_MOVPRFX, 0),
   4974   1.9  christos   SVE2_INSNC ("mls", 0x44e00c00, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm4_INDEX), OP_SVE_DDD, 0, C_SCAN_MOVPRFX, 0),
   4975   1.9  christos   SVE2_INSN ("mul", 0x4420f800, 0xffa0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_22_INDEX), OP_SVE_HHH, 0, 0),
   4976   1.9  christos   SVE2_INSN ("mul", 0x44a0f800, 0xffe0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_INDEX), OP_SVE_SSS, 0, 0),
   4977   1.9  christos   SVE2_INSN ("mul", 0x44e0f800, 0xffe0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm4_INDEX), OP_SVE_DDD, 0, 0),
   4978   1.9  christos   SVE2_INSN ("mul", 0x04206000, 0xff20fc00,  sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   4979   1.9  christos   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),
   4980   1.9  christos   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),
   4981   1.9  christos   SVE2_INSN ("pmul", 0x04206400, 0xffe0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_BBB, 0, 0),
   4982   1.9  christos   SVE2_INSN ("pmullb", 0x45406800, 0xff60fc00, sve_size_13, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HD_BS, 0, 0),
   4983   1.9  christos   SVE2_INSN ("pmullt", 0x45406c00, 0xff60fc00, sve_size_13, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HD_BS, 0, 0),
   4984   1.9  christos   SVE2_INSN ("raddhnb", 0x45206800, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHS_HSD, 0, 0),
   4985   1.9  christos   SVE2_INSN ("raddhnt", 0x45206c00, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHS_HSD, 0, 0),
   4986   1.9  christos   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),
   4987   1.9  christos   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),
   4988   1.9  christos   SVE2_INSN ("rsubhnb", 0x45207800, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHS_HSD, 0, 0),
   4989   1.9  christos   SVE2_INSN ("rsubhnt", 0x45207c00, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHS_HSD, 0, 0),
   4990   1.9  christos   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),
   4991   1.9  christos   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),
   4992   1.9  christos   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),
   4993   1.9  christos   SVE2_INSN ("sabdlb", 0x45003000, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   4994   1.9  christos   SVE2_INSN ("sabdlt", 0x45003400, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   4995   1.9  christos   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),
   4996   1.9  christos   SVE2_INSN ("saddlb", 0x45000000, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   4997   1.9  christos   SVE2_INSN ("saddlbt", 0x45008000, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   4998   1.9  christos   SVE2_INSN ("saddlt", 0x45000400, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   4999   1.9  christos   SVE2_INSN ("saddwb", 0x45004000, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS2, 0, 0),
   5000   1.9  christos   SVE2_INSN ("saddwt", 0x45004400, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS2, 0, 0),
   5001   1.9  christos   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),
   5002   1.9  christos   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),
   5003   1.9  christos   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),
   5004   1.9  christos   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),
   5005   1.9  christos   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),
   5006   1.9  christos   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),
   5007   1.9  christos   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),
   5008   1.9  christos   SVE2_INSN ("sli", 0x4500f400, 0xff20fc00,  sve_shift_tsz_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_SHLIMM_UNPRED), OP_SVE_VVU_BHSD, 0, 0),
   5009   1.9  christos   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),
   5010   1.9  christos   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),
   5011   1.9  christos   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),
   5012   1.9  christos   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),
   5013   1.9  christos   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),
   5014   1.9  christos   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),
   5015   1.9  christos   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),
   5016   1.9  christos   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),
   5017   1.9  christos   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),
   5018   1.9  christos   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),
   5019   1.9  christos   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),
   5020   1.9  christos   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),
   5021   1.9  christos   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),
   5022   1.9  christos   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),
   5023   1.9  christos   SVE2_INSN ("smulh", 0x04206800, 0xff20fc00,  sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   5024   1.9  christos   SVE2_INSN ("smullb", 0x44a0c000, 0xffe0f400,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_11_INDEX), OP_SVE_SHH, 0, 0),
   5025   1.9  christos   SVE2_INSN ("smullb", 0x44e0c000, 0xffe0f400,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm4_11_INDEX), OP_SVE_DSS, 0, 0),
   5026   1.9  christos   SVE2_INSN ("smullb", 0x45007000, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5027   1.9  christos   SVE2_INSN ("smullt", 0x44a0c400, 0xffe0f400,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_11_INDEX), OP_SVE_SHH, 0, 0),
   5028   1.9  christos   SVE2_INSN ("smullt", 0x44e0c400, 0xffe0f400,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm4_11_INDEX), OP_SVE_DSS, 0, 0),
   5029   1.9  christos   SVE2_INSN ("smullt", 0x45007400, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5030   1.9  christos   SVE2_INSN ("splice", 0x052d8000, 0xff3fe000, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_ZnxN), OP_SVE_VUV_BHSD, F_OD(2), 0),
   5031   1.9  christos   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),
   5032   1.9  christos   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),
   5033   1.9  christos   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),
   5034   1.9  christos   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),
   5035   1.9  christos   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),
   5036   1.9  christos   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),
   5037   1.9  christos   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),
   5038   1.9  christos   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),
   5039   1.9  christos   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),
   5040   1.9  christos   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),
   5041   1.9  christos   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),
   5042   1.9  christos   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),
   5043   1.9  christos   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),
   5044   1.9  christos   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),
   5045   1.9  christos   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),
   5046   1.9  christos   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),
   5047   1.9  christos   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),
   5048   1.9  christos   SVE2_INSN ("sqdmulh", 0x4420f000, 0xffa0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_22_INDEX), OP_SVE_HHH, 0, 0),
   5049   1.9  christos   SVE2_INSN ("sqdmulh", 0x44a0f000, 0xffe0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_INDEX), OP_SVE_SSS, 0, 0),
   5050   1.9  christos   SVE2_INSN ("sqdmulh", 0x44e0f000, 0xffe0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm4_INDEX), OP_SVE_DDD, 0, 0),
   5051   1.9  christos   SVE2_INSN ("sqdmulh", 0x04207000, 0xff20fc00,  sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   5052   1.9  christos   SVE2_INSN ("sqdmullb", 0x44a0e000, 0xffe0f400,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_11_INDEX), OP_SVE_SHH, 0, 0),
   5053   1.9  christos   SVE2_INSN ("sqdmullb", 0x44e0e000, 0xffe0f400,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm4_11_INDEX), OP_SVE_DSS, 0, 0),
   5054   1.9  christos   SVE2_INSN ("sqdmullb", 0x45006000, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5055   1.9  christos   SVE2_INSN ("sqdmullt", 0x44a0e400, 0xffe0f400,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_11_INDEX), OP_SVE_SHH, 0, 0),
   5056   1.9  christos   SVE2_INSN ("sqdmullt", 0x44e0e400, 0xffe0f400,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm4_11_INDEX), OP_SVE_DSS, 0, 0),
   5057   1.9  christos   SVE2_INSN ("sqdmullt", 0x45006400, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5058   1.9  christos   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),
   5059   1.9  christos   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),
   5060   1.9  christos   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),
   5061   1.9  christos   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),
   5062   1.9  christos   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),
   5063   1.9  christos   SVE2_INSNC ("sqrdmlah", 0x44a01000, 0xffe0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_INDEX), OP_SVE_SSS, 0, C_SCAN_MOVPRFX, 0),
   5064   1.9  christos   SVE2_INSNC ("sqrdmlah", 0x44e01000, 0xffe0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm4_INDEX), OP_SVE_DDD, 0, C_SCAN_MOVPRFX, 0),
   5065   1.9  christos   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),
   5066   1.9  christos   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),
   5067   1.9  christos   SVE2_INSNC ("sqrdmlsh", 0x44a01400, 0xffe0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_INDEX), OP_SVE_SSS, 0, C_SCAN_MOVPRFX, 0),
   5068   1.9  christos   SVE2_INSNC ("sqrdmlsh", 0x44e01400, 0xffe0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm4_INDEX), OP_SVE_DDD, 0, C_SCAN_MOVPRFX, 0),
   5069   1.9  christos   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),
   5070   1.9  christos   SVE2_INSN ("sqrdmulh", 0x4420f400, 0xffa0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_22_INDEX), OP_SVE_HHH, 0, 0),
   5071   1.9  christos   SVE2_INSN ("sqrdmulh", 0x44a0f400, 0xffe0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_INDEX), OP_SVE_SSS, 0, 0),
   5072   1.9  christos   SVE2_INSN ("sqrdmulh", 0x44e0f400, 0xffe0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm4_INDEX), OP_SVE_DDD, 0, 0),
   5073   1.9  christos   SVE2_INSN ("sqrdmulh", 0x04207400, 0xff20fc00,  sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   5074   1.9  christos   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),
   5075   1.9  christos   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),
   5076   1.9  christos   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),
   5077   1.9  christos   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),
   5078   1.9  christos   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),
   5079   1.9  christos   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),
   5080   1.9  christos   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),
   5081   1.9  christos   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),
   5082   1.9  christos   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),
   5083   1.9  christos   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),
   5084   1.9  christos   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),
   5085   1.9  christos   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),
   5086   1.9  christos   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),
   5087   1.9  christos   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),
   5088   1.9  christos   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),
   5089   1.9  christos   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),
   5090   1.9  christos   SVE2_INSN ("sqxtnb", 0x45204000, 0xffa7fc00,  sve_size_tsz_bhs, 0, OP2 (SVE_Zd, SVE_Zn), OP_SVE_VV_BHS_HSD, 0, 0),
   5091   1.9  christos   SVE2_INSN ("sqxtnt", 0x45204400, 0xffa7fc00,  sve_size_tsz_bhs, 0, OP2 (SVE_Zd, SVE_Zn), OP_SVE_VV_BHS_HSD, 0, 0),
   5092   1.9  christos   SVE2_INSN ("sqxtunb", 0x45205000, 0xffa7fc00,  sve_size_tsz_bhs, 0, OP2 (SVE_Zd, SVE_Zn), OP_SVE_VV_BHS_HSD, 0, 0),
   5093   1.9  christos   SVE2_INSN ("sqxtunt", 0x45205400, 0xffa7fc00,  sve_size_tsz_bhs, 0, OP2 (SVE_Zd, SVE_Zn), OP_SVE_VV_BHS_HSD, 0, 0),
   5094   1.9  christos   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),
   5095   1.9  christos   SVE2_INSN ("sri", 0x4500f000, 0xff20fc00,  sve_shift_tsz_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_SHRIMM_UNPRED), OP_SVE_VVU_BHSD, 0, 0),
   5096   1.9  christos   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),
   5097   1.9  christos   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),
   5098   1.9  christos   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),
   5099   1.9  christos   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),
   5100   1.9  christos   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),
   5101   1.9  christos   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),
   5102   1.9  christos   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),
   5103   1.9  christos   SVE2_INSN ("ssublb", 0x45001000, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5104   1.9  christos   SVE2_INSN ("ssublbt", 0x45008800, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5105   1.9  christos   SVE2_INSN ("ssublt", 0x45001400, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5106   1.9  christos   SVE2_INSN ("ssubltb", 0x45008c00, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5107   1.9  christos   SVE2_INSN ("ssubwb", 0x45005000, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS2, 0, 0),
   5108   1.9  christos   SVE2_INSN ("ssubwt", 0x45005400, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS2, 0, 0),
   5109   1.9  christos   SVE2_INSN ("stnt1b", 0xe4402000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_SUS, F_OD(1), 0),
   5110   1.9  christos   SVE2_INSN ("stnt1b", 0xe4002000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_DUD, F_OD(1), 0),
   5111   1.9  christos   SVE2_INSN ("stnt1d", 0xe5802000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_DUD, F_OD(1), 0),
   5112   1.9  christos   SVE2_INSN ("stnt1h", 0xe4c02000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_SUS, F_OD(1), 0),
   5113   1.9  christos   SVE2_INSN ("stnt1h", 0xe4802000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_DUD, F_OD(1), 0),
   5114   1.9  christos   SVE2_INSN ("stnt1w", 0xe5402000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_SUS, F_OD(1), 0),
   5115   1.9  christos   SVE2_INSN ("stnt1w", 0xe5002000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZX), OP_SVE_DUD, F_OD(1), 0),
   5116   1.9  christos   SVE2_INSN ("subhnb", 0x45207000, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHS_HSD, 0, 0),
   5117   1.9  christos   SVE2_INSN ("subhnt", 0x45207400, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHS_HSD, 0, 0),
   5118   1.9  christos   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),
   5119   1.9  christos   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),
   5120   1.9  christos   SVE2_INSN ("tbx", 0x05202c00, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   5121   1.9  christos   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),
   5122   1.9  christos   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),
   5123   1.9  christos   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),
   5124   1.9  christos   SVE2_INSN ("uabdlb", 0x45003800, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5125   1.9  christos   SVE2_INSN ("uabdlt", 0x45003c00, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5126   1.9  christos   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),
   5127   1.9  christos   SVE2_INSN ("uaddlb", 0x45000800, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5128   1.9  christos   SVE2_INSN ("uaddlt", 0x45000c00, 0xff20fc00, sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5129   1.9  christos   SVE2_INSN ("uaddwb", 0x45004800, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS2, 0, 0),
   5130   1.9  christos   SVE2_INSN ("uaddwt", 0x45004c00, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS2, 0, 0),
   5131   1.9  christos   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),
   5132   1.9  christos   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),
   5133   1.9  christos   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),
   5134   1.9  christos   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),
   5135   1.9  christos   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),
   5136   1.9  christos   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),
   5137   1.9  christos   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),
   5138   1.9  christos   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),
   5139   1.9  christos   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),
   5140   1.9  christos   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),
   5141   1.9  christos   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),
   5142   1.9  christos   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),
   5143   1.9  christos   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),
   5144   1.9  christos   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),
   5145   1.9  christos   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),
   5146   1.9  christos   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),
   5147   1.9  christos   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),
   5148   1.9  christos   SVE2_INSN ("umulh", 0x04206c00, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   5149   1.9  christos   SVE2_INSN ("umullb", 0x44a0d000, 0xffe0f400,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_11_INDEX), OP_SVE_SHH, 0, 0),
   5150   1.9  christos   SVE2_INSN ("umullb", 0x44e0d000, 0xffe0f400,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm4_11_INDEX), OP_SVE_DSS, 0, 0),
   5151   1.9  christos   SVE2_INSN ("umullb", 0x45007800, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5152   1.9  christos   SVE2_INSN ("umullt", 0x44a0d400, 0xffe0f400,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_11_INDEX), OP_SVE_SHH, 0, 0),
   5153   1.9  christos   SVE2_INSN ("umullt", 0x44e0d400, 0xffe0f400,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm4_11_INDEX), OP_SVE_DSS, 0, 0),
   5154   1.9  christos   SVE2_INSN ("umullt", 0x45007c00, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5155   1.9  christos   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),
   5156   1.9  christos   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),
   5157   1.9  christos   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),
   5158   1.9  christos   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),
   5159   1.9  christos   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),
   5160   1.9  christos   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),
   5161   1.9  christos   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),
   5162   1.9  christos   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),
   5163   1.9  christos   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),
   5164   1.9  christos   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),
   5165   1.9  christos   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),
   5166   1.9  christos   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),
   5167   1.9  christos   SVE2_INSN ("uqxtnb", 0x45204800, 0xffa7fc00,  sve_size_tsz_bhs, 0, OP2 (SVE_Zd, SVE_Zn), OP_SVE_VV_BHS_HSD, 0, 0),
   5168   1.9  christos   SVE2_INSN ("uqxtnt", 0x45204c00, 0xffa7fc00,  sve_size_tsz_bhs, 0, OP2 (SVE_Zd, SVE_Zn), OP_SVE_VV_BHS_HSD, 0, 0),
   5169   1.9  christos   SVE2_INSNC ("urecpe", 0x4480a000, 0xffffe000, sve_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_SMS, 0, C_SCAN_MOVPRFX, 0),
   5170   1.9  christos   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),
   5171   1.9  christos   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),
   5172   1.9  christos   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),
   5173   1.9  christos   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),
   5174   1.9  christos   SVE2_INSNC ("ursqrte", 0x4481a000, 0xffffe000, sve_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_SMS, 0, C_SCAN_MOVPRFX, 0),
   5175   1.9  christos   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),
   5176   1.9  christos   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),
   5177   1.9  christos   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),
   5178   1.9  christos   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),
   5179   1.9  christos   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),
   5180   1.9  christos   SVE2_INSN ("usublb", 0x45001800, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5181   1.9  christos   SVE2_INSN ("usublt", 0x45001c00, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS, 0, 0),
   5182   1.9  christos   SVE2_INSN ("usubwb", 0x45005800, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS2, 0, 0),
   5183   1.9  christos   SVE2_INSN ("usubwt", 0x45005c00, 0xff20fc00,  sve_size_hsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_HSD_BHS2, 0, 0),
   5184   1.9  christos   SVE2_INSN ("whilege", 0x25200000, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VWW_BHSD, 0, 0),
   5185   1.9  christos   SVE2_INSN ("whilege", 0x25201000, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VXX_BHSD, 0, 0),
   5186   1.9  christos   SVE2_INSN ("whilegt", 0x25200010, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VWW_BHSD, 0, 0),
   5187   1.9  christos   SVE2_INSN ("whilegt", 0x25201010, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VXX_BHSD, 0, 0),
   5188   1.9  christos   SVE2_INSN ("whilehi", 0x25200810, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VWW_BHSD, 0, 0),
   5189   1.9  christos   SVE2_INSN ("whilehi", 0x25201810, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VXX_BHSD, 0, 0),
   5190   1.9  christos   SVE2_INSN ("whilehs", 0x25200800, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VWW_BHSD, 0, 0),
   5191   1.9  christos   SVE2_INSN ("whilehs", 0x25201800, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VXX_BHSD, 0, 0),
   5192   1.9  christos   SVE2_INSN ("whilerw", 0x25203010, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VXX_BHSD, 0, 0),
   5193   1.9  christos   SVE2_INSN ("whilewr", 0x25203000, 0xff20fc10, sve_size_bhsd, 0, OP3 (SVE_Pd, Rn, Rm), OP_SVE_VXX_BHSD, 0, 0),
   5194   1.9  christos   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),
   5195   1.9  christos   /* SVE2_SM4 instructions.  */
   5196   1.9  christos   SVE2SM4_INSN ("sm4e", 0x4523e000, 0xfffffc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zd, SVE_Zn), OP_SVE_SSS, 0, 1),
   5197   1.9  christos   SVE2SM4_INSN ("sm4ekey", 0x4520f000, 0xffe0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SSS, 0, 0),
   5198   1.9  christos   /* SVE2_AES instructions.  */
   5199   1.9  christos   SVE2AES_INSN ("aesd", 0x4522e400, 0xfffffc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zd, SVE_Zn), OP_SVE_BBB, 0, 1),
   5200   1.9  christos   SVE2AES_INSN ("aese", 0x4522e000, 0xfffffc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zd, SVE_Zn), OP_SVE_BBB, 0, 1),
   5201   1.9  christos   SVE2AES_INSN ("aesimc", 0x4520e400, 0xffffffe0, sve_misc, 0, OP2 (SVE_Zd, SVE_Zd), OP_SVE_BB, 0, 1),
   5202   1.9  christos   SVE2AES_INSN ("aesmc", 0x4520e000, 0xffffffe0, sve_misc, 0, OP2 (SVE_Zd, SVE_Zd), OP_SVE_BB, 0, 1),
   5203   1.9  christos   SVE2AES_INSN ("pmullb", 0x45006800, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_Q_D, 0, 0),
   5204   1.9  christos   SVE2AES_INSN ("pmullt", 0x45006c00, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_Q_D, 0, 0),
   5205   1.9  christos   /* SVE2_SHA3 instructions.  */
   5206   1.9  christos   SVE2SHA3_INSN ("rax1", 0x4520f400, 0xffe0fc00,  sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_DDD, 0, 0),
   5207   1.9  christos   /* SVE2_BITPERM instructions. */
   5208  1.10  christos   SVE2BITPERM_INSN ("bdep", 0x4500b400, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   5209  1.10  christos   SVE2BITPERM_INSN ("bext", 0x4500b000, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   5210  1.10  christos   SVE2BITPERM_INSN ("bgrp", 0x4500b800, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
   5211  1.10  christos   /* SME instructions.  */
   5212  1.10  christos   SME_INSN ("addha", 0xc0900000, 0xffff001c, sme_misc, 0, OP4 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn), OP_SME_ZADA_PN_PM_ZN_S, 0, 0),
   5213  1.10  christos   SME_I64_INSN ("addha", 0xc0d00000, 0xffff0018, sme_misc, 0, OP4 (SME_ZAda_3b, SVE_Pg3, SME_Pm, SVE_Zn), OP_SME_ZADA_PN_PM_ZN_D, 0, 0),
   5214  1.10  christos   SME_INSN ("addspl", 0x04605800, 0xffe0f800, sme_misc, 0, OP3 (Rd_SP, SVE_Rn_SP, SVE_SIMM6), OP_SVE_XXU, 0, 0),
   5215  1.10  christos   SME_INSN ("addsvl", 0x04205800, 0xffe0f800, sme_misc, 0, OP3 (Rd_SP, SVE_Rn_SP, SVE_SIMM6), OP_SVE_XXU, 0, 0),
   5216  1.10  christos   SME_INSN ("addva", 0xc0910000, 0xffff001c, sme_misc, 0, OP4 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn), OP_SME_ZADA_PN_PM_ZN_S, 0, 0),
   5217  1.10  christos   SME_I64_INSN ("addva", 0xc0d10000, 0xffff0018, sme_misc, 0, OP4 (SME_ZAda_3b, SVE_Pg3, SME_Pm, SVE_Zn), OP_SME_ZADA_PN_PM_ZN_D, 0, 0),
   5218  1.10  christos   SME_INSN ("bfmopa", 0x81800000, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_PN_PM_ZN_ZM, 0, 0),
   5219  1.10  christos   SME_INSN ("bfmops", 0x81800010, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_PN_PM_ZN_ZM, 0, 0),
   5220  1.10  christos   SME_INSN ("fmopa", 0x80800000, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_S_PM_PM_S_S, 0, 0),
   5221  1.10  christos   SME_F64_INSN ("fmopa", 0x80c00000, 0xffe00018, sme_misc, 0, OP5 (SME_ZAda_3b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_D_PM_PM_D_D, 0, 0),
   5222  1.10  christos   SME_INSN ("fmopa", 0x81a00000, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_S_PM_PM_H_H, 0, 0),
   5223  1.10  christos   SME_INSN ("fmops", 0x80800010, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_S_PM_PM_S_S, 0, 0),
   5224  1.10  christos   SME_F64_INSN ("fmops", 0x80c00010, 0xffe00018, sme_misc, 0, OP5 (SME_ZAda_3b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_D_PM_PM_D_D, 0, 0),
   5225  1.10  christos   SME_INSN ("fmops", 0x81a00010, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_S_PM_PM_H_H, 0, 0),
   5226  1.10  christos   SME_INSN ("rdsvl", 0x04bf5800, 0xfffff800, sme_misc, 0, OP2 (Rd, SVE_SIMM6), OP_SVE_XU, 0, 0),
   5227  1.10  christos   SME_INSN ("smopa", 0xa0800000, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_S_PM_PM_B_B, 0, 0),
   5228  1.10  christos   SME_I64_INSN ("smopa", 0xa0c00000, 0xffe00018, sme_misc, 0, OP5 (SME_ZAda_3b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_D_PM_PM_H_H, 0, 0),
   5229  1.10  christos   SME_INSN ("smops", 0xa0800010, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_S_PM_PM_B_B, 0, 0),
   5230  1.10  christos   SME_I64_INSN ("smops", 0xa0c00010, 0xffe00018, sme_misc, 0, OP5 (SME_ZAda_3b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_D_PM_PM_H_H, 0, 0),
   5231  1.10  christos   SME_INSN ("sumopa", 0xa0a00000, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_S_PM_PM_B_B, 0, 0),
   5232  1.10  christos   SME_I64_INSN ("sumopa", 0xa0e00000, 0xffe00018, sme_misc, 0, OP5 (SME_ZAda_3b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_D_PM_PM_H_H, 0, 0),
   5233  1.10  christos   SME_INSN ("sumops", 0xa0a00010 ,0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_S_PM_PM_B_B, 0, 0),
   5234  1.10  christos   SME_I64_INSN ("sumops", 0xa0e00010 ,0xffe00018, sme_misc, 0, OP5 (SME_ZAda_3b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_D_PM_PM_H_H, 0, 0),
   5235  1.10  christos   SME_INSN ("umopa", 0xa1a00000, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_S_PM_PM_B_B, 0, 0),
   5236  1.10  christos   SME_I64_INSN ("umopa", 0xa1e00000, 0xffe00018, sme_misc, 0, OP5 (SME_ZAda_3b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_D_PM_PM_H_H, 0, 0),
   5237  1.10  christos   SME_INSN ("umops", 0xa1a00010 ,0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_S_PM_PM_B_B, 0, 0),
   5238  1.10  christos   SME_I64_INSN ("umops", 0xa1e00010 ,0xffe00018, sme_misc, 0, OP5 (SME_ZAda_3b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_D_PM_PM_H_H, 0, 0),
   5239  1.10  christos   SME_INSN ("usmopa", 0xa1800000, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_S_PM_PM_B_B, 0, 0),
   5240  1.10  christos   SME_I64_INSN ("usmopa", 0xa1c00000, 0xffe00018, sme_misc, 0, OP5 (SME_ZAda_3b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_D_PM_PM_H_H, 0, 0),
   5241  1.10  christos   SME_INSN ("usmops", 0xa1800010, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_S_PM_PM_B_B, 0, 0),
   5242  1.10  christos   SME_I64_INSN ("usmops", 0xa1c00010, 0xffe00018, sme_misc, 0, OP5 (SME_ZAda_3b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SME_ZADA_D_PM_PM_H_H, 0, 0),
   5243  1.10  christos 
   5244  1.10  christos   SME_INSN ("mov", 0xc0020000, 0xff3e0200, sme_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SME_ZA_HV_idx_src), OP_SME_BHSDQ_PM_BHSDQ, 0, 0),
   5245  1.10  christos   SME_INSN ("mov", 0xc0000000, 0xff3e0010, sme_misc, 0, OP3 (SME_ZA_HV_idx_dest, SVE_Pg3, SVE_Zn), OP_SME_BHSDQ_PM_BHSDQ, 0, 0),
   5246  1.10  christos   SME_INSN ("mova", 0xc0020000, 0xff3e0200, sme_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SME_ZA_HV_idx_src), OP_SME_BHSDQ_PM_BHSDQ, 0, 0),
   5247  1.10  christos   SME_INSN ("mova", 0xc0000000, 0xff3e0010, sme_misc, 0, OP3 (SME_ZA_HV_idx_dest, SVE_Pg3, SVE_Zn), OP_SME_BHSDQ_PM_BHSDQ, 0, 0),
   5248  1.10  christos 
   5249  1.10  christos   SME_INSN ("zero", 0xc0080000, 0xffffff00, sme_misc, 0, OP1 (SME_list_of_64bit_tiles), {}, 0, 0),
   5250  1.10  christos 
   5251  1.10  christos   SME_INSN ("ld1b", 0xe0000000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_RR), OP_SVE_BZU, 0, 0),
   5252  1.10  christos   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),
   5253  1.10  christos   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),
   5254  1.10  christos   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),
   5255  1.10  christos   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),
   5256  1.10  christos 
   5257  1.10  christos   SME_INSN ("ld1b", 0xe0000000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_BZU, 0, 0),
   5258  1.10  christos   SME_INSN ("ld1h", 0xe0400000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_HZU, 0, 0),
   5259  1.10  christos   SME_INSN ("ld1w", 0xe0800000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, 0, 0),
   5260  1.10  christos   SME_INSN ("ld1d", 0xe0c00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, 0, 0),
   5261  1.10  christos   SME_INSN ("ld1q", 0xe1c00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_QZU, 0, 0),
   5262  1.10  christos 
   5263  1.10  christos   SME_INSN ("st1b", 0xe0200000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_RR), OP_SVE_BUU, 0, 0),
   5264  1.10  christos   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),
   5265  1.10  christos   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),
   5266  1.10  christos   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),
   5267  1.10  christos   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),
   5268  1.10  christos 
   5269  1.10  christos   SME_INSN ("st1b", 0xe0200000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_BUU, 0, 0),
   5270  1.10  christos   SME_INSN ("st1h", 0xe0600000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_HUU, 0, 0),
   5271  1.10  christos   SME_INSN ("st1w", 0xe0a00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_SUU, 0, 0),
   5272  1.10  christos   SME_INSN ("st1d", 0xe0e00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_DUU, 0, 0),
   5273  1.10  christos   SME_INSN ("st1q", 0xe1e00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_QUU, 0, 0),
   5274  1.10  christos 
   5275  1.10  christos   SME_INSN ("ldr", 0xe1000000, 0xffff9c10, sme_ldr, 0, OP2 (SME_ZA_array, SME_ADDR_RI_U4xVL), {}, 0, 1),
   5276  1.10  christos   SME_INSN ("str", 0xe1200000, 0xffff9c10, sme_str, 0, OP2 (SME_ZA_array, SME_ADDR_RI_U4xVL), {}, 0, 1),
   5277  1.10  christos 
   5278  1.10  christos   SME_INSNC ("revd", 0x52e8000, 0xffffe000, sme_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_QMQ, 0, C_SCAN_MOVPRFX, 0),
   5279   1.9  christos   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),
   5280   1.8  christos   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),
   5281   1.8  christos   SME_INSN ("psel", 0x25204000, 0xff20c000, sme_misc, 0, OP3 (SVE_Pd, SVE_Pg4_10, SME_PnT_Wm_imm), OP_SVE_NN_BHSD, 0, 0),
   5282   1.8  christos 
   5283   1.8  christos   /* SIMD Dot Product (optional in v8.2-A).  */
   5284   1.8  christos   DOT_INSN ("udot", 0x2e009400, 0xbf20fc00, dotproduct, OP3 (Vd, Vn, Vm), QL_V3DOT, F_SIZEQ),
   5285   1.8  christos   DOT_INSN ("sdot", 0xe009400,  0xbf20fc00, dotproduct, OP3 (Vd, Vn, Vm), QL_V3DOT, F_SIZEQ),
   5286   1.8  christos   DOT_INSN ("udot", 0x2f00e000, 0xbf00f400, dotproduct, OP3 (Vd, Vn, Em), QL_V2DOT, F_SIZEQ),
   5287   1.8  christos   DOT_INSN ("sdot", 0xf00e000,  0xbf00f400, dotproduct, OP3 (Vd, Vn, Em), QL_V2DOT, F_SIZEQ),
   5288   1.8  christos /* Crypto SHA2 (optional in ARMv8.2-a).  */
   5289   1.8  christos   SHA2_INSN ("sha512h",   0xce608000, 0xffe0fc00, cryptosha2, OP3 (Fd, Fn, Vm), QL_SHA512UPT, 0),
   5290   1.8  christos   SHA2_INSN ("sha512h2",  0xce608400, 0xffe0fc00, cryptosha2, OP3 (Fd, Fn, Vm), QL_SHA512UPT, 0),
   5291   1.8  christos   SHA2_INSN ("sha512su0", 0xcec08000, 0xfffffc00, cryptosha2, OP2 (Vd, Vn), QL_V2SAME2D, 0),
   5292   1.8  christos   SHA2_INSN ("sha512su1", 0xce608800, 0xffe0fc00, cryptosha2, OP3 (Vd, Vn, Vm), QL_V3SAME2D, 0),
   5293   1.8  christos   /* Crypto SHA3 (optional in ARMv8.2-a).  */
   5294   1.8  christos   SHA3_INSN ("eor3",      0xce000000, 0xffe08000, cryptosha3, OP4 (Vd, Vn, Vm, Va), QL_V4SAME16B, 0),
   5295   1.8  christos   SHA3_INSN ("rax1",      0xce608c00, 0xffe0fc00, cryptosha3, OP3 (Vd, Vn, Vm), QL_V3SAME2D, 0),
   5296   1.8  christos   SHA3_INSN ("xar",       0xce800000, 0xffe00000, cryptosha3, OP4 (Vd, Vn, Vm, IMM), QL_XAR, 0),
   5297   1.8  christos   SHA3_INSN ("bcax",      0xce200000, 0xffe08000, cryptosha3, OP4 (Vd, Vn, Vm, Va), QL_V4SAME16B, 0),
   5298   1.8  christos   /* Crypto SM3 (optional in ARMv8.2-a).  */
   5299   1.8  christos   SM4_INSN ("sm3ss1",    0xce400000, 0xffe08000, cryptosm3, OP4 (Vd, Vn, Vm, Va), QL_V4SAME4S, 0),
   5300   1.8  christos   SM4_INSN ("sm3tt1a",   0xce408000, 0xffe0cc00, cryptosm3, OP3 (Vd, Vn, Em), QL_SM3TT, 0),
   5301   1.8  christos   SM4_INSN ("sm3tt1b",   0xce408400, 0xffe0cc00, cryptosm3, OP3 (Vd, Vn, Em), QL_SM3TT, 0),
   5302   1.8  christos   SM4_INSN ("sm3tt2a",   0xce408800, 0xffe0cc00, cryptosm3, OP3 (Vd, Vn, Em), QL_SM3TT, 0),
   5303   1.8  christos   SM4_INSN ("sm3tt2b",   0xce408c00, 0xffe0cc00, cryptosm3, OP3 (Vd, Vn, Em), QL_SM3TT, 0),
   5304   1.8  christos   SM4_INSN ("sm3partw1", 0xce60c000, 0xffe0fc00, cryptosm3, OP3 (Vd, Vn, Vm), QL_V3SAME4S, 0),
   5305   1.8  christos   SM4_INSN ("sm3partw2", 0xce60c400, 0xffe0fc00, cryptosm3, OP3 (Vd, Vn, Vm), QL_V3SAME4S, 0),
   5306   1.8  christos   /* Crypto SM4 (optional in ARMv8.2-a).  */
   5307   1.8  christos   SM4_INSN ("sm4e",    0xcec08400, 0xfffffc00, cryptosm4, OP2 (Vd, Vn), QL_V2SAME4S, 0),
   5308   1.8  christos   SM4_INSN ("sm4ekey", 0xce60c800, 0xffe0fc00, cryptosm4, OP3 (Vd, Vn, Vm), QL_V3SAME4S, 0),
   5309   1.8  christos   /* Crypto FP16 (optional in ARMv8.2-a).  */
   5310   1.8  christos   FP16_V8_2_INSN ("fmlal",  0xe20ec00,  0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML2S, 0),
   5311   1.8  christos   FP16_V8_2_INSN ("fmlsl",  0xea0ec00,  0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML2S, 0),
   5312   1.8  christos   FP16_V8_2_INSN ("fmlal2", 0x2e20cc00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML2S, 0),
   5313   1.8  christos   FP16_V8_2_INSN ("fmlsl2", 0x2ea0cc00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML2S, 0),
   5314   1.8  christos 
   5315   1.8  christos   FP16_V8_2_INSN ("fmlal",  0x4e20ec00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML4S, 0),
   5316   1.8  christos   FP16_V8_2_INSN ("fmlsl",  0x4ea0ec00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML4S, 0),
   5317   1.8  christos   FP16_V8_2_INSN ("fmlal2", 0x6e20cc00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML4S, 0),
   5318   1.8  christos   FP16_V8_2_INSN ("fmlsl2", 0x6ea0cc00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML4S, 0),
   5319   1.8  christos 
   5320   1.8  christos   FP16_V8_2_INSN ("fmlal",  0xf800000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML2S, 0),
   5321   1.8  christos   FP16_V8_2_INSN ("fmlsl",  0xf804000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML2S, 0),
   5322   1.8  christos   FP16_V8_2_INSN ("fmlal2", 0x2f808000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML2S, 0),
   5323   1.8  christos   FP16_V8_2_INSN ("fmlsl2", 0x2f80c000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML2S, 0),
   5324   1.8  christos 
   5325   1.8  christos   FP16_V8_2_INSN ("fmlal",  0x4f800000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML4S, 0),
   5326   1.8  christos   FP16_V8_2_INSN ("fmlsl",  0x4f804000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML4S, 0),
   5327  1.10  christos   FP16_V8_2_INSN ("fmlal2", 0x6f808000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML4S, 0),
   5328  1.10  christos   FP16_V8_2_INSN ("fmlsl2", 0x6f80c000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em16), QL_V2FML4S, 0),
   5329  1.10  christos   /* System extensions ARMv8.4-a.  */
   5330   1.8  christos   FLAGM_INSN ("rmif",   0xba000400, 0xffe07c10, ic_system, OP3 (Rn, IMM_2, MASK), QL_RMIF, 0),
   5331   1.8  christos   FLAGM_INSN ("setf8",  0x3a00080d, 0xfffffc1f, ic_system, OP1 (Rn), QL_SETF, 0),
   5332   1.8  christos   FLAGM_INSN ("setf16", 0x3a00480d, 0xfffffc1f, ic_system, OP1 (Rn), QL_SETF, 0),
   5333   1.8  christos   /* Memory access instructions ARMv8.4-a.  */
   5334   1.8  christos   V8_4_INSN ("stlurb" ,  0x19000000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
   5335   1.8  christos   V8_4_INSN ("ldapurb",  0x19400000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
   5336   1.8  christos   V8_4_INSN ("ldapursb", 0x19c00000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
   5337   1.8  christos   V8_4_INSN ("ldapursb", 0x19800000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLX, 0),
   5338   1.8  christos   V8_4_INSN ("stlurh",   0x59000000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
   5339   1.8  christos   V8_4_INSN ("ldapurh",  0x59400000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
   5340   1.8  christos   V8_4_INSN ("ldapursh", 0x59c00000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
   5341   1.8  christos   V8_4_INSN ("ldapursh", 0x59800000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLX, 0),
   5342   1.8  christos   V8_4_INSN ("stlur",    0x99000000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
   5343   1.8  christos   V8_4_INSN ("ldapur",   0x99400000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
   5344   1.9  christos   V8_4_INSN ("ldapursw", 0x99800000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLX, 0),
   5345   1.9  christos   V8_4_INSN ("stlur",    0xd9000000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLX, 0),
   5346   1.9  christos   V8_4_INSN ("ldapur",   0xd9400000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLX, 0),
   5347   1.9  christos 
   5348   1.9  christos   /* Matrix Multiply instructions.  */
   5349   1.9  christos   INT8MATMUL_SVE_INSNC ("smmla",  0x45009800, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SBB, 0, C_SCAN_MOVPRFX, 0),
   5350   1.9  christos   INT8MATMUL_SVE_INSNC ("ummla",  0x45c09800, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SBB, 0, C_SCAN_MOVPRFX, 0),
   5351   1.9  christos   INT8MATMUL_SVE_INSNC ("usmmla", 0x45809800, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SBB, 0, C_SCAN_MOVPRFX, 0),
   5352   1.9  christos   INT8MATMUL_SVE_INSNC ("usdot",  0x44807800, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SBB, 0, C_SCAN_MOVPRFX, 0),
   5353   1.9  christos   INT8MATMUL_SVE_INSNC ("usdot",  0x44a01800, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_INDEX), OP_SVE_SBB, 0, C_SCAN_MOVPRFX, 0),
   5354   1.9  christos   INT8MATMUL_SVE_INSNC ("sudot",  0x44a01c00, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_INDEX), OP_SVE_SBB, 0, C_SCAN_MOVPRFX, 0),
   5355   1.9  christos   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),
   5356   1.9  christos   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),
   5357   1.9  christos   F64MATMUL_SVE_INSN ("ld1rob",  0xa4200000, 0xffe0e000, sve_misc, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX), OP_SVE_BZU, F_OD(1), 0),
   5358   1.9  christos   F64MATMUL_SVE_INSN ("ld1roh",  0xa4a00000, 0xffe0e000, sve_misc, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL1), OP_SVE_HZU, F_OD(1), 0),
   5359   1.9  christos   F64MATMUL_SVE_INSN ("ld1row",  0xa5200000, 0xffe0e000, sve_misc, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SZU, F_OD(1), 0),
   5360   1.9  christos   F64MATMUL_SVE_INSN ("ld1rod",  0xa5a00000, 0xffe0e000, sve_misc, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL3), OP_SVE_DZU, F_OD(1), 0),
   5361   1.9  christos   F64MATMUL_SVE_INSN ("ld1rob",  0xa4202000, 0xfff0e000, sve_misc, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x32), OP_SVE_BZU, F_OD(1), 0),
   5362   1.9  christos   F64MATMUL_SVE_INSN ("ld1roh",  0xa4a02000, 0xfff0e000, sve_misc, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x32), OP_SVE_HZU, F_OD(1), 0),
   5363   1.9  christos   F64MATMUL_SVE_INSN ("ld1row",  0xa5202000, 0xfff0e000, sve_misc, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x32), OP_SVE_SZU, F_OD(1), 0),
   5364   1.9  christos   F64MATMUL_SVE_INSN ("ld1rod",  0xa5a02000, 0xfff0e000, sve_misc, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4x32), OP_SVE_DZU, F_OD(1), 0),
   5365   1.9  christos   F64MATMUL_SVE_INSN ("zip1",    0x05a00000, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_QQQ, 0, 0),
   5366   1.9  christos   F64MATMUL_SVE_INSN ("zip2",    0x05a00400, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_QQQ, 0, 0),
   5367   1.9  christos   F64MATMUL_SVE_INSN ("uzp1",    0x05a00800, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_QQQ, 0, 0),
   5368   1.9  christos   F64MATMUL_SVE_INSN ("uzp2",    0x05a00c00, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_QQQ, 0, 0),
   5369   1.9  christos   F64MATMUL_SVE_INSN ("trn1",    0x05a01800, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_QQQ, 0, 0),
   5370   1.9  christos   F64MATMUL_SVE_INSN ("trn2",    0x05a01c00, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_QQQ, 0, 0),
   5371   1.9  christos   /* Matrix Multiply advanced SIMD instructions.  */
   5372   1.9  christos   INT8MATMUL_INSN ("smmla",  0x4e80a400, 0xffe0fc00, aarch64_misc, OP3 (Vd, Vn, Vm), QL_MMLA64, 0),
   5373   1.9  christos   INT8MATMUL_INSN ("ummla",  0x6e80a400, 0xffe0fc00, aarch64_misc, OP3 (Vd, Vn, Vm), QL_MMLA64, 0),
   5374   1.9  christos   INT8MATMUL_INSN ("usmmla", 0x4e80ac00, 0xffe0fc00, aarch64_misc, OP3 (Vd, Vn, Vm), QL_MMLA64, 0),
   5375   1.9  christos   INT8MATMUL_INSN ("usdot",  0x0e809c00, 0xbfe0fc00, aarch64_misc, OP3 (Vd, Vn, Vm), QL_V3DOT, F_SIZEQ),
   5376   1.9  christos   INT8MATMUL_INSN ("usdot",  0x0f80f000, 0xbfc0f400, dotproduct, OP3 (Vd, Vn, Em), QL_V2DOT, F_SIZEQ),
   5377   1.9  christos   INT8MATMUL_INSN ("sudot",  0x0f00f000, 0xbfc0f400, dotproduct, OP3 (Vd, Vn, Em), QL_V2DOT, F_SIZEQ),
   5378   1.9  christos 
   5379   1.9  christos   /* BFloat instructions.  */
   5380   1.9  christos   BFLOAT16_SVE_INSNC ("bfdot",  0x64608000, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SHH, 0, C_SCAN_MOVPRFX, 0),
   5381   1.9  christos   BFLOAT16_SVE_INSNC ("bfdot",  0x64604000, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm3_INDEX), OP_SVE_SHH, 0, C_SCAN_MOVPRFX, 0),
   5382   1.9  christos   BFLOAT16_SVE_INSNC ("bfmmla",  0x6460e400, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SHH, 0, C_SCAN_MOVPRFX, 0),
   5383   1.9  christos   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),
   5384   1.9  christos   BFLOAT16_SVE_INSNC ("bfcvtnt",  0x648aa000, 0xffffe000, sve_misc, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_HMS, 0, 0, 0),
   5385   1.9  christos   BFLOAT16_SVE_INSNC ("bfmlalt",  0x64e08400, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SHH, 0, C_SCAN_MOVPRFX, 0),
   5386   1.9  christos   BFLOAT16_SVE_INSNC ("bfmlalb",  0x64e08000, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SHH, 0, C_SCAN_MOVPRFX, 0),
   5387   1.9  christos   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),
   5388   1.9  christos   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),
   5389   1.9  christos   /* BFloat Advanced SIMD instructions.  */
   5390   1.9  christos   BFLOAT16_INSN ("bfdot", 0x2e40fc00, 0xbfe0fc00, bfloat16, OP3 (Vd, Vn, Vm), QL_BFDOT64, F_SIZEQ),
   5391   1.9  christos   /* Using dotproduct as iclass to treat instruction similar to udot.  */
   5392   1.9  christos   BFLOAT16_INSN ("bfdot", 0x0f40f000, 0xbfc0f400, dotproduct, OP3 (Vd, Vn, Em), QL_BFDOT64I, F_SIZEQ),
   5393   1.9  christos   BFLOAT16_INSN ("bfmmla", 0x6e40ec00, 0xffe0fc00, bfloat16, OP3 (Vd, Vn, Vm), QL_BFMMLA, F_SIZEQ),
   5394   1.9  christos   BFLOAT16_INSN ("bfcvtn",  0x0ea16800, 0xfffffc00, bfloat16, OP2 (Vd, Vn), QL_BFCVTN64, 0),
   5395   1.9  christos   BFLOAT16_INSN ("bfcvtn2", 0x4ea16800, 0xfffffc00, bfloat16, OP2 (Vd, Vn), QL_BFCVTN2_64, 0),
   5396   1.9  christos   BFLOAT16_INSN ("bfcvt",  0x1e634000, 0xfffffc00, bfloat16, OP2 (Fd, Fn), QL_BFCVT64, 0),
   5397   1.9  christos   BFLOAT16_INSN ("bfmlalt", 0x6ec0fc00, 0xffe0fc00, bfloat16, OP3 (Vd, Vn, Vm), QL_BFMMLA, 0),
   5398  1.10  christos   BFLOAT16_INSN ("bfmlalb", 0x2ec0fc00, 0xffe0fc00, bfloat16, OP3 (Vd, Vn, Vm), QL_BFMMLA, 0),
   5399  1.10  christos   BFLOAT16_INSN ("bfmlalt", 0x4fc0f000, 0xffc0f400, bfloat16, OP3 (Vd, Vn, Em16), QL_V3BFML4S, 0),
   5400  1.10  christos   BFLOAT16_INSN ("bfmlalb", 0x0fc0f000, 0xffc0f400, bfloat16, OP3 (Vd, Vn, Em16), QL_V3BFML4S, 0),
   5401  1.10  christos 
   5402  1.10  christos   /* cpyfp cpyfprn cpyfpwn cpyfpn
   5403  1.10  christos      cpyfm cpyfmrn cpyfmwn cpyfmn
   5404  1.10  christos      cpyfe cpyfern cpyfewn cpyfen
   5405  1.10  christos 
   5406  1.10  christos      cpyfprt cpyfprtrn cpyfprtwn cpyfprtn
   5407  1.10  christos      cpyfmrt cpyfmrtrn cpyfmrtwn cpyfmrtn
   5408  1.10  christos      cpyfert cpyfertrn cpyfertwn cpyfertn
   5409  1.10  christos 
   5410  1.10  christos      cpyfpwt cpyfpwtrn cpyfpwtwn cpyfpwtn
   5411  1.10  christos      cpyfmwt cpyfmwtrn cpyfmwtwn cpyfmwtn
   5412  1.10  christos      cpyfewt cpyfewtrn cpyfewtwn cpyfewtn
   5413  1.10  christos 
   5414  1.10  christos      cpyfpt cpyfptrn cpyfptwn cpyfptn
   5415  1.10  christos      cpyfmt cpyfmtrn cpyfmtwn cpyfmtn
   5416  1.10  christos      cpyfet cpyfetrn cpyfetwn cpyfetn.  */
   5417  1.10  christos   MOPS_CPY_INSN ("cpyf", 0x19000400, 0xffe0fc00),
   5418  1.10  christos 
   5419  1.10  christos   /* cpyp cpyprn cpypwn cpypn
   5420  1.10  christos      cpym cpymrn cpymwn cpymn
   5421  1.10  christos      cpye cpyern cpyewn cpyen
   5422  1.10  christos 
   5423  1.10  christos      cpyprt cpyprtrn cpyprtwn cpyprtn
   5424  1.10  christos      cpymrt cpymrtrn cpymrtwn cpymrtn
   5425  1.10  christos      cpyert cpyertrn cpyertwn cpyertn
   5426  1.10  christos 
   5427  1.10  christos      cpypwt cpypwtrn cpypwtwn cpypwtn
   5428  1.10  christos      cpymwt cpymwtrn cpymwtwn cpymwtn
   5429  1.10  christos      cpyewt cpyewtrn cpyewtwn cpyewtn
   5430  1.10  christos 
   5431  1.10  christos      cpypt cpyptrn cpyptwn cpyptn
   5432  1.10  christos      cpymt cpymtrn cpymtwn cpymtn
   5433  1.10  christos      cpyet cpyetrn cpyetwn cpyetn.  */
   5434  1.10  christos   MOPS_CPY_INSN ("cpy", 0x1d000400, 0xffe0fc00),
   5435  1.10  christos 
   5436  1.10  christos   /* setp setpt setpn setptn
   5437  1.10  christos      setm setmt setmn setmtn
   5438  1.10  christos      sete setet seten setetn  */
   5439  1.10  christos   MOPS_SET_INSN ("set", 0x19c00400, 0xffe0fc00, MOPS_INSN),
   5440  1.10  christos 
   5441  1.10  christos   /* setgp setgpt setgpn setgptn
   5442  1.10  christos      setgm setgmt setgmn setgmtn
   5443  1.10  christos      setge setget setgen setgetn  */
   5444  1.10  christos   MOPS_SET_INSN ("setg", 0x1dc00400, 0xffe0fc00, MOPS_MEMTAG_INSN),
   5445  1.10  christos 
   5446  1.10  christos   HBC_INSN ("bc.c", 0x54000010, 0xff000010, condbranch, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_COND),
   5447  1.10  christos 
   5448  1.10  christos /* CSSC with immediates.  */
   5449  1.10  christos   CSSC_INSN ("smax", 0x11c00000, 0x7ffc0000, OP3 (Rd, Rn, CSSC_SIMM8), QL_R2NIL, F_SF),
   5450  1.10  christos   CSSC_INSN ("umax", 0x11c40000, 0x7ffc0000, OP3 (Rd, Rn, CSSC_UIMM8), QL_R2NIL, F_SF),
   5451  1.10  christos   CSSC_INSN ("smin", 0x11c80000, 0x7ffc0000, OP3 (Rd, Rn, CSSC_SIMM8), QL_R2NIL, F_SF),
   5452  1.10  christos   CSSC_INSN ("umin", 0x11cc0000, 0x7ffc0000, OP3 (Rd, Rn, CSSC_UIMM8), QL_R2NIL, F_SF),
   5453  1.10  christos 
   5454  1.10  christos /* CSSC with registers only.  */
   5455  1.10  christos   CSSC_INSN ("abs",  0x5ac02000, 0x7ffffc00, OP2 (Rd, Rn), QL_I2SAME, F_SF),
   5456  1.10  christos   CSSC_INSN ("cnt",  0x5ac01c00, 0x7ffffc00, OP2 (Rd, Rn), QL_I2SAME, F_SF),
   5457  1.10  christos   CSSC_INSN ("ctz",  0x5ac01800, 0x7ffffc00, OP2 (Rd, Rn), QL_I2SAME, F_SF),
   5458  1.10  christos   CSSC_INSN ("smax", 0x1ac06000, 0x7fe0fc00, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF),
   5459  1.10  christos   CSSC_INSN ("umax", 0x1ac06400, 0x7fe0fc00, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF),
   5460   1.8  christos   CSSC_INSN ("smin", 0x1ac06800, 0x7fe0fc00, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF),
   5461   1.1  christos   CSSC_INSN ("umin", 0x1ac06c00, 0x7fe0fc00, OP3 (Rd, Rn, Rm), QL_I3SAMER, F_SF),
   5462   1.1  christos 
   5463   1.1  christos   {0, 0, 0, 0, 0, 0, {}, {}, 0, 0, 0, NULL},
   5464   1.1  christos };
   5465   1.1  christos 
   5466   1.1  christos #ifdef AARCH64_OPERANDS
   5467   1.1  christos #undef AARCH64_OPERANDS
   5468   1.1  christos #endif
   5469   1.1  christos 
   5470   1.1  christos /* Macro-based operand decription; this will be fed into aarch64-gen for it
   5471   1.1  christos    to generate the structure aarch64_operands and the function
   5472   1.1  christos    aarch64_insert_operand and aarch64_extract_operand.
   5473   1.1  christos 
   5474   1.1  christos    These inserters and extracters in the description execute the conversion
   5475   1.1  christos    between the aarch64_opnd_info and value in the operand-related instruction
   5476   1.1  christos    field(s).  */
   5477   1.1  christos 
   5478   1.1  christos /* Y expects arguments (left to right) to be operand class, inserter/extractor
   5479   1.1  christos    name suffix, operand name, flags, related bitfield(s) and description.
   5480   1.1  christos    X only differs from Y by having the operand inserter and extractor names
   5481   1.1  christos    listed separately.  */
   5482   1.1  christos 
   5483   1.1  christos #define AARCH64_OPERANDS						\
   5484   1.1  christos     Y(INT_REG, regno, "Rd", 0, F(FLD_Rd), "an integer register")	\
   5485   1.1  christos     Y(INT_REG, regno, "Rn", 0, F(FLD_Rn), "an integer register")	\
   5486  1.10  christos     Y(INT_REG, regno, "Rm", 0, F(FLD_Rm), "an integer register")	\
   5487   1.9  christos     Y(INT_REG, regno, "Rt", 0, F(FLD_Rt), "an integer register")	\
   5488   1.9  christos     Y(INT_REG, regno, "Rt2", 0, F(FLD_Rt2), "an integer register")	\
   5489   1.1  christos     Y(INT_REG, regno, "Rt_LS64", 0, F(FLD_Rt), "an integer register")	\
   5490   1.1  christos     Y(INT_REG, regno, "Rt_SP", OPD_F_MAYBE_SP, F(FLD_Rt),		\
   5491   1.1  christos       "an integer or stack pointer register")				\
   5492   1.1  christos     Y(INT_REG, regno, "Rs", 0, F(FLD_Rs), "an integer register")	\
   5493   1.1  christos     Y(INT_REG, regno, "Ra", 0, F(FLD_Ra), "an integer register")	\
   5494   1.1  christos     X(INT_REG, ins_regno, ext_regrt_sysins, "Rt_SYS", 0, F(FLD_Rt),	\
   5495   1.1  christos       "an integer register")						\
   5496   1.1  christos     Y(INT_REG, regno, "Rd_SP", OPD_F_MAYBE_SP, F(FLD_Rd),		\
   5497   1.7  christos       "an integer or stack pointer register")				\
   5498   1.7  christos     Y(INT_REG, regno, "Rn_SP", OPD_F_MAYBE_SP, F(FLD_Rn),		\
   5499   1.3  christos       "an integer or stack pointer register")				\
   5500   1.3  christos     Y(INT_REG, regno, "Rm_SP", OPD_F_MAYBE_SP, F(FLD_Rm),		\
   5501   1.1  christos       "an integer or stack pointer register")				\
   5502   1.1  christos     X(INT_REG, 0, ext_regno_pair, "PAIRREG", 0, F(),			\
   5503   1.1  christos       "the second reg of a pair")					\
   5504   1.1  christos     Y(MODIFIED_REG, reg_extended, "Rm_EXT", 0, F(),			\
   5505   1.1  christos       "an integer register with optional extension")			\
   5506   1.1  christos     Y(MODIFIED_REG, reg_shifted, "Rm_SFT", 0, F(),			\
   5507   1.1  christos       "an integer register with optional shift")			\
   5508   1.1  christos     Y(FP_REG, regno, "Fd", 0, F(FLD_Rd), "a floating-point register")	\
   5509   1.1  christos     Y(FP_REG, regno, "Fn", 0, F(FLD_Rn), "a floating-point register")	\
   5510   1.1  christos     Y(FP_REG, regno, "Fm", 0, F(FLD_Rm), "a floating-point register")	\
   5511   1.1  christos     Y(FP_REG, regno, "Fa", 0, F(FLD_Ra), "a floating-point register")	\
   5512   1.1  christos     Y(FP_REG, ft, "Ft", 0, F(FLD_Rt), "a floating-point register")	\
   5513   1.1  christos     Y(FP_REG, regno, "Ft2", 0, F(FLD_Rt2), "a floating-point register")	\
   5514   1.8  christos     Y(SISD_REG, regno, "Sd", 0, F(FLD_Rd), "a SIMD scalar register")	\
   5515   1.1  christos     Y(SISD_REG, regno, "Sn", 0, F(FLD_Rn), "a SIMD scalar register")	\
   5516   1.1  christos     Y(SISD_REG, regno, "Sm", 0, F(FLD_Rm), "a SIMD scalar register")	\
   5517   1.1  christos     Y(SIMD_REG, regno, "Va", 0, F(FLD_Ra), "a SIMD vector register")	\
   5518   1.1  christos     Y(SIMD_REG, regno, "Vd", 0, F(FLD_Rd), "a SIMD vector register")	\
   5519   1.1  christos     Y(SIMD_REG, regno, "Vn", 0, F(FLD_Rn), "a SIMD vector register")	\
   5520   1.1  christos     Y(SIMD_REG, regno, "Vm", 0, F(FLD_Rm), "a SIMD vector register")	\
   5521   1.1  christos     Y(FP_REG, regno, "VdD1", 0, F(FLD_Rd),				\
   5522   1.1  christos       "the top half of a 128-bit FP/SIMD register")			\
   5523   1.1  christos     Y(FP_REG, regno, "VnD1", 0, F(FLD_Rn),				\
   5524   1.1  christos       "the top half of a 128-bit FP/SIMD register")			\
   5525   1.1  christos     Y(SIMD_ELEMENT, reglane, "Ed", 0, F(FLD_Rd),			\
   5526   1.1  christos       "a SIMD vector element")						\
   5527   1.1  christos     Y(SIMD_ELEMENT, reglane, "En", 0, F(FLD_Rn),			\
   5528   1.8  christos       "a SIMD vector element")						\
   5529   1.8  christos     Y(SIMD_ELEMENT, reglane, "Em", 0, F(FLD_Rm),			\
   5530   1.1  christos       "a SIMD vector element")						\
   5531   1.1  christos     Y(SIMD_ELEMENT, reglane, "Em16", 0, F(FLD_Rm),			\
   5532   1.1  christos       "a SIMD vector element limited to V0-V15")			\
   5533   1.1  christos     Y(SIMD_REGLIST, reglist, "LVn", 0, F(FLD_Rn),			\
   5534   1.1  christos       "a SIMD vector register list")					\
   5535   1.1  christos     Y(SIMD_REGLIST, ldst_reglist, "LVt", 0, F(),			\
   5536   1.1  christos       "a SIMD vector register list")					\
   5537   1.1  christos     Y(SIMD_REGLIST, ldst_reglist_r, "LVt_AL", 0, F(),			\
   5538   1.7  christos       "a SIMD vector register list")					\
   5539   1.1  christos     Y(SIMD_REGLIST, ldst_elemlist, "LEt", 0, F(),			\
   5540   1.7  christos       "a SIMD vector element list")					\
   5541   1.1  christos     Y(IMMEDIATE, imm, "CRn", 0, F(FLD_CRn),				\
   5542   1.1  christos       "a 4-bit opcode field named for historical reasons C0 - C15")	\
   5543   1.1  christos     Y(IMMEDIATE, imm, "CRm", 0, F(FLD_CRm),				\
   5544   1.8  christos       "a 4-bit opcode field named for historical reasons C0 - C15")	\
   5545   1.8  christos     Y(IMMEDIATE, imm, "IDX", 0, F(FLD_imm4),				\
   5546   1.1  christos       "an immediate as the index of the least significant byte")	\
   5547   1.1  christos     Y(IMMEDIATE, imm, "MASK", 0, F(FLD_imm4_2),				\
   5548   1.1  christos       "an immediate as the index of the least significant byte")	\
   5549   1.1  christos     Y(IMMEDIATE, advsimd_imm_shift, "IMM_VLSL", 0, F(),			\
   5550   1.1  christos       "a left shift amount for an AdvSIMD register")			\
   5551   1.1  christos     Y(IMMEDIATE, advsimd_imm_shift, "IMM_VLSR", 0, F(),			\
   5552   1.1  christos       "a right shift amount for an AdvSIMD register")			\
   5553   1.1  christos     Y(IMMEDIATE, advsimd_imm_modified, "SIMD_IMM", 0, F(),		\
   5554   1.1  christos       "an immediate")							\
   5555   1.1  christos     Y(IMMEDIATE, advsimd_imm_modified, "SIMD_IMM_SFT", 0, F(),		\
   5556   1.1  christos       "an 8-bit unsigned immediate with optional shift")		\
   5557   1.1  christos     Y(IMMEDIATE, advsimd_imm_modified, "SIMD_FPIMM", 0, F(),		\
   5558   1.1  christos       "an 8-bit floating-point constant")				\
   5559   1.1  christos     X(IMMEDIATE, 0, ext_shll_imm, "SHLL_IMM", 0, F(),			\
   5560   1.7  christos       "an immediate shift amount of 8, 16 or 32")			\
   5561   1.1  christos     X(IMMEDIATE, 0, 0, "IMM0", 0, F(), "0")				\
   5562   1.1  christos     X(IMMEDIATE, 0, 0, "FPIMM0", 0, F(), "0.0")				\
   5563   1.1  christos     Y(IMMEDIATE, fpimm, "FPIMM", 0, F(FLD_imm8),			\
   5564   1.1  christos       "an 8-bit floating-point constant")				\
   5565   1.1  christos     Y(IMMEDIATE, imm, "IMMR", 0, F(FLD_immr),				\
   5566   1.1  christos       "the right rotate amount")					\
   5567   1.1  christos     Y(IMMEDIATE, imm, "IMMS", 0, F(FLD_imm6),				\
   5568   1.8  christos       "the leftmost bit number to be moved from the source")		\
   5569   1.8  christos     Y(IMMEDIATE, imm, "WIDTH", 0, F(FLD_imm6),				\
   5570   1.1  christos       "the width of the bit-field")					\
   5571   1.1  christos     Y(IMMEDIATE, imm, "IMM", 0, F(FLD_imm6), "an immediate")            \
   5572   1.1  christos     Y(IMMEDIATE, imm, "IMM_2", 0, F(FLD_imm6_2), "an immediate")        \
   5573   1.1  christos     Y(IMMEDIATE, imm, "UIMM3_OP1", 0, F(FLD_op1),			\
   5574   1.1  christos       "a 3-bit unsigned immediate")					\
   5575   1.1  christos     Y(IMMEDIATE, imm, "UIMM3_OP2", 0, F(FLD_op2),			\
   5576   1.8  christos       "a 3-bit unsigned immediate")					\
   5577   1.8  christos     Y(IMMEDIATE, imm, "UIMM4", 0, F(FLD_CRm),				\
   5578   1.1  christos       "a 4-bit unsigned immediate")					\
   5579   1.1  christos     Y(IMMEDIATE, imm, "UIMM4_ADDG", 0, F(FLD_imm4_3),			\
   5580   1.8  christos       "a 4-bit unsigned Logical Address Tag modifier")			\
   5581   1.8  christos     Y(IMMEDIATE, imm, "UIMM7", 0, F(FLD_CRm, FLD_op2),			\
   5582   1.1  christos       "a 7-bit unsigned immediate")					\
   5583   1.1  christos     Y(IMMEDIATE, imm, "UIMM10", OPD_F_SHIFT_BY_4, F(FLD_immr),		\
   5584   1.1  christos       "a 10-bit unsigned multiple of 16")				\
   5585   1.1  christos     Y(IMMEDIATE, imm, "BIT_NUM", 0, F(FLD_b5, FLD_b40),			\
   5586   1.9  christos       "the bit number to be tested")					\
   5587   1.9  christos     Y(IMMEDIATE, imm, "EXCEPTION", 0, F(FLD_imm16),			\
   5588   1.1  christos       "a 16-bit unsigned immediate")					\
   5589   1.1  christos     Y(IMMEDIATE, imm, "UNDEFINED", 0, F(FLD_imm16_2),			\
   5590   1.7  christos       "a 16-bit unsigned immediate")					\
   5591   1.7  christos     Y(IMMEDIATE, imm, "CCMP_IMM", 0, F(FLD_imm5),			\
   5592   1.1  christos       "a 5-bit unsigned immediate")					\
   5593   1.1  christos     Y(IMMEDIATE, imm, "SIMM5", OPD_F_SEXT, F(FLD_imm5),			\
   5594   1.1  christos       "a 5-bit signed immediate")					\
   5595   1.1  christos     Y(IMMEDIATE, imm, "NZCV", 0, F(FLD_nzcv),				\
   5596   1.1  christos       "a flag bit specifier giving an alternative value for each flag")	\
   5597   1.1  christos     Y(IMMEDIATE, limm, "LIMM", 0, F(FLD_N,FLD_immr,FLD_imms),		\
   5598   1.1  christos       "Logical immediate")						\
   5599   1.1  christos     Y(IMMEDIATE, aimm, "AIMM", 0, F(FLD_shift,FLD_imm12),		\
   5600   1.1  christos       "a 12-bit unsigned immediate with optional left shift of 12 bits")\
   5601   1.1  christos     Y(IMMEDIATE, imm_half, "HALF", 0, F(FLD_imm16),			\
   5602   1.1  christos       "a 16-bit immediate with optional left shift")			\
   5603   1.7  christos     Y(IMMEDIATE, fbits, "FBITS", 0, F(FLD_scale),			\
   5604   1.7  christos       "the number of bits after the binary point in the fixed-point value")\
   5605   1.7  christos     X(IMMEDIATE, 0, 0, "IMM_MOV", 0, F(), "an immediate")		\
   5606   1.7  christos     Y(IMMEDIATE, imm_rotate2, "IMM_ROT1", 0, F(FLD_rotate1),		\
   5607   1.7  christos       "a 2-bit rotation specifier for complex arithmetic operations")	\
   5608   1.7  christos     Y(IMMEDIATE, imm_rotate2, "IMM_ROT2", 0, F(FLD_rotate2),		\
   5609   1.1  christos       "a 2-bit rotation specifier for complex arithmetic operations")	\
   5610   1.1  christos     Y(IMMEDIATE, imm_rotate1, "IMM_ROT3", 0, F(FLD_rotate3),		\
   5611   1.1  christos       "a 1-bit rotation specifier for complex arithmetic operations")	\
   5612   1.1  christos     Y(COND, cond, "COND", 0, F(), "a condition")			\
   5613   1.1  christos     Y(COND, cond, "COND1", 0, F(),					\
   5614   1.1  christos       "one of the standard conditions, excluding AL and NV.")		\
   5615   1.1  christos     X(ADDRESS, 0, ext_imm, "ADDR_ADRP", OPD_F_SEXT, F(FLD_immhi, FLD_immlo),\
   5616   1.1  christos       "21-bit PC-relative address of a 4KB page")			\
   5617   1.1  christos     Y(ADDRESS, imm, "ADDR_PCREL14", OPD_F_SEXT | OPD_F_SHIFT_BY_2,	\
   5618   1.1  christos       F(FLD_imm14), "14-bit PC-relative address")			\
   5619   1.1  christos     Y(ADDRESS, imm, "ADDR_PCREL19", OPD_F_SEXT | OPD_F_SHIFT_BY_2,	\
   5620   1.1  christos       F(FLD_imm19), "19-bit PC-relative address")			\
   5621   1.1  christos     Y(ADDRESS, imm, "ADDR_PCREL21", OPD_F_SEXT, F(FLD_immhi,FLD_immlo),	\
   5622   1.1  christos       "21-bit PC-relative address")					\
   5623   1.1  christos     Y(ADDRESS, imm, "ADDR_PCREL26", OPD_F_SEXT | OPD_F_SHIFT_BY_2,	\
   5624   1.1  christos       F(FLD_imm26), "26-bit PC-relative address")			\
   5625   1.1  christos     Y(ADDRESS, addr_simple, "ADDR_SIMPLE", 0, F(),			\
   5626   1.1  christos       "an address with base register (no offset)")			\
   5627   1.1  christos     Y(ADDRESS, addr_regoff, "ADDR_REGOFF", 0, F(),			\
   5628   1.1  christos       "an address with register offset")				\
   5629   1.1  christos     Y(ADDRESS, addr_simm, "ADDR_SIMM7", 0, F(FLD_imm7,FLD_index2),	\
   5630   1.1  christos       "an address with 7-bit signed immediate offset")			\
   5631   1.1  christos     Y(ADDRESS, addr_simm, "ADDR_SIMM9", 0, F(FLD_imm9,FLD_index),	\
   5632   1.7  christos       "an address with 9-bit signed immediate offset")			\
   5633   1.9  christos     Y(ADDRESS, addr_simm, "ADDR_SIMM9_2", 0, F(FLD_imm9,FLD_index),	\
   5634   1.8  christos       "an address with 9-bit negative or unaligned immediate offset")	\
   5635   1.8  christos     Y(ADDRESS, addr_simm10, "ADDR_SIMM10", 0, F(FLD_Rn,FLD_S_imm10,FLD_imm9,FLD_index),\
   5636   1.1  christos       "an address with an optional 10-bit scaled, signed immediate offset")		\
   5637   1.1  christos     Y(ADDRESS, addr_simm, "ADDR_SIMM11", 0, F(FLD_imm7,FLD_index2),\
   5638   1.8  christos       "an address with 11-bit signed immediate (multiple of 16) offset")\
   5639   1.8  christos     Y(ADDRESS, addr_uimm12, "ADDR_UIMM12", 0, F(FLD_Rn,FLD_imm12),	\
   5640   1.1  christos       "an address with scaled, unsigned immediate offset")		\
   5641   1.1  christos     Y(ADDRESS, addr_simm, "ADDR_SIMM13", 0, F(FLD_imm9,FLD_index),\
   5642   1.8  christos       "an address with 13-bit signed immediate (multiple of 16) offset")\
   5643   1.8  christos     Y(ADDRESS, addr_simple, "SIMD_ADDR_SIMPLE", 0, F(),			\
   5644   1.1  christos       "an address with base register (no offset)")			\
   5645   1.1  christos     Y(ADDRESS, addr_offset, "ADDR_OFFSET", 0, F(FLD_Rn,FLD_imm9,FLD_index),\
   5646   1.1  christos       "an address with an optional 8-bit signed immediate offset")	\
   5647   1.1  christos     Y(ADDRESS, simd_addr_post, "SIMD_ADDR_POST", 0, F(),		\
   5648   1.1  christos       "a post-indexed address with immediate or register increment")	\
   5649   1.1  christos     Y(SYSTEM, sysreg, "SYSREG", 0, F(), "a system register")		\
   5650   1.1  christos     Y(SYSTEM, pstatefield, "PSTATEFIELD", 0, F(),			\
   5651   1.1  christos       "a PSTATE field name")						\
   5652   1.1  christos     Y(SYSTEM, sysins_op, "SYSREG_AT", 0, F(),				\
   5653   1.1  christos       "an address translation operation specifier")			\
   5654   1.6  christos     Y(SYSTEM, sysins_op, "SYSREG_DC", 0, F(),				\
   5655   1.1  christos       "a data cache maintenance operation specifier")			\
   5656   1.1  christos     Y(SYSTEM, sysins_op, "SYSREG_IC", 0, F(),				\
   5657   1.8  christos       "an instruction cache maintenance operation specifier")		\
   5658   1.8  christos     Y(SYSTEM, sysins_op, "SYSREG_TLBI", 0, F(),				\
   5659   1.1  christos       "a TBL invalidation operation specifier")				\
   5660   1.1  christos     Y(SYSTEM, sysins_op, "SYSREG_SR", 0, F(),				\
   5661  1.10  christos       "a Speculation Restriction option name (RCTX)")			\
   5662  1.10  christos     Y(SYSTEM, barrier, "BARRIER", 0, F(),				\
   5663   1.1  christos       "a barrier option name")						\
   5664   1.1  christos     Y(SYSTEM, barrier_dsb_nxs, "BARRIER_DSB_NXS", 0, F(),				\
   5665   1.1  christos       "the DSB nXS option qualifier name SY, ISH, NSH, OSH or an optional 5-bit unsigned immediate")	\
   5666   1.6  christos     Y(SYSTEM, barrier, "BARRIER_ISB", 0, F(),				\
   5667   1.9  christos       "the ISB option name SY or an optional 4-bit unsigned immediate")	\
   5668   1.9  christos     Y(SYSTEM, prfop, "PRFOP", 0, F(),					\
   5669   1.8  christos       "a prefetch operation specifier")					\
   5670   1.8  christos     Y(SYSTEM, none, "BARRIER_PSB", 0, F (),				\
   5671   1.7  christos       "the PSB/TSB option name CSYNC")					\
   5672   1.7  christos     Y(SYSTEM, hint, "BTI", 0, F (),					\
   5673   1.7  christos       "BTI targets j/c/jc")						\
   5674   1.9  christos     Y(ADDRESS, sve_addr_ri_s4, "SVE_ADDR_RI_S4x16",			\
   5675   1.9  christos       4 << OPD_F_OD_LSB, F(FLD_Rn),					\
   5676   1.9  christos       "an address with a 4-bit signed offset, multiplied by 16")	\
   5677   1.7  christos     Y(ADDRESS, sve_addr_ri_s4, "SVE_ADDR_RI_S4x32",			\
   5678   1.7  christos       5 << OPD_F_OD_LSB, F(FLD_Rn),					\
   5679   1.7  christos       "an address with a 4-bit signed offset, multiplied by 32")	\
   5680   1.7  christos     Y(ADDRESS, sve_addr_ri_s4xvl, "SVE_ADDR_RI_S4xVL",			\
   5681   1.7  christos       0 << OPD_F_OD_LSB, F(FLD_Rn),					\
   5682   1.7  christos       "an address with a 4-bit signed offset, multiplied by VL")	\
   5683   1.7  christos     Y(ADDRESS, sve_addr_ri_s4xvl, "SVE_ADDR_RI_S4x2xVL",		\
   5684   1.7  christos       1 << OPD_F_OD_LSB, F(FLD_Rn),					\
   5685   1.7  christos       "an address with a 4-bit signed offset, multiplied by 2*VL")	\
   5686   1.7  christos     Y(ADDRESS, sve_addr_ri_s4xvl, "SVE_ADDR_RI_S4x3xVL",		\
   5687   1.7  christos       2 << OPD_F_OD_LSB, F(FLD_Rn),					\
   5688   1.7  christos       "an address with a 4-bit signed offset, multiplied by 3*VL")	\
   5689   1.7  christos     Y(ADDRESS, sve_addr_ri_s4xvl, "SVE_ADDR_RI_S4x4xVL",		\
   5690   1.7  christos       3 << OPD_F_OD_LSB, F(FLD_Rn),					\
   5691   1.7  christos       "an address with a 4-bit signed offset, multiplied by 4*VL")	\
   5692   1.7  christos     Y(ADDRESS, sve_addr_ri_s6xvl, "SVE_ADDR_RI_S6xVL",			\
   5693   1.7  christos       0 << OPD_F_OD_LSB, F(FLD_Rn),					\
   5694   1.7  christos       "an address with a 6-bit signed offset, multiplied by VL")	\
   5695   1.7  christos     Y(ADDRESS, sve_addr_ri_s9xvl, "SVE_ADDR_RI_S9xVL",			\
   5696   1.7  christos       0 << OPD_F_OD_LSB, F(FLD_Rn),					\
   5697   1.7  christos       "an address with a 9-bit signed offset, multiplied by VL")	\
   5698   1.7  christos     Y(ADDRESS, sve_addr_ri_u6, "SVE_ADDR_RI_U6", 0 << OPD_F_OD_LSB,	\
   5699   1.7  christos       F(FLD_Rn), "an address with a 6-bit unsigned offset")		\
   5700   1.7  christos     Y(ADDRESS, sve_addr_ri_u6, "SVE_ADDR_RI_U6x2", 1 << OPD_F_OD_LSB,	\
   5701   1.7  christos       F(FLD_Rn),							\
   5702   1.7  christos       "an address with a 6-bit unsigned offset, multiplied by 2")	\
   5703   1.7  christos     Y(ADDRESS, sve_addr_ri_u6, "SVE_ADDR_RI_U6x4", 2 << OPD_F_OD_LSB,	\
   5704   1.7  christos       F(FLD_Rn),							\
   5705   1.7  christos       "an address with a 6-bit unsigned offset, multiplied by 4")	\
   5706   1.8  christos     Y(ADDRESS, sve_addr_ri_u6, "SVE_ADDR_RI_U6x8", 3 << OPD_F_OD_LSB,	\
   5707   1.8  christos       F(FLD_Rn),							\
   5708   1.7  christos       "an address with a 6-bit unsigned offset, multiplied by 8")	\
   5709   1.7  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_R", 0 << OPD_F_OD_LSB,	\
   5710   1.7  christos       F(FLD_Rn,FLD_Rm), "an address with an optional scalar register offset")	\
   5711   1.7  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR", 0 << OPD_F_OD_LSB,	\
   5712   1.7  christos       F(FLD_Rn,FLD_Rm), "an address with a scalar register offset")	\
   5713   1.7  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR_LSL1", 1 << OPD_F_OD_LSB,	\
   5714   1.7  christos       F(FLD_Rn,FLD_Rm), "an address with a scalar register offset")	\
   5715   1.7  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR_LSL2", 2 << OPD_F_OD_LSB,	\
   5716  1.10  christos       F(FLD_Rn,FLD_Rm), "an address with a scalar register offset")	\
   5717  1.10  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR_LSL3", 3 << OPD_F_OD_LSB,	\
   5718   1.7  christos       F(FLD_Rn,FLD_Rm), "an address with a scalar register offset")	\
   5719   1.7  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR_LSL4", 4 << OPD_F_OD_LSB,	\
   5720   1.7  christos       F(FLD_Rn,FLD_Rm), "an address with a scalar register offset")	\
   5721   1.7  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RX",				\
   5722   1.7  christos       (0 << OPD_F_OD_LSB) | OPD_F_NO_ZR, F(FLD_Rn,FLD_Rm),		\
   5723   1.7  christos       "an address with a scalar register offset")			\
   5724   1.7  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RX_LSL1",			\
   5725   1.7  christos       (1 << OPD_F_OD_LSB) | OPD_F_NO_ZR, F(FLD_Rn,FLD_Rm),		\
   5726   1.7  christos       "an address with a scalar register offset")			\
   5727   1.7  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RX_LSL2",			\
   5728   1.7  christos       (2 << OPD_F_OD_LSB) | OPD_F_NO_ZR, F(FLD_Rn,FLD_Rm),		\
   5729   1.7  christos       "an address with a scalar register offset")			\
   5730   1.9  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RX_LSL3",			\
   5731   1.9  christos       (3 << OPD_F_OD_LSB) | OPD_F_NO_ZR, F(FLD_Rn,FLD_Rm),		\
   5732   1.9  christos       "an address with a scalar register offset")			\
   5733   1.7  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_ZX",				\
   5734   1.7  christos       0 << OPD_F_OD_LSB , F(FLD_SVE_Zn,FLD_Rm),				\
   5735   1.7  christos       "vector of address with a scalar register offset")		\
   5736   1.7  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RZ", 0 << OPD_F_OD_LSB,	\
   5737   1.7  christos       F(FLD_Rn,FLD_SVE_Zm_16),						\
   5738   1.7  christos       "an address with a vector register offset")			\
   5739   1.7  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RZ_LSL1", 1 << OPD_F_OD_LSB,	\
   5740   1.7  christos       F(FLD_Rn,FLD_SVE_Zm_16),						\
   5741   1.7  christos       "an address with a vector register offset")			\
   5742   1.7  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RZ_LSL2", 2 << OPD_F_OD_LSB,	\
   5743   1.7  christos       F(FLD_Rn,FLD_SVE_Zm_16),						\
   5744   1.7  christos       "an address with a vector register offset")			\
   5745   1.7  christos     Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RZ_LSL3", 3 << OPD_F_OD_LSB,	\
   5746   1.7  christos       F(FLD_Rn,FLD_SVE_Zm_16),						\
   5747   1.7  christos       "an address with a vector register offset")			\
   5748   1.7  christos     Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW_14",			\
   5749   1.7  christos       0 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_14),		\
   5750   1.7  christos       "an address with a vector register offset")			\
   5751   1.7  christos     Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW_22",			\
   5752   1.7  christos       0 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_22),		\
   5753   1.7  christos       "an address with a vector register offset")			\
   5754   1.7  christos     Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW1_14",			\
   5755   1.7  christos       1 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_14),		\
   5756   1.7  christos       "an address with a vector register offset")			\
   5757   1.7  christos     Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW1_22",			\
   5758   1.7  christos       1 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_22),		\
   5759   1.7  christos       "an address with a vector register offset")			\
   5760   1.7  christos     Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW2_14",			\
   5761   1.7  christos       2 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_14),		\
   5762   1.7  christos       "an address with a vector register offset")			\
   5763   1.7  christos     Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW2_22",			\
   5764   1.7  christos       2 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_22),		\
   5765   1.7  christos       "an address with a vector register offset")			\
   5766   1.7  christos     Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW3_14",			\
   5767   1.7  christos       3 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_14),		\
   5768   1.7  christos       "an address with a vector register offset")			\
   5769   1.7  christos     Y(ADDRESS, sve_addr_rz_xtw, "SVE_ADDR_RZ_XTW3_22",			\
   5770   1.7  christos       3 << OPD_F_OD_LSB, F(FLD_Rn,FLD_SVE_Zm_16,FLD_SVE_xs_22),		\
   5771   1.7  christos       "an address with a vector register offset")			\
   5772   1.7  christos     Y(ADDRESS, sve_addr_zi_u5, "SVE_ADDR_ZI_U5", 0 << OPD_F_OD_LSB,	\
   5773   1.7  christos       F(FLD_SVE_Zn), "an address with a 5-bit unsigned offset")		\
   5774   1.7  christos     Y(ADDRESS, sve_addr_zi_u5, "SVE_ADDR_ZI_U5x2", 1 << OPD_F_OD_LSB,	\
   5775   1.7  christos       F(FLD_SVE_Zn),							\
   5776   1.7  christos       "an address with a 5-bit unsigned offset, multiplied by 2")	\
   5777   1.7  christos     Y(ADDRESS, sve_addr_zi_u5, "SVE_ADDR_ZI_U5x4", 2 << OPD_F_OD_LSB,	\
   5778   1.7  christos       F(FLD_SVE_Zn),							\
   5779   1.7  christos       "an address with a 5-bit unsigned offset, multiplied by 4")	\
   5780   1.7  christos     Y(ADDRESS, sve_addr_zi_u5, "SVE_ADDR_ZI_U5x8", 3 << OPD_F_OD_LSB,	\
   5781   1.7  christos       F(FLD_SVE_Zn),							\
   5782   1.7  christos       "an address with a 5-bit unsigned offset, multiplied by 8")	\
   5783   1.7  christos     Y(ADDRESS, sve_addr_zz_lsl, "SVE_ADDR_ZZ_LSL", 0,			\
   5784   1.7  christos       F(FLD_SVE_Zn,FLD_SVE_Zm_16),					\
   5785   1.7  christos       "an address with a vector register offset")			\
   5786   1.7  christos     Y(ADDRESS, sve_addr_zz_sxtw, "SVE_ADDR_ZZ_SXTW", 0,			\
   5787   1.7  christos       F(FLD_SVE_Zn,FLD_SVE_Zm_16),					\
   5788   1.7  christos       "an address with a vector register offset")			\
   5789   1.7  christos     Y(ADDRESS, sve_addr_zz_uxtw, "SVE_ADDR_ZZ_UXTW", 0,			\
   5790   1.7  christos       F(FLD_SVE_Zn,FLD_SVE_Zm_16),					\
   5791   1.7  christos       "an address with a vector register offset")			\
   5792   1.7  christos     Y(IMMEDIATE, sve_aimm, "SVE_AIMM", 0, F(FLD_SVE_imm9),		\
   5793   1.7  christos       "a 9-bit unsigned arithmetic operand")				\
   5794   1.7  christos     Y(IMMEDIATE, sve_asimm, "SVE_ASIMM", 0, F(FLD_SVE_imm9),		\
   5795   1.7  christos       "a 9-bit signed arithmetic operand")				\
   5796   1.7  christos     Y(IMMEDIATE, fpimm, "SVE_FPIMM8", 0, F(FLD_SVE_imm8),		\
   5797   1.7  christos       "an 8-bit floating-point immediate")				\
   5798   1.7  christos     Y(IMMEDIATE, sve_float_half_one, "SVE_I1_HALF_ONE", 0,		\
   5799   1.7  christos       F(FLD_SVE_i1), "either 0.5 or 1.0")				\
   5800   1.7  christos     Y(IMMEDIATE, sve_float_half_two, "SVE_I1_HALF_TWO", 0,		\
   5801   1.7  christos       F(FLD_SVE_i1), "either 0.5 or 2.0")				\
   5802   1.7  christos     Y(IMMEDIATE, sve_float_zero_one, "SVE_I1_ZERO_ONE", 0,		\
   5803   1.7  christos       F(FLD_SVE_i1), "either 0.0 or 1.0")				\
   5804   1.7  christos     Y(IMMEDIATE, imm_rotate1, "SVE_IMM_ROT1", 0, F(FLD_SVE_rot1),	\
   5805   1.9  christos       "a 1-bit rotation specifier for complex arithmetic operations")	\
   5806   1.9  christos     Y(IMMEDIATE, imm_rotate2, "SVE_IMM_ROT2", 0, F(FLD_SVE_rot2),	\
   5807   1.7  christos       "a 2-bit rotation specifier for complex arithmetic operations")	\
   5808   1.7  christos     Y(IMMEDIATE, imm_rotate1, "SVE_IMM_ROT3", 0, F(FLD_SVE_rot3),	\
   5809   1.7  christos       "a 1-bit rotation specifier for complex arithmetic operations")	\
   5810   1.7  christos     Y(IMMEDIATE, inv_limm, "SVE_INV_LIMM", 0,				\
   5811   1.7  christos       F(FLD_SVE_N,FLD_SVE_immr,FLD_SVE_imms),				\
   5812   1.7  christos       "an inverted 13-bit logical immediate")				\
   5813   1.7  christos     Y(IMMEDIATE, limm, "SVE_LIMM", 0,					\
   5814   1.7  christos       F(FLD_SVE_N,FLD_SVE_immr,FLD_SVE_imms),				\
   5815   1.7  christos       "a 13-bit logical immediate")					\
   5816   1.7  christos     Y(IMMEDIATE, sve_limm_mov, "SVE_LIMM_MOV", 0,			\
   5817   1.7  christos       F(FLD_SVE_N,FLD_SVE_immr,FLD_SVE_imms),				\
   5818   1.7  christos       "a 13-bit logical move immediate")				\
   5819   1.7  christos     Y(IMMEDIATE, imm, "SVE_PATTERN", 0, F(FLD_SVE_pattern),		\
   5820   1.7  christos       "an enumeration value such as POW2")				\
   5821   1.7  christos     Y(IMMEDIATE, sve_scale, "SVE_PATTERN_SCALED", 0,			\
   5822   1.7  christos       F(FLD_SVE_pattern), "an enumeration value such as POW2")		\
   5823   1.7  christos     Y(IMMEDIATE, imm, "SVE_PRFOP", 0, F(FLD_SVE_prfop),			\
   5824   1.7  christos       "an enumeration value such as PLDL1KEEP")				\
   5825   1.7  christos     Y(PRED_REG, regno, "SVE_Pd", 0, F(FLD_SVE_Pd),			\
   5826   1.7  christos       "an SVE predicate register")					\
   5827   1.7  christos     Y(PRED_REG, regno, "SVE_Pg3", 0, F(FLD_SVE_Pg3),			\
   5828   1.7  christos       "an SVE predicate register")					\
   5829   1.7  christos     Y(PRED_REG, regno, "SVE_Pg4_5", 0, F(FLD_SVE_Pg4_5),		\
   5830   1.7  christos       "an SVE predicate register")					\
   5831   1.7  christos     Y(PRED_REG, regno, "SVE_Pg4_10", 0, F(FLD_SVE_Pg4_10),		\
   5832   1.7  christos       "an SVE predicate register")					\
   5833   1.7  christos     Y(PRED_REG, regno, "SVE_Pg4_16", 0, F(FLD_SVE_Pg4_16),		\
   5834   1.7  christos       "an SVE predicate register")					\
   5835   1.7  christos     Y(PRED_REG, regno, "SVE_Pm", 0, F(FLD_SVE_Pm),			\
   5836   1.7  christos       "an SVE predicate register")					\
   5837   1.7  christos     Y(PRED_REG, regno, "SVE_Pn", 0, F(FLD_SVE_Pn),			\
   5838   1.7  christos       "an SVE predicate register")					\
   5839   1.7  christos     Y(PRED_REG, regno, "SVE_Pt", 0, F(FLD_SVE_Pt),			\
   5840   1.7  christos       "an SVE predicate register")					\
   5841   1.7  christos     Y(INT_REG, regno, "SVE_Rm", 0, F(FLD_SVE_Rm),			\
   5842   1.7  christos       "an integer register or zero")					\
   5843   1.7  christos     Y(INT_REG, regno, "SVE_Rn_SP", OPD_F_MAYBE_SP, F(FLD_SVE_Rn),	\
   5844   1.7  christos       "an integer register or SP")					\
   5845   1.7  christos     Y(IMMEDIATE, sve_shlimm, "SVE_SHLIMM_PRED", 0,			\
   5846   1.9  christos       F(FLD_SVE_tszh,FLD_SVE_imm5), "a shift-left immediate operand")	\
   5847   1.9  christos     Y(IMMEDIATE, sve_shlimm, "SVE_SHLIMM_UNPRED", 0,			\
   5848   1.9  christos       F(FLD_SVE_tszh,FLD_imm5), "a shift-left immediate operand")	\
   5849   1.9  christos     Y(IMMEDIATE, sve_shlimm, "SVE_SHLIMM_UNPRED_22", 0,			\
   5850   1.7  christos       F(FLD_SVE_sz, FLD_SVE_tszl_19, FLD_SVE_imm3),			\
   5851   1.9  christos       "a shift-left immediate operand")					\
   5852   1.7  christos     Y(IMMEDIATE, sve_shrimm, "SVE_SHRIMM_PRED", 1 << OPD_F_OD_LSB,	\
   5853   1.9  christos       F(FLD_SVE_tszh,FLD_SVE_imm5), "a shift-right immediate operand")	\
   5854   1.9  christos     Y(IMMEDIATE, sve_shrimm, "SVE_SHRIMM_UNPRED", 1 << OPD_F_OD_LSB,	\
   5855   1.9  christos       F(FLD_SVE_tszh,FLD_imm5), "a shift-right immediate operand")	\
   5856   1.7  christos     Y(IMMEDIATE, sve_shrimm, "SVE_SHRIMM_UNPRED_22", 2 << OPD_F_OD_LSB,	\
   5857   1.7  christos       F(FLD_SVE_sz, FLD_SVE_tszl_19, FLD_SVE_imm3),			\
   5858   1.7  christos       "a shift-right immediate operand")				\
   5859   1.7  christos     Y(IMMEDIATE, imm, "SVE_SIMM5", OPD_F_SEXT, F(FLD_SVE_imm5),		\
   5860   1.7  christos       "a 5-bit signed immediate")					\
   5861   1.7  christos     Y(IMMEDIATE, imm, "SVE_SIMM5B", OPD_F_SEXT, F(FLD_SVE_imm5b),	\
   5862   1.7  christos       "a 5-bit signed immediate")					\
   5863   1.7  christos     Y(IMMEDIATE, imm, "SVE_SIMM6", OPD_F_SEXT, F(FLD_SVE_imms),		\
   5864   1.7  christos       "a 6-bit signed immediate")					\
   5865   1.7  christos     Y(IMMEDIATE, imm, "SVE_SIMM8", OPD_F_SEXT, F(FLD_SVE_imm8),		\
   5866   1.7  christos       "an 8-bit signed immediate")					\
   5867   1.7  christos     Y(IMMEDIATE, imm, "SVE_UIMM3", 0, F(FLD_SVE_imm3),			\
   5868   1.7  christos       "a 3-bit unsigned immediate")					\
   5869   1.7  christos     Y(IMMEDIATE, imm, "SVE_UIMM7", 0, F(FLD_SVE_imm7),			\
   5870   1.7  christos       "a 7-bit unsigned immediate")					\
   5871   1.7  christos     Y(IMMEDIATE, imm, "SVE_UIMM8", 0, F(FLD_SVE_imm8),			\
   5872   1.7  christos       "an 8-bit unsigned immediate")					\
   5873   1.7  christos     Y(IMMEDIATE, imm, "SVE_UIMM8_53", 0, F(FLD_imm5,FLD_imm3),		\
   5874   1.7  christos       "an 8-bit unsigned immediate")					\
   5875   1.7  christos     Y(SIMD_REG, regno, "SVE_VZn", 0, F(FLD_SVE_Zn), "a SIMD register")	\
   5876   1.7  christos     Y(SIMD_REG, regno, "SVE_Vd", 0, F(FLD_SVE_Vd), "a SIMD register")	\
   5877   1.7  christos     Y(SIMD_REG, regno, "SVE_Vm", 0, F(FLD_SVE_Vm), "a SIMD register")	\
   5878   1.7  christos     Y(SIMD_REG, regno, "SVE_Vn", 0, F(FLD_SVE_Vn), "a SIMD register")	\
   5879   1.7  christos     Y(SVE_REG, regno, "SVE_Za_5", 0, F(FLD_SVE_Za_5),			\
   5880   1.7  christos       "an SVE vector register")						\
   5881   1.7  christos     Y(SVE_REG, regno, "SVE_Za_16", 0, F(FLD_SVE_Za_16),			\
   5882   1.7  christos       "an SVE vector register")						\
   5883   1.7  christos     Y(SVE_REG, regno, "SVE_Zd", 0, F(FLD_SVE_Zd),			\
   5884   1.7  christos       "an SVE vector register")						\
   5885   1.7  christos     Y(SVE_REG, regno, "SVE_Zm_5", 0, F(FLD_SVE_Zm_5),			\
   5886   1.7  christos       "an SVE vector register")						\
   5887   1.7  christos     Y(SVE_REG, regno, "SVE_Zm_16", 0, F(FLD_SVE_Zm_16),			\
   5888   1.7  christos       "an SVE vector register")						\
   5889   1.7  christos     Y(SVE_REG, sve_quad_index, "SVE_Zm3_INDEX",				\
   5890   1.7  christos       3 << OPD_F_OD_LSB, F(FLD_SVE_Zm_16),				\
   5891   1.7  christos       "an indexed SVE vector register")					\
   5892   1.9  christos     Y(SVE_REG, sve_quad_index, "SVE_Zm3_22_INDEX", 			\
   5893   1.9  christos       3 << OPD_F_OD_LSB, F(FLD_SVE_i3h, FLD_SVE_Zm_16),			\
   5894   1.9  christos       "an indexed SVE vector register")					\
   5895   1.9  christos     Y(SVE_REG, sve_quad_index, "SVE_Zm3_11_INDEX", 			\
   5896   1.9  christos       3 << OPD_F_OD_LSB, F(FLD_SVE_i3h2, FLD_SVE_i3l, FLD_SVE_imm3),    \
   5897   1.9  christos       "an indexed SVE vector register")					\
   5898   1.7  christos     Y(SVE_REG, sve_quad_index, "SVE_Zm4_11_INDEX", 			\
   5899   1.7  christos       4 << OPD_F_OD_LSB, F(FLD_SVE_i2h, FLD_SVE_i3l, FLD_SVE_imm4),     \
   5900   1.7  christos       "an indexed SVE vector register")					\
   5901   1.7  christos     Y(SVE_REG, sve_quad_index, "SVE_Zm4_INDEX", 			\
   5902   1.7  christos       4 << OPD_F_OD_LSB, F(FLD_SVE_Zm_16),				\
   5903   1.7  christos       "an indexed SVE vector register")					\
   5904   1.7  christos     Y(SVE_REG, regno, "SVE_Zn", 0, F(FLD_SVE_Zn),			\
   5905   1.7  christos       "an SVE vector register")						\
   5906   1.7  christos     Y(SVE_REG, sve_index, "SVE_Zn_INDEX", 0, F(FLD_SVE_Zn),		\
   5907   1.7  christos       "an indexed SVE vector register")					\
   5908   1.7  christos     Y(SVE_REG, sve_reglist, "SVE_ZnxN", 0, F(FLD_SVE_Zn),		\
   5909   1.7  christos       "a list of SVE vector registers")					\
   5910   1.8  christos     Y(SVE_REG, regno, "SVE_Zt", 0, F(FLD_SVE_Zt),			\
   5911  1.10  christos       "an SVE vector register")						\
   5912  1.10  christos     Y(SVE_REG, sve_reglist, "SVE_ZtxN", 0, F(FLD_SVE_Zt),		\
   5913  1.10  christos       "a list of SVE vector registers")					\
   5914  1.10  christos     Y(SVE_REG, regno, "SME_ZAda_2b", 0, F(FLD_SME_ZAda_2b),		\
   5915  1.10  christos       "an SME ZA tile ZA0-ZA3")					\
   5916  1.10  christos     Y(SVE_REG, regno, "SME_ZAda_3b", 0, F(FLD_SME_ZAda_3b),		\
   5917  1.10  christos       "an SME ZA tile ZA0-ZA7")					\
   5918  1.10  christos     Y(SVE_REG, sme_za_hv_tiles, "SME_ZA_HV_idx_src", 0,				\
   5919  1.10  christos       F(FLD_SME_size_10,FLD_SME_Q,FLD_SME_V,FLD_SME_Rv,FLD_imm4_5),\
   5920  1.10  christos       "an SME horizontal or vertical vector access register")	\
   5921  1.10  christos     Y(SVE_REG, sme_za_hv_tiles, "SME_ZA_HV_idx_dest", 0,				\
   5922  1.10  christos       F(FLD_SME_size_10,FLD_SME_Q,FLD_SME_V,FLD_SME_Rv,FLD_imm4_2),\
   5923  1.10  christos       "an SME horizontal or vertical vector access register")	\
   5924  1.10  christos     Y(PRED_REG, regno, "SME_Pm", 0, F(FLD_SME_Pm),			\
   5925  1.10  christos       "an SVE predicate register")					\
   5926  1.10  christos     Y(SVE_REG, imm, "SME_list_of_64bit_tiles", 0,	\
   5927  1.10  christos       F(FLD_SME_zero_mask), "list of 64-bit ZA element tiles")					\
   5928  1.10  christos     Y(SVE_REG, sme_za_hv_tiles, "SME_ZA_HV_idx_ldstr", 0,				\
   5929  1.10  christos       F(FLD_SME_size_10,FLD_index2,FLD_SME_V,FLD_SME_Rv,FLD_imm4_2),	\
   5930  1.10  christos       "an SME horizontal or vertical vector access register")	\
   5931  1.10  christos     Y(SVE_REG, sme_za_array, "SME_ZA_array", 0,				\
   5932  1.10  christos       F(FLD_SME_Rv,FLD_imm4_2),	\
   5933  1.10  christos       "ZA array")	\
   5934  1.10  christos     Y(ADDRESS, sme_addr_ri_u4xvl, "SME_ADDR_RI_U4xVL", 0 << OPD_F_OD_LSB, \
   5935  1.10  christos       F(FLD_Rn,FLD_imm4_2),					\
   5936  1.10  christos       "memory offset")	\
   5937  1.10  christos     Y(ADDRESS, sme_sm_za, "SME_SM_ZA", 0, \
   5938  1.10  christos       F(FLD_CRm),					\
   5939  1.10  christos       "streaming mode")	\
   5940   1.9  christos     Y(SVE_REG, sme_pred_reg_with_index, "SME_PnT_Wm_imm", 0,			\
   5941   1.9  christos       F(FLD_SME_Rm,FLD_SVE_Pn,FLD_SME_i1,FLD_SME_tszh,FLD_SME_tszl),	\
   5942   1.8  christos       "Source scalable predicate register with index ")	\
   5943  1.10  christos     Y(IMMEDIATE, imm, "TME_UIMM16", 0, F(FLD_imm16),			\
   5944  1.10  christos       "a 16-bit unsigned immediate for TME tcancel")			\
   5945  1.10  christos     Y(SIMD_ELEMENT, reglane, "SM3_IMM2", 0, F(FLD_SM3_imm2),		\
   5946  1.10  christos       "an indexed SM3 vector immediate")				\
   5947  1.10  christos     /* These next two are really register fields; the [...] notation	\
   5948  1.10  christos        is just syntactic sugar.  */					\
   5949  1.10  christos     Y(INT_REG, x0_to_x30, "MOPS_ADDR_Rd", 0, F(FLD_Rd),			\
   5950  1.10  christos       "a register destination address with writeback")			\
   5951  1.10  christos     Y(INT_REG, x0_to_x30, "MOPS_ADDR_Rs", 0, F(FLD_Rs),			\
   5952  1.10  christos       "a register source address with writeback")			\
   5953  1.10  christos     Y(INT_REG, x0_to_x30, "MOPS_WB_Rd", 0, F(FLD_Rn),			\
   5954  1.10  christos       "an integer register with writeback")				\
   5955  1.10  christos     Y(IMMEDIATE, imm, "CSSC_SIMM8", OPD_F_SEXT, F(FLD_CSSC_imm8),	\
   5956                       "an 8-bit signed immediate")					\
   5957                     Y(IMMEDIATE, imm, "CSSC_UIMM8", 0, F(FLD_CSSC_imm8),		\
   5958                       "an 8-bit unsigned immediate")
   5959