Newer
Older
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.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,
Loading
Loading full blame...