summaryrefslogtreecommitdiff
path: root/src/cpu/o3/bpred_unit.hh
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2009-04-18 10:42:29 -0400
committerKorey Sewell <ksewell@umich.edu>2009-04-18 10:42:29 -0400
commit5c1742b822c1f4d640d30963a908386caf8c4a6e (patch)
tree9c4ac07248378ef4b12799d19ddc65e18d9a6f5a /src/cpu/o3/bpred_unit.hh
parentcc9e834e931ff70b683b8a7010269d32c0de20fd (diff)
downloadgem5-5c1742b822c1f4d640d30963a908386caf8c4a6e.tar.xz
o3-delay-slot-bpred: fix decode stage handling of uncdtl. branches.\n decode stage was not setting the predicted PC correctly or passing that information back to fetch correctly
Diffstat (limited to 'src/cpu/o3/bpred_unit.hh')
-rw-r--r--src/cpu/o3/bpred_unit.hh5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cpu/o3/bpred_unit.hh b/src/cpu/o3/bpred_unit.hh
index b32d2bd23..a11582ca7 100644
--- a/src/cpu/o3/bpred_unit.hh
+++ b/src/cpu/o3/bpred_unit.hh
@@ -188,6 +188,10 @@ class BPredUnit
wasCall(0), bpHistory(bp_history)
{ }
+ bool operator==(const PredictorHistory &entry) const {
+ return this->seqNum == entry.seqNum;
+ }
+
/** The sequence number for the predictor history entry. */
InstSeqNum seqNum;
@@ -220,6 +224,7 @@ class BPredUnit
};
typedef std::list<PredictorHistory> History;
+ typedef typename History::iterator HistoryIt;
/**
* The per-thread predictor history. This is used to update the predictor