@@ -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,8 +385,8 @@ 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) , & [ ] ) ,
389- ( "apxf" , Unstable ( sym:: apx_target_feature) , & [ ] ) ,
388+ ( "amx-tile" , Unstable ( sym:: x86_amx_intrinsics) , & [ "cpuid" ] ) ,
389+ ( "apxf" , Unstable ( sym:: apx_target_feature) , & [ "cpuid" ] ) ,
390390 ( "avx" , Stable , & [ "sse4.2" ] ) ,
391391 ( "avx2" , Stable , & [ "avx" ] ) ,
392392 (
@@ -428,24 +428,25 @@ static X86_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
428428 ( "avxvnni" , Stable , & [ "avx2" ] ) ,
429429 ( "avxvnniint8" , Stable , & [ "avx2" ] ) ,
430430 ( "avxvnniint16" , Stable , & [ "avx2" ] ) ,
431- ( "bmi1" , Stable , & [ ] ) ,
432- ( "bmi2" , Stable , & [ ] ) ,
433- ( "cmpxchg16b" , Stable , & [ ] ) ,
434- ( "ermsb" , Unstable ( sym:: ermsb_target_feature) , & [ ] ) ,
431+ ( "bmi1" , Stable , & [ "cpuid" ] ) ,
432+ ( "bmi2" , Stable , & [ "cpuid" ] ) ,
433+ ( "cmpxchg16b" , Stable , & [ "cpuid" ] ) ,
434+ ( "cpuid" , Unstable ( sym:: cpuid_target_feature) , & [ ] ) ,
435+ ( "ermsb" , Unstable ( sym:: ermsb_target_feature) , & [ "cpuid" ] ) ,
435436 ( "f16c" , Stable , & [ "avx" ] ) ,
436437 ( "fma" , Stable , & [ "avx" ] ) ,
437- ( "fxsr" , Stable , & [ ] ) ,
438+ ( "fxsr" , Stable , & [ "cpuid" ] ) ,
438439 ( "gfni" , Stable , & [ "sse2" ] ) ,
439440 ( "kl" , Stable , & [ "sse2" ] ) ,
440- ( "lahfsahf" , Unstable ( sym:: lahfsahf_target_feature) , & [ ] ) ,
441- ( "lzcnt" , Stable , & [ ] ) ,
442- ( "movbe" , Stable , & [ ] ) ,
443- ( "movrs" , Unstable ( sym:: movrs_target_feature) , & [ ] ) ,
441+ ( "lahfsahf" , Unstable ( sym:: lahfsahf_target_feature) , & [ "cpuid" ] ) ,
442+ ( "lzcnt" , Stable , & [ "cpuid" ] ) ,
443+ ( "movbe" , Stable , & [ "cpuid" ] ) ,
444+ ( "movrs" , Unstable ( sym:: movrs_target_feature) , & [ "cpuid" ] ) ,
444445 ( "pclmulqdq" , Stable , & [ "sse2" ] ) ,
445- ( "popcnt" , Stable , & [ ] ) ,
446- ( "prfchw" , Unstable ( sym:: prfchw_target_feature) , & [ ] ) ,
447- ( "rdrand" , Stable , & [ ] ) ,
448- ( "rdseed" , Stable , & [ ] ) ,
446+ ( "popcnt" , Stable , & [ "cpuid" ] ) ,
447+ ( "prfchw" , Unstable ( sym:: prfchw_target_feature) , & [ "cpuid" ] ) ,
448+ ( "rdrand" , Stable , & [ "cpuid" ] ) ,
449+ ( "rdseed" , Stable , & [ "cpuid" ] ) ,
449450 (
450451 "retpoline-external-thunk" ,
451452 Stability :: Forbidden { reason : "use `-Zretpoline-external-thunk` compiler flag instead" } ,
@@ -461,28 +462,28 @@ static X86_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
461462 Stability :: Forbidden { reason : "use `-Zretpoline` compiler flag instead" } ,
462463 & [ ] ,
463464 ) ,
464- ( "rtm" , Unstable ( sym:: rtm_target_feature) , & [ ] ) ,
465+ ( "rtm" , Unstable ( sym:: rtm_target_feature) , & [ "cpuid" ] ) ,
465466 ( "sha" , Stable , & [ "sse2" ] ) ,
466467 ( "sha512" , Stable , & [ "avx2" ] ) ,
467468 ( "sm3" , Stable , & [ "avx" ] ) ,
468469 ( "sm4" , Stable , & [ "avx2" ] ) ,
469470 // This cannot actually be toggled, the ABI always fixes it, so it'd make little sense to
470471 // stabilize. It must be in this list for the ABI check to be able to use it.
471472 ( "soft-float" , Stability :: Unstable ( sym:: x87_target_feature) , & [ ] ) ,
472- ( "sse" , Stable , & [ ] ) ,
473+ ( "sse" , Stable , & [ "cpuid" ] ) ,
473474 ( "sse2" , Stable , & [ "sse" ] ) ,
474475 ( "sse3" , Stable , & [ "sse2" ] ) ,
475476 ( "sse4.1" , Stable , & [ "ssse3" ] ) ,
476477 ( "sse4.2" , Stable , & [ "sse4.1" ] ) ,
477478 ( "sse4a" , Stable , & [ "sse3" ] ) ,
478479 ( "ssse3" , Stable , & [ "sse3" ] ) ,
479- ( "tbm" , Stable , & [ ] ) ,
480+ ( "tbm" , Stable , & [ "cpuid" ] ) ,
480481 ( "vaes" , Stable , & [ "avx2" , "aes" ] ) ,
481482 ( "vpclmulqdq" , Stable , & [ "avx" , "pclmulqdq" ] ) ,
482483 ( "widekl" , Stable , & [ "kl" ] ) ,
483- ( "x87" , Unstable ( sym:: x87_target_feature) , & [ ] ) ,
484+ ( "x87" , Unstable ( sym:: x87_target_feature) , & [ "cpuid" ] ) ,
484485 ( "xop" , Unstable ( sym:: xop_target_feature) , & [ /*"fma4", */ "avx" , "sse4a" ] ) ,
485- ( "xsave" , Stable , & [ ] ) ,
486+ ( "xsave" , Stable , & [ "cpuid" ] ) ,
486487 ( "xsavec" , Stable , & [ "xsave" ] ) ,
487488 ( "xsaveopt" , Stable , & [ "xsave" ] ) ,
488489 ( "xsaves" , Stable , & [ "xsave" ] ) ,
0 commit comments