From 53aa04a0be7a385042cb52ac88587a53c9729b6b Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 15 Dec 2009 22:13:05 +0000 Subject: [PATCH] Add VEX_W_382X_P_2_M_0. 2009-12-15 H.J. Lu * i386-dis.c (VEX_W_382X_P_2_M_0): New. (vex_w_table): Add VEX_W_382X_P_2_M_0. (mod_table): Use VEX_W_382X_P_2_M_0. --- opcodes/ChangeLog | 6 ++++++ opcodes/i386-dis.c | 32 ++++++++++++++++++++++++++++---- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 1ddc5378138..1428f5a6a0b 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2009-12-15 H.J. Lu + + * i386-dis.c (VEX_W_382X_P_2_M_0): New. + (vex_w_table): Add VEX_W_382X_P_2_M_0. + (mod_table): Use VEX_W_382X_P_2_M_0. + 2009-12-15 H.J. Lu * i386-dis.c (vex_w_table): Reformat. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index e2c9c5109e9..4fca1c13bff 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -1500,6 +1500,10 @@ enum VEX_W_3829_P_2, VEX_W_382A_P_2_M_0, VEX_W_382B_P_2, + VEX_W_382C_P_2_M_0, + VEX_W_382D_P_2_M_0, + VEX_W_382E_P_2_M_0, + VEX_W_382F_P_2_M_0, VEX_W_3830_P_2, VEX_W_3831_P_2, VEX_W_3832_P_2, @@ -10607,6 +10611,26 @@ static const struct dis386 vex_w_table[][2] = { { "vpackusdw", { XM, Vex128, EXx } }, { "(bad)", { XX } }, }, + { + /* VEX_W_382C_P_2_M_0 */ + { "vmaskmovps", { XM, Vex, Mx } }, + { "(bad)", { XX } }, + }, + { + /* VEX_W_382D_P_2_M_0 */ + { "vmaskmovpd", { XM, Vex, Mx } }, + { "(bad)", { XX } }, + }, + { + /* VEX_W_382E_P_2_M_0 */ + { "vmaskmovps", { Mx, Vex, XM } }, + { "(bad)", { XX } }, + }, + { + /* VEX_W_382F_P_2_M_0 */ + { "vmaskmovpd", { Mx, Vex, XM } }, + { "(bad)", { XX } }, + }, { /* VEX_W_3830_P_2 */ { "vpmovzxbw", { XM, EXq } }, @@ -11267,22 +11291,22 @@ static const struct dis386 mod_table[][2] = { }, { /* MOD_VEX_382C_PREFIX_2 */ - { "vmaskmovps", { XM, Vex, Mx } }, + { VEX_W_TABLE (VEX_W_382C_P_2_M_0) }, { "(bad)", { XX } }, }, { /* MOD_VEX_382D_PREFIX_2 */ - { "vmaskmovpd", { XM, Vex, Mx } }, + { VEX_W_TABLE (VEX_W_382D_P_2_M_0) }, { "(bad)", { XX } }, }, { /* MOD_VEX_382E_PREFIX_2 */ - { "vmaskmovps", { Mx, Vex, XM } }, + { VEX_W_TABLE (VEX_W_382E_P_2_M_0) }, { "(bad)", { XX } }, }, { /* MOD_VEX_382F_PREFIX_2 */ - { "vmaskmovpd", { Mx, Vex, XM } }, + { VEX_W_TABLE (VEX_W_382F_P_2_M_0) }, { "(bad)", { XX } }, }, };