混合操作 (浮点 SSE2 内部)
[本文档仅供预览,并可能在以后的版本中更改。 Blank topics are included as placeholders.]
Microsoft 专用
有关使用本主题中的代码示例的语法的说明,请参见 使用流 SIMD 扩展的浮点内部。
将内部使用 __m128、 __m128i和 __m128d 数据类型,在 Itanium 处理器家族 (IPF) (ipf) 处理器不支持。 使用 __m64 数据类型的任何 SSE2 内部在 x64 处理器不支持。
emmintrin.h 头文件包含 SSE2 指令内部函数说明。
__m128d _mm_unpackhi_pd (__m128d a, __m128d b);
UNPCKHPD
交错 a 的上限,双精度浮点值和 b。
r0 := a1
r1 := b1
__m128d _mm_unpacklo_pd (__m128d a, __m128d b);
UNPCKLPD
交错 a 的值较低的,双精度浮点和 b。
r0 := a0
2 := b0
int _mm_movemask_pd (__m128d a);
MOVMSKPD
创建从符号位两个双精度, a的浮点值的两个位掩码。
r := sign(a1) << 1 | sign(a0)
__m128d _mm_shuffle_pd (__m128d a, __m128d b, int i);
SHUFPD
根据掩码 i选择两个特定的双精度,从 a 的浮点值和 b,。 掩码必须是直接的。 为拖曳语义的声明参见 拖曳的宏使用流 SIMD 扩展 2 命令 部分。