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;