64 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr9 -verify-machineinstrs | FileCheck %s --check-prefixes=CHECK,V01,CHECK-V03; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr9 -verify-machineinstrs | FileCheck %s --check-prefixes=CHECK,V01,CHECK-V14; RUN: llc < %s -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr8 -verify-machineinstrs | FileCheck %s --check-prefixes=CHECK,V23,CHECK-V25; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr8 -verify-machineinstrs | FileCheck %s --check-prefixes=CHECK,V23,CHECK-V36 7; Function Attrs: norecurse nounwind readonly8define signext i32 @limit_loop(i32 signext %iters, ptr nocapture readonly %vec, i32 signext %limit) local_unnamed_addr {9; CHECK-LABEL: limit_loop:10; CHECK: # %bb.0: # %entry11; CHECK-NEXT: mr 6, 312; CHECK-NEXT: li 3, 013; CHECK-NEXT: cmpwi 6, 014; CHECK-NEXT: blelr 015; CHECK-NEXT: # %bb.1: # %for.body.preheader16; CHECK-NEXT: mtctr 617; CHECK-NEXT: addi 4, 4, -418; CHECK-NEXT: b .LBB0_319; CHECK-NEXT: .p2align 420; CHECK-NEXT: .LBB0_2: # %for.cond21; CHECK-NEXT: #22; CHECK-NEXT: bdzlr23; CHECK-NEXT: .LBB0_3: # %for.body24; CHECK-NEXT: #25; CHECK-NEXT: lwzu 6, 4(4)26; CHECK-NEXT: cmpw 6, 527; CHECK-NEXT: blt 0, .LBB0_228; CHECK-NEXT: # %bb.4:29; CHECK-NEXT: li 3, 130; CHECK-NEXT: blr31entry:32 %cmp5 = icmp sgt i32 %iters, 033 br i1 %cmp5, label %for.body.preheader, label %cleanup34 35for.body.preheader: ; preds = %entry36 %0 = sext i32 %iters to i6437 br label %for.body38 39for.cond: ; preds = %for.body40 %cmp = icmp slt i64 %indvars.iv.next, %041 br i1 %cmp, label %for.body, label %cleanup42 43for.body: ; preds = %for.body.preheader, %for.cond44 %indvars.iv = phi i64 [ 0, %for.body.preheader ], [ %indvars.iv.next, %for.cond ]45 %arrayidx = getelementptr inbounds i32, ptr %vec, i64 %indvars.iv46 %1 = load i32, ptr %arrayidx, align 447 %cmp1 = icmp slt i32 %1, %limit48 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 149 br i1 %cmp1, label %for.cond, label %cleanup50 51cleanup: ; preds = %for.body, %for.cond, %entry52 %2 = phi i32 [ 0, %entry ], [ 0, %for.cond ], [ 1, %for.body ]53 ret i32 %254}55 56 57;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:58; CHECK-V0: {{.*}}59; CHECK-V1: {{.*}}60; CHECK-V2: {{.*}}61; CHECK-V3: {{.*}}62; V01: {{.*}}63; V23: {{.*}}64