https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67624
Bug ID: 67624
Summary: arm/fp16.c __gnu_f2h_internal has wrong pattern for
INF/NAN
Product: gcc
Version: 4.9.1
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: libgcc
Assignee: unassigned at gcc dot gnu.org
Reporter: pekka.jaaskelainen at parmance dot com
Target Milestone: ---
I believe the f2h conversion routine uses wrong mask for INF/NAN in the early
shortcut. It seems to be the case also in the gcc HEAD.
This should fix it:
--- arm/fp16.c 2015-09-18 15:53:51.069011932 +0300
+++ fp16.c 2015-09-18 15:50:50.653013393 +0300
@@ -35,7 +35,7 @@
{
if (!ieee)
return sign;
- return sign | 0x7e00 | (mantissa >> 13);
+ return sign | 0x7c00 | (mantissa >> 13);
}
if (aexp == 0 && mantissa == 0)