qemu/include/qemu/cpu-float.h
<<
>>
Prefs
   1#ifndef QEMU_CPU_FLOAT_H
   2#define QEMU_CPU_FLOAT_H
   3
   4#include "fpu/softfloat-types.h"
   5
   6/* Unions for reinterpreting between floats and integers.  */
   7
   8typedef union {
   9    float32 f;
  10    uint32_t l;
  11} CPU_FloatU;
  12
  13typedef union {
  14    float64 d;
  15#if HOST_BIG_ENDIAN
  16    struct {
  17        uint32_t upper;
  18        uint32_t lower;
  19    } l;
  20#else
  21    struct {
  22        uint32_t lower;
  23        uint32_t upper;
  24    } l;
  25#endif
  26    uint64_t ll;
  27} CPU_DoubleU;
  28
  29typedef union {
  30     floatx80 d;
  31     struct {
  32         uint64_t lower;
  33         uint16_t upper;
  34     } l;
  35} CPU_LDoubleU;
  36
  37typedef union {
  38    float128 q;
  39#if HOST_BIG_ENDIAN
  40    struct {
  41        uint32_t upmost;
  42        uint32_t upper;
  43        uint32_t lower;
  44        uint32_t lowest;
  45    } l;
  46    struct {
  47        uint64_t upper;
  48        uint64_t lower;
  49    } ll;
  50#else
  51    struct {
  52        uint32_t lowest;
  53        uint32_t lower;
  54        uint32_t upper;
  55        uint32_t upmost;
  56    } l;
  57    struct {
  58        uint64_t lower;
  59        uint64_t upper;
  60    } ll;
  61#endif
  62} CPU_QuadU;
  63
  64#endif /* QEMU_CPU_FLOAT_H */
  65