__attribute__ vector_size(16)的含义是什么?

时间:2011-10-20 23:50:22

标签: gcc attributes

我第一次看到__attribute__关键字后得到了一个C程序。它似乎是一个GNU关键字。在海湾合作委员会的this page中,他们用(vector_size(16))属性解释其用法,并说:

  
    

int foo __attribute__ ((vector_size (16)));

         

使编译器将foo的模式设置为16字节,分为int大小的单位。假设32位int(4个4字节的向量),foo的相应模式将是V4SI。

  

这是什么意思? foo现在被声明为一个4元素的int数组吗?如果是这样,那么只会出现什么问题:

int foo[4];

2 个答案:

答案 0 :(得分:1)

用于SIMD矢量化。 (不,它不会使foo成为数组。)

记录在案here

答案 1 :(得分:0)

不,foo不会被声明为数组。在此语句中,int类型指定基类型,而属性指定变量的向量大小,以字节为单位。