[Midnightbsd-cvs] src [10562] U trunk/lib/libc/softfloat/softfloat-specialize: sync

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Thu Jun 7 21:05:02 EDT 2018


Revision: 10562
          http://svnweb.midnightbsd.org/src/?rev=10562
Author:   laffer1
Date:     2018-06-07 21:05:01 -0400 (Thu, 07 Jun 2018)
Log Message:
-----------
sync

Modified Paths:
--------------
    trunk/lib/libc/softfloat/Makefile.inc
    trunk/lib/libc/softfloat/README.NetBSD
    trunk/lib/libc/softfloat/README.txt
    trunk/lib/libc/softfloat/Symbol.map
    trunk/lib/libc/softfloat/bits32/softfloat-macros
    trunk/lib/libc/softfloat/bits32/softfloat.c
    trunk/lib/libc/softfloat/bits64/softfloat-macros
    trunk/lib/libc/softfloat/bits64/softfloat.c
    trunk/lib/libc/softfloat/eqdf2.c
    trunk/lib/libc/softfloat/eqsf2.c
    trunk/lib/libc/softfloat/fpgetmask.c
    trunk/lib/libc/softfloat/fpgetround.c
    trunk/lib/libc/softfloat/fpgetsticky.c
    trunk/lib/libc/softfloat/fpsetmask.c
    trunk/lib/libc/softfloat/fpsetround.c
    trunk/lib/libc/softfloat/fpsetsticky.c
    trunk/lib/libc/softfloat/gedf2.c
    trunk/lib/libc/softfloat/gesf2.c
    trunk/lib/libc/softfloat/gtdf2.c
    trunk/lib/libc/softfloat/gtsf2.c
    trunk/lib/libc/softfloat/ledf2.c
    trunk/lib/libc/softfloat/lesf2.c
    trunk/lib/libc/softfloat/ltdf2.c
    trunk/lib/libc/softfloat/ltsf2.c
    trunk/lib/libc/softfloat/nedf2.c
    trunk/lib/libc/softfloat/negdf2.c
    trunk/lib/libc/softfloat/negsf2.c
    trunk/lib/libc/softfloat/nesf2.c
    trunk/lib/libc/softfloat/softfloat-for-gcc.h
    trunk/lib/libc/softfloat/softfloat-history.txt
    trunk/lib/libc/softfloat/softfloat-specialize

Property Changed:
----------------
    trunk/lib/libc/softfloat/Makefile.inc
    trunk/lib/libc/softfloat/README.NetBSD
    trunk/lib/libc/softfloat/README.txt
    trunk/lib/libc/softfloat/Symbol.map
    trunk/lib/libc/softfloat/bits32/softfloat-macros
    trunk/lib/libc/softfloat/bits64/softfloat-macros
    trunk/lib/libc/softfloat/softfloat-history.txt
    trunk/lib/libc/softfloat/softfloat-specialize

Modified: trunk/lib/libc/softfloat/Makefile.inc
===================================================================
--- trunk/lib/libc/softfloat/Makefile.inc	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/Makefile.inc	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,11 +1,12 @@
-#	$NetBSD: Makefile.inc,v 1.3 2003/05/06 08:58:20 rearnsha Exp $
-# $FreeBSD: src/lib/libc/softfloat/Makefile.inc,v 1.3 2006/03/13 01:14:59 deischen Exp $
+#	$NetBSD: Makefile.inc,v 1.10 2011/07/04 02:53:15 mrg Exp $
+# $FreeBSD: stable/10/lib/libc/softfloat/Makefile.inc 230363 2012-01-20 06:16:14Z das $
+# $MidnightBSD$
 
 SOFTFLOAT_BITS?=64
-.PATH:		${MACHINE_ARCH}/softfloat \
+.PATH:		${LIBC_ARCH}/softfloat \
 		${.CURDIR}/softfloat/bits${SOFTFLOAT_BITS} ${.CURDIR}/softfloat
 
-CFLAGS+=	-I${.CURDIR}/${MACHINE_ARCH}/softfloat -I${.CURDIR}/softfloat
+CFLAGS+=	-I${.CURDIR}/${LIBC_ARCH}/softfloat -I${.CURDIR}/softfloat
 CFLAGS+=	-DSOFTFLOAT_FOR_GCC
 
 SRCS+=		softfloat.c
@@ -17,4 +18,14 @@
 		eqdf2.c nedf2.c gtdf2.c gedf2.c ltdf2.c ledf2.c negdf2.c \
 		unordsf2.c unorddf2.c
 
+.if defined(SOFTFLOAT_128)
+CFLAGS+=	-DFLOAT128
+SRCS+=		eqtf2.c netf2.c gttf2.c getf2.c lttf2.c letf2.c negtf2.c
+.endif
+
+.if defined(SOFTFLOAT_X80)
+CFLAGS+=	-DFLOATX80
+SRCS+=		nexf2.c gtxf2.c gexf2.c negxf2.c
+.endif
+
 SYM_MAPS+=	${.CURDIR}/softfloat/Symbol.map


Property changes on: trunk/lib/libc/softfloat/Makefile.inc
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/lib/libc/softfloat/README.NetBSD
===================================================================
--- trunk/lib/libc/softfloat/README.NetBSD	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/README.NetBSD	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,5 +1,5 @@
 $NetBSD: README.NetBSD,v 1.2 2002/05/21 23:51:05 bjh21 Exp $
-$FreeBSD: src/lib/libc/softfloat/README.NetBSD,v 1.1 2004/05/14 12:13:04 cognet Exp $
+$FreeBSD: stable/10/lib/libc/softfloat/README.NetBSD 129203 2004-05-14 12:13:06Z cognet $
 
 This is a modified version of part of John Hauser's SoftFloat 2a package.
 This version has been heavily modified to support its use with GCC to


Property changes on: trunk/lib/libc/softfloat/README.NetBSD
___________________________________________________________________
Added: mnbsd:nokeywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/lib/libc/softfloat/README.txt
===================================================================
--- trunk/lib/libc/softfloat/README.txt	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/README.txt	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,5 +1,5 @@
 $NetBSD: README.txt,v 1.1 2000/06/06 08:15:02 bjh21 Exp $
-$FreeBSD: src/lib/libc/softfloat/README.txt,v 1.1 2004/05/14 12:13:04 cognet Exp $
+$FreeBSD: stable/10/lib/libc/softfloat/README.txt 129203 2004-05-14 12:13:06Z cognet $
 
 Package Overview for SoftFloat Release 2a
 


Property changes on: trunk/lib/libc/softfloat/README.txt
___________________________________________________________________
Added: mnbsd:nokeywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/lib/libc/softfloat/Symbol.map
===================================================================
--- trunk/lib/libc/softfloat/Symbol.map	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/Symbol.map	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,5 +1,5 @@
-/*
- * $FreeBSD: src/lib/libc/softfloat/Symbol.map,v 1.2 2007/04/29 14:05:18 deischen Exp $
+/* $MidnightBSD$
+ * $FreeBSD: stable/10/lib/libc/softfloat/Symbol.map 230190 2012-01-16 04:06:56Z das $
  */
 
 FBSD_1.0 {
@@ -18,16 +18,10 @@
 };
 
 FBSDprivate_1.0 {
-	_softfloat_float_exception_flags;
-	_softfloat_float_exception_mask;
-	_softfloat_float_rounding_mode;
-	_softfloat_float_raise;
-	_softfloat_float32_eq;
-	_softfloat_float32_le;
-	_softfloat_float32_lt;
-	_softfloat_float64_eq;
-	_softfloat_float64_le;
-	_softfloat_float64_lt;
+	__softfloat_float_exception_flags;
+	__softfloat_float_exception_mask;
+	__softfloat_float_rounding_mode;
+	__softfloat_float_raise;
 	__eqdf2;
 	__eqsf2;
 	__gedf2;


Property changes on: trunk/lib/libc/softfloat/Symbol.map
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/lib/libc/softfloat/bits32/softfloat-macros
===================================================================
--- trunk/lib/libc/softfloat/bits32/softfloat-macros	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/bits32/softfloat-macros	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libc/softfloat/bits32/softfloat-macros,v 1.1 2004/05/14 12:13:05 cognet Exp $ */
+/* $FreeBSD: stable/10/lib/libc/softfloat/bits32/softfloat-macros 230363 2012-01-20 06:16:14Z das $ */
 
 /*
 ===============================================================================
@@ -312,7 +312,7 @@
     carry0 = ( z1 < a1 );
     z0 = a0 + b0;
     z1 += carry1;
-    z0 += ( z1 < carry1 );
+    z0 += ( z1 < (bits32)carry1 );
     z0 += carry0;
     *z2Ptr = z2;
     *z1Ptr = z1;
@@ -369,7 +369,7 @@
     z1 = a1 - b1;
     borrow0 = ( a1 < b1 );
     z0 = a0 - b0;
-    z0 -= ( z1 < borrow1 );
+    z0 -= ( z1 < (bits32)borrow1 );
     z1 -= borrow1;
     z0 -= borrow0;
     *z2Ptr = z2;


Property changes on: trunk/lib/libc/softfloat/bits32/softfloat-macros
___________________________________________________________________
Added: mnbsd:nokeywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/lib/libc/softfloat/bits32/softfloat.c
===================================================================
--- trunk/lib/libc/softfloat/bits32/softfloat.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/bits32/softfloat.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: softfloat.c,v 1.1 2002/05/21 23:51:07 bjh21 Exp $ */
 
 /*
@@ -52,7 +53,7 @@
 */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/bits32/softfloat.c,v 1.2 2004/12/08 18:41:42 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/bits32/softfloat.c 230189 2012-01-16 04:05:53Z das $");
 
 #ifdef SOFTFLOAT_FOR_GCC
 #include "softfloat-for-gcc.h"
@@ -77,8 +78,8 @@
 Floating-point rounding mode and exception flags.
 -------------------------------------------------------------------------------
 */
-fp_rnd_t float_rounding_mode = float_round_nearest_even;
-fp_except float_exception_flags = 0;
+int float_rounding_mode = float_round_nearest_even;
+int float_exception_flags = 0;
 
 /*
 -------------------------------------------------------------------------------

Modified: trunk/lib/libc/softfloat/bits64/softfloat-macros
===================================================================
--- trunk/lib/libc/softfloat/bits64/softfloat-macros	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/bits64/softfloat-macros	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,5 +1,5 @@
-/* $NetBSD: softfloat-macros,v 1.1 2002/05/21 23:51:08 bjh21 Exp $ */
-/* $FreeBSD: src/lib/libc/softfloat/bits64/softfloat-macros,v 1.1 2004/05/14 12:13:05 cognet Exp $ */
+/* $NetBSD: softfloat-macros,v 1.2 2009/02/16 10:23:35 tron Exp $ */
+/* $FreeBSD: stable/10/lib/libc/softfloat/bits64/softfloat-macros 230363 2012-01-20 06:16:14Z das $ */
 
 /*
 ===============================================================================
@@ -387,7 +387,7 @@
     carry0 = ( z1 < a1 );
     z0 = a0 + b0;
     z1 += carry1;
-    z0 += ( z1 < carry1 );
+    z0 += ( z1 < (bits64)carry1 );
     z0 += carry0;
     *z2Ptr = z2;
     *z1Ptr = z1;
@@ -444,7 +444,7 @@
     z1 = a1 - b1;
     borrow0 = ( a1 < b1 );
     z0 = a0 - b0;
-    z0 -= ( z1 < borrow1 );
+    z0 -= ( z1 < (bits64)borrow1 );
     z1 -= borrow1;
     z0 -= borrow0;
     *z2Ptr = z2;


Property changes on: trunk/lib/libc/softfloat/bits64/softfloat-macros
___________________________________________________________________
Added: mnbsd:nokeywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/lib/libc/softfloat/bits64/softfloat.c
===================================================================
--- trunk/lib/libc/softfloat/bits64/softfloat.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/bits64/softfloat.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,4 +1,5 @@
-/* $NetBSD: softfloat.c,v 1.2 2003/07/26 19:24:52 salo Exp $ */
+/* $MidnightBSD$ */
+/* $NetBSD: softfloat.c,v 1.8 2011/07/10 04:52:23 matt Exp $ */
 
 /*
  * This version hacked for use with gcc -msoft-float by bjh21.
@@ -45,7 +46,7 @@
 */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/bits64/softfloat.c,v 1.1 2004/05/14 12:13:05 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/bits64/softfloat.c 230380 2012-01-20 14:44:21Z das $");
 
 #ifdef SOFTFLOAT_FOR_GCC
 #include "softfloat-for-gcc.h"
@@ -71,8 +72,8 @@
 and exception flags.
 -------------------------------------------------------------------------------
 */
-fp_rnd_t float_rounding_mode = float_round_nearest_even;
-fp_except float_exception_flags = 0;
+int float_rounding_mode = float_round_nearest_even;
+int float_exception_flags = 0;
 #ifdef FLOATX80
 int8 floatx80_rounding_precision = 80;
 #endif
@@ -1126,6 +1127,17 @@
 
 }
 
+#ifndef SOFTFLOAT_FOR_GCC /* __floatunsisf is in libgcc */
+float32 uint32_to_float32( uint32 a )
+{
+    if ( a == 0 ) return 0;
+    if ( a & (bits32) 0x80000000 )
+	return normalizeRoundAndPackFloat32( 0, 0x9D, a >> 1 );
+    return normalizeRoundAndPackFloat32( 0, 0x9C, a );
+}
+#endif
+
+
 /*
 -------------------------------------------------------------------------------
 Returns the result of converting the 32-bit two's complement integer `a'
@@ -1149,6 +1161,19 @@
 
 }
 
+#ifndef SOFTFLOAT_FOR_GCC /* __floatunsidf is in libgcc */
+float64 uint32_to_float64( uint32 a )
+{
+    int8 shiftCount;
+    bits64 zSig = a;
+
+    if ( a == 0 ) return 0;
+    shiftCount = countLeadingZeros32( a ) + 21;
+    return packFloat64( 0, 0x432 - shiftCount, zSig<<shiftCount );
+
+}
+#endif
+
 #ifdef FLOATX80
 
 /*
@@ -1175,6 +1200,17 @@
 
 }
 
+floatx80 uint32_to_floatx80( uint32 a )
+{
+    int8 shiftCount;
+    bits64 zSig = a;
+
+    if ( a == 0 ) return packFloatx80( 0, 0, 0 );
+    shiftCount = countLeadingZeros32( a ) + 32;
+    return packFloatx80( 0, 0x403E - shiftCount, zSig<<shiftCount );
+
+}
+
 #endif
 
 #ifdef FLOAT128
@@ -1202,6 +1238,17 @@
 
 }
 
+float128 uint32_to_float128( uint32 a )
+{
+    int8 shiftCount;
+    bits64 zSig0 = a;
+
+    if ( a == 0 ) return packFloat128( 0, 0, 0, 0 );
+    shiftCount = countLeadingZeros32( a ) + 17;
+    return packFloat128( 0, 0x402E - shiftCount, zSig0<<shiftCount, 0 );
+
+}
+
 #endif
 
 #ifndef SOFTFLOAT_FOR_GCC /* __floatdi?f is in libgcc2.c */
@@ -4438,7 +4485,60 @@
 
 }
 
+#if (defined(SOFTFLOATSPARC64_FOR_GCC) || defined(SOFTFLOAT_FOR_GCC)) \
+    && defined(SOFTFLOAT_NEED_FIXUNS)
 /*
+ * just like above - but do not care for overflow of signed results
+ */
+uint64 float128_to_uint64_round_to_zero( float128 a )
+{
+    flag aSign;
+    int32 aExp, shiftCount;
+    bits64 aSig0, aSig1;
+    uint64 z;
+
+    aSig1 = extractFloat128Frac1( a );
+    aSig0 = extractFloat128Frac0( a );
+    aExp = extractFloat128Exp( a );
+    aSign = extractFloat128Sign( a );
+    if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
+    shiftCount = aExp - 0x402F;
+    if ( 0 < shiftCount ) {
+        if ( 0x403F <= aExp ) {
+            aSig0 &= LIT64( 0x0000FFFFFFFFFFFF );
+            if (    ( a.high == LIT64( 0xC03E000000000000 ) )
+                 && ( aSig1 < LIT64( 0x0002000000000000 ) ) ) {
+                if ( aSig1 ) float_exception_flags |= float_flag_inexact;
+            }
+            else {
+                float_raise( float_flag_invalid );
+            }
+            return LIT64( 0xFFFFFFFFFFFFFFFF );
+        }
+        z = ( aSig0<<shiftCount ) | ( aSig1>>( ( - shiftCount ) & 63 ) );
+        if ( (bits64) ( aSig1<<shiftCount ) ) {
+            float_exception_flags |= float_flag_inexact;
+        }
+    }
+    else {
+        if ( aExp < 0x3FFF ) {
+            if ( aExp | aSig0 | aSig1 ) {
+                float_exception_flags |= float_flag_inexact;
+            }
+            return 0;
+        }
+        z = aSig0>>( - shiftCount );
+        if (aSig1 || ( shiftCount && (bits64) ( aSig0<<( shiftCount & 63 ) ) ) ) {
+            float_exception_flags |= float_flag_inexact;
+        }
+    }
+    if ( aSign ) z = - z;
+    return z;
+
+}
+#endif /* (SOFTFLOATSPARC64_FOR_GCC || SOFTFLOAT_FOR_GCC) && SOFTFLOAT_NEED_FIXUNS */
+
+/*
 -------------------------------------------------------------------------------
 Returns the result of converting the quadruple-precision floating-point
 value `a' to the single-precision floating-point format.  The conversion
@@ -5110,7 +5210,7 @@
         sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 );
     } while ( 0 <= (sbits64) aSig0 );
     add128(
-        aSig0, aSig1, alternateASig0, alternateASig1, &sigMean0, &sigMean1 );
+        aSig0, aSig1, alternateASig0, alternateASig1, (bits64 *)&sigMean0, &sigMean1 );
     if (    ( sigMean0 < 0 )
          || ( ( ( sigMean0 | sigMean1 ) == 0 ) && ( q & 1 ) ) ) {
         aSig0 = alternateASig0;

Modified: trunk/lib/libc/softfloat/eqdf2.c
===================================================================
--- trunk/lib/libc/softfloat/eqdf2.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/eqdf2.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: eqdf2.c,v 1.1 2000/06/06 08:15:02 bjh21 Exp $ */
 
 /*
@@ -5,7 +6,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/eqdf2.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/eqdf2.c 129203 2004-05-14 12:13:06Z cognet $");
 
 #include "softfloat-for-gcc.h"
 #include "milieu.h"

Modified: trunk/lib/libc/softfloat/eqsf2.c
===================================================================
--- trunk/lib/libc/softfloat/eqsf2.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/eqsf2.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: eqsf2.c,v 1.1 2000/06/06 08:15:03 bjh21 Exp $ */
 
 /*
@@ -5,7 +6,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/eqsf2.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/eqsf2.c 129203 2004-05-14 12:13:06Z cognet $");
 
 #include "softfloat-for-gcc.h"
 #include "milieu.h"

Modified: trunk/lib/libc/softfloat/fpgetmask.c
===================================================================
--- trunk/lib/libc/softfloat/fpgetmask.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/fpgetmask.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,4 +1,5 @@
-/* $NetBSD: fpgetmask.c,v 1.3 2002/05/12 13:12:45 bjh21 Exp $ */
+/* $MidnightBSD$ */
+/* $NetBSD: fpgetmask.c,v 1.4 2008/04/28 20:23:00 martin Exp $ */
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -15,13 +16,6 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the NetBSD
- *	Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@@ -37,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/fpgetmask.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/fpgetmask.c 189647 2009-03-10 21:13:26Z delphij $");
 
 #include "namespace.h"
 

Modified: trunk/lib/libc/softfloat/fpgetround.c
===================================================================
--- trunk/lib/libc/softfloat/fpgetround.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/fpgetround.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,4 +1,5 @@
-/* $NetBSD: fpgetround.c,v 1.2 2002/01/13 21:45:53 thorpej Exp $ */
+/* $MidnightBSD$ */
+/* $NetBSD: fpgetround.c,v 1.3 2008/04/28 20:23:00 martin Exp $ */
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -15,13 +16,6 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the NetBSD
- *	Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@@ -37,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/fpgetround.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/fpgetround.c 189647 2009-03-10 21:13:26Z delphij $");
 
 #include "namespace.h"
 

Modified: trunk/lib/libc/softfloat/fpgetsticky.c
===================================================================
--- trunk/lib/libc/softfloat/fpgetsticky.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/fpgetsticky.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,4 +1,5 @@
-/* $NetBSD: fpgetsticky.c,v 1.2 2002/01/13 21:45:53 thorpej Exp $ */
+/* $MidnightBSD$ */
+/* $NetBSD: fpgetsticky.c,v 1.3 2008/04/28 20:23:00 martin Exp $ */
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -15,13 +16,6 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the NetBSD
- *	Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@@ -37,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/fpgetsticky.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/fpgetsticky.c 189647 2009-03-10 21:13:26Z delphij $");
 
 #include "namespace.h"
 

Modified: trunk/lib/libc/softfloat/fpsetmask.c
===================================================================
--- trunk/lib/libc/softfloat/fpsetmask.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/fpsetmask.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,4 +1,5 @@
-/* $NetBSD: fpsetmask.c,v 1.3 2002/05/12 13:12:45 bjh21 Exp $ */
+/* $MidnightBSD$ */
+/* $NetBSD: fpsetmask.c,v 1.4 2008/04/28 20:23:00 martin Exp $ */
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -15,13 +16,6 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the NetBSD
- *	Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@@ -37,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/fpsetmask.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/fpsetmask.c 189647 2009-03-10 21:13:26Z delphij $");
 
 #include "namespace.h"
 

Modified: trunk/lib/libc/softfloat/fpsetround.c
===================================================================
--- trunk/lib/libc/softfloat/fpsetround.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/fpsetround.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,4 +1,5 @@
-/* $NetBSD: fpsetround.c,v 1.2 2002/01/13 21:45:53 thorpej Exp $ */
+/* $MidnightBSD$ */
+/* $NetBSD: fpsetround.c,v 1.3 2008/04/28 20:23:00 martin Exp $ */
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -15,13 +16,6 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the NetBSD
- *	Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@@ -37,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/fpsetround.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/fpsetround.c 189647 2009-03-10 21:13:26Z delphij $");
 
 #include "namespace.h"
 

Modified: trunk/lib/libc/softfloat/fpsetsticky.c
===================================================================
--- trunk/lib/libc/softfloat/fpsetsticky.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/fpsetsticky.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,4 +1,5 @@
-/* $NetBSD: fpsetsticky.c,v 1.2 2002/01/13 21:45:54 thorpej Exp $ */
+/* $MidnightBSD$ */
+/* $NetBSD: fpsetsticky.c,v 1.3 2008/04/28 20:23:00 martin Exp $ */
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -15,13 +16,6 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the NetBSD
- *	Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@@ -37,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/fpsetsticky.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/fpsetsticky.c 189647 2009-03-10 21:13:26Z delphij $");
 
 #include "namespace.h"
 

Modified: trunk/lib/libc/softfloat/gedf2.c
===================================================================
--- trunk/lib/libc/softfloat/gedf2.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/gedf2.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: gedf2.c,v 1.1 2000/06/06 08:15:05 bjh21 Exp $ */
 
 /*
@@ -9,7 +10,7 @@
 #include "softfloat.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/gedf2.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/gedf2.c 129203 2004-05-14 12:13:06Z cognet $");
 
 flag __gedf2(float64, float64);
 

Modified: trunk/lib/libc/softfloat/gesf2.c
===================================================================
--- trunk/lib/libc/softfloat/gesf2.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/gesf2.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: gesf2.c,v 1.1 2000/06/06 08:15:05 bjh21 Exp $ */
 
 /*
@@ -9,7 +10,7 @@
 #include "softfloat.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/gesf2.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/gesf2.c 129203 2004-05-14 12:13:06Z cognet $");
 
 flag __gesf2(float32, float32);
 

Modified: trunk/lib/libc/softfloat/gtdf2.c
===================================================================
--- trunk/lib/libc/softfloat/gtdf2.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/gtdf2.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: gtdf2.c,v 1.1 2000/06/06 08:15:05 bjh21 Exp $ */
 
 /*
@@ -9,7 +10,7 @@
 #include "softfloat.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/gtdf2.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/gtdf2.c 129203 2004-05-14 12:13:06Z cognet $");
 
 flag __gtdf2(float64, float64);
 

Modified: trunk/lib/libc/softfloat/gtsf2.c
===================================================================
--- trunk/lib/libc/softfloat/gtsf2.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/gtsf2.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: gtsf2.c,v 1.1 2000/06/06 08:15:06 bjh21 Exp $ */
 
 /*
@@ -9,7 +10,7 @@
 #include "softfloat.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/gtsf2.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/gtsf2.c 129203 2004-05-14 12:13:06Z cognet $");
 
 flag __gtsf2(float32, float32);
 

Modified: trunk/lib/libc/softfloat/ledf2.c
===================================================================
--- trunk/lib/libc/softfloat/ledf2.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/ledf2.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: ledf2.c,v 1.1 2000/06/06 08:15:06 bjh21 Exp $ */
 
 /*
@@ -9,7 +10,7 @@
 #include "softfloat.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/ledf2.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/ledf2.c 129203 2004-05-14 12:13:06Z cognet $");
 
 flag __ledf2(float64, float64);
 

Modified: trunk/lib/libc/softfloat/lesf2.c
===================================================================
--- trunk/lib/libc/softfloat/lesf2.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/lesf2.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: lesf2.c,v 1.1 2000/06/06 08:15:06 bjh21 Exp $ */
 
 /*
@@ -9,7 +10,7 @@
 #include "softfloat.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/lesf2.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/lesf2.c 129203 2004-05-14 12:13:06Z cognet $");
 
 flag __lesf2(float32, float32);
 

Modified: trunk/lib/libc/softfloat/ltdf2.c
===================================================================
--- trunk/lib/libc/softfloat/ltdf2.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/ltdf2.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: ltdf2.c,v 1.1 2000/06/06 08:15:06 bjh21 Exp $ */
 
 /*
@@ -9,7 +10,7 @@
 #include "softfloat.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/ltdf2.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/ltdf2.c 129203 2004-05-14 12:13:06Z cognet $");
 
 flag __ltdf2(float64, float64);
 

Modified: trunk/lib/libc/softfloat/ltsf2.c
===================================================================
--- trunk/lib/libc/softfloat/ltsf2.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/ltsf2.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: ltsf2.c,v 1.1 2000/06/06 08:15:06 bjh21 Exp $ */
 
 /*
@@ -9,7 +10,7 @@
 #include "softfloat.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/ltsf2.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/ltsf2.c 129203 2004-05-14 12:13:06Z cognet $");
 
 flag __ltsf2(float32, float32);
 

Modified: trunk/lib/libc/softfloat/nedf2.c
===================================================================
--- trunk/lib/libc/softfloat/nedf2.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/nedf2.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: nedf2.c,v 1.1 2000/06/06 08:15:07 bjh21 Exp $ */
 
 /*
@@ -9,7 +10,7 @@
 #include "softfloat.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/nedf2.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/nedf2.c 129203 2004-05-14 12:13:06Z cognet $");
 
 flag __nedf2(float64, float64);
 

Modified: trunk/lib/libc/softfloat/negdf2.c
===================================================================
--- trunk/lib/libc/softfloat/negdf2.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/negdf2.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: negdf2.c,v 1.1 2000/06/06 08:15:07 bjh21 Exp $ */
 
 /*
@@ -9,7 +10,7 @@
 #include "softfloat.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/negdf2.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/negdf2.c 129203 2004-05-14 12:13:06Z cognet $");
 
 float64 __negdf2(float64);
 

Modified: trunk/lib/libc/softfloat/negsf2.c
===================================================================
--- trunk/lib/libc/softfloat/negsf2.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/negsf2.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: negsf2.c,v 1.1 2000/06/06 08:15:07 bjh21 Exp $ */
 
 /*
@@ -9,7 +10,7 @@
 #include "softfloat.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/negsf2.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/negsf2.c 129203 2004-05-14 12:13:06Z cognet $");
 
 float32 __negsf2(float32);
 

Modified: trunk/lib/libc/softfloat/nesf2.c
===================================================================
--- trunk/lib/libc/softfloat/nesf2.c	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/nesf2.c	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /* $NetBSD: nesf2.c,v 1.1 2000/06/06 08:15:07 bjh21 Exp $ */
 
 /*
@@ -9,7 +10,7 @@
 #include "softfloat.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/softfloat/nesf2.c,v 1.1 2004/05/14 12:13:04 cognet Exp $");
+__FBSDID("$FreeBSD: stable/10/lib/libc/softfloat/nesf2.c 129203 2004-05-14 12:13:06Z cognet $");
 
 flag __nesf2(float32, float32);
 

Modified: trunk/lib/libc/softfloat/softfloat-for-gcc.h
===================================================================
--- trunk/lib/libc/softfloat/softfloat-for-gcc.h	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/softfloat-for-gcc.h	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,21 +1,25 @@
-/* $NetBSD: softfloat-for-gcc.h,v 1.6 2003/07/26 19:24:51 salo Exp $ */
-/* $FreeBSD: src/lib/libc/softfloat/softfloat-for-gcc.h,v 1.1 2004/05/14 12:13:04 cognet Exp $ */
+/* $MidnightBSD$ */
+/* $NetBSD: softfloat-for-gcc.h,v 1.8 2009/12/14 01:07:42 matt Exp $ */
+/* $FreeBSD: stable/10/lib/libc/softfloat/softfloat-for-gcc.h 230363 2012-01-20 06:16:14Z das $ */
 
 /*
  * Move private identifiers with external linkage into implementation
  * namespace.  -- Klaus Klein <kleink at NetBSD.org>, May 5, 1999
  */
-#define float_exception_flags	_softfloat_float_exception_flags
-#define float_exception_mask	_softfloat_float_exception_mask
-#define float_rounding_mode	_softfloat_float_rounding_mode
-#define float_raise		_softfloat_float_raise
+#define float_exception_flags	__softfloat_float_exception_flags
+#define float_exception_mask	__softfloat_float_exception_mask
+#define float_rounding_mode	__softfloat_float_rounding_mode
+#define float_raise		__softfloat_float_raise
 /* The following batch are called by GCC through wrappers */
-#define float32_eq		_softfloat_float32_eq
-#define float32_le		_softfloat_float32_le
-#define float32_lt		_softfloat_float32_lt
-#define float64_eq		_softfloat_float64_eq
-#define float64_le		_softfloat_float64_le
-#define float64_lt		_softfloat_float64_lt
+#define float32_eq		__softfloat_float32_eq
+#define float32_le		__softfloat_float32_le
+#define float32_lt		__softfloat_float32_lt
+#define float64_eq		__softfloat_float64_eq
+#define float64_le		__softfloat_float64_le
+#define float64_lt		__softfloat_float64_lt
+#define float128_eq		__softfloat_float128_eq
+#define float128_le		__softfloat_float128_le
+#define float128_lt		__softfloat_float128_lt
 
 /*
  * Macros to define functions with the GCC expected names
@@ -23,21 +27,144 @@
 
 #define float32_add			__addsf3
 #define float64_add			__adddf3
+#define floatx80_add			__addxf3
+#define float128_add			__addtf3
+
 #define float32_sub			__subsf3
 #define float64_sub			__subdf3
+#define floatx80_sub			__subxf3
+#define float128_sub			__subtf3
+
 #define float32_mul			__mulsf3
 #define float64_mul			__muldf3
+#define floatx80_mul			__mulxf3
+#define float128_mul			__multf3
+
 #define float32_div			__divsf3
 #define float64_div			__divdf3
+#define floatx80_div			__divxf3
+#define float128_div			__divtf3
+
+#if 0
+#define float32_neg			__negsf2
+#define float64_neg			__negdf2
+#define floatx80_neg			__negxf2
+#define float128_neg			__negtf2
+#endif
+
 #define int32_to_float32		__floatsisf
 #define int32_to_float64		__floatsidf
+#define int32_to_floatx80		__floatsixf
+#define int32_to_float128		__floatsitf
+
 #define int64_to_float32		__floatdisf
 #define int64_to_float64		__floatdidf
+#define int64_to_floatx80		__floatdixf
+#define int64_to_float128		__floatditf
+
+#define int128_to_float32		__floattisf
+#define int128_to_float64		__floattidf
+#define int128_to_floatx80		__floattixf
+#define int128_to_float128		__floattitf
+
+#define uint32_to_float32		__floatunsisf
+#define uint32_to_float64		__floatunsidf
+#define uint32_to_floatx80		__floatunsixf
+#define uint32_to_float128		__floatunsitf
+
+#define uint64_to_float32		__floatundisf
+#define uint64_to_float64		__floatundidf
+#define uint64_to_floatx80		__floatundixf
+#define uint64_to_float128		__floatunditf
+
+#define uint128_to_float32		__floatuntisf
+#define uint128_to_float64		__floatuntidf
+#define uint128_to_floatx80		__floatuntixf
+#define uint128_to_float128		__floatuntitf
+
 #define float32_to_int32_round_to_zero	__fixsfsi
 #define float64_to_int32_round_to_zero	__fixdfsi
+#define floatx80_to_int32_round_to_zero __fixxfsi
+#define float128_to_int32_round_to_zero __fixtfsi
+
 #define float32_to_int64_round_to_zero	__fixsfdi
 #define float64_to_int64_round_to_zero	__fixdfdi
+#define floatx80_to_int64_round_to_zero	__fixxfdi
+#define float128_to_int64_round_to_zero	__fixtfdi
+
+#define float32_to_int128_round_to_zero __fixsfti
+#define float64_to_int128_round_to_zero __fixdfti
+#define floatx80_to_int128_round_to_zero __fixxfti
+#define float128_to_int128_round_to_zero __fixtfti
+
 #define float32_to_uint32_round_to_zero	__fixunssfsi
 #define float64_to_uint32_round_to_zero	__fixunsdfsi
+#define floatx80_to_uint32_round_to_zero	__fixunsxfsi
+#define float128_to_uint32_round_to_zero	__fixunstfsi
+
+#define float32_to_uint64_round_to_zero	__fixunssfdi
+#define float64_to_uint64_round_to_zero	__fixunsdfdi
+#define floatx80_to_uint64_round_to_zero	__fixunsxfdi
+#define float128_to_uint64_round_to_zero	__fixunstfdi
+
+#define float32_to_uint128_round_to_zero	__fixunssfti
+#define float64_to_uint128_round_to_zero	__fixunsdfti
+#define floatx80_to_uint128_round_to_zero	__fixunsxfti
+#define float128_to_uint128_round_to_zero	__fixunstfti
+
 #define float32_to_float64		__extendsfdf2
+#define float32_to_floatx80		__extendsfxf2
+#define float32_to_float128		__extendsftf2
+#define float64_to_floatx80		__extenddfxf2
+#define float64_to_float128		__extenddftf2
+
+#define float128_to_float64		__trunctfdf2
+#define floatx80_to_float64		__truncxfdf2
+#define float128_to_float32		__trunctfsf2
+#define floatx80_to_float32		__truncxfsf2
 #define float64_to_float32		__truncdfsf2
+
+#if 0
+#define float32_cmp			__cmpsf2
+#define float32_unord			__unordsf2
+#define float32_eq			__eqsf2
+#define float32_ne			__nesf2
+#define float32_ge			__gesf2
+#define float32_lt			__ltsf2
+#define float32_le			__lesf2
+#define float32_gt			__gtsf2
+#endif
+
+#if 0
+#define float64_cmp			__cmpdf2
+#define float64_unord			__unorddf2
+#define float64_eq			__eqdf2
+#define float64_ne			__nedf2
+#define float64_ge			__gedf2
+#define float64_lt			__ltdf2
+#define float64_le			__ledf2
+#define float64_gt			__gtdf2
+#endif
+
+/* XXX not in libgcc */
+#if 1
+#define floatx80_cmp			__cmpxf2
+#define floatx80_unord			__unordxf2
+#define floatx80_eq			__eqxf2
+#define floatx80_ne			__nexf2
+#define floatx80_ge			__gexf2
+#define floatx80_lt			__ltxf2
+#define floatx80_le			__lexf2
+#define floatx80_gt			__gtxf2
+#endif
+
+#if 0
+#define float128_cmp			__cmptf2
+#define float128_unord			__unordtf2
+#define float128_eq			__eqtf2
+#define float128_ne			__netf2
+#define float128_ge			__getf2
+#define float128_lt			__lttf2
+#define float128_le			__letf2
+#define float128_gt			__gttf2
+#endif

Modified: trunk/lib/libc/softfloat/softfloat-history.txt
===================================================================
--- trunk/lib/libc/softfloat/softfloat-history.txt	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/softfloat-history.txt	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,5 +1,5 @@
 $NetBSD: softfloat-history.txt,v 1.1 2000/06/06 08:15:08 bjh21 Exp $
-$FreeBSD: src/lib/libc/softfloat/softfloat-history.txt,v 1.1 2004/05/14 12:13:04 cognet Exp $
+$FreeBSD: stable/10/lib/libc/softfloat/softfloat-history.txt 129203 2004-05-14 12:13:06Z cognet $
 
 History of Major Changes to SoftFloat, up to Release 2a
 


Property changes on: trunk/lib/libc/softfloat/softfloat-history.txt
___________________________________________________________________
Added: mnbsd:nokeywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Modified: trunk/lib/libc/softfloat/softfloat-specialize
===================================================================
--- trunk/lib/libc/softfloat/softfloat-specialize	2018-06-08 01:02:20 UTC (rev 10561)
+++ trunk/lib/libc/softfloat/softfloat-specialize	2018-06-08 01:05:01 UTC (rev 10562)
@@ -1,5 +1,5 @@
-/*	$NetBSD: softfloat-specialize,v 1.3 2002/05/12 13:12:45 bjh21 Exp $	*/
-/* $FreeBSD: src/lib/libc/softfloat/softfloat-specialize,v 1.1 2004/05/14 12:13:04 cognet Exp $ */
+/*	$NetBSD: softfloat-specialize,v 1.6 2011/03/06 10:27:37 martin Exp $	*/
+/* $FreeBSD: stable/10/lib/libc/softfloat/softfloat-specialize 230363 2012-01-20 06:16:14Z das $ */
 
 /* This is a derivative work. */
 
@@ -34,6 +34,8 @@
 */
 
 #include <signal.h>
+#include <string.h>
+#include <unistd.h>
 
 /*
 -------------------------------------------------------------------------------
@@ -44,7 +46,11 @@
 #ifdef SOFTFLOAT_FOR_GCC
 static
 #endif
+#ifdef __sparc64__
+int8 float_detect_tininess = float_tininess_before_rounding;
+#else
 int8 float_detect_tininess = float_tininess_after_rounding;
+#endif
 
 /*
 -------------------------------------------------------------------------------
@@ -54,16 +60,39 @@
 should be simply `float_exception_flags |= flags;'.
 -------------------------------------------------------------------------------
 */
-fp_except float_exception_mask = 0;
-void float_raise( fp_except flags )
+#ifdef SOFTFLOAT_FOR_GCC
+#define float_exception_mask	__softfloat_float_exception_mask
+#endif
+int float_exception_mask = 0;
+void float_raise( int flags )
 {
 
     float_exception_flags |= flags;
 
     if ( flags & float_exception_mask ) {
+#if 0
+	siginfo_t info;
+	memset(&info, 0, sizeof info);
+	info.si_signo = SIGFPE;
+	info.si_pid = getpid();
+	info.si_uid = geteuid();
+	if (flags & float_flag_underflow)
+	    info.si_code = FPE_FLTUND;
+	else if (flags & float_flag_overflow)
+	    info.si_code = FPE_FLTOVF;
+	else if (flags & float_flag_divbyzero)
+	    info.si_code = FPE_FLTDIV;
+	else if (flags & float_flag_invalid)
+	    info.si_code = FPE_FLTINV;
+	else if (flags & float_flag_inexact)
+	    info.si_code = FPE_FLTRES;
+	sigqueueinfo(getpid(), &info);
+#else
 	raise( SIGFPE );
+#endif
     }
 }
+#undef float_exception_mask
 
 /*
 -------------------------------------------------------------------------------
@@ -104,7 +133,8 @@
 NaN; otherwise returns 0.
 -------------------------------------------------------------------------------
 */
-#if defined(SOFTFLOAT_FOR_GCC) && !defined(SOFTFLOATSPARC64_FOR_GCC)
+#if defined(SOFTFLOAT_FOR_GCC) && !defined(SOFTFLOATSPARC64_FOR_GCC) && \
+    !defined(SOFTFLOAT_M68K_FOR_GCC)
 static
 #endif
 flag float32_is_signaling_nan( float32 a )
@@ -203,7 +233,8 @@
 NaN; otherwise returns 0.
 -------------------------------------------------------------------------------
 */
-#if defined(SOFTFLOAT_FOR_GCC) && !defined(SOFTFLOATSPARC64_FOR_GCC)
+#if defined(SOFTFLOAT_FOR_GCC) && !defined(SOFTFLOATSPARC64_FOR_GCC) && \
+    !defined(SOFTFLOATM68K_FOR_GCC)
 static
 #endif
 flag float64_is_signaling_nan( float64 a )


Property changes on: trunk/lib/libc/softfloat/softfloat-specialize
___________________________________________________________________
Added: mnbsd:nokeywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property


More information about the Midnightbsd-cvs mailing list