Assembly 哪个CPU支持MOVBE指令?

Assembly 哪个CPU支持MOVBE指令?,assembly,x86,endianness,Assembly,X86,Endianness,有时GCC在使用-march=atom编译时会生成此指令。每个Intel Atom CPU都支持MOVBE吗 其他哪些处理器支持此指令?我似乎在英特尔网站上找不到这些信息。请帮助。看来所有Atom处理器都支持MOVBE;无论如何,第一个也是最不可能的原子(原子230)确实如此。(参见示例以获取证据。)我不相信任何非Atom Intel处理器支持MOVBE;无论如何,最近的Core i7处理器似乎没有(参见和搜索“movbe”以获取证据) 您可以在运行时使用CPUID检测MOVBE支持。此指令最初

有时GCC在使用
-march=atom
编译时会生成此指令。每个Intel Atom CPU都支持MOVBE吗


其他哪些处理器支持此指令?我似乎在英特尔网站上找不到这些信息。请帮助。

看来所有Atom处理器都支持MOVBE;无论如何,第一个也是最不可能的原子(原子230)确实如此。(参见示例以获取证据。)我不相信任何非Atom Intel处理器支持MOVBE;无论如何,最近的Core i7处理器似乎没有(参见和搜索“movbe”以获取证据)


您可以在运行时使用CPUID检测MOVBE支持。

此指令最初是Intel®Atom独有的™ 处理器

英特尔方面:

英特尔编译器11.0允许您 以Intel®Atom为目标™ 处理器 使用/QxSSE3_原子或-xSSE3_原子 编译器选项。这些选项 启用movbe的生成 对用户来说是唯一的指令 英特尔®;Atom™ 处理器

在其他微体系结构中(uop信息来自):

  • 主流英特尔:Haswell及更高版本。包括Haswell Xeon(Ex xxxx v3)。
    解码为2或3个UOP,大约与
    bswap
    +加载或存储相同
  • 主流AMD:,和Ryzen家族。蒸汽压路机和更早的版本没有它。
    有效地解码到单个uop
非主流CPU:

  • 英特尔原子遗产:全部
  • 英特尔Silvermont系列故障原子:全部。有效地解码到单个uop
  • AMD捷豹。有效地解码到单个uop

  • 英特尔至强Phi:Knight's Landing(基于Silvermont)及更高版本。(也许不在骑士角。)


基于/proc/cpuinfo,新至强E3 XXXX v3还支持MOVBE

资料来源:


现在由Haswell SoC提供。Intel Xeon E5-2640也支持它。@pchaigno:E5-2640是Sandybridge。只有E5-2640 v3及更高版本支持MOVBE。a、 k.a推土机也有。@jww:Athlon X4 845是(最后一代推土机系列),而不是推土机。蒸汽压路机和更早的版本没有MOVBE。有CPUID列表和指示微基准,显示只有Carrizo(挖掘机)CPU有它,而不是更早的那个家族。@Peter-我买了一台推土机,它有。它就在我的地下室里。@jww:我非常怀疑,除非它得到CPUID的支持但没有报告<代码>0x1E98220B&(1xeonV3是Haswell微体系结构,所以是的。很有趣。只为Silvermont和更高版本列出它,但
/proc/cpuid
确认为了让Atom 230也有它。显然,Agner直到那时才将它添加到他的测试中。