[Gmp-commit] /var/hg/gmp: 4 new changesets
mercurial at gmplib.org
mercurial at gmplib.org
Thu Mar 7 07:44:02 CET 2013
details: /var/hg/gmp/rev/ea3024894689
changeset: 15529:ea3024894689
user: Torbjorn Granlund <tege at gmplib.org>
date: Thu Mar 07 07:41:39 2013 +0100
description:
Optimise out two carry propagating adds.
details: /var/hg/gmp/rev/a3b015c61f16
changeset: 15530:a3b015c61f16
user: Torbjorn Granlund <tege at gmplib.org>
date: Thu Mar 07 07:43:10 2013 +0100
description:
Non-semantic changes to make it more similar to submul_1.
details: /var/hg/gmp/rev/2555b8f1a1a2
changeset: 15531:2555b8f1a1a2
user: Torbjorn Granlund <tege at gmplib.org>
date: Thu Mar 07 07:43:42 2013 +0100
description:
Fix file headers.
details: /var/hg/gmp/rev/e5d36fd9cd95
changeset: 15532:e5d36fd9cd95
user: Torbjorn Granlund <tege at gmplib.org>
date: Thu Mar 07 07:43:56 2013 +0100
description:
ChangeLog.
diffstat:
ChangeLog | 9 +++++++--
mpn/sparc64/ultrasparct3/add_n.asm | 2 ++
mpn/sparc64/ultrasparct3/addmul_1.asm | 16 +++++++++-------
mpn/sparc64/ultrasparct3/mul_1.asm | 4 +++-
mpn/sparc64/ultrasparct3/sub_n.asm | 2 ++
mpn/sparc64/ultrasparct3/submul_1.asm | 22 +++++++++++-----------
6 files changed, 34 insertions(+), 21 deletions(-)
diffs (186 lines):
diff -r 84dd2a40a886 -r e5d36fd9cd95 ChangeLog
--- a/ChangeLog Wed Mar 06 12:33:38 2013 +0100
+++ b/ChangeLog Thu Mar 07 07:43:56 2013 +0100
@@ -1,3 +1,8 @@
+2013-03-07 Torbjorn Granlund <tege at gmplib.org>
+
+ * mpn/sparc64/ultrasparct3/submul_1.asm: Optimise out two carry
+ propagating adds.
+
2013-03-06 David Miller <davem at davemloft.net>
* config.guess: Recognize UltraSparc T4 under Linux.
@@ -8,10 +13,10 @@
* mpn/sparc64/ultrasparct3/submul_1.asm: New file.
* mpn/sparc64/ultrasparct3/add_n.asm: New file.
* mpn/sparc64/ultrasparct3/sub_n.asm: New file.
-
+
* mpn/sparc32/ultrasparct1/mul_1.asm: Unroll main loop one time, add
T2/T3/T4 timings.
- * mpn/sparc32/ultrasparct1/addmul_1.asm: Likewise.
+ * mpn/sparc32/ultrasparct1/addmul_1.asm: Likewise.
* mpn/sparc32/ultrasparct1/submul_1.asm: Likewise.
2013-03-04 Torbjorn Granlund <tege at gmplib.org>
diff -r 84dd2a40a886 -r e5d36fd9cd95 mpn/sparc64/ultrasparct3/add_n.asm
--- a/mpn/sparc64/ultrasparct3/add_n.asm Wed Mar 06 12:33:38 2013 +0100
+++ b/mpn/sparc64/ultrasparct3/add_n.asm Thu Mar 07 07:43:56 2013 +0100
@@ -1,5 +1,7 @@
dnl SPARC v9 mpn_add_n for T3/T4.
+dnl Contributed to the GNU project by David Miller.
+
dnl Copyright 2013 Free Software Foundation, Inc.
dnl This file is part of the GNU MP Library.
diff -r 84dd2a40a886 -r e5d36fd9cd95 mpn/sparc64/ultrasparct3/addmul_1.asm
--- a/mpn/sparc64/ultrasparct3/addmul_1.asm Wed Mar 06 12:33:38 2013 +0100
+++ b/mpn/sparc64/ultrasparct3/addmul_1.asm Thu Mar 07 07:43:56 2013 +0100
@@ -1,5 +1,7 @@
dnl SPARC v9 mpn_addmul_1 for T3/T4.
+dnl Contributed to the GNU project by David Miller.
+
dnl Copyright 2013 Free Software Foundation, Inc.
dnl This file is part of the GNU MP Library.
@@ -20,7 +22,7 @@
include(`../config.m4')
C cycles/limb
-C UltraSPARC T3: 28
+C UltraSPARC T3: 28
C UltraSPARC T4: 5.5
C INPUT PARAMETERS
@@ -51,12 +53,12 @@
mulx %l1, v0, %o2
sub n, 2, n
umulxhi %l1, v0, %o3
- addxccc %o0, %o5, %o0
- addxccc %o2, %o1, %o2
+ addxccc %o5, %o0, %o0
+ addxccc %o1, %o2, %o2
addxc %g0, %o3, %o5
- addcc %o0, %l2, %o0
+ addcc %l2, %o0, %o0
stx %o0, [rp-16]
- addxccc %o2, %l3, %o2
+ addxccc %l3, %o2, %o2
brgz n, L(top)
stx %o2, [rp-8]
@@ -74,7 +76,7 @@
stx %o0, [rp+0]
L(done):
- addxc %g0, %o5, %o5
+ addxc %g0, %o5, %i0
ret
- restore %o5, 0, %o0
+ restore
EPILOGUE()
diff -r 84dd2a40a886 -r e5d36fd9cd95 mpn/sparc64/ultrasparct3/mul_1.asm
--- a/mpn/sparc64/ultrasparct3/mul_1.asm Wed Mar 06 12:33:38 2013 +0100
+++ b/mpn/sparc64/ultrasparct3/mul_1.asm Thu Mar 07 07:43:56 2013 +0100
@@ -1,5 +1,7 @@
dnl SPARC v9 mpn_mul_1 for T3/T4.
+dnl Contributed to the GNU project by David Miller.
+
dnl Copyright 2013 Free Software Foundation, Inc.
dnl This file is part of the GNU MP Library.
@@ -20,7 +22,7 @@
include(`../config.m4')
C cycles/limb
-C UltraSPARC T3: 25.5
+C UltraSPARC T3: 25.5
C UltraSPARC T4: 3.8
C INPUT PARAMETERS
diff -r 84dd2a40a886 -r e5d36fd9cd95 mpn/sparc64/ultrasparct3/sub_n.asm
--- a/mpn/sparc64/ultrasparct3/sub_n.asm Wed Mar 06 12:33:38 2013 +0100
+++ b/mpn/sparc64/ultrasparct3/sub_n.asm Thu Mar 07 07:43:56 2013 +0100
@@ -1,5 +1,7 @@
dnl SPARC v9 mpn_sub_n for T3/T4.
+dnl Contributed to the GNU project by David Miller.
+
dnl Copyright 2013 Free Software Foundation, Inc.
dnl This file is part of the GNU MP Library.
diff -r 84dd2a40a886 -r e5d36fd9cd95 mpn/sparc64/ultrasparct3/submul_1.asm
--- a/mpn/sparc64/ultrasparct3/submul_1.asm Wed Mar 06 12:33:38 2013 +0100
+++ b/mpn/sparc64/ultrasparct3/submul_1.asm Thu Mar 07 07:43:56 2013 +0100
@@ -1,5 +1,7 @@
dnl SPARC v9 mpn_submul_1 for T3/T4.
+dnl Contributed to the GNU project by David Miller.
+
dnl Copyright 2013 Free Software Foundation, Inc.
dnl This file is part of the GNU MP Library.
@@ -20,8 +22,8 @@
include(`../config.m4')
C cycles/limb
-C UltraSPARC T3: 29.5
-C UltraSPARC T4: 6.5
+C UltraSPARC T3: ?
+C UltraSPARC T4: 5.8
C INPUT PARAMETERS
define(`rp', `%i0')
@@ -37,12 +39,12 @@
save %sp, -176, %sp
subcc n, 1, n
be L(final_one)
- clr %o5
+ subcc %g0, %g0, %o5
L(top):
ldx [up+0], %l0
+ ldx [up+8], %l1
ldx [rp+0], %l2
- ldx [up+8], %l1
ldx [rp+8], %l3
mulx %l0, v0, %o0
add up, 16, up
@@ -51,15 +53,13 @@
mulx %l1, v0, %o2
sub n, 2, n
umulxhi %l1, v0, %o3
- addcc %o5, %o0, %o0
+ addxccc %o5, %o0, %o0
addxc %g0, %o1, %o5
subcc %l2, %o0, %o0
- addxc %g0, %o5, %o5
stx %o0, [rp-16]
- addcc %o5, %o2, %o2
+ addxccc %o5, %o2, %o2
addxc %g0, %o3, %o5
subcc %l3, %o2, %o2
- addxc %g0, %o5, %o5
brgz n, L(top)
stx %o2, [rp-8]
@@ -71,13 +71,13 @@
ldx [rp+0], %l2
mulx %l0, v0, %o0
umulxhi %l0, v0, %o1
- addcc %o5, %o0, %o0
+ addxccc %o5, %o0, %o0
addxc %g0, %o1, %o5
subcc %l2, %o0, %o0
- addxc %g0, %o5, %o5
stx %o0, [rp+0]
L(done):
+ addxc %g0, %o5, %i0
ret
- restore %o5, 0, %o0
+ restore
EPILOGUE()
More information about the gmp-commit
mailing list