From mboxrd@z Thu Jan 1 00:00:00 1970 From: Craig Burley To: martin.kahlert@mchp.siemens.de Cc: egcs@cygnus.com Subject: Re: x86 double alignment (was egcs-1.1 release schedule) Date: Mon, 29 Jun 1998 19:43:00 -0000 Message-id: <199806292135.RAA21094@melange.gnu.org> References: <19980629141934.A18433@keksy.mchp.siemens.de> X-SW-Source: 1998-06/msg01075.html >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)