public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* i686 pre-gcse disable
@ 1998-07-13 12:58 tprince
  0 siblings, 0 replies; only message in thread
From: tprince @ 1998-07-13 12:58 UTC (permalink / raw)
  To: egcs, law

I repeated the Livermore Kernel tests with pre-gcse disabled, on
NT/cygwinb19, on PPro.  Again, this modification improved
performance significantly in just a few loops.  Kernel 7 went from
53 to 89 Mflops, Kernel 8 from 25 to 35, Kernel 9 from 37 to 42,
and Kernel 23 from 54 to 70.  All of these kernels show a
performance penalty from register spillage and are likely to do
so with the best of compilers on the i386.  Kernel 8, in particular,
should go 130 Mflops if it were not for register pressure.   lf90
runs in the 120's on 7 and the 80's on 8, 9, and 23.

The pre-gcse change made no significant differences running
on i686-pc-linux-gnulibc1 on P II.  I am supposing that that
system managed to get proper storage alignment in all the
important places, and maybe makes more effective use of cache
as well.  As I mentioned before, the Kernel timings on cygwinb19
with pre-gcse disabled were the same as on Linux.

I don't have a Linux available on PPro, which would make it
possible to check into the possibility that Linux does a much
better job of aligning register spill storage than cygwinb19.  The
fact that in only one case did the same section of code show this
effect on my Pentium 2 with the only software difference being
W95 vs NT makes me wonder if these register spills may be
hitting aligned storage in one case and not in the other.  The
non-alignment penalties obviously tend to be much greater on
the Pro.

Tim
tprince@computer.org

           To:                                              INTERNET - IBMMAIL

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~1998-07-13 12:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-07-13 12:58 i686 pre-gcse disable tprince

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).