【问题标题】:Which is the first CPU that Intel has added conditional move instructions to?英特尔向哪个 CPU 添加了条件移动指令?
【发布时间】:2026-02-24 01:10:02
【问题描述】:

我记得在某处读到过它……有人能解释一下吗?

【问题讨论】:

    标签: x86 instruction-set


    【解决方案1】:

    根据Wiki,奔腾专业版。它们出奇的老了,我想知道为什么你还需要一个开关来让 GCC 使用它们。

    【讨论】:

    • 谢谢。虽然*不是维基。 :-)
    • 我还在某处读到 gcc 默认不使用 cmov 指令,但我的 gcc 使用。
    • 需要切换 GCC,因为与 MOV 相比,CMOV 非常有限。看看 Linux 内核的人怎么说:ondioline.org/mail/cmov-a-bad-idea-on-out-of-order-cpus
    • @gertas:是的,你是对的,我犯了一个错误。有时我什至需要为其添加优化标志以使用条件移动。
    • 我不知道CMOVs 有多糟糕,但我看到 ICC 经常发出条件移动。可以在gcc.godbolt.org查看它
    【解决方案2】:

    CMOV 是在 Pentium Pro(通常称为 i686)中引入的

    【讨论】: