Iam*_*mIC 3 assembly sse cpu-registers
将RDX,R8中的两个long移动到XMM0中的最简单的方法是什么,其中RDX移动到较低的64位,R8移动到较高的64位?
MOVQ仅设置较低,0设置为较高.
我只限于SSSE3.
限于SSSE3意味着没有pinsrq,但你可以这样做:
movq xmm1, r8
pslldq xmm1, 8
movq xmm0, rdx
por xmm0, xmm1
Run Code Online (Sandbox Code Playgroud)
还有很多其他方法,但我现在想不出更快的事情.
也许这个,如果它没有旁路延迟:
movq xmm1, r8
movq xmm0, rdx
shufpd xmm0, xmm1, 0
Run Code Online (Sandbox Code Playgroud)
有了SSE4.1,你当然可以
movq xmm0, rdx
pinsrq xmm0, r8, 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
436 次 |
| 最近记录: |