Make sure you only handle branch delay slots specially when there actually was a branch.
--HG-- extra : convert_revision : ea6d33b1b9c2ba5c24225af4b10a9bd25558f1dd
This commit is contained in:
parent
af1e8d2d40
commit
dfafe6741f
1 changed files with 6 additions and 1 deletions
|
@ -731,9 +731,14 @@ DefaultCommit<Impl>::commit()
|
|||
#if ISA_HAS_DELAY_SLOT
|
||||
InstSeqNum bdelay_done_seq_num = squashed_inst;
|
||||
bool squash_bdelay_slot = fromIEW->squashDelaySlot[tid];
|
||||
bool branchMispredict = fromIEW->branchMispredict[tid];
|
||||
|
||||
if (!squash_bdelay_slot)
|
||||
// Squashing/not squashing the branch delay slot only makes
|
||||
// sense when you're squashing from a branch, ie from a branch
|
||||
// mispredict.
|
||||
if (branchMispredict && !squash_bdelay_slot) {
|
||||
bdelay_done_seq_num++;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (fromIEW->includeSquashInst[tid] == true) {
|
||||
|
|
Loading…
Reference in a new issue