有时,在使用-march=atom编译时,GCC会生成此指令。是否每个英特尔凌动CPU都支持MOVBE?
还有哪些处理器支持这条指令?我似乎在英特尔网站上找不到此信息。请帮帮忙。
发布于 2011-03-09 23:39:25
此指令最初是英特尔®凌动™处理器所独有的。
英特尔方面:
英特尔®编译器11.0允许您使用/QxSSE3_ATOM或-xSSE3_ATOM编译器选项面向英特尔®凌动™处理器。这些选项支持生成movbe指令,该指令是英特尔®凌动™处理器独有的。
在其他微体系结构中(带有来自https://agner.org/optimize/的uop信息的http://instlatx64.atw.hu/):
解码为2或3个uop,与bswap + load或store.
bswap系列大致相同。蒸汽压路机和更早的没有它。高效解码为一个uop。
非主流CPU:
发布于 2011-03-09 21:35:43
似乎所有的Atom处理器都支持MOVBE;无论如何,第一个也是能力最弱的( Atom 230)支持MOVBE。(例如,请参阅http://www.linuxquestions.org/questions/linux-hardware-18/proc-cpuinfo-output-816192/获取证据。)我不相信任何非凌动的英特尔处理器支持MOVBE;至少,最近的酷睿i7处理器似乎不支持movbe(参见http://www.techsupportforum.com/forums/f108/i7-running-on-3-of-8-threads-522063.html和搜索"movbe“以获取证据)。
您可以在运行时使用CPUID检测MOVBE支持。
发布于 2014-01-18 07:36:40
基于/proc/cpuinfo,新的至强E3 XXXX v3也支持MOVBE
来源:
http://openbenchmarking.org/s/Intel%20Xeon%20E3-1230%20v3
https://stackoverflow.com/questions/5246146
复制相似问题