1 ; RUN: llc -relocation-model=pic -mtriple=mipsel -mcpu=mips64r6 \
2 ; RUN: -disable-mips-delay-filler -target-abi=n64 < %s | FileCheck %s
4 ; Function Attrs: nounwind
9 %call = tail call i64 @k()
11 %call1 = tail call i64 @j()
12 %cmp = icmp eq i64 %call, %call1
14 br i1 %cmp, label %if.then, label %if.end
16 if.then: ; preds = %entry:
18 tail call void @f(i64 signext -2)
21 if.end: ; preds = %if.then, %entry
30 declare void @f(i64 signext)
32 ; Function Attrs: define void @l2() {
37 %call = tail call i64 @k()
39 %call1 = tail call i64 @i()
40 %cmp = icmp eq i64 %call, %call1
42 br i1 %cmp, label %if.end, label %if.then
44 if.then: ; preds = %entry:
46 tail call void @f(i64 signext -1)
49 if.end: ; preds = %entry, %if.then
56 ; Function Attrs: nounwind
61 %call = tail call i64 @k()
62 %cmp = icmp slt i64 %call, 0
64 br i1 %cmp, label %if.then, label %if.end
66 if.then: ; preds = %entry:
68 tail call void @f(i64 signext 0)
71 if.end: ; preds = %if.then, %entry
76 ; Function Attrs: nounwind
81 %call = tail call i64 @k()
82 %cmp = icmp slt i64 %call, 1
84 br i1 %cmp, label %if.then, label %if.end
86 if.then: ; preds = %entry:
87 tail call void @f(i64 signext 1)
90 if.end: ; preds = %if.then, %entry
95 ; Function Attrs: nounwind
100 %call = tail call i64 @k()
101 %cmp = icmp sgt i64 %call, 0
103 br i1 %cmp, label %if.then, label %if.end
105 if.then: ; preds = %entry:
107 tail call void @f(i64 signext 2)
110 if.end: ; preds = %if.then, %entry
115 ; Function Attrs: nounwind
120 %call = tail call i64 @k()
121 %cmp = icmp sgt i64 %call, -1
123 br i1 %cmp, label %if.then, label %if.end
125 if.then: ; preds = %entry:
127 tail call void @f(i64 signext 3)
130 if.end: ; preds = %if.then, %entry
135 ; Function Attrs: nounwind
140 %call = tail call i64 @k()
141 %cmp = icmp eq i64 %call, 0
143 br i1 %cmp, label %if.then, label %if.end
145 if.then: ; preds = %entry:
147 tail call void @f(i64 signext 4)
150 if.end: ; preds = %if.then, %entry
155 ; Function Attrs: nounwind
160 %call = tail call i64 @k()
161 %cmp = icmp eq i64 %call, 0
163 br i1 %cmp, label %if.end, label %if.then
165 if.then: ; preds = %entry:
167 tail call void @f(i64 signext 5)
170 if.end: ; preds = %entry, %if.then
175 define i64 @l9(ptr %i) {
178 %i.addr = alloca ptr, align 4
179 store ptr %i, ptr %i.addr, align 4
181 %call = call i64 @k()
182 %cmp = icmp ne i64 %call, 0
184 br i1 %cmp, label %if.then, label %if.end
186 if.then: ; preds = %entry
187 %0 = load ptr, ptr %i.addr, align 4
189 %call1 = call ptr %0()
192 if.end: ; preds = %if.then, %entry