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

---
name: umin_s32_ss
legalized: true

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

    ; FAST-LABEL: name: umin_s32_ss
    ; FAST: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; FAST: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; FAST: [[ICMP:%[0-9]+]]:scc(s1) = G_ICMP intpred(ult), [[COPY]](s32), [[COPY1]]
    ; FAST: [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ICMP]](s1), [[COPY]], [[COPY1]]
    ; GREEDY-LABEL: name: umin_s32_ss
    ; GREEDY: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GREEDY: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; GREEDY: [[ICMP:%[0-9]+]]:scc(s1) = G_ICMP intpred(ult), [[COPY]](s32), [[COPY1]]
    ; GREEDY: [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ICMP]](s1), [[COPY]], [[COPY1]]
    %0:_(s32) = COPY $sgpr0
    %1:_(s32) = COPY $sgpr1
    %2:_(s32) = G_UMIN %0, %1
...

---
name: umin_s32_sv
legalized: true

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

    ; FAST-LABEL: name: umin_s32_sv
    ; FAST: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; FAST: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; FAST: [[UMIN:%[0-9]+]]:vgpr(s32) = G_UMIN [[COPY]], [[COPY1]]
    ; GREEDY-LABEL: name: umin_s32_sv
    ; GREEDY: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GREEDY: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GREEDY: [[UMIN:%[0-9]+]]:vgpr(s32) = G_UMIN [[COPY]], [[COPY1]]
    %0:_(s32) = COPY $sgpr0
    %1:_(s32) = COPY $vgpr0
    %2:_(s32) = G_UMIN %0, %1
...

---
name: umin_s32_vs
legalized: true

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

    ; FAST-LABEL: name: umin_s32_vs
    ; FAST: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; FAST: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; FAST: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)
    ; FAST: [[UMIN:%[0-9]+]]:vgpr(s32) = G_UMIN [[COPY]], [[COPY2]]
    ; GREEDY-LABEL: name: umin_s32_vs
    ; GREEDY: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GREEDY: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GREEDY: [[UMIN:%[0-9]+]]:vgpr(s32) = G_UMIN [[COPY]], [[COPY1]]
    %0:_(s32) = COPY $vgpr0
    %1:_(s32) = COPY $sgpr0
    %2:_(s32) = G_UMIN %0, %1
...

---
name: umin_s32_vv
legalized: true

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

    ; FAST-LABEL: name: umin_s32_vv
    ; FAST: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; FAST: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
    ; FAST: [[UMIN:%[0-9]+]]:vgpr(s32) = G_UMIN [[COPY]], [[COPY1]]
    ; GREEDY-LABEL: name: umin_s32_vv
    ; GREEDY: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GREEDY: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
    ; GREEDY: [[UMIN:%[0-9]+]]:vgpr(s32) = G_UMIN [[COPY]], [[COPY1]]
    %0:_(s32) = COPY $vgpr0
    %1:_(s32) = COPY $vgpr1
    %2:_(s32) = G_UMIN %0, %1
...

# FIXME: This should use VGPR instruction
---
name: umin_s32_ss_vgpr_use
legalized: true

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

    ; FAST-LABEL: name: umin_s32_ss_vgpr_use
    ; FAST: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; FAST: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; FAST: [[ICMP:%[0-9]+]]:scc(s1) = G_ICMP intpred(ult), [[COPY]](s32), [[COPY1]]
    ; FAST: [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ICMP]](s1), [[COPY]], [[COPY1]]
    ; FAST: $vgpr0 = COPY [[SELECT]](s32)
    ; GREEDY-LABEL: name: umin_s32_ss_vgpr_use
    ; GREEDY: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GREEDY: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; GREEDY: [[ICMP:%[0-9]+]]:scc(s1) = G_ICMP intpred(ult), [[COPY]](s32), [[COPY1]]
    ; GREEDY: [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ICMP]](s1), [[COPY]], [[COPY1]]
    ; GREEDY: $vgpr0 = COPY [[SELECT]](s32)
    %0:_(s32) = COPY $sgpr0
    %1:_(s32) = COPY $sgpr1
    %2:_(s32) = G_UMIN %0, %1
    $vgpr0 = COPY %2
...

---
name: umin_s16_ss
legalized: true

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

    ; FAST-LABEL: name: umin_s16_ss
    ; FAST: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; FAST: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; FAST: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
    ; FAST: [[TRUNC1:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY1]](s32)
    ; FAST: [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s16)
    ; FAST: [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s16)
    ; FAST: [[ICMP:%[0-9]+]]:scc(s1) = G_ICMP intpred(ult), [[ZEXT]](s32), [[ZEXT1]]
    ; FAST: [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ICMP]](s1), [[ZEXT]], [[ZEXT1]]
    ; FAST: [[TRUNC2:%[0-9]+]]:sgpr(s16) = G_TRUNC [[SELECT]](s32)
    ; GREEDY-LABEL: name: umin_s16_ss
    ; GREEDY: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GREEDY: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; GREEDY: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GREEDY: [[TRUNC1:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY1]](s32)
    ; GREEDY: [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s16)
    ; GREEDY: [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s16)
    ; GREEDY: [[ICMP:%[0-9]+]]:scc(s1) = G_ICMP intpred(ult), [[ZEXT]](s32), [[ZEXT1]]
    ; GREEDY: [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ICMP]](s1), [[ZEXT]], [[ZEXT1]]
    ; GREEDY: [[TRUNC2:%[0-9]+]]:sgpr(s16) = G_TRUNC [[SELECT]](s32)
    %0:_(s32) = COPY $sgpr0
    %1:_(s32) = COPY $sgpr1
    %2:_(s16) = G_TRUNC %0
    %3:_(s16) = G_TRUNC %1
    %4:_(s16) = G_UMIN %2, %3

...

---
name: umin_s16_ss_vgpr_use
legalized: true

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

    ; FAST-LABEL: name: umin_s16_ss_vgpr_use
    ; FAST: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; FAST: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; FAST: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
    ; FAST: [[TRUNC1:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY1]](s32)
    ; FAST: [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s16)
    ; FAST: [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s16)
    ; FAST: [[ICMP:%[0-9]+]]:scc(s1) = G_ICMP intpred(ult), [[ZEXT]](s32), [[ZEXT1]]
    ; FAST: [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ICMP]](s1), [[ZEXT]], [[ZEXT1]]
    ; FAST: [[TRUNC2:%[0-9]+]]:sgpr(s16) = G_TRUNC [[SELECT]](s32)
    ; FAST: [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s16)
    ; FAST: $vgpr0 = COPY [[ANYEXT]](s32)
    ; GREEDY-LABEL: name: umin_s16_ss_vgpr_use
    ; GREEDY: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GREEDY: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
    ; GREEDY: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
    ; GREEDY: [[TRUNC1:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY1]](s32)
    ; GREEDY: [[ZEXT:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC]](s16)
    ; GREEDY: [[ZEXT1:%[0-9]+]]:sgpr(s32) = G_ZEXT [[TRUNC1]](s16)
    ; GREEDY: [[ICMP:%[0-9]+]]:scc(s1) = G_ICMP intpred(ult), [[ZEXT]](s32), [[ZEXT1]]
    ; GREEDY: [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ICMP]](s1), [[ZEXT]], [[ZEXT1]]
    ; GREEDY: [[TRUNC2:%[0-9]+]]:sgpr(s16) = G_TRUNC [[SELECT]](s32)
    ; GREEDY: [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[TRUNC2]](s16)
    ; GREEDY: $vgpr0 = COPY [[ANYEXT]](s32)
    %0:_(s32) = COPY $sgpr0
    %1:_(s32) = COPY $sgpr1
    %2:_(s16) = G_TRUNC %0
    %3:_(s16) = G_TRUNC %1
    %4:_(s16) = G_UMIN %2, %3
    %5:_(s32) = G_ANYEXT %4
    $vgpr0 = COPY %5

...
