vector.addcarryui
← vector dialect
Lanewise unsigned integer addition returning width-wrapped sums and an i1 carry vector. Each carry lane is set exactly when its mathematical sum does not fit in the source element width.
Operation contract
| Property |
Value |
| Semantic phase |
executable |
| Traits |
Pure, Elementwise, DistributionTransfer, SafeToSpeculate |
Signature
| Kind |
Name |
Type |
Cardinality |
Description |
| Operand |
lhs |
vector |
required |
— |
| Operand |
rhs |
vector |
required |
— |
| Result |
sum |
vector |
required |
— |
| Result |
carry |
vector |
required |
— |
Verification constraints
HasIntegerElement(sum)
HasI1Element(carry)
SameKind(sum, carry)
SameShape(lhs, rhs, sum, carry)
SameType(lhs, rhs, sum)
Examples
%sum, %carry = vector.addcarryui %lhs, %rhs : vector<8xi32> -> vector<8xi1>