Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / Analysis / ValueTracking / known-bits-from-range-md.ll
blob2c9ffb77844e4a33844625cc3ba270de8a49abb8
1 ; RUN: opt -S -passes=instsimplify,instcombine < %s | FileCheck %s
3 define i1 @test0(ptr %ptr) {
4 ; CHECK-LABEL: @test0(
5  entry:
6   %val = load i8, ptr %ptr, !range !{i8 -50, i8 0}
7   %and = and i8 %val, 128
8   %is.eq = icmp eq i8 %and, 128
9   ret i1 %is.eq
10 ; CHECK: ret i1 true
13 define i1 @test1(ptr %ptr) {
14 ; CHECK-LABEL: @test1(
15  entry:
16   %val = load i8, ptr %ptr, !range !{i8 64, i8 128}
17   %and = and i8 %val, 64
18   %is.eq = icmp eq i8 %and, 64
19   ret i1 %is.eq
20 ; CHECK: ret i1 true
23 define i1 @test2(ptr %ptr) {
24 ; CHECK-LABEL: @test2(
25  entry:
26 ; CHECK: %val = load i8
27 ; CHECK: %and = and i8 %val
28 ; CHECK: %is.eq = icmp ne i8 %and, 0
29 ; CHECK: ret i1 %is.eq
30   %val = load i8, ptr %ptr, !range !{i8 64, i8 129}
31   %and = and i8 %val, 64
32   %is.eq = icmp eq i8 %and, 64
33   ret i1 %is.eq