Skip to content

vector.fmaf

← vector dialect

Lanewise fused multiply-add of same-typed floating-point vectors. Each result lane computes a*b + c with one final rounding; use separate vector.mulf/vector.addf when unfused rounding is required.

Operation contract

Property Value
Semantic phase executable
Traits Pure, Elementwise

Signature

Kind Name Type Cardinality Description
Operand a vector required —
Operand b vector required —
Operand c vector required —
Result result vector required —
Attribute fastmath flags FastMathFlags optional —

Verification constraints

  • HasFloatElement(result)
  • SameType(a, b, c, result)

Examples

%r = vector.fmaf %a, %b, %c : vector<16xf32>