Skip to content

Commit 7f69fc1

Browse files
committed
fixup: add missing IsStreamingCompatible to svundef
1 parent 8e486d1 commit 7f69fc1

File tree

2 files changed

+15
-15
lines changed

2 files changed

+15
-15
lines changed

clang/include/clang/Basic/arm_sve.td

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1276,20 +1276,20 @@ def SVZIP2Q_BF16 : SInst<"svzip2q[_{d}]", "ddd", "b", MergeNone, "aarc
12761276

12771277
////////////////////////////////////////////////////////////////////////////////
12781278
// Vector creation
1279-
def SVUNDEF_1 : SInst<"svundef_{d}", "dv", "csilUcUsUiUlhfd", MergeNone, "", [IsUndef]>;
1280-
def SVUNDEF_2 : SInst<"svundef2_{d}", "2v", "csilUcUsUiUlhfd", MergeNone, "", [IsUndef]>;
1281-
def SVUNDEF_3 : SInst<"svundef3_{d}", "3v", "csilUcUsUiUlhfd", MergeNone, "", [IsUndef]>;
1282-
def SVUNDEF_4 : SInst<"svundef4_{d}", "4v", "csilUcUsUiUlhfd", MergeNone, "", [IsUndef]>;
1279+
def SVUNDEF_1 : SInst<"svundef_{d}", "dv", "csilUcUsUiUlhfd", MergeNone, "", [IsUndef, IsStreamingCompatible]>;
1280+
def SVUNDEF_2 : SInst<"svundef2_{d}", "2v", "csilUcUsUiUlhfd", MergeNone, "", [IsUndef, IsStreamingCompatible]>;
1281+
def SVUNDEF_3 : SInst<"svundef3_{d}", "3v", "csilUcUsUiUlhfd", MergeNone, "", [IsUndef, IsStreamingCompatible]>;
1282+
def SVUNDEF_4 : SInst<"svundef4_{d}", "4v", "csilUcUsUiUlhfd", MergeNone, "", [IsUndef, IsStreamingCompatible]>;
12831283

12841284
def SVCREATE_2 : SInst<"svcreate2[_{d}]", "2dd", "csilUcUsUiUlhfd", MergeNone, "", [IsTupleCreate]>;
12851285
def SVCREATE_3 : SInst<"svcreate3[_{d}]", "3ddd", "csilUcUsUiUlhfd", MergeNone, "", [IsTupleCreate]>;
12861286
def SVCREATE_4 : SInst<"svcreate4[_{d}]", "4dddd", "csilUcUsUiUlhfd", MergeNone, "", [IsTupleCreate]>;
12871287

12881288
let TargetGuard = "sve,bf16" in {
1289-
def SVUNDEF_1_BF16 : SInst<"svundef_{d}", "dv", "b", MergeNone, "", [IsUndef]>;
1290-
def SVUNDEF_2_BF16 : SInst<"svundef2_{d}", "2v", "b", MergeNone, "", [IsUndef]>;
1291-
def SVUNDEF_3_BF16 : SInst<"svundef3_{d}", "3v", "b", MergeNone, "", [IsUndef]>;
1292-
def SVUNDEF_4_BF16 : SInst<"svundef4_{d}", "4v", "b", MergeNone, "", [IsUndef]>;
1289+
def SVUNDEF_1_BF16 : SInst<"svundef_{d}", "dv", "b", MergeNone, "", [IsUndef, IsStreamingCompatible]>;
1290+
def SVUNDEF_2_BF16 : SInst<"svundef2_{d}", "2v", "b", MergeNone, "", [IsUndef, IsStreamingCompatible]>;
1291+
def SVUNDEF_3_BF16 : SInst<"svundef3_{d}", "3v", "b", MergeNone, "", [IsUndef, IsStreamingCompatible]>;
1292+
def SVUNDEF_4_BF16 : SInst<"svundef4_{d}", "4v", "b", MergeNone, "", [IsUndef, IsStreamingCompatible]>;
12931293

12941294
def SVCREATE_2_BF16 : SInst<"svcreate2[_{d}]", "2dd", "b", MergeNone, "", [IsTupleCreate]>;
12951295
def SVCREATE_3_BF16 : SInst<"svcreate3[_{d}]", "3ddd", "b", MergeNone, "", [IsTupleCreate]>;

clang/test/Sema/aarch64-sme-intrinsics/acle_sme_imm.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
#include <arm_sme_draft_spec_subject_to_change.h>
1414

15-
void test_range_0_0(uint32_t slice, svbool_t pg, void *ptr) {
15+
void test_range_0_0(uint32_t slice, svbool_t pg, void *ptr) __arm_streaming {
1616
// expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 0]}}
1717
SVE_ACLE_FUNC(svld1_hor_za8,,,)(-1, slice, pg, ptr);
1818
// expected-error@+1 {{argument value 1 is outside the valid range [0, 0]}}
@@ -32,7 +32,7 @@ void test_range_0_0(uint32_t slice, svbool_t pg, void *ptr) {
3232
SVE_ACLE_FUNC(svwrite_ver_za8, _s8, _m,)(1, slice, pg, svundef_s8());
3333
}
3434

35-
void test_range_0_1(uint32_t slice, svbool_t pg, void *ptr) {
35+
void test_range_0_1(uint32_t slice, svbool_t pg, void *ptr) __arm_streaming {
3636
// expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 1]}}
3737
SVE_ACLE_FUNC(svld1_hor_za16,,,)(-1, slice, pg, ptr);
3838
// expected-error@+1 {{argument value 2 is outside the valid range [0, 1]}}
@@ -52,7 +52,7 @@ void test_range_0_1(uint32_t slice, svbool_t pg, void *ptr) {
5252
SVE_ACLE_FUNC(svwrite_ver_za16, _s16, _m,)(2, slice, pg, svundef_s16());
5353
}
5454

55-
void test_range_0_3(uint32_t slice, svbool_t pg, void *ptr) {
55+
void test_range_0_3(uint32_t slice, svbool_t pg, void *ptr) __arm_streaming {
5656
// expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 3]}}
5757
SVE_ACLE_FUNC(svld1_hor_za32,,,)(-1, slice, pg, ptr);
5858
// expected-error@+1 {{argument value 4 is outside the valid range [0, 3]}}
@@ -90,7 +90,7 @@ void test_range_0_3(uint32_t slice, svbool_t pg, void *ptr) {
9090
SVE_ACLE_FUNC(svusmops_za32, _u8, _m,)(-1, pg, pg, svundef_u8(), svundef_s8());
9191
}
9292

93-
void test_range_0_7(uint32_t slice, svbool_t pg, void *ptr) {
93+
void test_range_0_7(uint32_t slice, svbool_t pg, void *ptr) __arm_streaming {
9494
// expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 7]}}
9595
SVE_ACLE_FUNC(svld1_hor_za64,,,)(-1, slice, pg, ptr);
9696
// expected-error@+1 {{argument value 8 is outside the valid range [0, 7]}}
@@ -133,7 +133,7 @@ void test_range_0_7(uint32_t slice, svbool_t pg, void *ptr) {
133133
SVE_ACLE_FUNC(svmops_za64, _f64, _m,)(-1, pg, pg, svundef_f64(), svundef_f64());
134134
}
135135

136-
void test_range_0_15(uint32_t slice, svbool_t pg, void *ptr) {
136+
void test_range_0_15(uint32_t slice, svbool_t pg, void *ptr) __arm_streaming {
137137
// expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 15]}}
138138
SVE_ACLE_FUNC(svld1_hor_za128,,,)(-1, slice, pg, ptr);
139139
// expected-error@+1 {{argument value 16 is outside the valid range [0, 15]}}
@@ -153,14 +153,14 @@ void test_range_0_15(uint32_t slice, svbool_t pg, void *ptr) {
153153
SVE_ACLE_FUNC(svwrite_ver_za128, _s8, _m,)(16, slice, pg, svundef_s8());
154154
}
155155

156-
void test_range_0_255(svbool_t pg, void *ptr) {
156+
void test_range_0_255(svbool_t pg, void *ptr) __arm_streaming {
157157
// expected-error@+1 {{argument value 256 is outside the valid range [0, 255]}}
158158
SVE_ACLE_FUNC(svzero_mask_za,,,)(256);
159159
// expected-error@+1 {{argument value 18446744073709551615 is outside the valid range [0, 255]}}
160160
SVE_ACLE_FUNC(svzero_mask_za,,,)(-1);
161161
}
162162

163-
void test_constant(uint64_t u64, svbool_t pg, void *ptr) {
163+
void test_constant(uint64_t u64, svbool_t pg, void *ptr) __arm_streaming {
164164
SVE_ACLE_FUNC(svld1_hor_za8,,,)(u64, u64, pg, ptr); // expected-error {{argument to 'svld1_hor_za8' must be a constant integer}}
165165
SVE_ACLE_FUNC(svst1_hor_za32,,,)(u64, 0, pg, ptr); // expected-error {{argument to 'svst1_hor_za32' must be a constant integer}}
166166
SVE_ACLE_FUNC(svld1_hor_vnum_za8,,,)(u64, 0, pg, ptr, u64); // expected-error {{argument to 'svld1_hor_vnum_za8' must be a constant integer}}

0 commit comments

Comments
 (0)