summaryrefslogtreecommitdiff
path: root/src/cpu/o3/comm.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-12-16 07:32:06 -0500
committerGabe Black <gblack@eecs.umich.edu>2006-12-16 07:32:06 -0500
commit37b9966eb466b1655f0d4e604bafa729a3aaea6a (patch)
treef4e3b34b69f2445db9f688a819bf2b1d8f007ecd /src/cpu/o3/comm.hh
parent4d66ddbe35252d3d70a0c3d25d100672db5f1ef9 (diff)
downloadgem5-37b9966eb466b1655f0d4e604bafa729a3aaea6a.tar.xz
Made branch delay slots get squashed, and passed back an NPC and NNPC to start fetching from.
--HG-- extra : convert_revision : a2e4845fedf113b5a2fd92d3d28ce5b006278103
Diffstat (limited to 'src/cpu/o3/comm.hh')
-rw-r--r--src/cpu/o3/comm.hh3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cpu/o3/comm.hh b/src/cpu/o3/comm.hh
index 4683c77af..d96919007 100644
--- a/src/cpu/o3/comm.hh
+++ b/src/cpu/o3/comm.hh
@@ -90,6 +90,7 @@ struct DefaultIEWDefaultCommit {
bool squashDelaySlot[Impl::MaxThreads];
uint64_t mispredPC[Impl::MaxThreads];
uint64_t nextPC[Impl::MaxThreads];
+ uint64_t nextNPC[Impl::MaxThreads];
InstSeqNum squashedSeqNum[Impl::MaxThreads];
bool includeSquashInst[Impl::MaxThreads];
@@ -121,6 +122,7 @@ struct TimeBufStruct {
bool branchTaken;
uint64_t mispredPC;
uint64_t nextPC;
+ uint64_t nextNPC;
unsigned branchCount;
};
@@ -160,6 +162,7 @@ struct TimeBufStruct {
bool branchTaken;
uint64_t mispredPC;
uint64_t nextPC;
+ uint64_t nextNPC;
// Represents the instruction that has either been retired or
// squashed. Similar to having a single bus that broadcasts the