Vector Register Abstraction This generic class is the model in a particularization of MVC, to vector registers.
More...
|
| | VecRegContainer () |
| |
| | VecRegContainer (const VecRegContainer &)=default |
| |
| | VecRegContainer (const std::vector< uint8_t > &that) |
| |
| void | zero () |
| | Zero the container. More...
|
| |
| template<size_t S2> |
| bool | operator== (const VecRegContainer< S2 > &that) const |
| | Equality operator. More...
|
| |
| template<size_t S2> |
| bool | operator!= (const VecRegContainer< S2 > &that) const |
| | Inequality operator. More...
|
| |
| const std::string | print () const |
| |
| template<typename Ret > |
| const Ret * | raw_ptr () const |
| | Get pointer to bytes. More...
|
| |
| template<typename Ret > |
| Ret * | raw_ptr () |
| |
|
| MyClass & | operator= (const MyClass &that) |
| | Assignment operators. More...
|
| |
| MyClass & | operator= (const Container &that) |
| | From appropriately sized uint8_t[]. More...
|
| |
| MyClass & | operator= (const std::vector< uint8_t > &that) |
| | From vector<uint8_t>. More...
|
| |
|
| void | copyTo (Container &dst) const |
| | Copy the contents into the input buffer. More...
|
| |
| void | copyTo (std::vector< uint8_t > &dst) const |
| | To vector<uint8_t> This is required for serialisation. More...
|
| |
|
| template<typename VecElem , size_t NumElems = (SIZE / sizeof(VecElem))> |
| VecRegT< VecElem, NumElems, true > | as () const |
| | View interposers. More...
|
| |
| template<typename VecElem , size_t NumElems = (SIZE / sizeof(VecElem))> |
| VecRegT< VecElem, NumElems, false > | as () |
| |
| template<typename VecElem , int LaneIdx> |
| VecLaneT< VecElem, false > | laneView () |
| | View as the Nth lane of type VecElem. More...
|
| |
| template<typename VecElem , int LaneIdx> |
| VecLaneT< VecElem, true > | laneView () const |
| | View as the const Nth lane of type VecElem. More...
|
| |
| template<typename VecElem > |
| VecLaneT< VecElem, false > | laneView (int laneIdx) |
| | View as the Nth lane of type VecElem. More...
|
| |
| template<typename VecElem > |
| VecLaneT< VecElem, true > | laneView (int laneIdx) const |
| | View as the const Nth lane of type VecElem. More...
|
| |
template<size_t SIZE>
class VecRegContainer< SIZE >
Vector Register Abstraction This generic class is the model in a particularization of MVC, to vector registers.
The model has functionality to create views of itself, or a portion through the method 'as
- Template Parameters
-
| Sz | Size of the container in bytes. |
Definition at line 156 of file vec_reg.hh.
template<size_t SIZE>
template<typename VecElem , size_t NumElems = (SIZE / sizeof(VecElem))>
View interposers.
Create a view of this container as a vector of VecElems with an optional amount of elements. If the amount of elements is provided, the size of the container is checked, to test bounds. If it is not provided, the length is inferred from the container size and the element size.
- Template Parameters
-
| VecElem | Type of each element of the vector for the view. |
| NumElem | Amount of elements in the view. |
Definition at line 386 of file vec_reg.hh.
Referenced by ArmISA::ISA::zeroSveVecRegUpperPart().