cpu: Fixed a bug on where to fetch the next instruction from
Figure out if the next instruction to fetch comes from the micro-op ROM or not. Otherwise, wrong instructions may be fetched.
This commit is contained in:
parent
a2d9aae3c3
commit
8f71e667b3
1 changed files with 5 additions and 0 deletions
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2010-2014 ARM Limited
|
||||
* Copyright (c) 2012-2013 AMD
|
||||
* All rights reserved.
|
||||
*
|
||||
* The license below extends only to copyright in the software and shall
|
||||
|
@ -1371,6 +1372,10 @@ DefaultFetch<Impl>::fetch(bool &status_change)
|
|||
} while ((curMacroop || decoder[tid]->instReady()) &&
|
||||
numInst < fetchWidth &&
|
||||
fetchQueue[tid].size() < fetchQueueSize);
|
||||
|
||||
// Re-evaluate whether the next instruction to fetch is in micro-op ROM
|
||||
// or not.
|
||||
inRom = isRomMicroPC(thisPC.microPC());
|
||||
}
|
||||
|
||||
if (predictedBranch) {
|
||||
|
|
Loading…
Reference in a new issue