我有一个旧代码需要-m486
用GCC
. 但是没有那个标志。然后我发现-mtune=i486
并且-arch=i486
我已经阅读了这个页面。但是还是不知道哪个最适合-m486
?
问问题
959 次
1 回答
10
该-march
选项定义了可以使用的指令列表,该-mtune
选项随后修改优化过程。
您通常会使用它-march
来指定最低要求,并-mtune
针对大多数用户的需求进行优化。
例如,IA32 架构定义了各种用于字符串处理和指令重复的指令。在 386 和 486 上,它们比显式汇编代码更快、更小,因为可以跳过指令获取和解码阶段,而在较新的模型上,这些指令阻塞了指令管道,因为每个处理步骤都直接依赖于前一个处理步骤,所以CPU 的并行执行功能被浪费了。
Linux 发行版通常用于-march=i486 -mtune=i686
确保您仍然可以在 486 上安装和运行,但由于大多数用户拥有现代 CPU,因此重点在于使其以最佳方式运行。
于 2012-10-17T07:41:06.550 回答