Home | History | Annotate | Line # | Download | only in opcodes
i386-dis-evex-w.h revision 1.1
      1  1.1  christos   /* EVEX_W_0F10_P_1 */
      2  1.1  christos   {
      3  1.1  christos     { "vmovss",	{ XMScalar, VexScalarR, EXxmm_md }, 0 },
      4  1.1  christos   },
      5  1.1  christos   /* EVEX_W_0F10_P_3 */
      6  1.1  christos   {
      7  1.1  christos     { Bad_Opcode },
      8  1.1  christos     { "vmovsd",	{ XMScalar, VexScalarR, EXxmm_mq }, 0 },
      9  1.1  christos   },
     10  1.1  christos   /* EVEX_W_0F11_P_1 */
     11  1.1  christos   {
     12  1.1  christos     { "vmovss",	{ EXdS, VexScalarR, XMScalar }, 0 },
     13  1.1  christos   },
     14  1.1  christos   /* EVEX_W_0F11_P_3 */
     15  1.1  christos   {
     16  1.1  christos     { Bad_Opcode },
     17  1.1  christos     { "vmovsd",	{ EXqS, VexScalarR, XMScalar }, 0 },
     18  1.1  christos   },
     19  1.1  christos   /* EVEX_W_0F12_P_0_M_1 */
     20  1.1  christos   {
     21  1.1  christos     { "vmovhlps",	{ XMM, Vex, EXxmm_mq }, 0 },
     22  1.1  christos   },
     23  1.1  christos   /* EVEX_W_0F12_P_1 */
     24  1.1  christos   {
     25  1.1  christos     { "vmovsldup",	{ XM, EXEvexXNoBcst }, 0 },
     26  1.1  christos   },
     27  1.1  christos   /* EVEX_W_0F12_P_3 */
     28  1.1  christos   {
     29  1.1  christos     { Bad_Opcode },
     30  1.1  christos     { "vmovddup",	{ XM, EXymmq }, 0 },
     31  1.1  christos   },
     32  1.1  christos   /* EVEX_W_0F16_P_0_M_1 */
     33  1.1  christos   {
     34  1.1  christos     { "vmovlhps",	{ XMM, Vex, EXx }, 0 },
     35  1.1  christos   },
     36  1.1  christos   /* EVEX_W_0F16_P_1 */
     37  1.1  christos   {
     38  1.1  christos     { "vmovshdup",	{ XM, EXx }, 0 },
     39  1.1  christos   },
     40  1.1  christos   /* EVEX_W_0F2A_P_3 */
     41  1.1  christos   {
     42  1.1  christos     { "vcvtsi2sd{%LQ|}",	{ XMScalar, VexScalar, Ed }, 0 },
     43  1.1  christos     { "vcvtsi2sd{%LQ|}",	{ XMScalar, VexScalar, EXxEVexR64, Edq }, 0 },
     44  1.1  christos   },
     45  1.1  christos   /* EVEX_W_0F51_P_1 */
     46  1.1  christos   {
     47  1.1  christos     { "vsqrtss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
     48  1.1  christos   },
     49  1.1  christos   /* EVEX_W_0F51_P_3 */
     50  1.1  christos   {
     51  1.1  christos     { Bad_Opcode },
     52  1.1  christos     { "vsqrtsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
     53  1.1  christos   },
     54  1.1  christos   /* EVEX_W_0F58_P_1 */
     55  1.1  christos   {
     56  1.1  christos     { "vaddss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
     57  1.1  christos   },
     58  1.1  christos   /* EVEX_W_0F58_P_3 */
     59  1.1  christos   {
     60  1.1  christos     { Bad_Opcode },
     61  1.1  christos     { "vaddsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
     62  1.1  christos   },
     63  1.1  christos   /* EVEX_W_0F59_P_1 */
     64  1.1  christos   {
     65  1.1  christos     { "vmulss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
     66  1.1  christos   },
     67  1.1  christos   /* EVEX_W_0F59_P_3 */
     68  1.1  christos   {
     69  1.1  christos     { Bad_Opcode },
     70  1.1  christos     { "vmulsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
     71  1.1  christos   },
     72  1.1  christos   /* EVEX_W_0F5A_P_0 */
     73  1.1  christos   {
     74  1.1  christos     { "vcvtps2pd",   { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
     75  1.1  christos   },
     76  1.1  christos   /* EVEX_W_0F5A_P_1 */
     77  1.1  christos   {
     78  1.1  christos     { "vcvtss2sd",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 },
     79  1.1  christos   },
     80  1.1  christos   /* EVEX_W_0F5A_P_2 */
     81  1.1  christos   {
     82  1.1  christos     { Bad_Opcode },
     83  1.1  christos     { "vcvtpd2ps%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
     84  1.1  christos   },
     85  1.1  christos   /* EVEX_W_0F5A_P_3 */
     86  1.1  christos   {
     87  1.1  christos     { Bad_Opcode },
     88  1.1  christos     { "vcvtsd2ss",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
     89  1.1  christos   },
     90  1.1  christos   /* EVEX_W_0F5B_P_0 */
     91  1.1  christos   {
     92  1.1  christos     { "vcvtdq2ps",	{ XM, EXx, EXxEVexR }, 0 },
     93  1.1  christos     { "vcvtqq2ps%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
     94  1.1  christos   },
     95  1.1  christos   /* EVEX_W_0F5B_P_1 */
     96  1.1  christos   {
     97  1.1  christos     { "vcvttps2dq",	{ XM, EXx, EXxEVexS }, 0 },
     98  1.1  christos   },
     99  1.1  christos   /* EVEX_W_0F5B_P_2 */
    100  1.1  christos   {
    101  1.1  christos     { "vcvtps2dq",	{ XM, EXx, EXxEVexR }, 0 },
    102  1.1  christos   },
    103  1.1  christos   /* EVEX_W_0F5C_P_1 */
    104  1.1  christos   {
    105  1.1  christos     { "vsubss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
    106  1.1  christos   },
    107  1.1  christos   /* EVEX_W_0F5C_P_3 */
    108  1.1  christos   {
    109  1.1  christos     { Bad_Opcode },
    110  1.1  christos     { "vsubsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
    111  1.1  christos   },
    112  1.1  christos   /* EVEX_W_0F5D_P_1 */
    113  1.1  christos   {
    114  1.1  christos     { "vminss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 },
    115  1.1  christos   },
    116  1.1  christos   /* EVEX_W_0F5D_P_3 */
    117  1.1  christos   {
    118  1.1  christos     { Bad_Opcode },
    119  1.1  christos     { "vminsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 },
    120  1.1  christos   },
    121  1.1  christos   /* EVEX_W_0F5E_P_1 */
    122  1.1  christos   {
    123  1.1  christos     { "vdivss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
    124  1.1  christos   },
    125  1.1  christos   /* EVEX_W_0F5E_P_3 */
    126  1.1  christos   {
    127  1.1  christos     { Bad_Opcode },
    128  1.1  christos     { "vdivsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
    129  1.1  christos   },
    130  1.1  christos   /* EVEX_W_0F5F_P_1 */
    131  1.1  christos   {
    132  1.1  christos     { "vmaxss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 },
    133  1.1  christos   },
    134  1.1  christos   /* EVEX_W_0F5F_P_3 */
    135  1.1  christos   {
    136  1.1  christos     { Bad_Opcode },
    137  1.1  christos     { "vmaxsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 },
    138  1.1  christos   },
    139  1.1  christos   /* EVEX_W_0F62 */
    140  1.1  christos   {
    141  1.1  christos     { "vpunpckldq",	{ XM, Vex, EXx }, PREFIX_DATA },
    142  1.1  christos   },
    143  1.1  christos   /* EVEX_W_0F66 */
    144  1.1  christos   {
    145  1.1  christos     { "vpcmpgtd",	{ XMask, Vex, EXx }, PREFIX_DATA },
    146  1.1  christos   },
    147  1.1  christos   /* EVEX_W_0F6A */
    148  1.1  christos   {
    149  1.1  christos     { "vpunpckhdq",	{ XM, Vex, EXx }, PREFIX_DATA },
    150  1.1  christos   },
    151  1.1  christos   /* EVEX_W_0F6B */
    152  1.1  christos   {
    153  1.1  christos     { "vpackssdw",	{ XM, Vex, EXx }, PREFIX_DATA },
    154  1.1  christos   },
    155  1.1  christos   /* EVEX_W_0F6C */
    156  1.1  christos   {
    157  1.1  christos     { Bad_Opcode },
    158  1.1  christos     { "vpunpcklqdq",	{ XM, Vex, EXx }, PREFIX_DATA },
    159  1.1  christos   },
    160  1.1  christos   /* EVEX_W_0F6D */
    161  1.1  christos   {
    162  1.1  christos     { Bad_Opcode },
    163  1.1  christos     { "vpunpckhqdq",	{ XM, Vex, EXx }, PREFIX_DATA },
    164  1.1  christos   },
    165  1.1  christos   /* EVEX_W_0F6F_P_1 */
    166  1.1  christos   {
    167  1.1  christos     { "vmovdqu32",	{ XM, EXEvexXNoBcst }, 0 },
    168  1.1  christos     { "vmovdqu64",	{ XM, EXEvexXNoBcst }, 0 },
    169  1.1  christos   },
    170  1.1  christos   /* EVEX_W_0F6F_P_2 */
    171  1.1  christos   {
    172  1.1  christos     { "vmovdqa32",	{ XM, EXEvexXNoBcst }, 0 },
    173  1.1  christos     { "vmovdqa64",	{ XM, EXEvexXNoBcst }, 0 },
    174  1.1  christos   },
    175  1.1  christos   /* EVEX_W_0F6F_P_3 */
    176  1.1  christos   {
    177  1.1  christos     { "vmovdqu8",	{ XM, EXx }, 0 },
    178  1.1  christos     { "vmovdqu16",	{ XM, EXx }, 0 },
    179  1.1  christos   },
    180  1.1  christos   /* EVEX_W_0F70_P_2 */
    181  1.1  christos   {
    182  1.1  christos     { "vpshufd",	{ XM, EXx, Ib }, 0 },
    183  1.1  christos   },
    184  1.1  christos   /* EVEX_W_0F72_R_2 */
    185  1.1  christos   {
    186  1.1  christos     { "vpsrld",	{ Vex, EXx, Ib }, PREFIX_DATA },
    187  1.1  christos   },
    188  1.1  christos   /* EVEX_W_0F72_R_6 */
    189  1.1  christos   {
    190  1.1  christos     { "vpslld",	{ Vex, EXx, Ib }, PREFIX_DATA },
    191  1.1  christos   },
    192  1.1  christos   /* EVEX_W_0F73_R_2 */
    193  1.1  christos   {
    194  1.1  christos     { Bad_Opcode },
    195  1.1  christos     { "vpsrlq",	{ Vex, EXx, Ib }, PREFIX_DATA },
    196  1.1  christos   },
    197  1.1  christos   /* EVEX_W_0F73_R_6 */
    198  1.1  christos   {
    199  1.1  christos     { Bad_Opcode },
    200  1.1  christos     { "vpsllq",	{ Vex, EXx, Ib }, PREFIX_DATA },
    201  1.1  christos   },
    202  1.1  christos   /* EVEX_W_0F76 */
    203  1.1  christos   {
    204  1.1  christos     { "vpcmpeqd",	{ XMask, Vex, EXx }, PREFIX_DATA },
    205  1.1  christos   },
    206  1.1  christos   /* EVEX_W_0F78_P_0 */
    207  1.1  christos   {
    208  1.1  christos     { "vcvttps2udq",	{ XM, EXx, EXxEVexS }, 0 },
    209  1.1  christos     { "vcvttpd2udq%XY",	{ XMxmmq, EXx, EXxEVexS }, 0 },
    210  1.1  christos   },
    211  1.1  christos   /* EVEX_W_0F78_P_2 */
    212  1.1  christos   {
    213  1.1  christos     { "vcvttps2uqq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
    214  1.1  christos     { "vcvttpd2uqq",	{ XM, EXx, EXxEVexS }, 0 },
    215  1.1  christos   },
    216  1.1  christos   /* EVEX_W_0F79_P_0 */
    217  1.1  christos   {
    218  1.1  christos     { "vcvtps2udq",	{ XM, EXx, EXxEVexR }, 0 },
    219  1.1  christos     { "vcvtpd2udq%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
    220  1.1  christos   },
    221  1.1  christos   /* EVEX_W_0F79_P_2 */
    222  1.1  christos   {
    223  1.1  christos     { "vcvtps2uqq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 },
    224  1.1  christos     { "vcvtpd2uqq",	{ XM, EXx, EXxEVexR }, 0 },
    225  1.1  christos   },
    226  1.1  christos   /* EVEX_W_0F7A_P_1 */
    227  1.1  christos   {
    228  1.1  christos     { "vcvtudq2pd",	{ XM, EXEvexHalfBcstXmmq }, 0 },
    229  1.1  christos     { "vcvtuqq2pd",	{ XM, EXx, EXxEVexR }, 0 },
    230  1.1  christos   },
    231  1.1  christos   /* EVEX_W_0F7A_P_2 */
    232  1.1  christos   {
    233  1.1  christos     { "vcvttps2qq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
    234  1.1  christos     { "vcvttpd2qq",	{ XM, EXx, EXxEVexS }, 0 },
    235  1.1  christos   },
    236  1.1  christos   /* EVEX_W_0F7A_P_3 */
    237  1.1  christos   {
    238  1.1  christos     { "vcvtudq2ps",	{ XM, EXx, EXxEVexR }, 0 },
    239  1.1  christos     { "vcvtuqq2ps%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
    240  1.1  christos   },
    241  1.1  christos   /* EVEX_W_0F7B_P_2 */
    242  1.1  christos   {
    243  1.1  christos     { "vcvtps2qq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 },
    244  1.1  christos     { "vcvtpd2qq",	{ XM, EXx, EXxEVexR }, 0 },
    245  1.1  christos   },
    246  1.1  christos   /* EVEX_W_0F7B_P_3 */
    247  1.1  christos   {
    248  1.1  christos     { "vcvtusi2sd{%LQ|}",	{ XMScalar, VexScalar, Ed }, 0 },
    249  1.1  christos     { "vcvtusi2sd{%LQ|}",	{ XMScalar, VexScalar, EXxEVexR64, Edq }, 0 },
    250  1.1  christos   },
    251  1.1  christos   /* EVEX_W_0F7E_P_1 */
    252  1.1  christos   {
    253  1.1  christos     { Bad_Opcode },
    254  1.1  christos     { "vmovq",	{ XMScalar, EXxmm_mq }, 0 },
    255  1.1  christos   },
    256  1.1  christos   /* EVEX_W_0F7F_P_1 */
    257  1.1  christos   {
    258  1.1  christos     { "vmovdqu32",	{ EXxS, XM }, 0 },
    259  1.1  christos     { "vmovdqu64",	{ EXxS, XM }, 0 },
    260  1.1  christos   },
    261  1.1  christos   /* EVEX_W_0F7F_P_2 */
    262  1.1  christos   {
    263  1.1  christos     { "vmovdqa32",	{ EXxS, XM }, 0 },
    264  1.1  christos     { "vmovdqa64",	{ EXxS, XM }, 0 },
    265  1.1  christos   },
    266  1.1  christos   /* EVEX_W_0F7F_P_3 */
    267  1.1  christos   {
    268  1.1  christos     { "vmovdqu8",	{ EXxS, XM }, 0 },
    269  1.1  christos     { "vmovdqu16",	{ EXxS, XM }, 0 },
    270  1.1  christos   },
    271  1.1  christos   /* EVEX_W_0FC2_P_1 */
    272  1.1  christos   {
    273  1.1  christos     { "vcmpss",	{ XMask, VexScalar, EXxmm_md, EXxEVexS, CMP }, 0 },
    274  1.1  christos   },
    275  1.1  christos   /* EVEX_W_0FC2_P_3 */
    276  1.1  christos   {
    277  1.1  christos     { Bad_Opcode },
    278  1.1  christos     { "vcmpsd",	{ XMask, VexScalar, EXxmm_mq, EXxEVexS, CMP }, 0 },
    279  1.1  christos   },
    280  1.1  christos   /* EVEX_W_0FD2 */
    281  1.1  christos   {
    282  1.1  christos     { "vpsrld",		{ XM, Vex, EXxmm }, PREFIX_DATA },
    283  1.1  christos   },
    284  1.1  christos   /* EVEX_W_0FD3 */
    285  1.1  christos   {
    286  1.1  christos     { Bad_Opcode },
    287  1.1  christos     { "vpsrlq",		{ XM, Vex, EXxmm }, PREFIX_DATA },
    288  1.1  christos   },
    289  1.1  christos   /* EVEX_W_0FD4 */
    290  1.1  christos   {
    291  1.1  christos     { Bad_Opcode },
    292  1.1  christos     { "vpaddq",		{ XM, Vex, EXx }, PREFIX_DATA },
    293  1.1  christos   },
    294  1.1  christos   /* EVEX_W_0FD6_L_0 */
    295  1.1  christos   {
    296  1.1  christos     { Bad_Opcode },
    297  1.1  christos     { "vmovq",	{ EXqS, XMScalar }, PREFIX_DATA },
    298  1.1  christos   },
    299  1.1  christos   /* EVEX_W_0FE6_P_1 */
    300  1.1  christos   {
    301  1.1  christos     { "vcvtdq2pd",	{ XM, EXEvexHalfBcstXmmq }, 0 },
    302  1.1  christos     { "vcvtqq2pd",	{ XM, EXx, EXxEVexR }, 0 },
    303  1.1  christos   },
    304  1.1  christos   /* EVEX_W_0FE6_P_2 */
    305  1.1  christos   {
    306  1.1  christos     { Bad_Opcode },
    307  1.1  christos     { "vcvttpd2dq%XY",	{ XMxmmq, EXx, EXxEVexS }, 0 },
    308  1.1  christos   },
    309  1.1  christos   /* EVEX_W_0FE6_P_3 */
    310  1.1  christos   {
    311  1.1  christos     { Bad_Opcode },
    312  1.1  christos     { "vcvtpd2dq%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
    313  1.1  christos   },
    314  1.1  christos   /* EVEX_W_0FE7 */
    315  1.1  christos   {
    316  1.1  christos     { "vmovntdq",	{ EXEvexXNoBcst, XM }, PREFIX_DATA },
    317  1.1  christos   },
    318  1.1  christos   /* EVEX_W_0FF2 */
    319  1.1  christos   {
    320  1.1  christos     { "vpslld",		{ XM, Vex, EXxmm }, PREFIX_DATA },
    321  1.1  christos   },
    322  1.1  christos   /* EVEX_W_0FF3 */
    323  1.1  christos   {
    324  1.1  christos     { Bad_Opcode },
    325  1.1  christos     { "vpsllq",		{ XM, Vex, EXxmm }, PREFIX_DATA },
    326  1.1  christos   },
    327  1.1  christos   /* EVEX_W_0FF4 */
    328  1.1  christos   {
    329  1.1  christos     { Bad_Opcode },
    330  1.1  christos     { "vpmuludq",	{ XM, Vex, EXx }, PREFIX_DATA },
    331  1.1  christos   },
    332  1.1  christos   /* EVEX_W_0FFA */
    333  1.1  christos   {
    334  1.1  christos     { "vpsubd",		{ XM, Vex, EXx }, PREFIX_DATA },
    335  1.1  christos   },
    336  1.1  christos   /* EVEX_W_0FFB */
    337  1.1  christos   {
    338  1.1  christos     { Bad_Opcode },
    339  1.1  christos     { "vpsubq",		{ XM, Vex, EXx }, PREFIX_DATA },
    340  1.1  christos   },
    341  1.1  christos   /* EVEX_W_0FFE */
    342  1.1  christos   {
    343  1.1  christos     { "vpaddd",		{ XM, Vex, EXx }, PREFIX_DATA },
    344  1.1  christos   },
    345  1.1  christos   /* EVEX_W_0F380D */
    346  1.1  christos   {
    347  1.1  christos     { Bad_Opcode },
    348  1.1  christos     { "vpermilpd",	{ XM, Vex, EXx }, PREFIX_DATA },
    349  1.1  christos   },
    350  1.1  christos   /* EVEX_W_0F3810_P_1 */
    351  1.1  christos   {
    352  1.1  christos     { "vpmovuswb",	{ EXxmmq, XM }, 0 },
    353  1.1  christos   },
    354  1.1  christos   /* EVEX_W_0F3810_P_2 */
    355  1.1  christos   {
    356  1.1  christos     { Bad_Opcode },
    357  1.1  christos     { "vpsrlvw",	{ XM, Vex, EXx }, 0 },
    358  1.1  christos   },
    359  1.1  christos   /* EVEX_W_0F3811_P_1 */
    360  1.1  christos   {
    361  1.1  christos     { "vpmovusdb",	{ EXxmmqd, XM }, 0 },
    362  1.1  christos   },
    363  1.1  christos   /* EVEX_W_0F3811_P_2 */
    364  1.1  christos   {
    365  1.1  christos     { Bad_Opcode },
    366  1.1  christos     { "vpsravw",	{ XM, Vex, EXx }, 0 },
    367  1.1  christos   },
    368  1.1  christos   /* EVEX_W_0F3812_P_1 */
    369  1.1  christos   {
    370  1.1  christos     { "vpmovusqb",	{ EXxmmdw, XM }, 0 },
    371  1.1  christos   },
    372  1.1  christos   /* EVEX_W_0F3812_P_2 */
    373  1.1  christos   {
    374  1.1  christos     { Bad_Opcode },
    375  1.1  christos     { "vpsllvw",	{ XM, Vex, EXx }, 0 },
    376  1.1  christos   },
    377  1.1  christos   /* EVEX_W_0F3813_P_1 */
    378  1.1  christos   {
    379  1.1  christos     { "vpmovusdw",	{ EXxmmq, XM }, 0 },
    380  1.1  christos   },
    381  1.1  christos   /* EVEX_W_0F3813_P_2 */
    382  1.1  christos   {
    383  1.1  christos     { "vcvtph2ps",	{ XM, EXxmmq, EXxEVexS }, 0 },
    384  1.1  christos   },
    385  1.1  christos   /* EVEX_W_0F3814_P_1 */
    386  1.1  christos   {
    387  1.1  christos     { "vpmovusqw",	{ EXxmmqd, XM }, 0 },
    388  1.1  christos   },
    389  1.1  christos   /* EVEX_W_0F3815_P_1 */
    390  1.1  christos   {
    391  1.1  christos     { "vpmovusqd",	{ EXxmmq, XM }, 0 },
    392  1.1  christos   },
    393  1.1  christos   /* EVEX_W_0F3819 */
    394  1.1  christos   {
    395  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3819_W_0) },
    396  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3819_W_1) },
    397  1.1  christos   },
    398  1.1  christos   /* EVEX_W_0F381A */
    399  1.1  christos   {
    400  1.1  christos     { MOD_TABLE (MOD_EVEX_0F381A_W_0) },
    401  1.1  christos     { MOD_TABLE (MOD_EVEX_0F381A_W_1) },
    402  1.1  christos   },
    403  1.1  christos   /* EVEX_W_0F381B */
    404  1.1  christos   {
    405  1.1  christos     { MOD_TABLE (MOD_EVEX_0F381B_W_0) },
    406  1.1  christos     { MOD_TABLE (MOD_EVEX_0F381B_W_1) },
    407  1.1  christos   },
    408  1.1  christos   /* EVEX_W_0F381E */
    409  1.1  christos   {
    410  1.1  christos     { "vpabsd",	{ XM, EXx }, PREFIX_DATA },
    411  1.1  christos   },
    412  1.1  christos   /* EVEX_W_0F381F */
    413  1.1  christos   {
    414  1.1  christos     { Bad_Opcode },
    415  1.1  christos     { "vpabsq",	{ XM, EXx }, PREFIX_DATA },
    416  1.1  christos   },
    417  1.1  christos   /* EVEX_W_0F3820_P_1 */
    418  1.1  christos   {
    419  1.1  christos     { "vpmovswb",	{ EXxmmq, XM }, 0 },
    420  1.1  christos   },
    421  1.1  christos   /* EVEX_W_0F3821_P_1 */
    422  1.1  christos   {
    423  1.1  christos     { "vpmovsdb",	{ EXxmmqd, XM }, 0 },
    424  1.1  christos   },
    425  1.1  christos   /* EVEX_W_0F3822_P_1 */
    426  1.1  christos   {
    427  1.1  christos     { "vpmovsqb",	{ EXxmmdw, XM }, 0 },
    428  1.1  christos   },
    429  1.1  christos   /* EVEX_W_0F3823_P_1 */
    430  1.1  christos   {
    431  1.1  christos     { "vpmovsdw",	{ EXxmmq, XM }, 0 },
    432  1.1  christos   },
    433  1.1  christos   /* EVEX_W_0F3824_P_1 */
    434  1.1  christos   {
    435  1.1  christos     { "vpmovsqw",	{ EXxmmqd, XM }, 0 },
    436  1.1  christos   },
    437  1.1  christos   /* EVEX_W_0F3825_P_1 */
    438  1.1  christos   {
    439  1.1  christos     { "vpmovsqd",	{ EXxmmq, XM }, 0 },
    440  1.1  christos   },
    441  1.1  christos   /* EVEX_W_0F3825_P_2 */
    442  1.1  christos   {
    443  1.1  christos     { "vpmovsxdq",	{ XM, EXxmmq }, 0 },
    444  1.1  christos   },
    445  1.1  christos   /* EVEX_W_0F3828_P_2 */
    446  1.1  christos   {
    447  1.1  christos     { Bad_Opcode },
    448  1.1  christos     { "vpmuldq",	{ XM, Vex, EXx }, 0 },
    449  1.1  christos   },
    450  1.1  christos   /* EVEX_W_0F3829_P_2 */
    451  1.1  christos   {
    452  1.1  christos     { Bad_Opcode },
    453  1.1  christos     { "vpcmpeqq",	{ XMask, Vex, EXx }, 0 },
    454  1.1  christos   },
    455  1.1  christos   /* EVEX_W_0F382A_P_1 */
    456  1.1  christos   {
    457  1.1  christos     { Bad_Opcode },
    458  1.1  christos     { MOD_TABLE (MOD_EVEX_0F382A_P_1_W_1) },
    459  1.1  christos   },
    460  1.1  christos   /* EVEX_W_0F382A_P_2 */
    461  1.1  christos   {
    462  1.1  christos     { "vmovntdqa",	{ XM, EXEvexXNoBcst }, 0 },
    463  1.1  christos   },
    464  1.1  christos   /* EVEX_W_0F382B */
    465  1.1  christos   {
    466  1.1  christos     { "vpackusdw",	{ XM, Vex, EXx }, PREFIX_DATA },
    467  1.1  christos   },
    468  1.1  christos   /* EVEX_W_0F3830_P_1 */
    469  1.1  christos   {
    470  1.1  christos     { "vpmovwb",	{ EXxmmq, XM }, 0 },
    471  1.1  christos   },
    472  1.1  christos   /* EVEX_W_0F3831_P_1 */
    473  1.1  christos   {
    474  1.1  christos     { "vpmovdb",	{ EXxmmqd, XM }, 0 },
    475  1.1  christos   },
    476  1.1  christos   /* EVEX_W_0F3832_P_1 */
    477  1.1  christos   {
    478  1.1  christos     { "vpmovqb",	{ EXxmmdw, XM }, 0 },
    479  1.1  christos   },
    480  1.1  christos   /* EVEX_W_0F3833_P_1 */
    481  1.1  christos   {
    482  1.1  christos     { "vpmovdw",	{ EXxmmq, XM }, 0 },
    483  1.1  christos   },
    484  1.1  christos   /* EVEX_W_0F3834_P_1 */
    485  1.1  christos   {
    486  1.1  christos     { "vpmovqw",	{ EXxmmqd, XM }, 0 },
    487  1.1  christos   },
    488  1.1  christos   /* EVEX_W_0F3835_P_1 */
    489  1.1  christos   {
    490  1.1  christos     { "vpmovqd",	{ EXxmmq, XM }, 0 },
    491  1.1  christos   },
    492  1.1  christos   /* EVEX_W_0F3835_P_2 */
    493  1.1  christos   {
    494  1.1  christos     { "vpmovzxdq",	{ XM, EXxmmq }, 0 },
    495  1.1  christos   },
    496  1.1  christos   /* EVEX_W_0F3837 */
    497  1.1  christos   {
    498  1.1  christos     { Bad_Opcode },
    499  1.1  christos     { "vpcmpgtq",	{ XMask, Vex, EXx }, PREFIX_DATA },
    500  1.1  christos   },
    501  1.1  christos   /* EVEX_W_0F383A_P_1 */
    502  1.1  christos   {
    503  1.1  christos     { MOD_TABLE (MOD_EVEX_0F383A_P_1_W_0) },
    504  1.1  christos   },
    505  1.1  christos   /* EVEX_W_0F3852_P_1 */
    506  1.1  christos   {
    507  1.1  christos     { "vdpbf16ps",	{ XM, Vex, EXx }, 0 },
    508  1.1  christos     { Bad_Opcode },
    509  1.1  christos   },
    510  1.1  christos   /* EVEX_W_0F3859 */
    511  1.1  christos   {
    512  1.1  christos     { "vbroadcasti32x2",	{ XM, EXxmm_mq }, PREFIX_DATA },
    513  1.1  christos     { "vpbroadcastq",	{ XM, EXxmm_mq }, PREFIX_DATA },
    514  1.1  christos   },
    515  1.1  christos   /* EVEX_W_0F385A */
    516  1.1  christos   {
    517  1.1  christos     { MOD_TABLE (MOD_EVEX_0F385A_W_0) },
    518  1.1  christos     { MOD_TABLE (MOD_EVEX_0F385A_W_1) },
    519  1.1  christos   },
    520  1.1  christos   /* EVEX_W_0F385B */
    521  1.1  christos   {
    522  1.1  christos     { MOD_TABLE (MOD_EVEX_0F385B_W_0) },
    523  1.1  christos     { MOD_TABLE (MOD_EVEX_0F385B_W_1) },
    524  1.1  christos   },
    525  1.1  christos   /* EVEX_W_0F3870 */
    526  1.1  christos   {
    527  1.1  christos     { Bad_Opcode },
    528  1.1  christos     { "vpshldvw",  { XM, Vex, EXx }, PREFIX_DATA },
    529  1.1  christos   },
    530  1.1  christos   /* EVEX_W_0F3872_P_1 */
    531  1.1  christos   {
    532  1.1  christos     { "vcvtneps2bf16%XY", { XMxmmq, EXx }, 0 },
    533  1.1  christos     { Bad_Opcode },
    534  1.1  christos   },
    535  1.1  christos   /* EVEX_W_0F3872_P_2 */
    536  1.1  christos   {
    537  1.1  christos     { Bad_Opcode },
    538  1.1  christos     { "vpshrdvw",  { XM, Vex, EXx }, 0 },
    539  1.1  christos   },
    540  1.1  christos   /* EVEX_W_0F3872_P_3 */
    541  1.1  christos   {
    542  1.1  christos     { "vcvtne2ps2bf16", { XM, Vex, EXx}, 0 },
    543  1.1  christos     { Bad_Opcode },
    544  1.1  christos   },
    545  1.1  christos   /* EVEX_W_0F387A */
    546  1.1  christos   {
    547  1.1  christos     { MOD_TABLE (MOD_EVEX_0F387A_W_0) },
    548  1.1  christos   },
    549  1.1  christos   /* EVEX_W_0F387B */
    550  1.1  christos   {
    551  1.1  christos     { MOD_TABLE (MOD_EVEX_0F387B_W_0) },
    552  1.1  christos   },
    553  1.1  christos   /* EVEX_W_0F3883 */
    554  1.1  christos   {
    555  1.1  christos     { Bad_Opcode },
    556  1.1  christos     { "vpmultishiftqb",	{ XM, Vex, EXx }, PREFIX_DATA },
    557  1.1  christos   },
    558  1.1  christos   /* EVEX_W_0F3891 */
    559  1.1  christos   {
    560  1.1  christos     { "vpgatherqd",	{ XMxmmq, MVexVSIBQDWpX }, PREFIX_DATA },
    561  1.1  christos     { "vpgatherqq",	{ XM, MVexVSIBQWpX }, 0 },
    562  1.1  christos   },
    563  1.1  christos   /* EVEX_W_0F3893 */
    564  1.1  christos   {
    565  1.1  christos     { "vgatherqps",	{ XMxmmq, MVexVSIBQDWpX }, PREFIX_DATA },
    566  1.1  christos     { "vgatherqpd",	{ XM, MVexVSIBQWpX }, 0 },
    567  1.1  christos   },
    568  1.1  christos   /* EVEX_W_0F38A1 */
    569  1.1  christos   {
    570  1.1  christos     { "vpscatterqd",	{ MVexVSIBQDWpX, XMxmmq }, PREFIX_DATA },
    571  1.1  christos     { "vpscatterqq",	{ MVexVSIBQWpX, XM }, 0 },
    572  1.1  christos   },
    573  1.1  christos   /* EVEX_W_0F38A3 */
    574  1.1  christos   {
    575  1.1  christos     { "vscatterqps",	{ MVexVSIBQDWpX, XMxmmq }, PREFIX_DATA },
    576  1.1  christos     { "vscatterqpd",	{ MVexVSIBQWpX, XM }, 0 },
    577  1.1  christos   },
    578  1.1  christos   /* EVEX_W_0F38C7_R_1_M_0 */
    579  1.1  christos   {
    580  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_1_M_0_W_0) },
    581  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_1_M_0_W_1) },
    582  1.1  christos   },
    583  1.1  christos   /* EVEX_W_0F38C7_R_2_M_0 */
    584  1.1  christos   {
    585  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_2_M_0_W_0) },
    586  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_2_M_0_W_1) },
    587  1.1  christos   },
    588  1.1  christos   /* EVEX_W_0F38C7_R_5_M_0 */
    589  1.1  christos   {
    590  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_5_M_0_W_0) },
    591  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_5_M_0_W_1) },
    592  1.1  christos   },
    593  1.1  christos   /* EVEX_W_0F38C7_R_6_M_0 */
    594  1.1  christos   {
    595  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_6_M_0_W_0) },
    596  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_6_M_0_W_1) },
    597  1.1  christos   },
    598  1.1  christos   /* EVEX_W_0F3A00 */
    599  1.1  christos   {
    600  1.1  christos     { Bad_Opcode },
    601  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A00_W_1) },
    602  1.1  christos   },
    603  1.1  christos   /* EVEX_W_0F3A01 */
    604  1.1  christos   {
    605  1.1  christos     { Bad_Opcode },
    606  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A01_W_1) },
    607  1.1  christos   },
    608  1.1  christos   /* EVEX_W_0F3A05 */
    609  1.1  christos   {
    610  1.1  christos     { Bad_Opcode },
    611  1.1  christos     { "vpermilpd",	{ XM, EXx, Ib }, PREFIX_DATA },
    612  1.1  christos   },
    613  1.1  christos   /* EVEX_W_0F3A08 */
    614  1.1  christos   {
    615  1.1  christos     { "vrndscaleps",	{ XM, EXx, EXxEVexS, Ib }, PREFIX_DATA },
    616  1.1  christos   },
    617  1.1  christos   /* EVEX_W_0F3A09 */
    618  1.1  christos   {
    619  1.1  christos     { Bad_Opcode },
    620  1.1  christos     { "vrndscalepd",	{ XM, EXx, EXxEVexS, Ib }, PREFIX_DATA },
    621  1.1  christos   },
    622  1.1  christos   /* EVEX_W_0F3A0A */
    623  1.1  christos   {
    624  1.1  christos     { "vrndscaless",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, PREFIX_DATA },
    625  1.1  christos   },
    626  1.1  christos   /* EVEX_W_0F3A0B */
    627  1.1  christos   {
    628  1.1  christos     { Bad_Opcode },
    629  1.1  christos     { "vrndscalesd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, PREFIX_DATA },
    630  1.1  christos   },
    631  1.1  christos   /* EVEX_W_0F3A18 */
    632  1.1  christos   {
    633  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A18_W_0) },
    634  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A18_W_1) },
    635  1.1  christos   },
    636  1.1  christos   /* EVEX_W_0F3A19 */
    637  1.1  christos   {
    638  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A19_W_0) },
    639  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A19_W_1) },
    640  1.1  christos   },
    641  1.1  christos   /* EVEX_W_0F3A1A */
    642  1.1  christos   {
    643  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A1A_W_0) },
    644  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A1A_W_1) },
    645  1.1  christos   },
    646  1.1  christos   /* EVEX_W_0F3A1B */
    647  1.1  christos   {
    648  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B_W_0) },
    649  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B_W_1) },
    650  1.1  christos   },
    651  1.1  christos   /* EVEX_W_0F3A21 */
    652  1.1  christos   {
    653  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A21_W_0) },
    654  1.1  christos   },
    655  1.1  christos   /* EVEX_W_0F3A23 */
    656  1.1  christos   {
    657  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A23_W_0) },
    658  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A23_W_1) },
    659  1.1  christos   },
    660  1.1  christos   /* EVEX_W_0F3A38 */
    661  1.1  christos   {
    662  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A38_W_0) },
    663  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A38_W_1) },
    664  1.1  christos   },
    665  1.1  christos   /* EVEX_W_0F3A39 */
    666  1.1  christos   {
    667  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A39_W_0) },
    668  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A39_W_1) },
    669  1.1  christos   },
    670  1.1  christos   /* EVEX_W_0F3A3A */
    671  1.1  christos   {
    672  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A3A_W_0) },
    673  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A3A_W_1) },
    674  1.1  christos   },
    675  1.1  christos   /* EVEX_W_0F3A3B */
    676  1.1  christos   {
    677  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A3B_W_0) },
    678  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A3B_W_1) },
    679  1.1  christos   },
    680  1.1  christos   /* EVEX_W_0F3A42 */
    681  1.1  christos   {
    682  1.1  christos     { "vdbpsadbw",	{ XM, Vex, EXx, Ib }, 0 },
    683  1.1  christos   },
    684  1.1  christos   /* EVEX_W_0F3A43 */
    685  1.1  christos   {
    686  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A43_W_0) },
    687  1.1  christos     { EVEX_LEN_TABLE (EVEX_LEN_0F3A43_W_1) },
    688  1.1  christos   },
    689  1.1  christos   /* EVEX_W_0F3A70 */
    690  1.1  christos   {
    691  1.1  christos     { Bad_Opcode },
    692  1.1  christos     { "vpshldw",   { XM, Vex, EXx, Ib }, 0 },
    693  1.1  christos   },
    694  1.1  christos   /* EVEX_W_0F3A72 */
    695  1.1  christos   {
    696  1.1  christos     { Bad_Opcode },
    697  1.1  christos     { "vpshrdw",   { XM, Vex, EXx, Ib }, 0 },
    698  1.1  christos   },
    699