[Gmp-commit] /var/hg/gmp: Update TODO list.

mercurial at gmplib.org mercurial at gmplib.org
Mon Feb 28 16:40:56 CET 2011

details:   /var/hg/gmp/rev/e8414fc82069
changeset: 13934:e8414fc82069
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Mon Feb 28 16:40:50 2011 +0100
Update TODO list.


 mpn/x86/atom/sse2/mul_basecase.asm |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diffs (22 lines):

diff -r ab657cfe1a12 -r e8414fc82069 mpn/x86/atom/sse2/mul_basecase.asm
--- a/mpn/x86/atom/sse2/mul_basecase.asm	Mon Feb 28 16:36:33 2011 +0100
+++ b/mpn/x86/atom/sse2/mul_basecase.asm	Mon Feb 28 16:40:50 2011 +0100
@@ -25,14 +25,16 @@
 C  * Check if 'jmp N(%esp)' is well-predicted enough to allow us to combine the
 C    4 large loops into one; we could use it for the outer loop branch.
-C  * Optimise code outside if inner loops.
+C  * Optimise code outside of inner loops.
 C  * Play with rp and up offsets to save a bunch of lea insns.
 C  * Write combined addmul_1 feed-in a wind-down code, and use when iterating
 C    outer each loop.  ("Overlapping software pipelining")
-C  * Postpone push of ebx until we know vn > 1.
+C  * Postpone push of ebx until we know vn > 1.  Perhaps use caller-saves regs
+C    for inlined mul_1, allowing us to postpone all pushes.
 C  * Perhaps write special code for un < M, for some small M.
 C  * Replace addmul_1 loop by less pipelined loop.  This could save perhaps 25%
 C    of the code size.
+C  * Replace inlined addmul_1 with smaller code from aorsmul_1.asm.
 C void mpn_mul_basecase (mp_ptr wp,
 C                        mp_srcptr xp, mp_size_t xn,

More information about the gmp-commit mailing list