aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/i386-dis.c10
2 files changed, 13 insertions, 2 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index bd88388..a83dcd9 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2011-01-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (VexGdq): New.
+ (OP_VEX): Handle dq_mode.
+
2011-01-01 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (process_copyright): Update copyright to 2011.
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 0c807ba..d1482de 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -370,6 +370,7 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
#define VexScalar { OP_VEX, vex_scalar_mode }
#define Vex128 { OP_VEX, vex128_mode }
#define Vex256 { OP_VEX, vex256_mode }
+#define VexGdq { OP_VEX, dq_mode }
#define VexI4 { VEXI4_Fixup, 0}
#define EXdVex { OP_EX_Vex, d_mode }
#define EXdVexS { OP_EX_Vex, d_swap_mode }
@@ -14527,13 +14528,18 @@ OP_VEX (int bytemode, int sizeflag ATTRIBUTE_UNUSED)
{
case vex_mode:
case vex128_mode:
+ names = names_xmm;
+ break;
+ case dq_mode:
+ if (vex.w)
+ names = names64;
+ else
+ names = names32;
break;
default:
abort ();
return;
}
-
- names = names_xmm;
break;
case 256:
switch (bytemode)