Home | History | Annotate | Line # | Download | only in opcodes
      1  1.1.1.4  christos   /* PREFIX_EVEX_0F2E */
      2  1.1.1.4  christos   {
      3  1.1.1.4  christos     { "%XEvucomis%XS",	{ XMScalar, EXd, EXxEVexS }, 0 },
      4  1.1.1.4  christos     { "vucomxs%XS",	{ XMScalar, EXd, EXxEVexS }, 0 },
      5  1.1.1.4  christos     { "%XEvucomis%XD",	{ XMScalar, EXq, EXxEVexS }, 0 },
      6  1.1.1.4  christos     { "vucomxs%XD",	{ XMScalar, EXq, EXxEVexS }, 0 },
      7  1.1.1.4  christos   },
      8  1.1.1.4  christos   /* PREFIX_EVEX_0F2F */
      9  1.1.1.4  christos   {
     10  1.1.1.4  christos     { "%XEvcomis%XS",	{ XMScalar, EXd, EXxEVexS }, 0 },
     11  1.1.1.4  christos     { "vcomxs%XS",	{ XMScalar, EXd, EXxEVexS }, 0 },
     12  1.1.1.4  christos     { "%XEvcomis%XD",	{ XMScalar, EXq, EXxEVexS }, 0 },
     13  1.1.1.4  christos     { "vcomxs%XD",	{ XMScalar, EXq, EXxEVexS }, 0 },
     14  1.1.1.4  christos   },
     15  1.1.1.2  christos   /* PREFIX_EVEX_0F5B */
     16      1.1  christos   {
     17  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F5B_P_0) },
     18  1.1.1.3  christos     { "%XEvcvttp%XS2dq", { XM, EXx, EXxEVexS }, 0 },
     19  1.1.1.3  christos     { "%XEvcvtp%XS2dq", { XM, EXx, EXxEVexR }, 0 },
     20      1.1  christos   },
     21  1.1.1.2  christos   /* PREFIX_EVEX_0F6F */
     22      1.1  christos   {
     23      1.1  christos     { Bad_Opcode },
     24  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F6F_P_1) },
     25  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F6F_P_2) },
     26  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F6F_P_3) },
     27      1.1  christos   },
     28  1.1.1.2  christos   /* PREFIX_EVEX_0F70 */
     29      1.1  christos   {
     30      1.1  christos     { Bad_Opcode },
     31  1.1.1.3  christos     { "%XEvpshufhw",	{ XM, EXx, Ib }, 0 },
     32  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F70_P_2) },
     33  1.1.1.3  christos     { "%XEvpshuflw",	{ XM, EXx, Ib }, 0 },
     34      1.1  christos   },
     35  1.1.1.2  christos   /* PREFIX_EVEX_0F78 */
     36      1.1  christos   {
     37  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F78_P_0) },
     38  1.1.1.2  christos     { "vcvttss2usi",	{ Gdq, EXd, EXxEVexS }, 0 },
     39  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F78_P_2) },
     40  1.1.1.2  christos     { "vcvttsd2usi",	{ Gdq, EXq, EXxEVexS }, 0 },
     41      1.1  christos   },
     42  1.1.1.2  christos   /* PREFIX_EVEX_0F79 */
     43      1.1  christos   {
     44  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F79_P_0) },
     45  1.1.1.2  christos     { "vcvtss2usi",	{ Gdq, EXd, EXxEVexR }, 0 },
     46  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F79_P_2) },
     47  1.1.1.2  christos     { "vcvtsd2usi",	{ Gdq, EXq, EXxEVexR }, 0 },
     48      1.1  christos   },
     49  1.1.1.2  christos   /* PREFIX_EVEX_0F7A */
     50      1.1  christos   {
     51      1.1  christos     { Bad_Opcode },
     52  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F7A_P_1) },
     53  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F7A_P_2) },
     54  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F7A_P_3) },
     55      1.1  christos   },
     56  1.1.1.2  christos   /* PREFIX_EVEX_0F7B */
     57      1.1  christos   {
     58      1.1  christos     { Bad_Opcode },
     59  1.1.1.3  christos     { "vcvtusi2ssY{%LQ|}",	{ XMScalar, VexScalar, EXxEVexR, Edq }, 0 },
     60  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F7B_P_2) },
     61  1.1.1.3  christos     { "vcvtusi2sdY{%LQ|}",	{ XMScalar, VexScalar, EXxEVexR64, Edq }, 0 },
     62      1.1  christos   },
     63  1.1.1.2  christos   /* PREFIX_EVEX_0F7E */
     64      1.1  christos   {
     65      1.1  christos     { Bad_Opcode },
     66  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F7E_P_1) },
     67  1.1.1.2  christos     { VEX_LEN_TABLE (VEX_LEN_0F7E_P_2) },
     68      1.1  christos   },
     69  1.1.1.2  christos   /* PREFIX_EVEX_0F7F */
     70      1.1  christos   {
     71      1.1  christos     { Bad_Opcode },
     72  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F7F_P_1) },
     73  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F7F_P_2) },
     74  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F7F_P_3) },
     75      1.1  christos   },
     76  1.1.1.2  christos   /* PREFIX_EVEX_0FC2 */
     77      1.1  christos   {
     78  1.1.1.2  christos     { "vcmppX",	{ MaskG, Vex, EXx, EXxEVexS, CMP }, PREFIX_OPCODE },
     79  1.1.1.2  christos     { "vcmps%XS",	{ MaskG, VexScalar, EXd, EXxEVexS, CMP }, 0 },
     80  1.1.1.2  christos     { "vcmppX",	{ MaskG, Vex, EXx, EXxEVexS, CMP }, PREFIX_OPCODE },
     81  1.1.1.2  christos     { "vcmps%XD",	{ MaskG, VexScalar, EXq, EXxEVexS, CMP }, 0 },
     82      1.1  christos   },
     83  1.1.1.2  christos   /* PREFIX_EVEX_0FE6 */
     84      1.1  christos   {
     85      1.1  christos     { Bad_Opcode },
     86  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0FE6_P_1) },
     87  1.1.1.3  christos     { "%XEvcvttp%XD2dq%XY", { XMxmmq, EXx, EXxEVexS }, 0 },
     88  1.1.1.3  christos     { "%XEvcvtp%XD2dq%XY", { XMxmmq, EXx, EXxEVexR }, 0 },
     89      1.1  christos   },
     90  1.1.1.2  christos   /* PREFIX_EVEX_0F3810 */
     91      1.1  christos   {
     92      1.1  christos     { Bad_Opcode },
     93  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3810_P_1) },
     94  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3810_P_2) },
     95      1.1  christos   },
     96  1.1.1.2  christos   /* PREFIX_EVEX_0F3811 */
     97      1.1  christos   {
     98      1.1  christos     { Bad_Opcode },
     99  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3811_P_1) },
    100  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3811_P_2) },
    101      1.1  christos   },
    102  1.1.1.2  christos   /* PREFIX_EVEX_0F3812 */
    103      1.1  christos   {
    104      1.1  christos     { Bad_Opcode },
    105  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3812_P_1) },
    106  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3812_P_2) },
    107      1.1  christos   },
    108  1.1.1.2  christos   /* PREFIX_EVEX_0F3813 */
    109      1.1  christos   {
    110      1.1  christos     { Bad_Opcode },
    111  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3813_P_1) },
    112  1.1.1.3  christos     { "%XEvcvtph2p%XS", { XM, EXxmmq, EXxEVexS }, 0 },
    113      1.1  christos   },
    114  1.1.1.2  christos   /* PREFIX_EVEX_0F3814 */
    115      1.1  christos   {
    116      1.1  christos     { Bad_Opcode },
    117  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3814_P_1) },
    118  1.1.1.2  christos     { "vprorv%DQ",	{ XM, Vex, EXx }, 0 },
    119      1.1  christos   },
    120  1.1.1.2  christos   /* PREFIX_EVEX_0F3815 */
    121      1.1  christos   {
    122      1.1  christos     { Bad_Opcode },
    123  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3815_P_1) },
    124  1.1.1.2  christos     { "vprolv%DQ",	{ XM, Vex, EXx }, 0 },
    125      1.1  christos   },
    126  1.1.1.2  christos   /* PREFIX_EVEX_0F3820 */
    127      1.1  christos   {
    128      1.1  christos     { Bad_Opcode },
    129  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3820_P_1) },
    130  1.1.1.3  christos     { "%XEvpmovsxbw",	{ XM, EXxmmq }, 0 },
    131      1.1  christos   },
    132  1.1.1.2  christos   /* PREFIX_EVEX_0F3821 */
    133      1.1  christos   {
    134      1.1  christos     { Bad_Opcode },
    135  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3821_P_1) },
    136  1.1.1.3  christos     { "%XEvpmovsxbd",	{ XM, EXxmmqd }, 0 },
    137      1.1  christos   },
    138  1.1.1.2  christos   /* PREFIX_EVEX_0F3822 */
    139      1.1  christos   {
    140      1.1  christos     { Bad_Opcode },
    141  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3822_P_1) },
    142  1.1.1.3  christos     { "%XEvpmovsxbq",	{ XM, EXxmmdw }, 0 },
    143      1.1  christos   },
    144  1.1.1.2  christos   /* PREFIX_EVEX_0F3823 */
    145      1.1  christos   {
    146      1.1  christos     { Bad_Opcode },
    147  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3823_P_1) },
    148  1.1.1.3  christos     { "%XEvpmovsxwd",	{ XM, EXxmmq }, 0 },
    149      1.1  christos   },
    150  1.1.1.2  christos   /* PREFIX_EVEX_0F3824 */
    151      1.1  christos   {
    152      1.1  christos     { Bad_Opcode },
    153  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3824_P_1) },
    154  1.1.1.3  christos     { "%XEvpmovsxwq",	{ XM, EXxmmqd }, 0 },
    155      1.1  christos   },
    156  1.1.1.2  christos   /* PREFIX_EVEX_0F3825 */
    157      1.1  christos   {
    158      1.1  christos     { Bad_Opcode },
    159  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3825_P_1) },
    160  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3825_P_2) },
    161      1.1  christos   },
    162  1.1.1.2  christos   /* PREFIX_EVEX_0F3826 */
    163      1.1  christos   {
    164      1.1  christos     { Bad_Opcode },
    165  1.1.1.2  christos     { "vptestnm%BW",	{ MaskG, Vex, EXx }, 0 },
    166  1.1.1.2  christos     { "vptestm%BW",	{ MaskG, Vex, EXx }, 0 },
    167      1.1  christos   },
    168  1.1.1.2  christos   /* PREFIX_EVEX_0F3827 */
    169      1.1  christos   {
    170      1.1  christos     { Bad_Opcode },
    171  1.1.1.2  christos     { "vptestnm%DQ",	{ MaskG, Vex, EXx }, 0 },
    172  1.1.1.2  christos     { "vptestm%DQ",	{ MaskG, Vex, EXx }, 0 },
    173      1.1  christos   },
    174  1.1.1.2  christos   /* PREFIX_EVEX_0F3828 */
    175      1.1  christos   {
    176      1.1  christos     { Bad_Opcode },
    177  1.1.1.3  christos     { "vpmovm2Y%BW",	{ XM, MaskR }, 0 },
    178  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3828_P_2) },
    179      1.1  christos   },
    180  1.1.1.2  christos   /* PREFIX_EVEX_0F3829 */
    181      1.1  christos   {
    182      1.1  christos     { Bad_Opcode },
    183  1.1.1.3  christos     { "vpmov%BW2mY",	{ MaskG, Ux }, 0 },
    184  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3829_P_2) },
    185      1.1  christos   },
    186  1.1.1.2  christos   /* PREFIX_EVEX_0F382A */
    187      1.1  christos   {
    188      1.1  christos     { Bad_Opcode },
    189  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F382A_P_1) },
    190  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F382A_P_2) },
    191      1.1  christos   },
    192  1.1.1.2  christos   /* PREFIX_EVEX_0F3830 */
    193      1.1  christos   {
    194      1.1  christos     { Bad_Opcode },
    195  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3830_P_1) },
    196  1.1.1.3  christos     { "%XEvpmovzxbw",	{ XM, EXxmmq }, 0 },
    197      1.1  christos   },
    198  1.1.1.2  christos   /* PREFIX_EVEX_0F3831 */
    199      1.1  christos   {
    200      1.1  christos     { Bad_Opcode },
    201  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3831_P_1) },
    202  1.1.1.3  christos     { "%XEvpmovzxbd",	{ XM, EXxmmqd }, 0 },
    203      1.1  christos   },
    204  1.1.1.2  christos   /* PREFIX_EVEX_0F3832 */
    205      1.1  christos   {
    206      1.1  christos     { Bad_Opcode },
    207  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3832_P_1) },
    208  1.1.1.3  christos     { "%XEvpmovzxbq",	{ XM, EXxmmdw }, 0 },
    209      1.1  christos   },
    210  1.1.1.2  christos   /* PREFIX_EVEX_0F3833 */
    211      1.1  christos   {
    212      1.1  christos     { Bad_Opcode },
    213  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3833_P_1) },
    214  1.1.1.3  christos     { "%XEvpmovzxwd",	{ XM, EXxmmq }, 0 },
    215      1.1  christos   },
    216  1.1.1.2  christos   /* PREFIX_EVEX_0F3834 */
    217      1.1  christos   {
    218      1.1  christos     { Bad_Opcode },
    219  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3834_P_1) },
    220  1.1.1.3  christos     { "%XEvpmovzxwq",	{ XM, EXxmmqd }, 0 },
    221      1.1  christos   },
    222  1.1.1.2  christos   /* PREFIX_EVEX_0F3835 */
    223      1.1  christos   {
    224      1.1  christos     { Bad_Opcode },
    225  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3835_P_1) },
    226  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3835_P_2) },
    227      1.1  christos   },
    228  1.1.1.2  christos   /* PREFIX_EVEX_0F3838 */
    229      1.1  christos   {
    230      1.1  christos     { Bad_Opcode },
    231  1.1.1.3  christos     { "vpmovm2Y%DQ",	{ XM, MaskR }, 0 },
    232  1.1.1.3  christos     { "%XEvpminsb",	{ XM, Vex, EXx }, 0 },
    233      1.1  christos   },
    234  1.1.1.2  christos   /* PREFIX_EVEX_0F3839 */
    235      1.1  christos   {
    236      1.1  christos     { Bad_Opcode },
    237  1.1.1.3  christos     { "vpmov%DQ2mY",	{ MaskG, Ux }, 0 },
    238  1.1.1.3  christos     { "%XEvpmins%DQ",	{ XM, Vex, EXx }, 0 },
    239      1.1  christos   },
    240  1.1.1.2  christos   /* PREFIX_EVEX_0F383A */
    241      1.1  christos   {
    242      1.1  christos     { Bad_Opcode },
    243  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F383A_P_1) },
    244  1.1.1.3  christos     { "%XEvpminuw",	{ XM, Vex, EXx }, 0 },
    245      1.1  christos   },
    246  1.1.1.4  christos   /* PREFIX_EVEX_0F384A_W_0_L_2 */
    247      1.1  christos   {
    248      1.1  christos     { Bad_Opcode },
    249  1.1.1.4  christos     { "tcvtrowd2ps",	{ XM, Rtmm, VexGdq }, 0 },
    250  1.1.1.4  christos     { "tilemovrow",	{ XM, Rtmm, VexGdq }, 0 },
    251  1.1.1.4  christos   },
    252  1.1.1.4  christos   /* PREFIX_EVEX_0F3852 */
    253  1.1.1.4  christos   {
    254  1.1.1.4  christos     { "vdpphp%XS",	{ XM, Vex, EXx }, 0 },
    255  1.1.1.4  christos     { "vdpbf16p%XS",	{ XM, Vex, EXx }, 0 },
    256  1.1.1.3  christos     { VEX_W_TABLE (VEX_W_0F3852) },
    257  1.1.1.3  christos     { "vp4dpws%XSd",	{ XM, Vex, Mxmm }, 0 },
    258      1.1  christos   },
    259  1.1.1.2  christos   /* PREFIX_EVEX_0F3853 */
    260      1.1  christos   {
    261      1.1  christos     { Bad_Opcode },
    262      1.1  christos     { Bad_Opcode },
    263  1.1.1.3  christos     { VEX_W_TABLE (VEX_W_0F3853) },
    264  1.1.1.3  christos     { "vp4dpws%XSds",	{ XM, Vex, Mxmm }, 0 },
    265      1.1  christos   },
    266  1.1.1.2  christos   /* PREFIX_EVEX_0F3868 */
    267      1.1  christos   {
    268      1.1  christos     { Bad_Opcode },
    269      1.1  christos     { Bad_Opcode },
    270      1.1  christos     { Bad_Opcode },
    271  1.1.1.3  christos     { "vp2intersectY%DQ", { MaskG, Vex, EXx, EXxEVexS }, 0 },
    272      1.1  christos   },
    273  1.1.1.4  christos   /* PREFIX_EVEX_0F386D_W_0_L_2 */
    274  1.1.1.4  christos   {
    275  1.1.1.4  christos     { "tcvtrowps2phh",	{ XM, Rtmm, VexGdq }, 0 },
    276  1.1.1.4  christos     { "tcvtrowps2bf16l",	{ XM, Rtmm, VexGdq }, 0 },
    277  1.1.1.4  christos     { "tcvtrowps2phl",	{ XM, Rtmm, VexGdq }, 0 },
    278  1.1.1.4  christos     { "tcvtrowps2bf16h",	{ XM, Rtmm, VexGdq }, 0 },
    279  1.1.1.4  christos   },
    280  1.1.1.2  christos   /* PREFIX_EVEX_0F3872 */
    281      1.1  christos   {
    282      1.1  christos     { Bad_Opcode },
    283  1.1.1.2  christos     { "vcvtnep%XS2bf16%XY", { XMxmmq, EXx }, 0 },
    284  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_0F3872_P_2) },
    285  1.1.1.2  christos     { "vcvtne2p%XS2bf16", { XM, Vex, EXx}, 0 },
    286      1.1  christos   },
    287  1.1.1.4  christos   /* PREFIX_EVEX_0F3874 */
    288  1.1.1.4  christos   {
    289  1.1.1.4  christos     { "vcvtbiasp%XH2bf8",	{ XMxmmq, Vex, EXxh }, 0 },
    290  1.1.1.4  christos     { "vcvtp%XH2bf8%XY",	{ XMxmmq, EXxh }, 0 },
    291  1.1.1.4  christos     { Bad_Opcode },
    292  1.1.1.4  christos     { "vcvt2p%XH2bf8",	{ XM, Vex, EXxh }, 0 },
    293  1.1.1.4  christos   },
    294  1.1.1.2  christos   /* PREFIX_EVEX_0F389A */
    295      1.1  christos   {
    296      1.1  christos     { Bad_Opcode },
    297      1.1  christos     { Bad_Opcode },
    298  1.1.1.3  christos     { "%XEvfmsub132p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
    299  1.1.1.3  christos     { "v4fmaddp%XS",	{ XM, Vex, Mxmm }, 0 },
    300      1.1  christos   },
    301  1.1.1.2  christos   /* PREFIX_EVEX_0F389B */
    302      1.1  christos   {
    303      1.1  christos     { Bad_Opcode },
    304      1.1  christos     { Bad_Opcode },
    305  1.1.1.3  christos     { "%XEvfmsub132s%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexR }, 0 },
    306  1.1.1.3  christos     { "v4fmadds%XS",	{ XMScalar, VexScalar, Mxmm }, 0 },
    307      1.1  christos   },
    308  1.1.1.2  christos   /* PREFIX_EVEX_0F38AA */
    309      1.1  christos   {
    310      1.1  christos     { Bad_Opcode },
    311      1.1  christos     { Bad_Opcode },
    312  1.1.1.3  christos     { "%XEvfmsub213p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
    313  1.1.1.3  christos     { "v4fnmaddp%XS",	{ XM, Vex, Mxmm }, 0 },
    314      1.1  christos   },
    315  1.1.1.2  christos   /* PREFIX_EVEX_0F38AB */
    316      1.1  christos   {
    317      1.1  christos     { Bad_Opcode },
    318      1.1  christos     { Bad_Opcode },
    319  1.1.1.3  christos     { "%XEvfmsub213s%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexR }, 0 },
    320  1.1.1.3  christos     { "v4fnmadds%XS",	{ XMScalar, VexScalar, Mxmm }, 0 },
    321      1.1  christos   },
    322  1.1.1.4  christos   /* PREFIX_EVEX_0F3A07_W_0_L_2 */
    323  1.1.1.4  christos   {
    324  1.1.1.4  christos     { "tcvtrowps2phh",	{ XM, Rtmm, Ib }, 0 },
    325  1.1.1.4  christos     { "tcvtrowd2ps",	{ XM, Rtmm, Ib }, 0 },
    326  1.1.1.4  christos     { "tilemovrow",	{ XM, Rtmm, Ib }, 0 },
    327  1.1.1.4  christos     { "tcvtrowps2bf16h",	{ XM, Rtmm, Ib }, 0 },
    328  1.1.1.4  christos   },
    329  1.1.1.2  christos   /* PREFIX_EVEX_0F3A08 */
    330      1.1  christos   {
    331  1.1.1.2  christos     { "vrndscalep%XH",  { XM, EXxh, EXxEVexS, Ib }, 0 },
    332      1.1  christos     { Bad_Opcode },
    333  1.1.1.2  christos     { "vrndscalep%XS",  { XM, EXx, EXxEVexS, Ib }, 0 },
    334  1.1.1.4  christos     { "vrndscale%XB",	{ XM, EXxh, Ib }, 0 },
    335      1.1  christos   },
    336  1.1.1.2  christos   /* PREFIX_EVEX_0F3A0A */
    337      1.1  christos   {
    338  1.1.1.2  christos     { "vrndscales%XH",  { XMScalar, VexScalar, EXw, EXxEVexS, Ib }, 0 },
    339      1.1  christos     { Bad_Opcode },
    340  1.1.1.2  christos     { "vrndscales%XS",  { XMScalar, VexScalar, EXd, EXxEVexS, Ib }, 0 },
    341      1.1  christos   },
    342  1.1.1.2  christos   /* PREFIX_EVEX_0F3A26 */
    343      1.1  christos   {
    344  1.1.1.2  christos     { "vgetmantp%XH",     { XM, EXxh, EXxEVexS, Ib }, 0 },
    345      1.1  christos     { Bad_Opcode },
    346  1.1.1.2  christos     { "vgetmantp%XW",	{ XM, EXx, EXxEVexS, Ib }, 0 },
    347  1.1.1.4  christos     { "vgetmant%XB",	{ XM, EXxh, Ib }, 0 },
    348      1.1  christos   },
    349  1.1.1.2  christos   /* PREFIX_EVEX_0F3A27 */
    350      1.1  christos   {
    351  1.1.1.2  christos     { "vgetmants%XH",     { XMScalar, VexScalar, EXw, EXxEVexS, Ib }, 0 },
    352      1.1  christos     { Bad_Opcode },
    353  1.1.1.2  christos     { "vgetmants%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, 0 },
    354      1.1  christos   },
    355  1.1.1.4  christos   /* PREFIX_EVEX_0F3A42_W_0 */
    356  1.1.1.4  christos   {
    357  1.1.1.4  christos     { Bad_Opcode },
    358  1.1.1.4  christos     { "%XEvmpsadbw",	{ XM, Vex, EXx, Ib }, 0 },
    359  1.1.1.4  christos     { "vdbpsadbw",	{ XM, Vex, EXx, Ib }, 0 },
    360  1.1.1.4  christos   },
    361  1.1.1.4  christos   /* PREFIX_EVEX_0F3A52 */
    362  1.1.1.4  christos   {
    363  1.1.1.4  christos     { "vminmaxp%XH",	{ XM, Vex, EXxh, EXxEVexS, Ib }, 0 },
    364  1.1.1.4  christos     { Bad_Opcode },
    365  1.1.1.4  christos     { "vminmaxp%XW",	{ XM, Vex, EXx, EXxEVexS, Ib }, 0 },
    366  1.1.1.4  christos     { "vminmax%XB",	{ XM, Vex, EXxh, Ib }, 0 },
    367  1.1.1.4  christos   },
    368  1.1.1.4  christos   /* PREFIX_EVEX_0F3A53 */
    369  1.1.1.4  christos   {
    370  1.1.1.4  christos     { "vminmaxs%XH",	{ XMScalar, VexScalar, EXw, EXxEVexS, Ib }, 0 },
    371  1.1.1.4  christos     { Bad_Opcode },
    372  1.1.1.4  christos     { "vminmaxs%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, 0 },
    373  1.1.1.4  christos   },
    374  1.1.1.2  christos   /* PREFIX_EVEX_0F3A56 */
    375      1.1  christos   {
    376  1.1.1.2  christos     { "vreducep%XH",      { XM, EXxh, EXxEVexS, Ib }, 0 },
    377      1.1  christos     { Bad_Opcode },
    378  1.1.1.2  christos     { "vreducep%XW",	{ XM, EXx, EXxEVexS, Ib }, 0 },
    379  1.1.1.4  christos     { "vreduce%XB",	{ XM, EXxh, Ib }, 0 },
    380      1.1  christos   },
    381  1.1.1.2  christos   /* PREFIX_EVEX_0F3A57 */
    382      1.1  christos   {
    383  1.1.1.2  christos     { "vreduces%XH",      { XMScalar, VexScalar, EXw, EXxEVexS, Ib }, 0 },
    384      1.1  christos     { Bad_Opcode },
    385  1.1.1.2  christos     { "vreduces%XW",	{ XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, 0 },
    386      1.1  christos   },
    387  1.1.1.2  christos   /* PREFIX_EVEX_0F3A66 */
    388      1.1  christos   {
    389  1.1.1.2  christos     { "vfpclassp%XH%XZ",  { MaskG, EXxh, Ib }, 0 },
    390      1.1  christos     { Bad_Opcode },
    391  1.1.1.2  christos     { "vfpclassp%XW%XZ",    { MaskG, EXx, Ib }, 0 },
    392  1.1.1.4  christos     { "vfpclass%XB%XZ",	{ MaskG, EXxh, Ib }, 0 },
    393      1.1  christos   },
    394  1.1.1.2  christos   /* PREFIX_EVEX_0F3A67 */
    395      1.1  christos   {
    396  1.1.1.2  christos     { "vfpclasss%XH",     { MaskG, EXw, Ib }, 0 },
    397      1.1  christos     { Bad_Opcode },
    398  1.1.1.2  christos     { "vfpclasss%XW",	{ MaskG, EXdq, Ib }, 0 },
    399      1.1  christos   },
    400  1.1.1.4  christos   /* PREFIX_EVEX_0F3A77_W_0_L_2 */
    401  1.1.1.4  christos   {
    402  1.1.1.4  christos     { Bad_Opcode },
    403  1.1.1.4  christos     { "tcvtrowps2bf16l",	{ XM, Rtmm, Ib }, 0 },
    404  1.1.1.4  christos     { Bad_Opcode },
    405  1.1.1.4  christos     { "tcvtrowps2phl",	{ XM, Rtmm, Ib }, 0 },
    406  1.1.1.4  christos   },
    407  1.1.1.2  christos   /* PREFIX_EVEX_0F3AC2 */
    408      1.1  christos   {
    409  1.1.1.2  christos     { "vcmpp%XH", { MaskG, Vex, EXxh, EXxEVexS, CMP }, 0 },
    410  1.1.1.2  christos     { "vcmps%XH", { MaskG, VexScalar, EXw, EXxEVexS, CMP }, 0 },
    411  1.1.1.3  christos     { Bad_Opcode },
    412  1.1.1.4  christos     { "vcmp%XB",	{ MaskG, Vex, EXxh, CMP }, 0 },
    413  1.1.1.3  christos   },
    414  1.1.1.4  christos   /* PREFIX_EVEX_MAP4_4x */
    415  1.1.1.3  christos   {
    416  1.1.1.4  christos     { "%CFcmov%CCS",	{ VexGv, { CFCMOV_Fixup, 0 }, { CFCMOV_Fixup, 1 } }, 0 },
    417  1.1.1.3  christos     { Bad_Opcode },
    418  1.1.1.4  christos     { "%CFcmov%CCS",	{ VexGv, { CFCMOV_Fixup, 0 }, { CFCMOV_Fixup, 1 } }, 0 },
    419  1.1.1.4  christos     { "set%ZU%CC",	{ Eb }, 0 },
    420  1.1.1.3  christos   },
    421  1.1.1.3  christos   /* PREFIX_EVEX_MAP4_F0 */
    422  1.1.1.3  christos   {
    423  1.1.1.3  christos     { "crc32A", { Gdq, Eb }, 0 },
    424  1.1.1.3  christos     { "invept", { Gm, Mo }, 0 },
    425  1.1.1.3  christos   },
    426  1.1.1.3  christos   /* PREFIX_EVEX_MAP4_F1 */
    427  1.1.1.3  christos   {
    428  1.1.1.3  christos     { "crc32Q", { Gdq, Ev }, 0 },
    429  1.1.1.3  christos     { "invvpid", { Gm, Mo }, 0 },
    430  1.1.1.3  christos     { "crc32Q", { Gdq, Ev }, 0 },
    431  1.1.1.3  christos   },
    432  1.1.1.3  christos   /* PREFIX_EVEX_MAP4_F2 */
    433  1.1.1.3  christos   {
    434  1.1.1.3  christos     { Bad_Opcode },
    435  1.1.1.3  christos     { "invpcid", { Gm, M }, 0 },
    436  1.1.1.3  christos   },
    437  1.1.1.3  christos   /* PREFIX_EVEX_MAP4_F8 */
    438  1.1.1.3  christos   {
    439  1.1.1.3  christos     { Bad_Opcode },
    440  1.1.1.3  christos     { MOD_TABLE (MOD_EVEX_MAP4_F8_P_1) },
    441  1.1.1.3  christos     { "movdir64b", { Gva, M }, 0 },
    442  1.1.1.3  christos     { MOD_TABLE (MOD_EVEX_MAP4_F8_P_3) },
    443  1.1.1.3  christos   },
    444  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_10 */
    445      1.1  christos   {
    446      1.1  christos     { Bad_Opcode },
    447  1.1.1.2  christos     { "vmovs%XH", { XMScalar, VexScalarR, EXw }, 0 },
    448      1.1  christos   },
    449  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_11 */
    450      1.1  christos   {
    451      1.1  christos     { Bad_Opcode },
    452  1.1.1.2  christos     { "vmovs%XH", { EXwS, VexScalarR, XMScalar }, 0 },
    453      1.1  christos   },
    454  1.1.1.4  christos   /* PREFIX_EVEX_MAP5_18 */
    455  1.1.1.4  christos   {
    456  1.1.1.4  christos     { "vcvtbiasp%XH2hf8",	{ XMxmmq, Vex, EXxh }, 0 },
    457  1.1.1.4  christos     { "vcvtp%XH2hf8%XY",	{ XMxmmq, EXxh }, 0 },
    458  1.1.1.4  christos     { Bad_Opcode },
    459  1.1.1.4  christos     { "vcvt2p%XH2hf8",	{ XM, Vex, EXxh }, 0 },
    460  1.1.1.4  christos   },
    461  1.1.1.4  christos   /* PREFIX_EVEX_MAP5_1B */
    462  1.1.1.4  christos   {
    463  1.1.1.4  christos     { "vcvtbiasp%XH2hf8s",	{ XMxmmq, Vex, EXxh }, 0 },
    464  1.1.1.4  christos     { "vcvtp%XH2hf8s%XY",	{ XMxmmq, EXxh }, 0 },
    465  1.1.1.4  christos     { Bad_Opcode },
    466  1.1.1.4  christos     { "vcvt2p%XH2hf8s",	{ XM, Vex, EXxh }, 0 },
    467  1.1.1.4  christos   },
    468  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_1D */
    469      1.1  christos   {
    470  1.1.1.2  christos     { "vcvtss2s%XH",      { XMScalar, VexScalar, EXd, EXxEVexR }, 0 },
    471      1.1  christos     { Bad_Opcode },
    472  1.1.1.2  christos     { "vcvtps2p%XHx%XY",  { XMxmmq, EXx, EXxEVexR }, 0 },
    473      1.1  christos   },
    474  1.1.1.4  christos   /* PREFIX_EVEX_MAP5_1E */
    475  1.1.1.4  christos   {
    476  1.1.1.4  christos     { Bad_Opcode },
    477  1.1.1.4  christos     { Bad_Opcode },
    478  1.1.1.4  christos     { Bad_Opcode },
    479  1.1.1.4  christos     { "vcvthf82p%XH",	{ XM, EXxmmq }, 0 },
    480  1.1.1.4  christos   },
    481  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_2A */
    482      1.1  christos   {
    483      1.1  christos     { Bad_Opcode },
    484  1.1.1.3  christos     { "vcvtsi2shY{%LQ|}",        { XMScalar, VexScalar, EXxEVexR, Edq }, 0 },
    485      1.1  christos   },
    486  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_2C */
    487      1.1  christos   {
    488      1.1  christos     { Bad_Opcode },
    489  1.1.1.2  christos     { "vcvttsh2si",     { Gdq, EXw, EXxEVexS }, 0 },
    490      1.1  christos   },
    491  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_2D */
    492      1.1  christos   {
    493      1.1  christos     { Bad_Opcode },
    494  1.1.1.2  christos     { "vcvtsh2si",      { Gdq, EXw, EXxEVexR }, 0 },
    495      1.1  christos   },
    496  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_2E */
    497      1.1  christos   {
    498  1.1.1.4  christos     { "vucomisY%XH",	{ XMScalar, EXw, EXxEVexS }, 0 },
    499  1.1.1.4  christos     { "vucomxs%XH",	{ XMScalar, EXw, EXxEVexS }, 0 },
    500      1.1  christos   },
    501  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_2F */
    502      1.1  christos   {
    503  1.1.1.4  christos     { "vcomisY%XH",	{ XMScalar, EXw, EXxEVexS }, 0 },
    504  1.1.1.4  christos     { "vcomxs%XH",	{ XMScalar, EXw, EXxEVexS }, 0 },
    505  1.1.1.4  christos     { "vcomis%XB",	{ XMScalar, EXw, EXxEVexS }, 0 },
    506      1.1  christos   },
    507  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_51 */
    508      1.1  christos   {
    509  1.1.1.2  christos     { "vsqrtp%XH",        { XM, EXxh, EXxEVexR }, 0 },
    510  1.1.1.2  christos     { "vsqrts%XH",        { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
    511  1.1.1.4  christos     { "vsqrt%XB",	{ XM, EXxh }, 0 },
    512      1.1  christos   },
    513  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_58 */
    514      1.1  christos   {
    515  1.1.1.2  christos     { "vaddp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
    516  1.1.1.2  christos     { "vadds%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
    517  1.1.1.4  christos     { "vadd%XB",	{ XM, Vex, EXxh }, 0 },
    518      1.1  christos   },
    519  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_59 */
    520      1.1  christos   {
    521  1.1.1.2  christos     { "vmulp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
    522  1.1.1.2  christos     { "vmuls%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
    523  1.1.1.4  christos     { "vmul%XB", { XM, Vex, EXxh }, 0 },
    524      1.1  christos   },
    525  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_5A */
    526      1.1  christos   {
    527  1.1.1.2  christos     { "vcvtp%XH2pd",    { XM, EXxmmqdh, EXxEVexS }, 0 },
    528  1.1.1.2  christos     { "vcvts%XH2sd",    { XMScalar, VexScalar, EXw, EXxEVexS }, 0 },
    529  1.1.1.2  christos     { "vcvtp%XD2ph%XZ", { XMM, EXx, EXxEVexR }, 0 },
    530  1.1.1.2  christos     { "vcvts%XD2sh",    { XMScalar, VexScalar, EXq, EXxEVexR }, 0 },
    531      1.1  christos   },
    532  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_5B */
    533      1.1  christos   {
    534  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_MAP5_5B_P_0) },
    535  1.1.1.2  christos     { "vcvttp%XH2dq",   { XM, EXxmmqh, EXxEVexS }, 0 },
    536  1.1.1.2  christos     { "vcvtp%XH2dq",    { XM, EXxmmqh, EXxEVexR }, 0 },
    537      1.1  christos   },
    538  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_5C */
    539      1.1  christos   {
    540  1.1.1.2  christos     { "vsubp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
    541  1.1.1.2  christos     { "vsubs%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
    542  1.1.1.4  christos     { "vsub%XB", { XM, Vex, EXxh }, 0 },
    543      1.1  christos   },
    544  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_5D */
    545      1.1  christos   {
    546  1.1.1.2  christos     { "vminp%XH", { XM, Vex, EXxh, EXxEVexS }, 0 },
    547  1.1.1.2  christos     { "vmins%XH", { XMScalar, VexScalar, EXw, EXxEVexS }, 0 },
    548  1.1.1.4  christos     { "vmin%XB", { XM, Vex, EXxh }, 0 },
    549      1.1  christos   },
    550  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_5E */
    551      1.1  christos   {
    552  1.1.1.2  christos     { "vdivp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
    553  1.1.1.2  christos     { "vdivs%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
    554  1.1.1.4  christos     { "vdiv%XB", { XM, Vex, EXxh }, 0 },
    555      1.1  christos   },
    556  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_5F */
    557      1.1  christos   {
    558  1.1.1.2  christos     { "vmaxp%XH", { XM, Vex, EXxh, EXxEVexS }, 0 },
    559  1.1.1.2  christos     { "vmaxs%XH", { XMScalar, VexScalar, EXw, EXxEVexS }, 0 },
    560  1.1.1.4  christos     { "vmax%XB", { XM, Vex, EXxh }, 0 },
    561  1.1.1.4  christos   },
    562  1.1.1.4  christos   /* PREFIX_EVEX_MAP5_68 */
    563  1.1.1.4  christos   {
    564  1.1.1.4  christos     { "vcvttp%XH2ibs",	{ XM, EXxh, EXxEVexS }, 0 },
    565  1.1.1.4  christos     { Bad_Opcode },
    566  1.1.1.4  christos     { "vcvttp%XS2ibs",	{ XM, EXx, EXxEVexS }, 0 },
    567  1.1.1.4  christos     { "vcvtt%XB2ibs",	{ XM, EXxh }, 0 },
    568  1.1.1.4  christos   },
    569  1.1.1.4  christos   /* PREFIX_EVEX_MAP5_69 */
    570  1.1.1.4  christos   {
    571  1.1.1.4  christos     { "vcvtp%XH2ibs",	{ XM, EXxh, EXxEVexR }, 0 },
    572  1.1.1.4  christos     { Bad_Opcode },
    573  1.1.1.4  christos     { "vcvtp%XS2ibs",	{ XM, EXx, EXxEVexR }, 0 },
    574  1.1.1.4  christos     { "vcvt%XB2ibs",	{ XM, EXxh }, 0 },
    575  1.1.1.4  christos   },
    576  1.1.1.4  christos   /* PREFIX_EVEX_MAP5_6A */
    577  1.1.1.4  christos   {
    578  1.1.1.4  christos     { "vcvttp%XH2iubs",	{ XM, EXxh, EXxEVexS }, 0 },
    579  1.1.1.4  christos     { Bad_Opcode },
    580  1.1.1.4  christos     { "vcvttp%XS2iubs",	{ XM, EXx, EXxEVexS }, 0 },
    581  1.1.1.4  christos     { "vcvtt%XB2iubs",	{ XM, EXxh }, 0 },
    582  1.1.1.4  christos   },
    583  1.1.1.4  christos   /* PREFIX_EVEX_MAP5_6B */
    584  1.1.1.4  christos   {
    585  1.1.1.4  christos     { "vcvtp%XH2iubs",	{ XM, EXxh, EXxEVexR }, 0 },
    586  1.1.1.4  christos     { Bad_Opcode },
    587  1.1.1.4  christos     { "vcvtp%XS2iubs",	{ XM, EXx, EXxEVexR }, 0 },
    588  1.1.1.4  christos     { "vcvt%XB2iubs",	{ XM, EXxh }, 0 },
    589  1.1.1.4  christos   },
    590  1.1.1.4  christos   /* PREFIX_EVEX_MAP5_6C */
    591  1.1.1.4  christos   {
    592  1.1.1.4  christos     { VEX_W_TABLE (EVEX_W_MAP5_6C_P_0) },
    593  1.1.1.4  christos     { "vcvttss2usis",	{ Gdq, EXd, EXxEVexS }, 0 },
    594  1.1.1.4  christos     { VEX_W_TABLE (EVEX_W_MAP5_6C_P_2) },
    595  1.1.1.4  christos     { "vcvttsd2usis",	{ Gdq, EXq, EXxEVexS }, 0 },
    596  1.1.1.4  christos   },
    597  1.1.1.4  christos   /* PREFIX_EVEX_MAP5_6D */
    598  1.1.1.4  christos   {
    599  1.1.1.4  christos     { VEX_W_TABLE (EVEX_W_MAP5_6D_P_0) },
    600  1.1.1.4  christos     { "vcvttss2sis",	{ Gdq, EXd, EXxEVexS }, 0 },
    601  1.1.1.4  christos     { VEX_W_TABLE (EVEX_W_MAP5_6D_P_2) },
    602  1.1.1.4  christos     { "vcvttsd2sis",	{ Gdq, EXq, EXxEVexS }, 0 },
    603  1.1.1.4  christos   },
    604  1.1.1.4  christos   /* PREFIX_EVEX_MAP5_6E_L_0 */
    605  1.1.1.4  christos   {
    606  1.1.1.4  christos     { Bad_Opcode },
    607  1.1.1.4  christos     { VEX_W_TABLE (EVEX_W_MAP5_6E_P_1) },
    608  1.1.1.4  christos     { "vmovwY",	{ XMScalar, Edw }, 0 },
    609  1.1.1.4  christos   },
    610  1.1.1.4  christos   /* PREFIX_EVEX_MAP5_6F_X86_64 */
    611  1.1.1.4  christos   {
    612  1.1.1.4  christos     { Bad_Opcode },
    613  1.1.1.4  christos     { "vmovrs%DQ",	{ XM, Mx }, 0 },
    614  1.1.1.4  christos     { Bad_Opcode },
    615  1.1.1.4  christos     { "vmovrs%BW",	{ XM, Mx }, 0 },
    616  1.1.1.4  christos   },
    617  1.1.1.4  christos   /* PREFIX_EVEX_MAP5_74 */
    618  1.1.1.4  christos   {
    619  1.1.1.4  christos     { "vcvtbiasp%XH2bf8s",	{ XMxmmq, Vex, EXxh }, 0 },
    620  1.1.1.4  christos     { "vcvtp%XH2bf8s%XY",	{ XMxmmq, EXxh }, 0 },
    621  1.1.1.4  christos     { Bad_Opcode },
    622  1.1.1.4  christos     { "vcvt2p%XH2bf8s",	{ XM, Vex, EXxh }, 0 },
    623      1.1  christos   },
    624  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_78 */
    625      1.1  christos   {
    626  1.1.1.2  christos     { "vcvttp%XH2udq",  { XM, EXxmmqh, EXxEVexS }, 0 },
    627  1.1.1.2  christos     { "vcvttsh2usi",    { Gdq, EXw, EXxEVexS }, 0 },
    628  1.1.1.2  christos     { "vcvttp%XH2uqq",  { XM, EXxmmqdh, EXxEVexS }, 0 },
    629      1.1  christos   },
    630  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_79 */
    631      1.1  christos   {
    632  1.1.1.2  christos     { "vcvtp%XH2udq",   { XM, EXxmmqh, EXxEVexR }, 0 },
    633  1.1.1.2  christos     { "vcvtsh2usi",     { Gdq, EXw, EXxEVexR }, 0 },
    634  1.1.1.2  christos     { "vcvtp%XH2uqq",   { XM, EXxmmqdh, EXxEVexR }, 0 },
    635      1.1  christos   },
    636  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_7A */
    637      1.1  christos   {
    638      1.1  christos     { Bad_Opcode },
    639      1.1  christos     { Bad_Opcode },
    640  1.1.1.2  christos     { "vcvttp%XH2qq",   { XM, EXxmmqdh, EXxEVexS }, 0 },
    641  1.1.1.2  christos     { VEX_W_TABLE (EVEX_W_MAP5_7A_P_3) },
    642      1.1  christos   },
    643  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_7B */
    644      1.1  christos   {
    645      1.1  christos     { Bad_Opcode },
    646  1.1.1.3  christos     { "vcvtusi2shY{%LQ|}",       { XMScalar, VexScalar, EXxEVexR, Edq }, 0 },
    647  1.1.1.2  christos     { "vcvtp%XH2qq",    { XM, EXxmmqdh, EXxEVexR }, 0 },
    648      1.1  christos   },
    649  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_7C */
    650      1.1  christos   {
    651  1.1.1.2  christos     { "vcvttp%XH2uw",   { XM, EXxh, EXxEVexS }, 0 },
    652      1.1  christos     { Bad_Opcode },
    653  1.1.1.2  christos     { "vcvttp%XH2w",    { XM, EXxh, EXxEVexS }, 0 },
    654      1.1  christos   },
    655  1.1.1.2  christos   /* PREFIX_EVEX_MAP5_7D */
    656      1.1  christos   {
    657  1.1.1.2  christos     { "vcvtp%XH2uw",    { XM, EXxh, EXxEVexR }, 0 },
    658  1.1.1.2  christos     { "vcvtw2p%XH",     { XM, EXxh, EXxEVexR }, 0 },
    659  1.1.1.2  christos     { "vcvtp%XH2w",     { XM, EXxh, EXxEVexR }, 0 },
    660  1.1.1.2  christos     { "vcvtuw2p%XH",    { XM, EXxh, EXxEVexR }, 0 },
    661      1.1  christos   },
    662  1.1.1.4  christos   /* PREFIX_EVEX_MAP5_7E_L_0 */
    663  1.1.1.4  christos   {
    664  1.1.1.4  christos     { Bad_Opcode },
    665  1.1.1.4  christos     { VEX_W_TABLE (EVEX_W_MAP5_7E_P_1) },
    666  1.1.1.4  christos     { "vmovw",	{ Edw, XMScalar }, 0 },
    667  1.1.1.4  christos   },
    668  1.1.1.2  christos   /* PREFIX_EVEX_MAP6_13 */
    669      1.1  christos   {
    670  1.1.1.2  christos     { "vcvts%XH2ss",	{ XMScalar, VexScalar, EXw, EXxEVexS }, 0 },
    671      1.1  christos     { Bad_Opcode },
    672  1.1.1.2  christos     { "vcvtp%XH2psx",	{ XM, EXxmmqh, EXxEVexS }, 0 },
    673      1.1  christos   },
    674  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_2C */
    675  1.1.1.4  christos   {
    676  1.1.1.4  christos     { "vscalef%XB",	{ XM, Vex, EXxh }, 0 },
    677  1.1.1.4  christos     { Bad_Opcode },
    678  1.1.1.4  christos     { "vscalefp%XH",	{ XM, Vex, EXxh, EXxEVexR }, 0 },
    679  1.1.1.4  christos   },
    680  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_42 */
    681  1.1.1.4  christos   {
    682  1.1.1.4  christos     { "vgetexp%XB",	{ XM, EXxh }, 0 },
    683  1.1.1.4  christos     { Bad_Opcode },
    684  1.1.1.4  christos     { "vgetexpp%XH",	{ XM, EXxh, EXxEVexS }, 0 },
    685  1.1.1.4  christos   },
    686  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_4C */
    687  1.1.1.4  christos   {
    688  1.1.1.4  christos     { "vrcp%XB",	{ XM, EXxh }, 0 },
    689  1.1.1.4  christos     { Bad_Opcode },
    690  1.1.1.4  christos     { "vrcpp%XH",	{ XM, EXxh }, 0 },
    691  1.1.1.4  christos   },
    692  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_4E */
    693  1.1.1.4  christos   {
    694  1.1.1.4  christos     { "vrsqrt%XB",	{ XM, EXxh }, 0 },
    695  1.1.1.4  christos     { Bad_Opcode },
    696  1.1.1.4  christos     { "vrsqrtp%XH",	{ XM, EXxh }, 0 },
    697  1.1.1.4  christos   },
    698  1.1.1.2  christos   /* PREFIX_EVEX_MAP6_56 */
    699      1.1  christos   {
    700      1.1  christos     { Bad_Opcode },
    701  1.1.1.2  christos     { "vfmaddcp%XH",      { { DistinctDest_Fixup, 0 }, Vex, EXx, EXxEVexR }, 0 },
    702      1.1  christos     { Bad_Opcode },
    703  1.1.1.2  christos     { "vfcmaddcp%XH",     { { DistinctDest_Fixup, 0 }, Vex, EXx, EXxEVexR }, 0 },
    704      1.1  christos   },
    705  1.1.1.2  christos   /* PREFIX_EVEX_MAP6_57 */
    706      1.1  christos   {
    707      1.1  christos     { Bad_Opcode },
    708  1.1.1.2  christos     { "vfmaddcs%XH",      { { DistinctDest_Fixup, scalar_mode }, VexScalar, EXd, EXxEVexR }, 0 },
    709      1.1  christos     { Bad_Opcode },
    710  1.1.1.2  christos     { "vfcmaddcs%XH",     { { DistinctDest_Fixup, scalar_mode }, VexScalar, EXd, EXxEVexR }, 0 },
    711      1.1  christos   },
    712  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_98 */
    713  1.1.1.4  christos   {
    714  1.1.1.4  christos     { "vfmadd132%XB",	{ XM, Vex, EXxh }, 0 },
    715  1.1.1.4  christos     { Bad_Opcode },
    716  1.1.1.4  christos     { "vfmadd132p%XH",	{ XM, Vex, EXxh, EXxEVexR }, 0 },
    717  1.1.1.4  christos   },
    718  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_9A */
    719  1.1.1.4  christos   {
    720  1.1.1.4  christos     { "vfmsub132%XB",	{ XM, Vex, EXxh }, 0 },
    721  1.1.1.4  christos     { Bad_Opcode },
    722  1.1.1.4  christos     { "vfmsub132p%XH",	{ XM, Vex, EXxh, EXxEVexR }, 0 },
    723  1.1.1.4  christos   },
    724  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_9C */
    725  1.1.1.4  christos   {
    726  1.1.1.4  christos     { "vfnmadd132%XB",	{ XM, Vex, EXxh }, 0 },
    727  1.1.1.4  christos     { Bad_Opcode },
    728  1.1.1.4  christos     { "vfnmadd132p%XH",	{ XM, Vex, EXxh, EXxEVexR }, 0 },
    729  1.1.1.4  christos   },
    730  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_9E */
    731  1.1.1.4  christos   {
    732  1.1.1.4  christos     { "vfnmsub132%XB",	{ XM, Vex, EXxh }, 0 },
    733  1.1.1.4  christos     { Bad_Opcode },
    734  1.1.1.4  christos     { "vfnmsub132p%XH",	{ XM, Vex, EXxh, EXxEVexR }, 0 },
    735  1.1.1.4  christos   },
    736  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_A8 */
    737  1.1.1.4  christos   {
    738  1.1.1.4  christos     { "vfmadd213%XB",	{ XM, Vex, EXxh }, 0 },
    739  1.1.1.4  christos     { Bad_Opcode },
    740  1.1.1.4  christos     { "vfmadd213p%XH",	{ XM, Vex, EXxh, EXxEVexR }, 0 },
    741  1.1.1.4  christos   },
    742  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_AA */
    743  1.1.1.4  christos   {
    744  1.1.1.4  christos     { "vfmsub213%XB",	{ XM, Vex, EXxh }, 0 },
    745  1.1.1.4  christos     { Bad_Opcode },
    746  1.1.1.4  christos     { "vfmsub213p%XH",	{ XM, Vex, EXxh, EXxEVexR }, 0 },
    747  1.1.1.4  christos   },
    748  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_AC */
    749  1.1.1.4  christos   {
    750  1.1.1.4  christos     { "vfnmadd213%XB",	{ XM, Vex, EXxh }, 0 },
    751  1.1.1.4  christos     { Bad_Opcode },
    752  1.1.1.4  christos     { "vfnmadd213p%XH",	{ XM, Vex, EXxh, EXxEVexR }, 0 },
    753  1.1.1.4  christos   },
    754  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_AE */
    755  1.1.1.4  christos   {
    756  1.1.1.4  christos     { "vfnmsub213%XB",	{ XM, Vex, EXxh }, 0 },
    757  1.1.1.4  christos     { Bad_Opcode },
    758  1.1.1.4  christos     { "vfnmsub213p%XH",	{ XM, Vex, EXxh, EXxEVexR }, 0 },
    759  1.1.1.4  christos   },
    760  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_B8 */
    761  1.1.1.4  christos   {
    762  1.1.1.4  christos     { "vfmadd231%XB",	{ XM, Vex, EXxh }, 0 },
    763  1.1.1.4  christos     { Bad_Opcode },
    764  1.1.1.4  christos     { "vfmadd231p%XH",	{ XM, Vex, EXxh, EXxEVexR }, 0 },
    765  1.1.1.4  christos   },
    766  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_BA */
    767  1.1.1.4  christos   {
    768  1.1.1.4  christos     { "vfmsub231%XB",	{ XM, Vex, EXxh }, 0 },
    769  1.1.1.4  christos     { Bad_Opcode },
    770  1.1.1.4  christos     { "vfmsub231p%XH",	{ XM, Vex, EXxh, EXxEVexR }, 0 },
    771  1.1.1.4  christos   },
    772  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_BC */
    773  1.1.1.4  christos   {
    774  1.1.1.4  christos     { "vfnmadd231%XB",	{ XM, Vex, EXxh }, 0 },
    775  1.1.1.4  christos     { Bad_Opcode },
    776  1.1.1.4  christos     { "vfnmadd231p%XH",	{ XM, Vex, EXxh, EXxEVexR }, 0 },
    777  1.1.1.4  christos   },
    778  1.1.1.4  christos   /* PREFIX_EVEX_MAP6_BE */
    779  1.1.1.4  christos   {
    780  1.1.1.4  christos     { "vfnmsub231%XB",	{ XM, Vex, EXxh }, 0 },
    781  1.1.1.4  christos     { Bad_Opcode },
    782  1.1.1.4  christos     { "vfnmsub231p%XH",	{ XM, Vex, EXxh, EXxEVexR }, 0 },
    783  1.1.1.4  christos   },
    784  1.1.1.2  christos   /* PREFIX_EVEX_MAP6_D6 */
    785      1.1  christos   {
    786      1.1  christos     { Bad_Opcode },
    787  1.1.1.2  christos     { "vfmulcp%XH",     { { DistinctDest_Fixup, 0 }, Vex, EXx, EXxEVexR }, 0 },
    788      1.1  christos     { Bad_Opcode },
    789  1.1.1.2  christos     { "vfcmulcp%XH",    { { DistinctDest_Fixup, 0 }, Vex, EXx, EXxEVexR }, 0 },
    790      1.1  christos   },
    791  1.1.1.2  christos   /* PREFIX_EVEX_MAP6_D7 */
    792      1.1  christos   {
    793      1.1  christos     { Bad_Opcode },
    794  1.1.1.2  christos     { "vfmulcs%XH",     { { DistinctDest_Fixup, scalar_mode }, VexScalar, EXd, EXxEVexR }, 0 },
    795      1.1  christos     { Bad_Opcode },
    796  1.1.1.2  christos     { "vfcmulcs%XH",    { { DistinctDest_Fixup, scalar_mode }, VexScalar, EXd, EXxEVexR }, 0 },
    797      1.1  christos   },
    798