Skip to content

Commit

Permalink
Update bundled GMP to 6.3.0
Browse files Browse the repository at this point in the history
Changes between GMP version 6.2.* and 6.3.0

BUGS FIXED
- A possible overflow of type int is avoided for mpz_cmp on huge
  operands.
- A possible error condition when a malformed file is read with
  mpz_inp_raw is now correctly handled.

FEATURES
- New public function mpz_prevprime, companion of the existing
  mpz_nextprime.
- New documented pointer types mpz_ptr, mpz_srcptr, and similar for
  other GMP types. Refer to the manual for full list and suggested
  usage. These types have been present in gmp.h at least since GMP-4.0,
  but previously not advertised to users.
- Support for 64-bit Arm under Macos.
- Support for the loongarch64 CPU family.
- Support for building with LTO, link-time optimisations.

SPEEDUPS
- New special code for base = 2 in mpz_powm reduces the average time for
  the functions that test primality.
- Speedup for the function mpz_nextprime on large operands.
- Speedup for multiplications (some sizes only) thanks to new internal
  functions to compute small negacyclic products.
- Special assembly code for IBM z13 and later "mainframe" CPUs,
  resulting in a huge speedup.
- Improved assembly for several 64-bit x86 CPUs, Risc-V, 64-bit Arm.
  • Loading branch information
fingolfin committed Sep 1, 2023
1 parent 9409d3e commit cc34505
Show file tree
Hide file tree
Showing 269 changed files with 26,188 additions and 3,963 deletions.
6 changes: 5 additions & 1 deletion extern/gmp/AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Marco Bodrato mpn/generic/toom44_mul.c, toom4_sqr.c, toom53_mul.c,
toom8h_mul.c, toom8_sqr.c, toom_interpolate_16pts.c,
mulmod_bnm1.c, sqrmod_bnm1.c, nussbaumer_mul.c,
toom_eval_pm2.c, toom_eval_pm2rexp.c,
fib2m.c, strongfibo.c,
fib2m.c, strongfibo.c, mulmod_bknp1.c,
mullo_n.c, sqrlo.c, invert.c, invertappr.c;
mpn/x86/atom/aors_n.asm, aorslshC_n.asm,
aorrlsh{1,2,C}_n.asm, aorsmul_1.asm, logops_n.asm,
Expand Down Expand Up @@ -104,3 +104,7 @@ Ulrich Weigand Changes to support powerpc64le:
mpn/powerpc64/mode64/p7/gcd_1.asm,
mpn/powerpc64/p6/{lshift,lshiftc,rshift}.asm,
mpn/powerpc64/vmx/popcount.asm.

Seth Troisi mpz/nextprime.c general speed-up and prevprime.

Marius Hillenbrand mpn/s390_64/z13/*.c (later used as basis for asm code)
Loading

0 comments on commit cc34505

Please sign in to comment.