Home | History | Annotate | Line # | Download | only in opcodes
      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.7  christos     { PREFIX_TABLE (PREFIX_0F10) },
     24  1.7  christos     { PREFIX_TABLE (PREFIX_0F11) },
     25  1.6  christos     { PREFIX_TABLE (PREFIX_VEX_0F12) },
     26  1.7  christos     { VEX_LEN_TABLE (VEX_LEN_0F13) },
     27  1.7  christos     { "%XEvunpcklpX",	{ XM, Vex, EXx }, PREFIX_OPCODE },
     28  1.7  christos     { "%XEvunpckhpX",	{ XM, Vex, EXx }, PREFIX_OPCODE },
     29  1.6  christos     { PREFIX_TABLE (PREFIX_VEX_0F16) },
     30  1.7  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.7  christos     { "%XEvmovapX",	{ XM, EXx }, PREFIX_OPCODE },
     51  1.7  christos     { "%XEvmovapX",	{ EXxS, XM }, PREFIX_OPCODE },
     52  1.6  christos     { PREFIX_TABLE (PREFIX_VEX_0F2A) },
     53  1.7  christos     { "%XEvmovntpX",	{ Mx, XM }, PREFIX_OPCODE },
     54  1.6  christos     { PREFIX_TABLE (PREFIX_VEX_0F2C) },
     55  1.6  christos     { PREFIX_TABLE (PREFIX_VEX_0F2D) },
     56  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_0F2E) },
     57  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_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.7  christos     { PREFIX_TABLE (PREFIX_0F51) },
     97  1.1  christos     { Bad_Opcode },
     98  1.1  christos     { Bad_Opcode },
     99  1.7  christos     { "%XEvandpX",	{ XM, Vex, EXx }, PREFIX_OPCODE },
    100  1.7  christos     { "%XEvandnpX",	{ XM, Vex, EXx }, PREFIX_OPCODE },
    101  1.7  christos     { "%XEvorpX",	{ XM, Vex, EXx }, PREFIX_OPCODE },
    102  1.7  christos     { "%XEvxorpX",	{ XM, Vex, EXx }, PREFIX_OPCODE },
    103  1.1  christos     /* 58 */
    104  1.7  christos     { PREFIX_TABLE (PREFIX_0F58) },
    105  1.7  christos     { PREFIX_TABLE (PREFIX_0F59) },
    106  1.7  christos     { PREFIX_TABLE (PREFIX_0F5A) },
    107  1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F5B) },
    108  1.7  christos     { PREFIX_TABLE (PREFIX_0F5C) },
    109  1.7  christos     { PREFIX_TABLE (PREFIX_0F5D) },
    110  1.7  christos     { PREFIX_TABLE (PREFIX_0F5E) },
    111  1.7  christos     { PREFIX_TABLE (PREFIX_0F5F) },
    112  1.1  christos     /* 60 */
    113  1.7  christos     { "%XEvpunpcklbw",	{ XM, Vex, EXx }, PREFIX_DATA },
    114  1.7  christos     { "%XEvpunpcklwd",	{ XM, Vex, EXx }, PREFIX_DATA },
    115  1.6  christos     { VEX_W_TABLE (EVEX_W_0F62) },
    116  1.7  christos     { "%XEvpacksswb",	{ XM, Vex, EXx }, PREFIX_DATA },
    117  1.6  christos     { "vpcmpgtb",	{ MaskG, Vex, EXx }, PREFIX_DATA },
    118  1.6  christos     { "vpcmpgtw",	{ MaskG, Vex, EXx }, PREFIX_DATA },
    119  1.6  christos     { VEX_W_TABLE (EVEX_W_0F66) },
    120  1.7  christos     { "%XEvpackuswb",	{ XM, Vex, EXx }, PREFIX_DATA },
    121  1.1  christos     /* 68 */
    122  1.7  christos     { "%XEvpunpckhbw",	{ XM, Vex, EXx }, PREFIX_DATA },
    123  1.7  christos     { "%XEvpunpckhwd",	{ XM, Vex, EXx }, PREFIX_DATA },
    124  1.6  christos     { VEX_W_TABLE (EVEX_W_0F6A) },
    125  1.6  christos     { VEX_W_TABLE (EVEX_W_0F6B) },
    126  1.6  christos     { VEX_W_TABLE (EVEX_W_0F6C) },
    127  1.6  christos     { VEX_W_TABLE (EVEX_W_0F6D) },
    128  1.6  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.1  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.6  christos     { "vpcmpeqb",	{ MaskG, Vex, EXx }, PREFIX_DATA },
    136  1.6  christos     { "vpcmpeqw",	{ MaskG, Vex, EXx }, PREFIX_DATA },
    137  1.6  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.8  christos     { X86_64_EVEX_W_TABLE (VEX_W_0F90_L_0) },
    168  1.8  christos     { X86_64_EVEX_W_TABLE (VEX_W_0F91_L_0) },
    169  1.8  christos     { X86_64_EVEX_W_TABLE (VEX_W_0F92_L_0) },
    170  1.8  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.6  christos     { VEX_LEN_TABLE (VEX_LEN_0FC4) },
    226  1.7  christos     { "%XEvpextrw",	{ Gd, Uxmm, Ib }, PREFIX_DATA },
    227  1.7  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.7  christos     { "%XEvpsrlw",	{ XM, Vex, EXxmm }, PREFIX_DATA },
    241  1.6  christos     { VEX_W_TABLE (EVEX_W_0FD2) },
    242  1.6  christos     { VEX_W_TABLE (EVEX_W_0FD3) },
    243  1.6  christos     { VEX_W_TABLE (EVEX_W_0FD4) },
    244  1.7  christos     { "%XEvpmullw",	{ XM, Vex, EXx }, PREFIX_DATA },
    245  1.6  christos     { VEX_W_TABLE (EVEX_W_0FD6) },
    246  1.1  christos     { Bad_Opcode },
    247  1.1  christos     /* D8 */
    248  1.7  christos     { "%XEvpsubusb",	{ XM, Vex, EXx }, PREFIX_DATA },
    249  1.7  christos     { "%XEvpsubusw",	{ XM, Vex, EXx }, PREFIX_DATA },
    250  1.7  christos     { "%XEvpminub",	{ XM, Vex, EXx }, PREFIX_DATA },
    251  1.6  christos     { "vpand%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    252  1.7  christos     { "%XEvpaddusb",	{ XM, Vex, EXx }, PREFIX_DATA },
    253  1.7  christos     { "%XEvpaddusw",	{ XM, Vex, EXx }, PREFIX_DATA },
    254  1.7  christos     { "%XEvpmaxub",	{ XM, Vex, EXx }, PREFIX_DATA },
    255  1.6  christos     { "vpandn%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    256  1.1  christos     /* E0 */
    257  1.7  christos     { "%XEvpavgb",	{ XM, Vex, EXx }, PREFIX_DATA },
    258  1.7  christos     { "%XEvpsraw",	{ XM, Vex, EXxmm }, PREFIX_DATA },
    259  1.8  christos     { VEX_W_TABLE (EVEX_W_0FE2) },
    260  1.7  christos     { "%XEvpavgw",	{ XM, Vex, EXx }, PREFIX_DATA },
    261  1.7  christos     { "%XEvpmulhuw",	{ XM, Vex, EXx }, PREFIX_DATA },
    262  1.7  christos     { "%XEvpmulhw",	{ XM, Vex, EXx }, PREFIX_DATA },
    263  1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0FE6) },
    264  1.6  christos     { VEX_W_TABLE (EVEX_W_0FE7) },
    265  1.1  christos     /* E8 */
    266  1.7  christos     { "%XEvpsubsb",	{ XM, Vex, EXx }, PREFIX_DATA },
    267  1.7  christos     { "%XEvpsubsw",	{ XM, Vex, EXx }, PREFIX_DATA },
    268  1.7  christos     { "%XEvpminsw",	{ XM, Vex, EXx }, PREFIX_DATA },
    269  1.6  christos     { "vpor%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    270  1.7  christos     { "%XEvpaddsb",	{ XM, Vex, EXx }, PREFIX_DATA },
    271  1.7  christos     { "%XEvpaddsw",	{ XM, Vex, EXx }, PREFIX_DATA },
    272  1.7  christos     { "%XEvpmaxsw",	{ XM, Vex, EXx }, PREFIX_DATA },
    273  1.6  christos     { "vpxor%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    274  1.1  christos     /* F0 */
    275  1.1  christos     { Bad_Opcode },
    276  1.7  christos     { "%XEvpsllw",	{ XM, Vex, EXxmm }, PREFIX_DATA },
    277  1.6  christos     { VEX_W_TABLE (EVEX_W_0FF2) },
    278  1.6  christos     { VEX_W_TABLE (EVEX_W_0FF3) },
    279  1.6  christos     { VEX_W_TABLE (EVEX_W_0FF4) },
    280  1.7  christos     { "%XEvpmaddwd",	{ XM, Vex, EXx }, PREFIX_DATA },
    281  1.7  christos     { "%XEvpsadbwY",	{ XM, Vex, EXx }, PREFIX_DATA },
    282  1.1  christos     { Bad_Opcode },
    283  1.1  christos     /* F8 */
    284  1.7  christos     { "%XEvpsubb",	{ XM, Vex, EXx }, PREFIX_DATA },
    285  1.7  christos     { "%XEvpsubw",	{ XM, Vex, EXx }, PREFIX_DATA },
    286  1.6  christos     { VEX_W_TABLE (EVEX_W_0FFA) },
    287  1.6  christos     { VEX_W_TABLE (EVEX_W_0FFB) },
    288  1.7  christos     { "%XEvpaddb",	{ XM, Vex, EXx }, PREFIX_DATA },
    289  1.7  christos     { "%XEvpaddw",	{ XM, Vex, EXx }, PREFIX_DATA },
    290  1.6  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.7  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.7  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.7  christos     { "%XEvpmulhrsw",	{ XM, Vex, EXx }, PREFIX_DATA },
    309  1.6  christos     { VEX_W_TABLE (VEX_W_0F380C) },
    310  1.7  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.1  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.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3816) },
    321  1.1  christos     { Bad_Opcode },
    322  1.1  christos     /* 18 */
    323  1.6  christos     { VEX_W_TABLE (VEX_W_0F3818) },
    324  1.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3819) },
    325  1.7  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F381A) },
    326  1.7  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F381B) },
    327  1.7  christos     { "%XEvpabsb",		{ XM, EXx }, PREFIX_DATA },
    328  1.7  christos     { "%XEvpabsw",		{ XM, EXx }, PREFIX_DATA },
    329  1.6  christos     { VEX_W_TABLE (EVEX_W_0F381E) },
    330  1.6  christos     { VEX_W_TABLE (EVEX_W_0F381F) },
    331  1.1  christos     /* 20 */
    332  1.1  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.1  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.6  christos     { VEX_W_TABLE (EVEX_W_0F382B) },
    345  1.6  christos     { "vscalefp%XW",	{ XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    346  1.6  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.1  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.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3836) },
    357  1.6  christos     { VEX_W_TABLE (EVEX_W_0F3837) },
    358  1.1  christos     /* 38 */
    359  1.1  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.7  christos     { "%XEvpminu%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    363  1.7  christos     { "%XEvpmaxsb",	{ XM, Vex, EXx }, PREFIX_DATA },
    364  1.7  christos     { "%XEvpmaxs%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    365  1.7  christos     { "%XEvpmaxuw",	{ XM, Vex, EXx }, PREFIX_DATA },
    366  1.7  christos     { "%XEvpmaxu%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    367  1.1  christos     /* 40 */
    368  1.7  christos     { "%XEvpmull%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    369  1.1  christos     { Bad_Opcode },
    370  1.6  christos     { "vgetexpp%XW",	{ XM, EXx, EXxEVexS }, PREFIX_DATA },
    371  1.6  christos     { "vgetexps%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexS }, PREFIX_DATA },
    372  1.6  christos     { "vplzcnt%DQ",	{ XM, EXx }, PREFIX_DATA },
    373  1.6  christos     { "vpsrlv%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    374  1.6  christos     { "vpsrav%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    375  1.6  christos     { "vpsllv%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    376  1.1  christos     /* 48 */
    377  1.1  christos     { Bad_Opcode },
    378  1.8  christos     { X86_64_EVEX_MEM_W_TABLE (VEX_W_0F3849_X86_64_L_0) },
    379  1.8  christos     { X86_64_TABLE (X86_64_EVEX_0F384A) },
    380  1.8  christos     { X86_64_EVEX_MEM_W_TABLE (VEX_W_0F384B_X86_64_L_0) },
    381  1.6  christos     { "vrcp14p%XW",	{ XM, EXx }, PREFIX_DATA },
    382  1.6  christos     { "vrcp14s%XW",	{ XMScalar, VexScalar, EXdq }, PREFIX_DATA },
    383  1.6  christos     { "vrsqrt14p%XW",	{ XM, EXx }, 0 },
    384  1.6  christos     { "vrsqrt14s%XW",	{ XMScalar, VexScalar, EXdq }, PREFIX_DATA },
    385  1.1  christos     /* 50 */
    386  1.7  christos     { VEX_W_TABLE (VEX_W_0F3850) },
    387  1.7  christos     { VEX_W_TABLE (VEX_W_0F3851) },
    388  1.4  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3852) },
    389  1.4  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3853) },
    390  1.6  christos     { "vpopcnt%BW",	{ XM, EXx }, PREFIX_DATA },
    391  1.6  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.6  christos     { VEX_W_TABLE (VEX_W_0F3858) },
    396  1.6  christos     { VEX_W_TABLE (EVEX_W_0F3859) },
    397  1.7  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F385A) },
    398  1.7  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.6  christos     { "vpexpand%BW",	{ XM, EXbwUnit }, PREFIX_DATA },
    407  1.6  christos     { "vpcompress%BW",	{ EXbwUnit, XM }, PREFIX_DATA },
    408  1.6  christos     { "vpblendm%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    409  1.6  christos     { "vblendmp%XW",	{ XM, Vex, EXx }, PREFIX_DATA },
    410  1.6  christos     { "vpblendm%BW",	{ XM, Vex, EXx }, PREFIX_DATA },
    411  1.8  christos     { "vcvt2p%XS2phx",	{ XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    412  1.1  christos     /* 68 */
    413  1.5  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.8  christos     { X86_64_TABLE (X86_64_EVEX_0F386D) },
    419  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F386E) },
    420  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F386F) },
    421  1.1  christos     /* 70 */
    422  1.6  christos     { VEX_W_TABLE (EVEX_W_0F3870) },
    423  1.6  christos     { "vpshldv%DQ",  { XM, Vex, EXx }, PREFIX_DATA },
    424  1.4  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3872) },
    425  1.6  christos     { "vpshrdv%DQ",  { XM, Vex, EXx }, PREFIX_DATA },
    426  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3874) },
    427  1.6  christos     { "vpermi2%BW",	{ XM, Vex, EXx }, PREFIX_DATA },
    428  1.6  christos     { "vpermi2%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    429  1.6  christos     { "vpermi2p%XW",	{ XM, Vex, EXx }, PREFIX_DATA },
    430  1.1  christos     /* 78 */
    431  1.6  christos     { VEX_W_TABLE (VEX_W_0F3878) },
    432  1.6  christos     { VEX_W_TABLE (VEX_W_0F3879) },
    433  1.6  christos     { VEX_W_TABLE (EVEX_W_0F387A) },
    434  1.6  christos     { VEX_W_TABLE (EVEX_W_0F387B) },
    435  1.7  christos     { "vpbroadcastK",	{ XM, Rdq }, PREFIX_DATA },
    436  1.6  christos     { "vpermt2%BW",	{ XM, Vex, EXx }, PREFIX_DATA },
    437  1.6  christos     { "vpermt2%DQ",	{ XM, Vex, EXx }, PREFIX_DATA },
    438  1.6  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.6  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.6  christos     { "vexpandp%XW",	{ XM, EXEvexXGscat }, PREFIX_DATA },
    450  1.6  christos     { "vpexpand%DQ",	{ XM, EXEvexXGscat }, PREFIX_DATA },
    451  1.6  christos     { "vcompressp%XW",	{ EXEvexXGscat, XM }, PREFIX_DATA },
    452  1.6  christos     { "vpcompress%DQ",	{ EXEvexXGscat, XM }, PREFIX_DATA },
    453  1.1  christos     { Bad_Opcode },
    454  1.6  christos     { "vperm%BW",	{ XM, Vex, EXx }, PREFIX_DATA },
    455  1.1  christos     { Bad_Opcode },
    456  1.6  christos     { "vpshufbitqmb",	{ MaskG, Vex, EXx }, PREFIX_DATA },
    457  1.1  christos     /* 90 */
    458  1.6  christos     { "vpgatherd%DQ",	{ XMGatherD, MVexVSIBDWpX }, PREFIX_DATA },
    459  1.6  christos     { "vpgatherq%DQ",	{ XMGatherQ, MVexVSIBQWpX }, PREFIX_DATA },
    460  1.6  christos     { "vgatherdp%XW",	{ XMGatherD, MVexVSIBDWpX }, PREFIX_DATA },
    461  1.6  christos     { "vgatherqp%XW",	{ XMGatherQ, MVexVSIBQWpX }, PREFIX_DATA },
    462  1.1  christos     { Bad_Opcode },
    463  1.1  christos     { Bad_Opcode },
    464  1.7  christos     { "%XEvfmaddsub132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    465  1.7  christos     { "%XEvfmsubadd132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    466  1.1  christos     /* 98 */
    467  1.7  christos     { "%XEvfmadd132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    468  1.7  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.7  christos     { "%XEvfnmadd132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    472  1.7  christos     { "%XEvfnmadd132s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    473  1.7  christos     { "%XEvfnmsub132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    474  1.7  christos     { "%XEvfnmsub132s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    475  1.1  christos     /* A0 */
    476  1.6  christos     { "vpscatterd%DQ",	{ MVexVSIBDWpX, XM }, PREFIX_DATA },
    477  1.6  christos     { "vpscatterq%DQ",	{ MVexVSIBQWpX, XMGatherQ }, PREFIX_DATA },
    478  1.6  christos     { "vscatterdp%XW",	{ MVexVSIBDWpX, XM }, PREFIX_DATA },
    479  1.6  christos     { "vscatterqp%XW",	{ MVexVSIBQWpX, XMGatherQ }, PREFIX_DATA },
    480  1.1  christos     { Bad_Opcode },
    481  1.1  christos     { Bad_Opcode },
    482  1.7  christos     { "%XEvfmaddsub213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    483  1.7  christos     { "%XEvfmsubadd213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    484  1.1  christos     /* A8 */
    485  1.7  christos     { "%XEvfmadd213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    486  1.7  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.7  christos     { "%XEvfnmadd213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    490  1.7  christos     { "%XEvfnmadd213s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    491  1.7  christos     { "%XEvfnmsub213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    492  1.7  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.7  christos     { VEX_W_TABLE (VEX_W_0F38B4) },
    499  1.7  christos     { VEX_W_TABLE (VEX_W_0F38B5) },
    500  1.7  christos     { "%XEvfmaddsub231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    501  1.7  christos     { "%XEvfmsubadd231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    502  1.1  christos     /* B8 */
    503  1.7  christos     { "%XEvfmadd231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    504  1.7  christos     { "%XEvfmadd231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    505  1.7  christos     { "%XEvfmsub231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    506  1.7  christos     { "%XEvfmsub231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    507  1.7  christos     { "%XEvfnmadd231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    508  1.7  christos     { "%XEvfnmadd231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA },
    509  1.7  christos     { "%XEvfnmsub231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA },
    510  1.7  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.6  christos     { "vpconflict%DQ",	{ XM, EXx }, PREFIX_DATA },
    517  1.1  christos     { Bad_Opcode },
    518  1.7  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F38C6) },
    519  1.7  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F38C7) },
    520  1.1  christos     /* C8 */
    521  1.6  christos     { "vexp2p%XW",	{ XM, EXx, EXxEVexS }, PREFIX_DATA },
    522  1.1  christos     { Bad_Opcode },
    523  1.6  christos     { "vrcp28p%XW",	{ XM, EXx, EXxEVexS }, PREFIX_DATA },
    524  1.6  christos     { "vrcp28s%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexS }, PREFIX_DATA },
    525  1.6  christos     { "vrsqrt28p%XW",	{ XM, EXx, EXxEVexS }, PREFIX_DATA },
    526  1.6  christos     { "vrsqrt28s%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexS }, PREFIX_DATA },
    527  1.1  christos     { Bad_Opcode },
    528  1.6  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.8  christos     { VEX_W_TABLE (VEX_W_0F38D2) },
    533  1.8  christos     { VEX_W_TABLE (VEX_W_0F38D3) },
    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.8  christos     { VEX_W_TABLE (VEX_W_0F38DA) },
    542  1.1  christos     { Bad_Opcode },
    543  1.7  christos     { "%XEvaesencY",	{ XM, Vex, EXx }, PREFIX_DATA },
    544  1.7  christos     { "%XEvaesenclastY", { XM, Vex, EXx }, PREFIX_DATA },
    545  1.7  christos     { "%XEvaesdecY",	{ XM, Vex, EXx }, PREFIX_DATA },
    546  1.7  christos     { "%XEvaesdeclastY", { XM, Vex, EXx }, PREFIX_DATA },
    547  1.1  christos     /* E0 */
    548  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    549  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    550  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    551  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    552  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    553  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    554  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    555  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    556  1.1  christos     /* E8 */
    557  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    558  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    559  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    560  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    561  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    562  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    563  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    564  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) },
    565  1.1  christos     /* F0 */
    566  1.1  christos     { Bad_Opcode },
    567  1.1  christos     { Bad_Opcode },
    568  1.8  christos     { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F38F2_L_0) },
    569  1.8  christos     { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F38F3_L_0) },
    570  1.1  christos     { Bad_Opcode },
    571  1.8  christos     { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F38F5_L_0) },
    572  1.8  christos     { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F38F6_L_0) },
    573  1.8  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.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A00) },
    588  1.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A01) },
    589  1.1  christos     { Bad_Opcode },
    590  1.6  christos     { "valign%DQ",	{ XM, Vex, EXx, Ib }, PREFIX_DATA },
    591  1.6  christos     { VEX_W_TABLE (VEX_W_0F3A04) },
    592  1.7  christos     { "%XEvpermilp%XD", { XM, EXx, Ib }, PREFIX_DATA },
    593  1.1  christos     { Bad_Opcode },
    594  1.8  christos     { X86_64_TABLE (X86_64_EVEX_0F3A07) },
    595  1.1  christos     /* 08 */
    596  1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A08) },
    597  1.6  christos     { "vrndscalep%XD", { XM, EXx, EXxEVexS, Ib }, PREFIX_DATA },
    598  1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A0A) },
    599  1.6  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.7  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.6  christos     { VEX_LEN_TABLE (VEX_LEN_0F3A14) },
    610  1.6  christos     { VEX_LEN_TABLE (VEX_LEN_0F3A15) },
    611  1.6  christos     { VEX_LEN_TABLE (VEX_LEN_0F3A16) },
    612  1.6  christos     { VEX_LEN_TABLE (VEX_LEN_0F3A17) },
    613  1.1  christos     /* 18 */
    614  1.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A18) },
    615  1.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A19) },
    616  1.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A1A) },
    617  1.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B) },
    618  1.6  christos     { Bad_Opcode },
    619  1.6  christos     { VEX_W_TABLE (VEX_W_0F3A1D) },
    620  1.6  christos     { "vpcmpu%DQ",	{ MaskG, Vex, EXx, VPCMP }, PREFIX_DATA },
    621  1.6  christos     { "vpcmp%DQ",	{ MaskG, Vex, EXx, VPCMP }, PREFIX_DATA },
    622  1.1  christos     /* 20 */
    623  1.6  christos     { VEX_LEN_TABLE (VEX_LEN_0F3A20) },
    624  1.6  christos     { VEX_W_TABLE (EVEX_W_0F3A21) },
    625  1.6  christos     { VEX_LEN_TABLE (VEX_LEN_0F3A22) },
    626  1.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A23) },
    627  1.1  christos     { Bad_Opcode },
    628  1.6  christos     { "vpternlog%DQ",	{ XM, Vex, EXx, Ib }, PREFIX_DATA },
    629  1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A26) },
    630  1.1  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.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A38) },
    651  1.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A39) },
    652  1.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A3A) },
    653  1.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A3B) },
    654  1.1  christos     { Bad_Opcode },
    655  1.1  christos     { Bad_Opcode },
    656  1.6  christos     { "vpcmpu%BW",	{ MaskG, Vex, EXx, VPCMP }, PREFIX_DATA },
    657  1.6  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.6  christos     { VEX_W_TABLE (EVEX_W_0F3A42) },
    662  1.6  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A43) },
    663  1.7  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.6  christos     { "vrangep%XW",	{ XM, Vex, EXx, EXxEVexS, Ib }, PREFIX_DATA },
    678  1.6  christos     { "vranges%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, PREFIX_DATA },
    679  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A52) },
    680  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A53) },
    681  1.6  christos     { "vfixupimmp%XW",	{ XM, Vex, EXx, EXxEVexS, Ib }, PREFIX_DATA },
    682  1.6  christos     { "vfixupimms%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, PREFIX_DATA },
    683  1.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A56) },
    684  1.1  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.1  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3A66) },
    702  1.1  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.6  christos     { VEX_W_TABLE (EVEX_W_0F3A70) },
    714  1.6  christos     { "vpshld%DQ",   { XM, Vex, EXx, Ib }, PREFIX_DATA },
    715  1.6  christos     { VEX_W_TABLE (EVEX_W_0F3A72) },
    716  1.6  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.8  christos     { X86_64_TABLE (X86_64_EVEX_0F3A77) },
    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.6  christos     { PREFIX_TABLE (PREFIX_EVEX_0F3AC2) },
    806  1.6  christos     { Bad_Opcode },
    807  1.6  christos     { Bad_Opcode },
    808  1.6  christos     { Bad_Opcode },
    809  1.6  christos     { Bad_Opcode },
    810  1.6  christos     { Bad_Opcode },
    811  1.6  christos     /* C8 */
    812  1.6  christos     { Bad_Opcode },
    813  1.6  christos     { Bad_Opcode },
    814  1.6  christos     { Bad_Opcode },
    815  1.6  christos     { Bad_Opcode },
    816  1.6  christos     { Bad_Opcode },
    817  1.6  christos     { Bad_Opcode },
    818  1.6  christos     { VEX_W_TABLE (VEX_W_0F3ACE) },
    819  1.6  christos     { VEX_W_TABLE (VEX_W_0F3ACF) },
    820  1.6  christos     /* D0 */
    821  1.6  christos     { Bad_Opcode },
    822  1.6  christos     { Bad_Opcode },
    823  1.6  christos     { Bad_Opcode },
    824  1.6  christos     { Bad_Opcode },
    825  1.6  christos     { Bad_Opcode },
    826  1.6  christos     { Bad_Opcode },
    827  1.6  christos     { Bad_Opcode },
    828  1.6  christos     { Bad_Opcode },
    829  1.6  christos     /* D8 */
    830  1.6  christos     { Bad_Opcode },
    831  1.6  christos     { Bad_Opcode },
    832  1.6  christos     { Bad_Opcode },
    833  1.6  christos     { Bad_Opcode },
    834  1.6  christos     { Bad_Opcode },
    835  1.6  christos     { Bad_Opcode },
    836  1.6  christos     { Bad_Opcode },
    837  1.6  christos     { Bad_Opcode },
    838  1.6  christos     /* E0 */
    839  1.6  christos     { Bad_Opcode },
    840  1.6  christos     { Bad_Opcode },
    841  1.6  christos     { Bad_Opcode },
    842  1.6  christos     { Bad_Opcode },
    843  1.6  christos     { Bad_Opcode },
    844  1.6  christos     { Bad_Opcode },
    845  1.6  christos     { Bad_Opcode },
    846  1.6  christos     { Bad_Opcode },
    847  1.6  christos     /* E8 */
    848  1.6  christos     { Bad_Opcode },
    849  1.6  christos     { Bad_Opcode },
    850  1.6  christos     { Bad_Opcode },
    851  1.6  christos     { Bad_Opcode },
    852  1.6  christos     { Bad_Opcode },
    853  1.6  christos     { Bad_Opcode },
    854  1.6  christos     { Bad_Opcode },
    855  1.6  christos     { Bad_Opcode },
    856  1.6  christos     /* F0 */
    857  1.8  christos     { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F3AF0_L_0) },
    858  1.7  christos     { Bad_Opcode },
    859  1.7  christos     { Bad_Opcode },
    860  1.7  christos     { Bad_Opcode },
    861  1.7  christos     { Bad_Opcode },
    862  1.7  christos     { Bad_Opcode },
    863  1.7  christos     { Bad_Opcode },
    864  1.7  christos     { Bad_Opcode },
    865  1.7  christos     /* F8 */
    866  1.7  christos     { Bad_Opcode },
    867  1.7  christos     { Bad_Opcode },
    868  1.7  christos     { Bad_Opcode },
    869  1.7  christos     { Bad_Opcode },
    870  1.7  christos     { Bad_Opcode },
    871  1.7  christos     { Bad_Opcode },
    872  1.7  christos     { Bad_Opcode },
    873  1.7  christos     { Bad_Opcode },
    874  1.7  christos   },
    875  1.7  christos   /* EVEX_MAP4_ */
    876  1.7  christos   {
    877  1.7  christos     /* 00 */
    878  1.8  christos     { "%NFaddB",	{ VexGb, Eb, Gb }, NO_PREFIX },
    879  1.8  christos     { "%NFaddS",	{ VexGv, Ev, Gv }, PREFIX_NP_OR_DATA },
    880  1.8  christos     { "%NFaddB",	{ VexGb, Gb, EbS }, NO_PREFIX },
    881  1.8  christos     { "%NFaddS",	{ VexGv, Gv, EvS }, PREFIX_NP_OR_DATA },
    882  1.7  christos     { Bad_Opcode },
    883  1.7  christos     { Bad_Opcode },
    884  1.7  christos     { Bad_Opcode },
    885  1.7  christos     { Bad_Opcode },
    886  1.7  christos     /* 08 */
    887  1.8  christos     { "%NForB",	{ VexGb, Eb, Gb }, NO_PREFIX },
    888  1.8  christos     { "%NForS",	{ VexGv, Ev, Gv }, PREFIX_NP_OR_DATA },
    889  1.8  christos     { "%NForB",	{ VexGb, Gb, EbS }, NO_PREFIX },
    890  1.8  christos     { "%NForS",	{ VexGv, Gv, EvS }, PREFIX_NP_OR_DATA },
    891  1.7  christos     { Bad_Opcode },
    892  1.7  christos     { Bad_Opcode },
    893  1.7  christos     { Bad_Opcode },
    894  1.7  christos     { Bad_Opcode },
    895  1.7  christos     /* 10 */
    896  1.8  christos     { "adcB",	{ VexGb, Eb, Gb }, NO_PREFIX },
    897  1.8  christos     { "adcS",	{ VexGv, Ev, Gv }, PREFIX_NP_OR_DATA },
    898  1.8  christos     { "adcB",	{ VexGb, Gb, EbS }, NO_PREFIX },
    899  1.8  christos     { "adcS",	{ VexGv, Gv, EvS }, PREFIX_NP_OR_DATA },
    900  1.7  christos     { Bad_Opcode },
    901  1.7  christos     { Bad_Opcode },
    902  1.7  christos     { Bad_Opcode },
    903  1.7  christos     { Bad_Opcode },
    904  1.7  christos     /* 18 */
    905  1.8  christos     { "sbbB",	{ VexGb, Eb, Gb }, NO_PREFIX },
    906  1.8  christos     { "sbbS",	{ VexGv, Ev, Gv }, PREFIX_NP_OR_DATA },
    907  1.8  christos     { "sbbB",	{ VexGb, Gb, EbS }, NO_PREFIX },
    908  1.8  christos     { "sbbS",	{ VexGv, Gv, EvS }, PREFIX_NP_OR_DATA },
    909  1.7  christos     { Bad_Opcode },
    910  1.7  christos     { Bad_Opcode },
    911  1.7  christos     { Bad_Opcode },
    912  1.7  christos     { Bad_Opcode },
    913  1.7  christos     /* 20 */
    914  1.8  christos     { "%NFandB",	{ VexGb, Eb, Gb }, NO_PREFIX },
    915  1.8  christos     { "%NFandS",	{ VexGv, Ev, Gv }, PREFIX_NP_OR_DATA },
    916  1.8  christos     { "%NFandB",	{ VexGb, Gb, EbS }, NO_PREFIX },
    917  1.8  christos     { "%NFandS",	{ VexGv, Gv, EvS }, PREFIX_NP_OR_DATA },
    918  1.8  christos     { "%NFshldS",	{ VexGv, Ev, Gv, Ib }, PREFIX_NP_OR_DATA },
    919  1.7  christos     { Bad_Opcode },
    920  1.7  christos     { Bad_Opcode },
    921  1.7  christos     { Bad_Opcode },
    922  1.7  christos     /* 28 */
    923  1.8  christos     { "%NFsubB",	{ VexGb, Eb, Gb }, NO_PREFIX },
    924  1.8  christos     { "%NFsubS",	{ VexGv, Ev, Gv }, PREFIX_NP_OR_DATA },
    925  1.8  christos     { "%NFsubB",	{ VexGb, Gb, EbS }, NO_PREFIX },
    926  1.8  christos     { "%NFsubS",	{ VexGv, Gv, EvS }, PREFIX_NP_OR_DATA },
    927  1.8  christos     { "%NFshrdS",	{ VexGv, Ev, Gv, Ib }, PREFIX_NP_OR_DATA },
    928  1.7  christos     { Bad_Opcode },
    929  1.7  christos     { Bad_Opcode },
    930  1.7  christos     { Bad_Opcode },
    931  1.7  christos     /* 30 */
    932  1.8  christos     { "%NFxorB",	{ VexGb, Eb, Gb }, NO_PREFIX },
    933  1.8  christos     { "%NFxorS",	{ VexGv, Ev, Gv }, PREFIX_NP_OR_DATA },
    934  1.8  christos     { "%NFxorB",	{ VexGb, Gb, EbS }, NO_PREFIX },
    935  1.8  christos     { "%NFxorS",	{ VexGv, Gv, EvS }, PREFIX_NP_OR_DATA },
    936  1.7  christos     { Bad_Opcode },
    937  1.7  christos     { Bad_Opcode },
    938  1.7  christos     { Bad_Opcode },
    939  1.7  christos     { Bad_Opcode },
    940  1.7  christos     /* 38 */
    941  1.8  christos     { "%NEccmp%SCB%DF",	{ Eb, Gb }, 0 },
    942  1.8  christos     { "%NEccmp%SCS%DF",	{ Ev, Gv }, PREFIX_NP_OR_DATA },
    943  1.8  christos     { "%NEccmp%SCB%DF",	{ Gb, EbS }, 0 },
    944  1.8  christos     { "%NEccmp%SCS%DF",	{ Gv, EvS }, PREFIX_NP_OR_DATA },
    945  1.7  christos     { Bad_Opcode },
    946  1.7  christos     { Bad_Opcode },
    947  1.7  christos     { Bad_Opcode },
    948  1.7  christos     { Bad_Opcode },
    949  1.7  christos     /* 40 */
    950  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    951  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    952  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    953  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    954  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    955  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    956  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    957  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    958  1.7  christos     /* 48 */
    959  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    960  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    961  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    962  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    963  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    964  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    965  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    966  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) },
    967  1.7  christos     /* 50 */
    968  1.7  christos     { Bad_Opcode },
    969  1.7  christos     { Bad_Opcode },
    970  1.7  christos     { Bad_Opcode },
    971  1.7  christos     { Bad_Opcode },
    972  1.7  christos     { Bad_Opcode },
    973  1.7  christos     { Bad_Opcode },
    974  1.7  christos     { Bad_Opcode },
    975  1.7  christos     { Bad_Opcode },
    976  1.7  christos     /* 58 */
    977  1.7  christos     { Bad_Opcode },
    978  1.7  christos     { Bad_Opcode },
    979  1.7  christos     { Bad_Opcode },
    980  1.7  christos     { Bad_Opcode },
    981  1.7  christos     { Bad_Opcode },
    982  1.7  christos     { Bad_Opcode },
    983  1.7  christos     { Bad_Opcode },
    984  1.7  christos     { Bad_Opcode },
    985  1.7  christos     /* 60 */
    986  1.8  christos     { MOD_TABLE (MOD_EVEX_MAP4_60) },
    987  1.8  christos     { MOD_TABLE (MOD_EVEX_MAP4_61) },
    988  1.7  christos     { Bad_Opcode },
    989  1.7  christos     { Bad_Opcode },
    990  1.7  christos     { Bad_Opcode },
    991  1.7  christos     { "wrussK",	{ M, Gdq }, PREFIX_DATA },
    992  1.7  christos     { PREFIX_TABLE (PREFIX_0F38F6) },
    993  1.7  christos     { Bad_Opcode },
    994  1.7  christos     /* 68 */
    995  1.7  christos     { Bad_Opcode },
    996  1.8  christos     { "%NFimul%ZUS",	{ Gv, Ev, Iv }, PREFIX_NP_OR_DATA },
    997  1.7  christos     { Bad_Opcode },
    998  1.8  christos     { "%NFimul%ZUS",	{ Gv, Ev, sIb }, PREFIX_NP_OR_DATA },
    999  1.7  christos     { Bad_Opcode },
   1000  1.6  christos     { Bad_Opcode },
   1001  1.6  christos     { Bad_Opcode },
   1002  1.6  christos     { Bad_Opcode },
   1003  1.7  christos     /* 70 */
   1004  1.7  christos     { Bad_Opcode },
   1005  1.7  christos     { Bad_Opcode },
   1006  1.7  christos     { Bad_Opcode },
   1007  1.7  christos     { Bad_Opcode },
   1008  1.7  christos     { Bad_Opcode },
   1009  1.7  christos     { Bad_Opcode },
   1010  1.7  christos     { Bad_Opcode },
   1011  1.7  christos     { Bad_Opcode },
   1012  1.7  christos     /* 78 */
   1013  1.7  christos     { Bad_Opcode },
   1014  1.7  christos     { Bad_Opcode },
   1015  1.7  christos     { Bad_Opcode },
   1016  1.7  christos     { Bad_Opcode },
   1017  1.7  christos     { Bad_Opcode },
   1018  1.7  christos     { Bad_Opcode },
   1019  1.7  christos     { Bad_Opcode },
   1020  1.7  christos     { Bad_Opcode },
   1021  1.7  christos     /* 80 */
   1022  1.7  christos     { REG_TABLE (REG_EVEX_MAP4_80) },
   1023  1.7  christos     { REG_TABLE (REG_EVEX_MAP4_81) },
   1024  1.7  christos     { Bad_Opcode },
   1025  1.7  christos     { REG_TABLE (REG_EVEX_MAP4_83) },
   1026  1.8  christos     { "%NEctest%SCB%DF",	      { Eb, Gb }, NO_PREFIX },
   1027  1.8  christos     { "%NEctest%SCS%DF",	      { Ev, Gv }, PREFIX_NP_OR_DATA },
   1028  1.7  christos     { Bad_Opcode },
   1029  1.7  christos     { Bad_Opcode },
   1030  1.7  christos     /* 88 */
   1031  1.8  christos     { "%NFpopcntS",	{ Gv, Ev }, PREFIX_NP_OR_DATA },
   1032  1.7  christos     { Bad_Opcode },
   1033  1.8  christos     { "movrsB",	{ Gb, Mb }, NO_PREFIX },
   1034  1.8  christos     { "movrsS",	{ Gv, Mv }, PREFIX_NP_OR_DATA },
   1035  1.7  christos     { Bad_Opcode },
   1036  1.7  christos     { Bad_Opcode },
   1037  1.7  christos     { Bad_Opcode },
   1038  1.7  christos     { REG_TABLE (REG_EVEX_MAP4_8F) },
   1039  1.7  christos     /* 90 */
   1040  1.7  christos     { Bad_Opcode },
   1041  1.7  christos     { Bad_Opcode },
   1042  1.7  christos     { Bad_Opcode },
   1043  1.7  christos     { Bad_Opcode },
   1044  1.7  christos     { Bad_Opcode },
   1045  1.7  christos     { Bad_Opcode },
   1046  1.7  christos     { Bad_Opcode },
   1047  1.7  christos     { Bad_Opcode },
   1048  1.7  christos     /* 98 */
   1049  1.7  christos     { Bad_Opcode },
   1050  1.7  christos     { Bad_Opcode },
   1051  1.7  christos     { Bad_Opcode },
   1052  1.7  christos     { Bad_Opcode },
   1053  1.7  christos     { Bad_Opcode },
   1054  1.7  christos     { Bad_Opcode },
   1055  1.7  christos     { Bad_Opcode },
   1056  1.7  christos     { Bad_Opcode },
   1057  1.7  christos     /* A0 */
   1058  1.7  christos     { Bad_Opcode },
   1059  1.7  christos     { Bad_Opcode },
   1060  1.7  christos     { Bad_Opcode },
   1061  1.7  christos     { Bad_Opcode },
   1062  1.7  christos     { Bad_Opcode },
   1063  1.8  christos     { "%NFshldS",	{ VexGv, Ev, Gv, CL }, PREFIX_NP_OR_DATA },
   1064  1.7  christos     { Bad_Opcode },
   1065  1.7  christos     { Bad_Opcode },
   1066  1.7  christos     /* A8 */
   1067  1.7  christos     { Bad_Opcode },
   1068  1.7  christos     { Bad_Opcode },
   1069  1.7  christos     { Bad_Opcode },
   1070  1.7  christos     { Bad_Opcode },
   1071  1.7  christos     { Bad_Opcode },
   1072  1.8  christos     { "%NFshrdS",	{ VexGv, Ev, Gv, CL }, PREFIX_NP_OR_DATA },
   1073  1.7  christos     { Bad_Opcode },
   1074  1.8  christos     { "%NFimulS",	{ VexGv, Gv, Ev }, PREFIX_NP_OR_DATA },
   1075  1.7  christos     /* B0 */
   1076  1.7  christos     { Bad_Opcode },
   1077  1.7  christos     { Bad_Opcode },
   1078  1.7  christos     { Bad_Opcode },
   1079  1.7  christos     { Bad_Opcode },
   1080  1.7  christos     { Bad_Opcode },
   1081  1.7  christos     { Bad_Opcode },
   1082  1.7  christos     { Bad_Opcode },
   1083  1.7  christos     { Bad_Opcode },
   1084  1.7  christos     /* B8 */
   1085  1.7  christos     { Bad_Opcode },
   1086  1.7  christos     { Bad_Opcode },
   1087  1.7  christos     { Bad_Opcode },
   1088  1.7  christos     { Bad_Opcode },
   1089  1.7  christos     { Bad_Opcode },
   1090  1.7  christos     { Bad_Opcode },
   1091  1.7  christos     { Bad_Opcode },
   1092  1.7  christos     { Bad_Opcode },
   1093  1.7  christos     /* C0 */
   1094  1.7  christos     { REG_TABLE (REG_C0) },
   1095  1.7  christos     { REG_TABLE (REG_C1) },
   1096  1.7  christos     { Bad_Opcode },
   1097  1.7  christos     { Bad_Opcode },
   1098  1.7  christos     { Bad_Opcode },
   1099  1.7  christos     { Bad_Opcode },
   1100  1.7  christos     { Bad_Opcode },
   1101  1.7  christos     { Bad_Opcode },
   1102  1.7  christos     /* C8 */
   1103  1.7  christos     { Bad_Opcode },
   1104  1.7  christos     { Bad_Opcode },
   1105  1.7  christos     { Bad_Opcode },
   1106  1.7  christos     { Bad_Opcode },
   1107  1.7  christos     { Bad_Opcode },
   1108  1.7  christos     { Bad_Opcode },
   1109  1.7  christos     { Bad_Opcode },
   1110  1.7  christos     { Bad_Opcode },
   1111  1.7  christos     /* D0 */
   1112  1.7  christos     { REG_TABLE (REG_D0) },
   1113  1.7  christos     { REG_TABLE (REG_D1) },
   1114  1.7  christos     { REG_TABLE (REG_D2) },
   1115  1.7  christos     { REG_TABLE (REG_D3) },
   1116  1.8  christos     { Bad_Opcode },
   1117  1.7  christos     { Bad_Opcode },
   1118  1.7  christos     { Bad_Opcode },
   1119  1.7  christos     { Bad_Opcode },
   1120  1.7  christos     /* D8 */
   1121  1.8  christos     { Bad_Opcode },
   1122  1.8  christos     { Bad_Opcode },
   1123  1.8  christos     { Bad_Opcode },
   1124  1.8  christos     { Bad_Opcode },
   1125  1.8  christos     { Bad_Opcode },
   1126  1.8  christos     { Bad_Opcode },
   1127  1.8  christos     { Bad_Opcode },
   1128  1.8  christos     { Bad_Opcode },
   1129  1.7  christos     /* E0 */
   1130  1.7  christos     { Bad_Opcode },
   1131  1.7  christos     { Bad_Opcode },
   1132  1.7  christos     { Bad_Opcode },
   1133  1.7  christos     { Bad_Opcode },
   1134  1.7  christos     { Bad_Opcode },
   1135  1.7  christos     { Bad_Opcode },
   1136  1.7  christos     { Bad_Opcode },
   1137  1.7  christos     { Bad_Opcode },
   1138  1.7  christos     /* E8 */
   1139  1.7  christos     { Bad_Opcode },
   1140  1.6  christos     { Bad_Opcode },
   1141  1.6  christos     { Bad_Opcode },
   1142  1.6  christos     { Bad_Opcode },
   1143  1.6  christos     { Bad_Opcode },
   1144  1.6  christos     { Bad_Opcode },
   1145  1.6  christos     { Bad_Opcode },
   1146  1.6  christos     { Bad_Opcode },
   1147  1.7  christos     /* F0 */
   1148  1.7  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_F0) },
   1149  1.7  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_F1) },
   1150  1.7  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_F2) },
   1151  1.6  christos     { Bad_Opcode },
   1152  1.8  christos     { "%NFtzcntS",	{ Gv, Ev }, PREFIX_NP_OR_DATA },
   1153  1.8  christos     { "%NFlzcntS",	{ Gv, Ev }, PREFIX_NP_OR_DATA },
   1154  1.7  christos     { REG_TABLE (REG_EVEX_MAP4_F6) },
   1155  1.7  christos     { REG_TABLE (REG_EVEX_MAP4_F7) },
   1156  1.7  christos     /* F8 */
   1157  1.7  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP4_F8) },
   1158  1.7  christos     { "movdiri",	{ Mdq, Gdq }, NO_PREFIX },
   1159  1.6  christos     { Bad_Opcode },
   1160  1.6  christos     { Bad_Opcode },
   1161  1.7  christos     { PREFIX_TABLE (PREFIX_0F38FC) },
   1162  1.6  christos     { Bad_Opcode },
   1163  1.7  christos     { REG_TABLE (REG_EVEX_MAP4_FE) },
   1164  1.7  christos     { REG_TABLE (REG_EVEX_MAP4_FF) },
   1165  1.6  christos   },
   1166  1.6  christos   /* EVEX_MAP5_ */
   1167  1.6  christos   {
   1168  1.6  christos     /* 00 */
   1169  1.6  christos     { Bad_Opcode },
   1170  1.6  christos     { Bad_Opcode },
   1171  1.6  christos     { Bad_Opcode },
   1172  1.6  christos     { Bad_Opcode },
   1173  1.6  christos     { Bad_Opcode },
   1174  1.6  christos     { Bad_Opcode },
   1175  1.6  christos     { Bad_Opcode },
   1176  1.6  christos     { Bad_Opcode },
   1177  1.6  christos     /* 08 */
   1178  1.6  christos     { Bad_Opcode },
   1179  1.6  christos     { Bad_Opcode },
   1180  1.6  christos     { Bad_Opcode },
   1181  1.6  christos     { Bad_Opcode },
   1182  1.6  christos     { Bad_Opcode },
   1183  1.6  christos     { Bad_Opcode },
   1184  1.6  christos     { Bad_Opcode },
   1185  1.6  christos     { Bad_Opcode },
   1186  1.6  christos     /* 10 */
   1187  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_10) },
   1188  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_11) },
   1189  1.6  christos     { Bad_Opcode },
   1190  1.6  christos     { Bad_Opcode },
   1191  1.6  christos     { Bad_Opcode },
   1192  1.6  christos     { Bad_Opcode },
   1193  1.6  christos     { Bad_Opcode },
   1194  1.6  christos     { Bad_Opcode },
   1195  1.6  christos     /* 18 */
   1196  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_18) },
   1197  1.6  christos     { Bad_Opcode },
   1198  1.6  christos     { Bad_Opcode },
   1199  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_1B) },
   1200  1.6  christos     { Bad_Opcode },
   1201  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_1D) },
   1202  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_1E) },
   1203  1.6  christos     { Bad_Opcode },
   1204  1.6  christos     /* 20 */
   1205  1.6  christos     { Bad_Opcode },
   1206  1.6  christos     { Bad_Opcode },
   1207  1.6  christos     { Bad_Opcode },
   1208  1.6  christos     { Bad_Opcode },
   1209  1.6  christos     { Bad_Opcode },
   1210  1.6  christos     { Bad_Opcode },
   1211  1.6  christos     { Bad_Opcode },
   1212  1.6  christos     { Bad_Opcode },
   1213  1.6  christos     /* 28 */
   1214  1.6  christos     { Bad_Opcode },
   1215  1.6  christos     { Bad_Opcode },
   1216  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_2A) },
   1217  1.6  christos     { Bad_Opcode },
   1218  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_2C) },
   1219  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_2D) },
   1220  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_2E) },
   1221  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_2F) },
   1222  1.6  christos     /* 30 */
   1223  1.6  christos     { Bad_Opcode },
   1224  1.6  christos     { Bad_Opcode },
   1225  1.6  christos     { Bad_Opcode },
   1226  1.6  christos     { Bad_Opcode },
   1227  1.6  christos     { Bad_Opcode },
   1228  1.6  christos     { Bad_Opcode },
   1229  1.6  christos     { Bad_Opcode },
   1230  1.6  christos     { Bad_Opcode },
   1231  1.6  christos     /* 38 */
   1232  1.6  christos     { Bad_Opcode },
   1233  1.6  christos     { Bad_Opcode },
   1234  1.6  christos     { Bad_Opcode },
   1235  1.6  christos     { Bad_Opcode },
   1236  1.6  christos     { Bad_Opcode },
   1237  1.6  christos     { Bad_Opcode },
   1238  1.6  christos     { Bad_Opcode },
   1239  1.6  christos     { Bad_Opcode },
   1240  1.6  christos     /* 40 */
   1241  1.6  christos     { Bad_Opcode },
   1242  1.6  christos     { Bad_Opcode },
   1243  1.6  christos     { Bad_Opcode },
   1244  1.6  christos     { Bad_Opcode },
   1245  1.6  christos     { Bad_Opcode },
   1246  1.6  christos     { Bad_Opcode },
   1247  1.6  christos     { Bad_Opcode },
   1248  1.6  christos     { Bad_Opcode },
   1249  1.6  christos     /* 48 */
   1250  1.6  christos     { Bad_Opcode },
   1251  1.6  christos     { Bad_Opcode },
   1252  1.6  christos     { Bad_Opcode },
   1253  1.6  christos     { Bad_Opcode },
   1254  1.6  christos     { Bad_Opcode },
   1255  1.6  christos     { Bad_Opcode },
   1256  1.6  christos     { Bad_Opcode },
   1257  1.6  christos     { Bad_Opcode },
   1258  1.6  christos     /* 50 */
   1259  1.6  christos     { Bad_Opcode },
   1260  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_51) },
   1261  1.6  christos     { Bad_Opcode },
   1262  1.6  christos     { Bad_Opcode },
   1263  1.6  christos     { Bad_Opcode },
   1264  1.6  christos     { Bad_Opcode },
   1265  1.6  christos     { Bad_Opcode },
   1266  1.6  christos     { Bad_Opcode },
   1267  1.6  christos     /* 58 */
   1268  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_58) },
   1269  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_59) },
   1270  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_5A) },
   1271  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_5B) },
   1272  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_5C) },
   1273  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_5D) },
   1274  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_5E) },
   1275  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_5F) },
   1276  1.6  christos     /* 60 */
   1277  1.6  christos     { Bad_Opcode },
   1278  1.6  christos     { Bad_Opcode },
   1279  1.6  christos     { Bad_Opcode },
   1280  1.6  christos     { Bad_Opcode },
   1281  1.6  christos     { Bad_Opcode },
   1282  1.6  christos     { Bad_Opcode },
   1283  1.6  christos     { Bad_Opcode },
   1284  1.6  christos     { Bad_Opcode },
   1285  1.6  christos     /* 68 */
   1286  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_68) },
   1287  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_69) },
   1288  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_6A) },
   1289  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_6B) },
   1290  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_6C) },
   1291  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_6D) },
   1292  1.8  christos     { EVEX_LEN_TABLE (EVEX_LEN_MAP5_6E) },
   1293  1.8  christos     { X86_64_TABLE (X86_64_EVEX_MAP5_6F) },
   1294  1.6  christos     /* 70 */
   1295  1.6  christos     { Bad_Opcode },
   1296  1.6  christos     { Bad_Opcode },
   1297  1.6  christos     { Bad_Opcode },
   1298  1.6  christos     { Bad_Opcode },
   1299  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_74) },
   1300  1.6  christos     { Bad_Opcode },
   1301  1.6  christos     { Bad_Opcode },
   1302  1.6  christos     { Bad_Opcode },
   1303  1.6  christos     /* 78 */
   1304  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_78) },
   1305  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_79) },
   1306  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_7A) },
   1307  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_7B) },
   1308  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_7C) },
   1309  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP5_7D) },
   1310  1.8  christos     { EVEX_LEN_TABLE (EVEX_LEN_MAP5_7E) },
   1311  1.6  christos     { Bad_Opcode },
   1312  1.6  christos     /* 80 */
   1313  1.6  christos     { Bad_Opcode },
   1314  1.6  christos     { Bad_Opcode },
   1315  1.6  christos     { Bad_Opcode },
   1316  1.6  christos     { Bad_Opcode },
   1317  1.6  christos     { Bad_Opcode },
   1318  1.6  christos     { Bad_Opcode },
   1319  1.6  christos     { Bad_Opcode },
   1320  1.6  christos     { Bad_Opcode },
   1321  1.6  christos     /* 88 */
   1322  1.6  christos     { Bad_Opcode },
   1323  1.6  christos     { Bad_Opcode },
   1324  1.6  christos     { Bad_Opcode },
   1325  1.6  christos     { Bad_Opcode },
   1326  1.6  christos     { Bad_Opcode },
   1327  1.6  christos     { Bad_Opcode },
   1328  1.6  christos     { Bad_Opcode },
   1329  1.6  christos     { Bad_Opcode },
   1330  1.6  christos     /* 90 */
   1331  1.6  christos     { Bad_Opcode },
   1332  1.6  christos     { Bad_Opcode },
   1333  1.6  christos     { Bad_Opcode },
   1334  1.6  christos     { Bad_Opcode },
   1335  1.6  christos     { Bad_Opcode },
   1336  1.6  christos     { Bad_Opcode },
   1337  1.6  christos     { Bad_Opcode },
   1338  1.6  christos     { Bad_Opcode },
   1339  1.6  christos     /* 98 */
   1340  1.6  christos     { Bad_Opcode },
   1341  1.6  christos     { Bad_Opcode },
   1342  1.6  christos     { Bad_Opcode },
   1343  1.6  christos     { Bad_Opcode },
   1344  1.6  christos     { Bad_Opcode },
   1345  1.6  christos     { Bad_Opcode },
   1346  1.6  christos     { Bad_Opcode },
   1347  1.6  christos     { Bad_Opcode },
   1348  1.6  christos     /* A0 */
   1349  1.6  christos     { Bad_Opcode },
   1350  1.6  christos     { Bad_Opcode },
   1351  1.6  christos     { Bad_Opcode },
   1352  1.6  christos     { Bad_Opcode },
   1353  1.6  christos     { Bad_Opcode },
   1354  1.6  christos     { Bad_Opcode },
   1355  1.6  christos     { Bad_Opcode },
   1356  1.6  christos     { Bad_Opcode },
   1357  1.6  christos     /* A8 */
   1358  1.6  christos     { Bad_Opcode },
   1359  1.6  christos     { Bad_Opcode },
   1360  1.6  christos     { Bad_Opcode },
   1361  1.6  christos     { Bad_Opcode },
   1362  1.6  christos     { Bad_Opcode },
   1363  1.6  christos     { Bad_Opcode },
   1364  1.6  christos     { Bad_Opcode },
   1365  1.6  christos     { Bad_Opcode },
   1366  1.6  christos     /* B0 */
   1367  1.6  christos     { Bad_Opcode },
   1368  1.6  christos     { Bad_Opcode },
   1369  1.6  christos     { Bad_Opcode },
   1370  1.6  christos     { Bad_Opcode },
   1371  1.6  christos     { Bad_Opcode },
   1372  1.6  christos     { Bad_Opcode },
   1373  1.6  christos     { Bad_Opcode },
   1374  1.6  christos     { Bad_Opcode },
   1375  1.6  christos     /* B8 */
   1376  1.6  christos     { Bad_Opcode },
   1377  1.6  christos     { Bad_Opcode },
   1378  1.6  christos     { Bad_Opcode },
   1379  1.6  christos     { Bad_Opcode },
   1380  1.6  christos     { Bad_Opcode },
   1381  1.6  christos     { Bad_Opcode },
   1382  1.6  christos     { Bad_Opcode },
   1383  1.6  christos     { Bad_Opcode },
   1384  1.6  christos     /* C0 */
   1385  1.6  christos     { Bad_Opcode },
   1386  1.6  christos     { Bad_Opcode },
   1387  1.1  christos     { Bad_Opcode },
   1388  1.1  christos     { Bad_Opcode },
   1389  1.1  christos     { Bad_Opcode },
   1390  1.1  christos     { Bad_Opcode },
   1391  1.1  christos     { Bad_Opcode },
   1392  1.1  christos     { Bad_Opcode },
   1393  1.1  christos     /* C8 */
   1394  1.1  christos     { Bad_Opcode },
   1395  1.1  christos     { Bad_Opcode },
   1396  1.1  christos     { Bad_Opcode },
   1397  1.1  christos     { Bad_Opcode },
   1398  1.1  christos     { Bad_Opcode },
   1399  1.1  christos     { Bad_Opcode },
   1400  1.6  christos     { Bad_Opcode },
   1401  1.6  christos     { Bad_Opcode },
   1402  1.1  christos     /* D0 */
   1403  1.1  christos     { Bad_Opcode },
   1404  1.1  christos     { Bad_Opcode },
   1405  1.1  christos     { Bad_Opcode },
   1406  1.1  christos     { Bad_Opcode },
   1407  1.1  christos     { Bad_Opcode },
   1408  1.1  christos     { Bad_Opcode },
   1409  1.1  christos     { Bad_Opcode },
   1410  1.1  christos     { Bad_Opcode },
   1411  1.1  christos     /* D8 */
   1412  1.1  christos     { Bad_Opcode },
   1413  1.1  christos     { Bad_Opcode },
   1414  1.1  christos     { Bad_Opcode },
   1415  1.1  christos     { Bad_Opcode },
   1416  1.1  christos     { Bad_Opcode },
   1417  1.1  christos     { Bad_Opcode },
   1418  1.1  christos     { Bad_Opcode },
   1419  1.1  christos     { Bad_Opcode },
   1420  1.1  christos     /* E0 */
   1421  1.1  christos     { Bad_Opcode },
   1422  1.1  christos     { Bad_Opcode },
   1423  1.1  christos     { Bad_Opcode },
   1424  1.1  christos     { Bad_Opcode },
   1425  1.1  christos     { Bad_Opcode },
   1426  1.1  christos     { Bad_Opcode },
   1427  1.1  christos     { Bad_Opcode },
   1428  1.1  christos     { Bad_Opcode },
   1429  1.1  christos     /* E8 */
   1430  1.1  christos     { Bad_Opcode },
   1431  1.1  christos     { Bad_Opcode },
   1432  1.1  christos     { Bad_Opcode },
   1433  1.1  christos     { Bad_Opcode },
   1434  1.1  christos     { Bad_Opcode },
   1435  1.1  christos     { Bad_Opcode },
   1436  1.1  christos     { Bad_Opcode },
   1437  1.1  christos     { Bad_Opcode },
   1438  1.1  christos     /* F0 */
   1439  1.1  christos     { Bad_Opcode },
   1440  1.1  christos     { Bad_Opcode },
   1441  1.1  christos     { Bad_Opcode },
   1442  1.1  christos     { Bad_Opcode },
   1443  1.1  christos     { Bad_Opcode },
   1444  1.1  christos     { Bad_Opcode },
   1445  1.1  christos     { Bad_Opcode },
   1446  1.1  christos     { Bad_Opcode },
   1447  1.1  christos     /* F8 */
   1448  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_MAP5_F8) },
   1449  1.8  christos     { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_MAP5_F9) },
   1450  1.1  christos     { Bad_Opcode },
   1451  1.1  christos     { Bad_Opcode },
   1452  1.1  christos     { Bad_Opcode },
   1453  1.1  christos     { Bad_Opcode },
   1454  1.1  christos     { Bad_Opcode },
   1455  1.1  christos     { Bad_Opcode },
   1456  1.1  christos   },
   1457  1.6  christos   /* EVEX_MAP6_ */
   1458  1.6  christos   {
   1459  1.6  christos     /* 00 */
   1460  1.6  christos     { Bad_Opcode },
   1461  1.6  christos     { Bad_Opcode },
   1462  1.6  christos     { Bad_Opcode },
   1463  1.6  christos     { Bad_Opcode },
   1464  1.6  christos     { Bad_Opcode },
   1465  1.6  christos     { Bad_Opcode },
   1466  1.6  christos     { Bad_Opcode },
   1467  1.6  christos     { Bad_Opcode },
   1468  1.6  christos     /* 08 */
   1469  1.6  christos     { Bad_Opcode },
   1470  1.6  christos     { Bad_Opcode },
   1471  1.6  christos     { Bad_Opcode },
   1472  1.6  christos     { Bad_Opcode },
   1473  1.6  christos     { Bad_Opcode },
   1474  1.6  christos     { Bad_Opcode },
   1475  1.6  christos     { Bad_Opcode },
   1476  1.6  christos     { Bad_Opcode },
   1477  1.6  christos     /* 10 */
   1478  1.6  christos     { Bad_Opcode },
   1479  1.6  christos     { Bad_Opcode },
   1480  1.6  christos     { Bad_Opcode },
   1481  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_13) },
   1482  1.6  christos     { Bad_Opcode },
   1483  1.6  christos     { Bad_Opcode },
   1484  1.6  christos     { Bad_Opcode },
   1485  1.6  christos     { Bad_Opcode },
   1486  1.6  christos     /* 18 */
   1487  1.6  christos     { Bad_Opcode },
   1488  1.6  christos     { Bad_Opcode },
   1489  1.6  christos     { Bad_Opcode },
   1490  1.6  christos     { Bad_Opcode },
   1491  1.6  christos     { Bad_Opcode },
   1492  1.6  christos     { Bad_Opcode },
   1493  1.6  christos     { Bad_Opcode },
   1494  1.6  christos     { Bad_Opcode },
   1495  1.6  christos     /* 20 */
   1496  1.6  christos     { Bad_Opcode },
   1497  1.6  christos     { Bad_Opcode },
   1498  1.6  christos     { Bad_Opcode },
   1499  1.6  christos     { Bad_Opcode },
   1500  1.6  christos     { Bad_Opcode },
   1501  1.6  christos     { Bad_Opcode },
   1502  1.6  christos     { Bad_Opcode },
   1503  1.6  christos     { Bad_Opcode },
   1504  1.6  christos     /* 28 */
   1505  1.6  christos     { Bad_Opcode },
   1506  1.6  christos     { Bad_Opcode },
   1507  1.6  christos     { Bad_Opcode },
   1508  1.6  christos     { Bad_Opcode },
   1509  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_2C) },
   1510  1.6  christos     { "vscalefs%XH",      { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1511  1.6  christos     { Bad_Opcode },
   1512  1.6  christos     { Bad_Opcode },
   1513  1.6  christos     /* 30 */
   1514  1.6  christos     { Bad_Opcode },
   1515  1.6  christos     { Bad_Opcode },
   1516  1.6  christos     { Bad_Opcode },
   1517  1.6  christos     { Bad_Opcode },
   1518  1.6  christos     { Bad_Opcode },
   1519  1.6  christos     { Bad_Opcode },
   1520  1.6  christos     { Bad_Opcode },
   1521  1.6  christos     { Bad_Opcode },
   1522  1.6  christos     /* 38 */
   1523  1.6  christos     { Bad_Opcode },
   1524  1.6  christos     { Bad_Opcode },
   1525  1.6  christos     { Bad_Opcode },
   1526  1.6  christos     { Bad_Opcode },
   1527  1.6  christos     { Bad_Opcode },
   1528  1.6  christos     { Bad_Opcode },
   1529  1.6  christos     { Bad_Opcode },
   1530  1.6  christos     { Bad_Opcode },
   1531  1.6  christos     /* 40 */
   1532  1.6  christos     { Bad_Opcode },
   1533  1.6  christos     { Bad_Opcode },
   1534  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_42) },
   1535  1.6  christos     { "vgetexps%XH",      { XMScalar, VexScalar, EXw, EXxEVexS }, PREFIX_DATA },
   1536  1.6  christos     { Bad_Opcode },
   1537  1.6  christos     { Bad_Opcode },
   1538  1.6  christos     { Bad_Opcode },
   1539  1.6  christos     { Bad_Opcode },
   1540  1.6  christos     /* 48 */
   1541  1.6  christos     { Bad_Opcode },
   1542  1.6  christos     { Bad_Opcode },
   1543  1.6  christos     { Bad_Opcode },
   1544  1.6  christos     { Bad_Opcode },
   1545  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_4C) },
   1546  1.6  christos     { "vrcps%XH",	  { XMScalar, VexScalar, EXw }, PREFIX_DATA },
   1547  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_4E) },
   1548  1.6  christos     { "vrsqrts%XH",       { XMScalar, VexScalar, EXw }, PREFIX_DATA },
   1549  1.6  christos     /* 50 */
   1550  1.6  christos     { Bad_Opcode },
   1551  1.6  christos     { Bad_Opcode },
   1552  1.6  christos     { Bad_Opcode },
   1553  1.6  christos     { Bad_Opcode },
   1554  1.6  christos     { Bad_Opcode },
   1555  1.6  christos     { Bad_Opcode },
   1556  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_56) },
   1557  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_57) },
   1558  1.6  christos     /* 58 */
   1559  1.6  christos     { Bad_Opcode },
   1560  1.6  christos     { Bad_Opcode },
   1561  1.6  christos     { Bad_Opcode },
   1562  1.6  christos     { Bad_Opcode },
   1563  1.6  christos     { Bad_Opcode },
   1564  1.6  christos     { Bad_Opcode },
   1565  1.6  christos     { Bad_Opcode },
   1566  1.6  christos     { Bad_Opcode },
   1567  1.6  christos     /* 60 */
   1568  1.6  christos     { Bad_Opcode },
   1569  1.6  christos     { Bad_Opcode },
   1570  1.6  christos     { Bad_Opcode },
   1571  1.6  christos     { Bad_Opcode },
   1572  1.6  christos     { Bad_Opcode },
   1573  1.6  christos     { Bad_Opcode },
   1574  1.6  christos     { Bad_Opcode },
   1575  1.6  christos     { Bad_Opcode },
   1576  1.6  christos     /* 68 */
   1577  1.6  christos     { Bad_Opcode },
   1578  1.6  christos     { Bad_Opcode },
   1579  1.6  christos     { Bad_Opcode },
   1580  1.6  christos     { Bad_Opcode },
   1581  1.6  christos     { Bad_Opcode },
   1582  1.6  christos     { Bad_Opcode },
   1583  1.6  christos     { Bad_Opcode },
   1584  1.6  christos     { Bad_Opcode },
   1585  1.6  christos     /* 70 */
   1586  1.6  christos     { Bad_Opcode },
   1587  1.6  christos     { Bad_Opcode },
   1588  1.6  christos     { Bad_Opcode },
   1589  1.6  christos     { Bad_Opcode },
   1590  1.6  christos     { Bad_Opcode },
   1591  1.6  christos     { Bad_Opcode },
   1592  1.6  christos     { Bad_Opcode },
   1593  1.6  christos     { Bad_Opcode },
   1594  1.6  christos     /* 78 */
   1595  1.6  christos     { Bad_Opcode },
   1596  1.6  christos     { Bad_Opcode },
   1597  1.6  christos     { Bad_Opcode },
   1598  1.6  christos     { Bad_Opcode },
   1599  1.6  christos     { Bad_Opcode },
   1600  1.6  christos     { Bad_Opcode },
   1601  1.6  christos     { Bad_Opcode },
   1602  1.6  christos     { Bad_Opcode },
   1603  1.6  christos     /* 80 */
   1604  1.6  christos     { Bad_Opcode },
   1605  1.6  christos     { Bad_Opcode },
   1606  1.6  christos     { Bad_Opcode },
   1607  1.6  christos     { Bad_Opcode },
   1608  1.6  christos     { Bad_Opcode },
   1609  1.6  christos     { Bad_Opcode },
   1610  1.6  christos     { Bad_Opcode },
   1611  1.6  christos     { Bad_Opcode },
   1612  1.6  christos     /* 88 */
   1613  1.6  christos     { Bad_Opcode },
   1614  1.6  christos     { Bad_Opcode },
   1615  1.6  christos     { Bad_Opcode },
   1616  1.6  christos     { Bad_Opcode },
   1617  1.6  christos     { Bad_Opcode },
   1618  1.6  christos     { Bad_Opcode },
   1619  1.6  christos     { Bad_Opcode },
   1620  1.6  christos     { Bad_Opcode },
   1621  1.6  christos     /* 90 */
   1622  1.6  christos     { Bad_Opcode },
   1623  1.6  christos     { Bad_Opcode },
   1624  1.6  christos     { Bad_Opcode },
   1625  1.6  christos     { Bad_Opcode },
   1626  1.6  christos     { Bad_Opcode },
   1627  1.6  christos     { Bad_Opcode },
   1628  1.6  christos     { "vfmaddsub132p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1629  1.6  christos     { "vfmsubadd132p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1630  1.6  christos     /* 98 */
   1631  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_98) },
   1632  1.6  christos     { "vfmadd132s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1633  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_9A) },
   1634  1.6  christos     { "vfmsub132s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1635  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_9C) },
   1636  1.6  christos     { "vfnmadd132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1637  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_9E) },
   1638  1.6  christos     { "vfnmsub132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1639  1.6  christos     /* A0 */
   1640  1.6  christos     { Bad_Opcode },
   1641  1.6  christos     { Bad_Opcode },
   1642  1.6  christos     { Bad_Opcode },
   1643  1.6  christos     { Bad_Opcode },
   1644  1.6  christos     { Bad_Opcode },
   1645  1.6  christos     { Bad_Opcode },
   1646  1.6  christos     { "vfmaddsub213p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1647  1.6  christos     { "vfmsubadd213p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1648  1.6  christos     /* A8 */
   1649  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_A8) },
   1650  1.6  christos     { "vfmadd213s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1651  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_AA) },
   1652  1.6  christos     { "vfmsub213s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1653  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_AC) },
   1654  1.6  christos     { "vfnmadd213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1655  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_AE) },
   1656  1.6  christos     { "vfnmsub213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1657  1.6  christos     /* B0 */
   1658  1.6  christos     { Bad_Opcode },
   1659  1.6  christos     { Bad_Opcode },
   1660  1.6  christos     { Bad_Opcode },
   1661  1.6  christos     { Bad_Opcode },
   1662  1.6  christos     { Bad_Opcode },
   1663  1.6  christos     { Bad_Opcode },
   1664  1.6  christos     { "vfmaddsub231p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1665  1.6  christos     { "vfmsubadd231p%XH",  { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA },
   1666  1.6  christos     /* B8 */
   1667  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_B8) },
   1668  1.6  christos     { "vfmadd231s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1669  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_BA) },
   1670  1.6  christos     { "vfmsub231s%XH",  { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1671  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_BC) },
   1672  1.6  christos     { "vfnmadd231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1673  1.8  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_BE) },
   1674  1.6  christos     { "vfnmsub231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA },
   1675  1.6  christos     /* C0 */
   1676  1.6  christos     { Bad_Opcode },
   1677  1.6  christos     { Bad_Opcode },
   1678  1.6  christos     { Bad_Opcode },
   1679  1.6  christos     { Bad_Opcode },
   1680  1.6  christos     { Bad_Opcode },
   1681  1.6  christos     { Bad_Opcode },
   1682  1.6  christos     { Bad_Opcode },
   1683  1.6  christos     { Bad_Opcode },
   1684  1.6  christos     /* C8 */
   1685  1.6  christos     { Bad_Opcode },
   1686  1.6  christos     { Bad_Opcode },
   1687  1.6  christos     { Bad_Opcode },
   1688  1.6  christos     { Bad_Opcode },
   1689  1.6  christos     { Bad_Opcode },
   1690  1.6  christos     { Bad_Opcode },
   1691  1.6  christos     { Bad_Opcode },
   1692  1.6  christos     { Bad_Opcode },
   1693  1.6  christos     /* D0 */
   1694  1.6  christos     { Bad_Opcode },
   1695  1.6  christos     { Bad_Opcode },
   1696  1.6  christos     { Bad_Opcode },
   1697  1.6  christos     { Bad_Opcode },
   1698  1.6  christos     { Bad_Opcode },
   1699  1.6  christos     { Bad_Opcode },
   1700  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_D6) },
   1701  1.6  christos     { PREFIX_TABLE (PREFIX_EVEX_MAP6_D7) },
   1702  1.6  christos     /* D8 */
   1703  1.6  christos     { Bad_Opcode },
   1704  1.6  christos     { Bad_Opcode },
   1705  1.6  christos     { Bad_Opcode },
   1706  1.6  christos     { Bad_Opcode },
   1707  1.6  christos     { Bad_Opcode },
   1708  1.6  christos     { Bad_Opcode },
   1709  1.6  christos     { Bad_Opcode },
   1710  1.6  christos     { Bad_Opcode },
   1711  1.6  christos     /* E0 */
   1712  1.6  christos     { Bad_Opcode },
   1713  1.6  christos     { Bad_Opcode },
   1714  1.6  christos     { Bad_Opcode },
   1715  1.6  christos     { Bad_Opcode },
   1716  1.6  christos     { Bad_Opcode },
   1717  1.6  christos     { Bad_Opcode },
   1718  1.6  christos     { Bad_Opcode },
   1719  1.6  christos     { Bad_Opcode },
   1720  1.6  christos     /* E8 */
   1721  1.6  christos     { Bad_Opcode },
   1722  1.6  christos     { Bad_Opcode },
   1723  1.6  christos     { Bad_Opcode },
   1724  1.6  christos     { Bad_Opcode },
   1725  1.6  christos     { Bad_Opcode },
   1726  1.6  christos     { Bad_Opcode },
   1727  1.6  christos     { Bad_Opcode },
   1728  1.6  christos     { Bad_Opcode },
   1729  1.6  christos     /* F0 */
   1730  1.6  christos     { Bad_Opcode },
   1731  1.6  christos     { Bad_Opcode },
   1732  1.6  christos     { Bad_Opcode },
   1733  1.6  christos     { Bad_Opcode },
   1734  1.6  christos     { Bad_Opcode },
   1735  1.6  christos     { Bad_Opcode },
   1736  1.6  christos     { Bad_Opcode },
   1737  1.6  christos     { Bad_Opcode },
   1738  1.6  christos     /* F8 */
   1739  1.6  christos     { Bad_Opcode },
   1740  1.6  christos     { Bad_Opcode },
   1741  1.6  christos     { Bad_Opcode },
   1742  1.6  christos     { Bad_Opcode },
   1743  1.6  christos     { Bad_Opcode },
   1744  1.6  christos     { Bad_Opcode },
   1745  1.6  christos     { Bad_Opcode },
   1746  1.6  christos     { Bad_Opcode },
   1747  1.6  christos   },
   1748  1.1  christos };
   1749