================
@@ -1870,8 +1896,8 @@ def CIR_SelectOp : CIR_Op<"select", [
let summary = "Yield one of two values based on a boolean value";
let description = [{
The `cir.select` operation takes three operands. The first operand
- `condition` is a boolean value of type `!cir.bool`. The second and the
third
- operand can be of any CIR types, but their types must be the same. If the
+ `condition` is either a boolean value of type `!cir.bool` or a boolean
vector of type `!cir.bool`.
+ The second and the third operand can be of any CIR types, but their types
must be the same. If the
first operand is `true`, the operation yields its second operand.
Otherwise,
the operation yields its third operand.
----------------
andykaylor wrote:
Can you describe the behavior in the case where the first operand is a vector
of bool? In that case the second and third arguments must be vectors with the
same number of elements as the first argument, right?
https://github.com/llvm/llvm-project/pull/170427
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits