Skip to content

Commit 4d9164f

Browse files
committed
[Clang][AArch64] Model ZT0 register using inaccessible memory
1 parent 606e0b4 commit 4d9164f

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

llvm/include/llvm/IR/IntrinsicsAArch64.td

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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, IntrWriteMem]>;
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>>]>;
@@ -3808,50 +3808,50 @@ let TargetPrefix = "aarch64" in {
38083808
def int_aarch64_sve_sel_x4 : SVE2_VG4_Sel_Intrinsic;
38093809

38103810
class SME_LDR_STR_ZT_Intrinsic
3811-
: DefaultAttrsIntrinsic<[], [llvm_i32_ty, llvm_ptr_ty]>;
3811+
: DefaultAttrsIntrinsic<[], [llvm_i32_ty, llvm_ptr_ty], [IntrInaccessibleMemOrArgMemOnly]>;
38123812
def int_aarch64_sme_ldr_zt : SME_LDR_STR_ZT_Intrinsic;
38133813
def int_aarch64_sme_str_zt : SME_LDR_STR_ZT_Intrinsic;
38143814

38153815
//
38163816
// Zero ZT0
38173817
//
3818-
def int_aarch64_sme_zero_zt : DefaultAttrsIntrinsic<[], [llvm_i32_ty], [ImmArg<ArgIndex<0>>, IntrWriteMem]>;
3818+
def int_aarch64_sme_zero_zt : DefaultAttrsIntrinsic<[], [llvm_i32_ty], [ImmArg<ArgIndex<0>>, IntrInaccessibleMemOnly, IntrWriteMem]>;
38193819

38203820
//
38213821
// Lookup table expand one register
38223822
//
38233823
def int_aarch64_sme_luti2_lane_zt
38243824
: DefaultAttrsIntrinsic<[llvm_anyvector_ty], [llvm_i32_ty, llvm_nxv16i8_ty, llvm_i32_ty],
3825-
[ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrReadMem]>;
3825+
[ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrInaccessibleMemOnly, IntrReadMem]>;
38263826
def int_aarch64_sme_luti4_lane_zt
38273827
: DefaultAttrsIntrinsic<[llvm_anyvector_ty], [llvm_i32_ty, llvm_nxv16i8_ty, llvm_i32_ty],
3828-
[ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrReadMem]>;
3828+
[ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrInaccessibleMemOnly, IntrReadMem]>;
38293829

38303830
// Lookup table expand two registers
38313831
//
38323832
def int_aarch64_sme_luti2_lane_zt_x2
38333833
: DefaultAttrsIntrinsic<[llvm_anyvector_ty, LLVMMatchType<0>], [llvm_i32_ty, llvm_nxv16i8_ty, llvm_i32_ty],
3834-
[ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrReadMem]>;
3834+
[ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrInaccessibleMemOnly, IntrReadMem]>;
38353835
def int_aarch64_sme_luti4_lane_zt_x2
38363836
: DefaultAttrsIntrinsic<[llvm_anyvector_ty, LLVMMatchType<0>], [llvm_i32_ty, llvm_nxv16i8_ty, llvm_i32_ty],
3837-
[ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrReadMem]>;
3837+
[ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrInaccessibleMemOnly, IntrReadMem]>;
38383838

38393839
//
38403840
// Lookup table expand four registers
38413841
//
38423842
def int_aarch64_sme_luti2_lane_zt_x4
38433843
: DefaultAttrsIntrinsic<[llvm_anyvector_ty, LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>],
38443844
[llvm_i32_ty, llvm_nxv16i8_ty, llvm_i32_ty],
3845-
[ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrReadMem]>;
3845+
[ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrInaccessibleMemOnly, IntrReadMem]>;
38463846
def int_aarch64_sme_luti4_lane_zt_x4
38473847
: DefaultAttrsIntrinsic<[llvm_anyvector_ty, LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>],
38483848
[llvm_i32_ty, llvm_nxv16i8_ty, llvm_i32_ty],
3849-
[ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrReadMem]>;
3849+
[ImmArg<ArgIndex<0>>, ImmArg<ArgIndex<2>>, IntrInaccessibleMemOnly, IntrReadMem]>;
38503850

38513851
def int_aarch64_sme_luti4_zt_x4
38523852
: DefaultAttrsIntrinsic<[llvm_anyvector_ty, LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>],
38533853
[llvm_i32_ty, llvm_nxv16i8_ty, llvm_nxv16i8_ty],
3854-
[ImmArg<ArgIndex<0>>, IntrNoMem, IntrHasSideEffects]>;
3854+
[ImmArg<ArgIndex<0>>, IntrInaccessibleMemOnly, IntrReadMem]>;
38553855

38563856

38573857
//

0 commit comments

Comments
 (0)