mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
84887ceca3
Also add copy support for FPR16. Also add a missing test case file belongs to commit r197361. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199463 91177308-0d34-0410-b5e6-96231b3b80d8
30 lines
964 B
LLVM
30 lines
964 B
LLVM
; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon | FileCheck %s
|
|
|
|
; Test load/store of v1i8, v1i16, v1i32 types can be selected correctly
|
|
define void @load.store.v1i8(<1 x i8>* %ptr, <1 x i8>* %ptr2) {
|
|
; CHECK-LABEL: load.store.v1i8:
|
|
; CHECK: ldr b{{[0-9]+}}, [x{{[0-9]+|sp}}]
|
|
; CHECK: str b{{[0-9]+}}, [x{{[0-9]+|sp}}]
|
|
%a = load <1 x i8>* %ptr
|
|
store <1 x i8> %a, <1 x i8>* %ptr2
|
|
ret void
|
|
}
|
|
|
|
define void @load.store.v1i16(<1 x i16>* %ptr, <1 x i16>* %ptr2) {
|
|
; CHECK-LABEL: load.store.v1i16:
|
|
; CHECK: ldr h{{[0-9]+}}, [x{{[0-9]+|sp}}]
|
|
; CHECK: str h{{[0-9]+}}, [x{{[0-9]+|sp}}]
|
|
%a = load <1 x i16>* %ptr
|
|
store <1 x i16> %a, <1 x i16>* %ptr2
|
|
ret void
|
|
}
|
|
|
|
define void @load.store.v1i32(<1 x i32>* %ptr, <1 x i32>* %ptr2) {
|
|
; CHECK-LABEL: load.store.v1i32:
|
|
; CHECK: ldr s{{[0-9]+}}, [x{{[0-9]+|sp}}]
|
|
; CHECK: str s{{[0-9]+}}, [x{{[0-9]+|sp}}]
|
|
%a = load <1 x i32>* %ptr
|
|
store <1 x i32> %a, <1 x i32>* %ptr2
|
|
ret void
|
|
}
|