0

次の問題があります。
いくつかの命令を使用して、xop チェックに関連するいくつかのテストがありBulldozer (xop)ます。
そして、このテストはBulldozerプロセッサ上でのみ実行する必要があります。プロセッサがコンパイル時に命令を
サポートしていることを確認するにはどうすればよいですか?xop

言語: COS: Linux ;

4

3 に答える 3

0

CPUIDをチェックするプログラムを作成し、コンパイル中にそのプログラムの出力を使用できます。
gcc $(cpuid_test) my_prog.c

cpuid_testが返す場所'-march=bdver1'または-DXOP_SUPPORT=1

于 2012-11-08T07:28:47.950 に答える
0

コンパイル時にテストすることはできませんが、次を使用して AMD Bulldozer 用にコンパイルできます。

$ gcc -march=bdver1 -mtune=bdver1 ...

参照: http://gcc.gnu.org/gcc-4.6/changes.html

ビルド マシンがターゲット マシンである場合は、 を調べてください/proc/cpuinfo

于 2012-11-08T07:17:14.220 に答える
0

ソースが-march=bdver1(特に XOP サポートを有効にする) でコンパイルされている場合、プリプロセッサ マクロ__XOP__は 1 に定義されます。

XOPのコンパイル時にテストできます

#ifdef __XOP__
     ...XOP code path here...
#else
     ...non XOP code here...
#endif 
于 2012-11-09T00:22:25.940 に答える