@@ -3031,11 +3031,11 @@ let TargetPrefix = "aarch64" in {
30313031
30323032  def int_aarch64_sme_write_lane_zt
30333033       :  DefaultAttrsIntrinsic<[], [llvm_i32_ty, llvm_anyvector_ty, llvm_i32_ty],
3034-             [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrNoMem, IntrHasSideEffects ]>;
3034+             [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrInaccessibleMemOnly ]>;
30353035
30363036  def int_aarch64_sme_write_zt
30373037       :  DefaultAttrsIntrinsic<[], [llvm_i32_ty, llvm_anyvector_ty],
3038-             [ImmArg<ArgIndex<0>>, IntrNoMem, IntrHasSideEffects ]>;
3038+             [ImmArg<ArgIndex<0>>, IntrInaccessibleMemOnly, IntrWriteMem ]>;
30393039
30403040
30413041  def int_aarch64_sme_zero : DefaultAttrsIntrinsic<[], [llvm_i32_ty], [ImmArg<ArgIndex<0>>]>;
@@ -3851,50 +3851,50 @@ let TargetPrefix = "aarch64" in {
38513851  def int_aarch64_sve_sel_x4  : SVE2_VG4_Sel_Intrinsic;
38523852
38533853  class SME_LDR_STR_ZT_Intrinsic
3854-     : DefaultAttrsIntrinsic<[], [llvm_i32_ty, llvm_ptr_ty]>;
3854+     : DefaultAttrsIntrinsic<[], [llvm_i32_ty, llvm_ptr_ty], [IntrInaccessibleMemOrArgMemOnly] >;
38553855  def int_aarch64_sme_ldr_zt : SME_LDR_STR_ZT_Intrinsic;
38563856  def int_aarch64_sme_str_zt : SME_LDR_STR_ZT_Intrinsic;
38573857
38583858  //
38593859  //  Zero ZT0
38603860  //
3861-   def int_aarch64_sme_zero_zt : DefaultAttrsIntrinsic<[], [llvm_i32_ty], [ImmArg<ArgIndex<0>>, IntrWriteMem]>;
3861+   def int_aarch64_sme_zero_zt : DefaultAttrsIntrinsic<[], [llvm_i32_ty], [ImmArg<ArgIndex<0>>, IntrInaccessibleMemOnly,  IntrWriteMem]>;
38623862
38633863  //
38643864  // Lookup table expand one register
38653865  //
38663866  def int_aarch64_sme_luti2_lane_zt
38673867    : DefaultAttrsIntrinsic<[llvm_anyvector_ty], [llvm_i32_ty, llvm_nxv16i8_ty, llvm_i32_ty],
3868-                             [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrReadMem]>;
3868+                             [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrInaccessibleMemOnly,  IntrReadMem]>;
38693869  def int_aarch64_sme_luti4_lane_zt
38703870    : DefaultAttrsIntrinsic<[llvm_anyvector_ty], [llvm_i32_ty, llvm_nxv16i8_ty, llvm_i32_ty],
3871-                             [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrReadMem]>;
3871+                             [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrInaccessibleMemOnly,  IntrReadMem]>;
38723872
38733873  // Lookup table expand two registers
38743874  //
38753875  def int_aarch64_sme_luti2_lane_zt_x2
38763876    : DefaultAttrsIntrinsic<[llvm_anyvector_ty, LLVMMatchType<0>], [llvm_i32_ty, llvm_nxv16i8_ty, llvm_i32_ty],
3877-                             [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrReadMem]>;
3877+                             [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrInaccessibleMemOnly,  IntrReadMem]>;
38783878  def int_aarch64_sme_luti4_lane_zt_x2
38793879    : DefaultAttrsIntrinsic<[llvm_anyvector_ty, LLVMMatchType<0>], [llvm_i32_ty, llvm_nxv16i8_ty, llvm_i32_ty],
3880-                             [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrReadMem]>;
3881- 
3880+                             [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrInaccessibleMemOnly,  IntrReadMem]>;
3881+                              
38823882  //
38833883  // Lookup table expand four registers
38843884  //
38853885  def int_aarch64_sme_luti2_lane_zt_x4
38863886    : DefaultAttrsIntrinsic<[llvm_anyvector_ty, LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>],
38873887                            [llvm_i32_ty, llvm_nxv16i8_ty, llvm_i32_ty],
3888-                             [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrReadMem]>;
3888+                             [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrInaccessibleMemOnly,  IntrReadMem]>;
38893889  def int_aarch64_sme_luti4_lane_zt_x4
38903890    : DefaultAttrsIntrinsic<[llvm_anyvector_ty, LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>],
38913891                            [llvm_i32_ty, llvm_nxv16i8_ty, llvm_i32_ty],
3892-                             [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrReadMem]>;
3892+                             [ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrInaccessibleMemOnly,  IntrReadMem]>;
38933893
38943894  def int_aarch64_sme_luti4_zt_x4
38953895    : DefaultAttrsIntrinsic<[llvm_anyvector_ty, LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>],
38963896                            [llvm_i32_ty, llvm_nxv16i8_ty, llvm_nxv16i8_ty],
3897-                             [ImmArg<ArgIndex<0>>, IntrNoMem, IntrHasSideEffects ]>;
3897+                             [ImmArg<ArgIndex<0>>, IntrInaccessibleMemOnly, IntrReadMem ]>;
38983898
38993899
39003900  //
0 commit comments