Skip to content

channel.fanout

← channel dialect

Transfer one immutable read into two or more independently retiring reads of the same record. This implies neither a payload copy nor a runtime reference count. Mutable reads cannot be fanned out.

Operation contract

Property Value
Semantic phase —
Ownership effects consume read (by_value), fresh reads

Signature

Kind Name Type Cardinality Description
Operand read any required —
Result reads any variadic —

Examples

%dma, %history = channel.fanout %read : read<tile<144xi32>> -> (read<tile<144xi32>>, read<tile<144xi32>>)