[fortran,patch] Inline intrinsics: EXPONENT, FRACTION, NEAREST, RRSPACING, SET_EXPONENT and SPACING

FX Coudert fxcoudert@gmail.com
Mon Feb 25 12:04:00 GMT 2008


Hi all,

Currently, the intrinsics listed in the subject of this mail are  
translated into calls to library functions in libgfortran. These  
functions are short, and call in turn the system math library  
functions like nextafter(), frexp(), ldexp(), fabs() and scalbn().  
This patch makes us directly emit that code from the front-end. This  
allows for better optimization and probably better vectorization. I'm  
not proposing the removal of the library functions yet, because that  
would break ABI compatibility; next time we break it for some other  
reason, however, expect me to ask for their removal.

Bootstrapped and regtested on x86_64-linux (both -m32 and -m64).  
Testing is already covered by the testsuite, as I discovered during  
my first failed regtesting attempts :)

OK for mainline?
FX


-- 
François-Xavier Coudert
http://www.homepages.ucl.ac.uk/~uccafco/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: intrinsics.ChangeLog
Type: application/octet-stream
Size: 1195 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20080225/b73262a8/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: intrinsics.diff
Type: application/octet-stream
Size: 24032 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20080225/b73262a8/attachment-0001.obj>


More information about the Fortran mailing list