summaryrefslogtreecommitdiffstats
path: root/fpu/softfloat-specialize.inc.c
diff options
context:
space:
mode:
authorLIU Zhiwei2020-07-13 22:04:08 +0200
committerAlex Bennée2020-07-15 12:52:43 +0200
commit8cdf91243f7515f424b78d5469d64c34ee534783 (patch)
tree620e0ae5dad05c197965222b116ef197761dd689 /fpu/softfloat-specialize.inc.c
parentgitlab-ci/containers: Add missing wildcard where we should look for changes (diff)
downloadqemu-8cdf91243f7515f424b78d5469d64c34ee534783.tar.gz
qemu-8cdf91243f7515f424b78d5469d64c34ee534783.tar.xz
qemu-8cdf91243f7515f424b78d5469d64c34ee534783.zip
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>
Diffstat (limited to 'fpu/softfloat-specialize.inc.c')
-rw-r--r--fpu/softfloat-specialize.inc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fpu/softfloat-specialize.inc.c b/fpu/softfloat-specialize.inc.c
index 44f5b661f8..034d18199c 100644
--- a/fpu/softfloat-specialize.inc.c
+++ b/fpu/softfloat-specialize.inc.c
@@ -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);
}