This patch is:
* Increasing the number of bits in the Scoreboard so that
it is keeping track of VecElemClass dependencies.
* Fixing VecElemClass entry in the scoreboard table so that it
correctly uses flatIndex rather than index.
Change-Id: Ie4877e5fe410b1437447adebbe289602a443f7c0
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/15597
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
break;
case VecElemClass:
scoreboard_index = TheISA::NumIntRegs + TheISA::NumCCRegs +
- TheISA::NumFloatRegs + TheISA::NumVecRegs + reg.index();
+ TheISA::NumFloatRegs + reg.flatIndex();
ret = true;
break;
case CCRegClass:
Scoreboard(const std::string &name) :
Named(name),
numRegs(TheISA::NumIntRegs + TheISA::NumCCRegs +
- TheISA::NumFloatRegs + TheISA::NumVecRegs),
+ TheISA::NumFloatRegs +
+ (TheISA::NumVecRegs * TheISA::NumVecElemPerVecReg)),
numResults(numRegs, 0),
numUnpredictableResults(numRegs, 0),
fuIndices(numRegs, 0),