# 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
# XUN: 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
# XUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX9 %s

---
name: umulh_s32_ss
legalized: true

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

    ; GFX6-LABEL: name: umulh_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: [[UMULH:%[0-9]+]]:vgpr(s32) = G_UMULH [[COPY]], [[COPY2]]
    ; GFX9-LABEL: name: umulh_s32_ss
    ; GFX9: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GFX9: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; GFX9: [[UMULH:%[0-9]+]]:sgpr(s32) = G_UMULH [[COPY]], [[COPY1]]
    %0:_(s32) = COPY $sgpr0
    %1:_(s32) = COPY $sgpr1
    %2:_(s32) = G_UMULH %0, %1
...

---
name: umulh_s32_sv
legalized: true

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

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

---
name: umulh_s32_vs
legalized: true

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

    ; GFX6-LABEL: name: umulh_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: [[UMULH:%[0-9]+]]:vgpr(s32) = G_UMULH [[COPY]], [[COPY2]]
    ; GFX9-LABEL: name: umulh_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: [[UMULH:%[0-9]+]]:vgpr(s32) = G_UMULH [[COPY]], [[COPY2]]
    %0:_(s32) = COPY $vgpr0
    %1:_(s32) = COPY $sgpr0
    %2:_(s32) = G_UMULH %0, %1
...

---
name: umulh_s32_vv
legalized: true

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

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