diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2014-03-21 21:27:29 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2014-03-21 21:27:29 +0000 |
commit | b7f5fb36f13aa27b1cd6198af58d11dc674d1b2c (patch) | |
tree | 0f366e5734d87ba880a6e0700e88f30c11d2f6fb /newlib/libc/stdlib/gd_qnan.h | |
parent | e669b401f702dbcae29b46524091b5c1eb2e7abf (diff) | |
download | cygnal-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.h | 20 |
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 |