This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: More than you ever wanted to know about Fortran array indexing ;-)
- To: Toon Moene <toon at moene dot indiv dot nluug dot nl>
- Subject: Re: More than you ever wanted to know about Fortran array indexing ;-)
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Mon, 13 Oct 1997 10:29:33 -0600
- cc: egcs at cygnus dot com
- Reply-To: law at cygnus dot com
In message <9710091754.AA05699@moene.indiv.nluug.nl>you write:
> Pah, it probably means the PA is broken as an architecture :-) -
:-) :-) I've said this more than once myself.
> I've tried it on machines as far apart as DEC Alpha and Motorola
> m68k - all Fortran code I throw at it gets compiled to better code
> *with* your `USE' patch; certainly all others (with possibly the x86
> as the sole exception) must fall between these extremes ...
Hmmm. It's always possible I goof'd something during my benchmark runs.
Basically what I saw was inner loops improving, but one level out there
was _severe_ code explosion -- enough that improvements in the inner loops
were completely negated.
There's also the possibility the slowdown is PA specific due to quirks
in the PA's addressing modes.
> Oh, BTW, making combine_givs_p accept all possible candidate givs
> for combining does not result in much improvement, because the
> return value of this function is but one of the (half a dozen)
> conditions that have to be fulfilled before giv G2 can be combined
> with giv G1 (see the routine combine_givs, i.e. without `_p').
Yup. Found that out myself when I briefly looked at the PA slowdowns.
> Obviously, this could work correctly if every giv could have a
> _list_ of other givs that could be combined with it, and
> combine_givs computed the transitive closure of the
> G2-combines-with-G1 relation (checking, in the mean time, that the
> computational relationship remained a valid addressing mode).
>
> But that requires `some' more work ;-)
A "simple" matter of hacking :-) :-)
jeff