[llvm] [WebAssembly] Add patterns for relaxed madd (PR #147487)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Jul 13 07:49:36 PDT 2025
================
@@ -1536,6 +1536,10 @@ multiclass SIMDMADD<Vec vec, bits<32> simdopA, bits<32> simdopS, list<Predicate>
(vec.vt V128:$a), (vec.vt V128:$b), (vec.vt V128:$c)))],
vec.prefix#".relaxed_nmadd\t$dst, $a, $b, $c",
vec.prefix#".relaxed_nmadd", simdopS, reqs>;
+
+ def : Pat<(fadd_contract (vec.vt V128:$a), (fmul_contract (vec.vt V128:$b), (vec.vt V128:$c))),
+ (!cast<Instruction>("MADD_"#vec) V128:$a, V128:$b, V128:$c)>, Requires<[HasRelaxedSIMD]>;
----------------
badumbatish wrote:
Unable to do this inside the defm as tablegen gives out "cannot set $dst multiple times". Resolved
https://github.com/llvm/llvm-project/pull/147487
More information about the llvm-commits
mailing list