summaryrefslogtreecommitdiff
path: root/src/cpu/pred/bi_mode.cc
diff options
context:
space:
mode:
authorMitch Hayenga <mitch.hayenga@arm.com>2016-04-05 11:48:37 -0500
committerMitch Hayenga <mitch.hayenga@arm.com>2016-04-05 11:48:37 -0500
commit0fd4bb7f12d8a633f3ff0abe61d4f3a78bca6f84 (patch)
tree865cfc3eb0943a21eea8c07676cfd4ce458d34c2 /src/cpu/pred/bi_mode.cc
parent3f6874cb295695a225fca6825bfe24a4b97641fd (diff)
downloadgem5-0fd4bb7f12d8a633f3ff0abe61d4f3a78bca6f84.tar.xz
cpu: Add an indirect branch target predictor
This patch adds a configurable indirect branch predictor that can be indexed by a combination of GHR and path history hashes. Implements the functionality described in: "Target prediction for indirect jumps" by Chang, Hao, and Patt http://dl.acm.org/citation.cfm?id=264209 This is a re-spin of fb9d142 after the revert (bd1c6789).
Diffstat (limited to 'src/cpu/pred/bi_mode.cc')
-rw-r--r--src/cpu/pred/bi_mode.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cpu/pred/bi_mode.cc b/src/cpu/pred/bi_mode.cc
index c2a41cd4d..bc974bac8 100644
--- a/src/cpu/pred/bi_mode.cc
+++ b/src/cpu/pred/bi_mode.cc
@@ -236,6 +236,12 @@ BiModeBP::retireSquashed(void *bp_history)
delete history;
}
+unsigned
+BiModeBP::getGHR(void *bp_history) const
+{
+ return static_cast<BPHistory*>(bp_history)->globalHistoryReg;
+}
+
void
BiModeBP::updateGlobalHistReg(bool taken)
{