使用新的 sse 寄存器 xmm8 - xmm15

发布于 2024-11-15 21:29:13 字数 102 浏览 2 评论 0原文

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

Is it possible to use the new SSE registers from Visual Studio 2010 inline assembler? If so, how and what else conditions must be satisfied? I don't know for example if new registers are available in both x86 and x64 modes.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

神爱温柔 2024-11-22 21:29:13

在 Visual Studio(自 VS 2005 起)中针对 x64 平台进行编译时,不允许内联汇编。

我建议您使用内在函数。它使编译器为您处理 CPU 寄存器,并进行一些指令重新排序(优化器开始处理代码,而内联汇编则不会出现这种情况)。

Inline assembly is not allowed when compiling for the x64 platform in Visual Studio (since VS 2005).

I would recommend that you use intrinsics instead. It makes the compiler handle the CPU registers for you, and does some instruction reordering (the optimizer gets to process the code, which is never the case with inline assembly).

浮萍、无处依 2024-11-22 21:29:13

关于你的第二个问题:

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

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

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

ymm0 - ymm7 在 32 位版本中均可用位和 64 位模式。

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

As regards your 2nd question:

I don't know for example if new
registers are available in both x86
and x64 modes.

The 'new' registers xmm8 - xmm15 are only available in 64-bit mode.

Note however, the situation with the new AVX registers (for CPUs and OSes that support AVX, e.g. Sandy Bridge CPU + Win7 SP1):

ymm0 - ymm7 are available in both 32-bit and 64-bit mode.

ymm8 - ymm15 are available only in 64-bit mode.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文