VSX?VMX?阿尔蒂维克?虚拟现实?VSR?!这些PowerPC SIMD首字母缩略词之间的关系如何?
我听说过很多关于Altivec寄存器的事,但我甚至没有在网上找到它。在该文档中,我只在第6章“向量设施”和第7章“向量标量浮点运算”下找到了VR和VSR寄存器 在上,我注意到寄存器是如何进行物理分配的: 我仍然不明白为什么有两组。Altivec是遗产吗 据我所知,发生的情况如下:VSX?VMX?阿尔蒂维克?虚拟现实?VSR?!这些PowerPC SIMD首字母缩略词之间的关系如何?,powerpc,Powerpc,我听说过很多关于Altivec寄存器的事,但我甚至没有在网上找到它。在该文档中,我只在第6章“向量设施”和第7章“向量标量浮点运算”下找到了VR和VSR寄存器 在上,我注意到寄存器是如何进行物理分配的: 我仍然不明白为什么有两组。Altivec是遗产吗 据我所知,发生的情况如下: Altivec/VMX(矢量多媒体扩展)是PowerPc的一种古老的SIMD技术。我把它看作是旧的英特尔MMX 新的VSX(矢量标量扩展)是它的升级,但为了避免破坏与Altivec的兼容性,它们只保留了32个寄存器(
正确吗?要稍微澄清一下术语:
- VMX是POWER/PowerPC处理器的向量支持的早期实现
- Altivec是VMX的商标;在功能上,它应该是等效的
- VSX是POWER处理器的向量支持的较新实现
我不太熟悉Intel的vector实现,但你的类比听起来对我来说是正确的。你说的“在单个进程中混合使用VMX和VSX指令是不明智的,除非你小心寄存器分配”是什么意思?特别是对于gcc的内联程序集,您可以使用%x修饰符来标记相同的向量寄存器需要转换为VSX,如。最多,我认为它在多线程上可能会有一些性能问题,但是单进程@gut:更重要的是,您不希望通过写入VSX寄存器(反之亦然)无意中覆盖VMX寄存器的某个值。