3
3
4
4
// RUN: %clang --target=aarch64-linux-gnu --rtlib=compiler-rt -emit-llvm -S -o - %s | FileCheck %s
5
5
6
- // CHECK: define dso_local i32 @fmv._Maes() #[[ATTR0 :[0-9]+]] {
6
+ // CHECK: define dso_local i32 @fmv._Maes() #[[aes :[0-9]+]] {
7
7
__attribute__((target_version ("aes" ))) int fmv (void ) { return 0 ; }
8
8
9
- // CHECK: define dso_local i32 @fmv._Mbf16() #[[bf16_ebf16 :[0-9]+]] {
9
+ // CHECK: define dso_local i32 @fmv._Mbf16() #[[bf16 :[0-9]+]] {
10
10
__attribute__((target_version ("bf16" ))) int fmv (void ) { return 0 ; }
11
11
12
12
// CHECK: define dso_local i32 @fmv._Mbti() #[[bti:[0-9]+]] {
@@ -15,7 +15,7 @@ __attribute__((target_version("bti"))) int fmv(void) { return 0; }
15
15
// CHECK: define dso_local i32 @fmv._Mcrc() #[[crc:[0-9]+]] {
16
16
__attribute__((target_version ("crc" ))) int fmv (void ) { return 0 ; }
17
17
18
- // CHECK: define dso_local i32 @fmv._Mdgh() #[[ATTR0 :[0-9]+]] {
18
+ // CHECK: define dso_local i32 @fmv._Mdgh() #[[default :[0-9]+]] {
19
19
__attribute__((target_version ("dgh" ))) int fmv (void ) { return 0 ; }
20
20
21
21
// CHECK: define dso_local i32 @fmv._Mdit() #[[dit:[0-9]+]] {
@@ -30,7 +30,7 @@ __attribute__((target_version("dpb"))) int fmv(void) { return 0; }
30
30
// CHECK: define dso_local i32 @fmv._Mdpb2() #[[dpb2:[0-9]+]] {
31
31
__attribute__((target_version ("dpb2" ))) int fmv (void ) { return 0 ; }
32
32
33
- // CHECK: define dso_local i32 @fmv._Mebf16() #[[bf16_ebf16:[0-9]+ ]] {
33
+ // CHECK: define dso_local i32 @fmv._Mebf16() #[[default ]] {
34
34
__attribute__((target_version ("ebf16" ))) int fmv (void ) { return 0 ; }
35
35
36
36
// CHECK: define dso_local i32 @fmv._Mf32mm() #[[f32mm:[0-9]+]] {
@@ -48,7 +48,7 @@ __attribute__((target_version("flagm"))) int fmv(void) { return 0; }
48
48
// CHECK: define dso_local i32 @fmv._Mflagm2() #[[flagm2:[0-9]+]] {
49
49
__attribute__((target_version ("flagm2" ))) int fmv (void ) { return 0 ; }
50
50
51
- // CHECK: define dso_local i32 @fmv._Mfp() #[[ATTR0:[0-9]+ ]] {
51
+ // CHECK: define dso_local i32 @fmv._Mfp() #[[default ]] {
52
52
__attribute__((target_version ("fp" ))) int fmv (void ) { return 0 ; }
53
53
54
54
// CHECK: define dso_local i32 @fmv._Mfp16() #[[fp16:[0-9]+]] {
@@ -75,13 +75,13 @@ __attribute__((target_version("lse"))) int fmv(void) { return 0; }
75
75
// CHECK: define dso_local i32 @fmv._Mmemtag() #[[memtag:[0-9]+]] {
76
76
__attribute__((target_version ("memtag" ))) int fmv (void ) { return 0 ; }
77
77
78
- // CHECK: define dso_local i32 @fmv._Mmemtag3() #[[memtag:[0-9]+ ]] {
78
+ // CHECK: define dso_local i32 @fmv._Mmemtag3() #[[default ]] {
79
79
__attribute__((target_version ("memtag3" ))) int fmv (void ) { return 0 ; }
80
80
81
81
// CHECK: define dso_local i32 @fmv._Mmops() #[[mops:[0-9]+]] {
82
82
__attribute__((target_version ("mops" ))) int fmv (void ) { return 0 ; }
83
83
84
- // CHECK: define dso_local i32 @fmv._Mpmull() #[[pmull:[0-9]+ ]] {
84
+ // CHECK: define dso_local i32 @fmv._Mpmull() #[[default ]] {
85
85
__attribute__((target_version ("pmull" ))) int fmv (void ) { return 0 ; }
86
86
87
87
// CHECK: define dso_local i32 @fmv._Mpredres() #[[predres:[0-9]+]] {
@@ -90,7 +90,7 @@ __attribute__((target_version("predres"))) int fmv(void) { return 0; }
90
90
// CHECK: define dso_local i32 @fmv._Mrcpc() #[[rcpc:[0-9]+]] {
91
91
__attribute__((target_version ("rcpc" ))) int fmv (void ) { return 0 ; }
92
92
93
- // CHECK: define dso_local i32 @fmv._Mrcpc2() #[[rcpc :[0-9]+]] {
93
+ // CHECK: define dso_local i32 @fmv._Mrcpc2() #[[rcpc2 :[0-9]+]] {
94
94
__attribute__((target_version ("rcpc2" ))) int fmv (void ) { return 0 ; }
95
95
96
96
// CHECK: define dso_local i32 @fmv._Mrcpc3() #[[rcpc3:[0-9]+]] {
@@ -102,7 +102,7 @@ __attribute__((target_version("rdm"))) int fmv(void) { return 0; }
102
102
// CHECK: define dso_local i32 @fmv._Mrng() #[[rng:[0-9]+]] {
103
103
__attribute__((target_version ("rng" ))) int fmv (void ) { return 0 ; }
104
104
105
- // CHECK: define dso_local i32 @fmv._Mrpres() #[[ATTR0:[0-9]+ ]] {
105
+ // CHECK: define dso_local i32 @fmv._Mrpres() #[[default ]] {
106
106
__attribute__((target_version ("rpres" ))) int fmv (void ) { return 0 ; }
107
107
108
108
// CHECK: define dso_local i32 @fmv._Msb() #[[sb:[0-9]+]] {
@@ -114,7 +114,7 @@ __attribute__((target_version("sha2"))) int fmv(void) { return 0; }
114
114
// CHECK: define dso_local i32 @fmv._Msha3() #[[sha3:[0-9]+]] {
115
115
__attribute__((target_version ("sha3" ))) int fmv (void ) { return 0 ; }
116
116
117
- // CHECK: define dso_local i32 @fmv._Msimd() #[[ATTR0:[0-9]+ ]] {
117
+ // CHECK: define dso_local i32 @fmv._Msimd() #[[default ]] {
118
118
__attribute__((target_version ("simd" ))) int fmv (void ) { return 0 ; }
119
119
120
120
// CHECK: define dso_local i32 @fmv._Msm4() #[[sm4:[0-9]+]] {
@@ -138,25 +138,25 @@ __attribute__((target_version("ssbs"))) int fmv(void) { return 0; }
138
138
// CHECK: define dso_local i32 @fmv._Msve() #[[sve:[0-9]+]] {
139
139
__attribute__((target_version ("sve" ))) int fmv (void ) { return 0 ; }
140
140
141
- // CHECK: define dso_local i32 @fmv._Msve-bf16() #[[sve_bf16_ebf16:[0-9]+ ]] {
141
+ // CHECK: define dso_local i32 @fmv._Msve-bf16() #[[default ]] {
142
142
__attribute__((target_version ("sve-bf16" ))) int fmv (void ) { return 0 ; }
143
143
144
- // CHECK: define dso_local i32 @fmv._Msve-ebf16() #[[sve_bf16_ebf16:[0-9]+ ]] {
144
+ // CHECK: define dso_local i32 @fmv._Msve-ebf16() #[[default ]] {
145
145
__attribute__((target_version ("sve-ebf16" ))) int fmv (void ) { return 0 ; }
146
146
147
- // CHECK: define dso_local i32 @fmv._Msve-i8mm() #[[sve_i8mm:[0-9]+ ]] {
147
+ // CHECK: define dso_local i32 @fmv._Msve-i8mm() #[[default ]] {
148
148
__attribute__((target_version ("sve-i8mm" ))) int fmv (void ) { return 0 ; }
149
149
150
150
// CHECK: define dso_local i32 @fmv._Msve2() #[[sve2:[0-9]+]] {
151
151
__attribute__((target_version ("sve2" ))) int fmv (void ) { return 0 ; }
152
152
153
- // CHECK: define dso_local i32 @fmv._Msve2-aes() #[[sve2_aes_sve2_pmull128 :[0-9]+]] {
153
+ // CHECK: define dso_local i32 @fmv._Msve2-aes() #[[sve2_aes :[0-9]+]] {
154
154
__attribute__((target_version ("sve2-aes" ))) int fmv (void ) { return 0 ; }
155
155
156
156
// CHECK: define dso_local i32 @fmv._Msve2-bitperm() #[[sve2_bitperm:[0-9]+]] {
157
157
__attribute__((target_version ("sve2-bitperm" ))) int fmv (void ) { return 0 ; }
158
158
159
- // CHECK: define dso_local i32 @fmv._Msve2-pmull128() #[[sve2_aes_sve2_pmull128:[0-9]+ ]] {
159
+ // CHECK: define dso_local i32 @fmv._Msve2-pmull128() #[[default ]] {
160
160
__attribute__((target_version ("sve2-pmull128" ))) int fmv (void ) { return 0 ; }
161
161
162
162
// CHECK: define dso_local i32 @fmv._Msve2-sha3() #[[sve2_sha3:[0-9]+]] {
@@ -177,10 +177,11 @@ int caller() {
177
177
return fmv ();
178
178
}
179
179
180
- // CHECK: attributes #[[ATTR0 ]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+v8a"
181
- // CHECK: attributes #[[bf16_ebf16 ]] = { {{.*}} "target-features"="+bf16,+fp-armv8,+neon,+outline-atomics,+v8a"
180
+ // CHECK: attributes #[[aes ]] = { {{.*}} "target-features"="+aes, +fp-armv8,+neon,+outline-atomics,+v8a"
181
+ // CHECK: attributes #[[bf16 ]] = { {{.*}} "target-features"="+bf16,+fp-armv8,+neon,+outline-atomics,+v8a"
182
182
// CHECK: attributes #[[bti]] = { {{.*}} "target-features"="+bti,+fp-armv8,+neon,+outline-atomics,+v8a"
183
183
// CHECK: attributes #[[crc]] = { {{.*}} "target-features"="+crc,+fp-armv8,+neon,+outline-atomics,+v8a"
184
+ // CHECK: attributes #[[default]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+v8a"
184
185
// CHECK: attributes #[[dit]] = { {{.*}} "target-features"="+dit,+fp-armv8,+neon,+outline-atomics,+v8a"
185
186
// CHECK: attributes #[[dotprod]] = { {{.*}} "target-features"="+dotprod,+fp-armv8,+neon,+outline-atomics,+v8a"
186
187
// CHECK: attributes #[[dpb]] = { {{.*}} "target-features"="+ccpp,+fp-armv8,+neon,+outline-atomics,+v8a"
@@ -199,10 +200,10 @@ int caller() {
199
200
// CHECK: attributes #[[lse]] = { {{.*}} "target-features"="+fp-armv8,+lse,+neon,+outline-atomics,+v8a"
200
201
// CHECK: attributes #[[memtag]] = { {{.*}} "target-features"="+fp-armv8,+mte,+neon,+outline-atomics,+v8a"
201
202
// CHECK: attributes #[[mops]] = { {{.*}} "target-features"="+fp-armv8,+mops,+neon,+outline-atomics,+v8a"
202
- // CHECK: attributes #[[pmull]] = { {{.*}} "target-features"="+aes,+fp-armv8,+neon,+outline-atomics,+v8a"
203
203
// CHECK: attributes #[[predres]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+predres,+v8a"
204
204
// CHECK: attributes #[[rcpc]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+rcpc,+v8a"
205
- // CHECK: attributes #[[rcpc3]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+rcpc,+rcpc3,+v8a"
205
+ // CHECK: attributes #[[rcpc2]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+rcpc,+rcpc-immo,+v8a"
206
+ // CHECK: attributes #[[rcpc3]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+rcpc,+rcpc-immo,+rcpc3,+v8a"
206
207
// CHECK: attributes #[[rdm]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+rdm,+v8a"
207
208
// CHECK: attributes #[[rng]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+rand,+v8a"
208
209
// CHECK: attributes #[[sb]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+sb,+v8a"
@@ -215,11 +216,9 @@ int caller() {
215
216
// CHECK: attributes #[[sme2]] = { {{.*}} "target-features"="+bf16,+fp-armv8,+neon,+outline-atomics,+sme,+sme2,+v8a"
216
217
// CHECK: attributes #[[ssbs]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+ssbs,+v8a"
217
218
// CHECK: attributes #[[sve]] = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+neon,+outline-atomics,+sve,+v8a"
218
- // CHECK: attributes #[[sve_bf16_ebf16]] = { {{.*}} "target-features"="+bf16,+fp-armv8,+fullfp16,+neon,+outline-atomics,+sve,+v8a"
219
- // CHECK: attributes #[[sve_i8mm]] = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+i8mm,+neon,+outline-atomics,+sve,+v8a"
220
219
// CHECK: attributes #[[sve2]] = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+neon,+outline-atomics,+sve,+sve2,+v8a"
221
- // CHECK: attributes #[[sve2_aes_sve2_pmull128 ]] = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+neon,+outline-atomics,+sve,+sve2,+sve2-aes,+v8a"
220
+ // CHECK: attributes #[[sve2_aes ]] = { {{.*}} "target-features"="+aes, +fp-armv8,+fullfp16,+neon,+outline-atomics,+sve,+sve2,+sve2-aes,+v8a"
222
221
// CHECK: attributes #[[sve2_bitperm]] = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+neon,+outline-atomics,+sve,+sve2,+sve2-bitperm,+v8a"
223
- // CHECK: attributes #[[sve2_sha3]] = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+neon,+outline-atomics,+sve,+sve2,+sve2-sha3,+v8a"
224
- // CHECK: attributes #[[sve2_sm4]] = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+neon,+outline-atomics,+sve,+sve2,+sve2-sm4,+v8a"
222
+ // CHECK: attributes #[[sve2_sha3]] = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+neon,+outline-atomics,+sha2,+sha3,+ sve,+sve2,+sve2-sha3,+v8a"
223
+ // CHECK: attributes #[[sve2_sm4]] = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+neon,+outline-atomics,+sm4,+ sve,+sve2,+sve2-sm4,+v8a"
225
224
// CHECK: attributes #[[wfxt]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+v8a,+wfxt"
0 commit comments