summaryrefslogtreecommitdiff
path: root/tune/div_qr_1_tune.c
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2021-07-01 20:34:15 +0200
committerNiels Möller <nisse@lysator.liu.se>2021-07-01 20:34:15 +0200
commita9b1a2f0a7a8d29a9d77df3a5973629ec622c3bc (patch)
treeef3c90137b30354a02139738406fbbc9e3560389 /tune/div_qr_1_tune.c
parentc119edcc7a78e40560727d5e9505a392f956715a (diff)
downloadgmp-a9b1a2f0a7a8d29a9d77df3a5973629ec622c3bc.tar.gz
New mpn_div_qr_1n_pi1 variants, DIV_QR_1N_METHOD 3 and 4.
Not enabled, but hooked into the speed and tuneup programs.
Diffstat (limited to 'tune/div_qr_1_tune.c')
-rw-r--r--tune/div_qr_1_tune.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/tune/div_qr_1_tune.c b/tune/div_qr_1_tune.c
index ef680eecc..3c30558a3 100644
--- a/tune/div_qr_1_tune.c
+++ b/tune/div_qr_1_tune.c
@@ -34,10 +34,13 @@ see https://www.gnu.org/licenses/. */
mp_limb_t mpn_div_qr_1n_pi1_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t, mp_limb_t);
mp_limb_t mpn_div_qr_1n_pi1_2 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t, mp_limb_t);
+mp_limb_t mpn_div_qr_1n_pi1_3 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t, mp_limb_t);
#if !HAVE_NATIVE_mpn_div_qr_1n_pi1
-#define __gmpn_div_qr_1n_pi1 \
- (div_qr_1n_pi1_method == 1 ? mpn_div_qr_1n_pi1_1 : mpn_div_qr_1n_pi1_2)
+#define __gmpn_div_qr_1n_pi1 \
+ (div_qr_1n_pi1_method <= 2 \
+ ? (div_qr_1n_pi1_method == 1 ? mpn_div_qr_1n_pi1_1 : mpn_div_qr_1n_pi1_2) \
+ : (div_qr_1n_pi1_method == 3 ? mpn_div_qr_1n_pi1_3 : mpn_div_qr_1n_pi1_4))
#endif
#undef mpn_div_qr_1