Use vex_len_table in xop_table
PR binutils/14355 * i386-dis.c (VEX_LEN_0FXOP_08_CC): New. (VEX_LEN_0FXOP_08_CD): Likewise. (VEX_LEN_0FXOP_08_CE): Likewise. (VEX_LEN_0FXOP_08_CF): Likewise. (VEX_LEN_0FXOP_08_EC): Likewise. (VEX_LEN_0FXOP_08_ED): Likewise. (VEX_LEN_0FXOP_08_EE): Likewise. (VEX_LEN_0FXOP_08_EF): Likewise. (xop_table): Fix entries for vpcomb, vpcomw, vpcomd, vpcomq, vpcomub, vpcomuw, vpcomud, vpcomuq. (vex_len_table): Add entries for VEX_LEN_0FXOP_08_CC, VEX_LEN_0FXOP_08_CD, VEX_LEN_0FXOP_08_CE, VEX_LEN_0FXOP_08_CF, VEX_LEN_0FXOP_08_EC, VEX_LEN_0FXOP_08_ED, VEX_LEN_0FXOP_08_EE, VEX_LEN_0FXOP_08_EF.
This commit is contained in:
parent
6ace3df1ec
commit
ff688e1f8e
@ -1,3 +1,21 @@
|
||||
2012-07-19 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
|
||||
|
||||
PR binutils/14355
|
||||
* i386-dis.c (VEX_LEN_0FXOP_08_CC): New.
|
||||
(VEX_LEN_0FXOP_08_CD): Likewise.
|
||||
(VEX_LEN_0FXOP_08_CE): Likewise.
|
||||
(VEX_LEN_0FXOP_08_CF): Likewise.
|
||||
(VEX_LEN_0FXOP_08_EC): Likewise.
|
||||
(VEX_LEN_0FXOP_08_ED): Likewise.
|
||||
(VEX_LEN_0FXOP_08_EE): Likewise.
|
||||
(VEX_LEN_0FXOP_08_EF): Likewise.
|
||||
(xop_table): Fix entries for vpcomb, vpcomw, vpcomd, vpcomq,
|
||||
vpcomub, vpcomuw, vpcomud, vpcomuq.
|
||||
(vex_len_table): Add entries for VEX_LEN_0FXOP_08_CC,
|
||||
VEX_LEN_0FXOP_08_CD, VEX_LEN_0FXOP_08_CE, VEX_LEN_0FXOP_08_CF,
|
||||
VEX_LEN_0FXOP_08_EC, VEX_LEN_0FXOP_08_ED, VEX_LEN_0FXOP_08_EE,
|
||||
VEX_LEN_0FXOP_08_EF.
|
||||
|
||||
2012-07-16 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
|
||||
|
||||
* i386-dis.c (PREFIX_0F38F6): New.
|
||||
|
@ -1319,6 +1319,14 @@ enum
|
||||
VEX_LEN_0F3A7F_P_2,
|
||||
VEX_LEN_0F3ADF_P_2,
|
||||
VEX_LEN_0F3AF0_P_3,
|
||||
VEX_LEN_0FXOP_08_CC,
|
||||
VEX_LEN_0FXOP_08_CD,
|
||||
VEX_LEN_0FXOP_08_CE,
|
||||
VEX_LEN_0FXOP_08_CF,
|
||||
VEX_LEN_0FXOP_08_EC,
|
||||
VEX_LEN_0FXOP_08_ED,
|
||||
VEX_LEN_0FXOP_08_EE,
|
||||
VEX_LEN_0FXOP_08_EF,
|
||||
VEX_LEN_0FXOP_09_80,
|
||||
VEX_LEN_0FXOP_09_81
|
||||
};
|
||||
@ -6894,10 +6902,10 @@ static const struct dis386 xop_table[][256] = {
|
||||
{ Bad_Opcode },
|
||||
{ Bad_Opcode },
|
||||
{ Bad_Opcode },
|
||||
{ "vpcomb", { XM, Vex128, EXx, Ib } },
|
||||
{ "vpcomw", { XM, Vex128, EXx, Ib } },
|
||||
{ "vpcomd", { XM, Vex128, EXx, Ib } },
|
||||
{ "vpcomq", { XM, Vex128, EXx, Ib } },
|
||||
{ VEX_LEN_TABLE (VEX_LEN_0FXOP_08_CC) },
|
||||
{ VEX_LEN_TABLE (VEX_LEN_0FXOP_08_CD) },
|
||||
{ VEX_LEN_TABLE (VEX_LEN_0FXOP_08_CE) },
|
||||
{ VEX_LEN_TABLE (VEX_LEN_0FXOP_08_CF) },
|
||||
/* d0 */
|
||||
{ Bad_Opcode },
|
||||
{ Bad_Opcode },
|
||||
@ -6930,10 +6938,10 @@ static const struct dis386 xop_table[][256] = {
|
||||
{ Bad_Opcode },
|
||||
{ Bad_Opcode },
|
||||
{ Bad_Opcode },
|
||||
{ "vpcomub", { XM, Vex128, EXx, Ib } },
|
||||
{ "vpcomuw", { XM, Vex128, EXx, Ib } },
|
||||
{ "vpcomud", { XM, Vex128, EXx, Ib } },
|
||||
{ "vpcomuq", { XM, Vex128, EXx, Ib } },
|
||||
{ VEX_LEN_TABLE (VEX_LEN_0FXOP_08_EC) },
|
||||
{ VEX_LEN_TABLE (VEX_LEN_0FXOP_08_ED) },
|
||||
{ VEX_LEN_TABLE (VEX_LEN_0FXOP_08_EE) },
|
||||
{ VEX_LEN_TABLE (VEX_LEN_0FXOP_08_EF) },
|
||||
/* f0 */
|
||||
{ Bad_Opcode },
|
||||
{ Bad_Opcode },
|
||||
@ -9002,6 +9010,46 @@ static const struct dis386 vex_len_table[][2] = {
|
||||
{ "rorxS", { Gdq, Edq, Ib } },
|
||||
},
|
||||
|
||||
/* VEX_LEN_0FXOP_08_CC */
|
||||
{
|
||||
{ "vpcomb", { XM, Vex128, EXx, Ib } },
|
||||
},
|
||||
|
||||
/* VEX_LEN_0FXOP_08_CD */
|
||||
{
|
||||
{ "vpcomw", { XM, Vex128, EXx, Ib } },
|
||||
},
|
||||
|
||||
/* VEX_LEN_0FXOP_08_CE */
|
||||
{
|
||||
{ "vpcomd", { XM, Vex128, EXx, Ib } },
|
||||
},
|
||||
|
||||
/* VEX_LEN_0FXOP_08_CF */
|
||||
{
|
||||
{ "vpcomq", { XM, Vex128, EXx, Ib } },
|
||||
},
|
||||
|
||||
/* VEX_LEN_0FXOP_08_EC */
|
||||
{
|
||||
{ "vpcomub", { XM, Vex128, EXx, Ib } },
|
||||
},
|
||||
|
||||
/* VEX_LEN_0FXOP_08_ED */
|
||||
{
|
||||
{ "vpcomuw", { XM, Vex128, EXx, Ib } },
|
||||
},
|
||||
|
||||
/* VEX_LEN_0FXOP_08_EE */
|
||||
{
|
||||
{ "vpcomud", { XM, Vex128, EXx, Ib } },
|
||||
},
|
||||
|
||||
/* VEX_LEN_0FXOP_08_EF */
|
||||
{
|
||||
{ "vpcomuq", { XM, Vex128, EXx, Ib } },
|
||||
},
|
||||
|
||||
/* VEX_LEN_0FXOP_09_80 */
|
||||
{
|
||||
{ "vfrczps", { XM, EXxmm } },
|
||||
|
Loading…
Reference in New Issue
Block a user