qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

cpu-float.h (1062B)


      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 
      8 typedef union {
      9     float32 f;
     10     uint32_t l;
     11 } CPU_FloatU;
     12 
     13 typedef 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 
     29 typedef union {
     30      floatx80 d;
     31      struct {
     32          uint64_t lower;
     33          uint16_t upper;
     34      } l;
     35 } CPU_LDoubleU;
     36 
     37 typedef 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 */