summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/EDEmitter.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2011-10-06 06:44:41 +0000
committerCraig Topper <craig.topper@gmail.com>2011-10-06 06:44:41 +0000
commit23eb468b1f9fc80ddeda306f474f343091bea250 (patch)
treeaafbc167a20d4f2dd270a3d9c08f88f83f089056 /llvm/utils/TableGen/EDEmitter.cpp
parent540017e54e55afbbbd711341c786833c38b299b6 (diff)
downloadbcm5719-llvm-23eb468b1f9fc80ddeda306f474f343091bea250.tar.gz
bcm5719-llvm-23eb468b1f9fc80ddeda306f474f343091bea250.zip
Fix assembling of xchg %eax, %eax to not use the NOP encoding of 0x90. This was done by creating a new register group that excludes AX registers. Fixes PR10345. Also added aliases for flipping the order of the operands of xchg <reg>, %eax.
llvm-svn: 141274
Diffstat (limited to 'llvm/utils/TableGen/EDEmitter.cpp')
-rw-r--r--llvm/utils/TableGen/EDEmitter.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/EDEmitter.cpp b/llvm/utils/TableGen/EDEmitter.cpp
index 85f7e1f26ca..b5fe7e6e1ab 100644
--- a/llvm/utils/TableGen/EDEmitter.cpp
+++ b/llvm/utils/TableGen/EDEmitter.cpp
@@ -256,12 +256,15 @@ static int X86TypeFromOpName(LiteralConstantEmitter *type,
REG("GR8");
REG("GR8_NOREX");
REG("GR16");
+ REG("GR16_NOAX");
REG("GR32");
+ REG("GR32_NOAX");
REG("GR32_NOREX");
REG("GR32_TC");
REG("FR32");
REG("RFP32");
REG("GR64");
+ REG("GR64_NOAX");
REG("GR64_TC");
REG("FR64");
REG("VR64");
OpenPOWER on IntegriCloud