# 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: smax_s32_ss
legalized: true

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

    ; FAST-LABEL: name: smax_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(sgt), [[COPY]](s32), [[COPY1]]
    ; FAST: [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ICMP]](s1), [[COPY]], [[COPY1]]
    ; GREEDY-LABEL: name: smax_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(sgt), [[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_SMAX %0, %1
...

---
name: smax_s32_sv
legalized: true

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

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

---
name: smax_s32_vs
legalized: true

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

    ; FAST-LABEL: name: smax_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: [[SMAX:%[0-9]+]]:vgpr(s32) = G_SMAX [[COPY]], [[COPY2]]
    ; GREEDY-LABEL: name: smax_s32_vs
    ; GREEDY: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
    ; GREEDY: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
    ; GREEDY: [[SMAX:%[0-9]+]]:vgpr(s32) = G_SMAX [[COPY]], [[COPY1]]
    %0:_(s32) = COPY $vgpr0
    %1:_(s32) = COPY $sgpr0
    %2:_(s32) = G_SMAX %0, %1
...

---
name: smax_s32_vv
legalized: true

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

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

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

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

    ; FAST-LABEL: name: smax_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(sgt), [[COPY]](s32), [[COPY1]]
    ; FAST: [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ICMP]](s1), [[COPY]], [[COPY1]]
    ; FAST: $vgpr0 = COPY [[SELECT]](s32)
    ; GREEDY-LABEL: name: smax_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(sgt), [[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_SMAX %0, %1
    $vgpr0 = COPY %2
...

---
name: smax_s16_ss
legalized: true

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

    ; FAST-LABEL: name: smax_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: [[SEXT:%[0-9]+]]:sgpr(s32) = G_SEXT [[TRUNC]](s16)
    ; FAST: [[SEXT1:%[0-9]+]]:sgpr(s32) = G_SEXT [[TRUNC1]](s16)
    ; FAST: [[ICMP:%[0-9]+]]:scc(s1) = G_ICMP intpred(sgt), [[SEXT]](s32), [[SEXT1]]
    ; FAST: [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ICMP]](s1), [[SEXT]], [[SEXT1]]
    ; FAST: [[TRUNC2:%[0-9]+]]:sgpr(s16) = G_TRUNC [[SELECT]](s32)
    ; GREEDY-LABEL: name: smax_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: [[SEXT:%[0-9]+]]:sgpr(s32) = G_SEXT [[TRUNC]](s16)
    ; GREEDY: [[SEXT1:%[0-9]+]]:sgpr(s32) = G_SEXT [[TRUNC1]](s16)
    ; GREEDY: [[ICMP:%[0-9]+]]:scc(s1) = G_ICMP intpred(sgt), [[SEXT]](s32), [[SEXT1]]
    ; GREEDY: [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ICMP]](s1), [[SEXT]], [[SEXT1]]
    ; 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_SMAX %2, %3

...

---
name: smax_s16_ss_vgpr_use
legalized: true

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

    ; FAST-LABEL: name: smax_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: [[SEXT:%[0-9]+]]:sgpr(s32) = G_SEXT [[TRUNC]](s16)
    ; FAST: [[SEXT1:%[0-9]+]]:sgpr(s32) = G_SEXT [[TRUNC1]](s16)
    ; FAST: [[ICMP:%[0-9]+]]:scc(s1) = G_ICMP intpred(sgt), [[SEXT]](s32), [[SEXT1]]
    ; FAST: [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ICMP]](s1), [[SEXT]], [[SEXT1]]
    ; 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: smax_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: [[SEXT:%[0-9]+]]:sgpr(s32) = G_SEXT [[TRUNC]](s16)
    ; GREEDY: [[SEXT1:%[0-9]+]]:sgpr(s32) = G_SEXT [[TRUNC1]](s16)
    ; GREEDY: [[ICMP:%[0-9]+]]:scc(s1) = G_ICMP intpred(sgt), [[SEXT]](s32), [[SEXT1]]
    ; GREEDY: [[SELECT:%[0-9]+]]:sgpr(s32) = G_SELECT [[ICMP]](s1), [[SEXT]], [[SEXT1]]
    ; 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_SMAX %2, %3
    %5:_(s32) = G_ANYEXT %4
    $vgpr0 = COPY %5

...
