1; RUN: llc -march=mipsel -mcpu=mips32r6 -relocation-model=static < %s | FileCheck %s 2 3; Function Attrs: nounwind 4define void @l() { 5entry: 6 %call = tail call i32 @k() 7 %call1 = tail call i32 @j() 8 %cmp = icmp eq i32 %call, %call1 9; CHECK: bnec 10 br i1 %cmp, label %if.then, label %if.end 11 12if.then: ; preds = %entry: 13; CHECK: nop 14; CHECK: jal 15 tail call void @f(i32 signext -2) 16 br label %if.end 17 18if.end: ; preds = %if.then, %entry 19 ret void 20} 21 22declare i32 @k() 23 24declare i32 @j() 25 26declare void @f(i32 signext) 27 28; Function Attrs: define void @l2() { 29define void @l2() { 30entry: 31 %call = tail call i32 @k() 32 %call1 = tail call i32 @i() 33 %cmp = icmp eq i32 %call, %call1 34; CHECK beqc 35 br i1 %cmp, label %if.end, label %if.then 36 37if.then: ; preds = %entry: 38; CHECK: nop 39; CHECK: jal 40 tail call void @f(i32 signext -1) 41 br label %if.end 42 43if.end: ; preds = %entry, %if.then 44 ret void 45} 46 47declare i32 @i() 48 49; Function Attrs: nounwind 50define void @l3() { 51entry: 52 %call = tail call i32 @k() 53 %cmp = icmp slt i32 %call, 0 54; CHECK : bgez 55 br i1 %cmp, label %if.then, label %if.end 56 57if.then: ; preds = %entry: 58; CHECK: nop 59; CHECK: jal 60 tail call void @f(i32 signext 0) 61 br label %if.end 62 63if.end: ; preds = %if.then, %entry 64 ret void 65} 66 67; Function Attrs: nounwind 68define void @l4() { 69entry: 70 %call = tail call i32 @k() 71 %cmp = icmp slt i32 %call, 1 72; CHECK: bgtzc 73 br i1 %cmp, label %if.then, label %if.end 74 75if.then: ; preds = %entry: 76; CHECK: nop 77; CHECK: jal 78 tail call void @f(i32 signext 1) 79 br label %if.end 80 81if.end: ; preds = %if.then, %entry 82 ret void 83} 84 85; Function Attrs: nounwind 86define void @l5() { 87entry: 88 %call = tail call i32 @k() 89 %cmp = icmp sgt i32 %call, 0 90; CHECK: blezc 91 br i1 %cmp, label %if.then, label %if.end 92 93if.then: ; preds = %entry: 94; CHECK: nop 95; CHECK: jal 96 tail call void @f(i32 signext 2) 97 br label %if.end 98 99if.end: ; preds = %if.then, %entry 100 ret void 101} 102 103; Function Attrs: nounwind 104define void @l6() { 105entry: 106 %call = tail call i32 @k() 107 %cmp = icmp sgt i32 %call, -1 108; CHECK: bltzc 109 br i1 %cmp, label %if.then, label %if.end 110 111if.then: ; preds = %entry: 112; CHECK: nop 113; CHECK: jal 114 tail call void @f(i32 signext 3) 115 br label %if.end 116 117if.end: ; preds = %if.then, %entry 118 ret void 119} 120 121; Function Attrs: nounwind 122define void @l7() { 123entry: 124 %call = tail call i32 @k() 125 %cmp = icmp eq i32 %call, 0 126; CHECK: bnezc 127 br i1 %cmp, label %if.then, label %if.end 128 129if.then: ; preds = %entry: 130; CHECK: nop 131; CHECK: jal 132 tail call void @f(i32 signext 4) 133 br label %if.end 134 135if.end: ; preds = %if.then, %entry 136 ret void 137} 138 139; Function Attrs: nounwind 140define void @l8() { 141entry: 142 %call = tail call i32 @k() 143 %cmp = icmp eq i32 %call, 0 144; CHECK: beqzc 145 br i1 %cmp, label %if.end, label %if.then 146 147if.then: ; preds = %entry: 148; CHECK: nop 149; CHECK: jal 150 tail call void @f(i32 signext 5) 151 br label %if.end 152 153if.end: ; preds = %entry, %if.then 154 ret void 155} 156