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

---

name: fmaxnum_ieee_f32_f64_ieee_mode_on
legalized:       true
regBankSelected: true
machineFunctionInfo:
  mode:
    ieee: true

body: |
  bb.0:
    liveins: $sgpr0, $vgpr0, $vgpr1, $vgpr3_vgpr4, $sgpr10_sgpr11, $vgpr10_vgpr11, $vgpr12_vgpr13
    ; GFX7-LABEL: name: fmaxnum_ieee_f32_f64_ieee_mode_on
    ; GFX7: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; GFX7: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; GFX7: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr1
    ; GFX7: [[COPY3:%[0-9]+]]:vreg_64 = COPY $vgpr3_vgpr4
    ; GFX7: [[COPY4:%[0-9]+]]:sreg_64_xexec = COPY $sgpr10_sgpr11
    ; GFX7: [[COPY5:%[0-9]+]]:vreg_64 = COPY $vgpr10_vgpr11
    ; GFX7: [[COPY6:%[0-9]+]]:vreg_64 = COPY $vgpr12_vgpr13
    ; GFX7: [[V_MAX_F32_e64_:%[0-9]+]]:vgpr_32 = V_MAX_F32_e64 0, [[COPY1]], 0, [[COPY]], 0, 0, implicit $exec
    ; GFX7: [[V_MAX_F32_e64_1:%[0-9]+]]:vgpr_32 = V_MAX_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $exec
    ; GFX7: [[V_MAX_F32_e64_2:%[0-9]+]]:vgpr_32 = V_MAX_F32_e64 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $exec
    ; GFX7: FLAT_STORE_DWORD [[COPY3]], [[V_MAX_F32_e64_]], 0, 0, 0, 0, implicit $exec, implicit $flat_scr :: (store 4, addrspace 1)
    ; GFX7: FLAT_STORE_DWORD [[COPY3]], [[V_MAX_F32_e64_1]], 0, 0, 0, 0, implicit $exec, implicit $flat_scr :: (store 4, addrspace 1)
    ; GFX7: FLAT_STORE_DWORD [[COPY3]], [[V_MAX_F32_e64_2]], 0, 0, 0, 0, implicit $exec, implicit $flat_scr :: (store 4, addrspace 1)
    ; GFX7: [[V_MAX_F64_:%[0-9]+]]:vreg_64 = V_MAX_F64 0, [[COPY4]], 0, [[COPY5]], 0, 0, implicit $exec
    ; GFX7: [[V_MAX_F64_1:%[0-9]+]]:vreg_64 = V_MAX_F64 0, [[COPY5]], 0, [[COPY4]], 0, 0, implicit $exec
    ; GFX7: [[V_MAX_F64_2:%[0-9]+]]:vreg_64 = V_MAX_F64 0, [[COPY5]], 0, [[COPY6]], 0, 0, implicit $exec
    ; GFX7: S_ENDPGM 0, implicit [[V_MAX_F64_]], implicit [[V_MAX_F64_1]], implicit [[V_MAX_F64_2]]
    %0:sgpr(s32) = COPY $sgpr0
    %1:vgpr(s32) = COPY $vgpr0
    %2:vgpr(s32) = COPY $vgpr1
    %3:vgpr(p1) = COPY $vgpr3_vgpr4

    %10:sgpr(s64) = COPY $sgpr10_sgpr11
    %11:vgpr(s64) = COPY $vgpr10_vgpr11
    %12:vgpr(s64) = COPY $vgpr12_vgpr13

    ; maxnum_ieee vs
    %4:vgpr(s32) = G_FMAXNUM_IEEE %1, %0

    ; maxnum_ieee sv
    %5:vgpr(s32) = G_FMAXNUM_IEEE %0, %1

    ; maxnum_ieee vv
    %6:vgpr(s32) = G_FMAXNUM_IEEE %1, %2

    G_STORE %4, %3 :: (store 4, addrspace 1)
    G_STORE %5, %3 :: (store 4, addrspace 1)
    G_STORE %6, %3 :: (store 4, addrspace 1)

    ; 64-bit

    ; maxnum_ieee vs
    %14:vgpr(s64) = G_FMAXNUM_IEEE %10, %11

    ; maxnum_ieee sv
    %15:vgpr(s64) = G_FMAXNUM_IEEE %11, %10

    ; maxnum_ieee vv
    %16:vgpr(s64) = G_FMAXNUM_IEEE %11, %12

    S_ENDPGM 0, implicit %14, implicit %15, implicit %16
...


# FIXME: Ideally this would fail to select with ieee mode disabled
---

name: fmaxnum_ieee_f32_f64_ieee_mode_off
legalized:       true
regBankSelected: true
machineFunctionInfo:
  mode:
    ieee: false

body: |
  bb.0:
    liveins: $sgpr0, $vgpr0, $vgpr1, $vgpr3_vgpr4, $sgpr10_sgpr11, $vgpr10_vgpr11, $vgpr12_vgpr13
    ; GFX7-LABEL: name: fmaxnum_ieee_f32_f64_ieee_mode_off
    ; GFX7: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
    ; GFX7: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr0
    ; GFX7: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr1
    ; GFX7: [[COPY3:%[0-9]+]]:vreg_64 = COPY $vgpr3_vgpr4
    ; GFX7: [[COPY4:%[0-9]+]]:sreg_64_xexec = COPY $sgpr10_sgpr11
    ; GFX7: [[COPY5:%[0-9]+]]:vreg_64 = COPY $vgpr10_vgpr11
    ; GFX7: [[COPY6:%[0-9]+]]:vreg_64 = COPY $vgpr12_vgpr13
    ; GFX7: [[V_MAX_F32_e64_:%[0-9]+]]:vgpr_32 = V_MAX_F32_e64 0, [[COPY1]], 0, [[COPY]], 0, 0, implicit $exec
    ; GFX7: [[V_MAX_F32_e64_1:%[0-9]+]]:vgpr_32 = V_MAX_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $exec
    ; GFX7: [[V_MAX_F32_e64_2:%[0-9]+]]:vgpr_32 = V_MAX_F32_e64 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $exec
    ; GFX7: FLAT_STORE_DWORD [[COPY3]], [[V_MAX_F32_e64_]], 0, 0, 0, 0, implicit $exec, implicit $flat_scr :: (store 4, addrspace 1)
    ; GFX7: FLAT_STORE_DWORD [[COPY3]], [[V_MAX_F32_e64_1]], 0, 0, 0, 0, implicit $exec, implicit $flat_scr :: (store 4, addrspace 1)
    ; GFX7: FLAT_STORE_DWORD [[COPY3]], [[V_MAX_F32_e64_2]], 0, 0, 0, 0, implicit $exec, implicit $flat_scr :: (store 4, addrspace 1)
    ; GFX7: [[V_MAX_F64_:%[0-9]+]]:vreg_64 = V_MAX_F64 0, [[COPY4]], 0, [[COPY5]], 0, 0, implicit $exec
    ; GFX7: [[V_MAX_F64_1:%[0-9]+]]:vreg_64 = V_MAX_F64 0, [[COPY5]], 0, [[COPY4]], 0, 0, implicit $exec
    ; GFX7: [[V_MAX_F64_2:%[0-9]+]]:vreg_64 = V_MAX_F64 0, [[COPY5]], 0, [[COPY6]], 0, 0, implicit $exec
    ; GFX7: S_ENDPGM 0, implicit [[V_MAX_F64_]], implicit [[V_MAX_F64_1]], implicit [[V_MAX_F64_2]]
    %0:sgpr(s32) = COPY $sgpr0
    %1:vgpr(s32) = COPY $vgpr0
    %2:vgpr(s32) = COPY $vgpr1
    %3:vgpr(p1) = COPY $vgpr3_vgpr4

    %10:sgpr(s64) = COPY $sgpr10_sgpr11
    %11:vgpr(s64) = COPY $vgpr10_vgpr11
    %12:vgpr(s64) = COPY $vgpr12_vgpr13

    ; maxnum_ieee vs
    %4:vgpr(s32) = G_FMAXNUM_IEEE %1, %0

    ; maxnum_ieee sv
    %5:vgpr(s32) = G_FMAXNUM_IEEE %0, %1

    ; maxnum_ieee vv
    %6:vgpr(s32) = G_FMAXNUM_IEEE %1, %2

    G_STORE %4, %3 :: (store 4, addrspace 1)
    G_STORE %5, %3 :: (store 4, addrspace 1)
    G_STORE %6, %3 :: (store 4, addrspace 1)

    ; 64-bit

    ; maxnum_ieee vs
    %14:vgpr(s64) = G_FMAXNUM_IEEE %10, %11

    ; maxnum_ieee sv
    %15:vgpr(s64) = G_FMAXNUM_IEEE %11, %10

    ; maxnum_ieee vv
    %16:vgpr(s64) = G_FMAXNUM_IEEE %11, %12

    S_ENDPGM 0, implicit %14, implicit %15, implicit %16
...
