O3: Don't test misprediction on load instructions until executed.
This commit is contained in:
parent
1167ef19cf
commit
c98df6f8c2
1 changed files with 5 additions and 1 deletions
|
@ -1297,7 +1297,11 @@ DefaultIEW<Impl>::executeInsts()
|
|||
!toCommit->squash[tid] ||
|
||||
toCommit->squashedSeqNum[tid] > inst->seqNum) {
|
||||
|
||||
if (inst->mispredicted()) {
|
||||
// Prevent testing for misprediction on load instructions,
|
||||
// that have not been executed.
|
||||
bool loadNotExecuted = !inst->isExecuted() && inst->isLoad();
|
||||
|
||||
if (inst->mispredicted() && !loadNotExecuted) {
|
||||
fetchRedirect[tid] = true;
|
||||
|
||||
DPRINTF(IEW, "Execute: Branch mispredict detected.\n");
|
||||
|
|
Loading…
Reference in a new issue