aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2006-11-10 03:54:11 +0000
committerH.J. Lu <hjl.tools@gmail.com>2006-11-10 03:54:11 +0000
commitd81afd0c0072f7fc79852573668c97c32dcb8323 (patch)
tree3f9cc42032c074e5c25d9cf4592038c52ca8dce2 /opcodes
parenteec0f4ca4c0c5a5e00e23b9930bd477142b5478a (diff)
downloadgdb-d81afd0c0072f7fc79852573668c97c32dcb8323.zip
gdb-d81afd0c0072f7fc79852573668c97c32dcb8323.tar.gz
gdb-d81afd0c0072f7fc79852573668c97c32dcb8323.tar.bz2
2006-11-09 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (print_insn): Check PREFIX_REPNZ before PREFIX_DATA when prefix user table is used.
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/i386-dis.c14
2 files changed, 13 insertions, 6 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 6499aea..727170e 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,10 @@
2006-11-09 H.J. Lu <hongjiu.lu@intel.com>
+ * i386-dis.c (print_insn): Check PREFIX_REPNZ before
+ PREFIX_DATA when prefix user table is used.
+
+2006-11-09 H.J. Lu <hongjiu.lu@intel.com>
+
* i386-dis.c (twobyte_uses_SSE_prefix): Renamed to ...
(twobyte_uses_DATA_prefix): This.
(twobyte_uses_REPNZ_prefix): New.
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 0da2446..caac903 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -3139,14 +3139,16 @@ print_insn (bfd_vma pc, disassemble_info *info)
index = 1;
else
{
- used_prefixes |= (prefixes & PREFIX_DATA);
- if (prefixes & PREFIX_DATA)
- index = 2;
+ /* We should check PREFIX_REPNZ and PREFIX_REPZ
+ before PREFIX_DATA. */
+ used_prefixes |= (prefixes & PREFIX_REPNZ);
+ if (prefixes & PREFIX_REPNZ)
+ index = 3;
else
{
- used_prefixes |= (prefixes & PREFIX_REPNZ);
- if (prefixes & PREFIX_REPNZ)
- index = 3;
+ used_prefixes |= (prefixes & PREFIX_DATA);
+ if (prefixes & PREFIX_DATA)
+ index = 2;
}
}
dp = &prefix_user_table[dp->bytemode2][index];