gem5
v20.1.0.0
|
Class for register indices passed to instruction constructors. More...
#include <static_inst.hh>
Public Member Functions | |
InstRegIndex (RegIndex _idx) | |
Public Member Functions inherited from RegId | |
RegId () | |
RegId (RegClass reg_class, RegIndex reg_idx) | |
RegId (RegClass reg_class, RegIndex reg_idx, ElemIndex elem_idx) | |
bool | operator== (const RegId &that) const |
bool | operator!= (const RegId &that) const |
bool | operator< (const RegId &that) const |
Order operator. More... | |
bool | isRenameable () const |
Return true if this register can be renamed. More... | |
bool | isZeroReg () const |
Check if this is the zero register. More... | |
bool | isIntReg () const |
bool | isFloatReg () const |
bool | isVecReg () const |
@Return true if it is a condition-code physical register. More... | |
bool | isVecElem () const |
@Return true if it is a condition-code physical register. More... | |
bool | isVecPredReg () const |
@Return true if it is a predicate physical register. More... | |
bool | isCCReg () const |
@Return true if it is a condition-code physical register. More... | |
bool | isMiscReg () const |
@Return true if it is a condition-code physical register. More... | |
bool | isRenameable () |
Return true if this register can be renamed. More... | |
const RegIndex & | elemIndex () const |
Elem accessor. More... | |
const RegClass & | classValue () const |
Class accessor. More... | |
const char * | className () const |
Return a const char* with the register class name. More... | |
int | getNumPinnedWrites () const |
void | setNumPinnedWrites (int num_writes) |
const RegIndex & | index () const |
Index accessors. More... | |
RegIndex & | index () |
RegIndex | flatIndex () const |
Index flattening. More... | |
Private Member Functions | |
RegClass | computeRegClass (RegIndex _idx) |
Additional Inherited Members | |
Protected Attributes inherited from RegId | |
RegClass | regClass |
RegIndex | regIdx |
ElemIndex | elemIdx |
int | numPinnedWrites |
Static Protected Attributes inherited from RegId | |
static const char * | regClassStrings [] |
static constexpr size_t | Scale = TheISA::NumVecElemPerVecReg |
Class for register indices passed to instruction constructors.
Using a wrapper struct for these lets take advantage of the compiler's type checking.
Definition at line 52 of file static_inst.hh.
|
inlineexplicit |
Definition at line 54 of file static_inst.hh.
Definition at line 62 of file static_inst.hh.
References X86ISA::CC_Reg_Base, CCRegClass, FloatRegClass, X86ISA::FP_Reg_Base, IntRegClass, X86ISA::Misc_Reg_Base, and MiscRegClass.