@@ -139,62 +139,64 @@ __attribute__((target_version("sve2-sm4"))) int fmv(void) { return 0; }
139139// CHECK: define dso_local i32 @fmv._Mwfxt() #[[wfxt:[0-9]+]] {
140140__attribute__((target_version ("wfxt" ))) int fmv (void ) { return 0 ; }
141141
142- // CHECK: define dso_local i32 @fmv._MaesMbf16MbtiMcrc() #[[multiple_features :[0-9]+]] {
143- __attribute__((target_version ("aes+bf16 +bti+crc " ))) int fmv (void ) { return 0 ; }
142+ // CHECK: define dso_local i32 @fmv._MaesMbf16MbtiMcrc() #[[unordered_features_with_duplicates :[0-9]+]] {
143+ __attribute__((target_version ("crc+bti +bti+bti+aes+aes+bf16 " ))) int fmv (void ) { return 0 ; }
144144
145145// CHECK-NOT: define dso_local i32 @fmv._M{{.*}}
146146__attribute__((target_version ("non_existent_extension" ))) int fmv (void );
147147
148+ // CHECK: define dso_local i32 @fmv.default() #[[default:[0-9]+]] {
148149__attribute__((target_version ("default" ))) int fmv (void );
149150
150151int caller () {
151152 return fmv ();
152153}
153154
154- // CHECK: attributes #[[aes]] = { {{.*}} "fmv-features"="+aes"
155- // CHECK: attributes #[[bf16]] = { {{.*}} "fmv-features"="+bf16"
156- // CHECK: attributes #[[bti]] = { {{.*}} "fmv-features"="+bti"
157- // CHECK: attributes #[[crc]] = { {{.*}} "fmv-features"="+crc"
158- // CHECK: attributes #[[dit]] = { {{.*}} "fmv-features"="+dit"
159- // CHECK: attributes #[[dotprod]] = { {{.*}} "fmv-features"="+dotprod"
160- // CHECK: attributes #[[dpb]] = { {{.*}} "fmv-features"="+dpb"
161- // CHECK: attributes #[[dpb2]] = { {{.*}} "fmv-features"="+dpb2"
162- // CHECK: attributes #[[f32mm]] = { {{.*}} "fmv-features"="+f32mm"
163- // CHECK: attributes #[[f64mm]] = { {{.*}} "fmv-features"="+f64mm"
164- // CHECK: attributes #[[fcma]] = { {{.*}} "fmv-features"="+fcma"
165- // CHECK: attributes #[[flagm]] = { {{.*}} "fmv-features"="+flagm"
166- // CHECK: attributes #[[flagm2]] = { {{.*}} "fmv-features"="+flagm2"
167- // CHECK: attributes #[[fp]] = { {{.*}} "fmv-features"="+fp"
168- // CHECK: attributes #[[fp16]] = { {{.*}} "fmv-features"="+fp16"
169- // CHECK: attributes #[[fp16fml]] = { {{.*}} "fmv-features"="+fp16fml"
170- // CHECK: attributes #[[frintts]] = { {{.*}} "fmv-features"="+frintts"
171- // CHECK: attributes #[[i8mm]] = { {{.*}} "fmv-features"="+i8mm"
172- // CHECK: attributes #[[jscvt]] = { {{.*}} "fmv-features"="+jscvt"
173- // CHECK: attributes #[[ls64]] = { {{.*}} "fmv-features"="+ls64"
174- // CHECK: attributes #[[lse]] = { {{.*}} "fmv-features"="+lse"
175- // CHECK: attributes #[[memtag]] = { {{.*}} "fmv-features"="+memtag"
176- // CHECK: attributes #[[mops]] = { {{.*}} "fmv-features"="+mops"
177- // CHECK: attributes #[[predres]] = { {{.*}} "fmv-features"="+predres"
178- // CHECK: attributes #[[rcpc]] = { {{.*}} "fmv-features"="+rcpc"
179- // CHECK: attributes #[[rcpc2]] = { {{.*}} "fmv-features"="+rcpc2"
180- // CHECK: attributes #[[rcpc3]] = { {{.*}} "fmv-features"="+rcpc3"
181- // CHECK: attributes #[[rdm]] = { {{.*}} "fmv-features"="+rdm"
182- // CHECK: attributes #[[rng]] = { {{.*}} "fmv-features"="+rng"
183- // CHECK: attributes #[[sb]] = { {{.*}} "fmv-features"="+sb"
184- // CHECK: attributes #[[sha2]] = { {{.*}} "fmv-features"="+sha2"
185- // CHECK: attributes #[[sha3]] = { {{.*}} "fmv-features"="+sha3"
186- // CHECK: attributes #[[simd]] = { {{.*}} "fmv-features"="+simd"
187- // CHECK: attributes #[[sm4]] = { {{.*}} "fmv-features"="+sm4"
188- // CHECK: attributes #[[sme]] = { {{.*}} "fmv-features"="+sme"
189- // CHECK: attributes #[[sme_f64f64]] = { {{.*}} "fmv-features"="+sme-f64f64"
190- // CHECK: attributes #[[sme_i16i64]] = { {{.*}} "fmv-features"="+sme-i16i64"
191- // CHECK: attributes #[[sme2]] = { {{.*}} "fmv-features"="+sme2"
192- // CHECK: attributes #[[ssbs]] = { {{.*}} "fmv-features"="+ssbs"
193- // CHECK: attributes #[[sve]] = { {{.*}} "fmv-features"="+sve"
194- // CHECK: attributes #[[sve2]] = { {{.*}} "fmv-features"="+sve2"
195- // CHECK: attributes #[[sve2_aes]] = { {{.*}} "fmv-features"="+sve2-aes"
196- // CHECK: attributes #[[sve2_bitperm]] = { {{.*}} "fmv-features"="+sve2-bitperm"
197- // CHECK: attributes #[[sve2_sha3]] = { {{.*}} "fmv-features"="+sve2-sha3"
198- // CHECK: attributes #[[sve2_sm4]] = { {{.*}} "fmv-features"="+sve2-sm4"
199- // CHECK: attributes #[[wfxt]] = { {{.*}} "fmv-features"="+wfxt"
200- // CHECK: attributes #[[multiple_features]] = { {{.*}} "fmv-features"="+aes,+bf16,+bti,+crc"
155+ // CHECK: attributes #[[aes]] = {{.*}} "fmv-features"="aes"
156+ // CHECK: attributes #[[bf16]] = {{.*}} "fmv-features"="bf16"
157+ // CHECK: attributes #[[bti]] = {{.*}} "fmv-features"="bti"
158+ // CHECK: attributes #[[crc]] = {{.*}} "fmv-features"="crc"
159+ // CHECK: attributes #[[dit]] = {{.*}} "fmv-features"="dit"
160+ // CHECK: attributes #[[dotprod]] = {{.*}} "fmv-features"="dotprod"
161+ // CHECK: attributes #[[dpb]] = {{.*}} "fmv-features"="dpb"
162+ // CHECK: attributes #[[dpb2]] = {{.*}} "fmv-features"="dpb2"
163+ // CHECK: attributes #[[f32mm]] = {{.*}} "fmv-features"="f32mm"
164+ // CHECK: attributes #[[f64mm]] = {{.*}} "fmv-features"="f64mm"
165+ // CHECK: attributes #[[fcma]] = {{.*}} "fmv-features"="fcma"
166+ // CHECK: attributes #[[flagm]] = {{.*}} "fmv-features"="flagm"
167+ // CHECK: attributes #[[flagm2]] = {{.*}} "fmv-features"="flagm2"
168+ // CHECK: attributes #[[fp]] = {{.*}} "fmv-features"="fp"
169+ // CHECK: attributes #[[fp16]] = {{.*}} "fmv-features"="fp16"
170+ // CHECK: attributes #[[fp16fml]] = {{.*}} "fmv-features"="fp16fml"
171+ // CHECK: attributes #[[frintts]] = {{.*}} "fmv-features"="frintts"
172+ // CHECK: attributes #[[i8mm]] = {{.*}} "fmv-features"="i8mm"
173+ // CHECK: attributes #[[jscvt]] = {{.*}} "fmv-features"="jscvt"
174+ // CHECK: attributes #[[ls64]] = {{.*}} "fmv-features"="ls64"
175+ // CHECK: attributes #[[lse]] = {{.*}} "fmv-features"="lse"
176+ // CHECK: attributes #[[memtag]] = {{.*}} "fmv-features"="memtag"
177+ // CHECK: attributes #[[mops]] = {{.*}} "fmv-features"="mops"
178+ // CHECK: attributes #[[predres]] = {{.*}} "fmv-features"="predres"
179+ // CHECK: attributes #[[rcpc]] = {{.*}} "fmv-features"="rcpc"
180+ // CHECK: attributes #[[rcpc2]] = {{.*}} "fmv-features"="rcpc2"
181+ // CHECK: attributes #[[rcpc3]] = {{.*}} "fmv-features"="rcpc3"
182+ // CHECK: attributes #[[rdm]] = {{.*}} "fmv-features"="rdm"
183+ // CHECK: attributes #[[rng]] = {{.*}} "fmv-features"="rng"
184+ // CHECK: attributes #[[sb]] = {{.*}} "fmv-features"="sb"
185+ // CHECK: attributes #[[sha2]] = {{.*}} "fmv-features"="sha2"
186+ // CHECK: attributes #[[sha3]] = {{.*}} "fmv-features"="sha3"
187+ // CHECK: attributes #[[simd]] = {{.*}} "fmv-features"="simd"
188+ // CHECK: attributes #[[sm4]] = {{.*}} "fmv-features"="sm4"
189+ // CHECK: attributes #[[sme]] = {{.*}} "fmv-features"="sme"
190+ // CHECK: attributes #[[sme_f64f64]] = {{.*}} "fmv-features"="sme-f64f64"
191+ // CHECK: attributes #[[sme_i16i64]] = {{.*}} "fmv-features"="sme-i16i64"
192+ // CHECK: attributes #[[sme2]] = {{.*}} "fmv-features"="sme2"
193+ // CHECK: attributes #[[ssbs]] = {{.*}} "fmv-features"="ssbs"
194+ // CHECK: attributes #[[sve]] = {{.*}} "fmv-features"="sve"
195+ // CHECK: attributes #[[sve2]] = {{.*}} "fmv-features"="sve2"
196+ // CHECK: attributes #[[sve2_aes]] = {{.*}} "fmv-features"="sve2-aes"
197+ // CHECK: attributes #[[sve2_bitperm]] = {{.*}} "fmv-features"="sve2-bitperm"
198+ // CHECK: attributes #[[sve2_sha3]] = {{.*}} "fmv-features"="sve2-sha3"
199+ // CHECK: attributes #[[sve2_sm4]] = {{.*}} "fmv-features"="sve2-sm4"
200+ // CHECK: attributes #[[wfxt]] = {{.*}} "fmv-features"="wfxt"
201+ // CHECK: attributes #[[unordered_features_with_duplicates]] = {{.*}} "fmv-features"="aes,bf16,bti,crc"
202+ // CHECK: attributes #[[default]] = {{.*}} "fmv-features"
0 commit comments