# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -march=amdgcn -mcpu=hawaii -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck -check-prefix=WAVE64 %s
# RUN: llc -march=amdgcn -mcpu=gfx1010 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck -check-prefix=WAVE32 %s

---
name: uitofp_s32_to_s32_vv
legalized: true
regBankSelected: true
tracksRegLiveness: true

body: |
  bb.0:
    liveins: $vgpr0

    ; WAVE64-LABEL: name: uitofp_s32_to_s32_vv
    ; WAVE64: liveins: $vgpr0
    ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; WAVE64: [[V_CVT_F32_U32_e64_:%[0-9]+]]:vgpr_32 = V_CVT_F32_U32_e64 [[COPY]], 0, 0, implicit $exec
    ; WAVE64: $vgpr0 = COPY [[V_CVT_F32_U32_e64_]]
    ; WAVE32-LABEL: name: uitofp_s32_to_s32_vv
    ; WAVE32: liveins: $vgpr0
    ; WAVE32: $vcc_hi = IMPLICIT_DEF
    ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; WAVE32: [[V_CVT_F32_U32_e64_:%[0-9]+]]:vgpr_32 = V_CVT_F32_U32_e64 [[COPY]], 0, 0, implicit $exec
    ; WAVE32: $vgpr0 = COPY [[V_CVT_F32_U32_e64_]]
    %0:vgpr(s32) = COPY $vgpr0
    %1:vgpr(s32) = G_UITOFP %0
    $vgpr0 = COPY %1
...

---
name: uitofp_s32_to_s32_vs
legalized: true
regBankSelected: true
tracksRegLiveness: true

body: |
  bb.0:
    liveins: $sgpr0

    ; WAVE64-LABEL: name: uitofp_s32_to_s32_vs
    ; WAVE64: liveins: $sgpr0
    ; WAVE64: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; WAVE64: [[V_CVT_F32_U32_e64_:%[0-9]+]]:vgpr_32 = V_CVT_F32_U32_e64 [[COPY]], 0, 0, implicit $exec
    ; WAVE64: $vgpr0 = COPY [[V_CVT_F32_U32_e64_]]
    ; WAVE32-LABEL: name: uitofp_s32_to_s32_vs
    ; WAVE32: liveins: $sgpr0
    ; WAVE32: $vcc_hi = IMPLICIT_DEF
    ; WAVE32: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; WAVE32: [[V_CVT_F32_U32_e64_:%[0-9]+]]:vgpr_32 = V_CVT_F32_U32_e64 [[COPY]], 0, 0, implicit $exec
    ; WAVE32: $vgpr0 = COPY [[V_CVT_F32_U32_e64_]]
    %0:sgpr(s32) = COPY $sgpr0
    %1:vgpr(s32) = G_UITOFP %0
    $vgpr0 = COPY %1
...

---
name: uitofp_s32_to_s16_vv
legalized: true
regBankSelected: true
tracksRegLiveness: true

body: |
  bb.0:
    liveins: $vgpr0

    ; WAVE64-LABEL: name: uitofp_s32_to_s16_vv
    ; WAVE64: liveins: $vgpr0
    ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; WAVE64: [[V_CVT_F32_U32_e32_:%[0-9]+]]:vgpr_32 = V_CVT_F32_U32_e32 [[COPY]], implicit $exec
    ; WAVE64: [[V_CVT_F16_F32_e32_:%[0-9]+]]:vgpr_32 = V_CVT_F16_F32_e32 [[V_CVT_F32_U32_e32_]], implicit $exec
    ; WAVE64: $vgpr0 = COPY [[V_CVT_F16_F32_e32_]]
    ; WAVE32-LABEL: name: uitofp_s32_to_s16_vv
    ; WAVE32: liveins: $vgpr0
    ; WAVE32: $vcc_hi = IMPLICIT_DEF
    ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; WAVE32: [[V_CVT_F32_U32_e32_:%[0-9]+]]:vgpr_32 = V_CVT_F32_U32_e32 [[COPY]], implicit $exec
    ; WAVE32: [[V_CVT_F16_F32_e32_:%[0-9]+]]:vgpr_32 = V_CVT_F16_F32_e32 [[V_CVT_F32_U32_e32_]], implicit $exec
    ; WAVE32: $vgpr0 = COPY [[V_CVT_F16_F32_e32_]]
    %0:vgpr(s32) = COPY $vgpr0
    %1:vgpr(s16) = G_UITOFP %0
    %2:vgpr(s32) = G_ANYEXT %1
    $vgpr0 = COPY %2
...

---
name: uitofp_s32_to_s16_vs
legalized: true
regBankSelected: true
tracksRegLiveness: true

body: |
  bb.0:
    liveins: $sgpr0

    ; WAVE64-LABEL: name: uitofp_s32_to_s16_vs
    ; WAVE64: liveins: $sgpr0
    ; WAVE64: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; WAVE64: [[V_CVT_F32_U32_e32_:%[0-9]+]]:vgpr_32 = V_CVT_F32_U32_e32 [[COPY]], implicit $exec
    ; WAVE64: [[V_CVT_F16_F32_e32_:%[0-9]+]]:vgpr_32 = V_CVT_F16_F32_e32 [[V_CVT_F32_U32_e32_]], implicit $exec
    ; WAVE64: $vgpr0 = COPY [[V_CVT_F16_F32_e32_]]
    ; WAVE32-LABEL: name: uitofp_s32_to_s16_vs
    ; WAVE32: liveins: $sgpr0
    ; WAVE32: $vcc_hi = IMPLICIT_DEF
    ; WAVE32: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; WAVE32: [[V_CVT_F32_U32_e32_:%[0-9]+]]:vgpr_32 = V_CVT_F32_U32_e32 [[COPY]], implicit $exec
    ; WAVE32: [[V_CVT_F16_F32_e32_:%[0-9]+]]:vgpr_32 = V_CVT_F16_F32_e32 [[V_CVT_F32_U32_e32_]], implicit $exec
    ; WAVE32: $vgpr0 = COPY [[V_CVT_F16_F32_e32_]]
    %0:sgpr(s32) = COPY $sgpr0
    %1:vgpr(s16) = G_UITOFP %0
    %2:vgpr(s32) = G_ANYEXT %1
    $vgpr0 = COPY %2
...

---
name: uitofp_s1_to_s32_s_scc
legalized: true
regBankSelected: true
tracksRegLiveness: true

body: |
  bb.0:
    liveins: $sgpr0

    ; WAVE64-LABEL: name: uitofp_s1_to_s32_s_scc
    ; WAVE64: liveins: $sgpr0
    ; WAVE64: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; WAVE64: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
    ; WAVE64: S_CMP_EQ_U32 [[COPY]], [[S_MOV_B32_]], implicit-def $scc
    ; WAVE64: [[COPY1:%[0-9]+]]:sreg_32 = COPY $scc
    ; WAVE64: $scc = COPY [[COPY1]]
    ; WAVE64: [[S_CSELECT_B32_:%[0-9]+]]:sreg_32 = S_CSELECT_B32 0, 1065353216, implicit $scc
    ; WAVE64: $sgpr0 = COPY [[S_CSELECT_B32_]]
    ; WAVE32-LABEL: name: uitofp_s1_to_s32_s_scc
    ; WAVE32: liveins: $sgpr0
    ; WAVE32: $vcc_hi = IMPLICIT_DEF
    ; WAVE32: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; WAVE32: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
    ; WAVE32: S_CMP_EQ_U32 [[COPY]], [[S_MOV_B32_]], implicit-def $scc
    ; WAVE32: [[COPY1:%[0-9]+]]:sreg_32 = COPY $scc
    ; WAVE32: $scc = COPY [[COPY1]]
    ; WAVE32: [[S_CSELECT_B32_:%[0-9]+]]:sreg_32 = S_CSELECT_B32 0, 1065353216, implicit $scc
    ; WAVE32: $sgpr0 = COPY [[S_CSELECT_B32_]]
    %0:sgpr(s32) = COPY $sgpr0
    %1:sgpr(s32) = G_CONSTANT i32 0
    %2:scc(s1) = G_ICMP intpred(eq), %0, %1
    %3:sgpr(s32) = G_UITOFP %2
    $sgpr0 = COPY %3
...

---
name: uitofp_s1_to_s16_to_s_scc
legalized: true
regBankSelected: true
tracksRegLiveness: true

body: |
  bb.0:
    liveins: $sgpr0

    ; WAVE64-LABEL: name: uitofp_s1_to_s16_to_s_scc
    ; WAVE64: liveins: $sgpr0
    ; WAVE64: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; WAVE64: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
    ; WAVE64: S_CMP_EQ_U32 [[COPY]], [[S_MOV_B32_]], implicit-def $scc
    ; WAVE64: [[COPY1:%[0-9]+]]:sreg_32 = COPY $scc
    ; WAVE64: $scc = COPY [[COPY1]]
    ; WAVE64: [[S_CSELECT_B32_:%[0-9]+]]:sreg_32 = S_CSELECT_B32 0, 15360, implicit $scc
    ; WAVE64: $sgpr0 = COPY [[S_CSELECT_B32_]]
    ; WAVE32-LABEL: name: uitofp_s1_to_s16_to_s_scc
    ; WAVE32: liveins: $sgpr0
    ; WAVE32: $vcc_hi = IMPLICIT_DEF
    ; WAVE32: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; WAVE32: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
    ; WAVE32: S_CMP_EQ_U32 [[COPY]], [[S_MOV_B32_]], implicit-def $scc
    ; WAVE32: [[COPY1:%[0-9]+]]:sreg_32 = COPY $scc
    ; WAVE32: $scc = COPY [[COPY1]]
    ; WAVE32: [[S_CSELECT_B32_:%[0-9]+]]:sreg_32 = S_CSELECT_B32 0, 15360, implicit $scc
    ; WAVE32: $sgpr0 = COPY [[S_CSELECT_B32_]]
    %0:sgpr(s32) = COPY $sgpr0
    %1:sgpr(s32) = G_CONSTANT i32 0
    %2:scc(s1) = G_ICMP intpred(eq), %0, %1
    %3:sgpr(s16) = G_UITOFP %2
    %4:sgpr(s32) = G_ANYEXT %3
    $sgpr0 = COPY %4
...

---
name: uitofp_s1_to_s64_s_scc
legalized: true
regBankSelected: true
tracksRegLiveness: true

body: |
  bb.0:
    liveins: $sgpr0

    ; WAVE64-LABEL: name: uitofp_s1_to_s64_s_scc
    ; WAVE64: liveins: $sgpr0
    ; WAVE64: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; WAVE64: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
    ; WAVE64: S_CMP_EQ_U32 [[COPY]], [[S_MOV_B32_]], implicit-def $scc
    ; WAVE64: [[COPY1:%[0-9]+]]:sreg_32 = COPY $scc
    ; WAVE64: $scc = COPY [[COPY1]]
    ; WAVE64: [[S_CSELECT_B64_:%[0-9]+]]:sreg_64_xexec = S_CSELECT_B64 0, 4607182418800017408, implicit $scc
    ; WAVE64: $sgpr0_sgpr1 = COPY [[S_CSELECT_B64_]]
    ; WAVE32-LABEL: name: uitofp_s1_to_s64_s_scc
    ; WAVE32: liveins: $sgpr0
    ; WAVE32: $vcc_hi = IMPLICIT_DEF
    ; WAVE32: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; WAVE32: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 0
    ; WAVE32: S_CMP_EQ_U32 [[COPY]], [[S_MOV_B32_]], implicit-def $scc
    ; WAVE32: [[COPY1:%[0-9]+]]:sreg_32 = COPY $scc
    ; WAVE32: $scc = COPY [[COPY1]]
    ; WAVE32: [[S_CSELECT_B64_:%[0-9]+]]:sreg_64_xexec = S_CSELECT_B64 0, 4607182418800017408, implicit $scc
    ; WAVE32: $sgpr0_sgpr1 = COPY [[S_CSELECT_B64_]]
    %0:sgpr(s32) = COPY $sgpr0
    %1:sgpr(s32) = G_CONSTANT i32 0
    %2:scc(s1) = G_ICMP intpred(eq), %0, %1
    %3:sgpr(s64) = G_UITOFP %2
    $sgpr0_sgpr1 = COPY %3
...

---
name: uitofp_s1_to_s32_v_vcc
legalized: true
regBankSelected: true
tracksRegLiveness: true

body: |
  bb.0:
    liveins: $vgpr0

    ; WAVE64-LABEL: name: uitofp_s1_to_s32_v_vcc
    ; WAVE64: liveins: $vgpr0
    ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; WAVE64: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
    ; WAVE64: [[V_CMP_EQ_U32_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_EQ_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], implicit $exec
    ; WAVE64: [[V_CNDMASK_B32_e64_:%[0-9]+]]:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1065353216, [[V_CMP_EQ_U32_e64_]], implicit $exec
    ; WAVE64: $vgpr0 = COPY [[V_CNDMASK_B32_e64_]]
    ; WAVE32-LABEL: name: uitofp_s1_to_s32_v_vcc
    ; WAVE32: liveins: $vgpr0
    ; WAVE32: $vcc_hi = IMPLICIT_DEF
    ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; WAVE32: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
    ; WAVE32: [[V_CMP_EQ_U32_e64_:%[0-9]+]]:sreg_32_xm0_xexec = V_CMP_EQ_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], implicit $exec
    ; WAVE32: [[V_CNDMASK_B32_e64_:%[0-9]+]]:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1065353216, [[V_CMP_EQ_U32_e64_]], implicit $exec
    ; WAVE32: $vgpr0 = COPY [[V_CNDMASK_B32_e64_]]
    %0:vgpr(s32) = COPY $vgpr0
    %1:vgpr(s32) = G_CONSTANT i32 0
    %2:vcc(s1) = G_ICMP intpred(eq), %0, %1
    %3:vgpr(s32) = G_UITOFP %2
    $vgpr0 = COPY %3
...

---
name: uitofp_s1_to_s16_to_v_vcc
legalized: true
regBankSelected: true
tracksRegLiveness: true

body: |
  bb.0:
    liveins: $vgpr0

    ; WAVE64-LABEL: name: uitofp_s1_to_s16_to_v_vcc
    ; WAVE64: liveins: $vgpr0
    ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; WAVE64: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
    ; WAVE64: [[V_CMP_EQ_U32_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_EQ_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], implicit $exec
    ; WAVE64: [[V_CNDMASK_B32_e64_:%[0-9]+]]:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1065353216, [[V_CMP_EQ_U32_e64_]], implicit $exec
    ; WAVE64: [[V_CVT_F16_F32_e32_:%[0-9]+]]:vgpr_32 = V_CVT_F16_F32_e32 [[V_CNDMASK_B32_e64_]], implicit $exec
    ; WAVE64: $vgpr0 = COPY [[V_CVT_F16_F32_e32_]]
    ; WAVE32-LABEL: name: uitofp_s1_to_s16_to_v_vcc
    ; WAVE32: liveins: $vgpr0
    ; WAVE32: $vcc_hi = IMPLICIT_DEF
    ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; WAVE32: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
    ; WAVE32: [[V_CMP_EQ_U32_e64_:%[0-9]+]]:sreg_32_xm0_xexec = V_CMP_EQ_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], implicit $exec
    ; WAVE32: [[V_CNDMASK_B32_e64_:%[0-9]+]]:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1065353216, [[V_CMP_EQ_U32_e64_]], implicit $exec
    ; WAVE32: [[V_CVT_F16_F32_e32_:%[0-9]+]]:vgpr_32 = V_CVT_F16_F32_e32 [[V_CNDMASK_B32_e64_]], implicit $exec
    ; WAVE32: $vgpr0 = COPY [[V_CVT_F16_F32_e32_]]
    %0:vgpr(s32) = COPY $vgpr0
    %1:vgpr(s32) = G_CONSTANT i32 0
    %2:vcc(s1) = G_ICMP intpred(eq), %0, %1
    %3:vgpr(s16) = G_UITOFP %2
    %4:vgpr(s32) = G_ANYEXT %3
    $vgpr0 = COPY %4
...

---
name: uitofp_s1_to_s64_v_vcc
legalized: true
regBankSelected: true
tracksRegLiveness: true

body: |
  bb.0:
    liveins: $vgpr0

    ; WAVE64-LABEL: name: uitofp_s1_to_s64_v_vcc
    ; WAVE64: liveins: $vgpr0
    ; WAVE64: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; WAVE64: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
    ; WAVE64: [[V_CMP_EQ_U32_e64_:%[0-9]+]]:sreg_64_xexec = V_CMP_EQ_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], implicit $exec
    ; WAVE64: [[V_CNDMASK_B32_e64_:%[0-9]+]]:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, [[V_CMP_EQ_U32_e64_]], implicit $exec
    ; WAVE64: [[V_CVT_F64_U32_e32_:%[0-9]+]]:vreg_64 = V_CVT_F64_U32_e32 [[V_CNDMASK_B32_e64_]], implicit $exec
    ; WAVE64: $vgpr0_vgpr1 = COPY [[V_CVT_F64_U32_e32_]]
    ; WAVE32-LABEL: name: uitofp_s1_to_s64_v_vcc
    ; WAVE32: liveins: $vgpr0
    ; WAVE32: $vcc_hi = IMPLICIT_DEF
    ; WAVE32: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; WAVE32: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
    ; WAVE32: [[V_CMP_EQ_U32_e64_:%[0-9]+]]:sreg_32_xm0_xexec = V_CMP_EQ_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], implicit $exec
    ; WAVE32: [[V_CNDMASK_B32_e64_:%[0-9]+]]:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, [[V_CMP_EQ_U32_e64_]], implicit $exec
    ; WAVE32: [[V_CVT_F64_U32_e32_:%[0-9]+]]:vreg_64 = V_CVT_F64_U32_e32 [[V_CNDMASK_B32_e64_]], implicit $exec
    ; WAVE32: $vgpr0_vgpr1 = COPY [[V_CVT_F64_U32_e32_]]
    %0:vgpr(s32) = COPY $vgpr0
    %1:vgpr(s32) = G_CONSTANT i32 0
    %2:vcc(s1) = G_ICMP intpred(eq), %0, %1
    %3:vgpr(s64) = G_UITOFP %2
    $vgpr0_vgpr1 = COPY %3
...
