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)