diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2011-04-20 13:04:22 +0200 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2011-04-25 11:18:32 +0200 |
commit | e9b7859b745097c9de1d182120847d8ebc7bbb53 (patch) | |
tree | edc5bdebfc1875c1f0aa23ec5f426888702a74f6 /fpu | |
parent | 5f83b74d8be96f70e1e13d628fa95d587ed7e3b6 (diff) | |
download | qemu-e9b7859b745097c9de1d182120847d8ebc7bbb53.tar.gz qemu-e9b7859b745097c9de1d182120847d8ebc7bbb53.tar.bz2 qemu-e9b7859b745097c9de1d182120847d8ebc7bbb53.zip |
softfloat: add floatx80 constants
Add floatx80 constants similarly to float32 or float64.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'fpu')
-rw-r--r-- | fpu/softfloat.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fpu/softfloat.h b/fpu/softfloat.h index 336312839a..90e0c41210 100644 --- a/fpu/softfloat.h +++ b/fpu/softfloat.h @@ -154,6 +154,7 @@ typedef struct { uint64_t low; uint16_t high; } floatx80; +#define make_floatx80(exp, mant) ((floatx80) { mant, exp }) #endif #ifdef FLOAT128 typedef struct { @@ -584,6 +585,12 @@ INLINE int floatx80_is_any_nan(floatx80 a) return ((a.high & 0x7fff) == 0x7fff) && (a.low<<1); } +#define floatx80_zero make_floatx80(0x0000, 0x0000000000000000LL) +#define floatx80_one make_floatx80(0x3fff, 0x8000000000000000LL) +#define floatx80_ln2 make_floatx80(0x3ffe, 0xb17217f7d1cf79acLL) +#define floatx80_half make_floatx80(0x3ffe, 0x8000000000000000LL) +#define floatx80_infinity make_floatx80(0x7fff, 0x8000000000000000LL) + /*---------------------------------------------------------------------------- | The pattern for a default generated extended double-precision NaN. The | `high' and `low' values hold the most- and least-significant bits, |