[llvm] [SelectionDAG] Handle roundeven libcall in visitCall (PR #170690)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Dec 6 00:32:15 PST 2025
valadaptive wrote:
> In theory the intrinsic should always works, in practice many fail depending on target library support but there's no formal relationship between the two, or way to query if that will work.
Is there any plan for fixing this? I saw you opened a bunch of libcall-related PRs, and I'm wondering if those are working towards improving the situation. I believe the lack of guarantees about what floating-point operations are supported is why [Rust can't use roundeven](https://github.com/rust-lang/rust/issues/136459#issuecomment-2638797888).
Why is it that transforming a libcall into an intrinsic could be incorrect, though? I'd think that if the intrinsic has the same semantics (doesn't set `errno`, etc), the worst that can happen is that the intrinsic is lowered back into the same libcall. That shouldn't introduce any new compatibility issues.
https://github.com/llvm/llvm-project/pull/170690
More information about the llvm-commits
mailing list