Skip to content

Commit 7788ef4

Browse files
authored
[AArch64][SME2] Remove IsPreservesZA from ldr_zt builtin (llvm#74303)
1 parent 3257e4c commit 7788ef4

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

clang/include/clang/Basic/arm_sme.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ let TargetGuard = "sme2" in {
319319
// Spill and fill of ZT0
320320
//
321321
let TargetGuard = "sme2" in {
322-
def SVLDR_ZT : Inst<"svldr_zt", "viQ", "", MergeNone, "aarch64_sme_ldr_zt", [IsOverloadNone, IsStreamingCompatible, IsSharedZA, IsPreservesZA], [ImmCheck<0, ImmCheck0_0>]>;
322+
def SVLDR_ZT : Inst<"svldr_zt", "viQ", "", MergeNone, "aarch64_sme_ldr_zt", [IsOverloadNone, IsStreamingCompatible, IsSharedZA], [ImmCheck<0, ImmCheck0_0>]>;
323323
def SVSTR_ZT : Inst<"svstr_zt", "vi%", "", MergeNone, "aarch64_sme_str_zt", [IsOverloadNone, IsStreamingCompatible, IsSharedZA, IsPreservesZA], [ImmCheck<0, ImmCheck0_0>]>;
324324

325325
//

clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
// CPP-CHECK-NEXT: tail call void @llvm.aarch64.sme.ldr.zt(i32 0, ptr [[BASE:%.*]])
2121
// CPP-CHECK-NEXT: ret void
2222
//
23-
void test_svldr_zt(const void *base) __arm_streaming_compatible __arm_shared_za __arm_preserves_za {
23+
void test_svldr_zt(const void *base) __arm_streaming_compatible __arm_shared_za {
2424
svldr_zt(0, base);
2525
}
2626

clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ void test_outer_product(svbool_t pred, svint16_t s16, svuint16_t u16, svint32_t
2020
svbmops_za32_s32_m(4, pred, pred, s32, s32); // expected-error {{argument value 4 is outside the valid range [0, 3]}}
2121
}
2222

23-
void test_ldr_str_zt(const void *const_base, void *base) __arm_streaming_compatible __arm_shared_za __arm_preserves_za {
23+
void test_ldr_zt(const void *const_base) __arm_streaming_compatible __arm_shared_za {
2424
svldr_zt(1, const_base); // expected-error {{argument value 1 is outside the valid range [0, 0]}}
25+
}
26+
27+
void test_str_zt(void *base) __arm_streaming_compatible __arm_shared_za __arm_preserves_za {
2528
svstr_zt(1, base); // expected-error {{argument value 1 is outside the valid range [0, 0]}}
2629
}
30+

0 commit comments

Comments
 (0)