本篇介绍SSE指令集,SSE是流化SIMD扩展(Streaming SIMD Extension, SSE),提供全新的一组寄存器,处理128位打包数据。
SSE提供了xmm寄存器,xmm一组8个128位的寄存器,分别名为xmm0-xmm7,SSE构架提供对打包单精度浮点数的SIMD支持。
SSE提供了两个版本的指令,其一以后缀ps结尾,这组指令对打包单精度浮点值执行类似mmx操作运算,而第二种后缀ss,这些指令对一个量标单精度浮点 值进行运算操作,这些指令不对打包值中的所有浮点值操作,而只对打包值中的低位双字节执行操作,源操作数中剩余的3个值直接传送给结果。
头文件:#include <emmintrin.h>
1. __m128i _mm_cvtsi32_si128 (int a)
Instruction: movd xmm, r32
CPUID Flags: SSE2
描述:Copy 32-bit integer a to the lower elements of dst, and zero the upper elements of dst.
将32位整数a复制到dst(16字节)的低字节部分,并将dst的较高位置置零。
Operation
dst[31:0] := a[31:0]
dst[127:32] := 0
int _mm_cvtsi128_si32 (__m128i a)
#inclu