forked from OSchip/llvm-project
61 lines
2.2 KiB
YAML
61 lines
2.2 KiB
YAML
# RUN: llc -mtriple powerpc64le-unknown-linux-gnu -run-pass=ppc-early-ret -o \
|
|
# RUN: - %s -verify-machineinstrs | FileCheck %s
|
|
|
|
---
|
|
name: testEarlyRet
|
|
body: |
|
|
bb.0.entry:
|
|
successors: %bb.4(0x40000000), %bb.1(0x40000000)
|
|
|
|
BC undef renamable $cr5lt, %bb.4
|
|
|
|
bb.1:
|
|
successors: %bb.2(0x80000000)
|
|
|
|
renamable $r3 = IMPLICIT_DEF
|
|
renamable $r4 = IMPLICIT_DEF
|
|
|
|
bb.2:
|
|
successors: %bb.3(0x80000000)
|
|
liveins: $r3, $r4
|
|
|
|
$r5 = OR $r4, $r4
|
|
renamable $r4 = ADDIC killed $r4, 1, implicit-def $carry
|
|
$r6 = OR $r3, $r3
|
|
renamable $r3 = ADDZE killed $r3, implicit-def dead $carry, implicit killed $carry
|
|
renamable $cr0 = CMPLW renamable $r3, killed renamable $r6
|
|
renamable $cr5lt = CRANDC renamable $cr0lt, renamable $cr0eq
|
|
renamable $cr1 = CMPLW renamable $r4, killed renamable $r5
|
|
BCLR killed renamable $cr5lt, implicit $lr, implicit $rm
|
|
|
|
bb.3:
|
|
successors: %bb.4(0x02082082), %bb.2(0x7df7df7e)
|
|
liveins: $cr0, $cr1, $r3, $r4
|
|
|
|
renamable $cr5lt = CRAND killed renamable $cr0eq, killed renamable $cr1lt, implicit $cr1, implicit $cr0
|
|
BCn killed renamable $cr5lt, %bb.2
|
|
|
|
bb.4:
|
|
BLR implicit $lr, implicit $rm
|
|
|
|
; CHECK-LABEL: testEarlyRet
|
|
; CHECK: bb.0.entry:
|
|
; CHECK: BCLR undef renamable $cr5lt, implicit $lr, implicit $rm, implicit $lr, implicit $rm
|
|
; CHECK: bb.1:
|
|
; CHECK: renamable $r3 = IMPLICIT_DEF
|
|
; CHECK: renamable $r4 = IMPLICIT_DEF
|
|
; CHECK: bb.2:
|
|
; CHECK: $r5 = OR $r4, $r4
|
|
; CHECK: renamable $r4 = ADDIC killed $r4, 1, implicit-def $carry
|
|
; CHECK: $r6 = OR $r3, $r3
|
|
; CHECK: renamable $r3 = ADDZE killed $r3, implicit-def dead $carry, implicit killed $carry
|
|
; CHECK: renamable $cr0 = CMPLW renamable $r3, killed renamable $r6
|
|
; CHECK: renamable $cr5lt = CRANDC renamable $cr0lt, renamable $cr0eq
|
|
; CHECK: renamable $cr1 = CMPLW renamable $r4, killed renamable $r5
|
|
; CHECK: BCLR killed renamable $cr5lt, implicit $lr, implicit $rm
|
|
; CHECK: bb.3:
|
|
; CHECK: renamable $cr5lt = CRAND killed renamable $cr0eq, killed renamable $cr1lt, implicit $cr1, implicit $cr0
|
|
; CHECK: BCn killed renamable $cr5lt, %bb.2
|
|
; CHECK: BLR implicit $lr, implicit $rm
|
|
...
|