[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