我是否可以通过使用 ICC(英特尔 C++ 编译器)获得一个可执行文件,其中包含来自不同制造商 AMD / Intel 和当前处理器架构所需的运行时自动选择?
问问题
652 次
1 回答
2
是的你可以。
正如您指定-xARCH
(如-xAVX
, -xHost
)一样,您可以指定-axARCH
为两种架构进行编译
例子:
icc -xHost -axSSE2 ...
将编译主机架构的默认可执行文件和 SSE2 的可选代码,以防它在旧处理器上使用。遗憾的是,只能使用一种附加架构。在运行时将使用最高级的代码。
在我icc 12.0.2
的有效选项是:SSE2、SSE3、SSE4.1、SSE4.2、AVX、主机(-xHost
仅限)
现代 AMD 机器在所有现代 CPU 中都支持 SSE3。顺便说一下,SSE2 是标准的最低公分母,如果未-x
指定选项,则它是默认选项。你不能icc
生成 AMD 3DNow!代码。
于 2013-09-09T17:34:24.443 回答