softfloat: Add float16_is_normal

This float16 predicate was missing from the normal set.

Backports a03e924cf8a22888060fc0de4d91de053cd5cde4
This commit is contained in:
Stephen Long 2021-02-26 15:12:24 -05:00 committed by Lioncash
parent d97454eb63
commit 95a0837f2d

View file

@ -275,6 +275,11 @@ static inline bool float16_is_zero_or_denormal(float16 a)
return (float16_val(a) & 0x7c00) == 0;
}
static inline bool float16_is_normal(float16 a)
{
return (((float16_val(a) >> 10) + 1) & 0x1f) >= 2;
}
static inline float16 float16_abs(float16 a)
{
/* Note that abs does *not* handle NaN specially, nor does