@ -978,13 +978,9 @@ enum
MOD_VEX_0F384B_X86_64_P_2_W_0 ,
MOD_VEX_0F384B_X86_64_P_3_W_0 ,
MOD_VEX_0F385A ,
MOD_VEX_0F385C_X86_64_P_1_W_0 ,
MOD_VEX_0F385C_X86_64_P_3_W_0 ,
MOD_VEX_0F385E_X86_64_P_0_W_0 ,
MOD_VEX_0F385E_X86_64_P_1_W_0 ,
MOD_VEX_0F385E_X86_64_P_2_W_0 ,
MOD_VEX_0F385E_X86_64_P_3_W_0 ,
MOD_VEX_0F386C_X86_64_W_0 ,
MOD_VEX_0F385C_X86_64 ,
MOD_VEX_0F385E_X86_64 ,
MOD_VEX_0F386C_X86_64 ,
MOD_VEX_0F388C ,
MOD_VEX_0F388E ,
MOD_VEX_0F3A30_L_0 ,
@ -1185,9 +1181,9 @@ enum
PREFIX_VEX_0F384B_X86_64 ,
PREFIX_VEX_0F3850_W_0 ,
PREFIX_VEX_0F3851_W_0 ,
PREFIX_VEX_0F385C_X86_64 ,
PREFIX_VEX_0F385E_X86_64 ,
PREFIX_VEX_0F386C_X86_64_W_0_ M_1_L_0 ,
PREFIX_VEX_0F385C_X86_64_M_1_L_0_W_0 ,
PREFIX_VEX_0F385E_X86_64_M_1_L_0_W_0 ,
PREFIX_VEX_0F386C_X86_64_M_1_L_0_W _0 ,
PREFIX_VEX_0F3872 ,
PREFIX_VEX_0F38B0_W_0 ,
PREFIX_VEX_0F38B1_W_0 ,
@ -1436,13 +1432,9 @@ enum
VEX_LEN_0F384B_X86_64_P_2_W_0_M_0 ,
VEX_LEN_0F384B_X86_64_P_3_W_0_M_0 ,
VEX_LEN_0F385A_M_0 ,
VEX_LEN_0F385C_X86_64_P_1_W_0_M_0 ,
VEX_LEN_0F385C_X86_64_P_3_W_0_M_0 ,
VEX_LEN_0F385E_X86_64_P_0_W_0_M_0 ,
VEX_LEN_0F385E_X86_64_P_1_W_0_M_0 ,
VEX_LEN_0F385E_X86_64_P_2_W_0_M_0 ,
VEX_LEN_0F385E_X86_64_P_3_W_0_M_0 ,
VEX_LEN_0F386C_X86_64_W_0_M_1 ,
VEX_LEN_0F385C_X86_64_M_1 ,
VEX_LEN_0F385E_X86_64_M_1 ,
VEX_LEN_0F386C_X86_64_M_1 ,
VEX_LEN_0F38DB ,
VEX_LEN_0F38F2 ,
VEX_LEN_0F38F3 ,
@ -1604,13 +1596,9 @@ enum
VEX_W_0F3858 ,
VEX_W_0F3859 ,
VEX_W_0F385A_M_0_L_0 ,
VEX_W_0F385C_X86_64_P_1 ,
VEX_W_0F385C_X86_64_P_3 ,
VEX_W_0F385E_X86_64_P_0 ,
VEX_W_0F385E_X86_64_P_1 ,
VEX_W_0F385E_X86_64_P_2 ,
VEX_W_0F385E_X86_64_P_3 ,
VEX_W_0F386C_X86_64 ,
VEX_W_0F385C_X86_64_M_1_L_0 ,
VEX_W_0F385E_X86_64_M_1_L_0 ,
VEX_W_0F386C_X86_64_M_1_L_0 ,
VEX_W_0F3872_P_1 ,
VEX_W_0F3878 ,
VEX_W_0F3879 ,
@ -4149,23 +4137,23 @@ static const struct dis386 prefix_table[][4] = {
{ " %XVvpdpbusds " , { XM , Vex , EXx } , 0 } ,
{ " vpdpbssds " , { XM , Vex , EXx } , 0 } ,
} ,
/* PREFIX_VEX_0F385C_X86_64 */
/* PREFIX_VEX_0F385C_X86_64_M_1_L_0_W_0 */
{
{ Bad_Opcode } ,
{ VEX_W_TABLE ( VEX_W_0F385C_X86_64_P_1 ) } ,
{ " tdpbf16ps " , { TMM , EXtmm , VexTmm } , 0 } ,
{ Bad_Opcode } ,
{ VEX_W_TABLE ( VEX_W_0F385C_X86_64_P_3 ) } ,
{ " tdpfp16ps " , { TMM , EXtmm , VexTmm } , 0 } ,
} ,
/* PREFIX_VEX_0F385E_X86_64 */
/* PREFIX_VEX_0F385E_X86_64_M_1_L_0_W_0 */
{
{ VEX_W_TABLE ( VEX_W_0F385E_X86_64_P_0 ) } ,
{ VEX_W_TABLE ( VEX_W_0F385E_X86_64_P_1 ) } ,
{ VEX_W_TABLE ( VEX_W_0F385E_X86_64_P_2 ) } ,
{ VEX_W_TABLE ( VEX_W_0F385E_X86_64_P_3 ) } ,
{ " tdpbuud " , { TMM , EXtmm , VexTmm } , 0 } ,
{ " tdpbsud " , { TMM , EXtmm , VexTmm } , 0 } ,
{ " tdpbusd " , { TMM , EXtmm , VexTmm } , 0 } ,
{ " tdpbssd " , { TMM , EXtmm , VexTmm } , 0 } ,
} ,
/* PREFIX_VEX_0F386C_X86_64_W_0_ M_1_L_0 */
/* PREFIX_VEX_0F386C_X86_64_M_1_L_0_W _0 */
{
{ " tcmmrlfp16ps " , { TMM , EXtmm , VexTmm } , 0 } ,
{ Bad_Opcode } ,
@ -4530,19 +4518,19 @@ static const struct dis386 x86_64_table[][2] = {
/* X86_64_VEX_0F385C */
{
{ Bad_Opcode } ,
{ PREFIX_TABLE ( PREFIX _VEX_0F385C_X86_64) } ,
{ MOD_TABLE ( MOD _VEX_0F385C_X86_64) } ,
} ,
/* X86_64_VEX_0F385E */
{
{ Bad_Opcode } ,
{ PREFIX_TABLE ( PREFIX _VEX_0F385E_X86_64) } ,
{ MOD_TABLE ( MOD _VEX_0F385E_X86_64) } ,
} ,
/* X86_64_VEX_0F386C */
{
{ Bad_Opcode } ,
{ VEX_W _TABLE ( VEX_W _0F386C_X86_64 ) } ,
{ MOD _TABLE ( MOD_ VEX_0F386C_X86_64) } ,
} ,
/* X86_64_VEX_0F38E0 */
@ -7210,39 +7198,19 @@ static const struct dis386 vex_len_table[][2] = {
{ VEX_W_TABLE ( VEX_W_0F385A_M_0_L_0 ) } ,
} ,
/* VEX_LEN_0F385C_X86_64_P_1_W_0_M_0 */
{
{ " tdpbf16ps " , { TMM , EXtmm , VexTmm } , 0 } ,
} ,
/* VEX_LEN_0F385C_X86_64_P_3_W_0_M_0 */
{
{ " tdpfp16ps " , { TMM , EXtmm , VexTmm } , 0 } ,
} ,
/* VEX_LEN_0F385E_X86_64_P_0_W_0_M_0 */
{
{ " tdpbuud " , { TMM , EXtmm , VexTmm } , 0 } ,
} ,
/* VEX_LEN_0F385E_X86_64_P_1_W_0_M_0 */
{
{ " tdpbsud " , { TMM , EXtmm , VexTmm } , 0 } ,
} ,
/* VEX_LEN_0F385E_X86_64_P_2_W_0_M_0 */
/* VEX_LEN_0F385C_X86_64_M_1 */
{
{ " tdpbusd " , { TMM , EXtmm , VexTmm } , 0 } ,
{ VEX_W_TABLE ( VEX_W_0F385C_X86_64_M_1_L_0 ) } ,
} ,
/* VEX_LEN_0F385E_X86_64_P_3_W_0_M_0 */
/* VEX_LEN_0F385E_X86_64_M_1 */
{
{ " tdpbssd " , { TMM , EXtmm , VexTmm } , 0 } ,
{ VEX_W_TABLE ( VEX_W_0F385E_X86_64_M_1_L_0 ) } ,
} ,
/* VEX_LEN_0F386C_X86_64_W_0_ M_1 */
/* VEX_LEN_0F386C_X86_64_M_1 */
{
{ PREFIX_TABLE ( PREFIX_VEX_0F386C_X86_64_W_0 _M_1_L_0) } ,
{ VEX_W_TABLE ( VEX_W_0F386C_X86_64_M_1_L_0 ) } ,
} ,
/* VEX_LEN_0F38DB */
@ -7890,32 +7858,16 @@ static const struct dis386 vex_w_table[][2] = {
{ " vbroadcasti128 " , { XM , Mxmm } , PREFIX_DATA } ,
} ,
{
/* VEX_W_0F385C_X86_64_P_1 */
{ MOD_TABLE ( MOD_VEX_0F385C_X86_64_P_1_W_0 ) } ,
} ,
{
/* VEX_W_0F385C_X86_64_P_3 */
{ MOD_TABLE ( MOD_VEX_0F385C_X86_64_P_3_W_0 ) } ,
} ,
{
/* VEX_W_0F385E_X86_64_P_0 */
{ MOD_TABLE ( MOD_VEX_0F385E_X86_64_P_0_W_0 ) } ,
/* VEX_W_0F385C_X86_64_M_1_L_0 */
{ PREFIX_TABLE ( PREFIX_VEX_0F385C_X86_64_M_1_L_0_W_0 ) } ,
} ,
{
/* VEX_W_0F385E_X86_64_P_1 */
{ MOD_TABLE ( MOD_VEX_0F385E_X86_64_P_1 _W_0) } ,
/* VEX_W_0F385E_X86_64_M_1_L_0 */
{ PREFIX_TABLE ( PREFIX_VEX_0F385E_X86_64_M_1_L_0_W_0 ) } ,
} ,
{
/* VEX_W_0F385E_X86_64_P_2 */
{ MOD_TABLE ( MOD_VEX_0F385E_X86_64_P_2_W_0 ) } ,
} ,
{
/* VEX_W_0F385E_X86_64_P_3 */
{ MOD_TABLE ( MOD_VEX_0F385E_X86_64_P_3_W_0 ) } ,
} ,
{
/* VEX_W_0F386C_X86_64 */
{ MOD_TABLE ( MOD_VEX_0F386C_X86_64_W_0 ) } ,
/* VEX_W_0F386C_X86_64_M_1_L_0 */
{ PREFIX_TABLE ( PREFIX_VEX_0F386C_X86_64_M_1_L_0_W_0 ) } ,
} ,
{
/* VEX_W_0F3872_P_1 */
@ -8735,39 +8687,19 @@ static const struct dis386 mod_table[][2] = {
{ VEX_LEN_TABLE ( VEX_LEN_0F385A_M_0 ) } ,
} ,
{
/* MOD_VEX_0F385C_X86_64_P_1_W_0 */
{ Bad_Opcode } ,
{ VEX_LEN_TABLE ( VEX_LEN_0F385C_X86_64_P_1_W_0_M_0 ) } ,
} ,
{
/* MOD_VEX_0F385C_X86_64_P_3_W_0 */
{ Bad_Opcode } ,
{ VEX_LEN_TABLE ( VEX_LEN_0F385C_X86_64_P_3_W_0_M_0 ) } ,
} ,
{
/* MOD_VEX_0F385E_X86_64_P_0_W_0 */
{ Bad_Opcode } ,
{ VEX_LEN_TABLE ( VEX_LEN_0F385E_X86_64_P_0_W_0_M_0 ) } ,
} ,
{
/* MOD_VEX_0F385E_X86_64_P_1_W_0 */
{ Bad_Opcode } ,
{ VEX_LEN_TABLE ( VEX_LEN_0F385E_X86_64_P_1_W_0_M_0 ) } ,
} ,
{
/* MOD_VEX_0F385E_X86_64_P_2_W_0 */
/* MOD_VEX_0F385C_X86_64 */
{ Bad_Opcode } ,
{ VEX_LEN_TABLE ( VEX_LEN_0F385E_X86_64_P_2_W_0_M_0 ) } ,
{ VEX_LEN_TABLE ( VEX_LEN_0F385C_X86_64_M_1 ) } ,
} ,
{
/* MOD_VEX_0F385E_X86_64_P_3_W_0 */
/* MOD_VEX_0F385E_X86_64 */
{ Bad_Opcode } ,
{ VEX_LEN_TABLE ( VEX_LEN_0F385E_X86_64_P_3_W_0_M_0 ) } ,
{ VEX_LEN_TABLE ( VEX_LEN_0F385E_X86_64_M_1 ) } ,
} ,
{
/* MOD_VEX_0F386C_X86_64_W_0 */
/* MOD_VEX_0F386C_X86_64 */
{ Bad_Opcode } ,
{ VEX_LEN_TABLE ( VEX_LEN_0F386C_X86_64_W_0_ M_1 ) } ,
{ VEX_LEN_TABLE ( VEX_LEN_0F386C_X86_64_M_1 ) } ,
} ,
{
/* MOD_VEX_0F388C */