From daa9dcbc0c3fe4e5014855c8b31f1cfeb5f0af91 Mon Sep 17 00:00:00 2001 From: Giacomo Travaglini Date: Fri, 29 Mar 2019 13:02:05 +0000 Subject: [PATCH] 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 --- src/cpu/o3/rename_map.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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); -- 2.30.2