Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 31 Aug 2019 14:25:01 +0200
From: Szabolcs Nagy <>
Cc: ardi <>
Subject: Re: Looking for a libm suitable for float128 (using softfloat
 or softfp)

* ardi <> [2019-08-31 13:33:48 +0200]:
> I'm looking for a software implementation of libm that can deal with
> the IEEE float128 (float128 as implemented by either the John Hauser's
> softfloat or Fabrice Bellard's softfp libraries).

i think you just want an ieee-754 binary128 libm.

whether the underlying hw has instructions for it or they
are software emulated are not hugely relevant.

(some functions can be implemented more efficiently if you
know there are no fp units, but then usually you would not
use the ieee elementary operations either, e.g. doing plain
int arithmetics can be faster than using a soft fp lib)

> Looking at the musl source in src/math it certainly implements long
> double versions of all libm functions, and it seems that the source
> code makes checks to confirm whether to use the Intel 80bit long
> double, or a 128bit long double, so, at first glance I think musl
> could be a great choice for this task.
> But I'm wondering if I can rely on the 128bit implementations at
> src/math, or if this is untested code.

you can rely on it when there is actual implementation, but
many functions are missing (or just dummy functions calling
the double prec version)

> BTW, yes, I know there's libquadmath, but it's LGPL and I'd prefer to
> avoid it because sometimes I need static linking.
> Would you recommend me to use musl for this, or would you advice to
> use other alternatives?

i don't know of opensource 128bit complete libm implementation
other than the code in glibc (lgpl), but there are arbitrary
precision libraries and they may be good enough if you only
need software implementation anyway.

i think (lgpl) has quite complete coverage
of math functions and should be no more than 2-3x slower than
soft fp code optimized for 128bit floats (mpfr is slower than

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.