|
gem5 v23.0.0.1
|
#include <operand_info.hh>
Public Types | |
| typedef uint32_t | FlagsType |
| typedef gem5::Flags< FlagsType > | Flags |
Public Member Functions | |
| OperandInfo ()=delete | |
| OperandInfo (int opSelectorVal, int size, bool src, bool scalar_reg, bool vector_reg, bool imm) | |
| int | numRegisters () const |
| int | sizeInDWords () const |
| int | size () const |
| int | rawRegisterIndex () const |
| int | registerIndex (int numScalarRegs) const |
| bool | isSrc () const |
| bool | isDst () const |
| bool | isImm () const |
| bool | isScalarReg () const |
| bool | isVectorReg () const |
| bool | isVcc () const |
| bool | isExec () const |
| bool | isFlatScratch () const |
| void | setVirtToPhysMapping (std::vector< int > v, std::vector< int > p) |
| int | virtIdx (int reg_num=0) const |
| We typically only need the first virtual register for the operand regardless of its size. | |
| int | physIdx (int reg_num=0) const |
| const std::vector< int > & | virtIndices () const |
| const std::vector< int > & | physIndices () const |
| std::vector< int > & | bankReadCounts () const |
Private Types | |
| enum | : FlagsType { SRC = 0x00000001 , SCALAR_REG = 0x00000002 , VECTOR_REG = 0x00000004 , IMMEDIATE = 0x00000008 , VCC = 0x00000010 , EXEC = 0x00000020 , FLAT = 0x00000040 , LITERAL = 0x00000080 , CONSTANT = 0x00000100 , POS_CONST = 0x00000200 } |
Private Attributes | |
| Flags | flags |
| const int | _opSelectorVal |
| Value of the operand as used in registers.cc functions. | |
| const int | _size |
| Size of the operand in bytes. | |
| const int | _numDWords |
| Size of operand in DWords. | |
| std::vector< int > | _virtIndices |
| std::vector< int > | _physIndices |
| std::vector< int > | _bankReadCounts |
| The number of reads this operand will make to each bank. | |
Definition at line 42 of file operand_info.hh.
| typedef gem5::Flags<FlagsType> gem5::OperandInfo::Flags |
Definition at line 136 of file operand_info.hh.
| typedef uint32_t gem5::OperandInfo::FlagsType |
Definition at line 135 of file operand_info.hh.
|
private |
| Enumerator | |
|---|---|
| SRC | |
| SCALAR_REG | |
| VECTOR_REG | |
| IMMEDIATE | |
| VCC | |
| EXEC | |
| FLAT | |
| LITERAL | |
| CONSTANT | |
| POS_CONST | |
Definition at line 140 of file operand_info.hh.
|
delete |
|
inline |
Definition at line 46 of file operand_info.hh.
References CONSTANT, EXEC, flags, FLAT, gem5::ArmISA::imm, IMMEDIATE, LITERAL, POS_CONST, SCALAR_REG, gem5::Flags< T >::set(), SRC, VCC, and VECTOR_REG.
|
inline |
Definition at line 130 of file operand_info.hh.
References _bankReadCounts.
|
inline |
Definition at line 92 of file operand_info.hh.
References flags, gem5::Flags< T >::isSet(), and SRC.
|
inline |
Definition at line 97 of file operand_info.hh.
References EXEC, flags, and gem5::Flags< T >::isSet().
|
inline |
Definition at line 98 of file operand_info.hh.
References flags, FLAT, and gem5::Flags< T >::isSet().
|
inline |
Definition at line 93 of file operand_info.hh.
References flags, IMMEDIATE, and gem5::Flags< T >::isSet().
|
inline |
Definition at line 94 of file operand_info.hh.
References flags, gem5::Flags< T >::isSet(), and SCALAR_REG.
|
inline |
Definition at line 91 of file operand_info.hh.
References flags, gem5::Flags< T >::isSet(), and SRC.
|
inline |
Definition at line 96 of file operand_info.hh.
References flags, gem5::Flags< T >::isSet(), and VCC.
|
inline |
Definition at line 95 of file operand_info.hh.
References flags, gem5::Flags< T >::isSet(), and VECTOR_REG.
Referenced by registerIndex().
|
inline |
Definition at line 73 of file operand_info.hh.
References _numDWords.
|
inline |
Definition at line 115 of file operand_info.hh.
References _physIndices.
|
inline |
Definition at line 124 of file operand_info.hh.
References _physIndices.
|
inline |
Definition at line 79 of file operand_info.hh.
References _opSelectorVal.
|
inline |
Definition at line 82 of file operand_info.hh.
References _opSelectorVal, and isVectorReg().
|
inline |
Definition at line 101 of file operand_info.hh.
References _numDWords, _physIndices, _virtIndices, gem5::MipsISA::p, and gem5::ArmISA::v.
|
inline |
Definition at line 76 of file operand_info.hh.
References _size.
|
inline |
Definition at line 74 of file operand_info.hh.
References _numDWords.
|
inline |
We typically only need the first virtual register for the operand regardless of its size.
Definition at line 114 of file operand_info.hh.
References _virtIndices.
|
inline |
Definition at line 118 of file operand_info.hh.
References _virtIndices.
|
mutableprivate |
The number of reads this operand will make to each bank.
Definition at line 195 of file operand_info.hh.
Referenced by bankReadCounts().
|
private |
Size of operand in DWords.
Definition at line 187 of file operand_info.hh.
Referenced by numRegisters(), setVirtToPhysMapping(), and sizeInDWords().
|
private |
Value of the operand as used in registers.cc functions.
Definition at line 177 of file operand_info.hh.
Referenced by rawRegisterIndex(), and registerIndex().
|
private |
Definition at line 190 of file operand_info.hh.
Referenced by physIdx(), physIndices(), and setVirtToPhysMapping().
|
private |
|
private |
Definition at line 189 of file operand_info.hh.
Referenced by setVirtToPhysMapping(), virtIdx(), and virtIndices().
|
private |
Definition at line 172 of file operand_info.hh.
Referenced by isDst(), isExec(), isFlatScratch(), isImm(), isScalarReg(), isSrc(), isVcc(), isVectorReg(), and OperandInfo().