This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [fortran, patch] Add Fortran 2003 IEEE intrinsic modules
- From: FX <fxcoudert at gmail dot com>
- To: "N.M. Maclaren" <nmm1 at cam dot ac dot uk>
- Cc: gfortran <fortran at gcc dot gnu dot org>, gcc-patches at gcc dot gnu dot org
- Date: Thu, 21 Nov 2013 11:43:18 +0100
- Subject: Re: [fortran, patch] Add Fortran 2003 IEEE intrinsic modules
- Authentication-results: sourceware.org; auth=none
- References: <F945E835-FE38-4741-99BD-15B2FD107555 at gmail dot com> <Prayer dot 1 dot 3 dot 5 dot 1311211031410 dot 6333 at hermes-2 dot csi dot cam dot ac dot uk>
> That's a reasonable decision, but it is actually used at least ten times
> as much as everything else put together, possibly a hundred times as much.
I believe we are in pretty different parts of the community. Around me I rarely see it used, while people check for nans, infinities, and exception flags often. Also, aborting on certain floating-point exceptions is widely used as a debugging aid.
> However, it is used in the form of selecting hard underflow using a
> compilation option, and not within the program. You certainly DO have
> targets where it would work, even dynamically within the program, and I
> think that it could be done even on x86. That isn't the same as it
> should be done, of course!
Indeed, 387/SSE has flush-to-zero modes. But other APIs do not (glibc, SysV, AIX).
I’m perfectly willing to add it, especially to 387/SSE, if given a bit of help (someone to write the assembly code).
Thanks for your feedback,
FX