[llvm] [WebAssembly] Add patterns for relaxed madd (PR #147487)
Luke Lau via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 11 21:21:42 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]>;
----------------
lukel97 wrote:
I think you can just move this inside the actual MADD definition? Alongside where the pattern for the intrinsic is defined
https://github.com/llvm/llvm-project/pull/147487
More information about the llvm-commits
mailing list