summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2011-10-07 05:35:38 +0000
committerCraig Topper <craig.topper@gmail.com>2011-10-07 05:35:38 +0000
commit25f6dfd108801d1dc5877c420ef0dd47131aeda7 (patch)
tree19b85532007f5e2d8b574e7029b8c10d31010c14 /utils
parent217f0e9ca494a1752c591f50f04b4143eb1763c5 (diff)
downloadllvm-25f6dfd108801d1dc5877c420ef0dd47131aeda7.tar.gz
llvm-25f6dfd108801d1dc5877c420ef0dd47131aeda7.tar.bz2
llvm-25f6dfd108801d1dc5877c420ef0dd47131aeda7.tar.xz
Revert part of r141274. Only need to change encoding for xchg %eax, %eax in 64-bit mode. This is because in 64-bit mode xchg %eax, %eax implies zeroing the upper 32-bits of RAX which makes it not a NOP. In 32-bit mode using NOP encoding is fine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141353 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r--utils/TableGen/X86DisassemblerTables.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/utils/TableGen/X86DisassemblerTables.cpp b/utils/TableGen/X86DisassemblerTables.cpp
index 218a1a227c..f42119c074 100644
--- a/utils/TableGen/X86DisassemblerTables.cpp
+++ b/utils/TableGen/X86DisassemblerTables.cpp
@@ -620,6 +620,7 @@ void DisassemblerTables::setTableFields(ModRMDecision &decision,
if(previousInfo.name == "NOOP" && (newInfo.name == "XCHG16ar" ||
newInfo.name == "XCHG32ar" ||
+ newInfo.name == "XCHG32ar64" ||
newInfo.name == "XCHG64ar"))
continue; // special case for XCHG*ar and NOOP