diff --git a/llvm/test/CodeGen/X86/shift-and.ll b/llvm/test/CodeGen/X86/shift-and.ll index 75e2d233ed1b..bb8eaa3c1cb4 100644 --- a/llvm/test/CodeGen/X86/shift-and.ll +++ b/llvm/test/CodeGen/X86/shift-and.ll @@ -96,6 +96,21 @@ define i64 @t5(i64 %t, i64 %val) nounwind { ret i64 %res } +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 +; X64-NEXT: ## -- End function + %shamt = and i64 %t, 191 + %tmp = load i64, i64* %ptr + %tmp1 = lshr i64 %tmp, %shamt + store i64 %tmp1, i64* %ptr + ret void +} + ; rdar://11866926 define i64 @t6(i64 %key, i64* nocapture %val) nounwind {