diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2006-12-16 07:32:06 -0500 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2006-12-16 07:32:06 -0500 |
commit | 37b9966eb466b1655f0d4e604bafa729a3aaea6a (patch) | |
tree | f4e3b34b69f2445db9f688a819bf2b1d8f007ecd /src/cpu/o3/comm.hh | |
parent | 4d66ddbe35252d3d70a0c3d25d100672db5f1ef9 (diff) | |
download | gem5-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.hh | 3 |
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 |