作者:mobiledu2502890617 | 来源:互联网 | 2023-05-31 18:02
要为特定 CPU 构建具有最佳优化的二进制文件,如何设置 C/C++ 编译器选项?例如,当功能可用时,尝试利用 MMX/3DNow!/SSE/SSE2/SSE3
要为特定 CPU 构建具有最佳优化的二进制文件,如何设置 C/C++ 编译器选项?例如,当功能可用时,尝试利用 MMX/3DNow!/SSE/SSE2/SSE3 等 CPU 功能。
回答
GCC 和 Clang 支持-march=native
从编译器正在执行的处理器类型中选择要为其生成代码的 CPU,并-mtune=native
为其优化代码。请注意,这些开关在特定体系结构部分中列出,例如 X86 或 ARM 体系结构,因此它们可能不适用于编译器支持的所有体系结构。
-march=native
如果要生成不需要在其他处理器模型上执行的代码,请使用。-march=native
暗示mtune=native
.
如果要生成针对当前处理器调整的代码,但仍然可以在处理器模型上执行,则使用-mtune=native
without -march=native
。