[TTI] getTypeBasedIntrinsicInstrCost - add basic handling for strided load/store...
[llvm-project.git] / llvm / test / Transforms / ConstraintElimination / ugt-ule.ll
blob468a23fda7f134c43b9128c441e88e10f814f039
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2 ; RUN: opt -passes=constraint-elimination -S %s | FileCheck %s
4 declare void @use(i1)
6 define void @test(ptr %m, ptr %ptr) {
7 ; CHECK-LABEL: @test(
8 ; CHECK-NEXT:  entry:
9 ; CHECK-NEXT:    [[CMP_1:%.*]] = icmp ult ptr [[M:%.*]], [[PTR:%.*]]
10 ; CHECK-NEXT:    br i1 [[CMP_1]], label [[BB_1:%.*]], label [[BB_2:%.*]]
11 ; CHECK:       bb.1:
12 ; CHECK-NEXT:    call void @use(i1 false)
13 ; CHECK-NEXT:    ret void
14 ; CHECK:       bb.2:
15 ; CHECK-NEXT:    br label [[BB_2_NEXT:%.*]]
16 ; CHECK:       bb.2.next:
17 ; CHECK-NEXT:    call void @use(i1 true)
18 ; CHECK-NEXT:    ret void
20 entry:
21   %cmp.1 = icmp ult ptr %m, %ptr
22   br i1 %cmp.1, label %bb.1, label %bb.2
24 bb.1:
25   %cmp.2 = icmp uge ptr %m, %ptr
26   call void @use(i1 %cmp.2)
27   ret void
29 bb.2:
30   br label %bb.2.next
32 bb.2.next:
33   %cmp.3 = icmp uge ptr %m, %ptr
34   call void @use(i1 %cmp.3)
35   ret void