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.15-249-g741a235


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  741a235bf611dd5ea646c918ac98ae5b2a0afe51 (commit)
      from  1aff59a3f78e2eea23c5303cede967613bd13bfc (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=741a235bf611dd5ea646c918ac98ae5b2a0afe51

commit 741a235bf611dd5ea646c918ac98ae5b2a0afe51
Author: David S. Miller <davem@davemloft.net>
Date:   Tue Feb 28 00:33:00 2012 -0800

    Add optimized copysign for sparc.
    
    	* sysdeps/sparc/sparc32/fpu/s_copysign.S: New file.
    	* sysdeps/sparc/sparc32/fpu/s_copysignf.S: New file.
    	* sysdeps/sparc/sparc64/fpu/s_copysign.S: New file.
    	* sysdeps/sparc/sparc64/fpu/s_copysignf.S: New file.

diff --git a/ChangeLog b/ChangeLog
index 308a672..8d3de2f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-02-28  David S. Miller  <davem@davemloft.net>
+
+	* sysdeps/sparc/sparc32/fpu/s_copysign.S: New file.
+	* sysdeps/sparc/sparc32/fpu/s_copysignf.S: New file.
+	* sysdeps/sparc/sparc64/fpu/s_copysign.S: New file.
+	* sysdeps/sparc/sparc64/fpu/s_copysignf.S: New file.
+
 2012-02-27  David S. Miller  <davem@davemloft.net>
 
 	* sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S: New file.
diff --git a/sysdeps/sparc/sparc32/fpu/s_copysign.S b/sysdeps/sparc/sparc32/fpu/s_copysign.S
new file mode 100644
index 0000000..18c44c5
--- /dev/null
+++ b/sysdeps/sparc/sparc32/fpu/s_copysign.S
@@ -0,0 +1,31 @@
+/* copysign function, sparc32 version.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>, 2012.
+
+   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 (__copysign)
+	sethi	%hi(0x80000000), %g1
+	and	%o2, %g1, %o4
+	andn	%o0, %g1, %o0
+	or	%o0, %o4, %o0
+	std	%o0, [%sp + 72]
+	retl
+	 ldd	[%sp + 72], %f0
+END (__copysign)
+weak_alias (__copysign, copysign)
\ No newline at end of file
diff --git a/sysdeps/sparc/sparc32/fpu/s_copysignf.S b/sysdeps/sparc/sparc32/fpu/s_copysignf.S
new file mode 100644
index 0000000..7753c35
--- /dev/null
+++ b/sysdeps/sparc/sparc32/fpu/s_copysignf.S
@@ -0,0 +1,31 @@
+/* float copysign function, sparc32 version.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>, 2012.
+
+   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 (__copysignf)
+	sethi	%hi(0x80000000), %g1
+	and	%o1, %g1, %o4
+	andn	%o0, %g1, %o0
+	or	%o0, %o4, %o0
+	st	%o0, [%sp + 68]
+	retl
+	 ld	[%sp + 68], %f0
+END (__copysignf)
+weak_alias (__copysignf, copysignf)
\ No newline at end of file
diff --git a/sysdeps/sparc/sparc64/fpu/s_copysign.S b/sysdeps/sparc/sparc64/fpu/s_copysign.S
new file mode 100644
index 0000000..571f57c
--- /dev/null
+++ b/sysdeps/sparc/sparc64/fpu/s_copysign.S
@@ -0,0 +1,31 @@
+/* copysign function, sparc64 version.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>, 2012.
+
+   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 (__copysign)
+	sethi	%hi(0x80000000), %g1
+	st	%g1, [%sp + STACK_BIAS + 128]
+	ld	[%sp + STACK_BIAS + 128], %f7
+	fands	%f2, %f7, %f9
+	fandnot2s %f0, %f7, %f0
+	retl
+	 fors	%f0, %f9, %f0
+END (__copysign)
+weak_alias (__copysign, copysign)
\ No newline at end of file
diff --git a/sysdeps/sparc/sparc64/fpu/s_copysignf.S b/sysdeps/sparc/sparc64/fpu/s_copysignf.S
new file mode 100644
index 0000000..db6a384
--- /dev/null
+++ b/sysdeps/sparc/sparc64/fpu/s_copysignf.S
@@ -0,0 +1,31 @@
+/* float copysign function, sparc64 version.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David S. Miller <davem@davemloft.net>, 2012.
+
+   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 (__copysignf)
+	sethi	%hi(0x80000000), %g1
+	st	%g1, [%sp + STACK_BIAS + 128]
+	ld	[%sp + STACK_BIAS + 128], %f7
+	fands	%f3, %f7, %f9
+	fandnot2s %f1, %f7, %f1
+	retl
+	 fors	%f1, %f9, %f0
+END (__copysignf)
+weak_alias (__copysignf, copysignf)
\ No newline at end of file

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

Summary of changes:
 ChangeLog                               |    7 +++++++
 sysdeps/sparc/sparc32/fpu/s_copysign.S  |   31 +++++++++++++++++++++++++++++++
 sysdeps/sparc/sparc32/fpu/s_copysignf.S |   31 +++++++++++++++++++++++++++++++
 sysdeps/sparc/sparc64/fpu/s_copysign.S  |   31 +++++++++++++++++++++++++++++++
 sysdeps/sparc/sparc64/fpu/s_copysignf.S |   31 +++++++++++++++++++++++++++++++
 5 files changed, 131 insertions(+), 0 deletions(-)
 create mode 100644 sysdeps/sparc/sparc32/fpu/s_copysign.S
 create mode 100644 sysdeps/sparc/sparc32/fpu/s_copysignf.S
 create mode 100644 sysdeps/sparc/sparc64/fpu/s_copysign.S
 create mode 100644 sysdeps/sparc/sparc64/fpu/s_copysignf.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]