112 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=powerpc64le-unknown-linux-gnu -verify-machineinstrs\3; RUN: -mcpu=pwr9 --ppc-enable-pipeliner 2>&1 | FileCheck %s4 5@.str.28 = external unnamed_addr constant [69 x i8], align 16 7define void @print_res(ptr %p) nounwind {8; CHECK-LABEL: print_res:9; CHECK: # %bb.0:10; CHECK-NEXT: lwz 4, 0(3)11; CHECK-NEXT: addi 4, 4, -112; CHECK-NEXT: clrldi 5, 4, 3213; CHECK-NEXT: cmplwi 4, 314; CHECK-NEXT: li 4, 315; CHECK-NEXT: isellt 4, 5, 416; CHECK-NEXT: li 5, 117; CHECK-NEXT: cmpldi 4, 118; CHECK-NEXT: iselgt 4, 4, 519; CHECK-NEXT: li 5, 020; CHECK-NEXT: mtctr 421; CHECK-NEXT: li 8, -122; CHECK-NEXT: lbz 6, 0(3)23; CHECK-NEXT: li 4, 124; CHECK-NEXT: bdz .LBB0_625; CHECK-NEXT: # %bb.1:26; CHECK-NEXT: xori 7, 6, 8427; CHECK-NEXT: clrldi 6, 8, 3228; CHECK-NEXT: addi 4, 4, 129; CHECK-NEXT: addi 9, 8, -130; CHECK-NEXT: lbzx 6, 3, 631; CHECK-NEXT: bdz .LBB0_532; CHECK-NEXT: # %bb.2:33; CHECK-NEXT: cntlzw 7, 734; CHECK-NEXT: addi 4, 4, 135; CHECK-NEXT: srwi 8, 7, 536; CHECK-NEXT: xori 7, 6, 8437; CHECK-NEXT: clrldi 6, 9, 3238; CHECK-NEXT: addi 9, 9, -139; CHECK-NEXT: lbzx 6, 3, 640; CHECK-NEXT: bdz .LBB0_441; CHECK-NEXT: .p2align 442; CHECK-NEXT: .LBB0_3:43; CHECK-NEXT: clrldi 11, 9, 3244; CHECK-NEXT: cntlzw 10, 745; CHECK-NEXT: xori 7, 6, 8446; CHECK-NEXT: addi 9, 9, -147; CHECK-NEXT: lbzx 6, 3, 1148; CHECK-NEXT: addi 4, 4, 149; CHECK-NEXT: add 5, 5, 850; CHECK-NEXT: srwi 8, 10, 551; CHECK-NEXT: bdnz .LBB0_352; CHECK-NEXT: .LBB0_4:53; CHECK-NEXT: add 5, 5, 854; CHECK-NEXT: .LBB0_5:55; CHECK-NEXT: cntlzw 3, 756; CHECK-NEXT: srwi 3, 3, 557; CHECK-NEXT: add 5, 5, 358; CHECK-NEXT: .LBB0_6:59; CHECK-NEXT: xori 3, 6, 8460; CHECK-NEXT: mflr 061; CHECK-NEXT: cntlzw 3, 362; CHECK-NEXT: srwi 3, 3, 563; CHECK-NEXT: add 3, 5, 364; CHECK-NEXT: stdu 1, -128(1)65; CHECK-NEXT: clrldi 6, 3, 3266; CHECK-NEXT: addis 3, 2, .LC0@toc@ha67; CHECK-NEXT: li 5, 068; CHECK-NEXT: std 0, 144(1)69; CHECK-NEXT: ld 3, .LC0@toc@l(3)70; CHECK-NEXT: std 5, 120(1)71; CHECK-NEXT: li 5, 372; CHECK-NEXT: clrldi 4, 4, 3273; CHECK-NEXT: std 4, 104(1)74; CHECK-NEXT: li 4, 375; CHECK-NEXT: li 7, 076; CHECK-NEXT: li 8, 377; CHECK-NEXT: li 10, 078; CHECK-NEXT: std 5, 96(1)79; CHECK-NEXT: li 5, 080; CHECK-NEXT: bl printf81; CHECK-NEXT: nop82 %1 = load i32, ptr undef, align 483 %2 = add i32 %1, -184 %3 = zext i32 %2 to i6485 %4 = zext i32 3 to i6486 br label %587 885: ; preds = %5, %089 %6 = phi i64 [ %16, %5 ], [ 0, %0 ]90 %7 = phi i32 [ %15, %5 ], [ 0, %0 ]91 %8 = trunc i64 %6 to i3292 %9 = sub i32 0, %893 %10 = zext i32 %9 to i6494 %11 = getelementptr inbounds i8, ptr %p, i64 %1095 %12 = load i8, ptr %11, align 196 %13 = icmp eq i8 %12, 8497 %14 = zext i1 %13 to i3298 %15 = add i32 %7, %1499 %16 = add nuw nsw i64 %6, 1100 %17 = icmp ult i64 %16, %3101 %18 = icmp ult i64 %16, %4102 %19 = and i1 %18, %17103 br i1 %19, label %5, label %20104 10520: ; preds = %5106 %21 = trunc i64 %16 to i32107 call void (ptr, ...) @printf(ptr @.str.28, i32 zeroext 3, i32 zeroext undef, i32 zeroext %15, i32 zeroext undef, i32 zeroext 3, ptr undef, i32 zeroext undef, i32 zeroext 3, i32 zeroext %21, ptr undef, i32 zeroext undef) #1108 unreachable109}110 111declare void @printf(ptr, ...) local_unnamed_addr #0112