diff --git a/mpn/generic/mulhigh_n.c b/mpn/generic/mulhigh_n.c index c74a5828..7d488b6a 100644 --- a/mpn/generic/mulhigh_n.c +++ b/mpn/generic/mulhigh_n.c @@ -103,7 +103,7 @@ mpn_mulshort_n_basecase (mp_ptr rp, mp_srcptr xp, mp_srcptr yp, mp_size_t n) mp_limb_t t1, t2, t3; #endif - ASSERT (n >= 3); + ASSERT (n >= 3); // this restriction doesn't make a lot of sense in general ASSERT_MPN (xp, n); ASSERT_MPN (yp, n); ASSERT (!MPN_OVERLAP_P (rp, 2 * n, xp, n)); diff --git a/mpn/sparc32/v9/gmp-mparam.h b/mpn/sparc32/v9/gmp-mparam.h index f5b2775a..79eba9ae 100644 --- a/mpn/sparc32/v9/gmp-mparam.h +++ b/mpn/sparc32/v9/gmp-mparam.h @@ -15,7 +15,7 @@ #define MULLOW_DC_THRESHOLD 35 #define MULLOW_MUL_THRESHOLD 9970 -#define MULHIGH_BASECASE_THRESHOLD 0 /* always */ +#define MULHIGH_BASECASE_THRESHOLD 3 /* always */ #define MULHIGH_DC_THRESHOLD 34 #define MULHIGH_MUL_THRESHOLD 9970 diff --git a/tune/tuneup.c b/tune/tuneup.c index ef0ab1c8..b76642c6 100644 --- a/tune/tuneup.c +++ b/tune/tuneup.c @@ -918,14 +918,14 @@ tune_mulhigh (gmp_randstate_t rands) param.name = "MULHIGH_BASECASE_THRESHOLD"; param.min_size = 3; - param.min_is_always = 1; + param.min_is_always = 3; //param.max_size = MULHIGH_BASECASE_THRESHOLD_LIMIT-1; one (&mulhigh_basecase_threshold, rands, ¶m); param.min_is_always = 0; /* ??? */ param.name = "MULHIGH_DC_THRESHOLD"; - param.min_size = mulhigh_basecase_threshold; + param.min_size = MAX(mulhigh_basecase_threshold,4); param.max_size = 1000; one (&mulhigh_dc_threshold, rands, ¶m);