在做过一些研究后, 我发现XNAMath最符合我做SIMD移植的要求. 它只有5个头文件, 全是内联的SSE/SSE2指令, 并且有完善的文档和支持....XMFLOAT4和XMFLOAT4A都是包含4个单精度浮点数的4D向量, 不同之处在于XMFLOAT4A是16字节对齐的....任务是对所有向量求和 R = Vi + Vj 其中 i,j 分别是偶数和奇数, 表示从 i=0 和j=1开始的顶点索引(0是偶数)....为了解决这个问题, 容器中的元素可以通过指针进行引用:
// get pointer to the beginning of an array (1st XMFLOAT4 element)
XMFLOAT4...XMVectorSet方法可以调用SSE/SSE2指令指定x,y,z,w分量初始化一个SIMD寄存器.
// storing sum in the SIMD register (initialized)