From: Michael Meissner <meiss...@linux.vnet.ibm.com> Date: Thu, 15 Sep 2011 14:16:45 -0400
> On the powerpc, we have an issue with Spec 2006 and calculix when FMAs are > generated and -ffast-math is used, where line 307 of rubber.f is: > > tt=datan2(dsqrt(1.d0-cn*cn),cn)/3.d0 > > The FNMSUB instruction generates a -0.0 while doing the multiply and subtract > generates +0.0. Dsqrt returns a -0.0 when given a -0.0, and datan2 (-0.0, > 1.0) > returns -0.0. Note, calculix is nothing but nested FMAs, and if you disable > FMAs you get about a 10% drop in performance. I suspect that the issue may be > a powerpc backend issue where the wrong comparison is generated, but I haven't > tracked it down. Have you learned anything more about this? Just curious.