[llvm-commits] [llvm] r79716 - /llvm/trunk/include/llvm/IntrinsicsARM.td
Bob Wilson
bob.wilson at apple.com
Fri Aug 21 19:28:46 PDT 2009
Author: bwilson
Date: Fri Aug 21 21:28:46 2009
New Revision: 79716
URL: http://llvm.org/viewvc/llvm-project?rev=79716&view=rev
Log:
Add new intrinsics for Neon vldN_lane and vstN_lane operations.
Modified:
llvm/trunk/include/llvm/IntrinsicsARM.td
Modified: llvm/trunk/include/llvm/IntrinsicsARM.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IntrinsicsARM.td?rev=79716&r1=79715&r2=79716&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IntrinsicsARM.td (original)
+++ llvm/trunk/include/llvm/IntrinsicsARM.td Fri Aug 21 21:28:46 2009
@@ -326,6 +326,23 @@
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 @@
[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]>;
}
More information about the llvm-commits
mailing list