# RUN: llc -mtriple=amdgcn--amdpal -mcpu=gfx803 -run-pass=simple-register-coalescing -o - %s | FileCheck -check-prefix=GCN %s

# With one version of the D48102 fix, this test failed with
# Assertion failed: (Id != S.end() && T != S.end() && T->valno == Id->valno), function pruneSubRegValues, file ../lib/CodeGen/RegisterCoalescer.cpp, line 2870.

# GCN: {{^body}}

--- |
  target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
  target triple = "amdgcn--amdpal"

  ; Function Attrs: nounwind
  define amdgpu_cs void @_amdgpu_cs_main(<3 x i32> %arg) #0 {
    ret void
  }

  attributes #0 = { nounwind "target-cpu"="gfx803" }
...

---
name:            _amdgpu_cs_main
tracksRegLiveness: true
liveins:
  - { reg: '$vgpr0', virtual-reg: '%0' }
body: |
  bb.0:
    successors: %bb.1(0x40000000), %bb.21(0x40000000)
    liveins: $vgpr0, $vgpr1, $vgpr2
    %0:vgpr_32 = COPY killed $vgpr0
    S_CBRANCH_SCC1 %bb.21, implicit undef $scc

  bb.1:
    successors: %bb.2(0x40000000), %bb.17(0x40000000)
    S_CBRANCH_SCC1 %bb.17, implicit undef $scc

  bb.2:
    successors: %bb.4(0x40000000), %bb.3(0x40000000)
    %1:sreg_32_xm0 = S_MOV_B32 0
    %2:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
    undef %3.sub0:vreg_128 = COPY killed %0
    %3.sub2:vreg_128 = COPY killed %2
    undef %4.sub0:sgpr_256 = COPY %1
    %4.sub1:sgpr_256 = COPY %1
    %4.sub2:sgpr_256 = COPY %1
    %4.sub3:sgpr_256 = COPY %1
    %4.sub4:sgpr_256 = COPY %1
    %4.sub5:sgpr_256 = COPY %1
    %4.sub6:sgpr_256 = COPY %1
    %4.sub7:sgpr_256 = COPY killed %1
    %5:vgpr_32 = IMAGE_LOAD_V1_V4 killed %3, killed %4, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s128) from constant-pool, addrspace 4)
    %6:vgpr_32 = nofpexcept V_MAD_F32_e64 0, killed %5, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec
    %7:vgpr_32 = nofpexcept V_RCP_F32_e32 killed %6, implicit $mode, implicit $exec
    %8:vgpr_32 = nofpexcept V_MUL_F32_e32 0, killed %7, implicit $mode, implicit $exec
    %9:vgpr_32 = nofpexcept V_MAD_F32_e64 0, killed %8, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec
    dead %10:vgpr_32 = nofpexcept V_MAC_F32_e32 undef %11:vgpr_32, undef %12:vgpr_32, undef %10, implicit $mode, implicit $exec
    undef %13.sub0:vreg_128 = COPY %9
    %14:vgpr_32 = V_MOV_B32_e32 -1, implicit $exec
    S_CBRANCH_SCC0 %bb.4, implicit undef $scc

  bb.3:
    successors: %bb.6(0x80000000)
    %15:vreg_128 = IMPLICIT_DEF
    %16:vgpr_32 = COPY killed %14
    S_BRANCH %bb.6

  bb.4:
    successors: %bb.5(0x40000000), %bb.7(0x40000000)
    %17:vgpr_32 = nofpexcept V_MAD_F32_e64 0, killed %9, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec
    %18:vgpr_32 = nofpexcept V_MIN_F32_e32 1065353216, killed %17, implicit $mode, implicit $exec
    %19:sreg_64_xexec = nofpexcept V_CMP_NEQ_F32_e64 0, 1065353216, 0, killed %18, 0, implicit $mode, implicit $exec
    %20:vgpr_32 = V_MOV_B32_e32 2143289344, implicit $exec
    %21:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, killed %20, killed %19, implicit $exec
    %22:sreg_64 = nofpexcept V_CMP_LT_F32_e64 0, 0, 0, killed %21, 0, implicit $mode, implicit $exec
    %23:sreg_64 = COPY $exec, implicit-def $exec
    %24:sreg_64 = S_AND_B64 %23, %22, implicit-def dead $scc
    $exec = S_MOV_B64_term killed %24
    S_CBRANCH_EXECZ %bb.7, implicit $exec
    S_BRANCH %bb.5

  bb.5:
    successors: %bb.7(0x80000000)
    S_BRANCH %bb.7

  bb.6:
    successors: %bb.8(0x40000000), %bb.10(0x40000000)
    %25:vgpr_32 = COPY killed %16
    %26:vreg_128 = COPY killed %15
    %27:sreg_64 = V_CMP_NE_U32_e64 0, killed %25, implicit $exec
    %28:sreg_64 = S_AND_B64 $exec, killed %27, implicit-def dead $scc
    $vcc = COPY killed %28
    %29:vreg_128 = COPY killed %26
    S_CBRANCH_VCCNZ %bb.8, implicit killed $vcc
    S_BRANCH %bb.10

  bb.7:
    successors: %bb.6(0x80000000)
    $exec = S_OR_B64 $exec, killed %23, implicit-def $scc
    %30:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
    %15:vreg_128 = COPY %13
    %16:vgpr_32 = COPY killed %30
    S_BRANCH %bb.6

  bb.8:
    successors: %bb.9(0x40000000), %bb.11(0x40000000)
    %31:vreg_128 = COPY killed %13
    S_CBRANCH_SCC1 %bb.11, implicit undef $scc
    S_BRANCH %bb.9

  bb.9:
    successors: %bb.11(0x80000000)
    %32:sreg_32_xm0 = S_MOV_B32 0
    undef %33.sub0:sgpr_128 = COPY %32
    %33.sub1:sgpr_128 = COPY %32
    %33.sub2:sgpr_128 = COPY %32
    %33.sub3:sgpr_128 = COPY killed %32
    %34:sgpr_128 = COPY killed %33
    %35:vreg_128 = COPY killed %34
    %31:vreg_128 = COPY killed %35
    S_BRANCH %bb.11

  bb.10:
    successors: %bb.14(0x80000000)
    %36:vreg_128 = COPY killed %29
    S_BRANCH %bb.14

  bb.11:
    successors: %bb.13(0x40000000), %bb.12(0x40000000)
    %37:vreg_128 = COPY killed %31
    S_CBRANCH_SCC0 %bb.13, implicit undef $scc

  bb.12:
    successors: %bb.10(0x80000000)
    %29:vreg_128 = COPY killed %37
    S_BRANCH %bb.10

  bb.13:
    successors: %bb.10(0x80000000)
    %29:vreg_128 = COPY killed %37
    S_BRANCH %bb.10

  bb.14:
    successors: %bb.15(0x40000000), %bb.16(0x40000000)
    %38:vgpr_32 = nofpexcept V_MAD_F32_e64 0, killed %36.sub0, 0, target-flags(amdgpu-gotprel) 0, 0, 0, 0, 0, implicit $mode, implicit $exec
    %39:vgpr_32 = nofpexcept V_MAD_F32_e64 0, killed %38, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec
    %40:vgpr_32 = nofpexcept V_MAD_F32_e64 0, killed %39, 0, -1090519040, 0, 1056964608, 0, 0, implicit $mode, implicit $exec
    %41:vgpr_32 = nofpexcept V_MAD_F32_e64 0, killed %40, 0, 0, 0, -1090519040, 0, 0, implicit $mode, implicit $exec
    %42:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 killed %41, implicit $mode, implicit $exec
    %43:sreg_32_xm0_xexec = S_BUFFER_LOAD_DWORD_IMM undef %44:sgpr_128, 12, 0 :: (dereferenceable invariant load (s32))
    %45:vgpr_32 = V_MUL_LO_I32_e64 killed %42, killed %43, implicit $exec
    %46:vgpr_32 = V_LSHLREV_B32_e32 2, killed %45, implicit $exec
    %47:vgpr_32 = BUFFER_LOAD_FORMAT_X_IDXEN killed %46, undef %48:sgpr_128, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32) from constant-pool, align 1, addrspace 4)
    %49:sreg_64 = V_CMP_NE_U32_e64 0, killed %47, implicit $exec
    %50:sreg_64 = COPY $exec, implicit-def $exec
    %51:sreg_64 = S_AND_B64 %50, %49, implicit-def dead $scc
    $exec = S_MOV_B64_term killed %51
    S_CBRANCH_EXECZ %bb.16, implicit $exec
    S_BRANCH %bb.15

  bb.15:
    successors: %bb.16(0x80000000)

  bb.16:
    successors: %bb.17(0x80000000)
    $exec = S_OR_B64 $exec, killed %50, implicit-def $scc
    S_BRANCH %bb.17

  bb.17:
    successors: %bb.21(0x40000000), %bb.18(0x40000000)
    S_CBRANCH_SCC1 %bb.21, implicit undef $scc

  bb.18:
    successors: %bb.19(0x40000000), %bb.20(0x40000000)
    S_CBRANCH_SCC1 %bb.19, implicit undef $scc
    S_BRANCH %bb.20

  bb.19:
    successors: %bb.20(0x80000000)

  bb.20:
    successors: %bb.21(0x80000000)

  bb.21:
    S_ENDPGM 0
...
