[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