summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cpu/o3/lsq_unit_impl.hh10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/cpu/o3/lsq_unit_impl.hh b/src/cpu/o3/lsq_unit_impl.hh
index 65abaa438..ca6a7f399 100644
--- a/src/cpu/o3/lsq_unit_impl.hh
+++ b/src/cpu/o3/lsq_unit_impl.hh
@@ -679,18 +679,18 @@ LSQUnit<Impl>::executeStore(DynInstPtr &store_inst)
store_fault == NoFault)
return store_fault;
- if (!store_inst->readPredicate())
+ if (!store_inst->readPredicate()) {
+ DPRINTF(LSQUnit, "Store [sn:%lli] not executed from predication\n",
+ store_inst->seqNum);
store_inst->forwardOldRegs();
+ return store_fault;
+ }
if (storeQueue[store_idx].size == 0) {
DPRINTF(LSQUnit,"Fault on Store PC %s, [sn:%lli], Size = 0\n",
store_inst->pcState(), store_inst->seqNum);
return store_fault;
- } else if (!store_inst->readPredicate()) {
- DPRINTF(LSQUnit, "Store [sn:%lli] not executed from predication\n",
- store_inst->seqNum);
- return store_fault;
}
assert(store_fault == NoFault);