This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Change x86 default arch for 4.5?


On Sun, 21 Feb 2010, Geert Bosch wrote:

> > As I understand it, whether -mfpmath=387 (with excess precision) or 
> > -mfpmath=sse is the default is also considered part of the platform API 
> > (like whether char is signed or unsigned by default, for example), in 
> > addition to the ABI issues that can slow things down when SSE is used.
> 
> No, this is not a new ABI. The ABI stays exactly the same. The I of

Correct - I said API, not ABI.  The API for C programs on x86 GNU/Linux 
involves FLT_EVAL_METHOD == 2, whereas that on x86 Darwin involves 
FLT_EVAL_METHOD == 0 and that on FreeBSD involves FLT_EVAL_METHOD == 2 
but with FPU rounding precision set to 53 bits so only excess range, not 
precision, applies.

You can support multiple APIs within one ABI - you can support both 
versions of -mfpmath just as you can support both signed and unsigned 
char, or both signed and unsigned bit-fields.  It is not however 
appropriate for -march options (whether explicit, or configured defaults 
from the noncanonical target name or otherwise) to change either ABI or 
API.  Configure options to configure with a different API would be fine, 
as would target names such as i686-pc-linux-gnussemath.

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]