NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lib/44057



The following reply was made to PR lib/44057; it has been noted by GNATS.

From: Taylor R Campbell <campbell+netbsd%mumble.net@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: lib/44057
Date: Fri, 15 Apr 2011 17:04:10 +0000

 The problem is that GCC has distributed x*(one + x) = x + (x*x) in the
 definition of tanh in src/lib/libm/src/s_tanh.c, as revealed by
 disassembling libm.so.
 
 I suspect that GCC fixed this in SVN revision 152443 by adding the
 following fragment to the top of distribute_and_simplify_rtx in
 gcc/combine.c:
 
   if (FLOAT_MODE_P (GET_MODE (x))
       && ! flag_unsafe_math_optimizations)
     return NULL_RTX;
 
 I don't have the resources to test this hypothesis right now, though.
 I imagine that if this fixes the problem, it is safe to back-port to
 whatever version of GCC we are using; the surrounding code looks
 pretty similar.
 


Home | Main Index | Thread Index | Old Index