gem5 v24.0.0.0
Loading...
Searching...
No Matches
float.hh File Reference
#include <softfloat.h>
#include <specialize.h>
#include <cstdint>
#include <string>
#include <vector>
#include "base/bitfield.hh"
#include "cpu/reg_class.hh"
#include "debug/FloatRegs.hh"

Go to the source code of this file.

Namespaces

namespace  gem5
 Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
 
namespace  gem5::RiscvISA
 
namespace  gem5::RiscvISA::float_reg
 

Typedefs

using gem5::RiscvISA::freg_t = float64_t
 

Enumerations

enum  : RegIndex {
  gem5::RiscvISA::float_reg::_Ft0Idx , gem5::RiscvISA::float_reg::_Ft1Idx , gem5::RiscvISA::float_reg::_Ft2Idx , gem5::RiscvISA::float_reg::_Ft3Idx ,
  gem5::RiscvISA::float_reg::_Ft4Idx , gem5::RiscvISA::float_reg::_Ft5Idx , gem5::RiscvISA::float_reg::_Ft6Idx , gem5::RiscvISA::float_reg::_Ft7Idx ,
  gem5::RiscvISA::float_reg::_Fs0Idx , gem5::RiscvISA::float_reg::_Fs1Idx , gem5::RiscvISA::float_reg::_Fa0Idx , gem5::RiscvISA::float_reg::_Fa1Idx ,
  gem5::RiscvISA::float_reg::_Fa2Idx , gem5::RiscvISA::float_reg::_Fa3Idx , gem5::RiscvISA::float_reg::_Fa4Idx , gem5::RiscvISA::float_reg::_Fa5Idx ,
  gem5::RiscvISA::float_reg::_Fa6Idx , gem5::RiscvISA::float_reg::_Fa7Idx , gem5::RiscvISA::float_reg::_Fs2Idx , gem5::RiscvISA::float_reg::_Fs3Idx ,
  gem5::RiscvISA::float_reg::_Fs4Idx , gem5::RiscvISA::float_reg::_Fs5Idx , gem5::RiscvISA::float_reg::_Fs6Idx , gem5::RiscvISA::float_reg::_Fs7Idx ,
  gem5::RiscvISA::float_reg::_Fs8Idx , gem5::RiscvISA::float_reg::_Fs9Idx , gem5::RiscvISA::float_reg::_Fs10Idx , gem5::RiscvISA::float_reg::_Fs11Idx ,
  gem5::RiscvISA::float_reg::_Ft8Idx , gem5::RiscvISA::float_reg::_Ft9Idx , gem5::RiscvISA::float_reg::_Ft10Idx , gem5::RiscvISA::float_reg::_Ft11Idx ,
  gem5::RiscvISA::float_reg::NumRegs
}
 

Functions

static constexpr uint16_t gem5::RiscvISA::unboxF16 (uint64_t v)
 
static constexpr uint32_t gem5::RiscvISA::unboxF32 (uint64_t v)
 
static constexpr uint64_t gem5::RiscvISA::boxF16 (uint16_t v)
 
static constexpr uint64_t gem5::RiscvISA::boxF32 (uint32_t v)
 
static constexpr float16_t gem5::RiscvISA::f16 (uint16_t v)
 
static constexpr float32_t gem5::RiscvISA::f32 (uint32_t v)
 
static constexpr float64_t gem5::RiscvISA::f64 (uint64_t v)
 
static constexpr float16_t gem5::RiscvISA::f16 (freg_t r)
 
static constexpr float32_t gem5::RiscvISA::f32 (freg_t r)
 
static constexpr float64_t gem5::RiscvISA::f64 (freg_t r)
 
static constexpr freg_t gem5::RiscvISA::freg (float16_t f)
 
static constexpr freg_t gem5::RiscvISA::freg (float32_t f)
 
static constexpr freg_t gem5::RiscvISA::freg (float64_t f)
 
static constexpr freg_t gem5::RiscvISA::freg (uint_fast64_t f)
 
constexpr RegClass gem5::RiscvISA::floatRegClass (FloatRegClass, FloatRegClassName, float_reg::NumRegs, debug::FloatRegs)
 
float16_t gem5::RiscvISA::fsgnj16 (float16_t a, float16_t b, bool n, bool x)
 
float32_t gem5::RiscvISA::fsgnj32 (float32_t a, float32_t b, bool n, bool x)
 
float64_t gem5::RiscvISA::fsgnj64 (float64_t a, float64_t b, bool n, bool x)
 

Variables

constexpr RegId gem5::RiscvISA::float_reg::Ft0 = floatRegClass[_Ft0Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Ft1 = floatRegClass[_Ft1Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Ft2 = floatRegClass[_Ft2Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Ft3 = floatRegClass[_Ft3Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Ft4 = floatRegClass[_Ft4Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Ft5 = floatRegClass[_Ft5Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Ft6 = floatRegClass[_Ft6Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Ft7 = floatRegClass[_Ft7Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fs0 = floatRegClass[_Fs0Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fs1 = floatRegClass[_Fs1Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fa0 = floatRegClass[_Fa0Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fa1 = floatRegClass[_Fa1Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fa2 = floatRegClass[_Fa2Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fa3 = floatRegClass[_Fa3Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fa4 = floatRegClass[_Fa4Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fa5 = floatRegClass[_Fa5Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fa6 = floatRegClass[_Fa6Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fa7 = floatRegClass[_Fa7Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fs2 = floatRegClass[_Fs2Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fs3 = floatRegClass[_Fs3Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fs4 = floatRegClass[_Fs4Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fs5 = floatRegClass[_Fs5Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fs6 = floatRegClass[_Fs6Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fs7 = floatRegClass[_Fs7Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fs8 = floatRegClass[_Fs8Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fs9 = floatRegClass[_Fs9Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fs10 = floatRegClass[_Fs10Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Fs11 = floatRegClass[_Fs11Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Ft8 = floatRegClass[_Ft8Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Ft9 = floatRegClass[_Ft9Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Ft10 = floatRegClass[_Ft10Idx]
 
constexpr RegId gem5::RiscvISA::float_reg::Ft11 = floatRegClass[_Ft11Idx]
 
const std::vector< std::string > gem5::RiscvISA::float_reg::RegNames
 

Generated on Tue Jun 18 2024 16:24:08 for gem5 by doxygen 1.11.0