From cb21baef7725d8afce1b16e726890cce45b1d5b9 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 4 Jan 2011 20:53:32 +0000 Subject: [PATCH] Add VexGdq. 2011-01-04 H.J. Lu * i386-dis.c (VexGdq): New. (OP_VEX): Handle dq_mode. --- opcodes/ChangeLog | 5 +++++ opcodes/i386-dis.c | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index bd88388dfb..a83dcd9355 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2011-01-04 H.J. Lu + + * i386-dis.c (VexGdq): New. + (OP_VEX): Handle dq_mode. + 2011-01-01 H.J. Lu * i386-gen.c (process_copyright): Update copyright to 2011. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 0c807ba636..d1482decb9 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)