支持AVX2的CPU是否均支持BMI2或POPCNT指令集?
AVX2与BMI2、POPCNT的支持关系
1. 支持AVX2是否意味着一定支持BMI2?
不是。
- Intel平台:从Haswell架构开始支持AVX2,该架构同时也支持BMI2,因此Intel所有支持AVX2的CPU都具备BMI2指令集。
- AMD平台:Steamroller架构是AMD首个支持AVX2的架构,但该架构不支持BMI2;直到后续的Excavator架构,AMD才在支持AVX2的基础上加入了BMI2指令集。比如AMD A10-7800(Steamroller架构)支持AVX2,但不支持BMI2。
2. 支持AVX2是否意味着一定支持POPCNT?
是的。
- Intel平台:POPCNT指令集从Nehalem架构(2008年)开始支持,而AVX2从Haswell架构(2013年)才推出,所有支持AVX2的Intel CPU都晚于Nehalem架构,因此必然支持POPCNT。
- AMD平台:POPCNT指令集从Bulldozer架构(2011年)开始支持,而AMD首个支持AVX2的Steamroller架构属于Bulldozer家族的后续架构,因此支持AVX2的AMD CPU也全部支持POPCNT。
内容的提问来源于stack exchange,提问作者zhaokg
相关产品推荐
相关产品推荐

