[PATCH,rs6000] add support for generating out-of-line register saves/restores
Nathan Froyd
froydnj@codesourcery.com
Wed Apr 23 17:02:00 GMT 2008
On Tue, Apr 22, 2008 at 02:44:19PM -0700, Stan Shebs wrote:
> Nathan Froyd wrote:
> >[Jack, Stan, Dominique, I have a favor to ask of one of you, please read
> >on for details]
> >
> Interesting patch, is it a big win for performance? My ppc machine is
> oddly borked (weird Xcode versions or something) and I'm debugging that
> right now, so I won't be able to take this one up for a couple days.
I doubt it's a huge win for performance; GCC enables use of
load/store-multiple by default, so that's what most prologues/epilogues
use. A branch + return + load/store registers will probably not be
much--if at all--faster than load/store multiple. And if you're using
load/store multiple, then you'll only save a couple of bytes per
epilogue.
The primary benefit would be on chips where you don't want to use
load/store multiple or you can't (e.g. E500 w/ 64-bit GPRs being used).
Even on such chips, it's only a space optimization and would be
pleasantly surprised if it turned out to be a speed win.
-Nathan
More information about the Gcc-patches
mailing list