[llvm] [WebAssembly] Lower fmuladd to fma (PR #161355)

Sam Parker via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 6 01:03:18 PDT 2025


================
@@ -103,9 +136,8 @@ define <4 x float> @fmuladd_4xf32(<4 x float> %a, <4 x float> %b, <4 x float> %c
 ; RELAXED-LABEL: fmuladd_4xf32:
 ; RELAXED:         .functype fmuladd_4xf32 (v128, v128, v128) -> (v128)
 ; RELAXED-NEXT:  # %bb.0:
-; RELAXED-NEXT:    f32x4.mul $push0=, $0, $1
-; RELAXED-NEXT:    f32x4.add $push1=, $pop0, $2
----------------
sparker-arm wrote:

AFAICT, the code base is just relying on the C/C++ semantics. The IR I noticed included `fmuladd` and not `fma`, and there's no special constraints attached the `fmuladd` call.

I will look into an alternative route of lowering the `fmuladd`.

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


More information about the llvm-commits mailing list