# RUN: llc -mtriple arm-- -run-pass=regbankselect %s -o - | FileCheck %s
--- |
  define void @test_add_s32() { ret void }
  define void @test_sub_s32() { ret void }
  define void @test_mul_s32() { ret void }

  define void @test_sdiv_s32() #1 { ret void }
  define void @test_udiv_s32() #1 { ret void }

  define void @test_and_s32() { ret void}
  define void @test_or_s32() { ret void}
  define void @test_xor_s32() { ret void}

  define void @test_lshr_s32() { ret void }
  define void @test_ashr_s32() { ret void }
  define void @test_shl_s32() { ret void }

  define void @test_loads() #0 { ret void }
  define void @test_stores() #0 { ret void }

  define void @test_stack() { ret void }

  define void @test_gep() { ret void }

  define void @test_constants() { ret void }

  define void @test_inttoptr_s32() { ret void }
  define void @test_ptrtoint_s32() { ret void }

  define void @test_ctlz_s32() #3 { ret void }

  @a_global = global float 1.0
  define void @test_globals() { ret void }

  define void @test_anyext_s8_32() { ret void }
  define void @test_anyext_s16_32() { ret void }

  define void @test_trunc_s32_16() { ret void }
  define void @test_trunc_s64_32() #0 { ret void }

  define void @test_icmp_eq_s32() { ret void }
  define void @test_fcmp_one_s32() #0 { ret void }
  define void @test_fcmp_ugt_s64() #0 { ret void }

  define void @test_select_s32() { ret void }

  define void @test_br() { ret void }

  define void @test_phi_s32() { ret void }
  define void @test_phi_s64() #0 { ret void }

  define void @test_fadd_s32() #0 { ret void }
  define void @test_fadd_s64() #0 { ret void }

  define void @test_fsub_s32() #0 { ret void }
  define void @test_fsub_s64() #0 { ret void }

  define void @test_fmul_s32() #0 { ret void }
  define void @test_fmul_s64() #0 { ret void }

  define void @test_fdiv_s32() #0 { ret void }
  define void @test_fdiv_s64() #0 { ret void }

  define void @test_fneg_s32() #0 { ret void }
  define void @test_fneg_s64() #0 { ret void }

  define void @test_fma_s32() #2 { ret void }
  define void @test_fma_s64() #2 { ret void }

  define void @test_fpext_s32_to_s64() #0 { ret void }
  define void @test_fptrunc_s64_to_s32() #0 { ret void }

  define void @test_fptosi_s32() #0 { ret void }
  define void @test_fptosi_s64() #0 { ret void }
  define void @test_fptoui_s32() #0 { ret void }
  define void @test_fptoui_s64() #0 { ret void }

  define void @test_sitofp_s32() #0 { ret void }
  define void @test_sitofp_s64() #0 { ret void }
  define void @test_uitofp_s32() #0 { ret void }
  define void @test_uitofp_s64() #0 { ret void }

  define void @test_soft_fp_s64() #0 { ret void }

  attributes #0 = { "target-features"="+vfp2"}
  attributes #1 = { "target-features"="+hwdiv-arm" }
  attributes #2 = { "target-features"="+vfp4"}
  attributes #3 = { "target-features"="+v5t"}
...
---
name:            test_add_s32
# CHECK-LABEL: name: test_add_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(s32) = COPY $r0
    %1(s32) = COPY $r1
    %2(s32) = G_ADD %0, %1
    $r0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_sub_s32
# CHECK-LABEL: name: test_sub_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(s32) = COPY $r0
    %1(s32) = COPY $r1
    %2(s32) = G_SUB %0, %1
    $r0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_mul_s32
# CHECK-LABEL: name: test_mul_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(s32) = COPY $r0
    %1(s32) = COPY $r1
    %2(s32) = G_MUL %0, %1
    $r0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_sdiv_s32
# CHECK-LABEL: name: test_sdiv_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(s32) = COPY $r0
    %1(s32) = COPY $r1
    %2(s32) = G_SDIV %0, %1
    $r0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_udiv_s32
# CHECK-LABEL: name: test_udiv_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(s32) = COPY $r0
    %1(s32) = COPY $r1
    %2(s32) = G_UDIV %0, %1
    $r0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_and_s32
# CHECK-LABEL: name: test_and_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(s32) = COPY $r0
    %1(s32) = COPY $r1
    %2(s32) = G_AND %0, %1
    $r0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_or_s32
# CHECK-LABEL: name: test_or_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(s32) = COPY $r0
    %1(s32) = COPY $r1
    %2(s32) = G_OR %0, %1
    $r0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_xor_s32
# CHECK-LABEL: name: test_xor_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(s32) = COPY $r0
    %1(s32) = COPY $r1
    %2(s32) = G_XOR %0, %1
    $r0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_lshr_s32
# CHECK-LABEL: name: test_lshr_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(s32) = COPY $r0
    %1(s32) = COPY $r1
    %2(s32) = G_LSHR %0, %1
    $r0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_ashr_s32
# CHECK-LABEL: name: test_ashr_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(s32) = COPY $r0
    %1(s32) = COPY $r1
    %2(s32) = G_ASHR %0, %1
    $r0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_shl_s32
# CHECK-LABEL: name: test_shl_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(s32) = COPY $r0
    %1(s32) = COPY $r1
    %2(s32) = G_SHL %0, %1
    $r0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_loads
# CHECK-LABEL: name: test_loads
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }
# CHECK: - { id: 3, class: gprb, preferred-register: '' }
# CHECK: - { id: 4, class: gprb, preferred-register: '' }
# CHECK: - { id: 5, class: gprb, preferred-register: '' }
# CHECK: - { id: 6, class: fprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
  - { id: 4, class: _ }
  - { id: 5, class: _ }
  - { id: 6, class: _ }
body:             |
  bb.0:
    liveins: $r0
    %0(p0) = COPY $r0
    %6(s64) = G_LOAD %0 :: (load 8)
    %1(s32) = G_LOAD %0 :: (load 4)
    %2(s16) = G_LOAD %0 :: (load 2)
    %3(s8)  = G_LOAD %0 :: (load 1)
    %4(s1)  = G_LOAD %0 :: (load 1)
    %5(p0)  = G_LOAD %0 :: (load 4)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_stores
# CHECK-LABEL: name: test_stores
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }
# CHECK: - { id: 3, class: gprb, preferred-register: '' }
# CHECK: - { id: 4, class: gprb, preferred-register: '' }
# CHECK: - { id: 5, class: gprb, preferred-register: '' }
# CHECK: - { id: 6, class: fprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
  - { id: 4, class: _ }
  - { id: 5, class: _ }
  - { id: 6, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1, $r5, $d6
    %0(p0) = COPY $r0
    %1(s32) = COPY $r1
    G_STORE %1(s32), %0 :: (store 4)
    %2(s16) = G_TRUNC %1(s32)
    G_STORE %2(s16), %0 :: (store 2)
    %3(s8) = G_TRUNC %1(s32)
    G_STORE %3(s8), %0 :: (store 1)
    %4(s1) = G_TRUNC %1(s32)
    G_STORE %4(s1), %0 :: (store 1)
    %5(p0) = COPY $r5
    G_STORE %5(p0), %0 :: (store 4)
    %6(s64) = COPY $d6
    G_STORE %6(s64), %0 :: (store 8)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_stack
# CHECK-LABEL: name: test_stack
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }
# CHECK: - { id: 3, class: gprb, preferred-register: '' }
# CHECK: - { id: 4, class: gprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
  - { id: 4, class: _ }
fixedStack:
  - { id: 0, offset: 0, size: 4, alignment: 4, isImmutable: true, isAliased: false }
body:             |
  bb.0:
    %0(p0) = G_FRAME_INDEX %fixed-stack.0
    %1(s32) = G_LOAD %0(p0) :: (load 4 from %fixed-stack.0, align 4)

    %2(p0) = COPY $sp
    %3(s32) = G_CONSTANT i32 8
    %4(p0) = G_GEP %2, %3(s32)
    G_STORE %1(s32), %4(p0) :: (store 4)

    BX_RET 14, $noreg

...
---
name:            test_gep
# CHECK-LABEL: name: test_gep
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(p0) = COPY $r0
    %1(s32) = COPY $r1
    %2(p0) = G_GEP %0, %1(s32)
    $r0 = COPY %2(p0)
    BX_RET 14, $noreg, implicit $r0
...
---
name:            test_constants
# CHECK-LABEL: name: test_constants
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
body:             |
  bb.0:
    %0(s32) = G_CONSTANT i32 42
    $r0 = COPY %0(s32)
    BX_RET 14, $noreg, implicit $r0
...
---
name:            test_inttoptr_s32
# CHECK-LABEL: name: test_inttoptr_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    %0(s32) = COPY $r0
    %1(p0) = G_INTTOPTR %0(s32)
    $r0 = COPY %1(p0)
    BX_RET 14, $noreg, implicit $r0
...
---
name:            test_ptrtoint_s32
# CHECK-LABEL: name: test_ptrtoint_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    %0(p0) = COPY $r0
    %1(s32) = G_PTRTOINT %0(p0)
    $r0 = COPY %1(s32)
    BX_RET 14, $noreg, implicit $r0
...
---
name:            test_ctlz_s32
# CHECK-LABEL: name: test_ctlz_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    %0(s32) = COPY $r0
    %1(s32) = G_CTLZ %0(s32)
    $r0 = COPY %1(s32)
    BX_RET 14, $noreg, implicit $r0
...
---
name:            test_globals
# CHECK-LABEL: name: test_globals
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
body:             |
  bb.0:
    %0(p0) = G_GLOBAL_VALUE @a_global
    $r0 = COPY %0(p0)
    BX_RET 14, $noreg, implicit $r0
...
---
name:            test_anyext_s8_32
# CHECK-LABEL: name: test_anyext_s8_32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0

    %0(s32) = COPY $r0
    %1(s8) = G_TRUNC %0(s32)
    %2(s32) = G_ANYEXT %1(s8)
    $r0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $r0
...
---
name:            test_anyext_s16_32
# CHECK-LABEL: name: test_anyext_s16_32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0

    %0(s32) = COPY $r0
    %1(s16) = G_TRUNC %0(s32)
    %2(s32) = G_ANYEXT %1(s16)
    $r0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $r0
...
---
name:            test_trunc_s32_16
# CHECK-LABEL: name: test_trunc_s32_16
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(s32) = COPY $r0
    %2(p0) = COPY $r1
    %1(s16) = G_TRUNC %0(s32)
    G_STORE %1(s16), %2 :: (store 2)
    BX_RET 14, $noreg
...
---
name:            test_trunc_s64_32
# CHECK-LABEL: name: test_trunc_s64_32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $r0, $d0

    %0(s64) = COPY $d0
    %2(p0) = COPY $r0
    %1(s32) = G_TRUNC %0(s64)
    G_STORE %1(s32), %2 :: (store 4)
    BX_RET 14, $noreg
...
---
name:            test_icmp_eq_s32
# CHECK-LABEL: name: test_icmp_eq_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }
# CHECK: - { id: 3, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(s32) = COPY $r0
    %1(s32) = COPY $r1
    %2(s1) = G_ICMP intpred(eq), %0(s32), %1
    %3(s32) = G_ZEXT %2(s1)
    $r0 = COPY %3(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_fcmp_one_s32
# CHECK-LABEL: name: test_fcmp_one_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }
# CHECK: - { id: 3, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
body:             |
  bb.0:
    liveins: $s0, $s1

    %0(s32) = COPY $s0
    %1(s32) = COPY $s1
    %2(s1) = G_FCMP floatpred(one), %0(s32), %1
    %3(s32) = G_ZEXT %2(s1)
    $r0 = COPY %3(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_fcmp_ugt_s64
# CHECK-LABEL: name: test_fcmp_ugt_s64
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }
# CHECK: - { id: 3, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
body:             |
  bb.0:
    liveins: $d0, $d1

    %0(s64) = COPY $d0
    %1(s64) = COPY $d1
    %2(s1) = G_FCMP floatpred(ugt), %0(s64), %1
    %3(s32) = G_ZEXT %2(s1)
    $r0 = COPY %3(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_select_s32
# CHECK-LABEL: name: test_select_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: gprb, preferred-register: '' }
# CHECK: - { id: 3, class: gprb, preferred-register: '' }
# CHECK: - { id: 4, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
  - { id: 4, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1, $r2

    %0(s32) = COPY $r0
    %1(s32) = COPY $r1
    %2(s32) = COPY $r2
    %3(s1) = G_TRUNC %2(s32)
    %4(s32) = G_SELECT %3(s1), %0, %1
    $r0 = COPY %4(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_br
# CHECK-LABEL: name: test_br
legalized:       true
regBankSelected: false
# CHECK: regBankSelected: true
selected:        false
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
# CHECK: { id: 0, class: gprb, preferred-register: '' }
# CHECK: { id: 1, class: gprb, preferred-register: '' }
# Check that we map the condition of the G_BRCOND into the GPR.
# For the G_BR, there are no registers to map, but make sure we don't crash.
body:             |
  bb.0:
    successors: %bb.1(0x40000000), %bb.2(0x40000000)
    liveins: $r0

    %0(s32) = COPY $r0
    %1(s1) = G_TRUNC %0(s32)
    G_BRCOND %1(s1), %bb.1
    G_BR %bb.2

  bb.1:
    BX_RET 14, $noreg

  bb.2:
    BX_RET 14, $noreg

...
---
name:            test_phi_s32
# CHECK-LABEL: name: test_phi_s32
legalized:       true
regBankSelected: false
# CHECK: regBankSelected: true
selected:        false
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
  - { id: 4, class: _ }
# CHECK: { id: 0, class: gprb, preferred-register: '' }
# CHECK: { id: 1, class: gprb, preferred-register: '' }
# CHECK: { id: 2, class: gprb, preferred-register: '' }
# CHECK: { id: 3, class: gprb, preferred-register: '' }
# CHECK: { id: 4, class: gprb, preferred-register: '' }
body:             |
  bb.0:
    successors: %bb.1(0x40000000), %bb.2(0x40000000)
    liveins: $r0, $r1, $r2

    %0(s32) = COPY $r0
    %1(s1) = G_TRUNC %0(s32)

    %2(s32) = COPY $r1
    %3(s32) = COPY $r2

    G_BRCOND %1(s1), %bb.1
    G_BR %bb.2

  bb.1:
    successors: %bb.2(0x80000000)

  bb.2:
    %4(s32) = G_PHI %2(s32), %bb.0, %3(s32), %bb.1
    $r0 = COPY %4(s32)
    BX_RET 14, $noreg, implicit $r0
...
---
name:            test_phi_s64
# CHECK-LABEL: name: test_phi_s64
legalized:       true
regBankSelected: false
# CHECK: regBankSelected: true
selected:        false
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
  - { id: 4, class: _ }
# CHECK: { id: 0, class: gprb, preferred-register: '' }
# CHECK: { id: 1, class: gprb, preferred-register: '' }
# CHECK: { id: 2, class: fprb, preferred-register: '' }
# CHECK: { id: 3, class: fprb, preferred-register: '' }
# CHECK: { id: 4, class: fprb, preferred-register: '' }
body:             |
  bb.0:
    successors: %bb.1(0x40000000), %bb.2(0x40000000)
    liveins: $r0, $d0, $d1

    %0(s32) = COPY $r0
    %1(s1) = G_TRUNC %0(s32)

    %2(s64) = COPY $d0
    %3(s64) = COPY $d1

    G_BRCOND %1(s1), %bb.1
    G_BR %bb.2

  bb.1:
    successors: %bb.2(0x80000000)

  bb.2:
    %4(s64) = G_PHI %2(s64), %bb.0, %3(s64), %bb.1
    $d0 = COPY %4(s64)
    BX_RET 14, $noreg, implicit $d0
...
---
name:            test_fadd_s32
# CHECK-LABEL: name: test_fadd_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
# CHECK: - { id: 2, class: fprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $s0, $s1

    %0(s32) = COPY $s0
    %1(s32) = COPY $s1
    %2(s32) = G_FADD %0, %1
    $s0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $s0

...
---
name:            test_fadd_s64
# CHECK-LABEL: name: test_fadd_s64
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
# CHECK: - { id: 2, class: fprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $d0, $d1

    %0(s64) = COPY $d0
    %1(s64) = COPY $d1
    %2(s64) = G_FADD %0, %1
    $d0 = COPY %2(s64)
    BX_RET 14, $noreg, implicit $d0

...
---
name:            test_fsub_s32
# CHECK-LABEL: name: test_fsub_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
# CHECK: - { id: 2, class: fprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $s0, $s1

    %0(s32) = COPY $s0
    %1(s32) = COPY $s1
    %2(s32) = G_FSUB %0, %1
    $s0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $s0

...
---
name:            test_fsub_s64
# CHECK-LABEL: name: test_fsub_s64
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
# CHECK: - { id: 2, class: fprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $d0, $d1

    %0(s64) = COPY $d0
    %1(s64) = COPY $d1
    %2(s64) = G_FSUB %0, %1
    $d0 = COPY %2(s64)
    BX_RET 14, $noreg, implicit $d0

...
---
name:            test_fmul_s32
# CHECK-LABEL: name: test_fmul_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
# CHECK: - { id: 2, class: fprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $s0, $s1

    %0(s32) = COPY $s0
    %1(s32) = COPY $s1
    %2(s32) = G_FMUL %0, %1
    $s0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $s0

...
---
name:            test_fmul_s64
# CHECK-LABEL: name: test_fmul_s64
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
# CHECK: - { id: 2, class: fprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $d0, $d1

    %0(s64) = COPY $d0
    %1(s64) = COPY $d1
    %2(s64) = G_FMUL %0, %1
    $d0 = COPY %2(s64)
    BX_RET 14, $noreg, implicit $d0

...
---
name:            test_fdiv_s32
# CHECK-LABEL: name: test_fdiv_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
# CHECK: - { id: 2, class: fprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $s0, $s1

    %0(s32) = COPY $s0
    %1(s32) = COPY $s1
    %2(s32) = G_FDIV %0, %1
    $s0 = COPY %2(s32)
    BX_RET 14, $noreg, implicit $s0

...
---
name:            test_fdiv_s64
# CHECK-LABEL: name: test_fdiv_s64
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
# CHECK: - { id: 2, class: fprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
body:             |
  bb.0:
    liveins: $d0, $d1

    %0(s64) = COPY $d0
    %1(s64) = COPY $d1
    %2(s64) = G_FDIV %0, %1
    $d0 = COPY %2(s64)
    BX_RET 14, $noreg, implicit $d0

...
---
name:            test_fneg_s32
# CHECK-LABEL: name: test_fneg_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    liveins: $s0

    %0(s32) = COPY $s0
    %1(s32) = G_FNEG %0
    $s0 = COPY %1(s32)
    BX_RET 14, $noreg, implicit $s0

...
---
name:            test_fneg_s64
# CHECK-LABEL: name: test_fneg_s64
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    liveins: $d0

    %0(s64) = COPY $d0
    %1(s64) = G_FNEG %0
    $d0 = COPY %1(s64)
    BX_RET 14, $noreg, implicit $d0

...
---
name:            test_fma_s32
# CHECK-LABEL: name: test_fma_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
# CHECK: - { id: 2, class: fprb, preferred-register: '' }
# CHECK: - { id: 3, class: fprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
body:             |
  bb.0:
    liveins: $s0, $s1, $s2

    %0(s32) = COPY $s0
    %1(s32) = COPY $s1
    %2(s32) = COPY $s2
    %3(s32) = G_FMA %0, %1, %2
    $s0 = COPY %3(s32)
    BX_RET 14, $noreg, implicit $s0
...
---
name:            test_fma_s64
# CHECK-LABEL: name: test_fma_s64
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
# CHECK: - { id: 2, class: fprb, preferred-register: '' }
# CHECK: - { id: 3, class: fprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
body:             |
  bb.0:
    liveins: $d0, $d1, $d2

    %0(s64) = COPY $d0
    %1(s64) = COPY $d1
    %2(s64) = COPY $d2
    %3(s64) = G_FMA %0, %1, %2
    $d0 = COPY %3(s64)
    BX_RET 14, $noreg, implicit $d0
...
---
name:            test_fpext_s32_to_s64
# CHECK-LABEL: name: test_fpext_s32_to_s64
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    liveins: $s0

    %0(s32) = COPY $s0
    %1(s64) = G_FPEXT %0
    $d0 = COPY %1(s64)
    BX_RET 14, $noreg, implicit $d0
...
---
name:            test_fptrunc_s64_to_s32
# CHECK-LABEL: name: test_fptrunc_s64_to_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    liveins: $d0

    %0(s64) = COPY $d0
    %1(s32) = G_FPTRUNC %0
    $s0 = COPY %1(s32)
    BX_RET 14, $noreg, implicit $s0
...
---
name:            test_fptosi_s32
# CHECK-LABEL: name: test_fptosi_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    liveins: $s0

    %0(s32) = COPY $s0
    %1(s32) = G_FPTOSI %0
    $r0 = COPY %1(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_fptosi_s64
# CHECK-LABEL: name: test_fptosi_s64
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    liveins: $d0

    %0(s64) = COPY $d0
    %1(s32) = G_FPTOSI %0
    $r0 = COPY %1(s32)
    BX_RET 14, $noreg, implicit $r0
...
---
name:            test_fptoui_s32
# CHECK-LABEL: name: test_fptoui_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    liveins: $s0

    %0(s32) = COPY $s0
    %1(s32) = G_FPTOUI %0
    $r0 = COPY %1(s32)
    BX_RET 14, $noreg, implicit $r0

...
---
name:            test_fptoui_s64
# CHECK-LABEL: name: test_fptoui_s64
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: fprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    liveins: $d0

    %0(s64) = COPY $d0
    %1(s32) = G_FPTOUI %0
    $r0 = COPY %1(s32)
    BX_RET 14, $noreg, implicit $r0
...
---
name:            test_sitofp_s32
# CHECK-LABEL: name: test_sitofp_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    liveins: $r0

    %0(s32) = COPY $r0
    %1(s32) = G_SITOFP %0
    $s0 = COPY %1(s32)
    BX_RET 14, $noreg, implicit $s0

...
---
name:            test_sitofp_s64
# CHECK-LABEL: name: test_sitofp_s64
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    liveins: $r0

    %0(s32) = COPY $r0
    %1(s64) = G_SITOFP %0
    $d0 = COPY %1(s64)
    BX_RET 14, $noreg, implicit $d0
...
---
name:            test_uitofp_s32
# CHECK-LABEL: name: test_uitofp_s32
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    liveins: $r0

    %0(s32) = COPY $r0
    %1(s32) = G_UITOFP %0
    $s0 = COPY %1(s32)
    BX_RET 14, $noreg, implicit $s0

...
---
name:            test_uitofp_s64
# CHECK-LABEL: name: test_uitofp_s64
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: fprb, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  bb.0:
    liveins: $r0

    %0(s32) = COPY $r0
    %1(s64) = G_UITOFP %0
    $d0 = COPY %1(s64)
    BX_RET 14, $noreg, implicit $d0
...
---
name:            test_soft_fp_s64
# CHECK-LABEL: name: test_soft_fp_s64
legalized:       true
regBankSelected: false
selected:        false
# CHECK: registers:
# CHECK: - { id: 0, class: gprb, preferred-register: '' }
# CHECK: - { id: 1, class: gprb, preferred-register: '' }
# CHECK: - { id: 2, class: fprb, preferred-register: '' }
# CHECK: - { id: 3, class: gprb, preferred-register: '' }
# CHECK: - { id: 4, class: gprb, preferred-register: '' }

registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
  - { id: 4, class: _ }
body:             |
  bb.0:
    liveins: $r0, $r1

    %0(s32) = COPY $r0
    %1(s32) = COPY $r1
    %2(s64) = G_MERGE_VALUES %0(s32), %1(s32)
    %3(s32), %4(s32) = G_UNMERGE_VALUES %2(s64)
    $r0 = COPY %3(s32)
    $r1 = COPY %4(s32)
    BX_RET 14, $noreg, implicit $r0, implicit $r1

...
