4 ms·
See [1], or [2] and [3]. [1] https://github.com/as-com/varint-simd/blob/f4c4af672403cc68391ee5dd1d9eb478ce410c8a/build.rs#L17 https://github.com/as-com/varint-
by dataflow 5y ago
See [1], or [2] and [3].
[1] https://github.com/as-com/varint-simd/blob/f4c4af672403cc68391ee5dd1d9eb478ce410c8a/build.rs#L17 https://github.com/as-com/varint-simd/blob/f4c4af672403cc683...
[2] https://en.wikipedia.org/wiki/X86_Bit_manipulation_instruction_set#cite_note-18 https://en.wikipedia.org/wiki/X86_Bit_manipulation_instructi...
[3] https://en.wikipedia.org/wiki/List_of_AMD_CPU_microarchitectures https://en.wikipedia.org/wiki/List_of_AMD_CPU_microarchitect...
- tedunangst 5y agoSo... ignore the cpuid bit indicating the instruction is present and look at manufacturer string, which is exactly what intel is being lambasted for here.
- dataflow 5y agoNo, you don't ignore the CPUID feature bit. You use the CPUID to enable the feature by default, but override that default by blacklisting specific models that you know would have undesirable implementations. So what you would do for PDEP/PEXT would be use_pdep = cpuid.supports_bmi2() && !cpuid.is_amd_before_zen3() and not use_pdep = cpuid.is_intel_haswell_or_later()