| ; RUN: llc -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr8 -verify-machineinstrs < %s | FileCheck %s |
| |
| define i32 @relax_bcc(i1 %b) { |
| ; CHECK-LABEL: relax_bcc: |
| ; CHECK: # %bb.0: |
| ; CHECK-NEXT: andi. 3, 3, 1 |
| ; CHECK-NEXT: #APP |
| ; CHECK-NEXT: label: |
| ; CHECK-NEXT: add 3, 3, 5 |
| ; CHECK-NEXT: cmpd 4, 3 |
| ; CHECK-NEXT: bne 0, label |
| ; CHECK-NEXT: #NO_APP |
| ; CHECK-NEXT: bc 12, 1, .+8 |
| ; CHECK-NEXT: b .LBB0_4 |
| ; CHECK-NEXT: # %bb.1: |
| ; CHECK-NEXT: li 3, 101 |
| ; CHECK-NEXT: mtctr 3 |
| ; CHECK-NEXT: .p2align 4 |
| ; CHECK-NEXT: .LBB0_2: |
| ; CHECK-NEXT: # =>This Inner Loop Header: Depth=1 |
| ; CHECK-NEXT: bdnz .LBB0_2 |
| ; CHECK-NEXT: # %bb.3: |
| ; CHECK-NEXT: #APP |
| ; CHECK-NEXT: .space 32748 |
| ; CHECK-NEXT: #NO_APP |
| ; CHECK-NEXT: .LBB0_4: # %tail |
| ; CHECK-NEXT: li 3, 1 |
| ; CHECK-NEXT: blr |
| entry: |
| call void asm sideeffect "label:\0A\09add 3,3,5\0A\09cmpd 4,3\0A\09bne label", ""() |
| br i1 %b, label %for.body, label %tail |
| |
| for.body: ; preds = %for.body, %entry |
| %0 = phi i32 [0, %entry], [%1, %for.body] |
| %1 = add i32 %0, 1 |
| %2 = icmp sgt i32 %1, 100 |
| br i1 %2, label %exit, label %for.body |
| |
| exit: |
| call void asm sideeffect ".space 32748", ""() |
| br label %tail |
| |
| tail: |
| ret i32 1 |
| } |