gpt4 book ai didi

gcc - -march 与 -mtune 有何不同?

转载 作者:行者123 更新时间:2023-12-03 05:18:24 27 4
gpt4 key购买 nike

我尝试为此擦洗 GCC 手册页,但仍然没有明白,真的。

-march-mtune 之间有什么区别?

什么时候只使用-march,什么时候同时使用两者?是否可以仅-mtune

最佳答案

如果您使用-march,那么 GCC 将可以自由生成在指定 CPU 上运行的指令,但(通常)不能在架构系列中的早期 CPU 上运行。

如果您只使用 -mtune,那么编译器将生成适用于其中任何一个的代码,但会优先考虑在您指定的特定 CPU 上运行速度最快的指令序列。例如为该 CPU 适本地设置循环展开启发式。

<小时/>

-march=foo 暗示 -mtune=foo,除非您还指定了不同的 -mtune。这就是为什么使用 -march 比仅启用 -mavx 等选项而不做任何调整更好的原因之一。

警告:在 GCC 未明确识别的 CPU 上,-march=native 仍将启用 GCC 可以检测到的新指令集,但会保留 -mtune=generic >。如果您希望它编写出好的代码,请使用一个足够新的、了解您的 CPU 的 GCC。

关于gcc - -march 与 -mtune 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10559275/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com