This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, gfortran testsuite]: Do not load denormals in gfortran.fortran_torture/intrinsic_nearest.f90


On Aug 23 2009, Tim Prince wrote:

I didn't see any C99 support in gcc for IEEE_ARITHMETIC, so I'm assuming the choice is between methods currently in gcc/config/fpu* and use of SSE intrinsics or inline asm.
I'll be interested to see your analysis of whether Fortran standard is at all specific about what should happen with UNDERFLOW_MODE.

It's in chapter 14 of the Fortran 2003 standard. It specifies rules on what happens when it is set on entry to a procedure and on return.

One of the many reasons that most traditional numerical analysts (including
me, though I am scarcely one) want nothing to do with dynamic modes is that
they cause havoc with optimisation.  For example, under some circumstances:

   PRINT *, 1.23*4.56
   CALL fred
   PRINT *, 1.23*4.56

will print two different values - according to IEEE 754, that is.  According
to Fortran, that's up to the implementor.

Whatever you specify should at least be compatible with Fortran's current
wording and approach, and it is checking that that I am offering to help
with.  But I do need a precise specification of what you are proposing, when
you do.

At the moment I have a seemingly trivial C programming mental block.

No C programming is trivial - there's always a gotcha lurking :-)


Regards,
Nick Maclaren.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]