# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z10 -run-pass=finalize-isel -o - %s \
# RUN:   | FileCheck %s
#
# Test that an instruction (ZEXT128) that uses custom insertion gets treated
# correctly also when it lies between two Select instructions that could
# potentially be handled together.
#
# CHECK-LABEL: bb.0.entry:
# CHECK-NOT: ZEXT128

--- |
  declare void @bar(i32)
  define i32 @fun() { entry: ret i32 0 }
---
name:            fun
tracksRegLiveness: true
body:             |
  bb.0.entry:
    %1:addr64bit = IMPLICIT_DEF
    %0:gr32bit = LLC %1, 0, $noreg :: (load 1 from `i8* undef`)
    CHI killed %0, 0, implicit-def $cc
    %2:gr32bit = LHI 2
    %3:gr32bit = LHI 8
    %4:gr32bit = Select32 killed %3, killed %2, 14, 8, implicit $cc
    %5:gr32bit = LHI 128
    %7:gr64bit = IMPLICIT_DEF
    %6:gr64bit = INSERT_SUBREG %7, killed %5, %subreg.subreg_l32
    %8:gr128bit = ZEXT128 killed %6
    %10:addr64bit = IMPLICIT_DEF
    %9:gr128bit = DL %8, %10, 0, $noreg :: (load 4 from `i64* undef` + 4)
    %11:gr32bit = COPY %9.subreg_l32
    %12:gr64bit = LGHI 2
    %13:gr64bit = LGHI 8
    %14:gr64bit = Select64 killed %13, killed %12, 14, 8, implicit $cc
    CR %4, %11, implicit-def $cc
    %15:gr32bit = Select32 %11, %4, 14, 4, implicit $cc
    ADJCALLSTACKDOWN 0, 0
    $r2d = COPY %14
    CallBRASL @bar, $r2d, csr_systemz_elf, implicit-def dead $r14d, implicit-def dead $cc, implicit $fpc
    ADJCALLSTACKUP 0, 0
    $r2l = COPY %15
    Return implicit $r2l

...
