【发布时间】:2012-11-05 04:30:53
【问题描述】:
我读到的所有关于将 C/C++ 内在类型用于 MMX 和 SSE 等 SIMD 功能的信息都表明,您应该将它们用作不透明类型,而不是直接引用内部。
但是,当我查看许多示例时,它们的工作原理是采用(显式对齐)指向原始数据的指针,并在执行工作之前将它们重新解释为指向内部类型的指针。但是,通过使用指向内在类型的指针,尤其是在将其他数据别名为这些类型时,您是否违反了该规则?
【问题讨论】:
-
通常指向原始数据的指针是
unsigned char*或void*,在指针别名方面有特殊的规则。一旦有了实际的内在类型,就可以使用内在类型指针来引用它。
标签: c++ c simd intrinsics