brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.7 KiB · e8ec97e Raw
209 lines · plain
1; RUN: llc -mtriple=mipsel -mcpu=mips32r6 -relocation-model=static \2; RUN:     -disable-mips-delay-filler < %s | FileCheck %s -check-prefix=STATIC323; RUN: llc -mtriple=mipsel -mcpu=mips64r6 -relocation-model=pic -target-abi n64 \4; RUN:     -disable-mips-delay-filler < %s | FileCheck %s -check-prefix=PIC5 6; Function Attrs: nounwind7define void @l()  {8entry:9; PIC: jalrc $2510  %call = tail call i32 @k()11; PIC: jalrc $2512  %call1 = tail call i32 @j()13  %cmp = icmp eq i32 %call, %call114; CHECK: bnec15  br i1 %cmp, label %if.then, label %if.end16 17if.then:                                          ; preds = %entry:18; STATIC: nop19; STATIC: jal20; PIC: jalrc $2521  tail call void @f(i32 signext -2)22  br label %if.end23 24if.end:                                           ; preds = %if.then, %entry25; CHECK: jrc  $ra26  ret void27}28 29declare i32 @k()30 31declare i32 @j()32 33declare void @f(i32 signext) 34 35; Function Attrs: define void @l2()  {36define void @l2()  {37entry:38; PIC: jalrc $2539  %call = tail call i32 @k()40; PIC: jalrc $2541  %call1 = tail call i32 @i()42  %cmp = icmp eq i32 %call, %call143; CHECK: beqc44  br i1 %cmp, label %if.end, label %if.then45 46if.then:                                          ; preds = %entry:47; STATIC: nop48; STATIC: jal49; PIC: jalrc $2550  tail call void @f(i32 signext -1)51  br label %if.end52 53if.end:                                           ; preds = %entry, %if.then54; CHECK: jrc  $ra55  ret void56}57 58declare i32 @i()59 60; Function Attrs: nounwind61define void @l3()  {62entry:63; PIC: jalrc $2564  %call = tail call i32 @k()65  %cmp = icmp slt i32 %call, 066; CHECK: bgez67  br i1 %cmp, label %if.then, label %if.end68 69if.then:                                          ; preds = %entry:70; STATIC: nop71; STATIC: jal72; PIC: jalrc $2573  tail call void @f(i32 signext 0)74  br label %if.end75 76if.end:                                           ; preds = %if.then, %entry77; CHECK: jrc $ra78  ret void79}80 81; Function Attrs: nounwind82define void @l4()  {83entry:84  %call = tail call i32 @k()85  %cmp = icmp slt i32 %call, 186; CHECK: bgtzc87  br i1 %cmp, label %if.then, label %if.end88 89if.then:                                          ; preds = %entry:90; STATIC: nop91; STATIC: jal92  tail call void @f(i32 signext 1)93  br label %if.end94 95if.end:                                           ; preds = %if.then, %entry96; CHECK: jrc $ra97  ret void98}99 100; Function Attrs: nounwind101define void @l5()  {102entry:103; PIC: jalrc $25104  %call = tail call i32 @k()105; PIC: jalrc $25106  %cmp = icmp sgt i32 %call, 0107; CHECK: blezc108  br i1 %cmp, label %if.then, label %if.end109 110if.then:                                          ; preds = %entry:111; STATIC: nop112; STATIC: jal113; PIC: jalrc $25114  tail call void @f(i32 signext 2) 115  br label %if.end116 117if.end:                                           ; preds = %if.then, %entry118; CHECK: jrc  $ra119  ret void120}121 122; Function Attrs: nounwind123define void @l6()  {124entry:125; PIC: jalrc $25126  %call = tail call i32 @k()127; PIC: jalrc $25128  %cmp = icmp sgt i32 %call, -1129; CHECK: bltzc130  br i1 %cmp, label %if.then, label %if.end131 132if.then:                                          ; preds = %entry:133; STATIC: nop134; STATIC: jal135; PIC: jalrc $25136  tail call void @f(i32 signext 3)137  br label %if.end138 139if.end:                                           ; preds = %if.then, %entry140; CHECK: jrc $ra141  ret void142}143 144; Function Attrs: nounwind145define void @l7()  {146entry:147; PIC: jalrc $25148  %call = tail call i32 @k()149  %cmp = icmp eq i32 %call, 0150; CHECK: bnezc151  br i1 %cmp, label %if.then, label %if.end152 153if.then:                                          ; preds = %entry:154; STATIC: nop155; STATIC: jal156; PIC: jalrc $25157  tail call void @f(i32 signext 4)158  br label %if.end159 160if.end:                                           ; preds = %if.then, %entry161; CHECK: jrc  $ra162  ret void163}164 165; Function Attrs: nounwind166define void @l8()  {167entry:168; PIC: jalrc $25169  %call = tail call i32 @k()170  %cmp = icmp eq i32 %call, 0171; CHECK: beqzc172  br i1 %cmp, label %if.end, label %if.then173 174if.then:                                          ; preds = %entry:175; STATIC: nop176; STATIC: jal177; PIC: jalrc $25178  tail call void @f(i32 signext 5)179  br label %if.end180 181if.end:                                           ; preds = %entry, %if.then182; CHECK: jrc  $ra183  ret void184}185 186define i32 @l9(ptr %i) #0 {187entry:188  %i.addr = alloca ptr, align 4189  store ptr %i, ptr %i.addr, align 4190; STATIC32: jal191; STATIC32: nop192; PIC: jalrc $25193  %call = call i32 @k()194; PIC: jalrc $25195  %cmp = icmp ne i32 %call, 0196; CHECK: beqzc197  br i1 %cmp, label %if.then, label %if.end198 199if.then:                                          ; preds = %entry200  %0 = load ptr, ptr %i.addr, align 4201; CHECK: jalrc $25202  %call1 = call ptr %0()203  br label %if.end204 205if.end:                                           ; preds = %if.then, %entry206; CHECK: jrc $ra207  ret i32 -1208}209