我實驗用gcc矢量擴展,我不知道如何將數據分配到矢量GCC矢量擴展賦值運算符
typedef int simdScore __attribute__ ((vector_size (16)));
simdScore x ={0,0,0,0};
simdScore y= {5,5,5,5};
x += y;
//ERROR by compiler
x = {1,2,3,4};
X = {1,2,3,4}似乎可用僅用於初始化,但不能在初始化後使用它。是否有某種方式來加載矢量數據,而無需創建一個本地variabile的或做:
x[0] =1;
x[1] =2;
x[2] =3;
x[3] =4;
謝謝大家
_「我正在嘗試使用gcc向量擴展」_當然,你會從當前的標準中選擇'std :: array'嗎? –
對於廣播,你可以做'simdScore y = 5 - (simdScore){};' –