summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/mem_fetch.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpgpu-sim/mem_fetch.cc')
-rw-r--r--src/gpgpu-sim/mem_fetch.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gpgpu-sim/mem_fetch.cc b/src/gpgpu-sim/mem_fetch.cc
index 809c920..e171d9e 100644
--- a/src/gpgpu-sim/mem_fetch.cc
+++ b/src/gpgpu-sim/mem_fetch.cc
@@ -46,7 +46,12 @@ mem_fetch::mem_fetch(const mem_access_t &access, const warp_inst_t *inst,
m_access = access;
if (inst) {
m_inst = *inst;
- assert(wid == m_inst.warp_id());
+ // Sanity: the stamped wid matches the inst's warp_id, UNLESS this is a
+ // MEM co-issue transaction where the access carries an override source
+ // warp_id. In that case m_inst is a copy of the composite (whose
+ // warp_id is the primary) but wid is the originating warp.
+ assert(wid == m_inst.warp_id() ||
+ access.get_source_wid() != (unsigned)-1);
}
m_streamID = streamID;
m_data_size = access.get_size();