@@ -27,15 +27,15 @@ int foo() {
2727inline int __attribute__((target_version ("sha2+aes+f64mm" ))) fmv_inline (void ) { return 1 ; }
2828inline int __attribute__((target_version ("fp16+fcma+rdma+sme+ fp16 " ))) fmv_inline (void ) { return 2 ; }
2929inline int __attribute__((target_version ("sha3+i8mm+f32mm" ))) fmv_inline (void ) { return 12 ; }
30- inline int __attribute__((target_version ("dit+ebf16 " ))) fmv_inline (void ) { return 8 ; }
30+ inline int __attribute__((target_version ("bf16 " ))) fmv_inline (void ) { return 8 ; }
3131inline int __attribute__((target_version ("dpb+rcpc2 " ))) fmv_inline (void ) { return 6 ; }
3232inline int __attribute__((target_version (" dpb2 + jscvt" ))) fmv_inline (void ) { return 7 ; }
3333inline int __attribute__((target_version ("rcpc+frintts" ))) fmv_inline (void ) { return 3 ; }
3434inline int __attribute__((target_version ("sve+bf16" ))) fmv_inline (void ) { return 4 ; }
3535inline int __attribute__((target_version ("sve2-aes+sve2-sha3" ))) fmv_inline (void ) { return 5 ; }
3636inline int __attribute__((target_version ("sve2+sve2-aes+sve2-bitperm" ))) fmv_inline (void ) { return 9 ; }
3737inline int __attribute__((target_version ("sve2-sm4+memtag" ))) fmv_inline (void ) { return 10 ; }
38- inline int __attribute__((target_version ("memtag3 +rcpc3+mops" ))) fmv_inline (void ) { return 11 ; }
38+ inline int __attribute__((target_version ("memtag +rcpc3+mops" ))) fmv_inline (void ) { return 11 ; }
3939inline int __attribute__((target_version ("aes+dotprod" ))) fmv_inline (void ) { return 13 ; }
4040inline int __attribute__((target_version ("simd+fp16fml" ))) fmv_inline (void ) { return 14 ; }
4141inline int __attribute__((target_version ("fp+sm4" ))) fmv_inline (void ) { return 15 ; }
@@ -680,7 +680,7 @@ int caller(void) { return used_def_without_default_decl() + used_decl_without_de
680680//
681681//
682682// CHECK: Function Attrs: noinline nounwind optnone
683- // CHECK-LABEL: define {{[^@]+}}@fmv_inline._MditMebf16
683+ // CHECK-LABEL: define {{[^@]+}}@fmv_inline._Mbf16
684684// CHECK-SAME: () #[[ATTR28:[0-9]+]] {
685685// CHECK-NEXT: entry:
686686// CHECK-NEXT: ret i32 8
@@ -736,7 +736,7 @@ int caller(void) { return used_def_without_default_decl() + used_decl_without_de
736736//
737737//
738738// CHECK: Function Attrs: noinline nounwind optnone
739- // CHECK-LABEL: define {{[^@]+}}@fmv_inline._Mmemtag3MmopsMrcpc3
739+ // CHECK-LABEL: define {{[^@]+}}@fmv_inline._MmemtagMmopsMrcpc3
740740// CHECK-SAME: () #[[ATTR36:[0-9]+]] {
741741// CHECK-NEXT: entry:
742742// CHECK-NEXT: ret i32 11
@@ -789,12 +789,12 @@ int caller(void) { return used_def_without_default_decl() + used_decl_without_de
789789// CHECK-NEXT: ret ptr @fmv_inline._MfcmaMfp16MrdmMsme
790790// CHECK: resolver_else:
791791// CHECK-NEXT: [[TMP4:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
792- // CHECK-NEXT: [[TMP5:%.*]] = and i64 [[TMP4]], 864726312827224064
793- // CHECK-NEXT: [[TMP6:%.*]] = icmp eq i64 [[TMP5]], 864726312827224064
792+ // CHECK-NEXT: [[TMP5:%.*]] = and i64 [[TMP4]], 864708720641179648
793+ // CHECK-NEXT: [[TMP6:%.*]] = icmp eq i64 [[TMP5]], 864708720641179648
794794// CHECK-NEXT: [[TMP7:%.*]] = and i1 true, [[TMP6]]
795795// CHECK-NEXT: br i1 [[TMP7]], label [[RESOLVER_RETURN1:%.*]], label [[RESOLVER_ELSE2:%.*]]
796796// CHECK: resolver_return1:
797- // CHECK-NEXT: ret ptr @fmv_inline._Mmemtag3MmopsMrcpc3
797+ // CHECK-NEXT: ret ptr @fmv_inline._MmemtagMmopsMrcpc3
798798// CHECK: resolver_else2:
799799// CHECK-NEXT: [[TMP8:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
800800// CHECK-NEXT: [[TMP9:%.*]] = and i64 [[TMP8]], 893353197568
@@ -845,68 +845,68 @@ int caller(void) { return used_def_without_default_decl() + used_decl_without_de
845845// CHECK-NEXT: ret ptr @fmv_inline._Mbf16Msve
846846// CHECK: resolver_else14:
847847// CHECK-NEXT: [[TMP32:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
848- // CHECK-NEXT: [[TMP33:%.*]] = and i64 [[TMP32]], 268566528
849- // CHECK-NEXT: [[TMP34:%.*]] = icmp eq i64 [[TMP33]], 268566528
848+ // CHECK-NEXT: [[TMP33:%.*]] = and i64 [[TMP32]], 20971520
849+ // CHECK-NEXT: [[TMP34:%.*]] = icmp eq i64 [[TMP33]], 20971520
850850// CHECK-NEXT: [[TMP35:%.*]] = and i1 true, [[TMP34]]
851851// CHECK-NEXT: br i1 [[TMP35]], label [[RESOLVER_RETURN15:%.*]], label [[RESOLVER_ELSE16:%.*]]
852852// CHECK: resolver_return15:
853- // CHECK-NEXT: ret ptr @fmv_inline._MditMebf16
853+ // CHECK-NEXT: ret ptr @fmv_inline._MfrinttsMrcpc
854854// CHECK: resolver_else16:
855855// CHECK-NEXT: [[TMP36:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
856- // CHECK-NEXT: [[TMP37:%.*]] = and i64 [[TMP36]], 20971520
857- // CHECK-NEXT: [[TMP38:%.*]] = icmp eq i64 [[TMP37]], 20971520
856+ // CHECK-NEXT: [[TMP37:%.*]] = and i64 [[TMP36]], 8650752
857+ // CHECK-NEXT: [[TMP38:%.*]] = icmp eq i64 [[TMP37]], 8650752
858858// CHECK-NEXT: [[TMP39:%.*]] = and i1 true, [[TMP38]]
859859// CHECK-NEXT: br i1 [[TMP39]], label [[RESOLVER_RETURN17:%.*]], label [[RESOLVER_ELSE18:%.*]]
860860// CHECK: resolver_return17:
861- // CHECK-NEXT: ret ptr @fmv_inline._MfrinttsMrcpc
861+ // CHECK-NEXT: ret ptr @fmv_inline._MdpbMrcpc2
862862// CHECK: resolver_else18:
863863// CHECK-NEXT: [[TMP40:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
864- // CHECK-NEXT: [[TMP41:%.*]] = and i64 [[TMP40]], 8650752
865- // CHECK-NEXT: [[TMP42:%.*]] = icmp eq i64 [[TMP41]], 8650752
864+ // CHECK-NEXT: [[TMP41:%.*]] = and i64 [[TMP40]], 1572864
865+ // CHECK-NEXT: [[TMP42:%.*]] = icmp eq i64 [[TMP41]], 1572864
866866// CHECK-NEXT: [[TMP43:%.*]] = and i1 true, [[TMP42]]
867867// CHECK-NEXT: br i1 [[TMP43]], label [[RESOLVER_RETURN19:%.*]], label [[RESOLVER_ELSE20:%.*]]
868868// CHECK: resolver_return19:
869- // CHECK-NEXT: ret ptr @fmv_inline._MdpbMrcpc2
869+ // CHECK-NEXT: ret ptr @fmv_inline._Mdpb2Mjscvt
870870// CHECK: resolver_else20:
871871// CHECK-NEXT: [[TMP44:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
872- // CHECK-NEXT: [[TMP45:%.*]] = and i64 [[TMP44]], 1572864
873- // CHECK-NEXT: [[TMP46:%.*]] = icmp eq i64 [[TMP45]], 1572864
872+ // CHECK-NEXT: [[TMP45:%.*]] = and i64 [[TMP44]], 520
873+ // CHECK-NEXT: [[TMP46:%.*]] = icmp eq i64 [[TMP45]], 520
874874// CHECK-NEXT: [[TMP47:%.*]] = and i1 true, [[TMP46]]
875875// CHECK-NEXT: br i1 [[TMP47]], label [[RESOLVER_RETURN21:%.*]], label [[RESOLVER_ELSE22:%.*]]
876876// CHECK: resolver_return21:
877- // CHECK-NEXT: ret ptr @fmv_inline._Mdpb2Mjscvt
877+ // CHECK-NEXT: ret ptr @fmv_inline._Mfp16fmlMsimd
878878// CHECK: resolver_else22:
879879// CHECK-NEXT: [[TMP48:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
880- // CHECK-NEXT: [[TMP49:%.*]] = and i64 [[TMP48]], 520
881- // CHECK-NEXT: [[TMP50:%.*]] = icmp eq i64 [[TMP49]], 520
880+ // CHECK-NEXT: [[TMP49:%.*]] = and i64 [[TMP48]], 32784
881+ // CHECK-NEXT: [[TMP50:%.*]] = icmp eq i64 [[TMP49]], 32784
882882// CHECK-NEXT: [[TMP51:%.*]] = and i1 true, [[TMP50]]
883883// CHECK-NEXT: br i1 [[TMP51]], label [[RESOLVER_RETURN23:%.*]], label [[RESOLVER_ELSE24:%.*]]
884884// CHECK: resolver_return23:
885- // CHECK-NEXT: ret ptr @fmv_inline._Mfp16fmlMsimd
885+ // CHECK-NEXT: ret ptr @fmv_inline._MaesMdotprod
886886// CHECK: resolver_else24:
887887// CHECK-NEXT: [[TMP52:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
888- // CHECK-NEXT: [[TMP53:%.*]] = and i64 [[TMP52]], 32784
889- // CHECK-NEXT: [[TMP54:%.*]] = icmp eq i64 [[TMP53]], 32784
888+ // CHECK-NEXT: [[TMP53:%.*]] = and i64 [[TMP52]], 192
889+ // CHECK-NEXT: [[TMP54:%.*]] = icmp eq i64 [[TMP53]], 192
890890// CHECK-NEXT: [[TMP55:%.*]] = and i1 true, [[TMP54]]
891891// CHECK-NEXT: br i1 [[TMP55]], label [[RESOLVER_RETURN25:%.*]], label [[RESOLVER_ELSE26:%.*]]
892892// CHECK: resolver_return25:
893- // CHECK-NEXT: ret ptr @fmv_inline._MaesMdotprod
893+ // CHECK-NEXT: ret ptr @fmv_inline._MlseMrdm
894894// CHECK: resolver_else26:
895895// CHECK-NEXT: [[TMP56:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
896- // CHECK-NEXT: [[TMP57:%.*]] = and i64 [[TMP56]], 192
897- // CHECK-NEXT: [[TMP58:%.*]] = icmp eq i64 [[TMP57]], 192
896+ // CHECK-NEXT: [[TMP57:%.*]] = and i64 [[TMP56]], 288
897+ // CHECK-NEXT: [[TMP58:%.*]] = icmp eq i64 [[TMP57]], 288
898898// CHECK-NEXT: [[TMP59:%.*]] = and i1 true, [[TMP58]]
899899// CHECK-NEXT: br i1 [[TMP59]], label [[RESOLVER_RETURN27:%.*]], label [[RESOLVER_ELSE28:%.*]]
900900// CHECK: resolver_return27:
901- // CHECK-NEXT: ret ptr @fmv_inline._MlseMrdm
901+ // CHECK-NEXT: ret ptr @fmv_inline._MfpMsm4
902902// CHECK: resolver_else28:
903903// CHECK-NEXT: [[TMP60:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
904- // CHECK-NEXT: [[TMP61:%.*]] = and i64 [[TMP60]], 288
905- // CHECK-NEXT: [[TMP62:%.*]] = icmp eq i64 [[TMP61]], 288
904+ // CHECK-NEXT: [[TMP61:%.*]] = and i64 [[TMP60]], 134217728
905+ // CHECK-NEXT: [[TMP62:%.*]] = icmp eq i64 [[TMP61]], 134217728
906906// CHECK-NEXT: [[TMP63:%.*]] = and i1 true, [[TMP62]]
907907// CHECK-NEXT: br i1 [[TMP63]], label [[RESOLVER_RETURN29:%.*]], label [[RESOLVER_ELSE30:%.*]]
908908// CHECK: resolver_return29:
909- // CHECK-NEXT: ret ptr @fmv_inline._MfpMsm4
909+ // CHECK-NEXT: ret ptr @fmv_inline._Mbf16
910910// CHECK: resolver_else30:
911911// CHECK-NEXT: ret ptr @fmv_inline.default
912912//
0 commit comments