使用新的sse寄存器xmm8-xmm15



是否可以使用Visual Studio 2010内联汇编程序中的新SSE寄存器?如果是,必须如何满足以及还必须满足哪些条件?例如,我不知道x86和x64模式下是否都有新的寄存器。

在Visual Studio中为x64平台编译时不允许使用内联程序集(自VS 2005以来)。

我建议您使用内部函数。它使编译器为您处理CPU寄存器,并进行一些指令重新排序(优化器可以处理代码,而内联汇编从来不是这样)。

关于您的第二个问题:

例如,我不知道是否是新的寄存器在两个x86中都可用和x64模式。

"新"寄存器xmm8-xmm15仅在64位模式下可用。

然而,请注意,新AVX寄存器的情况(适用于支持AVX的CPU和操作系统,例如Sandy Bridge CPU+Win7 SP1):

ymm0-ymm7可用于32位和64位模式。

ymm8-ymm15仅在64位模式下可用。

最新更新