165c165
< .name(name() + ".EXEC:insts")
---
> .name(name() + ".iewExecutedInsts")
170c170
< .name(name() + ".EXEC:loads")
---
> .name(name() + ".iewExecLoadInsts")
175c175
< .name(name() + ".EXEC:squashedInsts")
---
> .name(name() + ".iewExecSquashedInsts")
374a375,376
> assert(insts[0].empty());
> assert(skidBuffer[0].empty());
413d414
< // @todo: Fix hardcoded number
614c615
< assert((wbCycle * wbWidth + wbNumInst) < wbMax);
---
> assert((wbCycle * wbWidth + wbNumInst) <= wbMax);
616a618,619
> DPRINTF(IEW, "Current wb cycle: %i, width: %i, numInst: %i\nwbActual:%i\n",
> wbCycle, wbWidth, wbNumInst, wbCycle * wbWidth + wbNumInst);
905a909,924
> DefaultIEW<Impl>::emptyRenameInsts(unsigned tid)
> {
> while (!insts[tid].empty()) {
> if (insts[tid].front()->isLoad() ||
> insts[tid].front()->isStore() ) {
> toRename->iewInfo[tid].dispatchedToLSQ++;
> }
>
> toRename->iewInfo[tid].dispatched++;
>
> insts[tid].pop();
> }
> }
>
> template <class Impl>
> void
1276c1295
< ldstQueue.executeStore(inst);
---
> fault = ldstQueue.executeStore(inst);
1279c1298
< if (inst->req && !(inst->req->getFlags() & LOCKED)) {
---
> if (!inst->isStoreConditional() && fault == NoFault) {
1282a1302,1311
> } else if (fault != NoFault) {
> // If the instruction faulted, then we need to send it along to commit
> // without the instruction completing.
>
> // Send this instruction to commit, also make sure iew stage
> // realizes there is activity.
> inst->setExecuted();
>
> instToCommit(inst);
> activityThisCycle();
1407c1436
< if (!inst->isSquashed() && inst->isExecuted()) {
---
> if (!inst->isSquashed() && inst->isExecuted() && inst->getFault() == NoFault) {