1
1
// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 3
2
2
// REQUIRES: aarch64-registered-target
3
- // RUN: %clang_cc1 -DDISABLE_SME_ATTRIBUTES - triple aarch64-none-linux-gnu -target-feature +sme -target-feature +sve -S -O1 -Werror -emit-llvm -o - %s | FileCheck %s -check-prefixes=CHECK,CHECK-C
4
- // RUN: %clang_cc1 -DDISABLE_SME_ATTRIBUTES - triple aarch64-none-linux-gnu -target-feature +sme -target-feature +sve -S -O1 -Werror -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefixes=CHECK,CHECK-CXX
5
- // RUN: %clang_cc1 -DDISABLE_SME_ATTRIBUTES - triple aarch64-none-linux-gnu -target-feature +sme -target-feature +sve -S -O1 -Werror -o /dev/null %s
3
+ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme -target-feature +sve -S -O1 -Werror -emit-llvm -o - %s | FileCheck %s -check-prefixes=CHECK,CHECK-C
4
+ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme -target-feature +sve -S -O1 -Werror -emit-llvm -o - -x c++ %s | FileCheck %s -check-prefixes=CHECK,CHECK-CXX
5
+ // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme -target-feature +sve -S -O1 -Werror -o /dev/null %s
6
6
7
7
#include <arm_sme_draft_spec_subject_to_change.h>
8
8
9
- #ifdef DISABLE_SME_ATTRIBUTES
10
- #define ARM_STREAMING_ATTR
11
- #else
12
- #define ARM_STREAMING_ATTR __attribute__((arm_streaming))
13
- #endif
14
-
15
9
// CHECK-C-LABEL: define dso_local void @test_svld1_hor_vnum_za8(
16
10
// CHECK-C-SAME: i32 noundef [[SLICE_BASE:%.*]], <vscale x 16 x i1> [[PG:%.*]], ptr noundef [[PTR:%.*]], i64 noundef [[VNUM:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {
17
11
// CHECK-C-NEXT: entry:
34
28
// CHECK-CXX-NEXT: tail call void @llvm.aarch64.sme.ld1b.horiz(<vscale x 16 x i1> [[PG]], ptr [[TMP1]], i32 0, i32 [[ADD]])
35
29
// CHECK-CXX-NEXT: ret void
36
30
//
37
- ARM_STREAMING_ATTR void test_svld1_hor_vnum_za8 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) {
31
+ void test_svld1_hor_vnum_za8 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) __arm_streaming {
38
32
svld1_hor_vnum_za8 (0 , slice_base , pg , ptr , vnum );
39
33
svld1_hor_vnum_za8 (0 , slice_base + 15 , pg , ptr , vnum );
40
34
}
@@ -63,7 +57,7 @@ ARM_STREAMING_ATTR void test_svld1_hor_vnum_za8(uint32_t slice_base, svbool_t pg
63
57
// CHECK-CXX-NEXT: tail call void @llvm.aarch64.sme.ld1h.horiz(<vscale x 8 x i1> [[TMP0]], ptr [[TMP2]], i32 1, i32 [[ADD]])
64
58
// CHECK-CXX-NEXT: ret void
65
59
//
66
- ARM_STREAMING_ATTR void test_svld1_hor_vnum_za16 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) {
60
+ void test_svld1_hor_vnum_za16 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) __arm_streaming {
67
61
svld1_hor_vnum_za16 (0 , slice_base , pg , ptr , vnum );
68
62
svld1_hor_vnum_za16 (1 , slice_base + 7 , pg , ptr , vnum );
69
63
}
@@ -92,7 +86,7 @@ ARM_STREAMING_ATTR void test_svld1_hor_vnum_za16(uint32_t slice_base, svbool_t p
92
86
// CHECK-CXX-NEXT: tail call void @llvm.aarch64.sme.ld1w.horiz(<vscale x 4 x i1> [[TMP0]], ptr [[TMP2]], i32 3, i32 [[ADD]])
93
87
// CHECK-CXX-NEXT: ret void
94
88
//
95
- ARM_STREAMING_ATTR void test_svld1_hor_vnum_za32 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) {
89
+ void test_svld1_hor_vnum_za32 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) __arm_streaming {
96
90
svld1_hor_vnum_za32 (0 , slice_base , pg , ptr , vnum );
97
91
svld1_hor_vnum_za32 (3 , slice_base + 3 , pg , ptr , vnum );
98
92
}
@@ -121,7 +115,7 @@ ARM_STREAMING_ATTR void test_svld1_hor_vnum_za32(uint32_t slice_base, svbool_t p
121
115
// CHECK-CXX-NEXT: tail call void @llvm.aarch64.sme.ld1d.horiz(<vscale x 2 x i1> [[TMP0]], ptr [[TMP2]], i32 7, i32 [[ADD]])
122
116
// CHECK-CXX-NEXT: ret void
123
117
//
124
- ARM_STREAMING_ATTR void test_svld1_hor_vnum_za64 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) {
118
+ void test_svld1_hor_vnum_za64 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) __arm_streaming {
125
119
svld1_hor_vnum_za64 (0 , slice_base , pg , ptr , vnum );
126
120
svld1_hor_vnum_za64 (7 , slice_base + 1 , pg , ptr , vnum );
127
121
}
@@ -148,7 +142,7 @@ ARM_STREAMING_ATTR void test_svld1_hor_vnum_za64(uint32_t slice_base, svbool_t p
148
142
// CHECK-CXX-NEXT: tail call void @llvm.aarch64.sme.ld1q.horiz(<vscale x 1 x i1> [[TMP0]], ptr [[TMP2]], i32 15, i32 [[SLICE_BASE]])
149
143
// CHECK-CXX-NEXT: ret void
150
144
//
151
- ARM_STREAMING_ATTR void test_svld1_hor_vnum_za128 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) {
145
+ void test_svld1_hor_vnum_za128 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) __arm_streaming {
152
146
svld1_hor_vnum_za128 (0 , slice_base , pg , ptr , vnum );
153
147
svld1_hor_vnum_za128 (15 , slice_base , pg , ptr , vnum );
154
148
}
@@ -175,7 +169,7 @@ ARM_STREAMING_ATTR void test_svld1_hor_vnum_za128(uint32_t slice_base, svbool_t
175
169
// CHECK-CXX-NEXT: tail call void @llvm.aarch64.sme.ld1b.vert(<vscale x 16 x i1> [[PG]], ptr [[TMP1]], i32 0, i32 [[ADD]])
176
170
// CHECK-CXX-NEXT: ret void
177
171
//
178
- ARM_STREAMING_ATTR void test_svld1_ver_hor_za8 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) {
172
+ void test_svld1_ver_hor_za8 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) __arm_streaming {
179
173
svld1_ver_vnum_za8 (0 , slice_base , pg , ptr , vnum );
180
174
svld1_ver_vnum_za8 (0 , slice_base + 15 , pg , ptr , vnum );
181
175
}
@@ -204,7 +198,7 @@ ARM_STREAMING_ATTR void test_svld1_ver_hor_za8(uint32_t slice_base, svbool_t pg,
204
198
// CHECK-CXX-NEXT: tail call void @llvm.aarch64.sme.ld1h.vert(<vscale x 8 x i1> [[TMP0]], ptr [[TMP2]], i32 1, i32 [[ADD]])
205
199
// CHECK-CXX-NEXT: ret void
206
200
//
207
- ARM_STREAMING_ATTR void test_svld1_ver_vnum_za16 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) {
201
+ void test_svld1_ver_vnum_za16 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) __arm_streaming {
208
202
svld1_ver_vnum_za16 (0 , slice_base , pg , ptr , vnum );
209
203
svld1_ver_vnum_za16 (1 , slice_base + 7 , pg , ptr , vnum );
210
204
}
@@ -233,7 +227,7 @@ ARM_STREAMING_ATTR void test_svld1_ver_vnum_za16(uint32_t slice_base, svbool_t p
233
227
// CHECK-CXX-NEXT: tail call void @llvm.aarch64.sme.ld1w.vert(<vscale x 4 x i1> [[TMP0]], ptr [[TMP2]], i32 3, i32 [[ADD]])
234
228
// CHECK-CXX-NEXT: ret void
235
229
//
236
- ARM_STREAMING_ATTR void test_svld1_ver_vnum_za32 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) {
230
+ void test_svld1_ver_vnum_za32 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) __arm_streaming {
237
231
svld1_ver_vnum_za32 (0 , slice_base , pg , ptr , vnum );
238
232
svld1_ver_vnum_za32 (3 , slice_base + 3 , pg , ptr , vnum );
239
233
}
@@ -262,7 +256,7 @@ ARM_STREAMING_ATTR void test_svld1_ver_vnum_za32(uint32_t slice_base, svbool_t p
262
256
// CHECK-CXX-NEXT: tail call void @llvm.aarch64.sme.ld1d.vert(<vscale x 2 x i1> [[TMP0]], ptr [[TMP2]], i32 7, i32 [[ADD]])
263
257
// CHECK-CXX-NEXT: ret void
264
258
//
265
- ARM_STREAMING_ATTR void test_svld1_ver_vnum_za64 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) {
259
+ void test_svld1_ver_vnum_za64 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) __arm_streaming {
266
260
svld1_ver_vnum_za64 (0 , slice_base , pg , ptr , vnum );
267
261
svld1_ver_vnum_za64 (7 , slice_base + 1 , pg , ptr , vnum );
268
262
}
@@ -289,7 +283,7 @@ ARM_STREAMING_ATTR void test_svld1_ver_vnum_za64(uint32_t slice_base, svbool_t p
289
283
// CHECK-CXX-NEXT: tail call void @llvm.aarch64.sme.ld1q.vert(<vscale x 1 x i1> [[TMP0]], ptr [[TMP2]], i32 15, i32 [[SLICE_BASE]])
290
284
// CHECK-CXX-NEXT: ret void
291
285
//
292
- ARM_STREAMING_ATTR void test_svld1_ver_vnum_za128 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) {
286
+ void test_svld1_ver_vnum_za128 (uint32_t slice_base , svbool_t pg , const void * ptr , int64_t vnum ) __arm_streaming {
293
287
svld1_ver_vnum_za128 (0 , slice_base , pg , ptr , vnum );
294
288
svld1_ver_vnum_za128 (15 , slice_base , pg , ptr , vnum );
295
289
}
0 commit comments