This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: rtlopt loop unroller question


Roger Sayle wrote:

On Wed, 22 Oct 2003, Zdenek Dvorak wrote:

As I suspected, my favourite piece of cse strikes again.
With the patch below, the code produced is much better:

I've also been curious about the benefits of this piece of CSE.
It would be nice to get some benchmarking of your patch on several
platforms, and if things don't get significantly worse, remove this
section of code entirely.

What do others think?

What I do not understand is why this part of the compiler thinks that:


	LD	Rx,<const>(Ay)
	ADD	2^N,Ay			! sizeof(LD access) = 2^N

can be replaced by

LD Rx,<const>(Ay)+ ! Using autoincrement

By far the most architectures that do support autoincrement/decrement do not do so when the address register is offset ...

But presumably I'm missing something here.

--
Toon Moene - mailto:toon@moene.indiv.nluug.nl - phoneto: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
Maintainer, GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
GNU Fortran 95: http://gcc.gnu.org/fortran/ (under construction)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]