Fix a place where the wrong width parameter was used, and set the nextNPC correctly on memory squashes.

--HG--
extra : convert_revision : 7914a48ea953607c48f93984e3b043098f0d7c62
This commit is contained in:
Gabe Black 2006-12-18 18:20:13 -05:00
parent dfafe6741f
commit 5b41ab694c

View file

@ -546,7 +546,7 @@ DefaultIEW<Impl>::squashDueToMemBlocked(DynInstPtr &inst, unsigned tid)
toCommit->squashedSeqNum[tid] = inst->seqNum; toCommit->squashedSeqNum[tid] = inst->seqNum;
toCommit->nextPC[tid] = inst->readPC(); toCommit->nextPC[tid] = inst->readPC();
#if ISA_HAS_DELAY_SLOT #if ISA_HAS_DELAY_SLOT
toCommit->nextNPC[tid] = inst->readNextNPC(); toCommit->nextNPC[tid] = inst->readNextPC();
#endif #endif
toCommit->branchMispredict[tid] = false; toCommit->branchMispredict[tid] = false;
@ -1436,7 +1436,7 @@ DefaultIEW<Impl>::writebackInsts()
// mark scoreboard that this instruction is finally complete. // mark scoreboard that this instruction is finally complete.
// Either have IEW have direct access to scoreboard, or have this // Either have IEW have direct access to scoreboard, or have this
// as part of backwards communication. // as part of backwards communication.
for (int inst_num = 0; inst_num < issueWidth && for (int inst_num = 0; inst_num < wbWidth &&
toCommit->insts[inst_num]; inst_num++) { toCommit->insts[inst_num]; inst_num++) {
DynInstPtr inst = toCommit->insts[inst_num]; DynInstPtr inst = toCommit->insts[inst_num];
int tid = inst->threadNumber; int tid = inst->threadNumber;