diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2006-12-15 13:11:56 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2006-12-15 13:11:56 +0000 |
commit | fb9c77c70e3dab434c1e4b7cd65f029ecb01dbe4 (patch) | |
tree | 4f6cba1dad0d0124cf2edbeb699d6bcb6259c1d8 /opcodes | |
parent | a6c73b34d023bad03cf779d6b252596c6f0f16ff (diff) | |
download | gdb-fb9c77c70e3dab434c1e4b7cd65f029ecb01dbe4.zip gdb-fb9c77c70e3dab434c1e4b7cd65f029ecb01dbe4.tar.gz gdb-fb9c77c70e3dab434c1e4b7cd65f029ecb01dbe4.tar.bz2 |
gas/testsuite/
2006-12-15 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/x86-64-inval.s: cmpxchg16b needs oword ptr, instead
of xmmword ptr.
* gas/i386/x86_64.s: Likewise.
* gas/i386/x86-64-inval.l: Updated.
opcodes/
2006-12-15 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (o_mode): New for 16-byte operand.
(intel_operand_size): Generate "OWORD PTR " for o_mode.
(CMPXCHG8B_Fixup): Set bytemode to o_mode instead of x_mode.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 6 | ||||
-rw-r--r-- | opcodes/i386-dis.c | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 9bebc48..ee62f00 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2006-12-15 H.J. Lu <hongjiu.lu@intel.com> + + * i386-dis.c (o_mode): New for 16-byte operand. + (intel_operand_size): Generate "OWORD PTR " for o_mode. + (CMPXCHG8B_Fixup): Set bytemode to o_mode instead of x_mode. + 2006-12-14 H.J. Lu <hongjiu.lu@intel.com> * i386-dis.c (CMPXCHG8B_Fixup): New. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 009d0f6..eb751bc 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -356,6 +356,7 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr) #define const_1_mode 14 #define stack_v_mode 15 /* v_mode for stack-related opcodes. */ #define z_mode 16 /* non-quad operand size depends on prefixes */ +#define o_mode 17 /* 16-byte operand */ #define es_reg 100 #define cs_reg 101 @@ -4183,6 +4184,9 @@ intel_operand_size (int bytemode, int sizeflag) case x_mode: oappend ("XMMWORD PTR "); break; + case o_mode: + oappend ("OWORD PTR "); + break; default: break; } @@ -5778,7 +5782,7 @@ CMPXCHG8B_Fixup (int bytemode, int sizeflag) /* Change cmpxchg8b to cmpxchg16b. */ char *p = obuf + strlen (obuf) - 2; strcpy (p, "16b"); - bytemode = x_mode; + bytemode = o_mode; } OP_M (bytemode, sizeflag); } |