[llvm] r268212 - [X86] Fix a bug in LOCK arithmetic operation pattern matching where the wrong immediate predicate check was being used for 64-bit instructions with 8-bit immediates.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Sun May 1 22:44:21 PDT 2016
Author: ctopper
Date: Mon May 2 00:44:21 2016
New Revision: 268212
URL: http://llvm.org/viewvc/llvm-project?rev=268212&view=rev
Log:
[X86] Fix a bug in LOCK arithmetic operation pattern matching where the wrong immediate predicate check was being used for 64-bit instructions with 8-bit immediates.
This didn't cause a bug because the order of the patterns ensured that the 64-bit instructions with 32-bit immediates were selected first.
Modified:
llvm/trunk/lib/Target/X86/X86InstrCompiler.td
Modified: llvm/trunk/lib/Target/X86/X86InstrCompiler.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrCompiler.td?rev=268212&r1=268211&r2=268212&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrCompiler.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrCompiler.td Mon May 2 00:44:21 2016
@@ -671,7 +671,7 @@ def NAME#64mi8 : RIi8<{ImmOpc8{7}, ImmOp
ImmMod, (outs), (ins i64mem :$dst, i64i8imm :$src2),
!strconcat(mnemonic, "{q}\t",
"{$src2, $dst|$dst, $src2}"),
- [(set EFLAGS, (Op addr:$dst, i64immSExt32:$src2))],
+ [(set EFLAGS, (Op addr:$dst, i64immSExt8:$src2))],
IIC_ALU_MEM>, LOCK;
}
More information about the llvm-commits
mailing list