我很想知道 GCC 在优化级别和迎合特定处理器架构方面与英特尔的 ICC 有何不同。我在 Linux 上使用 GCC 4.1.2 20070626 和 ICC v11.1。
ICC 的优化级别(O1 到 O3)与 GCC 有何不同(如果它们完全不同)?
ICC 能够专门迎合不同的架构(IA-32、intel64 和 IA-64)。我读过 GCC 有 -march
我认为类似的编译器选项,但我找不到要使用的选项列表。我使用的是 64 位的 Intel Xeon X5570。我可以使用其他任何 GCC 编译器选项来满足我的 64 位 Intel CPU 应用程序吗?
最佳答案
请参阅 GCC 手册中的第 3.17.15 节,ie386 and x86-64 Options有关适用于这些架构的所有选项的完整列表和说明(IA-64 是 Itanium,您不太可能拥有其中之一)。
在这种情况下,最重要的选项是:
-m64
生成64位代码; -march=
生成特定 CPU 类型的指令;和 -mtune=
调整特定 CPU 类型的代码。 关于gcc - ICC 与 GCC - 优化和 CPU 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2497265/