octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A Note by Kahan on how not to do some things


From: Michael Godfrey
Subject: Re: A Note by Kahan on how not to do some things
Date: Thu, 21 Oct 2010 15:47:12 -0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.9) Gecko/20100921 Fedora/3.1.4-1.fc13 Thunderbird/3.1.4

On 10/21/2010 01:02 PM, Peter L. Sondergaard wrote:
Just to add some information for those who are not aware of this:

At the time this note was written, Intel chips and derivatives used 80
bits internally in the registers, and then rounded to 64 bits when the
double precision numbers where written to memory. This is known as x87
code.

The SSE2 standard does not use 80 bits internally, but only 64 bits, and
today GCC emits SSE2 code to do floating point operations, because the
syntax of the instructions is some much easier to work with (the x87
used a stack-based approach). Therefore it is not possible anymore to
get the extra precision discussed in the paper, unless the compiler
reverts to x87, which will slow the code down by a large factor.

This was discussed in the ATLAS project when SSE2 came out. SSE2
effectively lowered the precision but enabled much faster and cleaner
code.

Cheers,

Peter.
 
This is true, but SSE2 is still RFC-754-1985 compliant.  And, it reduces the uncertainty
of the error due to compiler choices.

Michael



reply via email to

[Prev in Thread] Current Thread [Next in Thread]