Go to the documentation of this file.
44 #ifndef __ARCH_RISCV_UTILITY_HH__
45 #define __ARCH_RISCV_UTILITY_HH__
65 template<
typename T>
inline bool
71 template<>
inline bool
74 return std::isnan(
val)
75 && (
reinterpret_cast<uint32_t&
>(
val)&0x00400000);
78 template<>
inline bool
81 return std::isnan(
val)
82 && (
reinterpret_cast<uint64_t&
>(
val)&0x0008000000000000ULL);
85 template<
typename T>
inline bool
91 template<>
inline bool
94 return std::isnan(
val)
95 && (
reinterpret_cast<uint32_t&
>(
val)&0x00200000);
98 template<>
inline bool
101 return std::isnan(
val)
102 && (
reinterpret_cast<uint64_t&
>(
val)&0x0004000000000000ULL);
119 std::stringstream str;
120 str <<
"?? (x" <<
reg.index() <<
')';
126 std::stringstream str;
127 str <<
"?? (f" <<
reg.index() <<
')';
137 #endif // __ARCH_RISCV_UTILITY_HH__
const std::vector< std::string > IntRegNames
bool issignalingnan< double >(double val)
bool isquietnan< double >(double val)
std::string registerName(RegId reg)
bool isquietnan< float >(float val)
bool issignalingnan< float >(float val)
bool issignalingnan(T val)
@ IntRegClass
Integer register.
const std::vector< std::string > FloatRegNames
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Register ID: describe an architectural register with its class and index.
Generated on Tue Feb 8 2022 11:46:59 for gem5 by doxygen 1.8.17