From ab201ce8cb84c780742dac71fc2d2996f2b9c775 Mon Sep 17 00:00:00 2001 From: Davit Grigoryan Date: Sat, 18 Apr 2026 18:28:57 +0000 Subject: impl xor lane shuffling; add delay option for operand reads --- src/abstract_hardware_model.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/abstract_hardware_model.h') 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 &get_simd_sets() const { return m_simd_sets; } -- cgit v1.3