33
44// RUN: %clang --target=aarch64-linux-gnu --rtlib=compiler-rt -emit-llvm -S -o - %s | FileCheck %s
55
6- // CHECK: define dso_local i32 @fmv._Maes() #[[ATTR0 :[0-9]+]] {
6+ // CHECK: define dso_local i32 @fmv._Maes() #[[aes :[0-9]+]] {
77__attribute__((target_version ("aes" ))) int fmv (void ) { return 0 ; }
88
99// CHECK: define dso_local i32 @fmv._Mbf16() #[[bf16_ebf16:[0-9]+]] {
@@ -81,9 +81,6 @@ __attribute__((target_version("memtag3"))) int fmv(void) { return 0; }
8181// CHECK: define dso_local i32 @fmv._Mmops() #[[mops:[0-9]+]] {
8282__attribute__((target_version ("mops" ))) int fmv (void ) { return 0 ; }
8383
84- // CHECK: define dso_local i32 @fmv._Mpmull() #[[pmull:[0-9]+]] {
85- __attribute__((target_version ("pmull" ))) int fmv (void ) { return 0 ; }
86-
8784// CHECK: define dso_local i32 @fmv._Mpredres() #[[predres:[0-9]+]] {
8885__attribute__((target_version ("predres" ))) int fmv (void ) { return 0 ; }
8986
@@ -150,15 +147,12 @@ __attribute__((target_version("sve-i8mm"))) int fmv(void) { return 0; }
150147// CHECK: define dso_local i32 @fmv._Msve2() #[[sve2:[0-9]+]] {
151148__attribute__((target_version ("sve2" ))) int fmv (void ) { return 0 ; }
152149
153- // CHECK: define dso_local i32 @fmv._Msve2-aes() #[[sve2_aes_sve2_pmull128 :[0-9]+]] {
150+ // CHECK: define dso_local i32 @fmv._Msve2-aes() #[[sve2_aes :[0-9]+]] {
154151__attribute__((target_version ("sve2-aes" ))) int fmv (void ) { return 0 ; }
155152
156153// CHECK: define dso_local i32 @fmv._Msve2-bitperm() #[[sve2_bitperm:[0-9]+]] {
157154__attribute__((target_version ("sve2-bitperm" ))) int fmv (void ) { return 0 ; }
158155
159- // CHECK: define dso_local i32 @fmv._Msve2-pmull128() #[[sve2_aes_sve2_pmull128:[0-9]+]] {
160- __attribute__((target_version ("sve2-pmull128" ))) int fmv (void ) { return 0 ; }
161-
162156// CHECK: define dso_local i32 @fmv._Msve2-sha3() #[[sve2_sha3:[0-9]+]] {
163157__attribute__((target_version ("sve2-sha3" ))) int fmv (void ) { return 0 ; }
164158
@@ -177,10 +171,11 @@ int caller() {
177171 return fmv ();
178172}
179173
180- // CHECK: attributes #[[ATTR0 ]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+v8a"
174+ // CHECK: attributes #[[aes ]] = { {{.*}} "target-features"="+aes, +fp-armv8,+neon,+outline-atomics,+v8a"
181175// CHECK: attributes #[[bf16_ebf16]] = { {{.*}} "target-features"="+bf16,+fp-armv8,+neon,+outline-atomics,+v8a"
182176// CHECK: attributes #[[bti]] = { {{.*}} "target-features"="+bti,+fp-armv8,+neon,+outline-atomics,+v8a"
183177// CHECK: attributes #[[crc]] = { {{.*}} "target-features"="+crc,+fp-armv8,+neon,+outline-atomics,+v8a"
178+ // CHECK: attributes #[[ATTR0]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+v8a"
184179// CHECK: attributes #[[dit]] = { {{.*}} "target-features"="+dit,+fp-armv8,+neon,+outline-atomics,+v8a"
185180// CHECK: attributes #[[dotprod]] = { {{.*}} "target-features"="+dotprod,+fp-armv8,+neon,+outline-atomics,+v8a"
186181// CHECK: attributes #[[dpb]] = { {{.*}} "target-features"="+ccpp,+fp-armv8,+neon,+outline-atomics,+v8a"
@@ -199,7 +194,6 @@ int caller() {
199194// CHECK: attributes #[[lse]] = { {{.*}} "target-features"="+fp-armv8,+lse,+neon,+outline-atomics,+v8a"
200195// CHECK: attributes #[[memtag]] = { {{.*}} "target-features"="+fp-armv8,+mte,+neon,+outline-atomics,+v8a"
201196// 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"
203197// CHECK: attributes #[[predres]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+predres,+v8a"
204198// CHECK: attributes #[[rcpc]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+rcpc,+v8a"
205199// CHECK: attributes #[[rcpc3]] = { {{.*}} "target-features"="+fp-armv8,+neon,+outline-atomics,+rcpc,+rcpc3,+v8a"
@@ -218,7 +212,7 @@ int caller() {
218212// CHECK: attributes #[[sve_bf16_ebf16]] = { {{.*}} "target-features"="+bf16,+fp-armv8,+fullfp16,+neon,+outline-atomics,+sve,+v8a"
219213// CHECK: attributes #[[sve_i8mm]] = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+i8mm,+neon,+outline-atomics,+sve,+v8a"
220214// 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"
215+ // CHECK: attributes #[[sve2_aes ]] = { {{.*}} "target-features"="+aes, +fp-armv8,+fullfp16,+neon,+outline-atomics,+sve,+sve2,+sve2-aes,+v8a"
222216// CHECK: attributes #[[sve2_bitperm]] = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+neon,+outline-atomics,+sve,+sve2,+sve2-bitperm,+v8a"
223217// CHECK: attributes #[[sve2_sha3]] = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+neon,+outline-atomics,+sve,+sve2,+sve2-sha3,+v8a"
224218// CHECK: attributes #[[sve2_sm4]] = { {{.*}} "target-features"="+fp-armv8,+fullfp16,+neon,+outline-atomics,+sve,+sve2,+sve2-sm4,+v8a"
0 commit comments