SSE2指令使用下面三种数据类型: __m128, __m128i, 和 __m128d ,但是安腾处理器家族( Itanium Processor Family,IPF)处理器并不支持这三种数据类型;
x64的处理器不支持任何使用 __m64 数据类型的SSE2指令。
所有的SSE2指令的声明都在emmintrin.h头文件中可以找得到。
1. __m128i _mm_load_si128 (__m128i *p);
指令名:__m128i _mm_load_si128 (__m128i *p);
说明:加载128bits值;
返回值:返回可以存放在代表寄存器的变量中的值;
注意:p必须是一个16-bit对齐的一个变量的地址;
2.__m128i _mm_loadu_si128 (__m128i *p); 指令名:__m128i _mm_load_si128 (__m128i *p);
说明:加载128bits值;
返回值:返回可以存放在代表寄存器的变量中的值;
注意:p不用是一个16-bit对齐的一个变量的地址;
3.__m128i _mm_loadl_epi64(__m128i const*p);
指令名:__m128i _mm_loadl_epi64(__m128i const*p);
说明:加载p所指向的变量的低64位数据到返回值变量的低64位中,高64位赋值为0;
返回值:如果返回值r,看做两个64位的r0,r1,那么赋值规则如下;
r0=*p[63:0];
r1=0x0;