Skip to content

vector.shuffle

vector dialect

Reorder a static rank-1 vector with a static lane map. Entry i of source_lanes selects the source lane for result lane i; duplicate source lanes are allowed, but the result type is the same as the source type.

Operation contract

Property Value
Semantic phase executable
Traits Pure

Signature

Kind Name Type Cardinality Description
Operand source vector required
Result result vector required
Attribute source_lanes i64_array required Source lane index for each result lane.

Verification constraints

  • HasAllStaticRankOneVector(source)
  • SameType(source, result)

Examples

%rev = vector.shuffle<[3, 2, 1, 0]> %v : vector<4xf32>
%dup = vector.shuffle<[0, 0, 2, 2]> %v : vector<4xf32>