Skip to content

vector.subborrowui

← vector dialect

Lanewise unsigned integer subtraction returning width-wrapped differences and an i1 borrow vector. Each borrow lane is set exactly when its unsigned lhs is less than its unsigned rhs.

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 difference vector required —
Result borrow vector required —

Verification constraints

  • HasIntegerElement(difference)
  • HasI1Element(borrow)
  • SameKind(difference, borrow)
  • SameShape(lhs, rhs, difference, borrow)
  • SameType(lhs, rhs, difference)

Examples

%difference, %borrow = vector.subborrowui %lhs, %rhs : vector<8xi32> -> vector<8xi1>