diff options
-rw-r--r-- | src/cpu/o3/lsq_unit_impl.hh | 10 |
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); |