# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -march=amdgcn -mcpu=tahiti -run-pass=regbankselect -regbankselect-fast -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX6 %s
# RUN: llc -march=amdgcn -mcpu=tahiti -run-pass=regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX6 %s

# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=regbankselect -regbankselect-fast -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX9 %s
# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX9 %s

---
name: smulh_s32_ss
legalized: true

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

    ; GFX6-LABEL: name: smulh_s32_ss
    ; GFX6: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX6: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; GFX6: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)
    ; GFX6: [[SMULH:%[0-9]+]]:vgpr(s32) = G_SMULH [[COPY]], [[COPY2]]
    ; GFX9-LABEL: name: smulh_s32_ss
    ; GFX9: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; GFX9: [[SMULH:%[0-9]+]]:sgpr(s32) = G_SMULH [[COPY]], [[COPY1]]
    %0:_(s32) = COPY $sgpr0
    %1:_(s32) = COPY $sgpr1
    %2:_(s32) = G_SMULH %0, %1
...

---
name: smulh_s32_sv
legalized: true

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

    ; GFX6-LABEL: name: smulh_s32_sv
    ; GFX6: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX6: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX6: [[SMULH:%[0-9]+]]:vgpr(s32) = G_SMULH [[COPY]], [[COPY1]]
    ; GFX9-LABEL: name: smulh_s32_sv
    ; GFX9: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX9: [[SMULH:%[0-9]+]]:vgpr(s32) = G_SMULH [[COPY]], [[COPY1]]
    %0:_(s32) = COPY $sgpr0
    %1:_(s32) = COPY $vgpr0
    %2:_(s32) = G_SMULH %0, %1
...

---
name: smulh_s32_vs
legalized: true

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

    ; GFX6-LABEL: name: smulh_s32_vs
    ; GFX6: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX6: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX6: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)
    ; GFX6: [[SMULH:%[0-9]+]]:vgpr(s32) = G_SMULH [[COPY]], [[COPY2]]
    ; GFX9-LABEL: name: smulh_s32_vs
    ; GFX9: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX9: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)
    ; GFX9: [[SMULH:%[0-9]+]]:vgpr(s32) = G_SMULH [[COPY]], [[COPY2]]
    %0:_(s32) = COPY $vgpr0
    %1:_(s32) = COPY $sgpr0
    %2:_(s32) = G_SMULH %0, %1
...

---
name: smulh_s32_vv
legalized: true

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

    ; GFX6-LABEL: name: smulh_s32_vv
    ; GFX6: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX6: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
    ; GFX6: [[SMULH:%[0-9]+]]:vgpr(s32) = G_SMULH [[COPY]], [[COPY1]]
    ; GFX9-LABEL: name: smulh_s32_vv
    ; GFX9: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
    ; GFX9: [[SMULH:%[0-9]+]]:vgpr(s32) = G_SMULH [[COPY]], [[COPY1]]
    %0:_(s32) = COPY $vgpr0
    %1:_(s32) = COPY $vgpr1
    %2:_(s32) = G_SMULH %0, %1
...
