86 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%0 = type { double, double, double, i32, i32 }6declare ptr @malloc() local_unnamed_addr7 8define void @phi3(ptr) nounwind {9; CHECK-LABEL: phi3:10; CHECK: # %bb.0:11; CHECK-NEXT: mflr 012; CHECK-NEXT: std 29, -24(1) # 8-byte Folded Spill13; CHECK-NEXT: std 30, -16(1) # 8-byte Folded Spill14; CHECK-NEXT: stdu 1, -64(1)15; CHECK-NEXT: std 0, 80(1)16; CHECK-NEXT: mr 30, 317; CHECK-NEXT: bl malloc18; CHECK-NEXT: nop19; CHECK-NEXT: mr 29, 320; CHECK-NEXT: bl malloc21; CHECK-NEXT: nop22; CHECK-NEXT: addi 7, 30, -423; CHECK-NEXT: mtctr 324; CHECK-NEXT: addi 4, 29, -825; CHECK-NEXT: li 5, 026; CHECK-NEXT: lwzu 8, 4(7)27; CHECK-NEXT: bdz .LBB0_528; CHECK-NEXT: # %bb.1:29; CHECK-NEXT: extswsli 6, 5, 530; CHECK-NEXT: add 5, 8, 531; CHECK-NEXT: lwzu 8, 4(7)32; CHECK-NEXT: bdz .LBB0_433; CHECK-NEXT: # %bb.2:34; CHECK-NEXT: add 6, 3, 635; CHECK-NEXT: stdu 6, 8(4)36; CHECK-NEXT: extswsli 6, 5, 537; CHECK-NEXT: add 5, 8, 538; CHECK-NEXT: lwzu 8, 4(7)39; CHECK-NEXT: bdz .LBB0_440; CHECK-NEXT: .p2align 541; CHECK-NEXT: .LBB0_3:42; CHECK-NEXT: add 9, 3, 643; CHECK-NEXT: extswsli 6, 5, 544; CHECK-NEXT: add 5, 8, 545; CHECK-NEXT: lwzu 8, 4(7)46; CHECK-NEXT: stdu 9, 8(4)47; CHECK-NEXT: bdnz .LBB0_348; CHECK-NEXT: .LBB0_4:49; CHECK-NEXT: add 6, 3, 650; CHECK-NEXT: stdu 6, 8(4)51; CHECK-NEXT: .LBB0_5:52; CHECK-NEXT: extswsli 5, 5, 553; CHECK-NEXT: add 3, 3, 554; CHECK-NEXT: stdu 3, 8(4)55; CHECK-NEXT: addi 1, 1, 6456; CHECK-NEXT: ld 0, 16(1)57; CHECK-NEXT: ld 30, -16(1) # 8-byte Folded Reload58; CHECK-NEXT: ld 29, -24(1) # 8-byte Folded Reload59; CHECK-NEXT: mtlr 060; CHECK-NEXT: blr61 %2 = tail call noalias ptr @malloc()62 %3 = bitcast ptr %2 to ptr63 %4 = tail call noalias ptr @malloc()64 %5 = bitcast ptr %4 to ptr65 br label %666 676: ; preds = %6, %168 %7 = phi i64 [ %16, %6 ], [ 0, %1 ]69 %8 = phi i32 [ %15, %6 ], [ 0, %1 ]70 %9 = phi i64 [ %17, %6 ], [ undef, %1 ]71 %10 = sext i32 %8 to i6472 %11 = getelementptr inbounds %0, ptr %5, i64 %1073 %12 = getelementptr inbounds ptr, ptr %3, i64 %774 store ptr %11, ptr %12, align 875 %13 = getelementptr inbounds i32, ptr %0, i64 %776 %14 = load i32, ptr %13, align 477 %15 = add nsw i32 %14, %878 %16 = add nuw nsw i64 %7, 179 %17 = add i64 %9, -180 %18 = icmp eq i64 %17, 081 br i1 %18, label %19, label %682 8319: ; preds = %684 ret void85}86