cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

float_helpers.h (897B)


      1/*
      2 * Common Float Helpers
      3 *
      4 * Copyright (c) 2019 Linaro
      5 *
      6 * SPDX-License-Identifier: GPL-3.0-or-later
      7 */
      8
      9#include <inttypes.h>
     10
     11/* Some hosts do not have support for all of these; not required by ISO C. */
     12#ifndef FE_OVERFLOW
     13#define FE_OVERFLOW 0
     14#endif
     15#ifndef FE_UNDERFLOW
     16#define FE_UNDERFLOW 0
     17#endif
     18#ifndef FE_DIVBYZERO
     19#define FE_DIVBYZERO 0
     20#endif
     21#ifndef FE_INEXACT
     22#define FE_INEXACT 0
     23#endif
     24#ifndef FE_INVALID
     25#define FE_INVALID 0
     26#endif
     27
     28/* Number of constants in each table */
     29int get_num_f16(void);
     30int get_num_f32(void);
     31int get_num_f64(void);
     32
     33/* Accessor helpers, overflows will automatically wrap */
     34uint16_t get_f16(int i); /* use _Float16 when we can */
     35float    get_f32(int i);
     36double   get_f64(int i);
     37
     38/* Return format strings, free after use */
     39char * fmt_f16(uint16_t);
     40char * fmt_f32(float);
     41char * fmt_f64(double);
     42/* exception flags */
     43char * fmt_flags(void);