|
| template<typename T> |
| bool | gem5::RiscvISA::isquietnan (T val) |
| |
| template<> |
| bool | gem5::RiscvISA::isquietnan< float > (float val) |
| |
| template<> |
| bool | gem5::RiscvISA::isquietnan< double > (double val) |
| |
| template<typename T> |
| bool | gem5::RiscvISA::issignalingnan (T val) |
| |
| template<> |
| bool | gem5::RiscvISA::issignalingnan< float > (float val) |
| |
| template<> |
| bool | gem5::RiscvISA::issignalingnan< double > (double val) |
| |
| std::string | gem5::RiscvISA::registerName (RegId reg) |
| |
| template<typename T> |
| std::make_unsigned_t< T > | gem5::RiscvISA::mulhu (std::make_unsigned_t< T > rs1, std::make_unsigned_t< T > rs2) |
| |
| template<typename T> |
| std::make_signed_t< T > | gem5::RiscvISA::mulh (std::make_signed_t< T > rs1, std::make_signed_t< T > rs2) |
| |
| template<typename T> |
| std::make_signed_t< T > | gem5::RiscvISA::mulhsu (std::make_signed_t< T > rs1, std::make_unsigned_t< T > rs2) |
| |
| template<typename T> |
| T | gem5::RiscvISA::div (T rs1, T rs2) |
| |
| template<typename T> |
| T | gem5::RiscvISA::divu (T rs1, T rs2) |
| |
| template<typename T> |
| T | gem5::RiscvISA::rem (T rs1, T rs2) |
| |
| template<typename T> |
| T | gem5::RiscvISA::remu (T rs1, T rs2) |
| |
| uint64_t | gem5::RiscvISA::vtype_SEW (const uint64_t vtype) |
| |
| uint64_t | gem5::RiscvISA::vtype_VLMAX (const uint64_t vtype, const uint64_t vlen, const bool per_reg=false) |
| |
| int64_t | gem5::RiscvISA::vtype_vlmul (const uint64_t vtype) |
| |
| uint64_t | gem5::RiscvISA::vtype_regs_per_group (const uint64_t vtype) |
| |
| void | gem5::RiscvISA::vtype_set_vill (uint64_t &vtype) |
| |
| uint64_t | gem5::RiscvISA::width_EEW (uint64_t width) |
| |
| template<typename T> |
| int | gem5::RiscvISA::elem_mask (const T *vs, const int index) |
| |
| template<typename T> |
| int | gem5::RiscvISA::elem_mask_vseg (const T *vs, const int elem, const int num_fields) |
| |
| template<typename FloatType, typename IntType = decltype(FloatType::v)> |
| auto | gem5::RiscvISA::ftype (IntType a) -> FloatType |
| |
| template<typename FloatType, typename IntType = decltype(FloatType::v)> |
| auto | gem5::RiscvISA::ftype_freg (freg_t a) -> FloatType |
| |
| template<typename FloatType> |
| FloatType | gem5::RiscvISA::fadd (FloatType a, FloatType b) |
| |
| template<typename FloatType> |
| FloatType | gem5::RiscvISA::fsub (FloatType a, FloatType b) |
| |
| template<typename FloatType> |
| FloatType | gem5::RiscvISA::fmin (FloatType a, FloatType b) |
| |
| template<typename FloatType> |
| FloatType | gem5::RiscvISA::fmax (FloatType a, FloatType b) |
| |
| template<typename FloatType> |
| FloatType | gem5::RiscvISA::fdiv (FloatType a, FloatType b) |
| |
| template<typename FloatType> |
| FloatType | gem5::RiscvISA::fmul (FloatType a, FloatType b) |
| |
| template<typename FloatType> |
| FloatType | gem5::RiscvISA::fsqrt (FloatType a) |
| |
| template<typename FloatType> |
| FloatType | gem5::RiscvISA::frsqrte7 (FloatType a) |
| |
| template<typename FloatType> |
| FloatType | gem5::RiscvISA::frecip7 (FloatType a) |
| |
| template<typename FloatType> |
| FloatType | gem5::RiscvISA::fclassify (FloatType a) |
| |
| template<typename FloatType> |
| FloatType | gem5::RiscvISA::fsgnj (FloatType a, FloatType b, bool n, bool x) |
| |
| template<typename FloatType> |
| bool | gem5::RiscvISA::fle (FloatType a, FloatType b) |
| |
| template<typename FloatType> |
| bool | gem5::RiscvISA::feq (FloatType a, FloatType b) |
| |
| template<typename FloatType> |
| bool | gem5::RiscvISA::flt (FloatType a, FloatType b) |
| |
| template<typename FloatType> |
| FloatType | gem5::RiscvISA::fmadd (FloatType a, FloatType b, FloatType c) |
| |
| template<typename FloatType> |
| FloatType | gem5::RiscvISA::fneg (FloatType a) |
| |
| template<typename FT, typename WFT = typename double_width<FT>::type> |
| WFT | gem5::RiscvISA::fwiden (FT a) |
| |
| template<typename FloatType, typename IntType = decltype(FloatType::v)> |
| IntType | gem5::RiscvISA::f_to_ui (FloatType a, uint_fast8_t mode) |
| |
| template<typename FloatType, typename IntType = decltype(double_width<FloatType>::type::v)> |
| IntType | gem5::RiscvISA::f_to_wui (FloatType a, uint_fast8_t mode) |
| |
| template<typename IntType, typename FloatType = typename double_widthf<IntType>::type> |
| IntType | gem5::RiscvISA::f_to_nui (FloatType a, uint_fast8_t mode) |
| |
| template<typename FloatType, typename IntType = decltype(FloatType::v)> |
| IntType | gem5::RiscvISA::f_to_i (FloatType a, uint_fast8_t mode) |
| |
| template<typename FloatType, typename IntType = decltype(double_width<FloatType>::type::v)> |
| IntType | gem5::RiscvISA::f_to_wi (FloatType a, uint_fast8_t mode) |
| |
| template<typename IntType, typename FloatType = typename double_widthf<IntType>::type> |
| IntType | gem5::RiscvISA::f_to_ni (FloatType a, uint_fast8_t mode) |
| |
| template<typename FloatType, typename IntType = decltype(FloatType::v)> |
| FloatType | gem5::RiscvISA::ui_to_f (IntType a) |
| |
| template<typename IntType, typename FloatType = typename double_widthf<IntType>::type> |
| FloatType | gem5::RiscvISA::ui_to_wf (IntType a) |
| |
| template<typename FloatType, typename IntType = decltype(double_width<FloatType>::type::v)> |
| FloatType | gem5::RiscvISA::ui_to_nf (IntType a) |
| |
| template<typename FloatType, typename IntType = decltype(FloatType::v)> |
| FloatType | gem5::RiscvISA::i_to_f (IntType a) |
| |
| template<typename IntType, typename FloatType = typename double_widthf<IntType>::type> |
| FloatType | gem5::RiscvISA::i_to_wf (IntType a) |
| |
| template<typename FloatType, typename IntType = std::make_signed_t< decltype(double_width<FloatType>::type::v) >> |
| FloatType | gem5::RiscvISA::i_to_nf (IntType a) |
| |
| template<typename FloatType, typename FloatWType = typename double_width<FloatType>::type> |
| FloatWType | gem5::RiscvISA::f_to_wf (FloatType a) |
| |
| template<typename FloatNType, typename FloatType = typename double_width<FloatNType>::type> |
| FloatNType | gem5::RiscvISA::f_to_nf (FloatType a) |
| |
| template<typename T> |
| T | gem5::RiscvISA::sat_add (T x, T y, bool *sat) |
| |
| template<typename T> |
| T | gem5::RiscvISA::sat_sub (T x, T y, bool *sat) |
| |
| template<typename T> |
| T | gem5::RiscvISA::sat_addu (T x, T y, bool *sat) |
| |
| template<typename T> |
| T | gem5::RiscvISA::sat_subu (T x, T y, bool *sat) |
| |
| template<typename T> |
| T | gem5::RiscvISA::int_rounding (T result, uint8_t xrm, unsigned gb) |
| | Ref: https://github.com/riscv-software-src/riscv-isa-sim.
|
| |