我正在运行带有 LFS 的 Athlon64 服务器,并且希望在虚拟机中拥有该服务器的本地副本,以用于测试目的和构建软件。
我的电脑使用 i7,现有的服务器软件是使用 -march=athlon64 构建的。尽管进行了优化,我可以在我的硬件上运行它吗?
答案1
这-行进标志允许编译器使用其他 CPU 不支持的指令。有一些可以合法使用但-march=athlon64
您的 i7 不支持的指令。这些是 3DNow!和增强型 3DNow! MMX 或整数 SSE 中未包含的指令。如果代码使用类似指令PFPNACC它会在你的 i7 上出现故障。
也就是说,它实际上不太可能使用任何此类指令,因为这些指令通常被发现没什么用处 - 有用的 3DNow!指令已合并到 MMX 或 iSSE 中,您的 CPU 确实支持这些指令。
所以它不能保证有效,但可能会有效。
-march=cpu 类型:生成机器类型的指令
cpu-type
。 ...-march=cpu-type
允许 GCC 生成以下代码可能根本无法在指定处理器以外的处理器上运行。
答案2
您将能够运行它,尽管性能会受到一点影响。