Skip to content

vector.bitunpacku

vector dialect

Unpack unsigned fixed-width fields from a contiguous little-endian integer bitstream into zero-extended integer result lanes. Result lanes are produced in logical lane order.

Operation contract

Property Value
Semantic phase executable
Traits Pure

Signature

Kind Name Type Cardinality Description
Operand source vector required Integer storage lanes containing the packed bitstream.
Result result vector required Integer lanes receiving zero-extended unpacked fields.
Attribute width i64 required Number of packed bits read for each result lane.

Verification constraints

  • HasIntegerElement(source)
  • HasIntegerElement(result)
  • PositiveBitWidthAttr(width)
  • ElementWidthAtLeastAttr(result, width)
  • UnpackedPayloadBitCountMatchesStorage(result, width, source, result)

Examples

%codes = vector.bitunpacku<4> %packed : vector<16xi8> -> vector<32xi8>
%mask = vector.bitunpacku<1> %packed : vector<16xi8> -> vector<128xi1>