[Gmp-commit] /var/hg/gmp-5.0: 5 new changesets
mercurial at gmplib.org
mercurial at gmplib.org
Sun May 1 13:59:56 CEST 2011
details: /var/hg/gmp-5.0/rev/83ed2f6a5c24
changeset: 13461:83ed2f6a5c24
user: Torbjorn Granlund <tege at gmplib.org>
date: Sun May 01 13:39:27 2011 +0200
description:
Fix typo in MULFUNC_PROLOGUE.
details: /var/hg/gmp-5.0/rev/9832353e5432
changeset: 13462:9832353e5432
user: Torbjorn Granlund <tege at gmplib.org>
date: Sun May 01 13:46:05 2011 +0200
description:
Fix mpn_add_n_sub_n usage.
details: /var/hg/gmp-5.0/rev/e21295dd4ee6
changeset: 13463:e21295dd4ee6
user: Torbjorn Granlund <tege at gmplib.org>
date: Sun May 01 13:48:16 2011 +0200
description:
Fix mpn_add_n_sub_n usage.
details: /var/hg/gmp-5.0/rev/9017e39345c0
changeset: 13464:9017e39345c0
user: Torbjorn Granlund <tege at gmplib.org>
date: Sun May 01 13:57:39 2011 +0200
description:
Call mpn_sublsh2_n and mpn_sublsh_n with correct args.
details: /var/hg/gmp-5.0/rev/d85fe5b8a056
changeset: 13465:d85fe5b8a056
user: Torbjorn Granlund <tege at gmplib.org>
date: Sun May 01 13:59:51 2011 +0200
description:
*** empty log message ***
diffstat:
ChangeLog | 15 +++++++++++++++
mpn/generic/toom33_mul.c | 12 +++++++-----
mpn/generic/toom3_sqr.c | 5 +++--
mpn/generic/toom63_mul.c | 6 +++---
mpn/generic/toom_interpolate_6pts.c | 4 ++--
mpn/x86/p6/sse2/mod_1_4.asm | 23 ++++++++++-------------
6 files changed, 40 insertions(+), 25 deletions(-)
diffs (181 lines):
diff -r 6285e9364044 -r d85fe5b8a056 ChangeLog
--- a/ChangeLog Sun May 01 12:08:19 2011 +0200
+++ b/ChangeLog Sun May 01 13:59:51 2011 +0200
@@ -41,6 +41,10 @@
* doc/gmp.texi: Remove void return type from constructors. Document
explicit constructors. Document mpf_class::mpf_class(mpf_t).
+2011-02-24 Torbjorn Granlund <tege at gmplib.org>
+
+ * mpn/x86/p6/sse2/mod_1_4.asm: Fix typo in MULFUNC_PROLOGUE.
+
2011-02-04 Torbjorn Granlund <tege at gmplib.org>
* mpn/x86_64/core2/popcount.asm: Add a MULFUNC_PROLOGUE.
@@ -74,6 +78,17 @@
Solaris assembler bug.
* mpn/x86_64/mpn/x86_64/divrem_2.asm: Likewise.
+2010-03-25 Torbjorn Granlund <tege at gmplib.org>
+
+ * mpn/generic/toom33_mul.c: Fix mpn_add_n_sub_n usage.
+ * mpn/generic/toom3_sqr.c: Likewise.
+ * mpn/generic/toom63_mul.c: Likewise.
+
+2010-03-19 Torbjorn Granlund <tege at gmplib.org>
+
+ * mpn/generic/toom_interpolate_6pts.c: Call mpn_sublsh2_n and
+ mpn_sublsh_n with correct args.
+
2010-02-26 Torbjorn Granlund <tege at gmplib.org>
* mpn/pa64/aors_n.asm: Fix typo in last change.
diff -r 6285e9364044 -r d85fe5b8a056 mpn/generic/toom33_mul.c
--- a/mpn/generic/toom33_mul.c Sun May 01 12:08:19 2011 +0200
+++ b/mpn/generic/toom33_mul.c Sun May 01 13:59:51 2011 +0200
@@ -8,7 +8,7 @@
SAFE TO REACH IT THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST
GUARANTEED THAT IT WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE.
-Copyright 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
@@ -121,15 +121,16 @@
if (cy == 0 && mpn_cmp (gp, a1, n) < 0)
{
cy = mpn_add_n_sub_n (as1, asm1, a1, gp, n);
- as1[n] = 0;
+ as1[n] = cy >> 1;
asm1[n] = 0;
vm1_neg = 1;
}
else
{
+ mp_limb_t cy2;
cy2 = mpn_add_n_sub_n (as1, asm1, gp, a1, n);
as1[n] = cy + (cy2 >> 1);
- asm1[n] = cy - (cy & 1);
+ asm1[n] = cy - (cy2 & 1);
}
#else
as1[n] = cy + mpn_add_n (as1, gp, a1, n);
@@ -176,15 +177,16 @@
if (cy == 0 && mpn_cmp (gp, b1, n) < 0)
{
cy = mpn_add_n_sub_n (bs1, bsm1, b1, gp, n);
- bs1[n] = 0;
+ bs1[n] = cy >> 1;
bsm1[n] = 0;
vm1_neg ^= 1;
}
else
{
+ mp_limb_t cy2;
cy2 = mpn_add_n_sub_n (bs1, bsm1, gp, b1, n);
bs1[n] = cy + (cy2 >> 1);
- bsm1[n] = cy - (cy & 1);
+ bsm1[n] = cy - (cy2 & 1);
}
#else
bs1[n] = cy + mpn_add_n (bs1, gp, b1, n);
diff -r 6285e9364044 -r d85fe5b8a056 mpn/generic/toom3_sqr.c
--- a/mpn/generic/toom3_sqr.c Sun May 01 12:08:19 2011 +0200
+++ b/mpn/generic/toom3_sqr.c Sun May 01 13:59:51 2011 +0200
@@ -95,14 +95,15 @@
if (cy == 0 && mpn_cmp (gp, a1, n) < 0)
{
cy = mpn_add_n_sub_n (as1, asm1, a1, gp, n);
- as1[n] = 0;
+ as1[n] = cy >> 1;
asm1[n] = 0;
}
else
{
+ mp_limb_t cy2;
cy2 = mpn_add_n_sub_n (as1, asm1, gp, a1, n);
as1[n] = cy + (cy2 >> 1);
- asm1[n] = cy - (cy & 1);
+ asm1[n] = cy - (cy2 & 1);
}
#else
as1[n] = cy + mpn_add_n (as1, gp, a1, n);
diff -r 6285e9364044 -r d85fe5b8a056 mpn/generic/toom63_mul.c
--- a/mpn/generic/toom63_mul.c Sun May 01 12:08:19 2011 +0200
+++ b/mpn/generic/toom63_mul.c Sun May 01 13:59:51 2011 +0200
@@ -149,7 +149,7 @@
if (cy == 0 && mpn_cmp (ws, b1, n) < 0)
{
cy = mpn_add_n_sub_n (v3, v1, b1, ws, n);
- v3[n] = 0;
+ v3[n] = cy >> 1;
v1[n] = 0;
sign = ~sign;
}
@@ -157,8 +157,8 @@
{
mp_limb_t cy2;
cy2 = mpn_add_n_sub_n (v3, v1, ws, b1, n);
- w3[n] = cy + (cy2 >> 1);
- w1[n] = cy - (cy & 1);
+ v3[n] = cy + (cy2 >> 1);
+ v1[n] = cy - (cy2 & 1);
}
#else
v3[n] = cy + mpn_add_n (v3, ws, b1, n);
diff -r 6285e9364044 -r d85fe5b8a056 mpn/generic/toom_interpolate_6pts.c
--- a/mpn/generic/toom_interpolate_6pts.c Sun May 01 12:08:19 2011 +0200
+++ b/mpn/generic/toom_interpolate_6pts.c Sun May 01 13:59:51 2011 +0200
@@ -169,9 +169,9 @@
/* W2 -= W0<<2 */
#if HAVE_NATIVE_mpn_sublsh_n || HAVE_NATIVE_mpn_sublsh2_n
#if HAVE_NATIVE_mpn_sublsh2_n
- cy = mpn_sublsh2_n(w2, w0, w0n);
+ cy = mpn_sublsh2_n(w2, w2, w0, w0n);
#else
- cy = mpn_sublsh_n(w2, w0, w0n, 2);
+ cy = mpn_sublsh_n(w2, w2, w0, w0n, 2);
#endif
#else
/* {W4,2*n+1} is now free and can be overwritten. */
diff -r 6285e9364044 -r d85fe5b8a056 mpn/x86/p6/sse2/mod_1_4.asm
--- a/mpn/x86/p6/sse2/mod_1_4.asm Sun May 01 12:08:19 2011 +0200
+++ b/mpn/x86/p6/sse2/mod_1_4.asm Sun May 01 13:59:51 2011 +0200
@@ -1,26 +1,23 @@
dnl Intel P6/SSE2 mpn_mod_1_4.
-dnl Copyright 2009 Free Software Foundation, Inc.
+dnl Copyright 2009, 2011 Free Software Foundation, Inc.
dnl
dnl This file is part of the GNU MP Library.
dnl
-dnl The GNU MP Library is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU Lesser General Public License as
-dnl published by the Free Software Foundation; either version 3 of the
-dnl License, or (at your option) any later version.
+dnl The GNU MP Library is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU Lesser General Public License as published
+dnl by the Free Software Foundation; either version 3 of the License, or (at
+dnl your option) any later version.
dnl
-dnl The GNU MP Library is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-dnl Lesser General Public License for more details.
+dnl The GNU MP Library is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+dnl License for more details.
dnl
dnl You should have received a copy of the GNU Lesser General Public License
dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
include(`../config.m4')
-C TODO
-C * Write P6 specific SSE2 code.
-
-MULFUNC_PROLOGUE(mpn_addmul_1)
+MULFUNC_PROLOGUE(mpn_mod_1s_4p)
include_mpn(`x86/pentium4/sse2/mod_1_4.asm')
More information about the gmp-commit
mailing list