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]

Re: Is SSE FP ABI breaking on i386?


If you spill in XF mode, without observing the additional alignment
requirements, you will be introducing large performance problems, as certain
commercial compilers have done.  I'm not sure it is possible to get more
than 8-byte alignment on Windows (e.g. cygwin).  People used to say the ABI
forbade use of more than 4-byte alignment on Windows, and the c++ support in
gcc-2.95 continues to be incompatible with 8-byte alignment binutils
configuration.
----- Original Message -----
From: "Jan Hubicka" <jh@suse.cz>
To: "Geert Bosch" <bosch@gnat.com>
Cc: <discuss@x86-64.org>; <drepper@cygnus.com>; <gcc@gcc.gnu.org>; "Jan
Hubicka" <jh@suse.cz>; <rth@cygnus.com>
Sent: Friday, February 16, 2001 3:40 AM
Subject: Re: Is SSE FP ABI breaking on i386?


> > This is really not true. It just is a GCC bug that we cut off precision
> > when spilling floating point registers containing doubles. Cutting of
> > FP registers to double is *only* allowed when the rounding mode is set
> > to round at 53 bits. In any other case one would get in effect double
> > rounding  for the addition, subtraction, division, multiplication and
> > square root, and the final  accurracy is *worse* than for regular IEEE
> > double arithmetic.
> This is interesting point too. I've already tried to teach reload to use
> XFmode for spilling doubles but didn't know that it is needed for ABI.
> This also means that the -ffloat-store gives worse results than IEEE?
>



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