如何使用我的cpu的MM0到MM7寄存器

how can i use MM0 through MM7 registers of my cpu?

本文关键字:MM7 寄存器 MM0 何使用 我的 cpu      更新时间:2023-10-16

我使用的是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代码生成。