__m128i的理解[轉]


__m128i被稱為128bits的整數,當我們對其賦值時,調用

__m128i _mm_set1_epi32(int i)

Sets the four signed 32-bit integer values to i.

R0

R1

R2

R3

i

i

i

i


則會有上面的效果,__m128i類型的值會被分為4部分,且這里這四部分都是相同的值,為什么是四部分呢?
由   epi32  =="every partion's bits is 32"可以得到,   128/32=4;
 

這里可以將它視為一個奇葩的整數,看起來像數組,可是卻不能像數組那樣調用,直接定義

__m128i nums;

這里的nums需要把它看成一個整數,不能直接調用,只有重新定義一個

int32_t  *p = (int *) &nums;
cout<<p[0]<<endl;

這樣子就可以拿出里面的值了。呼呼~~

 

reference:

http://caidongrong.blog.163.com/blog/static/21424025220133282132973/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM