]> git.proxmox.com Git - mirror_qemu.git/blame - include/qemu/cpu-float.h
Merge tag 'misc-fixes-20231113' of https://github.com/philmd/qemu into staging
[mirror_qemu.git] / include / qemu / cpu-float.h
CommitLineData
9c092804
MA
1#ifndef QEMU_CPU_FLOAT_H
2#define QEMU_CPU_FLOAT_H
69242e7e
MAL
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
9c092804 64#endif /* QEMU_CPU_FLOAT_H */