gpt4 book ai didi

c++ - gcc 禁用 AMD64 推土机/打桩机指令

转载 作者:太空狗 更新时间:2023-10-29 21:21:18 26 4
gpt4 key购买 nike


我需要编译一个针对特定架构或更好的程序,使用通用 AMD64 指令编译,忽略更新的 AMD cpu(推土机和打桩机)。

具体来说,我需要绝对忽略任何 FMA 或 XOP 指令(我的理解是这些通常在 O2/3 优化期间启用。

我知道我可以使用 --march 或 -mcpu 指定一个特定的 cpu,但是我在哪里可以找到这些值,有什么想法吗?

谢谢!

最佳答案

有用于禁用和启用特定指令集的选项。它们在不同的 gcc 版本中可能不同。我的 gcc 4.7 有以下选项来启用/禁用 FMA4 和 XOP 指令集:

-mfma4
-mno-fma4
-mxop
-mno-xop

据我所知,FMA3 是在 FMA4 之后发布的,我想我的 gcc 版本不知道这个指令集。

还有 gcc 手册说:

虽然选择特定的 cpu 类型会为该特定芯片适本地安排事情,但如果不使用 -march=cpu-type 选项,编译器将不会生成任何不能在 i386 上运行的代码。

我认为这意味着如果您不指定 -march 选项,您的代码将在您的架构上正确运行。

关于c++ - gcc 禁用 AMD64 推土机/打桩机指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22751041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com