SIMD版本检查

时间:2010-10-25 14:56:21

标签: c gcc simd

我使用的是英特尔酷睿2Duo E4500处理器。它应该有SSE3,SSSE3设施。但是,如果我尝试在程序中使用它们,则会显示以下错误“SSE3指令集未启用”

有什么想法吗?

4 个答案:

答案 0 :(得分:1)

尝试添加此gcc命令行选项:

-march=core2 -msse3

对浮点运算开启sse优化可能也是一个好主意:

-mfpmath=sse

答案 1 :(得分:1)

在Linux上,查看flags

输出的cat /proc/cpuinfo字段

答案 2 :(得分:0)

使用CPU-Z检查可用的指令集。

如果您使用的是Visual Studio,C/C++ -> Code Generation -> Enable Enhanced Instruction Set中有一个选项。

以下是gcc中启用它的方法。

从以上链接:

-msse3
-mssse3

答案 3 :(得分:0)

如果您在执行代码的同一台机器上编译,使用任何最近的gcc,您应该能够使用-march=native来利用所有CPU功能。它应该在编译期间告诉您,如果您在asm中使用了不受支持的说明。