# RUN: llc -mtriple arm-- -run-pass=legalizer %s -o - | FileCheck %s
--- |
  define void @test_load_store_64() #0 { ret void }

  define void @test_constants_s64() { ret void }

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

  attributes #0 = { "target-features"="+vfp2" }
...
---
name:            test_load_store_64
# CHECK-LABEL: name: test_load_store_64
legalized:       false
# CHECK: legalized: true
regBankSelected: false
selected:        false
tracksRegLiveness: true
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

    ; These are legal, so we should find them unchanged in the output
    ; CHECK-DAG: G_STORE {{%[0-9]+}}(s64), %0(p0)
    ; CHECK-DAG: {{%[0-9]+}}:_(s64) = G_LOAD %0(p0)
    %0(p0) = COPY $r0
    %1(s64) = G_LOAD %0(p0) :: (load 8)
    G_STORE %1(s64), %0(p0) :: (store 8)
    BX_RET 14, $noreg
...
---
name:            test_constants_s64
# CHECK-LABEL: name: test_constants_s64
legalized:       false
# CHECK: legalized: true
regBankSelected: false
selected:        false
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
body:             |
  bb.0:
    liveins: $r0

    %0(p0) = COPY $r0

    %1(s64) = G_CONSTANT i64 17179869200 ; = 4 * 2 ^ 32 + 16
    %2(s32), %3(s32) = G_UNMERGE_VALUES %1(s64)
    G_STORE %2(s32), %0(p0) :: (store 4)
    G_STORE %3(s32), %0(p0) :: (store 4)
    ; CHECK-DAG: {{%[0-9]+}}:_(s32) = G_CONSTANT i32 4
    ; CHECK-DAG: {{%[0-9]+}}:_(s32) = G_CONSTANT i32 16
    ; CHECK-NOT: G_CONSTANT i64

    BX_RET 14, $noreg
...
---
name:            test_phi_s64
# CHECK-LABEL: name: test_phi_s64
legalized:       false
# CHECK: legalized: true
regBankSelected: false
selected:        false
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
  - { id: 4, class: _ }
body:             |
  bb.0:
    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:
    G_BR %bb.2

  bb.2:
    %4(s64) = G_PHI %2(s64), %bb.0, %3(s64), %bb.1
    ; G_PHI with s64 is legal when we have floating point support, so we should
    ; find it unchanged in the output
    ; CHECK: G_PHI {{%[0-9]+}}(s64), %bb.0, {{%[0-9]+}}(s64), %bb.1
    $d0 = COPY %4(s64)
    BX_RET 14, $noreg, implicit $d0
...
