Skip to content

vector.fragment.store

vector dialect

Store a target-shaped matrix fragment payload into a typed view at a full-rank logical origin. The value is interpreted as the physical payload for the given fragment role and logical matrix shape; the store is therefore a matrix-fragment movement boundary, not an ordinary vector.store footprint. When the payload and view element types differ, the operation represents a fragment-shaped numeric conversion at the store boundary and target lowering must either select that conversion explicitly or reject it with target diagnostics.

Operation contract

Property Value
Semantic phase executable
Interfaces MemoryAccess
Memory effects write view

Signature

Kind Name Type Cardinality Description
Operand value vector required Physical matrix fragment payload to store.
Operand view view required Typed destination view for logical matrix data.
Operand indices index variadic Dynamic logical origin indices.
Operand blocks index optional Optional independent matrix block count.
Operand rows index required Logical matrix row count for this fragment role.
Operand columns index required Logical matrix column count for this fragment role.
Attribute role enum VectorFragmentRole required
Attribute cache_scope enum CacheScope optional Optional cache/coherency scope required by target lowering.
Attribute cache_temporal enum CacheTemporal optional Optional temporal cache policy required by target lowering.
Attribute static_indices i64_array required Static logical origin indices with INT64_MIN sentinels for dynamics.

Examples

vector.fragment.store<result> %acc, %c[%row, %col] shape [%m, %n] : vector<8xf32>, view<[%M]x[%N]xf32, %layout>