CVS commit: src/lib/libc/arch/m68k/hardfloat

2013-07-19 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Jul 19 22:32:04 UTC 2013

Modified Files:
src/lib/libc/arch/m68k/hardfloat: floatunsisf.S

Log Message:
Don't use the fs* variants, just use the f* ones.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/libc/arch/m68k/hardfloat/floatunsisf.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/m68k/hardfloat/floatunsisf.S
diff -u src/lib/libc/arch/m68k/hardfloat/floatunsisf.S:1.1 src/lib/libc/arch/m68k/hardfloat/floatunsisf.S:1.2
--- src/lib/libc/arch/m68k/hardfloat/floatunsisf.S:1.1	Thu Jul 18 21:25:11 2013
+++ src/lib/libc/arch/m68k/hardfloat/floatunsisf.S	Fri Jul 19 22:32:04 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: floatunsisf.S,v 1.1 2013/07/18 21:25:11 matt Exp $	*/
+/*	$NetBSD: floatunsisf.S,v 1.2 2013/07/19 22:32:04 matt Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 #include machine/asm.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
-RCSID($NetBSD: floatunsisf.S,v 1.1 2013/07/18 21:25:11 matt Exp $)
+RCSID($NetBSD: floatunsisf.S,v 1.2 2013/07/19 22:32:04 matt Exp $)
 #endif /* LIBC_SCCS and not lint */
 
 #ifdef __mcoldfire__
@@ -45,19 +45,19 @@ L2G:	.double 0r2147483648.0
 ENTRY(__floatunsisf)
 	movl	4(%sp),%d0
 	jpl	1f
-	fsmovel	%d0,%fp0
+	fmovel	%d0,%fp0
 #ifndef __SVR4_ABI__
 	fmoves	%fp0,%d0
 #endif
 	rts
 1:
 	bclr	#31,%d0
-	fsmovel	%d0,%fp0
+	fmovel	%d0,%fp0
 #ifdef __mcoldfire__
 	LEA_LCL(L2G,%a0)
-	fsaddd	(%a0),%fp0
+	faddd	(%a0),%fp0
 #else
-	fsaddd	#0r2147483648.0,%fp0
+	faddd	#0r2147483648.0,%fp0
 #endif
 #ifndef __SVR4_ABI__
 	fmoves	%fp0,%d0



CVS commit: src/lib/libc/arch/m68k/hardfloat

2013-07-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Thu Jul 18 12:05:30 UTC 2013

Added Files:
src/lib/libc/arch/m68k/hardfloat: ledf2.S lesf2.S ltdf2.S ltsf2.S
nedf2.S nesf2.S unorddf2.S unordsf2.S

Log Message:
Add more softfloat compatible functions


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/lib/libc/arch/m68k/hardfloat/ledf2.S \
src/lib/libc/arch/m68k/hardfloat/lesf2.S \
src/lib/libc/arch/m68k/hardfloat/ltdf2.S \
src/lib/libc/arch/m68k/hardfloat/ltsf2.S \
src/lib/libc/arch/m68k/hardfloat/nedf2.S \
src/lib/libc/arch/m68k/hardfloat/nesf2.S \
src/lib/libc/arch/m68k/hardfloat/unorddf2.S \
src/lib/libc/arch/m68k/hardfloat/unordsf2.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/lib/libc/arch/m68k/hardfloat/ledf2.S
diff -u /dev/null src/lib/libc/arch/m68k/hardfloat/ledf2.S:1.1
--- /dev/null	Thu Jul 18 12:05:30 2013
+++ src/lib/libc/arch/m68k/hardfloat/ledf2.S	Thu Jul 18 12:05:30 2013
@@ -0,0 +1,55 @@
+/*	$NetBSD: ledf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $	*/
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * the Systems Programming Group of the University of Utah Computer
+ * Science Department.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 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. Neither the name of the University 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 REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include machine/asm.h
+
+#if defined(LIBC_SCCS)  !defined(lint)
+RCSID($NetBSD: ledf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $)
+#endif /* LIBC_SCCS and not lint */
+
+STRONG_ALIAS(__gtdf2,__ledf2)
+
+/* libgcc1.c says a  b */
+/* libgcc1.c says 1 - (a = b) */
+ENTRY(__ledf2)
+	fmoved	4(%sp),%fp0
+	fcmpd	12(%sp),%fp0
+	fbgt	Lbgt
+	movql	#1,%d0
+	rts
+Lbgt:
+	clrl	%d0
+	rts
+END(__ledf2)
Index: src/lib/libc/arch/m68k/hardfloat/lesf2.S
diff -u /dev/null src/lib/libc/arch/m68k/hardfloat/lesf2.S:1.1
--- /dev/null	Thu Jul 18 12:05:30 2013
+++ src/lib/libc/arch/m68k/hardfloat/lesf2.S	Thu Jul 18 12:05:30 2013
@@ -0,0 +1,55 @@
+/*	$NetBSD: lesf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $	*/
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * the Systems Programming Group of the University of Utah Computer
+ * Science Department.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 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. Neither the name of the University 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 REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES 

CVS commit: src/lib/libc/arch/m68k/hardfloat

2013-07-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Thu Jul 18 21:25:11 UTC 2013

Added Files:
src/lib/libc/arch/m68k/hardfloat: fixunssfsi.S floatunsidf.S
floatunsisf.S

Log Message:
Add for softfloat compatibility


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/lib/libc/arch/m68k/hardfloat/fixunssfsi.S \
src/lib/libc/arch/m68k/hardfloat/floatunsidf.S \
src/lib/libc/arch/m68k/hardfloat/floatunsisf.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/lib/libc/arch/m68k/hardfloat/fixunssfsi.S
diff -u /dev/null src/lib/libc/arch/m68k/hardfloat/fixunssfsi.S:1.1
--- /dev/null	Thu Jul 18 21:25:11 2013
+++ src/lib/libc/arch/m68k/hardfloat/fixunssfsi.S	Thu Jul 18 21:25:11 2013
@@ -0,0 +1,75 @@
+/*	$NetBSD: fixunssfsi.S,v 1.1 2013/07/18 21:25:11 matt Exp $	*/
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * the Systems Programming Group of the University of Utah Computer
+ * Science Department.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 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. Neither the name of the University 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 REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include machine/asm.h
+
+#if defined(LIBC_SCCS)  !defined(lint)
+#if 0
+	RCSID(from: @(#)fixunssfsi.s	5.1 (Berkeley) 6/7/90)
+#else
+	RCSID($NetBSD: fixunssfsi.S,v 1.1 2013/07/18 21:25:11 matt Exp $)
+#endif
+#endif /* LIBC_SCCS and not lint */
+
+#ifdef __mcoldfire__
+	.section .rodata,a
+	.p2align 4
+L2G:	.double 0r2147483648.0
+#endif
+
+/* single - unsigned */
+ENTRY(__fixunssfsi)
+	fintrzs	4(%sp),%fp0
+#ifdef __mcoldfire__
+	LEA_LCL(L2G,%a0)
+	fmoved	(%a0),%fp1
+	fcmpd	%fp1,%fp0
+#else
+	fmoved	#0r2147483648.0,%fp1
+	fcmpx	%fp1,%fp0
+#endif
+	fbge	Lwaybig
+	fmovel	%fp0,%d0
+	rts
+Lwaybig:
+#ifdef __mcoldfire__
+	fsubd	%fp1,%fp0
+#else
+	fsubx	%fp1,%fp0
+#endif
+	fmovel	%fp0,%d0
+	bset	#31,%d0
+	rts
+END(__fixunssfsi)
Index: src/lib/libc/arch/m68k/hardfloat/floatunsidf.S
diff -u /dev/null src/lib/libc/arch/m68k/hardfloat/floatunsidf.S:1.1
--- /dev/null	Thu Jul 18 21:25:11 2013
+++ src/lib/libc/arch/m68k/hardfloat/floatunsidf.S	Thu Jul 18 21:25:11 2013
@@ -0,0 +1,70 @@
+/*	$NetBSD: floatunsidf.S,v 1.1 2013/07/18 21:25:11 matt Exp $	*/
+
+/*-
+ * Copyright (c) 2013 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Matt Thomas of 3am Software Foundry.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 

CVS commit: src/lib/libc/arch/m68k/hardfloat

2013-07-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Thu Jul 18 21:29:31 UTC 2013

Added Files:
src/lib/libc/arch/m68k/hardfloat: Makefile.inc

Log Message:
Add the Makefile


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/lib/libc/arch/m68k/hardfloat/Makefile.inc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/lib/libc/arch/m68k/hardfloat/Makefile.inc
diff -u /dev/null src/lib/libc/arch/m68k/hardfloat/Makefile.inc:1.1
--- /dev/null	Thu Jul 18 21:29:31 2013
+++ src/lib/libc/arch/m68k/hardfloat/Makefile.inc	Thu Jul 18 21:29:31 2013
@@ -0,0 +1,16 @@
+#	$NetBSD: Makefile.inc,v 1.1 2013/07/18 21:29:31 matt Exp $
+
+SRCS+=	modf.S
+SRCS+=	flt_rounds.c fpgetmask.c fpgetround.c fpgetsticky.c fpsetmask.c \
+	fpsetround.c fpsetsticky.c
+#
+# These allow softfloat programs to use the FPU.
+#
+SRCS+=	adddf3.S addsf3.S cmpdf2.S cmpsf2.S divdf3.S divsf3.S \
+	extendsfdf2.S fixdfsi.S fixunsdfsi.S fixunssfsi.S floatsidf.S \
+	muldf3.S mulsf3.S subdf3.S subsf3.S truncdfsf2.S
+
+SRCS+=	floatunsidf.S floatunsisf.S
+
+SRCS+=	lesf2.S ltsf2.S nesf2.S unordsf2.S
+SRCS+=	ledf2.S ltdf2.S nedf2.S unorddf2.S



CVS commit: src/lib/libc/arch/m68k/hardfloat

2013-07-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Thu Jul 18 21:29:08 UTC 2013

Modified Files:
src/lib/libc/arch/m68k/hardfloat: cmpdf2.S cmpsf2.S fixunsdfsi.S modf.S

Log Message:
Update to compile on coldfire.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/libc/arch/m68k/hardfloat/cmpdf2.S \
src/lib/libc/arch/m68k/hardfloat/cmpsf2.S \
src/lib/libc/arch/m68k/hardfloat/fixunsdfsi.S \
src/lib/libc/arch/m68k/hardfloat/modf.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/m68k/hardfloat/cmpdf2.S
diff -u src/lib/libc/arch/m68k/hardfloat/cmpdf2.S:1.1 src/lib/libc/arch/m68k/hardfloat/cmpdf2.S:1.2
--- src/lib/libc/arch/m68k/hardfloat/cmpdf2.S:1.1	Wed Jul 17 06:39:06 2013
+++ src/lib/libc/arch/m68k/hardfloat/cmpdf2.S	Thu Jul 18 21:29:08 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: cmpdf2.S,v 1.1 2013/07/17 06:39:06 matt Exp $	*/
+/*	$NetBSD: cmpdf2.S,v 1.2 2013/07/18 21:29:08 matt Exp $	*/
 
 /*-
  * Copyright (c) 1990 The Regents of the University of California.
@@ -39,7 +39,7 @@
 #if 0
 	RCSID(from: @(#)cmpdf2.s	5.1 (Berkeley) 6/7/90)
 #else
-	RCSID($NetBSD: cmpdf2.S,v 1.1 2013/07/17 06:39:06 matt Exp $)
+	RCSID($NetBSD: cmpdf2.S,v 1.2 2013/07/18 21:29:08 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -49,11 +49,21 @@
 ENTRY(__cmpdf2)
 	fmoved	4(%sp),%fp0
 	fcmpd	12(%sp),%fp0
-	fbgt	Lagtb
+	fbgt	Lbgt
+#ifdef __mcoldfire__
+	fbeq	Lbeq
+	movql	#-1,%d0
+#else
 	fslt	%d0
 	extbl	%d0
+#endif
 	rts
-Lagtb:
+Lbgt:
 	moveq	#1,%d0
 	rts
+#ifdef __mcoldfire__
+Lbeq:
+	clrl	%d0
+	rts
+#endif
 END(__cmpdf2)
Index: src/lib/libc/arch/m68k/hardfloat/cmpsf2.S
diff -u src/lib/libc/arch/m68k/hardfloat/cmpsf2.S:1.1 src/lib/libc/arch/m68k/hardfloat/cmpsf2.S:1.2
--- src/lib/libc/arch/m68k/hardfloat/cmpsf2.S:1.1	Wed Jul 17 06:39:06 2013
+++ src/lib/libc/arch/m68k/hardfloat/cmpsf2.S	Thu Jul 18 21:29:08 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: cmpsf2.S,v 1.1 2013/07/17 06:39:06 matt Exp $	*/
+/*	$NetBSD: cmpsf2.S,v 1.2 2013/07/18 21:29:08 matt Exp $	*/
 
 /*-
  * Copyright (c) 1990 The Regents of the University of California.
@@ -39,7 +39,7 @@
 #if 0
 	RCSID(from: @(#)cmpsf2.s	5.1 (Berkeley) 6/7/90)
 #else
-	RCSID($NetBSD: cmpsf2.S,v 1.1 2013/07/17 06:39:06 matt Exp $)
+	RCSID($NetBSD: cmpsf2.S,v 1.2 2013/07/18 21:29:08 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -49,11 +49,21 @@
 ENTRY(__cmpsf2)
 	fmoves	4(%sp),%fp0
 	fcmps	8(%sp),%fp0
-	fbgt	Lagtb
+	fbgt	Lbgt
+#ifdef __mcoldfire__
+	fbeq	Lbeq
+	movql	#-1,%d0
+#else
 	fslt	%d0
 	extbl	%d0
+#endif
 	rts
-Lagtb:
+Lbgt:
 	moveq	#1,%d0
 	rts
+#ifdef __mcoldfire__
+Lbeq:
+	clrl	%d0
+	rts
+#endif
 END(__cmpsf2)
Index: src/lib/libc/arch/m68k/hardfloat/fixunsdfsi.S
diff -u src/lib/libc/arch/m68k/hardfloat/fixunsdfsi.S:1.1 src/lib/libc/arch/m68k/hardfloat/fixunsdfsi.S:1.2
--- src/lib/libc/arch/m68k/hardfloat/fixunsdfsi.S:1.1	Wed Jul 17 06:39:06 2013
+++ src/lib/libc/arch/m68k/hardfloat/fixunsdfsi.S	Thu Jul 18 21:29:08 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: fixunsdfsi.S,v 1.1 2013/07/17 06:39:06 matt Exp $	*/
+/*	$NetBSD: fixunsdfsi.S,v 1.2 2013/07/18 21:29:08 matt Exp $	*/
 
 /*-
  * Copyright (c) 1990 The Regents of the University of California.
@@ -39,19 +39,36 @@
 #if 0
 	RCSID(from: @(#)fixunsdfsi.s	5.1 (Berkeley) 6/7/90)
 #else
-	RCSID($NetBSD: fixunsdfsi.S,v 1.1 2013/07/17 06:39:06 matt Exp $)
+	RCSID($NetBSD: fixunsdfsi.S,v 1.2 2013/07/18 21:29:08 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
+#ifdef __mcoldfire__
+	.section .rodata,a
+	.p2align 4
+L2G:	.double 0r2147483648.0
+#endif
+
 /* (unsigned) double */
 ENTRY(__fixunsdfsi)
 	fintrzd	4(%sp),%fp0
-	fcmpd	#0r2147483648.0,%fp0
+#ifdef __mcoldfire__
+	LEA_LCL(L2G,%a0)
+	fmoved	(%a0),%fp1
+	fcmpd	%fp1,%fp0
+#else
+	fmoved	#0r2147483648.0,%fp1
+	fcmpx	%fp1,%fp0
+#endif
 	fbge	Lwaybig
 	fmovel	%fp0,%d0
 	rts
 Lwaybig:
-	fsubd	#0r2147483648.0,%fp0
+#ifdef __mcoldfire__
+	fsubd	%fp1,%fp0
+#else
+	fsubx	%fp1,%fp0
+#endif
 	fmovel	%fp0,%d0
 	bset	#31,%d0
 	rts
Index: src/lib/libc/arch/m68k/hardfloat/modf.S
diff -u src/lib/libc/arch/m68k/hardfloat/modf.S:1.1 src/lib/libc/arch/m68k/hardfloat/modf.S:1.2
--- src/lib/libc/arch/m68k/hardfloat/modf.S:1.1	Wed Jul 17 06:39:06 2013
+++ src/lib/libc/arch/m68k/hardfloat/modf.S	Thu Jul 18 21:29:08 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: modf.S,v 1.1 2013/07/17 06:39:06 matt Exp $	*/
+/*	$NetBSD: modf.S,v 1.2 2013/07/18 21:29:08 matt Exp $	*/
 
 /*-
  * Copyright (c) 1990 The Regents of the University of California.
@@ -39,7 +39,7 @@
 #if 0
 	RCSID(from: @(#)modf.s	5.1 (Berkeley) 5/12/90)
 #else
-	RCSID($NetBSD: modf.S,v 1.1 2013/07/17 06:39:06 matt Exp $)
+	RCSID($NetBSD: modf.S,v 1.2 2013/07/18 21:29:08 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -50,9 +50,17 @@
 ENTRY(modf)
 	fmoved	4(%sp),%fp0
 	movel	12(%sp),%a0
+#ifdef __mcoldfire__
+	fintrzd	%fp0,%fp1
+#else
 	fintrzx	%fp0,%fp1
+#endif
 	fmoved	%fp1,(%a0)