我读到的所有关于使用 C/C++ 内在类型来实现 MMX 和 SSE 等 SIMD 功能的内容都表明您应该将它们用作不透明类型,而不是直接引用内部。
但是,当我查看许多示例时,它们通过获取(显式对齐)指向原始数据的指针并在执行工作之前将它们重新解释为指向内部类型的指针来工作。但是,通过使用指向内在类型的指针,尤其是在将其他数据别名为这些类型时,您是否违反了该规则?
我读到的所有关于使用 C/C++ 内在类型来实现 MMX 和 SSE 等 SIMD 功能的内容都表明您应该将它们用作不透明类型,而不是直接引用内部。
但是,当我查看许多示例时,它们通过获取(显式对齐)指向原始数据的指针并在执行工作之前将它们重新解释为指向内部类型的指针来工作。但是,通过使用指向内在类型的指针,尤其是在将其他数据别名为这些类型时,您是否违反了该规则?