[PATCH, gfortran testsuite]: Do not load denormals in gfortran.fortran_torture/intrinsic_nearest.f90
Richard Henderson
rth@redhat.com
Fri Aug 21 21:47:00 GMT 2009
On 08/21/2009 01:28 PM, Uros Bizjak wrote:
> See what happens when denormals are loaded? Instead of loading
> <something>e-44, we just loaded <something_else>e-308. Without _ANY_
> exception, that is, and this is silicon bug, plain and simple. Perhaps
> some other rocket is waiting to self-destruct... [2]. ;)
Not exactly. You can't interpret the register in this way without
issuing a CVTST instruction first. Which *will* trap, and with /S
qualifier, will go through the kernel routine that will produce a
properly normalized double-precision number.
If you try to use ADDT instead of ADDS on this register value,
without the CVTST, you are in error and will cause rockets to pop.
r~
More information about the Fortran
mailing list