etc:common_activities:gcc_vectorization:gaps_stores
Vectorization with gaps
Introduction
Допустим, у нас есть некая структура **s**. В функции **foo** происходит операция, которую необходимо векторизовать.
#define N 4 struct s { int a; int b; int c; int d; }; struct s ss[N]; int i=0; void foo() { while(i<N) { ss[i].a = 2; ss[i].b = 3; ss[i].d = 4; i=i+1; }
На текущий момент голова autovect-braunch выдает следующий результат:
foo: lis 7,i@ha lwz 0,i@l(7) cmpwi 7,0,3 bgtlr- 7 lis 9,ss@ha slwi 0,0,4 la 9,ss@l(9) li 8,2 add 11,9,0 li 10,3 addi 9,9,64 li 0,4
etc/common_activities/gcc_vectorization/gaps_stores.txt · Last modified: 2008/09/01 01:21 by zps