將xmm0寄存器移動到eax和edx的簡短x86指令序列是什麼?X86操作碼將xmm寄存器移動到通用寄存器
0
A
回答
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。
+0
想要從x86(32位)上的xmm0中獲取64位double的位。 – tgiphil
+0
@tgiphil:好的,低64就是我猜測的。有沒有理由你沒有接受這個答案?你需要一個32位的SSE2版本,使用矢量移位或混洗來將第二個單詞下降到元素0作爲另一個「movd」嗎? –
相關問題
- 1. 將兩個x86 32位寄存器存儲到128位xmm寄存器中
- 2. XMM寄存器值
- 3. XMM寄存器存儲
- 4. xmm寄存器的乘法
- 5. 將內存操作數移動到段寄存器,程序集(x86)
- 6. 將XMM寄存器推入堆棧
- 7. 保存xmm寄存器的值
- 8. 彙編器反轉XMM寄存器
- 9. XMM寄存器0未被使用
- 10. 從DX:AX寄存器移動到單個32位寄存器
- 11. 如何將XMM 128位寄存器分成兩個64位整數寄存器?
- 12. 的x86寄存器值
- 13. IA32-86使用專用寄存器作爲通用寄存器
- 14. 操作控制寄存器
- 15. 使用xmm寄存器保存通用目錄是否安全?
- 16. 使用FPU和MMX寄存器作爲「通用寄存器」
- 17. 在x86中向xmm寄存器添加恆定值
- 18. 檢查所有零的XMM寄存器
- 19. XMM寄存器按位取反
- 20. 按字節填充xmm寄存器
- 21. 通用寄存器
- 22. 通過LLVM IR控制x86寄存器?
- 23. 如何在XMM寄存器之間移動128位值?
- 24. 如何將(最多)16個單字節移動到XMM寄存器中?
- 25. 從寄存器移動到一個可變的x86
- 26. 在ml64中移動xmm和通用寄存器之間的四字嗎?
- 27. x86寄存器名稱,尋址模式,位移和存儲器
- 28. 支持SSE的x86處理器上有多少個XMM寄存器可用?
- 29. x86程序集MOV指令 - 寄存器到寄存器和存儲器到存儲器
- 30. x86部分寄存器使用情況
除非必要,否則不要在不同域之間移動 –