Skip to content

vector.select

vector dialect

Lanewise select from two same-typed vector values using an i1 mask vector. True condition lanes choose true_value; false lanes choose false_value.

Operation contract

Property Value
Semantic phase executable
Traits Pure, Elementwise

Signature

Kind Name Type Cardinality Description
Operand condition vector required
Operand true_value vector required
Operand false_value vector required
Result result vector required

Verification constraints

  • HasI1Element(condition)
  • SameKind(condition, result)
  • SameShape(condition, true_value, false_value, result)
  • SameType(true_value, false_value, result)

Examples

%r = vector.select %mask, %a, %b : vector<16xf32>