vector.reduce
← vector dialect
Reduce all lanes of a vector into a scalar accumulator/result using the template combining kind. The init operand and result have the same scalar type, and the combining kind must be valid for the input element type. Optional fastmath flags carry the same floating-point permissions as scalar arithmetic; contraction may fuse producer products into FMA accumulation when the producer permits it too.
Operation contract
| Property |
Value |
| Semantic phase |
executable |
| Traits |
Pure |
Signature
| Kind |
Name |
Type |
Cardinality |
Description |
| Operand |
input |
vector |
required |
— |
| Operand |
init |
scalar |
required |
— |
| Result |
result |
scalar |
required |
— |
| Attribute |
kind |
enum CombiningKind |
required |
— |
| Attribute |
fastmath |
flags FastMathFlags |
optional |
— |
Verification constraints
SameType(init, result)
SameElementType(input, init, result)
Examples
%sum = vector.reduce<addf> %v, %zero : vector<16xf32>, f32