gem5 v24.0.0.0
|
Generic predicate register container. More...
#include <vec_pred_reg.hh>
Public Types | |
using | Container = std::array<bool, NumBits> |
Public Member Functions | |
VecPredRegContainer () | |
VecPredRegContainer (const VecPredRegContainer &)=default | |
MyClass & | operator= (const MyClass &that) |
MyClass & | operator= (const std::vector< uint8_t > &that) |
Required for de-serialization. | |
void | reset () |
Resets the predicate register to an all-false register. | |
void | set () |
Sets the predicate register to an all-true value. | |
template<size_t N2, bool P2> | |
bool | operator== (const VecPredRegContainer< N2, P2 > &that) const |
Equality operator, required to compare thread contexts. | |
template<size_t N2, bool P2> | |
bool | operator!= (const VecPredRegContainer< N2, P2 > &that) const |
Inequality operator, required to compare thread contexts. | |
bool & | operator[] (size_t idx) |
Returns a reference to a specific element of the internal container. | |
const bool & | operator[] (size_t idx) const |
Returns a const reference to a specific element of the internal container. | |
uint8_t | getBits (size_t idx, uint8_t nbits) const |
Returns a subset of bits starting from a specific element in the container. | |
void | setBits (size_t idx, uint8_t nbits, uint8_t bval) |
Set a subset of bits starting from a specific element in the container. | |
template<typename VecElem > | |
auto | as () const |
Create a view of this container. | |
template<typename VecElem > | |
auto | as () |
Public Attributes | |
friend | ShowParam< VecPredRegContainer< NumBits, Packed > > |
Static Public Attributes | |
static constexpr size_t | NUM_BITS = NumBits |
Private Types | |
using | MyClass = VecPredRegContainer<NumBits, Packed> |
Private Attributes | |
Container | container |
Friends | |
std::ostream & | operator<< (std::ostream &os, const MyClass &p) |
Generic predicate register container.
This generic class implements the Model in an MVC pattern, similarly to
NumBits | Size of the container in bits. |
Packed | See @VecRegT. |
Definition at line 231 of file vec_pred_reg.hh.
using gem5::VecPredRegContainer< NumBits, Packed >::Container = std::array<bool, NumBits> |
Definition at line 238 of file vec_pred_reg.hh.
|
private |
Definition at line 243 of file vec_pred_reg.hh.
|
inline |
Definition at line 246 of file vec_pred_reg.hh.
|
default |
|
inline |
Definition at line 360 of file vec_pred_reg.hh.
|
inline |
Create a view of this container.
VecElem | Type of the vector elements. |
Definition at line 349 of file vec_pred_reg.hh.
|
inline |
Returns a subset of bits starting from a specific element in the container.
Definition at line 307 of file vec_pred_reg.hh.
References gem5::VecPredRegContainer< NumBits, Packed >::container, gem5::ArmISA::i, and gem5::ArmISA::v.
|
inline |
Inequality operator, required to compare thread contexts.
Definition at line 292 of file vec_pred_reg.hh.
References gem5::VecPredRegContainer< NumBits, Packed >::operator==().
|
inline |
Definition at line 250 of file vec_pred_reg.hh.
References gem5::VecPredRegContainer< NumBits, Packed >::container.
|
inline |
Required for de-serialization.
Definition at line 260 of file vec_pred_reg.hh.
References gem5::VecPredRegContainer< NumBits, Packed >::container, and gem5::VecPredRegContainer< NumBits, Packed >::NUM_BITS.
|
inline |
Equality operator, required to compare thread contexts.
Definition at line 284 of file vec_pred_reg.hh.
References gem5::VecPredRegContainer< NumBits, Packed >::container.
Referenced by gem5::VecPredRegContainer< NumBits, Packed >::operator!=().
|
inline |
Returns a reference to a specific element of the internal container.
Definition at line 298 of file vec_pred_reg.hh.
References gem5::VecPredRegContainer< NumBits, Packed >::container.
|
inline |
Returns a const reference to a specific element of the internal container.
Definition at line 302 of file vec_pred_reg.hh.
References gem5::VecPredRegContainer< NumBits, Packed >::container.
|
inline |
Resets the predicate register to an all-false register.
Definition at line 269 of file vec_pred_reg.hh.
References gem5::VecPredRegContainer< NumBits, Packed >::container.
Referenced by TEST().
|
inline |
Sets the predicate register to an all-true value.
Definition at line 276 of file vec_pred_reg.hh.
References gem5::VecPredRegContainer< NumBits, Packed >::container.
Referenced by TEST().
|
inline |
Set a subset of bits starting from a specific element in the container.
Definition at line 322 of file vec_pred_reg.hh.
References gem5::VecPredRegContainer< NumBits, Packed >::container, and gem5::ArmISA::i.
|
friend |
Definition at line 331 of file vec_pred_reg.hh.
|
private |
Definition at line 241 of file vec_pred_reg.hh.
Referenced by gem5::VecPredRegContainer< NumBits, Packed >::getBits(), gem5::VecPredRegContainer< NumBits, Packed >::operator=(), gem5::VecPredRegContainer< NumBits, Packed >::operator=(), gem5::VecPredRegContainer< NumBits, Packed >::operator==(), gem5::VecPredRegContainer< NumBits, Packed >::operator[](), gem5::VecPredRegContainer< NumBits, Packed >::operator[](), gem5::VecPredRegContainer< NumBits, Packed >::reset(), gem5::VecPredRegContainer< NumBits, Packed >::set(), gem5::VecPredRegContainer< NumBits, Packed >::setBits(), and gem5::ShowParam< VecPredRegContainer< NumBits, Packed > >::show().
|
staticconstexpr |
Definition at line 237 of file vec_pred_reg.hh.
Referenced by gem5::VecPredRegContainer< NumBits, Packed >::operator=().
friend gem5::VecPredRegContainer< NumBits, Packed >::ShowParam< VecPredRegContainer< NumBits, Packed > > |
Definition at line 341 of file vec_pred_reg.hh.