summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-08-27 01:30:14 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-08-27 01:30:14 +0000
commit1844a71e66fca2b31b29fb0f5e512a2980258e46 (patch)
treefc54e7991238a7a54975eb03425e7e83b5fc5e18 /llvm/lib/Target
parent1a8d40935d1e545e02149345b24ccbec19ed7db1 (diff)
downloadbcm5719-llvm-1844a71e66fca2b31b29fb0f5e512a2980258e46.tar.gz
bcm5719-llvm-1844a71e66fca2b31b29fb0f5e512a2980258e46.zip
X86: Fix an encoding issue with LOCK_ADD64mr, which could lead to very hard to find miscompiles with the integrated assembler.
llvm-svn: 112250
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86Instr64bit.td2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86Instr64bit.td b/llvm/lib/Target/X86/X86Instr64bit.td
index c731ecd8874..1f11dc1d18b 100644
--- a/llvm/lib/Target/X86/X86Instr64bit.td
+++ b/llvm/lib/Target/X86/X86Instr64bit.td
@@ -1678,7 +1678,7 @@ def XCHG64ar : RI<0x90, AddRegFrm, (outs), (ins GR64:$src),
// Optimized codegen when the non-memory output is not used.
let Defs = [EFLAGS], mayLoad = 1, mayStore = 1 in {
// FIXME: Use normal add / sub instructions and add lock prefix dynamically.
-def LOCK_ADD64mr : RI<0x03, MRMDestMem, (outs), (ins i64mem:$dst, GR64:$src2),
+def LOCK_ADD64mr : RI<0x01, MRMDestMem, (outs), (ins i64mem:$dst, GR64:$src2),
"lock\n\t"
"add{q}\t{$src2, $dst|$dst, $src2}", []>, LOCK;
def LOCK_ADD64mi8 : RIi8<0x83, MRM0m, (outs),
OpenPOWER on IntegriCloud