[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v1] softfloat: add float128_is_{normal, denormal}
From: |
David Hildenbrand |
Subject: |
[Qemu-devel] [PATCH v1] softfloat: add float128_is_{normal, denormal} |
Date: |
Tue, 5 Feb 2019 17:22:53 +0100 |
Needed on s390x, to test for the data class of a number. So it will
gain soon a user.
Signed-off-by: David Hildenbrand <address@hidden>
---
include/fpu/softfloat.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/include/fpu/softfloat.h b/include/fpu/softfloat.h
index 38a5e99cf3..10c31557b4 100644
--- a/include/fpu/softfloat.h
+++ b/include/fpu/softfloat.h
@@ -940,6 +940,16 @@ static inline int float128_is_zero_or_denormal(float128 a)
return (a.high & 0x7fff000000000000LL) == 0;
}
+static inline bool float128_is_normal(float128 a)
+{
+ return ((a.high + (1ULL << 47)) & -1ULL >> 1) >= 1ULL << 48;
+}
+
+static inline bool float128_is_denormal(float128 a)
+{
+ return float128_is_zero_or_denormal(a) && !float128_is_zero(a);
+}
+
static inline int float128_is_any_nan(float128 a)
{
return ((a.high >> 48) & 0x7fff) == 0x7fff &&
--
2.17.2
- [Qemu-devel] [PATCH v1] softfloat: add float128_is_{normal, denormal},
David Hildenbrand <=