# RUN: llc -mtriple=powerpc64le-unknown-unknown -start-before ppc-pre-emit-peephole \
# RUN:   -verify-machineinstrs -ppc-asm-full-reg-names %s -o - | FileCheck %s
--- |
  ; ModuleID = 't.ll'
  source_filename = "t.ll"
  target datalayout = "e-m:e-i64:64-n32:64"
  
  define signext i32 @test(i32 signext %a, i32 signext %b, i32 signext %c) {
  entry:
    %cmp = icmp slt i32 %a, %b
    br i1 %cmp, label %return, label %if.end
  
  if.end:                                           ; preds = %entry
    %cmp1 = icmp slt i32 %b, %a
    br i1 %cmp1, label %return, label %if.end3
  
  if.end3:                                          ; preds = %if.end
    %cmp4 = icmp eq i32 %a, %c
    br i1 %cmp4, label %if.then5, label %if.end6
  
  if.then5:                                         ; preds = %if.end3
    %add = shl nsw i32 %a, 1
    br label %return
  
  if.end6:                                          ; preds = %if.end3
    %cmp7 = icmp sgt i32 %c, %b
    %add11 = add i32 %c, %b
    %add12 = select i1 %cmp7, i32 %a, i32 0
    %spec.select = add i32 %add11, %add12
    ret i32 %spec.select
  
  return:                                           ; preds = %if.then5, %if.end, %entry
    %retval.0 = phi i32 [ %add, %if.then5 ], [ %c, %entry ], [ %b, %if.end ]
    ret i32 %retval.0
  }

...
---
name:            test
alignment:       4
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
failedISel:      false
tracksRegLiveness: true
registers:       
liveins:         
  - { reg: '$x3', virtual-reg: '' }
  - { reg: '$x4', virtual-reg: '' }
  - { reg: '$x5', virtual-reg: '' }
frameInfo:       
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       0
  offsetAdjustment: 0
  maxAlignment:    0
  adjustsStack:    false
  hasCalls:        false
  stackProtector:  ''
  maxCallFrameSize: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  localFrameSize:  0
  savePoint:       ''
  restorePoint:    ''
fixedStack:      
stack:           
constants:       
body:             |
  bb.0.entry:
    successors: %bb.4(0x40000000), %bb.1(0x40000000)
    liveins: $x3, $x4, $x5
  
    renamable $cr0 = CMPW renamable $r3, renamable $r4
    BCC 12, renamable $cr0, %bb.4
  
  bb.1.if.end:
    successors: %bb.6(0x40000000), %bb.2(0x40000000)
    liveins: $cr0, $x3, $x4, $x5
  
    BCC 36, killed renamable $cr0, %bb.2
  
  bb.6:
    liveins: $x4
  
    ; CHECK: mr r5, r4
    ; CHECK-NOT: mr r5, r5
    ; CHECK: extsw r3, r5
    $r5 = OR killed $r4, $r4, implicit $x4, implicit-def $x5
    $r5 = OR $r5, $r5, implicit-def $x5
    renamable $x3 = EXTSW_32_64 killed renamable $r5, implicit $x5
    BLR8 implicit $lr8, implicit $rm, implicit killed $x3
  
  bb.2.if.end3:
    successors: %bb.3(0x40000000), %bb.5(0x40000000)
    liveins: $x3, $x4, $x5
  
    renamable $cr0 = CMPLW renamable $r3, renamable $r5
    BCC 68, killed renamable $cr0, %bb.5
  
  bb.3.if.then5:
    successors: %bb.4(0x80000000)
    liveins: $x3
  
    renamable $r5 = RLWINM killed renamable $r3, 1, 0, 30, implicit $x3, implicit-def $x5
  
  bb.4.return:
    liveins: $x5
  
    renamable $x3 = EXTSW_32_64 killed renamable $r5, implicit $x5
    BLR8 implicit $lr8, implicit $rm, implicit killed $x3
  
  bb.5.if.end6:
    liveins: $x3, $x4, $x5
  
    renamable $cr0 = CMPW renamable $r5, renamable $r4
    renamable $r6 = LI 0
    renamable $r4 = ADD4 killed renamable $r5, killed renamable $r4, implicit $x4, implicit $x5
    renamable $r3 = ISEL killed renamable $r3, killed renamable $r6, killed renamable $cr0gt, implicit $cr0, implicit $x3
    renamable $r3 = ADD4 killed renamable $r4, killed renamable $r3
    renamable $x3 = EXTSW_32_64 killed renamable $r3
    BLR8 implicit $lr8, implicit $rm, implicit killed $x3

...
