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:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user