summaryrefslogtreecommitdiff
path: root/src/abstract_hardware_model.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/abstract_hardware_model.h')
-rw-r--r--src/abstract_hardware_model.h6
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;
}