summaryrefslogtreecommitdiff
path: root/tune/tuneup.c
Commit message (Collapse)AuthorAgeFilesLines
* New mpn_div_qr_1n_pi1 variants, DIV_QR_1N_METHOD 3 and 4.Niels Möller2021-07-011-2/+4
| | | | Not enabled, but hooked into the speed and tuneup programs.
* Measure variant 4 and 5 of HGCD2_DIV1_METHOD.Torbjorn Granlund2019-09-231-5/+13
|
* Make tuning of hgcd and gcd take hgcd2 choice into accountNiels M?ller2019-09-231-12/+15
| | | | | | | | | | | | | | | | * gmp-impl.h (hgcd2_func_t) [TUNE_PROGRAM_BUILD]: New typedef. (hgcd2_func) [TUNE_PROGRAM_BUILD]: New function pointer. * tune/hgcd2.c (mpn_hgcd2): New file, with a redefined function to invoke an implementation via the hgcd2_func function pointer. Initially points to the default implementation in mpn/generic/hgcd2.c. * tune/Makefile.am (tuneup_SOURCES): Add hgcd2.c. * tune/tuneup.c (one_method): Return index of selected function. (tune_hgcd2): Set hgcd2_func to point to selected function. So that the later tuning of mpn_hgcd and mpn_gcd uses the right implementation of hgcd2.
* tuneup: Add missing comment for the one_method helper function.Niels M?ller2019-09-161-0/+5
|
* Fix use of TMP_ALLOC in tuneup.cNiels M?ller2019-09-151-1/+1
|
* Rename HGCD2_METHOD --> HGCD2_DIV1_METHOD.Niels M?ller2019-09-141-1/+1
|
* New tuneup helper function, to measure several functions for a fix size.Niels M?ller2019-09-131-101/+71
|
* For hgcd2, add a div1 function handling q <= 7 specially.Niels M?ller2019-09-051-8/+38
| | | | | | | | | | | | | | * mpn/generic/hgcd2.c (div1): Return both r and q as a mp_double_limb_t, replacing the DIV1 macro. (div1) [HGCD2_METHOD == 3]: New implementation handling q <= 7 specially and without branches. Based on Torbj?rn's mail to the gmp-devel list. * tune/speed.c, tune/speed.h, tune/common.c, tune/Makefile.am: Add corresponding speed support. * tune/hgcd2-3.c: New file. * tune/tuneup.c (print_define_with_speedup): New function, to output a comment with speedup compared to next-best method. (tune_hgcd2): Update tuning.
* Tuneup support for HGCD2_METHOD, controlling div1 usage in mpn_hgcd2.Niels M?ller2019-09-041-0/+27
| | | | | | | | | | | * mpn/generic/hgcd2.c (HGCD2_METHOD): New parameter. (DIV1): New macro, using either the div1 function or plain division, depending on the value of HGCD2_METHOD. (mpn_hgcd2): Use DIV1. * tune/speed.c, tune/speed.h, tune/common.c, tune/Makefile.am: Add measuring of mpn_hgcd2 methods. * tune/hgcd2-1.c, tune/hgcd2-2.c: New files. * tune/tuneup.c: Tune HGCD2_METHOD.
* (tune_sqrlo): For SQRLO_BASECASE_THRESHOLD start at 2.Torbjorn Granlund2017-07-021-1/+1
|
* (tune_mullo): For MULLO_BASECASE_THRESHOLD start at 2.Torbjorn Granlund2017-07-021-1/+1
|
* Amend last change: Tweak pi1_bdiv_q_1 / divexact_1 criterion.Torbjorn Granlund2017-02-081-2/+2
|
* (relspeed_div_1_vs_mul_1): Prefer mpn_pi1_bdiv_q_1.Torbjorn Granlund2017-02-071-7/+20
|
* Amend last change.Torbjorn Granlund2017-01-251-1/+1
|
* Break out and optimise powtab computation from mpn/generic/get_str.c and ↵Torbjorn Granlund2017-01-241-2/+3
| | | | mpn/generic/set_str.c.
* (relspeed_div_1_vs_mul_1): New function.Torbjorn Granlund2016-12-311-1/+45
|
* Include just gmp-impl.h, make gmp-impl.h grab gmp.h.Torbjorn Granlund2016-08-291-1/+0
|
* (tune_mu_bdiv): Start at measured BDIV_DC_ thresholds.Torbjorn Granlund2015-10-141-2/+2
|
* tune/tuneup.c (tune_mullo): Set MULLO_MUL_N_THRESHOLD to neverMarco Bodrato2015-08-251-11/+12
| | | | whenever the FFT threshold does not exist.
* Tuning code for SQRLO_*:THRESHOLDs.Marco Bodrato2015-08-251-0/+50
|
* mpn/generic/invertappr.c (mpn_ni_invertappr): Reduce memory used (and ↵Marco Bodrato2015-05-151-3/+3
| | | | related updates)
* (all): Make GCD tuning last since it is not robust.Torbjorn Granlund2015-05-011-7/+7
|
* Add 'static' and 'const' for the benefit of C++.Torbjorn Granlund2014-11-151-2/+0
|
* Fix typo in last change.Torbjorn Granlund2014-11-141-0/+7
|
* Add casts for C++ compatibility.Torbjorn Granlund2014-11-131-16/+18
|
* Ensure DIV_QR_1_NORM_THRESHOLD, DIV_QR_1_UNNORM_THRESHOLD >= 1.Niels M?ller2014-02-171-0/+4
|
* mpn_sec_powm: Replace exponent limb count argument with a bit count.Niels M?ller2014-02-111-8/+3
|
* Fixed off-by-one problem in tuning of mpn_sec_powm.Niels M?ller2014-02-091-2/+12
|
* Update library files license to use LGPL3+ and GPL2+.Torbjorn Granlund2014-01-271-7/+18
|
* Canonicalise copyright headers.Torbjorn Granlund2014-01-191-3/+3
|
* Get rid of BYTES_PER_MP_LIMB, most files affected.Torbjorn Granlund2014-01-191-1/+1
|
* Rename mpn_blah_sec to mpn_sec_blah.Torbjorn Granlund2013-12-261-3/+3
|
* Use https to link to GNU license.Torbjorn Granlund2013-12-021-1/+1
|
* Collapse copyright years.Torbjorn Granlund2013-11-281-2/+1
|
* Implemented tuning of mpn_div_qr_1.Niels M?ller2013-10-201-3/+60
|
* Fix typos.Torbjorn Granlund2013-07-221-1/+1
|
* typos in previous commit (was 32-bit only)Marco Bodrato2012-05-071-1/+1
|
* tune/tuneup.c: Update minimal threshold for FAC_DSC.Marco Bodrato2012-05-071-1/+1
|
* tune/tuneup.c (tune_fac_u): Update DSC_THRESHOLD minimum.Marco Bodrato2012-05-051-1/+1
|
* Measure POWM_SEC_TABLE after the REDC thresholds.Torbjorn Granlund2012-05-041-5/+3
|
* Better handle situation where redc_2 is never faster.Torbjorn Granlund2012-03-071-9/+17
|
* Clean out __GMP_PROTO.Torbjorn Granlund2012-03-031-7/+4
|
* Tuneup support for MUL_TOOM43_TO_TOOM54_THRESHOLD.Niels Möller2012-02-151-0/+10
|
* Remove unused tuneup variables.Torbjorn Granlund2012-01-251-2/+0
|
* mpz_fac_ui: Less memory, less divisions.Marco Bodrato2012-01-161-1/+1
|
* Correct miminum for FAC_DSC.Marco Bodrato2012-01-101-1/+1
|
* tune_fac_ui: ignore fluctuations on small values.Marco Bodrato2012-01-051-0/+1
|
* tune_fac_ui: FAC_ODD_THRESHOLD can be "always".Marco Bodrato2012-01-051-1/+2
|
* Small correction to fac_ui thresholds computation.Marco Bodrato2012-01-021-9/+8
|
* Tune fac_ui thresholds.Marco Bodrato2011-12-311-1/+32
|