[llvm] [InstCombine] Canonicalize reassoc contract fmuladd to fmul + fadd (PR #90434)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon May 6 01:23:31 PDT 2024


arsenm wrote:

> hi @andykaylor, do you mean the `@llvm.fmuladd.f32` should not be associated with a separate `contract` flag or even it should not be associated with `fast` flag ? Does it because the `@llvm.fmuladd.f32` itself imply the `contract` flag, and that is duplicated to have a `contract` flag ?

fmuladd implies contract inside of itself, but not with its neighbors. It's kind of like arithmetic.fence(fadd contract (fmul contract)). The contract on the fmuladd itself implies contract with the neighbors, so it's not quite the same 

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


More information about the llvm-commits mailing list