# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
# RUN: llc -mtriple=amdgcn-amd-amdhsa -run-pass=si-shrink-instructions -mcpu=gfx1100 -o - %s | FileCheck %s

# Make sure there's no crash when shrinking a v_cmp on a wave32 target
# when the def is dead. Previously the vcc implicit def wasn't
# properly replaced with vcc_lo, so the expected implicit operand was
# not found in the shrunk instruction.

---
name:            shrink_v_cmp_vcc_lo_dead
tracksRegLiveness: true
tracksDebugUserValues: true
frameInfo:
  maxAlignment:    1
  maxCallFrameSize: 0
  isCalleeSavedInfoValid: true
machineFunctionInfo:
  maxKernArgAlign: 1
  stackPtrOffsetReg: '$sgpr32'
body:             |
  bb.0:
    liveins: $vgpr0, $vgpr1
    ; CHECK-LABEL: name: shrink_v_cmp_vcc_lo_dead
    ; CHECK: liveins: $vgpr0, $vgpr1
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: V_CMP_LT_U32_e32 $vgpr0, $vgpr1, implicit-def dead $vcc_lo, implicit $exec
    ; CHECK-NEXT: S_SETPC_B64_return undef $sgpr30_sgpr31
    dead renamable $vcc_lo = V_CMP_LT_U32_e64 $vgpr0, $vgpr1, implicit $exec
    S_SETPC_B64_return undef $sgpr30_sgpr31

...

---
name:            shrink_v_cmp_vcc_lo_live
tracksRegLiveness: true
tracksDebugUserValues: true
frameInfo:
  maxAlignment:    1
  maxCallFrameSize: 0
  isCalleeSavedInfoValid: true
machineFunctionInfo:
  maxKernArgAlign: 1
  stackPtrOffsetReg: '$sgpr32'
body:             |
  bb.0:
    liveins: $vgpr0, $vgpr1
    ; CHECK-LABEL: name: shrink_v_cmp_vcc_lo_live
    ; CHECK: liveins: $vgpr0, $vgpr1
    ; CHECK-NEXT: {{  $}}
    ; CHECK-NEXT: V_CMP_LT_U32_e32 $vgpr0, $vgpr1, implicit-def $vcc_lo, implicit $exec
    ; CHECK-NEXT: S_SETPC_B64_return undef $sgpr30_sgpr31, implicit $vcc_lo
    renamable $vcc_lo = V_CMP_LT_U32_e64 $vgpr0, $vgpr1, implicit $exec
    S_SETPC_B64_return undef $sgpr30_sgpr31, implicit $vcc_lo

...
