53 unsigned _numPhysicalFloatRegs,
54 unsigned _numPhysicalVecRegs,
55 unsigned _numPhysicalVecPredRegs,
56 unsigned _numPhysicalMatRegs,
57 unsigned _numPhysicalCCRegs,
66 _numPhysicalVecPredRegs),
79 + _numPhysicalFloatRegs
82 + _numPhysicalVecPredRegs
92 phys_reg, flat_reg_idx++);
99 phys_reg, flat_reg_idx++);
137 for (phys_reg = 0; phys_reg < reg_classes.at(
MiscRegClass)->numRegs();
std::vector< const RegClass * > RegClasses
RegFile ccRegFile
Condition-code register file.
std::vector< PhysRegId > vecElemIds
std::vector< PhysRegId > ccRegIds
std::vector< PhysRegId > miscRegIds
Misc Reg Ids.
unsigned totalNumRegs
Total number of physical registers.
unsigned numPhysicalVecRegs
Number of physical vector registers.
unsigned numPhysicalCCRegs
Number of physical CC registers.
unsigned numPhysicalMatRegs
Number of physical matrix registers.
unsigned numPhysicalVecPredRegs
Number of physical predicate registers.
RegFile vectorRegFile
Vector register file.
PhysRegFile(unsigned _numPhysicalIntRegs, unsigned _numPhysicalFloatRegs, unsigned _numPhysicalVecRegs, unsigned _numPhysicalVecPredRegs, unsigned _numPhysicalMatRegs, unsigned _numPhysicalCCRegs, const BaseISA::RegClasses &classes)
Constructs a physical register file with the specified amount of integer and floating point registers...
RegFile vectorElemRegFile
Vector element register file.
std::vector< PhysRegId > floatRegIds
RegFile matRegFile
Matrix register file.
std::vector< PhysRegId > vecRegIds
RegFile vecPredRegFile
Predicate register file.
RegFile intRegFile
Integer register file.
RegFile floatRegFile
Floating point register file.
unsigned numPhysicalVecElemRegs
Number of physical vector element registers.
unsigned numPhysicalFloatRegs
Number of physical floating point registers.
std::vector< PhysRegId > matRegIds
std::vector< PhysRegId > intRegIds
std::vector< PhysRegId > vecPredRegIds
unsigned numPhysicalIntRegs
Number of physical general purpose registers.
void initFreeList(UnifiedFreeList *freeList)
Initialize the free list.
FreeList class that simply holds the list of free integer and floating point registers.
void addRegs(InputIt first, InputIt last)
Adds a register back to the free list.
Copyright (c) 2024 Arm Limited All rights reserved.
@ MatRegClass
Matrix Register.
@ FloatRegClass
Floating-point register.
@ CCRegClass
Condition-code register.
@ VecRegClass
Vector Register.
@ IntRegClass
Integer register.
@ MiscRegClass
Control (misc) register.
@ VecElemClass
Vector Register Native Elem lane.