[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / PowerPC / test-and-cmp-folding.ll
blob0e924eabbed24079ad02a262f1d0db90ac7b381b
1 ; RUN: llc < %s -mtriple=powerpc64le-unknown-unknown -mcpu=pwr8 \
2 ; RUN:   -verify-machineinstrs | FileCheck %s
3 declare void @free()
5 define dso_local fastcc void @test2() {
6 ; CHECK-LABEL: test2
7 entry:
8   switch i16 undef, label %sw.default [
9     i16 10, label %sw.bb52
10     i16 134, label %sw.bb54
11   ]
13 sw.default:                                       ; preds = %entry
14   unreachable
17 sw.bb52:                                          ; preds = %entry, %entry, %entry, %entry, %entry, %entry
18   br i1 undef, label %if.then14.i, label %sw.epilog.i642
20 if.then14.i:                                      ; preds = %sw.bb52
21   %call39.i = call i64 @test() #3
22   %and.i126.i = and i64 %call39.i, 1
23   br i1 undef, label %dummy.exit.i, label %if.then.i.i.i636
25 if.then.i.i.i636:                                 ; preds = %if.then14.i
26   %0 = load ptr, ptr undef, align 8
27   call void @free() #3
28   br label %dummy.exit.i
30 dummy.exit.i:               ; preds = %if.then.i.i.i636, %if.then14.i
31 ; CHECK: # %dummy.exit.i
32 ; CHECK-NEXT: andi.
33 ; CHECK-NEXT: bc 12
34   %cond82.i = icmp eq i64 %and.i126.i, 0
35   br i1 %cond82.i, label %if.end50.i, label %dummy.exit
37 if.end50.i:                                       ; preds = %dummy.exit.i
38   unreachable
40 sw.epilog.i642:                                   ; preds = %sw.bb52
41   unreachable
43 dummy.exit: ; preds = %dummy.exit.i
44   unreachable
46 sw.bb54:                                          ; preds = %entry, %entry
47   call fastcc void @test3()
48   unreachable
51 declare dso_local fastcc void @test3()
53 declare i64 @test()