diff options
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; } |
