[llvm] SimplifyLibCalls: Don't require ldexp to emit intrinsic in pow combine (PR #95277)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 18 15:17:23 PDT 2024


arsenm wrote:

> Seems to cause some bad IR that crashes SelectionDAG for aarch64? https://godbolt.org/z/YdP3KxcPq

It's perfectly fine IR 

> 
> `` clang++: /root/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:970: void {anonymous}::SelectionDAGLegalize::LegalizeOp(llvm::SDNode*): Assertion `(TLI.getTypeAction(*DAG.getContext(), Op.getValueType()) == TargetLowering::TypeLegal || Op.getOpcode() == ISD::TargetConstant || Op.getOpcode() == ISD::Register) && "Unexpected illegal type!"' failed. ``

AArch64 bug (or rather SelectionDAG design flaw that AArch64 needs to dance around to support f16 without legal i16)

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


More information about the llvm-commits mailing list