mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-15 07:59:50 +00:00
Add new intrinsics for Neon vldN_lane and vstN_lane operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79716 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
50310f9007
commit
b8b85cfd4d
@ -326,6 +326,23 @@ let TargetPrefix = "arm" in {
|
||||
LLVMMatchType<0>, LLVMMatchType<0>],
|
||||
[llvm_ptr_ty], [IntrReadArgMem]>;
|
||||
|
||||
// Vector load N-element structure to one lane.
|
||||
def int_arm_neon_vld2lane : Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>],
|
||||
[llvm_ptr_ty, LLVMMatchType<0>,
|
||||
LLVMMatchType<0>, llvm_i32_ty],
|
||||
[IntrReadArgMem]>;
|
||||
def int_arm_neon_vld3lane : Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>,
|
||||
LLVMMatchType<0>],
|
||||
[llvm_ptr_ty, LLVMMatchType<0>,
|
||||
LLVMMatchType<0>, LLVMMatchType<0>,
|
||||
llvm_i32_ty], [IntrReadArgMem]>;
|
||||
def int_arm_neon_vld4lane : Intrinsic<[llvm_anyvector_ty, LLVMMatchType<0>,
|
||||
LLVMMatchType<0>, LLVMMatchType<0>],
|
||||
[llvm_ptr_ty, LLVMMatchType<0>,
|
||||
LLVMMatchType<0>, LLVMMatchType<0>,
|
||||
LLVMMatchType<0>, llvm_i32_ty],
|
||||
[IntrReadArgMem]>;
|
||||
|
||||
// Interleaving vector stores from N-element structures.
|
||||
def int_arm_neon_vst1 : Intrinsic<[llvm_void_ty],
|
||||
[llvm_ptr_ty, llvm_anyvector_ty],
|
||||
@ -341,4 +358,19 @@ let TargetPrefix = "arm" in {
|
||||
[llvm_ptr_ty, llvm_anyvector_ty,
|
||||
LLVMMatchType<0>, LLVMMatchType<0>,
|
||||
LLVMMatchType<0>], [IntrWriteArgMem]>;
|
||||
|
||||
// Vector store N-element structure from one lane.
|
||||
def int_arm_neon_vst2lane : Intrinsic<[llvm_void_ty],
|
||||
[llvm_ptr_ty, llvm_anyvector_ty,
|
||||
LLVMMatchType<0>, llvm_i32_ty],
|
||||
[IntrWriteArgMem]>;
|
||||
def int_arm_neon_vst3lane : Intrinsic<[llvm_void_ty],
|
||||
[llvm_ptr_ty, llvm_anyvector_ty,
|
||||
LLVMMatchType<0>, LLVMMatchType<0>,
|
||||
llvm_i32_ty], [IntrWriteArgMem]>;
|
||||
def int_arm_neon_vst4lane : Intrinsic<[llvm_void_ty],
|
||||
[llvm_ptr_ty, llvm_anyvector_ty,
|
||||
LLVMMatchType<0>, LLVMMatchType<0>,
|
||||
LLVMMatchType<0>, llvm_i32_ty],
|
||||
[IntrWriteArgMem]>;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user