From: Giacomo Travaglini Date: Fri, 29 Mar 2019 13:02:05 +0000 (+0000) Subject: cpu: O3 switchFreeList checking VecElems instead of FloatRegs X-Git-Tag: v19.0.0.0~976 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=daa9dcbc0c3fe4e5014855c8b31f1cfeb5f0af91;p=gem5.git cpu: O3 switchFreeList checking VecElems instead of FloatRegs Vector elements should be checked instead of floats since those are the ones mapped to the vector registers. Change-Id: I36088ab90e63720d846fcf5b43360da105b6c736 Signed-off-by: Giacomo Travaglini Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17850 Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power --- diff --git a/src/cpu/o3/rename_map.cc b/src/cpu/o3/rename_map.cc index 603f1ff36..9d912e582 100644 --- a/src/cpu/o3/rename_map.cc +++ b/src/cpu/o3/rename_map.cc @@ -151,8 +151,9 @@ UnifiedRenameMap::switchFreeList(UnifiedFreeList* freeList) panic_if(freeList->hasFreeVecRegs(), "The free list is already tracking full Vec"); panic_if(freeList->numFreeVecElems() != - regFile->numVecElemPhysRegs() - TheISA::NumFloatRegs, - "The free list has lost vector register elements"); + regFile->numVecElemPhysRegs() - + TheISA::NumVecRegs * TheISA::NumVecElemPerVecReg, + "The free list has lost vector register elements"); auto range = regFile->getRegIds(VecRegClass); freeList->addRegs(range.first + TheISA::NumVecRegs, range.second);