@@ -27,7 +27,7 @@ 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 ("bf16" ))) fmv_inline (void ) { return 8 ; }
30+ inline int __attribute__((target_version ("dit+ 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 ; }
@@ -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._Mbf16
683+ // CHECK-LABEL: define {{[^@]+}}@fmv_inline._Mbf16Mdit
684684// CHECK-SAME: () #[[ATTR28:[0-9]+]] {
685685// CHECK-NEXT: entry:
686686// CHECK-NEXT: ret i32 8
@@ -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]], 20971520
849- // CHECK-NEXT: [[TMP34:%.*]] = icmp eq i64 [[TMP33]], 20971520
848+ // CHECK-NEXT: [[TMP33:%.*]] = and i64 [[TMP32]], 134348800
849+ // CHECK-NEXT: [[TMP34:%.*]] = icmp eq i64 [[TMP33]], 134348800
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._MfrinttsMrcpc
853+ // CHECK-NEXT: ret ptr @fmv_inline._Mbf16Mdit
854854// CHECK: resolver_else16:
855855// CHECK-NEXT: [[TMP36:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
856- // CHECK-NEXT: [[TMP37:%.*]] = and i64 [[TMP36]], 8650752
857- // CHECK-NEXT: [[TMP38:%.*]] = icmp eq i64 [[TMP37]], 8650752
856+ // CHECK-NEXT: [[TMP37:%.*]] = and i64 [[TMP36]], 20971520
857+ // CHECK-NEXT: [[TMP38:%.*]] = icmp eq i64 [[TMP37]], 20971520
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._MdpbMrcpc2
861+ // CHECK-NEXT: ret ptr @fmv_inline._MfrinttsMrcpc
862862// CHECK: resolver_else18:
863863// CHECK-NEXT: [[TMP40:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
864- // CHECK-NEXT: [[TMP41:%.*]] = and i64 [[TMP40]], 1572864
865- // CHECK-NEXT: [[TMP42:%.*]] = icmp eq i64 [[TMP41]], 1572864
864+ // CHECK-NEXT: [[TMP41:%.*]] = and i64 [[TMP40]], 8650752
865+ // CHECK-NEXT: [[TMP42:%.*]] = icmp eq i64 [[TMP41]], 8650752
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._Mdpb2Mjscvt
869+ // CHECK-NEXT: ret ptr @fmv_inline._MdpbMrcpc2
870870// CHECK: resolver_else20:
871871// CHECK-NEXT: [[TMP44:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
872- // CHECK-NEXT: [[TMP45:%.*]] = and i64 [[TMP44]], 520
873- // CHECK-NEXT: [[TMP46:%.*]] = icmp eq i64 [[TMP45]], 520
872+ // CHECK-NEXT: [[TMP45:%.*]] = and i64 [[TMP44]], 1572864
873+ // CHECK-NEXT: [[TMP46:%.*]] = icmp eq i64 [[TMP45]], 1572864
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._Mfp16fmlMsimd
877+ // CHECK-NEXT: ret ptr @fmv_inline._Mdpb2Mjscvt
878878// CHECK: resolver_else22:
879879// CHECK-NEXT: [[TMP48:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
880- // CHECK-NEXT: [[TMP49:%.*]] = and i64 [[TMP48]], 32784
881- // CHECK-NEXT: [[TMP50:%.*]] = icmp eq i64 [[TMP49]], 32784
880+ // CHECK-NEXT: [[TMP49:%.*]] = and i64 [[TMP48]], 520
881+ // CHECK-NEXT: [[TMP50:%.*]] = icmp eq i64 [[TMP49]], 520
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._MaesMdotprod
885+ // CHECK-NEXT: ret ptr @fmv_inline._Mfp16fmlMsimd
886886// CHECK: resolver_else24:
887887// CHECK-NEXT: [[TMP52:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
888- // CHECK-NEXT: [[TMP53:%.*]] = and i64 [[TMP52]], 192
889- // CHECK-NEXT: [[TMP54:%.*]] = icmp eq i64 [[TMP53]], 192
888+ // CHECK-NEXT: [[TMP53:%.*]] = and i64 [[TMP52]], 32784
889+ // CHECK-NEXT: [[TMP54:%.*]] = icmp eq i64 [[TMP53]], 32784
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._MlseMrdm
893+ // CHECK-NEXT: ret ptr @fmv_inline._MaesMdotprod
894894// CHECK: resolver_else26:
895895// CHECK-NEXT: [[TMP56:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
896- // CHECK-NEXT: [[TMP57:%.*]] = and i64 [[TMP56]], 288
897- // CHECK-NEXT: [[TMP58:%.*]] = icmp eq i64 [[TMP57]], 288
896+ // CHECK-NEXT: [[TMP57:%.*]] = and i64 [[TMP56]], 192
897+ // CHECK-NEXT: [[TMP58:%.*]] = icmp eq i64 [[TMP57]], 192
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._MfpMsm4
901+ // CHECK-NEXT: ret ptr @fmv_inline._MlseMrdm
902902// CHECK: resolver_else28:
903903// CHECK-NEXT: [[TMP60:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
904- // CHECK-NEXT: [[TMP61:%.*]] = and i64 [[TMP60]], 134217728
905- // CHECK-NEXT: [[TMP62:%.*]] = icmp eq i64 [[TMP61]], 134217728
904+ // CHECK-NEXT: [[TMP61:%.*]] = and i64 [[TMP60]], 288
905+ // CHECK-NEXT: [[TMP62:%.*]] = icmp eq i64 [[TMP61]], 288
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._Mbf16
909+ // CHECK-NEXT: ret ptr @fmv_inline._MfpMsm4
910910// CHECK: resolver_else30:
911911// CHECK-NEXT: ret ptr @fmv_inline.default
912912//
0 commit comments