Subject: Re: Support for malign-double?
From: [email-masked]

21 Aug 1998 20:30:00 -0700
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
To: [email-masked], [email-masked]
Cc: [email-masked]

In a message dated 8/20/98 4:13:18 PM Pacific Daylight Time,
[email-masked] writes:

> linux performance is
>  about 20% better for floating point intensive application.
>  
You'd have to study harder than I'm willing to do to figure out which
alignments are controlled by -malign-double, which are at the discretion of
the OS or the math library, and which are controlled by the compiler in which
version.  It appears that linux-gnulibc1 aligns many local variables,
including register spills, which cygwin32 does not.  One of the effects I have
observed is that -Os may be faster than -O2 on a P-Pro running certain code on
cygwin32, where the two are about equal on a P2 on cygwin32, and -O2 may be
faster on linux.  My conclusion is that -O2 spills more registers, which are
stored with unpredictable alignment in cygwin32. 

 You must be running a P-Pro; data mis-alignment on the P-Pro can slow it down
by a factor of 2 or 3 when there are L1 data cache misses, while I've never
been able to slow the P2 down by more than 50% for data cache misses.  But,
since you mention 20%, that's a typical penalty on the P2 for failing to use
the p2align feature of current egcs.  That, however, is the same on linux or
cygwin32, if you install the same compiler and gas on each.
-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".