This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [GCC 3.0] Bad regression, binary size
On Sat, Jul 07, 2001 at 11:41:48PM +0200, Jamie Lokier wrote:
> By the way, is this 16 byte stack alignment going to be a permanent
> feature?
Yes.
> As far as I can tell, it is not necessary to 16-byte align all functions
> just to help the performance of a few. Instead, functions which pass
> aligned arguments or use aligned locals, and which don't receive any
> aligned argument, could use "and" to align the stack themselves. It is
> necessary to record the original stack pointer, but that is easy enough.
Yes, this can be done, but it is _really_ expensive. You can
no longer directly address stack arguments, and wind up burning
yet another register to address them.
The one thing that really ought to happen is to notice that
leaf functions don't need extra alignment. Then remember
alignment required by previously compiled functions.
r~