summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/libc/alpha/gen/Makefile.inc2
-rw-r--r--lib/libc/alpha/gen/fpsetsticky.c62
-rw-r--r--lib/libc/amd64/gen/Makefile.inc2
-rw-r--r--lib/libc/amd64/gen/fpsetsticky.c8
-rw-r--r--lib/libc/powerpc/gen/Makefile.inc2
-rw-r--r--lib/libc/powerpc/gen/fpsetsticky.c57
-rw-r--r--lib/libc/softfloat/Makefile.inc2
-rw-r--r--lib/libc/sparc64/gen/Makefile.inc2
-rw-r--r--lib/libc/sparc64/gen/fpsetsticky.c30
-rw-r--r--share/man/man3/Makefile3
-rw-r--r--sys/amd64/include/ieeefp.h20
-rw-r--r--sys/i386/include/ieeefp.h1
12 files changed, 6 insertions, 185 deletions
diff --git a/lib/libc/alpha/gen/Makefile.inc b/lib/libc/alpha/gen/Makefile.inc
index 96a92ce..8f8caf8 100644
--- a/lib/libc/alpha/gen/Makefile.inc
+++ b/lib/libc/alpha/gen/Makefile.inc
@@ -2,7 +2,7 @@
SRCS+= _setjmp.S _set_tp.c fabs.S infinity.c ldexp.c modf.c setjmp.S
SRCS+= flt_rounds.c fpgetmask.c fpgetround.c fpgetsticky.c fpsetmask.c \
- fpsetround.c fpsetsticky.c
+ fpsetround.c
SRCS+= sigsetjmp.S
SRCS+= __divqu.S __divq.S __divlu.S __divl.S
diff --git a/lib/libc/alpha/gen/fpsetsticky.c b/lib/libc/alpha/gen/fpsetsticky.c
deleted file mode 100644
index 698109f..0000000
--- a/lib/libc/alpha/gen/fpsetsticky.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 1995 Christopher G. Demetriou
- * All rights reserved.
- *
- * 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. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Christopher G. Demetriou
- * for the NetBSD Project.
- * 4. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
- *
- * $NetBSD: fpsetsticky.c,v 1.1 1995/04/29 05:11:04 cgd Exp $
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <sys/types.h>
-#include <ieeefp.h>
-#include <machine/fpu.h>
-
-fp_except_t
-fpsetsticky(sticky)
- fp_except_t sticky;
-{
- union {
- double fpcrval;
- u_int64_t intval;
- } u;
- u_int64_t old, new;
-
- GET_FPCR(u.fpcrval);
-
- old = u.intval;
- new = old & ~ (IEEE_STATUS_MASK << IEEE_STATUS_TO_FPCR_SHIFT);
- new |= ((sticky << IEEE_STATUS_TO_EXCSUM_SHIFT) & IEEE_STATUS_MASK)
- << IEEE_STATUS_TO_FPCR_SHIFT;
- u.intval = new;
- SET_FPCR(u.fpcrval);
-
- return (((old >> IEEE_STATUS_TO_FPCR_SHIFT) & IEEE_STATUS_MASK)
- >> IEEE_STATUS_TO_EXCSUM_SHIFT);
-}
diff --git a/lib/libc/amd64/gen/Makefile.inc b/lib/libc/amd64/gen/Makefile.inc
index 3d28e66..38fe7e1 100644
--- a/lib/libc/amd64/gen/Makefile.inc
+++ b/lib/libc/amd64/gen/Makefile.inc
@@ -5,4 +5,4 @@ SRCS+= _setjmp.S _set_tp.c rfork_thread.S setjmp.S sigsetjmp.S \
fabs.S modf.S \
infinity.c ldexp.c makecontext.c signalcontext.c \
flt_rounds.c fpgetmask.c fpsetmask.c fpgetprec.c fpsetprec.c \
- fpgetround.c fpsetround.c fpgetsticky.c fpsetsticky.c
+ fpgetround.c fpsetround.c fpgetsticky.c
diff --git a/lib/libc/amd64/gen/fpsetsticky.c b/lib/libc/amd64/gen/fpsetsticky.c
deleted file mode 100644
index 95b1655..0000000
--- a/lib/libc/amd64/gen/fpsetsticky.c
+++ /dev/null
@@ -1,8 +0,0 @@
-/* $FreeBSD$ */
-#define __IEEEFP_NOINLINES__ 1
-#include <ieeefp.h>
-
-fp_except_t fpsetsticky(fp_except_t m)
-{
- return (__fpsetsticky(m));
-}
diff --git a/lib/libc/powerpc/gen/Makefile.inc b/lib/libc/powerpc/gen/Makefile.inc
index 4f8f0ea..4b381c3 100644
--- a/lib/libc/powerpc/gen/Makefile.inc
+++ b/lib/libc/powerpc/gen/Makefile.inc
@@ -1,7 +1,7 @@
# $FreeBSD$
SRCS += _ctx_start.S fabs.S flt_rounds.c fpgetmask.c fpgetround.c \
- fpgetsticky.c fpsetmask.c fpsetround.c fpsetsticky.c \
+ fpgetsticky.c fpsetmask.c fpsetround.c \
infinity.c ldexp.c makecontext.c modf.c _setjmp.S \
setjmp.S sigsetjmp.S signalcontext.c syncicache.c \
_set_tp.c
diff --git a/lib/libc/powerpc/gen/fpsetsticky.c b/lib/libc/powerpc/gen/fpsetsticky.c
deleted file mode 100644
index d464ca8..0000000
--- a/lib/libc/powerpc/gen/fpsetsticky.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* $NetBSD: fpsetsticky.c,v 1.3 2002/01/13 21:45:48 thorpej Exp $ */
-
-/*
- * Copyright (c) 1999 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Dan Winship.
- *
- * 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. 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
- * 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 <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <sys/types.h>
-#include <ieeefp.h>
-
-fp_except_t
-fpsetsticky(fp_except_t mask)
-{
- u_int64_t fpscr;
- fp_rnd_t old;
-
- __asm__ __volatile("mffs %0" : "=f"(fpscr));
- old = (fp_except_t)((fpscr >> 25) & 0x1f);
- fpscr = (fpscr & 0xc1ffffff) | (mask << 25);
- __asm__ __volatile("mtfsf 0xff,%0" :: "f"(fpscr));
- return (old);
-}
diff --git a/lib/libc/softfloat/Makefile.inc b/lib/libc/softfloat/Makefile.inc
index f984ae2..5e40916 100644
--- a/lib/libc/softfloat/Makefile.inc
+++ b/lib/libc/softfloat/Makefile.inc
@@ -11,7 +11,7 @@ CFLAGS+= -DSOFTFLOAT_FOR_GCC
SRCS+= softfloat.c
SRCS+= fpgetround.c fpsetround.c fpgetmask.c fpsetmask.c \
- fpgetsticky.c fpsetsticky.c
+ fpgetsticky.c
SRCS+= eqsf2.c nesf2.c gtsf2.c gesf2.c ltsf2.c lesf2.c negsf2.c \
eqdf2.c nedf2.c gtdf2.c gedf2.c ltdf2.c ledf2.c negdf2.c \
diff --git a/lib/libc/sparc64/gen/Makefile.inc b/lib/libc/sparc64/gen/Makefile.inc
index c228fc0..979c182 100644
--- a/lib/libc/sparc64/gen/Makefile.inc
+++ b/lib/libc/sparc64/gen/Makefile.inc
@@ -1,6 +1,6 @@
# $FreeBSD$
SRCS+= _ctx_start.S _setjmp.S fabs.S fixunsdfsi.S flt_rounds.c fpgetmask.c \
- fpgetround.c fpgetsticky.c fpsetmask.c fpsetround.c fpsetsticky.c \
+ fpgetround.c fpgetsticky.c fpsetmask.c fpsetround.c \
infinity.c ldexp.c makecontext.c modf.S \
signalcontext.c setjmp.S sigsetjmp.S _set_tp.c
diff --git a/lib/libc/sparc64/gen/fpsetsticky.c b/lib/libc/sparc64/gen/fpsetsticky.c
deleted file mode 100644
index 61d3d1b..0000000
--- a/lib/libc/sparc64/gen/fpsetsticky.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* $NetBSD: fpsetsticky.c,v 1.2 2002/01/13 21:45:51 thorpej Exp $ */
-
-/*
- * Written by J.T. Conklin, Apr 10, 1995
- * Public domain.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <machine/fsr.h>
-#include <ieeefp.h>
-
-fp_except_t
-fpsetsticky(sticky)
- fp_except_t sticky;
-{
- unsigned int old;
- unsigned int new;
-
- __asm__("st %%fsr,%0" : "=m" (old));
-
- new = old;
- new &= ~FSR_AEXC_MASK;
- new |= FSR_AEXC(sticky & FSR_EXC_MASK);
-
- __asm__("ld %0,%%fsr" : : "m" (new));
-
- return (FSR_GET_AEXC(old));
-}
diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile
index b95cc27..6aa8b26 100644
--- a/share/man/man3/Makefile
+++ b/share/man/man3/Makefile
@@ -32,8 +32,7 @@ MLINKS+= fpgetround.3 fpgetmask.3 \
fpgetround.3 fpresetsticky.3 \
fpgetround.3 fpsetmask.3 \
fpgetround.3 fpsetprec.3 \
- fpgetround.3 fpsetround.3 \
- fpgetround.3 fpsetsticky.3
+ fpgetround.3 fpsetround.3
MLINKS+= ${PTHREAD_MLINKS}
MLINKS+= queue.3 LIST_EMPTY.3 \
queue.3 LIST_ENTRY.3 \
diff --git a/sys/amd64/include/ieeefp.h b/sys/amd64/include/ieeefp.h
index bfa80aa..6da7e7f 100644
--- a/sys/amd64/include/ieeefp.h
+++ b/sys/amd64/include/ieeefp.h
@@ -249,25 +249,6 @@ __fpgetsticky(void)
return (_ex);
}
-/* Note that this should really be called fpresetsticky() */
-static __inline__ fp_except_t
-__fpsetsticky(fp_except_t _m)
-{
- unsigned _env[7];
- unsigned int _mxcsr;
- fp_except_t _p;
-
- __fnstenv(_env);
- _p = _env[FP_STKY_REG] & _m;
- __stmxcsr(&_mxcsr);
- _p |= _mxcsr & SSE_STKY_FLD;
- _env[FP_STKY_REG] &= ~_m;
- __fldenv(_env);
- _mxcsr &= ~_m;
- __ldmxcsr(&_mxcsr);
- return (_p);
-}
-
#endif /* __GNUCLIKE_ASM && __CC_SUPPORTS___INLINE__ && !__cplusplus */
#if !defined(__IEEEFP_NOINLINES__) && !defined(__cplusplus) \
@@ -280,7 +261,6 @@ __fpsetsticky(fp_except_t _m)
#define fpgetmask() __fpgetmask()
#define fpsetmask(_m) __fpsetmask(_m)
#define fpgetsticky() __fpgetsticky()
-#define fpsetsticky(_m) __fpsetsticky(_m)
/* Suppress prototypes in the MI header. */
#define _IEEEFP_INLINED_ 1
diff --git a/sys/i386/include/ieeefp.h b/sys/i386/include/ieeefp.h
index 17dbc88..b22d99e 100644
--- a/sys/i386/include/ieeefp.h
+++ b/sys/i386/include/ieeefp.h
@@ -177,7 +177,6 @@ __fpsetreg(int _m, int _reg, int _fld, int _off)
((__fpgetreg(FP_STKY_REG) & FP_STKY_FLD) >> FP_STKY_OFF))
#define fpresetsticky(m) ((fp_except_t) \
__fpsetreg(0, FP_STKY_REG, (m), FP_STKY_OFF))
-#define fpsetsticky(m) fpresetsticky(m)
/* Suppress prototypes in the MI header. */
#define _IEEEFP_INLINED_ 1
OpenPOWER on IntegriCloud