This is the mail archive of the libc-alpha@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]

[PATCH] Use sparcv8 GMP routines when building 32-bit sparcv9.


The new strtod testcases were timing out on some of my sparc machines.

Investigation showed that one of the problems is that we were using
the extremely slow base sparc32 GMP implementations, which can't use
the real hw multiply instructions, when targetting sparcv9.

This happens because we don't make use of the sparcv8 variants, which
can assume that the hw multiply instructions are available.

Fixed in mainline thusly.

	* sysdeps/sparc/sparc32/sparcv9/addmul_1.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/submul_1.S: New file.
	* sysdeps/sparc/sparc32/sparcv9/mul_1.S: New file.
---
 ChangeLog                                |    6 ++++++
 sysdeps/sparc/sparc32/sparcv9/addmul_1.S |    1 +
 sysdeps/sparc/sparc32/sparcv9/mul_1.S    |    1 +
 sysdeps/sparc/sparc32/sparcv9/submul_1.S |    1 +
 4 files changed, 9 insertions(+)
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/addmul_1.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/mul_1.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/submul_1.S

diff --git a/ChangeLog b/ChangeLog
index 5411be3..bae0699 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-09-04  David S. Miller  <davem@davemloft.net>
+
+	* sysdeps/sparc/sparc32/sparcv9/addmul_1.S: New file.
+	* sysdeps/sparc/sparc32/sparcv9/submul_1.S: New file.
+	* sysdeps/sparc/sparc32/sparcv9/mul_1.S: New file.
+
 2012-09-04  Florian Weimer  <fweimer@redhat.com>
 
 	* stdlib/tst-secure-getenv.c (alternative_main): Only warn on SGID
diff --git a/sysdeps/sparc/sparc32/sparcv9/addmul_1.S b/sysdeps/sparc/sparc32/sparcv9/addmul_1.S
new file mode 100644
index 0000000..563bfb1
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/addmul_1.S
@@ -0,0 +1 @@
+#include <sparcv8/addmul_1.S>
diff --git a/sysdeps/sparc/sparc32/sparcv9/mul_1.S b/sysdeps/sparc/sparc32/sparcv9/mul_1.S
new file mode 100644
index 0000000..42284ea
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/mul_1.S
@@ -0,0 +1 @@
+#include <sparcv8/mul_1.S>
diff --git a/sysdeps/sparc/sparc32/sparcv9/submul_1.S b/sysdeps/sparc/sparc32/sparcv9/submul_1.S
new file mode 100644
index 0000000..de69533
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/submul_1.S
@@ -0,0 +1 @@
+#include <sparcv8/submul_1.S>
-- 
1.7.10.4


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