What is the portable 128-bit floating point type?

Konstantin Belousov kostikbel at gmail.com
Sat May 25 21:03:20 UTC 2019


On Sat, May 25, 2019 at 01:50:24PM -0700, Yuri wrote:
> On 2019-05-25 13:04, Konstantin Belousov wrote:
> > Neither i386 nor amd64 have hardware-supported 128 bit floating point
> > type. long double is defined by both i386 and amd64 Unix ABI as 80 bits
> > (10 bytes) representation as defined by IEEEE FP standard and supported
> > by x87 FPU (not-SSE). The difference in size is due to the different
> > natural alignment between 32 and 64 bit ISA.
> 
> 
> So it looks like there is no true quad-precision float available.
> 
> 
> Based on this conversation https://github.com/bluescarni/mppp/issues/186 
> FreeBSD used to support __float128. Why was it removed?
No idea, it seems to be clang-specific.  gcc 8.3 does accept the type.
On the other hand, I have no idea if any support is required from
libgcc (probably it is), and we almost certainly do not have it in
the base library.


More information about the freebsd-hackers mailing list