49 unsigned _numPhysicalFloatRegs,
50 unsigned _numPhysicalVecRegs,
51 unsigned _numPhysicalVecPredRegs,
52 unsigned _numPhysicalCCRegs,
54 : intRegFile(_numPhysicalIntRegs),
55 floatRegFile(_numPhysicalFloatRegs),
56 vectorRegFile(_numPhysicalVecRegs),
57 vecPredRegFile(_numPhysicalVecPredRegs),
58 ccRegFile(_numPhysicalCCRegs),
59 numPhysicalIntRegs(_numPhysicalIntRegs),
60 numPhysicalFloatRegs(_numPhysicalFloatRegs),
61 numPhysicalVecRegs(_numPhysicalVecRegs),
62 numPhysicalVecElemRegs(_numPhysicalVecRegs *
64 numPhysicalVecPredRegs(_numPhysicalVecPredRegs),
65 numPhysicalCCRegs(_numPhysicalCCRegs),
66 totalNumRegs(_numPhysicalIntRegs
67 + _numPhysicalFloatRegs
70 + _numPhysicalVecPredRegs
71 + _numPhysicalCCRegs),
80 warn(
"Non-zero number of physical CC regs specified, even though\n"
81 " ISA does not use them.\n");
107 eIdx, flat_reg_idx++);
156 elemIdx].
index() == reg_idx);
158 elemIdx].elemIndex() == elemIdx);
188 "Trying to get elems of a %s register",
reg->className());
189 auto idx =
reg->index();
190 return std::make_pair(
216 return std::make_pair(PhysIds::iterator(),
217 PhysIds::iterator());
223 switch (
reg->classValue()) {
231 "Trying to get the register of a %s register",
reg->className());