This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: loop opts, mark 11
- To: Richard Henderson <rth at cygnus dot com>
- Subject: Re: loop opts, mark 11
- From: Toon Moene <toon at moene dot indiv dot nluug dot nl>
- Date: Thu, 4 Jun 98 20:36:33 +0200
- Cc: egcs-patches at cygnus dot com
- Organization: Moene Computational Physics, Maartensdijk, The Netherlands
- References: <19980602190051.A13524@dot.cygnus.com>
> Basically, I am interested in samples that generate
> different results with and without -fno-rerun-loop-opt.
> (Note that I don't disable it by default anymore.)
[ On m68k-next-nextstep3 ]
OK, I managed to build a egcs-980602 CVS snapshot with (and
without) your mark 11 patch. c-torture-1.45 found no regression for
the compiler with your patch.
Some preliminary figures:
% /usr/snp/bin/g77 -O2 bs3dvw.f
% time ./a.out
[ ... ]
84.8u 0.8s 2:27 58% 0+0k 0+0io 0pf+0w
% /usr/snp/bin/g77 -O2 -fforce-addr bs3dvw.f
% time ./a.out
[ ... ]
82.1u 0.7s 2:33 54% 0+0k 0+0io 0pf+0w
% /usr/snp/bin/g77 -O2 -fno-rerun-loop-opt -fforce-addr bs3dvw.f
% time ./a.out
[ ... ]
85.9u 1.5s 1:50 79% 0+0k 0+0io 0pf+0w
% /usr/snp/bin/g77 -O2 -fno-rerun-loop-opt bs3dvw.f
% time ./a.out
[ ... ]
85.3u 1.0s 1:34 91% 0+0k 0+0io 0pf+0w
So, for this piece of code (that has a lot of opportunities for giv
combining), rerunning loop optimisation helps (as does
-fforce-addr, but that's usual for Fortran code on m68k). It's also
1.5 seconds faster than the mark 10 attempt.
The NWP code is still running; no timings yet.
HTH,
Toon.