diff options
| author | Davit Grigoryan <[email protected]> | 2026-04-18 18:28:57 +0000 |
|---|---|---|
| committer | Davit Grigoryan <[email protected]> | 2026-04-18 18:28:57 +0000 |
| commit | ab201ce8cb84c780742dac71fc2d2996f2b9c775 (patch) | |
| tree | b298f407b8cd7e038020604f381d7844ddfc6b69 /src/abstract_hardware_model.h | |
| parent | 305c5ea8fed5bca224377c1bdd8c726fac0f926f (diff) | |
impl xor lane shuffling; add delay option for operand reads
Diffstat (limited to 'src/abstract_hardware_model.h')
| -rw-r--r-- | src/abstract_hardware_model.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/abstract_hardware_model.h b/src/abstract_hardware_model.h index 4a655b3..3f7eac3 100644 --- a/src/abstract_hardware_model.h +++ b/src/abstract_hardware_model.h @@ -1185,6 +1185,12 @@ class warp_inst_t : public inst_t { void compute_simd_sets(unsigned num_sets, unsigned set_width); void compute_simd_sets_compacted(unsigned num_sets, unsigned set_width, unsigned start_set = 0); + // Fixed per-warp lane permutation: lane P -> thread (P XOR reverse_bits(warp_id)). + // Does NOT repack — only reshuffles lane assignment. start_set is accepted + // for API symmetry with compute_simd_sets_compacted but is ignored (XOR + // placement is fixed by warp_id). + void compute_simd_sets_xor_static(unsigned num_sets, unsigned set_width, + unsigned start_set = 0); const std::vector<simd_set_info> &get_simd_sets() const { return m_simd_sets; } |
