This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: x86 double alignment (was egcs-1.1 release schedule)
- To: martin dot kahlert at mchp dot siemens dot de
- Subject: Re: x86 double alignment (was egcs-1.1 release schedule)
- From: Craig Burley <burley at gnu dot org>
- Date: Mon, 29 Jun 1998 17:35:49 -0400 (EDT)
- CC: egcs at cygnus dot com
>A small dummy question: Is it possible without big efford,
>to only align automatic (local) double vars
>and leave all function parameters untouched? So no ABI gets violatet.
>Most time critical calculations aren't performed on stack doubles,
>i would imagine.
I think that's what we've been concensing on over the past week
already -- 1) get the outgoing stack pointer aligned, so the
callee gets an aligned stack frame of the caller had an aligned
incoming %esp; 2) get double vars aligned within the stack frame;
3) don't do anything different with double vars passed to a
called procedure, since otherwise we'd seriously break the ABI;
4) *maybe* use aligned, frame-based locations for *spills* of
incoming double var args (so instead of spilling by not writing
and just re-reading the original var from the arglist, spill
by writing to an aligned stack temp slot and reading from that;
which costs an extra write, but for lots of reads, gains from
having those reads aligned).
tq vm, (burley)