Home | History | Annotate | Line # | Download | only in opcodes
i386-dis-evex.h revision 1.11
      1   1.1  christos static const struct dis386 evex_table[][256] = {
      2   1.1  christos   /* EVEX_0F */
      3   1.1  christos   {
      4   1.1  christos     /* 00 */
      5   1.1  christos     { Bad_Opcode },
      6   1.1  christos     { Bad_Opcode },
      7   1.1  christos     { Bad_Opcode },
      8   1.1  christos     { Bad_Opcode },
      9   1.1  christos     { Bad_Opcode },
     10   1.1  christos     { Bad_Opcode },
     11   1.1  christos     { Bad_Opcode },
     12   1.1  christos     { Bad_Opcode },
     13   1.1  christos     /* 08 */
     14   1.1  christos     { Bad_Opcode },
     15   1.1  christos     { Bad_Opcode },
     16   1.1  christos     { Bad_Opcode },
     17   1.1  christos     { Bad_Opcode },
     18   1.1  christos     { Bad_Opcode },
     19   1.1  christos     { Bad_Opcode },
     20   1.1  christos     { Bad_Opcode },
     21   1.1  christos     { Bad_Opcode },
     22   1.1  christos     /* 10 */
     23  1.11  christos     { PREFIX_TABLE (PREFIX_0F10) },
     24  1.11  christos     { PREFIX_TABLE (PREFIX_0F11) },
     25  1.10  christos     { PREFIX_TABLE (PREFIX_VEX_0F12) },
     26  1.11  christos     { VEX_LEN_TABLE (VEX_LEN_0F13) },
     27  1.10  christos     { "%XEvunpcklpX",	{ XM, Vex, EXx }, PREFIX_OPCODE },
     28  1.10  christos     { "%XEvunpckhpX",	{ XM, Vex, EXx }, PREFIX_OPCODE },
     29  1.10  christos     { PREFIX_TABLE (PREFIX_VEX_0F16) },
     30  1.11  christos     { VEX_LEN_TABLE (VEX_LEN_0F17) },
     31   1.1  christos     /* 18 */
     32   1.1  christos     { Bad_Opcode },
     33   1.1  christos     { Bad_Opcode },
     34   1.1  christos     { Bad_Opcode },
     35   1.1  christos     { Bad_Opcode },
     36   1.1  christos     { Bad_Opcode },
     37   1.1  christos     { Bad_Opcode },
     38   1.1  christos     { Bad_Opcode },
     39   1.1  christos     { Bad_Opcode },
     40   1.1  christos     /* 20 */
     41   1.1  christos     { Bad_Opcode },
     42   1.1  christos     { Bad_Opcode },
     43   1.1  christos     { Bad_Opcode },
     44   1.1  christos     { Bad_Opcode },
     45   1.1  christos     { Bad_Opcode },
     46   1.1  christos     { Bad_Opcode },
     47   1.1  christos     { Bad_Opcode },
     48   1.1  christos     { Bad_Opcode },
     49   1.1  christos     /* 28 */
     50  1.10  christos     { "%XEvmovapX",	{ XM, EXx }, PREFIX_OPCODE },
     51  1.10  christos     { "%XEvmovapX",	{ EXxS, XM }, PREFIX_OPCODE },
     52  1.10  christos     { PREFIX_TABLE (PREFIX_VEX_0F2A) },
     53  1.11  christos     { "%XEvmovntpX",	{ Mx, XM }, PREFIX_OPCODE },
     54   1.9  christos     { PREFIX_TABLE (PREFIX_VEX_0F2C) },
     55   1.9  christos     { PREFIX_TABLE (PREFIX_VEX_0F2D) },
     56  1.11  christos     { PREFIX_TABLE (PREFIX_0F2E) },
     57  1.11  christos     { PREFIX_TABLE (PREFIX_0F2F) },
     58   1.1  christos     /* 30 */
     59   1.1  christos     { Bad_Opcode },
     60   1.1  christos     { Bad_Opcode },
     61   1.1  christos     { Bad_Opcode },
     62   1.1  christos     { Bad_Opcode },
     63   1.1  christos     { Bad_Opcode },
     64   1.1  christos     { Bad_Opcode },
     65   1.1  christos     { Bad_Opcode },
     66   1.1  christos     { Bad_Opcode },
     67   1.1  christos     /* 38 */
     68   1.1  christos     { Bad_Opcode },
     69   1.1  christos     { Bad_Opcode },
     70   1.1  christos     { Bad_Opcode },
     71   1.1  christos     { Bad_Opcode },
     72   1.1  christos     { Bad_Opcode },
     73   1.1  christos     { Bad_Opcode },
     74   1.1  christos     { Bad_Opcode },
     75   1.1  christos     { Bad_Opcode },
     76   1.1  christos     /* 40 */
     77   1.1  christos     { Bad_Opcode },
     78   1.1  christos     { Bad_Opcode },
     79   1.1  christos     { Bad_Opcode },
     80   1.1  christos     { Bad_Opcode },
     81   1.1  christos     { Bad_Opcode },
     82   1.1  christos     { Bad_Opcode },
     83   1.1  christos     { Bad_Opcode },
     84   1.1  christos     { Bad_Opcode },
     85   1.1  christos     /* 48 */
     86   1.1  christos     { Bad_Opcode },
     87   1.1  christos     { Bad_Opcode },
     88   1.1  christos     { Bad_Opcode },
     89   1.1  christos     { Bad_Opcode },
     90   1.1  christos     { Bad_Opcode },
     91   1.1  christos     { Bad_Opcode },
     92   1.1  christos     { Bad_Opcode },
     93   1.1  christos     { Bad_Opcode },
     94   1.1  christos     /* 50 */
     95   1.1  christos     { Bad_Opcode },
     96  1.11  christos     { PREFIX_TABLE (PREFIX_0F51) },
     97   1.1  christos     { Bad_Opcode },
     98   1.1  christos     { Bad_Opcode },
     99  1.10  christos     { "%XEvandpX",	{ XM, Vex, EXx }, PREFIX_OPCODE },
    100  1.10  christos     { "%XEvandnpX",	{ XM, Vex, EXx }, PREFIX_OPCODE },
    101  1.10  christos     { "%XEvorpX",	{ XM, Vex, EXx }, PREFIX_OPCODE },
    102  1.10  christos     { "%XEvxorpX",	{ XM, Vex, EXx }, PREFIX_OPCODE },
    103   1.1  christos     /* 58 */
    104  1.11  christos     { PREFIX_TABLE (PREFIX_0F58) },
    105  1.11  christos     { PREFIX_TABLE (PREFIX_0F59) },
    106  1.11  christos     { PREFIX_TABLE (PREFIX_0F5A) },
    107   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F5B) },
    108  1.11  christos     { PREFIX_TABLE (PREFIX_0F5C) },
    109  1.11  christos     { PREFIX_TABLE (PREFIX_0F5D) },
    110  1.11  christos     { PREFIX_TABLE (PREFIX_0F5E) },
    111  1.11  christos     { PREFIX_TABLE (PREFIX_0F5F) },
    112   1.1  christos     /* 60 */
    113  1.10  christos     { "%XEvpunpcklbw",	{ XM, Vex, EXx }, PREFIX_DATA },
    114  1.10  christos     { "%XEvpunpcklwd",	{ XM, Vex, EXx }, PREFIX_DATA },
    115   1.9  christos     { VEX_W_TABLE (EVEX_W_0F62) },
    116  1.10  christos     { "%XEvpacksswb",	{ XM, Vex, EXx }, PREFIX_DATA },
    117  1.10  christos     { "vpcmpgtb",	{ MaskG, Vex, EXx }, PREFIX_DATA },
    118  1.10  christos     { "vpcmpgtw",	{ MaskG, Vex, EXx }, PREFIX_DATA },
    119   1.9  christos     { VEX_W_TABLE (EVEX_W_0F66) },
    120  1.10  christos     { "%XEvpackuswb",	{ XM, Vex, EXx }, PREFIX_DATA },
    121   1.1  christos     /* 68 */
    122  1.10  christos     { "%XEvpunpckhbw",	{ XM, Vex, EXx }, PREFIX_DATA },
    123  1.10  christos     { "%XEvpunpckhwd",	{ XM, Vex, EXx }, PREFIX_DATA },
    124   1.9  christos     { VEX_W_TABLE (EVEX_W_0F6A) },
    125   1.9  christos     { VEX_W_TABLE (EVEX_W_0F6B) },
    126   1.9  christos     { VEX_W_TABLE (EVEX_W_0F6C) },
    127   1.9  christos     { VEX_W_TABLE (EVEX_W_0F6D) },
    128  1.10  christos     { VEX_LEN_TABLE (VEX_LEN_0F6E) },
    129   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F6F) },
    130   1.1  christos     /* 70 */
    131   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F70) },
    132   1.3  christos     { REG_TABLE (REG_EVEX_0F71) },
    133   1.1  christos     { REG_TABLE (REG_EVEX_0F72) },
    134   1.1  christos     { REG_TABLE (REG_EVEX_0F73) },
    135  1.10  christos     { "vpcmpeqb",	{ MaskG, Vex, EXx }, PREFIX_DATA },
    136  1.10  christos     { "vpcmpeqw",	{ MaskG, Vex, EXx }, PREFIX_DATA },
    137   1.9  christos     { VEX_W_TABLE (EVEX_W_0F76) },
    138   1.1  christos     { Bad_Opcode },
    139   1.1  christos     /* 78 */
    140   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F78) },
    141   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F79) },
    142   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F7A) },
    143   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F7B) },
    144   1.1  christos     { Bad_Opcode },
    145   1.1  christos     { Bad_Opcode },
    146   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F7E) },
    147   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F7F) },
    148   1.1  christos     /* 80 */
    149   1.1  christos     { Bad_Opcode },
    150   1.1  christos     { Bad_Opcode },
    151   1.1  christos     { Bad_Opcode },
    152   1.1  christos     { Bad_Opcode },
    153   1.1  christos     { Bad_Opcode },
    154   1.1  christos     { Bad_Opcode },
    155   1.1  christos     { Bad_Opcode },
    156   1.1  christos     { Bad_Opcode },
    157   1.1  christos     /* 88 */
    158   1.1  christos     { Bad_Opcode },
    159   1.1  christos     { Bad_Opcode },
    160   1.1  christos     { Bad_Opcode },
    161   1.1  christos     { Bad_Opcode },
    162   1.1  christos     { Bad_Opcode },
    163   1.1  christos     { Bad_Opcode },
    164   1.1  christos     { Bad_Opcode },
    165   1.1  christos     { Bad_Opcode },
    166   1.1  christos     /* 90 */
    167  1.11  christos     { X86_64_EVEX_W_TABLE (VEX_W_0F90_L_0) },
    168  1.11  christos     { X86_64_EVEX_W_TABLE (VEX_W_0F91_L_0) },
    169  1.11  christos     { X86_64_EVEX_W_TABLE (VEX_W_0F92_L_0) },
    170  1.11  christos     { X86_64_EVEX_W_TABLE (VEX_W_0F93_L_0) },
    171   1.1  christos     { Bad_Opcode },
    172   1.1  christos     { Bad_Opcode },
    173   1.1  christos     { Bad_Opcode },
    174   1.1  christos     { Bad_Opcode },
    175   1.1  christos     /* 98 */
    176   1.1  christos     { Bad_Opcode },
    177   1.1  christos     { Bad_Opcode },
    178   1.1  christos     { Bad_Opcode },
    179   1.1  christos     { Bad_Opcode },
    180   1.1  christos     { Bad_Opcode },
    181   1.1  christos     { Bad_Opcode },
    182   1.1  christos     { Bad_Opcode },
    183   1.1  christos     { Bad_Opcode },
    184   1.1  christos     /* A0 */
    185   1.1  christos     { Bad_Opcode },
    186   1.1  christos     { Bad_Opcode },
    187   1.1  christos     { Bad_Opcode },
    188   1.1  christos     { Bad_Opcode },
    189   1.1  christos     { Bad_Opcode },
    190   1.1  christos     { Bad_Opcode },
    191   1.1  christos     { Bad_Opcode },
    192   1.1  christos     { Bad_Opcode },
    193   1.1  christos     /* A8 */
    194   1.1  christos     { Bad_Opcode },
    195   1.1  christos     { Bad_Opcode },
    196   1.1  christos     { Bad_Opcode },
    197   1.1  christos     { Bad_Opcode },
    198   1.1  christos     { Bad_Opcode },
    199   1.1  christos     { Bad_Opcode },
    200   1.1  christos     { Bad_Opcode },
    201   1.1  christos     { Bad_Opcode },
    202   1.1  christos     /* B0 */
    203   1.1  christos     { Bad_Opcode },
    204   1.1  christos     { Bad_Opcode },
    205   1.1  christos     { Bad_Opcode },
    206   1.1  christos     { Bad_Opcode },
    207   1.1  christos     { Bad_Opcode },
    208   1.1  christos     { Bad_Opcode },
    209   1.1  christos     { Bad_Opcode },
    210   1.1  christos     { Bad_Opcode },
    211   1.1  christos     /* B8 */
    212   1.1  christos     { Bad_Opcode },
    213   1.1  christos     { Bad_Opcode },
    214   1.1  christos     { Bad_Opcode },
    215   1.1  christos     { Bad_Opcode },
    216   1.1  christos     { Bad_Opcode },
    217   1.1  christos     { Bad_Opcode },
    218   1.1  christos     { Bad_Opcode },
    219   1.1  christos     { Bad_Opcode },
    220   1.1  christos     /* C0 */
    221   1.1  christos     { Bad_Opcode },
    222   1.1  christos     { Bad_Opcode },
    223   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0FC2) },
    224   1.1  christos     { Bad_Opcode },
    225  1.10  christos     { VEX_LEN_TABLE (VEX_LEN_0FC4) },
    226  1.11  christos     { "%XEvpextrw",	{ Gd, Uxmm, Ib }, PREFIX_DATA },
    227  1.10  christos     { "%XEvshufpX",	{ XM, Vex, EXx, Ib }, PREFIX_OPCODE },
    228   1.1  christos     { Bad_Opcode },
    229   1.1  christos     /* C8 */
    230   1.1  christos     { Bad_Opcode },
    231   1.1  christos     { Bad_Opcode },
    232   1.1  christos     { Bad_Opcode },
    233   1.1  christos     { Bad_Opcode },
    234   1.1  christos     { Bad_Opcode },
    235   1.1  christos     { Bad_Opcode },
    236   1.1  christos     { Bad_Opcode },
    237   1.1  christos     { Bad_Opcode },
    238   1.1  christos     /* D0 */
    239   1.1  christos     { Bad_Opcode },
    240  1.10  christos     { "%XEvpsrlw",	{ XM, Vex, EXxmm }, PREFIX_DATA },
    241   1.9  christos     { VEX_W_TABLE (EVEX_W_0FD2) },
    242   1.9  christos     { VEX_W_TABLE (EVEX_W_0FD3) },
    243   1.9  christos     { VEX_W_TABLE (EVEX_W_0FD4) },
    244  1.10  christos     { "%XEvpmullw",	{ XM, Vex, EXx }, PREFIX_DATA },
    245  1.10  christos     { VEX_W_TABLE (EVEX_W_0FD6) },
    246   1.1  christos     { Bad_Opcode },
    247   1.1  christos     /* D8 */
    248  1.10  christos     { "%XEvpsubusb",	{ XM, Vex, EXx }, PREFIX_DATA },
    249  1.10  christos     { "%XEvpsubusw",	{ XM, Vex, EXx }, PREFIX_DATA },
    250  1.10  christos     { "%XEvpminub",	{ XM, Vex, EXx }, PREFIX_DATA },
    251   1.9  christos     { "vpand%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    252  1.10  christos     { "%XEvpaddusb",	{ XM, Vex, EXx }, PREFIX_DATA },
    253  1.10  christos     { "%XEvpaddusw",	{ XM, Vex, EXx }, PREFIX_DATA },
    254  1.10  christos     { "%XEvpmaxub",	{ XM, Vex, EXx }, PREFIX_DATA },
    255   1.9  christos     { "vpandn%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    256   1.1  christos     /* E0 */
    257  1.10  christos     { "%XEvpavgb",	{ XM, Vex, EXx }, PREFIX_DATA },
    258  1.10  christos     { "%XEvpsraw",	{ XM, Vex, EXxmm }, PREFIX_DATA },
    259  1.10  christos     { "%XEvpsra%DQ",	{ XM, Vex, EXxmm }, PREFIX_DATA },
    260  1.10  christos     { "%XEvpavgw",	{ XM, Vex, EXx }, PREFIX_DATA },
    261  1.10  christos     { "%XEvpmulhuw",	{ XM, Vex, EXx }, PREFIX_DATA },
    262  1.10  christos     { "%XEvpmulhw",	{ XM, Vex, EXx }, PREFIX_DATA },
    263   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0FE6) },
    264   1.9  christos     { VEX_W_TABLE (EVEX_W_0FE7) },
    265   1.1  christos     /* E8 */
    266  1.10  christos     { "%XEvpsubsb",	{ XM, Vex, EXx }, PREFIX_DATA },
    267  1.10  christos     { "%XEvpsubsw",	{ XM, Vex, EXx }, PREFIX_DATA },
    268  1.10  christos     { "%XEvpminsw",	{ XM, Vex, EXx }, PREFIX_DATA },
    269   1.9  christos     { "vpor%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    270  1.10  christos     { "%XEvpaddsb",	{ XM, Vex, EXx }, PREFIX_DATA },
    271  1.10  christos     { "%XEvpaddsw",	{ XM, Vex, EXx }, PREFIX_DATA },
    272  1.10  christos     { "%XEvpmaxsw",	{ XM, Vex, EXx }, PREFIX_DATA },
    273   1.9  christos     { "vpxor%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    274   1.1  christos     /* F0 */
    275   1.1  christos     { Bad_Opcode },
    276  1.10  christos     { "%XEvpsllw",	{ XM, Vex, EXxmm }, PREFIX_DATA },
    277   1.9  christos     { VEX_W_TABLE (EVEX_W_0FF2) },
    278   1.9  christos     { VEX_W_TABLE (EVEX_W_0FF3) },
    279   1.9  christos     { VEX_W_TABLE (EVEX_W_0FF4) },
    280  1.10  christos     { "%XEvpmaddwd",	{ XM, Vex, EXx }, PREFIX_DATA },
    281  1.11  christos     { "%XEvpsadbwY",	{ XM, Vex, EXx }, PREFIX_DATA },
    282   1.1  christos     { Bad_Opcode },
    283   1.1  christos     /* F8 */
    284  1.10  christos     { "%XEvpsubb",	{ XM, Vex, EXx }, PREFIX_DATA },
    285  1.10  christos     { "%XEvpsubw",	{ XM, Vex, EXx }, PREFIX_DATA },
    286   1.9  christos     { VEX_W_TABLE (EVEX_W_0FFA) },
    287   1.9  christos     { VEX_W_TABLE (EVEX_W_0FFB) },
    288  1.10  christos     { "%XEvpaddb",	{ XM, Vex, EXx }, PREFIX_DATA },
    289  1.10  christos     { "%XEvpaddw",	{ XM, Vex, EXx }, PREFIX_DATA },
    290   1.9  christos     { VEX_W_TABLE (EVEX_W_0FFE) },
    291   1.1  christos     { Bad_Opcode },
    292   1.1  christos   },
    293   1.1  christos   /* EVEX_0F38 */
    294   1.1  christos   {
    295   1.1  christos     /* 00 */
    296  1.10  christos     { "%XEvpshufb",	{ XM, Vex, EXx }, PREFIX_DATA },
    297   1.1  christos     { Bad_Opcode },
    298   1.1  christos     { Bad_Opcode },
    299   1.1  christos     { Bad_Opcode },
    300  1.10  christos     { "%XEvpmaddubsw",	{ XM, Vex, EXx }, PREFIX_DATA },
    301   1.1  christos     { Bad_Opcode },
    302   1.1  christos     { Bad_Opcode },
    303   1.1  christos     { Bad_Opcode },
    304   1.1  christos     /* 08 */
    305   1.1  christos     { Bad_Opcode },
    306   1.1  christos     { Bad_Opcode },
    307   1.1  christos     { Bad_Opcode },
    308  1.10  christos     { "%XEvpmulhrsw",	{ XM, Vex, EXx }, PREFIX_DATA },
    309   1.9  christos     { VEX_W_TABLE (VEX_W_0F380C) },
    310  1.10  christos     { "%XEvpermilp%XD", { XM, Vex, EXx }, PREFIX_DATA },
    311   1.1  christos     { Bad_Opcode },
    312   1.1  christos     { Bad_Opcode },
    313   1.1  christos     /* 10 */
    314   1.3  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3810) },
    315   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3811) },
    316   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3812) },
    317   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3813) },
    318   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3814) },
    319   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3815) },
    320   1.9  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3816) },
    321   1.1  christos     { Bad_Opcode },
    322   1.1  christos     /* 18 */
    323   1.9  christos     { VEX_W_TABLE (VEX_W_0F3818) },
    324  1.10  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3819) },
    325  1.11  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F381A) },
    326  1.11  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F381B) },
    327  1.10  christos     { "%XEvpabsb",		{ XM, EXx }, PREFIX_DATA },
    328  1.10  christos     { "%XEvpabsw",		{ XM, EXx }, PREFIX_DATA },
    329   1.9  christos     { VEX_W_TABLE (EVEX_W_0F381E) },
    330   1.9  christos     { VEX_W_TABLE (EVEX_W_0F381F) },
    331   1.1  christos     /* 20 */
    332   1.3  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3820) },
    333   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3821) },
    334   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3822) },
    335   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3823) },
    336   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3824) },
    337   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3825) },
    338   1.3  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3826) },
    339   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3827) },
    340   1.1  christos     /* 28 */
    341   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3828) },
    342   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3829) },
    343   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F382A) },
    344   1.9  christos     { VEX_W_TABLE (EVEX_W_0F382B) },
    345   1.9  christos     { "vscalefp%XW",	{ XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    346  1.10  christos     { "vscalefs%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    347   1.1  christos     { Bad_Opcode },
    348   1.1  christos     { Bad_Opcode },
    349   1.1  christos     /* 30 */
    350   1.3  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3830) },
    351   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3831) },
    352   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3832) },
    353   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3833) },
    354   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3834) },
    355   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3835) },
    356   1.9  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3836) },
    357   1.9  christos     { VEX_W_TABLE (EVEX_W_0F3837) },
    358   1.1  christos     /* 38 */
    359   1.3  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3838) },
    360   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3839) },
    361   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F383A) },
    362  1.10  christos     { "%XEvpminu%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    363  1.10  christos     { "%XEvpmaxsb",	{ XM, Vex, EXx }, PREFIX_DATA },
    364  1.10  christos     { "%XEvpmaxs%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    365  1.10  christos     { "%XEvpmaxuw",	{ XM, Vex, EXx }, PREFIX_DATA },
    366  1.10  christos     { "%XEvpmaxu%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    367   1.1  christos     /* 40 */
    368  1.10  christos     { "%XEvpmull%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    369   1.1  christos     { Bad_Opcode },
    370   1.9  christos     { "vgetexpp%XW",	{ XM, EXx, EXxEVexS }, PREFIX_DATA },
    371  1.10  christos     { "vgetexps%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexS }, PREFIX_DATA },
    372   1.9  christos     { "vplzcnt%DQ",	{ XM, EXx }, PREFIX_DATA },
    373   1.9  christos     { "vpsrlv%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    374   1.9  christos     { "vpsrav%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    375   1.9  christos     { "vpsllv%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    376   1.1  christos     /* 48 */
    377   1.1  christos     { Bad_Opcode },
    378  1.11  christos     { X86_64_EVEX_MEM_W_TABLE (VEX_W_0F3849_X86_64_L_0) },
    379   1.1  christos     { Bad_Opcode },
    380  1.11  christos     { X86_64_EVEX_MEM_W_TABLE (VEX_W_0F384B_X86_64_L_0) },
    381   1.9  christos     { "vrcp14p%XW",	{ XM, EXx }, PREFIX_DATA },
    382  1.10  christos     { "vrcp14s%XW",	{ XMScalar, VexScalar, EXdq }, PREFIX_DATA },
    383   1.9  christos     { "vrsqrt14p%XW",	{ XM, EXx }, 0 },
    384  1.10  christos     { "vrsqrt14s%XW",	{ XMScalar, VexScalar, EXdq }, PREFIX_DATA },
    385   1.1  christos     /* 50 */
    386  1.10  christos     { VEX_W_TABLE (VEX_W_0F3850) },
    387  1.10  christos     { VEX_W_TABLE (VEX_W_0F3851) },
    388   1.7  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3852) },
    389   1.7  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3853) },
    390   1.9  christos     { "vpopcnt%BW",	{ XM, EXx }, PREFIX_DATA },
    391   1.9  christos     { "vpopcnt%DQ",	{ XM, EXx }, PREFIX_DATA },
    392   1.1  christos     { Bad_Opcode },
    393   1.1  christos     { Bad_Opcode },
    394   1.1  christos     /* 58 */
    395   1.9  christos     { VEX_W_TABLE (VEX_W_0F3858) },
    396   1.9  christos     { VEX_W_TABLE (EVEX_W_0F3859) },
    397  1.11  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F385A) },
    398  1.11  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F385B) },
    399   1.1  christos     { Bad_Opcode },
    400   1.1  christos     { Bad_Opcode },
    401   1.1  christos     { Bad_Opcode },
    402   1.1  christos     { Bad_Opcode },
    403   1.1  christos     /* 60 */
    404   1.1  christos     { Bad_Opcode },
    405   1.1  christos     { Bad_Opcode },
    406  1.10  christos     { "vpexpand%BW",	{ XM, EXbwUnit }, PREFIX_DATA },
    407  1.10  christos     { "vpcompress%BW",	{ EXbwUnit, XM }, PREFIX_DATA },
    408   1.9  christos     { "vpblendm%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    409   1.9  christos     { "vblendmp%XW",	{ XM, Vex, EXx }, PREFIX_DATA },
    410   1.9  christos     { "vpblendm%BW",	{ XM, Vex, EXx }, PREFIX_DATA },
    411   1.1  christos     { Bad_Opcode },
    412   1.1  christos     /* 68 */
    413   1.9  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3868) },
    414   1.1  christos     { Bad_Opcode },
    415   1.1  christos     { Bad_Opcode },
    416   1.1  christos     { Bad_Opcode },
    417   1.1  christos     { Bad_Opcode },
    418   1.1  christos     { Bad_Opcode },
    419   1.1  christos     { Bad_Opcode },
    420   1.1  christos     { Bad_Opcode },
    421   1.1  christos     /* 70 */
    422   1.9  christos     { VEX_W_TABLE (EVEX_W_0F3870) },
    423   1.9  christos     { "vpshldv%DQ",  { XM, Vex, EXx }, PREFIX_DATA },
    424   1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3872) },
    425   1.9  christos     { "vpshrdv%DQ",  { XM, Vex, EXx }, PREFIX_DATA },
    426   1.1  christos     { Bad_Opcode },
    427   1.9  christos     { "vpermi2%BW",	{ XM, Vex, EXx }, PREFIX_DATA },
    428   1.9  christos     { "vpermi2%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    429   1.9  christos     { "vpermi2p%XW",	{ XM, Vex, EXx }, PREFIX_DATA },
    430   1.1  christos     /* 78 */
    431   1.9  christos     { VEX_W_TABLE (VEX_W_0F3878) },
    432   1.9  christos     { VEX_W_TABLE (VEX_W_0F3879) },
    433   1.9  christos     { VEX_W_TABLE (EVEX_W_0F387A) },
    434   1.9  christos     { VEX_W_TABLE (EVEX_W_0F387B) },
    435  1.11  christos     { "vpbroadcastK",	{ XM, Rdq }, PREFIX_DATA },
    436   1.9  christos     { "vpermt2%BW",	{ XM, Vex, EXx }, PREFIX_DATA },
    437   1.9  christos     { "vpermt2%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    438   1.9  christos     { "vpermt2p%XW",	{ XM, Vex, EXx }, PREFIX_DATA },
    439   1.1  christos     /* 80 */
    440   1.1  christos     { Bad_Opcode },
    441   1.1  christos     { Bad_Opcode },
    442   1.1  christos     { Bad_Opcode },
    443   1.9  christos     { VEX_W_TABLE (EVEX_W_0F3883) },
    444   1.1  christos     { Bad_Opcode },
    445   1.1  christos     { Bad_Opcode },
    446   1.1  christos     { Bad_Opcode },
    447   1.1  christos     { Bad_Opcode },
    448   1.1  christos     /* 88 */
    449   1.9  christos     { "vexpandp%XW",	{ XM, EXEvexXGscat }, PREFIX_DATA },
    450   1.9  christos     { "vpexpand%DQ",	{ XM, EXEvexXGscat }, PREFIX_DATA },
    451   1.9  christos     { "vcompressp%XW",	{ EXEvexXGscat, XM }, PREFIX_DATA },
    452   1.9  christos     { "vpcompress%DQ",	{ EXEvexXGscat, XM }, PREFIX_DATA },
    453   1.1  christos     { Bad_Opcode },
    454   1.9  christos     { "vperm%BW",	{ XM, Vex, EXx }, PREFIX_DATA },
    455   1.1  christos     { Bad_Opcode },
    456  1.10  christos     { "vpshufbitqmb",	{ MaskG, Vex, EXx }, PREFIX_DATA },
    457   1.1  christos     /* 90 */
    458  1.10  christos     { "vpgatherd%DQ",	{ XMGatherD, MVexVSIBDWpX }, PREFIX_DATA },
    459  1.10  christos     { "vpgatherq%DQ",	{ XMGatherQ, MVexVSIBQWpX }, PREFIX_DATA },
    460  1.10  christos     { "vgatherdp%XW",	{ XMGatherD, MVexVSIBDWpX }, PREFIX_DATA },
    461  1.10  christos     { "vgatherqp%XW",	{ XMGatherQ, MVexVSIBQWpX }, PREFIX_DATA },
    462   1.1  christos     { Bad_Opcode },
    463   1.1  christos     { Bad_Opcode },
    464  1.10  christos     { "%XEvfmaddsub132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    465  1.10  christos     { "%XEvfmsubadd132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    466   1.1  christos     /* 98 */
    467  1.10  christos     { "%XEvfmadd132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    468  1.10  christos     { "%XEvfmadd132s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    469   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F389A) },
    470   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F389B) },
    471  1.10  christos     { "%XEvfnmadd132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    472  1.10  christos     { "%XEvfnmadd132s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    473  1.10  christos     { "%XEvfnmsub132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    474  1.10  christos     { "%XEvfnmsub132s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    475   1.1  christos     /* A0 */
    476   1.9  christos     { "vpscatterd%DQ",	{ MVexVSIBDWpX, XM }, PREFIX_DATA },
    477  1.10  christos     { "vpscatterq%DQ",	{ MVexVSIBQWpX, XMGatherQ }, PREFIX_DATA },
    478   1.9  christos     { "vscatterdp%XW",	{ MVexVSIBDWpX, XM }, PREFIX_DATA },
    479  1.10  christos     { "vscatterqp%XW",	{ MVexVSIBQWpX, XMGatherQ }, PREFIX_DATA },
    480   1.1  christos     { Bad_Opcode },
    481   1.1  christos     { Bad_Opcode },
    482  1.10  christos     { "%XEvfmaddsub213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    483  1.10  christos     { "%XEvfmsubadd213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    484   1.1  christos     /* A8 */
    485  1.10  christos     { "%XEvfmadd213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    486  1.10  christos     { "%XEvfmadd213s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    487   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F38AA) },
    488   1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F38AB) },
    489  1.10  christos     { "%XEvfnmadd213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    490  1.10  christos     { "%XEvfnmadd213s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    491  1.10  christos     { "%XEvfnmsub213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    492  1.10  christos     { "%XEvfnmsub213s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    493   1.1  christos     /* B0 */
    494   1.1  christos     { Bad_Opcode },
    495   1.1  christos     { Bad_Opcode },
    496   1.1  christos     { Bad_Opcode },
    497   1.1  christos     { Bad_Opcode },
    498  1.10  christos     { VEX_W_TABLE (VEX_W_0F38B4) },
    499  1.10  christos     { VEX_W_TABLE (VEX_W_0F38B5) },
    500  1.10  christos     { "%XEvfmaddsub231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    501  1.10  christos     { "%XEvfmsubadd231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    502   1.1  christos     /* B8 */
    503  1.10  christos     { "%XEvfmadd231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    504  1.10  christos     { "%XEvfmadd231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    505  1.10  christos     { "%XEvfmsub231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    506  1.10  christos     { "%XEvfmsub231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    507  1.10  christos     { "%XEvfnmadd231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    508  1.10  christos     { "%XEvfnmadd231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    509  1.10  christos     { "%XEvfnmsub231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    510  1.10  christos     { "%XEvfnmsub231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    511   1.1  christos     /* C0 */
    512   1.1  christos     { Bad_Opcode },
    513   1.1  christos     { Bad_Opcode },
    514   1.1  christos     { Bad_Opcode },
    515   1.1  christos     { Bad_Opcode },
    516   1.9  christos     { "vpconflict%DQ",	{ XM, EXx }, PREFIX_DATA },
    517   1.1  christos     { Bad_Opcode },
    518  1.11  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F38C6) },
    519  1.11  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F38C7) },
    520   1.1  christos     /* C8 */
    521  1.10  christos     { "vexp2p%XW",	{ XM, EXx, EXxEVexS }, PREFIX_DATA },
    522   1.1  christos     { Bad_Opcode },
    523  1.10  christos     { "vrcp28p%XW",	{ XM, EXx, EXxEVexS }, PREFIX_DATA },
    524  1.10  christos     { "vrcp28s%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexS }, PREFIX_DATA },
    525  1.10  christos     { "vrsqrt28p%XW",	{ XM, EXx, EXxEVexS }, PREFIX_DATA },
    526  1.10  christos     { "vrsqrt28s%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexS }, PREFIX_DATA },
    527   1.1  christos     { Bad_Opcode },
    528   1.9  christos     { VEX_W_TABLE (VEX_W_0F38CF) },
    529   1.1  christos     /* D0 */
    530   1.1  christos     { Bad_Opcode },
    531   1.1  christos     { Bad_Opcode },
    532   1.1  christos     { Bad_Opcode },
    533   1.1  christos     { Bad_Opcode },
    534   1.1  christos     { Bad_Opcode },
    535   1.1  christos     { Bad_Opcode },
    536   1.1  christos     { Bad_Opcode },
    537   1.1  christos     { Bad_Opcode },
    538   1.1  christos     /* D8 */
    539   1.1  christos     { Bad_Opcode },
    540   1.1  christos     { Bad_Opcode },
    541   1.1  christos     { Bad_Opcode },
    542   1.1  christos     { Bad_Opcode },
    543  1.11  christos     { "%XEvaesencY",	{ XM, Vex, EXx }, PREFIX_DATA },
    544  1.11  christos     { "%XEvaesenclastY", { XM, Vex, EXx }, PREFIX_DATA },
    545  1.11  christos     { "%XEvaesdecY",	{ XM, Vex, EXx }, PREFIX_DATA },
    546  1.11  christos     { "%XEvaesdeclastY", { XM, Vex, EXx }, PREFIX_DATA },
    547   1.1  christos     /* E0 */
    548  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E0) },
    549  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E1) },
    550  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E2) },
    551  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E3) },
    552  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E4) },
    553  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E5) },
    554  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E6) },
    555  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E7) },
    556   1.1  christos     /* E8 */
    557  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E8) },
    558  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E9) },
    559  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EA) },
    560  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EB) },
    561  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EC) },
    562  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38ED) },
    563  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EE) },
    564  1.11  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EF) },
    565   1.1  christos     /* F0 */
    566   1.1  christos     { Bad_Opcode },
    567   1.1  christos     { Bad_Opcode },
    568  1.11  christos     { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F38F2_L_0) },
    569  1.11  christos     { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F38F3_L_0) },
    570   1.1  christos     { Bad_Opcode },
    571  1.11  christos     { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F38F5_L_0) },
    572  1.11  christos     { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F38F6_L_0) },
    573  1.11  christos     { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F38F7_L_0) },
    574   1.1  christos     /* F8 */
    575   1.1  christos     { Bad_Opcode },
    576   1.1  christos     { Bad_Opcode },
    577   1.1  christos     { Bad_Opcode },
    578   1.1  christos     { Bad_Opcode },
    579   1.1  christos     { Bad_Opcode },
    580   1.1  christos     { Bad_Opcode },
    581   1.1  christos     { Bad_Opcode },
    582   1.1  christos     { Bad_Opcode },
    583   1.1  christos   },
    584   1.1  christos   /* EVEX_0F3A */
    585   1.1  christos   {
    586   1.1  christos     /* 00 */
    587  1.10  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A00) },
    588  1.10  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A01) },
    589   1.1  christos     { Bad_Opcode },
    590   1.9  christos     { "valign%DQ",	{ XM, Vex, EXx, Ib }, PREFIX_DATA },
    591   1.9  christos     { VEX_W_TABLE (VEX_W_0F3A04) },
    592  1.10  christos     { "%XEvpermilp%XD", { XM, EXx, Ib }, PREFIX_DATA },
    593   1.1  christos     { Bad_Opcode },
    594   1.1  christos     { Bad_Opcode },
    595   1.1  christos     /* 08 */
    596  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A08) },
    597  1.10  christos     { "vrndscalep%XD", { XM, EXx, EXxEVexS, Ib }, PREFIX_DATA },
    598  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A0A) },
    599  1.10  christos     { "vrndscales%XD", { XMScalar, VexScalar, EXq, EXxEVexS, Ib }, PREFIX_DATA },
    600   1.1  christos     { Bad_Opcode },
    601   1.1  christos     { Bad_Opcode },
    602   1.1  christos     { Bad_Opcode },
    603  1.10  christos     { "%XEvpalignr",	{ XM, Vex, EXx, Ib }, PREFIX_DATA },
    604   1.1  christos     /* 10 */
    605   1.1  christos     { Bad_Opcode },
    606   1.1  christos     { Bad_Opcode },
    607   1.1  christos     { Bad_Opcode },
    608   1.1  christos     { Bad_Opcode },
    609  1.10  christos     { VEX_LEN_TABLE (VEX_LEN_0F3A14) },
    610  1.10  christos     { VEX_LEN_TABLE (VEX_LEN_0F3A15) },
    611  1.10  christos     { VEX_LEN_TABLE (VEX_LEN_0F3A16) },
    612  1.10  christos     { VEX_LEN_TABLE (VEX_LEN_0F3A17) },
    613   1.1  christos     /* 18 */
    614  1.10  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A18) },
    615  1.10  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A19) },
    616  1.10  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A1A) },
    617  1.10  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B) },
    618   1.9  christos     { Bad_Opcode },
    619   1.9  christos     { VEX_W_TABLE (VEX_W_0F3A1D) },
    620  1.10  christos     { "vpcmpu%DQ",	{ MaskG, Vex, EXx, VPCMP }, PREFIX_DATA },
    621  1.10  christos     { "vpcmp%DQ",	{ MaskG, Vex, EXx, VPCMP }, PREFIX_DATA },
    622   1.1  christos     /* 20 */
    623  1.10  christos     { VEX_LEN_TABLE (VEX_LEN_0F3A20) },
    624   1.9  christos     { VEX_W_TABLE (EVEX_W_0F3A21) },
    625  1.10  christos     { VEX_LEN_TABLE (VEX_LEN_0F3A22) },
    626  1.10  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A23) },
    627   1.9  christos     { Bad_Opcode },
    628   1.9  christos     { "vpternlog%DQ",	{ XM, Vex, EXx, Ib }, PREFIX_DATA },
    629  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A26) },
    630  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A27) },
    631   1.1  christos     /* 28 */
    632   1.1  christos     { Bad_Opcode },
    633   1.1  christos     { Bad_Opcode },
    634   1.1  christos     { Bad_Opcode },
    635   1.1  christos     { Bad_Opcode },
    636   1.1  christos     { Bad_Opcode },
    637   1.1  christos     { Bad_Opcode },
    638   1.1  christos     { Bad_Opcode },
    639   1.1  christos     { Bad_Opcode },
    640   1.1  christos     /* 30 */
    641   1.1  christos     { Bad_Opcode },
    642   1.1  christos     { Bad_Opcode },
    643   1.1  christos     { Bad_Opcode },
    644   1.1  christos     { Bad_Opcode },
    645   1.1  christos     { Bad_Opcode },
    646   1.1  christos     { Bad_Opcode },
    647   1.1  christos     { Bad_Opcode },
    648   1.1  christos     { Bad_Opcode },
    649   1.1  christos     /* 38 */
    650  1.10  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A38) },
    651  1.10  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A39) },
    652  1.10  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A3A) },
    653  1.10  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A3B) },
    654   1.1  christos     { Bad_Opcode },
    655   1.1  christos     { Bad_Opcode },
    656  1.10  christos     { "vpcmpu%BW",	{ MaskG, Vex, EXx, VPCMP }, PREFIX_DATA },
    657  1.10  christos     { "vpcmp%BW",	{ MaskG, Vex, EXx, VPCMP }, PREFIX_DATA },
    658   1.1  christos     /* 40 */
    659   1.1  christos     { Bad_Opcode },
    660   1.1  christos     { Bad_Opcode },
    661   1.9  christos     { VEX_W_TABLE (EVEX_W_0F3A42) },
    662  1.10  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A43) },
    663  1.11  christos     { "%XEvpclmulqdqY",	{ XM, Vex, EXx, PCLMUL }, PREFIX_DATA },
    664   1.1  christos     { Bad_Opcode },
    665   1.1  christos     { Bad_Opcode },
    666   1.1  christos     { Bad_Opcode },
    667   1.1  christos     /* 48 */
    668   1.1  christos     { Bad_Opcode },
    669   1.1  christos     { Bad_Opcode },
    670   1.1  christos     { Bad_Opcode },
    671   1.1  christos     { Bad_Opcode },
    672   1.1  christos     { Bad_Opcode },
    673   1.1  christos     { Bad_Opcode },
    674   1.1  christos     { Bad_Opcode },
    675   1.1  christos     { Bad_Opcode },
    676   1.1  christos     /* 50 */
    677   1.9  christos     { "vrangep%XW",	{ XM, Vex, EXx, EXxEVexS, Ib }, PREFIX_DATA },
    678  1.10  christos     { "vranges%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, PREFIX_DATA },
    679   1.1  christos     { Bad_Opcode },
    680   1.1  christos     { Bad_Opcode },
    681   1.9  christos     { "vfixupimmp%XW",	{ XM, Vex, EXx, EXxEVexS, Ib }, PREFIX_DATA },
    682  1.10  christos     { "vfixupimms%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, PREFIX_DATA },
    683  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A56) },
    684  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A57) },
    685   1.1  christos     /* 58 */
    686   1.1  christos     { Bad_Opcode },
    687   1.1  christos     { Bad_Opcode },
    688   1.1  christos     { Bad_Opcode },
    689   1.1  christos     { Bad_Opcode },
    690   1.1  christos     { Bad_Opcode },
    691   1.1  christos     { Bad_Opcode },
    692   1.1  christos     { Bad_Opcode },
    693   1.1  christos     { Bad_Opcode },
    694   1.1  christos     /* 60 */
    695   1.1  christos     { Bad_Opcode },
    696   1.1  christos     { Bad_Opcode },
    697   1.1  christos     { Bad_Opcode },
    698   1.1  christos     { Bad_Opcode },
    699   1.1  christos     { Bad_Opcode },
    700   1.1  christos     { Bad_Opcode },
    701  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A66) },
    702  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A67) },
    703   1.1  christos     /* 68 */
    704   1.1  christos     { Bad_Opcode },
    705   1.1  christos     { Bad_Opcode },
    706   1.1  christos     { Bad_Opcode },
    707   1.1  christos     { Bad_Opcode },
    708   1.1  christos     { Bad_Opcode },
    709   1.1  christos     { Bad_Opcode },
    710   1.1  christos     { Bad_Opcode },
    711   1.1  christos     { Bad_Opcode },
    712   1.1  christos     /* 70 */
    713   1.9  christos     { VEX_W_TABLE (EVEX_W_0F3A70) },
    714   1.9  christos     { "vpshld%DQ",   { XM, Vex, EXx, Ib }, PREFIX_DATA },
    715   1.9  christos     { VEX_W_TABLE (EVEX_W_0F3A72) },
    716   1.9  christos     { "vpshrd%DQ",   { XM, Vex, EXx, Ib }, PREFIX_DATA },
    717   1.1  christos     { Bad_Opcode },
    718   1.1  christos     { Bad_Opcode },
    719   1.1  christos     { Bad_Opcode },
    720   1.1  christos     { Bad_Opcode },
    721   1.1  christos     /* 78 */
    722   1.1  christos     { Bad_Opcode },
    723   1.1  christos     { Bad_Opcode },
    724   1.1  christos     { Bad_Opcode },
    725   1.1  christos     { Bad_Opcode },
    726   1.1  christos     { Bad_Opcode },
    727   1.1  christos     { Bad_Opcode },
    728   1.1  christos     { Bad_Opcode },
    729   1.1  christos     { Bad_Opcode },
    730   1.1  christos     /* 80 */
    731   1.1  christos     { Bad_Opcode },
    732   1.1  christos     { Bad_Opcode },
    733   1.1  christos     { Bad_Opcode },
    734   1.1  christos     { Bad_Opcode },
    735   1.1  christos     { Bad_Opcode },
    736   1.1  christos     { Bad_Opcode },
    737   1.1  christos     { Bad_Opcode },
    738   1.1  christos     { Bad_Opcode },
    739   1.1  christos     /* 88 */
    740   1.1  christos     { Bad_Opcode },
    741   1.1  christos     { Bad_Opcode },
    742   1.1  christos     { Bad_Opcode },
    743   1.1  christos     { Bad_Opcode },
    744   1.1  christos     { Bad_Opcode },
    745   1.1  christos     { Bad_Opcode },
    746   1.1  christos     { Bad_Opcode },
    747   1.1  christos     { Bad_Opcode },
    748   1.1  christos     /* 90 */
    749   1.1  christos     { Bad_Opcode },
    750   1.1  christos     { Bad_Opcode },
    751   1.1  christos     { Bad_Opcode },
    752   1.1  christos     { Bad_Opcode },
    753   1.1  christos     { Bad_Opcode },
    754   1.1  christos     { Bad_Opcode },
    755   1.1  christos     { Bad_Opcode },
    756   1.1  christos     { Bad_Opcode },
    757   1.1  christos     /* 98 */
    758   1.1  christos     { Bad_Opcode },
    759   1.1  christos     { Bad_Opcode },
    760   1.1  christos     { Bad_Opcode },
    761   1.1  christos     { Bad_Opcode },
    762   1.1  christos     { Bad_Opcode },
    763   1.1  christos     { Bad_Opcode },
    764   1.1  christos     { Bad_Opcode },
    765   1.1  christos     { Bad_Opcode },
    766   1.1  christos     /* A0 */
    767   1.1  christos     { Bad_Opcode },
    768   1.1  christos     { Bad_Opcode },
    769   1.1  christos     { Bad_Opcode },
    770   1.1  christos     { Bad_Opcode },
    771   1.1  christos     { Bad_Opcode },
    772   1.1  christos     { Bad_Opcode },
    773   1.1  christos     { Bad_Opcode },
    774   1.1  christos     { Bad_Opcode },
    775   1.1  christos     /* A8 */
    776   1.1  christos     { Bad_Opcode },
    777   1.1  christos     { Bad_Opcode },
    778   1.1  christos     { Bad_Opcode },
    779   1.1  christos     { Bad_Opcode },
    780   1.1  christos     { Bad_Opcode },
    781   1.1  christos     { Bad_Opcode },
    782   1.1  christos     { Bad_Opcode },
    783   1.1  christos     { Bad_Opcode },
    784   1.1  christos     /* B0 */
    785   1.1  christos     { Bad_Opcode },
    786   1.1  christos     { Bad_Opcode },
    787   1.1  christos     { Bad_Opcode },
    788   1.1  christos     { Bad_Opcode },
    789   1.1  christos     { Bad_Opcode },
    790   1.1  christos     { Bad_Opcode },
    791   1.1  christos     { Bad_Opcode },
    792   1.1  christos     { Bad_Opcode },
    793   1.1  christos     /* B8 */
    794   1.1  christos     { Bad_Opcode },
    795   1.1  christos     { Bad_Opcode },
    796   1.1  christos     { Bad_Opcode },
    797   1.1  christos     { Bad_Opcode },
    798   1.1  christos     { Bad_Opcode },
    799   1.1  christos     { Bad_Opcode },
    800   1.1  christos     { Bad_Opcode },
    801   1.1  christos     { Bad_Opcode },
    802   1.1  christos     /* C0 */
    803   1.1  christos     { Bad_Opcode },
    804   1.1  christos     { Bad_Opcode },
    805  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3AC2) },
    806   1.1  christos     { Bad_Opcode },
    807   1.1  christos     { Bad_Opcode },
    808   1.1  christos     { Bad_Opcode },
    809   1.1  christos     { Bad_Opcode },
    810   1.1  christos     { Bad_Opcode },
    811   1.1  christos     /* C8 */
    812   1.1  christos     { Bad_Opcode },
    813   1.1  christos     { Bad_Opcode },
    814   1.1  christos     { Bad_Opcode },
    815   1.1  christos     { Bad_Opcode },
    816   1.1  christos     { Bad_Opcode },
    817   1.1  christos     { Bad_Opcode },
    818   1.9  christos     { VEX_W_TABLE (VEX_W_0F3ACE) },
    819   1.9  christos     { VEX_W_TABLE (VEX_W_0F3ACF) },
    820   1.1  christos     /* D0 */
    821   1.1  christos     { Bad_Opcode },
    822   1.1  christos     { Bad_Opcode },
    823   1.1  christos     { Bad_Opcode },
    824   1.1  christos     { Bad_Opcode },
    825   1.1  christos     { Bad_Opcode },
    826   1.1  christos     { Bad_Opcode },
    827   1.1  christos     { Bad_Opcode },
    828   1.1  christos     { Bad_Opcode },
    829   1.1  christos     /* D8 */
    830   1.1  christos     { Bad_Opcode },
    831   1.1  christos     { Bad_Opcode },
    832   1.1  christos     { Bad_Opcode },
    833   1.1  christos     { Bad_Opcode },
    834   1.1  christos     { Bad_Opcode },
    835   1.1  christos     { Bad_Opcode },
    836   1.1  christos     { Bad_Opcode },
    837   1.1  christos     { Bad_Opcode },
    838   1.1  christos     /* E0 */
    839   1.1  christos     { Bad_Opcode },
    840   1.1  christos     { Bad_Opcode },
    841   1.1  christos     { Bad_Opcode },
    842   1.1  christos     { Bad_Opcode },
    843   1.1  christos     { Bad_Opcode },
    844   1.1  christos     { Bad_Opcode },
    845   1.1  christos     { Bad_Opcode },
    846   1.1  christos     { Bad_Opcode },
    847   1.1  christos     /* E8 */
    848   1.1  christos     { Bad_Opcode },
    849   1.1  christos     { Bad_Opcode },
    850   1.1  christos     { Bad_Opcode },
    851   1.1  christos     { Bad_Opcode },
    852   1.1  christos     { Bad_Opcode },
    853   1.1  christos     { Bad_Opcode },
    854   1.1  christos     { Bad_Opcode },
    855   1.1  christos     { Bad_Opcode },
    856   1.1  christos     /* F0 */
    857  1.11  christos     { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F3AF0_L_0) },
    858  1.11  christos     { Bad_Opcode },
    859  1.11  christos     { Bad_Opcode },
    860  1.11  christos     { Bad_Opcode },
    861  1.11  christos     { Bad_Opcode },
    862  1.11  christos     { Bad_Opcode },
    863  1.11  christos     { Bad_Opcode },
    864  1.11  christos     { Bad_Opcode },
    865  1.11  christos     /* F8 */
    866  1.11  christos     { Bad_Opcode },
    867  1.11  christos     { Bad_Opcode },
    868  1.11  christos     { Bad_Opcode },
    869  1.11  christos     { Bad_Opcode },
    870  1.11  christos     { Bad_Opcode },
    871  1.11  christos     { Bad_Opcode },
    872  1.11  christos     { Bad_Opcode },
    873  1.11  christos     { Bad_Opcode },
    874  1.11  christos   },
    875  1.11  christos   /* EVEX_MAP4_ */
    876  1.11  christos   {
    877  1.11  christos     /* 00 */
    878  1.11  christos     { "%NFaddB",	{ VexGb, Eb, Gb }, NO_PREFIX },
    879  1.11  christos     { "%NFaddS",	{ VexGv, Ev, Gv }, PREFIX_NP_OR_DATA },
    880  1.11  christos     { "%NFaddB",	{ VexGb, Gb, EbS }, NO_PREFIX },
    881  1.11  christos     { "%NFaddS",	{ VexGv, Gv, EvS }, PREFIX_NP_OR_DATA },
    882  1.11  christos     { Bad_Opcode },
    883  1.11  christos     { Bad_Opcode },
    884  1.11  christos     { Bad_Opcode },
    885  1.11  christos     { Bad_Opcode },
    886  1.11  christos     /* 08 */
    887  1.11  christos     { "%NForB",	{ VexGb, Eb, Gb }, NO_PREFIX },
    888  1.11  christos     { "%NForS",	{ VexGv, Ev, Gv }, PREFIX_NP_OR_DATA },
    889  1.11  christos     { "%NForB",	{ VexGb, Gb, EbS }, NO_PREFIX },
    890  1.11  christos     { "%NForS",	{ VexGv, Gv, EvS }, PREFIX_NP_OR_DATA },
    891  1.11  christos     { Bad_Opcode },
    892  1.11  christos     { Bad_Opcode },
    893  1.11  christos     { Bad_Opcode },
    894  1.11  christos     { Bad_Opcode },
    895  1.11  christos     /* 10 */
    896  1.11  christos     { "adcB",	{ VexGb, Eb, Gb }, NO_PREFIX },
    897  1.11  christos     { "adcS",	{ VexGv, Ev, Gv }, PREFIX_NP_OR_DATA },
    898  1.11  christos     { "adcB",	{ VexGb, Gb, EbS }, NO_PREFIX },
    899  1.11  christos     { "adcS",	{ VexGv, Gv, EvS }, PREFIX_NP_OR_DATA },
    900  1.11  christos     { Bad_Opcode },
    901  1.11  christos     { Bad_Opcode },
    902  1.11  christos     { Bad_Opcode },
    903  1.11  christos     { Bad_Opcode },
    904  1.11  christos     /* 18 */
    905  1.11  christos     { "sbbB",	{ VexGb, Eb, Gb }, NO_PREFIX },
    906  1.11  christos     { "sbbS",	{ VexGv, Ev, Gv }, PREFIX_NP_OR_DATA },
    907  1.11  christos     { "sbbB",	{ VexGb, Gb, EbS }, NO_PREFIX },
    908  1.11  christos     { "sbbS",	{ VexGv, Gv, EvS }, PREFIX_NP_OR_DATA },
    909  1.11  christos     { Bad_Opcode },
    910  1.11  christos     { Bad_Opcode },
    911  1.11  christos     { Bad_Opcode },
    912  1.11  christos     { Bad_Opcode },
    913  1.11  christos     /* 20 */
    914  1.11  christos     { "%NFandB",	{ VexGb, Eb, Gb }, NO_PREFIX },
    915  1.11  christos     { "%NFandS",	{ VexGv, Ev, Gv }, PREFIX_NP_OR_DATA },
    916  1.11  christos     { "%NFandB",	{ VexGb, Gb, EbS }, NO_PREFIX },
    917  1.11  christos     { "%NFandS",	{ VexGv, Gv, EvS }, PREFIX_NP_OR_DATA },
    918  1.11  christos     { "%NFshldS",	{ VexGv, Ev, Gv, Ib }, PREFIX_NP_OR_DATA },
    919  1.11  christos     { Bad_Opcode },
    920  1.11  christos     { Bad_Opcode },
    921  1.11  christos     { Bad_Opcode },
    922  1.11  christos     /* 28 */
    923  1.11  christos     { "%NFsubB",	{ VexGb, Eb, Gb }, NO_PREFIX },
    924  1.11  christos     { "%NFsubS",	{ VexGv, Ev, Gv }, PREFIX_NP_OR_DATA },
    925  1.11  christos     { "%NFsubB",	{ VexGb, Gb, EbS }, NO_PREFIX },
    926  1.11  christos     { "%NFsubS",	{ VexGv, Gv, EvS }, PREFIX_NP_OR_DATA },
    927  1.11  christos     { "%NFshrdS",	{ VexGv, Ev, Gv, Ib }, PREFIX_NP_OR_DATA },
    928  1.11  christos     { Bad_Opcode },
    929  1.11  christos     { Bad_Opcode },
    930  1.11  christos     { Bad_Opcode },
    931  1.11  christos     /* 30 */
    932  1.11  christos     { "%NFxorB",	{ VexGb, Eb, Gb }, NO_PREFIX },
    933  1.11  christos     { "%NFxorS",	{ VexGv, Ev, Gv }, PREFIX_NP_OR_DATA },
    934  1.11  christos     { "%NFxorB",	{ VexGb, Gb, EbS }, NO_PREFIX },
    935  1.11  christos     { "%NFxorS",	{ VexGv, Gv, EvS }, PREFIX_NP_OR_DATA },
    936  1.11  christos     { Bad_Opcode },
    937  1.11  christos     { Bad_Opcode },
    938  1.11  christos     { Bad_Opcode },
    939  1.11  christos     { Bad_Opcode },
    940  1.11  christos     /* 38 */
    941  1.11  christos     { Bad_Opcode },
    942  1.11  christos     { Bad_Opcode },
    943  1.11  christos     { Bad_Opcode },
    944  1.11  christos     { Bad_Opcode },
    945  1.11  christos     { Bad_Opcode },
    946  1.11  christos     { Bad_Opcode },
    947  1.11  christos     { Bad_Opcode },
    948  1.11  christos     { Bad_Opcode },
    949  1.11  christos     /* 40 */
    950  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_40) },
    951  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_41) },
    952  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_42) },
    953  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_43) },
    954  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_44) },
    955  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_45) },
    956  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_46) },
    957  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_47) },
    958  1.11  christos     /* 48 */
    959  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_48) },
    960  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_49) },
    961  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4A) },
    962  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4B) },
    963  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4C) },
    964  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4D) },
    965  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4E) },
    966  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4F) },
    967  1.11  christos     /* 50 */
    968  1.11  christos     { Bad_Opcode },
    969  1.11  christos     { Bad_Opcode },
    970  1.11  christos     { Bad_Opcode },
    971  1.11  christos     { Bad_Opcode },
    972  1.11  christos     { Bad_Opcode },
    973  1.11  christos     { Bad_Opcode },
    974  1.11  christos     { Bad_Opcode },
    975  1.11  christos     { Bad_Opcode },
    976  1.11  christos     /* 58 */
    977  1.11  christos     { Bad_Opcode },
    978  1.11  christos     { Bad_Opcode },
    979  1.11  christos     { Bad_Opcode },
    980  1.11  christos     { Bad_Opcode },
    981  1.11  christos     { Bad_Opcode },
    982  1.11  christos     { Bad_Opcode },
    983  1.11  christos     { Bad_Opcode },
    984  1.11  christos     { Bad_Opcode },
    985  1.11  christos     /* 60 */
    986  1.11  christos     { "%MEmovbeS",	{ Gv, Ev }, PREFIX_NP_OR_DATA },
    987  1.11  christos     { "%MEmovbeS",	{ Ev, Gv }, PREFIX_NP_OR_DATA },
    988  1.11  christos     { Bad_Opcode },
    989  1.11  christos     { Bad_Opcode },
    990  1.11  christos     { Bad_Opcode },
    991  1.11  christos     { "wrussK",	{ M, Gdq }, PREFIX_DATA },
    992  1.11  christos     { PREFIX_TABLE (PREFIX_0F38F6) },
    993  1.11  christos     { Bad_Opcode },
    994  1.11  christos     /* 68 */
    995  1.11  christos     { Bad_Opcode },
    996  1.11  christos     { "%NFimul%ZUS",	{ Gv, Ev, Iv }, PREFIX_NP_OR_DATA },
    997  1.11  christos     { Bad_Opcode },
    998  1.11  christos     { "%NFimul%ZUS",	{ Gv, Ev, sIb }, PREFIX_NP_OR_DATA },
    999  1.11  christos     { Bad_Opcode },
   1000  1.11  christos     { Bad_Opcode },
   1001  1.11  christos     { Bad_Opcode },
   1002  1.11  christos     { Bad_Opcode },
   1003  1.11  christos     /* 70 */
   1004   1.1  christos     { Bad_Opcode },
   1005   1.1  christos     { Bad_Opcode },
   1006   1.1  christos     { Bad_Opcode },
   1007   1.1  christos     { Bad_Opcode },
   1008   1.1  christos     { Bad_Opcode },
   1009   1.1  christos     { Bad_Opcode },
   1010   1.1  christos     { Bad_Opcode },
   1011   1.1  christos     { Bad_Opcode },
   1012  1.11  christos     /* 78 */
   1013  1.11  christos     { Bad_Opcode },
   1014  1.11  christos     { Bad_Opcode },
   1015  1.11  christos     { Bad_Opcode },
   1016  1.11  christos     { Bad_Opcode },
   1017  1.11  christos     { Bad_Opcode },
   1018  1.11  christos     { Bad_Opcode },
   1019  1.11  christos     { Bad_Opcode },
   1020  1.11  christos     { Bad_Opcode },
   1021  1.11  christos     /* 80 */
   1022  1.11  christos     { REG_TABLE (REG_EVEX_MAP4_80) },
   1023  1.11  christos     { REG_TABLE (REG_EVEX_MAP4_81) },
   1024  1.11  christos     { Bad_Opcode },
   1025  1.11  christos     { REG_TABLE (REG_EVEX_MAP4_83) },
   1026  1.11  christos     { Bad_Opcode },
   1027  1.11  christos     { Bad_Opcode },
   1028  1.11  christos     { Bad_Opcode },
   1029  1.11  christos     { Bad_Opcode },
   1030  1.11  christos     /* 88 */
   1031  1.11  christos     { "%NFpopcntS",	{ Gv, Ev }, PREFIX_NP_OR_DATA },
   1032  1.11  christos     { Bad_Opcode },
   1033  1.11  christos     { Bad_Opcode },
   1034  1.11  christos     { Bad_Opcode },
   1035  1.11  christos     { Bad_Opcode },
   1036  1.11  christos     { Bad_Opcode },
   1037  1.11  christos     { Bad_Opcode },
   1038  1.11  christos     { REG_TABLE (REG_EVEX_MAP4_8F) },
   1039  1.11  christos     /* 90 */
   1040  1.11  christos     { Bad_Opcode },
   1041  1.11  christos     { Bad_Opcode },
   1042  1.11  christos     { Bad_Opcode },
   1043  1.11  christos     { Bad_Opcode },
   1044  1.11  christos     { Bad_Opcode },
   1045  1.11  christos     { Bad_Opcode },
   1046  1.11  christos     { Bad_Opcode },
   1047  1.11  christos     { Bad_Opcode },
   1048  1.11  christos     /* 98 */
   1049  1.11  christos     { Bad_Opcode },
   1050  1.11  christos     { Bad_Opcode },
   1051  1.11  christos     { Bad_Opcode },
   1052  1.11  christos     { Bad_Opcode },
   1053  1.11  christos     { Bad_Opcode },
   1054  1.11  christos     { Bad_Opcode },
   1055  1.11  christos     { Bad_Opcode },
   1056  1.11  christos     { Bad_Opcode },
   1057  1.11  christos     /* A0 */
   1058  1.11  christos     { Bad_Opcode },
   1059  1.11  christos     { Bad_Opcode },
   1060  1.11  christos     { Bad_Opcode },
   1061  1.11  christos     { Bad_Opcode },
   1062  1.11  christos     { Bad_Opcode },
   1063  1.11  christos     { "%NFshldS",	{ VexGv, Ev, Gv, CL }, PREFIX_NP_OR_DATA },
   1064  1.11  christos     { Bad_Opcode },
   1065  1.11  christos     { Bad_Opcode },
   1066  1.11  christos     /* A8 */
   1067  1.11  christos     { Bad_Opcode },
   1068  1.11  christos     { Bad_Opcode },
   1069  1.11  christos     { Bad_Opcode },
   1070  1.11  christos     { Bad_Opcode },
   1071  1.11  christos     { Bad_Opcode },
   1072  1.11  christos     { "%NFshrdS",	{ VexGv, Ev, Gv, CL }, PREFIX_NP_OR_DATA },
   1073  1.11  christos     { Bad_Opcode },
   1074  1.11  christos     { "%NFimulS",	{ VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
   1075  1.11  christos     /* B0 */
   1076  1.11  christos     { Bad_Opcode },
   1077  1.11  christos     { Bad_Opcode },
   1078  1.11  christos     { Bad_Opcode },
   1079  1.11  christos     { Bad_Opcode },
   1080  1.11  christos     { Bad_Opcode },
   1081  1.11  christos     { Bad_Opcode },
   1082  1.11  christos     { Bad_Opcode },
   1083  1.11  christos     { Bad_Opcode },
   1084  1.11  christos     /* B8 */
   1085  1.11  christos     { Bad_Opcode },
   1086  1.11  christos     { Bad_Opcode },
   1087  1.11  christos     { Bad_Opcode },
   1088  1.11  christos     { Bad_Opcode },
   1089  1.11  christos     { Bad_Opcode },
   1090  1.11  christos     { Bad_Opcode },
   1091  1.11  christos     { Bad_Opcode },
   1092  1.11  christos     { Bad_Opcode },
   1093  1.11  christos     /* C0 */
   1094  1.11  christos     { REG_TABLE (REG_C0) },
   1095  1.11  christos     { REG_TABLE (REG_C1) },
   1096  1.11  christos     { Bad_Opcode },
   1097  1.11  christos     { Bad_Opcode },
   1098  1.11  christos     { Bad_Opcode },
   1099  1.11  christos     { Bad_Opcode },
   1100  1.11  christos     { Bad_Opcode },
   1101  1.11  christos     { Bad_Opcode },
   1102  1.11  christos     /* C8 */
   1103  1.11  christos     { Bad_Opcode },
   1104  1.11  christos     { Bad_Opcode },
   1105  1.11  christos     { Bad_Opcode },
   1106  1.11  christos     { Bad_Opcode },
   1107  1.11  christos     { Bad_Opcode },
   1108  1.11  christos     { Bad_Opcode },
   1109  1.11  christos     { Bad_Opcode },
   1110  1.11  christos     { Bad_Opcode },
   1111  1.11  christos     /* D0 */
   1112  1.11  christos     { REG_TABLE (REG_D0) },
   1113  1.11  christos     { REG_TABLE (REG_D1) },
   1114  1.11  christos     { REG_TABLE (REG_D2) },
   1115  1.11  christos     { REG_TABLE (REG_D3) },
   1116  1.11  christos     { Bad_Opcode },
   1117  1.11  christos     { Bad_Opcode },
   1118  1.11  christos     { Bad_Opcode },
   1119  1.11  christos     { Bad_Opcode },
   1120  1.11  christos     /* D8 */
   1121  1.11  christos     { Bad_Opcode },
   1122  1.11  christos     { Bad_Opcode },
   1123  1.11  christos     { Bad_Opcode },
   1124  1.11  christos     { Bad_Opcode },
   1125  1.11  christos     { Bad_Opcode },
   1126  1.11  christos     { Bad_Opcode },
   1127  1.11  christos     { Bad_Opcode },
   1128  1.11  christos     { Bad_Opcode },
   1129  1.11  christos     /* E0 */
   1130  1.11  christos     { Bad_Opcode },
   1131  1.11  christos     { Bad_Opcode },
   1132  1.11  christos     { Bad_Opcode },
   1133  1.11  christos     { Bad_Opcode },
   1134  1.11  christos     { Bad_Opcode },
   1135  1.11  christos     { Bad_Opcode },
   1136  1.11  christos     { Bad_Opcode },
   1137  1.11  christos     { Bad_Opcode },
   1138  1.11  christos     /* E8 */
   1139  1.11  christos     { Bad_Opcode },
   1140  1.11  christos     { Bad_Opcode },
   1141  1.11  christos     { Bad_Opcode },
   1142   1.1  christos     { Bad_Opcode },
   1143   1.1  christos     { Bad_Opcode },
   1144   1.1  christos     { Bad_Opcode },
   1145   1.1  christos     { Bad_Opcode },
   1146   1.1  christos     { Bad_Opcode },
   1147  1.11  christos     /* F0 */
   1148  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_F0) },
   1149  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_F1) },
   1150  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_F2) },
   1151  1.11  christos     { Bad_Opcode },
   1152  1.11  christos     { "%NFtzcntS",	{ Gv, Ev }, PREFIX_NP_OR_DATA },
   1153  1.11  christos     { "%NFlzcntS",	{ Gv, Ev }, PREFIX_NP_OR_DATA },
   1154  1.11  christos     { REG_TABLE (REG_EVEX_MAP4_F6) },
   1155  1.11  christos     { REG_TABLE (REG_EVEX_MAP4_F7) },
   1156  1.11  christos     /* F8 */
   1157  1.11  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_F8) },
   1158  1.11  christos     { "movdiri",	{ Mdq, Gdq }, NO_PREFIX },
   1159   1.1  christos     { Bad_Opcode },
   1160   1.1  christos     { Bad_Opcode },
   1161  1.11  christos     { PREFIX_TABLE (PREFIX_0F38FC) },
   1162   1.1  christos     { Bad_Opcode },
   1163  1.11  christos     { REG_TABLE (REG_EVEX_MAP4_FE) },
   1164  1.11  christos     { REG_TABLE (REG_EVEX_MAP4_FF) },
   1165   1.1  christos   },
   1166  1.10  christos   /* EVEX_MAP5_ */
   1167  1.10  christos   {
   1168  1.10  christos     /* 00 */
   1169  1.10  christos     { Bad_Opcode },
   1170  1.10  christos     { Bad_Opcode },
   1171  1.10  christos     { Bad_Opcode },
   1172  1.10  christos     { Bad_Opcode },
   1173  1.10  christos     { Bad_Opcode },
   1174  1.10  christos     { Bad_Opcode },
   1175  1.10  christos     { Bad_Opcode },
   1176  1.10  christos     { Bad_Opcode },
   1177  1.10  christos     /* 08 */
   1178  1.10  christos     { Bad_Opcode },
   1179  1.10  christos     { Bad_Opcode },
   1180  1.10  christos     { Bad_Opcode },
   1181  1.10  christos     { Bad_Opcode },
   1182  1.10  christos     { Bad_Opcode },
   1183  1.10  christos     { Bad_Opcode },
   1184  1.10  christos     { Bad_Opcode },
   1185  1.10  christos     { Bad_Opcode },
   1186  1.10  christos     /* 10 */
   1187  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_10) },
   1188  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_11) },
   1189  1.10  christos     { Bad_Opcode },
   1190  1.10  christos     { Bad_Opcode },
   1191  1.10  christos     { Bad_Opcode },
   1192  1.10  christos     { Bad_Opcode },
   1193  1.10  christos     { Bad_Opcode },
   1194  1.10  christos     { Bad_Opcode },
   1195  1.10  christos     /* 18 */
   1196  1.10  christos     { Bad_Opcode },
   1197  1.10  christos     { Bad_Opcode },
   1198  1.10  christos     { Bad_Opcode },
   1199  1.10  christos     { Bad_Opcode },
   1200  1.10  christos     { Bad_Opcode },
   1201  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_1D) },
   1202  1.10  christos     { Bad_Opcode },
   1203  1.10  christos     { Bad_Opcode },
   1204  1.10  christos     /* 20 */
   1205  1.10  christos     { Bad_Opcode },
   1206  1.10  christos     { Bad_Opcode },
   1207  1.10  christos     { Bad_Opcode },
   1208  1.10  christos     { Bad_Opcode },
   1209  1.10  christos     { Bad_Opcode },
   1210  1.10  christos     { Bad_Opcode },
   1211  1.10  christos     { Bad_Opcode },
   1212  1.10  christos     { Bad_Opcode },
   1213  1.10  christos     /* 28 */
   1214  1.10  christos     { Bad_Opcode },
   1215  1.10  christos     { Bad_Opcode },
   1216  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_2A) },
   1217  1.10  christos     { Bad_Opcode },
   1218  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_2C) },
   1219  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_2D) },
   1220  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_2E) },
   1221  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_2F) },
   1222  1.10  christos     /* 30 */
   1223  1.10  christos     { Bad_Opcode },
   1224  1.10  christos     { Bad_Opcode },
   1225  1.10  christos     { Bad_Opcode },
   1226  1.10  christos     { Bad_Opcode },
   1227  1.10  christos     { Bad_Opcode },
   1228  1.10  christos     { Bad_Opcode },
   1229  1.10  christos     { Bad_Opcode },
   1230  1.10  christos     { Bad_Opcode },
   1231  1.10  christos     /* 38 */
   1232  1.10  christos     { Bad_Opcode },
   1233  1.10  christos     { Bad_Opcode },
   1234  1.10  christos     { Bad_Opcode },
   1235  1.10  christos     { Bad_Opcode },
   1236  1.10  christos     { Bad_Opcode },
   1237  1.10  christos     { Bad_Opcode },
   1238  1.10  christos     { Bad_Opcode },
   1239  1.10  christos     { Bad_Opcode },
   1240  1.10  christos     /* 40 */
   1241  1.10  christos     { Bad_Opcode },
   1242  1.10  christos     { Bad_Opcode },
   1243  1.10  christos     { Bad_Opcode },
   1244  1.10  christos     { Bad_Opcode },
   1245  1.10  christos     { Bad_Opcode },
   1246  1.10  christos     { Bad_Opcode },
   1247  1.10  christos     { Bad_Opcode },
   1248  1.10  christos     { Bad_Opcode },
   1249  1.10  christos     /* 48 */
   1250  1.10  christos     { Bad_Opcode },
   1251  1.10  christos     { Bad_Opcode },
   1252  1.10  christos     { Bad_Opcode },
   1253  1.10  christos     { Bad_Opcode },
   1254  1.10  christos     { Bad_Opcode },
   1255  1.10  christos     { Bad_Opcode },
   1256  1.10  christos     { Bad_Opcode },
   1257  1.10  christos     { Bad_Opcode },
   1258  1.10  christos     /* 50 */
   1259  1.10  christos     { Bad_Opcode },
   1260  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_51) },
   1261  1.10  christos     { Bad_Opcode },
   1262  1.10  christos     { Bad_Opcode },
   1263  1.10  christos     { Bad_Opcode },
   1264  1.10  christos     { Bad_Opcode },
   1265  1.10  christos     { Bad_Opcode },
   1266  1.10  christos     { Bad_Opcode },
   1267  1.10  christos     /* 58 */
   1268  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_58) },
   1269  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_59) },
   1270  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_5A) },
   1271  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_5B) },
   1272  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_5C) },
   1273  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_5D) },
   1274  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_5E) },
   1275  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_5F) },
   1276  1.10  christos     /* 60 */
   1277  1.10  christos     { Bad_Opcode },
   1278  1.10  christos     { Bad_Opcode },
   1279  1.10  christos     { Bad_Opcode },
   1280  1.10  christos     { Bad_Opcode },
   1281  1.10  christos     { Bad_Opcode },
   1282  1.10  christos     { Bad_Opcode },
   1283  1.10  christos     { Bad_Opcode },
   1284  1.10  christos     { Bad_Opcode },
   1285  1.10  christos     /* 68 */
   1286  1.10  christos     { Bad_Opcode },
   1287  1.10  christos     { Bad_Opcode },
   1288  1.10  christos     { Bad_Opcode },
   1289  1.10  christos     { Bad_Opcode },
   1290  1.10  christos     { Bad_Opcode },
   1291  1.10  christos     { Bad_Opcode },
   1292  1.11  christos     { "vmovwY", { XMScalar, Edw }, PREFIX_DATA },
   1293  1.10  christos     { Bad_Opcode },
   1294  1.10  christos     /* 70 */
   1295  1.10  christos     { Bad_Opcode },
   1296  1.10  christos     { Bad_Opcode },
   1297  1.10  christos     { Bad_Opcode },
   1298  1.10  christos     { Bad_Opcode },
   1299  1.10  christos     { Bad_Opcode },
   1300  1.10  christos     { Bad_Opcode },
   1301  1.10  christos     { Bad_Opcode },
   1302  1.10  christos     { Bad_Opcode },
   1303  1.10  christos     /* 78 */
   1304  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_78) },
   1305  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_79) },
   1306  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_7A) },
   1307  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_7B) },
   1308  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_7C) },
   1309  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_7D) },
   1310  1.10  christos     { "vmovw",	  { Edw, XMScalar }, PREFIX_DATA },
   1311  1.10  christos     { Bad_Opcode },
   1312  1.10  christos     /* 80 */
   1313  1.10  christos     { Bad_Opcode },
   1314  1.10  christos     { Bad_Opcode },
   1315  1.10  christos     { Bad_Opcode },
   1316  1.10  christos     { Bad_Opcode },
   1317  1.10  christos     { Bad_Opcode },
   1318  1.10  christos     { Bad_Opcode },
   1319  1.10  christos     { Bad_Opcode },
   1320  1.10  christos     { Bad_Opcode },
   1321  1.10  christos     /* 88 */
   1322  1.10  christos     { Bad_Opcode },
   1323  1.10  christos     { Bad_Opcode },
   1324  1.10  christos     { Bad_Opcode },
   1325  1.10  christos     { Bad_Opcode },
   1326  1.10  christos     { Bad_Opcode },
   1327  1.10  christos     { Bad_Opcode },
   1328  1.10  christos     { Bad_Opcode },
   1329  1.10  christos     { Bad_Opcode },
   1330  1.10  christos     /* 90 */
   1331  1.10  christos     { Bad_Opcode },
   1332  1.10  christos     { Bad_Opcode },
   1333  1.10  christos     { Bad_Opcode },
   1334  1.10  christos     { Bad_Opcode },
   1335  1.10  christos     { Bad_Opcode },
   1336  1.10  christos     { Bad_Opcode },
   1337  1.10  christos     { Bad_Opcode },
   1338  1.10  christos     { Bad_Opcode },
   1339  1.10  christos     /* 98 */
   1340  1.10  christos     { Bad_Opcode },
   1341  1.10  christos     { Bad_Opcode },
   1342  1.10  christos     { Bad_Opcode },
   1343  1.10  christos     { Bad_Opcode },
   1344  1.10  christos     { Bad_Opcode },
   1345  1.10  christos     { Bad_Opcode },
   1346  1.10  christos     { Bad_Opcode },
   1347  1.10  christos     { Bad_Opcode },
   1348  1.10  christos     /* A0 */
   1349  1.10  christos     { Bad_Opcode },
   1350  1.10  christos     { Bad_Opcode },
   1351  1.10  christos     { Bad_Opcode },
   1352  1.10  christos     { Bad_Opcode },
   1353  1.10  christos     { Bad_Opcode },
   1354  1.10  christos     { Bad_Opcode },
   1355  1.10  christos     { Bad_Opcode },
   1356  1.10  christos     { Bad_Opcode },
   1357  1.10  christos     /* A8 */
   1358  1.10  christos     { Bad_Opcode },
   1359  1.10  christos     { Bad_Opcode },
   1360  1.10  christos     { Bad_Opcode },
   1361  1.10  christos     { Bad_Opcode },
   1362  1.10  christos     { Bad_Opcode },
   1363  1.10  christos     { Bad_Opcode },
   1364  1.10  christos     { Bad_Opcode },
   1365  1.10  christos     { Bad_Opcode },
   1366  1.10  christos     /* B0 */
   1367  1.10  christos     { Bad_Opcode },
   1368  1.10  christos     { Bad_Opcode },
   1369  1.10  christos     { Bad_Opcode },
   1370  1.10  christos     { Bad_Opcode },
   1371  1.10  christos     { Bad_Opcode },
   1372  1.10  christos     { Bad_Opcode },
   1373  1.10  christos     { Bad_Opcode },
   1374  1.10  christos     { Bad_Opcode },
   1375  1.10  christos     /* B8 */
   1376  1.10  christos     { Bad_Opcode },
   1377  1.10  christos     { Bad_Opcode },
   1378  1.10  christos     { Bad_Opcode },
   1379  1.10  christos     { Bad_Opcode },
   1380  1.10  christos     { Bad_Opcode },
   1381  1.10  christos     { Bad_Opcode },
   1382  1.10  christos     { Bad_Opcode },
   1383  1.10  christos     { Bad_Opcode },
   1384  1.10  christos     /* C0 */
   1385  1.10  christos     { Bad_Opcode },
   1386  1.10  christos     { Bad_Opcode },
   1387  1.10  christos     { Bad_Opcode },
   1388  1.10  christos     { Bad_Opcode },
   1389  1.10  christos     { Bad_Opcode },
   1390  1.10  christos     { Bad_Opcode },
   1391  1.10  christos     { Bad_Opcode },
   1392  1.10  christos     { Bad_Opcode },
   1393  1.10  christos     /* C8 */
   1394  1.10  christos     { Bad_Opcode },
   1395  1.10  christos     { Bad_Opcode },
   1396  1.10  christos     { Bad_Opcode },
   1397  1.10  christos     { Bad_Opcode },
   1398  1.10  christos     { Bad_Opcode },
   1399  1.10  christos     { Bad_Opcode },
   1400  1.10  christos     { Bad_Opcode },
   1401  1.10  christos     { Bad_Opcode },
   1402  1.10  christos     /* D0 */
   1403  1.10  christos     { Bad_Opcode },
   1404  1.10  christos     { Bad_Opcode },
   1405  1.10  christos     { Bad_Opcode },
   1406  1.10  christos     { Bad_Opcode },
   1407  1.10  christos     { Bad_Opcode },
   1408  1.10  christos     { Bad_Opcode },
   1409  1.10  christos     { Bad_Opcode },
   1410  1.10  christos     { Bad_Opcode },
   1411  1.10  christos     /* D8 */
   1412  1.10  christos     { Bad_Opcode },
   1413  1.10  christos     { Bad_Opcode },
   1414  1.10  christos     { Bad_Opcode },
   1415  1.10  christos     { Bad_Opcode },
   1416  1.10  christos     { Bad_Opcode },
   1417  1.10  christos     { Bad_Opcode },
   1418  1.10  christos     { Bad_Opcode },
   1419  1.10  christos     { Bad_Opcode },
   1420  1.10  christos     /* E0 */
   1421  1.10  christos     { Bad_Opcode },
   1422  1.10  christos     { Bad_Opcode },
   1423  1.10  christos     { Bad_Opcode },
   1424  1.10  christos     { Bad_Opcode },
   1425  1.10  christos     { Bad_Opcode },
   1426  1.10  christos     { Bad_Opcode },
   1427  1.10  christos     { Bad_Opcode },
   1428  1.10  christos     { Bad_Opcode },
   1429  1.10  christos     /* E8 */
   1430  1.10  christos     { Bad_Opcode },
   1431  1.10  christos     { Bad_Opcode },
   1432  1.10  christos     { Bad_Opcode },
   1433  1.10  christos     { Bad_Opcode },
   1434  1.10  christos     { Bad_Opcode },
   1435  1.10  christos     { Bad_Opcode },
   1436  1.10  christos     { Bad_Opcode },
   1437  1.10  christos     { Bad_Opcode },
   1438  1.10  christos     /* F0 */
   1439  1.10  christos     { Bad_Opcode },
   1440  1.10  christos     { Bad_Opcode },
   1441  1.10  christos     { Bad_Opcode },
   1442  1.10  christos     { Bad_Opcode },
   1443  1.10  christos     { Bad_Opcode },
   1444  1.10  christos     { Bad_Opcode },
   1445  1.10  christos     { Bad_Opcode },
   1446  1.10  christos     { Bad_Opcode },
   1447  1.10  christos     /* F8 */
   1448  1.10  christos     { Bad_Opcode },
   1449  1.10  christos     { Bad_Opcode },
   1450  1.10  christos     { Bad_Opcode },
   1451  1.10  christos     { Bad_Opcode },
   1452  1.10  christos     { Bad_Opcode },
   1453  1.10  christos     { Bad_Opcode },
   1454  1.10  christos     { Bad_Opcode },
   1455  1.10  christos     { Bad_Opcode },
   1456  1.10  christos   },
   1457  1.10  christos   /* EVEX_MAP6_ */
   1458  1.10  christos   {
   1459  1.10  christos     /* 00 */
   1460  1.10  christos     { Bad_Opcode },
   1461  1.10  christos     { Bad_Opcode },
   1462  1.10  christos     { Bad_Opcode },
   1463  1.10  christos     { Bad_Opcode },
   1464  1.10  christos     { Bad_Opcode },
   1465  1.10  christos     { Bad_Opcode },
   1466  1.10  christos     { Bad_Opcode },
   1467  1.10  christos     { Bad_Opcode },
   1468  1.10  christos     /* 08 */
   1469  1.10  christos     { Bad_Opcode },
   1470  1.10  christos     { Bad_Opcode },
   1471  1.10  christos     { Bad_Opcode },
   1472  1.10  christos     { Bad_Opcode },
   1473  1.10  christos     { Bad_Opcode },
   1474  1.10  christos     { Bad_Opcode },
   1475  1.10  christos     { Bad_Opcode },
   1476  1.10  christos     { Bad_Opcode },
   1477  1.10  christos     /* 10 */
   1478  1.10  christos     { Bad_Opcode },
   1479  1.10  christos     { Bad_Opcode },
   1480  1.10  christos     { Bad_Opcode },
   1481  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_13) },
   1482  1.10  christos     { Bad_Opcode },
   1483  1.10  christos     { Bad_Opcode },
   1484  1.10  christos     { Bad_Opcode },
   1485  1.10  christos     { Bad_Opcode },
   1486  1.10  christos     /* 18 */
   1487  1.10  christos     { Bad_Opcode },
   1488  1.10  christos     { Bad_Opcode },
   1489  1.10  christos     { Bad_Opcode },
   1490  1.10  christos     { Bad_Opcode },
   1491  1.10  christos     { Bad_Opcode },
   1492  1.10  christos     { Bad_Opcode },
   1493  1.10  christos     { Bad_Opcode },
   1494  1.10  christos     { Bad_Opcode },
   1495  1.10  christos     /* 20 */
   1496  1.10  christos     { Bad_Opcode },
   1497  1.10  christos     { Bad_Opcode },
   1498  1.10  christos     { Bad_Opcode },
   1499  1.10  christos     { Bad_Opcode },
   1500  1.10  christos     { Bad_Opcode },
   1501  1.10  christos     { Bad_Opcode },
   1502  1.10  christos     { Bad_Opcode },
   1503  1.10  christos     { Bad_Opcode },
   1504  1.10  christos     /* 28 */
   1505  1.10  christos     { Bad_Opcode },
   1506  1.10  christos     { Bad_Opcode },
   1507  1.10  christos     { Bad_Opcode },
   1508  1.10  christos     { Bad_Opcode },
   1509  1.10  christos     { "vscalefp%XH",      { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1510  1.10  christos     { "vscalefs%XH",      { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1511  1.10  christos     { Bad_Opcode },
   1512  1.10  christos     { Bad_Opcode },
   1513  1.10  christos     /* 30 */
   1514  1.10  christos     { Bad_Opcode },
   1515  1.10  christos     { Bad_Opcode },
   1516  1.10  christos     { Bad_Opcode },
   1517  1.10  christos     { Bad_Opcode },
   1518  1.10  christos     { Bad_Opcode },
   1519  1.10  christos     { Bad_Opcode },
   1520  1.10  christos     { Bad_Opcode },
   1521  1.10  christos     { Bad_Opcode },
   1522  1.10  christos     /* 38 */
   1523  1.10  christos     { Bad_Opcode },
   1524  1.10  christos     { Bad_Opcode },
   1525  1.10  christos     { Bad_Opcode },
   1526  1.10  christos     { Bad_Opcode },
   1527  1.10  christos     { Bad_Opcode },
   1528  1.10  christos     { Bad_Opcode },
   1529  1.10  christos     { Bad_Opcode },
   1530  1.10  christos     { Bad_Opcode },
   1531  1.10  christos     /* 40 */
   1532  1.10  christos     { Bad_Opcode },
   1533  1.10  christos     { Bad_Opcode },
   1534  1.10  christos     { "vgetexpp%XH",      { XM, EXxh, EXxEVexS }, PREFIX_DATA },
   1535  1.10  christos     { "vgetexps%XH",      { XMScalar, VexScalar, EXw, EXxEVexS }, PREFIX_DATA },
   1536  1.10  christos     { Bad_Opcode },
   1537  1.10  christos     { Bad_Opcode },
   1538  1.10  christos     { Bad_Opcode },
   1539  1.10  christos     { Bad_Opcode },
   1540  1.10  christos     /* 48 */
   1541  1.10  christos     { Bad_Opcode },
   1542  1.10  christos     { Bad_Opcode },
   1543  1.10  christos     { Bad_Opcode },
   1544  1.10  christos     { Bad_Opcode },
   1545  1.10  christos     { "vrcpp%XH",	  { XM, EXxh }, PREFIX_DATA },
   1546  1.10  christos     { "vrcps%XH",	  { XMScalar, VexScalar, EXw }, PREFIX_DATA },
   1547  1.10  christos     { "vrsqrtp%XH",       { XM, EXxh }, PREFIX_DATA },
   1548  1.10  christos     { "vrsqrts%XH",       { XMScalar, VexScalar, EXw }, PREFIX_DATA },
   1549  1.10  christos     /* 50 */
   1550  1.10  christos     { Bad_Opcode },
   1551  1.10  christos     { Bad_Opcode },
   1552  1.10  christos     { Bad_Opcode },
   1553  1.10  christos     { Bad_Opcode },
   1554  1.10  christos     { Bad_Opcode },
   1555  1.10  christos     { Bad_Opcode },
   1556  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_56) },
   1557  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_57) },
   1558  1.10  christos     /* 58 */
   1559  1.10  christos     { Bad_Opcode },
   1560  1.10  christos     { Bad_Opcode },
   1561  1.10  christos     { Bad_Opcode },
   1562  1.10  christos     { Bad_Opcode },
   1563  1.10  christos     { Bad_Opcode },
   1564  1.10  christos     { Bad_Opcode },
   1565  1.10  christos     { Bad_Opcode },
   1566  1.10  christos     { Bad_Opcode },
   1567  1.10  christos     /* 60 */
   1568  1.10  christos     { Bad_Opcode },
   1569  1.10  christos     { Bad_Opcode },
   1570  1.10  christos     { Bad_Opcode },
   1571  1.10  christos     { Bad_Opcode },
   1572  1.10  christos     { Bad_Opcode },
   1573  1.10  christos     { Bad_Opcode },
   1574  1.10  christos     { Bad_Opcode },
   1575  1.10  christos     { Bad_Opcode },
   1576  1.10  christos     /* 68 */
   1577  1.10  christos     { Bad_Opcode },
   1578  1.10  christos     { Bad_Opcode },
   1579  1.10  christos     { Bad_Opcode },
   1580  1.10  christos     { Bad_Opcode },
   1581  1.10  christos     { Bad_Opcode },
   1582  1.10  christos     { Bad_Opcode },
   1583  1.10  christos     { Bad_Opcode },
   1584  1.10  christos     { Bad_Opcode },
   1585  1.10  christos     /* 70 */
   1586  1.10  christos     { Bad_Opcode },
   1587  1.10  christos     { Bad_Opcode },
   1588  1.10  christos     { Bad_Opcode },
   1589  1.10  christos     { Bad_Opcode },
   1590  1.10  christos     { Bad_Opcode },
   1591  1.10  christos     { Bad_Opcode },
   1592  1.10  christos     { Bad_Opcode },
   1593  1.10  christos     { Bad_Opcode },
   1594  1.10  christos     /* 78 */
   1595  1.10  christos     { Bad_Opcode },
   1596  1.10  christos     { Bad_Opcode },
   1597  1.10  christos     { Bad_Opcode },
   1598  1.10  christos     { Bad_Opcode },
   1599  1.10  christos     { Bad_Opcode },
   1600  1.10  christos     { Bad_Opcode },
   1601  1.10  christos     { Bad_Opcode },
   1602  1.10  christos     { Bad_Opcode },
   1603  1.10  christos     /* 80 */
   1604  1.10  christos     { Bad_Opcode },
   1605  1.10  christos     { Bad_Opcode },
   1606  1.10  christos     { Bad_Opcode },
   1607  1.10  christos     { Bad_Opcode },
   1608  1.10  christos     { Bad_Opcode },
   1609  1.10  christos     { Bad_Opcode },
   1610  1.10  christos     { Bad_Opcode },
   1611  1.10  christos     { Bad_Opcode },
   1612  1.10  christos     /* 88 */
   1613  1.10  christos     { Bad_Opcode },
   1614  1.10  christos     { Bad_Opcode },
   1615  1.10  christos     { Bad_Opcode },
   1616  1.10  christos     { Bad_Opcode },
   1617  1.10  christos     { Bad_Opcode },
   1618  1.10  christos     { Bad_Opcode },
   1619  1.10  christos     { Bad_Opcode },
   1620  1.10  christos     { Bad_Opcode },
   1621  1.10  christos     /* 90 */
   1622  1.10  christos     { Bad_Opcode },
   1623  1.10  christos     { Bad_Opcode },
   1624  1.10  christos     { Bad_Opcode },
   1625  1.10  christos     { Bad_Opcode },
   1626  1.10  christos     { Bad_Opcode },
   1627  1.10  christos     { Bad_Opcode },
   1628  1.10  christos     { "vfmaddsub132p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1629  1.10  christos     { "vfmsubadd132p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1630  1.10  christos     /* 98 */
   1631  1.10  christos     { "vfmadd132p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1632  1.10  christos     { "vfmadd132s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1633  1.10  christos     { "vfmsub132p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1634  1.10  christos     { "vfmsub132s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1635  1.10  christos     { "vfnmadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1636  1.10  christos     { "vfnmadd132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1637  1.10  christos     { "vfnmsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1638  1.10  christos     { "vfnmsub132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1639  1.10  christos     /* A0 */
   1640  1.10  christos     { Bad_Opcode },
   1641  1.10  christos     { Bad_Opcode },
   1642  1.10  christos     { Bad_Opcode },
   1643  1.10  christos     { Bad_Opcode },
   1644  1.10  christos     { Bad_Opcode },
   1645  1.10  christos     { Bad_Opcode },
   1646  1.10  christos     { "vfmaddsub213p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1647  1.10  christos     { "vfmsubadd213p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1648  1.10  christos     /* A8 */
   1649  1.10  christos     { "vfmadd213p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1650  1.10  christos     { "vfmadd213s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1651  1.10  christos     { "vfmsub213p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1652  1.10  christos     { "vfmsub213s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1653  1.10  christos     { "vfnmadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1654  1.10  christos     { "vfnmadd213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1655  1.10  christos     { "vfnmsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1656  1.10  christos     { "vfnmsub213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1657  1.10  christos     /* B0 */
   1658  1.10  christos     { Bad_Opcode },
   1659  1.10  christos     { Bad_Opcode },
   1660  1.10  christos     { Bad_Opcode },
   1661  1.10  christos     { Bad_Opcode },
   1662  1.10  christos     { Bad_Opcode },
   1663  1.10  christos     { Bad_Opcode },
   1664  1.10  christos     { "vfmaddsub231p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1665  1.10  christos     { "vfmsubadd231p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1666  1.10  christos     /* B8 */
   1667  1.10  christos     { "vfmadd231p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1668  1.10  christos     { "vfmadd231s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1669  1.10  christos     { "vfmsub231p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1670  1.10  christos     { "vfmsub231s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1671  1.10  christos     { "vfnmadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1672  1.10  christos     { "vfnmadd231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1673  1.10  christos     { "vfnmsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1674  1.10  christos     { "vfnmsub231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1675  1.10  christos     /* C0 */
   1676  1.10  christos     { Bad_Opcode },
   1677  1.10  christos     { Bad_Opcode },
   1678  1.10  christos     { Bad_Opcode },
   1679  1.10  christos     { Bad_Opcode },
   1680  1.10  christos     { Bad_Opcode },
   1681  1.10  christos     { Bad_Opcode },
   1682  1.10  christos     { Bad_Opcode },
   1683  1.10  christos     { Bad_Opcode },
   1684  1.10  christos     /* C8 */
   1685  1.10  christos     { Bad_Opcode },
   1686  1.10  christos     { Bad_Opcode },
   1687  1.10  christos     { Bad_Opcode },
   1688  1.10  christos     { Bad_Opcode },
   1689  1.10  christos     { Bad_Opcode },
   1690  1.10  christos     { Bad_Opcode },
   1691  1.10  christos     { Bad_Opcode },
   1692  1.10  christos     { Bad_Opcode },
   1693  1.10  christos     /* D0 */
   1694  1.10  christos     { Bad_Opcode },
   1695  1.10  christos     { Bad_Opcode },
   1696  1.10  christos     { Bad_Opcode },
   1697  1.10  christos     { Bad_Opcode },
   1698  1.10  christos     { Bad_Opcode },
   1699  1.10  christos     { Bad_Opcode },
   1700  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_D6) },
   1701  1.10  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_D7) },
   1702  1.10  christos     /* D8 */
   1703  1.10  christos     { Bad_Opcode },
   1704  1.10  christos     { Bad_Opcode },
   1705  1.10  christos     { Bad_Opcode },
   1706  1.10  christos     { Bad_Opcode },
   1707  1.10  christos     { Bad_Opcode },
   1708  1.10  christos     { Bad_Opcode },
   1709  1.10  christos     { Bad_Opcode },
   1710  1.10  christos     { Bad_Opcode },
   1711  1.10  christos     /* E0 */
   1712  1.10  christos     { Bad_Opcode },
   1713  1.10  christos     { Bad_Opcode },
   1714  1.10  christos     { Bad_Opcode },
   1715  1.10  christos     { Bad_Opcode },
   1716  1.10  christos     { Bad_Opcode },
   1717  1.10  christos     { Bad_Opcode },
   1718  1.10  christos     { Bad_Opcode },
   1719  1.10  christos     { Bad_Opcode },
   1720  1.10  christos     /* E8 */
   1721  1.10  christos     { Bad_Opcode },
   1722  1.10  christos     { Bad_Opcode },
   1723  1.10  christos     { Bad_Opcode },
   1724  1.10  christos     { Bad_Opcode },
   1725  1.10  christos     { Bad_Opcode },
   1726  1.10  christos     { Bad_Opcode },
   1727  1.10  christos     { Bad_Opcode },
   1728  1.10  christos     { Bad_Opcode },
   1729  1.10  christos     /* F0 */
   1730  1.10  christos     { Bad_Opcode },
   1731  1.10  christos     { Bad_Opcode },
   1732  1.10  christos     { Bad_Opcode },
   1733  1.10  christos     { Bad_Opcode },
   1734  1.10  christos     { Bad_Opcode },
   1735  1.10  christos     { Bad_Opcode },
   1736  1.10  christos     { Bad_Opcode },
   1737  1.10  christos     { Bad_Opcode },
   1738  1.10  christos     /* F8 */
   1739  1.10  christos     { Bad_Opcode },
   1740  1.10  christos     { Bad_Opcode },
   1741  1.10  christos     { Bad_Opcode },
   1742  1.10  christos     { Bad_Opcode },
   1743  1.10  christos     { Bad_Opcode },
   1744  1.10  christos     { Bad_Opcode },
   1745  1.10  christos     { Bad_Opcode },
   1746  1.10  christos     { Bad_Opcode },
   1747  1.10  christos   },
   1748   1.1  christos };
   1749