[llvm] RuntimeLibcalls: Stop opting out of exp10 (PR #148604)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 15 01:27:54 PDT 2025
nikic wrote:
> Actually, is there anything unique about `exp10` here? All `x86_fp80` intrinsics on Apple (as well as Windows) that get lowered to libm calls have the same problem.
Yeah, that's my understanding as well.
> > Except for target specific types (x86_fp80 and ppc_fp128) I think it is preferable if missing FP libcalls that cannot be legalized result in a linker error instead of a compiler error, which allows the user to provide them. At least when considering the world we live in _now_, rather than possible future designs.
>
> In theory this could lower to the C23 `exp10f64x` symbol rather than having an error (supported by glibc but not much else, yet). The long-term correctness of this depends on an assumption that Windows and Apple will either never specify `_Float64x`, or if they do specify it, make it `x86_fp80` (cc #97335).
>
> Edit: sorry, I see you aren't talking about x86_fp80 here.
Yes, what specifically concerns me is that change to fp128 behavior in this PR. I don't think that should ever result in a hard compiler error.
I wasn't aware that the f64x suffix is a thing. That does seem like a reasonable fallback for targets where long double is not x86_fp80. But I'm also not sure this is really worth bothering with. Is there any real interest in having fp80 work across all x86 targets?
https://github.com/llvm/llvm-project/pull/148604
More information about the llvm-commits
mailing list