1# RUN: llc -mtriple=powerpc64le-unknown-unknown -start-after=ppc-mi-peepholes \ 2# RUN: -stop-before=ppc-expand-isel -verify-machineinstrs %s -o - | FileCheck %s 3--- | 4 ; ModuleID = 'a.ll' 5 source_filename = "a.c" 6 target datalayout = "e-m:e-i64:64-n32:64" 7 target triple = "powerpc64le-unknown-linux-gnu" 8 9 ; Function Attrs: norecurse nounwind readnone 10 define signext i32 @test(i32 signext %a, i32 signext %b, i32 signext %c) local_unnamed_addr #0 { 11 entry: 12 %cmp = icmp sgt i32 %a, %b 13 %add = add nsw i32 %c, %b 14 %cond = select i1 %cmp, i32 %a, i32 %add 15 ret i32 %cond 16 } 17 18 19 !llvm.module.flags = !{!0, !1} 20 !llvm.ident = !{!2} 21 22 !0 = !{i32 1, !"wchar_size", i32 4} 23 !1 = !{i32 7, !"PIC Level", i32 2} 24 !2 = !{!"clang version 8.0.0 (trunk 347251)"} 25 26... 27--- 28name: test 29alignment: 16 30exposesReturnsTwice: false 31legalized: false 32regBankSelected: false 33selected: false 34failedISel: false 35tracksRegLiveness: true 36hasWinCFI: false 37registers: [] 38liveins: 39 - { reg: '$x3', virtual-reg: '' } 40 - { reg: '$x4', virtual-reg: '' } 41 - { reg: '$x5', virtual-reg: '' } 42frameInfo: 43 isFrameAddressTaken: false 44 isReturnAddressTaken: false 45 hasStackMap: false 46 hasPatchPoint: false 47 stackSize: 0 48 offsetAdjustment: 0 49 maxAlignment: 0 50 adjustsStack: false 51 hasCalls: false 52 stackProtector: '' 53 maxCallFrameSize: 0 54 cvBytesOfCalleeSavedRegisters: 0 55 hasOpaqueSPAdjustment: false 56 hasVAStart: false 57 hasMustTailInVarArgFunc: false 58 localFrameSize: 0 59 savePoint: '' 60 restorePoint: '' 61fixedStack: [] 62stack: [] 63constants: [] 64body: | 65 bb.0.entry: 66 liveins: $x3, $x5 67 68 renamable $r4 = LI 0 69 renamable $r5 = nsw ADD4 killed renamable $r5, renamable $r5, implicit $x5 70 renamable $cr0 = CMPW renamable $r3, killed renamable $r4, implicit $x4 71 ; CHECK: ADD4 72 ; CHECK-NOT: implicit $x4 73 renamable $r3 = ISEL killed renamable $r3, killed renamable $r5, killed renamable $cr0gt, implicit $cr0, implicit $x3 74 renamable $x3 = EXTSW_32_64 killed renamable $r3 75 BLR8 implicit $lr8, implicit $rm, implicit killed $x3 76 77... 78 79