# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -O0 -march=aarch64 -run-pass=legalizer %s -o - | FileCheck %s
--- |
  target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
  target triple = "aarch64"

  define void @store_v2p0(<2 x i8*> %v, <2 x i8*>* %ptr) {
    store <2 x i8*> %v, <2 x i8*>* %ptr
    ret void
  }

  define <2 x i8*> @load_v2p0(<2 x i8*>* %ptr) {
    %v = load <2 x i8*>, <2 x i8*>* %ptr
    ret <2 x i8*> %v
  }

  define void @load_v2p1(<2 x i8*>* %ptr) { ret void }

...
---
name:            store_v2p0
alignment:       4
tracksRegLiveness: true
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $q0, $x0

    ; CHECK-LABEL: name: store_v2p0
    ; CHECK: liveins: $q0, $x0
    ; CHECK: [[COPY:%[0-9]+]]:_(<2 x p0>) = COPY $q0
    ; CHECK: [[COPY1:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK: [[BITCAST:%[0-9]+]]:_(<2 x s64>) = G_BITCAST [[COPY]](<2 x p0>)
    ; CHECK: G_STORE [[BITCAST]](<2 x s64>), [[COPY1]](p0) :: (store 16 into %ir.ptr)
    ; CHECK: RET_ReallyLR
    %0:_(<2 x p0>) = COPY $q0
    %1:_(p0) = COPY $x0
    G_STORE %0(<2 x p0>), %1(p0) :: (store 16 into %ir.ptr)
    RET_ReallyLR

...
---
name:            load_v2p0
alignment:       4
tracksRegLiveness: true
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $x0

    ; CHECK-LABEL: name: load_v2p0
    ; CHECK: liveins: $x0
    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK: [[LOAD:%[0-9]+]]:_(<2 x s64>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.ptr)
    ; CHECK: [[BITCAST:%[0-9]+]]:_(<2 x p0>) = G_BITCAST [[LOAD]](<2 x s64>)
    ; CHECK: $q0 = COPY [[BITCAST]](<2 x p0>)
    ; CHECK: RET_ReallyLR implicit $q0
    %0:_(p0) = COPY $x0
    %1:_(<2 x p0>) = G_LOAD %0(p0) :: (load 16 from %ir.ptr)
    $q0 = COPY %1(<2 x p0>)
    RET_ReallyLR implicit $q0

...
---
name:            load_v2p1
alignment:       4
tracksRegLiveness: true
machineFunctionInfo: {}
body:             |
  bb.1 (%ir-block.0):
    liveins: $x0

    ; Check that we don't try to bitcast vectors of pointers w/ non-zero addrspaces.

    ; CHECK-LABEL: name: load_v2p1
    ; CHECK: liveins: $x0
    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
    ; CHECK: [[LOAD:%[0-9]+]]:_(<2 x p1>) = G_LOAD [[COPY]](p0) :: (load 16 from %ir.ptr)
    ; CHECK: $q0 = COPY [[LOAD]](<2 x p1>)
    ; CHECK: RET_ReallyLR implicit $q0
    %0:_(p0) = COPY $x0
    %1:_(<2 x p1>) = G_LOAD %0(p0) :: (load 16 from %ir.ptr)
    $q0 = COPY %1(<2 x p1>)
    RET_ReallyLR implicit $q0

...
