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

2014-01-22 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Thu Jan 23 00:00:16 UTC 2014

Modified Files:
src/lib/libc/arch/arm/hardfloat: fpsetmask.S

Log Message:
One vmsr is enough.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/lib/libc/arch/arm/hardfloat/fpsetmask.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/arm/hardfloat/fpsetmask.S
diff -u src/lib/libc/arch/arm/hardfloat/fpsetmask.S:1.6 src/lib/libc/arch/arm/hardfloat/fpsetmask.S:1.7
--- src/lib/libc/arch/arm/hardfloat/fpsetmask.S:1.6	Fri Jan 11 13:55:26 2013
+++ src/lib/libc/arch/arm/hardfloat/fpsetmask.S	Thu Jan 23 00:00:16 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: fpsetmask.S,v 1.6 2013/01/11 13:55:26 matt Exp $	*/
+/*	$NetBSD: fpsetmask.S,v 1.7 2014/01/23 00:00:16 joerg Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -52,7 +52,6 @@ ENTRY(fpsetmask)
 	bic	r1, r1, #VFP_FPSCR_ESUM
 	orr	r1, r1, r2, lsl #8
 	vmsr	fpscr, r1
-	mcr	p10, 7, r1, c1, c0, 0
 	and	r0, r0, #VFP_FPSCR_CSUM
 	RET
 END(fpsetmask)



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

2014-01-22 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Thu Jan 23 00:00:16 UTC 2014

Modified Files:
src/lib/libc/arch/arm/hardfloat: fpsetmask.S

Log Message:
One vmsr is enough.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/lib/libc/arch/arm/hardfloat/fpsetmask.S

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



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

2013-11-30 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Sat Nov 30 22:39:04 UTC 2013

Modified Files:
src/lib/libc/arch/arm/hardfloat: fabs.S

Log Message:
fabsl alias.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/libc/arch/arm/hardfloat/fabs.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/arm/hardfloat/fabs.S
diff -u src/lib/libc/arch/arm/hardfloat/fabs.S:1.1 src/lib/libc/arch/arm/hardfloat/fabs.S:1.2
--- src/lib/libc/arch/arm/hardfloat/fabs.S:1.1	Sun Feb  3 07:14:41 2013
+++ src/lib/libc/arch/arm/hardfloat/fabs.S	Sat Nov 30 22:39:04 2013
@@ -29,10 +29,11 @@
 
 #include arm/asm.h
 
-RCSID($NetBSD: fabs.S,v 1.1 2013/02/03 07:14:41 matt Exp $)
+RCSID($NetBSD: fabs.S,v 1.2 2013/11/30 22:39:04 joerg Exp $)
 
 	.fpu	vfp
 
+ENTRY(fabsl)
 ENTRY(fabs)
 	vabs.f64	d0, d0
 	RET



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

2013-11-30 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Sat Nov 30 22:39:04 UTC 2013

Modified Files:
src/lib/libc/arch/arm/hardfloat: fabs.S

Log Message:
fabsl alias.


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

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



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

2013-08-01 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Aug  2 02:07:00 UTC 2013

Modified Files:
src/lib/libc/arch/arm/hardfloat: fpgetmask.S

Log Message:
Use vmrs instead of mrc


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/lib/libc/arch/arm/hardfloat/fpgetmask.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/arm/hardfloat/fpgetmask.S
diff -u src/lib/libc/arch/arm/hardfloat/fpgetmask.S:1.6 src/lib/libc/arch/arm/hardfloat/fpgetmask.S:1.7
--- src/lib/libc/arch/arm/hardfloat/fpgetmask.S:1.6	Fri Jan 11 13:55:26 2013
+++ src/lib/libc/arch/arm/hardfloat/fpgetmask.S	Fri Aug  2 02:07:00 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: fpgetmask.S,v 1.6 2013/01/11 13:55:26 matt Exp $	*/
+/*	$NetBSD: fpgetmask.S,v 1.7 2013/08/02 02:07:00 matt Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -45,8 +45,8 @@ WEAK_ALIAS(fpgetmask, _fpgetmask)
 #endif
 
 ENTRY(fpgetmask)
-	mrc	p10, 7, r0, c1, c0, 0
-	and	r0, r0, #VFP_FPSCR_ESUM
+	vmrsr0, fpscr
 	mov	r0, r0, lsr #8
+	and	r0, r0, #VFP_FPSCR_CSUM
 	RET
 END(fpgetmask)



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

2013-08-01 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Aug  2 02:07:00 UTC 2013

Modified Files:
src/lib/libc/arch/arm/hardfloat: fpgetmask.S

Log Message:
Use vmrs instead of mrc


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/lib/libc/arch/arm/hardfloat/fpgetmask.S

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



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

2013-02-02 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sun Feb  3 01:50:54 UTC 2013

Modified Files:
src/lib/libc/arch/arm/hardfloat: fpsetround.c

Log Message:
include arm/vfpreg.h


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/lib/libc/arch/arm/hardfloat/fpsetround.c

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/arm/hardfloat/fpsetround.c
diff -u src/lib/libc/arch/arm/hardfloat/fpsetround.c:1.7 src/lib/libc/arch/arm/hardfloat/fpsetround.c:1.8
--- src/lib/libc/arch/arm/hardfloat/fpsetround.c:1.7	Fri Jan 11 13:55:26 2013
+++ src/lib/libc/arch/arm/hardfloat/fpsetround.c	Sun Feb  3 01:50:54 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: fpsetround.c,v 1.7 2013/01/11 13:55:26 matt Exp $	*/
+/*	$NetBSD: fpsetround.c,v 1.8 2013/02/03 01:50:54 matt Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
 
 #include sys/cdefs.h
 #if defined(LIBC_SCCS)  !defined(lint)
-__RCSID($NetBSD: fpsetround.c,v 1.7 2013/01/11 13:55:26 matt Exp $);
+__RCSID($NetBSD: fpsetround.c,v 1.8 2013/02/03 01:50:54 matt Exp $);
 #endif /* LIBC_SCCS and not lint */
 
 #include namespace.h
@@ -43,6 +43,8 @@ __RCSID($NetBSD: fpsetround.c,v 1.7 201
 #include sys/types.h
 #include ieeefp.h
 
+#include arm/vfpreg.h
+
 #ifdef __weak_alias
 __weak_alias(fpsetround,_fpsetround)
 #endif



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

2013-02-02 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sun Feb  3 07:14:41 UTC 2013

Added Files:
src/lib/libc/arch/arm/hardfloat: fabs.S

Log Message:
Add hardfloat version of fabs using the vabs.f64 instruction


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/lib/libc/arch/arm/hardfloat/fabs.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/arm/hardfloat/fabs.S
diff -u /dev/null src/lib/libc/arch/arm/hardfloat/fabs.S:1.1
--- /dev/null	Sun Feb  3 07:14:41 2013
+++ src/lib/libc/arch/arm/hardfloat/fabs.S	Sun Feb  3 07:14:41 2013
@@ -0,0 +1,39 @@
+/*-
+ * 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; 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 arm/asm.h
+
+RCSID($NetBSD: fabs.S,v 1.1 2013/02/03 07:14:41 matt Exp $)
+
+	.fpu	vfp
+
+ENTRY(fabs)
+	vabs.f64	d0, d0
+	RET
+END(fabs)



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

2013-02-02 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sun Feb  3 01:50:54 UTC 2013

Modified Files:
src/lib/libc/arch/arm/hardfloat: fpsetround.c

Log Message:
include arm/vfpreg.h


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/lib/libc/arch/arm/hardfloat/fpsetround.c

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



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

2013-02-02 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sun Feb  3 07:14:41 UTC 2013

Added Files:
src/lib/libc/arch/arm/hardfloat: fabs.S

Log Message:
Add hardfloat version of fabs using the vabs.f64 instruction


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/lib/libc/arch/arm/hardfloat/fabs.S

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



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

2012-08-01 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Wed Aug  1 06:10:21 UTC 2012

Modified Files:
src/lib/libc/arch/arm/hardfloat: fpgetmask.S fpgetsticky.S fpsetmask.S
fpsetsticky.S

Log Message:
Error out if compiled with -mfp=vfp and -mhard-float


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/arm/hardfloat/fpgetmask.S \
src/lib/libc/arch/arm/hardfloat/fpgetsticky.S \
src/lib/libc/arch/arm/hardfloat/fpsetmask.S \
src/lib/libc/arch/arm/hardfloat/fpsetsticky.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/arm/hardfloat/fpgetmask.S
diff -u src/lib/libc/arch/arm/hardfloat/fpgetmask.S:1.4 src/lib/libc/arch/arm/hardfloat/fpgetmask.S:1.5
--- src/lib/libc/arch/arm/hardfloat/fpgetmask.S:1.4	Sat Aug 21 11:21:00 2004
+++ src/lib/libc/arch/arm/hardfloat/fpgetmask.S	Wed Aug  1 06:10:21 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: fpgetmask.S,v 1.4 2004/08/21 11:21:00 rearnsha Exp $	*/
+/*	$NetBSD: fpgetmask.S,v 1.5 2012/08/01 06:10:21 matt Exp $	*/
 
 /*
  * Copyright (c) 1996 Mark Brinicombe
@@ -45,7 +45,11 @@ ENTRY(_fpgetmask)
 #else
 ENTRY(fpgetmask)
 #endif
+#ifdef __VFP_FP__
+#error _fpgetmask VFP support missing
+#else
 	rfs	r0
 	mov	r0, r0, lsr #16
 	and	r0, r0, #0x1f
 	RET
+#endif
Index: src/lib/libc/arch/arm/hardfloat/fpgetsticky.S
diff -u src/lib/libc/arch/arm/hardfloat/fpgetsticky.S:1.4 src/lib/libc/arch/arm/hardfloat/fpgetsticky.S:1.5
--- src/lib/libc/arch/arm/hardfloat/fpgetsticky.S:1.4	Sat Aug 21 11:21:00 2004
+++ src/lib/libc/arch/arm/hardfloat/fpgetsticky.S	Wed Aug  1 06:10:21 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: fpgetsticky.S,v 1.4 2004/08/21 11:21:00 rearnsha Exp $	*/
+/*	$NetBSD: fpgetsticky.S,v 1.5 2012/08/01 06:10:21 matt Exp $	*/
 
 /*
  * Copyright (c) 1996 Mark Brinicombe
@@ -45,6 +45,10 @@ ENTRY(_fpgetsticky)
 #else
 ENTRY(fpgetsticky)
 #endif
+#ifdef __VFP_FP__
+#error _fpgetsticky VFP support missing
+#else
 	rfs	r0
 	and	r0, r0, #0x1f
 	RET
+#endif
Index: src/lib/libc/arch/arm/hardfloat/fpsetmask.S
diff -u src/lib/libc/arch/arm/hardfloat/fpsetmask.S:1.4 src/lib/libc/arch/arm/hardfloat/fpsetmask.S:1.5
--- src/lib/libc/arch/arm/hardfloat/fpsetmask.S:1.4	Sat Aug 21 11:21:00 2004
+++ src/lib/libc/arch/arm/hardfloat/fpsetmask.S	Wed Aug  1 06:10:21 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: fpsetmask.S,v 1.4 2004/08/21 11:21:00 rearnsha Exp $	*/
+/*	$NetBSD: fpsetmask.S,v 1.5 2012/08/01 06:10:21 matt Exp $	*/
 
 /*
  * Copyright (c) 1996 Mark Brinicombe
@@ -45,6 +45,9 @@ ENTRY(_fpsetmask)
 #else
 ENTRY(fpsetmask)
 #endif
+#ifdef __VFP_FP__
+#error _fpsetmask VFP support missing
+#else
 	rfs	r1
 	bic	r1, r1, #0x001f
 	and	r0, r0, #0x001f
@@ -52,3 +55,4 @@ ENTRY(fpsetmask)
 	wfs	r0
 	mov	r0, r1, lsr #16		/* Return old mask */
 	RET
+#endif
Index: src/lib/libc/arch/arm/hardfloat/fpsetsticky.S
diff -u src/lib/libc/arch/arm/hardfloat/fpsetsticky.S:1.4 src/lib/libc/arch/arm/hardfloat/fpsetsticky.S:1.5
--- src/lib/libc/arch/arm/hardfloat/fpsetsticky.S:1.4	Sat Aug 21 11:21:00 2004
+++ src/lib/libc/arch/arm/hardfloat/fpsetsticky.S	Wed Aug  1 06:10:21 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: fpsetsticky.S,v 1.4 2004/08/21 11:21:00 rearnsha Exp $	*/
+/*	$NetBSD: fpsetsticky.S,v 1.5 2012/08/01 06:10:21 matt Exp $	*/
 
 /*
  * Copyright (c) 1996 Mark Brinicombe
@@ -45,6 +45,9 @@ ENTRY(_fpsetsticky)
 #else
 ENTRY(fpsetsticky)
 #endif
+#ifdef __VFP_FP__
+#error _fpsetsticky VFP support missing
+#else
 	rfs	r1
 	bic	r1, r1, #0x1f
 	and	r0, r0, #0x1f
@@ -52,3 +55,4 @@ ENTRY(fpsetsticky)
 	wfs	r0
 	mov	r0, r1			/* Return old mask */
 	RET
+#endif



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

2012-08-01 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Wed Aug  1 06:10:21 UTC 2012

Modified Files:
src/lib/libc/arch/arm/hardfloat: fpgetmask.S fpgetsticky.S fpsetmask.S
fpsetsticky.S

Log Message:
Error out if compiled with -mfp=vfp and -mhard-float


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/arm/hardfloat/fpgetmask.S \
src/lib/libc/arch/arm/hardfloat/fpgetsticky.S \
src/lib/libc/arch/arm/hardfloat/fpsetmask.S \
src/lib/libc/arch/arm/hardfloat/fpsetsticky.S

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