[Gmp-commit] /var/hg/gmp: Update DIV_QR_1N_PI1_METHOD for machines benefiting...

mercurial at gmplib.org mercurial at gmplib.org
Thu Jul 27 21:31:57 CEST 2023


details:   /var/hg/gmp/rev/66e10f88f532
changeset: 18409:66e10f88f532
user:      Niels Möller <nisse at lysator.liu.se>
date:      Thu Jul 27 21:31:49 2023 +0200
description:
Update DIV_QR_1N_PI1_METHOD for machines benefiting from 3 or 4.

diffstat:

 ChangeLog                              |  13 +++++++++++++
 mpn/arm64/applem1/gmp-mparam.h         |   3 ++-
 mpn/arm64/cora57/gmp-mparam.h          |   3 ++-
 mpn/arm64/xgene1/gmp-mparam.h          |   3 ++-
 mpn/powerpc64/mode64/p7/gmp-mparam.h   |   3 ++-
 mpn/powerpc64/mode64/p8/gmp-mparam.h   |   3 ++-
 mpn/powerpc64/mode64/p9/gmp-mparam.h   |   3 ++-
 mpn/sparc64/ultrasparct45/gmp-mparam.h |   3 ++-
 mpn/x86/coreihwl/gmp-mparam.h          |   3 ++-
 mpn/x86/k7/gmp-mparam.h                |   3 ++-
 10 files changed, 31 insertions(+), 9 deletions(-)

diffs (137 lines):

diff -r b71142e53f49 -r 66e10f88f532 ChangeLog
--- a/ChangeLog	Thu Jul 27 17:52:14 2023 +0200
+++ b/ChangeLog	Thu Jul 27 21:31:49 2023 +0200
@@ -1,3 +1,16 @@
+2023-07-27  Niels Möller  <nisse at lysator.liu.se>
+
+	Update DIV_QR_1N_PI1_METHOD to use method 3 or 4.
+	* mpn/arm64/applem1/gmp-mparam.h: Update DIV_QR_1N_PI1_METHOD.
+	* mpn/arm64/cora57/gmp-mparam.h: Likewise.
+	* mpn/arm64/xgene1/gmp-mparam.h: Likewise.
+	* mpn/powerpc64/mode64/p7/gmp-mparam.h: Likewise.
+	* mpn/powerpc64/mode64/p8/gmp-mparam.h: Likewise.
+	* mpn/powerpc64/mode64/p9/gmp-mparam.h: Likewise.
+	* mpn/sparc64/ultrasparct45/gmp-mparam.h: Likewise.
+	* mpn/x86/coreihwl/gmp-mparam.h: Likewise.
+	* mpn/x86/k7/gmp-mparam.h: Likewise.
+
 2023-07-26  Niels Möller  <nisse at lysator.liu.se>
 
 	* tune/speed.h (mpn_hgcd_appr_lehmer): Fix declaration to use
diff -r b71142e53f49 -r 66e10f88f532 mpn/arm64/applem1/gmp-mparam.h
--- a/mpn/arm64/applem1/gmp-mparam.h	Thu Jul 27 17:52:14 2023 +0200
+++ b/mpn/arm64/applem1/gmp-mparam.h	Thu Jul 27 21:31:49 2023 +0200
@@ -44,7 +44,8 @@
 #define MOD_1_2_TO_MOD_1_4_THRESHOLD        18
 #define PREINV_MOD_1_TO_MOD_1_THRESHOLD     11
 #define USE_PREINV_DIVREM_1                  1  /* native */
-#define DIV_QR_1N_PI1_METHOD                 1  /* 2.49% faster than 2 */
+/* From m1.gmplib.org, 2023-07-21 */
+#define DIV_QR_1N_PI1_METHOD                 3  /* 13.35% faster than 1 */
 #define DIV_QR_1_NORM_THRESHOLD              2
 #define DIV_QR_1_UNNORM_THRESHOLD            1
 #define DIV_QR_2_PI2_THRESHOLD               9
diff -r b71142e53f49 -r 66e10f88f532 mpn/arm64/cora57/gmp-mparam.h
--- a/mpn/arm64/cora57/gmp-mparam.h	Thu Jul 27 17:52:14 2023 +0200
+++ b/mpn/arm64/cora57/gmp-mparam.h	Thu Jul 27 21:31:49 2023 +0200
@@ -46,7 +46,8 @@
 #define MOD_1_2_TO_MOD_1_4_THRESHOLD        42
 #define PREINV_MOD_1_TO_MOD_1_THRESHOLD     15
 #define USE_PREINV_DIVREM_1                  1
-#define DIV_QR_1N_PI1_METHOD                 1  /* 34.95% faster than 2 */
+/* From gcc117.osuosl.org, 2023-07-27 */
+#define DIV_QR_1N_PI1_METHOD                 4  /* 8.57% faster than 2 */
 #define DIV_QR_1_NORM_THRESHOLD              5
 #define DIV_QR_1_UNNORM_THRESHOLD            5
 #define DIV_QR_2_PI2_THRESHOLD           MP_SIZE_T_MAX  /* never */
diff -r b71142e53f49 -r 66e10f88f532 mpn/arm64/xgene1/gmp-mparam.h
--- a/mpn/arm64/xgene1/gmp-mparam.h	Thu Jul 27 17:52:14 2023 +0200
+++ b/mpn/arm64/xgene1/gmp-mparam.h	Thu Jul 27 21:31:49 2023 +0200
@@ -46,7 +46,8 @@
 #define MOD_1_2_TO_MOD_1_4_THRESHOLD        22
 #define PREINV_MOD_1_TO_MOD_1_THRESHOLD     13
 #define USE_PREINV_DIVREM_1                  1
-#define DIV_QR_1N_PI1_METHOD                 1  /* 37.38% faster than 2 */
+/* From gcc185.osuosl.org, 2023-07-26 */
+#define DIV_QR_1N_PI1_METHOD                 3  /* 5.60% faster than 4 */
 #define DIV_QR_1_NORM_THRESHOLD              1
 #define DIV_QR_1_UNNORM_THRESHOLD            1
 #define DIV_QR_2_PI2_THRESHOLD              14
diff -r b71142e53f49 -r 66e10f88f532 mpn/powerpc64/mode64/p7/gmp-mparam.h
--- a/mpn/powerpc64/mode64/p7/gmp-mparam.h	Thu Jul 27 17:52:14 2023 +0200
+++ b/mpn/powerpc64/mode64/p7/gmp-mparam.h	Thu Jul 27 21:31:49 2023 +0200
@@ -43,7 +43,8 @@
 #define MOD_1_2_TO_MOD_1_4_THRESHOLD        16
 #define PREINV_MOD_1_TO_MOD_1_THRESHOLD     13
 #define USE_PREINV_DIVREM_1                  0
-#define DIV_QR_1N_PI1_METHOD                 1  /* 3.47% faster than 2 */
+/* From gcc110.osuosl.org, 2023-07-27 */
+#define DIV_QR_1N_PI1_METHOD                 3  /* 8.45% faster than 4 */
 #define DIV_QR_1_NORM_THRESHOLD              1
 #define DIV_QR_1_UNNORM_THRESHOLD            1
 #define DIV_QR_2_PI2_THRESHOLD           MP_SIZE_T_MAX  /* never */
diff -r b71142e53f49 -r 66e10f88f532 mpn/powerpc64/mode64/p8/gmp-mparam.h
--- a/mpn/powerpc64/mode64/p8/gmp-mparam.h	Thu Jul 27 17:52:14 2023 +0200
+++ b/mpn/powerpc64/mode64/p8/gmp-mparam.h	Thu Jul 27 21:31:49 2023 +0200
@@ -43,7 +43,8 @@
 #define MOD_1_2_TO_MOD_1_4_THRESHOLD        22
 #define PREINV_MOD_1_TO_MOD_1_THRESHOLD     10
 #define USE_PREINV_DIVREM_1                  0
-#define DIV_QR_1N_PI1_METHOD                 2  /* 16.97% faster than 1 */
+/* From gcc112.osuosl.org, 2023-07-27 */
+#define DIV_QR_1N_PI1_METHOD                 3  /* 13.00% faster than 4 */
 #define DIV_QR_1_NORM_THRESHOLD              2
 #define DIV_QR_1_UNNORM_THRESHOLD            1
 #define DIV_QR_2_PI2_THRESHOLD               9
diff -r b71142e53f49 -r 66e10f88f532 mpn/powerpc64/mode64/p9/gmp-mparam.h
--- a/mpn/powerpc64/mode64/p9/gmp-mparam.h	Thu Jul 27 17:52:14 2023 +0200
+++ b/mpn/powerpc64/mode64/p9/gmp-mparam.h	Thu Jul 27 21:31:49 2023 +0200
@@ -43,7 +43,8 @@
 #define MOD_1_2_TO_MOD_1_4_THRESHOLD        44
 #define PREINV_MOD_1_TO_MOD_1_THRESHOLD     11
 #define USE_PREINV_DIVREM_1                  0
-#define DIV_QR_1N_PI1_METHOD                 2  /* 19.28% faster than 1 */
+/* From gcc120.osuosl.org, 2023-07-27 */
+#define DIV_QR_1N_PI1_METHOD                 3  /* 6.48% faster than 4 */
 #define DIV_QR_1_NORM_THRESHOLD              3
 #define DIV_QR_1_UNNORM_THRESHOLD            2
 #define DIV_QR_2_PI2_THRESHOLD               7
diff -r b71142e53f49 -r 66e10f88f532 mpn/sparc64/ultrasparct45/gmp-mparam.h
--- a/mpn/sparc64/ultrasparct45/gmp-mparam.h	Thu Jul 27 17:52:14 2023 +0200
+++ b/mpn/sparc64/ultrasparct45/gmp-mparam.h	Thu Jul 27 21:31:49 2023 +0200
@@ -46,7 +46,8 @@
 #define MOD_1_2_TO_MOD_1_4_THRESHOLD         0  /* never mpn_mod_1s_2p */
 #define PREINV_MOD_1_TO_MOD_1_THRESHOLD     13
 #define USE_PREINV_DIVREM_1                  1
-#define DIV_QR_1N_PI1_METHOD                 2  /* 27.84% faster than 1 */
+/* From gcc105.fsffrance.org, 2023-07-25 */
+#define DIV_QR_1N_PI1_METHOD                 4  /* 7.06% faster than 2 */
 #define DIV_QR_1_NORM_THRESHOLD              3
 #define DIV_QR_1_UNNORM_THRESHOLD            2
 #define DIV_QR_2_PI2_THRESHOLD               5
diff -r b71142e53f49 -r 66e10f88f532 mpn/x86/coreihwl/gmp-mparam.h
--- a/mpn/x86/coreihwl/gmp-mparam.h	Thu Jul 27 17:52:14 2023 +0200
+++ b/mpn/x86/coreihwl/gmp-mparam.h	Thu Jul 27 21:31:49 2023 +0200
@@ -43,7 +43,8 @@
 #define MOD_1_2_TO_MOD_1_4_THRESHOLD        10
 #define PREINV_MOD_1_TO_MOD_1_THRESHOLD      5
 #define USE_PREINV_DIVREM_1                  1  /* native */
-#define DIV_QR_1N_PI1_METHOD                 1  /* 11.44% faster than 2 */
+/* From sky.gmplib.org, 2023-07-20 */
+#define DIV_QR_1N_PI1_METHOD                 3  /* 5.86% faster than 1 */
 #define DIV_QR_1_NORM_THRESHOLD             13
 #define DIV_QR_1_UNNORM_THRESHOLD        MP_SIZE_T_MAX  /* never */
 #define DIV_QR_2_PI2_THRESHOLD           MP_SIZE_T_MAX  /* never */
diff -r b71142e53f49 -r 66e10f88f532 mpn/x86/k7/gmp-mparam.h
--- a/mpn/x86/k7/gmp-mparam.h	Thu Jul 27 17:52:14 2023 +0200
+++ b/mpn/x86/k7/gmp-mparam.h	Thu Jul 27 21:31:49 2023 +0200
@@ -43,7 +43,8 @@
 #define MOD_1_2_TO_MOD_1_4_THRESHOLD         0  /* never mpn_mod_1s_2p */
 #define PREINV_MOD_1_TO_MOD_1_THRESHOLD     13
 #define USE_PREINV_DIVREM_1                  1  /* native */
-#define DIV_QR_1N_PI1_METHOD                 1  /* 27.00% faster than 2 */
+/* From mati.gmplib.org, 2023-07-21 */
+#define DIV_QR_1N_PI1_METHOD                 3  /* 9.52% faster than 1 */
 #define DIV_QR_1_NORM_THRESHOLD              4
 #define DIV_QR_1_UNNORM_THRESHOLD        MP_SIZE_T_MAX  /* never */
 #define DIV_QR_2_PI2_THRESHOLD           MP_SIZE_T_MAX  /* never */


More information about the gmp-commit mailing list