【发布时间】:2012-10-31 08:05:43
【问题描述】:
_mm_shuffle_ps() 内在函数允许将浮点输入交错为输出的低 2 个浮点数和高 2 个浮点数。
例如:
R = _mm_shuffle_ps(L1, H1, _MM_SHUFFLE(3,2,3,2))
将导致:
R[0] = L1[2];
R[1] = L1[3];
R[2] = H1[2];
R[3] = H1[3]
我想知道整数数据类型是否有类似的内在函数可用?需要两个 __m128i 变量和一个掩码用于交错的东西?
_mm_shuffle_epi32() 内在函数只接受一个 128 位向量,而不是两个。
【问题讨论】:
-
取决于元素的大小。如果您需要 32 位整数,只需使用
_mm_shuffle_ps,这也适用于整数。 -
所以我应该将 __m128i 类型转换为 __m128?让我看看这是否有效..