@@ -375,7 +375,7 @@ const AARCH64_TIED_FEATURES: &[&[&str]] = &[
375375
376376static X86_FEATURES : & [ ( & str , Stability , ImpliedFeatures ) ] = & [
377377 // tidy-alphabetical-start
378- ( "adx" , Stable , & [ ] ) ,
378+ ( "adx" , Stable , & [ "cpuid" ] ) ,
379379 ( "aes" , Stable , & [ "sse2" ] ) ,
380380 ( "amx-avx512" , Unstable ( sym:: x86_amx_intrinsics) , & [ "amx-tile" ] ) ,
381381 ( "amx-bf16" , Unstable ( sym:: x86_amx_intrinsics) , & [ "amx-tile" ] ) ,
@@ -385,9 +385,9 @@ static X86_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
385385 ( "amx-int8" , Unstable ( sym:: x86_amx_intrinsics) , & [ "amx-tile" ] ) ,
386386 ( "amx-movrs" , Unstable ( sym:: x86_amx_intrinsics) , & [ "amx-tile" ] ) ,
387387 ( "amx-tf32" , Unstable ( sym:: x86_amx_intrinsics) , & [ "amx-tile" ] ) ,
388- ( "amx-tile" , Unstable ( sym:: x86_amx_intrinsics) , & [ ] ) ,
388+ ( "amx-tile" , Unstable ( sym:: x86_amx_intrinsics) , & [ "cpuid" ] ) ,
389389 ( "amx-transpose" , Unstable ( sym:: x86_amx_intrinsics) , & [ "amx-tile" ] ) ,
390- ( "apxf" , Unstable ( sym:: apx_target_feature) , & [ ] ) ,
390+ ( "apxf" , Unstable ( sym:: apx_target_feature) , & [ "cpuid" ] ) ,
391391 ( "avx" , Stable , & [ "sse4.2" ] ) ,
392392 ( "avx2" , Stable , & [ "avx" ] ) ,
393393 (
@@ -429,24 +429,25 @@ static X86_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
429429 ( "avxvnni" , Stable , & [ "avx2" ] ) ,
430430 ( "avxvnniint8" , Stable , & [ "avx2" ] ) ,
431431 ( "avxvnniint16" , Stable , & [ "avx2" ] ) ,
432- ( "bmi1" , Stable , & [ ] ) ,
433- ( "bmi2" , Stable , & [ ] ) ,
434- ( "cmpxchg16b" , Stable , & [ ] ) ,
435- ( "ermsb" , Unstable ( sym:: ermsb_target_feature) , & [ ] ) ,
432+ ( "bmi1" , Stable , & [ "cpuid" ] ) ,
433+ ( "bmi2" , Stable , & [ "cpuid" ] ) ,
434+ ( "cmpxchg16b" , Stable , & [ "cpuid" ] ) ,
435+ ( "cpuid" , Unstable ( sym:: cpuid_target_feature) , & [ ] ) ,
436+ ( "ermsb" , Unstable ( sym:: ermsb_target_feature) , & [ "cpuid" ] ) ,
436437 ( "f16c" , Stable , & [ "avx" ] ) ,
437438 ( "fma" , Stable , & [ "avx" ] ) ,
438- ( "fxsr" , Stable , & [ ] ) ,
439+ ( "fxsr" , Stable , & [ "cpuid" ] ) ,
439440 ( "gfni" , Stable , & [ "sse2" ] ) ,
440441 ( "kl" , Stable , & [ "sse2" ] ) ,
441- ( "lahfsahf" , Unstable ( sym:: lahfsahf_target_feature) , & [ ] ) ,
442- ( "lzcnt" , Stable , & [ ] ) ,
443- ( "movbe" , Stable , & [ ] ) ,
444- ( "movrs" , Unstable ( sym:: movrs_target_feature) , & [ ] ) ,
442+ ( "lahfsahf" , Unstable ( sym:: lahfsahf_target_feature) , & [ "cpuid" ] ) ,
443+ ( "lzcnt" , Stable , & [ "cpuid" ] ) ,
444+ ( "movbe" , Stable , & [ "cpuid" ] ) ,
445+ ( "movrs" , Unstable ( sym:: movrs_target_feature) , & [ "cpuid" ] ) ,
445446 ( "pclmulqdq" , Stable , & [ "sse2" ] ) ,
446- ( "popcnt" , Stable , & [ ] ) ,
447- ( "prfchw" , Unstable ( sym:: prfchw_target_feature) , & [ ] ) ,
448- ( "rdrand" , Stable , & [ ] ) ,
449- ( "rdseed" , Stable , & [ ] ) ,
447+ ( "popcnt" , Stable , & [ "cpuid" ] ) ,
448+ ( "prfchw" , Unstable ( sym:: prfchw_target_feature) , & [ "cpuid" ] ) ,
449+ ( "rdrand" , Stable , & [ "cpuid" ] ) ,
450+ ( "rdseed" , Stable , & [ "cpuid" ] ) ,
450451 (
451452 "retpoline-external-thunk" ,
452453 Stability :: Forbidden { reason : "use `-Zretpoline-external-thunk` compiler flag instead" } ,
@@ -462,28 +463,28 @@ static X86_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
462463 Stability :: Forbidden { reason : "use `-Zretpoline` compiler flag instead" } ,
463464 & [ ] ,
464465 ) ,
465- ( "rtm" , Unstable ( sym:: rtm_target_feature) , & [ ] ) ,
466+ ( "rtm" , Unstable ( sym:: rtm_target_feature) , & [ "cpuid" ] ) ,
466467 ( "sha" , Stable , & [ "sse2" ] ) ,
467468 ( "sha512" , Stable , & [ "avx2" ] ) ,
468469 ( "sm3" , Stable , & [ "avx" ] ) ,
469470 ( "sm4" , Stable , & [ "avx2" ] ) ,
470471 // This cannot actually be toggled, the ABI always fixes it, so it'd make little sense to
471472 // stabilize. It must be in this list for the ABI check to be able to use it.
472473 ( "soft-float" , Stability :: Unstable ( sym:: x87_target_feature) , & [ ] ) ,
473- ( "sse" , Stable , & [ ] ) ,
474+ ( "sse" , Stable , & [ "cpuid" ] ) ,
474475 ( "sse2" , Stable , & [ "sse" ] ) ,
475476 ( "sse3" , Stable , & [ "sse2" ] ) ,
476477 ( "sse4.1" , Stable , & [ "ssse3" ] ) ,
477478 ( "sse4.2" , Stable , & [ "sse4.1" ] ) ,
478479 ( "sse4a" , Stable , & [ "sse3" ] ) ,
479480 ( "ssse3" , Stable , & [ "sse3" ] ) ,
480- ( "tbm" , Stable , & [ ] ) ,
481+ ( "tbm" , Stable , & [ "cpuid" ] ) ,
481482 ( "vaes" , Stable , & [ "avx2" , "aes" ] ) ,
482483 ( "vpclmulqdq" , Stable , & [ "avx" , "pclmulqdq" ] ) ,
483484 ( "widekl" , Stable , & [ "kl" ] ) ,
484- ( "x87" , Unstable ( sym:: x87_target_feature) , & [ ] ) ,
485+ ( "x87" , Unstable ( sym:: x87_target_feature) , & [ "cpuid" ] ) ,
485486 ( "xop" , Unstable ( sym:: xop_target_feature) , & [ /*"fma4", */ "avx" , "sse4a" ] ) ,
486- ( "xsave" , Stable , & [ ] ) ,
487+ ( "xsave" , Stable , & [ "cpuid" ] ) ,
487488 ( "xsavec" , Stable , & [ "xsave" ] ) ,
488489 ( "xsaveopt" , Stable , & [ "xsave" ] ) ,
489490 ( "xsaves" , Stable , & [ "xsave" ] ) ,
0 commit comments