summaryrefslogtreecommitdiff
path: root/src/abstract_hardware_model.cc
diff options
context:
space:
mode:
authorDavit Grigoryan <[email protected]>2026-04-29 00:02:46 +0000
committerDavit Grigoryan <[email protected]>2026-04-29 00:02:46 +0000
commit314fb652d8a27a38599eeeec121d45327a405bb0 (patch)
treed3fa263f05e8b40c766b68eb1771b619b847802f /src/abstract_hardware_model.cc
parentfbb90ef3a76cd6c469782c84668d25c5f3bfdd22 (diff)
impl option w/ only 2 SBs; stall so SBs are cleared before div or reconv
Diffstat (limited to 'src/abstract_hardware_model.cc')
-rw-r--r--src/abstract_hardware_model.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/abstract_hardware_model.cc b/src/abstract_hardware_model.cc
index 5d95db6..1010d00 100644
--- a/src/abstract_hardware_model.cc
+++ b/src/abstract_hardware_model.cc
@@ -313,6 +313,14 @@ void warp_inst_t::set_source_mask_on_sets(const active_mask_t &mask) {
}
}
+void warp_inst_t::set_source_slot_on_sets(unsigned slot_id) {
+ for (unsigned s = 0; s < m_simd_sets.size(); s++) {
+ if (m_simd_sets[s].valid) {
+ m_simd_sets[s].source_slot_id = slot_id;
+ }
+ }
+}
+
void warp_inst_t::merge_simd_sets(
const std::vector<simd_set_info> &other_sets) {
assert(m_simd_sets.size() == other_sets.size());