summaryrefslogtreecommitdiff
path: root/cpu/o3/rename_impl.hh
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/o3/rename_impl.hh')
-rw-r--r--cpu/o3/rename_impl.hh5
1 files changed, 5 insertions, 0 deletions
diff --git a/cpu/o3/rename_impl.hh b/cpu/o3/rename_impl.hh
index 49627e3d4..a41e8d016 100644
--- a/cpu/o3/rename_impl.hh
+++ b/cpu/o3/rename_impl.hh
@@ -864,6 +864,11 @@ DefaultRename<Impl>::doSquash(unsigned tid)
// Put the renamed physical register back on the free list.
freeList->addReg(hb_it->newPhysReg);
+ // Be sure to mark its register as ready if it's a misc register.
+ if (hb_it->newPhysReg >= maxPhysicalRegs) {
+ scoreboard->setReg(hb_it->newPhysReg);
+ }
+
historyBuffer[tid].erase(hb_it++);
++renameUndoneMaps;