[llvm] [clang] [AArch64][SVE2.1] Add intrinsics for quadword loads/stores with unscaled offset (PR #70474)
David Sherwood via cfe-commits
cfe-commits at lists.llvm.org
Fri Nov 3 07:31:39 PDT 2023
================
@@ -2614,6 +2619,37 @@ def int_aarch64_sve_ld1_pn_x4 : SVE2p1_Load_PN_X4_Intrinsic;
def int_aarch64_sve_ldnt1_pn_x2 : SVE2p1_Load_PN_X2_Intrinsic;
def int_aarch64_sve_ldnt1_pn_x4 : SVE2p1_Load_PN_X4_Intrinsic;
+//
+// SVE2.1 - Contiguous loads to quadword (single vector)
+//
+
+class SVE2p1_Single_Load_Quadword
+ : DefaultAttrsIntrinsic<[llvm_anyvector_ty],
+ [llvm_nxv1i1_ty, llvm_ptr_ty],
+ [IntrReadMem]>;
+def int_aarch64_sve_ld1uwq : SVE2p1_Single_Load_Quadword;
+def int_aarch64_sve_ld1udq : SVE2p1_Single_Load_Quadword;
+
+//
+// SVE2.1 - Contiguous store from quadword (single vector)
+//
+
+class SVE2p1_Single_Store_Quadword
+ : DefaultAttrsIntrinsic<[],
+ [llvm_anyvector_ty, llvm_nxv1i1_ty, llvm_ptr_ty],
+ [IntrArgMemOnly]>;
----------------
david-arm wrote:
This also needs the IntrWriteMem flag otherwise we could end up incorrectly rescheduling stores in the wrong place.
https://github.com/llvm/llvm-project/pull/70474
More information about the cfe-commits
mailing list