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: SPEC2000 252.eon generates invalid results when compiled -O3with g++ 3.3


Casey Leedom <casey_leedom at yahoo dot com> writes:

> / Date: Fri, 28 Mar 2003 02:21:56 +0100
> | From:"Jan Hubicka" <jh at suse dot cz>
> | 
> | >   Okay, adding -fpmath=sse solved the problem.  Interestingly enough adding
> | > "-march=k8 -mcpu=k8" wasn't good enough.  I would have thought that it
> | > would have been from reading gcc/config/i386/i386.c:override_options() ...
> | 
> | We've been chatting about this with glibc folks and they don't like the
> | idea of losing the extra precisity 80bit temrporaries give, so
> \ -mfpmath=sse can't be the default, unforutnately :(
>
>   Okay, I understand that.  So let me see if I'm 100% on the same page (I'm
> very new to the x86 instruction set and it's history):
>
>  1. x87 is a stack-based floating point co-processor (originally on a separate
>     chip).  It performs calulations in 80-bit arithmetic for "double"s?
>
>  2. SSE is a register-file floating point engine.  It was designed to support
>     digital media applications and performs 64-bit arithmetic for "doubles"?
>
>  3. SSE2 is an update of SSE that extends the arithmetic to use 128-bit
>     (80-bit?) arithmetic for "doubles"?

SSE and SSE2 together (don't remember what introduced what) have:
- 32-bit floats and performs 32-bit float arithmetic for these
- 64-bit doubles and performs 64-bit double arithmetic for these

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj at suse dot de
   private aj at arthur dot inka dot de
    http://www.suse.de/~aj


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