我的问题很简短。是否有可能从Visual Studio 2010内联汇编程序使用新的sse寄存器?如果是这样,那么还有其他条件必须满足吗?我不知道,例如,新的寄存器在x86和x64模式下都可用。使用新的sse寄存器xmm8 - xmm15
0
A
回答
3
在Visual Studio中编译x64平台时不允许行内汇编(自VS 2005以来)。我建议你使用intrinsics instead。它使编译器为你处理CPU寄存器,并执行一些指令重新排序(优化器得到处理代码,内联汇编永远不会这样)。
2
至于你的第二个问题:
我不知道,例如,如果新 寄存器两个86 和x64模式可供选择。
'新' 寄存器xmm8
- xmm15
是仅在64位模式下可用。
注意然而,随着新的AVX寄存器(支持AVX用于CPU和操作系统,例如距桥CPU + Win7的SP1)的情况:
ymm0
- ymm7
是在32位和64位可用模式。
ymm8
- ymm15
仅在64位模式下可用。
+0
与新的AVX-512相同,只有低8位寄存器可用于32位模式,所以如果您不想“浪费”剩余的24个寄存器,则需要转为64位 – 2014-03-13 13:52:11
相关问题
- 1. SSE 64位寄存器
- 2. 加载SSE寄存器
- 3. 在SSE寄存器(GCC,C++)
- 4. 将向量载入SSE寄存器
- 5. 访问一个SSE寄存器变量
- 6. SSE/AVX寄存器的非零字节索引
- 7. 添加一个SSE寄存器的组件
- 8. 如何连接两个SSE寄存器的低半部分?
- 9. IA32-86使用专用寄存器作为通用寄存器
- 10. 使用FPU和MMX寄存器作为“通用寄存器”
- 11. 支持SSE的x86处理器上有多少个XMM寄存器可用?
- 12. 转换8 16位SSE寄存器8位数据
- 13. SSE指令克隆扩展XMM寄存器
- 14. 加载常量浮点到SSE寄存器
- 15. 无效使用寄存器
- 16. XOR寄存器,寄存器(汇编)
- 17. 通用寄存器
- 18. 使用移位寄存器的java
- 19. 使用ATMEGA328p的移位寄存器
- 20. C++ CPU寄存器的使用
- 21. 的内联汇编使用寄存器
- 22. SSE设置寄存器为0.0和1.0的最佳方法是什么?
- 23. 寄存器JS
- 24. 为什么使用临时寄存器将值传递给段寄存器?
- 25. NVCC寄存器使用情况报告
- 26. C中如何使用寄存器?
- 27. VIM使用线回寄存器
- 28. Verilog,FPGA,使用单位寄存器
- 29. 使用mmap读取/写入寄存器
- 30. 位运算使用移位寄存器
+1用于向汇编器推荐内在函数。还要注意,xmm8..xmm15仅适用于x86-64代码。 – 2011-06-17 07:43:59