Bug#470318: i387 versus SSE versus MPFR (gcc "bug")
On 2008-04-17 14:02:17 +0400, Alexei Sheplyakov wrote:
> I don't think it's a bug. Rather, it's a wrong expectation from the
> user side. You are comparing results of FP calculation done on 3
> different platforms: ix87, sse2, and MPFR, and expect them to be the
> same. I think your expectation is wrong.
I agree with you, the testcase doesn't show any bug, but...
> That said, I'm not really an expert. Feel free to point out which
> requirements of IEEE 754 are violated.
IEEE 754 allows computations to be performed in an extended precision
(this is still true in the current version, IEEE 754-2008). However
the long answer is more complex: the C99 language has additional
requirements (220.127.116.11#12, 18.104.22.168#2 and 22.214.171.124#2) and bindings
(Annex F, when IEEE 754 is claimed to be supported). See upstream
bug 323 for more information:
and in particular my comment #125:
Since the "incorrect" result was obtained *without* optimizations,
I suppose that the problem is not due to the GCC bug 323, but is
due to double rounding only. So, in this case, as I've said there
(in my comment #125), this is a bug in glibc:
Vincent Lefèvre <email@example.com> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)