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)

Reply via email to