• __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/

  • 相关阅读:
    软件工程 2016.6.28 日报
    软件工程课程总结
    工大助手--项目总结
    工大助手--加权平均分计算
    工大助手--数据查询
    7.5
    7月4日日报
    7.3日报
    6.30日报
    6.29.日报
  • 原文地址:https://www.cnblogs.com/galoishelley/p/4040313.html
Copyright © 2020-2023  润新知