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. AFN permits target-native fused forms with weaker subnormal handling.

Operation contract

Property Value
Semantic phase executable
Traits Pure, Elementwise, SafeToSpeculate

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>