O3: At the end of an instruction, force fetchAddr to something sensible.

It's possible (though until now very unlikely) for fetchAddr to get out of
sync with the actual PC of the current instruction. This change forcefull
resets fetchAddr at the end of every instruction.
This commit is contained in:
Gabe Black 2011-08-13 13:36:37 -07:00
parent 6bbd74e2d9
commit e0043f8dbe

View file

@ -1342,6 +1342,8 @@ DefaultFetch<Impl>::fetch(bool &status_change)
thisPC = nextPC;
if (newMacro) {
fetchAddr = thisPC.instAddr() & BaseCPU::PCMask;
blkOffset = (fetchAddr - cacheDataPC[tid]) / instSize;
pcOffset = 0;
curMacroop = NULL;
}