This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: version of gcc and auto-vectorization
- From: ranjith kumar <ranjit_kumar_b4u at yahoo dot co dot uk>
- To: gcc-help at gcc dot gnu dot org
- Date: Tue, 20 Mar 2007 17:46:15 +0000 (GMT)
- Subject: Re: version of gcc and auto-vectorization
--- Ian Lance Taylor <iant@google.com> wrote:
> ranjith kumar <ranjit_kumar_b4u@yahoo.co.uk> writes:
>
> > 1) In my P.C. gcc version 4.1.2 has been
> installed.
> > I have a look at http://gcc.gnu.org/.
> > In that it is said that 4.1.2 is the "current
> > release series", "Next release series: GCC 4.2.0"
> and
> > "Active development: GCC 4.3.0"
> >
> > What does it mean? Has gcc 4.2.0/4.3.0 been
> > released???
>
> No. It means that 4.2 is the next release. 4.3 is
> under active
> development.
> >
> > 2)From which version "auto-vectorization" has been
> > included?
> > In
> >
>
http://gcc.gnu.org/projects/tree-ssa/vectorization.html#status4.0
> > it is said that gcc 4.0 also does
> > "auto-vectorization".
> > Deos it mean auto-vectorization cababilities of
> gcc4.0
> > and gcc4.1/4.2 are same??
>
> No, it is under active development and is enhanced
> in each release.
>
> > 3)-ftree-vectorize is the flag that enables
> > autovectorization. isn't it??
>
> Yes.
>
> > 4) where can I get C programs for which gcc can do
> > autovectorization and for which it cant?
>
> There are test cases in gcc/testsuite/gcc.dg/vect.
What does auto-vectorization mean??
I think it must be converting 'for' loops which does
not exploit SIMD features of a processor(say Pentium
4) to 'for' loops which exploit SIMD features(of
course, it could be at any intermediate
representation).
I have taken vect-40.c in that directory and compiled
as "gcc -march=pentium4 -S -O3 -ftree-vectorize
vect-40.c". I looked at the assembly code. No
MMX/SSE/SSE2 instructions were there.
(I have gcc-4.1.2 installed in my P.C. and my
processor is Pentium4.)
What can gcc do? Can it produce MMX/SSE/SSE2
instructions even if the source file(.c) does not use
any functions defined in
mmintrin.h/xmmintrin.h/emmintrin.h????
If so, did I miss any other option while compiling?
Thanks in advance.
>
> > 4) I know all languages are internallay converted
> to
> > same representation(in the context of gcc
> compiler).
> > So what is said in gcc manuals about
> > auto-vectorization is applicable to all languages
> gcc
> > supports. Isn't it?
>
> Yes. But some languages are more amenable to
> vectorization than
> others.
>
> Ian
>
___________________________________________________________
Now you can scan emails quickly with a reading pane. Get the new Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html