Summary
Allow \! shared buffers declared as i8/i16/i32/f16/bf16/f32 (not only i64/f64), matching the existing S-prefixed narrow load/store words.
Motivation
Access words already exist (SI8@, SHF!, SF32@, etc.), but shared declarations are effectively i64/f64-oriented. Tiled kernels often want f32 or f16 tiles in shared memory with correct sizing (bytes vs cells) and allocation footprint.
Proposed syntax
\! shared TILE f32[256]
\! shared MASK i8[128]
Lowering:
- Workgroup attribution sized by
sizeof(elem) * N
- Base address usable with the matching
S* access words (or element-scaled indexing from the typed-params issue)
Acceptance criteria
Related
Summary
Allow
\! sharedbuffers declared as i8/i16/i32/f16/bf16/f32 (not only i64/f64), matching the existingS-prefixed narrow load/store words.Motivation
Access words already exist (
SI8@,SHF!,SF32@, etc.), but shared declarations are effectively i64/f64-oriented. Tiled kernels often wantf32orf16tiles in shared memory with correct sizing (bytes vs cells) and allocation footprint.Proposed syntax
Lowering:
sizeof(elem) * NS*access words (or element-scaled indexing from the typed-params issue)Acceptance criteria
Related