# 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 (s8) 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 (s32) 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

...
