softfloat: add float128_is_{normal,denormal}
authorDavid Hildenbrand <david@redhat.com>
Wed, 6 Feb 2019 09:10:43 +0000 (10:10 +0100)
committerAlex Bennée <alex.bennee@linaro.org>
Tue, 26 Feb 2019 14:05:19 +0000 (14:05 +0000)
commit47393181604d507f4fe2a15a65b1eede0f974d6a
tree77090084212fce6a4f0b8aca8897000e331317c5
parent3acf04f8998142a16b91b433d6088a0b25fbcd6e
softfloat: add float128_is_{normal,denormal}

Needed on s390x, to test for the data class of a number. So it will
gain soon a user.

A number is considered normal if the exponent is neither 0 nor all 1's.
That can be checked by adding 1 to the exponent, and comparing against
>= 2 after dropping an eventual overflow into the sign bit.

While at it, convert the other floatXX_is_normal functions to use a
similar, less error prone calculation, as suggested by Richard H.

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
include/fpu/softfloat.h