Skip to content

scf.select

scf dialect

Select between two same-typed SSA values using a scalar i1 condition. This is whole-value selection: if the selected values are vectors or tiles, the entire aggregate is chosen as one value. Lanewise vector masking remains vector.select.

Operation contract

Property Value
Semantic phase executable
Traits Pure, SafeToSpeculate, DistributionTransfer

Signature

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

Verification constraints

  • SameType(true_value, false_value, result)

Examples

%r = scf.select %cond, %a, %b : f32
%v = scf.select %cond, %then_vec, %else_vec : vector<16xf32>