如何使用我的cpu的MM0到MM7寄存器
how can i use MM0 through MM7 registers of my cpu?
我使用的是Digital Mars C++和VC++10编译器,我有masm32汇编程序。如何使用mm0….mm7 64位寄存器在eax、eabx 32位寄存器之间切换数据?我可以在c++编译器asm{}或_asm{}supply中使用它们吗?
像这样的东西可能很有用:
mmTo32 eax,mm3
mmTo16 bx,mm6
mmTo8 cl,mm4
ToMM mm2,eax
我在谷歌上搜索了一下,但找不到足够的。
谢谢。
使用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代码生成。
相关文章:
- 本质:使用__128寄存器
- 将寄存器设计成可由C和C++访问的外设的最佳实践
- 在模拟器中使用并集来模拟CPU寄存器有多合适
- 使用英特尔 PIN 修改寄存器
- AVX 指令中寄存器和指针之间的客观差异
- 如何确定我的处理器有多少个 AVX 寄存器?
- 除非使用某些寄存器,否则函数挂钩会崩溃
- 寄存器上的管道计算
- 其中关于内存和寄存器的左值和右值
- 有没有办法强制C++编译器将变量存储在寄存器中?
- "变量":函数中函数作用域不允许初始化的自动或寄存器变量'naked'
- Atmel Studio:返回一个包含数组的寄存器
- 使用 googletest 测试嵌入式C++代码时处理外设寄存器的重复符号
- 移位寄存器74HC595输出电流
- 超过255的Modbus寄存器无法访问SimpleModbus
- 如何在程序集函数中将元素数组作为参数传递时转发 ARM 寄存器的地址指针
- xmm 寄存器中的__m128何时?
- 是否可以在 GCC 中使用带有 C++17 的显式寄存器变量?
- 处理器寄存器的大小是多少,有多少个处理器寄存器?
- 如何使用我的cpu的MM0到MM7寄存器