# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py

# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=instruction-select -global-isel-abort=2 -disable-gisel-legality-check -pass-remarks-missed='gisel*' -verify-machineinstrs %s -o - 2>%t | FileCheck -check-prefix=GFX8 %s
# RUN: FileCheck --check-prefix=ERR %s < %t

# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=instruction-select -global-isel-abort=2  -disable-gisel-legality-check -pass-remarks-missed='gisel*' -verify-machineinstrs %s -o - 2>%t | FileCheck -check-prefix=GFX9 %s
# RUN: FileCheck --check-prefix=ERR %s < %t

# RUN: llc -march=amdgcn -mcpu=gfx1010 -run-pass=instruction-select -global-isel-abort=2  -disable-gisel-legality-check -pass-remarks-missed='gisel*' -verify-machineinstrs %s -o - 2>%t | FileCheck -check-prefix=GFX10 %s
# RUN: FileCheck --check-prefix=ERR %s < %t

# ERR-NOT: remark
# ERR: remark: <unknown>:0:0: cannot select: %4:sgpr(s16) = G_ASHR %2:sgpr, %3:sgpr(s16) (in function: ashr_s16_s16_ss)
# ERR-NEXT: remark: <unknown>:0:0: cannot select: %3:vgpr(s16) = G_ASHR %2:vgpr, %1:vgpr(s32) (in function: ashr_s16_s32_vv)
# ERR-NEXT: remark: <unknown>:0:0: cannot select: %5:vgpr(s64) = G_ZEXT %4:vgpr(s16) (in function: ashr_s16_vv_zext_to_s64)
# ERR-NEXT: remark: <unknown>:0:0: cannot select: %3:sgpr(s16) = G_ASHR %2:sgpr, %1:sgpr(s32) (in function: ashr_s16_s32_ss)
# ERR-NEXT: remark: <unknown>:0:0: cannot select: %3:vgpr(s16) = G_ASHR %2:sgpr, %1:vgpr(s32) (in function: ashr_s16_s32_sv)
# ERR-NEXT: remark: <unknown>:0:0: cannot select: %3:vgpr(s16) = G_ASHR %2:vgpr, %1:sgpr(s32) (in function: ashr_s16_s32_vs)
# ERR-NOT: remark

---
name: ashr_s16_s16_ss
legalized: true
regBankSelected: true

body: |
  bb.0:
    liveins: $sgpr0, $sgpr1

    ; GFX8-LABEL: name: ashr_s16_s16_ss
    ; GFX8: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX8: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; GFX8: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX8: [[TRUNC1:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY1]](s32)
    ; GFX8: [[ASHR:%[0-9]+]]:sgpr(s16) = G_ASHR [[TRUNC]], [[TRUNC1]](s16)
    ; GFX8: S_ENDPGM 0, implicit [[ASHR]](s16)
    ; GFX9-LABEL: name: ashr_s16_s16_ss
    ; GFX9: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; GFX9: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX9: [[TRUNC1:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY1]](s32)
    ; GFX9: [[ASHR:%[0-9]+]]:sgpr(s16) = G_ASHR [[TRUNC]], [[TRUNC1]](s16)
    ; GFX9: S_ENDPGM 0, implicit [[ASHR]](s16)
    ; GFX10-LABEL: name: ashr_s16_s16_ss
    ; GFX10: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX10: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; GFX10: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX10: [[TRUNC1:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY1]](s32)
    ; GFX10: [[ASHR:%[0-9]+]]:sgpr(s16) = G_ASHR [[TRUNC]], [[TRUNC1]](s16)
    ; GFX10: S_ENDPGM 0, implicit [[ASHR]](s16)
    %0:sgpr(s32) = COPY $sgpr0
    %1:sgpr(s32) = COPY $sgpr1
    %2:sgpr(s16) = G_TRUNC %0
    %3:sgpr(s16) = G_TRUNC %1
    %4:sgpr(s16) = G_ASHR %2, %3
    S_ENDPGM 0, implicit %4
...

---
name: ashr_s16_s16_vs
legalized: true
regBankSelected: true

body: |
  bb.0:
    liveins: $sgpr0, $vgpr0
    ; GFX8-LABEL: name: ashr_s16_s16_vs
    ; GFX8: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; GFX8: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; GFX8: [[V_ASHRREV_I16_e64_:%[0-9]+]]:vgpr_32 = V_ASHRREV_I16_e64 [[COPY1]], [[COPY]], implicit $exec
    ; GFX8: S_ENDPGM 0, implicit [[V_ASHRREV_I16_e64_]]
    ; GFX9-LABEL: name: ashr_s16_s16_vs
    ; GFX9: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; GFX9: [[V_ASHRREV_I16_e64_:%[0-9]+]]:vgpr_32 = V_ASHRREV_I16_e64 [[COPY1]], [[COPY]], implicit $exec
    ; GFX9: S_ENDPGM 0, implicit [[V_ASHRREV_I16_e64_]]
    ; GFX10-LABEL: name: ashr_s16_s16_vs
    ; GFX10: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; GFX10: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; GFX10: [[V_ASHRREV_I16_e64_:%[0-9]+]]:vgpr_32 = V_ASHRREV_I16_e64 [[COPY1]], [[COPY]], implicit $exec
    ; GFX10: S_ENDPGM 0, implicit [[V_ASHRREV_I16_e64_]]
    %0:vgpr(s32) = COPY $vgpr0
    %1:sgpr(s32) = COPY $sgpr0
    %2:vgpr(s16) = G_TRUNC %0
    %3:sgpr(s16) = G_TRUNC %1
    %4:vgpr(s16) = G_ASHR %2, %3
    S_ENDPGM 0, implicit %4
...

---
name: ashr_s16_s32_vv
legalized: true
regBankSelected: true

body: |
  bb.0:
    liveins: $vgpr0, $vgpr1

    ; GFX8-LABEL: name: ashr_s16_s32_vv
    ; GFX8: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX8: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
    ; GFX8: [[TRUNC:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX8: [[ASHR:%[0-9]+]]:vgpr(s16) = G_ASHR [[TRUNC]], [[COPY1]](s32)
    ; GFX8: S_ENDPGM 0, implicit [[ASHR]](s16)
    ; GFX9-LABEL: name: ashr_s16_s32_vv
    ; GFX9: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
    ; GFX9: [[TRUNC:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX9: [[ASHR:%[0-9]+]]:vgpr(s16) = G_ASHR [[TRUNC]], [[COPY1]](s32)
    ; GFX9: S_ENDPGM 0, implicit [[ASHR]](s16)
    ; GFX10-LABEL: name: ashr_s16_s32_vv
    ; GFX10: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX10: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
    ; GFX10: [[TRUNC:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX10: [[ASHR:%[0-9]+]]:vgpr(s16) = G_ASHR [[TRUNC]], [[COPY1]](s32)
    ; GFX10: S_ENDPGM 0, implicit [[ASHR]](s16)
    %0:vgpr(s32) = COPY $vgpr0
    %1:vgpr(s32) = COPY $vgpr1
    %2:vgpr(s16) = G_TRUNC %0
    %3:vgpr(s16) = G_ASHR %2, %1
    S_ENDPGM 0, implicit %3
...

---
name: ashr_s16_s16_vv
legalized: true
regBankSelected: true

body: |
  bb.0:
    liveins: $vgpr0, $vgpr1

    ; GFX8-LABEL: name: ashr_s16_s16_vv
    ; GFX8: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; GFX8: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1
    ; GFX8: [[V_ASHRREV_I16_e64_:%[0-9]+]]:vgpr_32 = V_ASHRREV_I16_e64 [[COPY1]], [[COPY]], implicit $exec
    ; GFX8: S_ENDPGM 0, implicit [[V_ASHRREV_I16_e64_]]
    ; GFX9-LABEL: name: ashr_s16_s16_vv
    ; GFX9: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1
    ; GFX9: [[V_ASHRREV_I16_e64_:%[0-9]+]]:vgpr_32 = V_ASHRREV_I16_e64 [[COPY1]], [[COPY]], implicit $exec
    ; GFX9: S_ENDPGM 0, implicit [[V_ASHRREV_I16_e64_]]
    ; GFX10-LABEL: name: ashr_s16_s16_vv
    ; GFX10: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; GFX10: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1
    ; GFX10: [[V_ASHRREV_I16_e64_:%[0-9]+]]:vgpr_32 = V_ASHRREV_I16_e64 [[COPY1]], [[COPY]], implicit $exec
    ; GFX10: S_ENDPGM 0, implicit [[V_ASHRREV_I16_e64_]]
    %0:vgpr(s32) = COPY $vgpr0
    %1:vgpr(s32) = COPY $vgpr1
    %2:vgpr(s16) = G_TRUNC %0
    %3:vgpr(s16) = G_TRUNC %1
    %4:vgpr(s16) = G_ASHR %2, %3
    S_ENDPGM 0, implicit %4
...

---
name: ashr_s16_s16_vv_zext_to_s32
legalized: true
regBankSelected: true

body: |
  bb.0:
    liveins: $vgpr0, $vgpr1

    ; GFX8-LABEL: name: ashr_s16_s16_vv_zext_to_s32
    ; GFX8: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; GFX8: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1
    ; GFX8: [[V_ASHRREV_I16_e64_:%[0-9]+]]:vgpr_32 = V_ASHRREV_I16_e64 [[COPY1]], [[COPY]], implicit $exec
    ; GFX8: S_ENDPGM 0, implicit [[V_ASHRREV_I16_e64_]]
    ; GFX9-LABEL: name: ashr_s16_s16_vv_zext_to_s32
    ; GFX9: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1
    ; GFX9: [[V_ASHRREV_I16_e64_:%[0-9]+]]:vgpr_32 = V_ASHRREV_I16_e64 [[COPY1]], [[COPY]], implicit $exec
    ; GFX9: S_ENDPGM 0, implicit [[V_ASHRREV_I16_e64_]]
    ; GFX10-LABEL: name: ashr_s16_s16_vv_zext_to_s32
    ; GFX10: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; GFX10: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1
    ; GFX10: [[V_ASHRREV_I16_e64_:%[0-9]+]]:vgpr_32 = V_ASHRREV_I16_e64 [[COPY1]], [[COPY]], implicit $exec
    ; GFX10: [[V_BFE_U32_e64_:%[0-9]+]]:vgpr_32 = V_BFE_U32_e64 [[V_ASHRREV_I16_e64_]], 0, 16, implicit $exec
    ; GFX10: S_ENDPGM 0, implicit [[V_BFE_U32_e64_]]
    %0:vgpr(s32) = COPY $vgpr0
    %1:vgpr(s32) = COPY $vgpr1
    %2:vgpr(s16) = G_TRUNC %0
    %3:vgpr(s16) = G_TRUNC %1
    %4:vgpr(s16) = G_ASHR %2, %3
    %5:vgpr(s32) = G_ZEXT %4
    S_ENDPGM 0, implicit %5
...

---
name: ashr_s16_vv_zext_to_s64
legalized: true
regBankSelected: true

body: |
  bb.0:
    liveins: $vgpr0, $vgpr1

    ; GFX8-LABEL: name: ashr_s16_vv_zext_to_s64
    ; GFX8: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX8: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
    ; GFX8: [[TRUNC:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX8: [[TRUNC1:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY1]](s32)
    ; GFX8: [[ASHR:%[0-9]+]]:vgpr(s16) = G_ASHR [[TRUNC]], [[TRUNC1]](s16)
    ; GFX8: [[ZEXT:%[0-9]+]]:vgpr(s64) = G_ZEXT [[ASHR]](s16)
    ; GFX8: S_ENDPGM 0, implicit [[ZEXT]](s64)
    ; GFX9-LABEL: name: ashr_s16_vv_zext_to_s64
    ; GFX9: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
    ; GFX9: [[TRUNC:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX9: [[TRUNC1:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY1]](s32)
    ; GFX9: [[ASHR:%[0-9]+]]:vgpr(s16) = G_ASHR [[TRUNC]], [[TRUNC1]](s16)
    ; GFX9: [[ZEXT:%[0-9]+]]:vgpr(s64) = G_ZEXT [[ASHR]](s16)
    ; GFX9: S_ENDPGM 0, implicit [[ZEXT]](s64)
    ; GFX10-LABEL: name: ashr_s16_vv_zext_to_s64
    ; GFX10: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX10: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
    ; GFX10: [[TRUNC:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX10: [[TRUNC1:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY1]](s32)
    ; GFX10: [[ASHR:%[0-9]+]]:vgpr(s16) = G_ASHR [[TRUNC]], [[TRUNC1]](s16)
    ; GFX10: [[ZEXT:%[0-9]+]]:vgpr(s64) = G_ZEXT [[ASHR]](s16)
    ; GFX10: S_ENDPGM 0, implicit [[ZEXT]](s64)
    %0:vgpr(s32) = COPY $vgpr0
    %1:vgpr(s32) = COPY $vgpr1
    %2:vgpr(s16) = G_TRUNC %0
    %3:vgpr(s16) = G_TRUNC %1
    %4:vgpr(s16) = G_ASHR %2, %3
    %5:vgpr(s64) = G_ZEXT %4
    S_ENDPGM 0, implicit %5
...

---
name: ashr_s16_s32_ss
legalized: true
regBankSelected: true

body: |
  bb.0:
    liveins: $sgpr0, $sgpr1

    ; GFX8-LABEL: name: ashr_s16_s32_ss
    ; GFX8: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX8: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; GFX8: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX8: [[ASHR:%[0-9]+]]:sgpr(s16) = G_ASHR [[TRUNC]], [[COPY1]](s32)
    ; GFX8: S_ENDPGM 0, implicit [[ASHR]](s16)
    ; GFX9-LABEL: name: ashr_s16_s32_ss
    ; GFX9: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; GFX9: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX9: [[ASHR:%[0-9]+]]:sgpr(s16) = G_ASHR [[TRUNC]], [[COPY1]](s32)
    ; GFX9: S_ENDPGM 0, implicit [[ASHR]](s16)
    ; GFX10-LABEL: name: ashr_s16_s32_ss
    ; GFX10: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX10: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; GFX10: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX10: [[ASHR:%[0-9]+]]:sgpr(s16) = G_ASHR [[TRUNC]], [[COPY1]](s32)
    ; GFX10: S_ENDPGM 0, implicit [[ASHR]](s16)
    %0:sgpr(s32) = COPY $sgpr0
    %1:sgpr(s32) = COPY $sgpr1
    %2:sgpr(s16) = G_TRUNC %0
    %3:sgpr(s16) = G_ASHR %2, %1
    S_ENDPGM 0, implicit %3
...

---
name: ashr_s16_s32_sv
legalized: true
regBankSelected: true

body: |
  bb.0:
    liveins: $sgpr0, $vgpr0
    ; GFX8-LABEL: name: ashr_s16_s32_sv
    ; GFX8: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX8: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX8: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX8: [[ASHR:%[0-9]+]]:vgpr(s16) = G_ASHR [[TRUNC]], [[COPY1]](s32)
    ; GFX8: S_ENDPGM 0, implicit [[ASHR]](s16)
    ; GFX9-LABEL: name: ashr_s16_s32_sv
    ; GFX9: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX9: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX9: [[ASHR:%[0-9]+]]:vgpr(s16) = G_ASHR [[TRUNC]], [[COPY1]](s32)
    ; GFX9: S_ENDPGM 0, implicit [[ASHR]](s16)
    ; GFX10-LABEL: name: ashr_s16_s32_sv
    ; GFX10: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX10: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX10: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX10: [[ASHR:%[0-9]+]]:vgpr(s16) = G_ASHR [[TRUNC]], [[COPY1]](s32)
    ; GFX10: S_ENDPGM 0, implicit [[ASHR]](s16)
    %0:sgpr(s32) = COPY $sgpr0
    %1:vgpr(s32) = COPY $vgpr0
    %2:sgpr(s16) = G_TRUNC %0
    %3:vgpr(s16) = G_ASHR %2, %1
    S_ENDPGM 0, implicit %3
...

---
name: ashr_s16_s16_sv
legalized: true
regBankSelected: true

body: |
  bb.0:
    liveins: $sgpr0, $vgpr0
    ; GFX8-LABEL: name: ashr_s16_s16_sv
    ; GFX8: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; GFX8: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; GFX8: [[V_ASHRREV_I16_e64_:%[0-9]+]]:vgpr_32 = V_ASHRREV_I16_e64 [[COPY1]], [[COPY]], implicit $exec
    ; GFX8: S_ENDPGM 0, implicit [[V_ASHRREV_I16_e64_]]
    ; GFX9-LABEL: name: ashr_s16_s16_sv
    ; GFX9: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; GFX9: [[V_ASHRREV_I16_e64_:%[0-9]+]]:vgpr_32 = V_ASHRREV_I16_e64 [[COPY1]], [[COPY]], implicit $exec
    ; GFX9: S_ENDPGM 0, implicit [[V_ASHRREV_I16_e64_]]
    ; GFX10-LABEL: name: ashr_s16_s16_sv
    ; GFX10: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; GFX10: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; GFX10: [[V_ASHRREV_I16_e64_:%[0-9]+]]:vgpr_32 = V_ASHRREV_I16_e64 [[COPY1]], [[COPY]], implicit $exec
    ; GFX10: S_ENDPGM 0, implicit [[V_ASHRREV_I16_e64_]]
    %0:sgpr(s32) = COPY $sgpr0
    %1:vgpr(s32) = COPY $vgpr0
    %2:sgpr(s16) = G_TRUNC %0
    %3:vgpr(s16) = G_TRUNC %1
    %4:vgpr(s16) = G_ASHR %2, %3
    S_ENDPGM 0, implicit %4
...

---
name: ashr_s16_s32_vs
legalized: true
regBankSelected: true

body: |
  bb.0:
    liveins: $sgpr0, $vgpr0
    ; GFX8-LABEL: name: ashr_s16_s32_vs
    ; GFX8: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX8: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX8: [[TRUNC:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX8: [[ASHR:%[0-9]+]]:vgpr(s16) = G_ASHR [[TRUNC]], [[COPY1]](s32)
    ; GFX8: S_ENDPGM 0, implicit [[ASHR]](s16)
    ; GFX9-LABEL: name: ashr_s16_s32_vs
    ; GFX9: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX9: [[TRUNC:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX9: [[ASHR:%[0-9]+]]:vgpr(s16) = G_ASHR [[TRUNC]], [[COPY1]](s32)
    ; GFX9: S_ENDPGM 0, implicit [[ASHR]](s16)
    ; GFX10-LABEL: name: ashr_s16_s32_vs
    ; GFX10: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX10: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX10: [[TRUNC:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GFX10: [[ASHR:%[0-9]+]]:vgpr(s16) = G_ASHR [[TRUNC]], [[COPY1]](s32)
    ; GFX10: S_ENDPGM 0, implicit [[ASHR]](s16)
    %0:vgpr(s32) = COPY $vgpr0
    %1:sgpr(s32) = COPY $sgpr0
    %2:vgpr(s16) = G_TRUNC %0
    %3:vgpr(s16) = G_ASHR %2, %1
    S_ENDPGM 0, implicit %3
...
