+2010-01-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (EXVexWdqScalar): New.
+ (vex_scalar_w_dq_mode): Likewise.
+ (prefix_table): Update entries for PREFIX_VEX_3899,
+ PREFIX_VEX_389B, PREFIX_VEX_389D, PREFIX_VEX_389F,
+ PREFIX_VEX_38A9, PREFIX_VEX_38AB, PREFIX_VEX_38AD,
+ PREFIX_VEX_38AF, PREFIX_VEX_38B9, PREFIX_VEX_38BB,
+ PREFIX_VEX_38BD and PREFIX_VEX_38BF.
+ (intel_operand_size): Handle vex_scalar_w_dq_mode.
+ (OP_EX): Likewise.
+
+2010-01-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (XMScalar): New.
+ (EXdScalar): Likewise.
+ (EXqScalar): Likewise.
+ (EXqScalarS): Likewise.
+ (VexScalar): Likewise.
+ (EXdVexScalarS): Likewise.
+ (EXqVexScalarS): Likewise.
+ (XMVexScalar): Likewise.
+ (scalar_mode): Likewise.
+ (d_scalar_mode): Likewise.
+ (d_scalar_swap_mode): Likewise.
+ (q_scalar_mode): Likewise.
+ (q_scalar_swap_mode): Likewise.
+ (vex_scalar_mode): Likewise.
+ (vex_len_table): Duplcate entries for VEX_LEN_10_P_1,
+ VEX_LEN_10_P_3, VEX_LEN_11_P_1, VEX_LEN_11_P_3, VEX_LEN_2A_P_1,
+ VEX_LEN_2A_P_3, VEX_LEN_2C_P_3, VEX_LEN_2D_P_1, VEX_LEN_2E_P_0,
+ VEX_LEN_2E_P_2, VEX_LEN_2F_P_2, VEX_LEN_51_P_1, VEX_LEN_51_P_3,
+ VEX_LEN_52_P_1, VEX_LEN_53_P_1, VEX_LEN_58_P_1, VEX_LEN_58_P_3,
+ VEX_LEN_59_P_1, VEX_LEN_5A_P_1, VEX_LEN_5A_P_3, VEX_LEN_5C_P_1,
+ VEX_LEN_5C_P_3, VEX_LEN_5D_P_1, VEX_LEN_5D_P_3, VEX_LEN_5E_P_1,
+ VEX_LEN_5E_P_3, VEX_LEN_5F_P_1, VEX_LEN_5F_P_3, VEX_LEN_6E_P_2,
+ VEX_LEN_7E_P_1, VEX_LEN_7E_P_2, VEX_LEN_D6_P_2, VEX_LEN_C2_P_1,
+ VEX_LEN_C2_P_3, VEX_LEN_3A0A_P_2 and VEX_LEN_3A0B_P_2.
+ (vex_w_table): Update entries for VEX_W_10_P_1, VEX_W_10_P_3,
+ VEX_W_11_P_1, VEX_W_11_P_3, VEX_W_2E_P_0, VEX_W_2E_P_2,
+ VEX_W_2F_P_0, VEX_W_2F_P_2, VEX_W_51_P_1, VEX_W_51_P_3,
+ VEX_W_52_P_1, VEX_W_53_P_1, VEX_W_58_P_1, VEX_W_58_P_3,
+ VEX_W_59_P_1, VEX_W_59_P_3, VEX_W_5A_P_1, VEX_W_5A_P_3,
+ VEX_W_5C_P_1, VEX_W_5C_P_3, VEX_W_5D_P_1, VEX_W_5D_P_3,
+ VEX_W_5E_P_1, VEX_W_5E_P_3, VEX_W_5F_P_1, VEX_W_5F_P_3,
+ VEX_W_7E_P_1, VEX_W_D6_P_2 VEX_W_C2_P_1, VEX_W_C2_P_3,
+ VEX_W_3A0A_P_2 and VEX_W_3A0B_P_2.
+ (intel_operand_size): Handle d_scalar_mode, d_scalar_swap_mode,
+ q_scalar_mode, q_scalar_swap_mode.
+ (OP_XMM): Handle scalar_mode.
+ (OP_EX): Handle d_scalar_mode, d_scalar_swap_mode, q_scalar_mode
+ and q_scalar_swap_mode.
+ (OP_VEX): Handle vex_scalar_mode.
+
+2010-01-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (prefix_table): Remove trailing { Bad_Opcode }.
+
+2010-01-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (vex_len_table): Remove trailing { Bad_Opcode }.
+
+2010-01-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (prefix_table): Remove trailing { Bad_Opcode }.
+
+2010-01-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (Bad_Opcode): New.
+ (bad_opcode): Likewise.
+ (dis386): Replace { "(bad)", { XX } } with { Bad_Opcode }.
+ (dis386_twobyte): Likewise.
+ (reg_table): Likewise.
+ (prefix_table): Likewise.
+ (x86_64_table): Likewise.
+ (vex_len_table): Likewise.
+ (vex_w_table): Likewise.
+ (mod_table): Likewise.
+ (rm_table): Likewise.
+ (float_reg): Likewise.
+ (reg_table): Remove trailing "(bad)" entries.
+ (prefix_table): Likewise.
+ (x86_64_table): Likewise.
+ (vex_len_table): Likewise.
+ (vex_w_table): Likewise.
+ (mod_table): Likewise.
+ (rm_table): Likewise.
+ (get_valid_dis386): Handle bytemode 0.
+
+2010-01-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-opc.h (VEXScalar): New.
+
+ * i386-opc.tbl: Replace "Vex" with "Vex=3" on AVX scalar
+ instructions.
+ * i386-tbl.h: Regenerated.
+
2010-01-21 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (mod_table): Use FXSAVE on xsave and xrstor.