hus*_*sik 2 c++ x86 assembly inline-assembly
我正在使用Digital-Mars C++和VC++ 10编译器,我有masm32汇编程序.如何使用mm0 .... mm7 64位寄存器在eax,eabx 32位寄存器之间切换数据?我可以在c ++编译器asm {}或_asm {}中使用它们吗?
这样的东西可能有用:
mmTo32 eax,mm3
mmTo16 bx,mm6
mmTo8 cl,mm4
ToMM mm2,eax
Run Code Online (Sandbox Code Playgroud)
我用Google搜索但找不到足够的信息.
谢谢.
使用SSE2,因为XMM更好并且得到支持(感谢Harold的评论,XMM与MM寄存器无关,一定是我的想法与AVX/SSE混在一起).
看到这个页面从MSDN:http://msdn.microsoft.com/en-us/library/dzs626wx(v=vs.71).aspx
你需要的所有内在函数都在这里.它们由编译器展开到内联汇编.
您需要_mm_loadl_pi/ _mm_loadh_pi和_mm_storel_pi/ _mm_storeh_pi从内存中加载/存储值/.
只需包含"xmmintrin.h"文件,并在项目选项中启用SSE代码生成.