最简单的方法是将RDX,R8中的两个long移动到XMM0,其中RDX移动到低64位,R8移到高64位?
MOVQ仅设置较低值,0设置为较高值。
我仅限于SSSE3。
答案 0 :(得分:5)
仅限于SSSE3意味着没有pinsrq
,但您可以这样做:
movq xmm1, r8
pslldq xmm1, 8
movq xmm0, rdx
por xmm0, xmm1
还有很多其他方法,但我现在想不出更快的事情。
如果它没有旁路延迟,可能就是这样:
movq xmm1, r8
movq xmm0, rdx
shufpd xmm0, xmm1, 0
使用SSE4.1,你当然可以
movq xmm0, rdx
pinsrq xmm0, r8, 1