-mtune = i486和-arch = i486之间有什么不同

mad*_*per 5 c linux compiler-construction gcc

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

Sim*_*ter 10

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

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

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

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