如何测试你的Linux支持SSE2
其实我有两个问题:
SSE2兼容性是CPU问题还是编译器问题?
如何检查您的CPU或编译器是否支持SSE2?
我正在使用GCC版本:
gcc (GCC) 4.5.1
当我尝试编译代码时,它给了我这个错误:
$ gcc -O3 -msse2 -fno-strict-aliasing -DHAVE_SSE2=1 -DMEXP=19937 -o test-sse2-M19937 test.c
cc1: error: unrecognized command line option "-msse2"
并且cpuinfo
显示了这个:
processor : 0
vendor : GenuineIntel
arch : IA-64
family : 32
model : 1
model name : Dual-Core Intel(R) Itanium(R) Processor 9140M
revision : 1
archrev : 0
features : branchlong, 16-byte atomic ops
cpu number : 0
cpu regs : 4
cpu MHz : 1669.000503
itc MHz : 416.875000
BogoMIPS : 3325.95
siblings : 2
physical id: 0
core id : 0
thread id : 0
没有找到相关结果
已邀请:
5 个回复
呕蹿尉
号拳藐孔妇
如果支持它,它将在“标志”下的某个地方。 更新:所以你的cpu不支持它。 对于编译器:
你的编译器的目标需要一种x86 *,因为只有这个cpus支持sse2,它是x86指令集的一部分 和 gcc版本需要> = 3.1(最有可能,因为这是大约10年或其他什么)来支持SSE2。 更新:所以你的编译器不支持它在这个目标上,如果你将它用作x86的交叉编译器。
阀傻
得到:
使用-march = native,您正在检查编译器和CPU。如果为特定CPU提供不同的-march,例如-march = bonnell,则可以检查该CPU。 有关正确版本的gcc,请参阅gcc文档: https://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcc/Submodel-Options.html
臂哦
拟蓬
并查看处理器部分。