aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/X86DisassemblerTables.cpp
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
commit5aebebe18d9f290f7e6f93fb2104379cea9cc185 (patch)
tree3abfbeb709f93a1a8446466e218780f7825cb970 /llvm/utils/TableGen/X86DisassemblerTables.cpp
parentc26e4454035a4160cffc3c865cf83be194ca38c4 (diff)
downloadllvm-5aebebe18d9f290f7e6f93fb2104379cea9cc185.zip
llvm-5aebebe18d9f290f7e6f93fb2104379cea9cc185.tar.gz
llvm-5aebebe18d9f290f7e6f93fb2104379cea9cc185.tar.bz2
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.
llvm-svn: 141353
Diffstat (limited to 'llvm/utils/TableGen/X86DisassemblerTables.cpp')
-rw-r--r--llvm/utils/TableGen/X86DisassemblerTables.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/X86DisassemblerTables.cpp b/llvm/utils/TableGen/X86DisassemblerTables.cpp
index 218a1a2..f42119c 100644
--- a/llvm/utils/TableGen/X86DisassemblerTables.cpp
+++ b/llvm/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