Re: NetBSD 9.2 Alpha: error in conversion of int64_t to long double

Jason Thorpe <[email protected]> Tue, 14 Sep 2021 19:01:20 -0700
Newsgroups gmane.os.netbsd.ports.alpha
Message-ID <[email protected]>
> On Sep 14, 2021, at 1:26 PM, Nelson H. F. Beebe <[email protected]> wrote:
> 
> On NetBSD Alpha, long double is a synonym for double, both a 64-bit
> IEEE 754 binary type.
> 
> By contrast, on Debian 11 Alpha, long double corresponds to the
> 128-bit IEEE 754 binary type, and that system exhibits expected output
> in the extensive environmental tests in features-1.2.3, available at

Unfortunately, I don't recall what Digital UNIX used for "long double" (T_float or X_float), but as far as I'm aware, no Alpha hardware ever shipped with support for X_float; as of the 4th Edition (2002), the Alpha Architecture Manual states:

<quote>
Support for 128-bit IEEE extended-precision (X_float) floating-point is initially provided entirely through software. This section is included to preserve the intended consistency of implementation with other IEEE floating-point data types, should the X_float data type be sup- ported in future hardware.
</quote>

...and there are no X_float instructions to emulate, so fixing this is going to require adding a considerable amount of softfloat to the Alpha libc.

-- thorpej