diff options
| author | Sam Parker <sam.parker@arm.com> | 2025-10-13 16:50:53 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-13 16:50:53 +0100 |
| commit | 1820102167a5ace14a5c1f79d11d5eb4cce93001 (patch) | |
| tree | 4e5f2e07f3cb292261291a1714ce2f2a2e34f500 /llvm/lib/CodeGen/TargetLoweringBase.cpp | |
| parent | 095cad6add16df3f6273f5b24293e48a08e3230e (diff) | |
Wasm fmuladd relaxed (#163177)
Reland #161355, after fixing up the cross-projects-tests for the wasm
simd intrinsics.
Original commit message:
Lower v4f32 and v2f64 fmuladd calls to relaxed_madd instructions.
If we have FP16, then lower v8f16 fmuladds to FMA.
I've introduced an ISD node for fmuladd to maintain the rounding
ambiguity through legalization / combine / isel.
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringBase.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/TargetLoweringBase.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/TargetLoweringBase.cpp b/llvm/lib/CodeGen/TargetLoweringBase.cpp index c23281a820b2..060b1ddc2ef3 100644 --- a/llvm/lib/CodeGen/TargetLoweringBase.cpp +++ b/llvm/lib/CodeGen/TargetLoweringBase.cpp @@ -815,7 +815,8 @@ void TargetLoweringBase::initActions() { ISD::FTAN, ISD::FACOS, ISD::FASIN, ISD::FATAN, ISD::FCOSH, ISD::FSINH, - ISD::FTANH, ISD::FATAN2}, + ISD::FTANH, ISD::FATAN2, + ISD::FMULADD}, VT, Expand); // Overflow operations default to expand |
