將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. 保存xmm寄存器的值
- 6. 從DX:AX寄存器移動到單個32位寄存器
- 7. IA32-86使用專用寄存器作爲通用寄存器
- 8. 操作控制寄存器
- 9. 使用FPU和MMX寄存器作爲「通用寄存器」
- 10. 使用xmm寄存器保存通用目錄是否安全?
- 11. 通用寄存器
- 12. 檢查所有零的XMM寄存器
- 13. 按字節填充xmm寄存器
- 14. 通過LLVM IR控制x86寄存器?
- 15. 如何在XMM寄存器之間移動128位值?
- 16. 從寄存器移動到一個可變的x86
- 17. 如何將(最多)16個單字節移動到XMM寄存器中?
- 18. x86寄存器名稱,尋址模式,位移和存儲器
- 19. 支持SSE的x86處理器上有多少個XMM寄存器可用?
- 20. x86程序集MOV指令 - 寄存器到寄存器和存儲器到存儲器
- 21. MIPS:將寄存器地址複製到另一個寄存器
- 22. XOR寄存器,寄存器(彙編)
- 23. 如何在MIPS中將浮點寄存器的值移動到通用寄存器?
- 24. 通用寄存器 - 訂購
- 25. 移位寄存器爲std_logic_vector
- 26. 移位寄存器Verilog
- 27. x86彙編寄存器地址
- 28. Linux內核操作系統寄存器
- 29. 操作系統和寄存器參數
- 30. 寄存器JS
除非必要,否則不要在不同域之間移動 –