fpu/softfloat: fix up float16 nan recognition
Signed-off-by: LIU Zhiwei <zhiwei_liu@c-sky.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20200712234521.3972-2-zhiwei_liu@c-sky.com> Message-Id: <20200713200415.26214-5-alex.bennee@linaro.org>
This commit is contained in:
parent
6f60a240f6
commit
8cdf91243f
@ -254,7 +254,7 @@ bool float16_is_quiet_nan(float16 a_, float_status *status)
|
||||
if (snan_bit_is_one(status)) {
|
||||
return (((a >> 9) & 0x3F) == 0x3E) && (a & 0x1FF);
|
||||
} else {
|
||||
return ((a & ~0x8000) >= 0x7C80);
|
||||
return ((a >> 9) & 0x3F) == 0x3F;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@ -271,7 +271,7 @@ bool float16_is_signaling_nan(float16 a_, float_status *status)
|
||||
#else
|
||||
uint16_t a = float16_val(a_);
|
||||
if (snan_bit_is_one(status)) {
|
||||
return ((a & ~0x8000) >= 0x7C80);
|
||||
return ((a >> 9) & 0x3F) == 0x3F;
|
||||
} else {
|
||||
return (((a >> 9) & 0x3F) == 0x3E) && (a & 0x1FF);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user