diff --git a/library/stdarch/stdsimd/arch/detect/os/x86.rs b/library/stdarch/stdsimd/arch/detect/os/x86.rs index 502dbbae9400..a616cf3d7d0f 100644 --- a/library/stdarch/stdsimd/arch/detect/os/x86.rs +++ b/library/stdarch/stdsimd/arch/detect/os/x86.rs @@ -116,7 +116,6 @@ fn detect_features() -> cache::Initializer { enable(proc_info_ecx, 0, Feature::sse3); enable(proc_info_ecx, 9, Feature::ssse3); - enable(proc_info_ecx, 12, Feature::fma); enable(proc_info_ecx, 19, Feature::sse4_1); enable(proc_info_ecx, 20, Feature::sse4_2); enable(proc_info_ecx, 23, Feature::popcnt); @@ -189,6 +188,9 @@ fn detect_features() -> cache::Initializer { enable(proc_extended_state1_eax, 3, Feature::xsaves); } + // FMA (uses 256-bit wide registers): + enable(proc_info_ecx, 12, Feature::fma); + // And AVX/AVX2: enable(proc_info_ecx, 28, Feature::avx); enable(extended_features_ebx, 5, Feature::avx2);