From 8f71e667b3d1e9e9eea49ea7e6420a36017f4441 Mon Sep 17 00:00:00 2001 From: David Hashe Date: Mon, 20 Jul 2015 09:15:18 -0500 Subject: 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. --- src/cpu/o3/fetch_impl.hh | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') 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) { -- cgit v1.2.3