什么是将xmm0寄存器移动到eax和edx的短x86指令序列?
答案 0 :(得分:5)
你想要xmm0的哪些部分?
movd eax, xmm0
pextrd edx, xmm0, 1 ; SSE4.1
将xmm0的低64位变为edx:eax
。
在64位代码中,movq rax, xmm0
/ shld rdx, rax, 32
可能优于pextrd
,并且不需要SSE4.1。
有关指令集引用和其他内容,请参阅x86标记wiki。
有关使用哪些说明的提示,请参阅Agner Fog's excellent Optimizing Assembly guide。