首页 > 代码库 > __m128i的理解[转]
__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/
__m128i的理解[转]
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。