Date: Sun, 26 May 2019 00:03:11 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Yuri <yuri@rawbw.com> Cc: Freebsd hackers list <freebsd-hackers@freebsd.org> Subject: Re: What is the portable 128-bit floating point type? Message-ID: <20190525210311.GW2748@kib.kiev.ua> In-Reply-To: <e13bc70d-4d7e-3407-a0a0-14a64f94addd@rawbw.com> References: <eb15d9e4-c1d4-3886-a3b7-1264c12396cd@rawbw.com> <20190525200437.GV2748@kib.kiev.ua> <e13bc70d-4d7e-3407-a0a0-14a64f94addd@rawbw.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190525210311.GW2748>