[clang] [clang][PowerPC] Enable IEEE-128 long double on FreeBSD/powerpc64le (PR #201298)

Hubert Tong via cfe-commits cfe-commits at lists.llvm.org
Sun Jun 21 14:48:26 PDT 2026


================
@@ -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.
----------------
hubert-reinterpretcast wrote:

> Would it not be simpler to make FreeBSD the same as Linux rather than have a special case just for FreeBSD?

For info: The Linux support here is incomplete, e.g., mapping to `__nexttoward_to_ieee128` is not present.

If it is not too much trouble for FreeBSD's libc to match glibc math function symbol names, then doing so will actually help to mitigate issues tied to limited usage of Clang on Linux (compared to GCC).

https://github.com/llvm/llvm-project/pull/201298


More information about the cfe-commits mailing list