diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-08-27 01:30:14 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-08-27 01:30:14 +0000 |
commit | 1844a71e66fca2b31b29fb0f5e512a2980258e46 (patch) | |
tree | fc54e7991238a7a54975eb03425e7e83b5fc5e18 /llvm/lib/Target | |
parent | 1a8d40935d1e545e02149345b24ccbec19ed7db1 (diff) | |
download | bcm5719-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.td | 2 |
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), |