diff options
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrCompiler.td | 2 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/shift-and.ll | 1 | 
2 files changed, 1 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86InstrCompiler.td b/llvm/lib/Target/X86/X86InstrCompiler.td index 9d188d3d5e5..3547c6526f1 100644 --- a/llvm/lib/Target/X86/X86InstrCompiler.td +++ b/llvm/lib/Target/X86/X86InstrCompiler.td @@ -1654,7 +1654,7 @@ multiclass MaskedShiftAmountPats<SDNode frag, string name> {    // (shift x (and y, 63)) ==> (shift x, y)    def : Pat<(frag GR64:$src1, (and CL, immShift64)),              (!cast<Instruction>(name # "64rCL") GR64:$src1)>; -  def : Pat<(store (frag (loadi64 addr:$dst), (and CL, 63)), addr:$dst), +  def : Pat<(store (frag (loadi64 addr:$dst), (and CL, immShift64)), addr:$dst),              (!cast<Instruction>(name # "64mCL") addr:$dst)>;  } diff --git a/llvm/test/CodeGen/X86/shift-and.ll b/llvm/test/CodeGen/X86/shift-and.ll index bb8eaa3c1cb..c61bff72ca6 100644 --- a/llvm/test/CodeGen/X86/shift-and.ll +++ b/llvm/test/CodeGen/X86/shift-and.ll @@ -99,7 +99,6 @@ define i64 @t5(i64 %t, i64 %val) nounwind {  define void @t5ptr(i64 %t, i64* %ptr) nounwind {  ; X64-LABEL: t5ptr:  ; X64:       ## BB#0: -; X64-NEXT:    andb $-65, %dil  ; X64-NEXT:    movl %edi, %ecx  ; X64-NEXT:    shrq %cl, (%rsi)  ; X64-NEXT:    retq  | 

