* i386-dis.c (ckprefix): Handle rex on fwait. Don't print
ignored rex prefixes here. (print_insn): Instead, handle them similarly to fwait followed by non-fp insns.
This commit is contained in:
parent
a1a90f0396
commit
3e7d61b225
2 changed files with 22 additions and 14 deletions
|
@ -1,3 +1,10 @@
|
|||
2005-11-07 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* i386-dis.c (ckprefix): Handle rex on fwait. Don't print
|
||||
ignored rex prefixes here.
|
||||
(print_insn): Instead, handle them similarly to fwait followed
|
||||
by non-fp insns.
|
||||
|
||||
2005-11-02 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* iq2000-desc.c: Regenerated.
|
||||
|
@ -109,7 +116,7 @@
|
|||
|
||||
* configure.in: Add target architecture bfd_arch_z80.
|
||||
* configure: Regenerated.
|
||||
* disassemble.c (disassembler)<ARCH_z80>: Add case
|
||||
* disassemble.c (disassembler)<ARCH_z80>: Add case
|
||||
bfd_arch_z80.
|
||||
* z80-dis.c: New file.
|
||||
|
||||
|
@ -270,7 +277,7 @@
|
|||
2005-08-23 David Ung <davidu@mips.com>
|
||||
|
||||
* mips16-opc.c (mips16_opcodes): Add the MIPS16e jalrc/jrc
|
||||
instructions to the table.
|
||||
instructions to the table.
|
||||
|
||||
2005-08-18 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
|
@ -405,7 +412,7 @@
|
|||
* cgen-ops.h, cgen-types.h: New files.
|
||||
* Makefile.am (HFILES): List them.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
|
||||
2005-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* arc-dis.c, arm-dis.c, cris-dis.c, crx-dis.c, d10v-dis.c,
|
||||
|
@ -496,7 +503,7 @@
|
|||
* vax-dis.c: Likewise.
|
||||
* w65-dis.c: Likewise.
|
||||
* z8kgen.c: Likewise.
|
||||
|
||||
|
||||
* fr30-*: Regenerate.
|
||||
* frv-*: Regenerate.
|
||||
* ip2k-*: Regenerate.
|
||||
|
@ -513,13 +520,13 @@
|
|||
|
||||
2005-06-16 David Ung <davidu@mips.com>
|
||||
|
||||
* mips16-opc.c (mips16_opcodes): Add the following MIPS16e
|
||||
instructions to the table; seb/seh/sew/zeb/zeh/zew.
|
||||
* mips16-opc.c (mips16_opcodes): Add the following MIPS16e
|
||||
instructions to the table; seb/seh/sew/zeb/zeh/zew.
|
||||
|
||||
2005-06-15 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
Contribute Morpho ms1 on behalf of Red Hat
|
||||
* ms1-asm.c, ms1-desc.c, ms1-dis.c, ms1-ibld.c, ms1-opc.c,
|
||||
* ms1-asm.c, ms1-desc.c, ms1-dis.c, ms1-ibld.c, ms1-opc.c,
|
||||
ms1-opc.h: New files, Morpho ms1 target.
|
||||
|
||||
2004-05-14 Stan Cox <scox@redhat.com>
|
||||
|
|
|
@ -1814,7 +1814,7 @@ ckprefix (void)
|
|||
/* fwait is really an instruction. If there are prefixes
|
||||
before the fwait, they belong to the fwait, *not* to the
|
||||
following instruction. */
|
||||
if (prefixes)
|
||||
if (prefixes || rex)
|
||||
{
|
||||
prefixes |= PREFIX_FWAIT;
|
||||
codep++;
|
||||
|
@ -1828,8 +1828,8 @@ ckprefix (void)
|
|||
/* Rex is ignored when followed by another prefix. */
|
||||
if (rex)
|
||||
{
|
||||
oappend (prefix_name (rex, 0));
|
||||
oappend (" ");
|
||||
rex_used = rex;
|
||||
return;
|
||||
}
|
||||
rex = newrex;
|
||||
codep++;
|
||||
|
@ -2117,13 +2117,14 @@ print_insn (bfd_vma pc, disassemble_info *info)
|
|||
FETCH_DATA (info, codep + 1);
|
||||
two_source_ops = (*codep == 0x62) || (*codep == 0xc8);
|
||||
|
||||
if ((prefixes & PREFIX_FWAIT)
|
||||
&& ((*codep < 0xd8) || (*codep > 0xdf)))
|
||||
if (((prefixes & PREFIX_FWAIT)
|
||||
&& ((*codep < 0xd8) || (*codep > 0xdf)))
|
||||
|| (rex && rex_used))
|
||||
{
|
||||
const char *name;
|
||||
|
||||
/* fwait not followed by floating point instruction. Print the
|
||||
first prefix, which is probably fwait itself. */
|
||||
/* fwait not followed by floating point instruction, or rex followed
|
||||
by other prefixes. Print the first prefix. */
|
||||
name = prefix_name (priv.the_buffer[0], priv.orig_sizeflag);
|
||||
if (name == NULL)
|
||||
name = INTERNAL_DISASSEMBLER_ERROR;
|
||||
|
|
Loading…
Reference in a new issue