Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/extern/gmp/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 18.9.2025 mit Größe 1 MB image not shown  

Quelle  ChangeLog   Sprache: unbekannt

 
2023-07-29  Torbjörn Granlund  <tg@gmplib.org>

 * Version 6.3.0 released.

 * mpn/s390_64/z13/mul_basecase.asm: Rewrite, using new addmul_1.asm.

 * mpn/s390_64/z13/mul_1.asm: Rewrite.
 * mpn/s390_64/z13/addmul_1.asm: Likewise.
 * mpn/s390_64/z13/submul_1.asm: Likewise.

2023-07-27  Niels Möller  <nisse@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@lysator.liu.se>

 * tune/speed.h (mpn_hgcd_appr_lehmer): Fix declaration to use
 correct return type.

2023-07-26  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/s390_64/z13/submul_1.asm: New file.
 * mpn/s390_64/z13/popcount.asm: New file.
 * mpn/s390_64/z13/hamdist.asm: New file.

2023-07-25  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/s390_64/z13/addmul_2.asm: New file.
 * mpn/s390_64/z13/addmul_1.asm: New file.
 * mpn/s390_64/z13/addmul_2.asm: New file.
 * mpn/s390_64/z13/mul_1.asm: New file.
 * mpn/s390_64/z13/mul_2.asm: New file.
 * mpn/s390_64/z13/mul_basecase.asm: New file.
 * mpn/s390_64/z13/sqr_basecase.c: New file.

2023-07-20  Torbjörn Granlund  <tg@gmplib.org>

 * config.guess: Generalise sparc patterns.

2023-07-19  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/div_qr_1n_pi2.c, mpn/generic/div_qr_1n_pi1.c,
 mpn/generic/mod_1_1.c, mpn/generic/div_qr_1u_pi2.c,
 mpn/generic/div_qr_2.c: Get arm64 asm contraints right for adcs.

2023-07-18  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac: Suppress any -flto flags for running GMP_ASM_*.

2023-07-15  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac: Pass -mcpu= instead of -mtune= consistently for ibm power.

 * mpn/riscv/64: Improve Risc V asm support.
 * mpn/loongarch/64: Provide basic Loongarch asm support.

2023-07-06  Marc Glisse  <marc.glisse@inria.fr>

 * doc/gmp.texi: Mention snapshots in bug report instructions.

 * configfsf.guess: Updated to version 2023-06-23, from gnulib.
 * configfsf.sub: Updated to version 2023-06-26, from gnulib.

2023-06-29  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac: Make sparc -mptr64 argument optional.

 * configure.ac, config.guess, config.sub, acinclude.m4: Handle power10.

2023-06-23 Marius Hillenbrand <mhillen@linux.ibm.com>
    Stefan Liebler <stli@linux.ibm.com>

 * mpn/s390_64/z13/addmul_1.c: New file.
 * mpn/s390_64/z13/aormul_2.c: New file.
 * mpn/s390_64/z13/common-vec.h: New file.
 * mpn/s390_64/z13/gmp-mparam.h: New file.
 * mpn/s390_64/z13/mul_1.c: New file.
 * mpn/s390_64/z13/mul_basecase.c: New file.

2022-11-02  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/bd1/popcount.asm: Prefer movd to movq for register moves.
 * mpn/x86_64/bd1/hamdist.asm: Likewise.
 * mpn/x86_64/core2/hamdist.asm: Likewise.
 * mpn/x86_64/core2/popcount.asm: Likewise.

2022-10-28 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/nextprime.c (findnext): Use TMP_ALLOC_TYPE to allocate
 composite array (tx: Jiayi Lin)

2022-09-30  Marc Glisse  <marc.glisse@inria.fr>

 * doc/projects.html: Update URL for MPFR.
 * doc/gmp.texi: Likewise.

2022-08-11 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/primorial_ui.c: Rename some variables and add comments.

2022-06-19 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/millerrabin.c: Use mp_bitcnt_t.
 * mpz/stronglucas.c: Skip some impossible values searching for D.

2022-05-14 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/nextprime.c: Smaller operand for mpz_sqrt.
 * tests/mpz/t-nextprime.c: Exit on error.
 * tests/mpz/t-pprime_p.c: More cases to trigger unlikely branches.

 * tests/mpz/t-aorsmul.c: Test the (r,x,x) case.
 * mpz/aorsmul.c: Speed-up the (r,x,x) case (tx:Fredrik Johansson).

2022-04-24  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm/v5/gcd_22.asm: New file.

2022-04-18  Marc Glisse  <marc.glisse@inria.fr>

 * gmpxx.h (mpz_class): Do not use mp directly.

2022-03-30  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac, config.guess, config.sub, acinclude.m4: Handle Intel
 tremont separately.

 * longlong.h (loongarch64 umul_ppmm): New #define.

2022-03-18 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * tests/mpz/t-lucm.c: Remove an unused var.
 * tests/mpq/io.c: Use a random size.
 * tests/mpz/t-gcd.c: Do not assume a limb fits for _ui functions.

2022-03-15 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/mul_fft.c: Use _bknp1. Not when tuning, to avoid "noise".

2022-03-09  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/alderlake/submul_1.asm: New file.

2022-03-08 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/mulmod_bnm1.c: Use mulmod_bknp1, on the bnp1 side.
 * mpn/generic/sqrmod_bnm1.c: Likewise.

 * mpn/generic/mul_fft.c: Remove a branch and improve carry propagation.

2022-03-03  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/alderlake/mul_basecase.asm: New file.
 * mpn/x86_64/alderlake/addmul_1.asm: New file.

2022-02-21  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac: Handle alderlake specifically, as it lacks avx512.

2022-02-15 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/strongfibo.c: Correct condition in #if.

 * mpn/generic/mulmod_bknp1.c: New file, with mpn_{mul,sqr}mod_bknp1.
 * configure.ac (gmp_mpn_functions): Add new file.
 * gmp-impl.h: Declare new functions.
 * gmp-impl.h (MPN_{MUL,SQR}MOD_BKNP1_USABLE): Support new functions.

 * tests/mpn/t-{mul,sqr}mod_bknp1.c: New tests for mpn_{mul,sqr}mod_bknp1.
 * tests/mpn/Makefile.am: Add new tests.

 * tune/speed.c: Recognise new functions: mpn_{mul,sqr}mod_bknp1.
 * tune/speed.h: Declare new speed_ functions to measure them.
 * tune/common.c: Implement speed_ functions.

2022-02-14  Torbjörn Granlund  <tg@gmplib.org>

 * config.guess: Recognize Tremont CPU variants.

2022-02-01 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/aorsmul_i.c: Use MPZ_NEWALLOC when the operand is overwritten.
 * mpz/import.c: Reorder branches.
 * mpz/{init2.c,realloc.c,realloc2.c}: Remove unneeded #includes.

2022-01-20  Marc Glisse  <marc.glisse@inria.fr>

 * doc/gmp.texi: Clarify C++ includes and library.

2022-01-05 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * gen-sieve.c: Generate masks depending on bit size.
 * primesieve.c: Remove fixed size (32 and 64 only) masks.

 * tune/speed.c: Add FLAG_NODATA for gmp_primesieve.

2021-12-11 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/toom3_sqr.c: Use a shorter mul when it's simple.
 * mpn/generic/toom4_sqr.c: Likewise.
 * mpn/generic/toom33_mul.c: Likewise.
 * mpn/generic/toom44_mul.c: Likewise.

 * gmp-h.in (GMP_ERROR_MPZ_OVERFLOW): New enum value.
 * errno.c (__gmp_overflow_in_mpz): New function.
 * gmp-impl.h (MPZ_OVERFLOW): New macro calling it.
 * mpz/init2.c: Use the new macro to rise the overflow error.
 * mpz/realloc.c: Likewise.
 * mpz/realloc2.c: Likewise.

 * mpz/tdiv_r.c: Special code for divisor with low zero limbs.
 * mpz/tdiv_qr.c: Likewise.

2021-11-14  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac: Adapt to acinclude.m4 change.

 * mpn/riscv/64/aors_n.asm: Accept 4th CMPCY operand, allowing for
 2 c/l mpn_sub_n (mpn_add_n cannot beat 3 c/l with RISC V's ISA).

 * configure.ac (S390_PATTERN): Rewrite to handle path inheritance.

 * acinclude.m4 (GMP_ASM_SPARC_GDOP): Renamed GMP_ASM_SPARC_GOTDATA.

 * mpn/sparc32/sparc-defs.m4 (LEA64): Remove misguided assert.
 * mpn/sparc32/sparc-defs.m4 (LEA64): Allow PIC withot gdop_*.

 * mpn/sparc64/gcd_11.asm: Optimise out annulled shift insn in loop.

2021-11-07  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/sec_tabselect.c: Make recently added code actually work.
 (Thanks Marco!)

 * mpn/s390_32/sec_tabselect.asm: New file.

 * mpn/s390_64/sec_tabselect.asm: Avoid "slfi" for portability.

2021-11-02  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/s390_64/sec_tabselect.asm: Rewrite.

 * mpn/generic/sec_tabselect.c: Provide alternative function.

2021-10-31  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/riscv/64/sec_tabselect.asm: New file.
 * mpn/s390_64/sec_tabselect.asm: New file.
 * mpn/x86/sec_tabselect.asm: Streamline.

2021-10-31 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/fac_ui.c: Save half the products for small values.

2021-10-29  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/sec_tabselect.c: Rewrite.

2021-10-16  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac, config.guess, config.sub, acinclude.m4: Recognise more
 icelake CPUs, and initial alderlake CPUs.

 * mpn/powerpc64/mode64/p9/addaddmul_1msb0.asm: New file.

 * mpn/arm64/applem1/addaddmul_1msb0.asm: New file.

2021-10-10  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/k8/addaddmul_1msb0.asm: Moved from "..".

2021-10-08  Niels Möller  <nisse@lysator.liu.se>

 * tests/mpn/t-addaddmul.c: Unit test for mpn_addaddmul_1msb0.

2021-10-07  Niels Möller  <nisse@lysator.liu.se>

 * tune/speed.h (SPEED_ROUTINE_MPN_ADDADDMUL1_MSB0): New macro.
 * tune/common.c (speed_mpn_addaddmul_1msb0): New function.
 * tune/speed.c (routine): Add mpn_addaddmul_1msb0 to list.

2021-10-01 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * gen-sieve.c: New file to generate a small presieved array.
 * primesieve.c (first_block_primesieve): Use the presieved array.
 * gmp-impl.h: #include output of gen-sieve.
 * Makefile.am: Add rules for gen-sieve and sieve_table.h.

 * mpn/x86_64/addaddmul_1msb0.asm: Support DOS ABI, reorder branches.

2021-09-26  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac (s390): Make sure to always include main asm directory.

 * longlong.h (umul_ppmm): Correct Risc V operand order.

2021-09-25 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/import.c: Use MPN_BSWAP_REVERSE, reorder branches.
 * mpz/inp_raw.c: Avoid bit size overflows.

2021-09-22  Torbjörn Granlund  <tg@gmplib.org>

 * config.sub: Update powerpc pattern.

 * longlong.h: Change tested predef for Risc V.

2021-08-21 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/primorial_ui.c: Simpler loop on sieved primes.
 * mpz/nextprime.c: Likewise.

2021-09-14  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/asm-defs.m4: Remove quotes around PIC_ALWAYS.  Reported by
 George Koehler.

2021-07-01  Niels Möller  <nisse@lysator.liu.se>

 * mpn/generic/div_qr_1n_pi1.c (mpn_div_qr_1n_pi1): New variants,
 DIV_QR_1N_METHOD 3 and 4.

 * tune/div_qr_1n_pi1_3.c: New file.
 * tune/div_qr_1n_pi1_4.c: New file.
 * tune/Makefile.am (libspeed_la_SOURCES): Add new files.
 * tune/div_qr_1_tune.c (__gmpn_div_qr_1n_pi1): Handle new values
 of div_qr_1n_pi1_method.
 * tune/common.c (speed_mpn_div_qr_1n_pi1_3)
 (speed_mpn_div_qr_1n_pi1_4): New functions.
 * tune/speed.c (routine): Add mpn_div_qr_1n_pi1_3 and
 mpn_div_qr_1n_pi1_3 to list.
 * tune/speed.h: Declare new functions.
 * tune/tuneup.c (tune_div_qr_1): Extend tuning of
 DIV_QR_1N_PI1_METHOD.

2021-06-20  Marc Glisse  <marc.glisse@inria.fr>

 * gmpxx.h (mpq_class(mpz_class&&)): New constructor.

2021-06-20  Niels Möller  <nisse@lysator.liu.se>

 * doc/gmp.texi: Document foo_ptr and foo_srcptr.

2021-06-06  Paul Eggert  <eggert@cs.ucla.edu>

 * configure.ac (AC_INIT): Avoid comma in BUG-REPORT field.

2021-06-06  Marc Glisse  <marc.glisse@inria.fr>

 * gmp-h.in (gmp_randstate_ptr, gmp_randstate_srcptr): Move declaration
 from gmp-impl.h.
 (gmp_randinit, gmp_randinit_default, gmp_randinit_lc_2exp,
 gmp_randinit_lc_2exp_size, gmp_randinit_mt, gmp_randinit_set,
 gmp_randseed, gmp_randseed_ui, gmp_randclear, gmp_urandomb_ui,
 gmp_urandomm_ui, mpz_rrandomb, mpz_urandomb, mpz_urandomm,
 mpf_urandomb): Replace gmp_randstate_t with gmp_randstate_ptr.
 * gmp-impl.h (gmp_randstate_ptr, gmp_randstate_srcptr): Move
 declaration to gmp-h.in.
 (gmp_randfnptr_t, __gmp_randinit_mt_noseed): Replace gmp_randstate_t
 with gmp_randstate_ptr.
 * mpf/reldiff.c: Replace mpf_t with mpf_ptr.
 * mpf/set_q.c: Likewise.
 * mpf/urandomb.c: Likewise.
 * mpq/canonicalize.c: Replace mpq_t with mpq_ptr.
 * mpq/clear.c: Likewise.
 * mpq/init.c: Likewise.
 * mpq/set_si.c: Likewise.
 * mpq/set_ui.c: Likewise.
 * mpz/rrandomb.c: Replace gmp_randstate_t with gmp_randstate_ptr.
 * mpz/urandomb.c: Likewise.
 * mpz/urandomm.c: Likewise.
 * rand/rand.c: Likewise.
 * rand/randclr.c: Likewise.
 * rand/randdef.c: Likewise.
 * rand/randlc2s.c: Likewise.
 * rand/randlc2x.c: Likewise.
 * rand/randmt.c: Likewise.
 * rand/randmt.h: Likewise.
 * rand/randmts.c: Likewise.
 * rand/randsd.c: Likewise.
 * rand/randsdui.c: Likewise.

 * gmp-impl.h: Include stdint.h even if we have inttypes.h.
 * printf/doprnt.c: Likewise.
 * printf/repl-vsnprintf.c: Likewise.
 * scanf/doscan.c: Likewise.
 * tests/misc/t-printf.c: Likewise.
 * tests/misc/t-scanf.c: Likewise.

2021-06-03  Niels Möller  <nisse@lysator.liu.se>

 * mpn/generic/div_qr_1n_pi1.c (mpn_div_qr_1n_pi1): Micro-optimize
 method 2, and document the main idea of the algorithm.

2021-05-25 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/sec_powm.c (sec_binvert_limb): New static function.

 * mpn/generic/powm.c (win_size): Remove the unused value from array.
 * mpn/generic/sec_powm.c (win_size): Likewise.

2021-05-08  Marc Glisse  <marc.glisse@inria.fr>

 * doc/gmp.texi: Mention shifts in bit manipulation.

2021-05-02  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac, config.guess, config.sub: Recognise CPUs icelake,
 tigerlake, and rocketlake.

 * configure.ac: Clean up handling of several Intel CPUs.

2021-03-11  Torbjörn Granlund  <tg@gmplib.org>

 * longlong.h: Disable s390 patterns which makes clang barf.

2021-03-09  Torbjörn Granlund  <tg@gmplib.org>

 With Marius Hillenbrand:
 * configure.ac, config.guess, config.sub, acinclude.m4:
 Recognise CPUs z13-z15.

2021-03-08  Torbjörn Granlund  <tg@gmplib.org>

 * longlong.h (68000 umul_ppmm): Add an early-clobber &.

2021-01-18  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/zen3/sbpi1_bdiv_r.asm: New grabber file.

2021-01-17  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/coreibwl/sbpi1_bdiv_r.asm: New file.

2021-01-01  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac: Handle zen3 different from zen2.

 * mpn/x86_64/zen3/addmul_1.asm: New grabber file.
 * mpn/x86_64/zen3/mul_basecase.asm: Likewise.
 * mpn/x86_64/zen3/sqr_basecase.asm: Likewise.

 * mpn/x86_64/zen3/mul_1.asm: New file.

2020-12-25  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm64/applem1/sqr_basecase.asm: New file, do 2x and limb squaring
 in main loop.

2020-12-21  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm64/applem1/aorsmul_1.asm: Provide addmul_1c entry point.

2020-12-20  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm64/copyi.asm: Rewrite to use scalar regs.
 * mpn/arm64/copyd.asm: Likewise.

2020-12-12  Marc Glisse  <marc.glisse@inria.fr>

 * gmp-h.in (_GMP_H_HAVE_FILE): Test also _STDIO (for HPE NonStop).

2020-12-04  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm64/applem1/gmp-mparam.h: New file.

 * mpn/generic/mod_1_1.c: Provide add_mssaaaa for arm64.
 * mpn/generic/div_qr_1n_pi1.c: Likewise.

 * mpn/arm64/divrem_1.asm: Use sub insn for subtracting constants.

2020-11-29  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm64/divrem_1.asm: New file.
 * mpn/arm64/applem1/aorsmul_1.asm: New file.

 * configure.ac, config.guess, config.sub: Recognise CPU "applem1".

 * mpn/arm64: Avoid the x18 register since it is reserved on Darwin.

2020-11-28 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * tests/mpz/t-pprime_p.c (check_fermat_mersenne): Check return
 value.

 * tests/devel/primes.c: Correctly use n_cto_bit or n_fto_bit.
 * primesieve.c: Differentiate n_to_bit into floor and ceil.

2020-11-23 Seth Troisi <sethtroisi@google.com>

 * mpz/nextprime.c (mpz_prevprime): New function.
 * gmp-h.in: Declare it.
 * doc/gmp.texi: Document it.
 * tests/mpz/t-nextprime.c: Test it.

 * tests/mpz/t-pprime_p.c (check_small): Check return value.

 * tune/common.c (speed_mpz_prevprime{,_1}): New functions.
 * tune/speed.h: Declare them.
 * tune/speed.c (routine): Add mpz_nextprime{,_1}.

2020-11-10 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * configure.ac (fat_path): Add bd1, goldmont,silvermont for CPUVEC.
 * mpn/x86_64/fat/fat.c: Add more CPUs.
 * mpn/x86/fat/fat.c: Add more CPUs.

2020-11-01 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * configure.ac: X86_{,64_}PATTERN: GMP_ASM_COFF_TYPE for all ABIs;
 * mpn/x86_64/x86_64-defs.m4 (COFF_TYPE): Copy from mpn/x86/x86-defs.m4
 as suggested by Jeremy Drake.

 * tests/misc/t-locale.c (nl_langinfo): No redefine on __TERMUX__,
 spotted by Sanselme and Glisse.
 * configure.ac: Consider *-*-msys as *-*-mingw* (except on arm* |
 aarch64*), as suggested by Ralph Peterson.
 * Makefile.am (EXTRA_DIST): Add mini-gmp/ChangeLog.

2020-10-30 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * tests/mpf/t-get_d_2exp.c: Test also the case zero.
 * tests/mpz/t-get_d.c: Likewise.
 * tests/mpf/t-trunc.c: Use mpf_size.

 * tests/mpf/t-conv.c: Some more tests on zero.
 * mpn/generic/mod_1.c (mpn_mod_1_unnorm): Compare r<d before shifting.
 * mpf/mul.c: Use macros.

2020-10-29 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/aors_ui.h: REALLOC with extra limb only when needed.

 * mpz/bin_uiui.c (limb_apprsqrt): Slightly faster formula.
 * mpz/oddfac_1.c (limb_apprsqrt): Likewise.
 * mpz/stronglucas.c (limb_apprsqrt): Likewise.

2020-10-25 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * configfsf.guess: Updated to version 2020-10-22, from gnulib.
 * configfsf.sub: Updated to version 2020-10-13, from gnulib.

2020-10-17 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * bootstrap.c (mpz_invert_2exp): Simplify.
 * mpz/stronglucas.c (mpz_oddjacobi_ui): New helper function.

 * tests/devel/Makefile.am: Remove redundancies.

 * tests/mpz/io.c: Test out-of-range bases for mpz_out_str.

2020-10-15  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac: Recognise zen3.
 * config.guess: Recognise zen3.

2020-10-14 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * doc/gmp.texi (Number sequences): Remove redundancy. (spotted: TonyMcC)

2020-10-06  Niels Möller  <nisse@lysator.liu.se>

 * Makefile.am: Better support for make check-mini-gmp on wine or cygwin.

2020-09-22  Torbjörn Granlund  <tg@gmplib.org>

 * tests/mpz/t-mul.c: Print GMP_CHECK_FFT.

 * longlong.h (x86 umul_ppmm): Fix typo.

2020-07-04  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm64/bdiv_q_1.asm: Use LEA_HI/LEA_LO
 * mpn/arm64/invert_limb.asm: Likewise.

 * mpn/arm64/arm64-defs.m4: New file.
 * mpn/arm64/darwin.m4: New file.
 * configure.ac: Use arm64/arm64-defs.m4 and arm64/darwin.m4.

2020-06-11  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/powerpc32/powerpc-defs.m4 (aese,aeselst): New macros.

2020-06-10  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac: Recognise armcortexa55.

2020-05-25  Torbjörn Granlund  <tg@gmplib.org>

 * tests/cxx/t-assign.cc: Use reference parameter for 'catch'.
 * tests/cxx/t-constr.cc: Likewise.
 * tests/cxx/t-ops2z.cc: Likewise.
 * tests/cxx/t-rand.cc: Likewise.
 * tests/cxx/t-do-exceptions-work-at-all-with-this-compiler.cc: Likewise.

2020-05-21  Torbjörn Granlund  <tg@gmplib.org>

 * tune/time.c (speed_endtime): Cast printf args to right type.

 * tune/speed.c (main): Cast printf args to right type.

 * tests/mpz/reuse.c: Avoid using non-standard function fileno().
 * tests/spinner.c: Likewise.

 * tests/mpz/convert.c (str_casecmp): New function.
 (main): Use it instead of non-standard strcasecmp.

 * mpn/generic/get_d.c: Add clarifying parens.

2020-05-17 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpq/cmp.c: Avoid overflow on int even for huge sizes.

2020-05-12  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/hgcd2-div.h (tabp): Combine several undefined tabp
 variable definitions with a macro.

 * mpn/generic/strongfibo.c: Avoid defining helper function when unused.

 * mpn/generic/dcpi1_bdiv_q.c (mpn_dcpi1_bdiv_q_n_itch): Disable unused
 static function.

 * mpz/mul.c: Add some {} to suppress warning.

 * tests/mpn/t-gcd_11.c: Exit main() properly.
 * tests/mpn/t-gcd_22.c: Likewise.
 * tests/mpn/t-gcdext_1.c: Likewise.

2020-04-28  Torbjörn Granlund  <tg@gmplib.org>

 * tests/mpz/reuse.c (realloc_if_reducing): New function.
 (INVOKE_RRS, etc): Use realloc_if_reducing.

2020-03-10 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/mulmod_bnm1.c (mpn_bc_mulmod_bnp1):
 Simplify special cases.
 * mpz/bin_ui.c (rek_raising_fac4): Reduce allocations.
 (mpz_bin_ui): Siplify special cases.
 * tests/mpz/t-bin.c: Use divexact.

 * mpn/generic/mul_fft.c (mpn_fft_mul_modF_K):
 Fully handle carry propagation in basecase multiplication.

2020-02-12 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/cmp.c: Avoid overflow on int even for huge sizes.
 * mpz/cmpabs.c: Likewise.

2020-02-09 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/sqrmod_bnm1.c (mpn_bc_sqrmod_bnp1):
 Shorter mpn_sqr.
 * mpn/generic/mulmod_bnm1.c (mpn_bc_mulmod_bnp1):
 Shorter mpn_mul_n.

 * tests/mpn/t-mulmod_bnm1.c: Trigger special cases more often.
 * tests/mpn/t-sqrmod_bnm1.c: Likewise.

2020-02-09 Seth Troisi <sethtroisi@google.com>

 * tests/mpz/t-nextprime.c: Split into sub-tests.

2020-02-02 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/powm.c: Better handling of current window-size.
 * mpn/generic/powlo.c: Likewise.

 * mpn/generic/jacbase.c (mpn_jacobi_base): Optimise _METHOD 4.
 * mpz/aors.h: Branches optimisation.

2020-01-31 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/powm.c (MPN_REDC_0): Subtractive redc
 (mpn_2powm): New, static, function
 * tests/mpz/t-powm.c: More tests for the base=2 case.

2020-01-24  Niels Möller  <nisse@lysator.liu.se>

 * mpn/generic/hgcd2_jacobi.c (div1, div2): Deleted. Instead,
 include hgcd2-div.h, to reuse the tuned implementations for hgcd2.
 (mpn_hgcd2_jacobi): Adapt to different return value for div1. Also
 other small changes to make it identical to mpn_hgcd2, except for
 the updates of the jacobi-related state.

 * mpn/generic/hgcd2.c (div1, div2): Move inline functions...
 * mpn/generic/hgcd2-div.h: ... to a separate file.

2020-01-17  Torbjörn Granlund  <tg@gmplib.org>

 * Version 6.2.0 released.

 * gmp-h.in (__GNU_MP__): Bump.
 (__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL):
 Bump version info.
 * Makefile.am (LIBGMP_LT_*, LIBGMPXX_LT_*, LIBMP_LT_*):
 Bump version info.

2020-01-15  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/bt1/gcd_11.asm: Add missing FUNC_EXIT.

2020-01-10  Torbjörn Granlund  <tg@gmplib.org>

 * longlong.h (powerpc): Add clobbers, make formatting cleanups.

 * configure.ac (HAVE_NATIVE): Add mpn_sbpi1_bdiv_r.

 * tune/tune-gcd-p.c (main): Use %zu for size_t printing.

 * configfsf.guess: Update from upstream.

 * mpn/x86/pentium4/sse2/popcount.asm: For simplicity and correctness
 use LEAL directly.

2020-01-03  Niels Möller  <nisse@lysator.liu.se>

 * configure.ac: Delete suggestion to use TESTS_ENVIRONMENT to run
 wine. It worked only with older versions of automake.

2019-12-23  Torbjörn Granlund  <tg@gmplib.org>

 * mpf/mul.c: Rewrite to invoke mpn_sqr when appropriate.

2019-12-08 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/powm.c: Full normalisation when e=1 & b<0.
 * tests/mpz/t-powm.c: More tests for the e=1 case.

2019-12-02  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/gcd_11.c: Remove check for NATIVE_ implementation.

2019-11-24  Niels Möller  <nisse@lysator.liu.se>

 * mpn/generic/gcdext_1.c [USE_ZEROTAB]: Delete code variant for
 USE_ZEROTAB != 0. Was used in the currently disabled binary
 gcdext.

2019-11-20  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/powm.c (MPN_REDC_1): Prefer mpn_sbpi1_bdiv_r when it is
 provided.
 * mpn/generic/sec_powm.c (MPN_REDC_1_SEC): Likewise.

2019-11-17  Torbjörn Granlund  <tg@gmplib.org>

 * config.guess: Recognise zen2.
 * configure.ac: Likewise.

 * mpn/x86_64/bt1/aorsmul_1.asm: Rewrite.
 * mpn/x86_64/bt1/mul_1.asm: Rewrite.

 * mpn/arm/v6t2/gcd_11.asm: Increase alignment; update x/l table.

2019-11-16 Seth Troisi <sethtroisi@google.com>

 * tune/common.c (speed_mpn_perfect_power_p): New function.
 (speed_mpn_perfect_power_p): New function.
 * tune/speed.h: Declare both.
 * tune/speed.c (routine): Add mpn_perfect_{power,square}_p.

 * tune/common.c (speed_mpz_nextprime): New function.
 * tune/speed.h: Declare it.
 * tune/speed.c (routine): Add mpz_nextprime.

2019-11-09 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * tune/speed.c (routine_t): Add R flag to mpz_powm
 * tune/speed.h (SPEED_ROUTINE_MPZ_POWM): Use R flag as the base.

2019-10-02  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac: Make more path distinctions for the benefit of
 gmp-mparam.h.

2019-10-01  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac (arm64): Let cortex-a7x look in a57 folder.

2019-10-01  Niels Möller  <nisse@lysator.liu.se>

 * mpn/generic/gcdext_1.c (mpn_gcdext_1) [GCDEXT_1_USE_BINARY]: Fix
 canonicalization condition.

2019-09-30  Niels Möller  <nisse@lysator.liu.se>

 * tests/mpn/t-gcdext_1.c: New test.

2019-09-23  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/hgcd2.c: Mark added div1 variants as static.

 * tune/tuneup.c, tune/speed.c, tune/speed.h, tune/common.c,
 tune/Makefile.am: Add measuring of mpn_hgcd2 method 4 and 5.
 * tune/hgcd2-4.c, tune/hgcd2-5.c: New files.

2019-09-23  Niels Möller  <nisse@lysator.liu.se>

 * 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.

2019-09-23  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/hgcd2.c: Improve method 4 and 5 by using the division
 free methods optimistically, detecting errors.  Tweak table values.

2019-09-22  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/hgcd2.c: Add a 4th and 5th div1 method.

2019-09-18  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/hgcd2.c (div1, div2): Rearrange things to allow for asm.
 (div2): Avoid out-of-specs shift.
 (div2): Use same variable naming in all variants.

2019-09-16  Niels Möller  <nisse@lysator.liu.se>

 * mpn/generic/hgcd2.c (HGCD2_DIV2_METHOD): New define.
 (div2): Replaced, since the old implementation had lots of poorly
 predicted and expensive branches. Two new implementaions, selected
 by HGCD2_DIV2_METHOD.
 (div2) [HGCD2_DIV2_METHOD == 1]: Calls div1 on the high limbs,
 with unlikely case handling large quotients.
 (div2) [HGCD2_DIV2_METHOD == 2]: The previously #if:ed out
 version. A bitwise division, relying on fast count_leading_zeros,
 and with fewer branches than the previous code.

2019-09-15  Torbjörn Granlund  <tg@gmplib.org>

 * acinclude.m4 (GMP_ASM_X86_ADX): Remove unused.

 * configure.ac (x86): Amend last change.

2019-09-14  Niels Möller  <nisse@lysator.liu.se>

 * mpn/generic/hgcd2.c (HGCD2_DIV1_METHOD): Rename, and change
 default to 3. Updated all usage.
 (HGCD2_METHOD): ... the old name, deleted.

2019-09-14  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac: Remove obsolete path-triggered invocation of
 GMP_ASM_X86_ADX and GMP_ASM_X86_MULX.

 * acinclude.m4 (GMP_ASM_X86_MULX): Set X86_ASM_MULX to config.h.
 * configure.ac (x86): Set x86_have_mulx for relevant CPUs.
 Use if to conditionally invoke GMP_ASM_X86_MULX.
 * longlong.h (x86 umul_ppmm): Test also X86_ASM_MULX for when to use
 mulx variant.

2019-09-13  Niels Möller  <nisse@lysator.liu.se>

 * tune/tuneup.c (one_method): New helper function, to measure
 several functions for a fix size.
 (tune_hgcd2, tune_div_qr_1, tune_mod_1, tune_jacobi_base): Use it.

2019-09-13  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac (HAVE_HOST_CPU_1): Add many x86_64 CPU types.
 * longlong.h (x86 umul_ppmm): Fix criterion for when to use mulx.
 (count_leading_zeros): Use lzcnt for appropriate CPUs.
 (count_trailing_zeros): Use tzcnt for appropriate CPUs.

 * mpn/generic/hgcd2.c (HGCD2_METHOD=2 div1): Rewrite.

2019-09-09  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/mul.c: Call mpn_mul_basecase early when in range.  Never
 call mpn_sqr.

 * mpn/generic/gcd.c: Rewrite tail of function, for n <= 2.

2019-09-08  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac (arm): Select arch armv7ve for a7, a12, a15, and a17,
 this enables the use of the udiv instruction.

 * mpn/generic/hgcd2.c (disabled div2): Micro-optimise.

2019-09-07  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/hgcd2.c (HGCD2_METHOD=3 div1): Micro-optimise.

2019-09-07  Vincent Lefevre <vincent@vinc17.net>

 * acinclude.m4 (GMP_C_DOUBLE_FORMAT): Append EXEEXT for executable.

2019-09-05  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm64/gcd_22.asm: Rewrite to make better use of Arm conditional
 execution.
 * mpn/arm32/gcd_22.asm: Likewise.

2019-09-05  Niels Möller  <nisse@lysator.liu.se>

 * 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.

2019-09-04  Niels Möller  <nisse@lysator.liu.se>

 * 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/speed.h (SPEED_ROUTINE_MPN_HGCD2): New macro.
 * tune/common.c (speed_mpn_hgcd2): New function.
 * tune/speed.c (routine): Add mpn_hgcd2.

2019-09-04  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm/v6t2/gcd_22.asm: New file.
 * mpn/arm64/gcd_22.asm: New file.
 * mpn/ia64/gcd_11.asm: New file.

2019-09-01  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/bt1/gcd_11.asm: Replace grabber with bt1 optimised code.

2019-08-30  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/bd4/gcd_22.asm: New grabber file.

 * mpn/x86_64/zen/gcd_22.asm: Use coreihwl instead of bd2 gcd_22.

 * mpn/x86_64/bd2/gcd_22.asm: Fix typo in FUNC_ENTRY (currently unused).
 Avoid a register copy before return.
 * mpn/x86_64/core2/gcd_22.asm: Likewise.
 * mpn/x86_64/k10/gcd_22.asm: Likewise.
 * mpn/x86_64/gcd_22.asm: Likewise.

 * mpn/x86_64/coreihwl/gcd_22.asm: Optimise, now runs well on more CPUs.

 * mpn/x86_64/gcd_11.asm: Remove PROTECT from symbols as they are
 actually local.
 * mpn/x86_64/gcd_22.asm: Likewise.

2019-08-25  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/bd2/gcd_22.asm: Repeat tzcnt for exceptional lowz case.
 Remove dead code.

 * mpn/powerpc64/mode64/p7/gcd_22.asm: Make logic for determining ABI
 wrt struct return more robust.
 * mpn/powerpc64/mode64/p9/gcd_22.asm: Likewise.

2019-08-24  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/bt1/gcd_11.asm: New grabber.
 * mpn/x86_64/bt1/gcd_22.asm: New grabber.
 * mpn/x86_64/bt2/gcd_22.asm: New grabber.

 * mpn/x86_64/atom/gcd_22.asm: Remove stale grabber file.
 * mpn/x86_64/zen/gcd_22.asm: Grab bd2 instead of hwl code.
 * mpn/x86_64/bd2/gcd_22.asm: New file.
 * mpn/x86_64/k8/gcd_22.asm: Remove, rely on top-level code instead.
 * mpn/x86_64/bt1/gcd_22.asm: Remove.
 * x86_64/gcd_22.asm: New file, improved version of removed bt1 code.

2019-08-22  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/coreihwl/gcd_11.asm: Remove as it was never beneficial.

 * mpn/x86_64/bd2/gcd_11.asm: Make sure rdx is zero on return to benefit
 gcd_22's private calls. Make gcd_11 files more similar in register use.
 * mpn/x86_64/bd4/gcd_11.asm: Likewise.
 * mpn/x86_64/core2/gcd_11.asm: Likewise.
 * mpn/x86_64/gcd_11.asm:: Likewise.

2019-08-22  Niels Möller  <nisse@lysator.liu.se>

 From Hugh McMaster:
 * gmp.pc.in, gmpxx.pc.in: New files.
 * configure.ac: New output files gmp.pc and gmpxx.pc.
 * Makefile.am (pkgconfigdir, pkgconfig_DATA): New automake
 settings, to install gmp.pc and optionally gmpxx.pc for use with
 pkg-config.

2019-08-21  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/core2/gcd_22.asm: New file.
 * mpn/x86_64/k8/gcd_22.asm: New file.
 * mpn/x86_64/k10/gcd_22.asm: New file.
 * mpn/x86_64/coreihwl/gcd_22.asm: New file.
 * mpn/x86_64/bt1/gcd_22.asm: New file.
 * mpn/x86_64/bd4/gcd_22.asm: New grabber.
 * mpn/x86_64/zen/gcd_22.asm: New grabber.
 * mpn/x86_64/atom/gcd_22.asm: New grabber.

2019-08-19  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac: Check for ELFv1 ABI on PowerPC.

2019-08-18  Torbjörn Granlund  <tg@gmplib.org>

 * longlong.h (arm32 sub_ddmmss): Define separately for thumb and
 non-thumb as rsc instruction is missing for thumb.

 * mpn/powerpc64/mode64/p7/gcd_22.asm: New file.
 * mpn/powerpc64/mode64/p9/gcd_22.asm: New file.

2019-08-17  Torbjörn Granlund  <tg@gmplib.org>

 * demos/expr/t-expr.c: #include gmp-impl.h as it includes tests.h.

 * mpn/asm-defs.m4: Add gcd_22.

 * tests/refmpn.c (refmpn_gcd_22): New function.
 * tests/tests.h: Declare it.

 * tests/t-constants.c: #include gmp-impl.h.
 * tests/mpf/t-get_d.c: Likewise.

2019-08-17  Niels Möller  <nisse@lysator.liu.se>

 * mpn/generic/gcd_22.c (mpn_gcd_22): New implementation with less
 branches.

2019-08-16 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/brootinv.c: Shorten computations, using even exponent.
 * mpn/generic/powlo.c: Avoid copies with a flipflop.

2019-08-16  Niels Möller  <nisse@lysator.liu.se>

 Speed support for gcd_22. Calls mpn_gcd_22(al, al, bl, bl), so
 that B+1 is a common factor.
 * tune/speed.h (SPEED_ROUTINE_MPN_GCD_22): New macro.
 * tune/speed.c (routine): Add mpn_gcd_22.
 * tune/common.c (speed_mpn_gcd_22): New function.

 * mpn/generic/gcd.c (gcd_2): Moved to gcd_22.c below.
 (mpn_gcd): Adapt for calling gcd_22.
 * mpn/generic/gcd_22.c (mpn_gcd_22): New file and function.
 * gmp-impl.h (mp_double_limb_t): New (typedef) struct.
 * configure.ac (gmp_mpn_functions): Added gcd_22.

 * tests/mpn/t-gcd_22.c: New test.
 * tests/mpn/Makefile.am (check_PROGRAMS): Add t-gcd_22.
 * tests/refmpz.c (refmpz_gcd): New function (plain binary gcd).

2019-08-15  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/zen/gcd_11.asm: Use bd2 instead of bd4 code.

2019-08-13  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64: Add more gcd_11 variants of of x86_64 gcd_11.asm and
 tweak existing ones.

2019-08-13 Marco Bodrato <bodrato@mail.dm.unipi.it>

 From Seth Troisi:
 * doc/gmp.texi: Update mpz_millerrabin documentation.

 * mpn/x86_64/bd2/gcd_11.asm: Micro-optimisation.
 * doc/gmp.texi: Further update in mpz_millerrabin.
 * tests/misc.c: Silence a warning.
 * tests/mpz/t-pprime_p.c (const primes): One more prime in the list.
 * mpz/millerrabin.c: Return 2 for surely prime numbers (BPSW checked).

2019-08-08  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86/gcd_11.asm: New file.

 * config.sub: Make arm cpu types match what config.guess returns.

2019-08-08  Niels Möller  <nisse@lysator.liu.se>

 * tests/refmpn.c (refmpn_gcd_11): New function, based on refmpn_gcd_1.
 (refmpn_gcd_1): Use it.
 * tests/mpn/t-gcd_11.c: New file, test mpn_gcd_11.
 * tests/mpn/Makefile.am (check_PROGRAMS): Add t-gcd_11.

2019-08-07  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/alpha/ev67/gcd_11.asm: New file, mostly extracted from gcd_1.asm.
 * mpn/arm/v5/gcd_11.asm: Likewise.
 * mpn/arm/v6t2/gcd_11.asm: Likewise.
 * mpn/arm64/gcd_11.asm: Likewise.
 * mpn/powerpc64/mode64/gcd_11.asm: Likewise.
 * mpn/powerpc64/mode64/p7/gcd_11.asm: Likewise.
 * mpn/powerpc64/mode64/p9/gcd_11.asm: Likewise.
 * mpn/sparc64/gcd_11.asm: Likewise.
 * mpn/x86/k7/gcd_11.asm: Likewise.
 * mpn/x86/p6/gcd_11.asm: Likewise.
 * mpn/x86_64/bd2/gcd_11.asm: Likewise.
 * mpn/x86_64/core2/gcd_11.asm: Likewise.
 * mpn/x86_64/gcd_11.asm: Likewise.
 * mpn/asm-defs.m4: Add gcd_11.

2019-08-06  Niels Möller  <nisse@lysator.liu.se>

 * tune/common.c (speed_mpn_gcd_11): New function.
 * tune/speed.h (speed_mpn_gcd_11): Declare it.
 (SPEED_ROUTINE_MPN_GCD_11): New macro.
 * tune/speed.c (routine): Add mpn_gcd_11.

 * configure.ac (gmp_mpn_functions): Added gcd_11. Also add
 HAVE_NATIVE_mpn_gcd_11.
 * mpn/generic/gcd_11.c (mpn_gcd_11): New file and function,
 extracted from mpn_gcd_1.
 * gmp-h.in (mpn_gcd_11): Declare it.
 * mpn/generic/gcd_1.c (mpn_gcd_1): Adapted to call mpn_gcd_11.

2019-08-04  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/bt2/gcd_1.asm: New grabber file.
 * mpn/x86_64/zen/gcd_1.asm: Grab from "bd2" directory, was "core2".

2019-08-02  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/bd2/gcd_1.asm: New file.

2019-08-01  Torbjörn Granlund  <tg@gmplib.org>

 * tests/mpf/t-conv.c: Add several more fixed test cases.

 * mpf/set_str.c: Ignore leading zeros including ones after radix point
 to avoid invalid output formats.

2019-07-30  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/powerpc64/mode64/p9/gcd_1.asm: New file.

2019-07-30  Niels Möller  <nisse@lysator.liu.se>

 From Seth Troisi:
 * doc/gmp.texi (Jacobi Symbol): Update algorithm documentation.
 * tests/mpz/t-jac.c: Comment update.

2019-07-13  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac (arm): Generalise arm a72 pattern to match a73...a79.

2019-07-08  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm/arm-defs.m4 (ASM_START): Rewrite (fix broken error handling).

2019-07-02  Torbjörn Granlund  <tg@gmplib.org>

 * acinclude.m4 (GMP_C_DOUBLE_FORMAT): Compile conftest.c to executable
 in order to trigger final compile in case of LTO.

2019-06-17  Torbjörn Granlund  <tg@gmplib.org>

 * config.guess: Work around upstream configfsf.guess's regression wrt
 mips vs mips64.

2019-06-14  Torbjörn Granlund  <tg@gmplib.org>

 * longlong.h (mips64): Provide r6 asm code as default expression yields
 libcall.

 * configure.ac (mips64): Use separate paths for r6 and non-r6 as these
 architectures are mutually incompatible.

 * mpn/mips64/{addmul_1,mul_1,sqr_diagonal,submul_1,umul}.asm:
 Move into hilo subdir.

2019-05-28  Torbjörn Granlund  <tg@gmplib.org>

 * config.sub: Fixes to which cpu types end with a "*".

2019-04-20  Niels Möller  <nisse@lysator.liu.se>

 * doc/gmp.texi (References): Link to paper on subquadratic GCD.

2019-04-19  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/bd1/hamdist.asm: Really make 2017-06-01 change: Use
 3-operand DEF_OBJECT.

 * mpn/x86_64/invert_limb.asm: Simplify mpn_invert_limb_table ref.

 * mpn/x86_64/x86_64-defs.m4 (LEA): Use rip addressing for non-PIC.

2019-04-17  Niels Möller  <nisse@lysator.liu.se>

 * mpn/generic/jacobi.c (mpn_jacobi_n): Use JACOBI_DC_THRESHOLD,
 not GCD_DC_THRESHOLD. Inconsistency spotted by Seth Troisi.

2019-04-02  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/fat/fat.c (__gmpn_cpuvec_init):
 Split out silvermont handling, add handling of goldmont.

 * configure.ac: Setup distinct paths for silvermont and goldmont.
 (fat_path): Add missing x86_64/goldmont.

 * config.guess: Recognise "Goldmont Plus".

2018-12-09  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/mul_fft.c (mpn_fft_add_sub_modF): New function.
 (mpn_fft_fft, mpn_fft_fftinv): Use it.

2018-11-30  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/powerpc64/mode64/p9/gmp-mparam.h: New file.

 * mpn/powerpc64/mode64/p9/add_n_sub_n.asm: New file.

2018-11-28  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/powerpc64/mode64/p9/sqr_basecase.asm: New file.
 * mpn/powerpc64/mode64/p9/mul_1.asm: New file.

2018-11-18  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/powerpc64/mode64/p9/mul_basecase.asm: New file.

 * mpn/powerpc64/mode64/p9/addmul_1.asm: Optimise.

2018-11-12  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/powerpc64/mode64/p9/aorsmul_1.asm: New file, providing fast
 submul_1 (and redundant addmul_1).

2018-11-11  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/powerpc64/mode64/p9/addmul_1.asm: Tweak for slightly better
 speed.

 * mpn/powerpc32/powerpc-defs.m4: Define addex.
 * mpn/powerpc64/mode64/p9/mul_2.asm: Use it.
 * mpn/powerpc64/mode64/p9/addmul_2.asm: Likewise.

2018-11-08  Torbjörn Granlund  <tg@gmplib.org>

 * tests/devel/cnd_aors_n.c: New file.

 * mpn/arm/neon/lorrshift.asm: Declare use of neon insns.
 * mpn/arm/neon/lshiftc.asm: Likewise + cleanup.

 * tests/devel/Makefile.am (EXTRA_PROGRAMS): Add missing files.

 * mpn/powerpc64/mode64/p9/mul_2.asm: New file.
 * mpn/powerpc64/mode64/p9/addmul_2.asm: New file.

2018-11-07 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/lucnum2_ui.c: Use mpn_rsblsh1_n if available.
 * tests/mpz/t-nextprime.c: Add one more interval.
 * tests/mpz/t-pprime_p.c (check_fermat_mersenne): New tests.
 * mpn/generic/mod_1_3.c: typo in a comment.
 * mpz/nextprime.c: Use tdiv instead of fdiv.

 * mpn/generic/fib2m.c: New file, Fibonacci numbers modulo.
 * configure.ac (gmp_mpn_functions): Add it.
 * gmp-impl.h: Declare mpn_fib2m.
 * tests/mpn/t-fib2m.c: New file, tests for mpn_fib2m.
 * tests/mpn/Makefile.am (check_PROGRAMS): Add t-fib2m.

 * mpn/generic/mod_34lsub1.c: Initialise c[012] once.
 * tests/mpz/t-pprime_p.c (check_primes): Two more primes.
 * tests/mp?: Use TESTS_REPS in many files.

 * mpn/generic/strongfibo.c: New file, Fibonacci primality test.
 * configure.ac (gmp_mpn_functions): Add it.
 * gmp-impl.h: Declare mpn_strongfibo.

 * mpz/stronglucas.c: New file, strong Lucas primality test.
 * Makefile.am (MPZ_OBJECTS): Add it.
 * mpz/Makefile.am (libmpz_la_SOURCES): Add it.
 * gmp-impl.h: Declare mpz_stronglucas.

 * mpz/millerrabin.c: Implement BPSW test for primality.

2018-11-07  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac (arm): Support a12 and a17.
 * config.sub: Generalise arm matching.
 * config.guess: Recognise additional arm CPUs.

 * mpn/arm/arm-defs.m4 (ASM_START): Provide local definition.

2018-10-30  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm/v7a/cora17/mod_34lsub1.asm: New file.
 * mpn/arm/v7a/cora17/gmp-mparam.h: New file.
 * mpn/arm/v7a/cora17/mul_1.asm: New grabber file.
 * mpn/arm/v7a/cora17/addmul_1.asm: Likewise.
 * mpn/arm/v7a/cora17/submul_1.asm: Likewise.

2018-10-18 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/fib2_ui.c: Simplify the possible -2 case.

2018-07-19 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/millerrabin.c (mod_eq_m1): New function, equality with -1.
 * mpz/powm_ui.c: Small optimisations.

2018-07-03  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/lshift.asm: Remove cnt = 1 special code.

 * mpn/x86_64/silvermont/popcount.asm: Add missing ABI_SUPPORT decls.
 * mpn/x86_64/silvermont/hamdist.asm: Likewise.
 * mpn/x86_64/zen/mul_1.asm: Likewise.

 * mpn/x86_64/fastsse/lshift.asm: Support DOS64.
 * mpn/x86_64/fastsse/lshiftc.asm: Likewise.

 * mpn/x86_64/pentium4/gmp-mparam.h: Retune.

2018-07-01  Torbjörn Granlund  <tg@gmplib.org>

 * lshift.asm: Replace with grabber file.
 * lshiftc.asm: Replace with grabber file.
 * x86_64/pentium4/addmul_2.asm: New grabber file.
 * x86_64/pentium4/aorsmul_1.asm: New grabber file.
 * x86_64/pentium4/mul_1.asm: New grabber file.
 * x86_64/pentium4/mul_2.asm: New grabber file.
 * x86_64/pentium4/mul_basecase.asm: New grabber file.
 * x86_64/pentium4/mullo_basecase.asm: New grabber file.
 * x86_64/pentium4/redc_1.asm: New grabber file.
 * x86_64/pentium4/sqr_basecase.asm: New grabber file.

2018-06-13  Niels Möller  <nisse@lysator.liu.se>

 * mpn/generic/gcd_1.c (mpn_gcd_1): Delete unused code variant for
 GCD_1_METHOD == 1, and delete GCD_1_METHOD macro. Simplify the
 structure of the remaining code variant, without gotos to the
 mid-loop strip_u_maybe label.

2018-05-30  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac (x86): Provide goldmont specific path.

 * mpn/x86_64/goldmont/gmp-mparam.h: New file.

2018-05-29  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac (x86): Pass more exact arch/tune options for nehalem.

2018-05-28  Niels Möller  <nisse@lysator.liu.se>

 * mpn/generic/gcd_1.c (mpn_gcd_1) [USE_ZEROTAB]: Delete unused code
 variant for USE_ZEROTAB != 0.

2018-05-20 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * bootstrap.c: Define DONT_USE_FLOAT_H before including mini-gmp.

2018-05-14 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/dcpi1_bdiv_q.c (mpn_dcpi1_bdiv_q_n): Decl. static.
 (mpn_dcpi1_bdiv_q_n_itch): Declare static.
 * mpn/generic/dcpi1_divappr_q.c (mpn_dcpi1_divappr_q_n): static.
 * mpn/generic/matrix22_mul.c (mpn_matrix22_mul_strassen): static.
 * mpn/generic/mu_div_qr.c (mpn_mu_div_qr_choose_in): static.
 * mpn/generic/mu_divappr_q.c (mpn_preinv_mu_divappr_q): static.
 (mpn_mu_divappr_q_choose_in): static.
 * gmp-impl.h: Remove declaration of previous functions.

 * mpn/generic/get_d.c: Enhance generic code using DBL_MANT_DIG.

 * printf/repl-vsnprintf.c: Better handling floating-point
 specifiers "EeGgFf" (Thanks Vincent Lefevre).

2018-05-04 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * doc/gmp.texi (mpq_*_str): Document the full base allowed range.
 * mpq/get_str.c: Make all bases either work or return an error.

 * doc/gmp.texi (Integer Internals): Lazy allocation and read-only.

2018-04-27  Niels Möller  <nisse@lysator.liu.se>

 * mpn/generic/div_q.c (mpn_div_q): Replace dead code with ASSERT.
 Spotted by Paul Zimmermann and Raphaël Rieu-Hleft.

 * tests/mpn/t-div.c (main): Fill quotient area with junk before
 calling mpn_div_q.

2018-04-26 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * Makefile.am (EXTRA_DIST): Add mini-gmp/mini-mpq.[ch].

2018-04-23 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/toom2_sqr.c: Handle the cy=-1 branch slightly faster.
 * mpn/generic/toom22_mul.c: Likewise. (Thanks Paul and Raphaël!)

2018-04-22  Niels Möller  <nisse@lysator.liu.se>

 From Martin Storsjö:
 * configure.ac (aarch64): Just as on windows/x86_64, "long" still
 is 32 bit on aarch64. To distinguish between 32-bit and 64-bit
 ABI, test sizeof(void*) instead of sizeof(long). Use long long for
 mp_limb_t for mingw targets.
 * acinclude.m4 (GMP_C_TEST_SIZEOF): Allow '*' in the type name,
 e.g., void*.

2018-04-18  Marc Glisse  <marc.glisse@inria.fr>

 * mpq/clear.c: Handle lazy numerator.
 * mpq/clears.c: Likewise.
 * mpq/init.c: Likewise.
 * mpq/set_si.c: Likewise.
 * mpq/set_ui.c: Likewise.

 * tests/cxx/t-ops2z.cc: Add parentheses to quiet a warning.

2018-03-28  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac (mips): Recognise "mipsisa64*".

2018-03-23  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/sec_powm.c: Remove unused macros.
 Simplify code for choosing between redc_1 and redc_2.
 Compute power table with squaring for even powers.

2018-02-28 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * gmpxx.h (__gmp_binary_plus): Special case for mpq + 1.
 (__gmp_binary_minus): Special case for mpq - 1.
 (__gmp_binary_equal): Optimised comparison mpq == integer.
 * tests/cxx/t-ops2qf.cc (checkqf): Some check for +/- 1, +/- 0.

2018-02-18 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * tune/Makefile.am: Disallow parallel make (thanks Vincent Lefevre).
 * mpq/swap.c: Use *_SWAP_* macros.
 * mpq/cmp_ui.c: One more little shortcut, comparing fractions to 1.
 * mpq/get_d.c: Compare (zeros > 0) once, replace tdiv_qr with div_q.
 * mpq/equal.c: Check size early.

 * printf/obprintf.c: Adda dummy typedef to avoid empty unit.
 * printf/obvprintf.c: Likewise.
 * printf/obprntffuns.c: Likewise.
 * printf/repl-vsnprintf.c: Move #ifdef after #include gmp-impl.h .

2018-02-09  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm: Really revert 2018-01-04 changes.

2018-02-08 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * printf/snprntffuns.c: Report -1 as an error.
 * acinclude.m4 (GMP_FUNC_VSNPRINTF): Refuse -1 as return value.

 * mpz/bin_uiui.c (mpz_smallk_bin_uiui): One more shortcut for small k.
 * gmp-impl.h (popc_limb): Use fewer constants (GMP_LIMB_BITS == 16).
 * mpz/divegcd.c (mpz_divexact_limb): Use MPN_DIVREM_OR_DIVEXACT_1.
 * primesieve.c (fill_bitpattern): Use MPN_FILL.

2018-02-01  Marc Glisse  <marc.glisse@inria.fr>

 * longlong.h (i586): Remove assert.

2018-01-30 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/and.c: Rearrange the 3 cases, both <0, both >=0, one and one.
 * mpz/ior.c: Likewise.
 * mpz/xor.c: Likewise.

 * mpz/bin_uiui.c (mul[4-8]): Reduce the number of multiplications.

 * printf/doprnt.c: Use __GMP_FREE_FUNC_TYPE.
 * printf/doprntf.c: Likewise.
 * printf/snprntffuns.c: Likewise, and use size_t instead of int.

2018-01-15 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * tests/mpz/t-bin.c: Extended tests for bin_ui and uint border cases.

2018-01-10  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86/fat/fat.c (__gmpn_cpuvec_init): Fix old pentium recog.
 * config.guess: Likewise.

 * mpn/x86/fat/fat.c (__gmpn_cpuvec_init): Add many 64-bit CPUs.

2018-01-07  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm: Revert last change, it hides a symbol needed for testing.

2018-01-04  Torbjörn Granlund  <tg@gmplib.org>

 * bdiv_q_1.asm (binvert_limb_table): Declare as ".hidden".
 * v7a/cora8/bdiv_q_1.asm: Likewise.
 * dive_1.asm: Likewise.
 * v6/dive_1.asm: Likewise.

 * mode1o.asm (binvert_limb_table): Remove ".protected", add ".hidden".
 * v6/mode1o.asm: Likewise.

2018-01-02  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/powerpc64/mode64/divrem_2.asm: Use different rlwinm variant (to
 appease clang).

2018-01-01  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/powerpc32/powerpc-defs.m4: Define maddld, maddhdu, popcntd, and
 divdeu.
 * mpn/powerpc64/mode64/p8/invert_limb.asm: Use new insn defs.
 * mpn/powerpc64/mode64/p9/addmul_1.asm: Use new insn defs.
 * mpn/powerpc64/p7/hamdist.asm: Use new insn defs.
 * mpn/powerpc64/p7/popcount.asm: Use new insn defs.

2017-12-31  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/powerpc64/mode64/p9/addmul_1.asm: Moved from
 mpn/powerpc64/p9/addmul_1.asm.

2017-12-30 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/bin_ui.c: Rewrite, using Fredrik Johansson's suggestions.

2017-12-27  Niels Möller  <nisse@lysator.liu.se>

 * longlong.h (arm32/arm64): Leave COUNT_LEADING_ZEROS_0 undefined,
 since we use gcc's __builtin_clzl, which doesn't allow zero inputs.

2017-12-27  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/powerpc64/mode64/bdiv_q_1.asm: Use 64-bit cmp for sizes.

 * mpn/powerpc64/p9/addmul_1.asm: New file.

 * configure.ac: Separate handling of POWER8 and POWER9.

 * config.guess: Recognise POWER9 and more variants of POWER8.
 Reorder recog code to favour PVR over proc/cpuinfo.

2017-12-14  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/fastsse/com.asm: Adhere to DOS64 xmm callee-saves rules.
 * mpn/x86_64/fastsse/com-palignr.asm: Likewise.
 * mpn/x86_64/fastsse/copyd.asm: Likewise.
 * mpn/x86_64/fastsse/copyi.asm: Likewise.
 * mpn/x86_64/fastsse/lshiftc.asm: Likewise.
 * mpn/x86_64/fastsse/sec_tabselect.asm: Likewise.

2017-12-11  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/bd1/aorrlsh_n.asm: New grabber file.

2017-12-10  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/bd1/aors_n.asm: New grabber file.

 * mpn/x86_64/bd4/aorrlsh_n.asm: New grabber file.

2017-08-31  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/sparc32/sparc-defs.m4 (LEA64): Rewrite for both PIC and non-PIC.

 * mpn/sparc64/ultrasparct3/cnd_aors_n.asm: Allow arbitrary cnd arg.

2017-08-29  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/silvermont/gmp-mparam.h: Disable mul_2 and addmul_2.

2017-08-28  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/sparc64: Revert 2017-07-23 PIC changes.

 * mpn/powerpc32/divrem_2.asm: Avoid bc+ insn form to accommodate clang.

 * mpn/generic/sbpi1_bdiv_qr.c: Correct ASSERT.
 * mpn/generic/sbpi1_bdiv_q.c: Likewise.
 * mpn/generic/sbpi1_bdiv_r.c: Likewise.

2017-08-18  Torbjörn Granlund  <tg@gmplib.org>

 * acinclude.m4 (X86_64_PATTERN): Match zen*.

 * configure.ac (x86): Support AVX challenged systems for Zen.

2017-07-24  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/sbpi1_bdiv_q.c: Add ASSERT for inverse correctness.
 * mpn/generic/sbpi1_bdiv_qr.c: Likewise.

 * tests/mpn/t-bdiv.c (main): Amend last change.

 * tests/devel/try.c (choice_array): Amend 2013-05-03 change to include
 more functions.

2017-07-23  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/sparc64/gcd_1.asm: Enforce PIC as GNU/Linux toolchain workaround.
 * mpn/sparc64/ultrasparct3/bdiv_q_1.asm: Likewise.
 * mpn/sparc64/ultrasparct3/dive_1.asm: Likewise.
 * mpn/sparc64/ultrasparct3/invert_limb.asm: Likewise.
 * mpn/sparc64/ultrasparct3/mode1o.asm: Likewise.

 * gmp-impl.h: Reorganise foolshC_ip1 -> foolshC -> foolsh chain to make
 it transitive.

2017-07-23  Niels Möller  <nisse@lysator.liu.se>

 * longlong.h: Purge definitions of obsolete UMUL_TIME and
 UDIV_TIME constants. Also mentioned (but unused) in
 mpn/cray/gmp-mparam.h and tune/common.c.

2017-07-21  Torbjörn Granlund  <tg@gmplib.org>

 * tests/mpn/t-bdiv.c (main): Test mpn_sbpi1_bdiv_r.

 * tune/common.c (speed_mpn_sbpi1_bdiv_r): New function.
 * tune/speed.h: Declare it.
 (SPEED_ROUTINE_MPN_PI1_BDIV_R): New macro.
 * tune/speed.c (routine): Add mpn_sbpi1_bdiv_r.

2017-07-20  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac (gmp_mpn_functions): Add sbpi1_bdiv_r.

 * gmp-impl.h (mpn_sbpi1_bdiv_r): Declare.

 * mpn/asm-defs.m4 (define_mpn): Add sbpi1_bdiv_q, sbpi1_bdiv_qr,
 sbpi1_bdiv_r.

 * mpn/generic/sbpi1_bdiv_r.c: New file.
 * mpn/x86_64/zen/sbpi1_bdiv_r.asm: New file.

2017-07-19  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86/p6/sse2/submul_1.asm: Get pentium4 code instead of k6 code
 for better speed on modern Intel P6 cores.

2017-07-02  Torbjörn Granlund  <tg@gmplib.org>

 * tune/tuneup.c (tune_mullo): For MULLO_BASECASE_THRESHOLD start at 2.
 (tune_sqrlo): Likewise.

2017-06-28  Torbjörn Granlund  <tg@gmplib.org>

 * tests/Makefile.am tests/*/Makefile.am tune/Makefile.am (AM_LDFLAGS):
 Define.  (Thanks to Emmanuel Thomé and Vincent Lefevre.)

2017-06-27  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/zen/sqr_basecase.asm: Expand to use 4 addmul_1 loops.

 * mpn/x86_64/x86_64-defs.m4 (sarx): New macro.

2017-06-26  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/coreibwl/sqr_basecase.asm: Rewrite to do 2x and limb
 squaring in main loop.

2017-06-20  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/atom/cnd_add_n.asm: New grabber file.
 * mpn/x86_64/atom/cnd_sub_n.asm: Likewise.

 * mpn/x86_64/coreihwl/aorrlsh_n.asm: New grabber file.

2017-06-16  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/zen/mul_basecase.asm: Do overlapped software pipelining.

 * mpn/x86_64/silvermont/mul_basecase.asm: New grabber file.
 * mpn/x86_64/silvermont/sqr_basecase.asm: Likewise.
 * mpn/x86_64/silvermont/mullo_basecase.asm: Likewise.

2017-06-14  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/zen/mullo_basecase.asm: New file.
 * mpn/x86_64/coreibwl/mullo_basecase.asm: New file.

2017-06-11  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/popham.asm: Crossjump for code size and mix lead-in insns
 for lower overhead.

2017-06-09  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac: Set GMP_NONSTD_ABI protecting against dots in the abi.
 (hppa): Remove old GNU/Linux restriction to 32-bit ABI.

2017-06-07  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/bd1/addmul_2.asm: New file.

2017-06-06  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/coreihwl/aors_n.asm: New file.

 * mpn/x86_64/x86_64-defs.m4 (c4_helper): New macro.
 (mulx, shlx, shrx): Use c4_helper.

 * mpn/x86_64/zen/mul_basecase.asm: Use 8-bit imm operands for "test".

 * mpn/x86_64/zen/aorrlsh1_n.asm: New grabber file.
 * mpn/x86_64/zen/sublsh1_n.asm: Likewise.
 * mpn/x86_64/zen/aorrlsh_n.asm: New file

2017-06-04  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac: Use bt1/bt2 for bobcat and jaguar dirs.
 (fat_path): Add x86_64/bt2.

 * mpn/x86_64/fat/fat.c (__gmpn_cpuvec_init): Adapt to bt1/bt2 changes.
 Make zen path correspond to non-fat path.
 * mpn/x86/fat/fat.c (__gmpn_cpuvec_init): Adapt to bt1/bt2 changes.

 * mpn/x86_64/bt2/copyi.asm: New grabber file.
 * mpn/x86_64/bt2/copyd.asm: New grabber file.
 * mpn/x86_64/bt2/com.asm: New grabber file.

2017-06-03  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/bd1/popcount.asm: Expand some instructions as .byte
 sequences.
 * mpn/x86_64/bd1/hamdist.asm: Likewise.

2017-06-02  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/x86_64-defs.m4 (DEF_OBJECT): Fix quoting (amends recent
 change).
 (JUMPTABSECT): Get rid of spurious "w".

2017-06-02  Marc Glisse  <marc.glisse@inria.fr>

 * gmpxx.h (mpf_class::operator bool): Use mpf_sgn to access _mp_size.

2017-06-02  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/bd1/popcount.asm: Use both SSE and XOP trickery, and
 plain popcnt insn.
 * mpn/x86_64/bd1/hamdist.asm: Likewise.

2017-06-01  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/x86_64-defs.m4 (DEF_OBJECT): Allow 3rd argument defining
 section, while making alignment argument non-optional.

 * mpn/x86_64/core2/popcount.asm: Use 3-operand DEF_OBJECT.
 * mpn/x86_64/core2/hamdist.asm: Likewise.
 * mpn/x86_64/bd1/popcount.asm: Likewise.
 * mpn/x86_64/bd1/hamdist.asm: Likewise.

 * configure.ac (GMP_AVX_NOT_REALLY_AVAILABLE): New m4 define.
 * mpn/x86_64/bd1/popcount.asm: Use GMP_AVX_NOT_REALLY_AVAILABLE.
 * mpn/x86_64/bd1/hamdist.asm: Likewise.

 * mpn/x86_64/silvermont/popcount.asm: Reinstate, grabbing nehalem code.
 * mpn/x86_64/silvermont/hamdist.asm: Replace with grabber.

2017-05-31  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/silvermont/popcount.asm: Remove.

 * mpn/x86_64/core2/logops_n.asm: New file.

2017-05-30  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/coreisbr/popcount.asm: Remove.

2017-05-29  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/coreinhm/popcount.asm: Replace grabber code with
 implementation proper.
 * mpn/x86_64/coreinhm/hamdist.asm: Likewise.
 * mpn/x86_64/bd1/popcount.asm: Likewise.
 * mpn/x86_64/bd1/hamdist.asm: Likewise.
 * mpn/x86_64/core2/popcount.asm: Likewise.
 * mpn/x86_64/core2/hamdist.asm: New file.

2017-05-22  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/core2/com.asm: New grabber file.

 * mpn/x86_64/core2/lshift.asm: Rewrite.
 * mpn/x86_64/core2/rshift.asm: Rewrite.
 * mpn/x86_64/core2/lshiftc.asm: Rewrite.

2017-05-16  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/zen/mul_1.asm: Port to DOS64.
 * mpn/x86_64/zen/aorsmul_1.asm: Likewise.
 * mpn/x86_64/coreibwl/addmul_1.asm: Likewise.

2017-05-16  Niels Möller  <nisse@lysator.liu.se>

 * mpn/generic/divis.c (mpn_divisible_p): Updated the divisibility
 test; bdiv now returns R = D rather than R = 0 when D divides a
 non-zero U.

 * mpn/generic/binvert.c (mpn_binvert): Negate bdiv quotient.
 * mpn/generic/divexact.c (mpn_divexact): Likewise.
 * mpn/generic/remove.c (mpn_remove): Likewise.
 * mpz/bin_uiui.c (mpz_bdiv_bin_uiui): Likewise.

 * tests/mpn/t-bdiv.c (check_one): Updated to new convention,
 B^{qn} R = U + QD.

 * mpn/generic/sbpi1_bdiv_qr.c (mpn_sbpi1_bdiv_qr): Reimplemented,
 for new bdiv convention.
 * mpn/generic/sbpi1_bdiv_q.c (mpn_sbpi1_bdiv_q): Likewise.
 * mpn/generic/dcpi1_bdiv_q.c (mpn_dcpi1_bdiv_q_n)
 (mpn_dcpi1_bdiv_q): Adapted to new bdiv convention.
 * mpn/generic/dcpi1_bdiv_qr.c (mpn_dcpi1_bdiv_qr_n)
 (mpn_dcpi1_bdiv_qr): Likewise.
 * mpn/generic/mu_bdiv_qr.c (mpn_mu_bdiv_qr): Adapted to new bdiv
 convention, using a wrapper calling the old function.
 * mpn/generic/mu_bdiv_q.c (mpn_mu_bdiv_q): Likewise.

2017-05-03  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/coreisbr/cnd_aors_n.asm: New file.
 * mpn/x86_64/coreisbr/cnd_add_n.asm: New file.

 * mpn/x86_64/core2/aorsmul_1.asm: Tune.

 * mpn/x86_64/silvermont/mul_1.asm: New file, grabbing another asm file.
 * mpn/x86_64/silvermont/aorsmul_1.asm: Likewise.
 * mpn/x86_64/silvermont/aorrlsh1_n.asm: Likewise.
 * mpn/x86_64/silvermont/aorrlsh2_n.asm: Likewise.
 * mpn/x86_64/silvermont/lshift.asm: Likewise.
 * mpn/x86_64/silvermont/rshift.asm: Likewise.
 * mpn/x86_64/silvermont/lshiftc.asm: Likewise.

 * mpn/x86_64/zen/mul_basecase.asm: Split outer loop into 4 loops.

2017-05-02  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/zen/sqr_basecase.asm: Use .byte for encoding all mulx.
 Misc tuning.

2017-04-27  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/zen/sqr_basecase.asm: Rewrite to do 2x and limb squaring
 in main loop.

2017-04-25  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/fat/fat_entry.asm: Allocate correct DOS64 frame.
 * mpn/x86_64/divrem_2.asm: Likewise.
 * mpn/x86_64/mod_1_2.asm: Likewise.
 * mpn/x86_64/mod_1_4.asm: Likewise.
 * mpn/x86_64/mod_1_1.asm: Likewise.

2017-04-23  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/coreisbr/mul_1.asm: Rewrite feed-in code and add mul_1c
 entry point.

2017-04-17  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/fat/fat.c (__gmpn_cpuvec_init): Amend last change.

 * mpn/x86_64/zen/mul_basecase.asm: New file.
 * mpn/x86_64/zen/sqr_basecase.asm: New file.

2017-04-16  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/generic/sqr_basecase.c (addmul_1 variant): Rewrite to compute
 in-place and to avoid a re-computation.

 * configure.ac: Remove k8, k10 from zen path.

2017-04-15  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/zen/gmp-mparam.h: New file.

 * mpn/x86_64/zen/com.asm: New file, grabbing another asm file.
 * mpn/x86_64/zen/copyd.asm: Likewise.
 * mpn/x86_64/zen/copyi.asm: Likewise.
 * mpn/x86_64/zen/gcd_1.asm: Likewise.
 * mpn/x86_64/zen/hamdist.asm: Likewise.
 * mpn/x86_64/zen/lshift.asm: Likewise.
 * mpn/x86_64/zen/lshiftc.asm: Likewise.
 * mpn/x86_64/zen/popcount.asm: Likewise.
 * mpn/x86_64/zen/rshift.asm: Likewise.

 * config.guess: Recognise AMD zen.
 * acinclude.m4 (X86_64_PATTERN): Add zen.
 * config.sub: Corresponding changes.
 * configure.ac: Corresponding changes.
 * mpn/x86_64/fat/fat.c: Corresponding changes.

2017-03-27 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpz/oddfac_1.c (limb_apprsqrt): Better approximation.
 * mpz/bin_uiui.c (limb_apprsqrt): Likewise.

2017-03-12  Torbjörn Granlund  <tg@gmplib.org>

 * tests/mpf/t-get_d_2exp.c (check_data): Rewrite of check_onebit.

2017-03-08 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/sqrtrem.c: Direct use of sqrtrem2 when n==2.
 * mpn/generic/div_qr_2.c (udiv_qr_4by2): Replace add_csaac with add_sssaaaa.

2017-03-07  Torbjörn Granlund  <tg@gmplib.org>

 * mpf/get_d_2exp.c: Return negative value for negative input.

2017-03-06  Torbjörn Granlund  <tg@gmplib.org>

 * longlong.h (aarch64): Provide asm-free umul_ppmm.
 * longlong.h (powerpc64): Enable asm-free umul_ppmm.

2017-03-04  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm64/sqr_diag_addlsh1.asm: Complete rewrite.

2017-02-27  Torbjörn Granlund  <tg@gmplib.org>

 * longlong.h (arm32/arm64): Remove useless comparison to 0 introduced
 in last change (spotted by Marco).

2017-02-26 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * mpn/generic/pow_1.c: Use umul_ppmm for a single limb.

2017-02-25  Torbjörn Granlund  <tg@gmplib.org>

 * configure.ac: Allow MP_SIZE_T_MAX for thresholds exported to
 config.m4.

 * mpn/x86_64/gcd_1.asm: Handle BMOD_1_TO_MOD_1_THRESHOLD=MP_SIZE_T_MAX.
 Streamline non-reduction path.
 * mpn/x86_64/core2/gcd_1.asm: Streamline small operands cases similarly
 to top-level code.

2017-02-24  Torbjörn Granlund  <tg@gmplib.org>

 * longlong.h (arm32/arm64 add_ssaaaa): Use "subs" for some immediates.
 * longlong.h (arm32/arm64 sub_ddmmss): Use "adds" for some immediates.

 * mpn/arm64/copyi.asm: Avoid branching on flags.
 * mpn/arm64/copyd.asm: Likewise.

 * mpn/generic/div_qr_2.c (aarch64 add_sssaaaa): New.
 * mpn/generic/div_qr_1n_pi2.c: Same.
 * mpn/generic/div_qr_1u_pi2.c: Same.

 * mpn/generic/div_qr_2.c (powerpc add_sssaaaa): Fix typo.
 * mpn/generic/div_qr_1n_pi2.c: Same.
 * mpn/generic/div_qr_1u_pi2.c: Same.

2017-02-23 Marco Bodrato <bodrato@mail.dm.unipi.it>

 * tests/devel/sqrtrem_1_2.c: New exhaustive test for sqrtrem_[12].
 * tests/devel/Makefile.am (EXTRA_PROGRAMS): add it.

2017-02-23  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/x86_64/silvermont/gmp-mparam.h: New file.

2017-02-22  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm64/aorsmul_1.asm: Rewrite.

 * mpn/arm64/lshiftc.asm: New file.

2017-02-21  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm64/lshift.asm: Rewrite.
 * mpn/arm64/rshift.asm: Rewrite.

 * mpn/arm64/rsh1aors_n.asm: New file.

2017-02-19  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm64/mul_1.asm: Rewrite.
 * mpn/arm64/xgene1/mul_1.asm: Remove.

2017-02-17  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm64/cora53/cnd_aors_n.asm: Moved from "..".

 * mpn/arm64/xgene1/cnd_aors_n.asm: Remove file since default code
 performs better.

 * mpn/arm64/cnd_aors_n.asm: Rewrite.

 * mpn/arm64/logops_n.asm: Rewrite based on new aors_n.asm.

2017-02-16  Pedro Gimeno  <pggimeno@wanadoo.es>

 * rand/randmt.c (__gmp_randiset_mt): Set generator functions from
 source.

2017-02-16  Torbjörn Granlund  <tg@gmplib.org>

 * mpn/arm64/aorsorrlshC_n.asm: New file.
 * mpn/arm64/aorsorrlsh2_n.asm: New file.
 * mpn/arm64/aorsorrlsh1_n.asm: New file.

--> --------------------

--> maximum size reached

--> --------------------

[ Dauer der Verarbeitung: 0.24 Sekunden  (vorverarbeitet)  ]