# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z13 -start-before=greedy %s -o - \
# RUN:   | FileCheck %s
#
# Test that regalloc manages (via regalloc hints) to avoid a LOCRMux jump
# sequence expansion.

--- |
  
  declare i8* @foo(i8*, i32 signext, i32 signext) local_unnamed_addr
  
  define i8* @fun(i8* returned) {
    br label %2
  
  ; <label>:2:                                      ; preds = %6, %1
    %3 = zext i16 undef to i32
    switch i32 %3, label %4 [
      i32 15, label %6
      i32 125, label %5
    ]
  
  ; <label>:4:                                      ; preds = %2
    br label %6
  
  ; <label>:5:                                      ; preds = %2
    br label %6
  
  ; <label>:6:                                      ; preds = %5, %4, %2
    %7 = phi i32 [ 4, %2 ], [ undef, %4 ], [ 10, %5 ]
    %8 = call i8* @foo(i8* undef, i32 signext undef, i32 signext %7)
    br label %2
  }

...

# CHECK: locr
# CHECK-NOT: risblg

---
name:            fun
alignment:       2
tracksRegLiveness: true
registers:       
  - { id: 0, class: gr32bit }
  - { id: 1, class: gr64bit }
  - { id: 2, class: grx32bit }
  - { id: 3, class: grx32bit }
  - { id: 4, class: grx32bit }
  - { id: 5, class: grx32bit }
  - { id: 6, class: grx32bit }
  - { id: 7, class: gr64bit }
  - { id: 8, class: gr64bit }
  - { id: 9, class: gr64bit }
  - { id: 10, class: gr64bit }
  - { id: 11, class: gr32bit }
frameInfo:       
  hasCalls:        true
body:             |
  bb.0 (%ir-block.1):
    %3 = LHIMux 0
    %2 = LHIMux 4
    %5 = LHIMux 10
  
  bb.1 (%ir-block.2):
    CHIMux %3, 0, implicit-def $cc
    %0 = LOCRMux undef %0, %5, 14, 6, implicit $cc
    %0 = LOCRMux %0, %2, 14, 6, implicit killed $cc
    ADJCALLSTACKDOWN 0, 0
    %7 = LGFR %0
    $r3d = LGHI 0
    $r4d = COPY %7
    CallBRASL @foo, undef $r2d, killed $r3d, killed $r4d, csr_systemz, implicit-def dead $r14d, implicit-def dead $cc, implicit-def dead $r2d
    ADJCALLSTACKUP 0, 0
    J %bb.1

...
