summaryrefslogtreecommitdiff
path: root/lib/libc/arch/mips/softfloat/softfloat.h
diff options
context:
space:
mode:
authormatt <matt@NetBSD.org>2011-01-17 23:53:03 +0000
committermatt <matt@NetBSD.org>2011-01-17 23:53:03 +0000
commitd26e1c4c5a8a18a2b56a405ba6c319bc2986dcf9 (patch)
treed2454326ae1d841e12d02dd2f3a6a9ba9397f116 /lib/libc/arch/mips/softfloat/softfloat.h
parentb5448aabc53b01e4b9f6bc56a3c474c4262904a0 (diff)
Make the MIPS N32/N64 ABIs properly support 128-bit long doubles. With this
change, we should be fully conformant with the N32 and N64 ABIs. Add {fpclassify,infinity,isnan,ininf,signbit}l_ieee754.c back to lib/libc/gen. Note that infinityl_ieee754.c will work with either 64-bit, 80-bit, or 128-bit long doubles.
Diffstat (limited to 'lib/libc/arch/mips/softfloat/softfloat.h')
-rw-r--r--lib/libc/arch/mips/softfloat/softfloat.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/libc/arch/mips/softfloat/softfloat.h b/lib/libc/arch/mips/softfloat/softfloat.h
index 3142d63b25e..ab2ae0569b1 100644
--- a/lib/libc/arch/mips/softfloat/softfloat.h
+++ b/lib/libc/arch/mips/softfloat/softfloat.h
@@ -1,4 +1,4 @@
-/* $NetBSD: softfloat.h,v 1.2 2009/12/14 01:07:42 matt Exp $ */
+/* $NetBSD: softfloat.h,v 1.3 2011/01/17 23:53:04 matt Exp $ */
/* This is a derivative work. */
@@ -42,7 +42,9 @@ the `FLOAT128' macro and the quadruple-precision format `float128'.
-------------------------------------------------------------------------------
*/
/* #define FLOATX80 */
-/* #define FLOAT128 */
+#if defined(__mips_n32) || defined(__mips_n64)
+#define FLOAT128
+#endif
#include <machine/ieeefp.h>
@@ -133,10 +135,10 @@ float64 int64_to_float64( long long );
#ifdef FLOATX80
floatx80 int64_to_floatx80( long long );
#endif
+#endif
#ifdef FLOAT128
float128 int64_to_float128( long long );
#endif
-#endif
/*
-------------------------------------------------------------------------------
@@ -315,6 +317,7 @@ int float128_eq_signaling( float128, float128 );
int float128_le_quiet( float128, float128 );
int float128_lt_quiet( float128, float128 );
int float128_is_signaling_nan( float128 );
+flag float128_is_nan( float128 );
#endif