gcc PowerPC supports 3 representations of long double:
- -mlong-double-64
long double has the same representation of double but is mangled as e. In clang, this is the default on AIX, FreeBSD and Linux musl.
- -mlong-double-128
long double has 2 possible 128-bit floating point representations:
+ -mabi=ibmlongdouble IBM extended double format. Mangled as g In clang, this is the default on Linux glibc. + -mabi=ieeelongdouble IEEE 754 quadruple-precision format. Mangled as u9__ieee128 (U10__float128 before gcc 8.2) This is currently unavailable.
This patch adds -mabi=ibmlongdouble and -mabi=ieeelongdouble, and thus
makes the IEEE 754 quadruple-precision long double available for
languages supported by clang.