summaryrefslogtreecommitdiffstats
path: root/newlib/libc/stdlib/gd_qnan.h
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2014-03-21 21:27:29 +0000
committerJeff Johnston <jjohnstn@redhat.com>2014-03-21 21:27:29 +0000
commitb7f5fb36f13aa27b1cd6198af58d11dc674d1b2c (patch)
tree0f366e5734d87ba880a6e0700e88f30c11d2f6fb /newlib/libc/stdlib/gd_qnan.h
parente669b401f702dbcae29b46524091b5c1eb2e7abf (diff)
downloadcygnal-b7f5fb36f13aa27b1cd6198af58d11dc674d1b2c.tar.gz
cygnal-b7f5fb36f13aa27b1cd6198af58d11dc674d1b2c.tar.bz2
cygnal-b7f5fb36f13aa27b1cd6198af58d11dc674d1b2c.zip
2014-03-21 Maciej W. Rozycki <macro@codesourcery.com>
* libc/stdlib/gd_qnan.h (f_QNAN, d_QNAN0, d_QNAN1): Add MIPS versions. (ld_QNAN0, ld_QNAN1, ld_QNAN2, ld_QNAN3): Don't define for MIPS. (ldus_QNAN0, ldus_QNAN1, ldus_QNAN2, ldus_QNAN3, ldus_QNAN4): Likewise. * libc/stdlib/ldtoa.c (nan113, nan64, nan53, nan24): Add MIPS versions. (enan): Handle legacy MIPS payloads. * libm/common/s_nan.c (nan): Use __builtin_nan if supported by the compiler. * libm/common/sf_nan.c (nanf): Likewise.
Diffstat (limited to 'newlib/libc/stdlib/gd_qnan.h')
-rw-r--r--newlib/libc/stdlib/gd_qnan.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/newlib/libc/stdlib/gd_qnan.h b/newlib/libc/stdlib/gd_qnan.h
index 68f16cd12..b775f82d4 100644
--- a/newlib/libc/stdlib/gd_qnan.h
+++ b/newlib/libc/stdlib/gd_qnan.h
@@ -1,5 +1,6 @@
#ifdef __IEEE_BIG_ENDIAN
+#if !defined(__mips)
#define f_QNAN 0x7fc00000
#define d_QNAN0 0x7ff80000
#define d_QNAN1 0x0
@@ -12,9 +13,19 @@
#define ldus_QNAN2 0x0
#define ldus_QNAN3 0x0
#define ldus_QNAN4 0x0
+#elif defined(__mips_nan2008)
+#define f_QNAN 0x7fc00000
+#define d_QNAN0 0x7ff80000
+#define d_QNAN1 0x0
+#else
+#define f_QNAN 0x7fbfffff
+#define d_QNAN0 0x7ff7ffff
+#define d_QNAN1 0xffffffff
+#endif
#elif defined(__IEEE_LITTLE_ENDIAN)
+#if !defined(__mips)
#define f_QNAN 0xffc00000
#define d_QNAN0 0x0
#define d_QNAN1 0xfff80000
@@ -27,6 +38,15 @@
#define ldus_QNAN2 0x0
#define ldus_QNAN3 0xc000
#define ldus_QNAN4 0xffff
+#elif defined(__mips_nan2008)
+#define f_QNAN 0x7fc00000
+#define d_QNAN0 0x0
+#define d_QNAN1 0x7ff80000
+#else
+#define f_QNAN 0x7fbfffff
+#define d_QNAN0 0xffffffff
+#define d_QNAN1 0x7ff7ffff
+#endif
#else
#error IEEE endian not defined