Re: vectorization of non consecutive data-accesses

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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
>
>
>


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux