+2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
+ Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/fp16.c (binary64): New.
+ (__gnu_d2h_internal): New.
+ (__gnu_d2h_ieee): New.
+ (__gnu_d2h_alternative): New.
+
2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
Matthew Wahab <matthew.wahab@arm.com>
23 /* significand. */
};
+static const struct format
+binary64 =
+{
+ 64, /* size. */
+ 1023, /* bias. */
+ 11, /* exponent. */
+ 52 /* significand. */
+};
+
static inline unsigned short
__gnu_float2h_internal (const struct format* fmt,
unsigned long long a, int ieee)
return __gnu_float2h_internal (&binary32, (unsigned long long) a, ieee);
}
+static inline unsigned short
+__gnu_d2h_internal (unsigned long long a, int ieee)
+{
+ return __gnu_float2h_internal (&binary64, a, ieee);
+}
+
unsigned int
__gnu_h2f_internal(unsigned short a, int ieee)
{
{
return __gnu_h2f_internal(a, 0);
}
+
+unsigned short
+__gnu_d2h_ieee (unsigned long long a)
+{
+ return __gnu_d2h_internal (a, 1);
+}
+
+unsigned short
+__gnu_d2h_alternative (unsigned long long x)
+{
+ return __gnu_d2h_internal (x, 0);
+}