CVS commit: src/lib/libc/arch/arm/hardfloat
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
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
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
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
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
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
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
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
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
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
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
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.