summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/pipeline_stage.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/inorder/pipeline_stage.cc')
-rw-r--r--src/cpu/inorder/pipeline_stage.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cpu/inorder/pipeline_stage.cc b/src/cpu/inorder/pipeline_stage.cc
index d37779ce8..2e9ca64e3 100644
--- a/src/cpu/inorder/pipeline_stage.cc
+++ b/src/cpu/inorder/pipeline_stage.cc
@@ -351,9 +351,11 @@ PipelineStage::setupSquash(DynInstPtr inst, ThreadID tid)
inst->seqNum, cpu->squashSeqNum[tid]);
} else {
InstSeqNum squash_seq_num = inst->squashSeqNum;
+ unsigned squash_stage = (nextStageValid) ? stageNum + 1
+ : stageNum;
- toPrevStages->stageInfo[stageNum][tid].squash = true;
- toPrevStages->stageInfo[stageNum][tid].doneSeqNum =
+ toPrevStages->stageInfo[squash_stage][tid].squash = true;
+ toPrevStages->stageInfo[squash_stage][tid].doneSeqNum =
squash_seq_num;
DPRINTF(InOrderStage, "[tid:%i]: Squashing after [sn:%i], "