Adhemerval Zanella wrote: > The issue is in __gcc_qadd implementation at > libgcc/config/rs6000/ibm-ldouble.c, > if the number if non finite, there is not check if it a NaN before actually > summing all the components. A possible solution would be to add an extra test > and return the first sum if the number if not infinity. > > This also fixes two GLIBC math issues I'm seeing: > > TEST_ff_f (nexttoward, qnan_value, 1.1L, qnan_value, NO_INEXACT_EXCEPTION), > TEST_ff_f (nexttoward, 1.1L, qnan_value, qnan_value, NO_INEXACT_EXCEPTION), > > Fix tested on PPC32 and PPC64. > > --- > > 2013-11-15 Adhemerval Zanella <azane...@linux.vnet.ibm.com> > > * libgcc/config/rs6000/ibm-ldouble.c (__gcc_qadd): Fix add > of normal number and sNaN to not raise an inexact exception.
Should this be qNaN instead of sNaN here? Also, since you already have a test case, I think it would be good to add it to the GCC test suite ... Otherwise, this looks reasonable to me (but I cannot approve the patch): Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com