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>