Home | History | Annotate | Line # | Download | only in opcodes
i386-dis-evex-w.h revision 1.1.1.1.2.1
      1          1.1  christos   /* EVEX_W_0F5B_P_0 */
      2          1.1  christos   {
      3  1.1.1.1.2.1  perseant     { "%XEvcvtdq2ps",	{ XM, EXx, EXxEVexR }, 0 },
      4          1.1  christos     { "vcvtqq2ps%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
      5          1.1  christos   },
      6          1.1  christos   /* EVEX_W_0F62 */
      7          1.1  christos   {
      8  1.1.1.1.2.1  perseant     { "%XEvpunpckldq",	{ XM, Vex, EXx }, PREFIX_DATA },
      9          1.1  christos   },
     10          1.1  christos   /* EVEX_W_0F66 */
     11          1.1  christos   {
     12  1.1.1.1.2.1  perseant     { "vpcmpgtd",	{ MaskG, Vex, EXx }, PREFIX_DATA },
     13          1.1  christos   },
     14          1.1  christos   /* EVEX_W_0F6A */
     15          1.1  christos   {
     16  1.1.1.1.2.1  perseant     { "%XEvpunpckhdq",	{ XM, Vex, EXx }, PREFIX_DATA },
     17          1.1  christos   },
     18          1.1  christos   /* EVEX_W_0F6B */
     19          1.1  christos   {
     20  1.1.1.1.2.1  perseant     { "%XEvpackssdw",	{ XM, Vex, EXx }, PREFIX_DATA },
     21          1.1  christos   },
     22          1.1  christos   /* EVEX_W_0F6C */
     23          1.1  christos   {
     24          1.1  christos     { Bad_Opcode },
     25  1.1.1.1.2.1  perseant     { "%XEvpunpcklqdq",	{ XM, Vex, EXx }, PREFIX_DATA },
     26          1.1  christos   },
     27          1.1  christos   /* EVEX_W_0F6D */
     28          1.1  christos   {
     29          1.1  christos     { Bad_Opcode },
     30  1.1.1.1.2.1  perseant     { "%XEvpunpckhqdq",	{ XM, Vex, EXx }, PREFIX_DATA },
     31          1.1  christos   },
     32          1.1  christos   /* EVEX_W_0F6F_P_1 */
     33          1.1  christos   {
     34          1.1  christos     { "vmovdqu32",	{ XM, EXEvexXNoBcst }, 0 },
     35          1.1  christos     { "vmovdqu64",	{ XM, EXEvexXNoBcst }, 0 },
     36          1.1  christos   },
     37          1.1  christos   /* EVEX_W_0F6F_P_2 */
     38          1.1  christos   {
     39          1.1  christos     { "vmovdqa32",	{ XM, EXEvexXNoBcst }, 0 },
     40          1.1  christos     { "vmovdqa64",	{ XM, EXEvexXNoBcst }, 0 },
     41          1.1  christos   },
     42          1.1  christos   /* EVEX_W_0F6F_P_3 */
     43          1.1  christos   {
     44          1.1  christos     { "vmovdqu8",	{ XM, EXx }, 0 },
     45          1.1  christos     { "vmovdqu16",	{ XM, EXx }, 0 },
     46          1.1  christos   },
     47          1.1  christos   /* EVEX_W_0F70_P_2 */
     48          1.1  christos   {
     49  1.1.1.1.2.1  perseant     { "%XEvpshufd",	{ XM, EXx, Ib }, 0 },
     50          1.1  christos   },
     51          1.1  christos   /* EVEX_W_0F72_R_2 */
     52          1.1  christos   {
     53  1.1.1.1.2.1  perseant     { "%XEvpsrld",	{ Vex, EXx, Ib }, PREFIX_DATA },
     54          1.1  christos   },
     55          1.1  christos   /* EVEX_W_0F72_R_6 */
     56          1.1  christos   {
     57  1.1.1.1.2.1  perseant     { "%XEvpslld",	{ Vex, EXx, Ib }, PREFIX_DATA },
     58          1.1  christos   },
     59          1.1  christos   /* EVEX_W_0F73_R_2 */
     60          1.1  christos   {
     61          1.1  christos     { Bad_Opcode },
     62  1.1.1.1.2.1  perseant     { "%XEvpsrlq",	{ Vex, EXx, Ib }, PREFIX_DATA },
     63          1.1  christos   },
     64          1.1  christos   /* EVEX_W_0F73_R_6 */
     65          1.1  christos   {
     66          1.1  christos     { Bad_Opcode },
     67  1.1.1.1.2.1  perseant     { "%XEvpsllq",	{ Vex, EXx, Ib }, PREFIX_DATA },
     68          1.1  christos   },
     69          1.1  christos   /* EVEX_W_0F76 */
     70          1.1  christos   {
     71  1.1.1.1.2.1  perseant     { "vpcmpeqd",	{ MaskG, Vex, EXx }, PREFIX_DATA },
     72          1.1  christos   },
     73          1.1  christos   /* EVEX_W_0F78_P_0 */
     74          1.1  christos   {
     75          1.1  christos     { "vcvttps2udq",	{ XM, EXx, EXxEVexS }, 0 },
     76          1.1  christos     { "vcvttpd2udq%XY",	{ XMxmmq, EXx, EXxEVexS }, 0 },
     77          1.1  christos   },
     78          1.1  christos   /* EVEX_W_0F78_P_2 */
     79          1.1  christos   {
     80          1.1  christos     { "vcvttps2uqq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
     81          1.1  christos     { "vcvttpd2uqq",	{ XM, EXx, EXxEVexS }, 0 },
     82          1.1  christos   },
     83          1.1  christos   /* EVEX_W_0F79_P_0 */
     84          1.1  christos   {
     85          1.1  christos     { "vcvtps2udq",	{ XM, EXx, EXxEVexR }, 0 },
     86          1.1  christos     { "vcvtpd2udq%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
     87          1.1  christos   },
     88          1.1  christos   /* EVEX_W_0F79_P_2 */
     89          1.1  christos   {
     90          1.1  christos     { "vcvtps2uqq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 },
     91          1.1  christos     { "vcvtpd2uqq",	{ XM, EXx, EXxEVexR }, 0 },
     92          1.1  christos   },
     93          1.1  christos   /* EVEX_W_0F7A_P_1 */
     94          1.1  christos   {
     95          1.1  christos     { "vcvtudq2pd",	{ XM, EXEvexHalfBcstXmmq }, 0 },
     96          1.1  christos     { "vcvtuqq2pd",	{ XM, EXx, EXxEVexR }, 0 },
     97          1.1  christos   },
     98          1.1  christos   /* EVEX_W_0F7A_P_2 */
     99          1.1  christos   {
    100          1.1  christos     { "vcvttps2qq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
    101          1.1  christos     { "vcvttpd2qq",	{ XM, EXx, EXxEVexS }, 0 },
    102          1.1  christos   },
    103          1.1  christos   /* EVEX_W_0F7A_P_3 */
    104          1.1  christos   {
    105          1.1  christos     { "vcvtudq2ps",	{ XM, EXx, EXxEVexR }, 0 },
    106          1.1  christos     { "vcvtuqq2ps%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
    107          1.1  christos   },
    108          1.1  christos   /* EVEX_W_0F7B_P_2 */
    109          1.1  christos   {
    110          1.1  christos     { "vcvtps2qq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 },
    111          1.1  christos     { "vcvtpd2qq",	{ XM, EXx, EXxEVexR }, 0 },
    112          1.1  christos   },
    113          1.1  christos   /* EVEX_W_0F7E_P_1 */
    114          1.1  christos   {
    115          1.1  christos     { Bad_Opcode },
    116  1.1.1.1.2.1  perseant     { VEX_LEN_TABLE (VEX_LEN_0F7E_P_1) },
    117          1.1  christos   },
    118          1.1  christos   /* EVEX_W_0F7F_P_1 */
    119          1.1  christos   {
    120          1.1  christos     { "vmovdqu32",	{ EXxS, XM }, 0 },
    121          1.1  christos     { "vmovdqu64",	{ EXxS, XM }, 0 },
    122          1.1  christos   },
    123          1.1  christos   /* EVEX_W_0F7F_P_2 */
    124          1.1  christos   {
    125          1.1  christos     { "vmovdqa32",	{ EXxS, XM }, 0 },
    126          1.1  christos     { "vmovdqa64",	{ EXxS, XM }, 0 },
    127          1.1  christos   },
    128          1.1  christos   /* EVEX_W_0F7F_P_3 */
    129          1.1  christos   {
    130          1.1  christos     { "vmovdqu8",	{ EXxS, XM }, 0 },
    131          1.1  christos     { "vmovdqu16",	{ EXxS, XM }, 0 },
    132          1.1  christos   },
    133          1.1  christos   /* EVEX_W_0FD2 */
    134          1.1  christos   {
    135  1.1.1.1.2.1  perseant     { "%XEvpsrld",	{ XM, Vex, EXxmm }, PREFIX_DATA },
    136          1.1  christos   },
    137          1.1  christos   /* EVEX_W_0FD3 */
    138          1.1  christos   {
    139          1.1  christos     { Bad_Opcode },
    140  1.1.1.1.2.1  perseant     { "%XEvpsrlq",	{ XM, Vex, EXxmm }, PREFIX_DATA },
    141          1.1  christos   },
    142          1.1  christos   /* EVEX_W_0FD4 */
    143          1.1  christos   {
    144          1.1  christos     { Bad_Opcode },
    145  1.1.1.1.2.1  perseant     { "%XEvpaddq",	{ XM, Vex, EXx }, PREFIX_DATA },
    146          1.1  christos   },
    147  1.1.1.1.2.1  perseant   /* EVEX_W_0FD6 */
    148          1.1  christos   {
    149          1.1  christos     { Bad_Opcode },
    150  1.1.1.1.2.1  perseant     { VEX_LEN_TABLE (VEX_LEN_0FD6) },
    151          1.1  christos   },
    152          1.1  christos   /* EVEX_W_0FE6_P_1 */
    153          1.1  christos   {
    154  1.1.1.1.2.1  perseant     { "%XEvcvtdq2pd",	{ XM, EXEvexHalfBcstXmmq }, 0 },
    155          1.1  christos     { "vcvtqq2pd",	{ XM, EXx, EXxEVexR }, 0 },
    156          1.1  christos   },
    157          1.1  christos   /* EVEX_W_0FE7 */
    158          1.1  christos   {
    159  1.1.1.1.2.1  perseant     { "%XEvmovntdq",	{ EXEvexXNoBcst, XM }, PREFIX_DATA },
    160          1.1  christos   },
    161          1.1  christos   /* EVEX_W_0FF2 */
    162          1.1  christos   {
    163  1.1.1.1.2.1  perseant     { "%XEvpslld",		{ XM, Vex, EXxmm }, PREFIX_DATA },
    164          1.1  christos   },
    165          1.1  christos   /* EVEX_W_0FF3 */
    166          1.1  christos   {
    167          1.1  christos     { Bad_Opcode },
    168  1.1.1.1.2.1  perseant     { "%XEvpsllq",		{ XM, Vex, EXxmm }, PREFIX_DATA },
    169          1.1  christos   },
    170          1.1  christos   /* EVEX_W_0FF4 */
    171          1.1  christos   {
    172          1.1  christos     { Bad_Opcode },
    173  1.1.1.1.2.1  perseant     { "%XEvpmuludq",	{ XM, Vex, EXx }, PREFIX_DATA },
    174          1.1  christos   },
    175          1.1  christos   /* EVEX_W_0FFA */
    176          1.1  christos   {
    177  1.1.1.1.2.1  perseant     { "%XEvpsubd",		{ XM, Vex, EXx }, PREFIX_DATA },
    178          1.1  christos   },
    179          1.1  christos   /* EVEX_W_0FFB */
    180          1.1  christos   {
    181          1.1  christos     { Bad_Opcode },
    182  1.1.1.1.2.1  perseant     { "%XEvpsubq",		{ XM, Vex, EXx }, PREFIX_DATA },
    183          1.1  christos   },
    184          1.1  christos   /* EVEX_W_0FFE */
    185          1.1  christos   {
    186  1.1.1.1.2.1  perseant     { "%XEvpaddd",		{ XM, Vex, EXx }, PREFIX_DATA },
    187          1.1  christos   },
    188          1.1  christos   /* EVEX_W_0F3810_P_1 */
    189          1.1  christos   {
    190          1.1  christos     { "vpmovuswb",	{ EXxmmq, XM }, 0 },
    191          1.1  christos   },
    192          1.1  christos   /* EVEX_W_0F3810_P_2 */
    193          1.1  christos   {
    194          1.1  christos     { Bad_Opcode },
    195          1.1  christos     { "vpsrlvw",	{ XM, Vex, EXx }, 0 },
    196          1.1  christos   },
    197          1.1  christos   /* EVEX_W_0F3811_P_1 */
    198          1.1  christos   {
    199          1.1  christos     { "vpmovusdb",	{ EXxmmqd, XM }, 0 },
    200          1.1  christos   },
    201          1.1  christos   /* EVEX_W_0F3811_P_2 */
    202          1.1  christos   {
    203          1.1  christos     { Bad_Opcode },
    204          1.1  christos     { "vpsravw",	{ XM, Vex, EXx }, 0 },
    205          1.1  christos   },
    206          1.1  christos   /* EVEX_W_0F3812_P_1 */
    207          1.1  christos   {
    208          1.1  christos     { "vpmovusqb",	{ EXxmmdw, XM }, 0 },
    209          1.1  christos   },
    210          1.1  christos   /* EVEX_W_0F3812_P_2 */
    211          1.1  christos   {
    212          1.1  christos     { Bad_Opcode },
    213          1.1  christos     { "vpsllvw",	{ XM, Vex, EXx }, 0 },
    214          1.1  christos   },
    215          1.1  christos   /* EVEX_W_0F3813_P_1 */
    216          1.1  christos   {
    217          1.1  christos     { "vpmovusdw",	{ EXxmmq, XM }, 0 },
    218          1.1  christos   },
    219          1.1  christos   /* EVEX_W_0F3814_P_1 */
    220          1.1  christos   {
    221          1.1  christos     { "vpmovusqw",	{ EXxmmqd, XM }, 0 },
    222          1.1  christos   },
    223          1.1  christos   /* EVEX_W_0F3815_P_1 */
    224          1.1  christos   {
    225          1.1  christos     { "vpmovusqd",	{ EXxmmq, XM }, 0 },
    226          1.1  christos   },
    227  1.1.1.1.2.1  perseant   /* EVEX_W_0F3819_L_n */
    228          1.1  christos   {
    229  1.1.1.1.2.1  perseant     { "vbroadcastf32x2",	{ XM, EXq }, PREFIX_DATA },
    230  1.1.1.1.2.1  perseant     { "%XEvbroadcastsd",	{ XM, EXq }, PREFIX_DATA },
    231          1.1  christos   },
    232  1.1.1.1.2.1  perseant   /* EVEX_W_0F381A_M_0_L_n */
    233          1.1  christos   {
    234  1.1.1.1.2.1  perseant     { "vbroadcastf32x4",	{ XM, EXxmm }, PREFIX_DATA },
    235  1.1.1.1.2.1  perseant     { "vbroadcastf64x2",	{ XM, EXxmm }, PREFIX_DATA },
    236          1.1  christos   },
    237  1.1.1.1.2.1  perseant   /* EVEX_W_0F381B_M_0_L_2 */
    238          1.1  christos   {
    239  1.1.1.1.2.1  perseant     { "vbroadcastf32x8",	{ XM, EXymm }, PREFIX_DATA },
    240  1.1.1.1.2.1  perseant     { "vbroadcastf64x4",	{ XM, EXymm }, PREFIX_DATA },
    241          1.1  christos   },
    242          1.1  christos   /* EVEX_W_0F381E */
    243          1.1  christos   {
    244  1.1.1.1.2.1  perseant     { "%XEvpabsd",	{ XM, EXx }, PREFIX_DATA },
    245          1.1  christos   },
    246          1.1  christos   /* EVEX_W_0F381F */
    247          1.1  christos   {
    248          1.1  christos     { Bad_Opcode },
    249          1.1  christos     { "vpabsq",	{ XM, EXx }, PREFIX_DATA },
    250          1.1  christos   },
    251          1.1  christos   /* EVEX_W_0F3820_P_1 */
    252          1.1  christos   {
    253          1.1  christos     { "vpmovswb",	{ EXxmmq, XM }, 0 },
    254          1.1  christos   },
    255          1.1  christos   /* EVEX_W_0F3821_P_1 */
    256          1.1  christos   {
    257          1.1  christos     { "vpmovsdb",	{ EXxmmqd, XM }, 0 },
    258          1.1  christos   },
    259          1.1  christos   /* EVEX_W_0F3822_P_1 */
    260          1.1  christos   {
    261          1.1  christos     { "vpmovsqb",	{ EXxmmdw, XM }, 0 },
    262          1.1  christos   },
    263          1.1  christos   /* EVEX_W_0F3823_P_1 */
    264          1.1  christos   {
    265          1.1  christos     { "vpmovsdw",	{ EXxmmq, XM }, 0 },
    266          1.1  christos   },
    267          1.1  christos   /* EVEX_W_0F3824_P_1 */
    268          1.1  christos   {
    269          1.1  christos     { "vpmovsqw",	{ EXxmmqd, XM }, 0 },
    270          1.1  christos   },
    271          1.1  christos   /* EVEX_W_0F3825_P_1 */
    272          1.1  christos   {
    273          1.1  christos     { "vpmovsqd",	{ EXxmmq, XM }, 0 },
    274          1.1  christos   },
    275          1.1  christos   /* EVEX_W_0F3825_P_2 */
    276          1.1  christos   {
    277  1.1.1.1.2.1  perseant     { "%XEvpmovsxdq",	{ XM, EXxmmq }, 0 },
    278          1.1  christos   },
    279          1.1  christos   /* EVEX_W_0F3828_P_2 */
    280          1.1  christos   {
    281          1.1  christos     { Bad_Opcode },
    282  1.1.1.1.2.1  perseant     { "%XEvpmuldq",	{ XM, Vex, EXx }, 0 },
    283          1.1  christos   },
    284          1.1  christos   /* EVEX_W_0F3829_P_2 */
    285          1.1  christos   {
    286          1.1  christos     { Bad_Opcode },
    287  1.1.1.1.2.1  perseant     { "vpcmpeqq",	{ MaskG, Vex, EXx }, 0 },
    288          1.1  christos   },
    289          1.1  christos   /* EVEX_W_0F382A_P_1 */
    290          1.1  christos   {
    291          1.1  christos     { Bad_Opcode },
    292          1.1  christos     { MOD_TABLE (MOD_EVEX_0F382A_P_1_W_1) },
    293          1.1  christos   },
    294          1.1  christos   /* EVEX_W_0F382A_P_2 */
    295          1.1  christos   {
    296  1.1.1.1.2.1  perseant     { "%XEvmovntdqa",	{ XM, EXEvexXNoBcst }, 0 },
    297          1.1  christos   },
    298          1.1  christos   /* EVEX_W_0F382B */
    299          1.1  christos   {
    300  1.1.1.1.2.1  perseant     { "%XEvpackusdw",	{ XM, Vex, EXx }, PREFIX_DATA },
    301          1.1  christos   },
    302          1.1  christos   /* EVEX_W_0F3830_P_1 */
    303          1.1  christos   {
    304          1.1  christos     { "vpmovwb",	{ EXxmmq, XM }, 0 },
    305          1.1  christos   },
    306          1.1  christos   /* EVEX_W_0F3831_P_1 */
    307          1.1  christos   {
    308          1.1  christos     { "vpmovdb",	{ EXxmmqd, XM }, 0 },
    309          1.1  christos   },
    310          1.1  christos   /* EVEX_W_0F3832_P_1 */
    311          1.1  christos   {
    312          1.1  christos     { "vpmovqb",	{ EXxmmdw, XM }, 0 },
    313          1.1  christos   },
    314          1.1  christos   /* EVEX_W_0F3833_P_1 */
    315          1.1  christos   {
    316          1.1  christos     { "vpmovdw",	{ EXxmmq, XM }, 0 },
    317          1.1  christos   },
    318          1.1  christos   /* EVEX_W_0F3834_P_1 */
    319          1.1  christos   {
    320          1.1  christos     { "vpmovqw",	{ EXxmmqd, XM }, 0 },
    321          1.1  christos   },
    322          1.1  christos   /* EVEX_W_0F3835_P_1 */
    323          1.1  christos   {
    324          1.1  christos     { "vpmovqd",	{ EXxmmq, XM }, 0 },
    325          1.1  christos   },
    326          1.1  christos   /* EVEX_W_0F3835_P_2 */
    327          1.1  christos   {
    328  1.1.1.1.2.1  perseant     { "%XEvpmovzxdq",	{ XM, EXxmmq }, 0 },
    329          1.1  christos   },
    330          1.1  christos   /* EVEX_W_0F3837 */
    331          1.1  christos   {
    332          1.1  christos     { Bad_Opcode },
    333  1.1.1.1.2.1  perseant     { "vpcmpgtq",	{ MaskG, Vex, EXx }, PREFIX_DATA },
    334          1.1  christos   },
    335          1.1  christos   /* EVEX_W_0F383A_P_1 */
    336          1.1  christos   {
    337          1.1  christos     { MOD_TABLE (MOD_EVEX_0F383A_P_1_W_0) },
    338          1.1  christos   },
    339          1.1  christos   /* EVEX_W_0F3859 */
    340          1.1  christos   {
    341  1.1.1.1.2.1  perseant     { "vbroadcasti32x2",	{ XM, EXq }, PREFIX_DATA },
    342  1.1.1.1.2.1  perseant     { "%XEvpbroadcastq",	{ XM, EXq }, PREFIX_DATA },
    343          1.1  christos   },
    344  1.1.1.1.2.1  perseant   /* EVEX_W_0F385A_M_0_L_n */
    345          1.1  christos   {
    346  1.1.1.1.2.1  perseant     { "vbroadcasti32x4",	{ XM, EXxmm }, PREFIX_DATA },
    347  1.1.1.1.2.1  perseant     { "vbroadcasti64x2",	{ XM, EXxmm }, PREFIX_DATA },
    348          1.1  christos   },
    349  1.1.1.1.2.1  perseant   /* EVEX_W_0F385B_M_0_L_2 */
    350          1.1  christos   {
    351  1.1.1.1.2.1  perseant     { "vbroadcasti32x8",	{ XM, EXymm }, PREFIX_DATA },
    352  1.1.1.1.2.1  perseant     { "vbroadcasti64x4",	{ XM, EXymm }, PREFIX_DATA },
    353          1.1  christos   },
    354          1.1  christos   /* EVEX_W_0F3870 */
    355          1.1  christos   {
    356          1.1  christos     { Bad_Opcode },
    357          1.1  christos     { "vpshldvw",  { XM, Vex, EXx }, PREFIX_DATA },
    358          1.1  christos   },
    359          1.1  christos   /* EVEX_W_0F3872_P_2 */
    360          1.1  christos   {
    361          1.1  christos     { Bad_Opcode },
    362          1.1  christos     { "vpshrdvw",  { XM, Vex, EXx }, 0 },
    363          1.1  christos   },
    364          1.1  christos   /* EVEX_W_0F387A */
    365          1.1  christos   {
    366          1.1  christos     { MOD_TABLE (MOD_EVEX_0F387A_W_0) },
    367          1.1  christos   },
    368          1.1  christos   /* EVEX_W_0F387B */
    369          1.1  christos   {
    370          1.1  christos     { MOD_TABLE (MOD_EVEX_0F387B_W_0) },
    371          1.1  christos   },
    372          1.1  christos   /* EVEX_W_0F3883 */
    373          1.1  christos   {
    374          1.1  christos     { Bad_Opcode },
    375          1.1  christos     { "vpmultishiftqb",	{ XM, Vex, EXx }, PREFIX_DATA },
    376          1.1  christos   },
    377  1.1.1.1.2.1  perseant   /* EVEX_W_0F3A18_L_n */
    378          1.1  christos   {
    379  1.1.1.1.2.1  perseant     { "vinsertf32x4",	{ XM, Vex, EXxmm, Ib }, PREFIX_DATA },
    380  1.1.1.1.2.1  perseant     { "vinsertf64x2",	{ XM, Vex, EXxmm, Ib }, PREFIX_DATA },
    381          1.1  christos   },
    382  1.1.1.1.2.1  perseant   /* EVEX_W_0F3A19_L_n */
    383          1.1  christos   {
    384  1.1.1.1.2.1  perseant     { "vextractf32x4",	{ EXxmm, XM, Ib }, PREFIX_DATA },
    385  1.1.1.1.2.1  perseant     { "vextractf64x2",	{ EXxmm, XM, Ib }, PREFIX_DATA },
    386          1.1  christos   },
    387  1.1.1.1.2.1  perseant   /* EVEX_W_0F3A1A_L_2 */
    388          1.1  christos   {
    389  1.1.1.1.2.1  perseant     { "vinsertf32x8",	{ XM, Vex, EXymm, Ib }, PREFIX_DATA },
    390  1.1.1.1.2.1  perseant     { "vinsertf64x4",	{ XM, Vex, EXymm, Ib }, PREFIX_DATA },
    391          1.1  christos   },
    392  1.1.1.1.2.1  perseant   /* EVEX_W_0F3A1B_L_2 */
    393          1.1  christos   {
    394  1.1.1.1.2.1  perseant     { "vextractf32x8",	{ EXymm, XM, Ib }, PREFIX_DATA },
    395  1.1.1.1.2.1  perseant     { "vextractf64x4",	{ EXymm, XM, Ib }, PREFIX_DATA },
    396          1.1  christos   },
    397          1.1  christos   /* EVEX_W_0F3A21 */
    398          1.1  christos   {
    399  1.1.1.1.2.1  perseant     { VEX_LEN_TABLE (VEX_LEN_0F3A21) },
    400          1.1  christos   },
    401  1.1.1.1.2.1  perseant   /* EVEX_W_0F3A23_L_n */
    402          1.1  christos   {
    403  1.1.1.1.2.1  perseant     { "vshuff32x4",	{ XM, Vex, EXx, Ib }, PREFIX_DATA },
    404  1.1.1.1.2.1  perseant     { "vshuff64x2",	{ XM, Vex, EXx, Ib }, PREFIX_DATA },
    405          1.1  christos   },
    406  1.1.1.1.2.1  perseant   /* EVEX_W_0F3A38_L_n */
    407          1.1  christos   {
    408  1.1.1.1.2.1  perseant     { "vinserti32x4",	{ XM, Vex, EXxmm, Ib }, PREFIX_DATA },
    409  1.1.1.1.2.1  perseant     { "vinserti64x2",	{ XM, Vex, EXxmm, Ib }, PREFIX_DATA },
    410          1.1  christos   },
    411  1.1.1.1.2.1  perseant   /* EVEX_W_0F3A39_L_n */
    412          1.1  christos   {
    413  1.1.1.1.2.1  perseant     { "vextracti32x4",	{ EXxmm, XM, Ib }, PREFIX_DATA },
    414  1.1.1.1.2.1  perseant     { "vextracti64x2",	{ EXxmm, XM, Ib }, PREFIX_DATA },
    415          1.1  christos   },
    416  1.1.1.1.2.1  perseant   /* EVEX_W_0F3A3A_L_2 */
    417          1.1  christos   {
    418  1.1.1.1.2.1  perseant     { "vinserti32x8",	{ XM, Vex, EXymm, Ib }, PREFIX_DATA },
    419  1.1.1.1.2.1  perseant     { "vinserti64x4",	{ XM, Vex, EXymm, Ib }, PREFIX_DATA },
    420          1.1  christos   },
    421  1.1.1.1.2.1  perseant   /* EVEX_W_0F3A3B_L_2 */
    422          1.1  christos   {
    423  1.1.1.1.2.1  perseant     { "vextracti32x8",	{ EXymm, XM, Ib }, PREFIX_DATA },
    424  1.1.1.1.2.1  perseant     { "vextracti64x4",	{ EXymm, XM, Ib }, PREFIX_DATA },
    425          1.1  christos   },
    426          1.1  christos   /* EVEX_W_0F3A42 */
    427          1.1  christos   {
    428          1.1  christos     { "vdbpsadbw",	{ XM, Vex, EXx, Ib }, 0 },
    429          1.1  christos   },
    430  1.1.1.1.2.1  perseant   /* EVEX_W_0F3A43_L_n */
    431          1.1  christos   {
    432  1.1.1.1.2.1  perseant     { "vshufi32x4",	{ XM, Vex, EXx, Ib }, PREFIX_DATA },
    433  1.1.1.1.2.1  perseant     { "vshufi64x2",	{ XM, Vex, EXx, Ib }, PREFIX_DATA },
    434          1.1  christos   },
    435          1.1  christos   /* EVEX_W_0F3A70 */
    436          1.1  christos   {
    437          1.1  christos     { Bad_Opcode },
    438          1.1  christos     { "vpshldw",   { XM, Vex, EXx, Ib }, 0 },
    439          1.1  christos   },
    440          1.1  christos   /* EVEX_W_0F3A72 */
    441          1.1  christos   {
    442          1.1  christos     { Bad_Opcode },
    443          1.1  christos     { "vpshrdw",   { XM, Vex, EXx, Ib }, 0 },
    444          1.1  christos   },
    445  1.1.1.1.2.1  perseant   /* EVEX_W_MAP5_5B_P_0 */
    446  1.1.1.1.2.1  perseant   {
    447  1.1.1.1.2.1  perseant     { "vcvtdq2ph%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
    448  1.1.1.1.2.1  perseant     { "vcvtqq2ph%XZ",	{ XMM, EXx, EXxEVexR }, 0 },
    449  1.1.1.1.2.1  perseant   },
    450  1.1.1.1.2.1  perseant   /* EVEX_W_MAP5_7A_P_3 */
    451  1.1.1.1.2.1  perseant   {
    452  1.1.1.1.2.1  perseant     { "vcvtudq2ph%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
    453  1.1.1.1.2.1  perseant     { "vcvtuqq2ph%XZ",	{ XMM, EXx, EXxEVexR }, 0 },
    454  1.1.1.1.2.1  perseant   },
    455