|Instruction scheduling with gcc on alpha email@example.com (1997-05-13)|
|Re: Instruction scheduling with gcc on alpha firstname.lastname@example.org (John Haxby) (1997-05-22)|
|Re: Instruction scheduling with gcc on alpha Robert.Harley@inria.fr (1997-06-13)|
|Re: Instruction scheduling with gcc on alpha email@example.com (Toon Moene) (1997-06-24)|
|From:||Toon Moene <firstname.lastname@example.org>|
|Date:||24 Jun 1997 23:42:46 -0400|
|Organization:||Moene Computational Physics, Maartensdijk, The Netherlands|
Robert.Harley@inria.fr (Robert Harley) wrote:
>Claus Denk (email@example.com) writes:
>>I am just looking at the machine code created by gcc. I am interested
>>in simple floating vector operations, as for example:
>> for (i = 0; i< n; i++)
>> dy[i] = da*dx[i];
>>For pipelined architectures like the alpha, loop unrolling is
>It is indeed, but neither gcc nor other compilers will do much with
>this because dx and dy might overlap. If you are sure they don't, you
>can qualify dx as 'const', use some 'no-aliasing' flag etc.
Or use Fortran (i.e., g77).
[ This is not really directed at Claus, because I _know_ he uses
Fortran, but the number of times one has to explain why Fortran code
can be compiled to faster code than C *just because of this single
language feature* is amazing.
Without specifying that dy and dx are not allowed to overlap, one
couldn't even write a vectorizing compiler ]
Toon Moene (mailto:firstname.lastname@example.org)
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
Phone: +31 346 214290; Fax: +31 346 214286
g77 Support: mailto:email@example.com; NWP: http://www.knmi.nl/hirlam
Return to the
Search the comp.compilers archives again.