5

我有一个旧代码需要-m486GCC. 但是没有那个标志。然后我发现-mtune=i486并且-arch=i486
我已经阅读了这个页面。但是还是不知道哪个最适合-m486

4

1 回答 1

10

-march选项定义了可以使用的指令列表,该-mtune选项随后修改优化过程。

您通常会使用它-march来指定最低要求,并-mtune针对大多数用户的需求进行优化。

例如,IA32 架构定义了各种用于字符串处理和指令重复的指令。在 386 和 486 上,它们比显式汇编代码更快、更小,因为可以跳过指令获取和解码阶段,而在较新的模型上,这些指令阻塞了指令管道,因为每个处理步骤都直接依赖于前一个处理步骤,所以CPU 的并行执行功能被浪费了。

Linux 发行版通常用于-march=i486 -mtune=i686确保您仍然可以在 486 上安装和运行,但由于大多数用户拥有现代 CPU,因此重点在于使其以最佳方式运行。

于 2012-10-17T07:41:06.550 回答