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>