projects
/
gem5.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1167ef1
)
O3: Don't test misprediction on load instructions until executed.
author
Matt Horsnell
<Matt.Horsnell@arm.com>
Tue, 18 Jan 2011 22:30:05 +0000
(16:30 -0600)
committer
Matt Horsnell
<Matt.Horsnell@arm.com>
Tue, 18 Jan 2011 22:30:05 +0000
(16:30 -0600)
src/cpu/o3/iew_impl.hh
patch
|
blob
|
history
diff --git
a/src/cpu/o3/iew_impl.hh
b/src/cpu/o3/iew_impl.hh
index 29c6786c025f5750f65481a771b767cad02e9c96..ce58868ba12423b73dc47cd59f11b0ac3afac007 100644
(file)
--- a/
src/cpu/o3/iew_impl.hh
+++ b/
src/cpu/o3/iew_impl.hh
@@
-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");