Hi!

in gcc-3.2.3/gcc/config/fp-bit.h (CVS checkout version from 09. june 2005)
lines 114 to 123 are

#ifdef FLOAT
#       define NGARDS    7L
#       define GARDROUND 0x3f
#       define GARDMASK  0x7f
#       define GARDMSB   0x40
#       define EXPBITS 8
#       define EXPBIAS 127
#       define FRACBITS 23
#       define EXPMAX (0xff)
#       define QUIET_NAN 0x100000L

It seems to me, that QUIET_NAN is wrong.
IEEE 754 32 floating point defines the fraction to be located in bits 22
downto 0. A QNaN is signalled with bit 22 beeing 1. See e.g.
<http://stevehollasch.com/cgindex/coding/ieeefloat.html> for details.
Therefore

#       define QUIET_NAN 0x400000L

would be correct. Am I right or did I miss something?


Note #1: For double precision (that is not used for MSP430) fp-bit.h defines

#       define QUIET_NAN 0x8000000000000LL

which is correct.


Note #2: fp-bit.h claims to be part of GNU CC. Therefore this error (If I am
not wrong will be in gcc, too (if not already fixed))


Ralf

Reply via email to