80 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv64 -verify-machineinstrs < %s \3; RUN: | FileCheck %s4 5define void @foo(i16 %finder_idx) {6; CHECK-LABEL: foo:7; CHECK: # %bb.0: # %entry8; CHECK-NEXT: # %bb.1: # %for.body9; CHECK-NEXT: slli a0, a0, 4810; CHECK-NEXT: bltz a0, .LBB0_411; CHECK-NEXT: # %bb.2: # %while.cond.preheader.i12; CHECK-NEXT: li a0, 013; CHECK-NEXT: # %bb.3: # %while.body14; CHECK-NEXT: .LBB0_4: # %while.cond1.preheader.i15entry:16 br label %for.body17 18for.body:19 %info = phi i16 [ 0, %if.then ], [ %finder_idx, %entry ]20 %cmp.i = icmp sgt i16 %info, -121 %tobool = icmp eq ptr poison, null22 br i1 %cmp.i, label %while.cond.preheader.i, label %while.cond1.preheader.i23 24while.cond1.preheader.i:25 unreachable26 27while.cond.preheader.i:28 br label %exit29 30exit:31 br i1 %tobool, label %exit1, label %while.body32 33while.body:34 unreachable35 36exit1:37 br label %if.then38 39if.then:40 br label %for.body41}42 43define void @bar(i16 %finder_idx) {44; CHECK-LABEL: bar:45; CHECK: # %bb.0: # %entry46; CHECK-NEXT: # %bb.1: # %for.body47; CHECK-NEXT: slli a0, a0, 4848; CHECK-NEXT: bgez a0, .LBB1_449; CHECK-NEXT: # %bb.2: # %while.cond.preheader.i50; CHECK-NEXT: li a0, 051; CHECK-NEXT: # %bb.3: # %while.body52; CHECK-NEXT: .LBB1_4: # %while.cond1.preheader.i53entry:54 br label %for.body55 56for.body:57 %info = phi i16 [ 0, %if.then ], [ %finder_idx, %entry ]58 %cmp.i = icmp sle i16 %info, -159 %tobool = icmp eq ptr poison, null60 br i1 %cmp.i, label %while.cond.preheader.i, label %while.cond1.preheader.i61 62while.cond1.preheader.i:63 unreachable64 65while.cond.preheader.i:66 br label %exit67 68exit:69 br i1 %tobool, label %exit1, label %while.body70 71while.body:72 unreachable73 74exit1:75 br label %if.then76 77if.then:78 br label %for.body79}80