GMP 6.1.0 released
bodrato at mail.dm.unipi.it
Sun Nov 1 20:14:51 UTC 2015
A new major release of the GNU Multiple Precision Arithmetic Library
(GMP) is now available. The new release is identified as 6.1.0.
The release can be downloaded from here:
These files will also soon be found at the GNU main site as well as its
Signature files are also available:
The 6.1.0 release contains a considerable amount of new code, and many
improvements to existing code. Please see below for the some high-
As usually, we repeat and underline: please run "make check" after
you've built your library. And if "make check" stops with an error,
do not use the compiled library. When this happens, you've almost
surely run into a compiler bug, not a GMP bug, since we've of course
made sure the library passes its own test suite. The first thing to
try at this point is using a different compiler. See also
We have further expanded the testing configurations to over 1500.
Thanks to both the broad testing and careful development, we expect
this to be a very stable release.
This release would not have been possible without the continuous work
of improvement, revision and refinement by the whole GMP team:
Torbjörn Granlund, Niels Möller, Marco Bodrato, and Marc Glisse.
The GMP team is pleased to thank also the many people who contributed
to the quality of this release with suggestions, bug reports, and
small bug-fixes (an unordered and surely non-exhaustive list follows):
Hannes Mehnert, Hans Wennborg, Linus Nordberg, Paul Zimmermann,
Richard Biener, George Kozlowski, Albert Chin, Peter Breitenlohner,
Leif Leonhardy, Yihang Ho, Viktor Kletzhändler, Vicente Benjumea,
Vincent Lefevre, Vincent Delecroix, Steve M. Robbins and all the
participant to the mailing-lists of the project...
Changes between GMP version 6.0.* and 6.1.0
* The public function mpn_com is now correctly declared in gmp.h.
* Healed possible failures of mpn_sec_sqr for non-cryptographic sizes
for some obsolete CPUs.
* The option --disable-assembly now disables all inlined asm.
* Fixed bug affecting mini-gmp's bitwise functions mpz_setbit,
mpz_clrbit, and mpz_combit.
* Various problems related to precision for mpf have been fixed.
* Fixed ABI incompatible stack alignment in calls from assembly code.
* Fixed PIC bug in popcount affecting Intel processors using the
* Speedup for Intel Broadwell and Skylake though assembly code making
use of new ADX instructions.
* Square root is now faster when the remainder is not needed. Also the
speed to compute the k-th root improved, for small sizes.
* Improved arm64 support.
* New C++ functions gcd and lcm for mpz_class.
* New public mpn functions mpn_divexact_1, mpn_zero_p, and mpn_cnd_swap.
* New public mpq_cmp_z function, to efficiently compare rationals with
* Support for Darwin in all x86 code, thereby enabling fat builds
* Support for more 32-bit arm processors.
* Support for compilation with clang/llvm on more platforms.
Caution: GMP triggers mis-compilation bugs in clang for many
platforms, such as arm, x86 (32-bit and 64-bit), powerpc, mips.
* Support for AVX-less modern x86 CPUs. (Such support might be missing
either because the CPU vendor chose to disable AVX, or because the
running kernel lacks AVX context switch support.)
* Stack usage trimmed; we believe 512 KiB is now sufficient for any GMP
call, irrespective of operand size.
* Support for NetBSD under Xen; we switch off AVX unconditionally under
NetBSD since a bug in NetBSD makes AVX fail under Xen.
* We now use manufacturers' code names for x86 CPUs, e.g., "haswell"
instead of names derived from the commercial brands.
* Small improvements and better coverage for the test suite.
* The various FreeBSD problems listed for 6.0.0 affect this release too.
* Tuned values for FFT multiplications are provided for larger number
on many platforms.
Marco Bodrato (0xC1A000b0)
More information about the gmp-announce