aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-dis.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2018-04-15 08:38:23 -0700
committerH.J. Lu <hjl.tools@gmail.com>2018-04-15 08:38:36 -0700
commitae1d38437284b31d5a1c604bcf391d4543be00a5 (patch)
tree1a7ec14d5cbdfdd8967109fb45dcca742ee81740 /opcodes/i386-dis.c
parent7c31c22f1a18d91e104f1ffd5df8895d2459fe48 (diff)
downloadbinutils-ae1d38437284b31d5a1c604bcf391d4543be00a5.zip
binutils-ae1d38437284b31d5a1c604bcf391d4543be00a5.tar.gz
binutils-ae1d38437284b31d5a1c604bcf391d4543be00a5.tar.bz2
x86: Allow 32-bit registers for tpause and umwait
Since only the first 32 bits of input operand are used for tpause and umwait, the REX.W bit is skipped. Both 32-bit registers and 64-bit registers are allowed. gas/ * testsuite/gas/i386/x86-64-waitpkg.s: Add 32-bit registers tests for tpause and umwait. * testsuite/gas/i386/x86-64-waitpkg-intel.d: Updated. * testsuite/gas/i386/x86-64-waitpkg.d: Likewise. opcodes/ * i386-dis.c (prefix_table): Replace Em with Edq on tpause and umwait. * i386-opc.tbl: Allow 32-bit registers for tpause and umwait in 64-bit mode. * i386-tbl.h: Regenerated.
Diffstat (limited to 'opcodes/i386-dis.c')
-rw-r--r--opcodes/i386-dis.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index d6fb42a..7416569 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -4206,8 +4206,8 @@ static const struct dis386 prefix_table[][4] = {
{
{ RM_TABLE (RM_0FAE_REG_6) },
{ "umonitor", { Eva }, PREFIX_OPCODE },
- { "tpause", { Em }, PREFIX_OPCODE },
- { "umwait", { Em }, PREFIX_OPCODE },
+ { "tpause", { Edq }, PREFIX_OPCODE },
+ { "umwait", { Edq }, PREFIX_OPCODE },
},
/* PREFIX_0FAE_REG_7 */