public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* x86 alignment stuff
@ 1998-02-08 22:42 Jeffrey A Law
  0 siblings, 0 replies; 7+ messages in thread
From: Jeffrey A Law @ 1998-02-08 22:42 UTC (permalink / raw)
  To: egcs

Does anybody know why we don't items in the static store on the
x86?  Seems to me we can align stuff in the static store via
DATA_ALIGNMENT and friends without breaking ABI compatability.

Note this includes stuff in the constant pool too.

jeff

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: x86 alignment stuff
  1998-07-10 13:32 John Wehle
  1998-07-10 21:04 ` John Polstra
@ 1998-07-11 22:54 ` Jeffrey A Law
  1 sibling, 0 replies; 7+ messages in thread
From: Jeffrey A Law @ 1998-07-11 22:54 UTC (permalink / raw)
  To: John Wehle; +Cc: egcs

  > Don't know that it's needed for freebsd-elf since FreeBSD-3.0 (which is stil
  > in development) is the first release to officially support a native ELF tool
  > chain.  It currently uses binutils-2.8.1 which supports MAX_SKIP_ALIGN (the
  > development tree never included an older version of binutils for use with
  > ELF).  I would be very suprise to see someone doing a cross to freebsd-elf
  > using a version of binutils older than 2.8.1.
  > 
  > On the other hand, it certainly doesn't hurt to have the protective #ifdef.
I agree that it's not strictly needed.  However, keeping it doesn't
hurt and avoids someone copying the freebsd-elf version into another
target file for a system that can/does have older versions of the
assembler.

jeff

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: x86 alignment stuff
  1998-07-10 13:32 John Wehle
@ 1998-07-10 21:04 ` John Polstra
  1998-07-11 22:54 ` Jeffrey A Law
  1 sibling, 0 replies; 7+ messages in thread
From: John Polstra @ 1998-07-10 21:04 UTC (permalink / raw)
  To: john; +Cc: egcs

In article < 199807101815.OAA11140@jwlab.FEITH.COM >,
John Wehle <john@feith.com> wrote:
> > Just an FYI for anyone thinking about adding MAX_SKIP_ALIGN support to
> > another x86 target -- don't forget the protective #ifdef.  Otherwise if
> > we lose if we have an old version of gas on the system.
> > 
> > I'll be checking in a fix to freebsd-elf and linux.h shortly.

Hey, thanks for looking out for us!  But ...

> Don't know that it's needed for freebsd-elf since FreeBSD-3.0 (which is still
> in development) is the first release to officially support a native ELF tool
> chain.  It currently uses binutils-2.8.1 which supports MAX_SKIP_ALIGN (the
> development tree never included an older version of binutils for use with
> ELF).  I would be very suprise to see someone doing a cross to freebsd-elf
> using a version of binutils older than 2.8.1.

You are right.  We haven't quite flipped the switch that changes the
system to ELF in 3.0 yet, but all the pieces are there.  For a.out,
we are using a very old assembler.  But the ELF tools are essentially
binutils-2.8.1 at this point in time.

John Polstra
FreeBSD Core Team

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: x86 alignment stuff
@ 1998-07-10 13:32 John Wehle
  1998-07-10 21:04 ` John Polstra
  1998-07-11 22:54 ` Jeffrey A Law
  0 siblings, 2 replies; 7+ messages in thread
From: John Wehle @ 1998-07-10 13:32 UTC (permalink / raw)
  To: law; +Cc: egcs

> Just an FYI for anyone thinking about adding MAX_SKIP_ALIGN support to
> another x86 target -- don't forget the protective #ifdef.  Otherwise if
> we lose if we have an old version of gas on the system.
> 
> I'll be checking in a fix to freebsd-elf and linux.h shortly.

Don't know that it's needed for freebsd-elf since FreeBSD-3.0 (which is still
in development) is the first release to officially support a native ELF tool
chain.  It currently uses binutils-2.8.1 which supports MAX_SKIP_ALIGN (the
development tree never included an older version of binutils for use with
ELF).  I would be very suprise to see someone doing a cross to freebsd-elf
using a version of binutils older than 2.8.1.

On the other hand, it certainly doesn't hurt to have the protective #ifdef.

-- John
-------------------------------------------------------------------------
|   Feith Systems  |   Voice: 1-215-646-8000  |  Email: john@feith.com  |
|    John Wehle    |     Fax: 1-215-540-5495  |                         |
-------------------------------------------------------------------------


^ permalink raw reply	[flat|nested] 7+ messages in thread

* x86 alignment stuff
@ 1998-07-05 23:38 Jeffrey A Law
  0 siblings, 0 replies; 7+ messages in thread
From: Jeffrey A Law @ 1998-07-05 23:38 UTC (permalink / raw)
  To: egcs

Just an FYI for anyone thinking about adding MAX_SKIP_ALIGN support to
another x86 target -- don't forget the protective #ifdef.  Otherwise if
we lose if we have an old version of gas on the system.

I'll be checking in a fix to freebsd-elf and linux.h shortly.

jeff


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: x86 alignment stuff
  1998-02-22 16:39 Stan Cox
@ 1998-02-22 18:48 ` Jeffrey A Law
  0 siblings, 0 replies; 7+ messages in thread
From: Jeffrey A Law @ 1998-02-22 18:48 UTC (permalink / raw)
  To: Stan Cox; +Cc: egcs

  In message < nrra4vp32s.fsf_-_@rtl.cygnus.com >you write:
  > >Does anybody know why we don't items in the static store on the
  > >x86?  Seems to me we can align stuff in the static store via
  > >DATA_ALIGNMENT and friends without breaking ABI compatability.
  >  
  > The x86 ABI alignment is: char (1), short (2), int/long/enum (4),
  > *type (4), float (4), double (4), long double (4).
  > double and long double are of course the interesting ones.
Those specify minimum alignments.  What I'm looking for is any
reason why we could not provide more alignment for some items in the
static store.  Seems to me like we could provide 8 byte alignment
for doubles, long doubles and arrays which have doubles or long
doubles as elements.

For at least the Fortran folks this would get most of their data
aligned on a suitable boundary to improve performance.

Note that we'd also want to look into aligning doubles and long
doubles in the constant pool!

Anyone want a nice little project to improve x86 performance? :-)

jeff

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: x86 alignment stuff
@ 1998-02-22 16:39 Stan Cox
  1998-02-22 18:48 ` Jeffrey A Law
  0 siblings, 1 reply; 7+ messages in thread
From: Stan Cox @ 1998-02-22 16:39 UTC (permalink / raw)
  To: egcs

>Does anybody know why we don't items in the static store on the
>x86?  Seems to me we can align stuff in the static store via
>DATA_ALIGNMENT and friends without breaking ABI compatability.
 
The x86 ABI alignment is: char (1), short (2), int/long/enum (4),
*type (4), float (4), double (4), long double (4).
double and long double are of course the interesting ones.

i386.h does not currently define DATA_ALIGNMENT.  Most targets use it
to align arrays of char on a cache line boundary.  The alpha uses to
align constants and variables to a word boundary.




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~1998-07-11 22:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-02-08 22:42 x86 alignment stuff Jeffrey A Law
1998-02-22 16:39 Stan Cox
1998-02-22 18:48 ` Jeffrey A Law
1998-07-05 23:38 Jeffrey A Law
1998-07-10 13:32 John Wehle
1998-07-10 21:04 ` John Polstra
1998-07-11 22:54 ` Jeffrey A Law

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).