gem5
v20.1.0.0
|
#include <cassert>
#include <cstddef>
#include "arch/generic/types.hh"
#include "arch/registers.hh"
#include "config/the_isa.hh"
Go to the source code of this file.
Classes | |
class | RegId |
Register ID: describe an architectural register with its class and index. More... | |
class | PhysRegId |
Physical register ID. More... | |
struct | std::hash< RegId > |
Namespaces | |
std | |
Overload hash function for BasicBlockRange type. | |
Typedefs | |
using | PhysRegIndex = short int |
Physical register index type. More... | |
using | PhysRegIdPtr = PhysRegId * |
Enumerations | |
enum | RegClass { IntRegClass, FloatRegClass, VecRegClass, VecElemClass, VecPredRegClass, CCRegClass, MiscRegClass } |
Enumerate the classes of registers. More... | |
Variables | |
const int | NumRegClasses = MiscRegClass + 1 |
Number of register classes. More... | |
using PhysRegIdPtr = PhysRegId* |
Definition at line 346 of file reg_class.hh.
using PhysRegIndex = short int |
Physical register index type.
Although the Impl might be a better for this, but there are a few classes that need this typedef yet are not templated on the Impl.
Definition at line 217 of file reg_class.hh.
enum RegClass |
Enumerate the classes of registers.
Definition at line 52 of file reg_class.hh.
const int NumRegClasses = MiscRegClass + 1 |
Number of register classes.
This value is not part of the enum, because putting it there makes the compiler complain about unhandled cases in some switch statements.
Definition at line 68 of file reg_class.hh.