[Gmp-commit] /var/hg/gmp: 2 new changesets

mercurial at gmplib.org mercurial at gmplib.org
Sun Apr 26 06:00:03 UTC 2015


details:   /var/hg/gmp/rev/de02ac562a58
changeset: 16595:de02ac562a58
user:      Marco Bodrato <bodrato at mail.dm.unipi.it>
date:      Sun Apr 26 07:59:42 2015 +0200
description:
tune: support mpn_neg, mpn_{add,sub}_1{,_inplace}, mpz_2fac_ui

details:   /var/hg/gmp/rev/28689674713a
changeset: 16596:28689674713a
user:      Marco Bodrato <bodrato at mail.dm.unipi.it>
date:      Sun Apr 26 07:59:47 2015 +0200
description:
ChangeLog

diffstat:

 ChangeLog     |   9 +++++++++
 tune/common.c |  33 ++++++++++++++++++++++++++++++++-
 tune/speed.c  |   8 +++++++-
 tune/speed.h  |   8 +++++++-
 4 files changed, 55 insertions(+), 3 deletions(-)

diffs (165 lines):

diff -r d25a13804dae -r 28689674713a ChangeLog
--- a/ChangeLog	Sun Apr 26 03:12:29 2015 +0200
+++ b/ChangeLog	Sun Apr 26 07:59:47 2015 +0200
@@ -3,6 +3,15 @@
 	* mpn/x86_64/coreibwl/mul_basecase.asm: New file.
 	* mpn/x86_64/coreibwl/sqr_basecase.asm: New file.
 
+2015-04-26 Marco Bodrato <bodrato at mail.dm.unipi.it>
+
+	* tune/common.c (speed_mpn_neg, speed_mpz_2fac_ui): New functions.
+	(speed_mpn_add_1, speed_mpn_add_1_inplace): New functions.
+	(speed_mpn_sub_1, speed_mpn_sub_1_inplace): New functions.
+	* tune/speed.h: Declare them all.
+        * tune/speed.c (routine): Added mpn_neg, mpn_add_1, mpn_sub_1,
+	mpn_add_1_inplace, mpn_sub_1_inplace, and mpz_2fac_ui.
+
 2015-04-25 Marco Bodrato <bodrato at mail.dm.unipi.it>
 
 	* mpn/generic/invert.c: Split add in the correction test.
diff -r d25a13804dae -r 28689674713a tune/common.c
--- a/tune/common.c	Sun Apr 26 03:12:29 2015 +0200
+++ b/tune/common.c	Sun Apr 26 07:59:47 2015 +0200
@@ -1,6 +1,6 @@
 /* Shared speed subroutines.
 
-Copyright 1999-2006, 2008-2012 Free Software Foundation, Inc.
+Copyright 1999-2006, 2008-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU MP Library.
 
@@ -474,6 +474,11 @@
   SPEED_ROUTINE_MPN_COPY (mpn_com);
 }
 double
+speed_mpn_neg (struct speed_params *s)
+{
+  SPEED_ROUTINE_MPN_COPY (mpn_neg);
+}
+double
 speed_mpn_sec_tabselect (struct speed_params *s)
 {
   SPEED_ROUTINE_MPN_TABSELECT (mpn_sec_tabselect);
@@ -986,6 +991,26 @@
 {
 SPEED_ROUTINE_MPN_BINARY_N (mpn_sub_n);
 }
+double
+speed_mpn_add_1 (struct speed_params *s)
+{
+  SPEED_ROUTINE_MPN_UNARY_1 (mpn_add_1);
+}
+double
+speed_mpn_add_1_inplace (struct speed_params *s)
+{
+  SPEED_ROUTINE_MPN_UNARY_1_INPLACE (mpn_add_1);
+}
+double
+speed_mpn_sub_1 (struct speed_params *s)
+{
+  SPEED_ROUTINE_MPN_UNARY_1 (mpn_sub_1);
+}
+double
+speed_mpn_sub_1_inplace (struct speed_params *s)
+{
+  SPEED_ROUTINE_MPN_UNARY_1_INPLACE (mpn_sub_1);
+}
 
 double
 speed_mpn_add_err1_n (struct speed_params *s)
@@ -1732,6 +1757,12 @@
   SPEED_ROUTINE_MPZ_FAC_UI (mpz_fac_ui);
 }
 
+double
+speed_mpz_2fac_ui (struct speed_params *s)
+{
+  SPEED_ROUTINE_MPZ_UI (mpz_2fac_ui);
+}
+
 
 double
 speed_mpn_fib2_ui (struct speed_params *s)
diff -r d25a13804dae -r 28689674713a tune/speed.c
--- a/tune/speed.c	Sun Apr 26 03:12:29 2015 +0200
+++ b/tune/speed.c	Sun Apr 26 07:59:47 2015 +0200
@@ -1,6 +1,6 @@
 /* Speed measuring program.
 
-Copyright 1999-2003, 2005, 2006, 2008-2012 Free Software Foundation, Inc.
+Copyright 1999-2003, 2005, 2006, 2008-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU MP Library.
 
@@ -162,6 +162,10 @@
 
   { "mpn_add_n",         speed_mpn_add_n,     FLAG_R_OPTIONAL },
   { "mpn_sub_n",         speed_mpn_sub_n,     FLAG_R_OPTIONAL },
+  { "mpn_add_1",         speed_mpn_add_1,     FLAG_R },
+  { "mpn_add_1_inplace", speed_mpn_add_1_inplace, FLAG_R },
+  { "mpn_sub_1",         speed_mpn_sub_1,     FLAG_R },
+  { "mpn_sub_1_inplace", speed_mpn_sub_1_inplace, FLAG_R },
 
   { "mpn_add_err1_n",    speed_mpn_add_err1_n    },
   { "mpn_add_err2_n",    speed_mpn_add_err2_n    },
@@ -284,6 +288,7 @@
   { "mpn_xor_n",         speed_mpn_xor_n,  FLAG_R_OPTIONAL },
   { "mpn_xnor_n",        speed_mpn_xnor_n, FLAG_R_OPTIONAL },
   { "mpn_com",           speed_mpn_com              },
+  { "mpn_neg",           speed_mpn_neg              },
 
   { "mpn_popcount",      speed_mpn_popcount         },
   { "mpn_hamdist",       speed_mpn_hamdist          },
@@ -407,6 +412,7 @@
   { "mpz_bin_uiui",      speed_mpz_bin_uiui, FLAG_NODATA | FLAG_R_OPTIONAL },
   { "mpz_bin_ui",        speed_mpz_bin_ui,   FLAG_NODATA | FLAG_R_OPTIONAL },
   { "mpz_fac_ui",        speed_mpz_fac_ui,   FLAG_NODATA   },
+  { "mpz_2fac_ui",       speed_mpz_2fac_ui,  FLAG_NODATA   },
   { "mpz_powm",          speed_mpz_powm             },
   { "mpz_powm_mod",      speed_mpz_powm_mod         },
   { "mpz_powm_redc",     speed_mpz_powm_redc        },
diff -r d25a13804dae -r 28689674713a tune/speed.h
--- a/tune/speed.h	Sun Apr 26 03:12:29 2015 +0200
+++ b/tune/speed.h	Sun Apr 26 07:59:47 2015 +0200
@@ -1,6 +1,6 @@
 /* Header for speed and threshold things.
 
-Copyright 1999-2003, 2005, 2006, 2008-2013 Free Software Foundation, Inc.
+Copyright 1999-2003, 2005, 2006, 2008-2015 Free Software Foundation, Inc.
 
 This file is part of the GNU MP Library.
 
@@ -155,6 +155,8 @@
 double speed_mpf_init_clear (struct speed_params *);
 
 double speed_mpn_add_n (struct speed_params *);
+double speed_mpn_add_1 (struct speed_params *);
+double speed_mpn_add_1_inplace (struct speed_params *);
 double speed_mpn_add_err1_n (struct speed_params *);
 double speed_mpn_add_err2_n (struct speed_params *);
 double speed_mpn_add_err3_n (struct speed_params *);
@@ -181,6 +183,7 @@
 double speed_mpn_cnd_add_n (struct speed_params *);
 double speed_mpn_cnd_sub_n (struct speed_params *);
 double speed_mpn_com (struct speed_params *);
+double speed_mpn_neg (struct speed_params *);
 double speed_mpn_copyd (struct speed_params *);
 double speed_mpn_copyi (struct speed_params *);
 double speed_MPN_COPY (struct speed_params *);
@@ -327,6 +330,8 @@
 double speed_mpn_sqrtrem (struct speed_params *);
 double speed_mpn_rootrem (struct speed_params *);
 double speed_mpn_sub_n (struct speed_params *);
+double speed_mpn_sub_1 (struct speed_params *);
+double speed_mpn_sub_1_inplace (struct speed_params *);
 double speed_mpn_sub_err1_n (struct speed_params *);
 double speed_mpn_sub_err2_n (struct speed_params *);
 double speed_mpn_sub_err3_n (struct speed_params *);
@@ -378,6 +383,7 @@
 double speed_mpz_bin_uiui (struct speed_params *);
 double speed_mpz_bin_ui (struct speed_params *);
 double speed_mpz_fac_ui (struct speed_params *);
+double speed_mpz_2fac_ui (struct speed_params *);
 double speed_mpz_fib_ui (struct speed_params *);
 double speed_mpz_fib2_ui (struct speed_params *);
 double speed_mpz_init_clear (struct speed_params *);


More information about the gmp-commit mailing list