gcc-help-owner@xxxxxxxxxxx wrote on 16/11/2009 14:09:06: > Fahimeh Yazdanpanah <fahim_yazdan@xxxxxxxxx> > Sent by: gcc-help-owner@xxxxxxxxxxx > > 16/11/2009 14:09 > > To > > gcc-help@xxxxxxxxxxx > > cc > > Subject > > vectorization of non consecutive data-accesses > > Hello, > > I used gcc for vectorization of non consecutive data-accesses. > > Using gcc-4.3.3 and these flags, -O3 -ftree-vectorize -ftree- > vectorizer-verbose=20 -ffast-math -mfpmath=sse -march=core2, I > compiled the following loops hopefully to vectorized: > > for (i = 0; i < N/2; i++){ > a[i] = b[2*i+1] * c[2*i+1] - b[2*i] * c[2*i]; > d[i] = b[2*i] * c[2*i+1] + b[2*i+1] * c[2*i]; > } This one is not vectorizable on sse with 4.3 since the relevant permutations were not supported then. The sse support was added to GCC 4.4. I checked that the current trunk vectorizes this loop. > > for (i = 0; i < N; i+=4){ > a[i]=b[i]; > > but these loops were not vectorized. Please tell me what I did wrong? This loop contains not consecutive store with gap, which is not supported for now. Ira > > > Thanks a lot, > Fahimeh > > >