1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc < %s -mtriple=powerpc64le-unknown-linux-gnu -verify-machineinstrs\ 3; RUN: -mcpu=pwr9 --ppc-enable-pipeliner 2>&1 | FileCheck %s 4 5define void @phi5() unnamed_addr { 6; CHECK-LABEL: phi5: 7; CHECK: # %bb.0: 8; CHECK-NEXT: # %bb.1: 9; CHECK-NEXT: li 3, 0 10; CHECK-NEXT: li 4, 1 11; CHECK-NEXT: slw 3, 4, 3 12; CHECK-NEXT: andi. 3, 3, 6336 13; CHECK-NEXT: beqlr 0 14; CHECK-NEXT: # %bb.2: 15; CHECK-NEXT: lhz 3, 0(3) 16; CHECK-NEXT: slwi 3, 3, 15 17; CHECK-NEXT: clrlwi 3, 3, 31 18; CHECK-NEXT: rlwinm 4, 3, 31, 17, 31 19; CHECK-NEXT: or 3, 3, 4 20; CHECK-NEXT: rlwimi 3, 3, 15, 0, 16 21; CHECK-NEXT: # %bb.3: 22; CHECK-NEXT: blr 23 switch i12 undef, label %21 [ 24 i12 6, label %1 25 i12 7, label %1 26 i12 12, label %1 27 i12 11, label %1 28 ] 29 301: ; preds = %0, %0, %0, %0 31 %2 = load i16, i16* undef, align 2 32 br label %3 33 343: ; preds = %3, %1 35 %4 = phi i16 [ %18, %3 ], [ undef, %1 ] 36 %5 = phi i16 [ %13, %3 ], [ undef, %1 ] 37 %6 = phi i16 [ %11, %3 ], [ undef, %1 ] 38 %7 = phi i16 [ undef, %3 ], [ %2, %1 ] 39 %8 = phi i32 [ %19, %3 ], [ undef, %1 ] 40 %9 = lshr i16 %6, 1 41 %10 = shl i16 %7, 15 42 %11 = or i16 %10, %9 43 %12 = shl i16 %6, 15 44 %13 = or i16 %12, 0 45 %14 = and i16 %4, 1 46 %15 = lshr i16 %4, 1 47 %16 = shl i16 %5, 15 48 %17 = or i16 %14, %15 49 %18 = or i16 %17, %16 50 %19 = add i32 %8, -1 51 %20 = icmp eq i32 %19, 0 52 br i1 %20, label %21, label %3 53 5421: ; preds = %3, %0 55 ret void 56} 57