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>