This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: find_mem_givs SMALL_REGISTER_CLASSES patch
- To: john at feith dot com (John Wehle)
- Subject: Re: find_mem_givs SMALL_REGISTER_CLASSES patch
- From: Toon Moene <toon at moene dot indiv dot nluug dot nl>
- Date: Sun, 28 Jun 98 12:35:51 +0200
- Cc: egcs-patches at cygnus dot com
- Organization: Moene Computational Physics, Maartensdijk, The Netherlands
- References: <199806280136.VAA22552@jwlab.FEITH.COM>
> This patch seems to improve the i386 performance of the
> recent FP benchmark posted to egcs by about 25%. The
> call to memory_address_p is to handle find_mem_givs being
> called with an expression which isn't a valid memory
> reference for the machine, in which case it might as well
> record the giv. I'm not sure if this is a useful theory
> ... hopefully someone with more knowledge will comment.
> :-)
With all the negatives in the above sentences I had to look at the
code to understand what you meant :-), but I think you are right.
The Politically Correct Theory is that this should be handled by
Richard Henderson's combine-givs patch, but it might be that it
doesn't in its full generality (because ix86 address expressions can
be quite complicated). The reason that your patch works is not so
much because it's the Right Thing on machines with
SMALL_REGISTER_CLASSES but rather that complicated address
expressions in ix86 instructions are essentially free.
HTH,
Toon.