cpu-o3: Don't add non-speculative mem barriers to the IQ twice
There are cases where the IEW adds a non-speculative instruction to the IQ twice. This can happen if an instruction is flagged as IsMemBarrier and IsNonSpeculative. Avoid adding non-speculative instructions in the IEW to the IQ by checking if it has been added already. Change-Id: Ifcff676a451b57b2406ce00ed8dae19ed399515f Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Javier Setoain <javier.setoain@arm.com> Reviewed-by: Giacomo Gabrielli <giacomo.gabrielli@arm.com> Reviewed-on: https://gem5-review.googlesource.com/8374 Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
This commit is contained in:
committed by
Giacomo Travaglini
parent
68eb852d62
commit
a3bb33b257
@@ -1100,7 +1100,7 @@ DefaultIEW<Impl>::dispatchInsts(ThreadID tid)
|
||||
add_to_iq = true;
|
||||
}
|
||||
|
||||
if (inst->isNonSpeculative()) {
|
||||
if (add_to_iq && inst->isNonSpeculative()) {
|
||||
DPRINTF(IEW, "[tid:%i]: Issue: Nonspeculative instruction "
|
||||
"encountered, skipping.\n", tid);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user