# RUN: llc -O0 -run-pass=legalizer %s -o - | FileCheck %s

--- |
  target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
  target triple = "aarch64--"
  define void @test_load(i8* %addr) {
  entry:
    ret void
  }
  define void @test_store(i8* %addr) {
  entry:
    ret void
  }
...

---
name:            test_load
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
  - { id: 4, class: _ }
  - { id: 5, class: _ }
  - { id: 6, class: _ }
  - { id: 7, class: _ }
  - { id: 8, class: _ }
body: |
  bb.0.entry:
    liveins: $x0, $x1, $x2, $x3
    ; CHECK-LABEL: name: test_load
    %0(p0) = COPY $x0

    %1(s1) = G_LOAD %0 :: (load 1 from %ir.addr)
    %9:_(s32) = G_ANYEXT %1
    $w0 = COPY %9

    ; CHECK: %2:_(s8) = G_LOAD %0(p0) :: (load 1 from %ir.addr)
    %2(s8) = G_LOAD %0 :: (load 1 from %ir.addr)
    %10:_(s32) = G_ANYEXT %2
    $w0 = COPY %10

    ; CHECK: %3:_(s16) = G_LOAD %0(p0) :: (load 2 from %ir.addr)
    %3(s16) = G_LOAD %0 :: (load 2 from %ir.addr)
    %11:_(s32) = G_ANYEXT %3
    $w0 = COPY %11

    ; CHECK: %4:_(s32) = G_LOAD %0(p0) :: (load 4 from %ir.addr)
    %4(s32) = G_LOAD %0 :: (load 4 from %ir.addr)
    $w0 = COPY %4

    ; CHECK: %5:_(s64) = G_LOAD %0(p0) :: (load 8 from %ir.addr)
    %5(s64) = G_LOAD %0 :: (load 8 from %ir.addr)
    $x0 = COPY %5

    %6(p0) = G_LOAD %0(p0) :: (load 8 from %ir.addr)
    %12:_(s64) = G_PTRTOINT %6
    $x0 = COPY %12

    ; CHECK: %7:_(<2 x s32>) = G_LOAD %0(p0) :: (load 8 from %ir.addr)
    %7(<2 x s32>) = G_LOAD %0(p0) :: (load 8 from %ir.addr)
    %13:_(s64) = G_BITCAST %7
    $x0 = COPY %13

    ; CHECK: [[LOAD0:%[0-9]+]]:_(s64) = G_LOAD %0(p0) :: (load 8 from %ir.addr, align 16)
    ; CHECK: [[OFFSET1:%[0-9]+]]:_(s64) = G_CONSTANT i64 8
    ; CHECK: [[GEP1:%[0-9]+]]:_(p0) = G_GEP %0, [[OFFSET1]](s64)
    ; CHECK: [[LOAD1:%[0-9]+]]:_(s64) = G_LOAD [[GEP1]](p0) :: (load 8 from %ir.addr + 8)
    ; CHECK: %8:_(s128) = G_MERGE_VALUES [[LOAD0]](s64), [[LOAD1]](s64)
    %8(s128) = G_LOAD %0(p0) :: (load 16 from %ir.addr)
    %14:_(s64) = G_TRUNC %8
    $x0 = COPY %14
...

---
name:            test_store
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
  - { id: 3, class: _ }
  - { id: 4, class: _ }
  - { id: 5, class: _ }
  - { id: 6, class: _ }
  - { id: 7, class: _ }
body: |
  bb.0.entry:
    liveins: $x0, $x1, $x2, $x3
    ; CHECK-LABEL: name: test_store

    %0(p0) = COPY $x0
    %1(s32) = COPY $w1

    ; CHECK: [[C1:%.*]]:_(s32) = G_CONSTANT i32 1
    ; CHECK: [[B:%.*]]:_(s32) = COPY %1(s32)
    ; CHECK: [[COPY_C1:%.*]]:_(s32) = COPY [[C1]]
    ; CHECK: [[AND:%.*]]:_(s32) = G_AND [[B]], [[COPY_C1]]
    ; CHECK: [[BIT8:%.*]]:_(s8) = G_TRUNC [[AND]]


    ; CHECK: G_STORE [[BIT8]](s8), %0(p0) :: (store 1 into %ir.addr)
    %2(s1) = G_TRUNC %1
    G_STORE %2, %0 :: (store 1 into %ir.addr)

    ; CHECK: G_STORE %3(s8), %0(p0) :: (store 1 into %ir.addr)
    %3(s8) = G_TRUNC %1
    G_STORE %3, %0 :: (store 1 into %ir.addr)

    ; CHECK: G_STORE %4(s16), %0(p0) :: (store 2 into %ir.addr)
    %4(s16) = G_TRUNC %1
    G_STORE %4, %0 :: (store 2 into %ir.addr)

    ; CHECK: G_STORE %1(s32), %0(p0) :: (store 4 into %ir.addr)
    G_STORE %1, %0 :: (store 4 into %ir.addr)

    ; CHECK: G_STORE %5(s64), %0(p0) :: (store 8 into %ir.addr)
    %5(s64) = G_PTRTOINT %0(p0)
    G_STORE %5, %0 :: (store 8 into %ir.addr)

    ; CHECK: G_STORE %0(p0), %0(p0) :: (store 8 into %ir.addr)
    G_STORE %0(p0), %0(p0) :: (store 8 into %ir.addr)

    ; CHECK: G_STORE %5(s64), %0(p0) :: (store 8 into %ir.addr, align 16)
    ; CHECK: [[OFFSET1:%[0-9]+]]:_(s64) = G_CONSTANT i64 8
    ; CHECK: [[GEP1:%[0-9]+]]:_(p0) = G_GEP %0, [[OFFSET1]](s64)
    ; CHECK: G_STORE %6(s64), [[GEP1]](p0) :: (store 8 into %ir.addr + 8)
    %6(s64) = G_PTRTOINT %0(p0)
    %7(s128) = G_MERGE_VALUES %5, %6
    G_STORE %7, %0 :: (store 16 into %ir.addr)
...
