Module Name: src
Committed By: maya
Date: Fri Apr 26 09:03:47 UTC 2019
Modified Files:
src/lib/libc/arch/i386/gen: Makefile.inc
src/lib/libc/arch/m68k/gen: Makefile.inc
src/lib/libc/arch/sparc64/gen: Makefile.inc
src/lib/libc/arch/x86_64/gen: Makefile.inc
src/lib/libc/gen: signbitl_ieee754.c
Removed Files:
src/lib/libc/arch/i386/gen: signbitl.c
src/lib/libc/arch/m68k/gen: signbitl.c
src/lib/libc/arch/sparc64/gen: signbitl.c
src/lib/libc/arch/x86_64/gen: signbitl.c
Log Message:
Unify signbitl implementations.
(Unclear why they were different, it was only the comments that
differed)
Add a comment describing why the generic version works for both 80-bit
and 128-bit double.
To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/lib/libc/arch/i386/gen/Makefile.inc
cvs rdiff -u -r1.2 -r0 src/lib/libc/arch/i386/gen/signbitl.c
cvs rdiff -u -r1.35 -r1.36 src/lib/libc/arch/m68k/gen/Makefile.inc
cvs rdiff -u -r1.2 -r0 src/lib/libc/arch/m68k/gen/signbitl.c
cvs rdiff -u -r1.19 -r1.20 src/lib/libc/arch/sparc64/gen/Makefile.inc
cvs rdiff -u -r1.2 -r0 src/lib/libc/arch/sparc64/gen/signbitl.c
cvs rdiff -u -r1.18 -r1.19 src/lib/libc/arch/x86_64/gen/Makefile.inc
cvs rdiff -u -r1.2 -r0 src/lib/libc/arch/x86_64/gen/signbitl.c
cvs rdiff -u -r1.1 -r1.2 src/lib/libc/gen/signbitl_ieee754.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/i386/gen/Makefile.inc
diff -u src/lib/libc/arch/i386/gen/Makefile.inc:1.29 src/lib/libc/arch/i386/gen/Makefile.inc:1.30
--- src/lib/libc/arch/i386/gen/Makefile.inc:1.29 Wed Jul 15 14:27:49 2015
+++ src/lib/libc/arch/i386/gen/Makefile.inc Fri Apr 26 09:03:46 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.inc,v 1.29 2015/07/15 14:27:49 pooka Exp $
+# $NetBSD: Makefile.inc,v 1.30 2019/04/26 09:03:46 maya Exp $
# objects built from assembler sources (need lint stubs)
SRCS+= alloca.S byte_swap_2.S byte_swap_4.S fabs.S \
@@ -21,10 +21,10 @@ SRCS+= fpclassifyf_ieee754.c fpclassifyd
SRCS+= isinff_ieee754.c isinfd_ieee754.c
SRCS+= isnanf_ieee754.c isnand_ieee754.c
SRCS+= isfinitef_ieee754.c isfinited_ieee754.c
-SRCS+= signbitf_ieee754.c signbitd_ieee754.c
+SRCS+= signbitf_ieee754.c signbitd_ieee754.c signbitl_ieee754.c
SRCS+= nanf.c infinityl.c
-SRCS+= fpclassifyl.c isfinitel.c isinfl.c isnanl.c signbitl.c
+SRCS+= fpclassifyl.c isfinitel.c isinfl.c isnanl.c
# "internal" objects (don't provide part of the user-visible API)
SRCS+= divsi3.S fixdfsi.S fixunsdfsi.S udivsi3.S
Index: src/lib/libc/arch/m68k/gen/Makefile.inc
diff -u src/lib/libc/arch/m68k/gen/Makefile.inc:1.35 src/lib/libc/arch/m68k/gen/Makefile.inc:1.36
--- src/lib/libc/arch/m68k/gen/Makefile.inc:1.35 Wed Mar 22 23:11:07 2017
+++ src/lib/libc/arch/m68k/gen/Makefile.inc Fri Apr 26 09:03:46 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.inc,v 1.35 2017/03/22 23:11:07 chs Exp $
+# $NetBSD: Makefile.inc,v 1.36 2019/04/26 09:03:46 maya Exp $
SRCS+= alloca.S fabs.S
@@ -18,7 +18,8 @@ SRCS+= nanf.c
SRCS+= infinityl_dbl_ieee754.c
.else
SRCS+= infinityl.c
-SRCS+= fpclassifyl.c isfinitel.c isinfl.c isnanl.c signbitl.c
+SRCS+= fpclassifyl.c isfinitel.c isinfl.c isnanl.c
+SRCS+= signbitl_ieee754.c
.endif
SRCS+= ashlsi3.S ashrsi3.S \
Index: src/lib/libc/arch/sparc64/gen/Makefile.inc
diff -u src/lib/libc/arch/sparc64/gen/Makefile.inc:1.19 src/lib/libc/arch/sparc64/gen/Makefile.inc:1.20
--- src/lib/libc/arch/sparc64/gen/Makefile.inc:1.19 Sun Dec 6 07:12:17 2009
+++ src/lib/libc/arch/sparc64/gen/Makefile.inc Fri Apr 26 09:03:46 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.inc,v 1.19 2009/12/06 07:12:17 uebayasi Exp $
+# $NetBSD: Makefile.inc,v 1.20 2019/04/26 09:03:46 maya Exp $
SRCS+= fabs.S modf.S
SRCS+= flt_rounds.c fpgetmask.c fpgetround.c fpgetsticky.c fpsetmask.c \
@@ -10,10 +10,10 @@ SRCS+= fpclassifyf_ieee754.c fpclassifyd
SRCS+= isfinitef_ieee754.c isfinited_ieee754.c
SRCS+= isinff_ieee754.c isinfd_ieee754.c
SRCS+= isnanf_ieee754.c isnand_ieee754.c
-SRCS+= signbitf_ieee754.c signbitd_ieee754.c
+SRCS+= signbitf_ieee754.c signbitd_ieee754.c signbitl_ieee754.c
SRCS+= nanf.c infinityl.c
-SRCS+= fpclassifyl.c isfinitel.c isinfl.c isnanl.c signbitl.c
+SRCS+= fpclassifyl.c isfinitel.c isinfl.c isnanl.c
SRCS+= bswap16.c bswap32.c bswap64.c
SRCS+= setjmp.S
Index: src/lib/libc/arch/x86_64/gen/Makefile.inc
diff -u src/lib/libc/arch/x86_64/gen/Makefile.inc:1.18 src/lib/libc/arch/x86_64/gen/Makefile.inc:1.19
--- src/lib/libc/arch/x86_64/gen/Makefile.inc:1.18 Wed Jul 15 14:27:49 2015
+++ src/lib/libc/arch/x86_64/gen/Makefile.inc Fri Apr 26 09:03:46 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.inc,v 1.18 2015/07/15 14:27:49 pooka Exp $
+# $NetBSD: Makefile.inc,v 1.19 2019/04/26 09:03:46 maya Exp $
# objects built from assembler sources (need lint stubs)
SRCS+= alloca.S byte_swap_2.S byte_swap_4.S byte_swap_8.S fabs.S \
@@ -21,10 +21,10 @@ SRCS+= fpclassifyf_ieee754.c fpclassifyd
SRCS+= isfinitef_ieee754.c isfinited_ieee754.c
SRCS+= isinff_ieee754.c isinfd_ieee754.c
SRCS+= isnanf_ieee754.c isnand_ieee754.c
-SRCS+= signbitf_ieee754.c signbitd_ieee754.c
+SRCS+= signbitf_ieee754.c signbitd_ieee754.c signbitl_ieee754.c
SRCS+= nanf.c infinityl.c
-SRCS+= fpclassifyl.c isfinitel.c isinfl.c isnanl.c signbitl.c
+SRCS+= fpclassifyl.c isfinitel.c isinfl.c isnanl.c
LSRCS.x86_64.gen=\
Lint__setjmp.c Lint_alloca.c Lint_bswap16.c Lint_bswap32.c \
Index: src/lib/libc/gen/signbitl_ieee754.c
diff -u src/lib/libc/gen/signbitl_ieee754.c:1.1 src/lib/libc/gen/signbitl_ieee754.c:1.2
--- src/lib/libc/gen/signbitl_ieee754.c:1.1 Mon Jan 17 23:53:03 2011
+++ src/lib/libc/gen/signbitl_ieee754.c Fri Apr 26 09:03:47 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: signbitl_ieee754.c,v 1.1 2011/01/17 23:53:03 matt Exp $ */
+/* $NetBSD: signbitl_ieee754.c,v 1.2 2019/04/26 09:03:47 maya Exp $ */
/*-
* Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -41,7 +41,10 @@ __RCSID("$NetBSD");
/*
* 7.12.3.6 signbit - determine whether the sign of an argument is negative
- * IEEE 754 compatible 128-bit extended-precision version
+ * IEEE 754 compatible 80-bit or 128-bit extended precision.
+ *
+ * Differences between 128-bit and 80-bit are handled by having a
+ * different struct ieee_ext.
*/
int
__signbitl(long double x)