一般二进制文件如何利用新 CPU 上的新指令集

Mar*_*ijn 7 cpu compile cpu-architecture

随着新处理器的每次发布,处理器支持的指令集都会发生变化。例如,Haswell 具有高级矢量扩展。但是,当我在带有 Haswell 处理器的 PC 上运行程序时,我通常运行通用的 AMD64 二进制文件:编译器不知道这些指令可用。这些二进制文件如何仍然利用新架构中添加的新指令?

Dan*_* D. 7

除非遵守二进制文件来检查扩展并在它们存在时使用它们,否则它们不会利用来自指令集扩展的新指令。