This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: g77 performance on ALPHA
- To: N8TM@aol.com
- Subject: Re: g77 performance on ALPHA
- From: Toon Moene <toon@moene.indiv.nluug.nl>
- Date: Tue, 31 Aug 1999 20:51:21 +0200
- CC: torvalds@transmeta.com, submit-linux-egcs@transmeta.com, gcc@gcc.gnu.org
- Organization: Moene Computational Physics, Maartensdijk, The Netherlands
- References: <833a759d.24fd2581@aol.com>
N8TM@aol.com wrote:
> In a message dated 8/30/99 11:55:55 PM EST, torvalds@transmeta.com writes:
> > do the proper
> > iteration unrolling, testing the loop count just once for "4 or more
> > iterations" and then the actual unrolled body would not have any control
> > dependencies.
> >
> > For some reason I thought gcc already did that, but it obviously
> > doesn't
> That's the difference between "unroll-loops" (if the compiler is
> willing) and "unroll-all-loops."
Well, I already pointed out that the compiler is "willing" on the ix86
and rth mumbled something about "losing iteration information that the
unroller needs" and that specifying -fno-rerun-loop-opt is a
work-around.
Somehow I missed the blt sandwiches in the "unroll-all-loops" unrolled
loop ...
Furthermore, reading alpha.md and knowing that Fortran's alias analysis
will prove X and Y (and ALPHA) non-overlapping I'd say that g77 should
be able to push up all the loads and and down all the stores in the
loop. Unfortunately, my DS10 is still not "operational"; hence I cannot
easily check this :-(
--
Toon Moene (toon@moene.indiv.nluug.nl)
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
Phone: +31 346 214290; Fax: +31 346 214286
GNU Fortran: http://world.std.com/~burley/g77.html