From: David Hashe Date: Mon, 20 Jul 2015 14:15:18 +0000 (-0500) Subject: cpu: Fixed a bug on where to fetch the next instruction from X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8f71e667b3d1e9e9eea49ea7e6420a36017f4441;p=gem5.git 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. --- diff --git a/src/cpu/o3/fetch_impl.hh b/src/cpu/o3/fetch_impl.hh index a462d9251..1d0cfd137 100644 --- a/src/cpu/o3/fetch_impl.hh +++ b/src/cpu/o3/fetch_impl.hh @@ -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::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) {