Yes, we don't vectorize complex types yet.

dorit

> L.S.,
>
> The following code:
>
>       SUBROUTINE S(N)
>       DOUBLE COMPLEX A(N), B(N)
>       READ*,B
>       DO I = 1, N
>          A(I) = B(I)
>       ENDDO
>       PRINT*,A
>       END
>
> when compiled thusly:
>
> $ gfortran -g -S -O3 -ftree-vectorize -ftree-vectorizer-verbose=2 -
> msse2 vect3.f
>
> draws the following "not vectorized" message:
>
> vect3.f:4: note: not vectorized: no vectype for stmt: D.929_51 =
> (*b_8)[D.928_48] scalar_type: complex8
> vect3.f:4: note: vectorized 0 loops in function.
>
> Which begs the question: Why not vectorizing *after* complex computation
has
> been lowered to the equivalent floating point computation ?
>
> HIRLAM contains relatively few complex computation - however, a sizable
number
> of physics problems are more easily expressed using (DOUBLE) COMPLEX
> quantities.  It seems they are on the short end of the rope as far as
> vectorization is concerned.
>
> Kind regards,
>
> --
> Toon Moene - e-mail: [EMAIL PROTECTED] - phone: +31 346 214290
> Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
> A maintainer of GNU Fortran 95: http://gcc.gnu.org/fortran/

Reply via email to