Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 Intel Core2Duo E4500 处理器。它应该有SSE3,SSSE3设施。但是,如果我尝试在程序中使用它们,则会显示以下错误“未启用 SSE3 指令集”
有任何想法吗?
尝试添加这个 gcc 命令行选项:
-march=core2 -msse3
为浮点运算打开 sse 优化可能也是一个好主意:
-mfpmath=sse
在 Linux 上,看看flags输出的字段cat /proc/cpuinfo
flags
cat /proc/cpuinfo
使用CPU-Z检查可用的指令集。
如果您使用的是 Visual Studio,则在C/C++ -> Code Generation -> Enable Enhanced Instruction Set.
C/C++ -> Code Generation -> Enable Enhanced Instruction Set
这是在gcc中启用它的方法。
从上面的链接:
-msse3 -mssse3
如果您在将执行代码的同一台机器上编译,那么您应该能够使用任何最近的 gcc 来-march=native利用所有 CPU 功能。它应该在编译期间告诉您,如果您在asm.
-march=native
asm