|
gem5
v22.1.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. More... | |
| void | reset () |
| Resets the predicate register to an all-false register. More... | |
| void | set () |
| Sets the predicate register to an all-true value. More... | |
| template<size_t N2, bool P2> | |
| bool | operator== (const VecPredRegContainer< N2, P2 > &that) const |
| Equality operator, required to compare thread contexts. More... | |
| template<size_t N2, bool P2> | |
| bool | operator!= (const VecPredRegContainer< N2, P2 > &that) const |
| Inequality operator, required to compare thread contexts. More... | |
| bool & | operator[] (size_t idx) |
| Returns a reference to a specific element of the internal container. More... | |
| const bool & | operator[] (size_t idx) const |
| Returns a const reference to a specific element of the internal container. More... | |
| uint8_t | getBits (size_t idx, uint8_t nbits) const |
| Returns a subset of bits starting from a specific element in the container. More... | |
| void | setBits (size_t idx, uint8_t nbits, uint8_t bval) |
| Set a subset of bits starting from a specific element in the container. More... | |
| template<typename VecElem > | |
| auto | as () const |
| Create a view of this container. More... | |
| 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::VegaISA::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.
|
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.
|
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 >::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.