编译器宏检测BMI2指令集

时间:2015-08-25 22:03:03

标签: c++ x86 intel instruction-set bmi

我在网上搜索找到一个合适的解决方案,但没有取得多大成功。 所以我希望你们中的一个人对此有所了解:有没有办法检测到" Intel Bit Manipulation Instruction Sets 2" (BMI2)编译时间?我想根据它的可用性制作一些有条件的东西。

1 个答案:

答案 0 :(得分:0)

运行EID = 7,ECX = 0的CPUID内部函数,然后检查返回的EBX寄存器的第3位(BMI1标志)。 EBX位8是BMI2标志。请参阅编译器的文档,了解如何调用CPUID并从中获取数据。