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

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 (5.1.2.3#12, 6.3.1.5#2 and 6.3.1.8#2[52]) and bindings
(Annex F, when IEEE 754 is claimed to be supported). See upstream
bug 323 for more information:

  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=323

and in particular my comment #125:

  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=323#c125

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:

  http://sourceware.org/bugzilla/show_bug.cgi?id=6981

-- 
Vincent Lefèvre <vincent@vinc17.org> - 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)



Reply to: