1; RUN: llc -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr8 -verify-machineinstrs < %s | FileCheck %s 2 3define i32 @relax_bcc(i1 %b) { 4; CHECK-LABEL: relax_bcc: 5; CHECK: # %bb.0: 6; CHECK-NEXT: andi. 3, 3, 1 7; CHECK-NEXT: #APP 8; CHECK-NEXT: label: 9; CHECK-NEXT: add 3, 3, 5 10; CHECK-NEXT: cmpd 4, 3 11; CHECK-NEXT: bne 0, label 12; CHECK-NEXT: #NO_APP 13; CHECK-NEXT: bc 12, 1, .+8 14; CHECK-NEXT: b .LBB0_4 15; CHECK-NEXT: # %bb.1: 16; CHECK-NEXT: li 3, 101 17; CHECK-NEXT: mtctr 3 18; CHECK-NEXT: .p2align 4 19; CHECK-NEXT: .LBB0_2: 20; CHECK-NEXT: # =>This Inner Loop Header: Depth=1 21; CHECK-NEXT: bdnz .LBB0_2 22; CHECK-NEXT: # %bb.3: 23; CHECK-NEXT: #APP 24; CHECK-NEXT: .space 32748 25; CHECK-NEXT: #NO_APP 26; CHECK-NEXT: .LBB0_4: # %tail 27; CHECK-NEXT: li 3, 1 28; CHECK-NEXT: blr 29entry: 30 call void asm sideeffect "label:\0A\09add 3,3,5\0A\09cmpd 4,3\0A\09bne label", ""() 31 br i1 %b, label %for.body, label %tail 32 33for.body: ; preds = %for.body, %entry 34 %0 = phi i32 [0, %entry], [%1, %for.body] 35 %1 = add i32 %0, 1 36 %2 = icmp sgt i32 %1, 100 37 br i1 %2, label %exit, label %for.body 38 39exit: 40 call void asm sideeffect ".space 32748", ""() 41 br label %tail 42 43tail: 44 ret i32 1 45} 46