gem5 v24.0.0.0
|
#include <stdint.h>
#include <cassert>
#include <cmath>
#include "base/logging.hh"
#include "fplib.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::ArmISA |
Macros | |
#define | FPLIB_RN 0 |
#define | FPLIB_RP 1 |
#define | FPLIB_RM 2 |
#define | FPLIB_RZ 3 |
#define | FPLIB_FZ 4 |
#define | FPLIB_DN 8 |
#define | FPLIB_AHP 16 |
#define | FPLIB_FZ16 32 |
#define | FPLIB_IDC 128 |
#define | FPLIB_IXC 16 |
#define | FPLIB_UFC 8 |
#define | FPLIB_OFC 4 |
#define | FPLIB_DZC 2 |
#define | FPLIB_IOC 1 |
#define | FP16_BITS 16 |
#define | FP32_BITS 32 |
#define | FP64_BITS 64 |
#define | FP16_EXP_BITS 5 |
#define | FP32_EXP_BITS 8 |
#define | FP64_EXP_BITS 11 |
#define | FP16_EXP_BIAS 15 |
#define | FP32_EXP_BIAS 127 |
#define | FP64_EXP_BIAS 1023 |
#define | FP16_EXP_INF ((1ULL << FP16_EXP_BITS) - 1) |
#define | FP32_EXP_INF ((1ULL << FP32_EXP_BITS) - 1) |
#define | FP64_EXP_INF ((1ULL << FP64_EXP_BITS) - 1) |
#define | FP16_MANT_BITS (FP16_BITS - FP16_EXP_BITS - 1) |
#define | FP32_MANT_BITS (FP32_BITS - FP32_EXP_BITS - 1) |
#define | FP64_MANT_BITS (FP64_BITS - FP64_EXP_BITS - 1) |
#define | FP16_EXP(x) ((x) >> FP16_MANT_BITS & ((1ULL << FP16_EXP_BITS) - 1)) |
#define | FP32_EXP(x) ((x) >> FP32_MANT_BITS & ((1ULL << FP32_EXP_BITS) - 1)) |
#define | FP64_EXP(x) ((x) >> FP64_MANT_BITS & ((1ULL << FP64_EXP_BITS) - 1)) |
#define | FP16_MANT(x) ((x) & ((1ULL << FP16_MANT_BITS) - 1)) |
#define | FP32_MANT(x) ((x) & ((1ULL << FP32_MANT_BITS) - 1)) |
#define | FP64_MANT(x) ((x) & ((1ULL << FP64_MANT_BITS) - 1)) |
Functions | |
static uint16_t | gem5::ArmISA::lsl16 (uint16_t x, uint32_t shift) |
static uint16_t | gem5::ArmISA::lsr16 (uint16_t x, uint32_t shift) |
static uint32_t | gem5::ArmISA::lsl32 (uint32_t x, uint32_t shift) |
static uint32_t | gem5::ArmISA::lsr32 (uint32_t x, uint32_t shift) |
static uint64_t | gem5::ArmISA::lsl64 (uint64_t x, uint32_t shift) |
static uint64_t | gem5::ArmISA::lsr64 (uint64_t x, uint32_t shift) |
static void | gem5::ArmISA::lsl128 (uint64_t *r0, uint64_t *r1, uint64_t x0, uint64_t x1, uint32_t shift) |
static void | gem5::ArmISA::lsr128 (uint64_t *r0, uint64_t *r1, uint64_t x0, uint64_t x1, uint32_t shift) |
static void | gem5::ArmISA::mul62x62 (uint64_t *x0, uint64_t *x1, uint64_t a, uint64_t b) |
static void | gem5::ArmISA::mul64x32 (uint64_t *x0, uint64_t *x1, uint64_t a, uint32_t b) |
static void | gem5::ArmISA::add128 (uint64_t *x0, uint64_t *x1, uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1) |
static void | gem5::ArmISA::sub128 (uint64_t *x0, uint64_t *x1, uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1) |
static int | gem5::ArmISA::cmp128 (uint64_t a0, uint64_t a1, uint64_t b0, uint64_t b1) |
static uint16_t | gem5::ArmISA::fp16_normalise (uint16_t mnt, int *exp) |
static uint32_t | gem5::ArmISA::fp32_normalise (uint32_t mnt, int *exp) |
static uint64_t | gem5::ArmISA::fp64_normalise (uint64_t mnt, int *exp) |
static void | gem5::ArmISA::fp128_normalise (uint64_t *mnt0, uint64_t *mnt1, int *exp) |
static uint16_t | gem5::ArmISA::fp16_pack (uint16_t sgn, uint16_t exp, uint16_t mnt) |
static uint32_t | gem5::ArmISA::fp32_pack (uint32_t sgn, uint32_t exp, uint32_t mnt) |
static uint64_t | gem5::ArmISA::fp64_pack (uint64_t sgn, uint64_t exp, uint64_t mnt) |
static uint16_t | gem5::ArmISA::fp16_zero (int sgn) |
static uint32_t | gem5::ArmISA::fp32_zero (int sgn) |
static uint64_t | gem5::ArmISA::fp64_zero (int sgn) |
static uint16_t | gem5::ArmISA::fp16_max_normal (int sgn) |
static uint32_t | gem5::ArmISA::fp32_max_normal (int sgn) |
static uint64_t | gem5::ArmISA::fp64_max_normal (int sgn) |
static uint16_t | gem5::ArmISA::fp16_infinity (int sgn) |
static uint32_t | gem5::ArmISA::fp32_infinity (int sgn) |
static uint64_t | gem5::ArmISA::fp64_infinity (int sgn) |
static uint16_t | gem5::ArmISA::fp16_defaultNaN () |
static uint32_t | gem5::ArmISA::fp32_defaultNaN () |
static uint64_t | gem5::ArmISA::fp64_defaultNaN () |
static void | gem5::ArmISA::fp16_unpack (int *sgn, int *exp, uint16_t *mnt, uint16_t x, int mode, int *flags) |
static void | gem5::ArmISA::fp32_unpack (int *sgn, int *exp, uint32_t *mnt, uint32_t x, int mode, int *flags) |
static void | gem5::ArmISA::fp64_unpack (int *sgn, int *exp, uint64_t *mnt, uint64_t x, int mode, int *flags) |
static int | gem5::ArmISA::fp16_is_NaN (int exp, uint16_t mnt) |
static int | gem5::ArmISA::fp32_is_NaN (int exp, uint32_t mnt) |
static int | gem5::ArmISA::fp64_is_NaN (int exp, uint64_t mnt) |
static int | gem5::ArmISA::fp16_is_signalling_NaN (int exp, uint16_t mnt) |
static int | gem5::ArmISA::fp32_is_signalling_NaN (int exp, uint32_t mnt) |
static int | gem5::ArmISA::fp64_is_signalling_NaN (int exp, uint64_t mnt) |
static int | gem5::ArmISA::fp16_is_quiet_NaN (int exp, uint16_t mnt) |
static int | gem5::ArmISA::fp32_is_quiet_NaN (int exp, uint32_t mnt) |
static int | gem5::ArmISA::fp64_is_quiet_NaN (int exp, uint64_t mnt) |
static int | gem5::ArmISA::fp16_is_infinity (int exp, uint16_t mnt) |
static int | gem5::ArmISA::fp32_is_infinity (int exp, uint32_t mnt) |
static int | gem5::ArmISA::fp64_is_infinity (int exp, uint64_t mnt) |
static uint16_t | gem5::ArmISA::fp16_process_NaN (uint16_t a, int mode, int *flags) |
static uint32_t | gem5::ArmISA::fp32_process_NaN (uint32_t a, int mode, int *flags) |
static uint64_t | gem5::ArmISA::fp64_process_NaN (uint64_t a, int mode, int *flags) |
static uint16_t | gem5::ArmISA::fp16_process_NaNs (uint16_t a, uint16_t b, int mode, int *flags) |
static uint32_t | gem5::ArmISA::fp32_process_NaNs (uint32_t a, uint32_t b, int mode, int *flags) |
static uint64_t | gem5::ArmISA::fp64_process_NaNs (uint64_t a, uint64_t b, int mode, int *flags) |
static uint16_t | gem5::ArmISA::fp16_process_NaNs3 (uint16_t a, uint16_t b, uint16_t c, int mode, int *flags) |
static uint32_t | gem5::ArmISA::fp32_process_NaNs3 (uint32_t a, uint32_t b, uint32_t c, int mode, int *flags) |
static uint64_t | gem5::ArmISA::fp64_process_NaNs3 (uint64_t a, uint64_t b, uint64_t c, int mode, int *flags) |
static uint16_t | gem5::ArmISA::fp16_round_ (int sgn, int exp, uint16_t mnt, int rm, int mode, int *flags) |
static uint16_t | gem5::ArmISA::fp16_round (int sgn, int exp, uint16_t mnt, int mode, int *flags) |
static uint32_t | gem5::ArmISA::fp32_round_ (int sgn, int exp, uint32_t mnt, int rm, int mode, int *flags) |
static uint32_t | gem5::ArmISA::fp32_round (int sgn, int exp, uint32_t mnt, int mode, int *flags) |
static uint64_t | gem5::ArmISA::fp64_round_ (int sgn, int exp, uint64_t mnt, int rm, int mode, int *flags) |
static uint64_t | gem5::ArmISA::fp64_round (int sgn, int exp, uint64_t mnt, int mode, int *flags) |
static int | gem5::ArmISA::fp16_compare_eq (uint16_t a, uint16_t b, int mode, int *flags) |
static int | gem5::ArmISA::fp16_compare_ge (uint16_t a, uint16_t b, int mode, int *flags) |
static int | gem5::ArmISA::fp16_compare_gt (uint16_t a, uint16_t b, int mode, int *flags) |
static int | gem5::ArmISA::fp16_compare_un (uint16_t a, uint16_t b, int mode, int *flags) |
static int | gem5::ArmISA::fp32_compare_eq (uint32_t a, uint32_t b, int mode, int *flags) |
static int | gem5::ArmISA::fp32_compare_ge (uint32_t a, uint32_t b, int mode, int *flags) |
static int | gem5::ArmISA::fp32_compare_gt (uint32_t a, uint32_t b, int mode, int *flags) |
static int | gem5::ArmISA::fp32_compare_un (uint32_t a, uint32_t b, int mode, int *flags) |
static int | gem5::ArmISA::fp64_compare_eq (uint64_t a, uint64_t b, int mode, int *flags) |
static int | gem5::ArmISA::fp64_compare_ge (uint64_t a, uint64_t b, int mode, int *flags) |
static int | gem5::ArmISA::fp64_compare_gt (uint64_t a, uint64_t b, int mode, int *flags) |
static int | gem5::ArmISA::fp64_compare_un (uint64_t a, uint64_t b, int mode, int *flags) |
static uint16_t | gem5::ArmISA::fp16_add (uint16_t a, uint16_t b, int neg, int mode, int *flags) |
static uint32_t | gem5::ArmISA::fp32_add (uint32_t a, uint32_t b, int neg, int mode, int *flags) |
static uint64_t | gem5::ArmISA::fp64_add (uint64_t a, uint64_t b, int neg, int mode, int *flags) |
static uint16_t | gem5::ArmISA::fp16_mul (uint16_t a, uint16_t b, int mode, int *flags) |
static uint32_t | gem5::ArmISA::fp32_mul (uint32_t a, uint32_t b, int mode, int *flags) |
static uint64_t | gem5::ArmISA::fp64_mul (uint64_t a, uint64_t b, int mode, int *flags) |
static uint16_t | gem5::ArmISA::fp16_muladd (uint16_t a, uint16_t b, uint16_t c, int scale, int mode, int *flags) |
static uint32_t | gem5::ArmISA::fp32_muladd (uint32_t a, uint32_t b, uint32_t c, int scale, int mode, int *flags) |
static uint64_t | gem5::ArmISA::fp64_muladd (uint64_t a, uint64_t b, uint64_t c, int scale, int mode, int *flags) |
static uint16_t | gem5::ArmISA::fp16_div (uint16_t a, uint16_t b, int mode, int *flags) |
static uint32_t | gem5::ArmISA::fp32_div (uint32_t a, uint32_t b, int mode, int *flags) |
static uint64_t | gem5::ArmISA::fp64_div (uint64_t a, uint64_t b, int mode, int *flags) |
static void | gem5::ArmISA::set_fpscr0 (FPSCR &fpscr, int flags) |
static uint16_t | gem5::ArmISA::fp16_scale (uint16_t a, int16_t b, int mode, int *flags) |
static uint32_t | gem5::ArmISA::fp32_scale (uint32_t a, int32_t b, int mode, int *flags) |
static uint64_t | gem5::ArmISA::fp64_scale (uint64_t a, int64_t b, int mode, int *flags) |
static uint16_t | gem5::ArmISA::fp16_sqrt (uint16_t a, int mode, int *flags) |
static uint32_t | gem5::ArmISA::fp32_sqrt (uint32_t a, int mode, int *flags) |
static uint64_t | gem5::ArmISA::fp64_sqrt (uint64_t a, int mode, int *flags) |
static int | gem5::ArmISA::modeConv (FPSCR fpscr) |
static void | gem5::ArmISA::set_fpscr (FPSCR &fpscr, int flags) |
template<> | |
bool | gem5::ArmISA::fplibCompareEQ (uint16_t a, uint16_t b, FPSCR &fpscr) |
template<> | |
bool | gem5::ArmISA::fplibCompareGE (uint16_t a, uint16_t b, FPSCR &fpscr) |
template<> | |
bool | gem5::ArmISA::fplibCompareGT (uint16_t a, uint16_t b, FPSCR &fpscr) |
template<> | |
bool | gem5::ArmISA::fplibCompareUN (uint16_t a, uint16_t b, FPSCR &fpscr) |
template<> | |
bool | gem5::ArmISA::fplibCompareEQ (uint32_t a, uint32_t b, FPSCR &fpscr) |
template<> | |
bool | gem5::ArmISA::fplibCompareGE (uint32_t a, uint32_t b, FPSCR &fpscr) |
template<> | |
bool | gem5::ArmISA::fplibCompareGT (uint32_t a, uint32_t b, FPSCR &fpscr) |
template<> | |
bool | gem5::ArmISA::fplibCompareUN (uint32_t a, uint32_t b, FPSCR &fpscr) |
template<> | |
bool | gem5::ArmISA::fplibCompareEQ (uint64_t a, uint64_t b, FPSCR &fpscr) |
template<> | |
bool | gem5::ArmISA::fplibCompareGE (uint64_t a, uint64_t b, FPSCR &fpscr) |
template<> | |
bool | gem5::ArmISA::fplibCompareGT (uint64_t a, uint64_t b, FPSCR &fpscr) |
template<> | |
bool | gem5::ArmISA::fplibCompareUN (uint64_t a, uint64_t b, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibAbs (uint16_t op) |
template<> | |
uint32_t | gem5::ArmISA::fplibAbs (uint32_t op) |
template<> | |
uint64_t | gem5::ArmISA::fplibAbs (uint64_t op) |
template<> | |
uint16_t | gem5::ArmISA::fplibAdd (uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibAdd (uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibAdd (uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
int | gem5::ArmISA::fplibCompare (uint16_t op1, uint16_t op2, bool signal_nans, FPSCR &fpscr) |
template<> | |
int | gem5::ArmISA::fplibCompare (uint32_t op1, uint32_t op2, bool signal_nans, FPSCR &fpscr) |
template<> | |
int | gem5::ArmISA::fplibCompare (uint64_t op1, uint64_t op2, bool signal_nans, FPSCR &fpscr) |
static uint16_t | gem5::ArmISA::fp16_FPConvertNaN_32 (uint32_t op) |
static uint16_t | gem5::ArmISA::fp16_FPConvertNaN_64 (uint64_t op) |
static uint32_t | gem5::ArmISA::fp32_FPConvertNaN_16 (uint16_t op) |
static uint32_t | gem5::ArmISA::fp32_FPConvertNaN_64 (uint64_t op) |
static uint64_t | gem5::ArmISA::fp64_FPConvertNaN_16 (uint16_t op) |
static uint64_t | gem5::ArmISA::fp64_FPConvertNaN_32 (uint32_t op) |
static uint16_t | gem5::ArmISA::fp16_FPOnePointFive (int sgn) |
static uint32_t | gem5::ArmISA::fp32_FPOnePointFive (int sgn) |
static uint64_t | gem5::ArmISA::fp64_FPOnePointFive (int sgn) |
static uint16_t | gem5::ArmISA::fp16_FPThree (int sgn) |
static uint32_t | gem5::ArmISA::fp32_FPThree (int sgn) |
static uint64_t | gem5::ArmISA::fp64_FPThree (int sgn) |
static uint16_t | gem5::ArmISA::fp16_FPTwo (int sgn) |
static uint32_t | gem5::ArmISA::fp32_FPTwo (int sgn) |
static uint64_t | gem5::ArmISA::fp64_FPTwo (int sgn) |
template<> | |
uint16_t | gem5::ArmISA::fplibConvert (uint32_t op, FPRounding rounding, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibConvert (uint64_t op, FPRounding rounding, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibConvert (uint16_t op, FPRounding rounding, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibConvert (uint64_t op, FPRounding rounding, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibConvert (uint16_t op, FPRounding rounding, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibConvert (uint32_t op, FPRounding rounding, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibMulAdd (uint16_t addend, uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibMulAdd (uint32_t addend, uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibMulAdd (uint64_t addend, uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibDiv (uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibDiv (uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibDiv (uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibExpA (uint16_t op) |
template<> | |
uint32_t | gem5::ArmISA::fplibExpA (uint32_t op) |
template<> | |
uint64_t | gem5::ArmISA::fplibExpA (uint64_t op) |
static uint16_t | gem5::ArmISA::fp16_repack (int sgn, int exp, uint16_t mnt) |
static uint32_t | gem5::ArmISA::fp32_repack (int sgn, int exp, uint32_t mnt) |
static uint64_t | gem5::ArmISA::fp64_repack (int sgn, int exp, uint64_t mnt) |
static void | gem5::ArmISA::fp16_minmaxnum (uint16_t *op1, uint16_t *op2, int sgn) |
static void | gem5::ArmISA::fp32_minmaxnum (uint32_t *op1, uint32_t *op2, int sgn) |
static void | gem5::ArmISA::fp64_minmaxnum (uint64_t *op1, uint64_t *op2, int sgn) |
template<> | |
uint16_t | gem5::ArmISA::fplibMax (uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibMax (uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibMax (uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibMaxNum (uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibMaxNum (uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibMaxNum (uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibMin (uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibMin (uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibMin (uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibMinNum (uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibMinNum (uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibMinNum (uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibMul (uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibMul (uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibMul (uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibMulX (uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibMulX (uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibMulX (uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibNeg (uint16_t op) |
template<> | |
uint32_t | gem5::ArmISA::fplibNeg (uint32_t op) |
template<> | |
uint64_t | gem5::ArmISA::fplibNeg (uint64_t op) |
template<> | |
uint16_t | gem5::ArmISA::fplibRSqrtEstimate (uint16_t op, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibRSqrtEstimate (uint32_t op, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibRSqrtEstimate (uint64_t op, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibRSqrtStepFused (uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibRSqrtStepFused (uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibRSqrtStepFused (uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibRecipEstimate (uint16_t op, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibRecipEstimate (uint32_t op, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibRecipEstimate (uint64_t op, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibRecipStepFused (uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibRecipStepFused (uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibRecipStepFused (uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibRecpX (uint16_t op, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibRecpX (uint32_t op, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibRecpX (uint64_t op, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibRoundInt (uint16_t op, FPRounding rounding, bool exact, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibRoundInt (uint32_t op, FPRounding rounding, bool exact, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibRoundInt (uint64_t op, FPRounding rounding, bool exact, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibScale (uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibScale (uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibScale (uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibSqrt (uint16_t op, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibSqrt (uint32_t op, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibSqrt (uint64_t op, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibSub (uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibSub (uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibSub (uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibTrigMulAdd (uint8_t coeff_index, uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibTrigMulAdd (uint8_t coeff_index, uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibTrigMulAdd (uint8_t coeff_index, uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibTrigSMul (uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibTrigSMul (uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibTrigSMul (uint64_t op1, uint64_t op2, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibTrigSSel (uint16_t op1, uint16_t op2, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibTrigSSel (uint32_t op1, uint32_t op2, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibTrigSSel (uint64_t op1, uint64_t op2, FPSCR &fpscr) |
static uint64_t | gem5::ArmISA::FPToFixed_64 (int sgn, int exp, uint64_t mnt, bool u, FPRounding rounding, int *flags) |
static uint32_t | gem5::ArmISA::FPToFixed_32 (int sgn, int exp, uint64_t mnt, bool u, FPRounding rounding, int *flags) |
static uint16_t | gem5::ArmISA::FPToFixed_16 (int sgn, int exp, uint64_t mnt, bool u, FPRounding rounding, int *flags) |
template<> | |
uint16_t | gem5::ArmISA::fplibFPToFixed (uint16_t op, int fbits, bool u, FPRounding rounding, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibFPToFixed (uint16_t op, int fbits, bool u, FPRounding rounding, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibFPToFixed (uint32_t op, int fbits, bool u, FPRounding rounding, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibFPToFixed (uint64_t op, int fbits, bool u, FPRounding rounding, FPSCR &fpscr) |
uint32_t | gem5::ArmISA::fplibFPToFixedJS (uint64_t op, FPSCR &fpscr, bool Is64, uint8_t &nz) |
Floating-point JS convert to a signed integer, with rounding to zero. | |
template<> | |
uint64_t | gem5::ArmISA::fplibFPToFixed (uint16_t op, int fbits, bool u, FPRounding rounding, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibFPToFixed (uint32_t op, int fbits, bool u, FPRounding rounding, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibFPToFixed (uint64_t op, int fbits, bool u, FPRounding rounding, FPSCR &fpscr) |
static uint16_t | gem5::ArmISA::fp16_cvtf (uint64_t a, int fbits, int u, int mode, int *flags) |
static uint32_t | gem5::ArmISA::fp32_cvtf (uint64_t a, int fbits, int u, int mode, int *flags) |
static uint64_t | gem5::ArmISA::fp64_cvtf (uint64_t a, int fbits, int u, int mode, int *flags) |
template<> | |
uint16_t | gem5::ArmISA::fplibFixedToFP (uint64_t op, int fbits, bool u, FPRounding rounding, FPSCR &fpscr) |
template<> | |
uint32_t | gem5::ArmISA::fplibFixedToFP (uint64_t op, int fbits, bool u, FPRounding rounding, FPSCR &fpscr) |
template<> | |
uint64_t | gem5::ArmISA::fplibFixedToFP (uint64_t op, int fbits, bool u, FPRounding rounding, FPSCR &fpscr) |
template<> | |
uint16_t | gem5::ArmISA::fplibInfinity (int sgn) |
template<> | |
uint32_t | gem5::ArmISA::fplibInfinity (int sgn) |
template<> | |
uint64_t | gem5::ArmISA::fplibInfinity (int sgn) |
template<> | |
uint16_t | gem5::ArmISA::fplibDefaultNaN () |
template<> | |
uint32_t | gem5::ArmISA::fplibDefaultNaN () |
template<> | |
uint64_t | gem5::ArmISA::fplibDefaultNaN () |
Variables | |
static const uint8_t | gem5::ArmISA::recip_sqrt_estimate [256] |
#define FP16_BITS 16 |
Definition at line 69 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_cvtf(), gem5::ArmISA::fp16_div(), gem5::ArmISA::fp16_mul(), gem5::ArmISA::fp16_muladd(), gem5::ArmISA::fp16_pack(), gem5::ArmISA::fp16_unpack(), gem5::ArmISA::fp32_FPConvertNaN_16(), gem5::ArmISA::fp64_FPConvertNaN_16(), gem5::ArmISA::fplibAbs(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibNeg(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRSqrtEstimate(), gem5::ArmISA::fplibTrigMulAdd(), gem5::ArmISA::fplibTrigSMul(), gem5::ArmISA::fplibTrigSSel(), and gem5::ArmISA::FPToFixed_16().
#define FP16_EXP | ( | x | ) | ((x) >> FP16_MANT_BITS & ((1ULL << FP16_EXP_BITS) - 1)) |
Definition at line 89 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_process_NaNs(), gem5::ArmISA::fp16_process_NaNs3(), and gem5::ArmISA::fp16_unpack().
#define FP16_EXP_BIAS 15 |
Definition at line 77 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_cvtf(), gem5::ArmISA::fp16_div(), gem5::ArmISA::fp16_FPOnePointFive(), gem5::ArmISA::fp16_FPThree(), gem5::ArmISA::fp16_FPTwo(), gem5::ArmISA::fp16_mul(), gem5::ArmISA::fp16_muladd(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibFPToFixed(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRSqrtEstimate(), and gem5::ArmISA::fplibTrigSSel().
#define FP16_EXP_BITS 5 |
Definition at line 73 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_add(), gem5::ArmISA::fp16_div(), gem5::ArmISA::fp16_mul(), gem5::ArmISA::fp16_muladd(), gem5::ArmISA::fp16_round_(), gem5::ArmISA::fp16_scale(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibExpA(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRoundInt(), and gem5::ArmISA::fplibRSqrtEstimate().
#define FP16_EXP_INF ((1ULL << FP16_EXP_BITS) - 1) |
Definition at line 81 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_add(), gem5::ArmISA::fp16_defaultNaN(), gem5::ArmISA::fp16_div(), gem5::ArmISA::fp16_FPConvertNaN_32(), gem5::ArmISA::fp16_FPConvertNaN_64(), gem5::ArmISA::fp16_infinity(), gem5::ArmISA::fp16_is_infinity(), gem5::ArmISA::fp16_is_NaN(), gem5::ArmISA::fp16_is_quiet_NaN(), gem5::ArmISA::fp16_max_normal(), gem5::ArmISA::fp16_mul(), gem5::ArmISA::fp16_muladd(), gem5::ArmISA::fp16_round_(), gem5::ArmISA::fp16_scale(), gem5::ArmISA::fp16_sqrt(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibFPToFixed(), gem5::ArmISA::fplibMulX(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRecipStepFused(), gem5::ArmISA::fplibRecpX(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRSqrtEstimate(), and gem5::ArmISA::fplibRSqrtStepFused().
#define FP16_MANT | ( | x | ) | ((x) & ((1ULL << FP16_MANT_BITS) - 1)) |
Definition at line 93 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_is_infinity(), gem5::ArmISA::fp16_is_NaN(), gem5::ArmISA::fp16_pack(), gem5::ArmISA::fp16_process_NaNs(), gem5::ArmISA::fp16_process_NaNs3(), and gem5::ArmISA::fp16_unpack().
#define FP16_MANT_BITS (FP16_BITS - FP16_EXP_BITS - 1) |
Definition at line 85 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_defaultNaN(), gem5::ArmISA::fp16_div(), gem5::ArmISA::fp16_FPConvertNaN_32(), gem5::ArmISA::fp16_FPConvertNaN_64(), gem5::ArmISA::fp16_FPOnePointFive(), gem5::ArmISA::fp16_FPThree(), gem5::ArmISA::fp16_is_quiet_NaN(), gem5::ArmISA::fp16_is_signalling_NaN(), gem5::ArmISA::fp16_minmaxnum(), gem5::ArmISA::fp16_muladd(), gem5::ArmISA::fp16_pack(), gem5::ArmISA::fp16_process_NaN(), gem5::ArmISA::fp16_repack(), gem5::ArmISA::fp16_round_(), gem5::ArmISA::fp16_unpack(), gem5::ArmISA::fp32_FPConvertNaN_16(), gem5::ArmISA::fp64_FPConvertNaN_16(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibExpA(), gem5::ArmISA::fplibFPToFixed(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRSqrtEstimate(), and gem5::ArmISA::fplibTrigSSel().
#define FP32_BITS 32 |
Definition at line 70 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_FPConvertNaN_32(), gem5::ArmISA::fp32_cvtf(), gem5::ArmISA::fp32_div(), gem5::ArmISA::fp32_mul(), gem5::ArmISA::fp32_muladd(), gem5::ArmISA::fp32_pack(), gem5::ArmISA::fp32_unpack(), gem5::ArmISA::fp64_FPConvertNaN_32(), gem5::ArmISA::fplibAbs(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibFPToFixedJS(), gem5::ArmISA::fplibNeg(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRSqrtEstimate(), gem5::ArmISA::fplibTrigMulAdd(), gem5::ArmISA::fplibTrigSMul(), gem5::ArmISA::fplibTrigSSel(), and gem5::ArmISA::FPToFixed_32().
#define FP32_EXP | ( | x | ) | ((x) >> FP32_MANT_BITS & ((1ULL << FP32_EXP_BITS) - 1)) |
Definition at line 90 of file fplib.cc.
Referenced by gem5::ArmISA::fp32_process_NaNs(), gem5::ArmISA::fp32_process_NaNs3(), and gem5::ArmISA::fp32_unpack().
#define FP32_EXP_BIAS 127 |
Definition at line 78 of file fplib.cc.
Referenced by gem5::ArmISA::fp32_cvtf(), gem5::ArmISA::fp32_div(), gem5::ArmISA::fp32_FPOnePointFive(), gem5::ArmISA::fp32_FPThree(), gem5::ArmISA::fp32_FPTwo(), gem5::ArmISA::fp32_mul(), gem5::ArmISA::fp32_muladd(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibFPToFixed(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRSqrtEstimate(), and gem5::ArmISA::fplibTrigSSel().
#define FP32_EXP_BITS 8 |
Definition at line 74 of file fplib.cc.
Referenced by gem5::ArmISA::fp32_add(), gem5::ArmISA::fp32_div(), gem5::ArmISA::fp32_mul(), gem5::ArmISA::fp32_muladd(), gem5::ArmISA::fp32_round_(), gem5::ArmISA::fp32_scale(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibExpA(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRoundInt(), and gem5::ArmISA::fplibRSqrtEstimate().
#define FP32_EXP_INF ((1ULL << FP32_EXP_BITS) - 1) |
Definition at line 82 of file fplib.cc.
Referenced by gem5::ArmISA::fp32_add(), gem5::ArmISA::fp32_defaultNaN(), gem5::ArmISA::fp32_div(), gem5::ArmISA::fp32_FPConvertNaN_16(), gem5::ArmISA::fp32_FPConvertNaN_64(), gem5::ArmISA::fp32_infinity(), gem5::ArmISA::fp32_is_infinity(), gem5::ArmISA::fp32_is_NaN(), gem5::ArmISA::fp32_is_quiet_NaN(), gem5::ArmISA::fp32_max_normal(), gem5::ArmISA::fp32_mul(), gem5::ArmISA::fp32_muladd(), gem5::ArmISA::fp32_round_(), gem5::ArmISA::fp32_scale(), gem5::ArmISA::fp32_sqrt(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibMulX(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRecipStepFused(), gem5::ArmISA::fplibRecpX(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRSqrtEstimate(), and gem5::ArmISA::fplibRSqrtStepFused().
#define FP32_MANT | ( | x | ) | ((x) & ((1ULL << FP32_MANT_BITS) - 1)) |
Definition at line 94 of file fplib.cc.
Referenced by gem5::ArmISA::fp32_is_infinity(), gem5::ArmISA::fp32_is_NaN(), gem5::ArmISA::fp32_pack(), gem5::ArmISA::fp32_process_NaNs(), gem5::ArmISA::fp32_process_NaNs3(), and gem5::ArmISA::fp32_unpack().
#define FP32_MANT_BITS (FP32_BITS - FP32_EXP_BITS - 1) |
Definition at line 86 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_FPConvertNaN_32(), gem5::ArmISA::fp32_defaultNaN(), gem5::ArmISA::fp32_div(), gem5::ArmISA::fp32_FPConvertNaN_16(), gem5::ArmISA::fp32_FPConvertNaN_64(), gem5::ArmISA::fp32_FPOnePointFive(), gem5::ArmISA::fp32_FPThree(), gem5::ArmISA::fp32_is_quiet_NaN(), gem5::ArmISA::fp32_is_signalling_NaN(), gem5::ArmISA::fp32_minmaxnum(), gem5::ArmISA::fp32_muladd(), gem5::ArmISA::fp32_pack(), gem5::ArmISA::fp32_process_NaN(), gem5::ArmISA::fp32_repack(), gem5::ArmISA::fp32_round_(), gem5::ArmISA::fp32_unpack(), gem5::ArmISA::fp64_FPConvertNaN_32(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibExpA(), gem5::ArmISA::fplibFPToFixed(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRSqrtEstimate(), and gem5::ArmISA::fplibTrigSSel().
#define FP64_BITS 64 |
Definition at line 71 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_cvtf(), gem5::ArmISA::fp16_FPConvertNaN_64(), gem5::ArmISA::fp32_cvtf(), gem5::ArmISA::fp32_FPConvertNaN_64(), gem5::ArmISA::fp64_cvtf(), gem5::ArmISA::fp64_pack(), gem5::ArmISA::fp64_unpack(), gem5::ArmISA::fplibAbs(), gem5::ArmISA::fplibFPToFixedJS(), gem5::ArmISA::fplibNeg(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRSqrtEstimate(), gem5::ArmISA::fplibTrigMulAdd(), gem5::ArmISA::fplibTrigSMul(), gem5::ArmISA::fplibTrigSSel(), and gem5::ArmISA::FPToFixed_64().
#define FP64_EXP | ( | x | ) | ((x) >> FP64_MANT_BITS & ((1ULL << FP64_EXP_BITS) - 1)) |
Definition at line 91 of file fplib.cc.
Referenced by gem5::ArmISA::fp64_process_NaNs(), gem5::ArmISA::fp64_process_NaNs3(), and gem5::ArmISA::fp64_unpack().
#define FP64_EXP_BIAS 1023 |
Definition at line 79 of file fplib.cc.
Referenced by gem5::ArmISA::fp64_cvtf(), gem5::ArmISA::fp64_div(), gem5::ArmISA::fp64_FPOnePointFive(), gem5::ArmISA::fp64_FPThree(), gem5::ArmISA::fp64_FPTwo(), gem5::ArmISA::fp64_mul(), gem5::ArmISA::fp64_muladd(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibFPToFixed(), gem5::ArmISA::fplibFPToFixed(), gem5::ArmISA::fplibFPToFixedJS(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRSqrtEstimate(), gem5::ArmISA::fplibTrigSSel(), and gem5::ArmISA::FPToFixed_64().
#define FP64_EXP_BITS 11 |
Definition at line 75 of file fplib.cc.
Referenced by gem5::ArmISA::fp64_add(), gem5::ArmISA::fp64_mul(), gem5::ArmISA::fp64_muladd(), gem5::ArmISA::fp64_round_(), gem5::ArmISA::fp64_scale(), gem5::ArmISA::fplibExpA(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRSqrtEstimate(), and gem5::ArmISA::FPToFixed_64().
#define FP64_EXP_INF ((1ULL << FP64_EXP_BITS) - 1) |
Definition at line 83 of file fplib.cc.
Referenced by gem5::ArmISA::fp64_add(), gem5::ArmISA::fp64_defaultNaN(), gem5::ArmISA::fp64_div(), gem5::ArmISA::fp64_FPConvertNaN_16(), gem5::ArmISA::fp64_FPConvertNaN_32(), gem5::ArmISA::fp64_infinity(), gem5::ArmISA::fp64_is_infinity(), gem5::ArmISA::fp64_is_NaN(), gem5::ArmISA::fp64_is_quiet_NaN(), gem5::ArmISA::fp64_max_normal(), gem5::ArmISA::fp64_mul(), gem5::ArmISA::fp64_muladd(), gem5::ArmISA::fp64_round_(), gem5::ArmISA::fp64_scale(), gem5::ArmISA::fp64_sqrt(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibMulX(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRecipStepFused(), gem5::ArmISA::fplibRecpX(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRSqrtEstimate(), and gem5::ArmISA::fplibRSqrtStepFused().
#define FP64_MANT | ( | x | ) | ((x) & ((1ULL << FP64_MANT_BITS) - 1)) |
Definition at line 95 of file fplib.cc.
Referenced by gem5::ArmISA::fp64_is_infinity(), gem5::ArmISA::fp64_is_NaN(), gem5::ArmISA::fp64_pack(), gem5::ArmISA::fp64_process_NaNs(), gem5::ArmISA::fp64_process_NaNs3(), and gem5::ArmISA::fp64_unpack().
#define FP64_MANT_BITS (FP64_BITS - FP64_EXP_BITS - 1) |
Definition at line 87 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_FPConvertNaN_64(), gem5::ArmISA::fp32_FPConvertNaN_64(), gem5::ArmISA::fp64_defaultNaN(), gem5::ArmISA::fp64_FPConvertNaN_16(), gem5::ArmISA::fp64_FPConvertNaN_32(), gem5::ArmISA::fp64_FPOnePointFive(), gem5::ArmISA::fp64_FPThree(), gem5::ArmISA::fp64_is_quiet_NaN(), gem5::ArmISA::fp64_is_signalling_NaN(), gem5::ArmISA::fp64_minmaxnum(), gem5::ArmISA::fp64_pack(), gem5::ArmISA::fp64_process_NaN(), gem5::ArmISA::fp64_repack(), gem5::ArmISA::fp64_round_(), gem5::ArmISA::fp64_unpack(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibExpA(), gem5::ArmISA::fplibFPToFixed(), gem5::ArmISA::fplibFPToFixed(), gem5::ArmISA::fplibFPToFixedJS(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRSqrtEstimate(), and gem5::ArmISA::fplibTrigSSel().
#define FPLIB_AHP 16 |
Definition at line 59 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_round_().
#define FPLIB_DN 8 |
Definition at line 58 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_process_NaN(), gem5::ArmISA::fp32_process_NaN(), and gem5::ArmISA::fp64_process_NaN().
#define FPLIB_DZC 2 |
Definition at line 66 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_div(), gem5::ArmISA::fp32_div(), gem5::ArmISA::fp64_div(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRSqrtEstimate(), gem5::ArmISA::fplibRSqrtEstimate(), gem5::ArmISA::fplibRSqrtEstimate(), gem5::ArmISA::set_fpscr(), and gem5::ArmISA::set_fpscr0().
#define FPLIB_FZ 4 |
Definition at line 57 of file fplib.cc.
Referenced by gem5::ArmISA::fp32_round_(), gem5::ArmISA::fp32_unpack(), gem5::ArmISA::fp64_round_(), and gem5::ArmISA::fp64_unpack().
#define FPLIB_FZ16 32 |
Definition at line 60 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_round_(), gem5::ArmISA::fp16_unpack(), and gem5::ArmISA::modeConv().
#define FPLIB_IDC 128 |
Definition at line 62 of file fplib.cc.
Referenced by gem5::ArmISA::fp32_unpack(), gem5::ArmISA::fp64_unpack(), gem5::ArmISA::fplibFPToFixedJS(), gem5::ArmISA::set_fpscr(), and gem5::ArmISA::set_fpscr0().
#define FPLIB_IOC 1 |
Definition at line 67 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_add(), gem5::ArmISA::fp16_compare_eq(), gem5::ArmISA::fp16_compare_ge(), gem5::ArmISA::fp16_compare_gt(), gem5::ArmISA::fp16_compare_un(), gem5::ArmISA::fp16_div(), gem5::ArmISA::fp16_mul(), gem5::ArmISA::fp16_muladd(), gem5::ArmISA::fp16_process_NaN(), gem5::ArmISA::fp16_round_(), gem5::ArmISA::fp16_sqrt(), gem5::ArmISA::fp32_add(), gem5::ArmISA::fp32_compare_eq(), gem5::ArmISA::fp32_compare_ge(), gem5::ArmISA::fp32_compare_gt(), gem5::ArmISA::fp32_compare_un(), gem5::ArmISA::fp32_div(), gem5::ArmISA::fp32_mul(), gem5::ArmISA::fp32_muladd(), gem5::ArmISA::fp32_process_NaN(), gem5::ArmISA::fp32_sqrt(), gem5::ArmISA::fp64_add(), gem5::ArmISA::fp64_compare_eq(), gem5::ArmISA::fp64_compare_ge(), gem5::ArmISA::fp64_compare_gt(), gem5::ArmISA::fp64_compare_un(), gem5::ArmISA::fp64_div(), gem5::ArmISA::fp64_mul(), gem5::ArmISA::fp64_muladd(), gem5::ArmISA::fp64_process_NaN(), gem5::ArmISA::fp64_sqrt(), gem5::ArmISA::fplibCompare(), gem5::ArmISA::fplibCompare(), gem5::ArmISA::fplibCompare(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibConvert(), gem5::ArmISA::fplibFPToFixed(), gem5::ArmISA::fplibFPToFixed(), gem5::ArmISA::fplibFPToFixed(), gem5::ArmISA::fplibFPToFixedJS(), gem5::ArmISA::fplibRSqrtEstimate(), gem5::ArmISA::fplibRSqrtEstimate(), gem5::ArmISA::fplibRSqrtEstimate(), gem5::ArmISA::FPToFixed_16(), gem5::ArmISA::FPToFixed_32(), gem5::ArmISA::FPToFixed_64(), gem5::ArmISA::set_fpscr(), and gem5::ArmISA::set_fpscr0().
#define FPLIB_IXC 16 |
Definition at line 63 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_round_(), gem5::ArmISA::fp32_round_(), gem5::ArmISA::fp64_round_(), gem5::ArmISA::fplibFPToFixedJS(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::fplibRoundInt(), gem5::ArmISA::FPToFixed_64(), gem5::ArmISA::set_fpscr(), and gem5::ArmISA::set_fpscr0().
#define FPLIB_OFC 4 |
Definition at line 65 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_round_(), gem5::ArmISA::fp32_round_(), gem5::ArmISA::fp64_round_(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::set_fpscr(), and gem5::ArmISA::set_fpscr0().
#define FPLIB_RM 2 |
Definition at line 55 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_round_(), gem5::ArmISA::fp32_round_(), and gem5::ArmISA::fp64_round_().
#define FPLIB_RN 0 |
Definition at line 53 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_round_(), gem5::ArmISA::fp32_round_(), and gem5::ArmISA::fp64_round_().
#define FPLIB_RP 1 |
Definition at line 54 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_round_(), gem5::ArmISA::fp32_round_(), and gem5::ArmISA::fp64_round_().
#define FPLIB_UFC 8 |
Definition at line 64 of file fplib.cc.
Referenced by gem5::ArmISA::fp16_round_(), gem5::ArmISA::fp32_round_(), gem5::ArmISA::fp64_round_(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::fplibRecipEstimate(), gem5::ArmISA::set_fpscr(), and gem5::ArmISA::set_fpscr0().