[Bug target/70117] ppc long double isinf() is wrong?

joseph at codesourcery dot com gcc-bugzilla@gcc.gnu.org
Mon Mar 14 22:11:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70117

--- Comment #11 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
On Mon, 14 Mar 2016, rguenth at gcc dot gnu.org wrote:

> but it will end up with libcalls for isinf, isfinite and isnormal for
> IBM extended double.  I'm told glibc does the right thing for the gnulib

And corresponding libcalls don't exist (or at least GCC doesn't know of 
them; glibc has some functions such as __isinfl internally).

For the question of correctness of LDBL_MAX - and the related question of 
whether LDBL_EPSILON, although correct by the current standard definition, 
should change - see DR#467 (open).  (But the reference there to DBL_MAX*2 
as a finite number does not apply to the IBM long double format 
implemented by GCC, because of the rule about the round-to-nearest sum of 
the two parts equalling the top part.)  
(libgcc/config/rs6000/ibm-ldouble-format defines values with more than 106 
mantissa bits not to be normal - denormal but not subnormal.)


More information about the Gcc-bugs mailing list