作者:mobiledu2502891657 | 来源:互联网 | 2023-05-23 08:20
将RDX,R8中的两个long移动到XMM0中的最简单的方法是什么,其中RDX移动到较低的64位,R8移动到较高的64位?
MOVQ仅设置较低,0设置为较高.
我只限于SSSE3.
1> harold..:
限于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