diff options
Diffstat (limited to 'src/gpgpu-sim/mem_fetch.cc')
| -rw-r--r-- | src/gpgpu-sim/mem_fetch.cc | 7 |
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(); |
