This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Reorganize -ffast-math code.
- To: Brad Lucier <lucier at math dot purdue dot edu>
- Subject: Re: Reorganize -ffast-math code.
- From: Toon Moene <toon at moene dot indiv dot nluug dot nl>
- Date: Thu, 08 Mar 2001 22:41:26 +0100
- CC: Linus Torvalds <torvalds at transmeta dot com>, gcc-patches at gcc dot gnu dot org
- Organization: Moene Computational Physics, Maartensdijk, The Netherlands
- References: <200103081921.f28JLw725349@banach.math.purdue.edu>
Brad Lucier wrote:
> 0. The programmer can declare the precision of all operations.
>
> 1. All temporaries generated for a single expression are always maintained
> in extended precision, even when spilled to the stack, and
>
> 2. Each assignment to a variable is stored to memory. (And, if the value of
> that variable is used later by dereferencing its lvalue, the value is loaded
> from memory and the temporary that was stored to memory is not re-used.)
>
> Item 0 is already implemented in the Linux-Gnu/glibc/gcc/x86 combination. We
> just need the possibility of setting items 1 and 2 through options; they don't
> need to be the default.
The whole reason I thought it would not be wise to redo the ix86-IEEE
thread is neatly summed up by this mail.
You reach the same conclusion I did in my mail on the 19th of July 1999
to gcc@gcc.gnu.org with Subject: "ia32 and IEEE-754 conformance." (see:
http://gcc.gnu.org/ml/gcc/1999-07n/msg00696.html), although I agree your
0 .. 2 items sum it up more clearly.
The overall conclusion at that time was that this would be useful to add
to GCC, but no-one was stepping forward to do the work.
That still is the case.
[ Now you _could_ wait until I get time to work on F2K, which
necessitates
implementing exact IEEE arithmetic on a program unit basis 1) - but
don't hold your breath ;-) ]
1) The programmer indicates if a particular program unit uses IEEE
conformant arithmetic.
--
Toon Moene - mailto:toon@moene.indiv.nluug.nl - phoneto: +31 346 214290
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
Maintainer, GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
Join GNU Fortran 95: http://g95.sourceforge.net/ (under construction)