brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.4 KiB · a808bec Raw
196 lines · plain
1; RUN: llc -relocation-model=pic -mtriple=mipsel -mcpu=mips64r6 \2; RUN:     -disable-mips-delay-filler -target-abi=n64 < %s | FileCheck %s3 4; Function Attrs: nounwind5define void @l() {6entry:7; CHECK-LABEL:  l:8; CHECK: jalrc $259  %call = tail call i64 @k()10; CHECK: jalrc $2511  %call1 = tail call i64 @j()12  %cmp = icmp eq i64 %call, %call113; CHECK: bnec14  br i1 %cmp, label %if.then, label %if.end15 16if.then:                                          ; preds = %entry:17; CHECK: jalrc $2518  tail call void @f(i64 signext -2)19  br label %if.end20 21if.end:                                           ; preds = %if.then, %entry22; CHECK: jrc  $ra23  ret void24}25 26declare i64 @k()27 28declare i64 @j()29 30declare void @f(i64 signext)31 32; Function Attrs: define void @l2() {33define void @l2() {34entry:35; CHECK-LABEL: l2:36; CHECK: jalrc $2537  %call = tail call i64 @k()38; CHECK: jalrc $2539  %call1 = tail call i64 @i()40  %cmp = icmp eq i64 %call, %call141; CHECK: beqc42  br i1 %cmp, label %if.end, label %if.then43 44if.then:                                          ; preds = %entry:45; CHECK: jalrc $2546  tail call void @f(i64 signext -1)47  br label %if.end48 49if.end:                                           ; preds = %entry, %if.then50; CHECK: jrc  $ra51  ret void52}53 54declare i64 @i()55 56; Function Attrs: nounwind57define void @l3() {58entry:59; CHECK-LABEL: l3:60; CHECK: jalrc $2561  %call = tail call i64 @k()62  %cmp = icmp slt i64 %call, 063; CHECK: bgez64  br i1 %cmp, label %if.then, label %if.end65 66if.then:                                          ; preds = %entry:67; CHECK: jalrc $2568  tail call void @f(i64 signext 0)69  br label %if.end70 71if.end:                                           ; preds = %if.then, %entry72; CHECK: jrc $ra73  ret void74}75 76; Function Attrs: nounwind77define void @l4() {78entry:79; CHECK-LABEL: l4:80; CHECK: jalrc $2581  %call = tail call i64 @k()82  %cmp = icmp slt i64 %call, 183; CHECK: bgtzc84  br i1 %cmp, label %if.then, label %if.end85 86if.then:                                          ; preds = %entry:87  tail call void @f(i64 signext 1)88  br label %if.end89 90if.end:                                           ; preds = %if.then, %entry91; CHECK: jrc $ra92  ret void93}94 95; Function Attrs: nounwind96define void @l5() {97entry:98; CHECK-LABEL: l5:99; CHECK: jalrc $25100  %call = tail call i64 @k()101  %cmp = icmp sgt i64 %call, 0102; CHECK: blezc103  br i1 %cmp, label %if.then, label %if.end104 105if.then:                                          ; preds = %entry:106; CHECK: jalrc $25107  tail call void @f(i64 signext 2)108  br label %if.end109 110if.end:                                           ; preds = %if.then, %entry111; CHECK: jrc  $ra112  ret void113}114 115; Function Attrs: nounwind116define void @l6() {117entry:118; CHECK-LABEL: l6:119; CHECK: jalrc $25120  %call = tail call i64 @k()121  %cmp = icmp sgt i64 %call, -1122; CHECK: bltzc123  br i1 %cmp, label %if.then, label %if.end124 125if.then:                                          ; preds = %entry:126; CHECK: jalrc $25127  tail call void @f(i64 signext 3)128  br label %if.end129 130if.end:                                           ; preds = %if.then, %entry131; CHECK: jrc $ra132  ret void133}134 135; Function Attrs: nounwind136define void @l7() {137entry:138; CHECK-LABEL: l7:139; CHECK: jalrc $25140  %call = tail call i64 @k()141  %cmp = icmp eq i64 %call, 0142; CHECK: bnezc143  br i1 %cmp, label %if.then, label %if.end144 145if.then:                                          ; preds = %entry:146; CHECK: jalrc $25147  tail call void @f(i64 signext 4)148  br label %if.end149 150if.end:                                           ; preds = %if.then, %entry151; CHECK: jrc  $ra152  ret void153}154 155; Function Attrs: nounwind156define void @l8() {157entry:158; CHECK-LABEL: l8:159; CHECK: jalrc $25160  %call = tail call i64 @k()161  %cmp = icmp eq i64 %call, 0162; CHECK: beqzc163  br i1 %cmp, label %if.end, label %if.then164 165if.then:                                          ; preds = %entry:166; CHECK: jalrc $25167  tail call void @f(i64 signext 5)168  br label %if.end169 170if.end:                                           ; preds = %entry, %if.then171; CHECK: jrc  $ra172  ret void173}174 175define i64 @l9(ptr %i) {176entry:177; CHECK-LABEL: l9:178  %i.addr = alloca ptr, align 4179  store ptr %i, ptr %i.addr, align 4180; CHECK: jalrc $25181  %call = call i64 @k()182  %cmp = icmp ne i64 %call, 0183; CHECK: beqzc184  br i1 %cmp, label %if.then, label %if.end185 186if.then:                                          ; preds = %entry187  %0 = load ptr, ptr %i.addr, align 4188; CHECK: jalrc $25189  %call1 = call ptr %0()190  br label %if.end191 192if.end:                                           ; preds = %if.then, %entry193; CHECK: jrc $ra194  ret i64 -1195}196