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 <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17850
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
diff --git a/src/cpu/o3/rename_map.cc b/src/cpu/o3/rename_map.cc
index 603f1ff..9d912e5 100644
--- a/src/cpu/o3/rename_map.cc
+++ b/src/cpu/o3/rename_map.cc
@@ -151,8 +151,9 @@
         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);