blob: b4a3f28facd35f21c57c980963e623f4e441cfcd [file] [log] [blame]
Nemanja Ivanovic01e2e792018-05-02 23:55:23 +00001; RUN: llc < %s -mtriple=powerpc64le-unknown-unknown -mcpu=pwr8 \
2; RUN: -verify-machineinstrs | FileCheck %s
3declare void @free()
4
5define dso_local fastcc void @test2() {
6; CHECK-LABEL: test2
7entry:
8 switch i16 undef, label %sw.default [
9 i16 10, label %sw.bb52
10 i16 134, label %sw.bb54
11 ]
12
13sw.default: ; preds = %entry
14 unreachable
15
16
17sw.bb52: ; preds = %entry, %entry, %entry, %entry, %entry, %entry
18 br i1 undef, label %if.then14.i, label %sw.epilog.i642
19
20if.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
24
25if.then.i.i.i636: ; preds = %if.then14.i
26 %0 = load i8*, i8** undef, align 8
27 call void @free() #3
28 br label %dummy.exit.i
29
30dummy.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
36
37if.end50.i: ; preds = %dummy.exit.i
38 unreachable
39
40sw.epilog.i642: ; preds = %sw.bb52
41 unreachable
42
43dummy.exit: ; preds = %dummy.exit.i
44 unreachable
45
46sw.bb54: ; preds = %entry, %entry
47 call fastcc void @test3()
48 unreachable
49}
50
51declare dso_local fastcc void @test3()
52
53declare i64 @test()