Current-Users archive

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

Re: build failure (alpha-current): floating point exception 8



On Tue, 3 Mar 2009, David Laight wrote:

On Tue, Mar 03, 2009 at 07:25:06PM +0100, Martin Husemann wrote:
On Tue, Mar 03, 2009 at 05:45:34PM +0000, Christos Zoulas wrote:
-       if (ep == s || r == HUGE_VAL || errno == ERANGE)
+       if (ep == s || memcmp(&r, &hv, sizeof(hv)) == 0 || errno == ERANGE)

Uhm, aren't there "don't care" bits in infinity, so we can't rely on memcmp
here?

I can't remember either, bit infinity has a sign bit and either
infinity or NaN has a lot of spare bits.

The implicit integer bit is a don't care, and I found that it's handled differently between the 68040 and 68060. Infinity is defined with the implicity integer bit set for long double, but one of the two processors clears that bit when loaded with fmov.

--
Michael L. Hitch                        mhitch%montana.edu@localhost
Computer Consultant
Information Technology Center
Montana State University        Bozeman, MT     USA


Home | Main Index | Thread Index | Old Index