当指定特定选项并给出正确条件时,GCC可以自动向量化循环。是否有其他广泛可用的编译器也可以做到这一点?
IBM的xlc编译器也可以在一定程度上自动将C和C++代码向量化。
实际上,在许多情况下,GCC在自动代码向量化方面要比ICC差得多,我不知道它最近是否有足够的改进,但我怀疑。
Visual C++(我使用的是VS2005)可以强制使用SSE指令。它似乎不如英特尔的编译器好,但如果有人已经在使用VC++,那么没有理由不打开此选项。
转到项目属性,配置属性,C/C++,代码生成:启用增强指令集。设置“流式SIMD指令”或“流式SIMD指令2”。您将需要将浮点模型设置为快速。还必须更改一些其他选项,但编译器会告诉您相关信息。