Go to the documentation of this file.
38 #ifndef __CPU_INST_RES_HH__
39 #define __CPU_INST_RES_HH__
41 #include <type_traits>
83 static_assert(std::is_integral<T>::value ^
84 std::is_floating_point<T>::value,
85 "Parameter type is neither integral nor fp, or it is both");
86 if (std::is_integral<T>::value) {
88 }
else if (std::is_floating_point<T>::value) {
121 panic(
"Assigning result from unknown result type");
131 if (this->type != that.
type)
145 panic(
"Unknown type of result: %d\n", (
int)
type);
201 panic_if(!
isPred(),
"Converting scalar (or invalid) to predicate!!");
210 #endif // __CPU_INST_RES_HH__
InstResult(const TheISA::VecPredRegContainer &v, const ResultType &t)
Predicate result.
bool isVector() const
Is this a vector result?.
VecPredReg::Container VecPredRegContainer
bool isPred() const
Is this a predicate result?.
bool operator!=(const InstResult &that) const
bool operator==(const InstResult &that) const
Result comparison Two invalid results always differ.
bool isScalar() const
Checks.
InstResult()
Default constructor creates an invalid result.
const TheISA::VecElem & asVectorElem() const
TheISA::VecRegContainer vector
bool isValid() const
Is this a valid result?.
TheISA::VecPredRegContainer pred
gem5::VecRegContainer< NumVecElemPerVecReg *sizeof(VecElem)> VecRegContainer
const uint64_t & asInteger() const
Explicit cast-like operations.
InstResult & operator=(const InstResult &that)
const TheISA::VecPredRegContainer & asPred() const
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
const uint64_t & asIntegerNoAssert() const
Cast to integer without checking type.
const TheISA::VecRegContainer & asVector() const
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
bool isVecElem() const
Is this a vector element result?.
InstResult(T i, const ResultType &t)
Scalar result from scalar.
InstResult(const TheISA::VecRegContainer &v, const ResultType &t)
Vector result.
#define panic(...)
This implements a cprintf based panic() function.
Generated on Wed Jul 28 2021 12:10:23 for gem5 by doxygen 1.8.17