This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.17-118-g65a82e3


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  65a82e3dd538aabcdbeacf87fcee32f4e355e5b6 (commit)
      from  93f5c4e2e552e96511e59139dd7b7bc9f630133d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=65a82e3dd538aabcdbeacf87fcee32f4e355e5b6

commit 65a82e3dd538aabcdbeacf87fcee32f4e355e5b6
Author: David S. Miller <davem@davemloft.net>
Date:   Mon Jan 14 18:15:49 2013 -0800

    Optimize fdim/fdimf on sparc.
    
    	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile: Add vis3
    	fdim/fdimf to libm-sysdep_routines.
    	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.S: New
    	file.
    	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.S: New file.
    	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.S: New
    	file.
    	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.S: New file.
    	* sysdeps/sparc/sparc32/sparcv9/fpu/s_fdim.S: New file.
    	* sysdeps/sparc/sparc32/sparcv9/fpu/s_fdimf.S: New file.
    	* sysdeps/sparc/sparc32/fpu/s_fdim.S: New file.
    	* sysdeps/sparc/sparc32/fpu/s_fdimf.S: New file.
    	* sysdeps/sparc/sparc64/fpu/s_fdim.S: New file.
    	* sysdeps/sparc/sparc64/fpu/s_fdimf.S: New file.

diff --git a/ChangeLog b/ChangeLog
index 94f56c3..9fa68b8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2013-01-14  David S. Miller  <davem@davemloft.net>
+
+	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile: Add vis3
+	fdim/fdimf to libm-sysdep_routines.
+	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.S: New
+	file.
+	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.S: New file.
+	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.S: New
+	file.
+	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.S: New file.
+	* sysdeps/sparc/sparc32/sparcv9/fpu/s_fdim.S: New file.
+	* sysdeps/sparc/sparc32/sparcv9/fpu/s_fdimf.S: New file.
+	* sysdeps/sparc/sparc32/fpu/s_fdim.S: New file.
+	* sysdeps/sparc/sparc32/fpu/s_fdimf.S: New file.
+	* sysdeps/sparc/sparc64/fpu/s_fdim.S: New file.
+	* sysdeps/sparc/sparc64/fpu/s_fdimf.S: New file.
+
 2013-01-14  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
 	* sysdeps/ieee754/dbl-64/mpa.c (__mul): Add a local variable
diff --git a/sysdeps/sparc/sparc32/fpu/s_fdim.S b/sysdeps/sparc/sparc32/fpu/s_fdim.S
new file mode 100644
index 0000000..2f0c5ce
--- /dev/null
+++ b/sysdeps/sparc/sparc32/fpu/s_fdim.S
@@ -0,0 +1,41 @@
+/* Compute positive difference, sparc 32-bit.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <math_ldbl_opt.h>
+
+ENTRY(__fdim)
+	std	%o0, [%sp + 72]
+	std	%o2, [%sp + 80]
+	ldd	[%sp + 72], %f0
+	ldd	[%sp + 80], %f2
+	fcmpd	%f0, %f2
+	st	%g0, [%sp + 72]
+	fbug	1f
+	 st	%g0, [%sp + 76]
+	ldd	[%sp + 72], %f0
+	fnegd	%f0, %f2
+1:	retl
+	 fsubd	%f0, %f2, %f0
+END(__fdim)
+weak_alias (__fdim, fdim)
+
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
+compat_symbol (libm, __fdim, fdiml, GLIBC_2_1);
+#endif
diff --git a/sysdeps/sparc/sparc32/fpu/s_fdimf.S b/sysdeps/sparc/sparc32/fpu/s_fdimf.S
new file mode 100644
index 0000000..570fdc3
--- /dev/null
+++ b/sysdeps/sparc/sparc32/fpu/s_fdimf.S
@@ -0,0 +1,35 @@
+/* Compute positive difference, sparc 32-bit.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+ENTRY(__fdimf)
+	st	%o0, [%sp + 72]
+	st	%o1, [%sp + 76]
+	ld	[%sp + 72], %f0
+	ld	[%sp + 76], %f1
+	fcmps	%f0, %f1
+	fbug	1f
+	 st	%g0, [%sp + 72]
+	ld	[%sp + 72], %f0
+	fnegs	%f0, %f1
+1:	retl
+	 fsubs	%f0, %f1, %f0
+END(__fdimf)
+weak_alias (__fdimf, fdimf)
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
index ee9f6ff..6349681 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/Makefile
@@ -5,7 +5,7 @@ libm-sysdep_routines += m_copysignf-vis3 m_copysign-vis3 s_ceilf-vis3 \
 			s_floorf-vis3 s_llrintf-vis3 s_llrint-vis3 \
 			s_rintf-vis3 s_rint-vis3 w_sqrt-vis3 w_sqrtf-vis3 \
 			s_fminf-vis3 s_fmin-vis3 s_fmaxf-vis3 s_fmax-vis3 \
-			s_fmaf-vis3 s_fma-vis3
+			s_fmaf-vis3 s_fma-vis3 s_fdimf-vis3 s_fdim-vis3
 sysdep_routines += s_copysignf-vis3 s_copysign-vis3
 endif
 endif
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.S
new file mode 100644
index 0000000..5e011a1
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.S
@@ -0,0 +1,34 @@
+/* Compute positive difference, sparc 32-bit+v9+vis3.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+ENTRY(__fdim_vis3)
+	movwtos	%o0, %f0
+	movwtos	%o1, %f1
+	movwtos	%o2, %f2
+	movwtos	%o3, %f3
+	fcmpd	%f0, %f2
+	fbug	1f
+	 nop
+	fzero	%f0
+	fnegd	%f0, %f2
+1:	retl
+	 fsubd	%f0, %f2, %f0
+END(__fdim_vis3)
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.S
new file mode 100644
index 0000000..4b13408
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.S
@@ -0,0 +1,19 @@
+#include <sparc-ifunc.h>
+#include <math_ldbl_opt.h>
+
+SPARC_ASM_VIS3_IFUNC(fdim)
+
+weak_alias (__fdim, fdim)
+
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
+compat_symbol (libm, __fdim, fdiml, GLIBC_2_1);
+#endif
+
+# undef weak_alias
+# define weak_alias(a, b)
+# undef compat_symbol
+# define compat_symbol(a, b, c, d)
+
+#define __fdim __fdim_generic
+
+#include "../s_fdim.S"
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.S
new file mode 100644
index 0000000..c6d5712
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.S
@@ -0,0 +1,32 @@
+/* Compute positive difference, sparc 32-bit+v9+vis3.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+ENTRY(__fdimf_vis3)
+	movwtos	%o0, %f0
+	movwtos	%o1, %f1
+	fcmps	%f0, %f1
+	fbug	1f
+	 nop
+	fzeros	%f0
+	fnegs	%f0, %f1
+1:	retl
+	 fsubs	%f0, %f1, %f0
+END(__fdimf_vis3)
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.S
new file mode 100644
index 0000000..30381d6
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.S
@@ -0,0 +1,12 @@
+#include <sparc-ifunc.h>
+
+SPARC_ASM_VIS3_IFUNC(fdimf)
+
+weak_alias (__fdimf, fdimf)
+
+# undef weak_alias
+# define weak_alias(a, b)
+
+#define __fdimf __fdimf_generic
+
+#include "../s_fdimf.S"
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fdim.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fdim.S
new file mode 100644
index 0000000..6f26ab7
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fdim.S
@@ -0,0 +1,40 @@
+/* Compute positive difference, sparc 32-bit+v9.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <math_ldbl_opt.h>
+
+ENTRY(__fdim)
+	std	%o0, [%sp + 72]
+	std	%o2, [%sp + 80]
+	ldd	[%sp + 72], %f0
+	ldd	[%sp + 80], %f2
+	fcmpd	%f0, %f2
+	fbug	1f
+	 nop
+	fzero	%f0
+	fnegd	%f0, %f2
+1:	retl
+	 fsubd	%f0, %f2, %f0
+END(__fdim)
+weak_alias (__fdim, fdim)
+
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
+compat_symbol (libm, __fdim, fdiml, GLIBC_2_1);
+#endif
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fdimf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fdimf.S
new file mode 100644
index 0000000..fc55867
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fdimf.S
@@ -0,0 +1,35 @@
+/* Compute positive difference, sparc 32-bit+v9.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+ENTRY(__fdimf)
+	st	%o0, [%sp + 72]
+	st	%o1, [%sp + 76]
+	ld	[%sp + 72], %f0
+	ld	[%sp + 76], %f1
+	fcmps	%f0, %f1
+	fbug	1f
+	 nop
+	fzeros	%f0
+	fnegs	%f0, %f1
+1:	retl
+	 fsubs	%f0, %f1, %f0
+END(__fdimf)
+weak_alias (__fdimf, fdimf)
diff --git a/sysdeps/sparc/sparc64/fpu/s_fdim.S b/sysdeps/sparc/sparc64/fpu/s_fdim.S
new file mode 100644
index 0000000..a1c53df
--- /dev/null
+++ b/sysdeps/sparc/sparc64/fpu/s_fdim.S
@@ -0,0 +1,32 @@
+/* Compute positive difference, sparc 64-bit.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <math_ldbl_opt.h>
+
+ENTRY(__fdim)
+	fcmpd	%f0, %f2
+	fbug	1f
+	 nop
+	fzero	%f0
+	fnegd	%f0, %f2
+1:	retl
+	 fsubd	%f0, %f2, %f0
+END(__fdim)
+weak_alias (__fdim, fdim)
diff --git a/sysdeps/sparc/sparc64/fpu/s_fdimf.S b/sysdeps/sparc/sparc64/fpu/s_fdimf.S
new file mode 100644
index 0000000..61782a5
--- /dev/null
+++ b/sysdeps/sparc/sparc64/fpu/s_fdimf.S
@@ -0,0 +1,31 @@
+/* Compute positive difference, sparc 64-bit.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+ENTRY(__fdimf)
+	fcmps	%f1, %f3
+	fbug	1f
+	 nop
+	fzeros	%f1
+	fnegs	%f1, %f3
+1:	retl
+	 fsubs	%f1, %f3, %f0
+END(__fdimf)
+weak_alias (__fdimf, fdimf)

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   17 ++++++++
 sysdeps/sparc/sparc32/fpu/s_fdim.S                 |   41 ++++++++++++++++++++
 sysdeps/sparc/sparc32/fpu/s_fdimf.S                |   35 +++++++++++++++++
 .../sparc/sparc32/sparcv9/fpu/multiarch/Makefile   |    2 +-
 .../sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.S    |   34 ++++++++++++++++
 .../sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.S   |   19 +++++++++
 .../sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.S   |   32 +++++++++++++++
 .../sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.S  |   12 ++++++
 sysdeps/sparc/sparc32/sparcv9/fpu/s_fdim.S         |   40 +++++++++++++++++++
 sysdeps/sparc/sparc32/sparcv9/fpu/s_fdimf.S        |   35 +++++++++++++++++
 sysdeps/sparc/sparc64/fpu/s_fdim.S                 |   32 +++++++++++++++
 sysdeps/sparc/sparc64/fpu/s_fdimf.S                |   31 +++++++++++++++
 12 files changed, 329 insertions(+), 1 deletions(-)
 create mode 100644 sysdeps/sparc/sparc32/fpu/s_fdim.S
 create mode 100644 sysdeps/sparc/sparc32/fpu/s_fdimf.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/fpu/s_fdim.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/fpu/s_fdimf.S
 create mode 100644 sysdeps/sparc/sparc64/fpu/s_fdim.S
 create mode 100644 sysdeps/sparc/sparc64/fpu/s_fdimf.S


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]