我有下一个问题:
我使用一些Bulldozer (xop)
指令进行了一些与xop检查相关的测试
我必须只在Bulldozer
处理器上运行此测试
如何在编译时检查我的处理器是否支持xop
指令?
语言: C
, Os: Linux
;
答案 0 :(得分:0)
您无法在编译时进行测试,但可以使用以下命令编译AMD Bulldozer:
$ gcc -march = bdver1 -mtune = bdver1 ...
请参阅:http://gcc.gnu.org/gcc-4.6/changes.html
如果您的构建计算机是目标计算机,请查看/proc/cpuinfo
。
答案 1 :(得分:0)
您可以编写一个程序来检查CPUID并在编译时使用该程序的输出:
gcc $(cpuid_test) my_prog.c
其中cpuid_test返回'-march=bdver1'
或-DXOP_SUPPORT=1