diff --git a/src/cpu/o3/lsq_unit_impl.hh b/src/cpu/o3/lsq_unit_impl.hh index 083217d26c..62bb96610d 100644 --- a/src/cpu/o3/lsq_unit_impl.hh +++ b/src/cpu/o3/lsq_unit_impl.hh @@ -633,6 +633,14 @@ LSQUnit::writebackStores() assert(!storeQueue[storeWBIdx].inst->isStoreConditional()); // Non-store conditionals do not need a writeback. state->noWB = true; + + // The store is basically completed at this time. This + // only works so long as the checker doesn't try to + // verify the value in memory for stores. + storeQueue[storeWBIdx].inst->setCompleted(); + if (cpu->checker) { + cpu->checker->tick(storeQueue[storeWBIdx].inst); + } } if (data_pkt->result != Packet::Success) {