[Patch, Fortran] Another floating point speedup

Jerry DeLisle jvdelisle@verizon.net
Sun Jan 4 05:38:00 GMT 2009

Daniel Kraft wrote:
> Once again...  This patch should finally be rid of the bugs (no 
> regressions) and handles exponents of size up to 4 digits (should be 
> enough).
> In addition, I got rid of the memcpy in convert_real and use 
> pointer-casting instead, got another second of speed up.
> Ok for 4.5?  Or should I first look at the list_read.c floating parsing 
> routines (I guess those are for unformatted IO?)

Lets do this as a separate patch.  The list_read.c functions you are seeing are 
for namelist reading.  Namelist I/O is yet another beast and is pure regression 
territory.  So beware.  :)

Also, I would like to see testing on multiple platforms if possible before this 
goes in to 4.5  We will need Steve to test on FreeBSD as this tends to reveal 
some things.  I will test on ppc64 and Cygwin.  Hopefully Dominiq can test on 
Darwin and cousins.

We should torture test beyond our current testsuite, so maybe Polyhedron, NIST, 
SPEC, for those who can, CP2K, and any other real world apps we have access to 
that use formatted I/O.

There are readers on this list who are very knowledgeable in floating point.  I 
appreciate if some one could devise a test that checks the ulp roundoff since it 
appears to be a significant issue judging from the responses to the first patch.

I don't expect any failures, but this patch hits at the heart of some well 
exercised code.

By the way, thanks for the patch, good job.


More information about the Gcc-patches mailing list