# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z13 -start-before=greedy %s -o - \
# RUN:   -debug-only=regalloc 2>&1 | FileCheck %s
#
# REQUIRES: asserts
#
# Test that regalloc hints are passed for compare with zero cases that can be
# converted to load-and-test.

--- |
  ; ModuleID = './tc.ll'
  source_filename = "proof.c"
  target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-v128:64-a:8:16-n32:64"
  target triple = "s390x-ibm-linux"
  
  @rootlosers = external dso_local local_unnamed_addr global [300 x i32], align 4
  
  define dso_local void @proofnumberscan() local_unnamed_addr #0 {
  bb:
    br i1 undef, label %bb20.preheader, label %bb1.preheader
  
  bb1.preheader:                                    ; preds = %bb
    br label %bb1
  
  bb20.preheader:                                   ; preds = %bb
    br label %bb20
  
  bb1:                                              ; preds = %bb1.preheader, %bb15
    %lsr.iv3 = phi [512 x i32]* [ undef, %bb1.preheader ], [ %2, %bb15 ]
    %lsr.iv1 = phi [300 x i32]* [ @rootlosers, %bb1.preheader ], [ %1, %bb15 ]
    %lsr.iv = phi i32 [ 0, %bb1.preheader ], [ %lsr.iv.next, %bb15 ]
    %tmp2 = phi i32 [ %tmp18, %bb15 ], [ 0, %bb1.preheader ]
    %tmp3 = phi i32 [ %tmp17, %bb15 ], [ 100000000, %bb1.preheader ]
    %lsr.iv35 = bitcast [512 x i32]* %lsr.iv3 to i32*
    %tmp5 = load i32, i32* %lsr.iv35, align 4, !tbaa !1
    %tmp6 = load i32, i32* undef, align 4, !tbaa !1
    %tmp7 = icmp eq i32 %tmp6, 0
    br i1 %tmp7, label %bb15, label %bb8
  
  bb8:                                              ; preds = %bb1
    %0 = bitcast [300 x i32]* %lsr.iv1 to i32*
    %tmp10 = load i32, i32* %0, align 4, !tbaa !1
    %tmp11 = icmp eq i32 %tmp10, 0
    %tmp12 = select i1 %tmp11, i32 %tmp5, i32 %tmp3
    %tmp14 = select i1 %tmp11, i32 %lsr.iv, i32 %tmp2
    br label %bb15
  
  bb15:                                             ; preds = %bb8, %bb1
    %tmp16 = phi i32 [ 0, %bb1 ], [ %tmp6, %bb8 ]
    %tmp17 = phi i32 [ %tmp3, %bb1 ], [ %tmp12, %bb8 ]
    %tmp18 = phi i32 [ %tmp2, %bb1 ], [ %tmp14, %bb8 ]
    %lsr.iv.next = add i32 %lsr.iv, 4
    %scevgep = getelementptr [300 x i32], [300 x i32]* %lsr.iv1, i64 0, i64 4
    %1 = bitcast i32* %scevgep to [300 x i32]*
    %scevgep4 = getelementptr [512 x i32], [512 x i32]* %lsr.iv3, i64 0, i64 4
    %2 = bitcast i32* %scevgep4 to [512 x i32]*
    br label %bb1
  
  bb20:                                             ; preds = %bb20, %bb20.preheader
    br label %bb20
  }
  
  attributes #0 = { "target-cpu"="z13" "use-soft-float"="false" }
  
  !llvm.ident = !{!0}
  
  !0 = !{!"clang version 9.0.0 (http://llvm.org/git/clang.git 29e2813a2ab7d5569860bb07892dfef7b5374d96) (http://llvm.org/git/llvm.git 546f779cb9d4ac2ce9c9b9522019f500abca9522)"}
  !1 = !{!2, !2, i64 0}
  !2 = !{!"int", !3, i64 0}
  !3 = !{!"omnipotent char", !4, i64 0}
  !4 = !{!"Simple C/C++ TBAA"}

...

# CHECK: ********** MACHINEINSTRS **********
# CHECK: LMux
# CHECK: [[VREG0:%[0-9]+]]:grx32bit = LMux
# CHECK: CHIMux [[VREG0]]:grx32bit, 0, implicit-def $cc
# CHECK: [[VREG1:%[0-9]+]]:grx32bit = LMux
# CHECK: CHIMux [[VREG1]]:grx32bit, 0, implicit-def $cc
# CHECK: selectOrSplit GRX32Bit:[[VREG0]]
# CHECK-NEXT: hints: $r0l $r1l $r2l $r3l $r4l $r5l $r14l $r13l $r12l $r11l $r10l $r9l $r8l $r7l $r6l
# CHECK-NEXT: assigning [[VREG0]] to $[[PREG0:r[0-9]+]]l
# CHECK: selectOrSplit GRX32Bit:[[VREG1]]
# CHECK-NEXT: hints: $r0l $r1l $r2l $r3l $r4l $r5l $r14l $r13l $r12l $r11l $r10l $r9l $r8l $r7l $r6l
# CHECK-NEXT: assigning [[VREG1]] to $[[PREG1:r[0-9]+]]l
# CHECK: lt %[[PREG0]]
# CHECK: lt %[[PREG1]]

---
name:            proofnumberscan
alignment:       16
tracksRegLiveness: true
registers:       
  - { id: 0, class: addr64bit }
  - { id: 1, class: addr64bit }
  - { id: 2, class: grx32bit }
  - { id: 3, class: grx32bit }
  - { id: 4, class: grx32bit }
  - { id: 5, class: grx32bit }
  - { id: 6, class: grx32bit }
  - { id: 7, class: grx32bit }
  - { id: 8, class: grx32bit }
  - { id: 9, class: grx32bit }
  - { id: 10, class: grx32bit }
  - { id: 11, class: grx32bit }
  - { id: 12, class: gr64bit }
  - { id: 13, class: gr64bit }
  - { id: 14, class: grx32bit }
  - { id: 15, class: gr64bit }
  - { id: 16, class: gr64bit }
  - { id: 17, class: grx32bit }
  - { id: 18, class: grx32bit }
  - { id: 19, class: addr64bit }
  - { id: 20, class: grx32bit }
  - { id: 21, class: addr64bit }
  - { id: 22, class: addr64bit }
  - { id: 23, class: grx32bit }
  - { id: 24, class: grx32bit }
  - { id: 25, class: grx32bit }
  - { id: 26, class: grx32bit }
  - { id: 27, class: grx32bit }
body:             |
  bb.0.bb:
    successors: %bb.1, %bb.2
  
    %23:grx32bit = LHIMux 0
    CHIMux %23, 0, implicit-def $cc
    BRC 14, 8, %bb.2, implicit killed $cc
  
  bb.1:
    J %bb.6
  
  bb.2.bb1.preheader:
    %25:grx32bit = IIFMux 100000000
    %22:addr64bit = LARL @rootlosers
    %21:addr64bit = IMPLICIT_DEF
    %24:grx32bit = LHIMux 0
    J %bb.3
  
  bb.3.bb1:
    successors: %bb.7(0x30000000), %bb.4(0x50000000)
  
    %5:grx32bit = LMux %21, 0, $noreg :: (load 4 from %ir.lsr.iv35, !tbaa !1)
    %6:grx32bit = LMux undef %19:addr64bit, 0, $noreg :: (load 4 from `i32* undef`, !tbaa !1)
    CHIMux %6, 0, implicit-def $cc
    BRC 14, 6, %bb.4, implicit killed $cc
  
  bb.7:
    J %bb.5
  
  bb.4.bb8:
    %20:grx32bit = LMux %22, 0, $noreg :: (load 4 from %ir.0, !tbaa !1)
    CHIMux %20, 0, implicit-def $cc
    %25:grx32bit = LOCRMux %25, %5, 14, 8, implicit $cc
    %24:grx32bit = LOCRMux %24, %23, 14, 8, implicit killed $cc
  
  bb.5.bb15:
    %23:grx32bit = AHIMux %23, 4, implicit-def dead $cc
    %22:addr64bit = LA %22, 16, $noreg
    %21:addr64bit = LA %21, 16, $noreg
    J %bb.3
  
  bb.6.bb20:
    J %bb.6

...
