From: Sanjay Patel Date: Mon, 2 Oct 2017 18:16:17 +0000 (+0000) Subject: [InstCombine] add icmp (lshr X, C1), C2 test; NFC X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=03048ddd782b239c0a49509a405b3620eaea6c87;p=llvm [InstCombine] add icmp (lshr X, C1), C2 test; NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314696 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Transforms/InstCombine/icmp-shr.ll b/test/Transforms/InstCombine/icmp-shr.ll index af608f3666e..eba9151a485 100644 --- a/test/Transforms/InstCombine/icmp-shr.ll +++ b/test/Transforms/InstCombine/icmp-shr.ll @@ -478,3 +478,18 @@ define i1 @PR24873(i64 %V) { ret i1 %icmp } +declare void @foo(i32) + +define i1 @exact_multiuse(i32 %x) { +; CHECK-LABEL: @exact_multiuse( +; CHECK-NEXT: [[SH:%.*]] = lshr exact i32 %x, 7 +; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32 [[SH]], 1024 +; CHECK-NEXT: call void @foo(i32 [[SH]]) +; CHECK-NEXT: ret i1 [[CMP]] +; + %sh = lshr exact i32 %x, 7 + %cmp = icmp eq i32 %sh, 1024 + call void @foo(i32 %sh) + ret i1 %cmp +} +