Skip to content

vector.fmai

← vector dialect

Lanewise fused integer multiply-add a*b + c over same-typed vector operands. Optional overflow flags state required no-wrap facts for every lane.

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 overflow flags IntOverflowFlags optional —

Verification constraints

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

Examples

%r = vector.fmai %a, %b, %c : vector<16xi32>