================
@@ -234,7 +232,10 @@ llvm::Constant *CodeGenModule::getBuiltinLibFunction(const
FunctionDecl *FD,
else {
// TODO: This mutation should also be applied to other targets other than
// PPC, after backend supports IEEE 128-bit style libcalls.
- if (getTriple().isPPC64() &&
+ // FreeBSD's powerpc64le has a single IEEE-128 long double format and uses
+ // the unsuffixed libm names, so skip the IEEE-128 libcall redirection
+ // there; other PPC64 IEEE-128 targets keep it.
----------------
pkubaj wrote:
The reason `*l` was chosen as opposed to `__*ieee128` was that (AFAIK)
`__*ieee128` exists only to help with transition from IBM long double. FreeBSD
never had it - even its powerpc64 port is on 64-bit long double and powerpc64le
is transitioning from 64-bit long double. So since we don't have the legacy of
IBM long double, we can just directly switch to `*l`. Moreover, all the other
FreeBSD-supported architectures are already on `*l` and won't switch from that.
It just seems much more complicated without any benefit.
https://github.com/llvm/llvm-project/pull/201298
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits